diff --git a/.gitignore b/.gitignore
index a99a26f4..72d19611 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,4 @@
-/.ENV/
+/.ENV/
/.git/
/secrets.ini
/secrets.ini.example
@@ -18,4 +18,12 @@
# GERP 的编译文件
/TempLate/GERP/
-/gvsdsdk/
\ No newline at end of file
+/gvsdsdk/
+
+# Python 缓存
+__pycache__/
+*.pyc
+
+# GVSite 前端工程构建产物
+/GVSite/dist/
+/GVSite/node_modules/
\ No newline at end of file
diff --git a/ATestCServer/ATestCServer/__pycache__/__init__.cpython-312.pyc b/ATestCServer/ATestCServer/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 6dd71f0b..00000000
Binary files a/ATestCServer/ATestCServer/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/ATestCServer/ATestCServer/__pycache__/settings.cpython-312.pyc b/ATestCServer/ATestCServer/__pycache__/settings.cpython-312.pyc
deleted file mode 100644
index a48eab86..00000000
Binary files a/ATestCServer/ATestCServer/__pycache__/settings.cpython-312.pyc and /dev/null differ
diff --git a/ATestCServer/ATestCServer/__pycache__/urls.cpython-312.pyc b/ATestCServer/ATestCServer/__pycache__/urls.cpython-312.pyc
deleted file mode 100644
index 4eacabd6..00000000
Binary files a/ATestCServer/ATestCServer/__pycache__/urls.cpython-312.pyc and /dev/null differ
diff --git a/ATestCServer/ATestCServer/__pycache__/wsgi.cpython-312.pyc b/ATestCServer/ATestCServer/__pycache__/wsgi.cpython-312.pyc
deleted file mode 100644
index 465862a8..00000000
Binary files a/ATestCServer/ATestCServer/__pycache__/wsgi.cpython-312.pyc and /dev/null differ
diff --git a/ATestCServer/__pycache__/manage.cpython-312.pyc b/ATestCServer/__pycache__/manage.cpython-312.pyc
deleted file mode 100644
index 7371a0e7..00000000
Binary files a/ATestCServer/__pycache__/manage.cpython-312.pyc and /dev/null differ
diff --git a/ATestCServer/apps/__pycache__/__init__.cpython-312.pyc b/ATestCServer/apps/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index f619310e..00000000
Binary files a/ATestCServer/apps/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/ATestCServer/apps/sub_server/__pycache__/__init__.cpython-312.pyc b/ATestCServer/apps/sub_server/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 0165184b..00000000
Binary files a/ATestCServer/apps/sub_server/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/ATestCServer/apps/sub_server/__pycache__/apps.cpython-312.pyc b/ATestCServer/apps/sub_server/__pycache__/apps.cpython-312.pyc
deleted file mode 100644
index 681df722..00000000
Binary files a/ATestCServer/apps/sub_server/__pycache__/apps.cpython-312.pyc and /dev/null differ
diff --git a/ATestCServer/apps/sub_server/__pycache__/form_service.cpython-312.pyc b/ATestCServer/apps/sub_server/__pycache__/form_service.cpython-312.pyc
deleted file mode 100644
index f129801b..00000000
Binary files a/ATestCServer/apps/sub_server/__pycache__/form_service.cpython-312.pyc and /dev/null differ
diff --git a/ATestCServer/apps/sub_server/__pycache__/models.cpython-312.pyc b/ATestCServer/apps/sub_server/__pycache__/models.cpython-312.pyc
deleted file mode 100644
index f1129373..00000000
Binary files a/ATestCServer/apps/sub_server/__pycache__/models.cpython-312.pyc and /dev/null differ
diff --git a/ATestCServer/apps/sub_server/__pycache__/serializers.cpython-312.pyc b/ATestCServer/apps/sub_server/__pycache__/serializers.cpython-312.pyc
deleted file mode 100644
index 8a08ff34..00000000
Binary files a/ATestCServer/apps/sub_server/__pycache__/serializers.cpython-312.pyc and /dev/null differ
diff --git a/ATestCServer/apps/sub_server/__pycache__/urls.cpython-312.pyc b/ATestCServer/apps/sub_server/__pycache__/urls.cpython-312.pyc
deleted file mode 100644
index 4fa2b60a..00000000
Binary files a/ATestCServer/apps/sub_server/__pycache__/urls.cpython-312.pyc and /dev/null differ
diff --git a/ATestCServer/apps/sub_server/__pycache__/views.cpython-312.pyc b/ATestCServer/apps/sub_server/__pycache__/views.cpython-312.pyc
deleted file mode 100644
index f94531e8..00000000
Binary files a/ATestCServer/apps/sub_server/__pycache__/views.cpython-312.pyc and /dev/null differ
diff --git a/ATestCServer/apps/sub_server/migrations/__pycache__/0001_initial.cpython-312.pyc b/ATestCServer/apps/sub_server/migrations/__pycache__/0001_initial.cpython-312.pyc
deleted file mode 100644
index e8c7bbe4..00000000
Binary files a/ATestCServer/apps/sub_server/migrations/__pycache__/0001_initial.cpython-312.pyc and /dev/null differ
diff --git a/ATestCServer/apps/sub_server/migrations/__pycache__/__init__.cpython-312.pyc b/ATestCServer/apps/sub_server/migrations/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 215ff603..00000000
Binary files a/ATestCServer/apps/sub_server/migrations/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/ATestCServer/msync_client/__pycache__/__init__.cpython-312.pyc b/ATestCServer/msync_client/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index ebb924a8..00000000
Binary files a/ATestCServer/msync_client/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/ATestCServer/msync_client/__pycache__/sio_client.cpython-312.pyc b/ATestCServer/msync_client/__pycache__/sio_client.cpython-312.pyc
deleted file mode 100644
index 25e6a5f7..00000000
Binary files a/ATestCServer/msync_client/__pycache__/sio_client.cpython-312.pyc and /dev/null differ
diff --git a/GVSite b/GVSite
new file mode 160000
index 00000000..16879188
--- /dev/null
+++ b/GVSite
@@ -0,0 +1 @@
+Subproject commit 16879188f4be1f0d34e37e7376b7c4300dcdaf79
diff --git a/TempLate/GERP/assets/CompanyDetail-x1XGuNl0.css b/TempLate/GERP/assets/CompanyDetail-x1XGuNl0.css
deleted file mode 100644
index 8b137891..00000000
--- a/TempLate/GERP/assets/CompanyDetail-x1XGuNl0.css
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/TempLate/GERP/assets/CrudTable-DK-IJ6GQ.css b/TempLate/GERP/assets/CrudTable-DK-IJ6GQ.css
deleted file mode 100644
index 52c69f7f..00000000
--- a/TempLate/GERP/assets/CrudTable-DK-IJ6GQ.css
+++ /dev/null
@@ -1 +0,0 @@
-.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55, 0, .1, 1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55, 0, .1, 1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:top;transform:scaleY(1)}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:bottom;transform:scaleY(1)}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:0 0;transform:scale(1)}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out, var(--el-transition-duration) padding-top ease-in-out, var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-leave-active,.el-collapse-transition-enter-active{transition:var(--el-transition-duration) max-height ease-in-out, var(--el-transition-duration) padding-top ease-in-out, var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out, var(--el-transition-duration) padding-left ease-in-out, var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55, 0, .1, 1)}.el-picker__popper{--el-datepicker-border-color:var(--el-disabled-border-color)}.el-picker__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-datepicker-border-color);box-shadow:var(--el-box-shadow-light)}.el-picker__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-datepicker-border-color)}.el-picker__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-picker__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-picker__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-picker__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-date-editor{--el-date-editor-width:220px;--el-date-editor-monthrange-width:300px;--el-date-editor-daterange-width:350px;--el-date-editor-datetimerange-width:400px;--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;text-align:left;vertical-align:middle;position:relative}.el-date-editor.el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset}.el-date-editor.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-date-editor.is-focus .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-date-editor.el-input,.el-date-editor.el-input__wrapper{width:var(--el-date-editor-width);height:var(--el-input-height,var(--el-component-size))}.el-date-editor--monthrange{--el-date-editor-width:var(--el-date-editor-monthrange-width)}.el-date-editor--daterange,.el-date-editor--timerange{--el-date-editor-width:var(--el-date-editor-daterange-width)}.el-date-editor--datetimerange{--el-date-editor-width:var(--el-date-editor-datetimerange-width)}.el-date-editor--dates .el-input__wrapper{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .close-icon,.el-date-editor .clear-icon{cursor:pointer}.el-date-editor .clear-icon:hover{color:var(--el-input-clear-hover-color)}.el-date-editor .el-range__icon{height:inherit;color:var(--el-text-color-placeholder);float:left;font-size:14px}.el-date-editor .el-range__icon svg{vertical-align:middle}.el-date-editor .el-range-input{appearance:none;text-align:center;width:39%;height:30px;line-height:30px;font-size:var(--el-font-size-base);color:var(--el-text-color-regular);background-color:#0000;border:none;outline:none;margin:0;padding:0;display:inline-block}.el-date-editor .el-range-input::placeholder{color:var(--el-text-color-placeholder)}.el-date-editor .el-range-separator{overflow-wrap:break-word;height:100%;color:var(--el-text-color-primary);flex:1;justify-content:center;align-items:center;margin:0;padding:0 5px;font-size:14px;display:inline-flex}.el-date-editor .el-range__close-icon{color:var(--el-text-color-placeholder);height:inherit;width:unset;cursor:pointer;font-size:14px}.el-date-editor .el-range__close-icon:hover{color:var(--el-input-clear-hover-color)}.el-date-editor .el-range__close-icon svg{vertical-align:middle}.el-date-editor .el-range__close-icon--hidden{opacity:0;visibility:hidden}.el-range-editor.el-input__wrapper{vertical-align:middle;align-items:center;padding:0 10px;display:inline-flex}.el-range-editor.is-active,.el-range-editor.is-active:hover{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-range-editor--large{line-height:var(--el-component-size-large)}.el-range-editor--large.el-input__wrapper{height:var(--el-component-size-large)}.el-range-editor--large .el-range-separator{font-size:14px;line-height:40px}.el-range-editor--large .el-range-input{height:38px;font-size:14px;line-height:38px}.el-range-editor--small{line-height:var(--el-component-size-small)}.el-range-editor--small.el-input__wrapper{height:var(--el-component-size-small)}.el-range-editor--small .el-range-separator{font-size:12px;line-height:24px}.el-range-editor--small .el-range-input{height:22px;font-size:12px;line-height:22px}.el-range-editor.is-disabled{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled:hover,.el-range-editor.is-disabled:focus{border-color:var(--el-disabled-border-color)}.el-range-editor.is-disabled input{background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled input::placeholder{color:var(--el-text-color-placeholder)}.el-range-editor.is-disabled .el-range-separator{color:var(--el-disabled-text-color)}.el-picker-panel{color:var(--el-text-color-regular);background:var(--el-datepicker-bg-color);border-radius:var(--el-popper-border-radius,var(--el-border-radius-base));line-height:30px}.el-picker-panel .el-time-panel{border:solid 1px var(--el-datepicker-border-color);background-color:var(--el-datepicker-bg-color);box-shadow:var(--el-box-shadow-light);margin:5px 0}.el-picker-panel__body:after,.el-picker-panel__body-wrapper:after{content:"";clear:both;display:table}.el-picker-panel__content{margin:15px;position:relative}.el-picker-panel__footer{border-top:1px solid var(--el-datepicker-inner-border-color);text-align:right;background-color:var(--el-datepicker-bg-color);padding:4px 12px;font-size:0;position:relative}.el-picker-panel__shortcut{width:100%;color:var(--el-datepicker-text-color);text-align:left;cursor:pointer;background-color:#0000;border:0;outline:none;padding-left:12px;font-size:14px;line-height:28px;display:block}.el-picker-panel__shortcut:hover{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__shortcut.active{color:var(--el-datepicker-active-color);background-color:#e6f1fe}.el-picker-panel__btn{border:1px solid var(--el-fill-color-darker);color:var(--el-text-color-primary);cursor:pointer;background-color:#0000;border-radius:2px;outline:none;padding:0 20px;font-size:12px;line-height:24px}.el-picker-panel__btn[disabled]{color:var(--el-text-color-disabled);cursor:not-allowed}.el-picker-panel__icon-btn{color:var(--el-datepicker-icon-color);cursor:pointer;background:0 0;border:0;outline:none;margin-top:8px;padding:1px 6px;font-size:12px;line-height:1}.el-picker-panel__icon-btn:hover,.el-picker-panel__icon-btn:focus-visible{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__icon-btn.is-disabled{color:var(--el-text-color-disabled)}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__icon-btn.is-disabled .el-icon{cursor:inherit}.el-picker-panel__icon-btn .el-icon{cursor:pointer;font-size:inherit}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel.is-disabled .el-picker-panel__prev-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__prev-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__prev-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__next-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__next-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__next-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__icon-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__icon-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__icon-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__shortcut{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__shortcut:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__shortcut .el-icon{cursor:inherit}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{border-right:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;width:110px;padding-top:6px;position:absolute;top:0;bottom:0;overflow:auto}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{vertical-align:top;width:50%;max-height:192px;display:inline-block;position:relative;overflow:auto}.el-time-spinner__wrapper.el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-time-spinner__wrapper.is-arrow{box-sizing:border-box;text-align:center;overflow:hidden}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:default}.el-time-spinner__arrow{color:var(--el-text-color-secondary);width:100%;z-index:var(--el-index-normal);text-align:center;cursor:pointer;height:30px;font-size:12px;line-height:30px;position:absolute;left:0}.el-time-spinner__arrow:hover{color:var(--el-color-primary)}.el-time-spinner__arrow.arrow-up{top:10px}.el-time-spinner__arrow.arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__input.el-input .el-input__inner{text-align:center;padding:0}.el-time-spinner__list{text-align:center;margin:0;padding:0;list-style:none}.el-time-spinner__list:after,.el-time-spinner__list:before{content:"";width:100%;height:80px;display:block}.el-time-spinner__item{height:32px;color:var(--el-text-color-regular);font-size:12px;line-height:32px}.el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:pointer}.el-time-spinner__item.is-active:not(.is-disabled){color:var(--el-text-color-primary);font-weight:700}.el-time-spinner__item.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-time-panel{width:180px;z-index:var(--el-index-top);-webkit-user-select:none;user-select:none;box-sizing:content-box;border-radius:2px;position:relative;left:0}.el-time-panel__content{font-size:0;position:relative;overflow:hidden}.el-time-panel__content:after,.el-time-panel__content:before{content:"";z-index:-1;box-sizing:border-box;text-align:left;height:32px;margin-top:-16px;padding-top:6px;position:absolute;top:50%;left:0;right:0}.el-time-panel__content:after{margin-left:12%;margin-right:12%;left:50%}.el-time-panel__content:before{border-top:1px solid var(--el-border-color-light);border-bottom:1px solid var(--el-border-color-light);margin-left:12%;margin-right:12%;padding-left:50%}.el-time-panel__content.has-seconds:after{left:66.6667%}.el-time-panel__content.has-seconds:before{padding-left:33.3333%}.el-time-panel__footer{border-top:1px solid var(--el-timepicker-inner-border-color,var(--el-border-color-light));text-align:right;box-sizing:border-box;height:36px;padding:4px;line-height:25px}.el-time-panel__btn{cursor:pointer;color:var(--el-text-color-primary);background-color:#0000;border:none;outline:none;margin:0 5px;padding:0 5px;font-size:12px;line-height:28px}.el-time-panel__btn.confirm{color:var(--el-timepicker-active-color,var(--el-color-primary));font-weight:800}.el-time-range-picker{width:354px;overflow:visible}.el-time-range-picker__content{text-align:center;z-index:1;padding:10px;position:relative}.el-time-range-picker__cell{box-sizing:border-box;width:50%;margin:0;padding:4px 7px 7px;display:inline-block}.el-time-range-picker__header{text-align:center;margin-bottom:5px;font-size:14px}.el-time-range-picker__body{border:1px solid var(--el-datepicker-border-color);border-radius:2px}.el-checkbox-group{font-size:0;line-height:0}.entity-picker-secondary[data-v-a44d7dd7]{float:right;color:var(--el-text-color-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:50%;font-size:12px;overflow:hidden}.crud-table[data-v-c0e792f2]{flex-direction:column;gap:12px;display:flex}.crud-table-stretch[data-v-c0e792f2]{flex:1;min-height:0}.crud-table-stretch .table-card[data-v-c0e792f2],.crud-table-stretch .table-card[data-v-c0e792f2] .el-card__body{flex-direction:column;flex:1;min-height:0;display:flex}.crud-table-stretch .search-bar[data-v-c0e792f2]{flex-shrink:0}.search-bar[data-v-c0e792f2] .el-card__body{align-items:center;gap:8px;display:flex}.table-header[data-v-c0e792f2]{justify-content:space-between;align-items:center;display:flex}.table-title[data-v-c0e792f2]{font-size:16px;font-weight:600}.table-actions[data-v-c0e792f2]{gap:8px;display:flex}.pagination[data-v-c0e792f2]{justify-content:flex-end;margin-top:12px;display:flex}
diff --git a/TempLate/GERP/assets/DefaultLayout-C0yp82k_.css b/TempLate/GERP/assets/DefaultLayout-C0yp82k_.css
deleted file mode 100644
index 7cbfaf2c..00000000
--- a/TempLate/GERP/assets/DefaultLayout-C0yp82k_.css
+++ /dev/null
@@ -1 +0,0 @@
-.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55, 0, .1, 1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55, 0, .1, 1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:top;transform:scaleY(1)}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:bottom;transform:scaleY(1)}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:0 0;transform:scale(1)}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out, var(--el-transition-duration) padding-top ease-in-out, var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-leave-active,.el-collapse-transition-enter-active{transition:var(--el-transition-duration) max-height ease-in-out, var(--el-transition-duration) padding-top ease-in-out, var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out, var(--el-transition-duration) padding-left ease-in-out, var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55, 0, .1, 1)}:root{--el-menu-active-color:var(--el-color-primary);--el-menu-text-color:var(--el-text-color-primary);--el-menu-hover-text-color:var(--el-color-primary);--el-menu-bg-color:var(--el-fill-color-blank);--el-menu-hover-bg-color:var(--el-color-primary-light-9);--el-menu-item-height:56px;--el-menu-sub-item-height:calc(var(--el-menu-item-height) - 6px);--el-menu-horizontal-height:60px;--el-menu-horizontal-sub-item-height:36px;--el-menu-item-font-size:var(--el-font-size-base);--el-menu-item-hover-fill:var(--el-color-primary-light-9);--el-menu-border-color:var(--el-border-color);--el-menu-base-level-padding:20px;--el-menu-level-padding:20px;--el-menu-icon-width:24px}.el-menu{border-right:solid 1px var(--el-menu-border-color);background-color:var(--el-menu-bg-color);box-sizing:border-box;margin:0;padding-left:0;list-style:none;position:relative}.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-sub-menu__title,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item-group__title{white-space:nowrap;padding-left:calc(var(--el-menu-base-level-padding) + var(--el-menu-level) * var(--el-menu-level-padding))}.el-menu:not(.el-menu--collapse) .el-sub-menu__title{padding-right:calc(var(--el-menu-base-level-padding) + var(--el-menu-icon-width))}.el-menu--horizontal{height:var(--el-menu-horizontal-height);border-right:none;flex-wrap:nowrap;display:flex}.el-menu--horizontal.el-menu--popup-container{height:unset}.el-menu--horizontal.el-menu{border-bottom:solid 1px var(--el-menu-border-color)}.el-menu--horizontal>.el-menu-item{height:100%;color:var(--el-menu-text-color);border-bottom:2px solid #0000;justify-content:center;align-items:center;margin:0;display:inline-flex}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-sub-menu:focus,.el-menu--horizontal>.el-sub-menu:hover{outline:none}.el-menu--horizontal>.el-sub-menu:hover .el-sub-menu__title{color:var(--el-menu-hover-text-color)}.el-menu--horizontal>.el-sub-menu.is-active .el-sub-menu__title{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title{height:100%;color:var(--el-menu-text-color);border-bottom:2px solid #0000}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title:hover{background-color:var(--el-menu-bg-color)}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-sub-menu__title{background-color:var(--el-menu-bg-color);height:var(--el-menu-horizontal-sub-item-height);line-height:var(--el-menu-horizontal-sub-item-height);color:var(--el-menu-text-color);align-items:center;padding:0 10px;display:flex}.el-menu--horizontal .el-menu .el-sub-menu__title{padding-right:40px}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-menu-item.is-active:hover,.el-menu--horizontal .el-menu .el-sub-menu.is-active>.el-sub-menu__title,.el-menu--horizontal .el-menu .el-sub-menu.is-active>.el-sub-menu__title:hover{color:var(--el-menu-active-color)}.el-menu--horizontal .el-menu-item:not(.is-disabled):hover,.el-menu--horizontal .el-menu-item:not(.is-disabled):focus{color:var(--el-menu-active-color,var(--el-menu-hover-text-color));background-color:var(--el-menu-hover-bg-color);outline:none}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)!important}.el-menu--collapse{width:calc(var(--el-menu-icon-width) + var(--el-menu-base-level-padding) * 2)}.el-menu--collapse>.el-menu-item [class^=el-icon],.el-menu--collapse>.el-sub-menu>.el-sub-menu__title [class^=el-icon],.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title [class^=el-icon]{vertical-align:middle;width:var(--el-menu-icon-width);text-align:center;margin:0}.el-menu--collapse>.el-menu-item .el-sub-menu__icon-arrow,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow,.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow{display:none}.el-menu--collapse>.el-menu-item>span,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title>span,.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title>span{visibility:hidden;width:0;height:0;display:inline-block;overflow:hidden}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-menu .el-sub-menu{min-width:200px}.el-menu--collapse .el-sub-menu.is-active .el-sub-menu__title{color:var(--el-menu-active-color)}.el-menu--popup{z-index:100;border-radius:var(--el-border-radius-small);min-width:200px;box-shadow:var(--el-box-shadow-light);border:none;padding:5px 0}.el-menu .el-icon{flex-shrink:0}.el-menu-item{height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);font-size:var(--el-menu-item-font-size);color:var(--el-menu-text-color);padding:0 var(--el-menu-base-level-padding);cursor:pointer;transition:border-color var(--el-transition-duration), background-color var(--el-transition-duration), color var(--el-transition-duration);box-sizing:border-box;white-space:nowrap;align-items:center;list-style:none;display:flex;position:relative}.el-menu-item *{vertical-align:bottom}.el-menu-item i{color:inherit}.el-menu-item:hover,.el-menu-item:focus{outline:none}.el-menu-item:hover{background-color:var(--el-menu-hover-bg-color)}.el-menu-item.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-menu-item [class^=el-icon]{width:var(--el-menu-icon-width);text-align:center;vertical-align:middle;margin-right:5px;font-size:18px}.el-menu-item.is-active{color:var(--el-menu-active-color)}.el-menu-item.is-active i{color:inherit}.el-menu-item .el-menu-tooltip__trigger{box-sizing:border-box;width:100%;height:100%;padding:0 var(--el-menu-base-level-padding);align-items:center;display:inline-flex;position:absolute;top:0;left:0}.el-sub-menu{margin:0;padding-left:0;list-style:none}.el-sub-menu__title{height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);font-size:var(--el-menu-item-font-size);color:var(--el-menu-text-color);padding:0 var(--el-menu-base-level-padding);cursor:pointer;transition:border-color var(--el-transition-duration), background-color var(--el-transition-duration), color var(--el-transition-duration);box-sizing:border-box;white-space:nowrap;align-items:center;list-style:none;display:flex;position:relative}.el-sub-menu__title *{vertical-align:bottom}.el-sub-menu__title i{color:inherit}.el-sub-menu__title:hover,.el-sub-menu__title:focus{outline:none}.el-sub-menu__title.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-sub-menu__title:hover{background-color:var(--el-menu-hover-bg-color)}.el-sub-menu .el-menu{border:none}.el-sub-menu .el-menu-item{height:var(--el-menu-sub-item-height);line-height:var(--el-menu-sub-item-height)}.el-sub-menu.el-sub-menu__hide-arrow .el-sub-menu__title{padding-right:var(--el-menu-base-level-padding)}.el-sub-menu__hide-arrow .el-sub-menu__icon-arrow{display:none!important}.el-sub-menu.is-active .el-sub-menu__title{border-bottom-color:var(--el-menu-active-color)}.el-sub-menu.is-disabled .el-sub-menu__title,.el-sub-menu.is-disabled .el-menu-item{opacity:.25;cursor:not-allowed;background:0 0!important}.el-sub-menu .el-icon{vertical-align:middle;width:var(--el-menu-icon-width);text-align:center;margin-right:5px;font-size:18px}.el-sub-menu .el-icon.el-sub-menu__icon-more{margin-right:0!important}.el-sub-menu .el-sub-menu__icon-arrow{top:50%;right:var(--el-menu-base-level-padding);transition:transform var(--el-transition-duration);width:inherit;margin-top:-6px;margin-right:0;font-size:12px;position:absolute}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{padding:7px 0 7px var(--el-menu-base-level-padding);color:var(--el-text-color-secondary);font-size:12px;line-height:normal}.horizontal-collapse-transition .el-sub-menu__title .el-sub-menu__icon-arrow{transition:var(--el-transition-duration-fast);opacity:0}.el-popper,.el-menu--popup-container,.el-menu{outline:none}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button:first-child:last-child{border-top-right-radius:var(--el-border-radius-base);border-bottom-right-radius:var(--el-border-radius-base);border-top-left-radius:var(--el-border-radius-base);border-bottom-left-radius:var(--el-border-radius-base)}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:var(--el-border-radius-round)}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:hover,.el-button-group>.el-button:focus,.el-button-group>.el-button:active,.el-button-group>.el-button.is-active{z-index:1}.el-button-group--horizontal{vertical-align:middle;display:inline-block}.el-button-group--horizontal:before,.el-button-group--horizontal:after{content:"";display:table}.el-button-group--horizontal:after{clear:both}.el-button-group--horizontal>.el-button{float:left;position:relative}.el-button-group--horizontal>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group--horizontal>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group--horizontal>.el-button:not(:last-child){margin-right:-1px}.el-button-group--horizontal .el-button--primary:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--primary:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--primary:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--success:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--success:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--success:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--warning:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--warning:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--warning:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--danger:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--danger:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--danger:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--info:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--info:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--info:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal>.el-dropdown>.el-button{border-left-color:var(--el-button-divide-border-color);border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group--vertical{flex-direction:column;align-items:stretch;display:inline-flex}.el-button-group--vertical>.el-button{margin-top:-1px}.el-button-group--vertical>.el-button:first-child{border-bottom-right-radius:0;border-bottom-left-radius:0}.el-button-group--vertical>.el-button:last-child{border-top-left-radius:0;border-top-right-radius:0}.el-button-group--vertical>.el-dropdown{margin-top:-1px}.el-button-group--vertical>.el-dropdown>.el-button{border-left-color:var(--el-button-divide-border-color);border-top-left-radius:0;border-top-right-radius:0}.el-button-group--vertical .el-button--primary:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--primary:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--primary:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--success:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--success:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--success:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--warning:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--warning:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--warning:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--danger:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--danger:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--danger:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--info:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--info:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--info:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-dropdown{--el-dropdown-menu-box-shadow:var(--el-box-shadow-light);--el-dropdown-menuItem-hover-fill:var(--el-color-primary-light-9);--el-dropdown-menuItem-hover-color:var(--el-color-primary);--el-dropdown-menu-index:10;color:var(--el-text-color-regular);font-size:var(--el-font-size-base);vertical-align:top;line-height:1;display:inline-flex;position:relative}.el-dropdown.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-dropdown__popper{--el-dropdown-menu-box-shadow:var(--el-box-shadow-light);--el-dropdown-menuItem-hover-fill:var(--el-color-primary-light-9);--el-dropdown-menuItem-hover-color:var(--el-color-primary);--el-dropdown-menu-index:10}.el-dropdown__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-dropdown-menu-box-shadow)}.el-dropdown__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-dropdown__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-dropdown__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-dropdown__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-dropdown__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-dropdown__popper .el-dropdown-menu{border:none}.el-dropdown__popper .el-dropdown__popper-selfdefine{outline:none}.el-dropdown__popper .el-scrollbar__bar{z-index:calc(var(--el-dropdown-menu-index) + 1)}.el-dropdown__popper .el-dropdown__list{box-sizing:border-box;margin:0;padding:0;list-style:none}.el-dropdown .el-dropdown__caret-button{border-left:none;justify-content:center;align-items:center;width:32px;padding-left:0;padding-right:0;display:inline-flex}.el-dropdown .el-dropdown__caret-button>span{display:inline-flex}.el-dropdown .el-dropdown__caret-button:before{content:"";background:var(--el-overlay-color-lighter);width:1px;display:block;position:absolute;top:-1px;bottom:-1px;left:0}.el-dropdown .el-dropdown__caret-button.el-button:before{background:var(--el-border-color);opacity:.5}.el-dropdown .el-dropdown__caret-button .el-dropdown__icon{font-size:inherit;padding-left:0}.el-dropdown .el-dropdown-selfdefine{outline:none}.el-dropdown--large .el-dropdown__caret-button{width:40px}.el-dropdown--small .el-dropdown__caret-button{width:24px}.el-dropdown-menu{z-index:var(--el-dropdown-menu-index);background-color:var(--el-bg-color-overlay);border-radius:var(--el-border-radius-base);box-shadow:none;border:none;margin:0;padding:5px 0;list-style:none;position:relative;top:0;left:0}.el-dropdown-menu__item{white-space:nowrap;line-height:22px;font-size:var(--el-font-size-base);color:var(--el-text-color-regular);cursor:pointer;outline:none;align-items:center;margin:0;padding:5px 16px;list-style:none;display:flex}.el-dropdown-menu__item:not(.is-disabled):hover,.el-dropdown-menu__item:not(.is-disabled):focus{background-color:var(--el-dropdown-menuItem-hover-fill);color:var(--el-dropdown-menuItem-hover-color)}.el-dropdown-menu__item i{margin-right:5px}.el-dropdown-menu__item--divided{border-top:1px solid var(--el-border-color-lighter);margin:6px 0}.el-dropdown-menu__item.is-disabled{cursor:not-allowed;color:var(--el-text-color-disabled)}.el-dropdown-menu--large{padding:7px 0}.el-dropdown-menu--large .el-dropdown-menu__item{padding:7px 20px;font-size:14px;line-height:22px}.el-dropdown-menu--large .el-dropdown-menu__item--divided{margin:8px 0}.el-dropdown-menu--small{padding:3px 0}.el-dropdown-menu--small .el-dropdown-menu__item{padding:2px 12px;font-size:12px;line-height:20px}.el-dropdown-menu--small .el-dropdown-menu__item--divided{margin:4px 0}.tab-bar[data-v-e1c867fe]{border-bottom:1px solid var(--gerp-border-color);background:#fff;flex-shrink:0;align-items:center;height:36px;display:flex}.tab-scroll[data-v-e1c867fe]{width:100%;height:100%}.tab-scroll[data-v-e1c867fe] .el-scrollbar__wrap{overflow-y:hidden}.tab-scroll[data-v-e1c867fe] .el-scrollbar__bar.is-vertical{display:none}.tab-list[data-v-e1c867fe]{white-space:nowrap;align-items:center;height:36px;padding:0 8px;display:flex}.tab-item[data-v-e1c867fe]{height:28px;color:var(--el-text-color-regular);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:6px;align-items:center;gap:4px;margin-right:4px;padding:0 10px;font-size:13px;transition:background .2s,color .2s;display:inline-flex}.tab-item[data-v-e1c867fe]:hover{background:var(--el-fill-color-light)}.tab-item.active[data-v-e1c867fe]{background:var(--el-color-primary-light-9);color:var(--el-color-primary);border-color:var(--el-color-primary-light-5);font-weight:500}.tab-icon[data-v-e1c867fe]{flex-shrink:0;font-size:14px}.tab-icon-fa[data-v-e1c867fe]{text-align:center;flex-shrink:0;width:14px;font-size:14px}.tab-title[data-v-e1c867fe]{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.tab-close[data-v-e1c867fe]{border-radius:50%;flex-shrink:0;padding:2px;font-size:12px;transition:background .2s,color .2s}.tab-close[data-v-e1c867fe]:hover{background:var(--el-color-danger);color:#fff}.tab-ctx-menu{z-index:10000;border:1px solid var(--el-border-color-light);background:#fff;border-radius:6px;min-width:120px;margin:0;padding:4px 0;list-style:none;position:fixed;box-shadow:0 2px 12px #0000001f}.tab-ctx-menu li{color:var(--el-text-color-regular);cursor:pointer;align-items:center;gap:6px;padding:8px 14px;font-size:13px;transition:background .15s;display:flex}.tab-ctx-menu li:hover{background:var(--el-fill-color-light);color:var(--el-color-primary)}.route-progress[data-v-85523620]{z-index:9999;pointer-events:none;opacity:0;height:3px;transition:opacity .3s;position:fixed;top:0;left:0;right:0}.route-progress.is-visible[data-v-85523620]{opacity:1}.route-progress-bar[data-v-85523620]{background:linear-gradient(90deg, var(--el-color-primary), var(--el-color-primary-light-3));border-radius:0 3px 3px 0;height:100%;transition:width .2s;box-shadow:0 0 8px #00000026}.page-mask[data-v-7f6076a1]{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;visibility:hidden;pointer-events:none;background:#ffffffa6;justify-content:center;align-items:center;transition:opacity .15s,visibility .15s;display:flex;position:absolute;inset:0}.page-mask.show[data-v-7f6076a1]{opacity:1;visibility:visible;pointer-events:auto}.page-mask-content[data-v-7f6076a1]{color:var(--el-text-color-secondary);flex-direction:column;align-items:center;gap:12px;display:flex}.page-mask-icon[data-v-7f6076a1]{color:var(--el-color-primary);font-size:32px}.page-mask-text[data-v-7f6076a1]{font-size:13px}.role-switcher[data-v-5338f17c]{z-index:10000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.role-switcher-overlay[data-v-5338f17c]{background:#00000080;position:absolute;inset:0}.role-switcher-content[data-v-5338f17c]{background:var(--el-bg-color);border-radius:16px;flex-direction:column;width:90%;max-width:720px;max-height:80vh;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 16px #0000001a}.role-switcher-enter-active[data-v-5338f17c],.role-switcher-leave-active[data-v-5338f17c]{transition:opacity .3s}.role-switcher-enter-active .role-switcher-content[data-v-5338f17c],.role-switcher-leave-active .role-switcher-content[data-v-5338f17c]{transition:all .3s cubic-bezier(.4,0,.2,1)}.role-switcher-enter-from[data-v-5338f17c],.role-switcher-leave-to[data-v-5338f17c]{opacity:0}.role-switcher-enter-from .role-switcher-content[data-v-5338f17c],.role-switcher-leave-to .role-switcher-content[data-v-5338f17c]{transform:scale(.95)translateY(20px)}.role-switcher-header[data-v-5338f17c]{border-bottom:1px solid var(--el-border-color);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.role-switcher-title[data-v-5338f17c]{color:var(--el-text-color-primary);margin:0;font-size:20px;font-weight:600}.role-switcher-close[data-v-5338f17c]{width:32px;height:32px;color:var(--el-text-color-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:background .2s;display:flex}.role-switcher-close[data-v-5338f17c]:hover{background:var(--el-fill-color-light)}.role-switcher-body[data-v-5338f17c]{max-height:320px;padding:20px;overflow-y:auto}.role-grid[data-v-5338f17c]{flex-wrap:wrap;gap:12px;display:flex}.role-card[data-v-5338f17c]{background:var(--el-fill-color-light);cursor:pointer;box-sizing:border-box;border:2px solid #0000;border-radius:12px;align-items:center;gap:16px;width:calc(50% - 6px);min-width:240px;min-height:100px;padding:16px 20px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.role-card[data-v-5338f17c]:hover{border-color:var(--el-color-primary);transform:translateY(-4px);box-shadow:0 4px 12px #0000001a}.role-card.disabled[data-v-5338f17c]{cursor:not-allowed;opacity:.6}.role-card.disabled[data-v-5338f17c]:hover{border-color:#0000;transform:none}.role-card.selected[data-v-5338f17c]{border-color:var(--el-color-primary);background:#409eff14}.role-icon[data-v-5338f17c]{width:44px;height:44px;color:var(--el-color-primary);background:#409eff1f;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.role-card:hover .role-icon[data-v-5338f17c]{transition:transform .25s;transform:scale(1.1)}.role-info[data-v-5338f17c]{min-width:0}.role-name[data-v-5338f17c]{color:var(--el-text-color-primary);font-size:15px;font-weight:600}.role-desc[data-v-5338f17c]{color:var(--el-text-color-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;overflow:hidden}.role-badge[data-v-5338f17c]{color:#fff;border-radius:10px;padding:2px 8px;font-size:11px;line-height:1.6;position:absolute;top:8px;right:8px}.role-badge-active[data-v-5338f17c]{background:var(--el-color-primary)}.role-badge-disabled[data-v-5338f17c]{background:var(--el-text-color-disabled)}.role-check[data-v-5338f17c]{background:var(--el-color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;animation:.25s cubic-bezier(.4,0,.2,1) role-check-in-5338f17c;display:flex;position:absolute;top:8px;right:8px}@keyframes role-check-in-5338f17c{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.role-switcher-footer[data-v-5338f17c]{border-top:1px solid var(--el-border-color);background:var(--el-fill-color-light);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.gerp-btn[data-v-5338f17c]{cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}.gerp-btn[data-v-5338f17c]:disabled{opacity:.5;cursor:not-allowed}.gerp-btn-secondary[data-v-5338f17c]{background:var(--el-bg-color);color:var(--el-text-color-primary);border:1px solid var(--el-border-color)}.gerp-btn-secondary[data-v-5338f17c]:hover{background:var(--el-fill-color-light)}.gerp-btn-primary[data-v-5338f17c]{background:var(--el-color-primary);color:#fff}.gerp-btn-primary[data-v-5338f17c]:hover:not(:disabled){opacity:.9}.role-switching[data-v-5338f17c]{align-items:center;gap:6px;display:inline-flex}.is-loading[data-v-5338f17c]{animation:1s linear infinite role-spin-5338f17c}@keyframes role-spin-5338f17c{to{transform:rotate(360deg)}}.gerp-layout[data-v-da44a33f]{flex-direction:column;height:100vh;display:flex;overflow:hidden}.gerp-header[data-v-da44a33f]{border-bottom:1px solid var(--gerp-border-color);z-index:100;background:#fff;justify-content:space-between;align-items:center;height:56px;padding:0 16px;display:flex;box-shadow:0 1px 4px #0000000a}.gerp-header-left[data-v-da44a33f],.gerp-header-right[data-v-da44a33f]{align-items:center;gap:12px;display:flex}.gerp-logo[data-v-da44a33f]{align-items:center;gap:8px;display:flex}.gerp-logo-icon[data-v-da44a33f]{width:28px;height:28px}.gerp-logo-text[data-v-da44a33f]{color:#303133;font-size:16px;font-weight:600}.gerp-toggle-btn[data-v-da44a33f]{padding:6px}.gerp-nav-title[data-v-da44a33f]{margin:0;font-size:16px;font-weight:500}.gerp-header-actions[data-v-da44a33f]{align-items:center;gap:4px;display:flex}.gerp-user-info[data-v-da44a33f]{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:0 8px;transition:background .2s;display:flex}.gerp-user-info[data-v-da44a33f]:hover{background:#f5f7fa}.gerp-user-avatar[data-v-da44a33f]{object-fit:cover;border-radius:50%;width:32px;height:32px}.gerp-user-name[data-v-da44a33f]{color:#303133;font-size:14px}.gerp-main[data-v-da44a33f]{flex:1;display:flex;overflow:hidden}.gerp-sidebar[data-v-da44a33f]{border-right:1px solid var(--gerp-border-color);background:#fff;flex-direction:column;flex-shrink:0;width:220px;transition:width .3s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.gerp-sidebar[data-v-da44a33f] .el-scrollbar{flex:1}.gerp-sidebar[data-v-da44a33f] .el-menu{border-right:none;width:100%;min-width:0;padding:8px 0;transition:width .3s cubic-bezier(.4,0,.2,1)}.gerp-sidebar[data-v-da44a33f] .el-menu-item span,.gerp-sidebar[data-v-da44a33f] .el-sub-menu__title span{white-space:nowrap;max-width:160px;transition:opacity .25s,max-width .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.gerp-sidebar[data-v-da44a33f] .el-sub-menu__icon-arrow{transition:opacity .25s}.gerp-sidebar[data-v-da44a33f] .el-sub-menu{min-width:0}.gerp-sidebar[data-v-da44a33f] .el-menu--inline{min-width:0;max-height:1000px;transition:max-height .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.gerp-sidebar.collapsed[data-v-da44a33f]{width:64px}.gerp-sidebar.collapsed[data-v-da44a33f] .el-sub-menu{width:100%;min-width:0}.gerp-sidebar.collapsed[data-v-da44a33f] .el-sub-menu__title{width:100%;min-width:0;padding-left:20px;padding-right:20px}.gerp-sidebar.collapsed[data-v-da44a33f] .el-menu--inline{width:100%;min-width:0}.gerp-sidebar.collapsed[data-v-da44a33f] .el-menu-item:before,.gerp-sidebar.collapsed[data-v-da44a33f] .el-sub-menu__title:before{display:none}.gerp-sidebar.collapsed[data-v-da44a33f] .el-menu-item span,.gerp-sidebar.collapsed[data-v-da44a33f] .el-sub-menu__title span{opacity:0;max-width:0}.gerp-sidebar.collapsed[data-v-da44a33f] .el-sub-menu__icon-arrow{opacity:0}.gerp-sidebar.collapsed[data-v-da44a33f] .el-menu--inline{max-height:0}.gerp-sidebar.collapsed .gerp-version[data-v-da44a33f]{display:none}.gerp-sidebar.collapsed .gerp-sidebar-footer[data-v-da44a33f]{justify-content:center;padding:8px 0}.gerp-sidebar[data-v-da44a33f] .el-menu-item{border-radius:8px;margin:2px 8px;transition:padding .4s,background-color .2s,color .2s;position:relative}.gerp-sidebar[data-v-da44a33f] .el-menu-item:before{content:"";background:var(--el-color-primary);opacity:0;border-radius:0 3px 3px 0;width:3px;height:60%;transition:opacity .15s;position:absolute;top:50%;left:0;transform:translateY(-50%)}.gerp-sidebar[data-v-da44a33f] .el-menu-item:hover{background:var(--el-fill-color-light)}.gerp-sidebar[data-v-da44a33f] .el-menu-item:hover:before{opacity:1}.gerp-sidebar[data-v-da44a33f] .el-menu-item.is-active{background:var(--el-color-primary-light-9);color:var(--el-color-primary);font-weight:500}.gerp-sidebar[data-v-da44a33f] .el-menu-item.is-active:before{opacity:1}.gerp-sidebar[data-v-da44a33f] .el-sub-menu__title{border-radius:8px;margin:2px 8px;transition:padding .4s,background-color .2s,color .2s}.gerp-sidebar[data-v-da44a33f] .el-sub-menu__title:hover{background:var(--el-fill-color-light)}.gerp-sidebar[data-v-da44a33f] .el-menu--inline .el-menu-item{min-width:auto;color:var(--el-text-color-secondary);font-size:13px;position:relative;padding-left:52px!important}.gerp-sidebar[data-v-da44a33f] .el-menu--inline .el-menu-item:after{content:"";background:var(--el-text-color-placeholder);border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:32px;transform:translateY(-50%)}.gerp-sidebar[data-v-da44a33f] .el-menu--inline .el-menu-item.is-active{color:var(--el-color-primary)}.gerp-sidebar[data-v-da44a33f] .el-menu--inline .el-menu-item.is-active:after{background:var(--el-color-primary)}.gerp-sidebar[data-v-da44a33f] .gerp-menu-icon{text-align:center;vertical-align:middle;width:1em;margin-right:5px;font-size:18px;transition:margin .4s;display:inline-block}.gerp-sidebar[data-v-da44a33f] .el-menu--collapse .gerp-menu-icon{margin-right:0}.gerp-sidebar-footer[data-v-da44a33f]{border-top:1px solid var(--gerp-border-color);flex-shrink:0;justify-content:space-between;align-items:center;min-height:40px;padding:8px 16px;display:flex}.gerp-sidebar-footer .gerp-version[data-v-da44a33f]{color:var(--el-text-color-disabled);font-size:11px}.gerp-content[data-v-da44a33f]{background:var(--gerp-bg-color);flex-direction:column;flex:1;display:flex;overflow:hidden}.gerp-content-body[data-v-da44a33f]{flex:1;min-height:0;padding:16px;position:relative;overflow:hidden}.tab-pane[data-v-da44a33f]{flex-direction:column;height:100%;animation:.12s tab-pane-fade-da44a33f;display:flex;overflow:auto}@keyframes tab-pane-fade-da44a33f{0%{opacity:0}to{opacity:1}}.gerp-user-dropdown{min-width:260px;padding:0;overflow:hidden}.user-dropdown-header{background:var(--el-color-primary-light-9);align-items:center;gap:12px;padding:16px 20px;display:flex}.user-dropdown-header .user-dropdown-avatar{object-fit:cover;border:2px solid var(--el-color-primary-light-7);border-radius:50%;flex-shrink:0;width:48px;height:48px}.user-dropdown-header .user-dropdown-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.user-dropdown-header .user-dropdown-name{color:var(--el-text-color-primary);font-size:15px;font-weight:600}.user-dropdown-header .user-dropdown-email,.user-dropdown-header .user-dropdown-account{color:var(--el-text-color-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.user-dropdown-roles{padding:8px 0}.user-dropdown-roles .user-dropdown-roles-title{color:var(--el-text-color-secondary);align-items:center;gap:6px;padding:4px 20px;font-size:12px;font-weight:500;display:flex}.user-dropdown-roles .user-dropdown-roles-list{flex-direction:column;gap:2px;padding:0 8px;display:flex}.user-dropdown-roles .user-dropdown-role-item{cursor:pointer;color:var(--el-text-color-regular);border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;transition:all .2s;display:flex}.user-dropdown-roles .user-dropdown-role-item:hover{background:var(--el-fill-color-light)}.user-dropdown-roles .user-dropdown-role-item.active{background:var(--el-color-primary-light-9);color:var(--el-color-primary);font-weight:500}.user-dropdown-roles .user-dropdown-role-item .role-check{color:var(--el-color-primary);font-size:14px}.user-dropdown-roles .user-dropdown-role-item .role-placeholder{color:var(--el-text-color-disabled);font-size:14px}.user-dropdown-roles .user-dropdown-role-item .role-loading{color:var(--el-color-primary);margin-left:auto;font-size:14px}.gerp-user-dropdown .danger-item,.gerp-user-dropdown .danger-item .el-icon{color:var(--el-color-danger)}.gerp-user-dropdown .danger-item:hover{background:var(--el-color-danger-light-9);color:var(--el-color-danger)}
diff --git a/TempLate/GERP/assets/EmployeeDetail-DHUl-5tf.css b/TempLate/GERP/assets/EmployeeDetail-DHUl-5tf.css
deleted file mode 100644
index 2498f936..00000000
--- a/TempLate/GERP/assets/EmployeeDetail-DHUl-5tf.css
+++ /dev/null
@@ -1 +0,0 @@
-.el-avatar{--el-avatar-text-color:var(--el-color-white);--el-avatar-bg-color:var(--el-text-color-disabled);--el-avatar-text-size:14px;--el-avatar-icon-size:18px;--el-avatar-border-radius:var(--el-border-radius-base);--el-avatar-size-large:56px;--el-avatar-size:40px;--el-avatar-size-small:24px;box-sizing:border-box;text-align:center;color:var(--el-avatar-text-color);background:var(--el-avatar-bg-color);width:var(--el-avatar-size);height:var(--el-avatar-size);font-size:var(--el-avatar-text-size);outline:none;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.el-avatar>img{width:100%;height:100%;display:block}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:var(--el-avatar-border-radius)}.el-avatar--icon{font-size:var(--el-avatar-icon-size)}.el-avatar--small{--el-avatar-size:24px}.el-avatar--large{--el-avatar-size:56px}.profile-row[data-v-0f6399fb]{align-items:flex-start;gap:24px;display:flex}.profile-avatar[data-v-0f6399fb]{border:2px solid #e5e7eb;flex-shrink:0}.profile-info[data-v-0f6399fb]{flex:1;min-width:0}
diff --git a/TempLate/GERP/assets/InfoGrid-BY8rlZVK.css b/TempLate/GERP/assets/InfoGrid-BY8rlZVK.css
deleted file mode 100644
index e84db3b7..00000000
--- a/TempLate/GERP/assets/InfoGrid-BY8rlZVK.css
+++ /dev/null
@@ -1 +0,0 @@
-.info-grid[data-v-9bc3752b]{margin-bottom:16px}
diff --git a/TempLate/GERP/assets/InfoGrid-C1it9Z2Y.js b/TempLate/GERP/assets/InfoGrid-C1it9Z2Y.js
deleted file mode 100644
index fff1c0d2..00000000
--- a/TempLate/GERP/assets/InfoGrid-C1it9Z2Y.js
+++ /dev/null
@@ -1 +0,0 @@
-import{In as e,Jn as t,Nn as n,_ as r,hn as i,sn as a}from"./useApi-CROJJdhE-mMpa5RAf.js";import{t as o}from"./descriptions-Cq_aE9sg.js";/* empty css */import"./css-CysIl0tz.js";var s=r(i({__name:`InfoGrid`,props:{columns:{},title:{},border:{type:Boolean}},setup(r){return(i,s)=>{let c=o;return n(),a(c,{column:r.columns||2,title:r.title,border:r.border??!0,class:`info-grid`},{default:t(()=>[e(i.$slots,`default`,{},void 0,!0)]),_:3},8,[`column`,`title`,`border`])}}}),[[`__scopeId`,`data-v-9bc3752b`]]);export{s as t};
\ No newline at end of file
diff --git a/TempLate/GERP/assets/LegacyPage-B0rqaVN_.js b/TempLate/GERP/assets/LegacyPage-B0rqaVN_.js
deleted file mode 100644
index 98cf13f5..00000000
--- a/TempLate/GERP/assets/LegacyPage-B0rqaVN_.js
+++ /dev/null
@@ -1 +0,0 @@
-import{Nn as e,Yn as t,_ as n,an as r,cn as i,hn as a,ir as o,ln as s,m as c,on as l,sn as u}from"./useApi-CROJJdhE-mMpa5RAf.js";import{c as d}from"./runtime-dom.esm-bundler-YxjRGSuG.js";import{t as f}from"./skeleton-DGDficlh.js";/* empty css */var p={class:`legacy-page`},m=[`src`],h=n(a({__name:`LegacyPage`,setup(n){let a=c(),h=r(()=>a.meta.legacySrc||``),g=o(!0);function _(){g.value=!1}return(n,r)=>{let a=f;return e(),s(`div`,p,[g.value?(e(),u(a,{key:0,rows:6,animated:``,class:`legacy-page-skeleton`})):i(``,!0),t(l(`iframe`,{src:h.value,class:`legacy-page-frame`,frameborder:`0`,onLoad:_},null,40,m),[[d,!g.value]])])}}}),[[`__scopeId`,`data-v-52d02d92`]]);export{h as default};
\ No newline at end of file
diff --git a/TempLate/GERP/assets/LegacyPage-CHyzjLyy.css b/TempLate/GERP/assets/LegacyPage-CHyzjLyy.css
deleted file mode 100644
index 316d84f7..00000000
--- a/TempLate/GERP/assets/LegacyPage-CHyzjLyy.css
+++ /dev/null
@@ -1 +0,0 @@
-.el-skeleton{--el-skeleton-circle-size:var(--el-avatar-size)}.el-skeleton__item{background:var(--el-skeleton-color);border-radius:var(--el-border-radius-base);width:100%;height:16px;display:inline-block}.el-skeleton__circle{width:var(--el-skeleton-circle-size);height:var(--el-skeleton-circle-size);line-height:var(--el-skeleton-circle-size);border-radius:50%}.el-skeleton__button{border-radius:4px;width:64px;height:40px}.el-skeleton__p{width:100%}.el-skeleton__p.is-last{width:61%}.el-skeleton__p.is-first{width:33%}.el-skeleton__text{width:100%;height:var(--el-font-size-small)}.el-skeleton__caption{height:var(--el-font-size-extra-small)}.el-skeleton__h1{height:var(--el-font-size-extra-large)}.el-skeleton__h3{height:var(--el-font-size-large)}.el-skeleton__h5{height:var(--el-font-size-medium)}.el-skeleton__image{width:unset;border-radius:0;justify-content:center;align-items:center;display:flex}.el-skeleton__image svg{color:var(--el-svg-monochrome-grey);fill:currentColor;width:22%;height:22%}.el-skeleton{--el-skeleton-color:var(--el-fill-color);--el-skeleton-to-color:var(--el-fill-color-darker)}@keyframes el-skeleton-loading{0%{background-position:100%}to{background-position:0}}.el-skeleton{width:100%}.el-skeleton__first-line,.el-skeleton__paragraph{background:var(--el-skeleton-color);height:16px;margin-top:16px}.el-skeleton.is-animated .el-skeleton__item{background:linear-gradient(90deg, var(--el-skeleton-color) 25%, var(--el-skeleton-to-color) 37%, var(--el-skeleton-color) 63%);background-size:400% 100%;animation:1.4s infinite el-skeleton-loading}.legacy-page[data-v-52d02d92]{background:var(--gerp-bg-color,#f5f7fa);width:100%;height:100%;position:relative;overflow:hidden}.legacy-page-skeleton[data-v-52d02d92]{padding:24px}.legacy-page-frame[data-v-52d02d92]{border:none;width:100%;height:100%;display:block}
diff --git a/TempLate/GERP/assets/Login-Cx6fJYVq.css b/TempLate/GERP/assets/Login-Cx6fJYVq.css
deleted file mode 100644
index 1e35aae5..00000000
--- a/TempLate/GERP/assets/Login-Cx6fJYVq.css
+++ /dev/null
@@ -1 +0,0 @@
-.login-page[data-v-e370fea4]{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card[data-v-e370fea4]{background:#fff;border-radius:12px;width:400px;max-width:90vw;padding:40px;box-shadow:0 10px 40px #00000026}.login-header[data-v-e370fea4]{text-align:center;margin-bottom:32px}.login-logo[data-v-e370fea4]{width:56px;height:56px;margin-bottom:12px}.login-title[data-v-e370fea4]{color:#303133;margin:0 0 8px;font-size:24px;font-weight:600}.login-subtitle[data-v-e370fea4]{color:#909399;margin:0;font-size:14px}.login-btn[data-v-e370fea4]{width:100%}
diff --git a/TempLate/GERP/assets/Profile-DcQ1jZX0.css b/TempLate/GERP/assets/Profile-DcQ1jZX0.css
deleted file mode 100644
index 6a272eb1..00000000
--- a/TempLate/GERP/assets/Profile-DcQ1jZX0.css
+++ /dev/null
@@ -1 +0,0 @@
-.profile[data-v-0032e664]{align-items:flex-start;gap:32px;display:flex}.avatar[data-v-0032e664]{object-fit:cover;border-radius:50%;width:120px;height:120px}
diff --git a/TempLate/GERP/assets/RoleDetail-DcAMxYp2.css b/TempLate/GERP/assets/RoleDetail-DcAMxYp2.css
deleted file mode 100644
index e4f02a17..00000000
--- a/TempLate/GERP/assets/RoleDetail-DcAMxYp2.css
+++ /dev/null
@@ -1 +0,0 @@
-.perm-hint[data-v-f6a835e9]{color:#909399;align-items:center;gap:4px;margin-top:8px;font-size:12px;display:flex}.perm-hint code[data-v-f6a835e9]{background:#f4f4f5;border-radius:3px;padding:1px 6px;font-family:Consolas,Monaco,monospace}
diff --git a/TempLate/GERP/assets/RoleDetail-DmzzuZyT.css b/TempLate/GERP/assets/RoleDetail-DmzzuZyT.css
deleted file mode 100644
index e3e2f2ec..00000000
--- a/TempLate/GERP/assets/RoleDetail-DmzzuZyT.css
+++ /dev/null
@@ -1 +0,0 @@
-.scope-banner[data-v-fa98a33c]{margin-bottom:4px}
diff --git a/TempLate/GERP/assets/Settings-BGHKexCS.css b/TempLate/GERP/assets/Settings-BGHKexCS.css
deleted file mode 100644
index 660272c8..00000000
--- a/TempLate/GERP/assets/Settings-BGHKexCS.css
+++ /dev/null
@@ -1 +0,0 @@
-.settings-page[data-v-110fdfa0]{max-width:900px;margin:0 auto;padding:24px}.settings-header[data-v-110fdfa0]{margin-bottom:24px}.settings-header .settings-title[data-v-110fdfa0]{align-items:center;gap:8px;margin:0 0 8px;font-size:24px;font-weight:700;display:flex}.settings-header .settings-title .icon-primary[data-v-110fdfa0]{color:var(--el-color-primary)}.settings-header .settings-desc[data-v-110fdfa0]{color:var(--el-text-color-secondary);margin:0;font-size:14px}.settings-section[data-v-110fdfa0]{background:var(--el-bg-color);box-shadow:var(--el-box-shadow-light);border-radius:12px;margin-bottom:16px;padding:24px}.settings-section .settings-section-title[data-v-110fdfa0]{border-bottom:1px solid var(--el-border-color);margin:0 0 16px;padding-bottom:12px;font-size:16px;font-weight:600}.settings-section.danger-zone[data-v-110fdfa0]{border:1px solid var(--el-color-danger);background:var(--el-color-danger-light-9)}.settings-section.danger-zone .settings-section-title[data-v-110fdfa0]{color:var(--el-color-danger);border-bottom-color:var(--el-color-danger-light-5)}.settings-item[data-v-110fdfa0]{border-bottom:1px solid var(--el-border-color);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.settings-item[data-v-110fdfa0]:last-child{border-bottom:none;padding-bottom:0}.settings-item[data-v-110fdfa0]:first-child{padding-top:0}.settings-item .settings-item-info[data-v-110fdfa0]{flex:1}.settings-item .settings-item-title[data-v-110fdfa0]{margin-bottom:4px;font-size:14px;font-weight:500}.settings-item .settings-item-desc[data-v-110fdfa0]{color:var(--el-text-color-secondary);font-size:12px}.settings-item .settings-item-control[data-v-110fdfa0]{margin-left:16px}
diff --git a/TempLate/GERP/assets/css-D4jab2ni2.js b/TempLate/GERP/assets/css-D4jab2ni2.js
deleted file mode 100644
index 301e7c08..00000000
--- a/TempLate/GERP/assets/css-D4jab2ni2.js
+++ /dev/null
@@ -1 +0,0 @@
-/* empty css */
\ No newline at end of file
diff --git a/TempLate/GERP/assets/css-yeo4Q6aC.js b/TempLate/GERP/assets/css-yeo4Q6aC.js
deleted file mode 100644
index 7f3d70c0..00000000
--- a/TempLate/GERP/assets/css-yeo4Q6aC.js
+++ /dev/null
@@ -1 +0,0 @@
-/* empty css */import"./css-CY4c3_XL.js";
\ No newline at end of file
diff --git a/TempLate/GERP/assets/css/GERP.css b/TempLate/GERP/assets/css/GERP.css
deleted file mode 100644
index 45ffee71..00000000
--- a/TempLate/GERP/assets/css/GERP.css
+++ /dev/null
@@ -1,5391 +0,0 @@
-/**
- * GERP.css - ERP 管理系统样式
- * 固定视图大小,顶部导航,左侧多级抽屉菜单,右侧 iframe 内容区
- * 支持分屏、拖拽调整大小、Tab右键菜单等高级功能
- */
-
-:root {
- --PrimaryColor: #2563eb;
- --PrimaryHover: #1d4ed8;
- --PrimaryAlpha10: rgba(37, 99, 235, 0.1);
- --PrimaryAlpha15: rgba(37, 99, 235, 0.15);
- --SecondaryColor: #64748b;
- --SuccessColor: #10b981;
- --SuccessAlpha10: rgba(16, 185, 129, 0.1);
- --WarningColor: #f59e0b;
- --WarningAlpha10: rgba(245, 158, 11, 0.1);
- --DangerColor: #ef4444;
- --DangerAlpha10: rgba(239, 68, 68, 0.1);
- --BackgroundColor: #f1f5f9;
- --CardBackground: #ffffff;
- --InputBackground: #ffffff;
- --HoverBackground: rgba(0, 0, 0, 0.04);
- --TextPrimary: #1e293b;
- --TextSecondary: #64748b;
- --TextMuted: #94a3b8;
- --BorderColor: #e2e8f0;
- --SidebarWidth: 260px;
- --SidebarCollapsedWidth: 64px;
- --HeaderHeight: 60px;
- --TabBarHeight: 40px;
- --TransitionSpeed: 0.15s;
- --ShadowSm: 0 1px 2px rgba(0,0,0,0.06);
- --ShadowMd: 0 2px 8px rgba(0,0,0,0.08);
- --ShadowLg: 0 4px 16px rgba(0,0,0,0.1);
-}
-
-/* 重置样式 */
-*, *::before, *::after {
- box-sizing: border-box;
- margin: 0;
- padding: 0;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-
-/* 全局滚动条样式 */
-::-webkit-scrollbar {
- width: 8px;
- height: 8px;
-}
-
-::-webkit-scrollbar-track {
- background: transparent;
-}
-
-::-webkit-scrollbar-thumb {
- background: var(--BorderColor);
- border-radius: 4px;
-}
-
-::-webkit-scrollbar-thumb:hover {
- background: var(--TextMuted);
-}
-
-::-webkit-scrollbar-corner {
- background: transparent;
-}
-
-/* Firefox 滚动条样式 */
-* {
- scrollbar-width: thin;
- scrollbar-color: var(--BorderColor) transparent;
-}
-
-/* 输入框允许文字选择 */
-input, textarea, select, [contenteditable="true"],
-.GERPInput, .GERPTextarea, .GERPSelect,
-.GERPDateTimePickerInput {
- -webkit-user-select: text;
- -moz-user-select: text;
- -ms-user-select: text;
- user-select: text;
-}
-
-html, body {
- height: 100%;
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
- font-size: 14px;
- line-height: 1.5;
- color: var(--TextPrimary);
- background-color: var(--BackgroundColor);
-}
-
-/* 应用容器 */
-.GERPApp {
- display: flex;
- flex-direction: column;
- height: 100vh;
- width: 100vw;
- overflow: hidden;
-}
-
-/* 顶部导航栏 */
-.GERPHeader {
- display: flex;
- align-items: center;
- justify-content: space-between;
- height: var(--HeaderHeight);
- background-color: var(--CardBackground);
- border-bottom: 1px solid var(--BorderColor);
- padding: 0 20px;
- flex-shrink: 0;
- box-shadow: var(--ShadowSm);
- z-index: 100;
-}
-
-.GERPHeaderLeft {
- display: flex;
- align-items: center;
- gap: 16px;
-}
-
-.GERPToggleBtn {
- display: flex;
- align-items: center;
- justify-content: center;
- width: 36px;
- height: 36px;
- border: none;
- background: transparent;
- border-radius: 8px;
- cursor: pointer;
- font-size: 18px;
- color: var(--TextSecondary);
- transition: all var(--TransitionSpeed);
-}
-
-.GERPToggleBtn:hover {
- background-color: var(--BackgroundColor);
- color: var(--PrimaryColor);
-}
-
-.GERPLogo {
- display: flex;
- align-items: center;
- gap: 10px;
-}
-
-.GERPLogoIcon {
- width: 40px;
- height: 40px;
- object-fit: cover;
- color: var(--PrimaryColor);
-}
-
-.GERPLogoText {
- font-size: 20px;
- font-weight: 700;
- color: var(--PrimaryColor);
- letter-spacing: -0.5px;
- transition: opacity 0.2s ease, width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
- white-space: nowrap;
- overflow: hidden;
-}
-
-.GERPHeaderCenter {
- flex: 1;
- display: flex;
- justify-content: center;
-}
-
-.GERPNavTitle {
- font-size: 18px;
- font-weight: 600;
- color: var(--TextPrimary);
-}
-
-.GERPHeaderRight {
- display: flex;
- align-items: center;
- gap: 20px;
-}
-
-.GERPHeaderActions {
- display: flex;
- align-items: center;
- gap: 8px;
-}
-
-.GERPHeaderBtn {
- position: relative;
- display: flex;
- align-items: center;
- justify-content: center;
- width: 36px;
- height: 36px;
- border: none;
- background: transparent;
- border-radius: 8px;
- cursor: pointer;
- font-size: 16px;
- color: var(--TextSecondary);
- transition: all var(--TransitionSpeed);
-}
-
-.GERPHeaderBtn:hover {
- background-color: var(--BackgroundColor);
- color: var(--PrimaryColor);
-}
-
-.GERPTZBadge {
- font-size: 11px;
- color: var(--TextSecondary);
- background: var(--CardBackground);
- border: 1px solid var(--BorderColor);
- padding: 4px 10px;
- border-radius: 6px;
- display: inline-flex;
- align-items: center;
- gap: 5px;
- white-space: nowrap;
- cursor: default;
-}
-
-.GERPUserInfo {
- display: flex;
- align-items: center;
- gap: 10px;
- padding: 6px 12px;
- border-radius: 8px;
- cursor: pointer;
- transition: all var(--TransitionSpeed);
-}
-
-.GERPUserInfo:hover {
- background-color: var(--BackgroundColor);
-}
-
-.GERPUserAvatar {
- width: 32px;
- height: 32px;
- border-radius: 50%;
- object-fit: cover;
- flex-shrink: 0;
-}
-
-.GERPUserName {
- font-weight: 500;
- color: var(--TextPrimary);
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- max-width: 100px;
- transition: opacity var(--TransitionSpeed), max-width var(--TransitionSpeed), margin var(--TransitionSpeed);
-}
-
-.GERPUserArrow {
- font-size: 10px;
- color: var(--TextMuted);
- transition: opacity var(--TransitionSpeed), max-width var(--TransitionSpeed);
- max-width: 20px;
- overflow: hidden;
- white-space: nowrap;
-}
-
-/* 侧边栏收起时头像栏居中 */
-body.GERPSidebarCollapsed .GERPUserInfo {
- justify-content: center;
- padding: 6px;
-}
-
-body.GERPSidebarCollapsed .GERPUserName {
- opacity: 0;
- max-width: 0;
- margin-right: 0;
- overflow: hidden;
-}
-
-body.GERPSidebarCollapsed .GERPUserArrow {
- opacity: 0;
- max-width: 0;
- overflow: hidden;
-}
-
-/* 主体区域 */
-.GERPMain {
- display: flex;
- flex-direction: column;
- flex: 1;
- overflow: hidden;
-}
-
-/* 内容包装器 */
-.GERPContentWrapper {
- display: flex;
- flex: 1;
- overflow: hidden;
-}
-
-/* 分屏容器 */
-.GERPMainContainer {
- display: flex;
- flex: 1;
- overflow: hidden;
-}
-
-.GERPSplitContainer {
- position: relative;
- display: flex;
- flex: 1;
- overflow: hidden;
-}
-
-.GERPSplitH {
- flex-direction: row;
-}
-
-.GERPSplitV {
- flex-direction: column;
-}
-
-.GERPSplitH > .GERPPanel,
-.GERPSplitH > .GERPSplitContainer {
- height: 100%;
-}
-
-.GERPSplitV > .GERPPanel,
-.GERPSplitV > .GERPSplitContainer {
- width: 100%;
-}
-
-/* 面板 */
-.GERPPanel {
- display: flex;
- flex-direction: column;
- flex: 1;
- min-width: 200px;
- min-height: 200px;
- position: relative;
- overflow: hidden;
- border: 2px solid var(--BorderColor);
- z-index: 1;
-}
-
-.GERPSplitH > .GERPPanel {
- border-right: 2px solid var(--BorderColor);
- border-left: none;
- border-top: none;
- border-bottom: none;
-}
-
-.GERPSplitH > .GERPPanel:last-child {
- border-right: none;
-}
-
-.GERPSplitV > .GERPPanel {
- border-bottom: 2px solid var(--BorderColor);
- border-top: none;
- border-left: none;
- border-right: none;
-}
-
-.GERPSplitV > .GERPPanel:last-child {
- border-bottom: none;
-}
-
-.GERPPanelTabBar {
- display: flex;
- align-items: center;
- height: var(--TabBarHeight);
- background-color: var(--CardBackground);
- border-bottom: 4px solid var(--BorderColor);
- /* padding: 0 8px; */
- flex-shrink: 0;
- gap: 4px;
-}
-
-.GERPPanelTabContainer {
- display: flex;
- align-items: center;
- flex: 1;
- overflow-x: auto;
- overflow-y: hidden;
- scrollbar-width: thin;
- -ms-overflow-style: none;
- min-height: 100%;
-}
-
-.GERPPanelTabContainer::-webkit-scrollbar {
- height: 4px;
-}
-
-.GERPPanelTabContainer::-webkit-scrollbar-track {
- background: transparent;
-}
-
-.GERPPanelTabContainer::-webkit-scrollbar-thumb {
- background: var(--BorderColor);
- border-radius: 2px;
-}
-
-.GERPPanelTabContainer::-webkit-scrollbar-thumb:hover {
- background: var(--PrimaryColor);
-}
-
-.GERPPanelTabActions {
- display: flex;
- align-items: center;
- gap: 4px;
-}
-
-.GERPPanelContent {
- flex: 1;
- overflow: hidden;
- background-color: var(--BackgroundColor);
-}
-
-.GERPPanelFrame {
- width: 100%;
- height: 100%;
- border: none;
- background-color: var(--BackgroundColor);
-}
-
-/* 调整大小手柄 */
-.GERPResizeHandle {
- position: absolute;
- z-index: 1100;
- background-color: transparent;
- transition: background-color var(--TransitionSpeed);
-}
-
-.GERPResizeHandle[data-direction="e"] {
- right: -3px;
- top: 0;
- bottom: 0;
- width: 6px;
- cursor: col-resize;
-}
-
-.GERPResizeHandle[data-direction="s"] {
- bottom: -3px;
- left: 0;
- right: 0;
- height: 6px;
- cursor: row-resize;
-}
-
-.GERPResizeHandle:hover,
-.GERPResizeHandle.Active {
- background-color: var(--PrimaryColor);
-}
-
-/* Tab Bar */
-.GERPTabBar {
- display: flex;
- align-items: center;
- height: var(--TabBarHeight);
- background-color: var(--CardBackground);
- border-bottom: 1px solid var(--BorderColor);
- padding: 0;
- flex-shrink: 0;
- gap: 0;
-}
-
-.GERPTabContainer {
- display: flex;
- align-items: center;
- flex: 1;
- gap: 0;
- overflow-x: auto;
- overflow-y: hidden;
- scrollbar-width: none;
- -ms-overflow-style: none;
-}
-
-.GERPTabContainer::-webkit-scrollbar {
- display: none;
-}
-
-.GERPTab {
- display: flex;
- align-items: center;
- gap: 8px;
- padding: 0 12px;
- background-color: transparent;
- border: 1px solid var(--BorderColor);
- border-radius: 0;
- cursor: pointer;
- font-size: 13px;
- color: var(--TextSecondary);
- white-space: nowrap;
- transition: all 0.2s ease;
- user-select: none;
- position: relative;
- height: calc(var(--TabBarHeight) - 2px);
- margin: 0;
-}
-
-.GERPTab:hover {
- background-color: var(--BackgroundColor);
- color: var(--TextPrimary);
- border-color: var(--PrimaryColor);
-}
-
-.GERPTab.Active {
- background-color: rgba(37, 99, 235, 0.15);
- color: var(--PrimaryColor);
- font-weight: 500;
- border-color: var(--PrimaryColor);
-}
-
-.GERPTab.Dragging {
- opacity: 0.5;
- transform: scale(1.05);
- box-shadow: var(--ShadowMd);
-}
-
-.GERPTab.DragOver {
- background: linear-gradient(to right, var(--PrimaryColor) 3px, transparent 3px);
-}
-
-.GERPTabText {
- max-width: 120px;
- overflow: hidden;
- text-overflow: ellipsis;
-}
-
-.GERPTab.EmptyTab {
- color: var(--TextSecondary);
- cursor: default;
- opacity: 0.7;
-}
-
-.GERPTab.EmptyTab:hover {
- background-color: rgba(0, 0, 0, 0.05);
-}
-
-.GERPTabClose {
- display: flex;
- align-items: center;
- justify-content: center;
- width: 16px;
- height: 16px;
- border-radius: 50%;
- font-size: 10px;
- opacity: 0;
- transition: all 0.2s;
-}
-
-.GERPTab:hover .GERPTabClose {
- opacity: 1;
-}
-
-.GERPTabClose:hover {
- background-color: rgba(239, 68, 68, 0.1);
- color: var(--DangerColor);
-}
-
-.GERPTabActions {
- display: flex;
- align-items: center;
- gap: 4px;
-}
-
-.GERPTabBtn {
- display: flex;
- align-items: center;
- justify-content: center;
- width: 28px;
- height: 28px;
- border: none;
- background: transparent;
- border-radius: 6px;
- cursor: pointer;
- font-size: 12px;
- color: var(--TextSecondary);
- transition: all var(--TransitionSpeed);
-}
-
-.GERPTabBtn:hover {
- background-color: var(--BackgroundColor);
- color: var(--DangerColor);
-}
-
-/* 左侧侧边栏 */
-.GERPSidebar {
- width: var(--SidebarWidth);
- background-color: var(--CardBackground);
- border-right: 1px solid var(--BorderColor);
- display: flex;
- flex-direction: column;
- transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
- flex-shrink: 0;
- position: relative;
-}
-
-.GERPSidebarInner {
- flex: 1;
- overflow-y: auto;
- overflow-x: hidden;
-}
-
-.GERPSidebarInner::-webkit-scrollbar {
- width: 4px;
-}
-
-.GERPSidebarInner::-webkit-scrollbar-thumb {
- background-color: var(--BorderColor);
- border-radius: 2px;
-}
-
-.GERPSidebarFooter {
- padding: 12px 16px;
- border-top: 1px solid var(--BorderColor);
- display: flex;
- align-items: center;
- position: relative;
- min-height: 56px;
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
-}
-
-.GERPSidebarSettingsBtn {
- display: flex;
- align-items: center;
- justify-content: center;
- width: 32px;
- height: 32px;
- border: none;
- background: transparent;
- border-radius: 8px;
- cursor: pointer;
- font-size: 14px;
- color: var(--TextSecondary);
- position: absolute;
- right: 16px;
- top: 50%;
- transform: translate(0, -50%);
- z-index: 2;
- transition: background-color 0.2s ease, color 0.2s ease;
-}
-
-.GERPSidebarSettingsBtn:hover {
- background-color: var(--BackgroundColor);
- color: var(--PrimaryColor);
-}
-
-.GERPVersion {
- font-size: 11px;
- color: var(--TextMuted);
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
- position: absolute;
- left: 16px;
- top: 50%;
- transform: translateY(-50%);
- z-index: 1;
- white-space: nowrap;
- overflow: hidden;
- max-width: calc(100% - 80px);
-}
-
-/* 侧边栏收起时底部区域 */
-body.GERPSidebarCollapsed .GERPSidebarFooter {
- padding: 12px 8px;
-}
-
-body.GERPSidebarCollapsed .GERPVersion {
- opacity: 0;
- max-width: 0;
-}
-
-body.GERPSidebarCollapsed .GERPSidebarSettingsBtn {
- right: 16px;
- left: auto;
- transform: translate(0, -50%);
-}
-
-body.GERPSidebarCollapsed .GERPSidebarSettingsBtn:hover {
-}
-
-/* 菜单样式 */
-/*.GERPMenuContainer {
- padding: 8px 0;
-}*/
-
-.GERPMenuList {
- list-style: none;
-}
-
-.GERPMenuItem {
- position: relative;
-}
-
-.GERPMenuLink {
- display: flex;
- align-items: center;
- gap: 12px;
- padding: 12px 16px;
- cursor: pointer;
- transition: all 0.2s ease;
- color: var(--TextSecondary);
- border-radius: 0;
- position: relative;
- overflow: hidden;
-}
-
-.GERPMenuLink::before {
- content: '';
- position: absolute;
- left: 0;
- top: 0;
- bottom: 0;
- width: 3px;
- background-color: var(--PrimaryColor);
- opacity: 0;
- transition: opacity 0.15s;
-}
-
-.GERPMenuLink:hover {
- background-color: var(--BackgroundColor);
- color: var(--TextPrimary);
-}
-
-.GERPMenuLink:hover::before {
- opacity: 1;
-}
-
-.GERPMenuItem.Active > .GERPMenuLink {
- background-color: rgba(37, 99, 235, 0.1);
- color: var(--PrimaryColor);
-}
-
-.GERPMenuItem.Active > .GERPMenuLink::before {
- opacity: 1;
-}
-
-.GERPMenuIcon {
- font-size: 18px;
- width: 24px;
- text-align: center;
- flex-shrink: 0;
-}
-
-.GERPMenuText {
- flex: 1;
- font-weight: 500;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- transition: opacity 0.2s ease, width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
-}
-
-.GERPMenuArrow {
- font-size: 10px;
- transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s ease, width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
- color: var(--TextMuted);
-}
-
-.GERPMenuArrow.Expanded {
- transform: rotate(90deg);
-}
-
-/* 子菜单 */
-.GERPSubmenu {
- max-height: 0;
- overflow: hidden;
- transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
- background-color: rgba(0, 0, 0, 0.02);
- opacity: 0;
-}
-
-.GERPSubmenu.Expanded {
- max-height: 500px;
- opacity: 1;
-}
-
-.GERPSubmenu .GERPMenuLink {
- padding-top: 10px;
- padding-bottom: 10px;
- font-size: 13px;
-}
-
-.GERPSubmenu .GERPMenuIcon {
- font-size: 14px;
-}
-
-/* 右侧内容区域 */
-.GERPContent {
- flex: 1 1 auto;
- display: flex;
- overflow: hidden;
- background-color: var(--BackgroundColor);
-}
-
-.GERPContentFrame {
- width: 100%;
- height: 100%;
- border: none;
- background-color: var(--BackgroundColor);
-}
-
-/* 侧边栏收起状态 */
-body.GERPSidebarCollapsed .GERPSidebar {
- width: var(--SidebarCollapsedWidth);
-}
-
-body.GERPSidebarCollapsed .GERPLogoText,
-body.GERPSidebarCollapsed .GERPMenuText,
-body.GERPSidebarCollapsed .GERPMenuArrow {
- opacity: 0;
- width: 0;
- overflow: hidden;
- transition: opacity 0.2s ease, width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
-}
-
-body.GERPSidebarCollapsed .GERPMenuLink {
- justify-content: center;
- padding-left: 0;
- padding-right: 0;
-}
-
-body.GERPSidebarCollapsed .GERPSubmenu {
- max-height: 0 !important;
- opacity: 0 !important;
-}
-
-/* 收起状态下禁用 hover 展开子菜单,改为通过 JS 处理 */
-body.GERPSidebarCollapsed .GERPMenuItem.HasChildren:hover .GERPSubmenu {
- max-height: 0 !important;
- opacity: 0 !important;
-}
-
-/* 遮罩层 */
-.GERPOverlay {
- position: fixed;
- top: var(--HeaderHeight);
- left: 0;
- right: 0;
- bottom: 0;
- background-color: rgba(0, 0, 0, 0.5);
- z-index: 1050;
- opacity: 0;
- pointer-events: none;
- transition: opacity 0.3s ease;
-}
-
-/* 移动端侧边栏展开状态 */
-body.GERPSidebarOpen .GERPOverlay {
- opacity: 1;
- pointer-events: auto;
-}
-
-body.GERPSidebarOpen .GERPSidebar {
- transform: translateX(0);
-}
-
-/* 搜索模态框 */
-.GERPModal {
- position: fixed;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- z-index: 1100;
- display: flex;
- align-items: flex-start;
- justify-content: center;
- padding-top: 100px;
- opacity: 0;
- pointer-events: none;
- transition: opacity var(--TransitionSpeed);
-}
-
-.GERPModal.Show {
- opacity: 1;
- pointer-events: auto;
-}
-
-.GERPModalOverlay {
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- background-color: rgba(0, 0, 0, 0);
- transition: background-color var(--TransitionSpeed) ease-out;
-}
-
-.GERPModal.Show .GERPModalOverlay {
- background-color: rgba(0, 0, 0, 0.5);
-}
-
-.GERPModalContent {
- position: relative;
- background-color: var(--CardBackground);
- border-radius: 12px;
- box-shadow: var(--ShadowLg);
- width: 90%;
- max-width: 600px;
- max-height: 80vh;
- overflow: hidden;
- transform: translateY(-10px);
- opacity: 0;
- transition: all var(--TransitionSpeed) ease;
-}
-
-.GERPModal.Show .GERPModalContent {
- transform: translateY(0);
- opacity: 1;
-}
-
-.GERPModalHeader {
- display: flex;
- align-items: center;
- justify-content: space-between;
- padding: 16px 20px;
- border-bottom: 1px solid var(--BorderColor);
-}
-
-.GERPModalHeader h3 {
- font-size: 16px;
- font-weight: 600;
-}
-
-.GERPModalClose {
- width: 32px;
- height: 32px;
- border: none;
- background: transparent;
- border-radius: 8px;
- cursor: pointer;
- color: var(--TextSecondary);
- transition: all var(--TransitionSpeed);
-}
-
-.GERPModalClose:hover {
- background-color: var(--BackgroundColor);
- color: var(--DangerColor);
-}
-
-/* 搜索框 */
-.GERPSearchBox {
- display: flex;
- align-items: center;
- gap: 12px;
- padding: 16px 20px;
- border-bottom: 1px solid var(--BorderColor);
-}
-
-.GERPSearchBox i {
- font-size: 18px;
- color: var(--TextMuted);
-}
-
-.GERPSearchBox input {
- flex: 1;
- border: none;
- outline: none;
- font-size: 16px;
- background: transparent;
- color: var(--TextPrimary);
-}
-
-.GERPSearchBox input::placeholder {
- color: var(--TextMuted);
-}
-
-.GERPSearchShortcut {
- font-size: 12px;
- color: var(--TextMuted);
- padding: 4px 8px;
- background-color: var(--BackgroundColor);
- border-radius: 4px;
-}
-
-.GERPSearchResults {
- max-height: 400px;
- overflow-y: auto;
-}
-
-.GERPSearchEmpty {
- padding: 40px;
- text-align: center;
- color: var(--TextMuted);
-}
-
-.GERPSearchItem {
- display: flex;
- align-items: center;
- gap: 12px;
- padding: 12px 20px;
- cursor: pointer;
- transition: background-color var(--TransitionSpeed);
-}
-
-.GERPSearchItem:hover {
- background-color: var(--BackgroundColor);
-}
-
-.GERPSearchItem i {
- font-size: 16px;
- color: var(--PrimaryColor);
- width: 24px;
- text-align: center;
-}
-
-.GERPSearchItemInfo {
- flex: 1;
-}
-
-.GERPSearchItemTitle {
- font-weight: 500;
- color: var(--TextPrimary);
-}
-
-.GERPSearchItemPath {
- font-size: 12px;
- color: var(--TextMuted);
-}
-
-/* 通知面板 */
-.GERPNotifyPanel {
- position: fixed;
- width: 360px;
- background-color: var(--CardBackground);
- border-radius: 12px;
- box-shadow: var(--ShadowLg);
- z-index: 1100;
- opacity: 0;
- transform: translateY(-10px);
- pointer-events: none;
- transition: opacity var(--TransitionSpeed), transform var(--TransitionSpeed) ease;
-}
-
-.GERPNotifyPanel.Show {
- opacity: 1;
- transform: translateY(0);
- pointer-events: auto;
-}
-
-.GERPNotifyHeader {
- display: flex;
- align-items: center;
- justify-content: space-between;
- padding: 16px 20px;
- border-bottom: 1px solid var(--BorderColor);
-}
-
-.GERPNotifyHeader h3 {
- font-size: 16px;
- font-weight: 600;
-}
-
-.GERPNotifyList {
- max-height: 400px;
- overflow-y: auto;
-}
-
-.GERPNotifyEmpty {
- padding: 40px;
- text-align: center;
- color: var(--TextMuted);
-}
-
-.GERPNotifyItem {
- display: flex;
- align-items: flex-start;
- gap: 12px;
- padding: 16px 20px;
- border-bottom: 1px solid var(--BorderColor);
- cursor: pointer;
- transition: background-color var(--TransitionSpeed);
-}
-
-.GERPNotifyItem:hover {
- background-color: var(--BackgroundColor);
-}
-
-.GERPNotifyItem.Unread {
- background-color: rgba(37, 99, 235, 0.05);
-}
-
-.GERPNotifyIcon {
- width: 40px;
- height: 40px;
- border-radius: 10px;
- display: flex;
- align-items: center;
- justify-content: center;
- background-color: rgba(37, 99, 235, 0.1);
- color: var(--PrimaryColor);
- font-size: 16px;
- flex-shrink: 0;
-}
-
-.GERPNotifyContent {
- flex: 1;
-}
-
-.GERPNotifyTitle {
- font-weight: 500;
- color: var(--TextPrimary);
- margin-bottom: 4px;
-}
-
-.GERPNotifyText {
- font-size: 13px;
- color: var(--TextSecondary);
- margin-bottom: 4px;
-}
-
-.GERPNotifyTime {
- font-size: 11px;
- color: var(--TextMuted);
-}
-
-/* 用户下拉菜单 */
-.GERPUserDropdown {
- position: fixed;
- width: 240px;
- background-color: var(--CardBackground);
- border-radius: 12px;
- box-shadow: var(--ShadowLg);
- z-index: 1100;
- opacity: 0;
- transform: translateY(-10px);
- pointer-events: none;
- transition: opacity var(--TransitionSpeed), transform var(--TransitionSpeed) ease;
- overflow: hidden;
-}
-
-.GERPUserDropdown.Show {
- opacity: 1;
- transform: translateY(0);
- pointer-events: auto;
-}
-
-.GERPUserDropdownHeader {
- display: flex;
- align-items: center;
- gap: 12px;
- padding: 16px 20px;
- background-color: var(--PrimaryAlpha10);
-}
-
-.GERPUserDropdownHeader > div:last-child {
- flex: 1;
- min-width: 0;
-}
-
-.GERPUserDropdownHeader img {
- width: 48px;
- height: 48px;
- border-radius: 50%;
-}
-
-.GERPUserDropdownName {
- font-weight: 600;
- color: var(--TextPrimary);
-}
-
-.GERPUserDropdownEmail {
- font-size: 12px;
- color: var(--TextSecondary);
- display: block;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-
-.GERPUserDropdownSignature {
- font-size: 11px;
- color: var(--TextMuted);
- margin-top: 4px;
- line-height: 1.4;
-}
-
-.GERPUserDropdownDivider {
- height: 1px;
- background-color: var(--BorderColor);
- margin: 8px 0;
-}
-
-.GERPUserDropdownItem {
- display: flex;
- align-items: center;
- gap: 12px;
- padding: 12px 20px;
- color: var(--TextPrimary);
- text-decoration: none;
- transition: background-color var(--TransitionSpeed);
-}
-
-.GERPUserDropdownItem:hover {
- background-color: var(--HoverBackground);
-}
-
-.GERPUserDropdownItem.Danger {
- color: var(--DangerColor);
-}
-
-/* Danger 项的图标也使用红色(覆盖通用 i 规则的 TextSecondary) */
-.GERPUserDropdownItem.Danger i {
- color: var(--DangerColor);
-}
-
-.GERPUserDropdownItem i {
- width: 20px;
- text-align: center;
- color: var(--TextSecondary);
-}
-
-/* 右键菜单 */
-.GERPContextMenu {
- position: fixed;
- min-width: 180px;
- background-color: var(--CardBackground);
- border-radius: 8px;
- box-shadow: var(--ShadowLg);
- z-index: 1000;
- padding: 0;
- opacity: 0;
- transform: translateY(-5px);
- pointer-events: none;
- transition: opacity var(--TransitionSpeed), transform var(--TransitionSpeed) ease;
-}
-
-.GERPContextMenu.Show {
- opacity: 1;
- transform: translateY(0);
- pointer-events: auto;
-}
-
-.GERPContextMenuItem {
- display: flex;
- align-items: center;
- gap: 10px;
- padding: 10px 16px;
- cursor: pointer;
- font-size: 13px;
- color: var(--TextPrimary);
- transition: background-color var(--TransitionSpeed);
-}
-
-.GERPContextMenuItem:hover {
- background-color: var(--BackgroundColor);
- color: var(--PrimaryColor);
-}
-
-.GERPContextMenuItem i {
- width: 16px;
- text-align: center;
- color: var(--TextSecondary);
-}
-
-.GERPContextMenuItem:first-child {
- border-top-left-radius: 8px;
- border-top-right-radius: 8px;
-}
-
-.GERPContextMenuItem:last-child {
- border-bottom-left-radius: 8px;
- border-bottom-right-radius: 8px;
-}
-
-.GERPContextMenuDivider {
- height: 1px;
- background-color: var(--BorderColor);
- /* margin: 1px 0; */
-}
-
-/* 拖放指示器 */
-.GERPDropIndicator {
- position: fixed;
- pointer-events: none;
- z-index: 9998;
- background-color: rgba(37, 99, 235, 0.1);
- border: 2px dashed var(--PrimaryColor);
- border-radius: 4px;
- opacity: 0;
- transition: opacity 0.2s;
-}
-
-.GERPDropIndicator.Show {
- opacity: 1;
-}
-
-.GERPDropIndicator[data-direction="left"] {
- border: 2px dashed var(--PrimaryColor);
- border-left: 4px solid var(--PrimaryColor);
- background: linear-gradient(to right, rgba(37, 99, 235, 0.2) 50%, transparent 50%);
-}
-
-.GERPDropIndicator[data-direction="right"] {
- border: 2px dashed var(--PrimaryColor);
- border-right: 4px solid var(--PrimaryColor);
- background: linear-gradient(to left, rgba(37, 99, 235, 0.2) 50%, transparent 50%);
-}
-
-.GERPDropIndicator[data-direction="top"] {
- border: 2px dashed var(--PrimaryColor);
- border-top: 4px solid var(--PrimaryColor);
- background: linear-gradient(to bottom, rgba(37, 99, 235, 0.2) 50%, transparent 50%);
-}
-
-.GERPDropIndicator[data-direction="bottom"] {
- border: 2px dashed var(--PrimaryColor);
- border-bottom: 4px solid var(--PrimaryColor);
- background: linear-gradient(to top, rgba(37, 99, 235, 0.2) 50%, transparent 50%);
-}
-
-/* Toggle Switch */
-.GERPToggle {
- position: relative;
- display: inline-block;
- width: 48px;
- height: 24px;
-}
-
-.GERPToggle input {
- opacity: 0;
- width: 0;
- height: 0;
-}
-
-.GERPToggleSlider {
- position: absolute;
- cursor: pointer;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- background-color: var(--BorderColor);
- transition: var(--TransitionSpeed);
- border-radius: 24px;
-}
-
-.GERPToggleSlider::before {
- position: absolute;
- content: '';
- height: 18px;
- width: 18px;
- left: 3px;
- bottom: 3px;
- background-color: white;
- transition: var(--TransitionSpeed);
- border-radius: 50%;
- box-shadow: var(--ShadowSm);
-}
-
-.GERPToggle input:checked + .GERPToggleSlider {
- background-color: var(--PrimaryColor);
-}
-
-.GERPToggle input:checked + .GERPToggleSlider::before {
- transform: translateX(24px);
-}
-
-/* 页面内容样式(用于 iframe 内的页面) */
-.GERPPage {
- padding: 24px;
- margin: 0 auto;
-}
-
-.GERPPageHeader {
- margin-bottom: 24px;
-}
-
-.GERPPageTitle {
- font-size: 24px;
- font-weight: 600;
- color: var(--TextPrimary);
- margin-bottom: 8px;
-}
-
-.GERPPageDesc {
- color: var(--TextSecondary);
-}
-
-
-
-/* 统计卡片网格 */
-
-
-
-
-/* 表格样式 */
-.GERPTable {
- width: 100%;
- border-collapse: collapse;
-}
-
-.GERPTable th,
-.GERPTable td {
- padding: 12px 16px;
- text-align: left;
- border-bottom: 1px solid var(--BorderColor);
-}
-
-.GERPTable th {
- font-weight: 600;
- color: var(--TextSecondary);
- font-size: 12px;
- text-transform: uppercase;
- letter-spacing: 0.5px;
- background-color: var(--BackgroundColor);
-}
-
-.GERPTable tr {
- transition: background-color var(--TransitionSpeed);
-}
-
-.GERPTable tr:hover td {
- background-color: rgba(37, 99, 235, 0.03);
-}
-
-.GERPTable td {
- color: var(--TextPrimary);
-}
-
-
-
-/* 响应式适配 */
-@media (max-width: 768px) {
- .GERPHeader {
- padding: 0 12px;
- }
-
- .GERPHeaderCenter {
- display: none;
- }
-
- .GERPLogoText {
- font-size: 16px;
- }
-
- .GERPSidebar {
- position: fixed;
- left: 0;
- top: var(--HeaderHeight);
- height: calc(100% - var(--HeaderHeight));
- z-index: 1051;
- transform: translateX(-100%);
- transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
- width: 280px;
- /* 确保flex布局知道侧边栏的存在 */
- visibility: hidden;
- }
-
- body.GERPSidebarOpen .GERPSidebar {
- visibility: visible;
- }
-
- .GERPUserName,
- .GERPUserArrow {
- display: none;
- }
-
- .GERPHeaderActions {
- gap: 4px;
- }
-
- .GERPTabBar {
- padding: 0 4px;
- }
-
- .GERPTabText {
- max-width: 80px;
- }
-
- .GERPStatsGrid {
- grid-template-columns: 1fr;
- gap: 12px;
- }
-
- .GERPPage {
- padding: 16px;
- }
-
- .GERPTable {
- display: block;
- overflow-x: auto;
- white-space: nowrap;
- }
-
- .GERPCard {
- padding: 16px;
- }
-
- .GERPStatCard {
- padding: 16px;
- }
-
- .GERPStatValue {
- font-size: 20px;
- }
-
- .GERPModal {
- padding-top: 60px;
- }
-
- .GERPModalContent {
- width: 95%;
- max-height: 70vh;
- }
-
- .GERPNotifyPanel {
- width: calc(100vw - 32px);
- left: 16px !important;
- right: 16px !important;
- }
-
- .GERPUserDropdown {
- width: calc(100vw - 32px);
- left: 16px !important;
- right: 16px !important;
- }
-
- .GERPSplitIndicators {
- grid-template-columns: repeat(3, 50px);
- grid-template-rows: repeat(3, 50px);
- }
-}
-
-/* 小屏幕手机适配 */
-@media (max-width: 480px) {
- .GERPHeaderRight {
- gap: 8px;
- }
-
- .GERPHeaderBtn {
- width: 32px;
- height: 32px;
- }
-
- .GERPLogoIcon {
- font-size: 20px;
- }
-
- .GERPUserAvatar {
- width: 28px;
- height: 28px;
- }
-
- .GERPTab {
- padding: 6px 8px;
- }
-
- .GERPTab i:first-child {
- display: none;
- }
-}
-
-
-
-/* ==================== 自定义选择框 ==================== */
-.GERPCustomSelect {
- position: relative;
- display: inline-block;
- min-width: 200px;
-}
-
-.GERPCustomSelectTrigger {
- height: 40px;
- padding: 0 40px 0 16px;
- border: 2px solid var(--BorderColor);
- border-radius: 10px;
- font-size: 14px;
- color: var(--TextPrimary);
- background-color: var(--CardBackground);
- cursor: pointer;
- display: flex;
- align-items: center;
- transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
- user-select: none;
- position: relative;
-}
-
-.GERPCustomSelectTrigger:hover {
- border-color: var(--PrimaryColor);
- box-shadow: 0 2px 8px rgba(37, 99, 235, 0.15);
-}
-
-.GERPCustomSelect.Open .GERPCustomSelectTrigger {
- border-color: var(--PrimaryColor);
-}
-
-.GERPCustomSelectTrigger::after {
- content: '';
- position: absolute;
- right: 18px;
- top: 50%;
- width: 8px;
- height: 8px;
- border-right: 2px solid var(--TextMuted);
- border-bottom: 2px solid var(--TextMuted);
- transform: translateY(-70%) rotate(45deg);
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
-}
-
-.GERPCustomSelect.Open .GERPCustomSelectTrigger::after {
- transform: translateY(-30%) rotate(225deg);
- border-color: var(--PrimaryColor);
-}
-
-.GERPCustomSelectDropdown {
- position: fixed;
- background-color: var(--CardBackground);
- border: 1px solid var(--BorderColor);
- border-radius: 12px;
- box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
- opacity: 0;
- transform: translateY(-10px);
- pointer-events: none;
- transition: all 0.2s ease;
- z-index: 10000;
- max-height: 280px;
- overflow-y: auto;
- padding: 8px;
- min-width: 200px;
-}
-
-.GERPCustomSelectDropdown::-webkit-scrollbar {
- width: 6px;
-}
-
-.GERPCustomSelectDropdown::-webkit-scrollbar-track {
- background: transparent;
- margin: 8px;
-}
-
-.GERPCustomSelectDropdown::-webkit-scrollbar-thumb {
- background: var(--BorderColor);
- border-radius: 3px;
-}
-
-.GERPCustomSelectDropdown.Open {
- opacity: 1;
- transform: translateY(0);
- pointer-events: auto;
-}
-
-.GERPCustomSelectOption {
- padding: 8px 12px;
- font-size: 13px;
- color: var(--TextPrimary);
- cursor: pointer;
- border-radius: 6px;
- transition: all 0.2s ease;
- display: flex;
- align-items: center;
- gap: 8px;
-}
-
-.GERPCustomSelectOption::before {
- content: '';
- width: 14px;
- height: 14px;
- border: 2px solid var(--BorderColor);
- border-radius: 50%;
- transition: all 0.2s ease;
- flex-shrink: 0;
-}
-
-.GERPCustomSelectOption:hover {
- background-color: var(--BackgroundColor);
-}
-
-.GERPCustomSelectOption.Selected {
- color: var(--PrimaryColor);
- font-weight: 500;
- background-color: rgba(37, 99, 235, 0.08);
-}
-
-.GERPCustomSelectOption.Selected::before {
- background-color: var(--PrimaryColor);
- border-color: var(--PrimaryColor);
- box-shadow: inset 0 0 0 3px var(--CardBackground);
-}
-
-.GERPCustomSelectOption.Disabled {
- opacity: 0.5;
- cursor: not-allowed;
- color: var(--TextMuted);
-}
-
-.GERPCustomSelectOption.Disabled:hover {
- background-color: transparent;
-}
-
-.GERPCustomSelectOption + .GERPCustomSelectOption {
- margin-top: 2px;
-}
-
-/* ==================== 复选框(高级动画) ==================== */
-
-/* 开关 */
-.GERPSwitch {
- position: relative;
- display: inline-block;
- width: 44px;
- height: 24px;
-}
-
-.GERPSwitch input {
- opacity: 0;
- width: 0;
- height: 0;
-}
-
-.GERPSwitchSlider {
- position: absolute;
- cursor: pointer;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- background-color: var(--BorderColor);
- border-radius: 24px;
- transition: background-color var(--TransitionSpeed);
-}
-
-.GERPSwitchSlider::before {
- position: absolute;
- content: "";
- height: 18px;
- width: 18px;
- left: 3px;
- bottom: 3px;
- background-color: white;
- border-radius: 50%;
- transition: transform var(--TransitionSpeed) ease;
- box-shadow: var(--ShadowSm);
-}
-
-.GERPSwitch:hover .GERPSwitchSlider::before {
- transform: scale(1.1);
-}
-
-.GERPSwitch input:checked + .GERPSwitchSlider {
- background-color: var(--PrimaryColor);
-}
-
-.GERPSwitch input:checked + .GERPSwitchSlider::before {
- transform: translateX(20px);
-}
-
-.GERPSwitch input:checked:hover + .GERPSwitchSlider::before {
- transform: translateX(20px) scale(1.1);
-}
-
-/* ==================== 选项卡 ==================== */
-.GERPTabs {
- display: flex;
- flex-direction: column;
-}
-
-.GERPTabList {
- display: flex;
- gap: 0;
- border-bottom: 1px solid var(--BorderColor);
-}
-
-.GERPTab {
- padding: 12px 24px;
- font-size: 14px;
- font-weight: 500;
- color: var(--TextSecondary);
- cursor: pointer;
- background: none;
- border: none;
- outline: none;
- position: relative;
- transition: color 0.3s ease;
-}
-
-.GERPTab:hover {
- color: var(--TextPrimary);
-}
-
-.GERPTab.Active {
- color: var(--PrimaryColor);
-}
-
-/* 渐变下划线 */
-.GERPTab::after {
- content: '';
- position: absolute;
- bottom: 0;
- left: 50%;
- width: 0;
- height: 2px;
- background: linear-gradient(90deg, var(--PrimaryColor), var(--PrimaryHover));
- transition: all 0.3s ease;
- transform: translateX(-50%);
-}
-
-.GERPTab.Active::after {
- width: 100%;
-}
-
-.GERPTabPanel {
- display: none;
- padding: 20px;
- opacity: 0;
- transition: opacity 0.3s ease;
-}
-
-.GERPTabPanel.Active {
- display: block;
- opacity: 1;
-}
-
-/* 胶囊式选项卡 */
-.GERPTabs.Pill .GERPTabList {
- border-bottom: none;
- background-color: var(--BackgroundColor);
- padding: 4px;
- border-radius: 10px;
- gap: 2px;
-}
-
-.GERPTabs.Pill .GERPTab {
- border-radius: 8px;
- padding: 8px 16px;
- transition: all 0.3s ease;
-}
-
-.GERPTabs.Pill .GERPTab.Active {
- background: linear-gradient(135deg, var(--PrimaryColor), var(--PrimaryHover));
- color: white;
-}
-
-.GERPTabs.Pill .GERPTab::after {
- display: none;
-}
-
-/* ==================== 统一日期时间选择器 ==================== */
-.GERPDateTimePicker {
- position: relative;
- display: inline-block;
-}
-
-.GERPDateTimePickerInput {
- height: 40px;
- padding: 0 40px 0 16px;
- border: 2px solid var(--BorderColor);
- border-radius: 10px;
- font-size: 14px;
- color: var(--TextPrimary);
- background-color: var(--CardBackground);
- cursor: pointer;
- display: flex;
- align-items: center;
- min-width: 160px;
- transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
- user-select: none;
-}
-
-.GERPDateTimePickerInput:hover {
- border-color: var(--PrimaryColor);
-}
-
-.GERPDateTimePickerInput::after {
- content: '';
- position: absolute;
- right: 16px;
- top: 50%;
- transform: translateY(-50%);
- width: 16px;
- height: 16px;
- background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E") center/contain no-repeat;
-}
-
-.GERPDateTimePicker.Open .GERPDateTimePickerInput {
- border-color: var(--PrimaryColor);
-}
-
-.GERPDateTimePickerDropdown {
- position: fixed;
- background-color: var(--CardBackground);
- border: 1px solid var(--BorderColor);
- border-radius: 12px;
- box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
- opacity: 0;
- transform: translateY(-15px) scale(0.96);
- transform-origin: top center;
- pointer-events: none;
- transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
- z-index: 10000;
- overflow: visible;
- min-width: 320px;
-}
-
-.GERPDateTimePickerDropdown.Open {
- opacity: 1;
- transform: translateY(0) scale(1);
- pointer-events: auto;
-}
-
-/* 左右分栏布局 */
-.GERPDTPContent {
- display: flex;
- min-width: 320px;
- flex-direction: row !important;
-}
-
-.GERPDateTimePicker[data-mode="datetime-range"] .GERPDTPContent {
- display: flex !important;
- flex-direction: row !important;
- min-width: 680px;
- width: auto;
-}
-
-.GERPDTPDateSection {
- padding: 16px;
-}
-
-.GERPDTPDateSection:not(:last-child) {
- border-right: 1px solid var(--BorderColor);
-}
-
-.GERPDTPTimeSection {
- padding: 16px;
- display: flex;
- flex-direction: column;
- align-items: center;
-}
-
-/* 时间选择器单独样式 */
-.GERPDateTimePicker[data-mode="time"] .GERPDTPContent,
-.GERPDateTimePicker[data-mode="time-range"] .GERPDTPContent {
- min-width: auto;
- width: auto;
- justify-content: center;
- padding: 0;
-}
-
-/* 范围面板基础样式 */
-.GERPDTPRangePanel {
- display: flex;
- flex-direction: row;
-}
-
-.GERPDTPRangePanel {
- display: flex;
- flex-direction: column;
-}
-
-.GERPDateTimePicker[data-mode="datetime-range"] .GERPDTPRangePanel {
- flex: 1;
- display: flex;
- flex-direction: column;
-}
-
-.GERPDateTimePicker[data-mode="datetime-range"] .GERPDTPRangePanel > div:first-child:not(.GERPDTPRangePanelTitle) {
- display: flex;
- flex-direction: row;
-}
-
-.GERPDateTimePicker[data-mode="datetime-range"] .GERPDTPRangePanel .GERPDTPDateSection {
- border-right: 1px solid var(--BorderColor);
- padding-right: 12px;
- margin-right: 12px;
-}
-
-.GERPDateTimePicker[data-mode="datetime-range"] .GERPDTPRangePanel .GERPDTPTimeSection {
- padding-top: 0;
- min-height: 160px;
-}
-
-.GERPDateTimePicker[data-mode="time"] .GERPDTPTimeSection,
-.GERPDateTimePicker[data-mode="time-range"] .GERPDTPTimeSection {
- padding: 12px;
-}
-
-/* 日期选择器单独样式 */
-.GERPDateTimePicker[data-mode="date"] .GERPDTPContent {
- min-width: 280px;
-}
-
-/* 日期范围选择器样式 */
-.GERPDateTimePicker[data-mode="date-range"] .GERPDTPContent {
- min-width: 560px;
-}
-
-/* 日期范围选择器不需要时间部分 */
-.GERPDateTimePicker[data-mode="date-range"] .GERPDTPDateSection {
- border-right: none;
-}
-
-.GERPDateTimePicker[data-mode="date-range"] .GERPDTPRangePanel {
- flex: 1;
-}
-
-/* 日期时间范围选择器样式 */
-.GERPDateTimePicker[data-mode="datetime-range"] .GERPDTPContent {
- min-width: 640px;
- max-width: 90vw;
-}
-
-.GERPDateTimePicker[data-mode="datetime-range"] .GERPDTPRangePanel {
- display: flex;
- flex-direction: row;
-}
-
-.GERPDateTimePicker[data-mode="datetime-range"] .GERPDTPRangePanel .GERPDTPDateSection {
- border-right: 1px solid var(--BorderColor);
- padding-right: 12px;
- margin-right: 12px;
-}
-
-.GERPDateTimePicker[data-mode="datetime-range"] .GERPDTPRangePanel .GERPDTPTimeSection {
- padding-top: 16px;
-}
-
-/* 日期部分 */
-.GERPDTPHeader {
- display: flex;
- justify-content: space-between;
- align-items: center;
- margin-bottom: 12px;
- padding-bottom: 12px;
- border-bottom: 1px solid var(--BorderColor);
-}
-
-.GERPDTPNav {
- display: flex;
- gap: 8px;
-}
-
-.GERPDTPNavBtn {
- width: 28px;
- height: 28px;
- border: none;
- background: var(--BackgroundColor);
- border-radius: 6px;
- cursor: pointer;
- display: flex;
- align-items: center;
- justify-content: center;
- transition: all 0.2s ease;
- padding: 0;
-}
-
-.GERPDTPNavBtn:hover {
- background: var(--PrimaryColor);
- color: white;
-}
-
-.GERPDTPNavBtn[data-action="prev-year"],
-.GERPDTPNavBtn[data-action="next-year"] {
- width: 24px;
- font-size: 10px;
-}
-
-.GERPDTPTitle {
- font-size: 15px;
- font-weight: 600;
- color: var(--TextPrimary);
-}
-
-.GERPDTPGrid {
- display: grid;
- grid-template-columns: repeat(7, 1fr);
- gap: 0;
-}
-
-.GERPDTPWeekday {
- text-align: center;
- font-size: 11px;
- color: var(--TextMuted);
- padding: 8px 0;
- font-weight: 500;
-}
-
-.GERPDTPDay {
- aspect-ratio: 1;
- min-height: 36px;
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 13px;
- color: var(--TextPrimary);
- cursor: pointer;
- transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
- pointer-events: auto;
- box-sizing: border-box;
- position: relative;
- z-index: 1;
- border-radius: 8px;
-}
-
-.GERPDTPDay:hover {
- background-color: var(--BackgroundColor);
-}
-
-.GERPDTPDay.OtherMonth {
- color: var(--TextMuted);
-}
-
-.GERPDTPDay.Today {
- color: var(--PrimaryColor);
- font-weight: 600;
-}
-
-.GERPDTPDay.Selected {
- background-color: var(--PrimaryColor);
- color: white;
-}
-
-.GERPDTPDay.InRange {
- background-color: rgba(37, 99, 235, 0.12);
- color: var(--PrimaryColor);
- border-radius: 0;
-}
-
-.GERPDTPDay.RangeStart,
-.GERPDTPDay.RangeEnd,
-.GERPDTPDay.RangeSingle {
- background-color: var(--PrimaryColor);
- color: white;
- position: relative;
- z-index: 2;
-}
-
-.GERPDTPDay.RangeSingle {
- border-radius: 8px;
-}
-
-.GERPDTPDay.RangeStart {
- border-top-left-radius: 8px;
- border-bottom-left-radius: 8px;
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
-}
-
-.GERPDTPDay.RangeEnd {
- border-top-right-radius: 8px;
- border-bottom-right-radius: 8px;
- border-top-left-radius: 0;
- border-bottom-left-radius: 0;
-}
-
-.GERPDTPDay.HoverRange {
- background-color: rgba(37, 99, 235, 0.15);
- color: var(--PrimaryColor);
- pointer-events: auto;
- border-radius: 0;
-}
-
-/* 时间选择部分 - 日历样式 */
-.GERPDTPTimeGrid {
- display: grid;
- grid-template-columns: repeat(3, 1fr);
- gap: 4px;
- max-height: 200px;
- overflow-y: auto;
- padding-right: 4px;
-}
-
-.GERPDTPTimeGrid::-webkit-scrollbar {
- width: 4px;
-}
-
-.GERPDTPTimeGrid::-webkit-scrollbar-thumb {
- background: var(--BorderColor);
- border-radius: 2px;
-}
-
-.GERPDTPTimeItem {
- width: 48px;
- height: 32px;
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 13px;
- color: var(--TextPrimary);
- border-radius: 6px;
- cursor: pointer;
- transition: all 0.15s ease;
-}
-
-.GERPDTPTimeItem:hover {
- background-color: var(--BackgroundColor);
-}
-
-.GERPDTPTimeItem.Selected {
- background-color: var(--PrimaryColor);
- color: white;
-}
-
-/* 时分秒选择器 - 修复样式 */
-.GERPDTPTimeSelector {
- display: flex;
- flex-direction: column;
- align-items: center;
- gap: 8px;
-}
-
-.GERPDTPTimeWheels {
- display: flex;
- align-items: center;
- gap: 4px;
-}
-
-.GERPDTPTimeWheelWrap {
- display: flex;
- flex-direction: column;
- align-items: center;
- gap: 6px;
-}
-
-.GERPDTPTimeWheel {
- width: 56px;
- height: 180px;
- overflow-y: auto;
- overflow-x: hidden;
- position: relative;
- border: 1px solid var(--BorderColor);
- border-radius: 8px;
- background: var(--CardBackground);
- scrollbar-width: none;
- -ms-overflow-style: none;
- padding: 70px 0;
-}
-
-.GERPDTPTimeWheel::-webkit-scrollbar {
- display: none;
-}
-
-.GERPDTPTimeWheel::before,
-.GERPDTPTimeWheel::after {
- content: '';
- position: absolute;
- left: 0;
- right: 0;
- height: 70px;
- pointer-events: none;
- z-index: 1;
-}
-
-.GERPDTPTimeWheel::before {
- top: 0;
- background: linear-gradient(to bottom, var(--CardBackground) 0%, transparent 100%);
-}
-
-.GERPDTPTimeWheel::after {
- bottom: 0;
- background: linear-gradient(to top, var(--CardBackground) 0%, transparent 100%);
-}
-
-.GERPDTPTimeWheelItem {
- height: 40px;
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 14px;
- color: var(--TextSecondary);
- cursor: pointer;
- transition: all 0.2s ease;
- flex-shrink: 0;
-}
-
-.GERPDTPTimeWheelItem:hover {
- color: var(--TextPrimary);
- background: var(--BackgroundColor);
-}
-
-/* ==================== 2FA 两步验证 ==================== */
-.GERP2FAStatus {
- display: flex;
- align-items: center;
- gap: 16px;
- padding: 16px 20px;
- border-radius: 12px;
- margin-bottom: 20px;
-}
-
-.GERP2FAStatus.Enabled {
- background: rgba(34, 197, 94, 0.08);
- border: 1px solid rgba(34, 197, 94, 0.2);
-}
-
-.GERP2FAStatus.Disabled {
- background: rgba(239, 68, 68, 0.06);
- border: 1px solid rgba(239, 68, 68, 0.15);
-}
-
-.GERP2FAStatusIcon {
- width: 44px;
- height: 44px;
- border-radius: 10px;
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 20px;
- flex-shrink: 0;
-}
-
-.GERP2FAStatus.Enabled .GERP2FAStatusIcon {
- background: rgba(34, 197, 94, 0.15);
- color: #22c55e;
-}
-
-.GERP2FAStatus.Disabled .GERP2FAStatusIcon {
- background: rgba(239, 68, 68, 0.1);
- color: #ef4444;
-}
-
-.GERP2FAStatusTitle {
- font-size: 15px;
- font-weight: 600;
- color: var(--TextPrimary);
- margin-bottom: 2px;
-}
-
-.GERP2FAStatusDesc {
- font-size: 13px;
- color: var(--TextSecondary);
- line-height: 1.4;
-}
-
-.GERP2FASection {
- margin-bottom: 20px;
-}
-
-.GERP2FASectionTitle {
- font-size: 14px;
- font-weight: 600;
- color: var(--TextPrimary);
- margin-bottom: 4px;
-}
-
-.GERP2FASectionDesc {
- font-size: 13px;
- color: var(--TextSecondary);
- margin-bottom: 12px;
-}
-
-.GERP2FAInputRow {
- display: flex;
- gap: 10px;
- align-items: center;
-}
-
-.GERP2FAInput {
- flex: 1;
- height: 44px;
- padding: 0 14px;
- border: 2px solid var(--BorderColor);
- border-radius: 8px;
- background: var(--CardBackground);
- color: var(--TextPrimary);
- font-size: 18px;
- letter-spacing: 4px;
- text-align: center;
- outline: none;
- transition: border-color 0.2s ease, box-shadow 0.2s ease;
- box-shadow: inset 0 1px 2px rgba(0,0,0,0.05);
-}
-
-.GERP2FAInput:focus {
- border-color: var(--PrimaryColor);
- box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
-}
-
-.GERPBtn.Danger {
- background: #ef4444;
- color: white;
- border: none;
- padding: 0 20px;
- height: 40px;
- border-radius: 8px;
- font-size: 14px;
- font-weight: 500;
- cursor: pointer;
- transition: all 0.2s ease;
- white-space: nowrap;
-}
-
-.GERPBtn.Danger:hover {
- background: #dc2626;
-}
-
-.GERPBtn.Danger:disabled {
- opacity: 0.5;
- cursor: not-allowed;
-}
-
-.GERPDTPTimeWheelItem.Selected {
- color: var(--PrimaryColor);
- font-weight: 600;
- font-size: 16px;
- background: rgba(37, 99, 235, 0.1);
-}
-
-.GERPDTPTimeWheelSeparator {
- font-size: 16px;
- font-weight: 600;
- color: var(--TextMuted);
- padding-top: 0;
-}
-
-.GERPDTPTimeWheelLabel {
- font-size: 11px;
- color: var(--TextMuted);
- font-weight: 500;
-}
-
-/* 单面板布局 */
-.GERPDTPSinglePanel {
- display: flex;
-}
-
-.GERPDTPSinglePanel .GERPDTPDateSection {
- border-right: 1px solid var(--BorderColor);
-}
-
-/* 日期选择器不需要时间部分 */
-.GERPDateTimePicker[data-mode="date"] .GERPDTPSinglePanel {
- display: block;
-}
-
-.GERPDateTimePicker[data-mode="date"] .GERPDTPDateSection {
- border-right: none;
-}
-
-/* 底部按钮 */
-.GERPDTPFooter {
- display: flex;
- justify-content: space-between;
- padding: 12px 16px;
- border-top: 1px solid var(--BorderColor);
- background: var(--CardBackground);
-}
-
-/* 范围选择器 - 双面板合并 */
-.GERPDateTimePicker.Range .GERPDateTimePickerDropdown {
- min-width: 560px;
-}
-
-.GERPDateTimePicker.Range .GERPDTPContent {
- display: flex;
- gap: 0;
-}
-
-.GERPDateTimePicker.Range .GERPDTPRangePanel {
- flex: 1;
- padding: 16px;
-}
-
-.GERPDateTimePicker.Range .GERPDTPRangePanel + .GERPDTPRangePanel {
- border-left: 1px solid var(--BorderColor);
-}
-
-.GERPDTPRangePanelTitle {
- font-size: 13px;
- color: var(--TextSecondary);
- margin-top: 20px;
- margin-bottom: 12px;
- text-align: center;
- font-weight: 600;
-}
-
-/* 范围选择器连接线 */
-.GERPDTPRangeConnector {
- position: absolute;
- height: 2px;
- background: linear-gradient(90deg, var(--PrimaryColor), var(--PrimaryHover));
- opacity: 0;
- transition: opacity 0.3s ease;
- pointer-events: none;
-}
-
-.GERPDateTimePicker.Range.ShowConnector .GERPDTPRangeConnector {
- opacity: 1;
-}
-
-.GERPDateTimeRangeSeparator {
- font-size: 14px;
- color: var(--TextMuted);
- font-weight: 500;
-}
-
-/* ==================== 进度指示 ==================== */
-
-/* 进度条 */
-.GERPProgress {
- height: 8px;
- background-color: var(--BackgroundColor);
- border-radius: 4px;
- overflow: hidden;
-}
-
-.GERPProgressBar {
- height: 100%;
- background: linear-gradient(90deg, var(--PrimaryColor), var(--PrimaryHover));
- border-radius: 4px;
- transition: width 0.5s ease;
-}
-
-/* 加载动画 */
-.GERPSpinner {
- width: 24px;
- height: 24px;
- border: 2px solid var(--BorderColor);
- border-top-color: var(--PrimaryColor);
- border-radius: 50%;
- animation: spin 0.8s linear infinite;
-}
-
-@keyframes spin {
- to {
- transform: rotate(360deg);
- }
-}
-
-/* ==================== 提示消息 ==================== */
-
-.GERPAlert {
- display: flex;
- align-items: center;
- gap: 12px;
- padding: 12px 16px;
- border-radius: 8px;
- font-size: 14px;
-}
-
-.GERPAlert.Success {
- background-color: rgba(16, 185, 129, 0.1);
- color: var(--SuccessColor);
-}
-
-.GERPAlert.Warning {
- background-color: rgba(245, 158, 11, 0.1);
- color: var(--WarningColor);
-}
-
-.GERPAlert.Danger {
- background-color: rgba(239, 68, 68, 0.1);
- color: var(--DangerColor);
-}
-
-.GERPAlert i {
- font-size: 16px;
-}
-
-/* ==================== 标签 ==================== */
-
-
-/* ==================== 卡片扩展 ==================== */
-
-.GERPCardBody {
- color: var(--TextSecondary);
- font-size: 14px;
- line-height: 1.6;
-}
-
-.GERPCardFooter {
- display: flex;
- align-items: center;
- justify-content: flex-end;
- gap: 12px;
- margin-top: 20px;
- padding-top: 16px;
- border-top: 1px solid var(--BorderColor);
-}
-
-
-/* ==================== 焦点波纹效果 ==================== */
-.GERPFocusRipple {
- position: absolute;
- border-radius: 50%;
- background-color: rgba(37, 99, 235, 0.15);
- pointer-events: none;
- animation: focusRipple 0.4s ease-out forwards;
- z-index: 0;
-}
-
-@keyframes focusRipple {
- 0% {
- transform: scale(0);
- opacity: 0.6;
- }
- 100% {
- transform: scale(1);
- opacity: 0;
- }
-}
-
-/* ==================== 滑块控件 ==================== */
-.GERPSlider {
- position: relative;
- width: 100%;
- height: 36px;
- display: flex;
- align-items: center;
-}
-
-.GERPSlider input[type="range"] {
- position: absolute;
- width: 100%;
- height: 100%;
- opacity: 0;
- cursor: pointer;
- z-index: 2;
-}
-
-.GERPSliderRail {
- position: absolute;
- width: 100%;
- height: 6px;
- background-color: var(--BorderColor);
- border-radius: 3px;
-}
-
-.GERPSliderTrack {
- position: absolute;
- height: 6px;
- background: linear-gradient(90deg, var(--PrimaryColor), var(--PrimaryHover));
- border-radius: 3px;
-}
-
-.GERPSliderThumb {
- position: absolute;
- width: 18px;
- height: 18px;
- background-color: white;
- border: 2px solid var(--PrimaryColor);
- border-radius: 50%;
- transform: translate(-50%, -50%);
- top: 50%;
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
- transition: transform 0.2s ease, box-shadow 0.2s ease;
-}
-
-.GERPSlider:hover .GERPSliderThumb {
- transform: translate(-50%, -50%) scale(1.2);
- box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
-}
-
-.GERPSliderValue {
- position: absolute;
- right: 0;
- font-size: 14px;
- color: var(--TextSecondary);
- min-width: 40px;
- text-align: right;
-}
-
-/* ==================== 数字输入框 ==================== */
-.GERPNumberInput {
- display: inline-flex;
- align-items: center;
- border: 2px solid var(--BorderColor);
- border-radius: 8px;
- overflow: hidden;
- background-color: var(--CardBackground);
- transition: border-color 0.3s ease;
-}
-
-.GERPNumberInput:focus-within {
- border-color: var(--PrimaryColor);
-}
-
-.GERPNumberInput input[type="number"] {
- width: 80px;
- height: 36px;
- border: none;
- text-align: center;
- font-size: 14px;
- color: var(--TextPrimary);
- background: transparent;
- outline: none;
- -moz-appearance: textfield;
-}
-
-.GERPNumberInput input[type="number"]::-webkit-outer-spin-button,
-.GERPNumberInput input[type="number"]::-webkit-inner-spin-button {
- -webkit-appearance: none;
- margin: 0;
-}
-
-.GERPNumberDecrease,
-.GERPNumberIncrease {
- width: 32px;
- height: 36px;
- border: none;
- background-color: var(--BackgroundColor);
- color: var(--TextSecondary);
- cursor: pointer;
- display: flex;
- align-items: center;
- justify-content: center;
- transition: all 0.2s ease;
-}
-
-.GERPNumberDecrease:hover,
-.GERPNumberIncrease:hover {
- background-color: var(--PrimaryColor);
- color: white;
-}
-
-.GERPNumberDecrease::before {
- content: '-';
- font-size: 16px;
- font-weight: 600;
-}
-
-.GERPNumberIncrease::before {
- content: '+';
- font-size: 16px;
- font-weight: 600;
-}
-
-/* ==================== 工具提示 ==================== */
-.GERPTooltip {
- position: fixed;
- padding: 8px 12px;
- background-color: var(--TextPrimary);
- color: white;
- font-size: 12px;
- border-radius: 6px;
- white-space: nowrap;
- z-index: 9999;
- opacity: 0;
- transform: translateY(-4px);
- transition: opacity 0.2s ease, transform 0.2s ease;
- pointer-events: none;
-}
-
-.GERPTooltip.Show {
- opacity: 1;
- transform: translateY(0);
-}
-
-.GERPTooltip::before {
- content: '';
- position: absolute;
- width: 0;
- height: 0;
- border-style: solid;
-}
-
-.GERPTooltipTop::before {
- bottom: -6px;
- left: 50%;
- transform: translateX(-50%);
- border-width: 6px 6px 0;
- border-color: var(--TextPrimary) transparent transparent;
-}
-
-.GERPTooltipBottom::before {
- top: -6px;
- left: 50%;
- transform: translateX(-50%);
- border-width: 0 6px 6px;
- border-color: transparent transparent var(--TextPrimary);
-}
-
-.GERPTooltipLeft::before {
- right: -6px;
- top: 50%;
- transform: translateY(-50%);
- border-width: 6px 0 6px 6px;
- border-color: transparent transparent transparent var(--TextPrimary);
-}
-
-.GERPTooltipRight::before {
- left: -6px;
- top: 50%;
- transform: translateY(-50%);
- border-width: 6px 6px 6px 0;
- border-color: transparent var(--TextPrimary) transparent transparent;
-}
-
-/* ==================== 步骤条 ==================== */
-.GERPSteps {
- display: flex;
- align-items: flex-start;
-}
-
-.GERPStep {
- display: flex;
- flex-direction: column;
- align-items: center;
- position: relative;
- flex: 1;
-}
-
-.GERPStepIcon {
- width: 32px;
- height: 32px;
- border-radius: 50%;
- background-color: var(--BackgroundColor);
- border: 2px solid var(--BorderColor);
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 13px;
- color: var(--TextSecondary);
- transition: all 0.3s ease;
- position: relative;
- z-index: 1;
-}
-
-.GERPStep.Active .GERPStepIcon {
- background-color: var(--PrimaryColor);
- border-color: var(--PrimaryColor);
- color: white;
- box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.15);
-}
-
-.GERPStep.Completed .GERPStepIcon {
- background-color: var(--SuccessColor);
- border-color: var(--SuccessColor);
- color: white;
-}
-
-.GERPStepTitle {
- margin-top: 8px;
- font-size: 13px;
- color: var(--TextSecondary);
- text-align: center;
- max-width: 100px;
- line-height: 1.4;
-}
-
-.GERPStep.Active .GERPStepTitle {
- color: var(--PrimaryColor);
- font-weight: 500;
-}
-
-.GERPStep.Completed .GERPStepTitle {
- color: var(--TextPrimary);
-}
-
-.GERPStepDesc {
- margin-top: 4px;
- font-size: 11px;
- color: var(--TextMuted);
- text-align: center;
- max-width: 120px;
-}
-
-.GERPStepLine {
- position: absolute;
- top: 16px;
- left: calc(50% + 20px);
- width: calc(100% - 40px);
- height: 2px;
- background-color: var(--BorderColor);
- z-index: 0;
- transition: background-color 0.3s ease;
-}
-
-.GERPStep.Completed .GERPStepLine {
- background-color: var(--SuccessColor);
-}
-
-.GERPStep:last-child .GERPStepLine {
- display: none;
-}
-
-/* 步骤条 - 简洁模式 */
-.GERPSteps.Simple .GERPStepIcon {
- width: 24px;
- height: 24px;
- font-size: 11px;
-}
-
-.GERPSteps.Simple .GERPStepTitle {
- font-size: 12px;
- margin-top: 6px;
-}
-
-.GERPSteps.Simple .GERPStepLine {
- top: 12px;
- left: calc(50% + 16px);
- width: calc(100% - 32px);
-}
-
-/* ==================== 树形控件 ==================== */
-.GERPTree {
- list-style: none;
- padding: 0;
- margin: 0;
-}
-
-.GERPTreeNode {
- position: relative;
-}
-
-.GERPTreeContent {
- display: flex;
- align-items: center;
- padding: 8px 12px;
- cursor: pointer;
- border-radius: 6px;
- transition: background-color 0.2s ease;
-}
-
-.GERPTreeContent:hover {
- background-color: var(--BackgroundColor);
-}
-
-.GERPTreeContent.Active {
- background-color: rgba(37, 99, 235, 0.1);
- color: var(--PrimaryColor);
-}
-
-.GERPTreeToggle {
- width: 20px;
- height: 20px;
- display: flex;
- align-items: center;
- justify-content: center;
- margin-right: 4px;
- cursor: pointer;
- transition: transform 0.2s ease;
-}
-
-.GERPTreeNode.Expanded > .GERPTreeContent .GERPTreeToggle {
- transform: rotate(90deg);
-}
-
-.GERPTreeChildren {
- list-style: none;
- padding-left: 24px;
- overflow: hidden;
- max-height: 0;
- transition: max-height 0.3s ease;
-}
-
-.GERPTreeNode.Expanded > .GERPTreeChildren {
- max-height: 1000px;
-}
-
-.GERPTreeIcon {
- margin-right: 8px;
- color: var(--TextSecondary);
-}
-
-/* ==================== 分页器 ==================== */
-.GERPPagination {
- display: inline-flex;
- align-items: center;
- gap: 4px;
-}
-
-.GERPPaginationBtn {
- min-width: 32px;
- height: 32px;
- padding: 0 8px;
- border: 1px solid var(--BorderColor);
- background-color: var(--CardBackground);
- color: var(--TextSecondary);
- border-radius: 6px;
- cursor: pointer;
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 14px;
- transition: all 0.2s ease;
-}
-
-.GERPPaginationBtn:hover:not(:disabled) {
- border-color: var(--PrimaryColor);
- color: var(--PrimaryColor);
-}
-
-.GERPPaginationBtn.Active {
- background-color: var(--PrimaryColor);
- border-color: var(--PrimaryColor);
- color: white;
-}
-
-.GERPPaginationBtn:disabled {
- opacity: 0.5;
- cursor: not-allowed;
-}
-
-.GERPPaginationEllipsis {
- padding: 0 8px;
- color: var(--TextMuted);
-}
-
-/* ==================== 评分组件 ==================== */
-.GERPRate {
- display: inline-flex;
- align-items: center;
- gap: 4px;
-}
-
-.GERPRateItem {
- font-size: 20px;
- color: var(--BorderColor);
- cursor: pointer;
- transition: color 0.2s ease, transform 0.2s ease;
-}
-
-.GERPRateItem:hover,
-.GERPRateItem.Active {
- color: var(--WarningColor);
-}
-
-.GERPRateItem:hover {
- transform: scale(1.2);
-}
-
-.GERPRateText {
- margin-left: 8px;
- font-size: 14px;
- color: var(--TextSecondary);
-}
-
-/* ==================== 颜色选择器 ==================== */
-.GERPColorPicker {
- position: relative;
- display: inline-block;
-}
-
-.GERPColorPickerTrigger {
- width: 40px;
- height: 40px;
- border: 2px solid var(--BorderColor);
- border-radius: 8px;
- cursor: pointer;
- transition: border-color 0.2s ease, transform 0.2s ease;
-}
-
-.GERPColorPickerTrigger:hover {
- border-color: var(--PrimaryColor);
- transform: scale(1.05);
-}
-
-.GERPColorPickerDropdown {
- position: absolute;
- top: calc(100% + 8px);
- left: 0;
- background-color: var(--CardBackground);
- border: 1px solid var(--BorderColor);
- border-radius: 12px;
- box-shadow: var(--ShadowLg);
- padding: 16px;
- z-index: 1000;
- opacity: 0;
- transform: translateY(-10px);
- pointer-events: none;
- transition: all 0.2s ease;
-}
-
-.GERPColorPicker.Open .GERPColorPickerDropdown {
- opacity: 1;
- transform: translateY(0);
- pointer-events: auto;
-}
-
-.GERPColorPalette {
- display: flex;
-}
-
-.GERPColorOption {
- width: 24px;
- height: 24px;
- border-radius: 4px;
- cursor: pointer;
- transition: transform 0.2s ease;
- border: 2px solid transparent;
-}
-
-.GERPColorOption:hover {
- transform: scale(1.2);
- border-color: var(--TextPrimary);
-}
-
-/* ==================== 穿梭框 ==================== */
-.GERPTransfer {
- display: flex;
- align-items: center;
- gap: 16px;
-}
-
-.GERPTransferPanel {
- flex: 1;
- border: 1px solid var(--BorderColor);
- border-radius: 8px;
- background-color: var(--CardBackground);
-}
-
-.GERPTransferHeader {
- padding: 12px 16px;
- border-bottom: 1px solid var(--BorderColor);
- font-weight: 500;
- display: flex;
- align-items: center;
- justify-content: space-between;
-}
-
-.GERPTransferList {
- list-style: none;
- padding: 8px 0;
- margin: 0;
- max-height: 240px;
- overflow-y: auto;
-}
-
-.GERPTransferItem {
- padding: 10px 16px;
- cursor: pointer;
- transition: background-color 0.2s ease;
- display: flex;
- align-items: center;
- gap: 8px;
-}
-
-.GERPTransferItem:hover {
- background-color: var(--BackgroundColor);
-}
-
-.GERPTransferItem.Selected {
- background-color: rgba(37, 99, 235, 0.1);
- color: var(--PrimaryColor);
-}
-
-.GERPTransferOperations {
- display: flex;
- flex-direction: column;
- gap: 8px;
-}
-
-.GERPTransferBtn {
- width: 36px;
- height: 36px;
- border: 1px solid var(--BorderColor);
- background-color: var(--CardBackground);
- border-radius: 6px;
- cursor: pointer;
- display: flex;
- align-items: center;
- justify-content: center;
- color: var(--TextSecondary);
- transition: all 0.2s ease;
-}
-
-.GERPTransferBtn:hover:not(:disabled) {
- border-color: var(--PrimaryColor);
- color: var(--PrimaryColor);
-}
-
-.GERPTransferBtn:disabled {
- opacity: 0.5;
- cursor: not-allowed;
-}
-
-/* ==================== Toast 提示层组件 ==================== */
-
-.gerp-toast {
- position: fixed;
- top: 20px;
- right: 20px;
- display: flex;
- align-items: center;
- gap: 12px;
- padding: 14px 20px;
- background: var(--CardBackground);
- border-radius: 10px;
- box-shadow: var(--ShadowLg);
- border: 1px solid var(--BorderColor);
- transform: translateX(120%);
- opacity: 0;
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
- z-index: 99999;
-}
-
-.gerp-toast.show {
- transform: translateX(0);
- opacity: 1;
-}
-
-.gerp-toast.fade-up {
- top: -100px;
-}
-
-.gerp-toast.fade-up.show {
- top: 20px;
-}
-
-.gerp-toast-icon {
- font-size: 20px;
- flex-shrink: 0;
-}
-
-.gerp-toast-icon .fa-check-circle {
- color: var(--SuccessColor);
-}
-
-.gerp-toast-icon .fa-times-circle {
- color: var(--DangerColor);
-}
-
-.gerp-toast-icon .fa-exclamation-circle {
- color: var(--WarningColor);
-}
-
-.gerp-toast-icon .fa-info-circle {
- color: var(--PrimaryColor);
-}
-
-.gerp-toast-text {
- font-size: 14px;
- color: var(--TextPrimary);
- line-height: 1.5;
-}
-
-/* Toast 位置 */
-.gerp-toast.top-left {
- top: 20px;
- left: 20px;
- right: auto;
- transform: translateX(-120%);
-}
-
-.gerp-toast.top-left.show {
- transform: translateX(0);
-}
-
-.gerp-toast.top-center {
- top: 20px;
- left: 50%;
- right: auto;
- transform: translate(-50%, -120%);
-}
-
-.gerp-toast.top-center.show {
- transform: translate(-50%, 0);
-}
-
-.gerp-toast.bottom-left {
- top: auto;
- bottom: 20px;
- left: 20px;
- right: auto;
- transform: translateX(-120%);
-}
-
-.gerp-toast.bottom-left.show {
- transform: translateX(0);
-}
-
-.gerp-toast.bottom-center {
- top: auto;
- bottom: 20px;
- left: 50%;
- right: auto;
- transform: translate(-50%, 120%);
-}
-
-.gerp-toast.bottom-center.show {
- transform: translate(-50%, 0);
-}
-
-.gerp-toast.bottom-right {
- top: auto;
- bottom: 20px;
- right: 20px;
- transform: translateX(120%);
-}
-
-.gerp-toast.bottom-right.show {
- transform: translateX(0);
-}
-
-/* 确认对话框样式 */
- flex-direction: column;
- align-items: center;
- text-align: center;
- padding: 16px 0;
-}
-
-}
-
-.GERPConfirmMessage {
- font-size: 15px;
- color: var(--TextPrimary);
- line-height: 1.6;
- margin: 0;
-}
-
-/* 输入对话框样式 */
-}
-
-.GERPPromptMessage {
- font-size: 14px;
- color: var(--TextSecondary);
- margin-bottom: 16px;
- line-height: 1.5;
-}
-
-/* ==================== Drawer 抽屉组件 ==================== */
-
-.GERPDrawer {
- position: fixed;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- z-index: 10000;
- pointer-events: none;
- overflow: hidden;
-}
-
-.GERPDrawer.Show {
- pointer-events: auto;
-}
-
-.GERPDrawerMask {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- background: rgba(0, 0, 0, 0.5);
- opacity: 0;
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
-}
-
-.GERPDrawer.Show .GERPDrawerMask {
- opacity: 1;
-}
-
-.GERPDrawerContent {
- position: absolute;
- background: var(--CardBackground);
- box-shadow: var(--ShadowLg);
- display: flex;
- flex-direction: column;
- transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
-}
-
-/* 右侧抽屉 */
-.GERPDrawerRight .GERPDrawerContent {
- top: 0;
- right: 0;
- height: 100%;
- width: 400px;
- transform: translateX(100%);
-}
-
-.GERPDrawerRight.Show .GERPDrawerContent {
- transform: translateX(0);
-}
-
-/* 左侧抽屉 */
-.GERPDrawerLeft .GERPDrawerContent {
- top: 0;
- left: 0;
- height: 100%;
- width: 400px;
- transform: translateX(-100%);
-}
-
-.GERPDrawerLeft.Show .GERPDrawerContent {
- transform: translateX(0);
-}
-
-/* 顶部抽屉 */
-.GERPDrawerTop .GERPDrawerContent {
- top: 0;
- left: 0;
- width: 100%;
- height: 300px;
- transform: translateY(-100%);
-}
-
-.GERPDrawerTop.Show .GERPDrawerContent {
- transform: translateY(0);
-}
-
-/* 底部抽屉 */
-.GERPDrawerBottom .GERPDrawerContent {
- bottom: 0;
- left: 0;
- width: 100%;
- height: 300px;
- transform: translateY(100%);
-}
-
-.GERPDrawerBottom.Show .GERPDrawerContent {
- transform: translateY(0);
-}
-
-.GERPDrawerHeader {
- display: flex;
- align-items: center;
- justify-content: space-between;
- padding: 20px 24px;
- border-bottom: 1px solid var(--BorderColor);
- flex-shrink: 0;
- cursor: move;
- user-select: none;
-}
-
-/* 手机端抽屉标题不显示拖动光标 */
-@media (max-width: 768px) {
- .GERPDrawerHeader {
- cursor: default;
- }
-}
-
-.GERPDrawerTitle {
- font-size: 18px;
- font-weight: 600;
- color: var(--TextPrimary);
- margin: 0;
-}
-
-.GERPDrawerClose {
- width: 32px;
- height: 32px;
- border: none;
- background: transparent;
- border-radius: 8px;
- cursor: pointer;
- color: var(--TextSecondary);
- display: flex;
- align-items: center;
- justify-content: center;
- transition: all 0.2s ease;
-}
-
-.GERPDrawerClose:hover {
- background: var(--BackgroundColor);
- color: var(--DangerColor);
-}
-
-.GERPDrawerBody {
- flex: 1;
- padding: 24px;
- overflow-y: auto;
-}
-
-.GERPDrawerFooter {
- display: flex;
- align-items: center;
- justify-content: flex-end;
- gap: 12px;
- padding: 16px 24px;
- border-top: 1px solid var(--BorderColor);
- background: var(--BackgroundColor);
- flex-shrink: 0;
-}
-
-/* ==================== Loading 加载层组件 ==================== */
-
-.GERPLoading {
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- background: rgba(255, 255, 255, 0.9);
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- gap: 16px;
- z-index: 1000;
- opacity: 0;
- transition: opacity 0.25s ease;
-}
-
-.GERPLoading.Show {
- opacity: 1;
-}
-
-.GERPLoading.Hide {
- opacity: 0;
- pointer-events: none;
-}
-
-.GERPLoading.Fullscreen {
- position: fixed;
- z-index: 10001;
- background: rgba(255, 255, 255, 0.95);
-}
-
-.GERPLoadingSpinner {
- width: 48px;
- height: 48px;
- border: 3px solid var(--BorderColor);
- border-top-color: var(--PrimaryColor);
- border-radius: 50%;
- animation: loadingSpin 0.8s linear infinite;
-}
-
-@keyframes loadingSpin {
- to {
- transform: rotate(360deg);
- }
-}
-
-.GERPLoadingText {
- font-size: 14px;
- color: var(--TextSecondary);
-}
-
-/* ==================== PopConfirm 气泡确认框组件 ==================== */
-
-.GERPPopConfirm {
- position: fixed;
- background: var(--CardBackground);
- border-radius: 12px;
- box-shadow: var(--ShadowLg);
- padding: 16px;
- z-index: 10002;
- min-width: 220px;
- opacity: 0;
- transform: scale(0.9);
- transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
-}
-
-.GERPPopConfirm.Show {
- opacity: 1;
- transform: scale(1);
-}
-
-.GERPPopConfirmContent {
- display: flex;
- align-items: center;
- gap: 10px;
- margin-bottom: 16px;
-}
-
-.GERPPopConfirmContent i {
- color: var(--WarningColor);
- font-size: 18px;
-}
-
-.GERPPopConfirmTitle {
- font-size: 14px;
- color: var(--TextPrimary);
- font-weight: 500;
-}
-
-.GERPPopConfirmActions {
- display: flex;
- align-items: center;
- justify-content: flex-end;
- gap: 8px;
-}
-
-/* ==================== 折叠面板组件 ==================== */
-.GERPCollapse {
- border: 1px solid var(--BorderColor);
- border-radius: 8px;
- background: var(--CardBackground);
- overflow: hidden;
-}
-
-.GERPCollapseItem {
- border-bottom: 1px solid var(--BorderColor);
-}
-
-.GERPCollapseItem:last-child {
- border-bottom: none;
-}
-
-.GERPCollapseHeader {
- display: flex;
- align-items: center;
- justify-content: space-between;
- padding: 14px 16px;
- cursor: pointer;
- transition: background-color 0.2s ease;
- user-select: none;
-}
-
-.GERPCollapseHeader:hover {
- background-color: var(--BackgroundColor);
-}
-
-.GERPCollapseTitle {
- font-size: 14px;
- font-weight: 500;
- color: var(--TextPrimary);
-}
-
-.GERPCollapseIcon {
- font-size: 12px;
- color: var(--TextSecondary);
- transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
-}
-
-.GERPCollapseContent {
- max-height: 0;
- overflow: hidden;
- padding: 0 16px;
- transition: max-height 0.25s cubic-bezier(0.4, 0, 0.2, 1);
- will-change: max-height;
-}
-
-.GERPCollapseItem.Active .GERPCollapseContent {
- max-height: 1000px;
- padding: 0 16px 16px;
-}
-
-.GERPCollapseInner {
- color: var(--TextSecondary);
- font-size: 14px;
- line-height: 1.6;
-}
-
-/* 手风琴模式 */
-.GERPAccordion .GERPCollapseItem.Active .GERPCollapseHeader {
- background-color: rgba(37, 99, 235, 0.05);
-}
-
-/* ==================== 轮播图组件 ==================== */
-.GERPCarousel {
- position: relative;
- overflow: hidden;
- border-radius: 12px;
- background: var(--BackgroundColor);
-}
-
-.GERPCarouselTrack {
- display: flex;
- transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
-}
-
-.GERPCarouselItem {
- flex: 0 0 100%;
- min-height: 200px;
- display: flex;
- align-items: center;
- justify-content: center;
- background: linear-gradient(135deg, var(--PrimaryColor), var(--PrimaryHover));
- color: white;
- font-size: 24px;
- font-weight: 600;
-}
-
-.GERPCarouselItem img {
- width: 100%;
- height: 100%;
- object-fit: cover;
-}
-
-.GERPCarouselPrev,
-.GERPCarouselNext {
- position: absolute;
- top: 50%;
- transform: translateY(-50%);
- width: 40px;
- height: 40px;
- border: none;
- border-radius: 50%;
- background: rgba(255, 255, 255, 0.9);
- color: var(--TextPrimary);
- cursor: pointer;
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 16px;
- transition: all 0.2s ease;
- z-index: 2;
- box-shadow: var(--ShadowMd);
-}
-
-.GERPCarouselPrev:hover,
-.GERPCarouselNext:hover {
- background: white;
- transform: translateY(-50%) scale(1.1);
-}
-
-.GERPCarouselPrev {
- left: 16px;
-}
-
-.GERPCarouselNext {
- right: 16px;
-}
-
-.GERPCarouselDots {
- position: absolute;
- bottom: 16px;
- left: 50%;
- transform: translateX(-50%);
- display: flex;
- gap: 8px;
- z-index: 2;
-}
-
-.GERPCarouselDot {
- width: 8px;
- height: 8px;
- border-radius: 50%;
- background: rgba(255, 255, 255, 0.5);
- cursor: pointer;
- transition: all 0.3s ease;
-}
-
-.GERPCarouselDot.Active {
- background: white;
- width: 24px;
- border-radius: 4px;
-}
-
-/* ==================== 下拉菜单组件 ==================== */
-.GERPDropdown {
- position: relative;
- display: inline-block;
-}
-
-.GERPDropdownTrigger {
- cursor: pointer;
-}
-
-.GERPDropdownMenu {
- position: absolute;
- top: calc(100% + 8px);
- left: 0;
- min-width: 180px;
- background: var(--CardBackground);
- border: 1px solid var(--BorderColor);
- border-radius: 8px;
- box-shadow: var(--ShadowLg);
- padding: 6px 0;
- opacity: 0;
- transform: translateY(-5px);
- pointer-events: none;
- transition: all 0.15s ease;
- z-index: 1000;
-}
-
-.GERPDropdown.Open .GERPDropdownMenu {
- opacity: 1;
- transform: translateY(0);
- pointer-events: auto;
-}
-
-.GERPDropdownMenuItem {
- display: flex;
- align-items: center;
- gap: 10px;
- padding: 10px 16px;
- cursor: pointer;
- font-size: 14px;
- color: var(--TextPrimary);
- transition: background-color 0.2s ease;
-}
-
-.GERPDropdownMenuItem:hover {
- background-color: var(--BackgroundColor);
- color: var(--PrimaryColor);
-}
-
-.GERPDropdownMenuItem:first-child {
- border-top-left-radius: 8px;
- border-top-right-radius: 8px;
-}
-
-.GERPDropdownMenuItem:last-child {
- border-bottom-left-radius: 8px;
- border-bottom-right-radius: 8px;
-}
-
-.GERPDropdownMenuItem:first-child:hover {
- background-color: var(--BackgroundColor);
-}
-
-.GERPDropdownMenuItem:last-child:hover {
- background-color: var(--BackgroundColor);
-}
-
-.GERPDropdownMenuItem i {
- width: 16px;
- text-align: center;
- color: var(--TextSecondary);
-}
-
-.GERPDropdownMenuItem:hover i {
- color: var(--PrimaryColor);
-}
-
-.GERPDropdownMenuDivider {
- height: 1px;
- background-color: var(--BorderColor);
- margin: 6px 0;
-}
-
-/* 级联菜单 */
-.GERPDropdownMenuItem.Cascading {
- position: relative;
-}
-
-.GERPDropdownMenuItem.Cascading::after {
- content: '\f054';
- font-family: 'Font Awesome 6 Free';
- font-weight: 900;
- font-size: 10px;
- margin-left: auto;
- color: var(--TextMuted);
-}
-
-/* ==================== 回到顶部组件 ==================== */
-.GERPBackTop {
- position: fixed;
- right: 24px;
- bottom: 24px;
- width: 44px;
- height: 44px;
- border: none;
- border-radius: 50%;
- background: var(--PrimaryColor);
- color: white;
- cursor: pointer;
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 18px;
- box-shadow: var(--ShadowLg);
- opacity: 0;
- transform: translateY(20px) scale(0.8);
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
- z-index: 999;
- pointer-events: none;
-}
-
-.GERPBackTop.Show {
- opacity: 1;
- transform: translateY(0) scale(1);
- pointer-events: auto;
-}
-
-.GERPBackTop:hover {
- transform: scale(1.1);
- background: var(--PrimaryHover);
-}
-
-/* ==================== 图片预览组件 ==================== */
-.GERPImagePreview {
- cursor: zoom-in;
- transition: transform 0.2s ease;
-}
-
-.GERPImagePreview:hover {
- transform: scale(1.02);
-}
-
-.GERPImagePreviewOverlay {
- position: fixed;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- z-index: 10000;
- display: flex;
- align-items: center;
- justify-content: center;
- opacity: 0;
- pointer-events: none;
- transition: opacity 0.3s ease;
-}
-
-.GERPImagePreviewOverlay.Show {
- opacity: 1;
- pointer-events: auto;
-}
-
-.GERPImagePreviewMask {
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- background: rgba(0, 0, 0, 0.85);
- backdrop-filter: blur(4px);
-}
-
-.GERPImagePreviewImg {
- position: relative;
- max-width: 90%;
- max-height: 90%;
- object-fit: contain;
- border-radius: 8px;
- transform: scale(0.9);
- transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
-}
-
-.GERPImagePreviewOverlay.Show .GERPImagePreviewImg {
- transform: scale(1);
-}
-
-.GERPImagePreviewClose {
- position: absolute;
- top: 24px;
- right: 24px;
- width: 44px;
- height: 44px;
- border: none;
- border-radius: 50%;
- background: rgba(255, 255, 255, 0.1);
- color: white;
- cursor: pointer;
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 18px;
- transition: all 0.2s ease;
- z-index: 1;
-}
-
-.GERPImagePreviewClose:hover {
- background: rgba(255, 255, 255, 0.2);
- transform: rotate(90deg);
-}
-
-/* ==================== 高级模态框 ==================== */
-.GERPAdvancedModal .GERPModalWrapper {
- max-width: 90vw;
- max-height: 90vh;
- overflow: hidden;
-}
-
-.GERPAdvancedModal .GERPModalContent {
- display: flex;
- flex-direction: column;
- max-height: 85vh;
-}
-
-.GERPAdvancedModal .GERPModalBody {
- flex: 1;
- overflow-y: auto;
- padding: 24px;
-}
-
-.GERPAdvancedModal .GERPModalFooter {
- padding: 16px 24px;
- border-top: 1px solid var(--BorderColor);
- background: var(--BackgroundColor);
-}
-
-/* ==================== 骨架屏组件 ==================== */
-.GERPSkeleton {
- padding: 16px;
-}
-
-.GERPSkeletonRow {
- display: flex;
- gap: 16px;
- margin-bottom: 24px;
-}
-
-.GERPSkeletonRow:last-child {
- margin-bottom: 0;
-}
-
-.GERPSkeletonAvatar {
- width: 48px;
- height: 48px;
- border-radius: 50%;
- background: linear-gradient(90deg, var(--BackgroundColor) 25%, var(--BorderColor) 50%, var(--BackgroundColor) 75%);
- background-size: 200% 100%;
- animation: skeletonLoading 1.5s infinite;
-}
-
-.GERPSkeletonContent {
- flex: 1;
-}
-
-.GERPSkeletonTitle {
- height: 16px;
- width: 40%;
- border-radius: 4px;
- background: linear-gradient(90deg, var(--BackgroundColor) 25%, var(--BorderColor) 50%, var(--BackgroundColor) 75%);
- background-size: 200% 100%;
- animation: skeletonLoading 1.5s infinite;
- margin-bottom: 12px;
-}
-
-.GERPSkeletonLine {
- height: 12px;
- width: 100%;
- border-radius: 4px;
- background: linear-gradient(90deg, var(--BackgroundColor) 25%, var(--BorderColor) 50%, var(--BackgroundColor) 75%);
- background-size: 200% 100%;
- animation: skeletonLoading 1.5s infinite;
- margin-bottom: 8px;
-}
-
-.GERPSkeletonLine.Short {
- width: 60%;
-}
-
-@keyframes skeletonLoading {
- 0% { background-position: 200% 0; }
- 100% { background-position: -200% 0; }
-}
-
-/* ==================== 空状态组件 ==================== */
-.GERPEmpty {
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- padding: 48px 24px;
- text-align: center;
-}
-
-.GERPEmptyIcon {
- font-size: 64px;
- color: var(--BorderColor);
- margin-bottom: 16px;
-}
-
-.GERPEmptyTitle {
- font-size: 16px;
- font-weight: 500;
- color: var(--TextPrimary);
- margin-bottom: 8px;
-}
-
-.GERPEmptyDescription {
- font-size: 14px;
- color: var(--TextSecondary);
- max-width: 300px;
- line-height: 1.5;
-}
-
-/* ==================== 水印组件 ==================== */
-.GERPWatermark {
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- pointer-events: none;
- z-index: 9999;
- background-repeat: repeat;
-}
-
-/* ==================== 进度环组件 ==================== */
-.GERPProgressRing {
- position: relative;
- display: inline-flex;
- align-items: center;
- justify-content: center;
-}
-
-.GERPProgressRing svg {
- transform: rotate(-90deg);
-}
-
-.GERPProgressRingTrack {
- fill: none;
- stroke: var(--BackgroundColor);
-}
-
-.GERPProgressRingPath {
- fill: none;
- stroke-linecap: round;
- transition: stroke-dashoffset 0.5s ease;
-}
-
-.GERPProgressRingText {
- position: absolute;
- font-size: 18px;
- font-weight: 600;
- color: var(--TextPrimary);
-}
-
-/* ==================== 时间轴组件 ==================== */
-.GERPTimeline {
- position: relative;
- padding-left: 24px;
-}
-
-.GERPTimeline::before {
- content: '';
- position: absolute;
- left: 7px;
- top: 8px;
- bottom: 8px;
- width: 2px;
- background: var(--BorderColor);
-}
-
-.GERPTimelineItem {
- position: relative;
- padding-bottom: 24px;
-}
-
-.GERPTimelineItem:last-child {
- padding-bottom: 0;
-}
-
-.GERPTimelineDot {
- position: absolute;
- left: -20px;
- top: 4px;
- width: 12px;
- height: 12px;
- border-radius: 50%;
- background: var(--PrimaryColor);
- border: 2px solid var(--CardBackground);
- box-shadow: 0 0 0 2px var(--PrimaryColor);
-}
-
-.GERPTimelineItem.Success .GERPTimelineDot {
- background: var(--SuccessColor);
- box-shadow: 0 0 0 2px var(--SuccessColor);
-}
-
-.GERPTimelineItem.Warning .GERPTimelineDot {
- background: var(--WarningColor);
- box-shadow: 0 0 0 2px var(--WarningColor);
-}
-
-.GERPTimelineItem.Error .GERPTimelineDot {
- background: var(--DangerColor);
- box-shadow: 0 0 0 2px var(--DangerColor);
-}
-
-.GERPTimelineContent {
- background: var(--CardBackground);
- padding: 12px 16px;
- border-radius: 8px;
- border: 1px solid var(--BorderColor);
-}
-
-.GERPTimelineTime {
- font-size: 12px;
- color: var(--TextMuted);
- margin-bottom: 4px;
-}
-
-.GERPTimelineTitle {
- font-size: 14px;
- font-weight: 500;
- color: var(--TextPrimary);
- margin-bottom: 4px;
-}
-
-.GERPTimelineDescription {
- font-size: 13px;
- color: var(--TextSecondary);
- line-height: 1.5;
-}
-
-/* ==================== 徽标数组件 ==================== */
-.GERPBadge {
- display: inline-flex;
- align-items: center;
- justify-content: center;
- padding: 2px 8px;
- font-size: 11px;
- font-weight: 600;
- border-radius: 10px;
- line-height: 1.2;
- white-space: nowrap;
- color: white;
- text-align: center;
- box-sizing: border-box;
-}
-
-.GERPHeaderBtn .GERPBadge {
- position: absolute;
- top: -4px;
- right: -4px;
- min-width: 18px;
- height: 18px;
- padding: 0 5px;
- background: var(--DangerColor);
- color: white;
- font-size: 10px;
- font-weight: 600;
- border-radius: 9px;
- line-height: 1;
- transform: translate(-2px, 5px);
-}
-
-.GERPBadgeDot {
- position: relative;
- display: inline-block;
-}
-
-.GERPBadgeDot::after {
- content: '';
- position: absolute;
- top: -4px;
- right: -4px;
- width: 8px;
- height: 8px;
- border-radius: 50%;
- background: var(--DangerColor);
- border: 2px solid var(--CardBackground);
-}
-
-.GERPBadgeCount {
- position: relative;
- display: inline-flex;
-}
-
-.GERPBadgeCount .Count {
- position: absolute;
- top: -8px;
- right: -8px;
- min-width: 18px;
- height: 18px;
- padding: 0 5px;
- background: var(--DangerColor);
- color: white;
- font-size: 11px;
- font-weight: 600;
- border-radius: 9px;
- display: flex;
- align-items: center;
- justify-content: center;
- border: 2px solid var(--CardBackground);
-}
-
-/* ==================== 分割线组件 ==================== */
-.GERPDivider {
- display: flex;
- align-items: center;
- margin: 16px 0;
- color: var(--TextMuted);
- font-size: 13px;
-}
-
-.GERPDivider::before,
-.GERPDivider::after {
- content: '';
- flex: 1;
- height: 1px;
- background: var(--BorderColor);
-}
-
-.GERPDivider::before {
- margin-right: 12px;
-}
-
-.GERPDivider::after {
- margin-left: 12px;
-}
-
-.GERPDivider.Vertical {
- display: inline-flex;
- flex-direction: column;
- margin: 0 12px;
- height: 1em;
-}
-
-.GERPDivider.Vertical::before,
-.GERPDivider.Vertical::after {
- width: 1px;
- height: 50%;
- margin: 0;
-}
-
-.GERPDivider.Vertical::before {
- margin-bottom: 4px;
-}
-
-.GERPDivider.Vertical::after {
- margin-top: 4px;
-}
-
-/* ==================== 描述列表组件 ==================== */
-.GERPDescriptions {
- background: var(--CardBackground);
- border-radius: 8px;
- border: 1px solid var(--BorderColor);
-}
-
-.GERPDescriptionsHeader {
- padding: 16px 20px;
- border-bottom: 1px solid var(--BorderColor);
- font-size: 16px;
- font-weight: 600;
- color: var(--TextPrimary);
-}
-
-.GERPDescriptionsRow {
- display: flex;
- border-bottom: 1px solid var(--BorderColor);
-}
-
-.GERPDescriptionsRow:last-child {
- border-bottom: none;
-}
-
-.GERPDescriptionsItem {
- flex: 1;
- display: flex;
- padding: 12px 20px;
-}
-
-.GERPDescriptionsLabel {
- width: 120px;
- color: var(--TextSecondary);
- font-size: 13px;
-}
-
-.GERPDescriptionsValue {
- flex: 1;
- color: var(--TextPrimary);
- font-size: 14px;
-}
-
-/* ==================== 统计数值组件 ==================== */
-.GERPStatistic {
- display: inline-block;
-}
-
-.GERPStatisticTitle {
- font-size: 13px;
- color: var(--TextSecondary);
- margin-bottom: 4px;
-}
-
-.GERPStatisticValue {
- font-size: 32px;
- font-weight: 700;
- color: var(--TextPrimary);
- line-height: 1.2;
-}
-
-.GERPStatisticPrefix,
-.GERPStatisticSuffix {
- font-size: 20px;
- font-weight: 400;
-}
-
-.GERPStatisticPrefix {
- margin-right: 4px;
-}
-
-.GERPStatisticSuffix {
- margin-left: 4px;
-}
-
-.GERPStatisticChange {
- font-size: 13px;
- margin-top: 4px;
- display: flex;
- align-items: center;
- gap: 4px;
-}
-
-.GERPStatisticChange.Up {
- color: var(--SuccessColor);
-}
-
-.GERPStatisticChange.Down {
- color: var(--DangerColor);
-}
-
-/* ==================== 抽屉组件 ==================== */
-.GERPDrawer {
- position: fixed;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- z-index: 10000;
- pointer-events: none;
-}
-
-.GERPDrawer.Show {
- pointer-events: auto;
-}
-
-.GERPDrawerHeader {
- display: flex;
- align-items: center;
- justify-content: space-between;
- padding: 16px 20px;
- border-bottom: 1px solid var(--BorderColor);
- cursor: move;
- user-select: none;
-}
-
-@media (max-width: 768px) {
- .GERPDrawerHeader {
- cursor: default;
- }
-}
-
-.GERPDrawerTitle {
- font-size: 16px;
- font-weight: 600;
- color: var(--TextPrimary);
- margin: 0;
-}
-
-.GERPDrawerClose {
- width: 32px;
- height: 32px;
- border: none;
- background: transparent;
- border-radius: 6px;
- cursor: pointer;
- color: var(--TextMuted);
- display: flex;
- align-items: center;
- justify-content: center;
- transition: all 0.2s ease;
-}
-
-.GERPDrawerClose:hover {
- background: var(--BackgroundColor);
- color: var(--TextPrimary);
-}
-
-.GERPDrawerBody {
- flex: 1;
- padding: 20px;
- overflow-y: auto;
-}
-
-/* ==================== 气泡卡片组件 ==================== */
-.GERPPopover {
- position: fixed;
- z-index: 10000;
- background: var(--CardBackground);
- border: 1px solid var(--BorderColor);
- border-radius: 8px;
- box-shadow: var(--ShadowLg);
- min-width: 180px;
- max-width: 320px;
- opacity: 0;
- transform: scale(0.95) translateY(-8px);
- transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
- pointer-events: auto;
-}
-
-.GERPPopover.Show {
- opacity: 1;
- transform: scale(1);
-}
-
-.GERPPopoverArrow {
- position: absolute;
- width: 12px;
- height: 12px;
- background: var(--CardBackground);
- transform: rotate(45deg);
- box-shadow: -2px -2px 4px rgba(0, 0, 0, 0.05);
-}
-
-.GERPPopoverTop .GERPPopoverArrow {
- bottom: -6px;
- left: 50%;
- margin-left: -6px;
-}
-
-.GERPPopoverBottom .GERPPopoverArrow {
- top: -6px;
- left: 50%;
- margin-left: -6px;
- box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.05);
-}
-
-.GERPPopoverLeft .GERPPopoverArrow {
- right: -6px;
- top: 50%;
- margin-top: -6px;
- box-shadow: 2px -2px 4px rgba(0, 0, 0, 0.05);
-}
-
-.GERPPopoverRight .GERPPopoverArrow {
- left: -6px;
- top: 50%;
- margin-top: -6px;
- box-shadow: -2px 2px 4px rgba(0, 0, 0, 0.05);
-}
-
-.GERPPopoverTitle {
- padding: 12px 16px 8px;
- font-size: 14px;
- font-weight: 600;
- color: var(--TextPrimary);
- border-bottom: 1px solid var(--BorderColor);
-}
-
-.GERPPopoverContent {
- padding: 12px 16px;
- font-size: 14px;
- color: var(--TextSecondary);
- line-height: 1.5;
-}
-
-/* ==================== 标签输入组件 ==================== */
-.GERPTagInput {
- display: flex;
- flex-wrap: wrap;
- align-items: center;
- gap: 8px;
- padding: 8px 12px;
- background: var(--CardBackground);
- border: 1px solid var(--BorderColor);
- border-radius: 8px;
- transition: border-color 0.2s ease, box-shadow 0.2s ease;
-}
-
-.GERPTagInput:focus-within {
- border-color: var(--PrimaryColor);
- box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
-}
-
-.GERPTagInputTags {
- display: flex;
- flex-wrap: wrap;
- gap: 6px;
-}
-
-.GERPTagInputTag {
- display: inline-flex;
- align-items: center;
- gap: 6px;
- padding: 4px 8px;
- background: var(--PrimaryColor);
- color: white;
- font-size: 12px;
- border-radius: 4px;
- animation: tagEnter 0.2s ease;
-}
-
-@keyframes tagEnter {
- from {
- opacity: 0;
- transform: scale(0.8);
- }
- to {
- opacity: 1;
- transform: scale(1);
- }
-}
-
-.GERPTagInputTagText {
- max-width: 120px;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-
-.GERPTagInputTagClose {
- width: 16px;
- height: 16px;
- border: none;
- background: rgba(255, 255, 255, 0.2);
- border-radius: 50%;
- cursor: pointer;
- color: white;
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 10px;
- transition: background 0.2s ease;
-}
-
-.GERPTagInputTagClose:hover {
- background: rgba(255, 255, 255, 0.3);
-}
-
-.GERPTagInputInput {
- flex: 1;
- min-width: 100px;
- border: none;
- outline: none;
- background: transparent;
- font-size: 14px;
- color: var(--TextPrimary);
-}
-
-.GERPTagInputInput::placeholder {
- color: var(--TextMuted);
-}
-
-/* ==================== 长文本省略再展开组件 ==================== */
-.GERPTextEllipsis {
- display: inline-flex;
- align-items: flex-start;
- gap: 6px;
- max-width: 100%;
-}
-
-.GERPTextEllipsisContent {
- color: var(--TextPrimary);
- font-size: 14px;
- line-height: 1.5;
- word-break: break-word;
-}
-
-.GERPTextEllipsisToggle {
- display: inline-flex;
- align-items: center;
- gap: 4px;
- padding: 2px 6px;
- background: transparent;
- border: none;
- color: var(--PrimaryColor);
- font-size: 13px;
- cursor: pointer;
- transition: all 0.2s ease;
- white-space: nowrap;
- border-radius: 4px;
-}
-
-.GERPTextEllipsisToggle:hover {
- background: rgba(37, 99, 235, 0.1);
-}
-
-.GERPTextEllipsisToggle i {
- font-size: 12px;
- transition: transform 0.2s ease;
-}
-
-.GERPTextEllipsisLabel {
- font-weight: 500;
-}
-
-/* ==================== 步骤条组件 ==================== */
-.GERPSteps {
- display: flex;
- align-items: flex-start;
-}
-
-.GERPStepsItem {
- flex: 1;
- display: flex;
- flex-direction: column;
- position: relative;
-}
-
-.GERPStepsItem:last-child {
- flex: none;
-}
-
-.GERPStepsItemHead {
- display: flex;
- align-items: center;
- margin-bottom: 8px;
-}
-
-.GERPStepsItemIcon {
- width: 32px;
- height: 32px;
- border-radius: 50%;
- background: var(--BackgroundColor);
- border: 2px solid var(--BorderColor);
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 14px;
- font-weight: 600;
- color: var(--TextMuted);
- transition: all 0.3s ease;
-}
-
-.GERPStepsItem.Waiting .GERPStepsItemIcon {
- background: var(--BackgroundColor);
- border-color: var(--BorderColor);
- color: var(--TextMuted);
-}
-
-.GERPStepsItem.Process .GERPStepsItemIcon {
- background: var(--PrimaryColor);
- border-color: var(--PrimaryColor);
- color: white;
-}
-
-.GERPStepsItem.Finish .GERPStepsItemIcon {
- background: var(--PrimaryColor);
- border-color: var(--PrimaryColor);
- color: white;
-}
-
-.GERPStepsItem.Error .GERPStepsItemIcon {
- background: var(--DangerColor);
- border-color: var(--DangerColor);
- color: white;
-}
-
-.GERPStepsItemTail {
- flex: 1;
- height: 2px;
- background: var(--BorderColor);
- margin: 0 12px;
- transition: background 0.3s ease;
-}
-
-.GERPStepsItem.Finish .GERPStepsItemTail,
-.GERPStepsItem.Process .GERPStepsItemTail {
- background: var(--PrimaryColor);
-}
-
-.GERPStepsItemContent {
- padding-right: 16px;
-}
-
-.GERPStepsItemTitle {
- font-size: 14px;
- font-weight: 500;
- color: var(--TextPrimary);
- margin-bottom: 4px;
-}
-
-.GERPStepsItem.Waiting .GERPStepsItemTitle {
- color: var(--TextMuted);
-}
-
-.GERPStepsItem.Error .GERPStepsItemTitle {
- color: var(--DangerColor);
-}
-
-.GERPStepsItemDescription {
- font-size: 13px;
- color: var(--TextSecondary);
-}
-
-/* 垂直步骤条 */
-.GERPSteps.Vertical {
- flex-direction: column;
-}
-
-.GERPSteps.Vertical .GERPStepsItem {
- flex: none;
- padding-bottom: 24px;
-}
-
-.GERPSteps.Vertical .GERPStepsItem:last-child {
- padding-bottom: 0;
-}
-
-.GERPSteps.Vertical .GERPStepsItemHead {
- position: relative;
-}
-
-.GERPSteps.Vertical .GERPStepsItemTail {
- position: absolute;
- left: 15px;
- top: 32px;
- bottom: 0;
- width: 2px;
- height: auto;
- margin: 0;
-}
-
-.GERPSteps.Vertical .GERPStepsItem:last-child .GERPStepsItemTail {
- display: none;
-}
-
-.GERPSteps.Vertical .GERPStepsItemContent {
- margin-left: 44px;
- margin-top: -32px;
- padding-right: 0;
- padding-bottom: 0;
-}
-
-/* ==================== 头像组件 ==================== */
-.GERPAvatar {
- display: inline-flex;
- align-items: center;
- justify-content: center;
- border-radius: 50%;
- background: var(--PrimaryColor);
- color: white;
- font-weight: 600;
- overflow: hidden;
-}
-
-.GERPAvatar.Sm {
- width: 32px;
- height: 32px;
- font-size: 14px;
-}
-
-.GERPAvatar {
- width: 40px;
- height: 40px;
- font-size: 16px;
-}
-
-.GERPAvatar.Lg {
- width: 48px;
- height: 48px;
- font-size: 18px;
-}
-
-.GERPAvatar.Xl {
- width: 64px;
- height: 64px;
- font-size: 24px;
-}
-
-.GERPAvatar img {
- width: 100%;
- height: 100%;
- object-fit: cover;
-}
-
-.GERPAvatarGroup {
- display: inline-flex;
-}
-
-.GERPAvatarGroup .GERPAvatar {
- border: 2px solid var(--CardBackground);
- margin-left: -12px;
-}
-
-.GERPAvatarGroup .GERPAvatar:first-child {
- margin-left: 0;
-}
-
-/* ==================== 卡片组件 ==================== */
-.GERPCard {
- background: var(--CardBackground);
- border-radius: 12px;
- border: 1px solid var(--BorderColor);
- overflow: hidden;
- transition: box-shadow 0.2s ease, transform 0.2s ease;
-}
-
-.GERPCard.Hoverable:hover {
- box-shadow: var(--ShadowLg);
- /* transform: translateY(-2px); */
-}
-
-.GERPCardHeader {
- padding: 16px 20px;
- border-bottom: 1px solid var(--BorderColor);
- display: flex;
- align-items: center;
- justify-content: space-between;
-}
-
-.GERPCardTitle {
- font-size: 16px;
- font-weight: 600;
- color: var(--TextPrimary);
-}
-
-.GERPCardExtra {
- font-size: 14px;
-}
-
-.GERPCardBody {
- padding: 20px;
-}
-
-.GERPCardFooter {
- padding: 12px 20px;
- border-top: 1px solid var(--BorderColor);
- background: var(--BackgroundColor);
-}
-
-/* ==================== 列表组件 ==================== */
-.GERPList {
- margin: 0;
- padding: 0;
- list-style: none;
-}
-
-.GERPListItem {
- display: flex;
- align-items: center;
- padding: 12px 16px;
- border-bottom: 1px solid var(--BorderColor);
- transition: background 0.2s ease;
-}
-
-.GERPListItem:last-child {
- border-bottom: none;
-}
-
-.GERPListItem:hover {
- background: var(--BackgroundColor);
-}
-
-.GERPListItemMeta {
- flex: 1;
- min-width: 0;
-}
-
-.GERPListItemTitle {
- font-size: 14px;
- font-weight: 500;
- color: var(--TextPrimary);
- margin-bottom: 4px;
-}
-
-.GERPListItemDescription {
- font-size: 13px;
- color: var(--TextSecondary);
-}
-
-.GERPListItemAction {
- display: flex;
- gap: 12px;
-}
-
-/* ==================== 评论组件 ==================== */
-.GERPComment {
- display: flex;
- gap: 12px;
-}
-
-.GERPCommentAvatar {
- flex-shrink: 0;
-}
-
-.GERPCommentContent {
- flex: 1;
-}
-
-.GERPCommentAuthor {
- display: flex;
- align-items: center;
- gap: 8px;
- margin-bottom: 4px;
-}
-
-.GERPCommentName {
- font-size: 14px;
- font-weight: 500;
- color: var(--TextPrimary);
-}
-
-.GERPCommentTime {
- font-size: 12px;
- color: var(--TextMuted);
-}
-
-.GERPCommentText {
- font-size: 14px;
- color: var(--TextSecondary);
- line-height: 1.6;
- padding: 12px 16px;
- background: var(--BackgroundColor);
- border-radius: 8px;
-}
-
-.GERPCommentActions {
- display: flex;
- gap: 16px;
- margin-top: 8px;
-}
-
-.GERPCommentAction {
- font-size: 12px;
- color: var(--TextMuted);
- cursor: pointer;
- transition: color 0.2s ease;
-}
-
-.GERPCommentAction:hover {
- color: var(--PrimaryColor);
-}
-
-/* ==================== 颜色类 ==================== */
-.Color_Primary {
- background: var(--PrimaryColor);
-}
-
-.Color_PrimaryHover {
- background: var(--PrimaryHover);
-}
-
-.Color_Success {
- background: var(--SuccessColor);
-}
-
-.Color_Warning {
- background: var(--WarningColor);
-}
-
-.Color_Danger {
- background: var(--DangerColor);
-}
-
-.Color_TextPrimary {
- background: var(--TextPrimary);
-}
-
-.Color_TextSecondary {
- background: var(--TextSecondary);
-}
-
-.Color_TextMuted {
- background: var(--TextMuted);
-}
-
-/* ==================== 渐变卡片容器 ==================== */
-.GERPGradientCard {
- position: relative;
- overflow: hidden;
- border-radius: 16px;
- padding: 40px 20px;
- text-align: center;
- background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
-}
-
-.GERPGradientCard::before {
- content: '';
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- background: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
- opacity: 0.05;
- pointer-events: none;
-}
-
-.GERPGradientCard * {
- position: relative;
- z-index: 1;
-}
-
-.GERPGradientCard.Danger {
- background: linear-gradient(135deg, #2d132c 0%, #5a2b5a 50%, #802c6e 100%);
-}
-
-.GERPGradientCard.Warning {
- background: linear-gradient(135deg, #2d2416 0%, #5a451a 50%, #806a28 100%);
-}
-
-.GERPGradientCard.Success {
- background: linear-gradient(135deg, #132d1f 0%, #1a5a35 50%, #288048 100%);
-}
-
-.GERPGradientCard.Info {
- background: linear-gradient(135deg, #131f2d 0%, #1a355a 50%, #284880 100%);
-}
-
-/* ==================== 数字倒计时组件 ==================== */
-.GERPCountdown {
- display: flex;
- justify-content: center;
- gap: 16px;
- flex-wrap: wrap;
-}
-
-.GERPCountdownItem {
- display: flex;
- flex-direction: column;
- align-items: center;
- min-width: 80px;
-}
-
-.GERPCountdownValue {
- font-size: 48px;
- font-weight: 700;
- color: #fff;
- background: linear-gradient(180deg, var(--DangerColor) 0%, #ff6b6b 100%);
- -webkit-background-clip: text;
- -webkit-text-fill-color: transparent;
- background-clip: text;
- line-height: 1;
- text-shadow: 0 0 30px rgba(233, 69, 96, 0.3);
-}
-
-.GERPCountdownLabel {
- font-size: 12px;
- color: rgba(255, 255, 255, 0.5);
- text-transform: uppercase;
- letter-spacing: 2px;
- margin-top: 8px;
-}
-
-.GERPCountdownSeparator {
- font-size: 48px;
- color: var(--DangerColor);
- opacity: 0.5;
- animation: GERPCountdownBlink 1s infinite;
- align-self: flex-start;
- padding-top: 4px;
-}
-
-@keyframes GERPCountdownBlink {
- 0%, 50% { opacity: 0.5; }
- 51%, 100% { opacity: 0.1; }
-}
-
-.GERPCountdown.Warning .GERPCountdownValue {
- background: linear-gradient(180deg, var(--WarningColor) 0%, #ffc107 100%);
- text-shadow: 0 0 30px rgba(255, 193, 7, 0.3);
-}
-
-.GERPCountdown.Warning .GERPCountdownSeparator {
- color: var(--WarningColor);
-}
-
-.GERPCountdown.Success .GERPCountdownValue {
- background: linear-gradient(180deg, var(--SuccessColor) 0%, #28a745 100%);
- text-shadow: 0 0 30px rgba(40, 167, 69, 0.3);
-}
-
-.GERPCountdown.Success .GERPCountdownSeparator {
- color: var(--SuccessColor);
-}
-
-.GERPCountdown.Info .GERPCountdownValue {
- background: linear-gradient(180deg, var(--PrimaryColor) 0%, #007bff 100%);
- text-shadow: 0 0 30px rgba(0, 123, 255, 0.3);
-}
-
-.GERPCountdown.Info .GERPCountdownSeparator {
- color: var(--PrimaryColor);
-}
-
-/* ==================== 进度条组件 ==================== */
-.GERPProgress {
- max-width: 400px;
- margin: 0 auto;
-}
-
-.GERPProgressHeader {
- display: flex;
- justify-content: space-between;
- font-size: 12px;
- color: rgba(255, 255, 255, 0.5);
- margin-bottom: 8px;
-}
-
-.GERPProgressBar {
- height: 6px;
- background: rgba(255, 255, 255, 0.1);
- border-radius: 3px;
- overflow: hidden;
-}
-
-.GERPProgressFill {
- height: 100%;
- background: linear-gradient(90deg, var(--DangerColor), #ff6b6b);
- border-radius: 3px;
- transition: width 1s linear;
-}
-
-.GERPProgress.Warning .GERPProgressFill {
- background: linear-gradient(90deg, var(--WarningColor), #ffc107);
-}
-
-.GERPProgress.Success .GERPProgressFill {
- background: linear-gradient(90deg, var(--SuccessColor), #28a745);
-}
-
-.GERPProgress.Info .GERPProgressFill {
- background: linear-gradient(90deg, var(--PrimaryColor), #007bff);
-}
-
-/* ==================== 倒计时标题样式 ==================== */
-.GERPCountdownTitle {
- font-size: 28px;
- font-weight: 700;
- color: var(--DangerColor);
- margin-bottom: 8px;
- text-shadow: 0 0 20px rgba(233, 69, 96, 0.5);
-}
-
-.GERPCountdownSubtitle {
- font-size: 14px;
- color: rgba(255, 255, 255, 0.6);
- margin-bottom: 30px;
-}
-
-.GERPCountdownMessage {
- margin-top: 30px;
- font-size: 16px;
- color: rgba(255, 255, 255, 0.7);
-}
-
-/* ==================== 角色切换器 ==================== */
-.GERPRoleSwitcher {
- position: fixed;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- z-index: 10000;
- display: flex;
- align-items: center;
- justify-content: center;
- opacity: 0;
- pointer-events: none;
- transition: opacity 0.3s ease;
-}
-
-.GERPRoleSwitcher.Show {
- opacity: 1;
- pointer-events: auto;
-}
-
-.GERPRoleSwitcherOverlay {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- background: rgba(0, 0, 0, 0.5);
-}
-
-.GERPRoleSwitcherContent {
- position: relative;
- width: 90%;
- max-width: 720px;
- max-height: 80vh;
- background: var(--CardBackground);
- border-radius: 16px;
- box-shadow: var(--ShadowLg);
- overflow-y: auto;
- transform: scale(0.95) translateY(20px);
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
-}
-
-.GERPRoleSwitcher.Show .GERPRoleSwitcherContent {
- transform: scale(1) translateY(0);
-}
-
-.GERPRoleSwitcherHeader {
- display: flex;
- align-items: center;
- justify-content: space-between;
- padding: 20px 24px;
- border-bottom: 1px solid var(--BorderColor);
-}
-
-.GERPRoleSwitcherTitle {
- font-size: 20px;
- font-weight: 600;
- color: var(--TextPrimary);
- margin: 0;
-}
-
-.GERPRoleSwitcherClose {
- width: 32px;
- height: 32px;
- border: none;
- background: transparent;
- border-radius: 8px;
- cursor: pointer;
- color: var(--TextSecondary);
- display: flex;
- align-items: center;
- justify-content: center;
- transition: all 0.2s ease;
-}
-
-.GERPRoleSwitcherClose:hover {
- background: var(--BackgroundColor);
- color: var(--TextPrimary);
-}
-
-.GERPRoleSwitcherBody {
- padding: 20px;
- max-height: 320px;
- overflow-y: auto;
-}
-
-.GERPRoleGrid {
- display: flex;
- flex-wrap: wrap;
- gap: 12px;
- justify-content: flex-start;
-}
-
-.GERPRoleCard {
- width: calc(50% - 6px);
- min-width: 240px;
- min-height: 100px;
- display: flex;
- flex-direction: row;
- align-items: center;
- justify-content: flex-start;
- padding: 16px 20px;
- background: var(--BackgroundColor);
- border: 2px solid transparent;
- border-radius: 12px;
- cursor: pointer;
- transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
- position: relative;
- gap: 16px;
-}
-
-.GERPRoleCard:hover {
- transform: translateY(-4px);
- box-shadow: var(--ShadowMd);
- border-color: var(--PrimaryColor);
-}
-
-.GERPRoleCard.Selected {
- border-color: var(--PrimaryColor);
- background: rgba(37, 99, 235, 0.08);
-}
-
-.GERPRoleCard.Selected .GERPRoleCheckIcon {
- opacity: 1;
- transform: scale(1);
-}
-
-.GERPRoleCheckIcon {
- position: absolute;
- top: 8px;
- right: 8px;
- width: 24px;
- height: 24px;
- background: var(--PrimaryColor);
- border-radius: 50%;
- display: flex;
- align-items: center;
- justify-content: center;
- color: white;
- font-size: 12px;
- opacity: 0;
- transform: scale(0.8);
- transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
-}
-
-.GERPRoleIcon {
- width: 44px;
- height: 44px;
- border-radius: 10px;
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 20px;
- flex-shrink: 0;
- transition: transform 0.25s ease;
-}
-
-.GERPRoleCard:hover .GERPRoleIcon {
- transform: scale(1.1);
-}
-
-.GERPRoleInfo {
- text-align: left;
- flex: 1;
- min-width: 0;
-}
-
-.GERPRoleName {
- font-size: 15px;
- font-weight: 600;
- color: var(--TextPrimary);
- margin-bottom: 4px;
-}
-
-.GERPRoleDesc {
- font-size: 12px;
- color: var(--TextSecondary);
-}
-
-.GERPRoleActiveBadge {
- position: absolute;
- top: 8px;
- right: 8px;
- padding: 2px 8px;
- background: var(--PrimaryColor);
- color: white;
- font-size: 11px;
- font-weight: 500;
- border-radius: 10px;
-}
-
-.GERPRoleDisabledBadge {
- position: absolute;
- top: 8px;
- right: 8px;
- padding: 2px 8px;
- background: var(--TextSecondary);
- color: white;
- font-size: 11px;
- font-weight: 500;
- border-radius: 10px;
-}
-
-.GERPRoleSwitcherFooter {
- display: flex;
- justify-content: flex-end;
- gap: 12px;
- padding: 16px 24px;
- border-top: 1px solid var(--BorderColor);
- background: var(--BackgroundColor);
-}
\ No newline at end of file
diff --git a/TempLate/GERP/assets/gerp/GERPThemeSync.js b/TempLate/GERP/assets/gerp/GERPThemeSync.js
deleted file mode 100644
index c8aa8712..00000000
--- a/TempLate/GERP/assets/gerp/GERPThemeSync.js
+++ /dev/null
@@ -1,78 +0,0 @@
-/**
- * GERPThemeSync.js - 全局主题同步模块
- * 这个模块独立运行,让所有子页面都能自动获得主题同步功能
- */
-
-window.GERPThemeSync = {
- // 初始化主题同步
- init() {
- const root = document.documentElement;
-
- // 从localStorage读取并应用保存的主题
- this.applySavedTheme();
-
- // 监听来自父页面的主题变化消息
- window.addEventListener('message', (e) => {
- const { type, data } = e.data || {};
-
- if (type === 'THEME_CHANGE' && data && data.colors) {
- Object.entries(data.colors).forEach(([key, value]) => {
- root.style.setProperty(`--${key}`, value);
- });
- // 保存到localStorage
- localStorage.setItem('gerp-theme', data.theme);
- localStorage.setItem('gerp-theme-colors', JSON.stringify(data.colors));
- }
-
- if (type === 'THEME_RESPONSE' && data && data.colors) {
- Object.entries(data.colors).forEach(([key, value]) => {
- root.style.setProperty(`--${key}`, value);
- });
- // 保存到localStorage
- localStorage.setItem('gerp-theme', data.theme);
- localStorage.setItem('gerp-theme-colors', JSON.stringify(data.colors));
- }
- });
-
- // 页面加载时向父页面请求当前主题
- if (window.parent && window.parent !== window) {
- window.parent.postMessage({ type: 'GET_THEME' }, '*');
- }
- },
-
- // 应用保存的主题
- applySavedTheme() {
- const root = document.documentElement;
- const themeColors = localStorage.getItem('gerp-theme-colors');
- if (themeColors) {
- try {
- const colors = JSON.parse(themeColors);
- // 向后兼容:旧主题数据可能缺少 HoverBackground,根据 BackgroundColor 亮度推断并回填
- // 深色背景用白色 8% 透明(hover 变浅),浅色背景用黑色 4% 透明
- if (!colors.HoverBackground && colors.BackgroundColor) {
- colors.HoverBackground = this.IsColorDark(colors.BackgroundColor)
- ? 'rgba(255, 255, 255, 0.08)'
- : 'rgba(0, 0, 0, 0.04)';
- localStorage.setItem('gerp-theme-colors', JSON.stringify(colors));
- }
- Object.entries(colors).forEach(([key, value]) => {
- root.style.setProperty(`--${key}`, value);
- });
- } catch (e) {
- console.warn('无法解析主题颜色:', e);
- }
- }
- },
-
- // 辅助:判断颜色亮度(YIQ 公式),<128 视为深色
- IsColorDark(Hex) {
- if (!Hex || typeof Hex !== 'string') return false;
- const M = Hex.replace('#', '').trim();
- if (M.length !== 6) return false;
- const R = parseInt(M.substr(0, 2), 16);
- const G = parseInt(M.substr(2, 2), 16);
- const B = parseInt(M.substr(4, 2), 16);
- if (isNaN(R) || isNaN(G) || isNaN(B)) return false;
- return (R * 299 + G * 587 + B * 114) / 1000 < 128;
- }
-};
diff --git a/TempLate/GERP/assets/index-CHOuvNKI.css b/TempLate/GERP/assets/index-CHOuvNKI.css
deleted file mode 100644
index 752c56d0..00000000
--- a/TempLate/GERP/assets/index-CHOuvNKI.css
+++ /dev/null
@@ -1 +0,0 @@
-:root{--el-color-white:#fff;--el-color-black:#000;--el-color-primary-rgb:64, 158, 255;--el-color-success-rgb:103, 194, 58;--el-color-warning-rgb:230, 162, 60;--el-color-danger-rgb:245, 108, 108;--el-color-error-rgb:245, 108, 108;--el-color-info-rgb:144, 147, 153;--el-font-size-extra-large:20px;--el-font-size-large:18px;--el-font-size-medium:16px;--el-font-size-base:14px;--el-font-size-small:13px;--el-font-size-extra-small:12px;--el-font-family:"Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;--el-font-weight-primary:500;--el-font-line-height-primary:24px;--el-index-normal:1;--el-index-top:1000;--el-index-popper:2000;--el-border-radius-base:4px;--el-border-radius-small:2px;--el-border-radius-round:20px;--el-border-radius-circle:100%;--el-transition-duration:.3s;--el-transition-duration-fast:.2s;--el-transition-function-ease-in-out-bezier:cubic-bezier(.645, .045, .355, 1);--el-transition-function-fast-bezier:cubic-bezier(.23, 1, .32, 1);--el-transition-all:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);--el-transition-fade:opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-md-fade:transform var(--el-transition-duration) var(--el-transition-function-fast-bezier), opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-fade-linear:opacity var(--el-transition-duration-fast) linear;--el-transition-border:border-color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-box-shadow:box-shadow var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-color:color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-component-size-large:40px;--el-component-size:32px;--el-component-size-small:24px;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--el-color-primary:#409eff;--el-color-primary-light-3:#79bbff;--el-color-primary-light-5:#a0cfff;--el-color-primary-light-7:#c6e2ff;--el-color-primary-light-8:#d9ecff;--el-color-primary-light-9:#ecf5ff;--el-color-primary-dark-2:#337ecc;--el-color-success:#67c23a;--el-color-success-light-3:#95d475;--el-color-success-light-5:#b3e19d;--el-color-success-light-7:#d1edc4;--el-color-success-light-8:#e1f3d8;--el-color-success-light-9:#f0f9eb;--el-color-success-dark-2:#529b2e;--el-color-warning:#e6a23c;--el-color-warning-light-3:#eebe77;--el-color-warning-light-5:#f3d19e;--el-color-warning-light-7:#f8e3c5;--el-color-warning-light-8:#faecd8;--el-color-warning-light-9:#fdf6ec;--el-color-warning-dark-2:#b88230;--el-color-danger:#f56c6c;--el-color-danger-light-3:#f89898;--el-color-danger-light-5:#fab6b6;--el-color-danger-light-7:#fcd3d3;--el-color-danger-light-8:#fde2e2;--el-color-danger-light-9:#fef0f0;--el-color-danger-dark-2:#c45656;--el-color-error:#f56c6c;--el-color-error-light-3:#f89898;--el-color-error-light-5:#fab6b6;--el-color-error-light-7:#fcd3d3;--el-color-error-light-8:#fde2e2;--el-color-error-light-9:#fef0f0;--el-color-error-dark-2:#c45656;--el-color-info:#909399;--el-color-info-light-3:#b1b3b8;--el-color-info-light-5:#c8c9cc;--el-color-info-light-7:#dedfe0;--el-color-info-light-8:#e9e9eb;--el-color-info-light-9:#f4f4f5;--el-color-info-dark-2:#73767a;--el-bg-color:#fff;--el-bg-color-page:#f2f3f5;--el-bg-color-overlay:#fff;--el-text-color-primary:#303133;--el-text-color-regular:#606266;--el-text-color-secondary:#909399;--el-text-color-placeholder:#a8abb2;--el-text-color-disabled:#c0c4cc;--el-border-color:#dcdfe6;--el-border-color-light:#e4e7ed;--el-border-color-lighter:#ebeef5;--el-border-color-extra-light:#f2f6fc;--el-border-color-dark:#d4d7de;--el-border-color-darker:#cdd0d6;--el-fill-color:#f0f2f5;--el-fill-color-light:#f5f7fa;--el-fill-color-lighter:#fafafa;--el-fill-color-extra-light:#fafcff;--el-fill-color-dark:#ebedf0;--el-fill-color-darker:#e6e8eb;--el-fill-color-blank:#fff;--el-box-shadow:0px 12px 32px 4px #0000000a, 0px 8px 20px #00000014;--el-box-shadow-light:0px 0px 12px #0000001f;--el-box-shadow-lighter:0px 0px 6px #0000001f;--el-box-shadow-dark:0px 16px 48px 16px #00000014, 0px 12px 32px #0000001f, 0px 8px 16px -8px #00000029;--el-disabled-bg-color:var(--el-fill-color-light);--el-disabled-text-color:var(--el-text-color-placeholder);--el-disabled-border-color:var(--el-border-color-light);--el-overlay-color:#000c;--el-overlay-color-light:#000000b3;--el-overlay-color-lighter:#00000080;--el-mask-color:#ffffffe6;--el-mask-color-extra-light:#ffffff4d;--el-border-width:1px;--el-border-style:solid;--el-border-color-hover:var(--el-text-color-disabled);--el-border:var(--el-border-width) var(--el-border-style) var(--el-border-color);--el-svg-monochrome-grey:var(--el-border-color)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55, 0, .1, 1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55, 0, .1, 1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:top;transform:scaleY(1)}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:bottom;transform:scaleY(1)}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:0 0;transform:scale(1)}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out, var(--el-transition-duration) padding-top ease-in-out, var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-leave-active,.el-collapse-transition-enter-active{transition:var(--el-transition-duration) max-height ease-in-out, var(--el-transition-duration) padding-top ease-in-out, var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out, var(--el-transition-duration) padding-left ease-in-out, var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55, 0, .1, 1)}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.el-icon{--color:inherit;fill:currentColor;width:1em;height:1em;color:var(--color);line-height:1em;font-size:inherit;justify-content:center;align-items:center;display:inline-flex;position:relative}.el-icon.is-loading{animation:2s linear infinite rotating}.el-icon svg{width:1em;height:1em}.el-affix--fixed{position:fixed}.el-alert{--el-alert-padding:8px 16px;--el-alert-border-radius-base:var(--el-border-radius-base);--el-alert-title-font-size:14px;--el-alert-title-with-description-font-size:16px;--el-alert-description-font-size:14px;--el-alert-close-font-size:16px;--el-alert-close-customed-font-size:14px;--el-alert-icon-size:16px;--el-alert-icon-large-size:28px;width:100%;padding:var(--el-alert-padding);box-sizing:border-box;border-radius:var(--el-alert-border-radius-base);background-color:var(--el-color-white);opacity:1;transition:opacity var(--el-transition-duration-fast);align-items:center;margin:0;display:flex;position:relative;overflow:hidden}.el-alert.is-light .el-alert__close-btn{color:var(--el-text-color-placeholder)}.el-alert.is-dark .el-alert__close-btn,.el-alert.is-dark .el-alert__description{color:var(--el-color-white)}.el-alert.is-center{justify-content:center}.el-alert--primary{--el-alert-bg-color:var(--el-color-primary-light-9)}.el-alert--primary.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-primary)}.el-alert--primary.is-light .el-alert__description{color:var(--el-color-primary)}.el-alert--primary.is-dark{background-color:var(--el-color-primary);color:var(--el-color-white)}.el-alert--success{--el-alert-bg-color:var(--el-color-success-light-9)}.el-alert--success.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-success)}.el-alert--success.is-light .el-alert__description{color:var(--el-color-success)}.el-alert--success.is-dark{background-color:var(--el-color-success);color:var(--el-color-white)}.el-alert--info{--el-alert-bg-color:var(--el-color-info-light-9)}.el-alert--info.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-info)}.el-alert--info.is-light .el-alert__description{color:var(--el-color-info)}.el-alert--info.is-dark{background-color:var(--el-color-info);color:var(--el-color-white)}.el-alert--warning{--el-alert-bg-color:var(--el-color-warning-light-9)}.el-alert--warning.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-warning)}.el-alert--warning.is-light .el-alert__description{color:var(--el-color-warning)}.el-alert--warning.is-dark{background-color:var(--el-color-warning);color:var(--el-color-white)}.el-alert--error{--el-alert-bg-color:var(--el-color-error-light-9)}.el-alert--error.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-error)}.el-alert--error.is-light .el-alert__description{color:var(--el-color-error)}.el-alert--error.is-dark{background-color:var(--el-color-error);color:var(--el-color-white)}.el-alert__content{flex-direction:column;gap:4px;display:flex}.el-alert .el-alert__icon{font-size:var(--el-alert-icon-size);width:var(--el-alert-icon-size);margin-right:8px}.el-alert .el-alert__icon.is-big{font-size:var(--el-alert-icon-large-size);width:var(--el-alert-icon-large-size);margin-right:12px}.el-alert__title{font-size:var(--el-alert-title-font-size);line-height:24px}.el-alert__title.with-description{font-size:var(--el-alert-title-with-description-font-size)}.el-alert .el-alert__description{font-size:var(--el-alert-description-font-size);margin:0}.el-alert .el-alert__close-btn{font-size:var(--el-alert-close-font-size);opacity:1;cursor:pointer;position:absolute;top:12px;right:16px}.el-alert .el-alert__close-btn.is-customed{font-style:normal;font-size:var(--el-alert-close-customed-font-size);line-height:24px;top:8px}.el-alert-fade-enter-from,.el-alert-fade-leave-active{opacity:0}.el-aside{box-sizing:border-box;width:var(--el-aside-width,300px);flex-shrink:0;overflow:auto}.el-autocomplete{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;width:var(--el-input-width);display:inline-block;position:relative}.el-autocomplete__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-box-shadow-light)}.el-autocomplete__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-autocomplete__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-autocomplete__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-autocomplete__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-autocomplete__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-autocomplete-suggestion{border-radius:var(--el-border-radius-base);box-sizing:border-box}.el-autocomplete-suggestion__header{border-bottom:1px solid var(--el-border-color-lighter);padding:10px}.el-autocomplete-suggestion__footer{border-top:1px solid var(--el-border-color-lighter);padding:10px}.el-autocomplete-suggestion__wrap{box-sizing:border-box;max-height:280px;padding:10px 0}.el-autocomplete-suggestion__list{margin:0;padding:0}.el-autocomplete-suggestion li{cursor:pointer;color:var(--el-text-color-regular);line-height:34px;font-size:var(--el-font-size-base);text-align:left;text-overflow:ellipsis;white-space:nowrap;margin:0;padding:0 20px;list-style:none;overflow:hidden}.el-autocomplete-suggestion li:hover,.el-autocomplete-suggestion li.highlighted{background-color:var(--el-fill-color-light)}.el-autocomplete-suggestion li.divider{border-top:1px solid var(--el-color-black);margin-top:6px}.el-autocomplete-suggestion li.divider:last-child{margin-bottom:-6px}.el-autocomplete-suggestion.is-loading li{cursor:default;height:100px;color:var(--el-text-color-secondary);justify-content:center;align-items:center;font-size:20px;display:flex}.el-autocomplete-suggestion.is-loading li:hover{background-color:var(--el-bg-color-overlay)}.el-avatar{--el-avatar-text-color:var(--el-color-white);--el-avatar-bg-color:var(--el-text-color-disabled);--el-avatar-text-size:14px;--el-avatar-icon-size:18px;--el-avatar-border-radius:var(--el-border-radius-base);--el-avatar-size-large:56px;--el-avatar-size:40px;--el-avatar-size-small:24px;box-sizing:border-box;text-align:center;color:var(--el-avatar-text-color);background:var(--el-avatar-bg-color);width:var(--el-avatar-size);height:var(--el-avatar-size);font-size:var(--el-avatar-text-size);outline:none;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.el-avatar>img{width:100%;height:100%;display:block}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:var(--el-avatar-border-radius)}.el-avatar--icon{font-size:var(--el-avatar-icon-size)}.el-avatar--small{--el-avatar-size:24px}.el-avatar--large{--el-avatar-size:56px}.el-avatar-group{--el-avatar-group-item-gap:-8px;--el-avatar-group-collapse-item-gap:4px;display:inline-flex}.el-avatar-group .el-avatar{border:1px solid var(--el-border-color-extra-light)}.el-avatar-group .el-avatar:not(:first-child){margin-left:var(--el-avatar-group-item-gap)}.el-avatar-group__collapse-avatars{--el-avatar-group-item-gap:-8px;--el-avatar-group-collapse-item-gap:4px}.el-avatar-group__collapse-avatars .el-avatar:not(:first-child){margin-left:var(--el-avatar-group-collapse-item-gap)}.el-backtop{--el-backtop-bg-color:var(--el-bg-color-overlay);--el-backtop-text-color:var(--el-color-primary);--el-backtop-hover-bg-color:var(--el-border-color-extra-light);background-color:var(--el-backtop-bg-color);width:40px;height:40px;color:var(--el-backtop-text-color);box-shadow:var(--el-box-shadow-lighter);cursor:pointer;z-index:5;border-radius:50%;justify-content:center;align-items:center;font-size:20px;display:flex;position:fixed}.el-backtop:hover{background-color:var(--el-backtop-hover-bg-color)}.el-backtop__icon{font-size:20px}.el-badge{--el-badge-bg-color:var(--el-color-danger);--el-badge-radius:10px;--el-badge-font-size:12px;--el-badge-padding:6px;--el-badge-size:18px;vertical-align:middle;width:fit-content;display:inline-block;position:relative}.el-badge__content{background-color:var(--el-badge-bg-color);border-radius:var(--el-badge-radius);color:var(--el-color-white);font-size:var(--el-badge-font-size);height:var(--el-badge-size);padding:0 var(--el-badge-padding);white-space:nowrap;border:1px solid var(--el-bg-color);justify-content:center;align-items:center;display:inline-flex}.el-badge__content.is-fixed{top:0;right:calc(1px + var(--el-badge-size) / 2);z-index:var(--el-index-normal);position:absolute;transform:translateY(-50%)translate(100%)}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{border-radius:50%;width:8px;height:8px;padding:0;right:0}.el-badge__content.is-hide-zero{display:none}.el-badge__content--primary{background-color:var(--el-color-primary)}.el-badge__content--success{background-color:var(--el-color-success)}.el-badge__content--warning{background-color:var(--el-color-warning)}.el-badge__content--info{background-color:var(--el-color-info)}.el-badge__content--danger{background-color:var(--el-color-danger)}.el-breadcrumb__separator{color:var(--el-text-color-placeholder);margin:0 9px;font-weight:700}.el-breadcrumb__separator.el-icon{margin:0 6px;font-weight:400}.el-breadcrumb__separator.el-icon svg{vertical-align:middle}.el-breadcrumb__item{float:left;align-items:center;display:inline-flex}.el-breadcrumb__inner{color:var(--el-text-color-regular)}.el-breadcrumb__inner.is-link,.el-breadcrumb__inner a{transition:var(--el-transition-color);color:var(--el-text-color-primary);font-weight:700;text-decoration:none}.el-breadcrumb__inner.is-link:hover,.el-breadcrumb__inner a:hover{color:var(--el-color-primary);cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover{color:var(--el-text-color-regular);cursor:text;font-weight:400}.el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none}.el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb:before,.el-breadcrumb:after{content:"";display:table}.el-breadcrumb:after{clear:both}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button:first-child:last-child{border-top-right-radius:var(--el-border-radius-base);border-bottom-right-radius:var(--el-border-radius-base);border-top-left-radius:var(--el-border-radius-base);border-bottom-left-radius:var(--el-border-radius-base)}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:var(--el-border-radius-round)}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:hover,.el-button-group>.el-button:focus,.el-button-group>.el-button:active,.el-button-group>.el-button.is-active{z-index:1}.el-button-group--horizontal{vertical-align:middle;display:inline-block}.el-button-group--horizontal:before,.el-button-group--horizontal:after{content:"";display:table}.el-button-group--horizontal:after{clear:both}.el-button-group--horizontal>.el-button{float:left;position:relative}.el-button-group--horizontal>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group--horizontal>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group--horizontal>.el-button:not(:last-child){margin-right:-1px}.el-button-group--horizontal .el-button--primary:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--primary:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--primary:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--success:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--success:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--success:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--warning:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--warning:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--warning:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--danger:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--danger:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--danger:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--info:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--info:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--info:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal>.el-dropdown>.el-button{border-left-color:var(--el-button-divide-border-color);border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group--vertical{flex-direction:column;align-items:stretch;display:inline-flex}.el-button-group--vertical>.el-button{margin-top:-1px}.el-button-group--vertical>.el-button:first-child{border-bottom-right-radius:0;border-bottom-left-radius:0}.el-button-group--vertical>.el-button:last-child{border-top-left-radius:0;border-top-right-radius:0}.el-button-group--vertical>.el-dropdown{margin-top:-1px}.el-button-group--vertical>.el-dropdown>.el-button{border-left-color:var(--el-button-divide-border-color);border-top-left-radius:0;border-top-right-radius:0}.el-button-group--vertical .el-button--primary:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--primary:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--primary:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--success:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--success:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--success:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--warning:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--warning:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--warning:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--danger:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--danger:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--danger:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--info:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--info:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--info:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button{--el-button-font-weight:var(--el-font-weight-primary);--el-button-border-color:var(--el-border-color);--el-button-bg-color:var(--el-fill-color-blank);--el-button-text-color:var(--el-text-color-regular);--el-button-disabled-text-color:var(--el-disabled-text-color);--el-button-disabled-bg-color:var(--el-fill-color-blank);--el-button-disabled-border-color:var(--el-border-color-light);--el-button-divide-border-color:#ffffff80;--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-color-primary-light-9);--el-button-hover-border-color:var(--el-color-primary-light-7);--el-button-active-text-color:var(--el-button-hover-text-color);--el-button-active-border-color:var(--el-color-primary);--el-button-active-bg-color:var(--el-button-hover-bg-color);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-hover-link-text-color:var(--el-text-color-secondary);--el-button-active-color:var(--el-text-color-primary);white-space:nowrap;cursor:pointer;height:32px;color:var(--el-button-text-color);text-align:center;box-sizing:border-box;line-height:1;font-weight:var(--el-button-font-weight);-webkit-user-select:none;user-select:none;vertical-align:middle;-webkit-appearance:none;background-color:var(--el-button-bg-color);border:var(--el-border);border-color:var(--el-button-border-color);outline:none;justify-content:center;align-items:center;transition:all .1s;display:inline-flex}.el-button:hover{color:var(--el-button-hover-text-color);border-color:var(--el-button-hover-border-color);background-color:var(--el-button-hover-bg-color);outline:none}.el-button:active{color:var(--el-button-active-text-color);border-color:var(--el-button-active-border-color);background-color:var(--el-button-active-bg-color);outline:none}.el-button:focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset,outline}.el-button>span{align-items:center;display:inline-flex}.el-button+.el-button{margin-left:12px}.el-button{font-size:var(--el-font-size-base);border-radius:var(--el-border-radius-base);padding:8px 15px}.el-button.is-round{padding:8px 15px}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon]+span{margin-left:6px}.el-button [class*=el-icon] svg{vertical-align:bottom}.el-button.is-plain{--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-fill-color-blank);--el-button-hover-border-color:var(--el-color-primary)}.el-button.is-active{color:var(--el-button-active-text-color);border-color:var(--el-button-active-border-color);background-color:var(--el-button-active-bg-color);outline:none}.el-button.is-disabled,.el-button.is-disabled:hover{color:var(--el-button-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--el-button-disabled-bg-color);border-color:var(--el-button-disabled-border-color)}.el-button.is-loading{pointer-events:none;position:relative}.el-button.is-loading:before{z-index:1;pointer-events:none;content:"";border-radius:inherit;background-color:var(--el-mask-color-extra-light);position:absolute;inset:-1px}.el-button.is-round{border-radius:var(--el-border-radius-round)}.el-button.is-dashed{--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-fill-color-blank);--el-button-hover-border-color:var(--el-color-primary);border-style:dashed}.el-button.is-circle{border-radius:50%;width:32px;padding:8px}.el-button.is-text{color:var(--el-button-text-color);background-color:#0000;border:0 solid #0000}.el-button.is-text.is-disabled{color:var(--el-button-disabled-text-color);background-color:#0000!important}.el-button.is-text:not(.is-disabled):hover{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled):focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset,outline}.el-button.is-text:not(.is-disabled):active{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled).is-has-bg:hover{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg:active{background-color:var(--el-fill-color-dark)}.el-button__text--expand{letter-spacing:.3em;margin-right:-.3em}.el-button.is-link{color:var(--el-button-text-color);background:0 0;border-color:#0000;height:auto;padding:2px}.el-button.is-link:hover{color:var(--el-button-hover-link-text-color)}.el-button.is-link.is-disabled{color:var(--el-button-disabled-text-color);background-color:#0000!important;border-color:#0000!important}.el-button.is-link:not(.is-disabled):hover{background-color:#0000;border-color:#0000}.el-button.is-link:not(.is-disabled):active{color:var(--el-button-active-color);background-color:#0000;border-color:#0000}.el-button--text{color:var(--el-color-primary);background:0 0;border-color:#0000;padding-left:0;padding-right:0}.el-button--text.is-disabled{color:var(--el-button-disabled-text-color);background-color:#0000!important;border-color:#0000!important}.el-button--text:not(.is-disabled):hover{color:var(--el-color-primary-light-3);background-color:#0000;border-color:#0000}.el-button--text:not(.is-disabled):active{color:var(--el-color-primary-dark-2);background-color:#0000;border-color:#0000}.el-button__link--expand{letter-spacing:.3em;margin-right:-.3em}.el-button--primary{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-primary);--el-button-border-color:var(--el-color-primary);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-active-color:var(--el-color-primary-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-primary-light-5);--el-button-hover-bg-color:var(--el-color-primary-light-3);--el-button-hover-border-color:var(--el-color-primary-light-3);--el-button-active-bg-color:var(--el-color-primary-dark-2);--el-button-active-border-color:var(--el-color-primary-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-primary-light-5);--el-button-disabled-border-color:var(--el-color-primary-light-5)}.el-button--primary.is-plain,.el-button--primary.is-text,.el-button--primary.is-link{--el-button-text-color:var(--el-color-primary);--el-button-bg-color:var(--el-color-primary-light-9);--el-button-border-color:var(--el-color-primary-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-primary);--el-button-hover-border-color:var(--el-color-primary);--el-button-active-text-color:var(--el-color-white)}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:hover,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-text.is-disabled,.el-button--primary.is-text.is-disabled:hover,.el-button--primary.is-text.is-disabled:focus,.el-button--primary.is-text.is-disabled:active,.el-button--primary.is-link.is-disabled,.el-button--primary.is-link.is-disabled:hover,.el-button--primary.is-link.is-disabled:focus,.el-button--primary.is-link.is-disabled:active{color:var(--el-color-primary-light-5);background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-8)}.el-button--primary.is-dashed{--el-button-text-color:var(--el-color-primary);--el-button-bg-color:var(--el-color-primary-light-9);--el-button-border-color:var(--el-color-primary-light-5);--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-color-primary-light-9);--el-button-hover-border-color:var(--el-color-primary-light-3);--el-button-active-text-color:var(--el-color-primary-dark-2);--el-button-active-bg-color:var(--el-color-primary-light-9);--el-button-active-border-color:var(--el-color-primary-dark-2)}.el-button--primary.is-dashed.is-disabled,.el-button--primary.is-dashed.is-disabled:hover,.el-button--primary.is-dashed.is-disabled:focus,.el-button--primary.is-dashed.is-disabled:active{color:var(--el-color-primary-light-5);background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-8)}.el-button--success{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-success);--el-button-border-color:var(--el-color-success);--el-button-outline-color:var(--el-color-success-light-5);--el-button-active-color:var(--el-color-success-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-success-light-5);--el-button-hover-bg-color:var(--el-color-success-light-3);--el-button-hover-border-color:var(--el-color-success-light-3);--el-button-active-bg-color:var(--el-color-success-dark-2);--el-button-active-border-color:var(--el-color-success-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-success-light-5);--el-button-disabled-border-color:var(--el-color-success-light-5)}.el-button--success.is-plain,.el-button--success.is-text,.el-button--success.is-link{--el-button-text-color:var(--el-color-success);--el-button-bg-color:var(--el-color-success-light-9);--el-button-border-color:var(--el-color-success-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-success);--el-button-hover-border-color:var(--el-color-success);--el-button-active-text-color:var(--el-color-white)}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:hover,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-text.is-disabled,.el-button--success.is-text.is-disabled:hover,.el-button--success.is-text.is-disabled:focus,.el-button--success.is-text.is-disabled:active,.el-button--success.is-link.is-disabled,.el-button--success.is-link.is-disabled:hover,.el-button--success.is-link.is-disabled:focus,.el-button--success.is-link.is-disabled:active{color:var(--el-color-success-light-5);background-color:var(--el-color-success-light-9);border-color:var(--el-color-success-light-8)}.el-button--success.is-dashed{--el-button-text-color:var(--el-color-success);--el-button-bg-color:var(--el-color-success-light-9);--el-button-border-color:var(--el-color-success-light-5);--el-button-hover-text-color:var(--el-color-success);--el-button-hover-bg-color:var(--el-color-success-light-9);--el-button-hover-border-color:var(--el-color-success-light-3);--el-button-active-text-color:var(--el-color-success-dark-2);--el-button-active-bg-color:var(--el-color-success-light-9);--el-button-active-border-color:var(--el-color-success-dark-2)}.el-button--success.is-dashed.is-disabled,.el-button--success.is-dashed.is-disabled:hover,.el-button--success.is-dashed.is-disabled:focus,.el-button--success.is-dashed.is-disabled:active{color:var(--el-color-success-light-5);background-color:var(--el-color-success-light-9);border-color:var(--el-color-success-light-8)}.el-button--warning{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-warning);--el-button-border-color:var(--el-color-warning);--el-button-outline-color:var(--el-color-warning-light-5);--el-button-active-color:var(--el-color-warning-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-warning-light-5);--el-button-hover-bg-color:var(--el-color-warning-light-3);--el-button-hover-border-color:var(--el-color-warning-light-3);--el-button-active-bg-color:var(--el-color-warning-dark-2);--el-button-active-border-color:var(--el-color-warning-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-warning-light-5);--el-button-disabled-border-color:var(--el-color-warning-light-5)}.el-button--warning.is-plain,.el-button--warning.is-text,.el-button--warning.is-link{--el-button-text-color:var(--el-color-warning);--el-button-bg-color:var(--el-color-warning-light-9);--el-button-border-color:var(--el-color-warning-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-warning);--el-button-hover-border-color:var(--el-color-warning);--el-button-active-text-color:var(--el-color-white)}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:hover,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-text.is-disabled,.el-button--warning.is-text.is-disabled:hover,.el-button--warning.is-text.is-disabled:focus,.el-button--warning.is-text.is-disabled:active,.el-button--warning.is-link.is-disabled,.el-button--warning.is-link.is-disabled:hover,.el-button--warning.is-link.is-disabled:focus,.el-button--warning.is-link.is-disabled:active{color:var(--el-color-warning-light-5);background-color:var(--el-color-warning-light-9);border-color:var(--el-color-warning-light-8)}.el-button--warning.is-dashed{--el-button-text-color:var(--el-color-warning);--el-button-bg-color:var(--el-color-warning-light-9);--el-button-border-color:var(--el-color-warning-light-5);--el-button-hover-text-color:var(--el-color-warning);--el-button-hover-bg-color:var(--el-color-warning-light-9);--el-button-hover-border-color:var(--el-color-warning-light-3);--el-button-active-text-color:var(--el-color-warning-dark-2);--el-button-active-bg-color:var(--el-color-warning-light-9);--el-button-active-border-color:var(--el-color-warning-dark-2)}.el-button--warning.is-dashed.is-disabled,.el-button--warning.is-dashed.is-disabled:hover,.el-button--warning.is-dashed.is-disabled:focus,.el-button--warning.is-dashed.is-disabled:active{color:var(--el-color-warning-light-5);background-color:var(--el-color-warning-light-9);border-color:var(--el-color-warning-light-8)}.el-button--danger{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-danger);--el-button-border-color:var(--el-color-danger);--el-button-outline-color:var(--el-color-danger-light-5);--el-button-active-color:var(--el-color-danger-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-danger-light-5);--el-button-hover-bg-color:var(--el-color-danger-light-3);--el-button-hover-border-color:var(--el-color-danger-light-3);--el-button-active-bg-color:var(--el-color-danger-dark-2);--el-button-active-border-color:var(--el-color-danger-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-danger-light-5);--el-button-disabled-border-color:var(--el-color-danger-light-5)}.el-button--danger.is-plain,.el-button--danger.is-text,.el-button--danger.is-link{--el-button-text-color:var(--el-color-danger);--el-button-bg-color:var(--el-color-danger-light-9);--el-button-border-color:var(--el-color-danger-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-danger);--el-button-hover-border-color:var(--el-color-danger);--el-button-active-text-color:var(--el-color-white)}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:hover,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-text.is-disabled,.el-button--danger.is-text.is-disabled:hover,.el-button--danger.is-text.is-disabled:focus,.el-button--danger.is-text.is-disabled:active,.el-button--danger.is-link.is-disabled,.el-button--danger.is-link.is-disabled:hover,.el-button--danger.is-link.is-disabled:focus,.el-button--danger.is-link.is-disabled:active{color:var(--el-color-danger-light-5);background-color:var(--el-color-danger-light-9);border-color:var(--el-color-danger-light-8)}.el-button--danger.is-dashed{--el-button-text-color:var(--el-color-danger);--el-button-bg-color:var(--el-color-danger-light-9);--el-button-border-color:var(--el-color-danger-light-5);--el-button-hover-text-color:var(--el-color-danger);--el-button-hover-bg-color:var(--el-color-danger-light-9);--el-button-hover-border-color:var(--el-color-danger-light-3);--el-button-active-text-color:var(--el-color-danger-dark-2);--el-button-active-bg-color:var(--el-color-danger-light-9);--el-button-active-border-color:var(--el-color-danger-dark-2)}.el-button--danger.is-dashed.is-disabled,.el-button--danger.is-dashed.is-disabled:hover,.el-button--danger.is-dashed.is-disabled:focus,.el-button--danger.is-dashed.is-disabled:active{color:var(--el-color-danger-light-5);background-color:var(--el-color-danger-light-9);border-color:var(--el-color-danger-light-8)}.el-button--info{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-info);--el-button-border-color:var(--el-color-info);--el-button-outline-color:var(--el-color-info-light-5);--el-button-active-color:var(--el-color-info-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-info-light-5);--el-button-hover-bg-color:var(--el-color-info-light-3);--el-button-hover-border-color:var(--el-color-info-light-3);--el-button-active-bg-color:var(--el-color-info-dark-2);--el-button-active-border-color:var(--el-color-info-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-info-light-5);--el-button-disabled-border-color:var(--el-color-info-light-5)}.el-button--info.is-plain,.el-button--info.is-text,.el-button--info.is-link{--el-button-text-color:var(--el-color-info);--el-button-bg-color:var(--el-color-info-light-9);--el-button-border-color:var(--el-color-info-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-info);--el-button-hover-border-color:var(--el-color-info);--el-button-active-text-color:var(--el-color-white)}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:hover,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-text.is-disabled,.el-button--info.is-text.is-disabled:hover,.el-button--info.is-text.is-disabled:focus,.el-button--info.is-text.is-disabled:active,.el-button--info.is-link.is-disabled,.el-button--info.is-link.is-disabled:hover,.el-button--info.is-link.is-disabled:focus,.el-button--info.is-link.is-disabled:active{color:var(--el-color-info-light-5);background-color:var(--el-color-info-light-9);border-color:var(--el-color-info-light-8)}.el-button--info.is-dashed{--el-button-text-color:var(--el-color-info);--el-button-bg-color:var(--el-color-info-light-9);--el-button-border-color:var(--el-color-info-light-5);--el-button-hover-text-color:var(--el-color-info);--el-button-hover-bg-color:var(--el-color-info-light-9);--el-button-hover-border-color:var(--el-color-info-light-3);--el-button-active-text-color:var(--el-color-info-dark-2);--el-button-active-bg-color:var(--el-color-info-light-9);--el-button-active-border-color:var(--el-color-info-dark-2)}.el-button--info.is-dashed.is-disabled,.el-button--info.is-dashed.is-disabled:hover,.el-button--info.is-dashed.is-disabled:focus,.el-button--info.is-dashed.is-disabled:active{color:var(--el-color-info-light-5);background-color:var(--el-color-info-light-9);border-color:var(--el-color-info-light-8)}.el-button--large{--el-button-size:40px;height:var(--el-button-size)}.el-button--large [class*=el-icon]+span{margin-left:8px}.el-button--large{font-size:var(--el-font-size-base);border-radius:var(--el-border-radius-base);padding:12px 19px}.el-button--large.is-round{padding:12px 19px}.el-button--large.is-circle{width:var(--el-button-size);padding:12px}.el-button--small{--el-button-size:24px;height:var(--el-button-size)}.el-button--small [class*=el-icon]+span{margin-left:4px}.el-button--small{border-radius:calc(var(--el-border-radius-base) - 1px);padding:5px 11px;font-size:12px}.el-button--small.is-round{padding:5px 11px}.el-button--small.is-circle{width:var(--el-button-size);padding:5px}.el-calendar{--el-calendar-border:var(--el-table-border,1px solid var(--el-border-color-lighter));--el-calendar-header-border-bottom:var(--el-calendar-border);--el-calendar-selected-bg-color:var(--el-color-primary-light-9);--el-calendar-cell-width:85px;background-color:var(--el-fill-color-blank)}.el-calendar__header{border-bottom:var(--el-calendar-header-border-bottom);justify-content:space-between;padding:12px 20px;display:flex}.el-calendar__title{color:var(--el-text-color);align-self:center}.el-calendar__body{padding:12px 20px 35px}.el-calendar__select-controller .el-select{margin-right:8px}.el-calendar__select-controller .el-calendar-select__year{width:120px}.el-calendar__select-controller .el-calendar-select__month{width:60px}.el-calendar-table{table-layout:fixed;width:100%}.el-calendar-table thead th{color:var(--el-text-color-regular);padding:12px 0;font-weight:400}.el-calendar-table:not(.is-range) td.prev,.el-calendar-table:not(.is-range) td.next{color:var(--el-text-color-placeholder)}.el-calendar-table td{border-bottom:var(--el-calendar-border);border-right:var(--el-calendar-border);vertical-align:top;transition:background-color var(--el-transition-duration-fast) ease}.el-calendar-table td.is-selected{background-color:var(--el-calendar-selected-bg-color)}.el-calendar-table td.is-today{color:var(--el-color-primary)}.el-calendar-table tr:first-child td{border-top:var(--el-calendar-border)}.el-calendar-table tr td:first-child{border-left:var(--el-calendar-border)}.el-calendar-table tr.el-calendar-table__row--hide-border td{border-top:none}.el-calendar-table .el-calendar-day{box-sizing:border-box;height:var(--el-calendar-cell-width);padding:8px}.el-calendar-table .el-calendar-day:hover{cursor:pointer;background-color:var(--el-calendar-selected-bg-color)}.el-card{--el-card-border-color:var(--el-border-color-light);--el-card-border-radius:4px;--el-card-padding:20px;--el-card-bg-color:var(--el-fill-color-blank);border-radius:var(--el-card-border-radius);border:1px solid var(--el-card-border-color);background-color:var(--el-card-bg-color);color:var(--el-text-color-primary);transition:var(--el-transition-duration);flex-direction:column;display:flex;overflow:hidden}.el-card.is-always-shadow,.el-card.is-hover-shadow:hover,.el-card.is-hover-shadow:focus{box-shadow:var(--el-box-shadow-light)}.el-card__header{padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding);border-bottom:1px solid var(--el-card-border-color);box-sizing:border-box}.el-card__body{padding:var(--el-card-padding);flex-grow:1;overflow:auto}.el-card__footer{padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding);border-top:1px solid var(--el-card-border-color);box-sizing:border-box}.el-carousel__item{width:100%;height:100%;z-index:calc(var(--el-index-normal) - 1);display:inline-block;position:absolute;top:0;left:0;overflow:hidden}.el-carousel__item.is-active{z-index:calc(var(--el-index-normal) - 1)}.el-carousel__item.is-animating{transition:transform .4s ease-in-out}.el-carousel__item--card{width:50%;transition:transform .4s ease-in-out}.el-carousel__item--card.is-in-stage{cursor:pointer;z-index:var(--el-index-normal)}.el-carousel__item--card.is-in-stage:hover .el-carousel__mask,.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask{opacity:.12}.el-carousel__item--card.is-active{z-index:calc(var(--el-index-normal) + 1)}.el-carousel__item--card-vertical{width:100%;height:50%}.el-carousel__mask{background-color:var(--el-color-white);opacity:.24;width:100%;height:100%;transition:var(--el-transition-duration-fast);position:absolute;top:0;left:0}.el-carousel{--el-carousel-arrow-font-size:12px;--el-carousel-arrow-size:36px;--el-carousel-arrow-background:#1f2d3d1c;--el-carousel-arrow-hover-background:#1f2d3d3b;--el-carousel-indicator-width:30px;--el-carousel-indicator-height:2px;--el-carousel-indicator-padding-horizontal:4px;--el-carousel-indicator-padding-vertical:12px;--el-carousel-indicator-out-color:var(--el-border-color-hover);position:relative}.el-carousel--horizontal,.el-carousel--vertical{overflow:hidden}.el-carousel.is-vertical-outside{flex-direction:row;align-items:center;display:flex}.el-carousel.is-vertical-outside .el-carousel__container{flex:1}.el-carousel__container{height:300px;position:relative}.el-carousel__arrow{height:var(--el-carousel-arrow-size);width:var(--el-carousel-arrow-size);cursor:pointer;transition:var(--el-transition-duration);background-color:var(--el-carousel-arrow-background);color:#fff;z-index:10;text-align:center;font-size:var(--el-carousel-arrow-font-size);border:none;border-radius:50%;outline:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.el-carousel__arrow--left{left:16px}.el-carousel__arrow--right{right:16px}.el-carousel__arrow:hover{background-color:var(--el-carousel-arrow-hover-background)}.el-carousel__arrow i{cursor:pointer}.el-carousel__indicators{z-index:calc(var(--el-index-normal) + 1);margin:0;padding:0;list-style:none;position:absolute}.el-carousel__indicators--horizontal{bottom:0;left:50%;transform:translate(-50%)}.el-carousel__indicators--vertical{top:50%;right:0;transform:translateY(-50%)}.el-carousel__indicators--outside{text-align:center;position:static;transform:none}.el-carousel__indicators--outside .el-carousel__indicator:hover button{opacity:.64}.el-carousel__indicators--outside button{background-color:var(--el-carousel-indicator-out-color);opacity:.24}.el-carousel__indicators--right{right:0}.el-carousel__indicators--labels .el-carousel__button{color:#000;padding:2px 18px;font-size:12px}.el-carousel__indicators--labels .el-carousel__indicator{padding:6px 4px}.el-carousel__indicator{cursor:pointer;background-color:#0000}.el-carousel__indicator:hover button{opacity:.72}.el-carousel__indicator--horizontal{padding:var(--el-carousel-indicator-padding-vertical) var(--el-carousel-indicator-padding-horizontal);display:inline-block}.el-carousel__indicator--vertical{padding:var(--el-carousel-indicator-padding-horizontal) var(--el-carousel-indicator-padding-vertical)}.el-carousel__indicator--vertical .el-carousel__button{width:var(--el-carousel-indicator-height);height:calc(var(--el-carousel-indicator-width) / 2)}.el-carousel__indicator.is-active button{opacity:1}.el-carousel__button{opacity:.48;width:var(--el-carousel-indicator-width);height:var(--el-carousel-indicator-height);cursor:pointer;transition:var(--el-transition-duration);background-color:#fff;border:none;outline:none;margin:0;padding:0;display:block}.el-carousel__indicators--labels .el-carousel__button{width:auto;height:auto}.carousel-arrow-left-enter-from,.carousel-arrow-left-leave-active{opacity:0;transform:translateY(-50%)translate(-10px)}.carousel-arrow-right-enter-from,.carousel-arrow-right-leave-active{opacity:0;transform:translateY(-50%)translate(10px)}.el-transitioning{filter:url(#elCarouselHorizontal)}.el-transitioning-vertical{filter:url(#elCarouselVertical)}.el-cascader-panel{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);border-radius:var(--el-cascader-menu-radius);width:fit-content;font-size:var(--el-cascader-menu-font-size);display:flex}.el-cascader-panel.is-bordered{border:var(--el-cascader-menu-border);border-radius:var(--el-cascader-menu-radius)}.el-cascader-menu{box-sizing:border-box;min-width:180px;color:var(--el-cascader-menu-text-color);border-right:var(--el-cascader-menu-border)}.el-cascader-menu:last-child{border-right:none}.el-cascader-menu:last-child .el-cascader-node{padding-right:20px}.el-cascader-menu__wrap.el-scrollbar__wrap{height:204px}.el-cascader-menu__list{box-sizing:border-box;min-height:100%;margin:0;padding:6px 0;list-style:none;position:relative}.el-cascader-menu__list.el-vl__window{margin:6px 0;padding:0}.el-cascader-menu__list.el-vl__window ul{margin:0;padding:0}.el-cascader-menu__hover-zone{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.el-cascader-menu__empty-text{color:var(--el-cascader-color-empty);align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.el-cascader-menu__empty-text .is-loading{margin-right:2px}.el-cascader-node{box-sizing:border-box;outline:none;align-items:center;height:34px;padding:0 30px 0 20px;line-height:34px;display:flex;position:relative}.el-cascader-node.is-selectable.in-active-path{color:var(--el-cascader-menu-text-color)}.el-cascader-node.in-active-path,.el-cascader-node.is-selectable.in-checked-path,.el-cascader-node.is-active{color:var(--el-cascader-menu-selected-text-color);font-weight:700}.el-cascader-node:not(.is-disabled){cursor:pointer}.el-cascader-node:not(.is-disabled):hover,.el-cascader-node:not(.is-disabled):focus{background:var(--el-cascader-node-background-hover)}.el-cascader-node.is-disabled{color:var(--el-cascader-node-color-disabled);cursor:not-allowed}.el-cascader-node__prefix{position:absolute;left:10px}.el-cascader-node__postfix{position:absolute;right:10px}.el-cascader-node__label{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;padding:0 8px;overflow:hidden}.el-cascader-node>.el-checkbox,.el-cascader-node>.el-radio{margin-right:0}.el-cascader-node>.el-radio .el-radio__label{padding-left:0}.el-cascader{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);vertical-align:middle;font-size:var(--el-font-size-base);outline:none;line-height:32px;display:inline-block;position:relative}.el-cascader:not(.is-disabled):hover .el-input__wrapper{cursor:pointer;box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-cascader .el-input{cursor:pointer;display:flex}.el-cascader .el-input .el-input__inner{text-overflow:ellipsis}.el-cascader .el-input .el-input__inner:read-only{cursor:pointer}.el-cascader .el-input .el-input__inner:disabled{cursor:not-allowed}.el-cascader .el-input .el-input__suffix-inner .el-icon svg{vertical-align:middle}.el-cascader .el-input .icon-arrow-down{transition:transform var(--el-transition-duration);font-size:14px}.el-cascader .el-input .icon-arrow-down.is-reverse{transform:rotate(180deg)}.el-cascader .el-input .icon-circle-close:hover{color:var(--el-input-clear-hover-color,var(--el-text-color-secondary))}.el-cascader .el-input.is-focus .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-cascader--large{font-size:14px;line-height:40px}.el-cascader--large .el-cascader__tags{gap:6px;padding:8px}.el-cascader--large .el-cascader__search-input{height:24px;margin-left:7px}.el-cascader--small{font-size:12px;line-height:24px}.el-cascader--small .el-cascader__tags{gap:4px;padding:2px}.el-cascader--small .el-cascader__search-input{height:20px;margin-left:5px}.el-cascader.is-disabled .el-cascader__label{z-index:calc(var(--el-index-normal) + 1);color:var(--el-disabled-text-color)}.el-cascader__dropdown{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);font-size:var(--el-cascader-menu-font-size);border-radius:var(--el-cascader-menu-radius)}.el-cascader__dropdown.el-popper{background:var(--el-cascader-menu-fill);border:var(--el-cascader-menu-border);box-shadow:var(--el-cascader-menu-shadow)}.el-cascader__dropdown.el-popper .el-popper__arrow:before{border:var(--el-cascader-menu-border)}.el-cascader__dropdown.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-cascader__dropdown.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-cascader__dropdown.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-cascader__dropdown.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-cascader__dropdown.el-popper{box-shadow:var(--el-cascader-menu-shadow)}.el-cascader__header{border-bottom:1px solid var(--el-border-color-light);padding:10px}.el-cascader__footer{border-top:1px solid var(--el-border-color-light);padding:10px}.el-cascader__tags{text-align:left;box-sizing:border-box;flex-wrap:wrap;gap:6px;padding:4px;line-height:normal;display:flex;position:absolute;top:50%;left:0;right:30px;transform:translateY(-50%)}.el-cascader__tags .el-tag{text-overflow:ellipsis;background:var(--el-cascader-tag-background);align-items:center;max-width:100%;display:inline-flex}.el-cascader__tags .el-tag.el-tag--dark,.el-cascader__tags .el-tag.el-tag--plain{background-color:var(--el-tag-bg-color)}.el-cascader__tags .el-tag:not(.is-hit){border-color:#0000}.el-cascader__tags .el-tag:not(.is-hit).el-tag--dark,.el-cascader__tags .el-tag:not(.is-hit).el-tag--plain{border-color:var(--el-tag-border-color)}.el-cascader__tags .el-tag>span{text-overflow:ellipsis;flex:1;line-height:normal;overflow:hidden}.el-cascader__tags .el-tag .el-icon-close{background-color:var(--el-text-color-placeholder);color:var(--el-color-white);flex:none}.el-cascader__tags .el-tag .el-icon-close:hover{background-color:var(--el-text-color-secondary)}.el-cascader__tags .el-tag+input{margin-left:0}.el-cascader__tags.is-validate{right:55px}.el-cascader__collapse-tags{white-space:normal;z-index:var(--el-index-normal)}.el-cascader__collapse-tags .el-tag{text-overflow:ellipsis;background:var(--el-fill-color);align-items:center;max-width:100%;display:inline-flex}.el-cascader__collapse-tags .el-tag.el-tag--dark,.el-cascader__collapse-tags .el-tag.el-tag--plain{background-color:var(--el-tag-bg-color)}.el-cascader__collapse-tags .el-tag:not(.is-hit){border-color:#0000}.el-cascader__collapse-tags .el-tag:not(.is-hit).el-tag--dark,.el-cascader__collapse-tags .el-tag:not(.is-hit).el-tag--plain{border-color:var(--el-tag-border-color)}.el-cascader__collapse-tags .el-tag>span{text-overflow:ellipsis;flex:1;line-height:normal;overflow:hidden}.el-cascader__collapse-tags .el-tag .el-icon-close{background-color:var(--el-text-color-placeholder);color:var(--el-color-white);flex:none}.el-cascader__collapse-tags .el-tag .el-icon-close:hover{background-color:var(--el-text-color-secondary)}.el-cascader__collapse-tags .el-tag+input{margin-left:0}.el-cascader__collapse-tags .el-tag{margin:2px 0}.el-cascader__suggestion-panel{border-radius:var(--el-cascader-menu-radius)}.el-cascader__suggestion-wrap{max-height:204px}.el-cascader__suggestion-list{font-size:var(--el-font-size-base);color:var(--el-cascader-menu-text-color);text-align:center;margin:0;padding:6px 0;list-style:none}.el-cascader__suggestion-list.el-vl__window{margin:6px 0;padding:0}.el-cascader__suggestion-list.el-vl__window ul{margin:0;padding:0}.el-cascader__suggestion-item{text-align:left;cursor:pointer;box-sizing:border-box;outline:none;justify-content:space-between;align-items:center;height:34px;padding:0 15px;display:flex}.el-cascader__suggestion-item:hover,.el-cascader__suggestion-item:focus{background:var(--el-cascader-node-background-hover)}.el-cascader__suggestion-item.is-checked{color:var(--el-cascader-menu-selected-text-color);font-weight:700}.el-cascader__suggestion-item>:not(.el-icon){white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.el-cascader__suggestion-item>span{margin-right:10px}.el-cascader__suggestion-item .el-icon{flex-shrink:0}.el-cascader__empty-text{color:var(--el-cascader-color-empty);margin:10px 0}.el-cascader__search-input{min-width:60px;height:24px;color:var(--el-cascader-menu-text-color);box-sizing:border-box;background:0 0;border:none;outline:none;flex:1;margin-left:7px;padding:0}.el-cascader__search-input::placeholder{color:#0000}.el-check-tag{background-color:var(--el-color-info-light-9);border-radius:var(--el-border-radius-base);color:var(--el-color-info);cursor:pointer;font-size:var(--el-font-size-base);line-height:var(--el-font-size-base);transition:var(--el-transition-all);padding:7px 15px;font-weight:700;display:inline-block}.el-check-tag:hover{background-color:var(--el-color-info-light-7)}.el-check-tag.el-check-tag--primary.is-checked{background-color:var(--el-color-primary-light-8);color:var(--el-color-primary)}.el-check-tag.el-check-tag--primary.is-checked:hover{background-color:var(--el-color-primary-light-7)}.el-check-tag.el-check-tag--primary.is-checked.is-disabled{background-color:var(--el-color-primary-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--primary.is-checked.is-disabled:hover{background-color:var(--el-color-primary-light-8)}.el-check-tag.el-check-tag--primary.is-disabled{background-color:var(--el-color-info-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--primary.is-disabled:hover{background-color:var(--el-color-info-light-9)}.el-check-tag.el-check-tag--success.is-checked{background-color:var(--el-color-success-light-8);color:var(--el-color-success)}.el-check-tag.el-check-tag--success.is-checked:hover{background-color:var(--el-color-success-light-7)}.el-check-tag.el-check-tag--success.is-checked.is-disabled{background-color:var(--el-color-success-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--success.is-checked.is-disabled:hover{background-color:var(--el-color-success-light-8)}.el-check-tag.el-check-tag--success.is-disabled{background-color:var(--el-color-success-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--success.is-disabled:hover{background-color:var(--el-color-success-light-9)}.el-check-tag.el-check-tag--warning.is-checked{background-color:var(--el-color-warning-light-8);color:var(--el-color-warning)}.el-check-tag.el-check-tag--warning.is-checked:hover{background-color:var(--el-color-warning-light-7)}.el-check-tag.el-check-tag--warning.is-checked.is-disabled{background-color:var(--el-color-warning-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--warning.is-checked.is-disabled:hover{background-color:var(--el-color-warning-light-8)}.el-check-tag.el-check-tag--warning.is-disabled{background-color:var(--el-color-warning-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--warning.is-disabled:hover{background-color:var(--el-color-warning-light-9)}.el-check-tag.el-check-tag--danger.is-checked{background-color:var(--el-color-danger-light-8);color:var(--el-color-danger)}.el-check-tag.el-check-tag--danger.is-checked:hover{background-color:var(--el-color-danger-light-7)}.el-check-tag.el-check-tag--danger.is-checked.is-disabled{background-color:var(--el-color-danger-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--danger.is-checked.is-disabled:hover{background-color:var(--el-color-danger-light-8)}.el-check-tag.el-check-tag--danger.is-disabled{background-color:var(--el-color-danger-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--danger.is-disabled:hover{background-color:var(--el-color-danger-light-9)}.el-check-tag.el-check-tag--error.is-checked{background-color:var(--el-color-error-light-8);color:var(--el-color-error)}.el-check-tag.el-check-tag--error.is-checked:hover{background-color:var(--el-color-error-light-7)}.el-check-tag.el-check-tag--error.is-checked.is-disabled{background-color:var(--el-color-error-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--error.is-checked.is-disabled:hover{background-color:var(--el-color-error-light-8)}.el-check-tag.el-check-tag--error.is-disabled{background-color:var(--el-color-error-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--error.is-disabled:hover{background-color:var(--el-color-error-light-9)}.el-check-tag.el-check-tag--info.is-checked{background-color:var(--el-color-info-light-8);color:var(--el-color-info)}.el-check-tag.el-check-tag--info.is-checked:hover{background-color:var(--el-color-info-light-7)}.el-check-tag.el-check-tag--info.is-checked.is-disabled{background-color:var(--el-color-info-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--info.is-checked.is-disabled:hover{background-color:var(--el-color-info-light-8)}.el-check-tag.el-check-tag--info.is-disabled{background-color:var(--el-color-info-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--info.is-disabled:hover{background-color:var(--el-color-info-light-9)}.el-checkbox-button{--el-checkbox-button-checked-bg-color:var(--el-color-primary);--el-checkbox-button-checked-text-color:var(--el-color-white);--el-checkbox-button-checked-border-color:var(--el-color-primary);--el-checkbox-button-disabled-checked-fill:var(--el-border-color-extra-light);display:inline-block;position:relative}.el-checkbox-button__inner{line-height:1;font-weight:var(--el-checkbox-font-weight);white-space:nowrap;vertical-align:middle;cursor:pointer;background:var(--el-button-bg-color,var(--el-fill-color-blank));outline:var(--el-border);color:var(--el-button-text-color,var(--el-text-color-regular));-webkit-appearance:none;text-align:center;box-sizing:border-box;transition:var(--el-transition-all);-webkit-user-select:none;user-select:none;font-size:var(--el-font-size-base);border-radius:0;margin:0;padding:8px 15px;display:inline-block;position:relative}.el-checkbox-button__inner.is-round{padding:8px 15px}.el-checkbox-button__inner:hover{color:var(--el-color-primary)}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;z-index:-1;outline:none;margin:0;position:absolute}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:var(--el-checkbox-button-checked-text-color);background-color:var(--el-checkbox-button-checked-bg-color);border-color:var(--el-checkbox-button-checked-border-color);box-shadow:-1px 0 0 0 var(--el-color-primary-light-7)}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:var(--el-checkbox-button-checked-border-color)}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:var(--el-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--el-button-disabled-bg-color,var(--el-fill-color-blank));border-color:var(--el-button-disabled-border-color,var(--el-border-color-light));box-shadow:none}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:var(--el-button-disabled-border-color,var(--el-border-color-light))}.el-checkbox-button.is-disabled.is-checked .el-checkbox-button__inner{background-color:var(--el-checkbox-button-disabled-checked-fill)}.el-checkbox-button:first-child .el-checkbox-button__inner{border-top-left-radius:var(--el-border-radius-base);border-bottom-left-radius:var(--el-border-radius-base);box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:var(--el-checkbox-button-checked-border-color)}.el-checkbox-button:last-child .el-checkbox-button__inner{border-top-right-radius:var(--el-border-radius-base);border-bottom-right-radius:var(--el-border-radius-base)}.el-checkbox-button--large .el-checkbox-button__inner{font-size:var(--el-font-size-base);border-radius:0;padding:12px 19px}.el-checkbox-button--large .el-checkbox-button__inner.is-round{padding:12px 19px}.el-checkbox-button--small .el-checkbox-button__inner{border-radius:0;padding:5px 11px;font-size:12px}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:5px 11px}.el-checkbox-group{font-size:0;line-height:0}.el-checkbox{--el-checkbox-font-size:14px;--el-checkbox-font-weight:var(--el-font-weight-primary);--el-checkbox-text-color:var(--el-text-color-regular);--el-checkbox-input-height:14px;--el-checkbox-input-width:14px;--el-checkbox-border-radius:var(--el-border-radius-small);--el-checkbox-bg-color:var(--el-fill-color-blank);--el-checkbox-input-border:var(--el-border);--el-checkbox-disabled-border-color:var(--el-border-color);--el-checkbox-disabled-input-fill:var(--el-fill-color-light);--el-checkbox-disabled-icon-color:var(--el-text-color-placeholder);--el-checkbox-disabled-checked-input-fill:var(--el-border-color-extra-light);--el-checkbox-disabled-checked-input-border-color:var(--el-border-color);--el-checkbox-disabled-checked-icon-color:var(--el-text-color-placeholder);--el-checkbox-checked-text-color:var(--el-color-primary);--el-checkbox-checked-input-border-color:var(--el-color-primary);--el-checkbox-checked-bg-color:var(--el-color-primary);--el-checkbox-checked-icon-color:var(--el-color-white);--el-checkbox-input-border-color-hover:var(--el-color-primary);color:var(--el-checkbox-text-color);font-weight:var(--el-checkbox-font-weight);font-size:var(--el-font-size-base);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;height:var(--el-checkbox-height,32px);align-items:center;margin-right:30px;display:inline-flex;position:relative}.el-checkbox.is-disabled{cursor:not-allowed}.el-checkbox.is-bordered{border-radius:var(--el-border-radius-base);border:var(--el-border);box-sizing:border-box;padding:0 15px 0 9px}.el-checkbox.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-checkbox.is-bordered.is-disabled{border-color:var(--el-border-color-lighter)}.el-checkbox.is-bordered.el-checkbox--large{border-radius:var(--el-border-radius-base);padding:0 19px 0 11px}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__label{font-size:var(--el-font-size-base)}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__inner{width:14px;height:14px}.el-checkbox.is-bordered.el-checkbox--small{border-radius:calc(var(--el-border-radius-base) - 1px);padding:0 11px 0 7px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{width:12px;height:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner:after{width:2px;height:6px}.el-checkbox input:focus-visible+.el-checkbox__inner{outline:2px solid var(--el-checkbox-input-border-color-hover);outline-offset:1px;border-radius:var(--el-checkbox-border-radius)}.el-checkbox__input{white-space:nowrap;cursor:pointer;outline:none;display:inline-flex;position:relative}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:var(--el-checkbox-disabled-input-fill);border-color:var(--el-checkbox-disabled-border-color);cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner:after{cursor:not-allowed;border-color:var(--el-checkbox-disabled-icon-color);will-change:transform}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner:after{border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner:before{background-color:var(--el-checkbox-disabled-checked-icon-color);border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:var(--el-disabled-text-color);cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-checked .el-checkbox__inner:after{border-color:var(--el-checkbox-checked-icon-color);transform:translate(-45%,-60%)rotate(45deg)scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:var(--el-checkbox-checked-text-color)}.el-checkbox__input.is-focus:not(.is-checked) .el-checkbox__original:not(:focus-visible){border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-indeterminate .el-checkbox__inner:before{content:"";background-color:var(--el-checkbox-checked-icon-color);height:2px;display:block;position:absolute;top:5px;left:0;right:0;transform:scale(.5)}.el-checkbox__input.is-indeterminate .el-checkbox__inner:after{display:none}.el-checkbox__inner{border:var(--el-checkbox-input-border);border-radius:var(--el-checkbox-border-radius);box-sizing:border-box;width:var(--el-checkbox-input-width);height:var(--el-checkbox-input-height);background-color:var(--el-checkbox-bg-color);z-index:var(--el-index-normal);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46),outline .25s cubic-bezier(.71,-.46,.29,1.46);display:inline-block;position:relative}.el-checkbox__inner:hover{border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__inner:after{box-sizing:content-box;content:"";transform-origin:50%;border:1px solid #0000;border-top:0;border-left:0;width:3px;height:7px;transition:transform .15s ease-in 50ms;position:absolute;top:50%;left:50%;transform:translate(-45%,-60%)rotate(45deg)scaleY(0)}.el-checkbox__original{opacity:0;z-index:-1;outline:none;width:0;height:0;margin:0;position:absolute}.el-checkbox__label{line-height:1;font-size:var(--el-checkbox-font-size);padding-left:8px;display:inline-block}.el-checkbox.el-checkbox--large{height:40px}.el-checkbox.el-checkbox--large .el-checkbox__label{font-size:14px}.el-checkbox.el-checkbox--large .el-checkbox__inner{width:14px;height:14px}.el-checkbox.el-checkbox--small{height:24px}.el-checkbox.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.el-checkbox--small .el-checkbox__inner{width:12px;height:12px}.el-checkbox.el-checkbox--small .el-checkbox__input.is-indeterminate .el-checkbox__inner:before{top:4px}.el-checkbox.el-checkbox--small .el-checkbox__inner:after{width:2px;height:6px}.el-checkbox:last-of-type{margin-right:0}[class*=el-col-]{box-sizing:border-box}[class*=el-col-].is-guttered{min-height:1px;display:block}.el-col-0{flex:0 0;max-width:0%;display:none}.el-col-0.is-guttered{display:none}.el-col-offset-0{margin-left:0%}.el-col-pull-0{position:relative;right:0%}.el-col-push-0{position:relative;left:0%}.el-col-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-1.is-guttered{display:block}.el-col-offset-1{margin-left:4.16667%}.el-col-pull-1{position:relative;right:4.16667%}.el-col-push-1{position:relative;left:4.16667%}.el-col-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-2.is-guttered{display:block}.el-col-offset-2{margin-left:8.33333%}.el-col-pull-2{position:relative;right:8.33333%}.el-col-push-2{position:relative;left:8.33333%}.el-col-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-3.is-guttered{display:block}.el-col-offset-3{margin-left:12.5%}.el-col-pull-3{position:relative;right:12.5%}.el-col-push-3{position:relative;left:12.5%}.el-col-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-4.is-guttered{display:block}.el-col-offset-4{margin-left:16.6667%}.el-col-pull-4{position:relative;right:16.6667%}.el-col-push-4{position:relative;left:16.6667%}.el-col-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-5.is-guttered{display:block}.el-col-offset-5{margin-left:20.8333%}.el-col-pull-5{position:relative;right:20.8333%}.el-col-push-5{position:relative;left:20.8333%}.el-col-6{flex:0 0 25%;max-width:25%;display:block}.el-col-6.is-guttered{display:block}.el-col-offset-6{margin-left:25%}.el-col-pull-6{position:relative;right:25%}.el-col-push-6{position:relative;left:25%}.el-col-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-7.is-guttered{display:block}.el-col-offset-7{margin-left:29.1667%}.el-col-pull-7{position:relative;right:29.1667%}.el-col-push-7{position:relative;left:29.1667%}.el-col-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-8.is-guttered{display:block}.el-col-offset-8{margin-left:33.3333%}.el-col-pull-8{position:relative;right:33.3333%}.el-col-push-8{position:relative;left:33.3333%}.el-col-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-9.is-guttered{display:block}.el-col-offset-9{margin-left:37.5%}.el-col-pull-9{position:relative;right:37.5%}.el-col-push-9{position:relative;left:37.5%}.el-col-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-10.is-guttered{display:block}.el-col-offset-10{margin-left:41.6667%}.el-col-pull-10{position:relative;right:41.6667%}.el-col-push-10{position:relative;left:41.6667%}.el-col-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-11.is-guttered{display:block}.el-col-offset-11{margin-left:45.8333%}.el-col-pull-11{position:relative;right:45.8333%}.el-col-push-11{position:relative;left:45.8333%}.el-col-12{flex:0 0 50%;max-width:50%;display:block}.el-col-12.is-guttered{display:block}.el-col-offset-12{margin-left:50%}.el-col-pull-12{position:relative;right:50%}.el-col-push-12{position:relative;left:50%}.el-col-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-13.is-guttered{display:block}.el-col-offset-13{margin-left:54.1667%}.el-col-pull-13{position:relative;right:54.1667%}.el-col-push-13{position:relative;left:54.1667%}.el-col-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-14.is-guttered{display:block}.el-col-offset-14{margin-left:58.3333%}.el-col-pull-14{position:relative;right:58.3333%}.el-col-push-14{position:relative;left:58.3333%}.el-col-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-15.is-guttered{display:block}.el-col-offset-15{margin-left:62.5%}.el-col-pull-15{position:relative;right:62.5%}.el-col-push-15{position:relative;left:62.5%}.el-col-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-16.is-guttered{display:block}.el-col-offset-16{margin-left:66.6667%}.el-col-pull-16{position:relative;right:66.6667%}.el-col-push-16{position:relative;left:66.6667%}.el-col-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-17.is-guttered{display:block}.el-col-offset-17{margin-left:70.8333%}.el-col-pull-17{position:relative;right:70.8333%}.el-col-push-17{position:relative;left:70.8333%}.el-col-18{flex:0 0 75%;max-width:75%;display:block}.el-col-18.is-guttered{display:block}.el-col-offset-18{margin-left:75%}.el-col-pull-18{position:relative;right:75%}.el-col-push-18{position:relative;left:75%}.el-col-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-19.is-guttered{display:block}.el-col-offset-19{margin-left:79.1667%}.el-col-pull-19{position:relative;right:79.1667%}.el-col-push-19{position:relative;left:79.1667%}.el-col-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-20.is-guttered{display:block}.el-col-offset-20{margin-left:83.3333%}.el-col-pull-20{position:relative;right:83.3333%}.el-col-push-20{position:relative;left:83.3333%}.el-col-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-21.is-guttered{display:block}.el-col-offset-21{margin-left:87.5%}.el-col-pull-21{position:relative;right:87.5%}.el-col-push-21{position:relative;left:87.5%}.el-col-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-22.is-guttered{display:block}.el-col-offset-22{margin-left:91.6667%}.el-col-pull-22{position:relative;right:91.6667%}.el-col-push-22{position:relative;left:91.6667%}.el-col-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-23.is-guttered{display:block}.el-col-offset-23{margin-left:95.8333%}.el-col-pull-23{position:relative;right:95.8333%}.el-col-push-23{position:relative;left:95.8333%}.el-col-24{flex:0 0 100%;max-width:100%;display:block}.el-col-24.is-guttered{display:block}.el-col-offset-24{margin-left:100%}.el-col-pull-24{position:relative;right:100%}.el-col-push-24{position:relative;left:100%}@media only screen and (width<=767px){.el-col-xs-0{flex:0 0;max-width:0%;display:none}.el-col-xs-0.is-guttered{display:none}.el-col-xs-offset-0{margin-left:0%}.el-col-xs-pull-0{position:relative;right:0%}.el-col-xs-push-0{position:relative;left:0%}.el-col-xs-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-xs-1.is-guttered{display:block}.el-col-xs-offset-1{margin-left:4.16667%}.el-col-xs-pull-1{position:relative;right:4.16667%}.el-col-xs-push-1{position:relative;left:4.16667%}.el-col-xs-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-xs-2.is-guttered{display:block}.el-col-xs-offset-2{margin-left:8.33333%}.el-col-xs-pull-2{position:relative;right:8.33333%}.el-col-xs-push-2{position:relative;left:8.33333%}.el-col-xs-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-xs-3.is-guttered{display:block}.el-col-xs-offset-3{margin-left:12.5%}.el-col-xs-pull-3{position:relative;right:12.5%}.el-col-xs-push-3{position:relative;left:12.5%}.el-col-xs-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-xs-4.is-guttered{display:block}.el-col-xs-offset-4{margin-left:16.6667%}.el-col-xs-pull-4{position:relative;right:16.6667%}.el-col-xs-push-4{position:relative;left:16.6667%}.el-col-xs-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-xs-5.is-guttered{display:block}.el-col-xs-offset-5{margin-left:20.8333%}.el-col-xs-pull-5{position:relative;right:20.8333%}.el-col-xs-push-5{position:relative;left:20.8333%}.el-col-xs-6{flex:0 0 25%;max-width:25%;display:block}.el-col-xs-6.is-guttered{display:block}.el-col-xs-offset-6{margin-left:25%}.el-col-xs-pull-6{position:relative;right:25%}.el-col-xs-push-6{position:relative;left:25%}.el-col-xs-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-xs-7.is-guttered{display:block}.el-col-xs-offset-7{margin-left:29.1667%}.el-col-xs-pull-7{position:relative;right:29.1667%}.el-col-xs-push-7{position:relative;left:29.1667%}.el-col-xs-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-xs-8.is-guttered{display:block}.el-col-xs-offset-8{margin-left:33.3333%}.el-col-xs-pull-8{position:relative;right:33.3333%}.el-col-xs-push-8{position:relative;left:33.3333%}.el-col-xs-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-xs-9.is-guttered{display:block}.el-col-xs-offset-9{margin-left:37.5%}.el-col-xs-pull-9{position:relative;right:37.5%}.el-col-xs-push-9{position:relative;left:37.5%}.el-col-xs-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-xs-10.is-guttered{display:block}.el-col-xs-offset-10{margin-left:41.6667%}.el-col-xs-pull-10{position:relative;right:41.6667%}.el-col-xs-push-10{position:relative;left:41.6667%}.el-col-xs-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-xs-11.is-guttered{display:block}.el-col-xs-offset-11{margin-left:45.8333%}.el-col-xs-pull-11{position:relative;right:45.8333%}.el-col-xs-push-11{position:relative;left:45.8333%}.el-col-xs-12{flex:0 0 50%;max-width:50%;display:block}.el-col-xs-12.is-guttered{display:block}.el-col-xs-offset-12{margin-left:50%}.el-col-xs-pull-12{position:relative;right:50%}.el-col-xs-push-12{position:relative;left:50%}.el-col-xs-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-xs-13.is-guttered{display:block}.el-col-xs-offset-13{margin-left:54.1667%}.el-col-xs-pull-13{position:relative;right:54.1667%}.el-col-xs-push-13{position:relative;left:54.1667%}.el-col-xs-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-xs-14.is-guttered{display:block}.el-col-xs-offset-14{margin-left:58.3333%}.el-col-xs-pull-14{position:relative;right:58.3333%}.el-col-xs-push-14{position:relative;left:58.3333%}.el-col-xs-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-xs-15.is-guttered{display:block}.el-col-xs-offset-15{margin-left:62.5%}.el-col-xs-pull-15{position:relative;right:62.5%}.el-col-xs-push-15{position:relative;left:62.5%}.el-col-xs-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-xs-16.is-guttered{display:block}.el-col-xs-offset-16{margin-left:66.6667%}.el-col-xs-pull-16{position:relative;right:66.6667%}.el-col-xs-push-16{position:relative;left:66.6667%}.el-col-xs-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-xs-17.is-guttered{display:block}.el-col-xs-offset-17{margin-left:70.8333%}.el-col-xs-pull-17{position:relative;right:70.8333%}.el-col-xs-push-17{position:relative;left:70.8333%}.el-col-xs-18{flex:0 0 75%;max-width:75%;display:block}.el-col-xs-18.is-guttered{display:block}.el-col-xs-offset-18{margin-left:75%}.el-col-xs-pull-18{position:relative;right:75%}.el-col-xs-push-18{position:relative;left:75%}.el-col-xs-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-xs-19.is-guttered{display:block}.el-col-xs-offset-19{margin-left:79.1667%}.el-col-xs-pull-19{position:relative;right:79.1667%}.el-col-xs-push-19{position:relative;left:79.1667%}.el-col-xs-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-xs-20.is-guttered{display:block}.el-col-xs-offset-20{margin-left:83.3333%}.el-col-xs-pull-20{position:relative;right:83.3333%}.el-col-xs-push-20{position:relative;left:83.3333%}.el-col-xs-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-xs-21.is-guttered{display:block}.el-col-xs-offset-21{margin-left:87.5%}.el-col-xs-pull-21{position:relative;right:87.5%}.el-col-xs-push-21{position:relative;left:87.5%}.el-col-xs-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-xs-22.is-guttered{display:block}.el-col-xs-offset-22{margin-left:91.6667%}.el-col-xs-pull-22{position:relative;right:91.6667%}.el-col-xs-push-22{position:relative;left:91.6667%}.el-col-xs-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-xs-23.is-guttered{display:block}.el-col-xs-offset-23{margin-left:95.8333%}.el-col-xs-pull-23{position:relative;right:95.8333%}.el-col-xs-push-23{position:relative;left:95.8333%}.el-col-xs-24{flex:0 0 100%;max-width:100%;display:block}.el-col-xs-24.is-guttered{display:block}.el-col-xs-offset-24{margin-left:100%}.el-col-xs-pull-24{position:relative;right:100%}.el-col-xs-push-24{position:relative;left:100%}}@media only screen and (width>=768px){.el-col-sm-0{flex:0 0;max-width:0%;display:none}.el-col-sm-0.is-guttered{display:none}.el-col-sm-offset-0{margin-left:0%}.el-col-sm-pull-0{position:relative;right:0%}.el-col-sm-push-0{position:relative;left:0%}.el-col-sm-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-sm-1.is-guttered{display:block}.el-col-sm-offset-1{margin-left:4.16667%}.el-col-sm-pull-1{position:relative;right:4.16667%}.el-col-sm-push-1{position:relative;left:4.16667%}.el-col-sm-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-sm-2.is-guttered{display:block}.el-col-sm-offset-2{margin-left:8.33333%}.el-col-sm-pull-2{position:relative;right:8.33333%}.el-col-sm-push-2{position:relative;left:8.33333%}.el-col-sm-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-sm-3.is-guttered{display:block}.el-col-sm-offset-3{margin-left:12.5%}.el-col-sm-pull-3{position:relative;right:12.5%}.el-col-sm-push-3{position:relative;left:12.5%}.el-col-sm-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-sm-4.is-guttered{display:block}.el-col-sm-offset-4{margin-left:16.6667%}.el-col-sm-pull-4{position:relative;right:16.6667%}.el-col-sm-push-4{position:relative;left:16.6667%}.el-col-sm-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-sm-5.is-guttered{display:block}.el-col-sm-offset-5{margin-left:20.8333%}.el-col-sm-pull-5{position:relative;right:20.8333%}.el-col-sm-push-5{position:relative;left:20.8333%}.el-col-sm-6{flex:0 0 25%;max-width:25%;display:block}.el-col-sm-6.is-guttered{display:block}.el-col-sm-offset-6{margin-left:25%}.el-col-sm-pull-6{position:relative;right:25%}.el-col-sm-push-6{position:relative;left:25%}.el-col-sm-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-sm-7.is-guttered{display:block}.el-col-sm-offset-7{margin-left:29.1667%}.el-col-sm-pull-7{position:relative;right:29.1667%}.el-col-sm-push-7{position:relative;left:29.1667%}.el-col-sm-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-sm-8.is-guttered{display:block}.el-col-sm-offset-8{margin-left:33.3333%}.el-col-sm-pull-8{position:relative;right:33.3333%}.el-col-sm-push-8{position:relative;left:33.3333%}.el-col-sm-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-sm-9.is-guttered{display:block}.el-col-sm-offset-9{margin-left:37.5%}.el-col-sm-pull-9{position:relative;right:37.5%}.el-col-sm-push-9{position:relative;left:37.5%}.el-col-sm-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-sm-10.is-guttered{display:block}.el-col-sm-offset-10{margin-left:41.6667%}.el-col-sm-pull-10{position:relative;right:41.6667%}.el-col-sm-push-10{position:relative;left:41.6667%}.el-col-sm-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-sm-11.is-guttered{display:block}.el-col-sm-offset-11{margin-left:45.8333%}.el-col-sm-pull-11{position:relative;right:45.8333%}.el-col-sm-push-11{position:relative;left:45.8333%}.el-col-sm-12{flex:0 0 50%;max-width:50%;display:block}.el-col-sm-12.is-guttered{display:block}.el-col-sm-offset-12{margin-left:50%}.el-col-sm-pull-12{position:relative;right:50%}.el-col-sm-push-12{position:relative;left:50%}.el-col-sm-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-sm-13.is-guttered{display:block}.el-col-sm-offset-13{margin-left:54.1667%}.el-col-sm-pull-13{position:relative;right:54.1667%}.el-col-sm-push-13{position:relative;left:54.1667%}.el-col-sm-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-sm-14.is-guttered{display:block}.el-col-sm-offset-14{margin-left:58.3333%}.el-col-sm-pull-14{position:relative;right:58.3333%}.el-col-sm-push-14{position:relative;left:58.3333%}.el-col-sm-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-sm-15.is-guttered{display:block}.el-col-sm-offset-15{margin-left:62.5%}.el-col-sm-pull-15{position:relative;right:62.5%}.el-col-sm-push-15{position:relative;left:62.5%}.el-col-sm-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-sm-16.is-guttered{display:block}.el-col-sm-offset-16{margin-left:66.6667%}.el-col-sm-pull-16{position:relative;right:66.6667%}.el-col-sm-push-16{position:relative;left:66.6667%}.el-col-sm-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-sm-17.is-guttered{display:block}.el-col-sm-offset-17{margin-left:70.8333%}.el-col-sm-pull-17{position:relative;right:70.8333%}.el-col-sm-push-17{position:relative;left:70.8333%}.el-col-sm-18{flex:0 0 75%;max-width:75%;display:block}.el-col-sm-18.is-guttered{display:block}.el-col-sm-offset-18{margin-left:75%}.el-col-sm-pull-18{position:relative;right:75%}.el-col-sm-push-18{position:relative;left:75%}.el-col-sm-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-sm-19.is-guttered{display:block}.el-col-sm-offset-19{margin-left:79.1667%}.el-col-sm-pull-19{position:relative;right:79.1667%}.el-col-sm-push-19{position:relative;left:79.1667%}.el-col-sm-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-sm-20.is-guttered{display:block}.el-col-sm-offset-20{margin-left:83.3333%}.el-col-sm-pull-20{position:relative;right:83.3333%}.el-col-sm-push-20{position:relative;left:83.3333%}.el-col-sm-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-sm-21.is-guttered{display:block}.el-col-sm-offset-21{margin-left:87.5%}.el-col-sm-pull-21{position:relative;right:87.5%}.el-col-sm-push-21{position:relative;left:87.5%}.el-col-sm-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-sm-22.is-guttered{display:block}.el-col-sm-offset-22{margin-left:91.6667%}.el-col-sm-pull-22{position:relative;right:91.6667%}.el-col-sm-push-22{position:relative;left:91.6667%}.el-col-sm-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-sm-23.is-guttered{display:block}.el-col-sm-offset-23{margin-left:95.8333%}.el-col-sm-pull-23{position:relative;right:95.8333%}.el-col-sm-push-23{position:relative;left:95.8333%}.el-col-sm-24{flex:0 0 100%;max-width:100%;display:block}.el-col-sm-24.is-guttered{display:block}.el-col-sm-offset-24{margin-left:100%}.el-col-sm-pull-24{position:relative;right:100%}.el-col-sm-push-24{position:relative;left:100%}}@media only screen and (width>=992px){.el-col-md-0{flex:0 0;max-width:0%;display:none}.el-col-md-0.is-guttered{display:none}.el-col-md-offset-0{margin-left:0%}.el-col-md-pull-0{position:relative;right:0%}.el-col-md-push-0{position:relative;left:0%}.el-col-md-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-md-1.is-guttered{display:block}.el-col-md-offset-1{margin-left:4.16667%}.el-col-md-pull-1{position:relative;right:4.16667%}.el-col-md-push-1{position:relative;left:4.16667%}.el-col-md-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-md-2.is-guttered{display:block}.el-col-md-offset-2{margin-left:8.33333%}.el-col-md-pull-2{position:relative;right:8.33333%}.el-col-md-push-2{position:relative;left:8.33333%}.el-col-md-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-md-3.is-guttered{display:block}.el-col-md-offset-3{margin-left:12.5%}.el-col-md-pull-3{position:relative;right:12.5%}.el-col-md-push-3{position:relative;left:12.5%}.el-col-md-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-md-4.is-guttered{display:block}.el-col-md-offset-4{margin-left:16.6667%}.el-col-md-pull-4{position:relative;right:16.6667%}.el-col-md-push-4{position:relative;left:16.6667%}.el-col-md-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-md-5.is-guttered{display:block}.el-col-md-offset-5{margin-left:20.8333%}.el-col-md-pull-5{position:relative;right:20.8333%}.el-col-md-push-5{position:relative;left:20.8333%}.el-col-md-6{flex:0 0 25%;max-width:25%;display:block}.el-col-md-6.is-guttered{display:block}.el-col-md-offset-6{margin-left:25%}.el-col-md-pull-6{position:relative;right:25%}.el-col-md-push-6{position:relative;left:25%}.el-col-md-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-md-7.is-guttered{display:block}.el-col-md-offset-7{margin-left:29.1667%}.el-col-md-pull-7{position:relative;right:29.1667%}.el-col-md-push-7{position:relative;left:29.1667%}.el-col-md-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-md-8.is-guttered{display:block}.el-col-md-offset-8{margin-left:33.3333%}.el-col-md-pull-8{position:relative;right:33.3333%}.el-col-md-push-8{position:relative;left:33.3333%}.el-col-md-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-md-9.is-guttered{display:block}.el-col-md-offset-9{margin-left:37.5%}.el-col-md-pull-9{position:relative;right:37.5%}.el-col-md-push-9{position:relative;left:37.5%}.el-col-md-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-md-10.is-guttered{display:block}.el-col-md-offset-10{margin-left:41.6667%}.el-col-md-pull-10{position:relative;right:41.6667%}.el-col-md-push-10{position:relative;left:41.6667%}.el-col-md-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-md-11.is-guttered{display:block}.el-col-md-offset-11{margin-left:45.8333%}.el-col-md-pull-11{position:relative;right:45.8333%}.el-col-md-push-11{position:relative;left:45.8333%}.el-col-md-12{flex:0 0 50%;max-width:50%;display:block}.el-col-md-12.is-guttered{display:block}.el-col-md-offset-12{margin-left:50%}.el-col-md-pull-12{position:relative;right:50%}.el-col-md-push-12{position:relative;left:50%}.el-col-md-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-md-13.is-guttered{display:block}.el-col-md-offset-13{margin-left:54.1667%}.el-col-md-pull-13{position:relative;right:54.1667%}.el-col-md-push-13{position:relative;left:54.1667%}.el-col-md-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-md-14.is-guttered{display:block}.el-col-md-offset-14{margin-left:58.3333%}.el-col-md-pull-14{position:relative;right:58.3333%}.el-col-md-push-14{position:relative;left:58.3333%}.el-col-md-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-md-15.is-guttered{display:block}.el-col-md-offset-15{margin-left:62.5%}.el-col-md-pull-15{position:relative;right:62.5%}.el-col-md-push-15{position:relative;left:62.5%}.el-col-md-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-md-16.is-guttered{display:block}.el-col-md-offset-16{margin-left:66.6667%}.el-col-md-pull-16{position:relative;right:66.6667%}.el-col-md-push-16{position:relative;left:66.6667%}.el-col-md-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-md-17.is-guttered{display:block}.el-col-md-offset-17{margin-left:70.8333%}.el-col-md-pull-17{position:relative;right:70.8333%}.el-col-md-push-17{position:relative;left:70.8333%}.el-col-md-18{flex:0 0 75%;max-width:75%;display:block}.el-col-md-18.is-guttered{display:block}.el-col-md-offset-18{margin-left:75%}.el-col-md-pull-18{position:relative;right:75%}.el-col-md-push-18{position:relative;left:75%}.el-col-md-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-md-19.is-guttered{display:block}.el-col-md-offset-19{margin-left:79.1667%}.el-col-md-pull-19{position:relative;right:79.1667%}.el-col-md-push-19{position:relative;left:79.1667%}.el-col-md-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-md-20.is-guttered{display:block}.el-col-md-offset-20{margin-left:83.3333%}.el-col-md-pull-20{position:relative;right:83.3333%}.el-col-md-push-20{position:relative;left:83.3333%}.el-col-md-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-md-21.is-guttered{display:block}.el-col-md-offset-21{margin-left:87.5%}.el-col-md-pull-21{position:relative;right:87.5%}.el-col-md-push-21{position:relative;left:87.5%}.el-col-md-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-md-22.is-guttered{display:block}.el-col-md-offset-22{margin-left:91.6667%}.el-col-md-pull-22{position:relative;right:91.6667%}.el-col-md-push-22{position:relative;left:91.6667%}.el-col-md-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-md-23.is-guttered{display:block}.el-col-md-offset-23{margin-left:95.8333%}.el-col-md-pull-23{position:relative;right:95.8333%}.el-col-md-push-23{position:relative;left:95.8333%}.el-col-md-24{flex:0 0 100%;max-width:100%;display:block}.el-col-md-24.is-guttered{display:block}.el-col-md-offset-24{margin-left:100%}.el-col-md-pull-24{position:relative;right:100%}.el-col-md-push-24{position:relative;left:100%}}@media only screen and (width>=1200px){.el-col-lg-0{flex:0 0;max-width:0%;display:none}.el-col-lg-0.is-guttered{display:none}.el-col-lg-offset-0{margin-left:0%}.el-col-lg-pull-0{position:relative;right:0%}.el-col-lg-push-0{position:relative;left:0%}.el-col-lg-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-lg-1.is-guttered{display:block}.el-col-lg-offset-1{margin-left:4.16667%}.el-col-lg-pull-1{position:relative;right:4.16667%}.el-col-lg-push-1{position:relative;left:4.16667%}.el-col-lg-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-lg-2.is-guttered{display:block}.el-col-lg-offset-2{margin-left:8.33333%}.el-col-lg-pull-2{position:relative;right:8.33333%}.el-col-lg-push-2{position:relative;left:8.33333%}.el-col-lg-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-lg-3.is-guttered{display:block}.el-col-lg-offset-3{margin-left:12.5%}.el-col-lg-pull-3{position:relative;right:12.5%}.el-col-lg-push-3{position:relative;left:12.5%}.el-col-lg-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-lg-4.is-guttered{display:block}.el-col-lg-offset-4{margin-left:16.6667%}.el-col-lg-pull-4{position:relative;right:16.6667%}.el-col-lg-push-4{position:relative;left:16.6667%}.el-col-lg-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-lg-5.is-guttered{display:block}.el-col-lg-offset-5{margin-left:20.8333%}.el-col-lg-pull-5{position:relative;right:20.8333%}.el-col-lg-push-5{position:relative;left:20.8333%}.el-col-lg-6{flex:0 0 25%;max-width:25%;display:block}.el-col-lg-6.is-guttered{display:block}.el-col-lg-offset-6{margin-left:25%}.el-col-lg-pull-6{position:relative;right:25%}.el-col-lg-push-6{position:relative;left:25%}.el-col-lg-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-lg-7.is-guttered{display:block}.el-col-lg-offset-7{margin-left:29.1667%}.el-col-lg-pull-7{position:relative;right:29.1667%}.el-col-lg-push-7{position:relative;left:29.1667%}.el-col-lg-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-lg-8.is-guttered{display:block}.el-col-lg-offset-8{margin-left:33.3333%}.el-col-lg-pull-8{position:relative;right:33.3333%}.el-col-lg-push-8{position:relative;left:33.3333%}.el-col-lg-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-lg-9.is-guttered{display:block}.el-col-lg-offset-9{margin-left:37.5%}.el-col-lg-pull-9{position:relative;right:37.5%}.el-col-lg-push-9{position:relative;left:37.5%}.el-col-lg-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-lg-10.is-guttered{display:block}.el-col-lg-offset-10{margin-left:41.6667%}.el-col-lg-pull-10{position:relative;right:41.6667%}.el-col-lg-push-10{position:relative;left:41.6667%}.el-col-lg-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-lg-11.is-guttered{display:block}.el-col-lg-offset-11{margin-left:45.8333%}.el-col-lg-pull-11{position:relative;right:45.8333%}.el-col-lg-push-11{position:relative;left:45.8333%}.el-col-lg-12{flex:0 0 50%;max-width:50%;display:block}.el-col-lg-12.is-guttered{display:block}.el-col-lg-offset-12{margin-left:50%}.el-col-lg-pull-12{position:relative;right:50%}.el-col-lg-push-12{position:relative;left:50%}.el-col-lg-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-lg-13.is-guttered{display:block}.el-col-lg-offset-13{margin-left:54.1667%}.el-col-lg-pull-13{position:relative;right:54.1667%}.el-col-lg-push-13{position:relative;left:54.1667%}.el-col-lg-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-lg-14.is-guttered{display:block}.el-col-lg-offset-14{margin-left:58.3333%}.el-col-lg-pull-14{position:relative;right:58.3333%}.el-col-lg-push-14{position:relative;left:58.3333%}.el-col-lg-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-lg-15.is-guttered{display:block}.el-col-lg-offset-15{margin-left:62.5%}.el-col-lg-pull-15{position:relative;right:62.5%}.el-col-lg-push-15{position:relative;left:62.5%}.el-col-lg-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-lg-16.is-guttered{display:block}.el-col-lg-offset-16{margin-left:66.6667%}.el-col-lg-pull-16{position:relative;right:66.6667%}.el-col-lg-push-16{position:relative;left:66.6667%}.el-col-lg-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-lg-17.is-guttered{display:block}.el-col-lg-offset-17{margin-left:70.8333%}.el-col-lg-pull-17{position:relative;right:70.8333%}.el-col-lg-push-17{position:relative;left:70.8333%}.el-col-lg-18{flex:0 0 75%;max-width:75%;display:block}.el-col-lg-18.is-guttered{display:block}.el-col-lg-offset-18{margin-left:75%}.el-col-lg-pull-18{position:relative;right:75%}.el-col-lg-push-18{position:relative;left:75%}.el-col-lg-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-lg-19.is-guttered{display:block}.el-col-lg-offset-19{margin-left:79.1667%}.el-col-lg-pull-19{position:relative;right:79.1667%}.el-col-lg-push-19{position:relative;left:79.1667%}.el-col-lg-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-lg-20.is-guttered{display:block}.el-col-lg-offset-20{margin-left:83.3333%}.el-col-lg-pull-20{position:relative;right:83.3333%}.el-col-lg-push-20{position:relative;left:83.3333%}.el-col-lg-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-lg-21.is-guttered{display:block}.el-col-lg-offset-21{margin-left:87.5%}.el-col-lg-pull-21{position:relative;right:87.5%}.el-col-lg-push-21{position:relative;left:87.5%}.el-col-lg-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-lg-22.is-guttered{display:block}.el-col-lg-offset-22{margin-left:91.6667%}.el-col-lg-pull-22{position:relative;right:91.6667%}.el-col-lg-push-22{position:relative;left:91.6667%}.el-col-lg-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-lg-23.is-guttered{display:block}.el-col-lg-offset-23{margin-left:95.8333%}.el-col-lg-pull-23{position:relative;right:95.8333%}.el-col-lg-push-23{position:relative;left:95.8333%}.el-col-lg-24{flex:0 0 100%;max-width:100%;display:block}.el-col-lg-24.is-guttered{display:block}.el-col-lg-offset-24{margin-left:100%}.el-col-lg-pull-24{position:relative;right:100%}.el-col-lg-push-24{position:relative;left:100%}}@media only screen and (width>=1920px){.el-col-xl-0{flex:0 0;max-width:0%;display:none}.el-col-xl-0.is-guttered{display:none}.el-col-xl-offset-0{margin-left:0%}.el-col-xl-pull-0{position:relative;right:0%}.el-col-xl-push-0{position:relative;left:0%}.el-col-xl-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-xl-1.is-guttered{display:block}.el-col-xl-offset-1{margin-left:4.16667%}.el-col-xl-pull-1{position:relative;right:4.16667%}.el-col-xl-push-1{position:relative;left:4.16667%}.el-col-xl-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-xl-2.is-guttered{display:block}.el-col-xl-offset-2{margin-left:8.33333%}.el-col-xl-pull-2{position:relative;right:8.33333%}.el-col-xl-push-2{position:relative;left:8.33333%}.el-col-xl-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-xl-3.is-guttered{display:block}.el-col-xl-offset-3{margin-left:12.5%}.el-col-xl-pull-3{position:relative;right:12.5%}.el-col-xl-push-3{position:relative;left:12.5%}.el-col-xl-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-xl-4.is-guttered{display:block}.el-col-xl-offset-4{margin-left:16.6667%}.el-col-xl-pull-4{position:relative;right:16.6667%}.el-col-xl-push-4{position:relative;left:16.6667%}.el-col-xl-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-xl-5.is-guttered{display:block}.el-col-xl-offset-5{margin-left:20.8333%}.el-col-xl-pull-5{position:relative;right:20.8333%}.el-col-xl-push-5{position:relative;left:20.8333%}.el-col-xl-6{flex:0 0 25%;max-width:25%;display:block}.el-col-xl-6.is-guttered{display:block}.el-col-xl-offset-6{margin-left:25%}.el-col-xl-pull-6{position:relative;right:25%}.el-col-xl-push-6{position:relative;left:25%}.el-col-xl-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-xl-7.is-guttered{display:block}.el-col-xl-offset-7{margin-left:29.1667%}.el-col-xl-pull-7{position:relative;right:29.1667%}.el-col-xl-push-7{position:relative;left:29.1667%}.el-col-xl-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-xl-8.is-guttered{display:block}.el-col-xl-offset-8{margin-left:33.3333%}.el-col-xl-pull-8{position:relative;right:33.3333%}.el-col-xl-push-8{position:relative;left:33.3333%}.el-col-xl-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-xl-9.is-guttered{display:block}.el-col-xl-offset-9{margin-left:37.5%}.el-col-xl-pull-9{position:relative;right:37.5%}.el-col-xl-push-9{position:relative;left:37.5%}.el-col-xl-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-xl-10.is-guttered{display:block}.el-col-xl-offset-10{margin-left:41.6667%}.el-col-xl-pull-10{position:relative;right:41.6667%}.el-col-xl-push-10{position:relative;left:41.6667%}.el-col-xl-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-xl-11.is-guttered{display:block}.el-col-xl-offset-11{margin-left:45.8333%}.el-col-xl-pull-11{position:relative;right:45.8333%}.el-col-xl-push-11{position:relative;left:45.8333%}.el-col-xl-12{flex:0 0 50%;max-width:50%;display:block}.el-col-xl-12.is-guttered{display:block}.el-col-xl-offset-12{margin-left:50%}.el-col-xl-pull-12{position:relative;right:50%}.el-col-xl-push-12{position:relative;left:50%}.el-col-xl-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-xl-13.is-guttered{display:block}.el-col-xl-offset-13{margin-left:54.1667%}.el-col-xl-pull-13{position:relative;right:54.1667%}.el-col-xl-push-13{position:relative;left:54.1667%}.el-col-xl-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-xl-14.is-guttered{display:block}.el-col-xl-offset-14{margin-left:58.3333%}.el-col-xl-pull-14{position:relative;right:58.3333%}.el-col-xl-push-14{position:relative;left:58.3333%}.el-col-xl-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-xl-15.is-guttered{display:block}.el-col-xl-offset-15{margin-left:62.5%}.el-col-xl-pull-15{position:relative;right:62.5%}.el-col-xl-push-15{position:relative;left:62.5%}.el-col-xl-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-xl-16.is-guttered{display:block}.el-col-xl-offset-16{margin-left:66.6667%}.el-col-xl-pull-16{position:relative;right:66.6667%}.el-col-xl-push-16{position:relative;left:66.6667%}.el-col-xl-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-xl-17.is-guttered{display:block}.el-col-xl-offset-17{margin-left:70.8333%}.el-col-xl-pull-17{position:relative;right:70.8333%}.el-col-xl-push-17{position:relative;left:70.8333%}.el-col-xl-18{flex:0 0 75%;max-width:75%;display:block}.el-col-xl-18.is-guttered{display:block}.el-col-xl-offset-18{margin-left:75%}.el-col-xl-pull-18{position:relative;right:75%}.el-col-xl-push-18{position:relative;left:75%}.el-col-xl-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-xl-19.is-guttered{display:block}.el-col-xl-offset-19{margin-left:79.1667%}.el-col-xl-pull-19{position:relative;right:79.1667%}.el-col-xl-push-19{position:relative;left:79.1667%}.el-col-xl-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-xl-20.is-guttered{display:block}.el-col-xl-offset-20{margin-left:83.3333%}.el-col-xl-pull-20{position:relative;right:83.3333%}.el-col-xl-push-20{position:relative;left:83.3333%}.el-col-xl-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-xl-21.is-guttered{display:block}.el-col-xl-offset-21{margin-left:87.5%}.el-col-xl-pull-21{position:relative;right:87.5%}.el-col-xl-push-21{position:relative;left:87.5%}.el-col-xl-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-xl-22.is-guttered{display:block}.el-col-xl-offset-22{margin-left:91.6667%}.el-col-xl-pull-22{position:relative;right:91.6667%}.el-col-xl-push-22{position:relative;left:91.6667%}.el-col-xl-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-xl-23.is-guttered{display:block}.el-col-xl-offset-23{margin-left:95.8333%}.el-col-xl-pull-23{position:relative;right:95.8333%}.el-col-xl-push-23{position:relative;left:95.8333%}.el-col-xl-24{flex:0 0 100%;max-width:100%;display:block}.el-col-xl-24.is-guttered{display:block}.el-col-xl-offset-24{margin-left:100%}.el-col-xl-pull-24{position:relative;right:100%}.el-col-xl-push-24{position:relative;left:100%}}.el-collapse-item.is-disabled .el-collapse-item__header{color:var(--el-text-color-disabled);cursor:not-allowed}.el-collapse-item__header{width:100%;min-height:var(--el-collapse-header-height);line-height:var(--el-collapse-header-height);background-color:var(--el-collapse-header-bg-color);color:var(--el-collapse-header-text-color);cursor:pointer;border:none;border-bottom:1px solid var(--el-collapse-border-color);font-size:var(--el-collapse-header-font-size);transition:border-bottom-color var(--el-transition-duration);box-sizing:border-box;outline:none;align-items:center;padding:0;font-weight:500;display:flex}.el-collapse-item__arrow{transition:transform var(--el-transition-duration);font-weight:300}.el-collapse-item__arrow.is-active{transform:rotate(90deg)}.el-collapse-item__title{text-align:left;flex:auto}.el-collapse-item__header.focusing:focus:not(:hover){color:var(--el-color-primary)}.el-collapse-item__header.is-active{border-bottom-color:#0000}.el-collapse-item__wrap{will-change:height;background-color:var(--el-collapse-content-bg-color);box-sizing:border-box;border-bottom:1px solid var(--el-collapse-border-color);overflow:hidden}.el-collapse-item__content{font-size:var(--el-collapse-content-font-size);color:var(--el-collapse-content-text-color);padding-bottom:25px;line-height:1.76923}.el-collapse-item:last-child{margin-bottom:-1px}.el-collapse{--el-collapse-border-color:var(--el-border-color-lighter);--el-collapse-header-height:48px;--el-collapse-header-bg-color:var(--el-fill-color-blank);--el-collapse-header-text-color:var(--el-text-color-primary);--el-collapse-header-font-size:13px;--el-collapse-content-bg-color:var(--el-fill-color-blank);--el-collapse-content-font-size:13px;--el-collapse-content-text-color:var(--el-text-color-primary);border-top:1px solid var(--el-collapse-border-color);border-bottom:1px solid var(--el-collapse-border-color)}.el-collapse-icon-position-left .el-collapse-item__header{gap:8px}.el-collapse-icon-position-left .el-collapse-item__title{order:1}.el-collapse-icon-position-right .el-collapse-item__header{padding-right:8px}.el-color-picker-panel{--el-colorpicker-bg-color:var(--el-bg-color-overlay);--el-fill-color-blank:var(--el-colorpicker-bg-color);box-sizing:content-box;background:var(--el-colorpicker-bg-color);width:300px;padding:12px}.el-color-picker-panel.is-border{border:solid 1px var(--el-border-color-lighter);border-radius:4px}.el-color-picker-panel__wrapper{margin-bottom:6px}.el-color-picker-panel__footer{text-align:right;justify-content:space-between;margin-top:12px;display:flex}.el-color-picker-panel__footer .el-input{color:#000;width:160px;font-size:12px;line-height:26px}.el-color-picker-panel.is-disabled .el-color-svpanel,.el-color-picker-panel.is-disabled .el-color-hue-slider{cursor:not-allowed;opacity:.3}.el-color-picker-panel.is-disabled .el-color-hue-slider__thumb{cursor:not-allowed}.el-color-picker-panel.is-disabled .el-color-alpha-slider,.el-color-picker-panel.is-disabled .el-color-predefine .el-color-predefine__color-selector{cursor:not-allowed;opacity:.3}.el-color-predefine{width:280px;margin-top:8px;font-size:12px;display:flex}.el-color-predefine__colors{flex-wrap:wrap;flex:1;gap:8px;display:flex}.el-color-predefine__color-selector{border-radius:var(--el-border-radius-base);cursor:pointer;border:none;outline:none;width:20px;height:20px;padding:0;overflow:hidden}.el-color-predefine__color-selector.selected{box-shadow:0 0 3px 2px var(--el-color-primary)}.el-color-predefine__color-selector:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-color-predefine__color-selector>div{height:100%;display:flex}.el-color-predefine__color-selector.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-hue-slider{box-sizing:border-box;float:right;background-color:red;width:280px;height:12px;padding:0 2px;position:relative}.el-color-hue-slider__bar{background:linear-gradient(90deg,red 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);height:100%;position:relative}.el-color-hue-slider__thumb{cursor:pointer;box-sizing:border-box;border:1px solid var(--el-border-color-lighter);z-index:1;background:#fff;border-radius:1px;width:4px;height:100%;position:absolute;top:0;left:0;box-shadow:0 0 2px #0009}.el-color-hue-slider__thumb:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:1px}.el-color-hue-slider.is-vertical{width:12px;height:180px;padding:2px 0}.el-color-hue-slider.is-vertical .el-color-hue-slider__bar{background:linear-gradient(red 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}.el-color-hue-slider.is-vertical .el-color-hue-slider__thumb{width:100%;height:4px;top:0;left:0}.el-color-svpanel{background-image:linear-gradient(#0000,#000),linear-gradient(90deg,#fff,#fff0);width:280px;height:180px;position:relative}.el-color-svpanel__cursor{cursor:pointer;border-radius:50%;width:4px;height:4px;position:absolute;transform:translate(-2px,-2px);box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px #0000004d,0 0 1px 2px #0006}.el-color-svpanel__cursor:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-color-alpha-slider{box-sizing:border-box;background-image:linear-gradient(45deg, var(--el-color-picker-alpha-bg-a) 25%, var(--el-color-picker-alpha-bg-b) 25%), linear-gradient(135deg, var(--el-color-picker-alpha-bg-a) 25%, var(--el-color-picker-alpha-bg-b) 25%), linear-gradient(45deg, var(--el-color-picker-alpha-bg-b) 75%, var(--el-color-picker-alpha-bg-a) 75%), linear-gradient(135deg, var(--el-color-picker-alpha-bg-b) 75%, var(--el-color-picker-alpha-bg-a) 75%);background-position:0 0,6px 0,6px -6px,0 6px;background-size:12px 12px;width:280px;height:12px;position:relative}.el-color-alpha-slider.is-disabled .el-color-alpha-slider__thumb{cursor:not-allowed}.el-color-alpha-slider__bar{background:linear-gradient(to right, #fff0 0%, var(--el-bg-color) 100%);height:100%;position:relative}.el-color-alpha-slider__thumb{cursor:pointer;box-sizing:border-box;border:1px solid var(--el-border-color-lighter);z-index:1;background:#fff;border-radius:1px;width:4px;height:100%;position:absolute;top:0;left:0;box-shadow:0 0 2px #0009}.el-color-alpha-slider__thumb:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:1px}.el-color-alpha-slider.is-vertical{width:20px;height:180px}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar{background:linear-gradient(#fff0 0%,#fff 100%)}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb{width:100%;height:4px;top:0;left:0}.el-color-picker-panel{--el-color-picker-alpha-bg-a:#ccc;--el-color-picker-alpha-bg-b:transparent}.dark .el-color-picker-panel{--el-color-picker-alpha-bg-a:#333}.el-color-picker{outline:none;width:32px;height:32px;line-height:normal;display:inline-block;position:relative}.el-color-picker:hover:not(:-webkit-any(.is-disabled,.is-focused)) .el-color-picker__trigger{border-color:var(--el-border-color-hover)}.el-color-picker:hover:not(:is(.is-disabled,.is-focused)) .el-color-picker__trigger{border-color:var(--el-border-color-hover)}.el-color-picker:focus-visible:not(.is-disabled) .el-color-picker__trigger{outline:2px solid var(--el-color-primary);outline-offset:1px}.el-color-picker.is-focused .el-color-picker__trigger{border-color:var(--el-color-primary)}.el-color-picker.is-disabled .el-color-picker__trigger{cursor:not-allowed;background-color:var(--el-fill-color-light)}.el-color-picker.is-disabled .el-color-picker__color{opacity:.3}.el-color-picker--large{width:40px;height:40px}.el-color-picker--small{width:24px;height:24px}.el-color-picker--small .el-color-picker__icon,.el-color-picker--small .el-color-picker__empty{transform:scale(.8)}.el-color-picker__trigger{box-sizing:border-box;border:1px solid var(--el-border-color);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;width:100%;height:100%;padding:4px;font-size:0;display:inline-flex;position:relative}.el-color-picker__color{box-sizing:border-box;border:1px solid var(--el-text-color-secondary);border-radius:var(--el-border-radius-small);text-align:center;width:100%;height:100%;display:block;position:relative}.el-color-picker__color.is-alpha{background-image:linear-gradient(45deg, var(--el-color-picker-alpha-bg-a) 25%, var(--el-color-picker-alpha-bg-b) 25%), linear-gradient(135deg, var(--el-color-picker-alpha-bg-a) 25%, var(--el-color-picker-alpha-bg-b) 25%), linear-gradient(45deg, var(--el-color-picker-alpha-bg-b) 75%, var(--el-color-picker-alpha-bg-a) 75%), linear-gradient(135deg, var(--el-color-picker-alpha-bg-b) 75%, var(--el-color-picker-alpha-bg-a) 75%);background-position:0 0,6px 0,6px -6px,0 6px;background-size:12px 12px}.el-color-picker__color-inner{justify-content:center;align-items:center;width:100%;height:100%;display:inline-flex}.el-color-picker .el-color-picker__empty{color:var(--el-text-color-secondary);font-size:12px}.el-color-picker .el-color-picker__icon{color:#fff;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.el-color-picker__panel{border-radius:var(--el-border-radius-base);box-shadow:var(--el-box-shadow-light);background-color:#fff}.el-color-picker__panel.el-popper{border:1px solid var(--el-border-color-lighter)}.el-color-picker,.el-color-picker__panel{--el-color-picker-alpha-bg-a:#ccc;--el-color-picker-alpha-bg-b:transparent}.dark .el-color-picker,.dark .el-color-picker__panel{--el-color-picker-alpha-bg-a:#333}.el-container{box-sizing:border-box;flex-direction:row;flex:auto;min-width:0;display:flex}.el-container.is-vertical{flex-direction:column}.el-date-table{-webkit-user-select:none;user-select:none;font-size:12px}.el-date-table.is-week-mode .el-date-table__row:hover .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:var(--el-datepicker-text-color)}.el-date-table.is-week-mode .el-date-table__row:hover td:first-child .el-date-table-cell{border-top-left-radius:15px;border-bottom-left-radius:15px;margin-left:5px}.el-date-table.is-week-mode .el-date-table__row:hover td:last-child .el-date-table-cell{border-top-right-radius:15px;border-bottom-right-radius:15px;margin-right:5px}.el-date-table.is-week-mode .el-date-table__row.current .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table td{box-sizing:border-box;text-align:center;cursor:pointer;width:32px;height:30px;padding:4px 0;position:relative}.el-date-table td .el-date-table-cell{box-sizing:border-box;height:30px;padding:3px 0}.el-date-table td .el-date-table-cell .el-date-table-cell__text{border-radius:50%;width:24px;height:24px;margin:0 auto;line-height:24px;display:block;position:absolute;left:50%;transform:translate(-50%)}.el-date-table td.next-month,.el-date-table td.prev-month{color:var(--el-datepicker-off-text-color)}.el-date-table td.today{position:relative}.el-date-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-date-table td.today.start-date .el-date-table-cell__text,.el-date-table td.today.end-date .el-date-table-cell__text{color:#fff}.el-date-table td.available:hover{color:var(--el-datepicker-hover-text-color)}.el-date-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-date-table td.current:not(.disabled) .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-date-table td.current:not(.disabled):focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-date-table td.start-date .el-date-table-cell,.el-date-table td.end-date .el-date-table-cell{color:#fff}.el-date-table td.start-date .el-date-table-cell__text,.el-date-table td.end-date .el-date-table-cell__text{background-color:var(--el-datepicker-active-color)}.el-date-table td.start-date .el-date-table-cell{border-top-left-radius:15px;border-bottom-left-radius:15px;margin-left:5px}.el-date-table td.end-date .el-date-table-cell{border-top-right-radius:15px;border-bottom-right-radius:15px;margin-right:5px}.el-date-table td.disabled .el-date-table-cell{background-color:var(--el-fill-color-light);opacity:1;cursor:not-allowed;color:var(--el-text-color-placeholder)}.el-date-table td.selected .el-date-table-cell{border-radius:15px;margin-left:5px;margin-right:5px}.el-date-table td.selected .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#fff;border-radius:15px}.el-date-table td.week{color:var(--el-datepicker-off-text-color);cursor:default;font-size:80%}.el-date-table td:focus{outline:none}.el-date-table th{color:var(--el-datepicker-header-text-color);border-bottom:solid 1px var(--el-border-color-lighter);padding:5px;font-weight:400}.el-date-table th.el-date-table__week-header{width:24px;padding:0}.el-month-table{border-collapse:collapse;margin:-1px;font-size:12px}.el-month-table td{text-align:center;cursor:pointer;width:68px;padding:8px 0;position:relative}.el-month-table td .el-date-table-cell{box-sizing:border-box;height:48px;padding:6px 0}.el-month-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-month-table td.today.start-date .el-date-table-cell__text,.el-month-table td.today.end-date .el-date-table-cell__text{color:#fff}.el-month-table td.disabled .el-date-table-cell__text{background-color:var(--el-fill-color-light);cursor:not-allowed;color:var(--el-text-color-placeholder)}.el-month-table td.disabled .el-date-table-cell__text:hover{color:var(--el-text-color-placeholder)}.el-month-table td .el-date-table-cell__text{width:54px;height:36px;color:var(--el-datepicker-text-color);border-radius:18px;margin:0 auto;line-height:36px;display:block;position:absolute;left:50%;transform:translate(-50%)}.el-month-table td .el-date-table-cell__text:hover{color:var(--el-datepicker-hover-text-color)}.el-month-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-month-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-month-table td.start-date .el-date-table-cell,.el-month-table td.end-date .el-date-table-cell{color:#fff}.el-month-table td.start-date .el-date-table-cell__text,.el-month-table td.end-date .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-month-table td.start-date .el-date-table-cell{border-top-left-radius:24px;border-bottom-left-radius:24px;margin-left:3px}.el-month-table td.end-date .el-date-table-cell{border-top-right-radius:24px;border-bottom-right-radius:24px;margin-right:3px}.el-month-table td.current:not(.disabled) .el-date-table-cell{border-radius:24px;margin-left:3px;margin-right:3px}.el-month-table td.current:not(.disabled) .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-month-table td:focus-visible{outline:none}.el-month-table td:focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-year-table{border-collapse:collapse;margin:-1px;font-size:12px}.el-year-table .el-icon{color:var(--el-datepicker-icon-color)}.el-year-table td{text-align:center;cursor:pointer;width:68px;padding:8px 0;position:relative}.el-year-table td .el-date-table-cell{box-sizing:border-box;height:48px;padding:6px 0}.el-year-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-year-table td.today.start-date .el-date-table-cell__text,.el-year-table td.today.end-date .el-date-table-cell__text{color:#fff}.el-year-table td.disabled .el-date-table-cell__text{background-color:var(--el-fill-color-light);cursor:not-allowed;color:var(--el-text-color-placeholder)}.el-year-table td.disabled .el-date-table-cell__text:hover{color:var(--el-text-color-placeholder)}.el-year-table td .el-date-table-cell__text{width:60px;height:36px;color:var(--el-datepicker-text-color);border-radius:18px;margin:0 auto;line-height:36px;display:block;position:absolute;left:50%;transform:translate(-50%)}.el-year-table td .el-date-table-cell__text:hover{color:var(--el-datepicker-hover-text-color)}.el-year-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-year-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-year-table td.start-date .el-date-table-cell,.el-year-table td.end-date .el-date-table-cell{color:#fff}.el-year-table td.start-date .el-date-table-cell__text,.el-year-table td.end-date .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-year-table td.start-date .el-date-table-cell{border-top-left-radius:24px;border-bottom-left-radius:24px}.el-year-table td.end-date .el-date-table-cell{border-top-right-radius:24px;border-bottom-right-radius:24px}.el-year-table td.current:not(.disabled) .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-year-table td:focus-visible{outline:none}.el-year-table td:focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{vertical-align:top;width:50%;max-height:192px;display:inline-block;position:relative;overflow:auto}.el-time-spinner__wrapper.el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-time-spinner__wrapper.is-arrow{box-sizing:border-box;text-align:center;overflow:hidden}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:default}.el-time-spinner__arrow{color:var(--el-text-color-secondary);width:100%;z-index:var(--el-index-normal);text-align:center;cursor:pointer;height:30px;font-size:12px;line-height:30px;position:absolute;left:0}.el-time-spinner__arrow:hover{color:var(--el-color-primary)}.el-time-spinner__arrow.arrow-up{top:10px}.el-time-spinner__arrow.arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__input.el-input .el-input__inner{text-align:center;padding:0}.el-time-spinner__list{text-align:center;margin:0;padding:0;list-style:none}.el-time-spinner__list:after,.el-time-spinner__list:before{content:"";width:100%;height:80px;display:block}.el-time-spinner__item{height:32px;color:var(--el-text-color-regular);font-size:12px;line-height:32px}.el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:pointer}.el-time-spinner__item.is-active:not(.is-disabled){color:var(--el-text-color-primary);font-weight:700}.el-time-spinner__item.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-picker__popper{--el-datepicker-border-color:var(--el-disabled-border-color)}.el-picker__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-datepicker-border-color);box-shadow:var(--el-box-shadow-light)}.el-picker__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-datepicker-border-color)}.el-picker__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-picker__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-picker__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-picker__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-date-editor{--el-date-editor-width:220px;--el-date-editor-monthrange-width:300px;--el-date-editor-daterange-width:350px;--el-date-editor-datetimerange-width:400px;--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;text-align:left;vertical-align:middle;position:relative}.el-date-editor.el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset}.el-date-editor.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-date-editor.is-focus .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-date-editor.el-input,.el-date-editor.el-input__wrapper{width:var(--el-date-editor-width);height:var(--el-input-height,var(--el-component-size))}.el-date-editor--monthrange{--el-date-editor-width:var(--el-date-editor-monthrange-width)}.el-date-editor--daterange,.el-date-editor--timerange{--el-date-editor-width:var(--el-date-editor-daterange-width)}.el-date-editor--datetimerange{--el-date-editor-width:var(--el-date-editor-datetimerange-width)}.el-date-editor--dates .el-input__wrapper{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .close-icon,.el-date-editor .clear-icon{cursor:pointer}.el-date-editor .clear-icon:hover{color:var(--el-input-clear-hover-color)}.el-date-editor .el-range__icon{height:inherit;color:var(--el-text-color-placeholder);float:left;font-size:14px}.el-date-editor .el-range__icon svg{vertical-align:middle}.el-date-editor .el-range-input{appearance:none;text-align:center;width:39%;height:30px;line-height:30px;font-size:var(--el-font-size-base);color:var(--el-text-color-regular);background-color:#0000;border:none;outline:none;margin:0;padding:0;display:inline-block}.el-date-editor .el-range-input::placeholder{color:var(--el-text-color-placeholder)}.el-date-editor .el-range-separator{overflow-wrap:break-word;height:100%;color:var(--el-text-color-primary);flex:1;justify-content:center;align-items:center;margin:0;padding:0 5px;font-size:14px;display:inline-flex}.el-date-editor .el-range__close-icon{color:var(--el-text-color-placeholder);height:inherit;width:unset;cursor:pointer;font-size:14px}.el-date-editor .el-range__close-icon:hover{color:var(--el-input-clear-hover-color)}.el-date-editor .el-range__close-icon svg{vertical-align:middle}.el-date-editor .el-range__close-icon--hidden{opacity:0;visibility:hidden}.el-range-editor.el-input__wrapper{vertical-align:middle;align-items:center;padding:0 10px;display:inline-flex}.el-range-editor.is-active,.el-range-editor.is-active:hover{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-range-editor--large{line-height:var(--el-component-size-large)}.el-range-editor--large.el-input__wrapper{height:var(--el-component-size-large)}.el-range-editor--large .el-range-separator{font-size:14px;line-height:40px}.el-range-editor--large .el-range-input{height:38px;font-size:14px;line-height:38px}.el-range-editor--small{line-height:var(--el-component-size-small)}.el-range-editor--small.el-input__wrapper{height:var(--el-component-size-small)}.el-range-editor--small .el-range-separator{font-size:12px;line-height:24px}.el-range-editor--small .el-range-input{height:22px;font-size:12px;line-height:22px}.el-range-editor.is-disabled{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled:hover,.el-range-editor.is-disabled:focus{border-color:var(--el-disabled-border-color)}.el-range-editor.is-disabled input{background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled input::placeholder{color:var(--el-text-color-placeholder)}.el-range-editor.is-disabled .el-range-separator{color:var(--el-disabled-text-color)}.el-picker-panel{color:var(--el-text-color-regular);background:var(--el-datepicker-bg-color);border-radius:var(--el-popper-border-radius,var(--el-border-radius-base));line-height:30px}.el-picker-panel .el-time-panel{border:solid 1px var(--el-datepicker-border-color);background-color:var(--el-datepicker-bg-color);box-shadow:var(--el-box-shadow-light);margin:5px 0}.el-picker-panel__body:after,.el-picker-panel__body-wrapper:after{content:"";clear:both;display:table}.el-picker-panel__content{margin:15px;position:relative}.el-picker-panel__footer{border-top:1px solid var(--el-datepicker-inner-border-color);text-align:right;background-color:var(--el-datepicker-bg-color);padding:4px 12px;font-size:0;position:relative}.el-picker-panel__shortcut{width:100%;color:var(--el-datepicker-text-color);text-align:left;cursor:pointer;background-color:#0000;border:0;outline:none;padding-left:12px;font-size:14px;line-height:28px;display:block}.el-picker-panel__shortcut:hover{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__shortcut.active{color:var(--el-datepicker-active-color);background-color:#e6f1fe}.el-picker-panel__btn{border:1px solid var(--el-fill-color-darker);color:var(--el-text-color-primary);cursor:pointer;background-color:#0000;border-radius:2px;outline:none;padding:0 20px;font-size:12px;line-height:24px}.el-picker-panel__btn[disabled]{color:var(--el-text-color-disabled);cursor:not-allowed}.el-picker-panel__icon-btn{color:var(--el-datepicker-icon-color);cursor:pointer;background:0 0;border:0;outline:none;margin-top:8px;padding:1px 6px;font-size:12px;line-height:1}.el-picker-panel__icon-btn:hover,.el-picker-panel__icon-btn:focus-visible{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__icon-btn.is-disabled{color:var(--el-text-color-disabled)}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__icon-btn.is-disabled .el-icon{cursor:inherit}.el-picker-panel__icon-btn .el-icon{cursor:pointer;font-size:inherit}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel.is-disabled .el-picker-panel__prev-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__prev-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__prev-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__next-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__next-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__next-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__icon-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__icon-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__icon-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__shortcut{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__shortcut:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__shortcut .el-icon{cursor:inherit}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{border-right:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;width:110px;padding-top:6px;position:absolute;top:0;bottom:0;overflow:auto}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-date-picker{--el-datepicker-text-color:var(--el-text-color-regular);--el-datepicker-off-text-color:var(--el-text-color-placeholder);--el-datepicker-header-text-color:var(--el-text-color-regular);--el-datepicker-icon-color:var(--el-text-color-primary);--el-datepicker-border-color:var(--el-disabled-border-color);--el-datepicker-inner-border-color:var(--el-border-color-light);--el-datepicker-inrange-bg-color:var(--el-border-color-extra-light);--el-datepicker-inrange-hover-bg-color:var(--el-border-color-extra-light);--el-datepicker-active-color:var(--el-color-primary);--el-datepicker-hover-text-color:var(--el-color-primary);--el-datepicker-bg-color:var(--el-bg-color-overlay);--el-fill-color-blank:var(--el-datepicker-bg-color);width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{padding:0 5px;display:table-cell;position:relative}.el-date-picker__time-header{border-bottom:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;width:100%;padding:8px 5px 5px;font-size:12px;display:table;position:relative}.el-date-picker__header{text-align:center;padding:12px 12px 0}.el-date-picker__header--bordered{border-bottom:solid 1px var(--el-border-color-lighter);margin-bottom:0;padding-bottom:12px}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{text-align:center;cursor:pointer;color:var(--el-text-color-regular);padding:0 5px;font-size:16px;font-weight:500;line-height:22px}.el-date-picker__header-label:hover{color:var(--el-datepicker-hover-text-color)}.el-date-picker__header-label:focus-visible{color:var(--el-datepicker-hover-text-color);outline:none}.el-date-picker__header-label.active{color:var(--el-datepicker-active-color)}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{text-align:center;padding:10px}.el-date-picker__time-label{float:left;cursor:pointer;margin-left:10px;line-height:30px}.el-date-picker .el-time-panel{position:absolute}.el-date-picker.is-disabled .el-date-picker__header-label{color:var(--el-text-color-disabled)}.el-date-picker.is-disabled .el-date-picker__header-label:hover{cursor:not-allowed}.el-date-picker.is-disabled .el-date-picker__header-label .el-icon{cursor:inherit}.el-date-range-picker{--el-datepicker-text-color:var(--el-text-color-regular);--el-datepicker-off-text-color:var(--el-text-color-placeholder);--el-datepicker-header-text-color:var(--el-text-color-regular);--el-datepicker-icon-color:var(--el-text-color-primary);--el-datepicker-border-color:var(--el-disabled-border-color);--el-datepicker-inner-border-color:var(--el-border-color-light);--el-datepicker-inrange-bg-color:var(--el-border-color-extra-light);--el-datepicker-inrange-hover-bg-color:var(--el-border-color-extra-light);--el-datepicker-active-color:var(--el-color-primary);--el-datepicker-hover-text-color:var(--el-color-primary);--el-datepicker-bg-color:var(--el-bg-color-overlay);width:646px}.el-date-range-picker.has-sidebar{width:756px}.el-date-range-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-range-picker table{table-layout:fixed;width:100%}.el-date-range-picker .el-picker-panel__body{min-width:513px}.el-date-range-picker .el-picker-panel__content{margin:0}.el-date-range-picker.single-panel{width:322px}.el-date-range-picker.single-panel .el-picker-panel__body{min-width:322px}.el-date-range-picker.single-panel.has-sidebar.has-time{width:434px}.el-date-range-picker.single-panel.has-sidebar{width:438px}.el-date-range-picker.single-panel .el-picker-panel__content{width:292px;margin:15px;padding:0;display:block;position:relative}.el-date-range-picker__header{text-align:center;height:28px;position:relative}.el-date-range-picker__header [class*=arrow-left]{float:left}.el-date-range-picker__header [class*=arrow-right]{float:right}.el-date-range-picker__header div{margin-right:50px;font-size:16px;font-weight:500}.el-date-range-picker__header-label{text-align:center;cursor:pointer;color:var(--el-text-color-regular);padding:0 5px;font-size:16px;font-weight:500;line-height:22px}.el-date-range-picker__header-label:hover{color:var(--el-datepicker-hover-text-color)}.el-date-range-picker__header-label:focus-visible{color:var(--el-datepicker-hover-text-color);outline:none}.el-date-range-picker__header-label.active{color:var(--el-datepicker-active-color)}.el-date-range-picker__content{box-sizing:border-box;width:50%;margin:0;padding:16px;display:table-cell}.el-date-range-picker__content.is-left{border-right:1px solid var(--el-datepicker-inner-border-color)}.el-date-range-picker__content .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.el-date-range-picker__editors-wrap{box-sizing:border-box;display:table-cell}.el-date-range-picker__editors-wrap.is-right{text-align:right}.el-date-range-picker__time-header{border-bottom:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;width:100%;padding:8px 5px 5px;font-size:12px;display:table;position:relative}.el-date-range-picker__time-header>.el-icon-arrow-right{vertical-align:middle;color:var(--el-datepicker-icon-color);font-size:20px;display:table-cell}.el-date-range-picker__time-picker-wrap{padding:0 5px;display:table-cell;position:relative}.el-date-range-picker__time-picker-wrap .el-picker-panel{z-index:1;background:#fff;position:absolute;top:13px;right:0}.el-date-range-picker__time-picker-wrap .el-time-panel{position:absolute}.el-date-range-picker.is-disabled .el-date-range-picker__header-label{color:var(--el-text-color-disabled)}.el-date-range-picker.is-disabled .el-date-range-picker__header-label:hover{cursor:not-allowed}.el-date-range-picker.is-disabled .el-date-range-picker__header-label .el-icon{cursor:inherit}.el-time-range-picker{width:354px;overflow:visible}.el-time-range-picker__content{text-align:center;z-index:1;padding:10px;position:relative}.el-time-range-picker__cell{box-sizing:border-box;width:50%;margin:0;padding:4px 7px 7px;display:inline-block}.el-time-range-picker__header{text-align:center;margin-bottom:5px;font-size:14px}.el-time-range-picker__body{border:1px solid var(--el-datepicker-border-color);border-radius:2px}.el-time-panel{width:180px;z-index:var(--el-index-top);-webkit-user-select:none;user-select:none;box-sizing:content-box;border-radius:2px;position:relative;left:0}.el-time-panel__content{font-size:0;position:relative;overflow:hidden}.el-time-panel__content:after,.el-time-panel__content:before{content:"";z-index:-1;box-sizing:border-box;text-align:left;height:32px;margin-top:-16px;padding-top:6px;position:absolute;top:50%;left:0;right:0}.el-time-panel__content:after{margin-left:12%;margin-right:12%;left:50%}.el-time-panel__content:before{border-top:1px solid var(--el-border-color-light);border-bottom:1px solid var(--el-border-color-light);margin-left:12%;margin-right:12%;padding-left:50%}.el-time-panel__content.has-seconds:after{left:66.6667%}.el-time-panel__content.has-seconds:before{padding-left:33.3333%}.el-time-panel__footer{border-top:1px solid var(--el-timepicker-inner-border-color,var(--el-border-color-light));text-align:right;box-sizing:border-box;height:36px;padding:4px;line-height:25px}.el-time-panel__btn{cursor:pointer;color:var(--el-text-color-primary);background-color:#0000;border:none;outline:none;margin:0 5px;padding:0 5px;font-size:12px;line-height:28px}.el-time-panel__btn.confirm{color:var(--el-timepicker-active-color,var(--el-color-primary));font-weight:800}.el-picker-panel.is-border{border:solid 1px var(--el-border-color-lighter)}.el-picker-panel.is-border .el-picker-panel__body-wrapper{position:relative}.el-picker-panel.is-border.el-picker-panel [slot=sidebar],.el-picker-panel.is-border.el-picker-panel__sidebar{border-right:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;width:110px;height:100%;padding-top:6px;position:absolute;top:0;overflow:auto}.el-descriptions{--el-descriptions-table-border:1px solid var(--el-border-color-lighter);--el-descriptions-item-bordered-label-background:var(--el-fill-color-light);box-sizing:border-box;font-size:var(--el-font-size-base);color:var(--el-text-color-primary)}.el-descriptions__header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.el-descriptions__title{color:var(--el-text-color-primary);font-size:16px;font-weight:700}.el-descriptions__body{background-color:var(--el-fill-color-blank)}.el-descriptions__body .el-descriptions__table{border-collapse:collapse;width:100%}.el-descriptions__body .el-descriptions__table .el-descriptions__cell{box-sizing:border-box;text-align:left;font-size:14px;line-height:23px}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-left{text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-center{text-align:center}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-right{text-align:right}.el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{border:var(--el-descriptions-table-border);padding:8px 11px}.el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:12px}.el-descriptions--large{font-size:14px}.el-descriptions--large .el-descriptions__header{margin-bottom:20px}.el-descriptions--large .el-descriptions__header .el-descriptions__title{font-size:16px}.el-descriptions--large .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:14px}.el-descriptions--large .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:12px 15px}.el-descriptions--large .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:16px}.el-descriptions--small{font-size:12px}.el-descriptions--small .el-descriptions__header{margin-bottom:12px}.el-descriptions--small .el-descriptions__header .el-descriptions__title{font-size:14px}.el-descriptions--small .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:12px}.el-descriptions--small .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:4px 7px}.el-descriptions--small .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:8px}.el-descriptions__label.el-descriptions__cell.is-bordered-label{color:var(--el-text-color-regular);background:var(--el-descriptions-item-bordered-label-background);font-weight:700}.el-descriptions__label:not(.is-bordered-label){color:var(--el-text-color-primary);margin-right:16px}.el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:6px}.el-descriptions__content.el-descriptions__cell.is-bordered-content{color:var(--el-text-color-primary)}.el-descriptions__content:not(.is-bordered-label){color:var(--el-text-color-regular)}.el-descriptions--large .el-descriptions__label:not(.is-bordered-label){margin-right:16px}.el-descriptions--large .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:8px}.el-descriptions--small .el-descriptions__label:not(.is-bordered-label){margin-right:12px}.el-descriptions--small .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:4px}:root{--el-popup-modal-bg-color:var(--el-color-black);--el-popup-modal-opacity:.5}.v-modal-enter{animation:v-modal-in var(--el-transition-duration-fast) ease}.v-modal-leave{animation:v-modal-out var(--el-transition-duration-fast) ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{width:100%;height:100%;opacity:var(--el-popup-modal-opacity);background:var(--el-popup-modal-bg-color);position:fixed;top:0;left:0}.el-popup-parent--hidden{overflow:hidden}.el-dialog{--el-dialog-width:50%;--el-dialog-margin-top:15vh;--el-dialog-bg-color:var(--el-bg-color);--el-dialog-box-shadow:var(--el-box-shadow);--el-dialog-title-font-size:var(--el-font-size-large);--el-dialog-content-font-size:14px;--el-dialog-font-line-height:var(--el-font-line-height-primary);--el-dialog-padding-primary:16px;--el-dialog-border-radius:var(--el-border-radius-base);margin:var(--el-dialog-margin-top,15vh) auto 50px;background:var(--el-dialog-bg-color);border-radius:var(--el-dialog-border-radius);box-shadow:var(--el-dialog-box-shadow);box-sizing:border-box;padding:var(--el-dialog-padding-primary);width:var(--el-dialog-width,50%);overflow-wrap:break-word;position:relative}.el-dialog:focus{outline:none!important}.el-dialog.is-align-center{margin:auto}.el-dialog.is-fullscreen{--el-dialog-width:100%;--el-dialog-margin-top:0;border-radius:0;height:100%;margin-bottom:0;overflow:auto}.el-dialog__wrapper{margin:0;position:fixed;inset:0;overflow:auto}.el-dialog.is-draggable .el-dialog__header{cursor:move;-webkit-user-select:none;user-select:none}.el-dialog__header{padding-bottom:var(--el-dialog-padding-primary)}.el-dialog__header.show-close{padding-right:calc(var(--el-dialog-padding-primary) + var(--el-message-close-size,16px))}.el-dialog__headerbtn{cursor:pointer;width:48px;height:48px;font-size:var(--el-message-close-size,16px);background:0 0;border:none;outline:none;padding:0;position:absolute;top:0;right:0}.el-dialog__headerbtn .el-dialog__close{color:var(--el-color-info);font-size:inherit}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:var(--el-color-primary)}.el-dialog__title{line-height:var(--el-dialog-font-line-height);font-size:var(--el-dialog-title-font-size);color:var(--el-text-color-primary)}.el-dialog__body{color:var(--el-text-color-regular);font-size:var(--el-dialog-content-font-size)}.el-dialog__footer{padding-top:var(--el-dialog-padding-primary);text-align:right;box-sizing:border-box}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial}.el-dialog--center .el-dialog__footer{text-align:inherit}.el-modal-dialog.is-penetrable{pointer-events:none}.el-modal-dialog.is-penetrable .el-dialog{pointer-events:auto}.el-overlay-dialog{position:fixed;inset:0;overflow:auto}.el-overlay-dialog.is-closing .el-dialog{pointer-events:none}.dialog-fade-enter-active{animation:modal-fade-in var(--el-transition-duration)}.dialog-fade-enter-active .el-overlay-dialog{animation:dialog-fade-in var(--el-transition-duration)}.dialog-fade-leave-active{animation:modal-fade-out var(--el-transition-duration)}.dialog-fade-leave-active .el-overlay-dialog{animation:dialog-fade-out var(--el-transition-duration)}@keyframes dialog-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translate(0)}}@keyframes dialog-fade-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translateY(-20px)}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}.el-divider{position:relative}.el-divider--horizontal{border-top:1px var(--el-border-color) var(--el-border-style);width:100%;height:1px;margin:24px 0;display:block}.el-divider--vertical{vertical-align:middle;border-left:1px var(--el-border-color) var(--el-border-style);width:1px;height:1em;margin:0 8px;display:inline-block;position:relative}.el-divider__text{background-color:var(--el-bg-color);color:var(--el-text-color-primary);padding:0 20px;font-size:14px;font-weight:500;position:absolute}.el-divider__text.is-left{left:20px;transform:translateY(-50%)}.el-divider__text.is-center{left:50%;transform:translate(-50%)translateY(-50%)}.el-divider__text.is-right{right:20px;transform:translateY(-50%)}.el-overlay.is-drawer{overflow:hidden}.el-drawer{--el-drawer-bg-color:var(--el-dialog-bg-color,var(--el-bg-color));--el-drawer-padding-primary:var(--el-dialog-padding-primary,20px);--el-drawer-dragger-size:8px;box-sizing:border-box;background-color:var(--el-drawer-bg-color);box-shadow:var(--el-box-shadow-dark);transition:all var(--el-transition-duration);flex-direction:column;display:flex;position:absolute}.el-drawer .rtl,.el-drawer .ltr,.el-drawer .ttb,.el-drawer .btt{transform:translate(0)}.el-drawer__sr-focus:focus{outline:none!important}.el-drawer__header{color:var(--el-text-color-primary);padding:var(--el-drawer-padding-primary);align-items:center;margin-bottom:32px;padding-bottom:0;display:flex;overflow:hidden}.el-drawer__header>:first-child{flex:1}.el-drawer__title{line-height:inherit;flex:1;margin:0;font-size:16px}.el-drawer__footer{padding:var(--el-drawer-padding-primary);text-align:right;padding-top:10px;overflow:hidden}.el-drawer__close-btn{cursor:pointer;font-size:var(--el-font-size-extra-large);color:inherit;background-color:#0000;border:none;outline:none;display:inline-flex}.el-drawer__close-btn:focus i,.el-drawer__close-btn:hover i{color:var(--el-color-primary)}.el-drawer__body{padding:var(--el-drawer-padding-primary);flex:1;overflow:auto}.el-drawer__body>*{box-sizing:border-box}.el-drawer.is-dragging{transition:none}.el-drawer__dragger{-webkit-user-select:none;user-select:none;background-color:#0000;transition:all .2s;position:absolute}.el-drawer__dragger:before{content:"";background-color:#0000;transition:all .2s;position:absolute}.el-drawer__dragger:hover:before{background-color:var(--el-color-primary)}.el-drawer.ltr,.el-drawer.rtl{height:100%;top:0;bottom:0}.el-drawer.ltr>.el-drawer__dragger,.el-drawer.rtl>.el-drawer__dragger{height:100%;width:var(--el-drawer-dragger-size);cursor:ew-resize;top:0;bottom:0}.el-drawer.ltr>.el-drawer__dragger:before,.el-drawer.rtl>.el-drawer__dragger:before{width:3px;top:0;bottom:0}.el-drawer.ttb,.el-drawer.btt{width:100%;left:0;right:0}.el-drawer.ttb>.el-drawer__dragger,.el-drawer.btt>.el-drawer__dragger{width:100%;height:var(--el-drawer-dragger-size);cursor:ns-resize;left:0;right:0}.el-drawer.ttb>.el-drawer__dragger:before,.el-drawer.btt>.el-drawer__dragger:before{height:3px;left:0;right:0}.el-drawer.ltr{left:0}.el-drawer.ltr>.el-drawer__dragger{right:0}.el-drawer.ltr>.el-drawer__dragger:before{right:-2px}.el-drawer.rtl{right:0}.el-drawer.rtl>.el-drawer__dragger{left:0}.el-drawer.rtl>.el-drawer__dragger:before{left:-2px}.el-drawer.ttb{top:0}.el-drawer.ttb>.el-drawer__dragger{bottom:0}.el-drawer.ttb>.el-drawer__dragger:before{bottom:-2px}.el-drawer.btt{bottom:0}.el-drawer.btt>.el-drawer__dragger{top:0}.el-drawer.btt>.el-drawer__dragger:before{top:-2px}.el-modal-drawer.is-penetrable{pointer-events:none}.el-modal-drawer.is-penetrable .el-drawer{pointer-events:auto}.el-drawer-fade-enter-active,.el-drawer-fade-leave-active{transition:all var(--el-transition-duration)}.el-drawer-fade-enter-from,.el-drawer-fade-enter-active,.el-drawer-fade-enter-to,.el-drawer-fade-leave-from,.el-drawer-fade-leave-active,.el-drawer-fade-leave-to{overflow:hidden!important}.el-drawer-fade-enter-from,.el-drawer-fade-leave-to{background-color:#0000!important}.el-drawer-fade-enter-from .rtl,.el-drawer-fade-leave-to .rtl{transform:translate(100%)}.el-drawer-fade-enter-from .ltr,.el-drawer-fade-leave-to .ltr{transform:translate(-100%)}.el-drawer-fade-enter-from .ttb,.el-drawer-fade-leave-to .ttb{transform:translateY(-100%)}.el-drawer-fade-enter-from .btt,.el-drawer-fade-leave-to .btt{transform:translateY(100%)}.el-dropdown{--el-dropdown-menu-box-shadow:var(--el-box-shadow-light);--el-dropdown-menuItem-hover-fill:var(--el-color-primary-light-9);--el-dropdown-menuItem-hover-color:var(--el-color-primary);--el-dropdown-menu-index:10;color:var(--el-text-color-regular);font-size:var(--el-font-size-base);vertical-align:top;line-height:1;display:inline-flex;position:relative}.el-dropdown.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-dropdown__popper{--el-dropdown-menu-box-shadow:var(--el-box-shadow-light);--el-dropdown-menuItem-hover-fill:var(--el-color-primary-light-9);--el-dropdown-menuItem-hover-color:var(--el-color-primary);--el-dropdown-menu-index:10}.el-dropdown__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-dropdown-menu-box-shadow)}.el-dropdown__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-dropdown__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-dropdown__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-dropdown__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-dropdown__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-dropdown__popper .el-dropdown-menu{border:none}.el-dropdown__popper .el-dropdown__popper-selfdefine{outline:none}.el-dropdown__popper .el-scrollbar__bar{z-index:calc(var(--el-dropdown-menu-index) + 1)}.el-dropdown__popper .el-dropdown__list{box-sizing:border-box;margin:0;padding:0;list-style:none}.el-dropdown .el-dropdown__caret-button{border-left:none;justify-content:center;align-items:center;width:32px;padding-left:0;padding-right:0;display:inline-flex}.el-dropdown .el-dropdown__caret-button>span{display:inline-flex}.el-dropdown .el-dropdown__caret-button:before{content:"";background:var(--el-overlay-color-lighter);width:1px;display:block;position:absolute;top:-1px;bottom:-1px;left:0}.el-dropdown .el-dropdown__caret-button.el-button:before{background:var(--el-border-color);opacity:.5}.el-dropdown .el-dropdown__caret-button .el-dropdown__icon{font-size:inherit;padding-left:0}.el-dropdown .el-dropdown-selfdefine{outline:none}.el-dropdown--large .el-dropdown__caret-button{width:40px}.el-dropdown--small .el-dropdown__caret-button{width:24px}.el-dropdown-menu{z-index:var(--el-dropdown-menu-index);background-color:var(--el-bg-color-overlay);border-radius:var(--el-border-radius-base);box-shadow:none;border:none;margin:0;padding:5px 0;list-style:none;position:relative;top:0;left:0}.el-dropdown-menu__item{white-space:nowrap;line-height:22px;font-size:var(--el-font-size-base);color:var(--el-text-color-regular);cursor:pointer;outline:none;align-items:center;margin:0;padding:5px 16px;list-style:none;display:flex}.el-dropdown-menu__item:not(.is-disabled):hover,.el-dropdown-menu__item:not(.is-disabled):focus{background-color:var(--el-dropdown-menuItem-hover-fill);color:var(--el-dropdown-menuItem-hover-color)}.el-dropdown-menu__item i{margin-right:5px}.el-dropdown-menu__item--divided{border-top:1px solid var(--el-border-color-lighter);margin:6px 0}.el-dropdown-menu__item.is-disabled{cursor:not-allowed;color:var(--el-text-color-disabled)}.el-dropdown-menu--large{padding:7px 0}.el-dropdown-menu--large .el-dropdown-menu__item{padding:7px 20px;font-size:14px;line-height:22px}.el-dropdown-menu--large .el-dropdown-menu__item--divided{margin:8px 0}.el-dropdown-menu--small{padding:3px 0}.el-dropdown-menu--small .el-dropdown-menu__item{padding:2px 12px;font-size:12px;line-height:20px}.el-dropdown-menu--small .el-dropdown-menu__item--divided{margin:4px 0}.el-empty{--el-empty-padding:40px 0;--el-empty-image-width:160px;--el-empty-description-margin-top:20px;--el-empty-bottom-margin-top:20px;--el-empty-fill-color-0:var(--el-color-white);--el-empty-fill-color-1:#fcfcfd;--el-empty-fill-color-2:#f8f9fb;--el-empty-fill-color-3:#f7f8fc;--el-empty-fill-color-4:#eeeff3;--el-empty-fill-color-5:#edeef2;--el-empty-fill-color-6:#e9ebef;--el-empty-fill-color-7:#e5e7e9;--el-empty-fill-color-8:#e0e3e9;--el-empty-fill-color-9:#d5d7de;text-align:center;box-sizing:border-box;padding:var(--el-empty-padding);flex-direction:column;justify-content:center;align-items:center;display:flex}.el-empty__image{width:var(--el-empty-image-width)}.el-empty__image img{-webkit-user-select:none;user-select:none;vertical-align:top;object-fit:contain;width:100%;height:100%}.el-empty__image svg{color:var(--el-svg-monochrome-grey);fill:currentColor;vertical-align:top;width:100%;height:100%}.el-empty__description{margin-top:var(--el-empty-description-margin-top)}.el-empty__description p{font-size:var(--el-font-size-base);color:var(--el-text-color-secondary);margin:0}.el-empty__bottom{margin-top:var(--el-empty-bottom-margin-top)}.el-footer{--el-footer-padding:0 20px;--el-footer-height:60px;padding:var(--el-footer-padding);box-sizing:border-box;height:var(--el-footer-height);flex-shrink:0}.el-form-item{--font-size:14px;margin-bottom:18px;display:flex}.el-form-item .el-form-item{margin-bottom:0}.el-form-item .el-input__validateIcon{display:none}.el-form-item--large{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:22px}.el-form-item--large .el-form-item__label{height:40px;line-height:40px}.el-form-item--large .el-form-item__content{line-height:40px}.el-form-item--large .el-form-item__error{padding-top:4px}.el-form-item--default{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--default .el-form-item__label{height:32px;line-height:32px}.el-form-item--default .el-form-item__content{line-height:32px}.el-form-item--default .el-form-item__error{padding-top:2px}.el-form-item--small{--font-size:12px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--small .el-form-item__label{height:24px;line-height:24px}.el-form-item--small .el-form-item__content{line-height:24px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item--label-left .el-form-item__label{text-align:left;justify-content:flex-start}.el-form-item--label-right .el-form-item__label{text-align:right;justify-content:flex-end}.el-form-item--label-top{display:block}.el-form-item--label-top .el-form-item__label{text-align:left;width:fit-content;height:auto;margin-bottom:8px;padding-right:0;line-height:22px;display:block}.el-form-item__label-wrap{display:flex}.el-form-item__label{font-size:var(--el-form-label-font-size);color:var(--el-text-color-regular);box-sizing:border-box;flex:none;align-items:flex-start;height:32px;padding:0 12px 0 0;line-height:32px;display:inline-flex}.el-form-item__content{line-height:32px;font-size:var(--font-size);flex-wrap:wrap;flex:1;align-items:center;min-width:0;display:flex;position:relative}.el-form-item__content .el-input-group{vertical-align:top}.el-form-item__error{color:var(--el-color-danger);padding-top:2px;font-size:12px;line-height:1;position:absolute;top:100%;left:0}.el-form-item__error--inline{margin-left:10px;display:inline-block;position:relative;top:auto;left:auto}.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label-wrap>.el-form-item__label:before{content:"*";color:var(--el-color-danger);margin-right:4px}.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label:after,.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label-wrap>.el-form-item__label:after{content:"*";color:var(--el-color-danger);margin-left:4px}.el-form-item.is-error .el-form-item__content .el-input__wrapper,.el-form-item.is-error .el-form-item__content .el-input__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-input__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-input__wrapper.is-focus,.el-form-item.is-error .el-form-item__content .el-textarea__inner,.el-form-item.is-error .el-form-item__content .el-textarea__inner:hover,.el-form-item.is-error .el-form-item__content .el-textarea__inner:focus,.el-form-item.is-error .el-form-item__content .el-textarea__inner.is-focus,.el-form-item.is-error .el-form-item__content .el-select__wrapper,.el-form-item.is-error .el-form-item__content .el-select__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-select__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-select__wrapper.is-focus,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper.is-focus,.el-form-item.is-error .el-form-item__content :not(.el-input-otp--underlined) .el-input-otp__input-field,.el-form-item.is-error .el-form-item__content :not(.el-input-otp--underlined) .el-input-otp__input-field:hover,.el-form-item.is-error .el-form-item__content :not(.el-input-otp--underlined) .el-input-otp__input-field:focus,.el-form-item.is-error .el-form-item__content :not(.el-input-otp--underlined) .el-input-otp__input-field.is-focus,.el-form-item.is-error .el-form-item__content .el-input-otp--underlined .el-input-otp__input-field:after,.el-form-item.is-error .el-form-item__content .el-input-otp--underlined .el-input-otp__input-field:hover:after,.el-form-item.is-error .el-form-item__content .el-input-otp--underlined .el-input-otp__input-field:focus:after,.el-form-item.is-error .el-form-item__content .el-input-otp--underlined .el-input-otp__input-field.is-focus:after{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-form-item.is-error .el-form-item__content .el-input-group__append .el-input__wrapper,.el-form-item.is-error .el-form-item__content .el-input-group__prepend .el-input__wrapper{box-shadow:inset 0 0 0 1px #0000}.el-form-item.is-error .el-form-item__content .el-input-group__append .el-input__validateIcon,.el-form-item.is-error .el-form-item__content .el-input-group__prepend .el-input__validateIcon{display:none}.el-form-item.is-error .el-form-item__content .el-input__validateIcon{color:var(--el-color-danger)}.el-form-item--feedback .el-input__validateIcon{display:inline-flex}.el-form{--el-form-label-font-size:var(--el-font-size-base);--el-form-inline-content-width:220px}.el-form--inline .el-form-item{vertical-align:middle;margin-right:32px;display:inline-flex}.el-form--inline .el-form-item:last-child{margin-right:0}.el-form--inline.el-form--label-top{flex-wrap:wrap;display:flex}.el-form--inline.el-form--label-top .el-form-item{display:block}.el-header{--el-header-padding:0 20px;--el-header-height:60px;padding:var(--el-header-padding);box-sizing:border-box;height:var(--el-header-height);flex-shrink:0}.el-image-viewer__wrapper{position:fixed;inset:0}.el-image-viewer__wrapper:focus{outline:none!important}.el-image-viewer__btn{z-index:1;opacity:.8;cursor:pointer;box-sizing:border-box;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.el-image-viewer__btn .el-icon{cursor:pointer}.el-image-viewer__close{width:40px;height:40px;font-size:40px;top:40px;right:40px}.el-image-viewer__canvas{-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:static}.el-image-viewer__actions{background-color:var(--el-text-color-regular);border-color:#fff;border-radius:22px;height:44px;padding:0 23px;bottom:30px;left:50%;transform:translate(-50%)}.el-image-viewer__actions__inner{cursor:default;color:#fff;justify-content:space-around;align-items:center;gap:22px;width:100%;height:100%;padding:0 6px;font-size:23px;display:flex}.el-image-viewer__actions__divider{margin:0 -6px}.el-image-viewer__progress{cursor:default;color:#fff;bottom:90px;left:50%;transform:translate(-50%)}.el-image-viewer__prev{color:#fff;background-color:var(--el-text-color-regular);border-color:#fff;width:44px;height:44px;font-size:24px;top:50%;left:40px;transform:translateY(-50%)}.el-image-viewer__next{text-indent:2px;color:#fff;background-color:var(--el-text-color-regular);border-color:#fff;width:44px;height:44px;font-size:24px;top:50%;right:40px;transform:translateY(-50%)}.el-image-viewer__close{color:#fff;background-color:var(--el-text-color-regular);border-color:#fff;width:44px;height:44px;font-size:24px}.el-image-viewer__mask{opacity:.5;background:#000;width:100%;height:100%;position:absolute;top:0;left:0}.el-image-viewer-parent--hidden{overflow:hidden}.viewer-fade-enter-active{animation:viewer-fade-in var(--el-transition-duration)}.viewer-fade-leave-active{animation:viewer-fade-out var(--el-transition-duration)}@keyframes viewer-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translate(0)}}@keyframes viewer-fade-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translateY(-20px)}}.el-image__error,.el-image__placeholder,.el-image__wrapper,.el-image__inner{width:100%;height:100%}.el-image{display:inline-block;position:relative;overflow:hidden}.el-image__inner{vertical-align:top;opacity:1}.el-image__inner.is-loading{opacity:0}.el-image__wrapper{position:absolute;top:0;left:0}.el-image__placeholder{background:var(--el-fill-color-light)}.el-image__error{background:var(--el-fill-color-light);color:var(--el-text-color-placeholder);vertical-align:middle;justify-content:center;align-items:center;font-size:14px;display:flex}.el-image__preview{cursor:pointer}.el-textarea{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;vertical-align:bottom;width:100%;font-size:var(--el-font-size-base);display:inline-block;position:relative}.el-textarea__inner{cursor:auto;resize:vertical;box-sizing:border-box;width:100%;line-height:1.5;font-size:inherit;color:var(--el-input-text-color,var(--el-text-color-regular));background-color:var(--el-input-bg-color,var(--el-fill-color-blank));-webkit-appearance:none;box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));transition:var(--el-transition-box-shadow);background-image:none;border:none;padding:5px 11px;font-family:inherit;display:block;position:relative}.el-textarea__inner.is-clearable{padding:5px 26px 5px 11px}.el-textarea__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-textarea__inner:focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset;outline:none}.el-textarea__clear{color:var(--el-input-icon-color);cursor:pointer;font-size:14px;position:absolute;top:15px;right:11px;transform:translateY(-50%)}.el-textarea__clear:hover{color:var(--el-input-clear-hover-color)}.el-textarea .el-input__count{color:var(--el-color-info);background:var(--el-fill-color-blank);font-size:12px;line-height:14px;position:absolute;bottom:5px;right:10px}.el-textarea .el-input__count.is-outside{top:100%;right:0;bottom:unset;background:0 0;padding-top:2px;line-height:1;position:absolute}.el-textarea.is-disabled .el-textarea__inner{box-shadow:0 0 0 1px var(--el-disabled-border-color) inset;background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-exceed .el-textarea__inner{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-textarea.is-exceed .el-input__count{color:var(--el-color-danger)}.el-input{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;--el-input-height:var(--el-component-size);font-size:var(--el-font-size-base);width:var(--el-input-width);line-height:var(--el-input-height);box-sizing:border-box;vertical-align:middle;display:inline-flex;position:relative}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{background:var(--el-text-color-disabled);border-radius:5px;width:6px}.el-input::-webkit-scrollbar-corner{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track-piece{background:var(--el-fill-color-blank);width:6px}.el-input .el-input__clear,.el-input .el-input__password{color:var(--el-input-icon-color);cursor:pointer;font-size:14px}.el-input .el-input__clear:hover,.el-input .el-input__password:hover{color:var(--el-input-clear-hover-color)}.el-input .el-input__count{height:100%;color:var(--el-color-info);align-items:center;font-size:12px;display:inline-flex}.el-input .el-input__count .el-input__count-inner{background:var(--el-fill-color-blank);line-height:initial;padding-left:8px;display:inline-block}.el-input .el-input__count.is-outside{height:unset;padding-top:2px;position:absolute;top:100%;right:0}.el-input .el-input__count.is-outside .el-input__count-inner{background:0 0;padding-left:0;line-height:1}.el-input__wrapper{background-color:var(--el-input-bg-color,var(--el-fill-color-blank));border-radius:var(--el-input-border-radius,var(--el-border-radius-base));cursor:text;transition:var(--el-transition-box-shadow);box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;background-image:none;flex-grow:1;justify-content:center;align-items:center;padding:1px 11px;display:inline-flex;transform:translate(0)}.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input{--el-input-inner-height:calc(var(--el-input-height,32px) - 2px)}.el-input__inner{-webkit-appearance:none;width:100%;color:var(--el-input-text-color,var(--el-text-color-regular));font-size:inherit;height:var(--el-input-inner-height);line-height:var(--el-input-inner-height);box-sizing:border-box;background:0 0;border:none;outline:none;flex-grow:1;padding:0}.el-input__inner:focus{outline:none}.el-input__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner[type=password]::-ms-reveal{display:none}.el-input__inner[type=number]{line-height:1}.el-input__prefix{white-space:nowrap;height:100%;line-height:var(--el-input-inner-height);text-align:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none;flex-wrap:nowrap;flex-shrink:0;display:inline-flex}.el-input__prefix-inner{pointer-events:all;justify-content:center;align-items:center;display:inline-flex}.el-input__prefix-inner>:last-child{margin-right:8px}.el-input__prefix-inner>:first-child,.el-input__prefix-inner>:first-child.el-input__icon{margin-left:0}.el-input__suffix{white-space:nowrap;height:100%;line-height:var(--el-input-inner-height);text-align:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none;flex-wrap:nowrap;flex-shrink:0;display:inline-flex}.el-input__suffix-inner{pointer-events:all;justify-content:center;align-items:center;display:inline-flex}.el-input__suffix-inner>:first-child{margin-left:8px}.el-input .el-input__icon{height:inherit;line-height:inherit;transition:all var(--el-transition-duration);justify-content:center;align-items:center;margin-left:8px;display:flex}.el-input .el-input__clear{transition:color var(--el-transition-duration)}.el-input__validateIcon{pointer-events:none}.el-input.is-active .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-color, ) inset}.el-input.is-disabled{cursor:not-allowed}.el-input.is-disabled .el-input__wrapper{background-color:var(--el-disabled-bg-color);cursor:not-allowed;box-shadow:0 0 0 1px var(--el-disabled-border-color) inset}.el-input.is-disabled .el-input__inner{color:var(--el-disabled-text-color);-webkit-text-fill-color:var(--el-disabled-text-color);cursor:not-allowed}.el-input.is-disabled .el-input__inner::placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-disabled .el-input__prefix-inner,.el-input.is-disabled .el-input__suffix-inner{pointer-events:none}.el-input.is-exceed .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-input.is-exceed .el-input__suffix .el-input__count{color:var(--el-color-danger)}.el-input--large{--el-input-height:var(--el-component-size-large);font-size:14px}.el-input--large .el-input__wrapper{padding:1px 15px}.el-input--large{--el-input-inner-height:calc(var(--el-input-height,40px) - 2px)}.el-input--small{--el-input-height:var(--el-component-size-small);font-size:12px}.el-input--small .el-input__wrapper{padding:1px 7px}.el-input--small{--el-input-inner-height:calc(var(--el-input-height,24px) - 2px)}.el-input-group{align-items:stretch;width:100%;display:inline-flex}.el-input-group__append,.el-input-group__prepend{background-color:var(--el-fill-color-light);color:var(--el-color-info);border-radius:var(--el-input-border-radius);white-space:nowrap;justify-content:center;align-items:center;min-height:100%;padding:0 20px;display:inline-flex;position:relative}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:none}.el-input-group__append .el-select,.el-input-group__append .el-button,.el-input-group__prepend .el-select,.el-input-group__prepend .el-button{flex:1;margin:0 -20px;display:inline-block}.el-input-group__append button.el-button,.el-input-group__append button.el-button:hover,.el-input-group__append div.el-select .el-select__wrapper,.el-input-group__append div.el-select:hover .el-select__wrapper,.el-input-group__prepend button.el-button,.el-input-group__prepend button.el-button:hover,.el-input-group__prepend div.el-select .el-select__wrapper,.el-input-group__prepend div.el-select:hover .el-select__wrapper{color:inherit;background-color:#0000;border-color:#0000}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{box-shadow:1px 0 0 0 var(--el-input-border-color) inset, 0 1px 0 0 var(--el-input-border-color) inset, 0 -1px 0 0 var(--el-input-border-color) inset;border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append{box-shadow:0 1px 0 0 var(--el-input-border-color) inset, 0 -1px 0 0 var(--el-input-border-color) inset, -1px 0 0 0 var(--el-input-border-color) inset;border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend>.el-input__wrapper{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-input-group__prepend .el-select .el-select__wrapper{box-shadow:1px 0 0 0 var(--el-input-border-color) inset, 0 1px 0 0 var(--el-input-border-color) inset, 0 -1px 0 0 var(--el-input-border-color) inset;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append>.el-input__wrapper{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append .el-input-group__append .el-select .el-select__wrapper{box-shadow:0 1px 0 0 var(--el-input-border-color) inset, 0 -1px 0 0 var(--el-input-border-color) inset, -1px 0 0 0 var(--el-input-border-color) inset;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-hidden{display:none!important}.el-input-number{vertical-align:middle;width:150px;line-height:30px;display:inline-flex;position:relative}.el-input-number .el-input__wrapper{padding-left:42px;padding-right:42px}.el-input-number .el-input__inner{-webkit-appearance:none;-moz-appearance:textfield;text-align:center;line-height:1}.el-input-number .el-input__inner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.el-input-number .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-input-number.is-left .el-input__inner{text-align:left}.el-input-number.is-right .el-input__inner{text-align:right}.el-input-number.is-center .el-input__inner{text-align:center}.el-input-number__increase,.el-input-number__decrease{z-index:1;background:var(--el-fill-color-light);width:32px;height:auto;color:var(--el-text-color-regular);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;top:1px;bottom:1px}.el-input-number__increase:hover,.el-input-number__decrease:hover{color:var(--el-color-primary)}.el-input-number__increase:hover~.el-input:not(.is-disabled) .el-input__wrapper,.el-input-number__decrease:hover~.el-input:not(.is-disabled) .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-input-number__increase.is-disabled,.el-input-number__decrease.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-input-number__increase{border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0;border-left:var(--el-border);right:1px}.el-input-number__decrease{border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);border-right:var(--el-border);left:1px}.el-input-number.is-disabled .el-input-number__increase,.el-input-number.is-disabled .el-input-number__decrease{border-color:var(--el-disabled-border-color);color:var(--el-disabled-border-color)}.el-input-number.is-disabled .el-input-number__increase:hover,.el-input-number.is-disabled .el-input-number__decrease:hover{color:var(--el-disabled-border-color);cursor:not-allowed}.el-input-number--large{width:180px;line-height:38px}.el-input-number--large .el-input-number__increase,.el-input-number--large .el-input-number__decrease{width:40px;font-size:14px}.el-input-number--large.is-controls-right .el-input--large .el-input__wrapper{padding-right:47px}.el-input-number--large .el-input--large .el-input__wrapper{padding-left:47px;padding-right:47px}.el-input-number--small{width:120px;line-height:22px}.el-input-number--small .el-input-number__increase,.el-input-number--small .el-input-number__decrease{width:24px;font-size:12px}.el-input-number--small.is-controls-right .el-input--small .el-input__wrapper{padding-right:31px}.el-input-number--small .el-input--small .el-input__wrapper{padding-left:31px;padding-right:31px}.el-input-number--small .el-input-number__increase [class*=el-icon],.el-input-number--small .el-input-number__decrease [class*=el-icon]{transform:scale(.9)}.el-input-number.is-without-controls .el-input__wrapper{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__wrapper{padding-left:15px;padding-right:42px}.el-input-number.is-controls-right .el-input-number__increase,.el-input-number.is-controls-right .el-input-number__decrease{--el-input-number-controls-height:15px;height:var(--el-input-number-controls-height);line-height:var(--el-input-number-controls-height)}.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon],.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon]{transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-radius:0 var(--el-border-radius-base) 0 0;border-bottom:var(--el-border);bottom:auto;left:auto}.el-input-number.is-controls-right .el-input-number__decrease{border-right:none;border-left:var(--el-border);border-radius:0 0 var(--el-border-radius-base) 0;top:auto;left:auto;right:1px}.el-input-number.is-controls-right[class*=large] [class*=increase],.el-input-number.is-controls-right[class*=large] [class*=decrease]{--el-input-number-controls-height:19px}.el-input-number.is-controls-right[class*=small] [class*=increase],.el-input-number.is-controls-right[class*=small] [class*=decrease]{--el-input-number-controls-height:11px}.el-input-tag{--el-input-tag-border-color-hover:var(--el-border-color-hover);--el-input-tag-placeholder-color:var(--el-text-color-placeholder);--el-input-tag-disabled-color:var(--el-disabled-text-color);--el-input-tag-disabled-border:var(--el-disabled-border-color);--el-input-tag-font-size:var(--el-font-size-base);--el-input-tag-close-hover-color:var(--el-text-color-secondary);--el-input-tag-text-color:var(--el-text-color-regular);--el-input-tag-input-focus-border-color:var(--el-color-primary);--el-input-tag-width:100%;--el-input-tag-mini-height:var(--el-component-size);--el-input-tag-gap:6px;--el-input-tag-padding:4px;--el-input-tag-inner-padding:8px;--el-input-tag-line-height:24px;box-sizing:border-box;cursor:pointer;font-size:var(--el-input-tag-font-size);padding:var(--el-input-tag-padding);width:var(--el-input-tag-width);min-height:var(--el-input-tag-mini-height);line-height:var(--el-input-tag-line-height);border-radius:var(--el-border-radius-base);background-color:var(--el-fill-color-blank);transition:var(--el-transition-duration);box-shadow:0 0 0 1px var(--el-border-color) inset;align-items:center;display:flex;transform:translate(0)}.el-input-tag.is-focused{box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-input-tag.is-hovering:not(.is-focused){box-shadow:0 0 0 1px var(--el-border-color-hover) inset}.el-input-tag.is-disabled{cursor:not-allowed;background-color:var(--el-fill-color-light);box-shadow:0 0 0 1px var(--el-input-tag-disabled-border) inset}.el-input-tag.is-disabled:hover{box-shadow:0 0 0 1px var(--el-input-tag-disabled-border) inset}.el-input-tag.is-disabled.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input-tag.is-disabled .el-input-tag__inner .el-input-tag__input,.el-input-tag.is-disabled .el-input-tag__inner .el-tag{cursor:not-allowed}.el-input-tag__prefix{padding:0 var(--el-input-tag-inner-padding);color:var(--el-input-icon-color,var(--el-text-color-placeholder));flex-shrink:0;align-items:center;display:flex}.el-input-tag__suffix{padding:0 var(--el-input-tag-inner-padding);color:var(--el-input-icon-color,var(--el-text-color-placeholder));flex-shrink:0;align-items:center;gap:8px;display:flex}.el-input-tag__collapse-tag{line-height:1}.el-input-tag__input-tag-list{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex;position:relative}.el-input-tag__input-tag-list.is-near{margin-left:-8px}.el-input-tag__input-tag-list .el-tag{cursor:pointer;border-color:#0000}.el-input-tag__input-tag-list .el-tag.el-tag--plain{border-color:var(--el-tag-border-color)}.el-input-tag__input-tag-list .el-tag .el-tag__content{min-width:0}.el-input-tag__inner{align-items:center;gap:var(--el-input-tag-gap);flex-wrap:wrap;flex:1;min-width:0;max-width:100%;display:flex;position:relative}.el-input-tag__inner.is-left-space{margin-left:var(--el-input-tag-inner-padding)}.el-input-tag__inner.is-right-space{margin-right:var(--el-input-tag-inner-padding)}.el-input-tag__inner.is-draggable .el-tag{cursor:move;-webkit-user-select:none;user-select:none}.el-input-tag__drop-indicator{width:1px;height:var(--el-input-tag-line-height);background-color:var(--el-color-primary);position:absolute;top:0}.el-input-tag__inner .el-tag{cursor:pointer;border-color:#0000;max-width:100%}.el-input-tag__inner .el-tag.el-tag--plain{border-color:var(--el-tag-border-color)}.el-input-tag__inner .el-tag .el-tag__content{text-overflow:ellipsis;white-space:nowrap;min-width:0;line-height:normal;overflow:hidden}.el-input-tag__input-wrapper{flex:1}.el-input-tag__input{color:var(--el-input-tag-text-color);font-size:inherit;font-family:inherit;line-height:inherit;appearance:none;background-color:#0000;border:none;outline:none;width:100%;padding:0}.el-input-tag__input::placeholder{color:var(--el-input-tag-placeholder-color)}.el-input-tag__input-calculator{visibility:hidden;white-space:pre;max-width:100%;position:absolute;top:0;left:0;overflow:hidden}.el-input-tag--large{--el-input-tag-gap:6px;--el-input-tag-padding:8px;--el-input-tag-padding-left:8px;--el-input-tag-font-size:14px}.el-input-tag--small{--el-input-tag-gap:4px;--el-input-tag-padding:2px;--el-input-tag-padding-left:6px;--el-input-tag-font-size:12px;--el-input-tag-line-height:20px;--el-input-tag-mini-height:var(--el-component-size-small)}.el-input-otp{--el-input-otp-text-color:var(--el-text-color-regular);--el-input-otp-field-width:calc(var(--el-input-otp-size) - 4px);--el-input-otp-gap:8px;--el-input-otp-font-size:14px;--el-input-otp-size:32px}.el-input-otp--large{--el-input-otp-gap:12px;--el-input-otp-font-size:14px;--el-input-otp-size:40px}.el-input-otp--small{--el-input-otp-gap:6px;--el-input-otp-font-size:12px;--el-input-otp-size:24px}.el-input-otp{align-items:center;column-gap:var(--el-input-otp-gap);font-size:var(--el-input-otp-font-size);height:var(--el-input-otp-size);flex-wrap:nowrap;display:inline-flex}.el-input-otp.is-disabled,.el-input-otp.is-disabled .el-input-otp__input{cursor:not-allowed}.el-input-otp__input-field{width:var(--el-input-otp-field-width,calc(var(--el-input-otp-size) - 4px));border-radius:var(--el-border-radius-base);height:100%;line-height:1;position:relative}.el-input-otp__input{text-align:center;width:100%;height:100%;line-height:1;font-size:inherit;color:var(--el-input-otp-text-color,var(--el-text-color-regular));background-color:#0000;border:none;outline:none;padding:0}.el-input-otp.is-disabled .el-input-otp__input{color:var(--el-text-color-disabled)}.el-input-otp--outlined .el-input-otp__input-field{box-shadow:0 0 0 1px var(--el-border-color) inset}@media (hover:hover){.el-input-otp--outlined .el-input-otp__input-field:hover{box-shadow:0 0 0 1px var(--el-color-primary-light-5) inset}}.el-input-otp--outlined .el-input-otp__input-field:focus-within{box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-input-otp--outlined.is-disabled .el-input-otp__input-field{background-color:var(--el-fill-color-light)}@media (hover:hover){.el-input-otp--outlined.is-disabled .el-input-otp__input-field:hover{box-shadow:0 0 0 1px var(--el-border-color) inset}}.el-input-otp--filled .el-input-otp__input-field{background-color:var(--el-fill-color)}@media (hover:hover){.el-input-otp--filled .el-input-otp__input-field:hover{background-color:var(--el-fill-color-dark)}}.el-input-otp--filled .el-input-otp__input-field:focus-within{background-color:var(--el-fill-color-blank);box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-input-otp--filled.is-disabled .el-input-otp__input-field{background-color:var(--el-fill-color-light)}@media (hover:hover){.el-input-otp--filled.is-disabled .el-input-otp__input-field:hover{background-color:var(--el-fill-color-light)}}.el-input-otp--underlined .el-input-otp__input-field:after{content:"";background-color:var(--el-border-color);width:100%;height:1px;display:block;position:absolute;bottom:0;left:0}@media (hover:hover){.el-input-otp--underlined .el-input-otp__input-field:hover:after{background-color:var(--el-color-primary-light-5)}}.el-input-otp--underlined .el-input-otp__input-field:focus-within:after{background-color:var(--el-color-primary)}@media (hover:hover){.el-input-otp--underlined.is-disabled .el-input-otp__input-field:hover:after{background-color:var(--el-border-color)}}.el-link{--el-link-font-size:var(--el-font-size-base);--el-link-font-weight:var(--el-font-weight-primary);--el-link-text-color:var(--el-text-color-regular);--el-link-hover-text-color:var(--el-color-primary);--el-link-disabled-text-color:var(--el-text-color-placeholder);vertical-align:middle;cursor:pointer;font-size:var(--el-link-font-size);font-weight:var(--el-link-font-weight);color:var(--el-link-text-color);outline:none;flex-direction:row;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex;position:relative}.el-link.is-hover-underline:hover:after{content:"";border-bottom:1px solid var(--el-link-hover-text-color);height:0;position:absolute;bottom:0;left:0;right:0}.el-link.is-underline:after{content:"";border-bottom:1px solid var(--el-link-text-color);height:0;position:absolute;bottom:0;left:0;right:0}.el-link:hover{color:var(--el-link-hover-text-color)}.el-link:hover:after{border-color:var(--el-link-hover-text-color)}.el-link [class*=el-icon-]+span{margin-left:5px}.el-link__inner{justify-content:center;align-items:center;display:inline-flex}.el-link.el-link--primary{--el-link-text-color:var(--el-color-primary);--el-link-hover-text-color:var(--el-color-primary-light-3);--el-link-disabled-text-color:var(--el-color-primary-light-5)}.el-link.el-link--success{--el-link-text-color:var(--el-color-success);--el-link-hover-text-color:var(--el-color-success-light-3);--el-link-disabled-text-color:var(--el-color-success-light-5)}.el-link.el-link--warning{--el-link-text-color:var(--el-color-warning);--el-link-hover-text-color:var(--el-color-warning-light-3);--el-link-disabled-text-color:var(--el-color-warning-light-5)}.el-link.el-link--danger{--el-link-text-color:var(--el-color-danger);--el-link-hover-text-color:var(--el-color-danger-light-3);--el-link-disabled-text-color:var(--el-color-danger-light-5)}.el-link.el-link--error{--el-link-text-color:var(--el-color-error);--el-link-hover-text-color:var(--el-color-error-light-3);--el-link-disabled-text-color:var(--el-color-error-light-5)}.el-link.el-link--info{--el-link-text-color:var(--el-color-info);--el-link-hover-text-color:var(--el-color-info-light-3);--el-link-disabled-text-color:var(--el-color-info-light-5)}.el-link.is-disabled{color:var(--el-link-disabled-text-color);cursor:not-allowed}.el-link.is-disabled:after{border-color:var(--el-link-disabled-text-color)}:root{--el-loading-spinner-size:42px;--el-loading-fullscreen-spinner-size:50px}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{z-index:2000;background-color:var(--el-mask-color);transition:opacity var(--el-transition-duration);margin:0;position:absolute;inset:0}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:calc((0px - var(--el-loading-fullscreen-spinner-size)) / 2)}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:var(--el-loading-fullscreen-spinner-size);width:var(--el-loading-fullscreen-spinner-size)}.el-loading-spinner{margin-top:calc((0px - var(--el-loading-spinner-size)) / 2);text-align:center;width:100%;position:absolute;top:50%}.el-loading-spinner .el-loading-text{color:var(--el-color-primary);margin:3px 0;font-size:14px}.el-loading-spinner .circular{height:var(--el-loading-spinner-size);width:var(--el-loading-spinner-size);animation:2s linear infinite loading-rotate;display:inline}.el-loading-spinner .path{stroke-dasharray:90 150;stroke-dashoffset:0;stroke-width:2px;stroke:var(--el-color-primary);stroke-linecap:round;animation:1.5s ease-in-out infinite loading-dash}.el-loading-spinner i{color:var(--el-color-primary)}.el-loading-fade-enter-from,.el-loading-fade-leave-to{opacity:0}@keyframes loading-rotate{to{transform:rotate(360deg)}}@keyframes loading-dash{0%{stroke-dasharray:1 200;stroke-dashoffset:0}50%{stroke-dasharray:90 150;stroke-dashoffset:-40px}to{stroke-dasharray:90 150;stroke-dashoffset:-120px}}.el-main{--el-main-padding:20px;box-sizing:border-box;padding:var(--el-main-padding);flex:auto;display:block;overflow:auto}:root{--el-menu-active-color:var(--el-color-primary);--el-menu-text-color:var(--el-text-color-primary);--el-menu-hover-text-color:var(--el-color-primary);--el-menu-bg-color:var(--el-fill-color-blank);--el-menu-hover-bg-color:var(--el-color-primary-light-9);--el-menu-item-height:56px;--el-menu-sub-item-height:calc(var(--el-menu-item-height) - 6px);--el-menu-horizontal-height:60px;--el-menu-horizontal-sub-item-height:36px;--el-menu-item-font-size:var(--el-font-size-base);--el-menu-item-hover-fill:var(--el-color-primary-light-9);--el-menu-border-color:var(--el-border-color);--el-menu-base-level-padding:20px;--el-menu-level-padding:20px;--el-menu-icon-width:24px}.el-menu{border-right:solid 1px var(--el-menu-border-color);background-color:var(--el-menu-bg-color);box-sizing:border-box;margin:0;padding-left:0;list-style:none;position:relative}.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-sub-menu__title,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item-group__title{white-space:nowrap;padding-left:calc(var(--el-menu-base-level-padding) + var(--el-menu-level) * var(--el-menu-level-padding))}.el-menu:not(.el-menu--collapse) .el-sub-menu__title{padding-right:calc(var(--el-menu-base-level-padding) + var(--el-menu-icon-width))}.el-menu--horizontal{height:var(--el-menu-horizontal-height);border-right:none;flex-wrap:nowrap;display:flex}.el-menu--horizontal.el-menu--popup-container{height:unset}.el-menu--horizontal.el-menu{border-bottom:solid 1px var(--el-menu-border-color)}.el-menu--horizontal>.el-menu-item{height:100%;color:var(--el-menu-text-color);border-bottom:2px solid #0000;justify-content:center;align-items:center;margin:0;display:inline-flex}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-sub-menu:focus,.el-menu--horizontal>.el-sub-menu:hover{outline:none}.el-menu--horizontal>.el-sub-menu:hover .el-sub-menu__title{color:var(--el-menu-hover-text-color)}.el-menu--horizontal>.el-sub-menu.is-active .el-sub-menu__title{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title{height:100%;color:var(--el-menu-text-color);border-bottom:2px solid #0000}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title:hover{background-color:var(--el-menu-bg-color)}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-sub-menu__title{background-color:var(--el-menu-bg-color);height:var(--el-menu-horizontal-sub-item-height);line-height:var(--el-menu-horizontal-sub-item-height);color:var(--el-menu-text-color);align-items:center;padding:0 10px;display:flex}.el-menu--horizontal .el-menu .el-sub-menu__title{padding-right:40px}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-menu-item.is-active:hover,.el-menu--horizontal .el-menu .el-sub-menu.is-active>.el-sub-menu__title,.el-menu--horizontal .el-menu .el-sub-menu.is-active>.el-sub-menu__title:hover{color:var(--el-menu-active-color)}.el-menu--horizontal .el-menu-item:not(.is-disabled):hover,.el-menu--horizontal .el-menu-item:not(.is-disabled):focus{color:var(--el-menu-active-color,var(--el-menu-hover-text-color));background-color:var(--el-menu-hover-bg-color);outline:none}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)!important}.el-menu--collapse{width:calc(var(--el-menu-icon-width) + var(--el-menu-base-level-padding) * 2)}.el-menu--collapse>.el-menu-item [class^=el-icon],.el-menu--collapse>.el-sub-menu>.el-sub-menu__title [class^=el-icon],.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title [class^=el-icon]{vertical-align:middle;width:var(--el-menu-icon-width);text-align:center;margin:0}.el-menu--collapse>.el-menu-item .el-sub-menu__icon-arrow,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow,.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow{display:none}.el-menu--collapse>.el-menu-item>span,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title>span,.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title>span{visibility:hidden;width:0;height:0;display:inline-block;overflow:hidden}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-menu .el-sub-menu{min-width:200px}.el-menu--collapse .el-sub-menu.is-active .el-sub-menu__title{color:var(--el-menu-active-color)}.el-menu--popup{z-index:100;border-radius:var(--el-border-radius-small);min-width:200px;box-shadow:var(--el-box-shadow-light);border:none;padding:5px 0}.el-menu .el-icon{flex-shrink:0}.el-menu-item{height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);font-size:var(--el-menu-item-font-size);color:var(--el-menu-text-color);padding:0 var(--el-menu-base-level-padding);cursor:pointer;transition:border-color var(--el-transition-duration), background-color var(--el-transition-duration), color var(--el-transition-duration);box-sizing:border-box;white-space:nowrap;align-items:center;list-style:none;display:flex;position:relative}.el-menu-item *{vertical-align:bottom}.el-menu-item i{color:inherit}.el-menu-item:hover,.el-menu-item:focus{outline:none}.el-menu-item:hover{background-color:var(--el-menu-hover-bg-color)}.el-menu-item.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-menu-item [class^=el-icon]{width:var(--el-menu-icon-width);text-align:center;vertical-align:middle;margin-right:5px;font-size:18px}.el-menu-item.is-active{color:var(--el-menu-active-color)}.el-menu-item.is-active i{color:inherit}.el-menu-item .el-menu-tooltip__trigger{box-sizing:border-box;width:100%;height:100%;padding:0 var(--el-menu-base-level-padding);align-items:center;display:inline-flex;position:absolute;top:0;left:0}.el-sub-menu{margin:0;padding-left:0;list-style:none}.el-sub-menu__title{height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);font-size:var(--el-menu-item-font-size);color:var(--el-menu-text-color);padding:0 var(--el-menu-base-level-padding);cursor:pointer;transition:border-color var(--el-transition-duration), background-color var(--el-transition-duration), color var(--el-transition-duration);box-sizing:border-box;white-space:nowrap;align-items:center;list-style:none;display:flex;position:relative}.el-sub-menu__title *{vertical-align:bottom}.el-sub-menu__title i{color:inherit}.el-sub-menu__title:hover,.el-sub-menu__title:focus{outline:none}.el-sub-menu__title.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-sub-menu__title:hover{background-color:var(--el-menu-hover-bg-color)}.el-sub-menu .el-menu{border:none}.el-sub-menu .el-menu-item{height:var(--el-menu-sub-item-height);line-height:var(--el-menu-sub-item-height)}.el-sub-menu.el-sub-menu__hide-arrow .el-sub-menu__title{padding-right:var(--el-menu-base-level-padding)}.el-sub-menu__hide-arrow .el-sub-menu__icon-arrow{display:none!important}.el-sub-menu.is-active .el-sub-menu__title{border-bottom-color:var(--el-menu-active-color)}.el-sub-menu.is-disabled .el-sub-menu__title,.el-sub-menu.is-disabled .el-menu-item{opacity:.25;cursor:not-allowed;background:0 0!important}.el-sub-menu .el-icon{vertical-align:middle;width:var(--el-menu-icon-width);text-align:center;margin-right:5px;font-size:18px}.el-sub-menu .el-icon.el-sub-menu__icon-more{margin-right:0!important}.el-sub-menu .el-sub-menu__icon-arrow{top:50%;right:var(--el-menu-base-level-padding);transition:transform var(--el-transition-duration);width:inherit;margin-top:-6px;margin-right:0;font-size:12px;position:absolute}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{padding:7px 0 7px var(--el-menu-base-level-padding);color:var(--el-text-color-secondary);font-size:12px;line-height:normal}.horizontal-collapse-transition .el-sub-menu__title .el-sub-menu__icon-arrow{transition:var(--el-transition-duration-fast);opacity:0}.el-popper,.el-menu--popup-container,.el-menu{outline:none}.el-message-box{--el-messagebox-title-color:var(--el-text-color-primary);--el-messagebox-width:420px;--el-messagebox-border-radius:4px;--el-messagebox-box-shadow:var(--el-box-shadow);--el-messagebox-font-size:var(--el-font-size-large);--el-messagebox-content-font-size:var(--el-font-size-base);--el-messagebox-content-color:var(--el-text-color-regular);--el-messagebox-error-font-size:12px;--el-messagebox-padding-primary:12px;--el-messagebox-font-line-height:var(--el-font-line-height-primary);max-width:var(--el-messagebox-width);width:100%;padding:var(--el-messagebox-padding-primary);vertical-align:middle;background-color:var(--el-bg-color);border-radius:var(--el-messagebox-border-radius);font-size:var(--el-messagebox-font-size);box-shadow:var(--el-messagebox-box-shadow);text-align:left;backface-visibility:hidden;box-sizing:border-box;overflow-wrap:break-word;display:inline-block;position:relative;overflow:hidden}.el-message-box:focus{outline:none!important}.is-message-box .el-overlay-message-box{text-align:center;padding:16px;position:fixed;inset:0;overflow:auto}.is-message-box .el-overlay-message-box:after{content:"";vertical-align:middle;width:0;height:100%;display:inline-block}.el-message-box.is-draggable .el-message-box__header{cursor:move;-webkit-user-select:none;user-select:none}.el-message-box__header{padding-bottom:var(--el-messagebox-padding-primary)}.el-message-box__header.show-close{padding-right:calc(var(--el-messagebox-padding-primary) + var(--el-message-close-size,16px))}.el-message-box__title{font-size:var(--el-messagebox-font-size);line-height:var(--el-messagebox-font-line-height);color:var(--el-messagebox-title-color)}.el-message-box__headerbtn{width:40px;height:40px;font-size:var(--el-message-close-size,16px);cursor:pointer;background:0 0;border:none;outline:none;padding:0;position:absolute;top:0;right:0}.el-message-box__headerbtn .el-message-box__close{color:var(--el-color-info);font-size:inherit}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:var(--el-color-primary)}.el-message-box__content{color:var(--el-messagebox-content-color);font-size:var(--el-messagebox-content-font-size)}.el-message-box__container{align-items:center;gap:12px;display:flex}.el-message-box__input{padding-top:12px}.el-message-box__input div.invalid>input,.el-message-box__input div.invalid>input:focus{border-color:var(--el-color-error)}.el-message-box__status{font-size:24px}.el-message-box__status.el-message-box-icon--primary{--el-messagebox-color:var(--el-color-primary);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--success{--el-messagebox-color:var(--el-color-success);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--info{--el-messagebox-color:var(--el-color-info);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--warning{--el-messagebox-color:var(--el-color-warning);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--error{--el-messagebox-color:var(--el-color-error);color:var(--el-messagebox-color)}.el-message-box__message{min-width:0;margin:0}.el-message-box__message p{line-height:var(--el-messagebox-font-line-height);margin:0}.el-message-box__errormsg{color:var(--el-color-error);font-size:var(--el-messagebox-error-font-size);line-height:var(--el-messagebox-font-line-height)}.el-message-box__btns{padding-top:var(--el-messagebox-padding-primary);flex-wrap:wrap;justify-content:flex-end;align-items:center;display:flex}.el-message-box--center .el-message-box__title{justify-content:center;align-items:center;gap:6px;display:flex}.el-message-box--center .el-message-box__status{font-size:inherit}.el-message-box--center .el-message-box__btns,.el-message-box--center .el-message-box__container{justify-content:center}.el-message-box-parent--hidden{overflow:hidden}.fade-in-linear-enter-active .el-overlay-message-box{animation:msgbox-fade-in var(--el-transition-duration)}.fade-in-linear-leave-active .el-overlay-message-box{animation:msgbox-fade-in var(--el-transition-duration) reverse}@keyframes msgbox-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translate(0)}}.el-message{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-border-color-lighter);--el-message-padding:11px 15px;--el-message-close-size:16px;--el-message-close-icon-color:var(--el-text-color-placeholder);--el-message-close-hover-color:var(--el-text-color-secondary);box-sizing:border-box;border-radius:var(--el-border-radius-base);border-width:var(--el-border-width);border-style:var(--el-border-style);border-color:var(--el-message-border-color);background-color:var(--el-message-bg-color);width:max-content;max-width:calc(100% - 32px);transition:opacity var(--el-transition-duration), transform .4s, top .4s, bottom .4s;padding:var(--el-message-padding);align-items:center;gap:8px;display:flex;position:fixed}.el-message.is-left{left:16px}.el-message.is-right{right:16px}.el-message.is-center{left:50%;transform:translate(-50%)}.el-message.is-plain{background-color:var(--el-bg-color-overlay);border-color:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-message p{margin:0}.el-message--primary{--el-message-bg-color:var(--el-color-primary-light-9);--el-message-border-color:var(--el-color-primary-light-8);--el-message-text-color:var(--el-color-primary)}.el-message--primary .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--primary{color:var(--el-message-text-color)}.el-message--success{--el-message-bg-color:var(--el-color-success-light-9);--el-message-border-color:var(--el-color-success-light-8);--el-message-text-color:var(--el-color-success)}.el-message--success .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--success{color:var(--el-message-text-color)}.el-message--info{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-color-info-light-8);--el-message-text-color:var(--el-color-info)}.el-message--info .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--info{color:var(--el-message-text-color)}.el-message--warning{--el-message-bg-color:var(--el-color-warning-light-9);--el-message-border-color:var(--el-color-warning-light-8);--el-message-text-color:var(--el-color-warning)}.el-message--warning .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--warning{color:var(--el-message-text-color)}.el-message--error{--el-message-bg-color:var(--el-color-error-light-9);--el-message-border-color:var(--el-color-error-light-8);--el-message-text-color:var(--el-color-error)}.el-message--error .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--error{color:var(--el-message-text-color)}.el-message .el-message__badge{position:absolute;top:-8px;right:-8px}.el-message__content{padding:0;font-size:14px;line-height:1}.el-message__content:focus{outline-width:0}.el-message .el-message__closeBtn{cursor:pointer;color:var(--el-message-close-icon-color);font-size:var(--el-message-close-size)}.el-message .el-message__closeBtn:focus{outline-width:0}.el-message .el-message__closeBtn:hover{color:var(--el-message-close-hover-color)}.el-message-fade-enter-from,.el-message-fade-leave-to{opacity:0}.el-message-fade-enter-from.is-left,.el-message-fade-enter-from.is-right,.el-message-fade-leave-to.is-left,.el-message-fade-leave-to.is-right{transform:translateY(-100%)}.el-message-fade-enter-from.is-left.is-bottom,.el-message-fade-enter-from.is-right.is-bottom,.el-message-fade-leave-to.is-left.is-bottom,.el-message-fade-leave-to.is-right.is-bottom{transform:translateY(100%)}.el-message-fade-enter-from.is-center,.el-message-fade-leave-to.is-center{transform:translate(-50%,-100%)}.el-message-fade-enter-from.is-center.is-bottom,.el-message-fade-leave-to.is-center.is-bottom{transform:translate(-50%,100%)}.el-notification{--el-notification-width:330px;--el-notification-padding:14px 26px 14px 13px;--el-notification-radius:8px;--el-notification-shadow:var(--el-box-shadow-light);--el-notification-border-color:var(--el-border-color-lighter);--el-notification-icon-size:24px;--el-notification-close-font-size:var(--el-message-close-size,16px);--el-notification-group-margin-left:13px;--el-notification-group-margin-right:8px;--el-notification-content-font-size:var(--el-font-size-base);--el-notification-content-color:var(--el-text-color-regular);--el-notification-title-font-size:16px;--el-notification-title-color:var(--el-text-color-primary);--el-notification-close-color:var(--el-text-color-secondary);--el-notification-close-hover-color:var(--el-text-color-regular);width:var(--el-notification-width);padding:var(--el-notification-padding);border-radius:var(--el-notification-radius);box-sizing:border-box;border:1px solid var(--el-notification-border-color);background-color:var(--el-bg-color-overlay);box-shadow:var(--el-notification-shadow);transition:opacity var(--el-transition-duration), transform var(--el-transition-duration), left var(--el-transition-duration), right var(--el-transition-duration), top .4s, bottom var(--el-transition-duration);overflow-wrap:break-word;z-index:9999;display:flex;position:fixed;overflow:hidden}.el-notification.right{right:16px}.el-notification.left{left:16px}.el-notification__group{min-width:0;margin-left:var(--el-notification-group-margin-left);margin-right:var(--el-notification-group-margin-right);flex:1}.el-notification__title{font-weight:700;font-size:var(--el-notification-title-font-size);line-height:var(--el-notification-icon-size);color:var(--el-notification-title-color);margin:0}.el-notification__content{font-size:var(--el-notification-content-font-size);color:var(--el-notification-content-color);margin:6px 0 0;line-height:24px}.el-notification__content p{margin:0}.el-notification .el-notification__icon{height:var(--el-notification-icon-size);width:var(--el-notification-icon-size);font-size:var(--el-notification-icon-size);flex-shrink:0}.el-notification .el-notification__closeBtn{cursor:pointer;color:var(--el-notification-close-color);font-size:var(--el-notification-close-font-size);position:absolute;top:18px;right:15px}.el-notification .el-notification__closeBtn:hover{color:var(--el-notification-close-hover-color)}.el-notification .el-notification--primary{--el-notification-icon-color:var(--el-color-primary);color:var(--el-notification-icon-color)}.el-notification .el-notification--success{--el-notification-icon-color:var(--el-color-success);color:var(--el-notification-icon-color)}.el-notification .el-notification--info{--el-notification-icon-color:var(--el-color-info);color:var(--el-notification-icon-color)}.el-notification .el-notification--warning{--el-notification-icon-color:var(--el-color-warning);color:var(--el-notification-icon-color)}.el-notification .el-notification--error{--el-notification-icon-color:var(--el-color-error);color:var(--el-notification-icon-color)}.el-notification-fade-enter-from.right{right:0;transform:translate(100%)}.el-notification-fade-enter-from.left{left:0;transform:translate(-100%)}.el-notification-fade-leave-to{opacity:0}.el-overlay{z-index:2000;background-color:var(--el-overlay-color-lighter);height:100%;position:fixed;inset:0;overflow:auto}.el-overlay .el-overlay-root{height:0}.el-page-header.is-contentful .el-page-header__main{border-top:1px solid var(--el-border-color-light);margin-top:16px}.el-page-header__header{justify-content:space-between;align-items:center;line-height:24px;display:flex}.el-page-header__left{align-items:center;margin-right:40px;display:flex;position:relative}.el-page-header__back{cursor:pointer;align-items:center;display:flex}.el-page-header__left .el-divider--vertical{margin:0 16px}.el-page-header__icon{align-items:center;margin-right:10px;font-size:16px;display:flex}.el-page-header__icon .el-icon{font-size:inherit}.el-page-header__title{font-size:14px;font-weight:500}.el-page-header__content{color:var(--el-text-color-primary);font-size:18px}.el-page-header__breadcrumb{margin-bottom:16px}.el-pagination{--el-pagination-font-size:14px;--el-pagination-bg-color:var(--el-fill-color-blank);--el-pagination-text-color:var(--el-text-color-primary);--el-pagination-border-radius:2px;--el-pagination-button-color:var(--el-text-color-primary);--el-pagination-button-width:32px;--el-pagination-button-height:32px;--el-pagination-button-disabled-color:var(--el-text-color-placeholder);--el-pagination-button-disabled-bg-color:var(--el-fill-color-blank);--el-pagination-button-bg-color:var(--el-fill-color);--el-pagination-hover-color:var(--el-color-primary);--el-pagination-font-size-small:12px;--el-pagination-button-width-small:24px;--el-pagination-button-height-small:24px;--el-pagination-button-width-large:40px;--el-pagination-button-height-large:40px;--el-pagination-item-gap:16px;white-space:nowrap;color:var(--el-pagination-text-color);font-size:var(--el-pagination-font-size);align-items:center;font-weight:400;display:flex}.el-pagination .el-input__inner{text-align:center;-moz-appearance:textfield}.el-pagination .el-select{width:128px}.el-pagination .btn-prev,.el-pagination .btn-next{font-size:var(--el-pagination-font-size);min-width:var(--el-pagination-button-width);height:var(--el-pagination-button-height);line-height:var(--el-pagination-button-height);color:var(--el-pagination-button-color);background:var(--el-pagination-bg-color);border-radius:var(--el-pagination-border-radius);cursor:pointer;text-align:center;box-sizing:border-box;border:none;justify-content:center;align-items:center;padding:0 4px;display:flex}.el-pagination .btn-prev *,.el-pagination .btn-next *{pointer-events:none}.el-pagination .btn-prev:focus,.el-pagination .btn-next:focus{outline:none}.el-pagination .btn-prev:hover,.el-pagination .btn-next:hover{color:var(--el-pagination-hover-color)}.el-pagination .btn-prev.is-active,.el-pagination .btn-next.is-active{color:var(--el-pagination-hover-color);cursor:default;font-weight:700}.el-pagination .btn-prev.is-active.is-disabled,.el-pagination .btn-next.is-active.is-disabled{color:var(--el-text-color-secondary);font-weight:700}.el-pagination .btn-prev:disabled,.el-pagination .btn-prev.is-disabled,.el-pagination .btn-next:disabled,.el-pagination .btn-next.is-disabled{color:var(--el-pagination-button-disabled-color);background-color:var(--el-pagination-button-disabled-bg-color);cursor:not-allowed}.el-pagination .btn-prev:focus-visible,.el-pagination .btn-next:focus-visible{outline:1px solid var(--el-pagination-hover-color);outline-offset:-1px}.el-pagination .btn-prev .el-icon,.el-pagination .btn-next .el-icon{width:inherit;font-size:12px;font-weight:700;display:block}.el-pagination>.is-first{margin-left:0!important}.el-pagination>.is-last{margin-right:0!important}.el-pagination .btn-prev{margin-left:var(--el-pagination-item-gap)}.el-pagination__sizes,.el-pagination__total{margin-left:var(--el-pagination-item-gap);color:var(--el-text-color-regular);font-weight:400}.el-pagination__total[disabled=true]{color:var(--el-text-color-placeholder)}.el-pagination__jump{margin-left:var(--el-pagination-item-gap);color:var(--el-text-color-regular);align-items:center;font-weight:400;display:flex}.el-pagination__jump[disabled=true]{color:var(--el-text-color-placeholder)}.el-pagination__goto{margin-right:8px}.el-pagination__editor{text-align:center;box-sizing:border-box}.el-pagination__editor.el-input{width:56px}.el-pagination__editor .el-input__inner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.el-pagination__editor .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-pagination__classifier{margin-left:8px}.el-pagination__rightwrapper{flex:1;justify-content:flex-end;align-items:center;display:flex}.el-pagination.is-background .btn-prev,.el-pagination.is-background .btn-next,.el-pagination.is-background .el-pager li{background-color:var(--el-pagination-button-bg-color);margin:0 4px}.el-pagination.is-background .btn-prev.is-active,.el-pagination.is-background .btn-next.is-active,.el-pagination.is-background .el-pager li.is-active{background-color:var(--el-color-primary);color:var(--el-color-white)}.el-pagination.is-background .btn-prev:disabled,.el-pagination.is-background .btn-prev.is-disabled,.el-pagination.is-background .btn-next:disabled,.el-pagination.is-background .btn-next.is-disabled,.el-pagination.is-background .el-pager li:disabled,.el-pagination.is-background .el-pager li.is-disabled{color:var(--el-text-color-placeholder);background-color:var(--el-disabled-bg-color)}.el-pagination.is-background .btn-prev:disabled.is-active,.el-pagination.is-background .btn-prev.is-disabled.is-active,.el-pagination.is-background .btn-next:disabled.is-active,.el-pagination.is-background .btn-next.is-disabled.is-active,.el-pagination.is-background .el-pager li:disabled.is-active,.el-pagination.is-background .el-pager li.is-disabled.is-active{color:var(--el-text-color-secondary);background-color:var(--el-fill-color-dark)}.el-pagination.is-background .btn-prev{margin-left:var(--el-pagination-item-gap)}.el-pagination--small .btn-prev,.el-pagination--small .btn-next,.el-pagination--small .el-pager li{height:var(--el-pagination-button-height-small);line-height:var(--el-pagination-button-height-small);font-size:var(--el-pagination-font-size-small);min-width:var(--el-pagination-button-width-small)}.el-pagination--small span:not([class*=suffix]),.el-pagination--small button{font-size:var(--el-pagination-font-size-small)}.el-pagination--small .el-select{width:100px}.el-pagination--large .btn-prev,.el-pagination--large .btn-next,.el-pagination--large .el-pager li{height:var(--el-pagination-button-height-large);line-height:var(--el-pagination-button-height-large);min-width:var(--el-pagination-button-width-large)}.el-pagination--large .el-select .el-input{width:160px}.el-pager{-webkit-user-select:none;user-select:none;align-items:center;margin:0;padding:0;font-size:0;list-style:none;display:flex}.el-pager li{font-size:var(--el-pagination-font-size);min-width:var(--el-pagination-button-width);height:var(--el-pagination-button-height);line-height:var(--el-pagination-button-height);color:var(--el-pagination-button-color);background:var(--el-pagination-bg-color);border-radius:var(--el-pagination-border-radius);cursor:pointer;text-align:center;box-sizing:border-box;border:none;justify-content:center;align-items:center;padding:0 4px;display:flex}.el-pager li *{pointer-events:none}.el-pager li:focus{outline:none}.el-pager li:hover{color:var(--el-pagination-hover-color)}.el-pager li.is-active{color:var(--el-pagination-hover-color);cursor:default;font-weight:700}.el-pager li.is-active.is-disabled{color:var(--el-text-color-secondary);font-weight:700}.el-pager li:disabled,.el-pager li.is-disabled{color:var(--el-pagination-button-disabled-color);background-color:var(--el-pagination-button-disabled-bg-color);cursor:not-allowed}.el-pager li:focus-visible{outline:1px solid var(--el-pagination-hover-color);outline-offset:-1px}.el-popconfirm{outline:none}.el-popconfirm__main{align-items:center;display:flex}.el-popconfirm__icon{margin-right:5px}.el-popconfirm__action{text-align:right;margin-top:8px}.el-popover{--el-popover-bg-color:var(--el-bg-color-overlay);--el-popover-font-size:var(--el-font-size-base);--el-popover-border-color:var(--el-border-color-lighter);--el-popover-padding:12px;--el-popover-padding-large:18px 20px;--el-popover-title-font-size:16px;--el-popover-title-text-color:var(--el-text-color-primary);--el-popover-border-radius:4px}.el-popover.el-popper{background:var(--el-popover-bg-color);border-radius:var(--el-popover-border-radius);border:1px solid var(--el-popover-border-color);min-width:150px;padding:var(--el-popover-padding);z-index:var(--el-index-popper);color:var(--el-text-color-regular);line-height:1.4;font-size:var(--el-popover-font-size);box-shadow:var(--el-box-shadow-light);overflow-wrap:break-word;box-sizing:border-box}.el-popover.el-popper--plain{padding:var(--el-popover-padding-large)}.el-popover__title{color:var(--el-popover-title-text-color);font-size:var(--el-popover-title-font-size);margin-bottom:12px;line-height:1}.el-popover__reference:focus:not(.focusing),.el-popover__reference:focus:hover{outline-width:0}.el-popover.el-popper.is-dark{--el-popover-bg-color:var(--el-text-color-primary);--el-popover-border-color:var(--el-text-color-primary);--el-popover-title-text-color:var(--el-bg-color);color:var(--el-bg-color)}.el-popover.el-popper:focus:active,.el-popover.el-popper:focus{outline-width:0}.el-progress{align-items:center;line-height:1;display:flex;position:relative}.el-progress__text{color:var(--el-text-color-regular);min-width:50px;margin-left:5px;font-size:14px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{text-align:center;width:100%;margin:0;position:absolute;top:50%;left:0;transform:translateY(-50%)}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{margin-right:0;padding-right:0;display:block}.el-progress--text-inside .el-progress-bar{margin-right:0;padding-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:var(--el-color-success)}.el-progress.is-success .el-progress__text{color:var(--el-color-success)}.el-progress.is-warning .el-progress-bar__inner{background-color:var(--el-color-warning)}.el-progress.is-warning .el-progress__text{color:var(--el-color-warning)}.el-progress.is-exception .el-progress-bar__inner{background-color:var(--el-color-danger)}.el-progress.is-exception .el-progress__text{color:var(--el-color-danger)}.el-progress-bar{box-sizing:border-box;flex-grow:1}.el-progress-bar__outer{background-color:var(--el-border-color-lighter);vertical-align:middle;border-radius:100px;height:6px;position:relative;overflow:hidden}.el-progress-bar__inner{background-color:var(--el-color-primary);text-align:right;white-space:nowrap;border-radius:100px;height:100%;line-height:1;transition:width .6s;position:absolute;top:0;left:0}.el-progress-bar__inner:after{content:"";vertical-align:middle;height:100%;display:inline-block}.el-progress-bar__inner--indeterminate{animation:3s infinite indeterminate;transform:translateZ(0)}.el-progress-bar__inner--striped{background-image:linear-gradient(45deg,#0000001a 25%,#0000 25% 50%,#0000001a 50% 75%,#0000 75%,#0000);background-size:1.25em 1.25em}.el-progress-bar__inner--striped.el-progress-bar__inner--striped-flow{animation:3s linear infinite striped-flow}.el-progress-bar__innerText{vertical-align:middle;color:#fff;margin:0 5px;font-size:12px;display:inline-block}@keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}@keyframes indeterminate{0%{left:-100%}to{left:100%}}@keyframes striped-flow{0%{background-position:-100%}to{background-position:100%}}.el-radio-button{--el-radio-button-checked-bg-color:var(--el-color-primary);--el-radio-button-checked-text-color:var(--el-color-white);--el-radio-button-checked-border-color:var(--el-color-primary);--el-radio-button-disabled-checked-fill:var(--el-border-color-extra-light);outline:none;display:inline-block;position:relative}.el-radio-button__inner{white-space:nowrap;vertical-align:middle;background:var(--el-button-bg-color,var(--el-fill-color-blank));outline:var(--el-border);line-height:1;font-weight:var(--el-button-font-weight,var(--el-font-weight-primary));color:var(--el-button-text-color,var(--el-text-color-regular));-webkit-appearance:none;text-align:center;box-sizing:border-box;cursor:pointer;transition:var(--el-transition-all);-webkit-user-select:none;user-select:none;font-size:var(--el-font-size-base);border-radius:0;margin:0;padding:8px 15px;display:inline-block;position:relative}.el-radio-button__inner.is-round{padding:8px 15px}.el-radio-button__inner:hover{color:var(--el-color-primary)}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);box-shadow:none!important}.el-radio-button.is-active .el-radio-button__original-radio:not(:disabled)+.el-radio-button__inner{color:var(--el-radio-button-checked-text-color,var(--el-color-white));background-color:var(--el-radio-button-checked-bg-color,var(--el-color-primary));border-color:var(--el-radio-button-checked-border-color,var(--el-color-primary));box-shadow:-1px 0 0 0 var(--el-radio-button-checked-border-color,var(--el-color-primary))}.el-radio-button__original-radio{opacity:0;z-index:-1;outline:none;position:absolute}.el-radio-button__original-radio:focus-visible+.el-radio-button__inner{border-left:var(--el-border);border-left-color:var(--el-radio-button-checked-border-color,var(--el-color-primary));outline:2px solid var(--el-radio-button-checked-border-color);outline-offset:1px;z-index:2;border-radius:var(--el-border-radius-base);box-shadow:none}.el-radio-button__original-radio:disabled+.el-radio-button__inner{color:var(--el-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--el-button-disabled-bg-color,var(--el-fill-color-blank));border-color:var(--el-button-disabled-border-color,var(--el-border-color-light));box-shadow:none}.el-radio-button__original-radio:disabled:checked+.el-radio-button__inner{background-color:var(--el-radio-button-disabled-checked-fill)}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0}.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:var(--el-border-radius-base)}.el-radio-button--large .el-radio-button__inner{font-size:var(--el-font-size-base);border-radius:0;padding:12px 19px}.el-radio-button--large .el-radio-button__inner.is-round{padding:12px 19px}.el-radio-button--small .el-radio-button__inner{border-radius:0;padding:5px 11px;font-size:12px}.el-radio-button--small .el-radio-button__inner.is-round{padding:5px 11px}.el-radio-group{flex-wrap:wrap;align-items:center;font-size:0;display:inline-flex}.el-radio{--el-radio-font-size:var(--el-font-size-base);--el-radio-text-color:var(--el-text-color-regular);--el-radio-font-weight:var(--el-font-weight-primary);--el-radio-input-height:14px;--el-radio-input-width:14px;--el-radio-input-border-radius:var(--el-border-radius-circle);--el-radio-input-bg-color:var(--el-fill-color-blank);--el-radio-input-border:var(--el-border);--el-radio-input-border-color:var(--el-border-color);--el-radio-input-border-color-hover:var(--el-color-primary);color:var(--el-radio-text-color);font-weight:var(--el-radio-font-weight);cursor:pointer;white-space:nowrap;font-size:var(--el-font-size-base);-webkit-user-select:none;user-select:none;outline:none;align-items:center;height:32px;margin-right:30px;display:inline-flex;position:relative}.el-radio.el-radio--large{height:40px}.el-radio.el-radio--small{height:24px}.el-radio.is-bordered{border-radius:var(--el-border-radius-base);border:var(--el-border);box-sizing:border-box;padding:0 15px 0 9px}.el-radio.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:var(--el-border-color-lighter)}.el-radio.is-bordered.el-radio--large{border-radius:var(--el-border-radius-base);padding:0 19px 0 11px}.el-radio.is-bordered.el-radio--large .el-radio__label{font-size:var(--el-font-size-base)}.el-radio.is-bordered.el-radio--large .el-radio__inner{width:14px;height:14px}.el-radio.is-bordered.el-radio--small{border-radius:var(--el-border-radius-base);padding:0 11px 0 7px}.el-radio.is-bordered.el-radio--small .el-radio__label{font-size:12px}.el-radio.is-bordered.el-radio--small .el-radio__inner{width:12px;height:12px}.el-radio:last-child{margin-right:0}.el-radio__input{white-space:nowrap;cursor:pointer;vertical-align:middle;outline:none;display:inline-flex;position:relative}.el-radio__input.is-disabled .el-radio__inner{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color);cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner:after{cursor:not-allowed;background-color:var(--el-disabled-bg-color)}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color)}.el-radio__input.is-disabled.is-checked .el-radio__inner:after{background-color:var(--el-text-color-placeholder)}.el-radio__input.is-disabled+span.el-radio__label{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{border-color:var(--el-color-primary);background:var(--el-color-primary)}.el-radio__input.is-checked .el-radio__inner:after{background-color:var(--el-color-white);transform:translate(-50%,-50%)scale(1)}.el-radio__input.is-checked+.el-radio__label{color:var(--el-color-primary)}.el-radio__input.is-focus .el-radio__inner{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner{border:var(--el-radio-input-border);border-radius:var(--el-radio-input-border-radius);width:var(--el-radio-input-width);height:var(--el-radio-input-height);background-color:var(--el-radio-input-bg-color);cursor:pointer;box-sizing:border-box;transition:all .3s;display:inline-block;position:relative}.el-radio__inner:hover{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner:after{border-radius:var(--el-radio-input-border-radius);content:"";width:4px;height:4px;transition:transform .15s ease-in;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.el-radio__original{opacity:0;z-index:-1;outline:none;margin:0;position:absolute;inset:0}.el-radio__original:focus-visible+.el-radio__inner{outline:2px solid var(--el-radio-input-border-color-hover);outline-offset:1px;border-radius:var(--el-radio-input-border-radius)}.el-radio:focus:not(:focus-visible):not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{box-shadow:0 0 2px 2px var(--el-radio-input-border-color-hover)}.el-radio__label{font-size:var(--el-radio-font-size);padding-left:8px}.el-radio.el-radio--large .el-radio__label{font-size:14px}.el-radio.el-radio--large .el-radio__inner{width:14px;height:14px}.el-radio.el-radio--small .el-radio__label{font-size:12px}.el-radio.el-radio--small .el-radio__inner{width:12px;height:12px}.el-rate{--el-rate-height:20px;--el-rate-font-size:var(--el-font-size-base);--el-rate-icon-size:18px;--el-rate-icon-margin:6px;--el-rate-void-color:var(--el-border-color-darker);--el-rate-fill-color:#f7ba2a;--el-rate-disabled-void-color:var(--el-fill-color);--el-rate-text-color:var(--el-text-color-primary);--el-rate-outline-color:var(--el-color-primary-light-5);align-items:center;height:32px;display:inline-flex}.el-rate:focus,.el-rate:active{outline:none}.el-rate:focus-visible .el-rate__item .el-rate__icon.is-focus-visible{outline:2px solid var(--el-rate-outline-color);transition:outline-offset,outline}.el-rate__item{cursor:pointer;vertical-align:middle;color:var(--el-rate-void-color);font-size:0;line-height:normal;display:inline-block;position:relative}.el-rate .el-rate__icon{font-size:var(--el-rate-icon-size);margin-right:var(--el-rate-icon-margin);transition:var(--el-transition-duration);display:inline-block;position:relative}.el-rate .el-rate__icon.hover{transform:scale(1.15)}.el-rate .el-rate__icon .path2{position:absolute;top:0;left:0}.el-rate .el-rate__icon.is-active{color:var(--el-rate-fill-color)}.el-rate__decimal{color:var(--el-rate-fill-color);display:inline-block;position:absolute;top:0;left:0;overflow:hidden}.el-rate__decimal--box{position:absolute;top:0;left:0}.el-rate__text{font-size:var(--el-rate-font-size);vertical-align:middle;color:var(--el-rate-text-color)}.el-rate--large{height:40px}.el-rate--small{height:24px}.el-rate--small .el-rate__icon{font-size:14px}.el-rate.is-disabled .el-rate__item{cursor:not-allowed;color:var(--el-rate-disabled-void-color)}.el-result{--el-result-padding:40px 30px;--el-result-icon-font-size:64px;--el-result-title-font-size:20px;--el-result-title-margin-top:20px;--el-result-subtitle-margin-top:10px;--el-result-extra-margin-top:30px;text-align:center;box-sizing:border-box;padding:var(--el-result-padding);flex-direction:column;justify-content:center;align-items:center;display:flex}.el-result__icon svg{width:var(--el-result-icon-font-size);height:var(--el-result-icon-font-size)}.el-result__title{margin-top:var(--el-result-title-margin-top)}.el-result__title p{font-size:var(--el-result-title-font-size);color:var(--el-text-color-primary);margin:0;line-height:1.3}.el-result__subtitle{margin-top:var(--el-result-subtitle-margin-top)}.el-result__subtitle p{font-size:var(--el-font-size-base);color:var(--el-text-color-regular);margin:0;line-height:1.3}.el-result__extra{margin-top:var(--el-result-extra-margin-top)}.el-result .icon-primary{--el-result-color:var(--el-color-primary);color:var(--el-result-color)}.el-result .icon-success{--el-result-color:var(--el-color-success);color:var(--el-result-color)}.el-result .icon-warning{--el-result-color:var(--el-color-warning);color:var(--el-result-color)}.el-result .icon-danger{--el-result-color:var(--el-color-danger);color:var(--el-result-color)}.el-result .icon-error{--el-result-color:var(--el-color-error);color:var(--el-result-color)}.el-result .icon-info{--el-result-color:var(--el-color-info);color:var(--el-result-color)}.el-row{box-sizing:border-box;flex-wrap:wrap;display:flex;position:relative}.el-row.is-justify-center{justify-content:center}.el-row.is-justify-end{justify-content:flex-end}.el-row.is-justify-space-between{justify-content:space-between}.el-row.is-justify-space-around{justify-content:space-around}.el-row.is-justify-space-evenly{justify-content:space-evenly}.el-row.is-align-top{align-items:flex-start}.el-row.is-align-middle{align-items:center}.el-row.is-align-bottom{align-items:flex-end}.el-scrollbar{--el-scrollbar-opacity:.3;--el-scrollbar-bg-color:var(--el-text-color-secondary);--el-scrollbar-hover-opacity:.5;--el-scrollbar-hover-bg-color:var(--el-text-color-secondary);height:100%;position:relative;overflow:hidden}.el-scrollbar__wrap{height:100%;overflow:auto}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{display:none}.el-scrollbar__thumb{cursor:pointer;border-radius:inherit;background-color:var(--el-scrollbar-bg-color,var(--el-text-color-secondary));width:0;height:0;transition:var(--el-transition-duration) background-color;opacity:var(--el-scrollbar-opacity,.3);display:block;position:relative}.el-scrollbar__thumb:hover{background-color:var(--el-scrollbar-hover-bg-color,var(--el-text-color-secondary));opacity:var(--el-scrollbar-hover-opacity,.5)}.el-scrollbar__bar{z-index:1;border-radius:4px;position:absolute;bottom:2px;right:2px}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-scrollbar-fade-enter-active{transition:opacity .34s ease-out}.el-scrollbar-fade-leave-active{transition:opacity .12s ease-out}.el-scrollbar-fade-enter-from,.el-scrollbar-fade-leave-active{opacity:0}.el-select-dropdown{z-index:calc(var(--el-index-top) + 1);border-radius:var(--el-border-radius-base);box-sizing:border-box}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__loading,.el-select-dropdown__empty{text-align:center;color:var(--el-text-color-secondary);font-size:var(--el-select-font-size);margin:0;padding:10px 0}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{box-sizing:border-box;margin:0;padding:6px 0;list-style:none}.el-select-dropdown__list.el-vl__window{margin:6px 0;padding:0}.el-select-dropdown__header{border-bottom:1px solid var(--el-border-color-light);padding:10px}.el-select-dropdown__footer{border-top:1px solid var(--el-border-color-light);padding:10px}.el-select-dropdown__item{font-size:var(--el-font-size-base);white-space:nowrap;text-overflow:ellipsis;color:var(--el-text-color-regular);box-sizing:border-box;cursor:pointer;height:34px;padding:0 32px 0 20px;line-height:34px;position:relative;overflow:hidden}.el-select-dropdown__item.is-hovering{background-color:var(--el-fill-color-light)}.el-select-dropdown__item.is-selected{color:var(--el-color-primary);font-weight:700}.el-select-dropdown__item.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed;background-color:unset}.el-select-dropdown.is-multiple .el-select-dropdown__item.is-selected:after{content:"";background-position:50%;background-repeat:no-repeat;background-color:var(--el-color-primary);border-top:none;border-right:none;width:12px;height:12px;position:absolute;top:50%;right:20px;transform:translateY(-50%);-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") 0 0/100% 100% no-repeat;mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") 0 0/100% 100% no-repeat}.el-select-dropdown.is-multiple .el-select-dropdown__item.is-disabled:after{background-color:var(--el-text-color-placeholder)}.el-select-group{margin:0;padding:0}.el-select-group__wrap{margin:0;padding:0;list-style:none;position:relative}.el-select-group__title{box-sizing:border-box;color:var(--el-color-info);text-overflow:ellipsis;white-space:nowrap;padding:0 20px;font-size:12px;line-height:34px;overflow:hidden}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-select{--el-select-border-color-hover:var(--el-border-color-hover);--el-select-disabled-color:var(--el-disabled-text-color);--el-select-disabled-border:var(--el-disabled-border-color);--el-select-font-size:var(--el-font-size-base);--el-select-close-hover-color:var(--el-text-color-secondary);--el-select-input-color:var(--el-text-color-placeholder);--el-select-multiple-input-color:var(--el-text-color-regular);--el-select-input-focus-border-color:var(--el-color-primary);--el-select-input-font-size:14px;--el-select-width:100%;vertical-align:middle;width:var(--el-select-width);display:inline-block;position:relative}.el-select__wrapper{box-sizing:border-box;cursor:pointer;text-align:left;border-radius:var(--el-border-radius-base);background-color:var(--el-fill-color-blank);min-height:32px;transition:var(--el-transition-duration);box-shadow:0 0 0 1px var(--el-border-color) inset;align-items:center;gap:6px;padding:4px 12px;font-size:14px;line-height:24px;display:flex;position:relative;transform:translate(0)}.el-select__wrapper.is-filterable{cursor:text}.el-select__wrapper.is-focused{box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-select__wrapper.is-hovering:not(.is-focused){box-shadow:0 0 0 1px var(--el-border-color-hover) inset}.el-select__wrapper.is-disabled{cursor:not-allowed;background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);box-shadow:0 0 0 1px var(--el-select-disabled-border) inset}.el-select__wrapper.is-disabled:hover{box-shadow:0 0 0 1px var(--el-select-disabled-border) inset}.el-select__wrapper.is-disabled.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-select__wrapper.is-disabled .el-select__selected-item{color:var(--el-select-disabled-color)}.el-select__wrapper.is-disabled .el-select__caret,.el-select__wrapper.is-disabled .el-tag,.el-select__wrapper.is-disabled input{cursor:not-allowed}.el-select__wrapper.is-disabled .el-select__prefix,.el-select__wrapper.is-disabled .el-select__suffix{pointer-events:none}.el-select__prefix,.el-select__suffix{color:var(--el-input-icon-color,var(--el-text-color-placeholder));flex-shrink:0;align-items:center;gap:6px;display:flex}.el-select__caret{color:var(--el-select-input-color);font-size:var(--el-select-input-font-size);transition:var(--el-transition-duration);cursor:pointer;transform:rotate(0)}.el-select__caret.is-reverse{transform:rotate(180deg)}.el-select__clear{cursor:pointer}.el-select__clear:hover{color:var(--el-select-close-hover-color)}.el-select__selection{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex;position:relative}.el-select__selection.is-near{margin-left:-8px}.el-select__selection .el-tag{cursor:pointer;border-color:#0000}.el-select__selection .el-tag.el-tag--plain{border-color:var(--el-tag-border-color)}.el-select__selection .el-tag .el-tag__content{min-width:0}.el-select__selected-item{-webkit-user-select:none;user-select:none;flex-wrap:wrap;display:flex}.el-select__tags-text{text-overflow:ellipsis;white-space:nowrap;line-height:normal;display:block;overflow:hidden}.el-select__placeholder{z-index:-1;text-overflow:ellipsis;white-space:nowrap;width:100%;color:var(--el-input-text-color,var(--el-text-color-regular));display:block;position:absolute;top:50%;overflow:hidden;transform:translateY(-50%)}.el-select__placeholder.is-transparent{-webkit-user-select:none;user-select:none;color:var(--el-text-color-placeholder)}.el-select__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-box-shadow-light)}.el-select__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-select__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-select__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-select__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-select__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-select__input-wrapper{flex:1}.el-select__input-wrapper.is-hidden{opacity:0;z-index:-1;position:absolute}.el-select__input{color:var(--el-select-multiple-input-color);font-size:inherit;appearance:none;background-color:#0000;border:none;outline:none;width:100%;height:24px;padding:0;font-family:inherit}.el-select__input-calculator{visibility:hidden;white-space:pre;max-width:100%;position:absolute;top:0;left:0;overflow:hidden}.el-select--large .el-select__wrapper{gap:6px;min-height:40px;padding:8px 16px;font-size:14px;line-height:24px}.el-select--large .el-select__selection{gap:6px}.el-select--large .el-select__selection.is-near{margin-left:-8px}.el-select--large .el-select__prefix,.el-select--large .el-select__suffix{gap:6px}.el-select--large .el-select__input{height:24px}.el-select--small .el-select__wrapper{gap:4px;min-height:24px;padding:2px 8px;font-size:12px;line-height:20px}.el-select--small .el-select__selection{gap:4px}.el-select--small .el-select__selection.is-near{margin-left:-6px}.el-select--small .el-select__prefix,.el-select--small .el-select__suffix{gap:4px}.el-select--small .el-select__input{height:20px}.el-skeleton{--el-skeleton-circle-size:var(--el-avatar-size)}.el-skeleton__item{background:var(--el-skeleton-color);border-radius:var(--el-border-radius-base);width:100%;height:16px;display:inline-block}.el-skeleton__circle{width:var(--el-skeleton-circle-size);height:var(--el-skeleton-circle-size);line-height:var(--el-skeleton-circle-size);border-radius:50%}.el-skeleton__button{border-radius:4px;width:64px;height:40px}.el-skeleton__p{width:100%}.el-skeleton__p.is-last{width:61%}.el-skeleton__p.is-first{width:33%}.el-skeleton__text{width:100%;height:var(--el-font-size-small)}.el-skeleton__caption{height:var(--el-font-size-extra-small)}.el-skeleton__h1{height:var(--el-font-size-extra-large)}.el-skeleton__h3{height:var(--el-font-size-large)}.el-skeleton__h5{height:var(--el-font-size-medium)}.el-skeleton__image{width:unset;border-radius:0;justify-content:center;align-items:center;display:flex}.el-skeleton__image svg{color:var(--el-svg-monochrome-grey);fill:currentColor;width:22%;height:22%}.el-skeleton{--el-skeleton-color:var(--el-fill-color);--el-skeleton-to-color:var(--el-fill-color-darker)}@keyframes el-skeleton-loading{0%{background-position:100%}to{background-position:0}}.el-skeleton{width:100%}.el-skeleton__first-line,.el-skeleton__paragraph{background:var(--el-skeleton-color);height:16px;margin-top:16px}.el-skeleton.is-animated .el-skeleton__item{background:linear-gradient(90deg, var(--el-skeleton-color) 25%, var(--el-skeleton-to-color) 37%, var(--el-skeleton-color) 63%);background-size:400% 100%;animation:1.4s infinite el-skeleton-loading}.el-slider{--el-slider-main-bg-color:var(--el-color-primary);--el-slider-runway-bg-color:var(--el-border-color-light);--el-slider-stop-bg-color:var(--el-color-white);--el-slider-disabled-color:var(--el-text-color-placeholder);--el-slider-border-radius:3px;--el-slider-height:6px;--el-slider-button-size:20px;--el-slider-button-wrapper-size:36px;--el-slider-button-wrapper-offset:-15px;align-items:center;width:100%;height:32px;display:flex}.el-slider__runway{height:var(--el-slider-height);background-color:var(--el-slider-runway-bg-color);border-radius:var(--el-slider-border-radius);cursor:pointer;flex:1;position:relative}.el-slider__runway.show-input{width:auto;margin-right:30px}.el-slider__runway.is-disabled{cursor:default}.el-slider__runway.is-disabled .el-slider__bar{background-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button{border-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button-wrapper:hover,.el-slider__runway.is-disabled .el-slider__button-wrapper.hover,.el-slider__runway.is-disabled .el-slider__button-wrapper.dragging{cursor:not-allowed}.el-slider__runway.is-disabled .el-slider__button:hover,.el-slider__runway.is-disabled .el-slider__button.hover,.el-slider__runway.is-disabled .el-slider__button.dragging{cursor:not-allowed;transform:scale(1)}.el-slider__input{flex-shrink:0;width:130px}.el-slider__bar{height:var(--el-slider-height);background-color:var(--el-slider-main-bg-color);border-top-left-radius:var(--el-slider-border-radius);border-bottom-left-radius:var(--el-slider-border-radius);position:absolute}.el-slider__button-wrapper{height:var(--el-slider-button-wrapper-size);width:var(--el-slider-button-wrapper-size);z-index:1;top:var(--el-slider-button-wrapper-offset);text-align:center;-webkit-user-select:none;user-select:none;background-color:#0000;outline:none;line-height:normal;position:absolute;transform:translate(-50%)}.el-slider__button-wrapper:after{content:"";vertical-align:middle;height:100%;display:inline-block}.el-slider__button-wrapper:hover,.el-slider__button-wrapper.hover{cursor:grab}.el-slider__button-wrapper.dragging{cursor:grabbing}.el-slider__button{width:var(--el-slider-button-size);height:var(--el-slider-button-size);vertical-align:middle;border:solid 2px var(--el-slider-main-bg-color);background-color:var(--el-color-white);box-sizing:border-box;transition:var(--el-transition-duration-fast);-webkit-user-select:none;user-select:none;border-radius:50%;display:inline-block}.el-slider__button:hover,.el-slider__button.hover,.el-slider__button.dragging{transform:scale(1.2)}.el-slider__button:hover,.el-slider__button.hover{cursor:grab}.el-slider__button.dragging{cursor:grabbing}.el-slider__stop{height:var(--el-slider-height);width:var(--el-slider-height);border-radius:var(--el-border-radius-circle);background-color:var(--el-slider-stop-bg-color);position:absolute;transform:translate(-50%)}.el-slider__marks{width:18px;height:100%;top:0;left:12px}.el-slider__marks-text{color:var(--el-color-info);white-space:pre;margin-top:15px;font-size:14px;position:absolute;transform:translate(-50%)}.el-slider.is-vertical{flex:0;width:auto;height:100%;display:inline-flex;position:relative}.el-slider.is-vertical .el-slider__runway{width:var(--el-slider-height);height:100%;margin:0 16px}.el-slider.is-vertical .el-slider__bar{width:var(--el-slider-height);border-radius:0 0 3px 3px;height:auto}.el-slider.is-vertical .el-slider__button-wrapper{top:auto;left:var(--el-slider-button-wrapper-offset);transform:translateY(50%)}.el-slider.is-vertical .el-slider__stop{transform:translateY(50%)}.el-slider.is-vertical .el-slider__marks-text{margin-top:0;left:15px;transform:translateY(50%)}.el-slider--large{height:40px}.el-slider--small{height:24px}.el-space{vertical-align:top;display:inline-flex}.el-space__item{flex-wrap:wrap;display:flex}.el-space__item>*{flex:1}.el-space--vertical{flex-direction:column}.el-time-spinner{white-space:nowrap;width:100%}.el-spinner{vertical-align:middle;display:inline-block}.el-spinner-inner{width:50px;height:50px;animation:2s linear infinite rotate}.el-spinner-inner .path{stroke:var(--el-border-color-lighter);stroke-linecap:round;animation:1.5s ease-in-out infinite dash}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1 150;stroke-dashoffset:0}50%{stroke-dasharray:90 150;stroke-dashoffset:-35px}to{stroke-dasharray:90 150;stroke-dashoffset:-124px}}.el-step{flex-shrink:1;position:relative}.el-step:last-of-type .el-step__line{display:none}.el-step:last-of-type.is-flex{flex-grow:0;flex-shrink:0;flex-basis:auto!important}.el-step:last-of-type .el-step__main,.el-step:last-of-type .el-step__description{padding-right:0}.el-step__head{width:100%;position:relative}.el-step__head.is-process{color:var(--el-text-color-primary);border-color:var(--el-text-color-primary)}.el-step__head.is-wait{color:var(--el-text-color-placeholder);border-color:var(--el-text-color-placeholder)}.el-step__head.is-success{color:var(--el-color-success);border-color:var(--el-color-success)}.el-step__head.is-error{color:var(--el-color-danger);border-color:var(--el-color-danger)}.el-step__head.is-finish{color:var(--el-color-primary);border-color:var(--el-color-primary)}.el-step__icon{z-index:1;box-sizing:border-box;background:var(--el-bg-color);justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;transition:all .15s ease-out;display:inline-flex;position:relative}.el-step__icon.is-text{border:2px solid;border-radius:50%}.el-step__icon.is-icon{width:40px}.el-step__icon-inner{-webkit-user-select:none;user-select:none;text-align:center;color:inherit;font-weight:700;line-height:1;display:inline-block}.el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:25px;font-weight:400}.el-step__icon-inner.is-status{transform:translateY(1px)}.el-step__line{background-color:var(--el-text-color-placeholder);border-color:currentColor;position:absolute}.el-step__line-inner{box-sizing:border-box;border:1px solid;width:0;height:0;transition:all .15s ease-out;display:block}.el-step__main{white-space:normal;text-align:left}.el-step__title{font-size:16px;line-height:38px}.el-step__title.is-process{color:var(--el-text-color-primary);font-weight:700}.el-step__title.is-wait{color:var(--el-text-color-placeholder)}.el-step__title.is-success{color:var(--el-color-success)}.el-step__title.is-error{color:var(--el-color-danger)}.el-step__title.is-finish{color:var(--el-color-primary)}.el-step__description{margin-top:-5px;padding-right:10%;font-size:12px;font-weight:400;line-height:20px}.el-step__description.is-process{color:var(--el-text-color-primary)}.el-step__description.is-wait{color:var(--el-text-color-placeholder)}.el-step__description.is-success{color:var(--el-color-success)}.el-step__description.is-error{color:var(--el-color-danger)}.el-step__description.is-finish{color:var(--el-color-primary)}.el-step.is-horizontal{display:inline-block}.el-step.is-horizontal .el-step__line{height:2px;top:11px;left:0;right:0}.el-step.is-vertical{display:flex}.el-step.is-vertical .el-step__head{flex-grow:0;width:24px}.el-step.is-vertical .el-step__main{flex-grow:1;padding-left:10px}.el-step.is-vertical .el-step__title{padding-bottom:8px;line-height:24px}.el-step.is-vertical .el-step__line{width:2px;top:0;bottom:0;left:11px}.el-step.is-vertical .el-step__icon.is-icon{width:24px}.el-step.is-vertical .el-step__description{padding-right:0}.el-step.is-center .el-step__head,.el-step.is-center .el-step__main{text-align:center}.el-step.is-center .el-step__description{padding-left:20%;padding-right:20%}.el-step.is-center .el-step__line{left:50%;right:-50%}.el-step.is-simple{align-items:center;display:flex}.el-step.is-simple .el-step__head{width:auto;padding-right:10px;font-size:0}.el-step.is-simple .el-step__icon{background:0 0;width:16px;height:16px;font-size:12px}.el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:18px}.el-step.is-simple .el-step__icon-inner.is-status{transform:scale(.8)translateY(1px)}.el-step.is-simple .el-step__main{flex-grow:1;align-items:stretch;display:flex;position:relative}.el-step.is-simple .el-step__title{font-size:16px;line-height:20px}.el-step.is-simple:not(:last-of-type) .el-step__title{overflow-wrap:break-word;max-width:50%}.el-step.is-simple .el-step__arrow{flex-grow:1;justify-content:center;align-items:center;display:flex}.el-step.is-simple .el-step__arrow:before,.el-step.is-simple .el-step__arrow:after{content:"";background:var(--el-text-color-placeholder);width:1px;height:15px;display:inline-block;position:absolute}.el-step.is-simple .el-step__arrow:before{transform-origin:0 0;transform:rotate(-45deg)translateY(-4px)}.el-step.is-simple .el-step__arrow:after{transform-origin:100% 100%;transform:rotate(45deg)translateY(4px)}.el-step.is-simple:last-of-type .el-step__arrow{display:none}.el-steps{line-height:normal;display:flex}.el-steps--simple{background:var(--el-fill-color-light);border-radius:4px;padding:13px 8%}.el-steps--horizontal{white-space:nowrap}.el-steps--vertical{flex-flow:column;height:100%}.el-switch{--el-switch-on-color:var(--el-color-primary);--el-switch-off-color:var(--el-border-color);vertical-align:middle;align-items:center;height:32px;font-size:14px;line-height:20px;display:inline-flex;position:relative}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__label{transition:var(--el-transition-duration-fast);cursor:pointer;vertical-align:middle;height:20px;color:var(--el-text-color-primary);font-size:14px;font-weight:500;display:inline-block}.el-switch__label.is-active{color:var(--el-color-primary)}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{font-size:14px;line-height:1;display:inline-block}.el-switch__label .el-icon{height:inherit}.el-switch__label .el-icon svg{vertical-align:middle}.el-switch__input{opacity:0;width:0;height:0;margin:0;position:absolute}.el-switch__input:focus-visible~.el-switch__core{outline:2px solid var(--el-switch-on-color);outline-offset:1px}.el-switch__core{border:1px solid var(--el-switch-border-color,var(--el-switch-off-color));box-sizing:border-box;background:var(--el-switch-off-color);cursor:pointer;min-width:40px;height:20px;transition:border-color var(--el-transition-duration), background-color var(--el-transition-duration);border-radius:10px;outline:none;align-items:center;display:inline-flex;position:relative}.el-switch__core .el-switch__inner{width:100%;transition:all var(--el-transition-duration);justify-content:center;align-items:center;height:16px;padding:0 4px 0 18px;display:flex;overflow:hidden}.el-switch__core .el-switch__inner-wrapper{color:var(--el-color-white);-webkit-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;align-items:center;font-size:12px;display:flex;overflow:hidden}.el-switch__core .el-switch__action{border-radius:var(--el-border-radius-circle);transition:all var(--el-transition-duration);background-color:var(--el-color-white);width:16px;height:16px;color:var(--el-switch-off-color);justify-content:center;align-items:center;display:flex;position:absolute;left:1px}.el-switch.is-checked .el-switch__core{border-color:var(--el-switch-border-color,var(--el-switch-on-color));background-color:var(--el-switch-on-color)}.el-switch.is-checked .el-switch__core .el-switch__action{color:var(--el-switch-on-color);left:calc(100% - 17px)}.el-switch.is-checked .el-switch__core .el-switch__inner{padding:0 18px 0 4px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter-from,.el-switch .label-fade-leave-active{opacity:0}.el-switch--large{height:40px;font-size:14px;line-height:24px}.el-switch--large .el-switch__label{height:24px;font-size:14px}.el-switch--large .el-switch__label *{font-size:14px}.el-switch--large .el-switch__core{border-radius:12px;min-width:50px;height:24px}.el-switch--large .el-switch__core .el-switch__inner{height:20px;padding:0 6px 0 22px}.el-switch--large .el-switch__core .el-switch__action{width:20px;height:20px}.el-switch--large.is-checked .el-switch__core .el-switch__action{left:calc(100% - 21px)}.el-switch--large.is-checked .el-switch__core .el-switch__inner{padding:0 22px 0 6px}.el-switch--small{height:24px;font-size:12px;line-height:16px}.el-switch--small .el-switch__label{height:16px;font-size:12px}.el-switch--small .el-switch__label *{font-size:12px}.el-switch--small .el-switch__core{border-radius:8px;min-width:30px;height:16px}.el-switch--small .el-switch__core .el-switch__inner{height:12px;padding:0 2px 0 14px}.el-switch--small .el-switch__core .el-switch__action{width:12px;height:12px}.el-switch--small.is-checked .el-switch__core .el-switch__action{left:calc(100% - 13px)}.el-switch--small.is-checked .el-switch__core .el-switch__inner{padding:0 14px 0 2px}.el-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{border:solid 1px var(--el-border-color-lighter);box-shadow:var(--el-box-shadow-light);box-sizing:border-box;background-color:#fff;border-radius:2px}.el-table-filter__list{outline:none;min-width:100px;margin:0;padding:5px 0;list-style:none}.el-table-filter__list-item{cursor:pointer;line-height:36px;font-size:var(--el-font-size-base);outline:none;padding:0 10px}.el-table-filter__list-item:hover,.el-table-filter__list-item:focus{background-color:var(--el-color-primary-light-9);color:var(--el-color-primary)}.el-table-filter__list-item.is-active{background-color:var(--el-color-primary);color:#fff}.el-table-filter__multiple{outline:none}.el-table-filter__content{min-width:100px}.el-table-filter__bottom{border-top:1px solid var(--el-border-color-lighter);padding:8px}.el-table-filter__bottom button{cursor:pointer;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table-filter__bottom button:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-table-filter__bottom button{color:var(--el-text-color-regular);font-size:var(--el-font-size-small);padding:0 3px}.el-table-filter__bottom button:hover{color:var(--el-color-primary)}.el-table-filter__bottom button.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{height:unset;align-items:center;margin-bottom:12px;margin-left:5px;margin-right:5px;display:flex}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0}.el-table{--el-table-border-color:var(--el-border-color-lighter);--el-table-border:1px solid var(--el-table-border-color);--el-table-text-color:var(--el-text-color-regular);--el-table-header-text-color:var(--el-text-color-secondary);--el-table-row-hover-bg-color:var(--el-fill-color-light);--el-table-current-row-bg-color:var(--el-color-primary-light-9);--el-table-header-bg-color:var(--el-fill-color-blank);--el-table-fixed-box-shadow:var(--el-box-shadow-light);--el-table-bg-color:var(--el-fill-color-blank);--el-table-tr-bg-color:var(--el-fill-color-blank);--el-table-expanded-cell-bg-color:var(--el-fill-color-blank);--el-table-fixed-left-column:inset 10px 0 10px -10px #00000026;--el-table-fixed-right-column:inset -10px 0 10px -10px #00000026;--el-table-index:var(--el-index-normal);box-sizing:border-box;background-color:var(--el-table-bg-color);width:100%;max-width:100%;height:fit-content;font-size:var(--el-font-size-base);color:var(--el-table-text-color);position:relative;overflow:hidden}.el-table__inner-wrapper{flex-direction:column;height:100%;display:flex;position:relative}.el-table__inner-wrapper:before{height:1px;bottom:0;left:0}.el-table tbody:focus-visible{outline:none}.el-table.has-footer.el-table--scrollable-y tr:last-child td.el-table__cell,.el-table.has-footer.el-table--fluid-height tr:last-child td.el-table__cell{border-bottom-color:#0000}.el-table__empty-block{text-align:center;justify-content:center;align-items:center;width:100%;min-height:60px;display:flex;position:sticky;left:0}.el-table__empty-text{width:50%;color:var(--el-text-color-secondary);line-height:60px}.el-table__expand-column .cell{text-align:center;-webkit-user-select:none;user-select:none;padding:0}.el-table__expand-icon{cursor:pointer;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table__expand-icon:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:-2px}.el-table__expand-icon{color:var(--el-text-color-regular);width:min(23px,100%);height:23px;font-size:12px;line-height:12px}.el-table__expand-icon.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-table__expand-icon--expanded{transform:rotate(90deg)}.el-table__expand-icon>.el-icon{font-size:12px}.el-table__expanded-cell{background-color:var(--el-table-expanded-cell-bg-color)}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:#0000!important}.el-table__placeholder{width:20px;display:inline-block}.el-table__append-wrapper{overflow:hidden}.el-table--fit{border-bottom:0;border-right:0}.el-table--fit .el-table__cell.gutter{border-right-width:1px}.el-table--fit .el-table__inner-wrapper:before{width:100%}.el-table thead{color:var(--el-table-header-text-color)}.el-table thead th{font-weight:600}.el-table thead.is-group th.el-table__cell{background:var(--el-fill-color-light)}.el-table .el-table__cell{box-sizing:border-box;text-overflow:ellipsis;vertical-align:middle;text-align:left;min-width:0;z-index:var(--el-table-index);padding:8px 0;position:relative}.el-table .el-table__cell.is-center{text-align:center}.el-table .el-table__cell.is-right{text-align:right}.el-table .el-table__cell.gutter{border-bottom-width:0;border-right-width:0;width:15px;padding:0}.el-table .el-table__cell.is-hidden>*{visibility:hidden}.el-table .cell{box-sizing:border-box;text-overflow:ellipsis;white-space:normal;overflow-wrap:break-word;padding:0 12px;line-height:23px;overflow:hidden}.el-table .cell.el-tooltip{white-space:nowrap;min-width:50px}.el-table--large{font-size:var(--el-font-size-base)}.el-table--large .el-table__cell{padding:12px 0}.el-table--large .cell{padding:0 16px}.el-table--default{font-size:var(--el-font-size-base)}.el-table--default .el-table__cell{padding:8px 0}.el-table--default .cell{padding:0 12px}.el-table--small{font-size:var(--el-font-size-extra-small)}.el-table--small .el-table__cell{padding:4px 0}.el-table--small .cell{padding:0 8px}.el-table tr{background-color:var(--el-table-tr-bg-color)}.el-table tr input[type=checkbox]{margin:0}.el-table th.el-table__cell.is-leaf,.el-table td.el-table__cell{border-bottom:var(--el-table-border)}.el-table th.el-table__cell.is-sortable{cursor:pointer}.el-table th.el-table__cell{background-color:var(--el-table-header-bg-color)}.el-table th.el-table__cell>.cell.highlight{color:var(--el-color-primary)}.el-table th.el-table__cell.required>div:before{content:"";vertical-align:middle;background:#ff4d51;border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.el-table td.el-table__cell div{box-sizing:border-box}.el-table td.el-table__cell.gutter{width:0}.el-table--border:after,.el-table--border:before,.el-table--border .el-table__inner-wrapper:after,.el-table__inner-wrapper:before{content:"";background-color:var(--el-table-border-color);z-index:calc(var(--el-table-index) + 2);position:absolute}.el-table--border .el-table__inner-wrapper:after{width:100%;height:1px;z-index:calc(var(--el-table-index) + 2);top:0;left:0}.el-table--border:before{width:1px;height:100%;top:-1px;left:0}.el-table--border:after{width:1px;height:100%;top:-1px;right:0}.el-table--border .el-table__inner-wrapper{border-bottom:none;border-right:none}.el-table--border .el-table__footer-wrapper{flex-shrink:0;position:relative}.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table--border th.el-table__cell.gutter:last-of-type{border-bottom:var(--el-table-border);border-bottom-width:1px}.el-table--border th.el-table__cell{border-bottom:var(--el-table-border)}.el-table--hidden{visibility:hidden}.el-table__header-wrapper,.el-table__body-wrapper,.el-table__footer-wrapper{width:100%}.el-table__header-wrapper tr td.el-table-fixed-column--left,.el-table__header-wrapper tr td.el-table-fixed-column--right,.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right,.el-table__body-wrapper tr td.el-table-fixed-column--left,.el-table__body-wrapper tr td.el-table-fixed-column--right,.el-table__body-wrapper tr th.el-table-fixed-column--left,.el-table__body-wrapper tr th.el-table-fixed-column--right,.el-table__footer-wrapper tr td.el-table-fixed-column--left,.el-table__footer-wrapper tr td.el-table-fixed-column--right,.el-table__footer-wrapper tr th.el-table-fixed-column--left,.el-table__footer-wrapper tr th.el-table-fixed-column--right{background:inherit;z-index:calc(var(--el-table-index) + 1);position:sticky!important}.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before{content:"";width:10px;box-shadow:none;touch-action:none;pointer-events:none;position:absolute;top:0;bottom:0;overflow:hidden}.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before{left:-10px}.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before{right:-10px}.el-table__header-wrapper tr td.el-table__fixed-right-patch,.el-table__header-wrapper tr th.el-table__fixed-right-patch,.el-table__body-wrapper tr td.el-table__fixed-right-patch,.el-table__body-wrapper tr th.el-table__fixed-right-patch,.el-table__footer-wrapper tr td.el-table__fixed-right-patch,.el-table__footer-wrapper tr th.el-table__fixed-right-patch{z-index:calc(var(--el-table-index) + 1);background:#fff;right:0;position:sticky!important}.el-table__header-wrapper{flex-shrink:0}.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__header,.el-table__body,.el-table__footer{table-layout:fixed;border-collapse:separate}.el-table__header-wrapper{overflow:hidden}.el-table__header-wrapper tbody td.el-table__cell{background-color:var(--el-table-row-hover-bg-color);color:var(--el-table-text-color)}.el-table__footer-wrapper{flex-shrink:0;overflow:hidden}.el-table__footer-wrapper tfoot td.el-table__cell{background-color:var(--el-table-row-hover-bg-color);color:var(--el-table-text-color)}.el-table__header-wrapper .el-table-column--selection>.cell,.el-table__body-wrapper .el-table-column--selection>.cell{align-items:center;height:23px;display:inline-flex}.el-table__header-wrapper .el-table-column--selection .el-checkbox,.el-table__body-wrapper .el-table-column--selection .el-checkbox{height:unset}.el-table.is-scrolling-left .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-left.el-table--border .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:var(--el-table-border)}.el-table.is-scrolling-left th.el-table-fixed-column--left{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-right th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-middle .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-none .el-table-fixed-column--left.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--left.is-last-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-last-column:before{box-shadow:none}.el-table.is-scrolling-none th.el-table-fixed-column--left,.el-table.is-scrolling-none th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__body-wrapper{flex:1;position:relative;overflow:hidden}.el-table__body-wrapper .el-scrollbar__bar{z-index:calc(var(--el-table-index) + 2)}.el-table .caret-wrapper{cursor:pointer;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table .caret-wrapper:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-table .caret-wrapper{vertical-align:middle;width:24px;height:14px;overflow:initial;flex-direction:column;align-items:center;display:inline-flex;position:relative}.el-table .sort-caret{border:5px solid #0000;width:0;height:0;position:absolute;left:7px}.el-table .sort-caret.ascending{border-bottom-color:var(--el-text-color-placeholder);top:-5px}.el-table .sort-caret.descending{border-top-color:var(--el-text-color-placeholder);bottom:-3px}.el-table .ascending .sort-caret.ascending{border-bottom-color:var(--el-color-primary)}.el-table .descending .sort-caret.descending{border-top-color:var(--el-color-primary)}.el-table .hidden-columns{visibility:hidden;z-index:-1;position:absolute}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:var(--el-fill-color-lighter)}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table__body tr.hover-row>td.el-table__cell,.el-table__body tr.hover-row.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped.current-row>td.el-table__cell,.el-table__body tr>td.hover-cell{background-color:var(--el-table-row-hover-bg-color)}.el-table__body tr.current-row>td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table.el-table--scrollable-y .el-table__body-header{z-index:calc(var(--el-table-index) + 2);position:sticky;top:0}.el-table.el-table--scrollable-y .el-table__body-footer{z-index:calc(var(--el-table-index) + 2);position:sticky;bottom:0}.el-table__column-resize-proxy{border-left:var(--el-table-border);width:0;z-index:calc(var(--el-table-index) + 9);position:absolute;top:0;bottom:0;left:200px}.el-table__column-filter-trigger{cursor:pointer;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table__column-filter-trigger:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-table__column-filter-trigger{display:inline-block}.el-table__column-filter-trigger i{color:var(--el-color-info);vertical-align:middle;font-size:14px}.el-table__border-left-patch{width:1px;height:100%;z-index:calc(var(--el-table-index) + 2);background-color:var(--el-table-border-color);position:absolute;top:0;left:0}.el-table__border-bottom-patch{height:1px;z-index:calc(var(--el-table-index) + 2);background-color:var(--el-table-border-color);position:absolute;left:0}.el-table__border-right-patch{width:1px;height:100%;z-index:calc(var(--el-table-index) + 2);background-color:var(--el-table-border-color);position:absolute;top:0}.el-table--enable-row-transition .el-table__body td.el-table__cell{transition:background-color .25s 1ms}.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell{background-color:var(--el-table-row-hover-bg-color)}.el-table [class*=el-table__row--level] .el-table__expand-icon{text-align:center;width:20px;display:inline-block}.el-table .el-table.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table:not(.el-table--border) .el-table__cell{border-right:none}.el-table:not(.el-table--border)>.el-table__inner-wrapper:after{content:none}.el-table-v2{--el-table-border-color:var(--el-border-color-lighter);--el-table-border:1px solid var(--el-table-border-color);--el-table-text-color:var(--el-text-color-regular);--el-table-header-text-color:var(--el-text-color-secondary);--el-table-row-hover-bg-color:var(--el-fill-color-light);--el-table-current-row-bg-color:var(--el-color-primary-light-9);--el-table-header-bg-color:var(--el-fill-color-blank);--el-table-fixed-box-shadow:var(--el-box-shadow-light);--el-table-bg-color:var(--el-fill-color-blank);--el-table-tr-bg-color:var(--el-fill-color-blank);--el-table-expanded-cell-bg-color:var(--el-fill-color-blank);--el-table-fixed-left-column:inset 10px 0 10px -10px #00000026;--el-table-fixed-right-column:inset -10px 0 10px -10px #00000026;--el-table-index:var(--el-index-normal);font-size:var(--el-font-size-base)}.el-table-v2 *{box-sizing:border-box}.el-table-v2__root{position:relative}.el-table-v2__root:hover .el-table-v2__main .el-virtual-scrollbar{opacity:1}.el-table-v2__main{background-color:var(--el-bg-color);flex-direction:column-reverse;display:flex;position:absolute;top:0;left:0;overflow:hidden}.el-table-v2__main .el-vl__horizontal,.el-table-v2__main .el-vl__vertical{z-index:2}.el-table-v2__left{background-color:var(--el-bg-color);flex-direction:column-reverse;display:flex;position:absolute;top:0;left:0;overflow:hidden;box-shadow:2px 0 4px #0000000f}.el-table-v2__left .el-virtual-scrollbar{opacity:0}.el-table-v2__left .el-vl__vertical,.el-table-v2__left .el-vl__horizontal{z-index:-1}.el-table-v2__right{background-color:var(--el-bg-color);flex-direction:column-reverse;display:flex;position:absolute;top:0;right:0;overflow:hidden;box-shadow:-2px 0 4px #0000000f}.el-table-v2__right .el-virtual-scrollbar{opacity:0}.el-table-v2__right .el-vl__vertical,.el-table-v2__right .el-vl__horizontal{z-index:-1}.el-table-v2__header-row,.el-table-v2__row{padding-inline-end:var(--el-table-scrollbar-size)}.el-table-v2__header-wrapper{overflow:hidden}.el-table-v2__header{position:relative;overflow:hidden}.el-table-v2__header .el-checkbox{z-index:0}.el-table-v2__footer{position:absolute;bottom:0;left:0;right:0;overflow:hidden}.el-table-v2__empty{position:absolute;left:0}.el-table-v2__overlay{z-index:9999;position:absolute;inset:0}.el-table-v2__header-row{border-bottom:var(--el-table-border);display:flex}.el-table-v2__header-cell{-webkit-user-select:none;user-select:none;background-color:var(--el-table-header-bg-color);height:100%;color:var(--el-table-header-text-color);align-items:center;padding:0 8px;font-weight:700;display:flex;overflow:hidden}.el-table-v2__header-cell.is-align-center{text-align:center;justify-content:center}.el-table-v2__header-cell.is-align-right{text-align:right;justify-content:flex-end}.el-table-v2__header-cell.is-sortable{cursor:pointer}.el-table-v2__header-cell:hover .el-icon{display:block}.el-table-v2__sort-icon{cursor:pointer;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table-v2__sort-icon:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-table-v2__sort-icon{transition:opacity, display var(--el-transition-duration);opacity:.6;display:none}.el-table-v2__sort-icon.is-sorting{opacity:1;display:flex}.el-table-v2__row{border-bottom:var(--el-table-border);transition:background-color var(--el-transition-duration);align-items:center;display:flex}.el-table-v2__row.is-hovered,.el-table-v2__row:hover{background-color:var(--el-table-row-hover-bg-color)}.el-table-v2__row-cell{align-items:center;height:100%;padding:0 8px;display:flex;overflow:hidden}.el-table-v2__row-cell.is-align-center{text-align:center;justify-content:center}.el-table-v2__row-cell.is-align-right{text-align:right;justify-content:flex-end}.el-table-v2__expand-icon{cursor:pointer;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table-v2__expand-icon:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-table-v2__expand-icon{-webkit-user-select:none;user-select:none;margin:0 4px}.el-table-v2__expand-icon svg{transition:transform var(--el-transition-duration)}.el-table-v2__expand-icon.is-expanded svg{transform:rotate(90deg)}.el-table-v2:not(.is-dynamic) .el-table-v2__cell-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.el-table-v2.is-dynamic .el-table-v2__row{align-items:stretch;overflow:hidden}.el-table-v2.is-dynamic .el-table-v2__row .el-table-v2__row-cell{overflow-wrap:break-word}.el-tabs{--el-tabs-header-height:40px;display:flex}.el-tabs__header{justify-content:space-between;align-items:center;margin:0 0 15px;padding:0;display:flex;position:relative}.el-tabs__header-vertical{flex-direction:column}.el-tabs__active-bar{background-color:var(--el-color-primary);z-index:1;height:2px;transition:width var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier), transform var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);list-style:none;position:absolute;bottom:0;left:0}.el-tabs__active-bar.is-bottom{bottom:auto}.el-tabs__new-tab{border:1px solid var(--el-border-color);text-align:center;width:20px;height:20px;color:var(--el-text-color-primary);cursor:pointer;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;margin:10px 0 10px 10px;font-size:12px;line-height:20px;transition:all .15s;display:flex}.el-tabs__new-tab .is-icon-plus{height:inherit;width:inherit;transform:scale(.8)}.el-tabs__new-tab .is-icon-plus svg{vertical-align:middle}.el-tabs__new-tab:hover{color:var(--el-color-primary)}.el-tabs__new-tab-vertical{margin-left:0}.el-tabs__nav-wrap{flex:auto;margin-bottom:-1px;position:relative;overflow:hidden}.el-tabs__nav-wrap:after{content:"";background-color:var(--el-border-color-light);width:100%;height:2px;z-index:var(--el-index-normal);position:absolute;bottom:0;left:0}.el-tabs__nav-wrap.is-bottom:after{top:0;bottom:auto}.el-tabs__nav-wrap.is-scrollable{box-sizing:border-box;padding:0 20px}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{cursor:pointer;color:var(--el-text-color-secondary);text-align:center;width:20px;font-size:12px;line-height:44px;position:absolute}.el-tabs__nav-next.is-disabled,.el-tabs__nav-prev.is-disabled{color:var(--el-text-color-disabled);cursor:not-allowed}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{white-space:nowrap;transition:transform var(--el-transition-duration);float:left;z-index:calc(var(--el-index-normal) + 1);display:flex;position:relative}.el-tabs__nav.is-stretch{min-width:100%;display:flex}.el-tabs__nav.is-stretch>*{text-align:center;flex:1}.el-tabs__item{height:var(--el-tabs-header-height);box-sizing:border-box;font-size:var(--el-font-size-base);color:var(--el-text-color-primary);justify-content:center;align-items:center;padding:0 20px;font-weight:500;list-style:none;display:flex;position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:none}.el-tabs__item:focus-visible{box-shadow:0 0 2px 2px var(--el-color-primary) inset;border-radius:3px}.el-tabs__item .is-icon-close{text-align:center;transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);border-radius:50%;margin-left:5px}.el-tabs__item .is-icon-close:before{display:inline-block;transform:scale(.9)}.el-tabs__item .is-icon-close:hover{background-color:var(--el-text-color-placeholder);color:#fff}.el-tabs__item.is-active{color:var(--el-color-primary)}.el-tabs__item:hover{color:var(--el-color-primary);cursor:pointer}.el-tabs__item.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-tabs__content{flex-grow:1;position:relative;overflow:hidden}.el-tabs--top>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:0}.el-tabs--top>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom>.el-tabs__header .el-tabs__item:last-child{padding-right:0}.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child{padding-right:20px}.el-tabs--card>.el-tabs__header{border-bottom:1px solid var(--el-border-color-light);height:var(--el-tabs-header-height);box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid var(--el-border-color-light);box-sizing:border-box;border-bottom:none;border-radius:4px 4px 0 0}.el-tabs--card>.el-tabs__header .el-tabs__active-bar{display:none}.el-tabs--card>.el-tabs__header .el-tabs__item .is-icon-close{transform-origin:100%;width:0;height:14px;font-size:12px;position:relative;right:-2px;overflow:hidden}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid #0000;border-left:1px solid var(--el-border-color-light);transition:color var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier), padding var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);margin-top:-1px}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .is-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:var(--el-bg-color)}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .is-icon-close{width:14px}.el-tabs--border-card{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:var(--el-fill-color-light);border-bottom:1px solid var(--el-border-color-light);margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--border-card>.el-tabs__header .el-tabs__item{transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);color:var(--el-text-color-secondary);border:1px solid #0000;margin-top:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child,.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{color:var(--el-color-primary);background-color:var(--el-bg-color-overlay);border-right-color:var(--el-border-color);border-left-color:var(--el-border-color)}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:var(--el-color-primary)}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:var(--el-disabled-text-color)}.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--bottom{flex-direction:column}.el-tabs--bottom .el-tabs__header.is-bottom{margin-top:10px;margin-bottom:0}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid var(--el-border-color)}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-top:-1px;margin-bottom:0}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid #0000}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--card>.el-tabs__header.is-left,.el-tabs--card>.el-tabs__header.is-right,.el-tabs--border-card>.el-tabs__header.is-left,.el-tabs--border-card>.el-tabs__header.is-right{border-bottom:none}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-scroll{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{width:2px;height:auto;top:0;bottom:auto}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{text-align:center;cursor:pointer;width:100%;height:30px;line-height:30px}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i{transform:rotate(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev.is-disabled,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next.is-disabled,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev.is-disabled,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next.is-disabled,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev.is-disabled,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next.is-disabled,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev.is-disabled,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next.is-disabled{cursor:not-allowed}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{top:0;left:auto}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{bottom:0;right:auto}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left:after,.el-tabs--left .el-tabs__nav-wrap.is-right:after,.el-tabs--right .el-tabs__nav-wrap.is-left:after,.el-tabs--right .el-tabs__nav-wrap.is-right:after{width:2px;height:100%;top:0;bottom:auto}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{flex-direction:column}.el-tabs--left .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-left{justify-content:flex-end}.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-right{justify-content:flex-start}.el-tabs--left{flex-direction:row}.el-tabs--left .el-tabs__header.is-left{margin-bottom:0;margin-right:10px}.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__nav-wrap.is-left:after,.el-tabs--left .el-tabs__active-bar.is-left{left:auto;right:0}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left{display:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border-left:none;border-right:1px solid var(--el-border-color-light);border-bottom:none;border-top:1px solid var(--el-border-color-light);text-align:left}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid var(--el-border-color-light);border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:1px solid var(--el-border-color-light);border-bottom:none;border-left:none;border-right-color:#fff}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-bottom:1px solid var(--el-border-color-light);border-right:none;border-radius:4px 0 0 4px}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid var(--el-border-color)}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid #0000;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:#d1dbe5 #0000}.el-tabs--left>.el-tabs__content+.el-tabs__header{order:-1}.el-tabs--right .el-tabs__header.is-right{margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right:after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid var(--el-border-color-light)}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid var(--el-border-color-light);border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:1px solid var(--el-border-color-light);border-bottom:none;border-left-color:#fff;border-right:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-bottom:1px solid var(--el-border-color-light);border-left:none;border-radius:0 4px 4px 0}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid var(--el-border-color)}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid #0000;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:#d1dbe5 #0000}.el-tabs--top{flex-direction:column}.el-tabs--top>.el-tabs__content+.el-tabs__header{order:-1}.slideInRight-transition,.slideInLeft-transition{display:inline-block}.slideInRight-enter{animation:slideInRight-enter var(--el-transition-duration)}.slideInRight-leave{animation:slideInRight-leave var(--el-transition-duration);position:absolute;left:0;right:0}.slideInLeft-enter{animation:slideInLeft-enter var(--el-transition-duration)}.slideInLeft-leave{animation:slideInLeft-leave var(--el-transition-duration);position:absolute;left:0;right:0}@keyframes slideInRight-enter{0%{opacity:0;transform-origin:0 0;transform:translate(100%)}to{opacity:1;transform-origin:0 0;transform:translate(0)}}@keyframes slideInRight-leave{0%{transform-origin:0 0;opacity:1;transform:translate(0)}to{transform-origin:0 0;opacity:0;transform:translate(100%)}}@keyframes slideInLeft-enter{0%{opacity:0;transform-origin:0 0;transform:translate(-100%)}to{opacity:1;transform-origin:0 0;transform:translate(0)}}@keyframes slideInLeft-leave{0%{transform-origin:0 0;opacity:1;transform:translate(0)}to{transform-origin:0 0;opacity:0;transform:translate(-100%)}}.el-tag{--el-tag-font-size:12px;--el-tag-border-radius:4px;--el-tag-border-radius-rounded:9999px;background-color:var(--el-tag-bg-color);border-color:var(--el-tag-border-color);color:var(--el-tag-text-color);vertical-align:middle;height:24px;font-size:var(--el-tag-font-size);border-radius:var(--el-tag-border-radius);box-sizing:border-box;white-space:nowrap;--el-icon-size:14px;--el-tag-bg-color:var(--el-color-primary-light-9);--el-tag-border-color:var(--el-color-primary-light-8);--el-tag-hover-color:var(--el-color-primary);border-style:solid;border-width:1px;justify-content:center;align-items:center;padding:0 9px;line-height:1;display:inline-flex}.el-tag.el-tag--primary{--el-tag-bg-color:var(--el-color-primary-light-9);--el-tag-border-color:var(--el-color-primary-light-8);--el-tag-hover-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-bg-color:var(--el-color-success-light-9);--el-tag-border-color:var(--el-color-success-light-8);--el-tag-hover-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-bg-color:var(--el-color-warning-light-9);--el-tag-border-color:var(--el-color-warning-light-8);--el-tag-hover-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-bg-color:var(--el-color-danger-light-9);--el-tag-border-color:var(--el-color-danger-light-8);--el-tag-hover-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-bg-color:var(--el-color-error-light-9);--el-tag-border-color:var(--el-color-error-light-8);--el-tag-hover-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-bg-color:var(--el-color-info-light-9);--el-tag-border-color:var(--el-color-info-light-8);--el-tag-hover-color:var(--el-color-info)}.el-tag.is-hit{border-color:var(--el-color-primary)}.el-tag.is-round{border-radius:var(--el-tag-border-radius-rounded)}.el-tag .el-tag__close{color:var(--el-tag-text-color);flex-shrink:0}.el-tag .el-tag__close:hover{color:var(--el-color-white);background-color:var(--el-tag-hover-color)}.el-tag.el-tag--primary{--el-tag-text-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-text-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-text-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-text-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-text-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-text-color:var(--el-color-info)}.el-tag .el-icon{cursor:pointer;font-size:calc(var(--el-icon-size) - 2px);height:var(--el-icon-size);width:var(--el-icon-size);border-radius:50%}.el-tag .el-tag__close{background-color:#0000;border:none;border-radius:50%;outline:none;margin-left:6px;padding:0;overflow:hidden}.el-tag .el-tag__close:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-tag .el-tag__close .el-icon{display:flex}.el-tag--dark{--el-tag-text-color:var(--el-color-white);--el-tag-bg-color:var(--el-color-primary);--el-tag-border-color:var(--el-color-primary);--el-tag-hover-color:var(--el-color-primary-light-3)}.el-tag--dark.el-tag--primary{--el-tag-bg-color:var(--el-color-primary);--el-tag-border-color:var(--el-color-primary);--el-tag-hover-color:var(--el-color-primary-light-3)}.el-tag--dark.el-tag--success{--el-tag-bg-color:var(--el-color-success);--el-tag-border-color:var(--el-color-success);--el-tag-hover-color:var(--el-color-success-light-3)}.el-tag--dark.el-tag--warning{--el-tag-bg-color:var(--el-color-warning);--el-tag-border-color:var(--el-color-warning);--el-tag-hover-color:var(--el-color-warning-light-3)}.el-tag--dark.el-tag--danger{--el-tag-bg-color:var(--el-color-danger);--el-tag-border-color:var(--el-color-danger);--el-tag-hover-color:var(--el-color-danger-light-3)}.el-tag--dark.el-tag--error{--el-tag-bg-color:var(--el-color-error);--el-tag-border-color:var(--el-color-error);--el-tag-hover-color:var(--el-color-error-light-3)}.el-tag--dark.el-tag--info{--el-tag-bg-color:var(--el-color-info);--el-tag-border-color:var(--el-color-info);--el-tag-hover-color:var(--el-color-info-light-3)}.el-tag--dark.el-tag--primary,.el-tag--dark.el-tag--success,.el-tag--dark.el-tag--warning,.el-tag--dark.el-tag--danger,.el-tag--dark.el-tag--error,.el-tag--dark.el-tag--info{--el-tag-text-color:var(--el-color-white)}.el-tag--plain,.el-tag--plain.el-tag--primary{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-primary-light-5);--el-tag-hover-color:var(--el-color-primary)}.el-tag--plain.el-tag--success{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-success-light-5);--el-tag-hover-color:var(--el-color-success)}.el-tag--plain.el-tag--warning{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-warning-light-5);--el-tag-hover-color:var(--el-color-warning)}.el-tag--plain.el-tag--danger{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-danger-light-5);--el-tag-hover-color:var(--el-color-danger)}.el-tag--plain.el-tag--error{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-error-light-5);--el-tag-hover-color:var(--el-color-error)}.el-tag--plain.el-tag--info{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-info-light-5);--el-tag-hover-color:var(--el-color-info)}.el-tag.is-closable{padding-right:5px}.el-tag--large{--el-icon-size:16px;height:32px;padding:0 11px}.el-tag--large .el-tag__close{margin-left:8px}.el-tag--large.is-closable{padding-right:7px}.el-tag--small{--el-icon-size:12px;height:20px;padding:0 7px}.el-tag--small .el-tag__close{margin-left:4px}.el-tag--small.is-closable{padding-right:3px}.el-tag--small .el-icon-close{transform:scale(.8)}.el-tag.el-tag--primary.is-hit{border-color:var(--el-color-primary)}.el-tag.el-tag--success.is-hit{border-color:var(--el-color-success)}.el-tag.el-tag--warning.is-hit{border-color:var(--el-color-warning)}.el-tag.el-tag--danger.is-hit{border-color:var(--el-color-danger)}.el-tag.el-tag--error.is-hit{border-color:var(--el-color-error)}.el-tag.el-tag--info.is-hit{border-color:var(--el-color-info)}.el-text{--el-text-font-size:var(--el-font-size-base);--el-text-color:var(--el-text-color-regular);font-size:var(--el-text-font-size);color:var(--el-text-color);overflow-wrap:break-word;align-self:center;margin:0;padding:0}.el-text.is-truncated{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:inline-block;overflow:hidden}.el-text.is-line-clamp{-webkit-box-orient:vertical;display:-webkit-inline-box;overflow:hidden}.el-text--large{--el-text-font-size:var(--el-font-size-medium)}.el-text--default{--el-text-font-size:var(--el-font-size-base)}.el-text--small{--el-text-font-size:var(--el-font-size-extra-small)}.el-text.el-text--primary{--el-text-color:var(--el-color-primary)}.el-text.el-text--success{--el-text-color:var(--el-color-success)}.el-text.el-text--warning{--el-text-color:var(--el-color-warning)}.el-text.el-text--danger{--el-text-color:var(--el-color-danger)}.el-text.el-text--error{--el-text-color:var(--el-color-error)}.el-text.el-text--info{--el-text-color:var(--el-color-info)}.el-text>.el-icon{vertical-align:-2px}.time-select{min-width:0;margin:5px 0}.time-select .el-picker-panel__content{max-height:200px;margin:0}.time-select-item{padding:8px 10px;font-size:14px;line-height:20px}.time-select-item.disabled{color:var(--el-datepicker-border-color);cursor:not-allowed}.time-select-item:hover{background-color:var(--el-fill-color-light);cursor:pointer;font-weight:700}.time-select .time-select-item.selected:not(.disabled){color:var(--el-color-primary);font-weight:700}.el-timeline-item{padding-bottom:20px;position:relative}.el-timeline-item__wrapper{box-sizing:content-box;position:relative;top:-3px}.el-timeline-item__tail{border-left:2px solid var(--el-timeline-node-color);height:100%;position:absolute}.el-timeline-item .el-timeline-item__icon{color:var(--el-color-white);font-size:var(--el-font-size-small)}.el-timeline-item__node{background-color:var(--el-timeline-node-color);border-color:var(--el-timeline-node-color);box-sizing:border-box;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.el-timeline-item__node--normal{width:var(--el-timeline-node-size-normal);height:var(--el-timeline-node-size-normal)}.el-timeline-item__node--large{width:var(--el-timeline-node-size-large);height:var(--el-timeline-node-size-large)}.el-timeline-item__node.is-hollow{background:var(--el-color-white);border-style:solid;border-width:2px}.el-timeline-item__node--primary{background-color:var(--el-color-primary);border-color:var(--el-color-primary)}.el-timeline-item__node--success{background-color:var(--el-color-success);border-color:var(--el-color-success)}.el-timeline-item__node--warning{background-color:var(--el-color-warning);border-color:var(--el-color-warning)}.el-timeline-item__node--danger{background-color:var(--el-color-danger);border-color:var(--el-color-danger)}.el-timeline-item__node--info{background-color:var(--el-color-info);border-color:var(--el-color-info)}.el-timeline-item__dot{justify-content:center;align-items:center;display:flex;position:absolute}.el-timeline-item__content{color:var(--el-text-color-primary)}.el-timeline-item__timestamp{color:var(--el-text-color-secondary);line-height:1;font-size:var(--el-font-size-small)}.el-timeline-item__timestamp.is-top{margin-bottom:8px;padding-top:4px}.el-timeline-item__timestamp.is-bottom{margin-top:8px}.el-timeline-item.is-start .el-timeline-item__wrapper{padding-left:28px}.el-timeline-item.is-start .el-timeline-item__tail{left:4px}.el-timeline-item.is-start .el-timeline-item__node--normal{left:-1px}.el-timeline-item.is-start .el-timeline-item__node--large{left:-2px}.el-timeline-item.is-end .el-timeline-item__wrapper{text-align:right;padding-right:28px}.el-timeline-item.is-end .el-timeline-item__tail{right:4px}.el-timeline-item.is-end .el-timeline-item__node--normal{right:-1px}.el-timeline-item.is-end .el-timeline-item__node--large{right:-2px}.el-timeline-item.is-alternate .el-timeline-item__tail,.el-timeline-item.is-alternate .el-timeline-item__node,.el-timeline-item.is-alternate-reverse .el-timeline-item__tail,.el-timeline-item.is-alternate-reverse .el-timeline-item__node{left:50%;transform:translate(-50%)}.el-timeline{--el-timeline-node-size-normal:12px;--el-timeline-node-size-large:14px;--el-timeline-node-color:var(--el-border-color-light);font-size:var(--el-font-size-base);margin:0;list-style:none}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none}.el-timeline .el-timeline-item__center{align-items:center;display:flex}.el-timeline .el-timeline-item__center .el-timeline-item__wrapper{width:100%}.el-timeline .el-timeline-item__center .el-timeline-item__tail{top:0}.el-timeline .el-timeline-item__center:first-child .el-timeline-item__tail{height:calc(50% + 10px);top:calc(50% - 10px)}.el-timeline .el-timeline-item__center:last-child .el-timeline-item__tail{height:calc(50% - 10px);display:block}.el-timeline.is-start{padding-left:40px;padding-right:0}.el-timeline.is-end{padding-left:0;padding-right:40px}.el-timeline.is-alternate{padding-left:20px;padding-right:20px}.el-timeline.is-alternate .el-timeline-item:nth-child(odd) .el-timeline-item__wrapper{width:calc(50% - 28px);left:calc(50% - var(--el-timeline-node-size-large) / 2);padding-left:28px}.el-timeline.is-alternate .el-timeline-item:nth-child(2n) .el-timeline-item__wrapper{width:calc(50% - 28px + var(--el-timeline-node-size-large) / 2);text-align:right;padding-right:28px}.el-timeline.is-alternate-reverse{padding-left:20px;padding-right:20px}.el-timeline.is-alternate-reverse .el-timeline-item:nth-child(odd) .el-timeline-item__wrapper{width:calc(50% - 28px + var(--el-timeline-node-size-large) / 2);text-align:right;padding-right:28px}.el-timeline.is-alternate-reverse .el-timeline-item:nth-child(2n) .el-timeline-item__wrapper{width:calc(50% - 28px);left:calc(50% - var(--el-timeline-node-size-large) / 2);padding-left:28px}.el-transfer{--el-transfer-border-color:var(--el-border-color-lighter);--el-transfer-border-radius:var(--el-border-radius-base);--el-transfer-panel-width:200px;--el-transfer-panel-header-height:40px;--el-transfer-panel-header-bg-color:var(--el-fill-color-light);--el-transfer-panel-footer-height:40px;--el-transfer-panel-body-height:278px;--el-transfer-item-height:30px;--el-transfer-filter-height:32px;font-size:var(--el-font-size-base)}.el-transfer__buttons{vertical-align:middle;padding:0 30px;display:inline-block}.el-transfer__button{vertical-align:top}.el-transfer__button:nth-child(2){margin:0 0 0 10px}.el-transfer__button i,.el-transfer__button span{font-size:14px}.el-transfer__button .el-icon+span{margin-left:0}.el-transfer-panel{background:var(--el-bg-color-overlay);text-align:left;vertical-align:middle;width:var(--el-transfer-panel-width);box-sizing:border-box;max-height:100%;display:inline-block;position:relative;overflow:hidden}.el-transfer-panel__body{height:var(--el-transfer-panel-body-height);border-left:1px solid var(--el-transfer-border-color);border-right:1px solid var(--el-transfer-border-color);border-bottom:1px solid var(--el-transfer-border-color);border-bottom-left-radius:var(--el-transfer-border-radius);border-bottom-right-radius:var(--el-transfer-border-radius);overflow:hidden}.el-transfer-panel__body.is-with-footer{border-bottom:none;border-bottom-right-radius:0;border-bottom-left-radius:0}.el-transfer-panel__list{height:var(--el-transfer-panel-body-height);box-sizing:border-box;margin:0;padding:6px 0;list-style:none;overflow:auto}.el-transfer-panel__list.is-filterable{height:calc(100% - var(--el-transfer-filter-height) - 30px);padding-top:0}.el-transfer-panel__item{height:var(--el-transfer-item-height);line-height:var(--el-transfer-item-height);padding-left:15px;display:block!important}.el-transfer-panel__item+.el-transfer-panel__item{margin-left:0}.el-transfer-panel__item.el-checkbox{color:var(--el-text-color-regular);margin-right:30px}.el-transfer-panel__item:hover{color:var(--el-color-primary)}.el-transfer-panel__item.el-checkbox .el-checkbox__label{text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;width:100%;line-height:var(--el-transfer-item-height);padding-left:22px;display:block;overflow:hidden}.el-transfer-panel__item .el-checkbox__input{position:absolute;top:8px}.el-transfer-panel__filter{text-align:center;box-sizing:border-box;padding:15px}.el-transfer-panel__filter .el-input__inner{height:var(--el-transfer-filter-height);box-sizing:border-box;width:100%;font-size:12px;display:inline-block}.el-transfer-panel__filter .el-icon-circle-close{cursor:pointer}.el-transfer-panel .el-transfer-panel__header{height:var(--el-transfer-panel-header-height);background:var(--el-transfer-panel-header-bg-color);border:1px solid var(--el-transfer-border-color);border-top-left-radius:var(--el-transfer-border-radius);border-top-right-radius:var(--el-transfer-border-radius);box-sizing:border-box;color:var(--el-color-black);align-items:center;margin:0;padding-left:15px;display:flex}.el-transfer-panel .el-transfer-panel__header .el-checkbox{align-items:center;width:100%;display:flex;position:relative}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label{min-width:0;color:var(--el-text-color-primary);flex:1;align-items:center;font-size:16px;font-weight:400;display:flex}.el-transfer-panel .el-transfer-panel__header-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.el-transfer-panel .el-transfer-panel__header-count{color:var(--el-text-color-secondary);flex-shrink:0;margin-left:8px;margin-right:15px;font-size:12px}.el-transfer-panel .el-transfer-panel__footer{height:var(--el-transfer-panel-footer-height);background:var(--el-bg-color-overlay);border:1px solid var(--el-transfer-border-color);border-bottom-left-radius:var(--el-transfer-border-radius);border-bottom-right-radius:var(--el-transfer-border-radius);margin:0;padding:0}.el-transfer-panel .el-transfer-panel__footer:after{content:"";vertical-align:middle;height:100%;display:inline-block}.el-transfer-panel .el-transfer-panel__footer .el-checkbox{color:var(--el-text-color-regular);padding-left:20px}.el-transfer-panel .el-transfer-panel__empty{height:var(--el-transfer-item-height);line-height:var(--el-transfer-item-height);color:var(--el-text-color-secondary);text-align:center;margin:0;padding:6px 15px 0}.el-transfer-panel .el-checkbox__label{padding-left:8px}.el-tree{--el-tree-node-content-height:26px;--el-tree-node-hover-bg-color:var(--el-fill-color-light);--el-tree-text-color:var(--el-text-color-regular);--el-tree-expand-icon-color:var(--el-text-color-placeholder);cursor:default;background:var(--el-fill-color-blank);color:var(--el-tree-text-color);font-size:var(--el-font-size-base);position:relative}.el-tree__empty-block{text-align:center;width:100%;height:100%;min-height:60px;position:relative}.el-tree__empty-text{color:var(--el-text-color-secondary);font-size:var(--el-font-size-base);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.el-tree__drop-indicator{background-color:var(--el-color-primary);height:1px;position:absolute;left:0;right:0}.el-tree-node{white-space:nowrap;outline:none}.el-tree-node:focus>.el-tree-node__content{background-color:var(--el-tree-node-hover-bg-color)}.el-tree-node.is-drop-inner>.el-tree-node__content .el-tree-node__label{background-color:var(--el-color-primary);color:#fff}.el-tree-node__content{--el-checkbox-height:var(--el-tree-node-content-height);height:var(--el-tree-node-content-height);cursor:pointer;align-items:center;display:flex}.el-tree-node__content>.el-tree-node__expand-icon{box-sizing:content-box;padding:6px}.el-tree-node__content>label.el-checkbox{margin-right:8px}.el-tree-node__content:hover{background-color:var(--el-tree-node-hover-bg-color)}.el-tree.is-dragging .el-tree-node__content{cursor:move}.el-tree.is-dragging .el-tree-node__content *{pointer-events:none}.el-tree.is-dragging.is-drop-not-allow .el-tree-node__content{cursor:not-allowed}.el-tree-node__expand-icon{cursor:pointer;color:var(--el-tree-expand-icon-color);transition:transform var(--el-transition-duration) ease-in-out;font-size:12px;transform:rotate(0)}.el-tree-node__expand-icon.expanded{transform:rotate(90deg)}.el-tree-node__expand-icon.is-leaf{color:#0000;cursor:default;visibility:hidden}.el-tree-node__expand-icon.is-hidden{visibility:hidden}.el-tree-node__loading-icon{font-size:var(--el-font-size-base);color:var(--el-tree-expand-icon-color);margin-right:8px}.el-tree-node>.el-tree-node__children{background-color:#0000;overflow:hidden}.el-tree-node.is-expanded>.el-tree-node__children{display:block}.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:var(--el-color-primary-light-9)}.el-tree-select{--el-tree-node-content-height:26px;--el-tree-node-hover-bg-color:var(--el-fill-color-light);--el-tree-text-color:var(--el-text-color-regular);--el-tree-expand-icon-color:var(--el-text-color-placeholder)}.el-tree-select__popper .el-tree-node__expand-icon{margin-left:8px}.el-tree-select__popper .el-tree-node.is-checked>.el-tree-node__content .el-select-dropdown__item.selected:after{content:none}.el-tree-select__popper .el-select-dropdown__list>.el-select-dropdown__item{padding-left:32px}.el-tree-select__popper .el-select-dropdown__item{flex:1;height:20px;padding-left:0;line-height:20px;background:0 0!important}.el-upload{--el-upload-dragger-padding-horizontal:10px;--el-upload-dragger-padding-vertical:40px;--el-upload-list-picture-card-size:var(--el-upload-picture-card-size);--el-upload-picture-card-size:148px;cursor:pointer;outline:none;justify-content:center;align-items:center;display:inline-flex}.el-upload.is-disabled{cursor:not-allowed}.el-upload.is-disabled:focus{border-color:var(--el-border-color-darker);color:inherit}.el-upload.is-disabled:focus .el-upload-dragger{border-color:var(--el-border-color-darker)}.el-upload.is-disabled .el-upload-dragger{cursor:not-allowed;background-color:var(--el-disabled-bg-color)}.el-upload.is-disabled .el-upload-dragger .el-upload__text{color:var(--el-text-color-placeholder)}.el-upload.is-disabled .el-upload-dragger .el-upload__text em{color:var(--el-disabled-text-color)}.el-upload.is-disabled .el-upload-dragger:hover{border-color:var(--el-border-color-darker)}.el-upload__input{display:none}.el-upload__tip{color:var(--el-text-color-regular);margin-top:7px;font-size:12px}.el-upload iframe{z-index:-1;opacity:0;filter:alpha(opacity=0);position:absolute;top:0;left:0}.el-upload--picture-card{background-color:var(--el-fill-color-lighter);border:1px dashed var(--el-border-color-darker);box-sizing:border-box;width:var(--el-upload-picture-card-size);height:var(--el-upload-picture-card-size);cursor:pointer;vertical-align:top;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.el-upload--picture-card>i{color:var(--el-text-color-secondary);font-size:28px}.el-upload--picture-card:hover{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload.is-drag{display:block}.el-upload:focus{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload:focus .el-upload-dragger{border-color:var(--el-color-primary)}.el-upload-dragger{padding:var(--el-upload-dragger-padding-vertical) var(--el-upload-dragger-padding-horizontal);background-color:var(--el-fill-color-blank);border:1px dashed var(--el-border-color);box-sizing:border-box;text-align:center;cursor:pointer;border-radius:6px;position:relative;overflow:hidden}.el-upload-dragger .el-icon--upload{color:var(--el-text-color-placeholder);margin-bottom:16px;font-size:67px;line-height:50px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:var(--el-border);margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:var(--el-text-color-regular);text-align:center;font-size:14px}.el-upload-dragger .el-upload__text em{color:var(--el-color-primary);font-style:normal}.el-upload-dragger:hover{border-color:var(--el-color-primary)}.el-upload-dragger.is-dragover{padding:calc(var(--el-upload-dragger-padding-vertical) - 1px) calc(var(--el-upload-dragger-padding-horizontal) - 1px);background-color:var(--el-color-primary-light-9);border:2px dashed var(--el-color-primary)}.el-upload-list{--el-upload-dragger-padding-horizontal:10px;--el-upload-dragger-padding-vertical:40px;--el-upload-list-picture-card-size:var(--el-upload-picture-card-size);--el-upload-picture-card-size:148px;margin:10px 0 0;padding:0;list-style:none;position:relative}.el-upload-list__item{color:var(--el-text-color-regular);box-sizing:border-box;border-radius:4px;width:100%;margin-bottom:5px;font-size:14px;transition:all .5s cubic-bezier(.55,0,.1,1);position:relative}.el-upload-list__item .el-progress{width:100%;position:absolute;top:20px}.el-upload-list__item .el-progress__text{position:absolute;top:-13px;right:0}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item .el-icon--upload-success{color:var(--el-color-success)}.el-upload-list__item .el-icon--close{cursor:pointer;opacity:.75;color:var(--el-text-color-regular);transition:opacity var(--el-transition-duration);display:none;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.el-upload-list__item .el-icon--close:hover{opacity:1;color:var(--el-color-primary)}.el-upload-list__item .el-icon--close-tip{cursor:pointer;opacity:1;color:var(--el-color-primary);font-size:12px;font-style:normal;display:none;position:absolute;top:1px;right:5px}.el-upload-list__item:hover,.el-upload-list__item:focus-within{background-color:var(--el-fill-color-light)}.el-upload-list__item:hover .el-icon--close,.el-upload-list__item:focus-within .el-icon--close{display:inline-flex}.el-upload-list__item:hover .el-icon--close-tip,.el-upload-list__item:focus-within .el-icon--close-tip{right:24px}.el-upload-list__item:hover .el-progress__text,.el-upload-list__item:focus-within .el-progress__text{display:none}.el-upload-list__item .el-upload-list__item-info{flex-direction:column;justify-content:center;width:calc(100% - 30px);margin-left:4px;display:inline-flex}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:inline-flex}.el-upload-list__item.is-success .el-upload-list__item-name:hover,.el-upload-list__item.is-success .el-upload-list__item-name:focus{color:var(--el-color-primary);cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon--close-tip{display:inline-block}.el-upload-list__item.is-success:not(.focusing):focus,.el-upload-list__item.is-success:active{outline-width:0}.el-upload-list__item.is-success:not(.focusing):focus .el-icon--close-tip,.el-upload-list__item.is-success:active .el-icon--close-tip{display:none}.el-upload-list__item.is-success:hover .el-upload-list__item-status-label,.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:focus-within .el-upload-list__item-status-label{opacity:0;display:none}.el-upload-list__item-name{color:var(--el-text-color-regular);text-align:center;transition:color var(--el-transition-duration);font-size:var(--el-font-size-base);align-items:center;padding:0 4px;display:inline-flex}.el-upload-list__item-name .el-icon{color:var(--el-text-color-secondary);margin-right:6px}.el-upload-list__item-file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.el-upload-list__item-status-label{line-height:inherit;height:100%;transition:opacity var(--el-transition-duration);justify-content:center;align-items:center;display:none;position:absolute;top:0;right:5px}.el-upload-list__item-delete{color:var(--el-text-color-regular);font-size:12px;display:none;position:absolute;top:0;right:10px}.el-upload-list__item-delete:hover{color:var(--el-color-primary)}.el-upload-list--picture-card{flex-wrap:wrap;margin:0;display:inline-flex}.el-upload-list--picture-card .el-upload-list__item{background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);box-sizing:border-box;width:var(--el-upload-list-picture-card-size);height:var(--el-upload-list-picture-card-size);border-radius:6px;margin:0 8px 8px 0;padding:0;display:inline-flex;overflow:hidden}.el-upload-list--picture-card .el-upload-list__item .el-icon--check,.el-upload-list--picture-card .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture-card .el-upload-list__item .el-icon--close{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{opacity:0;display:block}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{object-fit:contain;width:100%;height:100%}.el-upload-list--picture-card .el-upload-list__item-status-label{background:var(--el-color-success);text-align:center;width:40px;height:24px;top:-6px;right:-15px;transform:rotate(45deg)}.el-upload-list--picture-card .el-upload-list__item-status-label i{margin-top:11px;font-size:12px;transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{cursor:default;color:#fff;opacity:0;background-color:var(--el-overlay-color-lighter);width:100%;height:100%;transition:opacity var(--el-transition-duration);justify-content:center;align-items:center;font-size:20px;display:inline-flex;position:absolute;top:0;left:0}.el-upload-list--picture-card .el-upload-list__item-actions span{cursor:pointer;display:none}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:16px}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{font-size:inherit;color:inherit;position:static}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-flex}.el-upload-list--picture-card .el-progress{width:126px;top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%)}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{z-index:0;background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);box-sizing:border-box;border-radius:6px;align-items:center;margin-top:10px;padding:10px;display:flex;overflow:hidden}.el-upload-list--picture .el-upload-list__item .el-icon--check,.el-upload-list--picture .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{opacity:0;display:inline-flex}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item .el-icon--close{top:5px;transform:translateY(0)}.el-upload-list--picture .el-upload-list__item-thumbnail{object-fit:contain;z-index:1;background-color:var(--el-color-white);justify-content:center;align-items:center;width:70px;height:70px;display:inline-flex;position:relative}.el-upload-list--picture .el-upload-list__item-status-label{background:var(--el-color-success);text-align:center;width:46px;height:26px;position:absolute;top:-7px;right:-17px;transform:rotate(45deg)}.el-upload-list--picture .el-upload-list__item-status-label i{margin-top:12px;font-size:12px;transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{z-index:10;cursor:default;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.el-upload-cover:after{content:"";vertical-align:middle;height:100%;display:inline-block}.el-upload-cover img{width:100%;height:100%;display:block}.el-upload-cover__label{background:var(--el-color-success);text-align:center;width:40px;height:24px;top:-6px;right:-15px;transform:rotate(45deg)}.el-upload-cover__label i{color:#fff;margin-top:11px;font-size:12px;transform:rotate(-45deg)}.el-upload-cover__progress{vertical-align:middle;width:243px;display:inline-block;position:static}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{width:100%;height:100%;position:absolute;top:0;left:0}.el-upload-cover__interact{background-color:var(--el-overlay-color-light);text-align:center;width:100%;height:100%;position:absolute;bottom:0;left:0}.el-upload-cover__interact .btn{color:#fff;cursor:pointer;vertical-align:middle;transition:var(--el-transition-md-fade);margin-top:60px;font-size:14px;display:inline-block}.el-upload-cover__interact .btn i{margin-top:0}.el-upload-cover__interact .btn span{opacity:0;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#fff;font-size:24px;line-height:inherit;margin:0 auto 5px;display:block}.el-upload-cover__title{text-overflow:ellipsis;white-space:nowrap;text-align:left;width:100%;height:36px;color:var(--el-text-color-primary);background-color:#fff;margin:0;padding:0 10px;font-size:14px;font-weight:400;line-height:36px;position:absolute;bottom:0;left:0;overflow:hidden}.el-upload-cover+.el-upload__inner{opacity:0;z-index:1;position:relative}.el-vl__wrapper{position:relative}.el-vl__wrapper:hover .el-virtual-scrollbar,.el-vl__wrapper.always-on .el-virtual-scrollbar{opacity:1}.el-vl__window{scrollbar-width:none}.el-vl__window::-webkit-scrollbar{display:none}.el-virtual-scrollbar{opacity:0;transition:opacity .34s ease-out}.el-virtual-scrollbar.always-on{opacity:1}.el-vg__wrapper{position:relative}.el-popper{--el-popper-border-radius:var(--el-popover-border-radius,4px);--el-popper-bg-color-light:var(--el-bg-color-overlay);--el-popper-bg-color-dark:var(--el-text-color-primary);border-radius:var(--el-popper-border-radius);z-index:2000;overflow-wrap:break-word;word-break:normal;visibility:visible;min-width:10px;padding:5px 11px;font-size:12px;line-height:20px;position:absolute}.el-popper.is-dark{--el-fill-color-blank:var(--el-popper-bg-color-dark);color:var(--el-bg-color);background:var(--el-popper-bg-color-dark);border:1px solid var(--el-text-color-primary)}.el-popper.is-dark>.el-popper__arrow:before{border:1px solid var(--el-text-color-primary);background:var(--el-popper-bg-color-dark);right:0}.el-popper.is-light{--el-fill-color-blank:var(--el-popper-bg-color-light);background:var(--el-popper-bg-color-light);border:1px solid var(--el-border-color-light)}.el-popper.is-light>.el-popper__arrow:before{border:1px solid var(--el-border-color-light);background:var(--el-popper-bg-color-light);right:0}.el-popper.is-pure{padding:0}.el-popper__arrow{z-index:-1;width:10px;height:10px;position:absolute}.el-popper__arrow:before{z-index:-1;content:" ";background:var(--el-text-color-primary);box-sizing:border-box;width:10px;height:10px;position:absolute;transform:rotate(45deg)}.el-popper[data-popper-placement^=top]>.el-popper__arrow{bottom:-5px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-bottom-right-radius:2px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow{top:-5px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-top-left-radius:2px}.el-popper[data-popper-placement^=left]>.el-popper__arrow{right:-5px}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-top-right-radius:2px}.el-popper[data-popper-placement^=right]>.el-popper__arrow{left:-5px}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-bottom-left-radius:2px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-top-color:#0000!important;border-left-color:#0000!important}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-bottom-color:#0000!important;border-right-color:#0000!important}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-bottom-color:#0000!important;border-left-color:#0000!important}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-top-color:#0000!important;border-right-color:#0000!important}.el-statistic{--el-statistic-title-font-weight:400;--el-statistic-title-font-size:var(--el-font-size-extra-small);--el-statistic-title-color:var(--el-text-color-regular);--el-statistic-content-font-weight:400;--el-statistic-content-font-size:var(--el-font-size-extra-large);--el-statistic-content-color:var(--el-text-color-primary)}.el-statistic__head{font-weight:var(--el-statistic-title-font-weight);font-size:var(--el-statistic-title-font-size);color:var(--el-statistic-title-color);margin-bottom:4px;line-height:20px}.el-statistic__content{font-weight:var(--el-statistic-content-font-weight);font-size:var(--el-statistic-content-font-size);color:var(--el-statistic-content-color)}.el-statistic__value{display:inline-block}.el-statistic__prefix{margin-right:4px;display:inline-block}.el-statistic__suffix{margin-left:4px;display:inline-block}.el-tour{--el-tour-width:520px;--el-tour-padding-primary:12px;--el-tour-font-line-height:var(--el-font-line-height-primary);--el-tour-title-font-size:16px;--el-tour-title-text-color:var(--el-text-color-primary);--el-tour-title-font-weight:400;--el-tour-close-color:var(--el-color-info);--el-tour-font-size:14px;--el-tour-color:var(--el-text-color-primary);--el-tour-bg-color:var(--el-bg-color);--el-tour-border-radius:4px}.el-tour__hollow{transition:all var(--el-transition-duration) ease}.el-tour__content{border-radius:var(--el-tour-border-radius);width:var(--el-tour-width);padding:var(--el-tour-padding-primary);background:var(--el-tour-bg-color);box-shadow:var(--el-box-shadow-light);box-sizing:border-box;overflow-wrap:break-word;outline:none}.el-tour__arrow{background:var(--el-tour-bg-color);pointer-events:none;box-sizing:border-box;width:10px;height:10px;position:absolute;transform:rotate(45deg)}.el-tour__content[data-side^=top] .el-tour__arrow{border-top-color:#0000;border-left-color:#0000}.el-tour__content[data-side^=bottom] .el-tour__arrow{border-bottom-color:#0000;border-right-color:#0000}.el-tour__content[data-side^=left] .el-tour__arrow{border-bottom-color:#0000;border-left-color:#0000}.el-tour__content[data-side^=right] .el-tour__arrow{border-top-color:#0000;border-right-color:#0000}.el-tour__content[data-side^=top] .el-tour__arrow{bottom:-5px}.el-tour__content[data-side^=bottom] .el-tour__arrow{top:-5px}.el-tour__content[data-side^=left] .el-tour__arrow{right:-5px}.el-tour__content[data-side^=right] .el-tour__arrow{left:-5px}.el-tour__closebtn{cursor:pointer;width:40px;height:40px;font-size:var(--el-message-close-size,16px);background:0 0;border:none;outline:none;padding:0;position:absolute;top:0;right:0}.el-tour__closebtn .el-tour__close{color:var(--el-tour-close-color);font-size:inherit}.el-tour__closebtn:focus .el-tour__close,.el-tour__closebtn:hover .el-tour__close{color:var(--el-color-primary)}.el-tour__header{padding-bottom:var(--el-tour-padding-primary)}.el-tour__header.show-close{padding-right:calc(var(--el-tour-padding-primary) + var(--el-message-close-size,16px))}.el-tour__title{line-height:var(--el-tour-font-line-height);font-size:var(--el-tour-title-font-size);color:var(--el-tour-title-text-color);font-weight:var(--el-tour-title-font-weight)}.el-tour__body{color:var(--el-tour-text-color);font-size:var(--el-tour-font-size)}.el-tour__body img,.el-tour__body video{max-width:100%}.el-tour__footer{padding-top:var(--el-tour-padding-primary);box-sizing:border-box;justify-content:space-between;display:flex}.el-tour__content .el-tour-indicators{flex:1;display:inline-block}.el-tour__content .el-tour-indicator{background:var(--el-color-info-light-9);border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.el-tour__content .el-tour-indicator.is-active{background:var(--el-color-primary)}.el-tour.el-tour--primary{--el-tour-title-text-color:#fff;--el-tour-text-color:#fff;--el-tour-bg-color:var(--el-color-primary);--el-tour-close-color:#fff}.el-tour.el-tour--primary .el-tour__closebtn:focus .el-tour__close,.el-tour.el-tour--primary .el-tour__closebtn:hover .el-tour__close{color:var(--el-tour-title-text-color)}.el-tour.el-tour--primary .el-button--default{color:var(--el-color-primary);border-color:var(--el-color-primary);background:#fff}.el-tour.el-tour--primary .el-button--primary{border-color:#fff}.el-tour.el-tour--primary .el-tour-indicator{background:#ffffff26}.el-tour.el-tour--primary .el-tour-indicator.is-active{background:#fff}.el-tour-parent--hidden{overflow:hidden}.el-anchor{--el-anchor-bg-color:var(--el-bg-color);--el-anchor-padding-indent:14px;--el-anchor-line-height:22px;--el-anchor-font-size:12px;--el-anchor-color:var(--el-text-color-secondary);--el-anchor-active-color:var(--el-color-primary);--el-anchor-hover-color:var(--el-text-color-regular);--el-anchor-marker-bg-color:var(--el-color-primary);background-color:var(--el-anchor-bg-color);position:relative}.el-anchor__marker{background-color:var(--el-anchor-marker-bg-color);opacity:0;z-index:0;border-radius:4px;position:absolute}.el-anchor.el-anchor--vertical .el-anchor__marker{width:4px;height:14px;transition:top .25s ease-in-out,opacity .25s;top:8px;left:0}.el-anchor.el-anchor--vertical .el-anchor__list{padding-left:var(--el-anchor-padding-indent)}.el-anchor.el-anchor--vertical.el-anchor--underline:before{content:"";background-color:#0505050f;width:2px;height:100%;position:absolute;left:0}.el-anchor.el-anchor--vertical.el-anchor--underline .el-anchor__marker{border-radius:unset;width:2px}.el-anchor.el-anchor--horizontal .el-anchor__marker{width:20px;height:2px;transition:left .25s ease-in-out,opacity .25s,width .25s;bottom:0}.el-anchor.el-anchor--horizontal .el-anchor__list{padding-bottom:4px;display:flex}.el-anchor.el-anchor--horizontal .el-anchor__list .el-anchor__item{padding-left:16px}.el-anchor.el-anchor--horizontal .el-anchor__list .el-anchor__item:first-child{padding-left:0}.el-anchor.el-anchor--horizontal.el-anchor--underline:before{content:"";background-color:#0505050f;width:100%;height:2px;position:absolute;bottom:0}.el-anchor.el-anchor--horizontal.el-anchor--underline .el-anchor__marker{border-radius:unset;height:2px}.el-anchor__item{flex-direction:column;display:flex}.el-anchor__link{font-size:var(--el-anchor-font-size);line-height:var(--el-anchor-line-height);color:var(--el-anchor-color);transition:color var(--el-transition-duration);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;outline:none;max-width:100%;padding:4px 0;text-decoration:none;overflow:hidden}.el-anchor__link:hover,.el-anchor__link:focus{color:var(--el-hover-color)}.el-anchor__link:focus-visible{border-radius:var(--el-border-radius-base);outline:2px solid var(--el-color-primary)}.el-anchor__link.is-active{color:var(--el-anchor-active-color)}.el-anchor .el-anchor__list .el-anchor__item a{display:inline-block}.el-segmented--vertical{flex-direction:column}.el-segmented--vertical .el-segmented__item{padding:11px}.el-segmented{--el-segmented-color:var(--el-text-color-regular);--el-segmented-bg-color:var(--el-fill-color-light);--el-segmented-padding:2px;--el-segmented-item-selected-color:var(--el-color-white);--el-segmented-item-selected-bg-color:var(--el-color-primary);--el-segmented-item-selected-disabled-bg-color:var(--el-color-primary-light-5);--el-segmented-item-hover-color:var(--el-text-color-primary);--el-segmented-item-hover-bg-color:var(--el-fill-color-dark);--el-segmented-item-active-bg-color:var(--el-fill-color-darker);--el-segmented-item-disabled-color:var(--el-text-color-placeholder);background:var(--el-segmented-bg-color);min-height:32px;padding:var(--el-segmented-padding);border-radius:var(--el-border-radius-base);color:var(--el-segmented-color);box-sizing:border-box;align-items:stretch;font-size:14px;display:inline-flex}.el-segmented__group{align-items:stretch;width:100%;display:flex;position:relative}.el-segmented__item-selected{background:var(--el-segmented-item-selected-bg-color);border-radius:calc(var(--el-border-radius-base) - 2px);pointer-events:none;width:10px;height:100%;transition:all .3s;position:absolute;top:0;left:0}.el-segmented__item-selected.is-disabled{background:var(--el-segmented-item-selected-disabled-bg-color)}.el-segmented__item-selected.is-focus-visible:before{content:"";border-radius:inherit;outline:2px solid var(--el-segmented-item-selected-bg-color);outline-offset:1px;position:absolute;inset:0}.el-segmented__item{cursor:pointer;border-radius:calc(var(--el-border-radius-base) - 2px);flex:1;align-items:center;padding:0 11px;display:flex}.el-segmented__item:not(.is-disabled):not(.is-selected):hover{color:var(--el-segmented-item-hover-color);background:var(--el-segmented-item-hover-bg-color)}.el-segmented__item:not(.is-disabled):not(.is-selected):active{background:var(--el-segmented-item-active-bg-color)}.el-segmented__item.is-selected,.el-segmented__item.is-selected.is-disabled{color:var(--el-segmented-item-selected-color)}.el-segmented__item.is-disabled{cursor:not-allowed;color:var(--el-segmented-item-disabled-color)}.el-segmented__item-input{opacity:0;pointer-events:none;width:0;height:0;margin:0;position:absolute}.el-segmented__item-label{text-align:center;text-overflow:ellipsis;white-space:nowrap;z-index:1;flex:1;line-height:normal;transition:color .3s;overflow:hidden}.el-segmented.is-block{display:flex}.el-segmented.is-block .el-segmented__item{min-width:0}.el-segmented--large{border-radius:var(--el-border-radius-base);min-height:40px;font-size:16px}.el-segmented--large .el-segmented__item-selected{border-radius:calc(var(--el-border-radius-base) - 2px)}.el-segmented--large .el-segmented--vertical .el-segmented__item{padding:11px}.el-segmented--large .el-segmented__item{border-radius:calc(var(--el-border-radius-base) - 2px);padding:0 11px}.el-segmented--small{border-radius:calc(var(--el-border-radius-base) - 1px);min-height:24px;font-size:14px}.el-segmented--small .el-segmented__item-selected{border-radius:calc(calc(var(--el-border-radius-base) - 1px) - 2px)}.el-segmented--small .el-segmented--vertical .el-segmented__item{padding:7px}.el-segmented--small .el-segmented__item{border-radius:calc(calc(var(--el-border-radius-base) - 1px) - 2px);padding:0 7px}.el-mention{width:100%;position:relative}.el-mention__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-box-shadow-light)}.el-mention__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-mention__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-mention__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-mention__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-mention__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-mention-dropdown{--el-mention-font-size:var(--el-font-size-base);--el-mention-bg-color:var(--el-bg-color-overlay);--el-mention-shadow:var(--el-box-shadow-light);--el-mention-border:1px solid var(--el-border-color-light);--el-mention-option-color:var(--el-text-color-regular);--el-mention-option-height:34px;--el-mention-option-min-width:100px;--el-mention-option-hover-background:var(--el-fill-color-light);--el-mention-option-selected-color:var(--el-color-primary);--el-mention-option-disabled-color:var(--el-text-color-placeholder);--el-mention-option-loading-color:var(--el-text-color-secondary);--el-mention-option-loading-padding:10px 0;--el-mention-max-height:174px;--el-mention-padding:6px 0;--el-mention-header-padding:10px;--el-mention-footer-padding:10px}.el-mention-dropdown__item{font-size:var(--el-mention-font-size);white-space:nowrap;text-overflow:ellipsis;color:var(--el-mention-option-color);height:var(--el-mention-option-height);line-height:var(--el-mention-option-height);box-sizing:border-box;min-width:var(--el-mention-option-min-width);cursor:pointer;padding:0 20px;position:relative;overflow:hidden}.el-mention-dropdown__item.is-hovering{background-color:var(--el-mention-option-hover-background)}.el-mention-dropdown__item.is-selected{color:var(--el-mention-option-selected-color);font-weight:700}.el-mention-dropdown__item.is-disabled{color:var(--el-mention-option-disabled-color);cursor:not-allowed;background-color:unset}.el-mention-dropdown{z-index:calc(var(--el-index-top) + 1);border-radius:var(--el-border-radius-base);box-sizing:border-box}.el-mention-dropdown__loading{text-align:center;color:var(--el-mention-option-loading-color);min-width:var(--el-mention-option-min-width);margin:0;padding:10px 0;font-size:12px}.el-mention-dropdown__wrap{max-height:var(--el-mention-max-height)}.el-mention-dropdown__list{padding:var(--el-mention-padding);box-sizing:border-box;margin:0;list-style:none}.el-mention-dropdown__header{padding:var(--el-mention-header-padding);border-bottom:var(--el-mention-border)}.el-mention-dropdown__footer{padding:var(--el-mention-footer-padding);border-top:var(--el-mention-border)}.el-splitter{width:100%;height:100%;margin:0;padding:0;display:flex;position:relative}.el-splitter__mask{z-index:999;position:absolute;inset:0}.el-splitter__mask-horizontal{cursor:ew-resize}.el-splitter__mask-vertical{cursor:ns-resize}.el-splitter__horizontal{flex-direction:row}.el-splitter__vertical{flex-direction:column}.el-splitter-bar{-webkit-user-select:none;user-select:none;flex:none;position:relative}.el-splitter-bar__dragger{z-index:1;background:0 0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.el-splitter-bar__dragger:before,.el-splitter-bar__dragger:after{content:"";background-color:var(--el-border-color-light);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.el-splitter-bar__dragger:not(.is-lazy):after{display:none}.el-splitter-bar__dragger:after{opacity:.4}.el-splitter-bar__dragger:hover:not(.is-disabled):before{background-color:var(--el-color-primary-light-5)}.el-splitter-bar__dragger-horizontal:before,.el-splitter-bar__dragger-horizontal:after{width:2px;height:100%}.el-splitter-bar__dragger-vertical:before,.el-splitter-bar__dragger-vertical:after{width:100%;height:2px}.el-splitter-bar__dragger-active:before,.el-splitter-bar__dragger-active:after{background-color:var(--el-color-primary-light-3)}.el-splitter-bar__dragger-active.el-splitter-bar__dragger-horizontal:after{transform:translate(calc(-50% + var(--el-splitter-bar-offset)), -50%)}.el-splitter-bar__dragger-active.el-splitter-bar__dragger-vertical:after{transform:translate(-50%, calc(-50% + var(--el-splitter-bar-offset)))}.el-splitter-bar:hover .el-splitter-bar__collapse-icon{opacity:1}.el-splitter-bar__collapse-icon{background:var(--el-border-color-light);cursor:pointer;opacity:0;z-index:9;border-radius:2px;justify-content:center;align-items:center;display:flex;position:absolute}.el-splitter-bar__collapse-icon:hover{opacity:1;background-color:var(--el-color-primary-light-5)}.el-splitter-bar__horizontal-collapse-icon-start{width:16px;height:24px;top:50%;left:-12px;transform:translate(-50%,-50%)}.el-splitter-bar__horizontal-collapse-icon-end{width:16px;height:24px;top:50%;left:12px;transform:translate(-50%,-50%)}.el-splitter-bar__vertical-collapse-icon-start{width:24px;height:16px;top:-12px;right:50%;transform:translate(50%,-50%)}.el-splitter-bar__vertical-collapse-icon-end{width:24px;height:16px;top:12px;right:50%;transform:translate(50%,-50%)}.el-splitter-panel{scrollbar-width:thin;box-sizing:border-box;flex-grow:0;overflow:auto}:root{--vxe-ui-font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;--vxe-ui-font-size-xlarge:16px;--vxe-ui-font-size-large:16px;--vxe-ui-font-size-default:14px;--vxe-ui-font-size-medium:14px;--vxe-ui-font-size-small:12px;--vxe-ui-font-size-mini:12px;--vxe-ui-border-radius:4px;--vxe-ui-input-disabled-color:#dcdfe6;--vxe-ui-input-height-xlarge:40px;--vxe-ui-input-height-large:36px;--vxe-ui-input-height-default:34px;--vxe-ui-input-height-medium:32px;--vxe-ui-input-height-small:30px;--vxe-ui-input-height-mini:28px;--vxe-ui-table-header-font-color:var(--vxe-ui-font-color);--vxe-ui-table-footer-font-color:var(--vxe-ui-font-color);--vxe-ui-table-border-radius:var(--vxe-ui-border-radius);--vxe-ui-table-border-width:1.05px;--vxe-ui-table-resizable-line-color:#d9dddf;--vxe-ui-table-resizable-drag-line-color:var(--vxe-ui-font-primary-color);--vxe-ui-table-footer-background-color:var(--vxe-ui-layout-background-color);--vxe-ui-table-tree-node-line-color:#909399;--vxe-ui-table-tree-node-line-style:dotted;--vxe-ui-table-header-font-weight:700;--vxe-ui-table-row-height-xlarge:54px;--vxe-ui-table-row-height-large:52px;--vxe-ui-table-row-height-default:48px;--vxe-ui-table-row-height-medium:44px;--vxe-ui-table-row-height-small:40px;--vxe-ui-table-row-height-mini:36px;--vxe-ui-table-row-line-height:22px;--vxe-ui-table-column-icon-border-color:#c0c4cc;--vxe-ui-table-column-icon-border-hover-color:#515a6e;--vxe-ui-table-cell-padding-xlarge:10px;--vxe-ui-table-cell-padding-large:9px;--vxe-ui-table-cell-padding-default:8px;--vxe-ui-table-cell-padding-medium:7px;--vxe-ui-table-cell-padding-small:6px;--vxe-ui-table-cell-padding-mini:5px;--vxe-ui-table-cell-placeholder-color:#c0c4cc;--vxe-ui-table-cell-negative-color:#f56c6c;--vxe-ui-table-cell-input-height-xlarge:var(--vxe-ui-table-row-height-xlarge) - 6;--vxe-ui-table-cell-input-height-large:var(--vxe-ui-table-row-height-large) - 6;--vxe-ui-table-cell-input-height-default:var(--vxe-ui-table-row-height-default) - 6;--vxe-ui-table-cell-input-height-medium:var(--vxe-ui-table-row-height-medium) - 6;--vxe-ui-table-cell-input-height-small:var(--vxe-ui-table-row-height-small) - 6;--vxe-ui-table-cell-input-height-mini:var(--vxe-ui-table-row-height-mini) - 6;--vxe-ui-table-cell-dirty-width:5px;--vxe-ui-table-cell-dirty-update-color:#f56c6c;--vxe-ui-table-cell-dirty-insert-color:#19a15f;--vxe-ui-table-cell-area-border-color:var(--vxe-ui-font-primary-color);--vxe-ui-table-cell-area-border-width:1px;--vxe-ui-table-cell-area-status-border-width:var(--vxe-ui-table-cell-area-border-width);--vxe-ui-table-cell-main-area-extension-border-color:#fff;--vxe-ui-table-cell-main-area-extension-background-color:var(--vxe-ui-font-primary-color);--vxe-ui-table-cell-extend-area-border-width:2px;--vxe-ui-table-cell-clip-area-border-width:3px;--vxe-ui-table-cell-active-area-border-width:2px;--vxe-ui-table-cell-active-area-background-color:transparent;--vxe-ui-table-cell-clip-area-border-color:var(--vxe-ui-table-cell-area-border-color);--vxe-ui-table-cell-extend-area-border-color:var(--vxe-ui-table-cell-area-border-color);--vxe-ui-table-cell-active-area-border-color:var(--vxe-ui-table-cell-area-border-color);--vxe-ui-table-cell-area-background-color:#409eff33;--vxe-ui-table-cell-area-status-background-color:#409eff1a;--vxe-ui-table-expand-padding-default:16px;--vxe-ui-table-checkbox-range-border-width:1px;--vxe-ui-table-checkbox-range-border-color:#006af1;--vxe-ui-table-checkbox-range-background-color:#3280fc33;--vxe-ui-table-fixed-left-scrolling-box-shadow:8px 0px 10px -5px var(--vxe-ui-table-fixed-scrolling-box-shadow-color);--vxe-ui-table-fixed-right-scrolling-box-shadow:-8px 0px 10px -5px var(--vxe-ui-table-fixed-scrolling-box-shadow-color);--vxe-ui-table-menu-item-width:198px;--vxe-ui-table-view-scrollbar-width:18px;--vxe-ui-table-view-scrollbar-height:18px;--vxe-ui-table-validate-error-color:#f56c6c;--vxe-ui-table-validate-error-cell-background-color:#f56b6b1a;--vxe-ui-table-validate-error-theme-normal-background-color:var(--vxe-ui-layout-background-color);--vxe-ui-vxe-table-custom-default-min-width:18em;--vxe-ui-vxe-table-custom-default-max-width:28em;--vxe-ui-vxe-table-custom-column-checkbox-width:60px;--vxe-ui-vxe-table-custom-column-sort-width:80px;--vxe-ui-vxe-table-custom-column-title-min-width:160px;--vxe-ui-vxe-table-custom-column-width-width:140px;--vxe-ui-vxe-table-custom-column-fixed-width:120px;--vxe-ui-vxe-table-custom-column-align-width:160px;--vxe-ui-vxe-table-custom-column-header-align-width:var(--vxe-ui-vxe-table-custom-column-align-width);--vxe-ui-vxe-table-custom-column-footer-align-width:var(--vxe-ui-vxe-table-custom-column-align-width);--vxe-ui-toolbar-custom-active-background-color:#d9dadb;--vxe-ui-toolbar-height-xlarge:54px;--vxe-ui-toolbar-height-large:52px;--vxe-ui-toolbar-height-default:48px;--vxe-ui-toolbar-height-medium:46px;--vxe-ui-toolbar-height-small:44px;--vxe-ui-toolbar-height-mini:42px}[data-vxe-ui-theme=light]{--vxe-ui-font-color:#000000b3;--vxe-ui-font-primary-color:#409eff;--vxe-ui-font-lighten-color:#797b80;--vxe-ui-font-darken-color:#47494c;--vxe-ui-font-disabled-color:#bfbfbf;--vxe-ui-base-popup-border-color:#dadce0;--vxe-ui-base-popup-box-shadow:0 0 10px 0 #00000029;--vxe-ui-layout-background-color:#fff;--vxe-ui-input-border-color:#dcdfe6;--vxe-ui-input-placeholder-color:#c0c4cc;--vxe-ui-input-disabled-background-color:#f3f3f3;--vxe-ui-loading-background-color:#ffffff80;--vxe-ui-table-header-background-color:#f8f8f9;--vxe-ui-table-column-to-row-background-color:#f8f8f9;--vxe-ui-table-column-hover-background-color:#d7effb;--vxe-ui-table-column-current-background-color:#e6f7ff;--vxe-ui-table-column-hover-current-background-color:#d7effb;--vxe-ui-table-border-color:#e8eaec;--vxe-ui-table-row-hover-background-color:#f5f7fa;--vxe-ui-table-row-striped-background-color:#fafafa;--vxe-ui-table-row-hover-striped-background-color:#f5f7fa;--vxe-ui-table-row-radio-checked-background-color:#fff3e0;--vxe-ui-table-row-hover-radio-checked-background-color:#ffebbc;--vxe-ui-table-row-checkbox-checked-background-color:#fff3e0;--vxe-ui-table-row-hover-checkbox-checked-background-color:#ffebbc;--vxe-ui-table-row-current-background-color:#e6f7ff;--vxe-ui-table-row-hover-current-background-color:#d7effb;--vxe-ui-table-fixed-scrolling-box-shadow-color:#0000001f;--vxe-ui-table-drag-over-background-color:#ffffc84d}[data-vxe-ui-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--vxe-ui-font-color:#fff9;--vxe-ui-font-tinge-color:#33353b;--vxe-ui-font-lighten-color:#797b80;--vxe-ui-font-darken-color:#47494c;--vxe-ui-font-disabled-color:#464646;--vxe-ui-font-primary-color:#409eff;--vxe-ui-base-popup-border-color:#424242;--vxe-ui-base-popup-box-shadow:0px 12px 30px 8px #00000080;--vxe-ui-layout-background-color:#121212;--vxe-ui-input-border-color:#424242;--vxe-ui-input-placeholder-color:#8d9095;--vxe-ui-input-disabled-background-color:#262727;--vxe-ui-loading-background-color:#ffffff1a;--vxe-ui-table-header-background-color:#28282a;--vxe-ui-table-column-to-row-background-color:#28282a;--vxe-ui-table-column-hover-background-color:#242f3b;--vxe-ui-table-column-current-background-color:#18222c;--vxe-ui-table-column-hover-current-background-color:#242f3b;--vxe-ui-table-border-color:#37373a;--vxe-ui-table-row-hover-background-color:#262727;--vxe-ui-table-row-striped-background-color:#1d1d1d;--vxe-ui-table-row-hover-striped-background-color:#262727;--vxe-ui-table-row-radio-checked-background-color:#604820;--vxe-ui-table-row-hover-radio-checked-background-color:#6e5326;--vxe-ui-table-row-checkbox-checked-background-color:#604820;--vxe-ui-table-row-hover-checkbox-checked-background-color:#6e5326;--vxe-ui-table-row-current-background-color:#18222c;--vxe-ui-table-row-hover-current-background-color:#242f3b;--vxe-ui-table-fixed-scrolling-box-shadow-color:#000c;--vxe-ui-table-drag-over-background-color:#3030004d}[class*=vxe-],[class*=vxe-] :after,[class*=vxe-] :before,[class*=vxe-]:after,[class*=vxe-]:before{box-sizing:border-box}[class*=vxe-]{font-variant:tabular-nums;font-feature-settings:"tnum"}[class*=vxe-icon--]{vertical-align:middle;-webkit-user-select:none;user-select:none;direction:ltr;font-family:Verdana,Arial,Tahoma;font-weight:400;display:inline-block;position:relative}[class*=vxe-icon--].rotate45{transform:rotate(45deg)}[class*=vxe-icon--].rotate90{transform:rotate(90deg)}[class*=vxe-icon--].rotate180{transform:rotate(180deg)}.vxe-icon--arrow-bottom,.vxe-icon--arrow-left,.vxe-icon--arrow-right,.vxe-icon--arrow-top,.vxe-icon--calendar,.vxe-icon--caret-bottom,.vxe-icon--caret-left,.vxe-icon--caret-right,.vxe-icon--caret-top,.vxe-icon--check,.vxe-icon--circle-plus,.vxe-icon--close,.vxe-icon--d-arrow-left,.vxe-icon--d-arrow-right,.vxe-icon--dot,.vxe-icon--download,.vxe-icon--edit-outline,.vxe-icon--error,.vxe-icon--eye,.vxe-icon--eye-slash,.vxe-icon--funnel,.vxe-icon--info,.vxe-icon--menu,.vxe-icon--minus,.vxe-icon--more,.vxe-icon--plus,.vxe-icon--print,.vxe-icon--question,.vxe-icon--refresh,.vxe-icon--remove,.vxe-icon--search,.vxe-icon--square,.vxe-icon--success,.vxe-icon--upload,.vxe-icon--warning,.vxe-icon--zoomin,.vxe-icon--zoomout{width:1em;height:1em;line-height:1em}.vxe-icon--arrow-bottom:before,.vxe-icon--arrow-left:before,.vxe-icon--arrow-right:before,.vxe-icon--arrow-top:before,.vxe-icon--calendar:after,.vxe-icon--calendar:before,.vxe-icon--caret-bottom:before,.vxe-icon--caret-left:before,.vxe-icon--caret-right:before,.vxe-icon--caret-top:before,.vxe-icon--check:before,.vxe-icon--circle-plus:after,.vxe-icon--close:before,.vxe-icon--d-arrow-left:after,.vxe-icon--d-arrow-left:before,.vxe-icon--d-arrow-right:after,.vxe-icon--d-arrow-right:before,.vxe-icon--dot:before,.vxe-icon--download:after,.vxe-icon--download:before,.vxe-icon--edit-outline:after,.vxe-icon--edit-outline:before,.vxe-icon--error:after,.vxe-icon--eye-slash:after,.vxe-icon--eye-slash:before,.vxe-icon--eye:before,.vxe-icon--funnel:after,.vxe-icon--funnel:before,.vxe-icon--info:after,.vxe-icon--minus:before,.vxe-icon--more:before,.vxe-icon--plus:before,.vxe-icon--print:after,.vxe-icon--print:before,.vxe-icon--question:after,.vxe-icon--refresh:after,.vxe-icon--refresh:before,.vxe-icon--remove:after,.vxe-icon--search:after,.vxe-icon--search:before,.vxe-icon--square:before,.vxe-icon--success:after,.vxe-icon--upload:after,.vxe-icon--upload:before,.vxe-icon--warning:after,.vxe-icon--zoomin:after,.vxe-icon--zoomin:before,.vxe-icon--zoomout:after,.vxe-icon--zoomout:before{content:"";position:absolute}.vxe-icon--square:before{width:.9em;height:.9em;top:.05em;left:.05em}.vxe-icon--square:before,.vxe-icon--zoomin{border-style:solid;border-width:.1em;border-color:inherit}.vxe-icon--zoomin{background-color:var(--vxe-ui-layout-background-color)}.vxe-icon--zoomin:after,.vxe-icon--zoomin:before{background-color:inherit}.vxe-icon--zoomin:before{width:1.1em;height:.4em;top:.2em;left:-.1em}.vxe-icon--zoomin:after{width:.4em;height:1.1em;top:-.1em;left:.2em}.vxe-icon--zoomout{position:relative}.vxe-icon--zoomout:before{top:0;right:0}.vxe-icon--zoomout:after,.vxe-icon--zoomout:before{border-style:solid;border-width:.1em;border-color:inherit;width:.7em;height:.7em}.vxe-icon--zoomout:after{background-color:var(--vxe-ui-layout-background-color);bottom:.1em;left:.1em}.vxe-icon--menu:before{content:"";width:.22em;height:.22em;margin:.26em;display:inline-block;box-shadow:0 -.36em,-.36em -.36em,.36em -.36em,inset 0 0 0 1em,-.36em 0,.36em 0,0 .36em,-.36em .36em,.36em .36em}.vxe-icon--caret-bottom:before,.vxe-icon--caret-left:before,.vxe-icon--caret-right:before,.vxe-icon--caret-top:before{border:.4em solid #0000}.vxe-icon--caret-top:before{border-bottom-color:inherit;bottom:.3em;left:.1em}.vxe-icon--caret-bottom:before{border-top-color:inherit;top:.3em;left:.1em}.vxe-icon--caret-left:before{border-right-color:inherit;bottom:.1em;right:.3em}.vxe-icon--caret-right:before{border-left-color:inherit;bottom:.1em;left:.3em}.vxe-icon--arrow-bottom:before,.vxe-icon--arrow-left:before,.vxe-icon--arrow-right:before,.vxe-icon--arrow-top:before{border-style:solid;border-width:.15em;border-top-color:inherit;border-right-color:inherit;border-bottom-color:#0000;border-left-color:#0000;border-radius:.15em;width:.7em;height:.7em;top:.4em;left:.14em;transform:rotate(-45deg)}.vxe-icon--arrow-bottom:before{top:0;left:.14em;transform:rotate(135deg)}.vxe-icon--arrow-left:before{top:.18em;left:.35em;transform:rotate(-135deg)}.vxe-icon--arrow-right:before{top:.18em;left:0;transform:rotate(45deg)}.vxe-icon--d-arrow-left:before,.vxe-icon--d-arrow-right:before{left:.15em}.vxe-icon--d-arrow-left:after,.vxe-icon--d-arrow-right:after{left:.58em}.vxe-icon--d-arrow-left:after,.vxe-icon--d-arrow-left:before,.vxe-icon--d-arrow-right:after,.vxe-icon--d-arrow-right:before{border-style:solid;border-width:.15em;border-top-color:inherit;border-bottom-color:#0000;border-right-color:#0000;border-left-color:inherit;border-radius:.15em;width:.7em;height:.7em;top:.18em;transform:rotate(-45deg)}.vxe-icon--d-arrow-right:after,.vxe-icon--d-arrow-right:before{transform:rotate(135deg)}.vxe-icon--d-arrow-right:before{left:-.25em}.vxe-icon--d-arrow-right:after{left:.18em}.vxe-icon--funnel:before{border-style:solid;border-width:.5em;border-top-color:inherit;border-bottom-color:#0000;border-left-color:#0000;border-right-color:#0000;top:.05em;left:0}.vxe-icon--funnel:after{border-style:solid;border-width:0 .2em 0 0;border-right-color:inherit;width:0;height:.5em;top:.4em;left:.41em}.vxe-icon--edit-outline:before{border-style:solid;border-width:.1em;border-color:inherit;border-radius:.2em;width:.86em;height:.84em;top:.1em;left:.02em}.vxe-icon--edit-outline:after{border-style:solid;border-width:0 0 0 .22em;border-color:inherit;border-radius:0 0 80% 80%;width:0;height:.8em;bottom:.2em;left:.6em;transform:rotate(45deg)}.vxe-icon--more:before{content:"...";font-weight:700;line-height:.5em;top:0;left:.1em}.vxe-icon--plus:before{content:"+";font-size:1.6em;line-height:1em;bottom:-.1em;left:-.12em}.vxe-icon--check:before{border-style:solid;border-width:.15em;border-top-color:#0000;border-right-color:inherit;border-bottom-color:inherit;border-left-color:#0000;border-radius:.15em;width:.5em;height:.9em;bottom:.2em;left:.25em;transform:rotate(45deg)}.vxe-icon--close:before{content:"+";font-size:1.8em;line-height:1em;bottom:-.16em;left:-.1em;transform:rotate(45deg)}.vxe-icon--minus:before{content:"─";text-align:center;width:100%;font-size:1.2em;line-height:.9em;bottom:0;left:0}.vxe-icon--refresh{border-style:solid;border-width:.1em;border-radius:50%;border-left-color:#0000!important;border-right-color:#0000!important}.vxe-icon--refresh:before{top:0;left:50%;transform:translate(50%)rotate(-45deg)}.vxe-icon--refresh:after{bottom:0;right:50%;transform:translate(-50%)rotate(135deg)}.vxe-icon--refresh:after,.vxe-icon--refresh:before{border-style:solid;border-width:.25em;border-bottom-color:#0000;border-left-color:#0000;border-right-color:#0000;width:0;height:0}.vxe-icon--refresh.roll{animation:1s linear infinite rollCircle}.vxe-icon--circle-plus:before,.vxe-icon--error:before,.vxe-icon--info:before,.vxe-icon--question:before,.vxe-icon--remove:before,.vxe-icon--success:before,.vxe-icon--warning:before{content:"";border-style:solid;border-width:.5em;border-color:inherit;border-radius:50%;position:absolute;top:0;left:0;transform:scale(.95)}.vxe-icon--info:after,.vxe-icon--question:after,.vxe-icon--warning:after{text-align:center;width:100%;color:var(--vxe-ui-layout-background-color);bottom:0;left:0;transform:rotate(-10deg)scale(.75)}.vxe-icon--question:after{content:"?"}.vxe-icon--info:after{content:"¡"}.vxe-icon--warning:after{content:"!"}.vxe-icon--success:after{content:"✓";color:var(--vxe-ui-layout-background-color);font-size:.65em;bottom:0;left:.25em}.vxe-icon--circle-plus:after{content:"+";font-size:.8em;line-height:1.4em}.vxe-icon--circle-plus:after,.vxe-icon--remove:after{text-align:center;width:100%;color:var(--vxe-ui-layout-background-color);bottom:0;left:0}.vxe-icon--remove:after{content:"─";font-size:.7em;line-height:1.5em}.vxe-icon--error:after{content:"×";text-align:center;width:100%;color:var(--vxe-ui-layout-background-color);font-size:.8em;line-height:1.4em;bottom:0;left:0}.vxe-icon--download,.vxe-icon--upload{overflow:hidden}.vxe-icon--download:before,.vxe-icon--upload:before{border-style:solid;border-width:0;border-color:inherit;width:1em;left:0}.vxe-icon--download:after,.vxe-icon--upload:after{text-align:center;width:100%;font-size:2em}.vxe-icon--upload:before{border-top-width:.1em;top:.1em}.vxe-icon--upload:after{content:"↑";top:.15em;left:0}.vxe-icon--download:before{border-bottom-width:.1em;bottom:.05em}.vxe-icon--download:after{content:"↑";bottom:.15em;left:0;transform:rotate(180deg)}.vxe-icon--eye-slash:before,.vxe-icon--eye:before{content:"●";border-style:solid;border-width:.1em;border-color:inherit;text-align:center;border-radius:50%;width:1em;height:.68em;line-height:.25em;top:.16em;left:0}.vxe-icon--eye-slash:after{border-style:solid;border-width:0;border-color:inherit;border-left-width:.1em;width:0;height:1.2em;top:-.1em;left:.45em;transform:rotate(45deg)}.vxe-icon--calendar:before{border-style:solid;border-width:.2em .1em .1em;border-color:inherit;border-radius:.1em .1em 0 0;width:1em;height:.8em;top:.15em;left:0}.vxe-icon--calendar:after{border-style:solid;border-width:0 .1em;border-color:inherit;width:.6em;height:.3em;top:0;left:.2em}.vxe-icon--dot:before{border-style:solid;border-width:.25em;border-color:inherit;border-radius:50%;top:.25em;left:.25em}.vxe-icon--print{border-style:solid;border-width:.2em 0;border-radius:.3em .3em 0 0;box-shadow:inset 0 0 0 .1em;border-color:#0000!important}.vxe-icon--print:before{height:.3em;top:-.2em}.vxe-icon--print:after,.vxe-icon--print:before{width:.6em;left:.2em;box-shadow:inset 0 0 0 .1em}.vxe-icon--print:after{background-color:var(--vxe-ui-layout-background-color);height:.6em;bottom:-.2em}.vxe-icon--search:before{border-style:solid;border-width:.15em;border-color:inherit;border-radius:50%;width:.8em;height:.8em;top:0;left:0}.vxe-icon--search:after{border-style:solid;border-width:.15em 0 0;border-color:inherit;width:.35em;height:0;top:.75em;left:.6em;transform:rotate(45deg)}.vxe-icon-warnion-circle-fill:before{content:""}@font-face{font-family:vxetableiconfont;src:url(data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAABLUAAsAAAAAKEgAABKDAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFQGYACJWgq2JKt4ATYCJAOBNAtcAAQgBYVHB4UCG/whZQRsHACxLStI9v+fEjgZIsUv2Op2obBNa6acqbecU1NT5w7B7gKr1+UlBoHpxEyU/m1uYfXjYe2OsM3yxvGP5caBZmoKmvqfiK/VWISG0ibabDMVNyuv/yxPvKafO5QS+nDvmg2tdOORaJTGI08Y9zafcyEg5vYzw4fZmYZEJjE8bfMfHKHgO0IwjigDI8ECLIxVXWA0wiIC5g/jh1EsAxfpMlxUul8u40MA3PJ6hQP5gSPuFwjL8oEOoxGPf4Eup+WV7q9pVTgz9v0/PJpSUaUZWVrZ+si7ymp1jaBUgMJQCAlhmUzqNCnwIAXYvfu1tP1IOHcLFRC9SKu0WnLSbEXDP28FwLeTAAEEbX6evn6YXtgXPQpBD9TY+CEG/n9d7dsJItKRwwl6wU8/c9imoOgpmvdeMvLy3iwkaHYWGUFCkAmeXUysolLLoBk0QaWj44uW/G2/1b9pf1/+7kO5qefWoeC/SVShU3/GZr8HDtenZyRTbMzc/XwbDKo+vsL22Zv3PXTRgj1MTNrVcGa1xTe65yUOFoc0NXlpGve+seCQEPbwCvwZVW9/mmYESUR6plf31PYOd9PSDSHXSu7Jym8huHmAAuTgXrEh4RGetVNk0bvBSta/tTjY4CkDU/4ytYlgogxkUWq0ceaoUr1c2qP9+vsF6qey6lNBFZ1+8e6zOx7/6/U3bXt/fb8sNbxtf7vQc8ElfGxJ9gn/Vd/Tov5t24qX9mR+cnjfkvQX8Ork99MiH2AnFdqbOukr1QYaExdDhUyuo7K2dbAx0prpCpztzC0srfRc3RyN3QfhP7xYgqVQX3UgZCbdEU0B7BAfUEQiQEAYYIuiAGM0EHBEFkAHlQKqaDSgjsYCumgcoIHmAEaoCnBG9YAecgEqaA+ghPYBymg/oIn+BtRwFLDEQwFrPAuwx/sAVngBoI9XAAb4acAEfwdoEXcDjHgccCL+B9gQewBT4kvAjPgKMCe+BizI0gBtsj2AC9lewJVfX8CB/2WAIakecCM1AO6kNkCO1A7IkxZWogDw0O7xBvgA5TvVH2iIDYaDvFAgQCyWWaCIlVBEkIJIGAtZyQAl43SpSEazNC4PlJ7yf3oQyvky2co+UoUAGhWJpHyGPCL7MLwUCqnSx4l9fQPEvE3sTZtXLIb5nbe3VsTqoGxAZFkssThpFKCIL5ZC7d2clQLtfEYLiPSN/PaalpFVrU6GURlcJoiVli9Su1IZhCPyuJYKx7OUXNKgaL9KImK9JpTKcWqNiK9oSclhKxYvLHYEKCAtri1KhFhNuEKtBhPF9QTX2YVajyAEl68HqrTEk7rTU/rSTBol1xBLpNeqs4tWnl/vk70rdnNAD2+/sf//iePwcpm6rtojUxJF+mRaoksrmqtKrpmY3Ib+jFi3S43EQBFmQUhtHOUmULu0kHKl1xcetFtwRdepTPVIybThXp1aLNHl10wD+Hpkhi4aEcluIbjeSDopMI47t9KrL1priXRLlJmycsUo5HknYVFmK9uhu6K1TbZQWmMhT/XhlSOOwuLzuhp+3ygbSbg2WRw+HJ4rSccYlWZdtUEs/b8NIBmnDea5MlWjGcBHKpCGfhptYezS9q5E7eZANA5vcS7PsFWRCLJdlXx894WSdKd6sotw62SMQrK7zXF74m6cbNOUGuhoIXhJgBgdQRjo9vart24TEvy3wFwIomkI+SzawJRJziRGZyKFrF3e5TIfYWuLJaW3R6a6PiyYTB/qFiTRFXaWISilIjiwlQFiBjExBlNFg7h+ptVCd1CHTAsA2cbYoxLGjRBiEnox34WoLXVI2/WGaoRpABCBw2lt4tBGkm0M5fTxSvMEF0v1iJocrWeBRFpbS0n4lOonQ4C27G6g5PTVpABPiJa5PsyGUHX7DYn0oeoMJupsYVBlQRbkvg7UzFIzkto8OS2KhRWkMgN4eAgh6s+eBcucDrAt0LcUCxWgl1odaa04xWlOKGIvL+2cHNV2aXW9OjfbZYtpNQ+1aVgIqdRoJAwAiNEH93lZ+gRtxYb05wZid4yqpuUydxxAagvvubC5hlWjKheqkVVbFvpS5D7EdbO9Dvn/PxeGIRiG46gMBsZ7kPSbngOtp4IeJr6kHaeD9BFj7+QLfp7MiD8AYO6oIXb2G/jIn3Mc5pf/uqjw34u+bC7Tm1GDnkC7IvSMUUEB5UAYg0UOFC4d5QnGQodehzwsqK2xvTFL7ilcKF5GuuAbi6quO3hO4eKdpckeuQJ8ZJVl0tkujYTT9TLxtZmgojnEvXeW6yE+OE/InOKeftDSmmeI0r0ouCc+mUksOy34RL9wL8YhBsoIz9akOnmszWyRa9MHazMDeLPTXLcWWrncQM1xLvR5XmsVesmgl9/oVVzkCmeWS2ulO4KaObV+5My6g829mSuoI2rPbJvjOFrcyW05xSlfPfBXhuFYF5CC5MOJyj0f3jzNcan2ivNq3eXC2kuOy3VXnVfsZmK0FbuU8JRCXGvqNJNsVKWVnEMa8BssDb82gHjxIbAgb4bGJfzazKSkKAvlQ8TkxkEuBZ3ugtrdGxwb99Tt27wc+DhdeV9lLHOVCa4IW4RFnbXX1GRNz3Z25AFIK1d0cUe3ruiixlRqLEVfwQYjxCptkK21nTHRsX71rPZ1yMTXSfH245O0cyCrnWyVtPm3hVK7Iqg2Gm1JaBu3AwMQLa5pBMGp3SHC9ytxG9WVfkA7aGStaJUMOBI31eOrem0XE1Y70cLlNpVQS00ut07StqcXJFtnrQbAISbWJxDbmSpOYFba8OaQ3dsLI5eEk60czg6sleb0p7CtLaEo4PhguOuBHMJKrkgjWzs5uEPsSqpEer2McCXGx7xeaSsdRk1DyE6TRnOGtN584s39PcVbc8+s21vHR/SbW9xbzZKy1OXWd+6EiK1RoT38KQu8tCEvtyJ9g+i22qewd32+eiIXXVxA/Flv+9Yvhc5nCwL643yrbMD/GL0Y5czPUxfXwgLfv0VxBdg8Tz2/ab2jcg8KkYLcSHN7RLqmMSw3rDFXy4/RUzodNdyjKd1w66WBbnmZVDZi5RA2nZ25fYRE1g7xLa6nTwAGM+VDoKQFcB3Olv20CaohhaohgGqUEn0BeVZGwbh9ymnKff6hz4REECF8thP73t8BUQKLiYJxxHP4AczSg5sVw5Kz/AN8Dk4sybnSvMMSfaJeArRN5s1zif9LEhJ1TXSJCeGeG4BkkAEk2YnZEth2zAM7g3np57V7FmdR5hcAxrKZM402Q0WFwWacOaXCVJaSbDXaZkw2WlNKS1OsxskzbEZrckqZqQIgT83O+c5vJ6JZEa6ZrwlfocasfGf6/MDYUDajkYnjwRWY/rRY3EqbYq8lb4xxK0neRjjy9vJIpTsvDwSlE6RcZm3g6XiblKjxoLYc23Bb9YcNYT26BdXzTpgRGtnP+8a3p52pBtXwuFGn95el8aVfvJuymiz7Z6+sTp5e9mVDs2XZym9RvrYB1cuy0QZeFuxPRWS7gpQtaYlc7kSdbUqVvG26iVxuIk8n0/G6idIaaU2wbrSMwU5gHFxdVAiF2GJA1USNqTotgipMAItcBJjw9TypXaqSzcT+Na3sTVOFIOBPPzucwOnhTH1zHpPBZCod2h9S/SNAilMxgEEw+jBwxsPN94P6size5DlkYRQOZXSSFyUA2Hl/k9c4svtDjYzKYUd7n+cohveoLz49Ed0fq2Vkjpd2jgPfHG8AMkcWRxdEpg3JGBp2AavEys0DsweWasfHTOdNRotyy3oVP+ZNQyfnFvcuHRczTM3cnmq36Ii4OEJHXdBZ4nAi3qK7QOmKeITzTQgi7mW270bdCXqXPEu2PiHBrpvE5YLEI3WoDiWYSnbgNIHqpGiM6qWygyaqDiWGz/KvUPVLQCZezff+RdVEpKfru7unjRmjyzDnbDOmuJTZSleKMVcAlEjGjOEmq9FoNQ1/a1THthqHm94ia7rn2j6t/GbZufs2+gkToRpTw0TNpGc6sP43Boot2oNpp2oZeRHhvfuEk7aH94lUjjumzr5J2gx7HYMhZK9jN9Qx2BfvSbObTMM7o058fB3LJVQEVn8Jl9llEdkmSEdzkK3lAlueXpQyzyMATeCuHrfA3zMqHNvQyMuRE3JcntMb9ngt8HL40SBFK3BQnfVEex7BSX4d/rZXJOlxSmNwVEY6SNCYVypSr8pjwtVUxUr5wYDwXrvn0sVBgxwOH59BAwGjwjBz6F/mIWGGD8XK4f2MkhjTyIZRplENRpMk+o4wHkmbI0Ye7j75ptS5xlHGNc8Ei1GGRJcXZQKeqCkVhtLk5FJDxT9GoLv7CsM/nmnYw7R2Kn5aheKRySTaPRV/AfsD+vl4Pa+rtvdsu9+0XrNru0DClouLT3NRnr8dnG2c3WvdbDsxOx29p/qBLXdm9wqL+aTAxu2DPRhABVtVtP3RIxemlrQflzMHrEaixlzwTaj9KCQ18uOc5sVcIOzmNqiSnNuhKkyFao/b/eetqYvdjgoxIQptJUK4jdwgWrwNFUhUIiqUCFChZvftsXW58MfgBuIPp+VpzSEhZm2h2I05REsd17dPqC00T/EFDCsZ7YLIyOOBMyey+R0LF+7la/EpSMd8MHCAqSr5qNwJaRgNbjSbp5ptfNxoh+rjOGXmRwggl0bpBV7X1bduVQcKAquPHj3VtV1pgdPv368Gw3o0tFyFQGrYeo2Rn0vrO1rDzwU72vphFvFOxxfXqgU5eOhTjTkslPHuAPPmjR2bm7tTQukF4sz3IIBlZ/v2tWLlgbJVYi0tmNXUyrG/S7BK7yAr9hOgOoAWWP2S9BsqHiYm/ObO9SPwhKF+5Nw5HwxFxKTfy/2lwEcQKPBx+yg3hHzQFeebWBFSkRiibW3hQhyRFNk3UnhewEbMSvE5MSru/tP63gpSliNoNuxkksxbp3QnzJYA3vjoLYSR24T/1q19DvVSPXyxzWpFvGTBR8b/jdT15IlbojkMjEfpnfIMOMPdNVvELBM/2H+JwdvrrLIKhdYq5zk+erZnSBkzs6vL3QYNgt9boOjl9OkzZuwbBNZ+Gj5i5IhwoeKA+5QhCRkYHjEAmbTylPvuGyFnHGz5XWCAbV3urswy5pCesyj/XJVTaLUKnVV7eYxL+x+ImWWi2e6uGTBD3jknYy8/20vg/9Q0qhoLJUlASjvuO5+jPULjDIJbech8D76hI86IwG/unnKvnDQQiQhHBiQZ3KcOKITjODDv1mmh2o16RDsnHNzBY0CYIUM+6iajA2vzPFLdz/5mz+HjSCYAnhtnEC0Anh0/If0N8dZFJDx15HAcehjCM8QznUiiePAYkiW+i1YgEeKBI4hZPHoQSUudu86LXksjRFpdkxE9bnoRGWgdb0B8eVY/gnLnQ0i6YZ2+hyQVwY5i8eRexPB1VzYh0QAAgFTScdQf/Rr9+eKrTJCCmu5EpPQrr2RKE5i5SdV51tF4+t88d/6VPqqJ1t39CJ9mx5sWM+jRqg1c1YLyf7SbgR+ukfzp+P2/WfHvtoO6f52nRxnPueZPBF7opBQN+B9Zrmnoz8iLeeI7n7UClQ1d+uUFcgPaR/kFm3QAcOSNAPhP2Wihv81M+sYmGuVTCpHo2DQSgu+RwKi5kpi4+kosfB8kjgjwYC5fX3nRLgAQ4vdJolH6I9Gh/pYQSv9DjIYpEpNfryiLVbNO4iAb9scV0uFjBi1gVb1T3hA6zy/rLYiuA9An+xaaHDT7LRZ+y4/AyROq8+rMf8pzQOA8iqR1cyHilGPq1LOvZ4MQSEWmSzBStSJxtVw6VuDKUNd7jAFNAEup7bQ+PYMgZxdrW2CYWi1Yiw2jb4nRyGTfNI65TJh+xBZLPH3mlHOVsxTCc4apFtsQmp5NGxemcJRCGU/uKM+QAYJsESWyb3QJGKLSpjCjlSVanYvLquKT3QxmYFwvUXryqDyEKqSmG6ZlO+5fIIt+imZYjhcczT8CWVE1vcFoMlusNrvD6XJ7vD5/6f0JRDw2Q6E418y0SWWOhZWw8ZQ4qUmEugMdfIOlARTg4ivBlLeyuL1BACfXWFtPZUbTgvkMtnQ+hJtodzVtWQXHJlCCWcOUY+6fbLLWIUOaamvLlOtR2ug4SsQyRSotUxyB9XLtS7ghnkpheTYBuPDDPKNk1SuUks9skT3K9VIsQtKHJqe6XVRpKOQOjys/3cJoBukCPrNxyyimUnPli4DnwuUQkmEAnHUe/dzDHq7cKkxcRoQwy84WSNtpeqrYnqS9FXihCUMELYVl3ZStRhvgLhe7RwsCnP0QLU0vm+SI0sfOb2tEqiH7rbSg+YktZyyzVy7e9B4AAAA=)format("woff2"),url(/assets/iconfont.1785242738274-G0HNy9M3.woff)format("woff"),url(/assets/iconfont.1785242738274-DQWiQZ_I.ttf)format("truetype")}@keyframes rollCircle{0%{transform:rotate(0)}to{transform:rotate(1turn)}}[class*=vxe-table-icon-]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1.1em;font-style:normal;font-weight:400;line-height:1em;font-family:vxetableiconfont!important}[class*=vxe-table-icon-].animat,[class*=vxe-table-icon-].roll{display:inline-block}[class*=vxe-table-icon-].animat{transition:transform .25s ease-in-out}[class*=vxe-table-icon-].rotate45{transform:rotate(45deg)}[class*=vxe-table-icon-].rotate90{transform:rotate(90deg)}[class*=vxe-table-icon-].rotate180{transform:rotate(180deg)}[class*=vxe-table-icon-].roll{animation:1s linear infinite rollCircle}[class*=vxe-table-icon-].theme--primary{color:var(--vxe-ui-font-primary-color)}[class*=vxe-table-icon-].theme--success{color:var(--vxe-ui-status-success-color)}[class*=vxe-table-icon-].theme--info{color:var(--vxe-ui-status-info-color)}[class*=vxe-table-icon-].theme--warning{color:var(--vxe-ui-status-warning-color)}[class*=vxe-table-icon-].theme--danger{color:var(--vxe-ui-status-danger-color)}[class*=vxe-table-icon-].theme--error{color:var(--vxe-ui-status-error-color)}.vxe-table-icon-setting:before{content:""}.vxe-table-icon-top:before{content:""}.vxe-table-icon-arrows-up:before{content:""}.vxe-table-icon-arrows-down:before{content:""}.vxe-table-icon-bottom:before{content:""}.vxe-table-icon-align-center:before{content:""}.vxe-table-icon-align-right:before{content:""}.vxe-table-icon-align-left:before{content:""}.vxe-table-icon-radio-unchecked-fill:before{content:""}.vxe-table-icon-checkbox-unchecked-fill:before{content:""}.vxe-table-icon-close:before{content:""}.vxe-table-icon-grouping:before{content:""}.vxe-table-icon-values:before{content:""}.vxe-table-icon-add-sub:before{content:""}.vxe-table-icon-swap:before{content:""}.vxe-table-icon-sort:before{content:""}.vxe-table-icon-no-drop:before{content:""}.vxe-table-icon-edit:before{content:""}.vxe-table-icon-question-circle-fill:before{content:""}.vxe-table-icon-radio-checked:before{content:""}.vxe-table-icon-radio-checked-fill:before{content:""}.vxe-table-icon-print:before{content:""}.vxe-table-icon-checkbox-checked-fill:before{content:""}.vxe-table-icon-custom-column:before{content:""}.vxe-table-icon-radio-unchecked:before{content:""}.vxe-table-icon-caret-down:before{content:""}.vxe-table-icon-caret-up:before{content:""}.vxe-table-icon-caret-right:before{content:""}.vxe-table-icon-caret-left:before{content:""}.vxe-table-icon-fullscreen:before{content:""}.vxe-table-icon-minimize:before{content:""}.vxe-table-icon-checkbox-unchecked:before{content:""}.vxe-table-icon-funnel:before{content:""}.vxe-table-icon-download:before{content:""}.vxe-table-icon-spinner:before{content:""}.vxe-table-icon-arrow-right:before{content:""}.vxe-table-icon-repeat:before{content:""}.vxe-table-icon-drag-handle:before{content:""}.vxe-table-icon-checkbox-indeterminate-fill:before{content:""}.vxe-table-icon-upload:before{content:""}.vxe-table-icon-fixed-left-fill:before{content:""}.vxe-table-icon-fixed-left:before{content:""}.vxe-table-icon-fixed-right-fill:before{content:""}.vxe-table-icon-fixed-right:before{content:""}.vxe-table-custom-popup--body-wrapper,.vxe-table-custom-wrapper{--vxe-ui-table-custom-current-font-size:var(--vxe-ui-font-size-default);--vxe-ui-table-custom-current-row-height:var(--vxe-ui-table-row-height-default)}.vxe-table-custom-popup--body-wrapper.size--medium,.vxe-table-custom-wrapper.size--medium{--vxe-ui-table-custom-current-font-size:var(--vxe-ui-font-size-medium);--vxe-ui-table-custom-current-row-height:var(--vxe-ui-table-row-height-medium)}.vxe-table-custom-popup--body-wrapper.size--small,.vxe-table-custom-wrapper.size--small{--vxe-ui-table-custom-current-font-size:var(--vxe-ui-font-size-small);--vxe-ui-table-custom-current-row-height:var(--vxe-ui-table-row-height-small)}.vxe-table-custom-popup--body-wrapper.size--mini,.vxe-table-custom-wrapper.size--mini{--vxe-ui-table-custom-current-font-size:var(--vxe-ui-font-size-mini);--vxe-ui-table-custom-current-row-height:var(--vxe-ui-table-row-height-mini)}.vxe-table-custom--option{flex-direction:row;display:flex;position:relative}.vxe-table-custom--option.active--drag-origin{opacity:.5}.vxe-table-custom--option.active--drag-target[drag-pos=top]:after{display:block;top:-2px}.vxe-table-custom--option.active--drag-target[drag-pos=bottom]:after{display:block;bottom:-2px}.vxe-table-custom--option:first-child[drag-pos=top]:after{top:0}.vxe-table-custom--option:last-child[drag-pos=bottom]:after{bottom:0}.vxe-table-custom--option:after{content:"";background-color:var(--vxe-ui-font-primary-color);z-index:12;width:calc(100% + 1px);height:2px;display:none;position:absolute;left:-1px}.vxe-table-custom--option:last-child:after{width:100%}.vxe-table-custom--handle-wrapper{flex-direction:column;display:flex}.vxe-table-custom-wrapper{text-align:left;background-color:var(--vxe-ui-layout-background-color);z-index:19;font-size:var(--vxe-ui-table-custom-current-font-size);color:var(--vxe-ui-font-color);border:1px solid var(--vxe-ui-table-border-color);border-radius:var(--vxe-ui-border-radius);box-shadow:var(--vxe-ui-base-popup-box-shadow);flex-direction:row;display:none;position:absolute}.vxe-table-custom-wrapper.placement--top-left{top:2px;left:2px}.vxe-table-custom-wrapper.placement--top-right{top:2px;right:2px}.vxe-table-custom-wrapper.placement--bottom-left{bottom:2px;left:2px}.vxe-table-custom-wrapper.placement--bottom-right{bottom:2px;right:2px}.vxe-table-custom-wrapper.placement--left{left:2px}.vxe-table-custom-wrapper.placement--right{right:2px}.vxe-table-custom-wrapper.placement--left,.vxe-table-custom-wrapper.placement--right{height:calc(100% - 4px);top:2px}.vxe-table-custom-wrapper.is--active{display:flex}.vxe-table-custom-simple--body-wrapper{flex-direction:row;flex-grow:1;display:flex;position:relative}.vxe-table-custom--body{flex-grow:1;display:block;position:relative;overflow:hidden auto}.vxe-table-custom--panel-list{margin:0;padding:0;list-style-type:none}.vxe-table-custom--panel-list>li{max-width:var(--vxe-ui-vxe-table-custom-default-max-width);min-width:var(--vxe-ui-vxe-table-custom-default-min-width);padding:.2em 1em}.vxe-table-custom--panel-list>li.level--2{padding-left:2.7em}.vxe-table-custom--panel-list>li.level--3{padding-left:3.7em}.vxe-table-custom--panel-list>li.level--4{padding-left:4.7em}.vxe-table-custom--panel-list>li.level--5{padding-left:5.7em}.vxe-table-custom--panel-list>li.level--6{padding-left:6.7em}.vxe-table-custom--panel-list>li.level--7{padding-left:7.7em}.vxe-table-custom--panel-list>li.level--8{padding-left:8.7em}.vxe-table-custom--header{border-bottom:1px solid var(--vxe-ui-base-popup-border-color);-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;height:2.4em;font-weight:700;display:flex}.vxe-table-custom--panel-list .vxe-table-custom--checkbox-option:hover{background-color:var(--vxe-ui-table-row-hover-background-color)}.vxe-table-custom--footer-buttons{border-top:1px solid var(--vxe-ui-base-popup-border-color);flex-direction:row;flex-shrink:0;width:100%;display:flex}.vxe-table-custom--footer-buttons button{flex-grow:1;height:2.8em}.vxe-table-custom--checkbox-option{cursor:pointer}.vxe-table-custom--checkbox-option .vxe-checkbox--icon{color:var(--vxe-ui-input-border-color);vertical-align:middle;-webkit-user-select:none;user-select:none;font-size:1.22em;font-weight:700;transition:all .2s ease-in-out}.vxe-table-custom--checkbox-option.is--checked,.vxe-table-custom--checkbox-option.is--checked .vxe-checkbox--icon,.vxe-table-custom--checkbox-option.is--indeterminate,.vxe-table-custom--checkbox-option.is--indeterminate .vxe-checkbox--icon,.vxe-table-custom--checkbox-option:not(.is--disabled):hover .vxe-checkbox--icon{color:var(--vxe-ui-font-primary-color)}.vxe-table-custom--checkbox-option.is--hidden{cursor:default}.vxe-table-custom--checkbox-option.is--readonly{cursor:auto}.vxe-table-custom--checkbox-option.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:not-allowed}.vxe-table-custom--checkbox-option.is--disabled .vxe-checkbox--icon{color:var(--vxe-ui-input-disabled-color)}.vxe-table-custom--checkbox-option .vxe-checkbox--label{vertical-align:middle;padding-left:.4em}.vxe-table-custom--checkbox-option,.vxe-table-custom--sort-option{-webkit-user-select:none;user-select:none;flex-shrink:0;padding-right:.4em}.vxe-table-custom--sort-option{flex-direction:row;justify-content:center;align-items:center;display:flex}.vxe-table-custom--sort-btn{padding-left:.2em;padding-right:.4em}.vxe-table-custom--sort-btn:not(.is--disabled){cursor:grab}.vxe-table-custom--sort-btn:not(.is--disabled):active{cursor:grabbing}.vxe-table-custom--sort-btn:not(.is--disabled):hover{color:var(--vxe-ui-font-primary-color)}.vxe-table-custom--sort-btn.is--disabled{color:var(--vxe-ui-input-disabled-color);cursor:not-allowed}.vxe-table-custom--name-option{flex-direction:row;flex-grow:1;display:flex;overflow:hidden}.vxe-table-custom--checkbox-label{text-overflow:ellipsis;white-space:nowrap;flex-grow:1;overflow:hidden}.vxe-table-custom--fixed-option{-webkit-user-select:none;user-select:none;flex-direction:row;flex-shrink:0;align-items:center;padding-left:.5em;display:flex}.vxe-table-custom--move-btn-option{flex-shrink:0;padding-left:.5em}.vxe-table-custom-popup--body-wrapper{font-size:var(--vxe-ui-table-custom-current-font-size);outline:0;flex-direction:row;height:100%;display:flex;position:relative;overflow:hidden}.vxe-table-custom-popup--body-wrapper.agg-layout--bottom,.vxe-table-custom-popup--body-wrapper.agg-layout--top{flex-direction:column}.vxe-table-custom-popup--handle-wrapper{outline:0;flex-grow:1;overflow:auto}.vxe-table-custom-popup--table-wrapper{border-bottom:1px solid var(--vxe-ui-table-border-color)}.vxe-table-custom-popup--table-wrapper table{table-layout:fixed;word-break:break-all;border-spacing:0;border-collapse:separate;box-sizing:border-box;border:0;width:100%}.vxe-table-custom-popup--table-wrapper th{text-align:center;border-top:1px solid var(--vxe-ui-table-border-color);border-bottom:1px solid var(--vxe-ui-table-border-color);border-left:1px solid var(--vxe-ui-table-border-color);background-color:var(--vxe-ui-table-header-background-color);z-index:7;position:sticky;top:0}.vxe-table-custom-popup--table-wrapper th.col--title{text-align:left}.vxe-table-custom-popup--table-wrapper td{border-top:1px solid var(--vxe-ui-table-border-color);border-left:1px solid var(--vxe-ui-table-border-color)}.vxe-table-custom-popup--table-wrapper tr{box-sizing:border-box}.vxe-table-custom-popup--table-wrapper tr:first-child td{border-top:0}.vxe-table-custom-popup--table-wrapper tr:hover{background-color:var(--vxe-ui-table-row-hover-background-color)}.vxe-table-custom-popup--table-wrapper td,.vxe-table-custom-popup--table-wrapper th{height:var(--vxe-ui-table-custom-current-row-height);box-sizing:border-box;padding:0 .6em}.vxe-table-custom-popup--table-wrapper td:last-child,.vxe-table-custom-popup--table-wrapper th:last-child{border-right:1px solid var(--vxe-ui-table-border-color)}.vxe-table-custom-popup--drag-line{z-index:11;pointer-events:none;border:2px solid #0000;width:100%;height:1px;display:none;position:absolute;top:0;left:0}.vxe-table-custom-popup--drag-line[drag-pos=top]{border-top-color:var(--vxe-ui-font-primary-color)}.vxe-table-custom-popup--drag-line[drag-pos=bottom]{border-bottom-color:var(--vxe-ui-font-primary-color)}.vxe-table-custom-popup--drag-line[drag-to-child=y]{border-top-color:#0000;border-bottom-color:#0000;border-left-color:var(--vxe-ui-status-success-color)}.vxe-table-custom-popup--drag-line.is--guides{background-color:var(--vxe-ui-table-drag-over-background-color)}.vxe-table-custom-popup--drag-tip{border-radius:var(--vxe-ui-border-radius);text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:var(--vxe-ui-layout-background-color);z-index:33;min-width:100px;max-width:60%;padding:.6em 1.4em;display:none;position:absolute;top:0;left:0;overflow:hidden;box-shadow:0 0 10px #0003}.vxe-table-custom-popup--drag-tip[drag-status=disabled] .vxe-table-custom-popup--drag-tip-disabled-status,.vxe-table-custom-popup--drag-tip[drag-status=group] .vxe-table-custom-popup--drag-tip-group-status,.vxe-table-custom-popup--drag-tip[drag-status=normal] .vxe-table-custom-popup--drag-tip-normal-status,.vxe-table-custom-popup--drag-tip[drag-status=sub] .vxe-table-custom-popup--drag-tip-sub-status,.vxe-table-custom-popup--drag-tip[drag-status=values] .vxe-table-custom-popup--drag-tip-values-status{display:block}.vxe-table-custom-popup--drag-tip-wrapper{flex-direction:row;align-items:center;display:flex}.vxe-table-custom-popup--drag-tip-status{padding-right:.4em}.vxe-table-custom-popup--drag-tip-disabled-status{color:var(--vxe-ui-status-error-color);flex-shrink:0;display:none}.vxe-table-custom-popup--drag-tip-group-status,.vxe-table-custom-popup--drag-tip-normal-status,.vxe-table-custom-popup--drag-tip-sub-status,.vxe-table-custom-popup--drag-tip-values-status{display:none}.vxe-table-custom-popup--drag-tip-content{text-overflow:ellipsis;white-space:nowrap;flex-grow:1;overflow:hidden}.vxe-table-custom-popup--name{flex-direction:row;align-items:center;display:flex}.vxe-table-custom-popup--title{text-overflow:ellipsis;white-space:nowrap;flex-grow:1;overflow:hidden}.vxe-table-custom-popup--move-btn{flex-shrink:0;padding-left:.5em}.vxe-table-custom-popup--row.level--2 .vxe-table-custom-popup--name{padding-left:24px}.vxe-table-custom-popup--row.level--3 .vxe-table-custom-popup--name{padding-left:48px}.vxe-table-custom-popup--row.level--4 .vxe-table-custom-popup--name{padding-left:72px}.vxe-table-custom-popup--row.level--5 .vxe-table-custom-popup--name{padding-left:96px}.vxe-table-custom-popup--row.level--6 .vxe-table-custom-popup--name{padding-left:120px}.vxe-table-custom-popup--row.level--7 .vxe-table-custom-popup--name{padding-left:144px}.vxe-table-custom-popup--row.level--8 .vxe-table-custom-popup--name{padding-left:168px}.vxe-table-custom-popup--row.level--9 .vxe-table-custom-popup--name{padding-left:192px}.vxe-table-custom-popup--column-td{text-align:center;position:relative}.vxe-table-custom-popup--column-td.col--name{text-align:left}.vxe-table-custom-popup--column-td.col--resizable>.vxe-input,.vxe-table-custom-popup--column-td.col--resizable>.vxe-number-input{width:100%}.vxe-table-custom-popup--row.active--drag-origin .vxe-table-custom-popup--column-td{opacity:.5}.vxe-table-custom-popup--row.active--drag-target[drag-pos=top] .vxe-table-custom-popup--column-td:after{display:block;top:-2px}.vxe-table-custom-popup--row.active--drag-target[drag-pos=bottom] .vxe-table-custom-popup--column-td:after{display:block;bottom:-2px}.vxe-table-custom-popup--row:first-child[drag-pos=top] .vxe-table-custom-popup--column-td:after{top:0}.vxe-table-custom-popup--row:last-child[drag-pos=bottom] .vxe-table-custom-popup--column-td:after{bottom:0}.vxe-table-custom-popup--column-td:after{content:"";background-color:var(--vxe-ui-font-primary-color);z-index:12;width:calc(100% + 1px);height:2px;display:none;position:absolute;left:-1px}.vxe-table-custom-popup--column-td:last-child:after{width:100%}.vxe-table-custom--list-move{transition-property:transform;transition-duration:.35s;transition-delay:50ms}.vxe-table-custom-popup--column-sort-placeholder{padding:.2em .5em}.vxe-table-custom-popup--column-sort-btn{padding:.2em .5em;font-size:1.2em}.vxe-table-custom-popup--column-sort-btn:not(.is--disabled){cursor:grab}.vxe-table-custom-popup--column-sort-btn:not(.is--disabled):hover{color:var(--vxe-ui-font-primary-color)}.vxe-table-custom-popup--column-sort-btn:not(.is--disabled):active{cursor:grabbing}.vxe-table-custom-popup--column-sort-btn.is--disabled{color:var(--vxe-ui-input-disabled-color);cursor:not-allowed}.vxe-table-custom-popup--table-sort-help-icon,.vxe-table-custom-popup--table-sort-help-title{vertical-align:middle}.vxe-table-custom-popup--table-sort-help-icon{cursor:help;margin-left:5px}.vxe-table-custom-popup--column-col.col--checkbox{width:var(--vxe-ui-vxe-table-custom-column-checkbox-width)}.vxe-table-custom-popup--column-col.col--sort{width:var(--vxe-ui-vxe-table-custom-column-sort-width)}.vxe-table-custom-popup--column-col.col--title{min-width:var(--vxe-ui-vxe-table-custom-column-title-min-width)}.vxe-table-custom-popup--column-col.col--width{width:var(--vxe-ui-vxe-table-custom-column-width-width)}.vxe-table-custom-popup--column-col.col--fixed{width:var(--vxe-ui-vxe-table-custom-column-fixed-width)}.vxe-table-custom-popup--column-col.col--align{width:var(--vxe-ui-vxe-table-custom-column-align-width)}.vxe-table-custom-popup--column-col.col--header-align{width:var(--vxe-ui-vxe-table-custom-column-header-align-width)}.vxe-table-custom-popup--column-col.col--footer-align{width:var(--vxe-ui-vxe-table-custom-column-footer-align-width)}.vxe-table-export--panel-column>ul{-webkit-user-select:none;user-select:none;outline:0;margin:0;padding:0;list-style-type:none;overflow:auto}.vxe-table-export--panel-column>ul>li{text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}.vxe-table-export--panel .vxe-table-export--panel-table{table-layout:fixed;border:0;width:100%}.vxe-table-export--panel .vxe-table-export--panel-table tr td{padding:0 10px}.vxe-table-export--panel .vxe-table-export--panel-table tr td:first-child{text-align:right;width:30%;padding:8px 10px;font-weight:700}.vxe-table-export--panel .vxe-table-export--panel-table tr td:nth-child(2){width:70%}.vxe-table-export--panel .vxe-table-export--panel-table tr td>.vxe-input,.vxe-table-export--panel .vxe-table-export--panel-table tr td>.vxe-select{width:80%}.vxe-table-export--panel .vxe-table-export--panel-table tr td>.vxe-table-export--panel-option-row{padding:.5em 0}.vxe-table-export--panel .vxe-table-export--panel-column{border:1px solid var(--vxe-ui-input-border-color);border-radius:var(--vxe-ui-border-radius);-webkit-user-select:none;user-select:none;width:80%;margin:3px 0}.vxe-table-export--panel .vxe-table-export--panel-column>ul>li{padding:.2em 1em}.vxe-table-export--panel .vxe-table-export--panel-column>ul>li.level--2{padding-left:3.5em}.vxe-table-export--panel .vxe-table-export--panel-column>ul>li.level--2 .vxe-checkbox--icon{left:1.8em}.vxe-table-export--panel .vxe-table-export--panel-column>ul>li.level--3{padding-left:4.5em}.vxe-table-export--panel .vxe-table-export--panel-column>ul>li.level--3 .vxe-checkbox--icon{left:2.8em}.vxe-table-export--panel .vxe-table-export--panel-column>ul>li.level--4{padding-left:5.5em}.vxe-table-export--panel .vxe-table-export--panel-column>ul>li.level--4 .vxe-checkbox--icon{left:3.8em}.vxe-table-export--panel .vxe-table-export--panel-column>ul>li.level--5{padding-left:6.5em}.vxe-table-export--panel .vxe-table-export--panel-column>ul>li.level--5 .vxe-checkbox--icon{left:4.8em}.vxe-table-export--panel .vxe-table-export--panel-column>ul>li.level--6{padding-left:7.5em}.vxe-table-export--panel .vxe-table-export--panel-column>ul>li.level--6 .vxe-checkbox--icon{left:5.8em}.vxe-table-export--panel .vxe-table-export--panel-column>ul>li.level--7{padding-left:8.5em}.vxe-table-export--panel .vxe-table-export--panel-column>ul>li.level--7 .vxe-checkbox--icon{left:6.8em}.vxe-table-export--panel .vxe-table-export--panel-column>ul>li.level--8{padding-left:9.5em}.vxe-table-export--panel .vxe-table-export--panel-column>ul>li.level--8 .vxe-checkbox--icon{left:7.8em}.vxe-table-export--panel .vxe-table-export--panel-column .vxe-table-export--panel-column-header{background-color:var(--vxe-ui-table-header-background-color);border-bottom:1px solid var(--vxe-ui-table-border-color);padding:.1em 0;font-weight:700}.vxe-table-export--panel .vxe-table-export--panel-column .vxe-table-export--panel-column-body{min-height:10em;max-height:17.6em;padding:.2em 0}.vxe-table-export--panel .vxe-table-export--panel-btns{text-align:right;padding:.8em .25em .25em}.vxe-table-export--panel .vxe-table-export--selected--file{text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;user-select:none;padding-right:40px;position:relative;overflow:hidden}.vxe-table-export--panel .vxe-table-export--selected--file>i{cursor:pointer;font-size:16px;display:none;position:absolute;top:50%;right:15px;transform:translateY(-50%)}.vxe-table-export--panel .vxe-table-export--selected--file:hover{color:var(--vxe-ui-font-primary-color)}.vxe-table-export--panel .vxe-table-export--selected--file:hover>i{display:block}.vxe-table-export--panel .vxe-table-export--select--file{border:1px dashed var(--vxe-ui-input-border-color);border-radius:var(--vxe-ui-border-radius);background-color:var(--vxe-ui-layout-background-color);width:80%;color:inherit;-webkit-user-select:none;user-select:none;cursor:pointer;outline:0;padding:6px 34px}.vxe-table-export--panel .vxe-table-export--select--file:focus{border-color:var(--vxe-ui-font-primary-color);box-shadow:0 0 .25em 0 var(--vxe-ui-font-primary-color)}.vxe-table-export--panel .vxe-table-export--select--file:hover{color:var(--vxe-ui-font-primary-color);border-color:var(--vxe-ui-font-primary-color)}.vxe-table-export--panel-column-option{cursor:pointer}.vxe-table-export--panel-column-option .vxe-checkbox--icon{color:var(--vxe-ui-input-border-color);vertical-align:middle;-webkit-user-select:none;user-select:none;font-size:1.22em;font-weight:700;transition:all .2s ease-in-out}.vxe-table-export--panel-column-option.is--checked,.vxe-table-export--panel-column-option.is--checked .vxe-checkbox--icon,.vxe-table-export--panel-column-option.is--indeterminate,.vxe-table-export--panel-column-option.is--indeterminate .vxe-checkbox--icon,.vxe-table-export--panel-column-option:not(.is--disabled):hover .vxe-checkbox--icon{color:var(--vxe-ui-font-primary-color)}.vxe-table-export--panel-column-option.is--hidden{cursor:default}.vxe-table-export--panel-column-option.is--readonly{cursor:auto}.vxe-table-export--panel-column-option.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:not-allowed}.vxe-table-export--panel-column-option.is--disabled .vxe-checkbox--icon{color:var(--vxe-ui-input-disabled-color)}.vxe-table-export--panel-column-option .vxe-checkbox--label{vertical-align:middle;padding-left:.4em}.vxe-cell--filter{text-align:center;vertical-align:middle;padding:0 .1em 0 .2em;line-height:0;display:inline-block}.vxe-cell--filter.col--filter .vxe-filter--btn{color:var(--vxe-ui-font-color)}.vxe-cell--filter .vxe-filter--btn{color:var(--vxe-ui-table-column-icon-border-color);cursor:pointer}.vxe-cell--filter .vxe-filter--btn:hover{color:var(--vxe-ui-font-color)}.is--filter-active .vxe-cell--filter .vxe-filter--btn{color:var(--vxe-ui-font-primary-color)}.vxe-table--filter-wrapper{min-width:100px;font-size:var(--vxe-ui-font-size-default);border-radius:var(--vxe-ui-border-radius);background-color:var(--vxe-ui-layout-background-color);border:1px solid var(--vxe-ui-base-popup-border-color);color:var(--vxe-ui-font-color);box-shadow:var(--vxe-ui-base-popup-box-shadow);z-index:15;display:none;position:absolute;top:0}.vxe-table--filter-wrapper:not(.is--multiple) .vxe-table--filter-body,.vxe-table--filter-wrapper:not(.is--multiple) .vxe-table--filter-header{text-align:center}.vxe-table--filter-wrapper.is--active{display:block}.vxe-table--filter-wrapper .vxe-table--filter-body>li,.vxe-table--filter-wrapper .vxe-table--filter-header>li{text-overflow:ellipsis;white-space:nowrap;cursor:pointer;max-width:360px;padding:.25em .8em;overflow:hidden}.vxe-table--filter-wrapper .vxe-table--filter-body>li.is--checked,.vxe-table--filter-wrapper .vxe-table--filter-header>li.is--checked{color:var(--vxe-ui-font-primary-color)}.vxe-table--filter-wrapper .vxe-table--filter-body>li:hover,.vxe-table--filter-wrapper .vxe-table--filter-header>li:hover{background-color:var(--vxe-ui-table-row-hover-background-color)}.vxe-table--filter-wrapper .vxe-table--filter-header{padding-top:.2em}.vxe-table--filter-wrapper .vxe-table--filter-body{max-height:200px;padding-bottom:.2em}.vxe-table--filter-wrapper>ul{-webkit-user-select:none;user-select:none;outline:0;margin:0;padding:0;list-style-type:none;overflow:auto}.vxe-table--filter-wrapper.is--multiple>ul>li{padding:.25em .8em .25em 1em}.vxe-table--filter-wrapper .vxe-table--filter-footer{border-top:1px solid var(--vxe-ui-base-popup-border-color);-webkit-user-select:none;user-select:none;padding:.6em}.vxe-table--filter-wrapper .vxe-table--filter-footer button{color:var(--vxe-ui-font-color);cursor:pointer;background-color:#0000;border:0;padding:0 .4em}.vxe-table--filter-wrapper .vxe-table--filter-footer button:focus{outline:none}.vxe-table--filter-wrapper .vxe-table--filter-footer button:hover{color:var(--vxe-ui-font-primary-color)}.vxe-table--filter-wrapper .vxe-table--filter-footer button.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:not-allowed}.vxe-table--filter-option{cursor:pointer}.vxe-table--filter-option .vxe-checkbox--icon{color:var(--vxe-ui-input-border-color);vertical-align:middle;-webkit-user-select:none;user-select:none;font-size:1.22em;font-weight:700;transition:all .2s ease-in-out}.vxe-table--filter-option.is--checked,.vxe-table--filter-option.is--checked .vxe-checkbox--icon,.vxe-table--filter-option.is--indeterminate,.vxe-table--filter-option.is--indeterminate .vxe-checkbox--icon,.vxe-table--filter-option:not(.is--disabled):hover .vxe-checkbox--icon{color:var(--vxe-ui-font-primary-color)}.vxe-table--filter-option.is--hidden{cursor:default}.vxe-table--filter-option.is--readonly{cursor:auto}.vxe-table--filter-option.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:not-allowed}.vxe-table--filter-option.is--disabled .vxe-checkbox--icon{color:var(--vxe-ui-input-disabled-color)}.vxe-table--filter-option .vxe-checkbox--label{vertical-align:middle;padding-left:.4em}.vxe-table--filter-wrapper.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-table--filter-wrapper.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-table--filter-wrapper.size--mini{font-size:var(--vxe-ui-font-size-mini)}.vxe-table--context-menu-wrapper{display:none}.vxe-table--context-menu-wrapper.is--visible{display:block}.vxe-table--context-menu-clild-wrapper,.vxe-table--context-menu-wrapper{border:1px solid var(--vxe-ui-base-popup-border-color);-webkit-user-select:none;user-select:none;color:var(--vxe-ui-font-color);font-size:12px;font-family:var(--vxe-ui-font-family);background-color:var(--vxe-ui-layout-background-color);padding:0 1px;position:absolute;top:0;left:0;box-shadow:3px 3px 4px -2px #0009}.vxe-context-menu--option{color:var(--vxe-ui-font-color)}.vxe-context-menu--link{width:var(--vxe-ui-table-menu-item-width);color:inherit;cursor:pointer;flex-direction:row;padding:0 .8em;line-height:26px;display:flex}.vxe-context-menu--link .vxe-context-menu--link-prefix,.vxe-context-menu--link .vxe-context-menu--link-suffix{text-align:center;flex-shrink:0;min-width:2em;padding:0 .2em}.vxe-context-menu--link .vxe-context-menu--link-content{text-overflow:ellipsis;white-space:nowrap;flex-grow:1;padding:0 .2em;overflow:hidden}.vxe-table--context-menu-clild-wrapper,.vxe-table--context-menu-group-wrapper{border-bottom:1px solid var(--vxe-ui-base-popup-border-color);margin:0;padding:0;list-style-type:none}.vxe-table--context-menu-clild-wrapper li,.vxe-table--context-menu-group-wrapper li{border:1px solid #0000;margin:1px 0;position:relative}.vxe-table--context-menu-clild-wrapper li:last-child,.vxe-table--context-menu-group-wrapper li:last-child{border:0}.vxe-table--context-menu-clild-wrapper li.link--active,.vxe-table--context-menu-group-wrapper li.link--active{background-color:var(--vxe-ui-base-hover-background-color);border-color:var(--vxe-ui-base-hover-background-color)}.vxe-table--context-menu-clild-wrapper li.link--disabled>.vxe-context-menu--link,.vxe-table--context-menu-clild-wrapper li.link--loading>.vxe-context-menu--link,.vxe-table--context-menu-group-wrapper li.link--disabled>.vxe-context-menu--link,.vxe-table--context-menu-group-wrapper li.link--loading>.vxe-context-menu--link{color:var(--vxe-ui-font-disabled-color);cursor:no-drop}.vxe-table--context-menu-clild-wrapper li.link--disabled.link--active:hover,.vxe-table--context-menu-clild-wrapper li.link--loading.link--active:hover,.vxe-table--context-menu-group-wrapper li.link--disabled.link--active:hover,.vxe-table--context-menu-group-wrapper li.link--loading.link--active:hover{background-color:inherit}.vxe-table--context-menu-clild-wrapper{display:none;top:0;left:100%}.vxe-table--context-menu-clild-wrapper.is--show{display:block}.vxe-table{--vxe-ui-table-current-font-size:var(--vxe-ui-font-size-default)}.vxe-table.size--xlarge{--vxe-ui-table-current-font-size:var(--vxe-ui-font-size-xlarge)}.vxe-table.size--large{--vxe-ui-table-current-font-size:var(--vxe-ui-font-size-large)}.vxe-table.size--medium{--vxe-ui-table-current-font-size:var(--vxe-ui-font-size-medium)}.vxe-table.size--small{--vxe-ui-table-current-font-size:var(--vxe-ui-font-size-small)}.vxe-table.size--mini{--vxe-ui-table-current-font-size:var(--vxe-ui-font-size-mini)}.vxe-table--file-form,.vxe-table-slots{display:none}.vxe-table-vars{visibility:hidden;-webkit-user-select:none;user-select:none;pointer-events:none;width:0;height:0;overflow:hidden}.vxe-table-vars .vxe-table-var-default{height:var(--vxe-ui-table-row-height-default)}.vxe-table-vars .vxe-table-var-medium{height:var(--vxe-ui-table-row-height-medium)}.vxe-table-vars .vxe-table-var-small{height:var(--vxe-ui-table-row-height-small)}.vxe-table-vars .vxe-table-var-mini{height:var(--vxe-ui-table-row-height-mini)}.vxe-table--print-frame{border:0;width:0;height:0;position:fixed;bottom:-100%;left:-100%}.vxe-table--layout-wrapper{background-color:var(--vxe-ui-layout-background-color);flex-direction:row;display:flex}.vxe-table--viewport-wrapper{flex-grow:1;position:relative;overflow:hidden}.vxe-table--viewport-wrapper.x-ob--contain>.vxe-table--main-wrapper>.vxe-table--body-wrapper>.vxe-table--body-inner-wrapper,.vxe-table--viewport-wrapper.x-ob--contain>.vxe-table--main-wrapper>.vxe-table--footer-wrapper>.vxe-table--footer-inner-wrapper,.vxe-table--viewport-wrapper.x-ob--contain>.vxe-table--main-wrapper>.vxe-table--header-wrapper>.vxe-table--header-inner-wrapper{overscroll-behavior-x:contain}.vxe-table--viewport-wrapper.y-ob--contain>.vxe-table--main-wrapper>.vxe-table--body-wrapper>.vxe-table--body-inner-wrapper{overscroll-behavior-y:contain}.vxe-table--body-wrapper,.vxe-table--fixed-left-body-wrapper,.vxe-table--fixed-right-body-wrapper,.vxe-table--footer-wrapper,.vxe-table--header-wrapper{scrollbar-width:none;-webkit-overflow-scrolling:touch;outline:0;overflow:hidden}.vxe-table--body-inner-wrapper,.vxe-table--footer-inner-wrapper,.vxe-table--header-inner-wrapper{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;width:100%;height:100%;position:relative}.vxe-table--body-inner-wrapper::-webkit-scrollbar{display:none}.vxe-table--footer-inner-wrapper::-webkit-scrollbar{display:none}.vxe-table--header-inner-wrapper::-webkit-scrollbar{display:none}.vxe-table--footer-inner-wrapper,.vxe-table--header-inner-wrapper{overflow:scroll hidden}.vxe-table--body-inner-wrapper{overflow:scroll}.vxe-table--main-wrapper.sx--hidden>.vxe-table--body-wrapper>.vxe-table--body-inner-wrapper,.vxe-table--main-wrapper.sx--hidden>.vxe-table--footer-wrapper>.vxe-table--footer-inner-wrapper,.vxe-table--main-wrapper.sx--hidden>.vxe-table--header-wrapper>.vxe-table--header-inner-wrapper{overflow-x:hidden}.vxe-table--main-wrapper.sy--hidden>.vxe-table--body-wrapper>.vxe-table--body-inner-wrapper{overflow-y:hidden}.vxe-table--fixed-left-wrapper.sx--hidden>.vxe-table--body-wrapper>.vxe-table--body-inner-wrapper,.vxe-table--fixed-right-wrapper.sx--hidden>.vxe-table--body-wrapper>.vxe-table--body-inner-wrapper{overflow-x:hidden}.vxe-table--fixed-left-wrapper.sy--hidden>.vxe-table--body-wrapper>.vxe-table--body-inner-wrapper,.vxe-table--fixed-right-wrapper.sy--hidden>.vxe-table--body-wrapper>.vxe-table--body-inner-wrapper{overflow-y:hidden}.vxe-loading--custom-wrapper{z-index:99;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:none;position:absolute;top:0;left:0}.vxe-loading--custom-wrapper.is--visible{display:block}.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper .vxe-cascader,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node .vxe-cascader,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node .vxe-date-picker,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node .vxe-date-range-picker,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node .vxe-default-input,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node .vxe-default-select,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node .vxe-default-textarea,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node .vxe-ico-picker,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node .vxe-input,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node .vxe-number-input,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node .vxe-select,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node .vxe-textarea,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node .vxe-tree-select,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-date-picker,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-date-range-picker,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-default-input,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-default-select,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-default-textarea,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-ico-picker,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-input,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-number-input,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-row-group--tree-node .vxe-cascader,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-row-group--tree-node .vxe-date-picker,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-row-group--tree-node .vxe-date-range-picker,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-row-group--tree-node .vxe-default-input,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-row-group--tree-node .vxe-default-select,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-row-group--tree-node .vxe-default-textarea,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-row-group--tree-node .vxe-ico-picker,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-row-group--tree-node .vxe-input,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-row-group--tree-node .vxe-number-input,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-row-group--tree-node .vxe-select,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-row-group--tree-node .vxe-textarea,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-row-group--tree-node .vxe-tree-select,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-select,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-textarea,.vxe-body--column.fixed--width>.vxe-cell>.vxe-cell--wrapper>.vxe-tree-select,.vxe-footer--column.fixed--width>.vxe-cell>.vxe-cell--wrapper .vxe-cascader,.vxe-footer--column.fixed--width>.vxe-cell>.vxe-cell--wrapper .vxe-date-picker,.vxe-footer--column.fixed--width>.vxe-cell>.vxe-cell--wrapper .vxe-date-range-picker,.vxe-footer--column.fixed--width>.vxe-cell>.vxe-cell--wrapper .vxe-default-input,.vxe-footer--column.fixed--width>.vxe-cell>.vxe-cell--wrapper .vxe-default-select,.vxe-footer--column.fixed--width>.vxe-cell>.vxe-cell--wrapper .vxe-default-textarea,.vxe-footer--column.fixed--width>.vxe-cell>.vxe-cell--wrapper .vxe-ico-picker,.vxe-footer--column.fixed--width>.vxe-cell>.vxe-cell--wrapper .vxe-input,.vxe-footer--column.fixed--width>.vxe-cell>.vxe-cell--wrapper .vxe-number-input,.vxe-footer--column.fixed--width>.vxe-cell>.vxe-cell--wrapper .vxe-select,.vxe-footer--column.fixed--width>.vxe-cell>.vxe-cell--wrapper .vxe-textarea,.vxe-footer--column.fixed--width>.vxe-cell>.vxe-cell--wrapper .vxe-tree-select,.vxe-header--column.fixed--width>.vxe-cell>.vxe-cell--wrapper .vxe-cascader,.vxe-header--column.fixed--width>.vxe-cell>.vxe-cell--wrapper .vxe-date-picker,.vxe-header--column.fixed--width>.vxe-cell>.vxe-cell--wrapper .vxe-date-range-picker,.vxe-header--column.fixed--width>.vxe-cell>.vxe-cell--wrapper .vxe-default-input,.vxe-header--column.fixed--width>.vxe-cell>.vxe-cell--wrapper .vxe-default-select,.vxe-header--column.fixed--width>.vxe-cell>.vxe-cell--wrapper .vxe-default-textarea,.vxe-header--column.fixed--width>.vxe-cell>.vxe-cell--wrapper .vxe-ico-picker,.vxe-header--column.fixed--width>.vxe-cell>.vxe-cell--wrapper .vxe-input,.vxe-header--column.fixed--width>.vxe-cell>.vxe-cell--wrapper .vxe-number-input,.vxe-header--column.fixed--width>.vxe-cell>.vxe-cell--wrapper .vxe-select,.vxe-header--column.fixed--width>.vxe-cell>.vxe-cell--wrapper .vxe-textarea,.vxe-header--column.fixed--width>.vxe-cell>.vxe-cell--wrapper .vxe-tree-select,.vxe-table--filter-template>.vxe-cascader,.vxe-table--filter-template>.vxe-date-picker,.vxe-table--filter-template>.vxe-date-range-picker,.vxe-table--filter-template>.vxe-default-input,.vxe-table--filter-template>.vxe-default-select,.vxe-table--filter-template>.vxe-default-textarea,.vxe-table--filter-template>.vxe-ico-picker,.vxe-table--filter-template>.vxe-input,.vxe-table--filter-template>.vxe-number-input,.vxe-table--filter-template>.vxe-select,.vxe-table--filter-template>.vxe-textarea,.vxe-table--filter-template>.vxe-tree-select{width:100%}.vxe-cell .vxe-default-input,.vxe-cell .vxe-default-textarea,.vxe-table--filter-template .vxe-default-input,.vxe-table--filter-template .vxe-default-textarea{background-color:var(--vxe-ui-layout-background-color)}.vxe-cell .vxe-default-input,.vxe-cell .vxe-default-select,.vxe-cell .vxe-default-textarea,.vxe-table--filter-template .vxe-default-input,.vxe-table--filter-template .vxe-default-select,.vxe-table--filter-template .vxe-default-textarea{font-family:var(--vxe-ui-font-family);color:var(--vxe-ui-font-color);border-radius:var(--vxe-ui-border-radius);border:1px solid var(--vxe-ui-input-border-color);outline:0}.vxe-cell .vxe-default-input:focus,.vxe-cell .vxe-default-select:focus,.vxe-cell .vxe-default-textarea:focus,.vxe-table--filter-template .vxe-default-input:focus,.vxe-table--filter-template .vxe-default-select:focus,.vxe-table--filter-template .vxe-default-textarea:focus{border:1px solid var(--vxe-ui-font-primary-color)}.vxe-cell .vxe-default-input[disabled],.vxe-cell .vxe-default-select[disabled],.vxe-cell .vxe-default-textarea[disabled],.vxe-table--filter-template .vxe-default-input[disabled],.vxe-table--filter-template .vxe-default-select[disabled],.vxe-table--filter-template .vxe-default-textarea[disabled]{cursor:not-allowed;background-color:var(--vxe-ui-input-disabled-background-color)}.vxe-cell .vxe-default-input,.vxe-cell .vxe-default-select,.vxe-cell .vxe-default-textarea,.vxe-table--filter-template .vxe-default-input,.vxe-table--filter-template .vxe-default-select,.vxe-table--filter-template .vxe-default-textarea{height:var(--vxe-ui-input-height-default)}.vxe-cell .vxe-default-input[type=date]::-webkit-inner-spin-button{margin-top:4px}.vxe-table--filter-template .vxe-default-input[type=date]::-webkit-inner-spin-button{margin-top:4px}.vxe-cell .vxe-default-input[type=date]::-webkit-inner-spin-button{height:24px}.vxe-cell .vxe-default-input[type=number]::-webkit-inner-spin-button{height:24px}.vxe-table--filter-template .vxe-default-input[type=date]::-webkit-inner-spin-button{height:24px}.vxe-table--filter-template .vxe-default-input[type=number]::-webkit-inner-spin-button{height:24px}.vxe-cell .vxe-default-input::-moz-placeholder{color:var(--vxe-ui-input-placeholder-color)}.vxe-table--filter-template .vxe-default-input::-moz-placeholder{color:var(--vxe-ui-input-placeholder-color)}.vxe-cell .vxe-default-input::placeholder,.vxe-table--filter-template .vxe-default-input::placeholder{color:var(--vxe-ui-input-placeholder-color)}.vxe-cell .vxe-default-textarea,.vxe-table--filter-template .vxe-default-textarea{resize:none;vertical-align:middle;font-size:1em}.vxe-cell>.vxe-input>.vxe-input--inner,.vxe-cell>.vxe-textarea>.vxe-textarea--inner,.vxe-table--filter-template>.vxe-input>.vxe-input--inner,.vxe-table--filter-template>.vxe-textarea>.vxe-textarea--inner{padding:0 2px}.vxe-cell>.vxe-default-textarea,.vxe-cell>.vxe-textarea--inner,.vxe-table--filter-template>.vxe-default-textarea,.vxe-table--filter-template>.vxe-textarea--inner{resize:none}.vxe-cell>.vxe-cell--tree-node .vxe-input>.vxe-input--inner,.vxe-cell>.vxe-cell--tree-node .vxe-textarea>.vxe-textarea--inner,.vxe-cell>.vxe-row-group--tree-node .vxe-input>.vxe-input--inner,.vxe-cell>.vxe-row-group--tree-node .vxe-textarea>.vxe-textarea--inner,.vxe-table--filter-template>.vxe-cell--tree-node .vxe-input>.vxe-input--inner,.vxe-table--filter-template>.vxe-cell--tree-node .vxe-textarea>.vxe-textarea--inner,.vxe-table--filter-template>.vxe-row-group--tree-node .vxe-input>.vxe-input--inner,.vxe-table--filter-template>.vxe-row-group--tree-node .vxe-textarea>.vxe-textarea--inner{padding:0 2px}.vxe-cell>.vxe-cell--tree-node .vxe-default-textarea,.vxe-cell>.vxe-cell--tree-node .vxe-textarea--inner,.vxe-cell>.vxe-row-group--tree-node .vxe-default-textarea,.vxe-cell>.vxe-row-group--tree-node .vxe-textarea--inner,.vxe-table--filter-template>.vxe-cell--tree-node .vxe-default-textarea,.vxe-table--filter-template>.vxe-cell--tree-node .vxe-textarea--inner,.vxe-table--filter-template>.vxe-row-group--tree-node .vxe-default-textarea,.vxe-table--filter-template>.vxe-row-group--tree-node .vxe-textarea--inner{resize:none}.vxe-body--column.col--vertical-top.col--active>.vxe-cell>.vxe-cell--wrapper,.vxe-body--column.col--vertical-top.col--active>.vxe-cell>.vxe-cell--wrapper>.vxe-default-textarea{height:100%}.vxe-table:not([data-calc-row]) .vxe-body--column.col--vertical-top:not(.col--active)>.vxe-cell>.vxe-cell--wrapper{min-height:100%}.vxe-cell--label.is--negative{color:var(--vxe-ui-table-cell-negative-color)}.vxe-table--cell-active-area,.vxe-table--cell-col-status-area,.vxe-table--cell-copy-area,.vxe-table--cell-extend-area,.vxe-table--cell-item-area,.vxe-table--cell-main-area,.vxe-table--cell-row-status-area,.vxe-table--checkbox-range{pointer-events:none;z-index:1;display:none;position:absolute}.vxe-table--header-wrapper .vxe-table--cell-col-status-area{height:100%;top:0}.vxe-table--fixed-left-wrapper .vxe-table--cell-active-area,.vxe-table--fixed-left-wrapper .vxe-table--cell-col-status-area,.vxe-table--fixed-left-wrapper .vxe-table--cell-copy-area,.vxe-table--fixed-left-wrapper .vxe-table--cell-extend-area,.vxe-table--fixed-left-wrapper .vxe-table--cell-item-area,.vxe-table--fixed-left-wrapper .vxe-table--cell-main-area,.vxe-table--fixed-left-wrapper .vxe-table--cell-row-status-area,.vxe-table--fixed-left-wrapper .vxe-table--checkbox-range,.vxe-table--fixed-right-wrapper .vxe-table--cell-active-area,.vxe-table--fixed-right-wrapper .vxe-table--cell-col-status-area,.vxe-table--fixed-right-wrapper .vxe-table--cell-copy-area,.vxe-table--fixed-right-wrapper .vxe-table--cell-extend-area,.vxe-table--fixed-right-wrapper .vxe-table--cell-item-area,.vxe-table--fixed-right-wrapper .vxe-table--cell-main-area,.vxe-table--fixed-right-wrapper .vxe-table--cell-row-status-area,.vxe-table--fixed-right-wrapper .vxe-table--checkbox-range{z-index:2}.vxe-table--fixed-left-wrapper .vxe-table--cell-active-area[half="1"],.vxe-table--fixed-left-wrapper .vxe-table--cell-extend-area[half="1"],.vxe-table--fixed-left-wrapper .vxe-table--cell-item-area[half="1"],.vxe-table--fixed-left-wrapper .vxe-table--cell-main-area[half="1"]{border-right:0}.vxe-table--fixed-left-wrapper .vxe-table--cell-copy-area[half="1"]{background-size:var(--vxe-ui-table-cell-clip-area-border-width) 12px,0 12px,12px var(--vxe-ui-table-cell-clip-area-border-width),12px var(--vxe-ui-table-cell-clip-area-border-width)}.vxe-table--fixed-right-wrapper .vxe-table--cell-active-area[half="1"],.vxe-table--fixed-right-wrapper .vxe-table--cell-extend-area[half="1"],.vxe-table--fixed-right-wrapper .vxe-table--cell-item-area[half="1"],.vxe-table--fixed-right-wrapper .vxe-table--cell-main-area[half="1"]{border-left:0}.vxe-table--fixed-right-wrapper .vxe-table--cell-copy-area[half="1"]{background-size:0 12px,var(--vxe-ui-table-cell-clip-area-border-width) 12px,12px var(--vxe-ui-table-cell-clip-area-border-width),12px var(--vxe-ui-table-cell-clip-area-border-width)}.vxe-table--checkbox-range{background-color:var(--vxe-ui-table-checkbox-range-background-color);border:var(--vxe-ui-table-checkbox-range-border-width) solid var(--vxe-ui-table-checkbox-range-border-color)}.vxe-table--cell-area{height:0;font-size:0;display:none}.vxe-table--cell-area>.vxe-table--cell-main-area{background-color:var(--vxe-ui-table-cell-area-background-color);border:var(--vxe-ui-table-cell-area-border-width) solid var(--vxe-ui-table-cell-area-border-color)}.vxe-table--cell-area .vxe-table--cell-main-area-btn{border-style:solid;border-color:var(--vxe-ui-table-cell-main-area-extension-border-color);background-color:var(--vxe-ui-table-cell-main-area-extension-background-color);pointer-events:auto;cursor:crosshair;border-width:1px 0 0 1px;width:7px;height:7px;display:none;position:absolute;bottom:-1px;right:-1px}.vxe-table--cell-area .vxe-table--cell-extend-area{border:var(--vxe-ui-table-cell-extend-area-border-width) solid var(--vxe-ui-table-cell-extend-area-border-color)}.vxe-table--cell-area .vxe-table--cell-col-status-area,.vxe-table--cell-area .vxe-table--cell-row-status-area{background-color:var(--vxe-ui-table-cell-area-status-background-color)}.vxe-table--cell-area .vxe-table--cell-col-status-area{border-bottom:var(--vxe-ui-table-cell-area-border-width) solid var(--vxe-ui-table-cell-area-border-color)}.vxe-table--cell-area .vxe-table--cell-row-status-area{border-right:var(--vxe-ui-table-cell-area-border-width) solid var(--vxe-ui-table-cell-area-border-color)}@keyframes moveCopyCellBorder{to{background-position:0 -12px,100% 12px,12px 0,-12px 100%}}.vxe-table--cell-copy-area{background:linear-gradient(0deg,transparent 6px,var(--vxe-ui-table-cell-clip-area-border-color) 6px) repeat-y,linear-gradient(0deg,transparent 50%,var(--vxe-ui-table-cell-clip-area-border-color) 0) repeat-y,linear-gradient(90deg,transparent 50%,var(--vxe-ui-table-cell-clip-area-border-color) 0) repeat-x,linear-gradient(90deg,transparent 50%,var(--vxe-ui-table-cell-clip-area-border-color) 0) repeat-x;background-size:var(--vxe-ui-table-cell-clip-area-border-width) 12px,var(--vxe-ui-table-cell-clip-area-border-width) 12px,12px var(--vxe-ui-table-cell-clip-area-border-width),12px var(--vxe-ui-table-cell-clip-area-border-width);background-position:0 0,100% 0,0 0,0 100%;animation:.5s linear infinite moveCopyCellBorder}.vxe-table--cell-active-area{border-color:var(--vxe-ui-table-cell-active-area-border-color);border-style:solid;border-width:var(--vxe-ui-table-cell-active-area-border-width);background-color:var(--vxe-ui-table-cell-active-area-background-color)}.vxe-table--cell-multi-area>.vxe-table--cell-item-area{background-color:var(--vxe-ui-table-cell-area-background-color)}.vxe-table--render-default.is--round .vxe-table--render-default.is--round,.vxe-table--render-default.is--round.sy-pos--left.sx-pos--bottom.not--scroll-y.not--scroll-x .vxe-table--border-line,.vxe-table--render-default.is--round.sy-pos--left.sx-pos--top.not--scroll-y.not--scroll-x .vxe-table--border-line,.vxe-table--render-default.is--round.sy-pos--right.sx-pos--bottom.not--scroll-y.not--scroll-x .vxe-table--border-line,.vxe-table--render-default.is--round.sy-pos--right.sx-pos--top.not--scroll-y.not--scroll-x .vxe-table--border-line{border-radius:var(--vxe-ui-table-border-radius)}.vxe-table--render-default.is--round.sy-pos--right.sx-pos--bottom.is--scroll-y.is--scroll-x .vxe-table--border-line,.vxe-table--render-default.is--round.sy-pos--right.sx-pos--bottom.is--scroll-y.is--scroll-x .vxe-table--header-wrapper.body--wrapper,.vxe-table--render-default.is--round.sy-pos--right.sx-pos--bottom.is--scroll-y.is--scroll-x .vxe-table--header-wrapper.fixed-left--wrapper,.vxe-table--render-default.is--round.sy-pos--right.sx-pos--bottom.is--scroll-y.not--scroll-x .vxe-table--header-wrapper.body--wrapper,.vxe-table--render-default.is--round.sy-pos--right.sx-pos--bottom.is--scroll-y.not--scroll-x .vxe-table--header-wrapper.fixed-left--wrapper{border-radius:var(--vxe-ui-table-border-radius) 0 0 0}.vxe-table--render-default.is--round.sy-pos--right.sx-pos--bottom.is--scroll-y.not--scroll-x .vxe-table--footer-wrapper.body--wrapper,.vxe-table--render-default.is--round.sy-pos--right.sx-pos--bottom.is--scroll-y.not--scroll-x .vxe-table--footer-wrapper.fixed-left--wrapper{border-radius:0 0 0 var(--vxe-ui-table-border-radius)}.vxe-table--render-default.is--round.sy-pos--right.sx-pos--bottom.is--scroll-y.not--scroll-x .vxe-table--border-line{border-radius:var(--vxe-ui-table-border-radius) 0 0 var(--vxe-ui-table-border-radius)}.vxe-table--render-default.is--round.sy-pos--right.sx-pos--bottom.not--scroll-y.is--scroll-x .vxe-table--header-wrapper.body--wrapper{border-radius:var(--vxe-ui-table-border-radius) var(--vxe-ui-table-border-radius) 0 0}.vxe-table--render-default.is--round.sy-pos--right.sx-pos--bottom.not--scroll-y.is--scroll-x .vxe-table--header-wrapper.fixed-left--wrapper{border-radius:var(--vxe-ui-table-border-radius) 0 0 0}.vxe-table--render-default.is--round.sy-pos--right.sx-pos--bottom.not--scroll-y.is--scroll-x .vxe-table--header-wrapper.fixed-right--wrapper{border-radius:0 var(--vxe-ui-table-border-radius) 0 0}.vxe-table--render-default.is--round.sy-pos--right.sx-pos--bottom.not--scroll-y.is--scroll-x .vxe-table--border-line,.vxe-table--render-default.is--round.sy-pos--right.sx-pos--bottom.not--scroll-y.not--scroll-x .vxe-table--header-wrapper.body--wrapper{border-radius:var(--vxe-ui-table-border-radius) var(--vxe-ui-table-border-radius) 0 0}.vxe-table--render-default.is--round.sy-pos--right.sx-pos--bottom.not--scroll-y.not--scroll-x .vxe-table--header-wrapper.fixed-right--wrapper{border-radius:var(--vxe-ui-table-border-radius) 0 0 0}.vxe-table--render-default.is--round.sy-pos--right.sx-pos--bottom.not--scroll-y.not--scroll-x .vxe-table--footer-wrapper.body--wrapper{border-radius:0 0 var(--vxe-ui-table-border-radius) var(--vxe-ui-table-border-radius)}.vxe-table--render-default.is--round.sy-pos--right.sx-pos--bottom.not--scroll-y.not--scroll-x .vxe-table--footer-wrapper.fixed-right--wrapper{border-radius:0 0 var(--vxe-ui-table-border-radius) 0}.vxe-table--render-default.is--round.sy-pos--right.sx-pos--top.is--scroll-y.is--scroll-x .vxe-table--border-line,.vxe-table--render-default.is--round.sy-pos--right.sx-pos--top.is--scroll-y.is--scroll-x .vxe-table--footer-wrapper.body--wrapper,.vxe-table--render-default.is--round.sy-pos--right.sx-pos--top.is--scroll-y.is--scroll-x .vxe-table--footer-wrapper.fixed-left--wrapper{border-radius:0 0 0 var(--vxe-ui-table-border-radius)}.vxe-table--render-default.is--round.sy-pos--right.sx-pos--top.is--scroll-y.not--scroll-x .vxe-table--header-wrapper.body--wrapper,.vxe-table--render-default.is--round.sy-pos--right.sx-pos--top.is--scroll-y.not--scroll-x .vxe-table--header-wrapper.fixed-left--wrapper{border-radius:var(--vxe-ui-table-border-radius) 0 0 0}.vxe-table--render-default.is--round.sy-pos--right.sx-pos--top.is--scroll-y.not--scroll-x .vxe-table--footer-wrapper.body--wrapper,.vxe-table--render-default.is--round.sy-pos--right.sx-pos--top.is--scroll-y.not--scroll-x .vxe-table--footer-wrapper.fixed-left--wrapper{border-radius:0 0 0 var(--vxe-ui-table-border-radius)}.vxe-table--render-default.is--round.sy-pos--right.sx-pos--top.is--scroll-y.not--scroll-x .vxe-table--border-line{border-radius:var(--vxe-ui-table-border-radius) 0 0 var(--vxe-ui-table-border-radius)}.vxe-table--render-default.is--round.sy-pos--right.sx-pos--top.not--scroll-y.is--scroll-x .vxe-table--footer-wrapper.body--wrapper{border-radius:0 0 var(--vxe-ui-table-border-radius) var(--vxe-ui-table-border-radius)}.vxe-table--render-default.is--round.sy-pos--right.sx-pos--top.not--scroll-y.is--scroll-x .vxe-table--footer-wrapper.fixed-left--wrapper{border-radius:0 0 0 var(--vxe-ui-table-border-radius)}.vxe-table--render-default.is--round.sy-pos--right.sx-pos--top.not--scroll-y.is--scroll-x .vxe-table--footer-wrapper.fixed-right--wrapper{border-radius:0 0 var(--vxe-ui-table-border-radius) 0}.vxe-table--render-default.is--round.sy-pos--right.sx-pos--top.not--scroll-y.is--scroll-x .vxe-table--border-line{border-radius:0 0 var(--vxe-ui-table-border-radius) var(--vxe-ui-table-border-radius)}.vxe-table--render-default.is--round.sy-pos--left.sx-pos--bottom.is--scroll-y.is--scroll-x .vxe-table--border-line,.vxe-table--render-default.is--round.sy-pos--left.sx-pos--bottom.is--scroll-y.not--scroll-x .vxe-table--header-wrapper.body--wrapper,.vxe-table--render-default.is--round.sy-pos--left.sx-pos--bottom.is--scroll-y.not--scroll-x .vxe-table--header-wrapper.fixed-right--wrapper{border-radius:0 var(--vxe-ui-table-border-radius) 0 0}.vxe-table--render-default.is--round.sy-pos--left.sx-pos--bottom.is--scroll-y.not--scroll-x .vxe-table--footer-wrapper.body--wrapper,.vxe-table--render-default.is--round.sy-pos--left.sx-pos--bottom.is--scroll-y.not--scroll-x .vxe-table--footer-wrapper.fixed-right--wrapper{border-radius:0 0 var(--vxe-ui-table-border-radius) 0}.vxe-table--render-default.is--round.sy-pos--left.sx-pos--bottom.is--scroll-y.not--scroll-x .vxe-table--border-line{border-radius:0 var(--vxe-ui-table-border-radius) var(--vxe-ui-table-border-radius) 0}.vxe-table--render-default.is--round.sy-pos--left.sx-pos--bottom.not--scroll-y.is--scroll-x .vxe-table--header-wrapper.body--wrapper{border-radius:var(--vxe-ui-table-border-radius) var(--vxe-ui-table-border-radius) 0 0}.vxe-table--render-default.is--round.sy-pos--left.sx-pos--bottom.not--scroll-y.is--scroll-x .vxe-table--header-wrapper.fixed-left--wrapper{border-radius:var(--vxe-ui-table-border-radius) 0 0 0}.vxe-table--render-default.is--round.sy-pos--left.sx-pos--bottom.not--scroll-y.is--scroll-x .vxe-table--header-wrapper.fixed-right--wrapper{border-radius:0 var(--vxe-ui-table-border-radius) 0 0}.vxe-table--render-default.is--round.sy-pos--left.sx-pos--bottom.not--scroll-y.is--scroll-x .vxe-table--border-line,.vxe-table--render-default.is--round.sy-pos--left.sx-pos--bottom.not--scroll-y.not--scroll-x .vxe-table--header-wrapper.body--wrapper{border-radius:var(--vxe-ui-table-border-radius) var(--vxe-ui-table-border-radius) 0 0}.vxe-table--render-default.is--round.sy-pos--left.sx-pos--bottom.not--scroll-y.not--scroll-x .vxe-table--header-wrapper.fixed-left--wrapper{border-radius:var(--vxe-ui-table-border-radius) 0 0 0}.vxe-table--render-default.is--round.sy-pos--left.sx-pos--bottom.not--scroll-y.not--scroll-x .vxe-table--header-wrapper.fixed-right--wrapper{border-radius:0 var(--vxe-ui-table-border-radius) 0 0}.vxe-table--render-default.is--round.sy-pos--left.sx-pos--bottom.not--scroll-y.not--scroll-x .vxe-table--footer-wrapper.body--wrapper{border-radius:0 0 var(--vxe-ui-table-border-radius) var(--vxe-ui-table-border-radius)}.vxe-table--render-default.is--round.sy-pos--left.sx-pos--bottom.not--scroll-y.not--scroll-x .vxe-table--footer-wrapper.fixed-left--wrapper{border-radius:0 0 0 var(--vxe-ui-table-border-radius)}.vxe-table--render-default.is--round.sy-pos--left.sx-pos--bottom.not--scroll-y.not--scroll-x .vxe-table--footer-wrapper.fixed-right--wrapper,.vxe-table--render-default.is--round.sy-pos--left.sx-pos--top.is--scroll-y.is--scroll-x .vxe-table--border-line,.vxe-table--render-default.is--round.sy-pos--left.sx-pos--top.is--scroll-y.is--scroll-x .vxe-table--footer-wrapper.body--wrapper,.vxe-table--render-default.is--round.sy-pos--left.sx-pos--top.is--scroll-y.is--scroll-x .vxe-table--footer-wrapper.fixed-right--wrapper{border-radius:0 0 var(--vxe-ui-table-border-radius) 0}.vxe-table--render-default.is--round.sy-pos--left.sx-pos--top.is--scroll-y.not--scroll-x .vxe-table--header-wrapper.body--wrapper,.vxe-table--render-default.is--round.sy-pos--left.sx-pos--top.is--scroll-y.not--scroll-x .vxe-table--header-wrapper.fixed-right--wrapper{border-radius:0 var(--vxe-ui-table-border-radius) 0 0}.vxe-table--render-default.is--round.sy-pos--left.sx-pos--top.is--scroll-y.not--scroll-x .vxe-table--footer-wrapper.body--wrapper,.vxe-table--render-default.is--round.sy-pos--left.sx-pos--top.is--scroll-y.not--scroll-x .vxe-table--footer-wrapper.fixed-right--wrapper{border-radius:0 0 var(--vxe-ui-table-border-radius) 0}.vxe-table--render-default.is--round.sy-pos--left.sx-pos--top.is--scroll-y.not--scroll-x .vxe-table--border-line{border-radius:0 var(--vxe-ui-table-border-radius) var(--vxe-ui-table-border-radius) 0}.vxe-table--render-default.is--round.sy-pos--left.sx-pos--top.not--scroll-y.is--scroll-x .vxe-table--footer-wrapper.body--wrapper{border-radius:0 0 var(--vxe-ui-table-border-radius) var(--vxe-ui-table-border-radius)}.vxe-table--render-default.is--round.sy-pos--left.sx-pos--top.not--scroll-y.is--scroll-x .vxe-table--footer-wrapper.fixed-right--wrapper{border-radius:0 0 var(--vxe-ui-table-border-radius) 0}.vxe-table--render-default.is--round.sy-pos--left.sx-pos--top.not--scroll-y.is--scroll-x .vxe-table--border-line{border-radius:0 0 var(--vxe-ui-table-border-radius) var(--vxe-ui-table-border-radius)}.vxe-table--render-default.is--round.sy-pos--left.sx-pos--top.not--scroll-y.not--scroll-x .vxe-table--header-wrapper.body--wrapper{border-radius:var(--vxe-ui-table-border-radius) var(--vxe-ui-table-border-radius) 0 0}.vxe-table--render-default.is--round.sy-pos--left.sx-pos--top.not--scroll-y.not--scroll-x .vxe-table--header-wrapper.fixed-left--wrapper{border-radius:var(--vxe-ui-table-border-radius) 0 0 0}.vxe-table--render-default.is--round.sy-pos--left.sx-pos--top.not--scroll-y.not--scroll-x .vxe-table--header-wrapper.fixed-right--wrapper{border-radius:0 var(--vxe-ui-table-border-radius) 0 0}.vxe-table--render-default.is--round.sy-pos--left.sx-pos--top.not--scroll-y.not--scroll-x .vxe-table--footer-wrapper.body--wrapper{border-radius:0 0 var(--vxe-ui-table-border-radius) var(--vxe-ui-table-border-radius)}.vxe-table--render-default.is--round.sy-pos--left.sx-pos--top.not--scroll-y.not--scroll-x .vxe-table--footer-wrapper.fixed-left--wrapper{border-radius:0 0 0 var(--vxe-ui-table-border-radius)}.vxe-table--render-default.is--round.sy-pos--left.sx-pos--top.not--scroll-y.not--scroll-x .vxe-table--footer-wrapper.fixed-right--wrapper{border-radius:0 0 var(--vxe-ui-table-border-radius) 0}.vxe-table[data-calc-col] .vxe-body--column .vxe-cell>.vxe-cell--wrapper,.vxe-table[data-calc-col] .vxe-footer--column .vxe-cell>.vxe-cell--wrapper,.vxe-table[data-calc-col] .vxe-header--column .vxe-cell>.vxe-cell--wrapper{word-break:break-all;white-space:nowrap}.vxe-table:not([data-calc-col]) .vxe-cell--wrapper{min-width:100%}.vxe-table.is--loading>.vxe-table--layout-wrapper>.vxe-table--scroll-y-virtual,.vxe-table.is--loading>.vxe-table--scroll-x-virtual{visibility:hidden}.vxe-table .vxe-table--scroll-x-virtual{height:0}.vxe-table .vxe-table--scroll-y-virtual{width:0}.vxe-table .vxe-table--scroll-x-virtual,.vxe-table .vxe-table--scroll-y-virtual{visibility:hidden;z-index:7;flex-shrink:0;position:relative}.vxe-table .vxe-table--scroll-x-handle,.vxe-table .vxe-table--scroll-x-left-corner,.vxe-table .vxe-table--scroll-x-right-corner,.vxe-table .vxe-table--scroll-x-wrapper,.vxe-table .vxe-table--scroll-y-bottom-corner,.vxe-table .vxe-table--scroll-y-handle,.vxe-table .vxe-table--scroll-y-top-corner,.vxe-table .vxe-table--scroll-y-wrapper{position:absolute}.vxe-table .vxe-table--scroll-x-handle,.vxe-table .vxe-table--scroll-x-wrapper{width:100%;bottom:0;left:0}.vxe-table .vxe-table--scroll-x-wrapper{height:100%}.vxe-table .vxe-table--scroll-x-handle{height:var(--vxe-ui-table-view-scrollbar-height);overflow:scroll hidden}.vxe-table .vxe-table--scroll-y-handle,.vxe-table .vxe-table--scroll-y-wrapper{width:100%;height:100%;top:0;right:0}.vxe-table .vxe-table--scroll-y-handle{width:var(--vxe-ui-table-view-scrollbar-width);height:100%;overflow:hidden scroll}.vxe-table .vxe-table--scroll-x-space{height:1px}.vxe-table .vxe-table--scroll-y-space{width:1px}.vxe-table .vxe-table--scroll-x-left-corner,.vxe-table .vxe-table--scroll-x-right-corner,.vxe-table .vxe-table--scroll-y-bottom-corner,.vxe-table .vxe-table--scroll-y-top-corner{display:none;position:absolute}.vxe-table .vxe-table--scroll-x-left-corner,.vxe-table .vxe-table--scroll-x-right-corner{width:0;height:100%;bottom:0}.vxe-table .vxe-table--scroll-x-left-corner:before,.vxe-table .vxe-table--scroll-x-right-corner:before{content:"";width:calc(100% + var(--vxe-ui-table-border-width));z-index:1;border-width:var(--vxe-ui-table-border-width);border-style:solid;border-color:var(--vxe-ui-table-border-color);height:100%;position:absolute;top:0;left:0}.vxe-table .vxe-table--scroll-x-left-corner{left:0}.vxe-table .vxe-table--scroll-x-right-corner{right:0}.vxe-table.sy-pos--right .vxe-table--scroll-y-bottom-corner,.vxe-table.sy-pos--right .vxe-table--scroll-y-top-corner{width:calc(100% + var(--vxe-ui-table-border-width));right:0}.vxe-table.sy-pos--right .vxe-table--scroll-x-right-corner:before{left:calc(var(--vxe-ui-table-border-width)*-1);border-right:0}.vxe-table.sy-pos--left .vxe-table--scroll-y-bottom-corner,.vxe-table.sy-pos--left .vxe-table--scroll-y-top-corner{width:calc(100% + var(--vxe-ui-table-border-width));left:0}.vxe-table.sy-pos--left .vxe-table--scroll-x-left-corner:before{top:calc(var(--vxe-ui-table-border-width)*-1);height:calc(100% + var(--vxe-ui-table-border-width))}.vxe-table.sx-pos--bottom .vxe-table--scroll-x-right-corner{bottom:var(--vxe-ui-table-border-width)}.vxe-table.sx-pos--bottom .vxe-table--scroll-x-right-corner:before{border-bottom:0}.vxe-table .vxe-table--scroll-y-top-corner{background-color:var(--vxe-ui-table-header-background-color)}.vxe-table .vxe-table--scroll-y-bottom-corner,.vxe-table .vxe-table--scroll-y-top-corner{height:0;top:0}.vxe-table .vxe-table--scroll-y-bottom-corner{margin-top:calc(var(--vxe-ui-table-border-width)*-1)}.vxe-table .vxe-table--header-wrapper{color:var(--vxe-ui-table-header-font-color)}.vxe-table .vxe-cell--sort{text-align:center;padding:0 .1em 0 .2em;position:relative}.vxe-table .vxe-cell--sort-vertical-layout{vertical-align:middle;flex-direction:column;height:1.8em;display:inline-flex}.vxe-table .vxe-cell--sort-vertical-layout .vxe-sort--asc-btn,.vxe-table .vxe-cell--sort-vertical-layout .vxe-sort--desc-btn{height:.6em}.vxe-table .vxe-cell--sort-horizontal-layout{flex-direction:row;display:inline-flex}.vxe-table .vxe-cell--sort-horizontal-layout .vxe-sort--asc-btn,.vxe-table .vxe-cell--sort-horizontal-layout .vxe-sort--desc-btn{width:.5em}.vxe-table .vxe-sort--asc-btn,.vxe-table .vxe-sort--desc-btn{color:var(--vxe-ui-table-column-icon-border-color);cursor:pointer}.vxe-table .vxe-sort--asc-btn:hover,.vxe-table .vxe-sort--desc-btn:hover{color:var(--vxe-ui-font-color)}.vxe-table .vxe-sort--asc-btn.sort--active,.vxe-table .vxe-sort--desc-btn.sort--active{color:var(--vxe-ui-font-primary-color)}.vxe-filter--btn:after,.vxe-filter--btn:before,.vxe-sort--asc-btn:after,.vxe-sort--asc-btn:before,.vxe-sort--desc-btn:after,.vxe-sort--desc-btn:before{transition:border .1s ease-in-out}.vxe-header--column{font-weight:var(--vxe-ui-table-header-font-weight);position:relative}.vxe-header--column.col--ellipsis>.vxe-cell .vxe-cell--wrapper{align-items:center;display:flex}.vxe-header--column.col--ellipsis>.vxe-cell .vxe-cell--wrapper .vxe-cell--checkbox,.vxe-header--column.col--ellipsis>.vxe-cell .vxe-cell--wrapper .vxe-cell--drag-handle,.vxe-header--column.col--ellipsis>.vxe-cell .vxe-cell--wrapper .vxe-cell--filter,.vxe-header--column.col--ellipsis>.vxe-cell .vxe-cell--wrapper .vxe-cell--required-icon,.vxe-header--column.col--ellipsis>.vxe-cell .vxe-cell--wrapper .vxe-cell--sort,.vxe-header--column.col--ellipsis>.vxe-cell .vxe-cell--wrapper .vxe-cell-title-prefix-icon,.vxe-header--column.col--ellipsis>.vxe-cell .vxe-cell--wrapper .vxe-cell-title-suffix-icon{flex-shrink:0}.vxe-header--column.col--ellipsis>.vxe-cell .vxe-cell--title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vxe-header--column .vxe-cell--required-icon{color:var(--vxe-ui-table-validate-error-color);width:.8em;height:1em;line-height:1em;display:inline-block;position:relative}.vxe-header--column .vxe-cell--required-icon>i{font-family:Verdana,Arial,Tahoma;font-weight:400}.vxe-header--column .vxe-cell--required-icon>i:before{content:"*";position:absolute;top:.2em;left:0}.vxe-header--column .vxe-cell--required-icon{padding-right:.1em}.vxe-header--column .vxe-cell--edit-icon,.vxe-header--column .vxe-cell-title-prefix-icon,.vxe-header--column .vxe-cell-title-suffix-icon{padding:.2em}.vxe-header--column .vxe-cell-title-prefix-icon.theme--primary,.vxe-header--column .vxe-cell-title-suffix-icon.theme--primary{color:var(--vxe-ui-font-primary-color)}.vxe-header--column .vxe-cell-title-prefix-icon.theme--success,.vxe-header--column .vxe-cell-title-suffix-icon.theme--success{color:var(--vxe-ui-status-success-color)}.vxe-header--column .vxe-cell-title-prefix-icon.theme--info,.vxe-header--column .vxe-cell-title-suffix-icon.theme--info{color:var(--vxe-ui-status-info-color)}.vxe-header--column .vxe-cell-title-prefix-icon.theme--warning,.vxe-header--column .vxe-cell-title-suffix-icon.theme--warning{color:var(--vxe-ui-status-warning-color)}.vxe-header--column .vxe-cell-title-prefix-icon.theme--danger,.vxe-header--column .vxe-cell-title-suffix-icon.theme--danger{color:var(--vxe-ui-status-danger-color)}.vxe-header--column .vxe-cell-title-prefix-icon.theme--error,.vxe-header--column .vxe-cell-title-suffix-icon.theme--error{color:var(--vxe-ui-status-error-color)}.vxe-cell--col-resizable{text-align:center;z-index:1;cursor:col-resize;width:.6em;height:100%;position:absolute;bottom:0;right:-.3em}.vxe-cell--col-resizable.is--line:after,.vxe-cell--col-resizable.is--line:before{content:"";vertical-align:middle;display:inline-block}.vxe-cell--col-resizable.is--line:before{background-color:var(--vxe-ui-table-resizable-line-color);width:1px;height:50%}.vxe-cell--col-resizable.is--line:after{width:0;height:100%}.vxe-header--column:last-child>.vxe-cell--col-resizable{right:0}.vxe-table--fixed-right-wrapper .vxe-cell--col-resizable{left:-.3em;right:auto}.vxe-body--column .vxe-cell--row-resizable{text-align:center;z-index:1;cursor:row-resize;width:100%;height:.8em;position:absolute;bottom:-.4em;left:0}.vxe-body--row:last-child .vxe-body--column .vxe-cell--row-resizable{height:.4em;bottom:0}.vxe-table--resizable-col-bar,.vxe-table--resizable-row-bar{z-index:13;pointer-events:none;-webkit-user-select:none;user-select:none;display:none;position:absolute;top:0;left:0}.vxe-table--resizable-col-bar:before,.vxe-table--resizable-row-bar:before{content:"";background-color:var(--vxe-ui-table-resizable-drag-line-color);display:block}.vxe-table--resizable-col-bar .vxe-table--resizable-number-tip,.vxe-table--resizable-row-bar .vxe-table--resizable-number-tip{border-radius:var(--vxe-ui-border-radius);white-space:nowrap;color:#fff;background-color:var(--vxe-ui-table-resizable-drag-line-color);-webkit-user-select:none;user-select:none;pointer-events:none;padding:.25em;font-size:12px;position:absolute}.vxe-table--resizable-col-bar{cursor:col-resize;width:1px;height:100%}.vxe-table--resizable-col-bar:before{width:1px;height:100%}.vxe-table--resizable-col-bar .vxe-table--resizable-number-tip{top:1em;left:0}.vxe-table--resizable-row-bar{cursor:row-resize;width:100%;height:1px}.vxe-table--resizable-row-bar:before{width:100%;height:1px}.vxe-table--resizable-row-bar .vxe-table--resizable-number-tip{top:0;left:0}.vxe-table--drag-col-line,.vxe-table--drag-row-line{z-index:11;pointer-events:none;display:none;position:absolute;top:0;left:0}.vxe-table--drag-row-line{border:2px solid #0000;width:100%;height:1px}.vxe-table--drag-row-line[drag-pos=top]{border-top-color:var(--vxe-ui-font-primary-color)}.vxe-table--drag-row-line[drag-pos=bottom]{border-bottom-color:var(--vxe-ui-font-primary-color)}.vxe-table--drag-row-line[drag-to-child=y]{border-top-color:#0000;border-bottom-color:#0000;border-left-color:var(--vxe-ui-status-success-color)}.vxe-table--drag-row-line.is--guides{background-color:var(--vxe-ui-table-drag-over-background-color)}.vxe-table--drag-col-line{border:2px solid #0000;width:1px;height:100%}.vxe-table--drag-col-line[drag-pos=left]{border-left-color:var(--vxe-ui-font-primary-color)}.vxe-table--drag-col-line[drag-pos=right]{border-right-color:var(--vxe-ui-font-primary-color)}.vxe-table--drag-col-line[drag-to-child=y]{border-left-color:#0000;border-right-color:#0000;border-bottom-color:var(--vxe-ui-status-success-color)}.vxe-table--drag-col-line.is--guides{background-color:var(--vxe-ui-table-drag-over-background-color)}.vxe-body--row-list-move{transition-property:transform;transition-duration:.35s}.vxe-table--drag-sort-tip{border-radius:var(--vxe-ui-border-radius);text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:var(--vxe-ui-layout-background-color);z-index:33;min-width:100px;max-width:50%;padding:.6em 1.4em;display:none;position:absolute;top:0;left:0;overflow:hidden;box-shadow:0 0 10px #0003}.vxe-table--drag-sort-tip[drag-status=disabled] .vxe-table--drag-sort-tip-disabled-status,.vxe-table--drag-sort-tip[drag-status=normal] .vxe-table--drag-sort-tip-normal-status,.vxe-table--drag-sort-tip[drag-status=sub] .vxe-table--drag-sort-tip-sub-status{display:block}.vxe-table--drag-sort-tip-wrapper{flex-direction:row;align-items:center;display:flex}.vxe-table--drag-sort-tip-status{padding-right:.4em}.vxe-table--drag-sort-tip-disabled-status{color:var(--vxe-ui-status-error-color);flex-shrink:0;display:none}.vxe-table--drag-sort-tip-normal-status,.vxe-table--drag-sort-tip-sub-status{display:none}.vxe-table--drag-sort-tip-content{text-overflow:ellipsis;white-space:nowrap;flex-grow:1;overflow:hidden}.vxe-table--render-default{font-size:var(--vxe-ui-table-current-font-size);color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family);direction:ltr;position:relative}.vxe-table--render-default .vxe-table--body-wrapper{background-color:var(--vxe-ui-layout-background-color)}.vxe-table--render-default .vxe-table--footer-wrapper{margin-top:calc(var(--vxe-ui-table-border-width)*-1);background-color:var(--vxe-ui-table-footer-background-color)}.vxe-table--render-default .vxe-table--body,.vxe-table--render-default .vxe-table--footer,.vxe-table--render-default .vxe-table--header{border-spacing:0;border-collapse:separate;table-layout:fixed;border:0}.vxe-table--render-default:not(.is--empty).is--footer.is--scroll-x .vxe-table--body-wrapper{outline:0}.vxe-table--render-default.col-drag--resize .vxe-table--fixed-left-wrapper *,.vxe-table--render-default.col-drag--resize .vxe-table--fixed-right-wrapper *,.vxe-table--render-default.col-drag--resize .vxe-table--main-wrapper *{cursor:col-resize}.vxe-table--render-default.row-drag--resize .vxe-table--fixed-left-wrapper *,.vxe-table--render-default.row-drag--resize .vxe-table--fixed-right-wrapper *,.vxe-table--render-default.row-drag--resize .vxe-table--main-wrapper *{cursor:row-resize}.vxe-table--render-default.drag--area .vxe-table--fixed-left-wrapper *,.vxe-table--render-default.drag--area .vxe-table--fixed-right-wrapper *,.vxe-table--render-default.drag--area .vxe-table--main-wrapper *,.vxe-table--render-default.drag--range .vxe-table--fixed-left-wrapper *,.vxe-table--render-default.drag--range .vxe-table--fixed-right-wrapper *,.vxe-table--render-default.drag--range .vxe-table--main-wrapper *{cursor:default}.vxe-table--render-default.drag--extend-range .vxe-table--fixed-left-wrapper *,.vxe-table--render-default.drag--extend-range .vxe-table--fixed-right-wrapper *,.vxe-table--render-default.drag--extend-range .vxe-table--main-wrapper *{cursor:crosshair}.vxe-table--render-default.col--drag-cell .vxe-header--column{-webkit-user-select:none;user-select:none}.vxe-table--render-default.col--drag-cell .vxe-header--column.is--drag-active{cursor:grab}.vxe-table--render-default.col--drag-cell .vxe-header--column.is--drag-active:active{cursor:grabbing}.vxe-table--render-default.col--drag-cell .vxe-header--column.is--drag-active:hover{color:var(--vxe-ui-font-primary-color)}.vxe-table--render-default.col--drag-cell .vxe-header--column.is--drag-disabled{color:var(--vxe-ui-input-disabled-color);cursor:not-allowed}.vxe-table--render-default.body-cell--area .vxe-table--body-wrapper,.vxe-table--render-default.checkbox--range .vxe-body--column.col--checkbox,.vxe-table--render-default.drag--range .vxe-body--column,.vxe-table--render-default.header-cell--area .vxe-table--header-wrapper{-webkit-user-select:none;user-select:none}.vxe-table--render-default .vxe-body--column.col--center,.vxe-table--render-default .vxe-footer--column.col--center,.vxe-table--render-default .vxe-header--column.col--center{text-align:center}.vxe-table--render-default .vxe-body--column.col--center>.vxe-cell,.vxe-table--render-default .vxe-footer--column.col--center>.vxe-cell,.vxe-table--render-default .vxe-header--column.col--center>.vxe-cell{justify-content:center}.vxe-table--render-default .vxe-body--column.col--right,.vxe-table--render-default .vxe-footer--column.col--right,.vxe-table--render-default .vxe-header--column.col--right{text-align:right}.vxe-table--render-default .vxe-body--column.col--right>.vxe-cell,.vxe-table--render-default .vxe-footer--column.col--right>.vxe-cell,.vxe-table--render-default .vxe-header--column.col--right>.vxe-cell{justify-content:right}.vxe-table--render-default .vxe-header--column.col--ellipsis.col--center .vxe-cell--wrapper{justify-content:center}.vxe-table--render-default .vxe-header--column.col--ellipsis.col--right .vxe-cell--wrapper{justify-content:right}.vxe-table--render-default .vxe-footer--column.col--ellipsis.col--center .vxe-cell,.vxe-table--render-default .vxe-header--column.col--ellipsis.col--center .vxe-cell{justify-content:center}.vxe-table--render-default .vxe-footer--column.col--ellipsis.col--right .vxe-cell,.vxe-table--render-default .vxe-header--column.col--ellipsis.col--right .vxe-cell{justify-content:flex-end}.vxe-table--render-default .vxe-body--row.row--stripe>.vxe-body--column{background-color:var(--vxe-ui-table-row-striped-background-color)}.vxe-table--render-default.column--highlight .vxe-header--column:hover{background-color:var(--vxe-ui-table-column-hover-background-color)}.vxe-table--render-default.column--highlight .vxe-header--column:hover.col--current{background-color:var(--vxe-ui-table-column-hover-current-background-color)}.vxe-table--render-default .vxe-body--column,.vxe-table--render-default .vxe-footer--column,.vxe-table--render-default .vxe-header--column{line-height:var(--vxe-ui-table-row-line-height);text-align:left;position:relative}.vxe-table--render-default .vxe-body--column.col--current,.vxe-table--render-default .vxe-footer--column.col--current,.vxe-table--render-default .vxe-header--column.col--current{background-color:var(--vxe-ui-table-column-current-background-color)}.vxe-table--render-default .vxe-body--row.row--radio>.vxe-body--column{background-color:var(--vxe-ui-table-row-radio-checked-background-color)}.vxe-table--render-default .vxe-body--row.row--checked>.vxe-body--column{background-color:var(--vxe-ui-table-row-checkbox-checked-background-color)}.vxe-table--render-default .vxe-body--row.row--current>.vxe-body--column{background-color:var(--vxe-ui-table-row-current-background-color)}.vxe-table--render-default .vxe-body--row.row--hover>.vxe-body--column{background-color:var(--vxe-ui-table-row-hover-background-color)}.vxe-table--render-default .vxe-body--row.row--hover>.vxe-body--column.col--current{background-color:var(--vxe-ui-table-column-current-background-color)}.vxe-table--render-default .vxe-body--row.row--hover.row--stripe>.vxe-body--column{background-color:var(--vxe-ui-table-row-hover-striped-background-color)}.vxe-table--render-default .vxe-body--row.row--hover.row--radio>.vxe-body--column{background-color:var(--vxe-ui-table-row-hover-radio-checked-background-color)}.vxe-table--render-default .vxe-body--row.row--hover.row--checked>.vxe-body--column{background-color:var(--vxe-ui-table-row-hover-checkbox-checked-background-color)}.vxe-table--render-default .vxe-body--row.row--hover.row--current>.vxe-body--column{background-color:var(--vxe-ui-table-row-hover-current-background-color)}.vxe-table--render-default.border--default.sy-pos--right .vxe-table--scroll-y-top-corner,.vxe-table--render-default.border--full.sy-pos--right .vxe-table--scroll-y-top-corner,.vxe-table--render-default.border--inner.sy-pos--right .vxe-table--scroll-y-top-corner,.vxe-table--render-default.border--outer.sy-pos--right .vxe-table--scroll-y-top-corner{background-image:linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color)),linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color));background-repeat:no-repeat;background-size:var(--vxe-ui-table-border-width) 100%,100% var(--vxe-ui-table-border-width);background-position:0 0,0 100%}.vxe-table--render-default.border--default.sy-pos--right .vxe-table--scroll-y-bottom-corner,.vxe-table--render-default.border--full.sy-pos--right .vxe-table--scroll-y-bottom-corner,.vxe-table--render-default.border--inner.sy-pos--right .vxe-table--scroll-y-bottom-corner,.vxe-table--render-default.border--outer.sy-pos--right .vxe-table--scroll-y-bottom-corner{background-image:linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color)),linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color));background-repeat:no-repeat;background-size:var(--vxe-ui-table-border-width) 100%,100% var(--vxe-ui-table-border-width);background-position:0 0,0 0}.vxe-table--render-default.border--default.sy-pos--left .vxe-table--scroll-y-top-corner,.vxe-table--render-default.border--full.sy-pos--left .vxe-table--scroll-y-top-corner,.vxe-table--render-default.border--inner.sy-pos--left .vxe-table--scroll-y-top-corner,.vxe-table--render-default.border--outer.sy-pos--left .vxe-table--scroll-y-top-corner{background-image:linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color)),linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color));background-repeat:no-repeat;background-size:var(--vxe-ui-table-border-width) 100%,100% var(--vxe-ui-table-border-width);background-position:100% 0,0 100%}.vxe-table--render-default.border--default.sy-pos--left .vxe-table--scroll-y-bottom-corner,.vxe-table--render-default.border--full.sy-pos--left .vxe-table--scroll-y-bottom-corner,.vxe-table--render-default.border--inner.sy-pos--left .vxe-table--scroll-y-bottom-corner,.vxe-table--render-default.border--outer.sy-pos--left .vxe-table--scroll-y-bottom-corner{background-image:linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color)),linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color));background-repeat:no-repeat;background-size:var(--vxe-ui-table-border-width) 100%,100% var(--vxe-ui-table-border-width);background-position:100% 0,0 0}.vxe-table--render-default.border--default .vxe-table--scroll-x-handle-appearance,.vxe-table--render-default.border--full .vxe-table--scroll-x-handle-appearance,.vxe-table--render-default.border--inner .vxe-table--scroll-x-handle-appearance,.vxe-table--render-default.border--outer .vxe-table--scroll-x-handle-appearance{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;left:0}.vxe-table--render-default.border--default.sx-pos--top .vxe-table--scroll-x-handle-appearance,.vxe-table--render-default.border--full.sx-pos--top .vxe-table--scroll-x-handle-appearance,.vxe-table--render-default.border--inner.sx-pos--top .vxe-table--scroll-x-handle-appearance,.vxe-table--render-default.border--outer.sx-pos--top .vxe-table--scroll-x-handle-appearance{border-bottom:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color);top:0}.vxe-table--render-default.border--default.sx-pos--bottom .vxe-table--scroll-x-handle-appearance,.vxe-table--render-default.border--full.sx-pos--bottom .vxe-table--scroll-x-handle-appearance,.vxe-table--render-default.border--inner.sx-pos--bottom .vxe-table--scroll-x-handle-appearance,.vxe-table--render-default.border--outer.sx-pos--bottom .vxe-table--scroll-x-handle-appearance{height:calc(100% + var(--vxe-ui-table-border-width));border-top:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color);bottom:0}.vxe-table--render-default.border--default .vxe-cell--col-resizable:after,.vxe-table--render-default.border--default .vxe-cell--col-resizable:before,.vxe-table--render-default.border--inner .vxe-cell--col-resizable:after,.vxe-table--render-default.border--inner .vxe-cell--col-resizable:before,.vxe-table--render-default.border--none .vxe-cell--col-resizable:after,.vxe-table--render-default.border--none .vxe-cell--col-resizable:before,.vxe-table--render-default.border--outer .vxe-cell--col-resizable:after,.vxe-table--render-default.border--outer .vxe-cell--col-resizable:before{content:"";vertical-align:middle;display:inline-block}.vxe-table--render-default.border--default .vxe-cell--col-resizable:before,.vxe-table--render-default.border--inner .vxe-cell--col-resizable:before,.vxe-table--render-default.border--none .vxe-cell--col-resizable:before,.vxe-table--render-default.border--outer .vxe-cell--col-resizable:before{background-color:var(--vxe-ui-table-resizable-line-color);width:1px;height:50%}.vxe-table--render-default.border--default .vxe-cell--col-resizable:after,.vxe-table--render-default.border--inner .vxe-cell--col-resizable:after,.vxe-table--render-default.border--none .vxe-cell--col-resizable:after,.vxe-table--render-default.border--outer .vxe-cell--col-resizable:after{width:0;height:100%}.vxe-table--render-default.border--default .vxe-table--header-wrapper,.vxe-table--render-default.border--full .vxe-table--header-wrapper,.vxe-table--render-default.border--outer .vxe-table--header-wrapper{background-color:var(--vxe-ui-table-header-background-color)}.vxe-table--render-default.border--default .vxe-body--column,.vxe-table--render-default.border--default .vxe-footer--column,.vxe-table--render-default.border--default .vxe-header--column,.vxe-table--render-default.border--inner .vxe-body--column,.vxe-table--render-default.border--inner .vxe-footer--column,.vxe-table--render-default.border--inner .vxe-header--column{background-image:linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color));background-repeat:no-repeat;background-size:100% var(--vxe-ui-table-border-width);background-position:100% 100%}.vxe-table--render-default.border--default .vxe-table--footer-wrapper,.vxe-table--render-default.border--full .vxe-table--footer-wrapper,.vxe-table--render-default.border--inner .vxe-table--footer-wrapper{border-top:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-table--render-default.border--default .vxe-table--scroll-y-handle-appearance,.vxe-table--render-default.border--full .vxe-table--scroll-y-handle-appearance{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;top:0}.vxe-table--render-default.border--default.sy-pos--left .vxe-table--scroll-y-handle-appearance,.vxe-table--render-default.border--full.sy-pos--left .vxe-table--scroll-y-handle-appearance{border-right:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color);left:0}.vxe-table--render-default.border--default.sy-pos--right .vxe-table--scroll-y-handle-appearance,.vxe-table--render-default.border--full.sy-pos--right .vxe-table--scroll-y-handle-appearance{width:calc(100% + var(--vxe-ui-table-border-width));border-left:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color);right:0}.vxe-table--render-default.border--full .vxe-body--column,.vxe-table--render-default.border--full .vxe-footer--column,.vxe-table--render-default.border--full .vxe-header--column{background-image:linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color)),linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color));background-repeat:no-repeat;background-size:var(--vxe-ui-table-border-width) 100%,100% var(--vxe-ui-table-border-width);background-position:100% 0,100% 100%}.vxe-table--render-default.border--full .vxe-table--fixed-left-wrapper .vxe-body--column{border-right-color:var(--vxe-ui-table-border-color)}.vxe-table--render-default.border--inner .vxe-table--header-wrapper,.vxe-table--render-default.border--none .vxe-table--header-wrapper{background-color:var(--vxe-ui-table-header-background-color)}.vxe-table--render-default.border--inner .vxe-table--fixed-left-wrapper,.vxe-table--render-default.border--none .vxe-table--fixed-left-wrapper{border-right:0}.vxe-table--render-default.border--inner .vxe-table--border-line{border-width:0 0 1px}.vxe-table--render-default.border--none .vxe-table--border-line{display:none}.vxe-table--render-default.size--medium .vxe-table--empty-block,.vxe-table--render-default.size--medium .vxe-table--empty-placeholder{min-height:var(--vxe-ui-table-row-height-medium)}.vxe-table--render-default.size--medium .vxe-body--column.is--padding .vxe-cell,.vxe-table--render-default.size--medium .vxe-body--column.is--padding .vxe-cell .vxe-default-textarea,.vxe-table--render-default.size--medium .vxe-footer--column.is--padding .vxe-cell,.vxe-table--render-default.size--medium .vxe-footer--column.is--padding .vxe-cell .vxe-default-textarea,.vxe-table--render-default.size--medium .vxe-header--column.is--padding .vxe-cell,.vxe-table--render-default.size--medium .vxe-header--column.is--padding .vxe-cell .vxe-default-textarea{padding:var(--vxe-ui-table-cell-padding-medium)}.vxe-table--render-default.size--medium .vxe-cell .vxe-default-input,.vxe-table--render-default.size--medium .vxe-cell .vxe-default-select,.vxe-table--render-default.size--medium .vxe-cell .vxe-default-textarea{height:var(--vxe-ui-input-height-medium)}.vxe-table--render-default.size--medium .vxe-cell .vxe-default-input[type=date]::-webkit-inner-spin-button{margin-top:3px}.vxe-table--render-default.size--medium .vxe-cell--valid-error-tip{padding:0 var(--vxe-ui-table-cell-padding-medium)}.vxe-table--render-default.size--small .vxe-table--empty-block,.vxe-table--render-default.size--small .vxe-table--empty-placeholder{min-height:var(--vxe-ui-table-row-height-small)}.vxe-table--render-default.size--small .vxe-body--column.is--padding .vxe-cell,.vxe-table--render-default.size--small .vxe-body--column.is--padding .vxe-cell .vxe-default-textarea,.vxe-table--render-default.size--small .vxe-footer--column.is--padding .vxe-cell,.vxe-table--render-default.size--small .vxe-footer--column.is--padding .vxe-cell .vxe-default-textarea,.vxe-table--render-default.size--small .vxe-header--column.is--padding .vxe-cell,.vxe-table--render-default.size--small .vxe-header--column.is--padding .vxe-cell .vxe-default-textarea{padding:var(--vxe-ui-table-cell-padding-small)}.vxe-table--render-default.size--small .vxe-cell .vxe-default-input,.vxe-table--render-default.size--small .vxe-cell .vxe-default-select,.vxe-table--render-default.size--small .vxe-cell .vxe-default-textarea{height:var(--vxe-ui-input-height-small)}.vxe-table--render-default.size--small .vxe-cell .vxe-default-input[type=date]::-webkit-inner-spin-button{margin-top:2px}.vxe-table--render-default.size--small .vxe-cell--valid-error-tip{padding:0 var(--vxe-ui-table-cell-padding-small)}.vxe-table--render-default.size--mini .vxe-table--empty-block,.vxe-table--render-default.size--mini .vxe-table--empty-placeholder{min-height:var(--vxe-ui-table-row-height-mini)}.vxe-table--render-default.size--mini .vxe-body--column.is--padding .vxe-cell,.vxe-table--render-default.size--mini .vxe-body--column.is--padding .vxe-cell .vxe-default-textarea,.vxe-table--render-default.size--mini .vxe-footer--column.is--padding .vxe-cell,.vxe-table--render-default.size--mini .vxe-footer--column.is--padding .vxe-cell .vxe-default-textarea,.vxe-table--render-default.size--mini .vxe-header--column.is--padding .vxe-cell,.vxe-table--render-default.size--mini .vxe-header--column.is--padding .vxe-cell .vxe-default-textarea{padding:var(--vxe-ui-table-cell-padding-mini)}.vxe-table--render-default.size--mini .vxe-cell .vxe-default-input,.vxe-table--render-default.size--mini .vxe-cell .vxe-default-select,.vxe-table--render-default.size--mini .vxe-cell .vxe-default-textarea{height:var(--vxe-ui-input-height-mini)}.vxe-table--render-default.size--mini .vxe-cell .vxe-default-input[type=date]::-webkit-inner-spin-button{margin-top:1px}.vxe-table--render-default.size--mini .vxe-cell--valid-error-tip{padding:0 var(--vxe-ui-table-cell-padding-mini)}.vxe-table--render-default .vxe-body--column.is--padding .vxe-cell,.vxe-table--render-default .vxe-body--column.is--padding .vxe-cell .vxe-default-textarea,.vxe-table--render-default .vxe-footer--column.is--padding .vxe-cell,.vxe-table--render-default .vxe-footer--column.is--padding .vxe-cell .vxe-default-textarea,.vxe-table--render-default .vxe-header--column.is--padding .vxe-cell,.vxe-table--render-default .vxe-header--column.is--padding .vxe-cell .vxe-default-textarea{padding:var(--vxe-ui-table-cell-padding-default)}.vxe-table--render-default .vxe-cell{white-space:pre-line;word-break:break-all}.vxe-table--render-default .vxe-cell--placeholder{color:var(--vxe-ui-table-cell-placeholder-color)}.vxe-table--render-default .vxe-cell--radio{cursor:pointer}.vxe-table--render-default .vxe-cell--radio .vxe-radio--icon{color:var(--vxe-ui-input-border-color);vertical-align:middle;-webkit-user-select:none;user-select:none;border-radius:50%;font-size:1.26em;font-weight:700;transition:all .2s ease-in-out}.vxe-table--render-default .vxe-cell--radio.is--checked,.vxe-table--render-default .vxe-cell--radio.is--checked .vxe-radio--icon,.vxe-table--render-default .vxe-cell--radio:not(.is--disabled):hover .vxe-radio--icon{color:var(--vxe-ui-font-primary-color)}.vxe-table--render-default .vxe-cell--radio.is--readonly{cursor:auto}.vxe-table--render-default .vxe-cell--radio.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:not-allowed}.vxe-table--render-default .vxe-cell--radio.is--disabled .vxe-radio--icon{color:var(--vxe-ui-input-disabled-color)}.vxe-table--render-default .vxe-cell--radio .vxe-radio--label{vertical-align:middle;padding-left:.4em}.vxe-table--render-default .vxe-cell--checkbox{cursor:pointer}.vxe-table--render-default .vxe-cell--checkbox .vxe-checkbox--icon{color:var(--vxe-ui-input-border-color);vertical-align:middle;-webkit-user-select:none;user-select:none;font-size:1.22em;font-weight:700;transition:all .2s ease-in-out}.vxe-table--render-default .vxe-cell--checkbox.is--checked,.vxe-table--render-default .vxe-cell--checkbox.is--checked .vxe-checkbox--icon,.vxe-table--render-default .vxe-cell--checkbox.is--indeterminate,.vxe-table--render-default .vxe-cell--checkbox.is--indeterminate .vxe-checkbox--icon,.vxe-table--render-default .vxe-cell--checkbox:not(.is--disabled):hover .vxe-checkbox--icon{color:var(--vxe-ui-font-primary-color)}.vxe-table--render-default .vxe-cell--checkbox.is--hidden{cursor:default}.vxe-table--render-default .vxe-cell--checkbox.is--readonly{cursor:auto}.vxe-table--render-default .vxe-cell--checkbox.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:not-allowed}.vxe-table--render-default .vxe-cell--checkbox.is--disabled .vxe-checkbox--icon{color:var(--vxe-ui-input-disabled-color)}.vxe-table--render-default .vxe-cell--checkbox .vxe-checkbox--label{vertical-align:middle;padding-left:.4em}.vxe-table--render-default .fixed--hidden{visibility:hidden}.vxe-table--render-default .vxe-table--fixed-left-wrapper,.vxe-table--render-default .vxe-table--fixed-right-wrapper{z-index:5;background-color:inherit;background-color:var(--vxe-ui-layout-background-color);outline:0;width:100%;transition:box-shadow .3s;position:absolute;top:0;overflow:hidden}.vxe-table--render-default .vxe-table--fixed-left-wrapper.y-ob--contain>.vxe-table--body-wrapper>.vxe-table--body-inner-wrapper,.vxe-table--render-default .vxe-table--fixed-right-wrapper.y-ob--contain>.vxe-table--body-wrapper>.vxe-table--body-inner-wrapper{overscroll-behavior-y:contain}.vxe-table--render-default .vxe-table--fixed-left-wrapper .vxe-table--body-wrapper,.vxe-table--render-default .vxe-table--fixed-right-wrapper .vxe-table--body-wrapper{outline:0}.vxe-table--render-default .vxe-table--fixed-left-wrapper .vxe-table--body-wrapper{width:calc(100% + 40px)}.vxe-table--render-default.is--header .vxe-table--fixed-left-wrapper .vxe-table--body-wrapper:before,.vxe-table--render-default.is--header .vxe-table--fixed-right-wrapper .vxe-table--body-wrapper:before{display:none}.vxe-table--render-default .vxe-table--fixed-left-wrapper{width:200px;left:0}.vxe-table--render-default .vxe-table--fixed-left-wrapper.scrolling--middle{box-shadow:var(--vxe-ui-table-fixed-left-scrolling-box-shadow)}.vxe-table--render-default .vxe-table--fixed-right-wrapper{right:0}.vxe-table--render-default .vxe-table--fixed-right-wrapper.scrolling--middle{box-shadow:var(--vxe-ui-table-fixed-right-scrolling-box-shadow)}.vxe-table--render-default .vxe-table--body-wrapper,.vxe-table--render-default .vxe-table--footer-wrapper,.vxe-table--render-default .vxe-table--header-wrapper{width:100%;position:relative}.vxe-table--render-default .vxe-table--body-wrapper.fixed-left--wrapper,.vxe-table--render-default .vxe-table--body-wrapper.fixed-right--wrapper,.vxe-table--render-default .vxe-table--footer-wrapper.fixed-left--wrapper,.vxe-table--render-default .vxe-table--footer-wrapper.fixed-right--wrapper,.vxe-table--render-default .vxe-table--header-wrapper.fixed-left--wrapper,.vxe-table--render-default .vxe-table--header-wrapper.fixed-right--wrapper{outline:0;position:absolute;top:0}.vxe-table--render-default .vxe-table--body-wrapper.fixed-left--wrapper,.vxe-table--render-default .vxe-table--footer-wrapper.fixed-left--wrapper,.vxe-table--render-default .vxe-table--header-wrapper.fixed-left--wrapper{left:0}.vxe-table--render-default .vxe-table--body-wrapper.fixed-right--wrapper,.vxe-table--render-default .vxe-table--footer-wrapper.fixed-right--wrapper,.vxe-table--render-default .vxe-table--header-wrapper.fixed-right--wrapper{right:0}.vxe-table--render-default .vxe-body--x-space{width:100%;height:1px;margin-bottom:-1px}.vxe-table--render-default .vxe-body--y-space{float:left;width:0}.vxe-table--render-default .vxe-table--border-line{z-index:10;pointer-events:none;border:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color);width:100%;height:100%;position:absolute;top:0;left:0}.vxe-table--render-default .vxe-tree--line-wrapper{height:0;display:block;position:relative}.vxe-table--render-default .vxe-tree--line{content:"";border-width:0 0 1px 1px;border-style:var(--vxe-ui-table-tree-node-line-style);border-color:var(--vxe-ui-table-tree-node-line-color);pointer-events:none;width:.8em;position:absolute;bottom:-1.5em}.vxe-table--render-default .vxe-cell--tree-node,.vxe-table--render-default .vxe-row-group--tree-node{position:relative}.vxe-table--render-default .vxe-cell--tree-btn:hover{color:var(--vxe-ui-font-color)}.vxe-table--render-default .vxe-cell--tree-btn>i{color:var(--vxe-ui-font-lighten-color);transition:transform .1s ease-in-out;display:block}.vxe-table--render-default .vxe-row-group-cell,.vxe-table--render-default .vxe-tree-cell{padding-left:1.5em;display:block}.vxe-table--render-default .vxe-cell--tree-btn,.vxe-table--render-default .vxe-row-group--node-btn{text-align:center;z-index:1;-webkit-user-select:none;user-select:none;cursor:pointer;width:1em;height:1em;position:absolute;top:50%;transform:translateY(-50%)}.vxe-table--render-default .vxe-row-group--node-btn:hover{color:var(--vxe-ui-font-color)}.vxe-table--render-default .vxe-row-group--node-btn>i{color:var(--vxe-ui-font-lighten-color);transition:transform .1s ease-in-out;display:block}.vxe-table--render-default .vxe-body--column.col--ellipsis>.vxe-cell .vxe-row-group-cell,.vxe-table--render-default .vxe-body--column.col--ellipsis>.vxe-cell .vxe-tree-cell{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vxe-table--render-default .vxe-body--column.col--auto-height,.vxe-table--render-default .vxe-body--column.col--cs-height,.vxe-table--render-default .vxe-body--column.col--rs-height{overflow:hidden}.vxe-table--render-default .vxe-body--column.col--auto-height.col--tree-node,.vxe-table--render-default .vxe-body--column.col--auto-height.col--valid-error,.vxe-table--render-default .vxe-body--column.col--cs-height.col--tree-node,.vxe-table--render-default .vxe-body--column.col--cs-height.col--valid-error,.vxe-table--render-default .vxe-body--column.col--rs-height.col--tree-node,.vxe-table--render-default .vxe-body--column.col--rs-height.col--valid-error{overflow:unset}.vxe-table--render-default .vxe-body--column.col--auto-height>.vxe-cell,.vxe-table--render-default .vxe-body--column.col--cs-height>.vxe-cell,.vxe-table--render-default .vxe-body--column.col--rs-height>.vxe-cell{overflow:hidden}.vxe-table--render-default .vxe-body--column>.vxe-cell{flex-direction:row;align-items:center;display:flex}.vxe-table--render-default .vxe-body--column:not(.col--active).col--ellipsis>.vxe-cell,.vxe-table--render-default .vxe-footer--column:not(.col--active).col--ellipsis>.vxe-cell,.vxe-table--render-default .vxe-header--column:not(.col--active).col--ellipsis>.vxe-cell{overflow:hidden}.vxe-table--render-default .vxe-body--column:not(.col--active).col--ellipsis>.vxe-cell>.vxe-cell--wrapper,.vxe-table--render-default .vxe-footer--column:not(.col--active).col--ellipsis>.vxe-cell>.vxe-cell--wrapper,.vxe-table--render-default .vxe-header--column:not(.col--active).col--ellipsis>.vxe-cell>.vxe-cell--wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vxe-table--render-default .vxe-body--column:not(.col--active).col--vertical-top>.vxe-cell>.vxe-cell--wrapper,.vxe-table--render-default .vxe-body--column:not(.col--active).vxe-row-group-cell>.vxe-cell>.vxe-cell--wrapper,.vxe-table--render-default .vxe-body--column:not(.col--active).vxe-tree-cell>.vxe-cell>.vxe-cell--wrapper,.vxe-table--render-default .vxe-footer--column:not(.col--active).col--vertical-top>.vxe-cell>.vxe-cell--wrapper,.vxe-table--render-default .vxe-footer--column:not(.col--active).vxe-row-group-cell>.vxe-cell>.vxe-cell--wrapper,.vxe-table--render-default .vxe-footer--column:not(.col--active).vxe-tree-cell>.vxe-cell>.vxe-cell--wrapper,.vxe-table--render-default .vxe-header--column:not(.col--active).col--vertical-top>.vxe-cell>.vxe-cell--wrapper,.vxe-table--render-default .vxe-header--column:not(.col--active).vxe-row-group-cell>.vxe-cell>.vxe-cell--wrapper,.vxe-table--render-default .vxe-header--column:not(.col--active).vxe-tree-cell>.vxe-cell>.vxe-cell--wrapper{white-space:pre-line}.vxe-table--render-default .vxe-footer--column.col--ellipsis>.vxe-cell .vxe-cell--wrapper,.vxe-table--render-default .vxe-header--column.col--ellipsis>.vxe-cell .vxe-cell--wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vxe-table--render-default .vxe-footer--column>.vxe-cell,.vxe-table--render-default .vxe-header--column>.vxe-cell{flex-direction:row;align-items:center;display:flex}.vxe-table--render-default .vxe-body--column.col--expand>.vxe-cell .vxe-cell--wrapper{flex-direction:row;display:flex}.vxe-table--render-default .vxe-table--row-expanded-wrapper{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.vxe-table--render-default .vxe-body--row-expanded-cell{z-index:5;pointer-events:all;border-top:1px solid #0000;border-bottom:1px solid #0000;width:100%;position:absolute;top:0;left:0;overflow:auto}.vxe-table--render-default .vxe-body--row-expanded-cell.is--padding .vxe-body--row-expanded-content{padding:var(--vxe-ui-table-expand-padding-default)}.vxe-table--render-default .vxe-body--row-expanded-content{background-color:var(--vxe-ui-layout-background-color)}.vxe-table--render-default .vxe-body--row-expanded-place-column{border-bottom:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color);border-right:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-table--render-default .vxe-table--expanded{flex-direction:row;flex-shrink:0;justify-content:center;align-items:center;display:flex}.vxe-table--render-default .vxe-table--expanded .vxe-table--expand-btn{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--vxe-ui-font-lighten-color)}.vxe-table--render-default .vxe-table--expanded .vxe-table--expand-btn:hover{color:var(--vxe-ui-font-color)}.vxe-table--render-default .vxe-table--expanded .vxe-table--expand-btn i{width:1em;height:1em;line-height:1em;transition:transform .1s ease-in-out;display:inline-block}.vxe-table--render-default .vxe-table--expanded+.vxe-table--expand-label{flex-grow:1;padding-left:.5em}.vxe-table--render-default .vxe-body--expanded-row.is--padding>.vxe-body--expanded-column>.vxe-body--expanded-cell{padding:var(--vxe-ui-table-expand-padding-default)}.vxe-table--render-default .vxe-body--expanded-column{border-bottom:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color);border-right:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-table--render-default .vxe-body--expanded-column.col--ellipsis>.vxe-body--expanded-cell{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vxe-table--render-default .vxe-body--expanded-cell{z-index:1;position:relative}.vxe-table--render-default .vxe-body--expanded-cell.is--ellipsis{outline:0;overflow:auto}.vxe-table--render-default .vxe-table--column.col--drag-move{transition:transform .5s}.vxe-table--render-default .vxe-table--column.col--drag-origin>.vxe-cell{opacity:.3}.vxe-table--render-default .vxe-cell--drag-handle{-webkit-user-select:none;user-select:none}.vxe-table--render-default .vxe-cell--drag-handle+span{padding-left:.5em}.vxe-table--render-default .vxe-cell--drag-handle:not(.is--disabled){cursor:grab}.vxe-table--render-default .vxe-cell--drag-handle:not(.is--disabled):active{cursor:grabbing}.vxe-table--render-default .vxe-cell--drag-handle:not(.is--disabled):hover{color:var(--vxe-ui-font-primary-color)}.vxe-table--render-default .vxe-cell--drag-handle.is--disabled{color:var(--vxe-ui-input-disabled-color);cursor:not-allowed}.vxe-table--render-default .vxe-body--row.row--drag-move{transition:transform .5s}.vxe-table--render-default .vxe-body--row.row--drag-origin>.vxe-body--column>.vxe-cell{opacity:.3}.vxe-table--render-default .vxe-body--column.is--drag-cell{-webkit-user-select:none;user-select:none}.vxe-table--render-default .vxe-body--column.is--drag-cell:not(.is--drag-disabled){cursor:grab}.vxe-table--render-default .vxe-body--column.is--drag-cell:not(.is--drag-disabled):active{cursor:grabbing}.vxe-table--render-default .vxe-body--column.is--drag-cell:not(.is--drag-disabled):hover{color:var(--vxe-ui-font-primary-color)}.vxe-table--render-default .vxe-body--column.is--drag-cell.is--drag-disabled{color:var(--vxe-ui-input-disabled-color);cursor:not-allowed}.vxe-table--render-default.size--medium .vxe-cell--checkbox{font-size:var(--vxe-checkbox-font-size-medium)}.vxe-table--render-default.size--medium .vxe-cell--radio{font-size:var(--vxe-radio-font-size-medium)}.vxe-table--render-default.size--small .vxe-cell--checkbox{font-size:var(--vxe-checkbox-font-size-small)}.vxe-table--render-default.size--small .vxe-cell--radio{font-size:var(--vxe-radio-font-size-small)}.vxe-table--render-default.size--mini .vxe-cell--checkbox{font-size:var(--vxe-checkbox-font-size-mini)}.vxe-table--render-default.size--mini .vxe-cell--radio{font-size:var(--vxe-radio-font-size-mini)}.vxe-table--render-default .vxe-table--empty-block,.vxe-table--render-default .vxe-table--empty-placeholder{color:var(--vxe-ui-input-placeholder-color);min-height:var(--vxe-ui-table-row-height-default);text-align:center;outline:0;justify-content:center;align-items:center;width:100%;overflow:hidden}.vxe-table--render-default .vxe-table--empty-block{visibility:hidden;pointer-events:none;display:none}.vxe-table--render-default .vxe-table--empty-place-wrapper{z-index:5;pointer-events:none;width:100%;display:none;position:absolute;top:0;overflow:hidden}.vxe-table--render-default .vxe-table--empty-placeholder{display:flex}.vxe-table--render-default .vxe-table--empty-content{pointer-events:auto;width:50%;display:block}.vxe-table--render-default.is--empty .vxe-table--empty-block,.vxe-table--render-default.is--empty .vxe-table--empty-place-wrapper{display:flex}.vxe-table--render-default .vxe-body--column.col--selected{box-shadow:inset 0 0 0 2px var(--vxe-ui-font-primary-color)}.vxe-table--render-default .vxe-body--column .vxe-cell--valid-error-tip{width:100%;font-size:var(--vxe-ui-table-validate-error-font-size,var(--vxe-ui-table-current-font-size));text-align:left;z-index:4;padding:0 var(--vxe-ui-table-cell-padding-default);pointer-events:none;line-height:1em;position:absolute;left:50%;transform:translate(-50%,-2px)}.vxe-table--render-default .vxe-body--column .vxe-cell--valid-error-wrapper{border-radius:var(--vxe-ui-border-radius);pointer-events:auto;display:inline-block;position:relative}.vxe-table--render-default .vxe-body--column .vxe-cell--valid-error-theme-beautify{padding:var(--vxe-ui-table-validate-error-padding,.2em .6em);color:#fff;background-color:var(--vxe-ui-table-validate-error-color)}.vxe-table--render-default .vxe-body--column .vxe-cell--valid-error-theme-beautify .vxe-cell--valid-error-msg{background:0 0}.vxe-table--render-default .vxe-body--column .vxe-cell--valid-error-theme-normal{color:var(--vxe-ui-table-validate-error-color);background-color:var(--vxe-ui-table-validate-error-theme-normal-background-color)}.vxe-table--render-default .vxe-body--column.col--active,.vxe-table--render-default .vxe-body--column.col--selected{position:relative}.vxe-table--render-default .vxe-body--column.col--valid-error.show--valid-bg{background-color:var(--vxe-ui-table-validate-error-cell-background-color)}.vxe-table--render-default .vxe-body--column.col--valid-error .vxe-default-input,.vxe-table--render-default .vxe-body--column.col--valid-error .vxe-default-select,.vxe-table--render-default .vxe-body--column.col--valid-error .vxe-default-textarea,.vxe-table--render-default .vxe-body--column.col--valid-error .vxe-ico-picker,.vxe-table--render-default .vxe-body--column.col--valid-error .vxe-input{border-color:var(--vxe-ui-table-validate-error-color)}.vxe-table--render-default.valid-msg--single .vxe-body--row:last-child .vxe-cell--valid-error-tip{bottom:100%;transform:translate(-50%)}.vxe-table--render-default.valid-msg--single .vxe-body--row:last-child:first-child .vxe-cell--valid-error-tip{bottom:auto;transform:translate(-50%,-2px)}.vxe-table--render-default.valid-msg--full .vxe-body--row:last-child .vxe-cell--valid-error-tip{top:calc(100% - 1.3em)}.vxe-table--render-default.old-cell-valid .vxe-body--column.col--valid-error .vxe-cell--valid-error-tip{text-align:center;pointer-events:none;z-index:4;width:320px;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}.vxe-table--render-default.old-cell-valid .vxe-body--column.col--valid-error .vxe-cell--valid-error-tip .vxe-cell--valid-error-msg{border-radius:-var(-vxe-border-radius);color:#fff;pointer-events:auto;background-color:#f56c6c;padding:8px 12px;display:inline-block}.vxe-table--render-default.old-cell-valid .vxe-body--row:first-child .vxe-cell--valid-error-tip{top:calc(100% + 4px);bottom:auto}.vxe-table--render-default.old-cell-valid .vxe-body--column:first-child .vxe-cell--valid-error-tip{text-align:left;left:10px;transform:translate(0)}.vxe-table--render-default .vxe-body--row.row--pending{color:var(--vxe-ui-font-disabled-color);opacity:.5;cursor:no-drop;text-decoration:line-through}.vxe-table--render-default .vxe-body--row.row--pending .vxe-body--column{position:relative}.vxe-table--render-default .vxe-body--row.row--pending .vxe-body--column:after{content:"";border-bottom:1px solid var(--vxe-ui-table-validate-error-color);z-index:1;width:100%;height:0;position:absolute;top:50%;left:0}.vxe-table--render-default .vxe-body--row.row--new>.vxe-body--column{position:relative}.vxe-table--render-default .vxe-body--row.row--new>.vxe-body--column:before{content:"";top:calc(var(--vxe-ui-table-cell-dirty-width)*-1);left:calc(var(--vxe-ui-table-cell-dirty-width)*-1);border-width:var(--vxe-ui-table-cell-dirty-width);border-style:solid;border-color:transparent var(--vxe-ui-table-cell-dirty-insert-color) transparent transparent;position:absolute;transform:rotate(45deg)}.vxe-table--render-default .vxe-body--column.col--dirty{position:relative}.vxe-table--render-default .vxe-body--column.col--dirty:before{content:"";top:calc(var(--vxe-ui-table-cell-dirty-width)*-1);left:calc(var(--vxe-ui-table-cell-dirty-width)*-1);border-width:var(--vxe-ui-table-cell-dirty-width);border-style:solid;border-color:transparent var(--vxe-ui-table-cell-dirty-update-color) transparent transparent;position:absolute;transform:rotate(45deg)}.vxe-table--render-default.vxe-editable.cell--highlight .vxe-body--column.col--active{box-shadow:inset 0 0 0 2px var(--vxe-ui-font-primary-color)}.vxe-table--render-default.vxe-editable.cell--highlight .vxe-body--column.col--active.col--valid-error{box-shadow:inset 0 0 0 2px var(--vxe-ui-table-validate-error-color)}.vxe-table--render-default.vxe-editable.cell--highlight .vxe-body--column.col--active .vxe-cell .vxe-default-input,.vxe-table--render-default.vxe-editable.cell--highlight .vxe-body--column.col--active .vxe-cell .vxe-default-textarea{border:0;padding:0}.vxe-table--render-default.vxe-editable.cell--highlight .vxe-body--column.col--active .vxe-cell .vxe-input .vxe-input--inner{border:0;padding-left:0}.vxe-table--render-default.vxe-editable .vxe-body--column{padding:0}div.vxe-table--tooltip-wrapper.vxe-table--valid-error{color:var(--vxe-ui-table-validate-error-color);background-color:var(--vxe-ui-table-validate-error-theme-normal-background-color);padding:0}div.vxe-table--tooltip-wrapper.vxe-table--valid-error.old-cell-valid{color:#fff;background-color:#f56c6c;padding:8px 12px}.vxe-table--footer-wrapper{color:var(--vxe-ui-table-footer-font-color)}.vxe-table--footer-wrapper.body--wrapper{outline:0}.vxe-grid{flex-direction:column;display:flex;position:relative}.vxe-grid.is--loading:before{content:"";z-index:99;-webkit-user-select:none;user-select:none;background-color:var(--vxe-ui-loading-background-color);width:100%;height:100%;position:absolute;top:0;left:0}.vxe-grid.is--loading>.vxe-table .vxe-loading{background-color:#0000}.vxe-grid.is--maximize{background-color:var(--vxe-ui-layout-background-color);width:100%;height:100%;padding:.5em 1em;position:fixed;top:0;left:0}.vxe-grid .vxe-grid--bottom-wrapper,.vxe-grid .vxe-grid--form-wrapper,.vxe-grid .vxe-grid--top-wrapper{position:relative}.vxe-grid .vxe-grid--table-container{flex-direction:row;flex-grow:1;display:flex;overflow:hidden}.vxe-grid .vxe-grid--left-wrapper,.vxe-grid .vxe-grid--right-wrapper{outline:0;flex-shrink:0;overflow:auto}.vxe-grid .vxe-grid--table-wrapper{flex-grow:1;overflow:hidden}.vxe-grid--layout-body-wrapper{flex-direction:row;flex-grow:1;display:flex;overflow:auto}.vxe-grid--layout-body-content-wrapper{flex-direction:column;flex-grow:1;display:flex;overflow:auto}.vxe-grid--layout-aside-left-wrapper,.vxe-grid--layout-footer-wrapper,.vxe-grid--layout-header-wrapper{flex-shrink:0}.vxe-grid--layout-aside-left-wrapper{overflow:auto}.vxe-grid{font-size:var(--vxe-ui-font-size-default)}.vxe-grid.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-grid.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-grid.size--mini{font-size:var(--vxe-ui-font-size-mini)}.vxe-toolbar{color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family);background-color:var(--vxe-ui-layout-background-color);flex-direction:row;align-items:center;padding:.5em 0;display:flex;position:relative}.vxe-toolbar:after{content:"";clear:both;visibility:hidden;height:0;display:block;overflow:hidden}.vxe-toolbar.is--perfect{border:1px solid var(--vxe-ui-table-border-color);background-color:var(--vxe-ui-table-header-background-color);border-bottom-width:0}.vxe-toolbar.is--loading:before{content:"";z-index:999;-webkit-user-select:none;user-select:none;background-color:var(--vxe-ui-loading-background-color);width:100%;height:100%;position:absolute;top:0;left:0}.vxe-toolbar .vxe-buttons--wrapper{flex-grow:1}.vxe-toolbar .vxe-buttons--wrapper>.vxe-button+.vxe-button--item,.vxe-toolbar .vxe-buttons--wrapper>.vxe-button--item+.vxe-button,.vxe-toolbar .vxe-buttons--wrapper>.vxe-button--item+.vxe-button--item{margin-left:.8em}.vxe-toolbar .vxe-buttons--wrapper>.vxe-button--item{display:inline-block}.vxe-toolbar .vxe-tools--wrapper>.vxe-button+.vxe-tool--item,.vxe-toolbar .vxe-tools--wrapper>.vxe-tool--item+.vxe-button,.vxe-toolbar .vxe-tools--wrapper>.vxe-tool--item+.vxe-tool--item{margin-left:.8em}.vxe-toolbar .vxe-tools--wrapper>.vxe-tool--item{display:inline-block}.vxe-toolbar .vxe-tools--wrapper>.vxe-button{justify-content:center;align-items:center;display:flex}.vxe-toolbar .vxe-buttons--wrapper,.vxe-toolbar .vxe-tools--operate,.vxe-toolbar .vxe-tools--wrapper{align-items:center;display:flex}.vxe-toolbar .vxe-tools--operate{flex-shrink:0}.vxe-toolbar .vxe-custom--wrapper{position:relative}.vxe-toolbar .vxe-custom--wrapper.is--active>.vxe-button{background-color:var(--vxe-ui-toolbar-custom-active-background-color);border-radius:50%}.vxe-toolbar .vxe-button--item-wrapper,.vxe-toolbar .vxe-tool--item-wrapper{flex-grow:1}.vxe-toolbar .vxe-button--prefix-wrapper,.vxe-toolbar .vxe-button--suffix-wrapper,.vxe-toolbar .vxe-tool--prefix-wrapper,.vxe-toolbar .vxe-tool--suffix-wrapper{flex-shrink:0}.vxe-toolbar .vxe-button--item-wrapper,.vxe-toolbar .vxe-button--prefix-wrapper,.vxe-toolbar .vxe-button--suffix-wrapper,.vxe-toolbar .vxe-tool--item-wrapper,.vxe-toolbar .vxe-tool--prefix-wrapper,.vxe-toolbar .vxe-tool--suffix-wrapper{flex-wrap:wrap;align-items:center;display:flex}.vxe-toolbar{font-size:var(--vxe-ui-font-size-default);min-height:var(--vxe-ui-toolbar-height-default)}.vxe-toolbar.size--medium{font-size:var(--vxe-ui-font-size-medium);min-height:var(--vxe-ui-toolbar-height-medium)}.vxe-toolbar.size--small{font-size:var(--vxe-ui-font-size-small);min-height:var(--vxe-ui-toolbar-height-small)}.vxe-toolbar.size--mini{font-size:var(--vxe-ui-font-size-mini);min-height:var(--vxe-ui-toolbar-height-mini)}.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-synthesis:none;font-variant:normal;font-style:normal;font-weight:var(--fa-style,900);text-align:center;text-rendering:auto;width:var(--fa-width,1.25em);line-height:1}: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{vertical-align:.225em;font-size:.625em;line-height:.1em}.fa-xs{vertical-align:.125em;font-size:.75em;line-height:.08333em}.fa-sm{vertical-align:.05357em;font-size:.875em;line-height:.07143em}.fa-lg{vertical-align:-.075em;font-size:1.25em;line-height:.05em}.fa-xl{vertical-align:-.125em;font-size:1.5em;line-height:.04167em}.fa-2xl{vertical-align:-.1875em;font-size:2em;line-height:.03125em}.fa-width-auto{--fa-width:auto}.fa-fw,.fa-width-fixed{--fa-width:1.25em}.fa-canvas-square{margin-block-end:-.125em;padding-block:.125em}.fa-canvas-roomy{box-sizing:content-box;margin-block-end:-.25em;padding-block:.25em;padding-inline:.125em}.fa-ul{margin-inline-start:var(--fa-li-margin,2.5em);padding-inline-start:0;list-style-type:none}.fa-ul>li{position:relative}.fa-li{text-align:center;width:var(--fa-li-width,2em);line-height:inherit;position:absolute;inset-inline-start:calc(var(--fa-li-width,2em)*-1)}.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,ease-in-out)}.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,ease-in-out)}.fa-flip{animation-name:fa-flip;animation-duration:var(--fa-animation-duration,1.5s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-flip,.fa-flip-360{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-flip-360{animation-name:fa-flip-360;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-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,.75s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-spin{animation-name:fa-spin;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);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))}.fa-spin-snap{animation-name:fa-spin-snap;animation-duration:var(--fa-animation-duration,3s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-snap,.fa-spin-snap-4{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-spin-snap-4{animation-name:fa-spin-snap-4;animation-duration:var(--fa-animation-duration,2.4s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-snap-8{animation-name:fa-spin-snap-8;animation-duration:var(--fa-animation-duration,4s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-buzz,.fa-spin-snap-8{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-buzz{animation-name:fa-buzz;animation-duration:var(--fa-animation-duration,.6s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-wag{animation-name:fa-wag;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,.9s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-out);transform-origin:bottom}.fa-float{animation-name:fa-float;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,3s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out);will-change:transform}.fa-swing{animation-name:fa-swing;animation-duration:var(--fa-animation-duration,1.2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-out);transform-origin:top}.fa-jello,.fa-swing{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-jello{animation-name:fa-jello;animation-duration:var(--fa-animation-duration,.9s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-out)}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-buzz,.fa-fade,.fa-flip,.fa-flip-360,.fa-float,.fa-jello,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse,.fa-spin-snap,.fa-spin-snap-4,.fa-spin-snap-8,.fa-swing,.fa-wag{transition:none!important;animation:none!important}}@keyframes fa-beat{0%{transform:scale(1)}25%{transform:scale(calc(var(--fa-beat-scale,1.25)*1.25))}45%{transform:scale(calc(var(--fa-beat-scale,1.22)*1.22))}65%{transform:scale(calc(var(--fa-beat-scale,1.25)*1.25))}90%{transform:scale(1)}}@keyframes fa-bounce{0%{animation-timing-function:var(--fa-animation-timing);transform:scale(1)translateY(0)}14%{transform:scale(var(--fa-bounce-start-scale-x,1.06),var(--fa-bounce-start-scale-y,.94)) translateY(var(--fa-bounce-anticipation,3px));animation-timing-function:cubic-bezier(.33,0,.66,.33)}32%{transform:scale(var(--fa-bounce-jump-scale-x,.94),var(--fa-bounce-jump-scale-y,1.12)) translateY(calc(var(--fa-bounce-height,.5em)*-1));animation-timing-function:cubic-bezier(.33,.66,.66,1)}52%{transform:scale(1) translateY(calc(var(--fa-bounce-height,.5em)*-1*1.1));animation-timing-function:cubic-bezier(.5,0,1,.5)}70%{transform:scale(var(--fa-bounce-land-scale-x,1.06),var(--fa-bounce-land-scale-y,.92)) translateY(0);animation-timing-function:cubic-bezier(.33,.33,.66,1)}85%{transform:scale(.98,1.04) translateY(calc(-2px*var(--fa-bounce-rebound,1)));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:scale(1)translateY(0)}}@keyframes fa-fade{0%{opacity:1;animation-timing-function:cubic-bezier(.2,0,.4,1);transform:scale(1)}40%{opacity:var(--fa-fade-opacity,.4);animation-timing-function:cubic-bezier(.4,0,.6,1);transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes fa-beat-fade{0%{opacity:var(--fa-beat-fade-opacity,.4);animation-timing-function:cubic-bezier(.2,0,.4,1);transform:scale(1)}25%{opacity:calc(var(--fa-beat-fade-opacity,.4) + .4);transform:scale(var(--fa-beat-fade-scale,1.28));animation-timing-function:cubic-bezier(.4,0,.6,1)}45%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.25));animation-timing-function:cubic-bezier(.4,0,.2,1)}65%{opacity:calc(var(--fa-beat-fade-opacity,.4) + .4);transform:scale(var(--fa-beat-fade-scale,1.28));animation-timing-function:cubic-bezier(.4,0,.6,1)}to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}}@keyframes fa-flip{0%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),0deg);animation-timing-function:cubic-bezier(.2,0,.4,1)}8%{transform:perspective(2em) scale(var(--fa-flip-anticipation-scale,.95)) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),0deg);animation-timing-function:cubic-bezier(.33,0,.66,.33)}35%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),calc(var(--fa-flip-angle,-1turn)*.6));animation-timing-function:linear}65%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),calc(var(--fa-flip-angle,-1turn)*.5));animation-timing-function:cubic-bezier(.33,.66,.66,1)}92%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),calc(var(--fa-flip-angle,-1turn)*var(--fa-flip-overshoot,1.04)));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-1turn))}}@keyframes fa-flip-360{0%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),0deg);animation-timing-function:cubic-bezier(.2,0,.4,1)}8%{transform:perspective(2em) scale(var(--fa-flip-anticipation-scale,.95)) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),0deg);animation-timing-function:cubic-bezier(.33,0,.66,.33)}50%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),calc(var(--fa-flip-angle,-1turn)*.6));animation-timing-function:cubic-bezier(.33,.66,.66,1)}80%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),calc(var(--fa-flip-angle,-1turn)*var(--fa-flip-overshoot,1.04)));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-1turn))}}@keyframes fa-shake{0%{animation-timing-function:cubic-bezier(.2,0,.8,1);transform:rotate(0)}8%{animation-timing-function:cubic-bezier(.3,0,.7,1);transform:rotate(35deg)translate(1px)}20%{animation-timing-function:cubic-bezier(.3,0,.7,1);transform:rotate(-22deg)translate(-1px)}35%{animation-timing-function:cubic-bezier(.3,0,.7,1);transform:rotate(15deg)translate(1px)}50%{animation-timing-function:cubic-bezier(.4,0,.6,1);transform:rotate(-9deg)}65%{animation-timing-function:cubic-bezier(.4,0,.6,1);transform:rotate(5deg)}78%{animation-timing-function:cubic-bezier(.4,0,.6,1);transform:rotate(-3deg)}90%{animation-timing-function:cubic-bezier(.4,0,.2,1);transform:rotate(1deg)}to{transform:rotate(0)}}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes fa-spin-snap{0%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(0)}12%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(60deg)}16.67%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(60deg)}28.67%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(120deg)}33.33%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(120deg)}45.33%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(180deg)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(180deg)}62%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(240deg)}66.67%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(240deg)}78.67%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(300deg)}83.33%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(300deg)}95.33%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(1turn)}to{transform:rotate(1turn)}}@keyframes fa-spin-snap-4{0%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(0)}15%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(90deg)}25%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(90deg)}40%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(180deg)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(180deg)}65%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(270deg)}75%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(270deg)}90%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(1turn)}to{transform:rotate(1turn)}}@keyframes fa-spin-snap-8{0%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(0)}9%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(45deg)}12.5%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(45deg)}21.5%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(90deg)}25%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(90deg)}34%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(135deg)}37.5%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(135deg)}46.5%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(180deg)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(180deg)}59%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(225deg)}62.5%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(225deg)}71.5%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(270deg)}75%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(270deg)}84%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(315deg)}87.5%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(315deg)}96.5%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(1turn)}to{transform:rotate(1turn)}}@keyframes fa-buzz{0%{animation-timing-function:cubic-bezier(.1,0,.9,1);transform:translate(0)rotate(0)}5%{transform:translateX(var(--fa-buzz-distance,4px)) rotate(.5deg)}10%{transform:translateX(calc(var(--fa-buzz-distance,4px)*-1)) rotate(-.5deg)}15%{transform:translateX(var(--fa-buzz-distance,4px)) rotate(.3deg)}20%{transform:translateX(calc(var(--fa-buzz-distance,4px)*-1)) rotate(-.3deg)}25%{transform:translateX(calc(var(--fa-buzz-distance,4px)*.7)) rotate(.2deg)}30%{transform:translateX(calc(var(--fa-buzz-distance,4px)*-1*.7)) rotate(-.2deg)}35%{transform:translateX(calc(var(--fa-buzz-distance,4px)*.4)) rotate(.1deg)}40%{transform:translate(0)rotate(0)}to{transform:translate(0)rotate(0)}}@keyframes fa-wag{0%{animation-timing-function:cubic-bezier(.2,0,.6,1);transform:rotate(0)}12%{transform:rotate(var(--fa-wag-angle,12deg));animation-timing-function:cubic-bezier(.4,0,.2,1)}24%{animation-timing-function:cubic-bezier(.2,0,.6,1);transform:rotate(2deg)}36%{transform:rotate(calc(var(--fa-wag-angle,12deg)*.85));animation-timing-function:cubic-bezier(.4,0,.2,1)}48%{animation-timing-function:cubic-bezier(.2,0,.6,1);transform:rotate(1deg)}58%{transform:rotate(calc(var(--fa-wag-angle,12deg)*.6));animation-timing-function:cubic-bezier(.4,0,.2,1)}68%{transform:rotate(0)}to{transform:rotate(0)}}@keyframes fa-float{0%{transform:translateY(0) translateX(0) rotate(0deg) scale(var(--fa-float-squash-x,1.02),var(--fa-float-squash-y,.98));animation-timing-function:cubic-bezier(.33,0,.66,.33)}15%{transform:translateY(calc(var(--fa-float-height,6px)*-.4)) translateX(var(--fa-float-drift,1px)) rotate(var(--fa-float-tilt,1deg)) scale(1);animation-timing-function:cubic-bezier(.33,.66,.66,1)}35%{transform:translateY(calc(var(--fa-float-height,6px)*-1)) translateX(0) rotate(0deg) scale(var(--fa-float-stretch-x,.98),var(--fa-float-stretch-y,1.03));animation-timing-function:cubic-bezier(.5,0,.5,0)}50%{transform:translateY(calc(var(--fa-float-height,6px)*-.92)) translateX(calc(var(--fa-float-drift,1px)*-.5)) rotate(calc(var(--fa-float-tilt,1deg)*-.5)) scale(.995,1.01);animation-timing-function:cubic-bezier(.33,0,.66,.33)}70%{transform:translateY(calc(var(--fa-float-height,6px)*-.3)) translateX(calc(var(--fa-float-drift,1px)*-1)) rotate(calc(var(--fa-float-tilt,1deg)*-1)) scale(1);animation-timing-function:cubic-bezier(.33,.66,.66,1)}90%{transform:translateY(calc(var(--fa-float-height,6px)*.05)) translateX(0) rotate(0deg) scale(var(--fa-float-squash-x,1.02),var(--fa-float-squash-y,.98));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:translateY(0) translateX(0) rotate(0deg) scale(var(--fa-float-squash-x,1.02),var(--fa-float-squash-y,.98))}}@keyframes fa-swing{0%{animation-timing-function:cubic-bezier(.2,0,.8,1);transform:rotate(0)}8%{transform:rotate(var(--fa-swing-angle,22deg));animation-timing-function:cubic-bezier(.3,0,.7,1)}18%{transform:rotate(calc(var(--fa-swing-angle,22deg)*-1*.85));animation-timing-function:cubic-bezier(.3,0,.7,1)}28%{transform:rotate(calc(var(--fa-swing-angle,22deg)*.65));animation-timing-function:cubic-bezier(.35,0,.65,1)}38%{transform:rotate(calc(var(--fa-swing-angle,22deg)*-1*.45));animation-timing-function:cubic-bezier(.4,0,.6,1)}48%{transform:rotate(calc(var(--fa-swing-angle,22deg)*.25));animation-timing-function:cubic-bezier(.4,0,.6,1)}56%{transform:rotate(calc(var(--fa-swing-angle,22deg)*-1*.1));animation-timing-function:cubic-bezier(.4,0,.6,1)}64%{transform:rotate(0)}to{transform:rotate(0)}}@keyframes fa-jello{0%{animation-timing-function:cubic-bezier(.2,0,.8,1);transform:scale(1)}12%{transform:scale(var(--fa-jello-scale-x,1.15),calc(2 - var(--fa-jello-scale-x,1.15)));animation-timing-function:cubic-bezier(.3,0,.7,1)}24%{transform:scale(calc(2 - var(--fa-jello-scale-y,1.12)),var(--fa-jello-scale-y,1.12));animation-timing-function:cubic-bezier(.3,0,.7,1)}36%{transform:scale(calc(.5 + var(--fa-jello-scale-x,1.15)*.5),calc(1.5 - var(--fa-jello-scale-x,1.15)*.5));animation-timing-function:cubic-bezier(.4,0,.6,1)}48%{transform:scale(calc(1.3 - var(--fa-jello-scale-y,1.12)*.3),calc(.7 + var(--fa-jello-scale-y,1.12)*.3));animation-timing-function:cubic-bezier(.4,0,.6,1)}58%{animation-timing-function:cubic-bezier(.4,0,.2,1);transform:scale(1.02,.98)}68%{transform:scale(1)}to{transform:scale(1)}}.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{vertical-align:middle;width:2.5em;height:2em;line-height:2em;display:inline-block;position:relative}.fa-stack-1x,.fa-stack-2x{--fa-width:100%;text-align:center;width:var(--fa-width);z-index:var(--fa-stack-z-index,auto);position:absolute;inset:0}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}.fa-0{--fa:"0"}.fa-1{--fa:"1"}.fa-2{--fa:"2"}.fa-3{--fa:"3"}.fa-4{--fa:"4"}.fa-5{--fa:"5"}.fa-6{--fa:"6"}.fa-7{--fa:"7"}.fa-8{--fa:"8"}.fa-9{--fa:"9"}.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:""}.fa-faucet-drip{--fa:""}.fa-house-chimney-window{--fa:""}.fa-house-signal{--fa:""}.fa-temperature-arrow-down,.fa-temperature-down{--fa:""}.fa-temperature-arrow-up,.fa-temperature-up{--fa:""}.fa-trailer{--fa:""}.fa-bacteria{--fa:""}.fa-bacterium{--fa:""}.fa-box-tissue{--fa:""}.fa-hand-holding-medical{--fa:""}.fa-hand-sparkles{--fa:""}.fa-hands-bubbles,.fa-hands-wash{--fa:""}.fa-handshake-alt-slash,.fa-handshake-simple-slash,.fa-handshake-slash{--fa:""}.fa-head-side-cough{--fa:""}.fa-head-side-cough-slash{--fa:""}.fa-head-side-mask{--fa:""}.fa-head-side-virus{--fa:""}.fa-house-chimney-user{--fa:""}.fa-house-laptop,.fa-laptop-house{--fa:""}.fa-lungs-virus{--fa:""}.fa-people-arrows,.fa-people-arrows-left-right{--fa:""}.fa-plane-slash{--fa:""}.fa-pump-medical{--fa:""}.fa-pump-soap{--fa:""}.fa-shield-virus{--fa:""}.fa-sink{--fa:""}.fa-soap{--fa:""}.fa-stopwatch-20{--fa:""}.fa-shop-slash,.fa-store-alt-slash{--fa:""}.fa-store-slash{--fa:""}.fa-toilet-paper-slash{--fa:""}.fa-users-slash{--fa:""}.fa-virus{--fa:""}.fa-virus-slash{--fa:""}.fa-viruses{--fa:""}.fa-vest{--fa:""}.fa-vest-patches{--fa:""}.fa-arrow-trend-down{--fa:""}.fa-arrow-trend-up{--fa:""}.fa-arrow-up-from-bracket{--fa:""}.fa-austral-sign{--fa:""}.fa-baht-sign{--fa:""}.fa-bitcoin-sign{--fa:""}.fa-bolt-lightning{--fa:""}.fa-book-bookmark{--fa:""}.fa-camera-rotate{--fa:""}.fa-cedi-sign{--fa:""}.fa-chart-column{--fa:""}.fa-chart-gantt{--fa:""}.fa-clapperboard{--fa:""}.fa-closed-captioning-slash{--fa:""}.fa-clover{--fa:""}.fa-code-compare{--fa:""}.fa-code-fork{--fa:""}.fa-code-pull-request{--fa:""}.fa-colon-sign{--fa:""}.fa-cruzeiro-sign{--fa:""}.fa-display{--fa:""}.fa-dong-sign{--fa:""}.fa-elevator{--fa:""}.fa-filter-circle-xmark{--fa:""}.fa-florin-sign{--fa:""}.fa-folder-closed{--fa:""}.fa-franc-sign{--fa:""}.fa-guarani-sign{--fa:""}.fa-gun{--fa:""}.fa-hands-clapping{--fa:""}.fa-home-user,.fa-house-user{--fa:""}.fa-indian-rupee,.fa-indian-rupee-sign,.fa-inr{--fa:""}.fa-kip-sign{--fa:""}.fa-lari-sign{--fa:""}.fa-litecoin-sign{--fa:""}.fa-manat-sign{--fa:""}.fa-mask-face{--fa:""}.fa-mill-sign{--fa:""}.fa-money-bills{--fa:""}.fa-naira-sign{--fa:""}.fa-notdef{--fa:""}.fa-panorama{--fa:""}.fa-peseta-sign{--fa:""}.fa-peso-sign{--fa:""}.fa-plane-up{--fa:""}.fa-rupiah-sign{--fa:""}.fa-stairs{--fa:""}.fa-timeline{--fa:""}.fa-truck-front{--fa:""}.fa-try,.fa-turkish-lira,.fa-turkish-lira-sign{--fa:""}.fa-vault{--fa:""}.fa-magic-wand-sparkles,.fa-wand-magic-sparkles{--fa:""}.fa-wheat-alt,.fa-wheat-awn{--fa:""}.fa-wheelchair-alt,.fa-wheelchair-move{--fa:""}.fa-bangladeshi-taka-sign{--fa:""}.fa-bowl-rice{--fa:""}.fa-person-pregnant{--fa:""}.fa-home-lg,.fa-house-chimney{--fa:""}.fa-house-crack{--fa:""}.fa-house-medical{--fa:""}.fa-cent-sign{--fa:""}.fa-plus-minus{--fa:""}.fa-sailboat{--fa:""}.fa-section{--fa:""}.fa-shrimp{--fa:""}.fa-brazilian-real-sign{--fa:""}.fa-chart-simple{--fa:""}.fa-diagram-next{--fa:""}.fa-diagram-predecessor{--fa:""}.fa-diagram-successor{--fa:""}.fa-earth-oceania,.fa-globe-oceania{--fa:""}.fa-bug-slash{--fa:""}.fa-file-circle-plus{--fa:""}.fa-shop-lock{--fa:""}.fa-virus-covid{--fa:""}.fa-virus-covid-slash{--fa:""}.fa-anchor-circle-check{--fa:""}.fa-anchor-circle-exclamation{--fa:""}.fa-anchor-circle-xmark{--fa:""}.fa-anchor-lock{--fa:""}.fa-arrow-down-up-across-line{--fa:""}.fa-arrow-down-up-lock{--fa:""}.fa-arrow-right-to-city{--fa:""}.fa-arrow-up-from-ground-water{--fa:""}.fa-arrow-up-from-water-pump{--fa:""}.fa-arrow-up-right-dots{--fa:""}.fa-arrows-down-to-line{--fa:""}.fa-arrows-down-to-people{--fa:""}.fa-arrows-left-right-to-line{--fa:""}.fa-arrows-spin{--fa:""}.fa-arrows-split-up-and-left{--fa:""}.fa-arrows-to-circle{--fa:""}.fa-arrows-to-dot{--fa:""}.fa-arrows-to-eye{--fa:""}.fa-arrows-turn-right{--fa:""}.fa-arrows-turn-to-dots{--fa:""}.fa-arrows-up-to-line{--fa:""}.fa-bore-hole{--fa:""}.fa-bottle-droplet{--fa:""}.fa-bottle-water{--fa:""}.fa-bowl-food{--fa:""}.fa-boxes-packing{--fa:""}.fa-bridge{--fa:""}.fa-bridge-circle-check{--fa:""}.fa-bridge-circle-exclamation{--fa:""}.fa-bridge-circle-xmark{--fa:""}.fa-bridge-lock{--fa:""}.fa-bridge-water{--fa:""}.fa-bucket{--fa:""}.fa-bugs{--fa:""}.fa-building-circle-arrow-right{--fa:""}.fa-building-circle-check{--fa:""}.fa-building-circle-exclamation{--fa:""}.fa-building-circle-xmark{--fa:""}.fa-building-flag{--fa:""}.fa-building-lock{--fa:""}.fa-building-ngo{--fa:""}.fa-building-shield{--fa:""}.fa-building-un{--fa:""}.fa-building-user{--fa:""}.fa-building-wheat{--fa:""}.fa-burst{--fa:""}.fa-car-on{--fa:""}.fa-car-tunnel{--fa:""}.fa-child-combatant,.fa-child-rifle{--fa:""}.fa-children{--fa:""}.fa-circle-nodes{--fa:""}.fa-clipboard-question{--fa:""}.fa-cloud-showers-water{--fa:""}.fa-computer{--fa:""}.fa-cubes-stacked{--fa:""}.fa-envelope-circle-check{--fa:""}.fa-explosion{--fa:""}.fa-ferry{--fa:""}.fa-file-circle-exclamation{--fa:""}.fa-file-circle-minus{--fa:""}.fa-file-circle-question{--fa:""}.fa-file-shield{--fa:""}.fa-fire-burner{--fa:""}.fa-fish-fins{--fa:""}.fa-flask-vial{--fa:""}.fa-glass-water{--fa:""}.fa-glass-water-droplet{--fa:""}.fa-group-arrows-rotate{--fa:""}.fa-hand-holding-hand{--fa:""}.fa-handcuffs{--fa:""}.fa-hands-bound{--fa:""}.fa-hands-holding-child{--fa:""}.fa-hands-holding-circle{--fa:""}.fa-heart-circle-bolt{--fa:""}.fa-heart-circle-check{--fa:""}.fa-heart-circle-exclamation{--fa:""}.fa-heart-circle-minus{--fa:""}.fa-heart-circle-plus{--fa:""}.fa-heart-circle-xmark{--fa:""}.fa-helicopter-symbol{--fa:""}.fa-helmet-un{--fa:""}.fa-hill-avalanche{--fa:""}.fa-hill-rockslide{--fa:""}.fa-house-circle-check{--fa:""}.fa-house-circle-exclamation{--fa:""}.fa-house-circle-xmark{--fa:""}.fa-house-fire{--fa:""}.fa-house-flag{--fa:""}.fa-house-flood-water{--fa:""}.fa-house-flood-water-circle-arrow-right{--fa:""}.fa-house-lock{--fa:""}.fa-house-medical-circle-check{--fa:""}.fa-house-medical-circle-exclamation{--fa:""}.fa-house-medical-circle-xmark{--fa:""}.fa-house-medical-flag{--fa:""}.fa-house-tsunami{--fa:""}.fa-jar{--fa:""}.fa-jar-wheat{--fa:""}.fa-jet-fighter-up{--fa:""}.fa-jug-detergent{--fa:""}.fa-kitchen-set{--fa:""}.fa-land-mine-on{--fa:""}.fa-landmark-flag{--fa:""}.fa-laptop-file{--fa:""}.fa-lines-leaning{--fa:""}.fa-location-pin-lock{--fa:""}.fa-locust{--fa:""}.fa-magnifying-glass-arrow-right{--fa:""}.fa-magnifying-glass-chart{--fa:""}.fa-mars-and-venus-burst{--fa:""}.fa-mask-ventilator{--fa:""}.fa-mattress-pillow{--fa:""}.fa-mobile-retro{--fa:""}.fa-money-bill-transfer{--fa:""}.fa-money-bill-trend-up{--fa:""}.fa-money-bill-wheat{--fa:""}.fa-mosquito{--fa:""}.fa-mosquito-net{--fa:""}.fa-mound{--fa:""}.fa-mountain-city{--fa:""}.fa-mountain-sun{--fa:""}.fa-oil-well{--fa:""}.fa-people-group{--fa:""}.fa-people-line{--fa:""}.fa-people-pulling{--fa:""}.fa-people-robbery{--fa:""}.fa-people-roof{--fa:""}.fa-person-arrow-down-to-line{--fa:""}.fa-person-arrow-up-from-line{--fa:""}.fa-person-breastfeeding{--fa:""}.fa-person-burst{--fa:""}.fa-person-cane{--fa:""}.fa-person-chalkboard{--fa:""}.fa-person-circle-check{--fa:""}.fa-person-circle-exclamation{--fa:""}.fa-person-circle-minus{--fa:""}.fa-person-circle-plus{--fa:""}.fa-person-circle-question{--fa:""}.fa-person-circle-xmark{--fa:""}.fa-person-dress-burst{--fa:""}.fa-person-drowning{--fa:""}.fa-person-falling{--fa:""}.fa-person-falling-burst{--fa:""}.fa-person-half-dress{--fa:""}.fa-person-harassing{--fa:""}.fa-person-military-pointing{--fa:""}.fa-person-military-rifle{--fa:""}.fa-person-military-to-person{--fa:""}.fa-person-rays{--fa:""}.fa-person-rifle{--fa:""}.fa-person-shelter{--fa:""}.fa-person-walking-arrow-loop-left{--fa:""}.fa-person-walking-arrow-right{--fa:""}.fa-person-walking-dashed-line-arrow-right{--fa:""}.fa-person-walking-luggage{--fa:""}.fa-plane-circle-check{--fa:""}.fa-plane-circle-exclamation{--fa:""}.fa-plane-circle-xmark{--fa:""}.fa-plane-lock{--fa:""}.fa-plate-wheat{--fa:""}.fa-plug-circle-bolt{--fa:""}.fa-plug-circle-check{--fa:""}.fa-plug-circle-exclamation{--fa:""}.fa-plug-circle-minus{--fa:""}.fa-plug-circle-plus{--fa:""}.fa-plug-circle-xmark{--fa:""}.fa-ranking-star{--fa:""}.fa-road-barrier{--fa:""}.fa-road-bridge{--fa:""}.fa-road-circle-check{--fa:""}.fa-road-circle-exclamation{--fa:""}.fa-road-circle-xmark{--fa:""}.fa-road-lock{--fa:""}.fa-road-spikes{--fa:""}.fa-rug{--fa:""}.fa-sack-xmark{--fa:""}.fa-school-circle-check{--fa:""}.fa-school-circle-exclamation{--fa:""}.fa-school-circle-xmark{--fa:""}.fa-school-flag{--fa:""}.fa-school-lock{--fa:""}.fa-sheet-plastic{--fa:""}.fa-shield-cat{--fa:""}.fa-shield-dog{--fa:""}.fa-shield-heart{--fa:""}.fa-square-nfi{--fa:""}.fa-square-person-confined{--fa:""}.fa-square-virus{--fa:""}.fa-rod-asclepius,.fa-rod-snake,.fa-staff-aesculapius,.fa-staff-snake{--fa:""}.fa-sun-plant-wilt{--fa:""}.fa-tarp{--fa:""}.fa-tarp-droplet{--fa:""}.fa-tent{--fa:""}.fa-tent-arrow-down-to-line{--fa:""}.fa-tent-arrow-left-right{--fa:""}.fa-tent-arrow-turn-left{--fa:""}.fa-tent-arrows-down{--fa:""}.fa-tents{--fa:""}.fa-toilet-portable{--fa:""}.fa-toilets-portable{--fa:""}.fa-tower-cell{--fa:""}.fa-tower-observation{--fa:""}.fa-tree-city{--fa:""}.fa-trowel{--fa:""}.fa-trowel-bricks{--fa:""}.fa-truck-arrow-right{--fa:""}.fa-truck-droplet{--fa:""}.fa-truck-field{--fa:""}.fa-truck-field-un{--fa:""}.fa-truck-plane{--fa:""}.fa-users-between-lines{--fa:""}.fa-users-line{--fa:""}.fa-users-rays{--fa:""}.fa-users-rectangle{--fa:""}.fa-users-viewfinder{--fa:""}.fa-vial-circle-check{--fa:""}.fa-vial-virus{--fa:""}.fa-wheat-awn-circle-exclamation{--fa:""}.fa-worm{--fa:""}.fa-xmarks-lines{--fa:""}.fa-child-dress{--fa:""}.fa-child-reaching{--fa:""}.fa-file-circle-check{--fa:""}.fa-file-circle-xmark{--fa:""}.fa-person-through-window{--fa:""}.fa-plant-wilt{--fa:""}.fa-stapler{--fa:""}.fa-train-tram{--fa:""}.fa-table-cells-column-lock{--fa:""}.fa-table-cells-row-lock{--fa:""}.fa-thumb-tack-slash,.fa-thumbtack-slash{--fa:""}.fa-table-cells-row-unlock{--fa:""}.fa-chart-diagram{--fa:""}.fa-comment-nodes{--fa:""}.fa-file-fragment{--fa:""}.fa-file-half-dashed{--fa:""}.fa-hexagon-nodes{--fa:""}.fa-hexagon-nodes-bolt{--fa:""}.fa-square-binary{--fa:""}.fa-pentagon{--fa:""}.fa-non-binary{--fa:""}.fa-spiral{--fa:""}.fa-picture-in-picture{--fa:""}.fa-mobile-vibrate{--fa:""}.fa-single-quote-left{--fa:""}.fa-single-quote-right{--fa:""}.fa-bus-side{--fa:""}.fa-heptagon,.fa-septagon{--fa:""}.fa-aquarius{--fa:""}.fa-aries{--fa:""}.fa-cancer{--fa:""}.fa-capricorn{--fa:""}.fa-gemini{--fa:""}.fa-leo{--fa:""}.fa-libra{--fa:""}.fa-pisces{--fa:""}.fa-sagittarius{--fa:""}.fa-scorpio{--fa:""}.fa-taurus{--fa:""}.fa-virgo{--fa:""}.fa-glass-martini,.fa-martini-glass-empty{--fa:""}.fa-music{--fa:""}.fa-magnifying-glass,.fa-search{--fa:""}.fa-heart{--fa:""}.fa-star{--fa:""}.fa-user,.fa-user-alt,.fa-user-large{--fa:""}.fa-film,.fa-film-alt,.fa-film-simple{--fa:""}.fa-table-cells-large,.fa-th-large{--fa:""}.fa-table-cells,.fa-th{--fa:""}.fa-table-list,.fa-th-list{--fa:""}.fa-check{--fa:""}.fa-close,.fa-multiply,.fa-remove,.fa-times,.fa-xmark{--fa:""}.fa-magnifying-glass-plus,.fa-search-plus{--fa:""}.fa-magnifying-glass-minus,.fa-search-minus{--fa:""}.fa-power-off{--fa:""}.fa-signal,.fa-signal-5,.fa-signal-perfect{--fa:""}.fa-cog,.fa-gear{--fa:""}.fa-home,.fa-home-alt,.fa-home-lg-alt,.fa-house{--fa:""}.fa-clock,.fa-clock-four{--fa:""}.fa-road{--fa:""}.fa-download{--fa:""}.fa-inbox{--fa:""}.fa-arrow-right-rotate,.fa-arrow-rotate-forward,.fa-arrow-rotate-right,.fa-redo{--fa:""}.fa-arrows-rotate,.fa-refresh,.fa-sync{--fa:""}.fa-list-alt,.fa-rectangle-list{--fa:""}.fa-lock{--fa:""}.fa-flag{--fa:""}.fa-headphones,.fa-headphones-alt,.fa-headphones-simple{--fa:""}.fa-volume-off{--fa:""}.fa-volume-down,.fa-volume-low{--fa:""}.fa-volume-high,.fa-volume-up{--fa:""}.fa-qrcode{--fa:""}.fa-barcode{--fa:""}.fa-tag{--fa:""}.fa-tags{--fa:""}.fa-book{--fa:""}.fa-bookmark{--fa:""}.fa-print{--fa:""}.fa-camera,.fa-camera-alt{--fa:""}.fa-font{--fa:""}.fa-bold{--fa:""}.fa-italic{--fa:""}.fa-text-height{--fa:""}.fa-text-width{--fa:""}.fa-align-left{--fa:""}.fa-align-center{--fa:""}.fa-align-right{--fa:""}.fa-align-justify{--fa:""}.fa-list,.fa-list-squares{--fa:""}.fa-dedent,.fa-outdent{--fa:""}.fa-indent{--fa:""}.fa-video,.fa-video-camera{--fa:""}.fa-image{--fa:""}.fa-location-pin,.fa-map-marker{--fa:""}.fa-adjust,.fa-circle-half-stroke{--fa:""}.fa-droplet,.fa-tint{--fa:""}.fa-edit,.fa-pen-to-square{--fa:""}.fa-arrows,.fa-arrows-up-down-left-right{--fa:""}.fa-backward-step,.fa-step-backward{--fa:""}.fa-backward-fast,.fa-fast-backward{--fa:""}.fa-backward{--fa:""}.fa-play{--fa:""}.fa-pause{--fa:""}.fa-stop{--fa:""}.fa-forward{--fa:""}.fa-fast-forward,.fa-forward-fast{--fa:""}.fa-forward-step,.fa-step-forward{--fa:""}.fa-eject{--fa:""}.fa-chevron-left{--fa:""}.fa-chevron-right{--fa:""}.fa-circle-plus,.fa-plus-circle{--fa:""}.fa-circle-minus,.fa-minus-circle{--fa:""}.fa-circle-xmark,.fa-times-circle,.fa-xmark-circle{--fa:""}.fa-check-circle,.fa-circle-check{--fa:""}.fa-circle-question,.fa-question-circle{--fa:""}.fa-circle-info,.fa-info-circle{--fa:""}.fa-crosshairs{--fa:""}.fa-ban,.fa-cancel{--fa:""}.fa-arrow-left{--fa:""}.fa-arrow-right{--fa:""}.fa-arrow-up{--fa:""}.fa-arrow-down{--fa:""}.fa-mail-forward,.fa-share{--fa:""}.fa-expand{--fa:""}.fa-compress{--fa:""}.fa-minus,.fa-subtract{--fa:""}.fa-circle-exclamation,.fa-exclamation-circle{--fa:""}.fa-gift{--fa:""}.fa-leaf{--fa:""}.fa-fire{--fa:""}.fa-eye{--fa:""}.fa-eye-slash{--fa:""}.fa-exclamation-triangle,.fa-triangle-exclamation,.fa-warning{--fa:""}.fa-plane{--fa:""}.fa-calendar-alt,.fa-calendar-days{--fa:""}.fa-random,.fa-shuffle{--fa:""}.fa-comment{--fa:""}.fa-magnet{--fa:""}.fa-chevron-up{--fa:""}.fa-chevron-down{--fa:""}.fa-retweet{--fa:""}.fa-cart-shopping,.fa-shopping-cart{--fa:""}.fa-folder,.fa-folder-blank{--fa:""}.fa-folder-open{--fa:""}.fa-arrows-up-down,.fa-arrows-v{--fa:""}.fa-arrows-h,.fa-arrows-left-right{--fa:""}.fa-bar-chart,.fa-chart-bar{--fa:""}.fa-camera-retro{--fa:""}.fa-key{--fa:""}.fa-cogs,.fa-gears{--fa:""}.fa-comments{--fa:""}.fa-star-half{--fa:""}.fa-arrow-right-from-bracket,.fa-sign-out{--fa:""}.fa-thumb-tack,.fa-thumbtack{--fa:""}.fa-arrow-up-right-from-square,.fa-external-link{--fa:""}.fa-arrow-right-to-bracket,.fa-sign-in{--fa:""}.fa-trophy{--fa:""}.fa-upload{--fa:""}.fa-lemon{--fa:""}.fa-phone{--fa:""}.fa-phone-square,.fa-square-phone{--fa:""}.fa-unlock{--fa:""}.fa-credit-card,.fa-credit-card-alt{--fa:""}.fa-feed,.fa-rss{--fa:""}.fa-hard-drive,.fa-hdd{--fa:""}.fa-bullhorn{--fa:""}.fa-certificate{--fa:""}.fa-hand-point-right{--fa:""}.fa-hand-point-left{--fa:""}.fa-hand-point-up{--fa:""}.fa-hand-point-down{--fa:""}.fa-arrow-circle-left,.fa-circle-arrow-left{--fa:""}.fa-arrow-circle-right,.fa-circle-arrow-right{--fa:""}.fa-arrow-circle-up,.fa-circle-arrow-up{--fa:""}.fa-arrow-circle-down,.fa-circle-arrow-down{--fa:""}.fa-globe{--fa:""}.fa-wrench{--fa:""}.fa-list-check,.fa-tasks{--fa:""}.fa-filter{--fa:""}.fa-briefcase{--fa:""}.fa-arrows-alt,.fa-up-down-left-right{--fa:""}.fa-users{--fa:""}.fa-chain,.fa-link{--fa:""}.fa-cloud{--fa:""}.fa-flask{--fa:""}.fa-cut,.fa-scissors{--fa:""}.fa-copy{--fa:""}.fa-paperclip{--fa:""}.fa-floppy-disk,.fa-save{--fa:""}.fa-square{--fa:""}.fa-bars,.fa-navicon{--fa:""}.fa-list-dots,.fa-list-ul{--fa:""}.fa-list-1-2,.fa-list-numeric,.fa-list-ol{--fa:""}.fa-strikethrough{--fa:""}.fa-underline{--fa:""}.fa-table{--fa:""}.fa-magic,.fa-wand-magic{--fa:""}.fa-truck{--fa:""}.fa-money-bill{--fa:""}.fa-caret-down{--fa:""}.fa-caret-up{--fa:""}.fa-caret-left{--fa:""}.fa-caret-right{--fa:""}.fa-columns,.fa-table-columns{--fa:""}.fa-sort,.fa-unsorted{--fa:""}.fa-sort-desc,.fa-sort-down{--fa:""}.fa-sort-asc,.fa-sort-up{--fa:""}.fa-envelope{--fa:""}.fa-arrow-left-rotate,.fa-arrow-rotate-back,.fa-arrow-rotate-backward,.fa-arrow-rotate-left,.fa-undo{--fa:""}.fa-gavel,.fa-legal{--fa:""}.fa-bolt,.fa-zap{--fa:""}.fa-sitemap{--fa:""}.fa-umbrella{--fa:""}.fa-file-clipboard,.fa-paste{--fa:""}.fa-lightbulb{--fa:""}.fa-arrow-right-arrow-left,.fa-exchange{--fa:""}.fa-cloud-arrow-down,.fa-cloud-download,.fa-cloud-download-alt{--fa:""}.fa-cloud-arrow-up,.fa-cloud-upload,.fa-cloud-upload-alt{--fa:""}.fa-user-doctor,.fa-user-md{--fa:""}.fa-stethoscope{--fa:""}.fa-suitcase{--fa:""}.fa-bell{--fa:""}.fa-coffee,.fa-mug-saucer{--fa:""}.fa-hospital,.fa-hospital-alt,.fa-hospital-wide{--fa:""}.fa-ambulance,.fa-truck-medical{--fa:""}.fa-medkit,.fa-suitcase-medical{--fa:""}.fa-fighter-jet,.fa-jet-fighter{--fa:""}.fa-beer,.fa-beer-mug-empty{--fa:""}.fa-h-square,.fa-square-h{--fa:""}.fa-plus-square,.fa-square-plus{--fa:""}.fa-angle-double-left,.fa-angles-left{--fa:""}.fa-angle-double-right,.fa-angles-right{--fa:""}.fa-angle-double-up,.fa-angles-up{--fa:""}.fa-angle-double-down,.fa-angles-down{--fa:""}.fa-angle-left{--fa:""}.fa-angle-right{--fa:""}.fa-angle-up{--fa:""}.fa-angle-down{--fa:""}.fa-laptop{--fa:""}.fa-tablet-button{--fa:""}.fa-mobile-button{--fa:""}.fa-quote-left,.fa-quote-left-alt{--fa:""}.fa-quote-right,.fa-quote-right-alt{--fa:""}.fa-spinner{--fa:""}.fa-circle{--fa:""}.fa-face-smile,.fa-smile{--fa:""}.fa-face-frown,.fa-frown{--fa:""}.fa-face-meh,.fa-meh{--fa:""}.fa-gamepad{--fa:""}.fa-keyboard{--fa:""}.fa-flag-checkered{--fa:""}.fa-terminal{--fa:""}.fa-code{--fa:""}.fa-mail-reply-all,.fa-reply-all{--fa:""}.fa-location-arrow{--fa:""}.fa-crop{--fa:""}.fa-code-branch{--fa:""}.fa-chain-broken,.fa-chain-slash,.fa-link-slash,.fa-unlink{--fa:""}.fa-info{--fa:""}.fa-superscript{--fa:""}.fa-subscript{--fa:""}.fa-eraser{--fa:""}.fa-puzzle-piece{--fa:""}.fa-microphone{--fa:""}.fa-microphone-slash{--fa:""}.fa-shield,.fa-shield-blank{--fa:""}.fa-calendar{--fa:""}.fa-fire-extinguisher{--fa:""}.fa-rocket{--fa:""}.fa-chevron-circle-left,.fa-circle-chevron-left{--fa:""}.fa-chevron-circle-right,.fa-circle-chevron-right{--fa:""}.fa-chevron-circle-up,.fa-circle-chevron-up{--fa:""}.fa-chevron-circle-down,.fa-circle-chevron-down{--fa:""}.fa-anchor{--fa:""}.fa-unlock-alt,.fa-unlock-keyhole{--fa:""}.fa-bullseye{--fa:""}.fa-ellipsis,.fa-ellipsis-h{--fa:""}.fa-ellipsis-v,.fa-ellipsis-vertical{--fa:""}.fa-rss-square,.fa-square-rss{--fa:""}.fa-circle-play,.fa-play-circle{--fa:""}.fa-ticket{--fa:""}.fa-minus-square,.fa-square-minus{--fa:""}.fa-arrow-turn-up,.fa-level-up{--fa:""}.fa-arrow-turn-down,.fa-level-down{--fa:""}.fa-check-square,.fa-square-check{--fa:""}.fa-pen-square,.fa-pencil-square,.fa-square-pen{--fa:""}.fa-external-link-square,.fa-square-arrow-up-right{--fa:""}.fa-share-from-square,.fa-share-square{--fa:""}.fa-compass{--fa:""}.fa-caret-square-down,.fa-square-caret-down{--fa:""}.fa-caret-square-up,.fa-square-caret-up{--fa:""}.fa-caret-square-right,.fa-square-caret-right{--fa:""}.fa-eur,.fa-euro,.fa-euro-sign{--fa:""}.fa-gbp,.fa-pound-sign,.fa-sterling-sign{--fa:""}.fa-rupee,.fa-rupee-sign{--fa:""}.fa-cny,.fa-jpy,.fa-rmb,.fa-yen,.fa-yen-sign{--fa:""}.fa-rouble,.fa-rub,.fa-ruble,.fa-ruble-sign{--fa:""}.fa-krw,.fa-won,.fa-won-sign{--fa:""}.fa-file{--fa:""}.fa-file-alt,.fa-file-lines,.fa-file-text{--fa:""}.fa-arrow-down-a-z,.fa-sort-alpha-asc,.fa-sort-alpha-down{--fa:""}.fa-arrow-up-a-z,.fa-sort-alpha-up{--fa:""}.fa-arrow-down-wide-short,.fa-sort-amount-asc,.fa-sort-amount-down{--fa:""}.fa-arrow-up-wide-short,.fa-sort-amount-up{--fa:""}.fa-arrow-down-1-9,.fa-sort-numeric-asc,.fa-sort-numeric-down{--fa:""}.fa-arrow-up-1-9,.fa-sort-numeric-up{--fa:""}.fa-thumbs-up{--fa:""}.fa-thumbs-down{--fa:""}.fa-arrow-down-long,.fa-long-arrow-down{--fa:""}.fa-arrow-up-long,.fa-long-arrow-up{--fa:""}.fa-arrow-left-long,.fa-long-arrow-left{--fa:""}.fa-arrow-right-long,.fa-long-arrow-right{--fa:""}.fa-female,.fa-person-dress{--fa:""}.fa-male,.fa-person{--fa:""}.fa-sun{--fa:""}.fa-moon{--fa:""}.fa-archive,.fa-box-archive{--fa:""}.fa-bug{--fa:""}.fa-caret-square-left,.fa-square-caret-left{--fa:""}.fa-circle-dot,.fa-dot-circle{--fa:""}.fa-wheelchair{--fa:""}.fa-lira-sign{--fa:""}.fa-shuttle-space,.fa-space-shuttle{--fa:""}.fa-envelope-square,.fa-square-envelope{--fa:""}.fa-bank,.fa-building-columns,.fa-institution,.fa-museum,.fa-university{--fa:""}.fa-graduation-cap,.fa-mortar-board{--fa:""}.fa-language{--fa:""}.fa-fax{--fa:""}.fa-building{--fa:""}.fa-child{--fa:""}.fa-paw{--fa:""}.fa-cube{--fa:""}.fa-cubes{--fa:""}.fa-recycle{--fa:""}.fa-automobile,.fa-car{--fa:""}.fa-cab,.fa-taxi{--fa:""}.fa-tree{--fa:""}.fa-database{--fa:""}.fa-file-pdf{--fa:""}.fa-file-word{--fa:""}.fa-file-excel{--fa:""}.fa-file-powerpoint{--fa:""}.fa-file-image{--fa:""}.fa-file-archive,.fa-file-zipper{--fa:""}.fa-file-audio{--fa:""}.fa-file-video{--fa:""}.fa-file-code{--fa:""}.fa-life-ring{--fa:""}.fa-circle-notch{--fa:""}.fa-paper-plane{--fa:""}.fa-clock-rotate-left,.fa-history{--fa:""}.fa-header,.fa-heading{--fa:""}.fa-paragraph{--fa:""}.fa-sliders,.fa-sliders-h{--fa:""}.fa-share-alt,.fa-share-nodes{--fa:""}.fa-share-alt-square,.fa-square-share-nodes{--fa:""}.fa-bomb{--fa:""}.fa-futbol,.fa-futbol-ball,.fa-soccer-ball{--fa:""}.fa-teletype,.fa-tty{--fa:""}.fa-binoculars{--fa:""}.fa-plug{--fa:""}.fa-newspaper{--fa:""}.fa-wifi,.fa-wifi-3,.fa-wifi-strong{--fa:""}.fa-calculator{--fa:""}.fa-bell-slash{--fa:""}.fa-trash{--fa:""}.fa-copyright{--fa:""}.fa-eye-dropper,.fa-eye-dropper-empty,.fa-eyedropper{--fa:""}.fa-paint-brush,.fa-paintbrush{--fa:""}.fa-birthday-cake,.fa-cake,.fa-cake-candles{--fa:""}.fa-area-chart,.fa-chart-area{--fa:""}.fa-chart-pie,.fa-pie-chart{--fa:""}.fa-chart-line,.fa-line-chart{--fa:""}.fa-toggle-off{--fa:""}.fa-toggle-on{--fa:""}.fa-bicycle{--fa:""}.fa-bus{--fa:""}.fa-closed-captioning{--fa:""}.fa-ils,.fa-shekel,.fa-shekel-sign,.fa-sheqel,.fa-sheqel-sign{--fa:""}.fa-cart-plus{--fa:""}.fa-cart-arrow-down{--fa:""}.fa-diamond{--fa:""}.fa-ship{--fa:""}.fa-user-secret{--fa:""}.fa-motorcycle{--fa:""}.fa-street-view{--fa:""}.fa-heart-pulse,.fa-heartbeat{--fa:""}.fa-venus{--fa:""}.fa-mars{--fa:""}.fa-mercury{--fa:""}.fa-mars-and-venus{--fa:""}.fa-transgender,.fa-transgender-alt{--fa:""}.fa-venus-double{--fa:""}.fa-mars-double{--fa:""}.fa-venus-mars{--fa:""}.fa-mars-stroke{--fa:""}.fa-mars-stroke-up,.fa-mars-stroke-v{--fa:""}.fa-mars-stroke-h,.fa-mars-stroke-right{--fa:""}.fa-neuter{--fa:""}.fa-genderless{--fa:""}.fa-server{--fa:""}.fa-user-plus{--fa:""}.fa-user-times,.fa-user-xmark{--fa:""}.fa-bed{--fa:""}.fa-train{--fa:""}.fa-subway,.fa-train-subway{--fa:""}.fa-battery,.fa-battery-5,.fa-battery-full{--fa:""}.fa-battery-4,.fa-battery-three-quarters{--fa:""}.fa-battery-3,.fa-battery-half{--fa:""}.fa-battery-2,.fa-battery-quarter{--fa:""}.fa-battery-0,.fa-battery-empty{--fa:""}.fa-arrow-pointer,.fa-mouse-pointer{--fa:""}.fa-i-cursor{--fa:""}.fa-object-group{--fa:""}.fa-object-ungroup{--fa:""}.fa-note-sticky,.fa-sticky-note{--fa:""}.fa-clone{--fa:""}.fa-balance-scale,.fa-scale-balanced{--fa:""}.fa-hourglass-1,.fa-hourglass-start{--fa:""}.fa-hourglass-2,.fa-hourglass-half{--fa:""}.fa-hourglass-3,.fa-hourglass-end{--fa:""}.fa-hourglass,.fa-hourglass-empty{--fa:""}.fa-hand-back-fist,.fa-hand-rock{--fa:""}.fa-hand,.fa-hand-paper{--fa:""}.fa-hand-scissors{--fa:""}.fa-hand-lizard{--fa:""}.fa-hand-spock{--fa:""}.fa-hand-pointer{--fa:""}.fa-hand-peace{--fa:""}.fa-trademark{--fa:""}.fa-registered{--fa:""}.fa-television,.fa-tv,.fa-tv-alt{--fa:""}.fa-calendar-plus{--fa:""}.fa-calendar-minus{--fa:""}.fa-calendar-times,.fa-calendar-xmark{--fa:""}.fa-calendar-check{--fa:""}.fa-industry{--fa:""}.fa-map-pin{--fa:""}.fa-map-signs,.fa-signs-post{--fa:""}.fa-map{--fa:""}.fa-comment-alt,.fa-message{--fa:""}.fa-circle-pause,.fa-pause-circle{--fa:""}.fa-circle-stop,.fa-stop-circle{--fa:""}.fa-bag-shopping,.fa-shopping-bag{--fa:""}.fa-basket-shopping,.fa-shopping-basket{--fa:""}.fa-universal-access{--fa:""}.fa-blind,.fa-person-walking-with-cane{--fa:""}.fa-audio-description{--fa:""}.fa-phone-volume,.fa-volume-control-phone{--fa:""}.fa-braille{--fa:""}.fa-assistive-listening-systems,.fa-ear-listen{--fa:""}.fa-american-sign-language-interpreting,.fa-asl-interpreting,.fa-hands-american-sign-language-interpreting,.fa-hands-asl-interpreting{--fa:""}.fa-deaf,.fa-deafness,.fa-ear-deaf,.fa-hard-of-hearing{--fa:""}.fa-hands,.fa-sign-language,.fa-signing{--fa:""}.fa-eye-low-vision,.fa-low-vision{--fa:""}.fa-handshake,.fa-handshake-alt,.fa-handshake-simple{--fa:""}.fa-envelope-open{--fa:""}.fa-address-book,.fa-contact-book{--fa:""}.fa-address-card,.fa-contact-card,.fa-vcard{--fa:""}.fa-circle-user,.fa-user-circle{--fa:""}.fa-id-badge{--fa:""}.fa-drivers-license,.fa-id-card{--fa:""}.fa-temperature-4,.fa-temperature-full,.fa-thermometer-4,.fa-thermometer-full{--fa:""}.fa-temperature-3,.fa-temperature-three-quarters,.fa-thermometer-3,.fa-thermometer-three-quarters{--fa:""}.fa-temperature-2,.fa-temperature-half,.fa-thermometer-2,.fa-thermometer-half{--fa:""}.fa-temperature-1,.fa-temperature-quarter,.fa-thermometer-1,.fa-thermometer-quarter{--fa:""}.fa-temperature-0,.fa-temperature-empty,.fa-thermometer-0,.fa-thermometer-empty{--fa:""}.fa-shower{--fa:""}.fa-bath,.fa-bathtub{--fa:""}.fa-podcast{--fa:""}.fa-window-maximize{--fa:""}.fa-window-minimize{--fa:""}.fa-window-restore{--fa:""}.fa-square-xmark,.fa-times-square,.fa-xmark-square{--fa:""}.fa-microchip{--fa:""}.fa-snowflake{--fa:""}.fa-spoon,.fa-utensil-spoon{--fa:""}.fa-cutlery,.fa-utensils{--fa:""}.fa-rotate-back,.fa-rotate-backward,.fa-rotate-left,.fa-undo-alt{--fa:""}.fa-trash-alt,.fa-trash-can{--fa:""}.fa-rotate,.fa-sync-alt{--fa:""}.fa-stopwatch{--fa:""}.fa-right-from-bracket,.fa-sign-out-alt{--fa:""}.fa-right-to-bracket,.fa-sign-in-alt{--fa:""}.fa-redo-alt,.fa-rotate-forward,.fa-rotate-right{--fa:""}.fa-poo{--fa:""}.fa-images{--fa:""}.fa-pencil,.fa-pencil-alt{--fa:""}.fa-pen{--fa:""}.fa-pen-alt,.fa-pen-clip{--fa:""}.fa-octagon{--fa:""}.fa-down-long,.fa-long-arrow-alt-down{--fa:""}.fa-left-long,.fa-long-arrow-alt-left{--fa:""}.fa-long-arrow-alt-right,.fa-right-long{--fa:""}.fa-long-arrow-alt-up,.fa-up-long{--fa:""}.fa-hexagon{--fa:""}.fa-file-edit,.fa-file-pen{--fa:""}.fa-expand-arrows-alt,.fa-maximize{--fa:""}.fa-clipboard{--fa:""}.fa-arrows-alt-h,.fa-left-right{--fa:""}.fa-arrows-alt-v,.fa-up-down{--fa:""}.fa-alarm-clock{--fa:""}.fa-arrow-alt-circle-down,.fa-circle-down{--fa:""}.fa-arrow-alt-circle-left,.fa-circle-left{--fa:""}.fa-arrow-alt-circle-right,.fa-circle-right{--fa:""}.fa-arrow-alt-circle-up,.fa-circle-up{--fa:""}.fa-external-link-alt,.fa-up-right-from-square{--fa:""}.fa-external-link-square-alt,.fa-square-up-right{--fa:""}.fa-exchange-alt,.fa-right-left{--fa:""}.fa-repeat{--fa:""}.fa-code-commit{--fa:""}.fa-code-merge{--fa:""}.fa-desktop,.fa-desktop-alt{--fa:""}.fa-gem{--fa:""}.fa-level-down-alt,.fa-turn-down{--fa:""}.fa-level-up-alt,.fa-turn-up{--fa:""}.fa-lock-open{--fa:""}.fa-location-dot,.fa-map-marker-alt{--fa:""}.fa-microphone-alt,.fa-microphone-lines{--fa:""}.fa-mobile-alt,.fa-mobile-screen-button{--fa:""}.fa-mobile,.fa-mobile-android,.fa-mobile-phone{--fa:""}.fa-mobile-android-alt,.fa-mobile-screen{--fa:""}.fa-money-bill-1,.fa-money-bill-alt{--fa:""}.fa-phone-slash{--fa:""}.fa-image-portrait,.fa-portrait{--fa:""}.fa-mail-reply,.fa-reply{--fa:""}.fa-shield-alt,.fa-shield-halved{--fa:""}.fa-tablet-alt,.fa-tablet-screen-button{--fa:""}.fa-tablet,.fa-tablet-android{--fa:""}.fa-ticket-alt,.fa-ticket-simple{--fa:""}.fa-rectangle-times,.fa-rectangle-xmark,.fa-times-rectangle,.fa-window-close{--fa:""}.fa-compress-alt,.fa-down-left-and-up-right-to-center{--fa:""}.fa-expand-alt,.fa-up-right-and-down-left-from-center{--fa:""}.fa-baseball-bat-ball{--fa:""}.fa-baseball,.fa-baseball-ball{--fa:""}.fa-basketball,.fa-basketball-ball{--fa:""}.fa-bowling-ball{--fa:""}.fa-chess{--fa:""}.fa-chess-bishop{--fa:""}.fa-chess-board{--fa:""}.fa-chess-king{--fa:""}.fa-chess-knight{--fa:""}.fa-chess-pawn{--fa:""}.fa-chess-queen{--fa:""}.fa-chess-rook{--fa:""}.fa-dumbbell{--fa:""}.fa-football,.fa-football-ball{--fa:""}.fa-golf-ball,.fa-golf-ball-tee{--fa:""}.fa-hockey-puck{--fa:""}.fa-broom-ball,.fa-quidditch,.fa-quidditch-broom-ball{--fa:""}.fa-square-full{--fa:""}.fa-ping-pong-paddle-ball,.fa-table-tennis,.fa-table-tennis-paddle-ball{--fa:""}.fa-volleyball,.fa-volleyball-ball{--fa:""}.fa-allergies,.fa-hand-dots{--fa:""}.fa-band-aid,.fa-bandage{--fa:""}.fa-box{--fa:""}.fa-boxes,.fa-boxes-alt,.fa-boxes-stacked{--fa:""}.fa-briefcase-medical{--fa:""}.fa-burn,.fa-fire-flame-simple{--fa:""}.fa-capsules{--fa:""}.fa-clipboard-check{--fa:""}.fa-clipboard-list{--fa:""}.fa-diagnoses,.fa-person-dots-from-line{--fa:""}.fa-dna{--fa:""}.fa-dolly,.fa-dolly-box{--fa:""}.fa-cart-flatbed,.fa-dolly-flatbed{--fa:""}.fa-file-medical{--fa:""}.fa-file-medical-alt,.fa-file-waveform{--fa:""}.fa-first-aid,.fa-kit-medical{--fa:""}.fa-circle-h,.fa-hospital-symbol{--fa:""}.fa-id-card-alt,.fa-id-card-clip{--fa:""}.fa-notes-medical{--fa:""}.fa-pallet{--fa:""}.fa-pills{--fa:""}.fa-prescription-bottle{--fa:""}.fa-prescription-bottle-alt,.fa-prescription-bottle-medical{--fa:""}.fa-bed-pulse,.fa-procedures{--fa:""}.fa-shipping-fast,.fa-truck-fast{--fa:""}.fa-smoking{--fa:""}.fa-syringe{--fa:""}.fa-tablets{--fa:""}.fa-thermometer{--fa:""}.fa-vial{--fa:""}.fa-vials{--fa:""}.fa-warehouse{--fa:""}.fa-weight,.fa-weight-scale{--fa:""}.fa-x-ray{--fa:""}.fa-box-open{--fa:""}.fa-comment-dots,.fa-commenting{--fa:""}.fa-comment-slash{--fa:""}.fa-couch{--fa:""}.fa-circle-dollar-to-slot,.fa-donate{--fa:""}.fa-dove{--fa:""}.fa-hand-holding{--fa:""}.fa-hand-holding-heart{--fa:""}.fa-hand-holding-dollar,.fa-hand-holding-usd{--fa:""}.fa-hand-holding-droplet,.fa-hand-holding-water{--fa:""}.fa-hands-holding{--fa:""}.fa-hands-helping,.fa-handshake-angle{--fa:""}.fa-parachute-box{--fa:""}.fa-people-carry,.fa-people-carry-box{--fa:""}.fa-piggy-bank{--fa:""}.fa-ribbon{--fa:""}.fa-route{--fa:""}.fa-seedling,.fa-sprout{--fa:""}.fa-sign,.fa-sign-hanging{--fa:""}.fa-face-smile-wink,.fa-smile-wink{--fa:""}.fa-tape{--fa:""}.fa-truck-loading,.fa-truck-ramp-box{--fa:""}.fa-truck-moving{--fa:""}.fa-video-slash{--fa:""}.fa-wine-glass{--fa:""}.fa-user-astronaut{--fa:""}.fa-user-check{--fa:""}.fa-user-clock{--fa:""}.fa-user-cog,.fa-user-gear{--fa:""}.fa-user-edit,.fa-user-pen{--fa:""}.fa-user-friends,.fa-user-group{--fa:""}.fa-user-graduate{--fa:""}.fa-user-lock{--fa:""}.fa-user-minus{--fa:""}.fa-user-ninja{--fa:""}.fa-user-shield{--fa:""}.fa-user-alt-slash,.fa-user-large-slash,.fa-user-slash{--fa:""}.fa-user-tag{--fa:""}.fa-user-tie{--fa:""}.fa-users-cog,.fa-users-gear{--fa:""}.fa-balance-scale-left,.fa-scale-unbalanced{--fa:""}.fa-balance-scale-right,.fa-scale-unbalanced-flip{--fa:""}.fa-blender{--fa:""}.fa-book-open{--fa:""}.fa-broadcast-tower,.fa-tower-broadcast{--fa:""}.fa-broom{--fa:""}.fa-blackboard,.fa-chalkboard{--fa:""}.fa-chalkboard-teacher,.fa-chalkboard-user{--fa:""}.fa-church{--fa:""}.fa-coins{--fa:""}.fa-compact-disc{--fa:""}.fa-crow{--fa:""}.fa-crown{--fa:""}.fa-dice{--fa:""}.fa-dice-five{--fa:""}.fa-dice-four{--fa:""}.fa-dice-one{--fa:""}.fa-dice-six{--fa:""}.fa-dice-three{--fa:""}.fa-dice-two{--fa:""}.fa-divide{--fa:""}.fa-door-closed{--fa:""}.fa-door-open{--fa:""}.fa-feather{--fa:""}.fa-frog{--fa:""}.fa-gas-pump{--fa:""}.fa-glasses{--fa:""}.fa-greater-than-equal{--fa:""}.fa-helicopter{--fa:""}.fa-infinity{--fa:""}.fa-kiwi-bird{--fa:""}.fa-less-than-equal{--fa:""}.fa-memory{--fa:""}.fa-microphone-alt-slash,.fa-microphone-lines-slash{--fa:""}.fa-money-bill-wave{--fa:""}.fa-money-bill-1-wave,.fa-money-bill-wave-alt{--fa:""}.fa-money-check{--fa:""}.fa-money-check-alt,.fa-money-check-dollar{--fa:""}.fa-not-equal{--fa:""}.fa-palette{--fa:""}.fa-parking,.fa-square-parking{--fa:""}.fa-diagram-project,.fa-project-diagram{--fa:""}.fa-receipt{--fa:""}.fa-robot{--fa:""}.fa-ruler{--fa:""}.fa-ruler-combined{--fa:""}.fa-ruler-horizontal{--fa:""}.fa-ruler-vertical{--fa:""}.fa-school{--fa:""}.fa-screwdriver{--fa:""}.fa-shoe-prints{--fa:""}.fa-skull{--fa:""}.fa-ban-smoking,.fa-smoking-ban{--fa:""}.fa-store{--fa:""}.fa-shop,.fa-store-alt{--fa:""}.fa-bars-staggered,.fa-reorder,.fa-stream{--fa:""}.fa-stroopwafel{--fa:""}.fa-toolbox{--fa:""}.fa-shirt,.fa-t-shirt,.fa-tshirt{--fa:""}.fa-person-walking,.fa-walking{--fa:""}.fa-wallet{--fa:""}.fa-angry,.fa-face-angry{--fa:""}.fa-archway{--fa:""}.fa-atlas,.fa-book-atlas{--fa:""}.fa-award{--fa:""}.fa-backspace,.fa-delete-left{--fa:""}.fa-bezier-curve{--fa:""}.fa-bong{--fa:""}.fa-brush{--fa:""}.fa-bus-alt,.fa-bus-simple{--fa:""}.fa-cannabis{--fa:""}.fa-check-double{--fa:""}.fa-cocktail,.fa-martini-glass-citrus{--fa:""}.fa-bell-concierge,.fa-concierge-bell{--fa:""}.fa-cookie{--fa:""}.fa-cookie-bite{--fa:""}.fa-crop-alt,.fa-crop-simple{--fa:""}.fa-digital-tachograph,.fa-tachograph-digital{--fa:""}.fa-dizzy,.fa-face-dizzy{--fa:""}.fa-compass-drafting,.fa-drafting-compass{--fa:""}.fa-drum{--fa:""}.fa-drum-steelpan{--fa:""}.fa-feather-alt,.fa-feather-pointed{--fa:""}.fa-file-contract{--fa:""}.fa-file-arrow-down,.fa-file-download{--fa:""}.fa-arrow-right-from-file,.fa-file-export{--fa:""}.fa-arrow-right-to-file,.fa-file-import{--fa:""}.fa-file-invoice{--fa:""}.fa-file-invoice-dollar{--fa:""}.fa-file-prescription{--fa:""}.fa-file-signature{--fa:""}.fa-file-arrow-up,.fa-file-upload{--fa:""}.fa-fill{--fa:""}.fa-fill-drip{--fa:""}.fa-fingerprint{--fa:""}.fa-fish{--fa:""}.fa-face-flushed,.fa-flushed{--fa:""}.fa-face-frown-open,.fa-frown-open{--fa:""}.fa-glass-martini-alt,.fa-martini-glass{--fa:""}.fa-earth-africa,.fa-globe-africa{--fa:""}.fa-earth,.fa-earth-america,.fa-earth-americas,.fa-globe-americas{--fa:""}.fa-earth-asia,.fa-globe-asia{--fa:""}.fa-face-grimace,.fa-grimace{--fa:""}.fa-face-grin,.fa-grin{--fa:""}.fa-face-grin-wide,.fa-grin-alt{--fa:""}.fa-face-grin-beam,.fa-grin-beam{--fa:""}.fa-face-grin-beam-sweat,.fa-grin-beam-sweat{--fa:""}.fa-face-grin-hearts,.fa-grin-hearts{--fa:""}.fa-face-grin-squint,.fa-grin-squint{--fa:""}.fa-face-grin-squint-tears,.fa-grin-squint-tears{--fa:""}.fa-face-grin-stars,.fa-grin-stars{--fa:""}.fa-face-grin-tears,.fa-grin-tears{--fa:""}.fa-face-grin-tongue,.fa-grin-tongue{--fa:""}.fa-face-grin-tongue-squint,.fa-grin-tongue-squint{--fa:""}.fa-face-grin-tongue-wink,.fa-grin-tongue-wink{--fa:""}.fa-face-grin-wink,.fa-grin-wink{--fa:""}.fa-grid-horizontal,.fa-grip,.fa-grip-horizontal{--fa:""}.fa-grid-vertical,.fa-grip-vertical{--fa:""}.fa-headset{--fa:""}.fa-highlighter{--fa:""}.fa-hot-tub,.fa-hot-tub-person{--fa:""}.fa-hotel{--fa:""}.fa-joint{--fa:""}.fa-face-kiss,.fa-kiss{--fa:""}.fa-face-kiss-beam,.fa-kiss-beam{--fa:""}.fa-face-kiss-wink-heart,.fa-kiss-wink-heart{--fa:""}.fa-face-laugh,.fa-laugh{--fa:""}.fa-face-laugh-beam,.fa-laugh-beam{--fa:""}.fa-face-laugh-squint,.fa-laugh-squint{--fa:""}.fa-face-laugh-wink,.fa-laugh-wink{--fa:""}.fa-cart-flatbed-suitcase,.fa-luggage-cart{--fa:""}.fa-map-location,.fa-map-marked{--fa:""}.fa-map-location-dot,.fa-map-marked-alt{--fa:""}.fa-marker{--fa:""}.fa-medal{--fa:""}.fa-face-meh-blank,.fa-meh-blank{--fa:""}.fa-face-rolling-eyes,.fa-meh-rolling-eyes{--fa:""}.fa-monument{--fa:""}.fa-mortar-pestle{--fa:""}.fa-paint-roller{--fa:""}.fa-passport{--fa:""}.fa-pen-fancy{--fa:""}.fa-pen-nib{--fa:""}.fa-pen-ruler,.fa-pencil-ruler{--fa:""}.fa-plane-arrival{--fa:""}.fa-plane-departure{--fa:""}.fa-prescription{--fa:""}.fa-face-sad-cry,.fa-sad-cry{--fa:""}.fa-face-sad-tear,.fa-sad-tear{--fa:""}.fa-shuttle-van,.fa-van-shuttle{--fa:""}.fa-signature{--fa:""}.fa-face-smile-beam,.fa-smile-beam{--fa:""}.fa-solar-panel{--fa:""}.fa-lotus,.fa-spa{--fa:""}.fa-splotch{--fa:""}.fa-spray-can{--fa:""}.fa-stamp{--fa:""}.fa-star-half-alt,.fa-star-half-stroke{--fa:""}.fa-suitcase-rolling{--fa:""}.fa-face-surprise,.fa-surprise{--fa:""}.fa-swatchbook{--fa:""}.fa-person-swimming,.fa-swimmer{--fa:""}.fa-ladder-water,.fa-swimming-pool,.fa-water-ladder{--fa:""}.fa-droplet-slash,.fa-tint-slash{--fa:""}.fa-face-tired,.fa-tired{--fa:""}.fa-tooth{--fa:""}.fa-umbrella-beach{--fa:""}.fa-weight-hanging{--fa:""}.fa-wine-glass-alt,.fa-wine-glass-empty{--fa:""}.fa-air-freshener,.fa-spray-can-sparkles{--fa:""}.fa-apple-alt,.fa-apple-whole{--fa:""}.fa-atom{--fa:""}.fa-bone{--fa:""}.fa-book-open-reader,.fa-book-reader{--fa:""}.fa-brain{--fa:""}.fa-car-alt,.fa-car-rear{--fa:""}.fa-battery-car,.fa-car-battery{--fa:""}.fa-car-burst,.fa-car-crash{--fa:""}.fa-car-side{--fa:""}.fa-charging-station{--fa:""}.fa-diamond-turn-right,.fa-directions{--fa:""}.fa-draw-polygon,.fa-vector-polygon{--fa:""}.fa-laptop-code{--fa:""}.fa-layer-group{--fa:""}.fa-location,.fa-location-crosshairs{--fa:""}.fa-lungs{--fa:""}.fa-microscope{--fa:""}.fa-oil-can{--fa:""}.fa-poop{--fa:""}.fa-shapes,.fa-triangle-circle-square{--fa:""}.fa-star-of-life{--fa:""}.fa-dashboard,.fa-gauge,.fa-gauge-med,.fa-tachometer-alt-average{--fa:""}.fa-gauge-high,.fa-tachometer-alt,.fa-tachometer-alt-fast{--fa:""}.fa-gauge-simple,.fa-gauge-simple-med,.fa-tachometer-average{--fa:""}.fa-gauge-simple-high,.fa-tachometer,.fa-tachometer-fast{--fa:""}.fa-teeth{--fa:""}.fa-teeth-open{--fa:""}.fa-masks-theater,.fa-theater-masks{--fa:""}.fa-traffic-light{--fa:""}.fa-truck-monster{--fa:""}.fa-truck-pickup{--fa:""}.fa-ad,.fa-rectangle-ad{--fa:""}.fa-ankh{--fa:""}.fa-bible,.fa-book-bible{--fa:""}.fa-briefcase-clock,.fa-business-time{--fa:""}.fa-city{--fa:""}.fa-comment-dollar{--fa:""}.fa-comments-dollar{--fa:""}.fa-cross{--fa:""}.fa-dharmachakra{--fa:""}.fa-envelope-open-text{--fa:""}.fa-folder-minus{--fa:""}.fa-folder-plus{--fa:""}.fa-filter-circle-dollar,.fa-funnel-dollar{--fa:""}.fa-gopuram{--fa:""}.fa-hamsa{--fa:""}.fa-bahai,.fa-haykal{--fa:""}.fa-jedi{--fa:""}.fa-book-journal-whills,.fa-journal-whills{--fa:""}.fa-kaaba{--fa:""}.fa-khanda{--fa:""}.fa-landmark{--fa:""}.fa-envelopes-bulk,.fa-mail-bulk{--fa:""}.fa-menorah{--fa:""}.fa-mosque{--fa:""}.fa-om{--fa:""}.fa-pastafarianism,.fa-spaghetti-monster-flying{--fa:""}.fa-peace{--fa:""}.fa-place-of-worship{--fa:""}.fa-poll,.fa-square-poll-vertical{--fa:""}.fa-poll-h,.fa-square-poll-horizontal{--fa:""}.fa-person-praying,.fa-pray{--fa:""}.fa-hands-praying,.fa-praying-hands{--fa:""}.fa-book-quran,.fa-quran{--fa:""}.fa-magnifying-glass-dollar,.fa-search-dollar{--fa:""}.fa-magnifying-glass-location,.fa-search-location{--fa:""}.fa-socks{--fa:""}.fa-square-root-alt,.fa-square-root-variable{--fa:""}.fa-star-and-crescent{--fa:""}.fa-star-of-david{--fa:""}.fa-synagogue{--fa:""}.fa-scroll-torah,.fa-torah{--fa:""}.fa-torii-gate{--fa:""}.fa-vihara{--fa:""}.fa-volume,.fa-volume-medium{--fa:""}.fa-volume-mute,.fa-volume-times,.fa-volume-xmark{--fa:""}.fa-yin-yang{--fa:""}.fa-blender-phone{--fa:""}.fa-book-dead,.fa-book-skull{--fa:""}.fa-campground{--fa:""}.fa-cat{--fa:""}.fa-chair{--fa:""}.fa-cloud-moon{--fa:""}.fa-cloud-sun{--fa:""}.fa-cow{--fa:""}.fa-dice-d20{--fa:""}.fa-dice-d6{--fa:""}.fa-dog{--fa:""}.fa-dragon{--fa:""}.fa-drumstick-bite{--fa:""}.fa-dungeon{--fa:""}.fa-file-csv{--fa:""}.fa-fist-raised,.fa-hand-fist{--fa:""}.fa-ghost{--fa:""}.fa-hammer{--fa:""}.fa-hanukiah{--fa:""}.fa-hat-wizard{--fa:""}.fa-hiking,.fa-person-hiking{--fa:""}.fa-hippo{--fa:""}.fa-horse{--fa:""}.fa-house-chimney-crack,.fa-house-damage{--fa:""}.fa-hryvnia,.fa-hryvnia-sign{--fa:""}.fa-mask{--fa:""}.fa-mountain{--fa:""}.fa-network-wired{--fa:""}.fa-otter{--fa:""}.fa-ring{--fa:""}.fa-person-running,.fa-running{--fa:""}.fa-scroll{--fa:""}.fa-skull-crossbones{--fa:""}.fa-slash{--fa:""}.fa-spider{--fa:""}.fa-toilet-paper,.fa-toilet-paper-alt,.fa-toilet-paper-blank{--fa:""}.fa-tractor{--fa:""}.fa-user-injured{--fa:""}.fa-vr-cardboard{--fa:""}.fa-wand-sparkles{--fa:""}.fa-wind{--fa:""}.fa-wine-bottle{--fa:""}.fa-cloud-meatball{--fa:""}.fa-cloud-moon-rain{--fa:""}.fa-cloud-rain{--fa:""}.fa-cloud-showers-heavy{--fa:""}.fa-cloud-sun-rain{--fa:""}.fa-democrat{--fa:""}.fa-flag-usa{--fa:""}.fa-hurricane{--fa:""}.fa-landmark-alt,.fa-landmark-dome{--fa:""}.fa-meteor{--fa:""}.fa-person-booth{--fa:""}.fa-poo-bolt,.fa-poo-storm{--fa:""}.fa-rainbow{--fa:""}.fa-republican{--fa:""}.fa-smog{--fa:""}.fa-temperature-high{--fa:""}.fa-temperature-low{--fa:""}.fa-cloud-bolt,.fa-thunderstorm{--fa:""}.fa-tornado{--fa:""}.fa-volcano{--fa:""}.fa-check-to-slot,.fa-vote-yea{--fa:""}.fa-water{--fa:""}.fa-baby{--fa:""}.fa-baby-carriage,.fa-carriage-baby{--fa:""}.fa-biohazard{--fa:""}.fa-blog{--fa:""}.fa-calendar-day{--fa:""}.fa-calendar-week{--fa:""}.fa-candy-cane{--fa:""}.fa-carrot{--fa:""}.fa-cash-register{--fa:""}.fa-compress-arrows-alt,.fa-minimize{--fa:""}.fa-dumpster{--fa:""}.fa-dumpster-fire{--fa:""}.fa-ethernet{--fa:""}.fa-gifts{--fa:""}.fa-champagne-glasses,.fa-glass-cheers{--fa:""}.fa-glass-whiskey,.fa-whiskey-glass{--fa:""}.fa-earth-europe,.fa-globe-europe{--fa:""}.fa-grip-lines{--fa:""}.fa-grip-lines-vertical{--fa:""}.fa-guitar{--fa:""}.fa-heart-broken,.fa-heart-crack{--fa:""}.fa-holly-berry{--fa:""}.fa-horse-head{--fa:""}.fa-icicles{--fa:""}.fa-igloo{--fa:""}.fa-mitten{--fa:""}.fa-mug-hot{--fa:""}.fa-radiation{--fa:""}.fa-circle-radiation,.fa-radiation-alt{--fa:""}.fa-restroom{--fa:""}.fa-satellite{--fa:""}.fa-satellite-dish{--fa:""}.fa-sd-card{--fa:""}.fa-sim-card{--fa:""}.fa-person-skating,.fa-skating{--fa:""}.fa-person-skiing,.fa-skiing{--fa:""}.fa-person-skiing-nordic,.fa-skiing-nordic{--fa:""}.fa-sleigh{--fa:""}.fa-comment-sms,.fa-sms{--fa:""}.fa-person-snowboarding,.fa-snowboarding{--fa:""}.fa-snowman{--fa:""}.fa-snowplow{--fa:""}.fa-tenge,.fa-tenge-sign{--fa:""}.fa-toilet{--fa:""}.fa-screwdriver-wrench,.fa-tools{--fa:""}.fa-cable-car,.fa-tram{--fa:""}.fa-fire-alt,.fa-fire-flame-curved{--fa:""}.fa-bacon{--fa:""}.fa-book-medical{--fa:""}.fa-bread-slice{--fa:""}.fa-cheese{--fa:""}.fa-clinic-medical,.fa-house-chimney-medical{--fa:""}.fa-clipboard-user{--fa:""}.fa-comment-medical{--fa:""}.fa-crutch{--fa:""}.fa-disease{--fa:""}.fa-egg{--fa:""}.fa-folder-tree{--fa:""}.fa-burger,.fa-hamburger{--fa:""}.fa-hand-middle-finger{--fa:""}.fa-hard-hat,.fa-hat-hard,.fa-helmet-safety{--fa:""}.fa-hospital-user{--fa:""}.fa-hotdog{--fa:""}.fa-ice-cream{--fa:""}.fa-laptop-medical{--fa:""}.fa-pager{--fa:""}.fa-pepper-hot{--fa:""}.fa-pizza-slice{--fa:""}.fa-sack-dollar{--fa:""}.fa-book-tanakh,.fa-tanakh{--fa:""}.fa-bars-progress,.fa-tasks-alt{--fa:""}.fa-trash-arrow-up,.fa-trash-restore{--fa:""}.fa-trash-can-arrow-up,.fa-trash-restore-alt{--fa:""}.fa-user-nurse{--fa:""}.fa-wave-square{--fa:""}.fa-biking,.fa-person-biking{--fa:""}.fa-border-all{--fa:""}.fa-border-none{--fa:""}.fa-border-style,.fa-border-top-left{--fa:""}.fa-digging,.fa-person-digging{--fa:""}.fa-fan{--fa:""}.fa-heart-music-camera-bolt,.fa-icons{--fa:""}.fa-phone-alt,.fa-phone-flip{--fa:""}.fa-phone-square-alt,.fa-square-phone-flip{--fa:""}.fa-photo-film,.fa-photo-video{--fa:""}.fa-remove-format,.fa-text-slash{--fa:""}.fa-arrow-down-z-a,.fa-sort-alpha-desc,.fa-sort-alpha-down-alt{--fa:""}.fa-arrow-up-z-a,.fa-sort-alpha-up-alt{--fa:""}.fa-arrow-down-short-wide,.fa-sort-amount-desc,.fa-sort-amount-down-alt{--fa:""}.fa-arrow-up-short-wide,.fa-sort-amount-up-alt{--fa:""}.fa-arrow-down-9-1,.fa-sort-numeric-desc,.fa-sort-numeric-down-alt{--fa:""}.fa-arrow-up-9-1,.fa-sort-numeric-up-alt{--fa:""}.fa-spell-check{--fa:""}.fa-voicemail{--fa:""}.fa-hat-cowboy{--fa:""}.fa-hat-cowboy-side{--fa:""}.fa-computer-mouse,.fa-mouse{--fa:""}.fa-radio{--fa:""}.fa-record-vinyl{--fa:""}.fa-walkie-talkie{--fa:""}.fa-caravan{--fa:""}: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(/assets/fa-brands-400-Bs6tcqqs.woff2)}.fa-brands,.fa-classic.fa-brands,.fab{--fa-family:var(--fa-family-brands);--fa-style:400}.fa-firefox-browser{--fa:""}.fa-ideal{--fa:""}.fa-microblog{--fa:""}.fa-pied-piper-square,.fa-square-pied-piper{--fa:""}.fa-unity{--fa:""}.fa-dailymotion{--fa:""}.fa-instagram-square,.fa-square-instagram{--fa:""}.fa-mixer{--fa:""}.fa-shopify{--fa:""}.fa-deezer{--fa:""}.fa-edge-legacy{--fa:""}.fa-google-pay{--fa:""}.fa-rust{--fa:""}.fa-tiktok{--fa:""}.fa-unsplash{--fa:""}.fa-cloudflare{--fa:""}.fa-guilded{--fa:""}.fa-hive{--fa:""}.fa-42-group,.fa-innosoft{--fa:""}.fa-instalod{--fa:""}.fa-octopus-deploy{--fa:""}.fa-perbyte{--fa:""}.fa-uncharted{--fa:""}.fa-watchman-monitoring{--fa:""}.fa-wodu{--fa:""}.fa-wirsindhandwerk,.fa-wsh{--fa:""}.fa-bots{--fa:""}.fa-cmplid{--fa:""}.fa-bilibili{--fa:""}.fa-golang{--fa:""}.fa-pix{--fa:""}.fa-sitrox{--fa:""}.fa-hashnode{--fa:""}.fa-meta{--fa:""}.fa-padlet{--fa:""}.fa-nfc-directional{--fa:""}.fa-nfc-symbol{--fa:""}.fa-screenpal{--fa:""}.fa-space-awesome{--fa:""}.fa-square-font-awesome{--fa:""}.fa-gitlab-square,.fa-square-gitlab{--fa:""}.fa-odysee{--fa:""}.fa-stubber{--fa:""}.fa-debian{--fa:""}.fa-shoelace{--fa:""}.fa-threads{--fa:""}.fa-square-threads{--fa:""}.fa-square-x-twitter{--fa:""}.fa-x-twitter{--fa:""}.fa-opensuse{--fa:""}.fa-letterboxd{--fa:""}.fa-square-letterboxd{--fa:""}.fa-mintbit{--fa:""}.fa-google-scholar{--fa:""}.fa-brave{--fa:""}.fa-brave-reverse{--fa:""}.fa-pixiv{--fa:""}.fa-upwork{--fa:""}.fa-webflow{--fa:""}.fa-signal-messenger{--fa:""}.fa-bluesky{--fa:""}.fa-jxl{--fa:""}.fa-square-upwork{--fa:""}.fa-web-awesome{--fa:""}.fa-square-web-awesome{--fa:""}.fa-square-web-awesome-stroke{--fa:""}.fa-dart-lang{--fa:""}.fa-flutter{--fa:""}.fa-files-pinwheel{--fa:""}.fa-css{--fa:""}.fa-square-bluesky{--fa:""}.fa-openai{--fa:""}.fa-square-linkedin{--fa:""}.fa-cash-app{--fa:""}.fa-disqus{--fa:""}.fa-11ty,.fa-eleventy{--fa:""}.fa-kakao-talk{--fa:""}.fa-linktree{--fa:""}.fa-notion{--fa:""}.fa-pandora{--fa:""}.fa-pixelfed{--fa:""}.fa-tidal{--fa:""}.fa-vsco{--fa:""}.fa-w3c{--fa:""}.fa-lumon{--fa:""}.fa-lumon-drop{--fa:""}.fa-square-figma{--fa:""}.fa-tex{--fa:""}.fa-duolingo{--fa:""}.fa-supportnow{--fa:""}.fa-tor-browser{--fa:""}.fa-typescript{--fa:""}.fa-square-deskpro{--fa:""}.fa-circle-zulip{--fa:""}.fa-julia{--fa:""}.fa-zulip{--fa:""}.fa-unison{--fa:""}.fa-bgg,.fa-board-game-geek{--fa:""}.fa-ko-fi{--fa:""}.fa-kubernetes{--fa:""}.fa-postgresql{--fa:""}.fa-scaleway{--fa:""}.fa-venmo{--fa:""}.fa-venmo-v{--fa:""}.fa-unreal-engine{--fa:""}.fa-globaleaks{--fa:""}.fa-solana{--fa:""}.fa-threema{--fa:""}.fa-forgejo{--fa:""}.fa-claude{--fa:""}.fa-gitee{--fa:""}.fa-xmpp{--fa:""}.fa-fediverse{--fa:""}.fa-tailwind-css{--fa:""}.fa-arch-linux{--fa:""}.fa-svelte{--fa:""}.fa-hugging-face{--fa:""}.fa-leetcode{--fa:""}.fa-openstreetmap{--fa:""}.fa-ultralytics{--fa:""}.fa-ultralytics-hub{--fa:""}.fa-ultralytics-yolo{--fa:""}.fa-obsidian{--fa:""}.fa-zoom{--fa:""}.fa-vim{--fa:""}.fa-symfonycasts{--fa:""}.fa-build-awesome{--fa:""}.fa-codeberg{--fa:""}.fa-devpost{--fa:""}.fa-internet-archive{--fa:""}.fa-lets-encrypt{--fa:""}.fa-matrix{--fa:""}.fa-mattermost{--fa:""}.fa-nextcloud{--fa:""}.fa-roblox-creator-studio{--fa:""}.fa-square-build-awesome-stroke{--fa:""}.fa-substack{--fa:""}.fa-tesla{--fa:""}.fa-xrp{--fa:""}.fa-xrpl{--fa:""}.fa-youtube-shorts{--fa:""}.fa-ror{--fa:""}.fa-visual-studio{--fa:""}.fa-dolibarr{--fa:""}.fa-obs-studio{--fa:""}.fa-storybook{--fa:""}.fa-a11y-project{--fa:""}.fa-copilot{--fa:""}.fa-square-twitter,.fa-twitter-square{--fa:""}.fa-facebook-square,.fa-square-facebook{--fa:""}.fa-linkedin{--fa:""}.fa-github-square,.fa-square-github{--fa:""}.fa-twitter{--fa:""}.fa-facebook{--fa:""}.fa-github{--fa:""}.fa-pinterest{--fa:""}.fa-pinterest-square,.fa-square-pinterest{--fa:""}.fa-google-plus-square,.fa-square-google-plus{--fa:""}.fa-google-plus-g{--fa:""}.fa-linkedin-in{--fa:""}.fa-github-alt{--fa:""}.fa-maxcdn{--fa:""}.fa-html5{--fa:""}.fa-css3{--fa:""}.fa-btc{--fa:""}.fa-youtube{--fa:""}.fa-xing{--fa:""}.fa-square-xing,.fa-xing-square{--fa:""}.fa-dropbox{--fa:""}.fa-stack-overflow{--fa:""}.fa-instagram{--fa:""}.fa-flickr{--fa:""}.fa-adn{--fa:""}.fa-bitbucket{--fa:""}.fa-tumblr{--fa:""}.fa-square-tumblr,.fa-tumblr-square{--fa:""}.fa-apple{--fa:""}.fa-windows{--fa:""}.fa-android{--fa:""}.fa-linux{--fa:""}.fa-dribbble{--fa:""}.fa-skype{--fa:""}.fa-foursquare{--fa:""}.fa-trello{--fa:""}.fa-gratipay{--fa:""}.fa-vk{--fa:""}.fa-weibo{--fa:""}.fa-renren{--fa:""}.fa-pagelines{--fa:""}.fa-stack-exchange{--fa:""}.fa-square-vimeo,.fa-vimeo-square{--fa:""}.fa-slack,.fa-slack-hash{--fa:""}.fa-wordpress{--fa:""}.fa-openid{--fa:""}.fa-yahoo{--fa:""}.fa-google{--fa:""}.fa-reddit{--fa:""}.fa-reddit-square,.fa-square-reddit{--fa:""}.fa-stumbleupon-circle{--fa:""}.fa-stumbleupon{--fa:""}.fa-delicious{--fa:""}.fa-digg{--fa:""}.fa-pied-piper-pp{--fa:""}.fa-pied-piper-alt{--fa:""}.fa-drupal{--fa:""}.fa-joomla{--fa:""}.fa-behance{--fa:""}.fa-behance-square,.fa-square-behance{--fa:""}.fa-steam{--fa:""}.fa-square-steam,.fa-steam-square{--fa:""}.fa-spotify{--fa:""}.fa-deviantart{--fa:""}.fa-soundcloud{--fa:""}.fa-vine{--fa:""}.fa-codepen{--fa:""}.fa-jsfiddle{--fa:""}.fa-rebel{--fa:""}.fa-empire{--fa:""}.fa-git-square,.fa-square-git{--fa:""}.fa-git{--fa:""}.fa-hacker-news{--fa:""}.fa-tencent-weibo{--fa:""}.fa-qq{--fa:""}.fa-weixin{--fa:""}.fa-slideshare{--fa:""}.fa-twitch{--fa:""}.fa-yelp{--fa:""}.fa-paypal{--fa:""}.fa-google-wallet{--fa:""}.fa-cc-visa{--fa:""}.fa-cc-mastercard{--fa:""}.fa-cc-discover{--fa:""}.fa-cc-amex{--fa:""}.fa-cc-paypal{--fa:""}.fa-cc-stripe{--fa:""}.fa-lastfm{--fa:""}.fa-lastfm-square,.fa-square-lastfm{--fa:""}.fa-ioxhost{--fa:""}.fa-angellist{--fa:""}.fa-buysellads{--fa:""}.fa-connectdevelop{--fa:""}.fa-dashcube{--fa:""}.fa-forumbee{--fa:""}.fa-leanpub{--fa:""}.fa-sellsy{--fa:""}.fa-shirtsinbulk{--fa:""}.fa-simplybuilt{--fa:""}.fa-skyatlas{--fa:""}.fa-pinterest-p{--fa:""}.fa-whatsapp{--fa:""}.fa-viacoin{--fa:""}.fa-medium,.fa-medium-m{--fa:""}.fa-y-combinator{--fa:""}.fa-optin-monster{--fa:""}.fa-opencart{--fa:""}.fa-expeditedssl{--fa:""}.fa-cc-jcb{--fa:""}.fa-cc-diners-club{--fa:""}.fa-creative-commons{--fa:""}.fa-gg{--fa:""}.fa-gg-circle{--fa:""}.fa-odnoklassniki{--fa:""}.fa-odnoklassniki-square,.fa-square-odnoklassniki{--fa:""}.fa-get-pocket{--fa:""}.fa-wikipedia-w{--fa:""}.fa-safari{--fa:""}.fa-chrome{--fa:""}.fa-firefox{--fa:""}.fa-opera{--fa:""}.fa-internet-explorer{--fa:""}.fa-contao{--fa:""}.fa-500px{--fa:""}.fa-amazon{--fa:""}.fa-houzz{--fa:""}.fa-vimeo-v{--fa:""}.fa-black-tie{--fa:""}.fa-fonticons{--fa:""}.fa-reddit-alien{--fa:""}.fa-edge{--fa:""}.fa-codiepie{--fa:""}.fa-modx{--fa:""}.fa-fort-awesome{--fa:""}.fa-usb{--fa:""}.fa-product-hunt{--fa:""}.fa-mixcloud{--fa:""}.fa-scribd{--fa:""}.fa-bluetooth{--fa:""}.fa-bluetooth-b{--fa:""}.fa-gitlab{--fa:""}.fa-wpbeginner{--fa:""}.fa-wpforms{--fa:""}.fa-envira{--fa:""}.fa-glide{--fa:""}.fa-glide-g{--fa:""}.fa-viadeo{--fa:""}.fa-square-viadeo,.fa-viadeo-square{--fa:""}.fa-snapchat,.fa-snapchat-ghost{--fa:""}.fa-snapchat-square,.fa-square-snapchat{--fa:""}.fa-pied-piper{--fa:""}.fa-first-order{--fa:""}.fa-yoast{--fa:""}.fa-themeisle{--fa:""}.fa-google-plus{--fa:""}.fa-font-awesome,.fa-font-awesome-flag,.fa-font-awesome-logo-full{--fa:""}.fa-linode{--fa:""}.fa-quora{--fa:""}.fa-free-code-camp{--fa:""}.fa-telegram,.fa-telegram-plane{--fa:""}.fa-bandcamp{--fa:""}.fa-grav{--fa:""}.fa-etsy{--fa:""}.fa-imdb{--fa:""}.fa-ravelry{--fa:""}.fa-sellcast{--fa:""}.fa-superpowers{--fa:""}.fa-wpexplorer{--fa:""}.fa-meetup{--fa:""}.fa-font-awesome-alt,.fa-square-font-awesome-stroke{--fa:""}.fa-accessible-icon{--fa:""}.fa-accusoft{--fa:""}.fa-adversal{--fa:""}.fa-affiliatetheme{--fa:""}.fa-algolia{--fa:""}.fa-amilia{--fa:""}.fa-angrycreative{--fa:""}.fa-app-store{--fa:""}.fa-app-store-ios{--fa:""}.fa-apper{--fa:""}.fa-asymmetrik{--fa:""}.fa-audible{--fa:""}.fa-avianex{--fa:""}.fa-aws{--fa:""}.fa-bimobject{--fa:""}.fa-bitcoin{--fa:""}.fa-bity{--fa:""}.fa-blackberry{--fa:""}.fa-blogger{--fa:""}.fa-blogger-b{--fa:""}.fa-buromobelexperte{--fa:""}.fa-centercode{--fa:""}.fa-cloudscale{--fa:""}.fa-cloudsmith{--fa:""}.fa-cloudversify{--fa:""}.fa-cpanel{--fa:""}.fa-css3-alt{--fa:""}.fa-cuttlefish{--fa:""}.fa-d-and-d{--fa:""}.fa-deploydog{--fa:""}.fa-deskpro{--fa:""}.fa-digital-ocean{--fa:""}.fa-discord{--fa:""}.fa-discourse{--fa:""}.fa-dochub{--fa:""}.fa-docker{--fa:""}.fa-draft2digital{--fa:""}.fa-dribbble-square,.fa-square-dribbble{--fa:""}.fa-dyalog{--fa:""}.fa-earlybirds{--fa:""}.fa-erlang{--fa:""}.fa-facebook-f{--fa:""}.fa-facebook-messenger{--fa:""}.fa-firstdraft{--fa:""}.fa-fonticons-fi{--fa:""}.fa-fort-awesome-alt{--fa:""}.fa-freebsd{--fa:""}.fa-gitkraken{--fa:""}.fa-gofore{--fa:""}.fa-goodreads{--fa:""}.fa-goodreads-g{--fa:""}.fa-google-drive{--fa:""}.fa-google-play{--fa:""}.fa-gripfire{--fa:""}.fa-grunt{--fa:""}.fa-gulp{--fa:""}.fa-hacker-news-square,.fa-square-hacker-news{--fa:""}.fa-hire-a-helper{--fa:""}.fa-hotjar{--fa:""}.fa-hubspot{--fa:""}.fa-itunes{--fa:""}.fa-itunes-note{--fa:""}.fa-jenkins{--fa:""}.fa-joget{--fa:""}.fa-js{--fa:""}.fa-js-square,.fa-square-js{--fa:""}.fa-keycdn{--fa:""}.fa-kickstarter,.fa-square-kickstarter{--fa:""}.fa-kickstarter-k{--fa:""}.fa-laravel{--fa:""}.fa-line{--fa:""}.fa-lyft{--fa:""}.fa-magento{--fa:""}.fa-medapps{--fa:""}.fa-medrt{--fa:""}.fa-microsoft{--fa:""}.fa-mix{--fa:""}.fa-mizuni{--fa:""}.fa-monero{--fa:""}.fa-napster{--fa:""}.fa-node-js{--fa:""}.fa-npm{--fa:""}.fa-ns8{--fa:""}.fa-nutritionix{--fa:""}.fa-page4{--fa:""}.fa-palfed{--fa:""}.fa-patreon{--fa:""}.fa-periscope{--fa:""}.fa-phabricator{--fa:""}.fa-phoenix-framework{--fa:""}.fa-playstation{--fa:""}.fa-pushed{--fa:""}.fa-python{--fa:""}.fa-red-river{--fa:""}.fa-rendact,.fa-wpressr{--fa:""}.fa-replyd{--fa:""}.fa-resolving{--fa:""}.fa-rocketchat{--fa:""}.fa-rockrms{--fa:""}.fa-schlix{--fa:""}.fa-searchengin{--fa:""}.fa-servicestack{--fa:""}.fa-sistrix{--fa:""}.fa-speakap{--fa:""}.fa-staylinked{--fa:""}.fa-steam-symbol{--fa:""}.fa-sticker-mule{--fa:""}.fa-studiovinari{--fa:""}.fa-supple{--fa:""}.fa-uber{--fa:""}.fa-uikit{--fa:""}.fa-uniregistry{--fa:""}.fa-untappd{--fa:""}.fa-ussunnah{--fa:""}.fa-vaadin{--fa:""}.fa-viber{--fa:""}.fa-vimeo{--fa:""}.fa-vnv{--fa:""}.fa-square-whatsapp,.fa-whatsapp-square{--fa:""}.fa-whmcs{--fa:""}.fa-wordpress-simple{--fa:""}.fa-xbox{--fa:""}.fa-yandex{--fa:""}.fa-yandex-international{--fa:""}.fa-apple-pay{--fa:""}.fa-cc-apple-pay{--fa:""}.fa-fly{--fa:""}.fa-node{--fa:""}.fa-osi{--fa:""}.fa-react{--fa:""}.fa-autoprefixer{--fa:""}.fa-less{--fa:""}.fa-sass{--fa:""}.fa-vuejs{--fa:""}.fa-angular{--fa:""}.fa-aviato{--fa:""}.fa-ember{--fa:""}.fa-gitter{--fa:""}.fa-hooli{--fa:""}.fa-strava{--fa:""}.fa-stripe{--fa:""}.fa-stripe-s{--fa:""}.fa-typo3{--fa:""}.fa-amazon-pay{--fa:""}.fa-cc-amazon-pay{--fa:""}.fa-ethereum{--fa:""}.fa-korvue{--fa:""}.fa-elementor{--fa:""}.fa-square-youtube,.fa-youtube-square{--fa:""}.fa-flipboard{--fa:""}.fa-hips{--fa:""}.fa-php{--fa:""}.fa-quinscape{--fa:""}.fa-readme{--fa:""}.fa-java{--fa:""}.fa-pied-piper-hat{--fa:""}.fa-creative-commons-by{--fa:""}.fa-creative-commons-nc{--fa:""}.fa-creative-commons-nc-eu{--fa:""}.fa-creative-commons-nc-jp{--fa:""}.fa-creative-commons-nd{--fa:""}.fa-creative-commons-pd{--fa:""}.fa-creative-commons-pd-alt{--fa:""}.fa-creative-commons-remix{--fa:""}.fa-creative-commons-sa{--fa:""}.fa-creative-commons-sampling{--fa:""}.fa-creative-commons-sampling-plus{--fa:""}.fa-creative-commons-share{--fa:""}.fa-creative-commons-zero{--fa:""}.fa-ebay{--fa:""}.fa-keybase{--fa:""}.fa-mastodon{--fa:""}.fa-r-project{--fa:""}.fa-researchgate{--fa:""}.fa-teamspeak{--fa:""}.fa-first-order-alt{--fa:""}.fa-fulcrum{--fa:""}.fa-galactic-republic{--fa:""}.fa-galactic-senate{--fa:""}.fa-jedi-order{--fa:""}.fa-mandalorian{--fa:""}.fa-old-republic{--fa:""}.fa-phoenix-squadron{--fa:""}.fa-sith{--fa:""}.fa-trade-federation{--fa:""}.fa-wolf-pack-battalion{--fa:""}.fa-hornbill{--fa:""}.fa-mailchimp{--fa:""}.fa-megaport{--fa:""}.fa-nimblr{--fa:""}.fa-rev{--fa:""}.fa-shopware{--fa:""}.fa-squarespace{--fa:""}.fa-themeco{--fa:""}.fa-weebly{--fa:""}.fa-wix{--fa:""}.fa-ello{--fa:""}.fa-hackerrank{--fa:""}.fa-kaggle{--fa:""}.fa-markdown{--fa:""}.fa-neos{--fa:""}.fa-zhihu{--fa:""}.fa-alipay{--fa:""}.fa-the-red-yeti{--fa:""}.fa-critical-role{--fa:""}.fa-d-and-d-beyond{--fa:""}.fa-dev{--fa:""}.fa-fantasy-flight-games{--fa:""}.fa-wizards-of-the-coast{--fa:""}.fa-think-peaks{--fa:""}.fa-reacteurope{--fa:""}.fa-artstation{--fa:""}.fa-atlassian{--fa:""}.fa-canadian-maple-leaf{--fa:""}.fa-centos{--fa:""}.fa-confluence{--fa:""}.fa-dhl{--fa:""}.fa-diaspora{--fa:""}.fa-fedex{--fa:""}.fa-fedora{--fa:""}.fa-figma{--fa:""}.fa-intercom{--fa:""}.fa-invision{--fa:""}.fa-jira{--fa:""}.fa-mendeley{--fa:""}.fa-raspberry-pi{--fa:""}.fa-redhat{--fa:""}.fa-sketch{--fa:""}.fa-sourcetree{--fa:""}.fa-suse{--fa:""}.fa-ubuntu{--fa:""}.fa-ups{--fa:""}.fa-usps{--fa:""}.fa-yarn{--fa:""}.fa-airbnb{--fa:""}.fa-battle-net{--fa:""}.fa-bootstrap{--fa:""}.fa-buffer{--fa:""}.fa-chromecast{--fa:""}.fa-evernote{--fa:""}.fa-itch-io{--fa:""}.fa-salesforce{--fa:""}.fa-speaker-deck{--fa:""}.fa-symfony{--fa:""}.fa-waze{--fa:""}.fa-yammer{--fa:""}.fa-git-alt{--fa:""}.fa-stackpath{--fa:""}.fa-cotton-bureau{--fa:""}.fa-buy-n-large{--fa:""}.fa-mdb{--fa:""}.fa-orcid{--fa:""}.fa-swift{--fa:""}.fa-umbraco{--fa:""}: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(/assets/fa-regular-400-DRN8N0d1.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(/assets/fa-solid-900-IAB4Droh.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(/assets/fa-brands-400-Bs6tcqqs.woff2)format("woff2")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(/assets/fa-solid-900-IAB4Droh.woff2)format("woff2")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(/assets/fa-regular-400-DRN8N0d1.woff2)format("woff2")}@font-face{font-family:FontAwesome;font-display:block;src:url(/assets/fa-solid-900-IAB4Droh.woff2)format("woff2")}@font-face{font-family:FontAwesome;font-display:block;src:url(/assets/fa-brands-400-Bs6tcqqs.woff2)format("woff2")}@font-face{font-family:FontAwesome;font-display:block;src:url(/assets/fa-regular-400-DRN8N0d1.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(/assets/fa-v4compatibility-CErXDOsT.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}*,:before,:after{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;padding:0}body{color:#303133;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f7fa;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#c0c4cc;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#909399}:root{--gerp-primary:#409eff;--gerp-success:#67c23a;--gerp-warning:#e6a23c;--gerp-danger:#f56c6c;--gerp-info:#909399;--gerp-bg-color:#f5f7fa;--gerp-border-color:#dcdfe6}html.dark{--gerp-bg-color:#1d1e1f;--gerp-border-color:#414243}
diff --git a/TempLate/GERP/index.html b/TempLate/GERP/index.html
index ae35455d..06822c70 100644
--- a/TempLate/GERP/index.html
+++ b/TempLate/GERP/index.html
@@ -5,7 +5,7 @@
GERP 管理系统
-
+
@@ -20,14 +20,14 @@
-
+
-
+
-
+
-
+
@@ -37,23 +37,23 @@
-
+
-
+
-
+
-
+
-
+
diff --git a/TempLate/assets/AboutView-B-o_IVyN.js b/TempLate/assets/AboutView-B-o_IVyN.js
new file mode 100644
index 00000000..657bdd7a
--- /dev/null
+++ b/TempLate/assets/AboutView-B-o_IVyN.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,b as a,d as o,h as s,j as c,l,m as u,p as d,y as f}from"./index-CUry87of.js";import{t as p}from"./_plugin-vue_export-helper-BDNMzG2s.js";import"./Ying_Right-BWic5Lsp.js";var m={class:`relative py-24 bg-gray-950 dark:bg-black overflow-hidden transition-colors duration-300`},h={class:`relative z-10 container mx-auto lg:max-w-[75%] px-6`},g={class:`grid grid-cols-1 md:grid-cols-3 gap-px bg-white/10 rounded-2xl overflow-hidden`},_={class:`text-6xl font-black text-white/10 group-hover:text-violet-500/30 transition-colors duration-500 leading-none`},v={class:`text-white text-xl font-bold mb-3`},y={class:`text-gray-500 text-sm leading-relaxed`},b={class:`relative py-24 bg-white dark:bg-slate-900 overflow-hidden transition-colors duration-300`},x={class:`relative z-10 container mx-auto lg:max-w-[75%] px-6`},S={class:`grid grid-cols-1 lg:grid-cols-2 gap-16 items-center`},C={class:`reveal flex flex-wrap gap-3 items-start content-start`,style:{"transition-delay":`300ms`}},w={class:`relative py-24 bg-white dark:bg-slate-900 border-t border-gray-100 dark:border-slate-800 overflow-hidden transition-colors duration-300`},T={class:`relative z-10 container mx-auto lg:max-w-[75%] px-6`},E={class:`grid grid-cols-2 lg:grid-cols-4 gap-6 md:gap-8`},D={class:`relative inline-flex items-center justify-center w-24 h-24 md:w-32 md:h-32 mb-4`},O={class:`absolute inset-0 w-full h-full -rotate-90`,viewBox:`0 0 100 100`},k=[`stroke-dasharray`,`stroke-dashoffset`],A={class:`relative z-10 text-center`},j={class:`text-2xl md:text-3xl font-black text-gray-900 dark:text-white`},M={class:`text-gray-400 dark:text-gray-500 text-sm font-medium tracking-widest uppercase`},N={class:`text-gray-900 dark:text-white font-semibold mt-1`},P={class:`relative py-24 overflow-hidden duration-300`},ee={class:`relative z-10 container mx-auto lg:max-w-[60%] px-6 text-center`},F={class:`grid grid-cols-1 md:grid-cols-3 gap-4 mt-12 mb-12 reveal`,style:{"transition-delay":`200ms`}},I={class:`font-bold text-gray-900 dark:text-white mb-1`},L={class:`text-xs text-gray-500 dark:text-gray-400`},R={class:`py-20 md:py-28 px-4 md:px-8`},z={class:`container mx-auto`},B={class:`grid grid-cols-1 lg:grid-cols-2 gap-12 items-center`},V={class:`reveal`},H={class:`grid grid-cols-1 md:grid-cols-2 gap-6`},U={class:`space-y-3`},W={class:`text-gray-700`},G={class:`space-y-3`},K={class:`text-gray-700`},q={class:`space-y-3`},J={class:`text-gray-700`},Y=`mailto:hr@gvsds.com?subject=我申请加入银河锋锐软件开发工作室&body=您好!%0D%0A%0D%0A我是 [ 姓名 / 网名 ],我期望加入银河锋锐软件开发工作室。%0D%0A我的联系方式是 [ 微信(必填) / QQ / TEL / X / 电报 / DISCORD ] %0D%0A我的兴趣爱好是 [ 选填 ],我的能力是 [ 选填 ]。%0D%0A我能够作为 [ 画师 / 程序员 / 测试人员 ] 加入工作室。%0D%0A [ 您的更多个人信息(选填)(个人简历等) ] %0D%0A希望您能提供一个机会,感谢!%0D%0A—— [ 姓名 / 网名 ] [ 年-月-日 ]`,X=p(i({__name:`AboutView`,setup(i){let p=null;a(()=>{let e=document.querySelectorAll(`.reveal`);p=new IntersectionObserver(e=>{e.forEach(e=>{if(e.isIntersecting){let t=e.target;t.style.opacity=`1`,t.style.transform=`translateY(0)`,p?.unobserve(t)}})},{threshold:.1}),e.forEach(e=>{let t=e;t.style.opacity=`0`,t.style.transform=`translateY(15px)`,t.style.transition=`opacity 0.5s ease, transform 0.5s ease`,p?.observe(t)})}),f(()=>{p?.disconnect()});let X=[{title:`和而不同`,icon:`fa-code`,iconBg:`bg-violet-500/10 border border-violet-500/20`,lineColor:`bg-violet-400`,desc:`尊重每一位开发者独特的风格与思路,在差异中寻求最优解。`},{title:`创新为主`,icon:`fa-rocket`,iconBg:`bg-sky-500/10 border border-sky-500/20`,lineColor:`bg-sky-400`,desc:`不满足于已知的边界,持续叩响未知领域的大门,让每一行代码都充满可能。`},{title:`以人为本`,icon:`fa-users`,iconBg:`bg-emerald-500/10 border border-emerald-500/20`,lineColor:`bg-emerald-400`,desc:`技术服务于人,成长成就彼此,让每个人都能在这里找到属于自己的位置。`}],Z=[{name:`开源`,cls:`border-2 border-gray-900 dark:border-white text-gray-900 dark:text-white`},{name:`协作`,cls:`bg-violet-500 text-white`},{name:`非营利`,cls:`border-2 border-gray-200 dark:border-slate-600 text-gray-400 dark:text-gray-500`},{name:`创新`,cls:`bg-sky-500 text-white`},{name:`年轻`,cls:`border-2 border-gray-200 dark:border-slate-600 text-gray-400 dark:text-gray-500`},{name:`分享`,cls:`border-2 border-gray-900 dark:border-white text-gray-900 dark:text-white`},{name:`成长`,cls:`bg-emerald-500 text-white`},{name:`技术探索`,cls:`border-2 border-gray-200 dark:border-slate-600 text-gray-400 dark:text-gray-500`},{name:`热爱`,cls:`bg-amber-400 text-gray-900`},{name:`GitHub`,cls:`border-2 border-gray-200 dark:border-slate-600 text-gray-400 dark:text-gray-500`},{name:`彼此成就`,cls:`border-2 border-gray-900 dark:border-white text-gray-900 dark:text-white`}],Q=[{label:`Members`,sub:`核心成员`,display:`17`,color:`text-violet-400`,dashArray:`283`,dashOffset:`70`},{label:`Projects`,sub:`开源项目`,display:`28`,color:`text-sky-400`,dashArray:`283`,dashOffset:`90`},{label:`Commits`,sub:`代码提交量`,display:`100w+`,color:`text-emerald-400`,dashArray:`283`,dashOffset:`20`},{label:`Clients`,sub:`服务客户`,display:`1500+`,color:`text-amber-400`,dashArray:`283`,dashOffset:`50`}],$=[{name:`画师`,icon:`fa-paint-brush`,iconBg:`bg-violet-100 dark:bg-violet-900/30`,card:`border-violet-100 dark:border-violet-900/50 bg-violet-50/50 dark:bg-violet-900/10 hover:border-violet-400 dark:hover:border-violet-500`,desc:`用艺术点亮技术世界`},{name:`程序员`,icon:`fa-terminal`,iconBg:`bg-sky-100 dark:bg-sky-900/30`,card:`border-sky-100 dark:border-sky-900/50 bg-sky-50/50 dark:bg-sky-900/10 hover:border-sky-400 dark:hover:border-sky-500`,desc:`用代码构建无限可能`},{name:`测试人员`,icon:`fa-bug`,iconBg:`bg-emerald-100 dark:bg-emerald-900/30`,card:`border-emerald-100 dark:border-emerald-900/50 bg-emerald-50/50 dark:bg-emerald-900/10 hover:border-emerald-400 dark:hover:border-emerald-500`,desc:`用严谨保障每个细节`}],te=[`Python 开发`,`C/C++ 开发`,`Web 前端(HTML/CSS/JS)`,`后端架构`,`数据库(SQL)`,`逆向反病毒`],ne=[`UI / UX 设计`,`插画绘制`,`动效设计`],re=[`人工智能`,`操作系统优化`,`服务器部署`,`心理测评工具开发`];return(i,a)=>(r(),d(`div`,null,[a[24]||=u(`
非营利 · 开源 · 共建
银河锋锐 SOFTWARE DEVELOPMENT STUDIO 因热爱而聚,以技术为桥—— 一群年轻开发者的开源实验场
`,1),o(`section`,m,[a[1]||=o(`div`,{class:`absolute inset-0 flex items-center justify-center pointer-events-none select-none overflow-hidden`},[o(`span`,{class:`text-[20vw] font-black text-white/[0.02] tracking-widest whitespace-nowrap`},`CORE`)],-1),o(`div`,h,[a[0]||=o(`div`,{class:`flex items-center gap-4 mb-16 reveal`},[o(`div`,{class:`w-8 h-px bg-white/30`}),o(`span`,{class:`text-white/40 text-sm tracking-widest uppercase`},`Our Philosophy`)],-1),o(`div`,g,[(r(),d(l,null,e(X,(e,r)=>o(`div`,{key:r,class:`group relative bg-gray-950 dark:bg-black p-8 md:p-10 flex flex-col gap-6 hover:bg-white/5 transition-colors duration-500 reveal`,style:t({transitionDelay:r*150+`ms`})},[o(`div`,_,`0`+n(r+1),1),o(`div`,{class:c([`w-10 h-10 rounded-xl flex items-center justify-center group-hover:bg-violet-500/20 transition-colors duration-300`,e.iconBg])},[o(`i`,{class:c([`fa`,e.icon])},null,2)],2),o(`div`,null,[o(`h4`,v,n(e.title),1),o(`p`,y,n(e.desc),1)]),o(`div`,{class:c([`mt-auto w-0 h-px group-hover:w-full transition-all duration-700`,e.lineColor])},null,2)],4)),64))])])]),o(`section`,b,[a[3]||=o(`div`,{class:`absolute right-0 top-0 h-full w-1/2 bg-gray-50 dark:bg-slate-800/50 pointer-events-none`,style:{"clip-path":`polygon(15% 0, 100% 0, 100% 100%, 0% 100%)`}},null,-1),o(`div`,x,[o(`div`,S,[a[2]||=u(` 自成立以来,始终以开源精神驱动前行,在 GitHub 等平台分享项目、文章与经验,让技术的价值触达更多人。
我们不追逐商业利益,通过编程兼职保障基本运转,让这里永远是一片纯粹的技术沃土。
这里不只是写代码的地方,更是结识同好、分享日常的温暖港湾。
`,1),o(`div`,C,[(r(),d(l,null,e(Z,e=>o(`span`,{key:e.name,class:c([e.cls,`px-5 py-3 rounded-full font-bold text-lg`])},n(e.name),3)),64))])])])]),o(`section`,w,[a[6]||=o(`div`,{class:`absolute -left-32 -top-32 w-96 h-96 rounded-full border border-gray-100 dark:border-slate-800 pointer-events-none`},null,-1),a[7]||=o(`div`,{class:`absolute -left-16 -top-16 w-64 h-64 rounded-full border border-gray-100 dark:border-slate-800 pointer-events-none`},null,-1),a[8]||=o(`div`,{class:`absolute -right-32 -bottom-32 w-96 h-96 rounded-full border border-gray-100 dark:border-slate-800 pointer-events-none`},null,-1),o(`div`,T,[a[5]||=o(`div`,{class:`text-center mb-16 reveal`},[o(`span`,{class:`text-xs font-bold tracking-widest text-sky-500 uppercase`},`By The Numbers`),o(`h3`,{class:`text-3xl md:text-4xl font-black text-gray-900 dark:text-white mt-3`},`用数字说话`)],-1),o(`div`,E,[(r(),d(l,null,e(Q,(e,i)=>o(`div`,{key:i,class:`group text-center reveal`,style:t({transitionDelay:i*100+`ms`})},[o(`div`,D,[(r(),d(`svg`,O,[a[4]||=o(`circle`,{cx:`50`,cy:`50`,r:`45`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,class:`text-gray-100 dark:text-slate-800`},null,-1),o(`circle`,{cx:`50`,cy:`50`,r:`45`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-dasharray":e.dashArray,"stroke-dashoffset":e.dashOffset,class:c([`transition-all duration-1000`,e.color])},null,10,k)])),o(`div`,A,[o(`div`,j,n(e.display),1)])]),o(`p`,M,n(e.label),1),o(`p`,N,n(e.sub),1)],4)),64))])])]),a[25]||=u(`
The Founders
初心如磐,携手同行 因为共同的热爱,四个年轻的灵魂在此交汇
"独行快,众行远。我们是伙伴,更是彼此坚实的后盾。"
Together We Build
Our Belief
每一份对技术的热爱 , 都能汇聚成改变 的力量。
无论你是刚踏入技术领域的新手,还是深耕行业的资深开发者—— 只要怀揣好奇,这里就是你的地方。
技术的力量源于共同探索,成长的价值在于「成就彼此」
`,2),o(`section`,P,[a[12]||=o(`div`,{class:`absolute left-0 top-0 w-[15%] h-full z-0 pointer-events-none c-furry`},[o(`img`,{src:`/assets/img/Background/ChiSha_Left.png`,alt:`左侧吉祥物`,class:`w-full h-full object-contain object-left opacity-60 dark:opacity-40`})],-1),a[13]||=o(`div`,{class:`absolute right-0 top-0 w-[15%] h-full z-0 pointer-events-none c-furry`},[o(`img`,{src:`/assets/img/Background/Ying_Right.png`,alt:`右侧吉祥物`,class:`w-full h-full object-contain object-right opacity-60 dark:opacity-40`})],-1),o(`div`,ee,[a[11]||=u(`Join Us 期待与你同行 我们欢迎画师 、 程序员 、 测试人员 , 以及所有愿意与我们一起探索技术边界的你。
`,1),o(`div`,F,[(r(),d(l,null,e($,(e,t)=>o(`div`,{key:t,class:c([e.card,`group p-6 rounded-2xl border-2 hover:scale-105 transition-all duration-300 cursor-default`])},[o(`div`,{class:c([`w-12 h-12 rounded-xl flex items-center justify-center mx-auto mb-3 group-hover:bg-violet-200 transition-colors`,e.iconBg])},[o(`i`,{class:c([`fa text-xl`,e.icon])},null,2)],2),o(`h5`,I,n(e.name),1),o(`p`,L,n(e.desc),1)],2)),64))]),o(`div`,{class:`reveal`,style:{"transition-delay":`400ms`}},[o(`a`,{href:Y,class:`group relative inline-flex items-center gap-3 px-10 py-5 bg-gray-900 dark:bg-white rounded-2xl text-white dark:text-gray-900 font-bold text-lg transition-all duration-500 hover:scale-105 hover:shadow-[0_20px_60px_rgba(0,0,0,0.2)] dark:hover:shadow-[0_20px_60px_rgba(255,255,255,0.15)] overflow-hidden`},[...a[9]||=[o(`span`,{class:`absolute inset-0 bg-gradient-to-r from-violet-600 via-sky-500 to-emerald-500 opacity-0 group-hover:opacity-100 transition-opacity duration-500`},null,-1),o(`i`,{class:`fa fa-paper-plane relative z-10 group-hover:translate-x-1 group-hover:-translate-y-1 transition-transform duration-300`},null,-1),o(`span`,{class:`relative z-10`},`发送申请邮件`,-1)]]),a[10]||=o(`p`,{class:`mt-4 text-xs text-gray-400 dark:text-gray-600`},` 📮 hr@gvsds.com · 我们会尽快回复你的申请 `,-1)])])]),o(`section`,R,[o(`div`,z,[o(`div`,B,[o(`div`,V,[a[20]||=o(`h2`,{class:`text-3xl md:text-4xl font-extrabold text-gray-900 pl-4 border-l-4 border-gray-900 mb-8`},`涉及领域`,-1),a[21]||=o(`div`,{class:`w-4/5 mx-auto md:mx-0 mb-8`},[o(`div`,{class:`border-b border-gray-200 pb-2`})],-1),o(`div`,H,[o(`div`,null,[a[15]||=o(`h3`,{class:`text-lg font-semibold text-gray-900 mb-4`},`开发类`,-1),o(`ul`,U,[(r(),d(l,null,e(te,e=>o(`li`,{key:e,class:`flex items-center`},[a[14]||=o(`div`,{class:`w-2 h-2 bg-gray-900 rounded-full mr-3`},null,-1),o(`span`,W,n(e),1)])),64))])]),o(`div`,null,[a[18]||=o(`h3`,{class:`text-lg font-semibold text-gray-900 mb-4`},`设计类`,-1),o(`ul`,G,[(r(),d(l,null,e(ne,e=>o(`li`,{key:e,class:`flex items-center`},[a[16]||=o(`div`,{class:`w-2 h-2 bg-gray-900 rounded-full mr-3`},null,-1),o(`span`,K,n(e),1)])),64))]),a[19]||=o(`h3`,{class:`text-lg font-semibold text-gray-900 mt-6 mb-4`},`其他`,-1),o(`ul`,q,[(r(),d(l,null,e(re,e=>o(`li`,{key:e,class:`flex items-center`},[a[17]||=o(`div`,{class:`w-2 h-2 bg-gray-900 rounded-full mr-3`},null,-1),o(`span`,J,n(e),1)])),64))])])])]),o(`div`,{class:`reveal`,style:{"transition-delay":`300ms`}},[o(`div`,{class:`bg-white dark:bg-slate-800 rounded-xl p-8 md:p-10 shadow-[0_0_30px_rgba(0,0,0,0.08)] dark:shadow-[0_0_30px_rgba(0,0,0,0.4)] border border-gray-100 dark:border-slate-700`},[a[23]||=u(`无论你是谁,能力如何,只要你与我们有共同的理想,都能加入我们的团队,与我们共同努力。
申请加入(微信) `,4),o(`a`,{href:Y,class:`mt-4 inline-block ml-4 bg-gray-900 dark:bg-white dark:text-gray-900 text-white font-semibold px-8 py-4 rounded-lg transition-all duration-300 hover:bg-gray-800 dark:hover:bg-gray-200 hover:shadow-[0_0_15px_rgba(0,0,0,0.1)] dark:hover:shadow-[0_0_15px_rgba(255,255,255,0.2)] transform hover:-translate-y-1 active:scale-98`},[...a[22]||=[s(` 申请加入(邮箱) `,-1),o(`i`,{class:`fa fa-arrow-right ml-2`},null,-1)]])])])])])])]))}}),[[`__scopeId`,`data-v-3fe6dca8`]]);export{X as default};
\ No newline at end of file
diff --git a/TempLate/assets/AboutView-BvZcTpFC.js b/TempLate/assets/AboutView-BvZcTpFC.js
new file mode 100644
index 00000000..02d0bc43
--- /dev/null
+++ b/TempLate/assets/AboutView-BvZcTpFC.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,b as a,d as o,h as s,j as c,l,m as u,p as d,y as f}from"./index-CMhybB9x.js";import{t as p}from"./_plugin-vue_export-helper-BDNMzG2s.js";import"./Ying_Right-BWic5Lsp.js";var m={class:`relative py-24 bg-gray-950 dark:bg-black overflow-hidden transition-colors duration-300`},h={class:`relative z-10 container mx-auto lg:max-w-[75%] px-6`},g={class:`grid grid-cols-1 md:grid-cols-3 gap-px bg-white/10 rounded-2xl overflow-hidden`},_={class:`text-6xl font-black text-white/10 group-hover:text-violet-500/30 transition-colors duration-500 leading-none`},v={class:`text-white text-xl font-bold mb-3`},y={class:`text-gray-500 text-sm leading-relaxed`},b={class:`relative py-24 bg-white dark:bg-slate-900 overflow-hidden transition-colors duration-300`},x={class:`relative z-10 container mx-auto lg:max-w-[75%] px-6`},S={class:`grid grid-cols-1 lg:grid-cols-2 gap-16 items-center`},C={class:`reveal flex flex-wrap gap-3 items-start content-start`,style:{"transition-delay":`300ms`}},w={class:`relative py-24 bg-white dark:bg-slate-900 border-t border-gray-100 dark:border-slate-800 overflow-hidden transition-colors duration-300`},T={class:`relative z-10 container mx-auto lg:max-w-[75%] px-6`},E={class:`grid grid-cols-2 lg:grid-cols-4 gap-6 md:gap-8`},D={class:`relative inline-flex items-center justify-center w-24 h-24 md:w-32 md:h-32 mb-4`},O={class:`absolute inset-0 w-full h-full -rotate-90`,viewBox:`0 0 100 100`},k=[`stroke-dasharray`,`stroke-dashoffset`],A={class:`relative z-10 text-center`},j={class:`text-2xl md:text-3xl font-black text-gray-900 dark:text-white`},M={class:`text-gray-400 dark:text-gray-500 text-sm font-medium tracking-widest uppercase`},N={class:`text-gray-900 dark:text-white font-semibold mt-1`},P={class:`relative py-24 overflow-hidden duration-300`},ee={class:`relative z-10 container mx-auto lg:max-w-[60%] px-6 text-center`},F={class:`grid grid-cols-1 md:grid-cols-3 gap-4 mt-12 mb-12 reveal`,style:{"transition-delay":`200ms`}},I={class:`font-bold text-gray-900 dark:text-white mb-1`},L={class:`text-xs text-gray-500 dark:text-gray-400`},R={class:`py-20 md:py-28 px-4 md:px-8`},z={class:`container mx-auto`},B={class:`grid grid-cols-1 lg:grid-cols-2 gap-12 items-center`},V={class:`reveal`},H={class:`grid grid-cols-1 md:grid-cols-2 gap-6`},U={class:`space-y-3`},W={class:`text-gray-700`},G={class:`space-y-3`},K={class:`text-gray-700`},q={class:`space-y-3`},J={class:`text-gray-700`},Y=`mailto:hr@gvsds.com?subject=我申请加入银河锋锐软件开发工作室&body=您好!%0D%0A%0D%0A我是 [ 姓名 / 网名 ],我期望加入银河锋锐软件开发工作室。%0D%0A我的联系方式是 [ 微信(必填) / QQ / TEL / X / 电报 / DISCORD ] %0D%0A我的兴趣爱好是 [ 选填 ],我的能力是 [ 选填 ]。%0D%0A我能够作为 [ 画师 / 程序员 / 测试人员 ] 加入工作室。%0D%0A [ 您的更多个人信息(选填)(个人简历等) ] %0D%0A希望您能提供一个机会,感谢!%0D%0A—— [ 姓名 / 网名 ] [ 年-月-日 ]`,X=p(i({__name:`AboutView`,setup(i){let p=null;a(()=>{let e=document.querySelectorAll(`.reveal`);p=new IntersectionObserver(e=>{e.forEach(e=>{if(e.isIntersecting){let t=e.target;t.style.opacity=`1`,t.style.transform=`translateY(0)`,p?.unobserve(t)}})},{threshold:.1}),e.forEach(e=>{let t=e;t.style.opacity=`0`,t.style.transform=`translateY(15px)`,t.style.transition=`opacity 0.5s ease, transform 0.5s ease`,p?.observe(t)})}),f(()=>{p?.disconnect()});let X=[{title:`和而不同`,icon:`fa-code`,iconBg:`bg-violet-500/10 border border-violet-500/20`,lineColor:`bg-violet-400`,desc:`尊重每一位开发者独特的风格与思路,在差异中寻求最优解。`},{title:`创新为主`,icon:`fa-rocket`,iconBg:`bg-sky-500/10 border border-sky-500/20`,lineColor:`bg-sky-400`,desc:`不满足于已知的边界,持续叩响未知领域的大门,让每一行代码都充满可能。`},{title:`以人为本`,icon:`fa-users`,iconBg:`bg-emerald-500/10 border border-emerald-500/20`,lineColor:`bg-emerald-400`,desc:`技术服务于人,成长成就彼此,让每个人都能在这里找到属于自己的位置。`}],Z=[{name:`开源`,cls:`border-2 border-gray-900 dark:border-white text-gray-900 dark:text-white`},{name:`协作`,cls:`bg-violet-500 text-white`},{name:`非营利`,cls:`border-2 border-gray-200 dark:border-slate-600 text-gray-400 dark:text-gray-500`},{name:`创新`,cls:`bg-sky-500 text-white`},{name:`年轻`,cls:`border-2 border-gray-200 dark:border-slate-600 text-gray-400 dark:text-gray-500`},{name:`分享`,cls:`border-2 border-gray-900 dark:border-white text-gray-900 dark:text-white`},{name:`成长`,cls:`bg-emerald-500 text-white`},{name:`技术探索`,cls:`border-2 border-gray-200 dark:border-slate-600 text-gray-400 dark:text-gray-500`},{name:`热爱`,cls:`bg-amber-400 text-gray-900`},{name:`GitHub`,cls:`border-2 border-gray-200 dark:border-slate-600 text-gray-400 dark:text-gray-500`},{name:`彼此成就`,cls:`border-2 border-gray-900 dark:border-white text-gray-900 dark:text-white`}],Q=[{label:`Members`,sub:`核心成员`,display:`17`,color:`text-violet-400`,dashArray:`283`,dashOffset:`70`},{label:`Projects`,sub:`开源项目`,display:`28`,color:`text-sky-400`,dashArray:`283`,dashOffset:`90`},{label:`Commits`,sub:`代码提交量`,display:`100w+`,color:`text-emerald-400`,dashArray:`283`,dashOffset:`20`},{label:`Clients`,sub:`服务客户`,display:`1500+`,color:`text-amber-400`,dashArray:`283`,dashOffset:`50`}],$=[{name:`画师`,icon:`fa-paint-brush`,iconBg:`bg-violet-100 dark:bg-violet-900/30`,card:`border-violet-100 dark:border-violet-900/50 bg-violet-50/50 dark:bg-violet-900/10 hover:border-violet-400 dark:hover:border-violet-500`,desc:`用艺术点亮技术世界`},{name:`程序员`,icon:`fa-terminal`,iconBg:`bg-sky-100 dark:bg-sky-900/30`,card:`border-sky-100 dark:border-sky-900/50 bg-sky-50/50 dark:bg-sky-900/10 hover:border-sky-400 dark:hover:border-sky-500`,desc:`用代码构建无限可能`},{name:`测试人员`,icon:`fa-bug`,iconBg:`bg-emerald-100 dark:bg-emerald-900/30`,card:`border-emerald-100 dark:border-emerald-900/50 bg-emerald-50/50 dark:bg-emerald-900/10 hover:border-emerald-400 dark:hover:border-emerald-500`,desc:`用严谨保障每个细节`}],te=[`Python 开发`,`C/C++ 开发`,`Web 前端(HTML/CSS/JS)`,`后端架构`,`数据库(SQL)`,`逆向反病毒`],ne=[`UI / UX 设计`,`插画绘制`,`动效设计`],re=[`人工智能`,`操作系统优化`,`服务器部署`,`心理测评工具开发`];return(i,a)=>(r(),d(`div`,null,[a[24]||=u(`
非营利 · 开源 · 共建
银河锋锐 SOFTWARE DEVELOPMENT STUDIO 因热爱而聚,以技术为桥—— 一群年轻开发者的开源实验场
`,1),o(`section`,m,[a[1]||=o(`div`,{class:`absolute inset-0 flex items-center justify-center pointer-events-none select-none overflow-hidden`},[o(`span`,{class:`text-[20vw] font-black text-white/[0.02] tracking-widest whitespace-nowrap`},`CORE`)],-1),o(`div`,h,[a[0]||=o(`div`,{class:`flex items-center gap-4 mb-16 reveal`},[o(`div`,{class:`w-8 h-px bg-white/30`}),o(`span`,{class:`text-white/40 text-sm tracking-widest uppercase`},`Our Philosophy`)],-1),o(`div`,g,[(r(),d(l,null,e(X,(e,r)=>o(`div`,{key:r,class:`group relative bg-gray-950 dark:bg-black p-8 md:p-10 flex flex-col gap-6 hover:bg-white/5 transition-colors duration-500 reveal`,style:t({transitionDelay:r*150+`ms`})},[o(`div`,_,`0`+n(r+1),1),o(`div`,{class:c([`w-10 h-10 rounded-xl flex items-center justify-center group-hover:bg-violet-500/20 transition-colors duration-300`,e.iconBg])},[o(`i`,{class:c([`fa`,e.icon])},null,2)],2),o(`div`,null,[o(`h4`,v,n(e.title),1),o(`p`,y,n(e.desc),1)]),o(`div`,{class:c([`mt-auto w-0 h-px group-hover:w-full transition-all duration-700`,e.lineColor])},null,2)],4)),64))])])]),o(`section`,b,[a[3]||=o(`div`,{class:`absolute right-0 top-0 h-full w-1/2 bg-gray-50 dark:bg-slate-800/50 pointer-events-none`,style:{"clip-path":`polygon(15% 0, 100% 0, 100% 100%, 0% 100%)`}},null,-1),o(`div`,x,[o(`div`,S,[a[2]||=u(` 自成立以来,始终以开源精神驱动前行,在 GitHub 等平台分享项目、文章与经验,让技术的价值触达更多人。
我们不追逐商业利益,通过编程兼职保障基本运转,让这里永远是一片纯粹的技术沃土。
这里不只是写代码的地方,更是结识同好、分享日常的温暖港湾。
`,1),o(`div`,C,[(r(),d(l,null,e(Z,e=>o(`span`,{key:e.name,class:c([e.cls,`px-5 py-3 rounded-full font-bold text-lg`])},n(e.name),3)),64))])])])]),o(`section`,w,[a[6]||=o(`div`,{class:`absolute -left-32 -top-32 w-96 h-96 rounded-full border border-gray-100 dark:border-slate-800 pointer-events-none`},null,-1),a[7]||=o(`div`,{class:`absolute -left-16 -top-16 w-64 h-64 rounded-full border border-gray-100 dark:border-slate-800 pointer-events-none`},null,-1),a[8]||=o(`div`,{class:`absolute -right-32 -bottom-32 w-96 h-96 rounded-full border border-gray-100 dark:border-slate-800 pointer-events-none`},null,-1),o(`div`,T,[a[5]||=o(`div`,{class:`text-center mb-16 reveal`},[o(`span`,{class:`text-xs font-bold tracking-widest text-sky-500 uppercase`},`By The Numbers`),o(`h3`,{class:`text-3xl md:text-4xl font-black text-gray-900 dark:text-white mt-3`},`用数字说话`)],-1),o(`div`,E,[(r(),d(l,null,e(Q,(e,i)=>o(`div`,{key:i,class:`group text-center reveal`,style:t({transitionDelay:i*100+`ms`})},[o(`div`,D,[(r(),d(`svg`,O,[a[4]||=o(`circle`,{cx:`50`,cy:`50`,r:`45`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,class:`text-gray-100 dark:text-slate-800`},null,-1),o(`circle`,{cx:`50`,cy:`50`,r:`45`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-dasharray":e.dashArray,"stroke-dashoffset":e.dashOffset,class:c([`transition-all duration-1000`,e.color])},null,10,k)])),o(`div`,A,[o(`div`,j,n(e.display),1)])]),o(`p`,M,n(e.label),1),o(`p`,N,n(e.sub),1)],4)),64))])])]),a[25]||=u(`
The Founders
初心如磐,携手同行 因为共同的热爱,四个年轻的灵魂在此交汇
"独行快,众行远。我们是伙伴,更是彼此坚实的后盾。"
Together We Build
Our Belief
每一份对技术的热爱 , 都能汇聚成改变 的力量。
无论你是刚踏入技术领域的新手,还是深耕行业的资深开发者—— 只要怀揣好奇,这里就是你的地方。
技术的力量源于共同探索,成长的价值在于「成就彼此」
`,2),o(`section`,P,[a[12]||=o(`div`,{class:`absolute left-0 top-0 w-[15%] h-full z-0 pointer-events-none c-furry`},[o(`img`,{src:`/assets/img/Background/ChiSha_Left.png`,alt:`左侧吉祥物`,class:`w-full h-full object-contain object-left opacity-60 dark:opacity-40`})],-1),a[13]||=o(`div`,{class:`absolute right-0 top-0 w-[15%] h-full z-0 pointer-events-none c-furry`},[o(`img`,{src:`/assets/img/Background/Ying_Right.png`,alt:`右侧吉祥物`,class:`w-full h-full object-contain object-right opacity-60 dark:opacity-40`})],-1),o(`div`,ee,[a[11]||=u(`Join Us 期待与你同行 我们欢迎画师 、 程序员 、 测试人员 , 以及所有愿意与我们一起探索技术边界的你。
`,1),o(`div`,F,[(r(),d(l,null,e($,(e,t)=>o(`div`,{key:t,class:c([e.card,`group p-6 rounded-2xl border-2 hover:scale-105 transition-all duration-300 cursor-default`])},[o(`div`,{class:c([`w-12 h-12 rounded-xl flex items-center justify-center mx-auto mb-3 group-hover:bg-violet-200 transition-colors`,e.iconBg])},[o(`i`,{class:c([`fa text-xl`,e.icon])},null,2)],2),o(`h5`,I,n(e.name),1),o(`p`,L,n(e.desc),1)],2)),64))]),o(`div`,{class:`reveal`,style:{"transition-delay":`400ms`}},[o(`a`,{href:Y,class:`group relative inline-flex items-center gap-3 px-10 py-5 bg-gray-900 dark:bg-white rounded-2xl text-white dark:text-gray-900 font-bold text-lg transition-all duration-500 hover:scale-105 hover:shadow-[0_20px_60px_rgba(0,0,0,0.2)] dark:hover:shadow-[0_20px_60px_rgba(255,255,255,0.15)] overflow-hidden`},[...a[9]||=[o(`span`,{class:`absolute inset-0 bg-gradient-to-r from-violet-600 via-sky-500 to-emerald-500 opacity-0 group-hover:opacity-100 transition-opacity duration-500`},null,-1),o(`i`,{class:`fa fa-paper-plane relative z-10 group-hover:translate-x-1 group-hover:-translate-y-1 transition-transform duration-300`},null,-1),o(`span`,{class:`relative z-10`},`发送申请邮件`,-1)]]),a[10]||=o(`p`,{class:`mt-4 text-xs text-gray-400 dark:text-gray-600`},` 📮 hr@gvsds.com · 我们会尽快回复你的申请 `,-1)])])]),o(`section`,R,[o(`div`,z,[o(`div`,B,[o(`div`,V,[a[20]||=o(`h2`,{class:`text-3xl md:text-4xl font-extrabold text-gray-900 pl-4 border-l-4 border-gray-900 mb-8`},`涉及领域`,-1),a[21]||=o(`div`,{class:`w-4/5 mx-auto md:mx-0 mb-8`},[o(`div`,{class:`border-b border-gray-200 pb-2`})],-1),o(`div`,H,[o(`div`,null,[a[15]||=o(`h3`,{class:`text-lg font-semibold text-gray-900 mb-4`},`开发类`,-1),o(`ul`,U,[(r(),d(l,null,e(te,e=>o(`li`,{key:e,class:`flex items-center`},[a[14]||=o(`div`,{class:`w-2 h-2 bg-gray-900 rounded-full mr-3`},null,-1),o(`span`,W,n(e),1)])),64))])]),o(`div`,null,[a[18]||=o(`h3`,{class:`text-lg font-semibold text-gray-900 mb-4`},`设计类`,-1),o(`ul`,G,[(r(),d(l,null,e(ne,e=>o(`li`,{key:e,class:`flex items-center`},[a[16]||=o(`div`,{class:`w-2 h-2 bg-gray-900 rounded-full mr-3`},null,-1),o(`span`,K,n(e),1)])),64))]),a[19]||=o(`h3`,{class:`text-lg font-semibold text-gray-900 mt-6 mb-4`},`其他`,-1),o(`ul`,q,[(r(),d(l,null,e(re,e=>o(`li`,{key:e,class:`flex items-center`},[a[17]||=o(`div`,{class:`w-2 h-2 bg-gray-900 rounded-full mr-3`},null,-1),o(`span`,J,n(e),1)])),64))])])])]),o(`div`,{class:`reveal`,style:{"transition-delay":`300ms`}},[o(`div`,{class:`bg-white dark:bg-slate-800 rounded-xl p-8 md:p-10 shadow-[0_0_30px_rgba(0,0,0,0.08)] dark:shadow-[0_0_30px_rgba(0,0,0,0.4)] border border-gray-100 dark:border-slate-700`},[a[23]||=u(`无论你是谁,能力如何,只要你与我们有共同的理想,都能加入我们的团队,与我们共同努力。
申请加入(微信) `,4),o(`a`,{href:Y,class:`mt-4 inline-block ml-4 bg-gray-900 dark:bg-white dark:text-gray-900 text-white font-semibold px-8 py-4 rounded-lg transition-all duration-300 hover:bg-gray-800 dark:hover:bg-gray-200 hover:shadow-[0_0_15px_rgba(0,0,0,0.1)] dark:hover:shadow-[0_0_15px_rgba(255,255,255,0.2)] transform hover:-translate-y-1 active:scale-98`},[...a[22]||=[s(` 申请加入(邮箱) `,-1),o(`i`,{class:`fa fa-arrow-right ml-2`},null,-1)]])])])])])])]))}}),[[`__scopeId`,`data-v-3fe6dca8`]]);export{X as default};
\ No newline at end of file
diff --git a/TempLate/assets/AboutView-CE6nJjm9.js b/TempLate/assets/AboutView-CE6nJjm9.js
new file mode 100644
index 00000000..308aba4e
--- /dev/null
+++ b/TempLate/assets/AboutView-CE6nJjm9.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,b as a,d as o,h as s,j as c,l,m as u,p as d,y as f}from"./index-BM-LFFI_.js";import{t as p}from"./_plugin-vue_export-helper-BDNMzG2s.js";import"./Ying_Right-BWic5Lsp.js";var m={class:`relative py-24 bg-gray-950 dark:bg-black overflow-hidden transition-colors duration-300`},h={class:`relative z-10 container mx-auto lg:max-w-[75%] px-6`},g={class:`grid grid-cols-1 md:grid-cols-3 gap-px bg-white/10 rounded-2xl overflow-hidden`},_={class:`text-6xl font-black text-white/10 group-hover:text-violet-500/30 transition-colors duration-500 leading-none`},v={class:`text-white text-xl font-bold mb-3`},y={class:`text-gray-500 text-sm leading-relaxed`},b={class:`relative py-24 bg-white dark:bg-slate-900 overflow-hidden transition-colors duration-300`},x={class:`relative z-10 container mx-auto lg:max-w-[75%] px-6`},S={class:`grid grid-cols-1 lg:grid-cols-2 gap-16 items-center`},C={class:`reveal flex flex-wrap gap-3 items-start content-start`,style:{"transition-delay":`300ms`}},w={class:`relative py-24 bg-white dark:bg-slate-900 border-t border-gray-100 dark:border-slate-800 overflow-hidden transition-colors duration-300`},T={class:`relative z-10 container mx-auto lg:max-w-[75%] px-6`},E={class:`grid grid-cols-2 lg:grid-cols-4 gap-6 md:gap-8`},D={class:`relative inline-flex items-center justify-center w-24 h-24 md:w-32 md:h-32 mb-4`},O={class:`absolute inset-0 w-full h-full -rotate-90`,viewBox:`0 0 100 100`},k=[`stroke-dasharray`,`stroke-dashoffset`],A={class:`relative z-10 text-center`},j={class:`text-2xl md:text-3xl font-black text-gray-900 dark:text-white`},M={class:`text-gray-400 dark:text-gray-500 text-sm font-medium tracking-widest uppercase`},N={class:`text-gray-900 dark:text-white font-semibold mt-1`},P={class:`relative py-24 overflow-hidden duration-300`},ee={class:`relative z-10 container mx-auto lg:max-w-[60%] px-6 text-center`},F={class:`grid grid-cols-1 md:grid-cols-3 gap-4 mt-12 mb-12 reveal`,style:{"transition-delay":`200ms`}},I={class:`font-bold text-gray-900 dark:text-white mb-1`},L={class:`text-xs text-gray-500 dark:text-gray-400`},R={class:`py-20 md:py-28 px-4 md:px-8`},z={class:`container mx-auto`},B={class:`grid grid-cols-1 lg:grid-cols-2 gap-12 items-center`},V={class:`reveal`},H={class:`grid grid-cols-1 md:grid-cols-2 gap-6`},U={class:`space-y-3`},W={class:`text-gray-700`},G={class:`space-y-3`},K={class:`text-gray-700`},q={class:`space-y-3`},J={class:`text-gray-700`},Y=`mailto:hr@gvsds.com?subject=我申请加入银河锋锐软件开发工作室&body=您好!%0D%0A%0D%0A我是 [ 姓名 / 网名 ],我期望加入银河锋锐软件开发工作室。%0D%0A我的联系方式是 [ 微信(必填) / QQ / TEL / X / 电报 / DISCORD ] %0D%0A我的兴趣爱好是 [ 选填 ],我的能力是 [ 选填 ]。%0D%0A我能够作为 [ 画师 / 程序员 / 测试人员 ] 加入工作室。%0D%0A [ 您的更多个人信息(选填)(个人简历等) ] %0D%0A希望您能提供一个机会,感谢!%0D%0A—— [ 姓名 / 网名 ] [ 年-月-日 ]`,X=p(i({__name:`AboutView`,setup(i){let p=null;a(()=>{let e=document.querySelectorAll(`.reveal`);p=new IntersectionObserver(e=>{e.forEach(e=>{if(e.isIntersecting){let t=e.target;t.style.opacity=`1`,t.style.transform=`translateY(0)`,p?.unobserve(t)}})},{threshold:.1}),e.forEach(e=>{let t=e;t.style.opacity=`0`,t.style.transform=`translateY(15px)`,t.style.transition=`opacity 0.5s ease, transform 0.5s ease`,p?.observe(t)})}),f(()=>{p?.disconnect()});let X=[{title:`和而不同`,icon:`fa-code`,iconBg:`bg-violet-500/10 border border-violet-500/20`,lineColor:`bg-violet-400`,desc:`尊重每一位开发者独特的风格与思路,在差异中寻求最优解。`},{title:`创新为主`,icon:`fa-rocket`,iconBg:`bg-sky-500/10 border border-sky-500/20`,lineColor:`bg-sky-400`,desc:`不满足于已知的边界,持续叩响未知领域的大门,让每一行代码都充满可能。`},{title:`以人为本`,icon:`fa-users`,iconBg:`bg-emerald-500/10 border border-emerald-500/20`,lineColor:`bg-emerald-400`,desc:`技术服务于人,成长成就彼此,让每个人都能在这里找到属于自己的位置。`}],Z=[{name:`开源`,cls:`border-2 border-gray-900 dark:border-white text-gray-900 dark:text-white`},{name:`协作`,cls:`bg-violet-500 text-white`},{name:`非营利`,cls:`border-2 border-gray-200 dark:border-slate-600 text-gray-400 dark:text-gray-500`},{name:`创新`,cls:`bg-sky-500 text-white`},{name:`年轻`,cls:`border-2 border-gray-200 dark:border-slate-600 text-gray-400 dark:text-gray-500`},{name:`分享`,cls:`border-2 border-gray-900 dark:border-white text-gray-900 dark:text-white`},{name:`成长`,cls:`bg-emerald-500 text-white`},{name:`技术探索`,cls:`border-2 border-gray-200 dark:border-slate-600 text-gray-400 dark:text-gray-500`},{name:`热爱`,cls:`bg-amber-400 text-gray-900`},{name:`GitHub`,cls:`border-2 border-gray-200 dark:border-slate-600 text-gray-400 dark:text-gray-500`},{name:`彼此成就`,cls:`border-2 border-gray-900 dark:border-white text-gray-900 dark:text-white`}],Q=[{label:`Members`,sub:`核心成员`,display:`17`,color:`text-violet-400`,dashArray:`283`,dashOffset:`70`},{label:`Projects`,sub:`开源项目`,display:`28`,color:`text-sky-400`,dashArray:`283`,dashOffset:`90`},{label:`Commits`,sub:`代码提交量`,display:`100w+`,color:`text-emerald-400`,dashArray:`283`,dashOffset:`20`},{label:`Clients`,sub:`服务客户`,display:`1500+`,color:`text-amber-400`,dashArray:`283`,dashOffset:`50`}],$=[{name:`画师`,icon:`fa-paint-brush`,iconBg:`bg-violet-100 dark:bg-violet-900/30`,card:`border-violet-100 dark:border-violet-900/50 bg-violet-50/50 dark:bg-violet-900/10 hover:border-violet-400 dark:hover:border-violet-500`,desc:`用艺术点亮技术世界`},{name:`程序员`,icon:`fa-terminal`,iconBg:`bg-sky-100 dark:bg-sky-900/30`,card:`border-sky-100 dark:border-sky-900/50 bg-sky-50/50 dark:bg-sky-900/10 hover:border-sky-400 dark:hover:border-sky-500`,desc:`用代码构建无限可能`},{name:`测试人员`,icon:`fa-bug`,iconBg:`bg-emerald-100 dark:bg-emerald-900/30`,card:`border-emerald-100 dark:border-emerald-900/50 bg-emerald-50/50 dark:bg-emerald-900/10 hover:border-emerald-400 dark:hover:border-emerald-500`,desc:`用严谨保障每个细节`}],te=[`Python 开发`,`C/C++ 开发`,`Web 前端(HTML/CSS/JS)`,`后端架构`,`数据库(SQL)`,`逆向反病毒`],ne=[`UI / UX 设计`,`插画绘制`,`动效设计`],re=[`人工智能`,`操作系统优化`,`服务器部署`,`心理测评工具开发`];return(i,a)=>(r(),d(`div`,null,[a[24]||=u(`
非营利 · 开源 · 共建
银河锋锐 SOFTWARE DEVELOPMENT STUDIO 因热爱而聚,以技术为桥—— 一群年轻开发者的开源实验场
`,1),o(`section`,m,[a[1]||=o(`div`,{class:`absolute inset-0 flex items-center justify-center pointer-events-none select-none overflow-hidden`},[o(`span`,{class:`text-[20vw] font-black text-white/[0.02] tracking-widest whitespace-nowrap`},`CORE`)],-1),o(`div`,h,[a[0]||=o(`div`,{class:`flex items-center gap-4 mb-16 reveal`},[o(`div`,{class:`w-8 h-px bg-white/30`}),o(`span`,{class:`text-white/40 text-sm tracking-widest uppercase`},`Our Philosophy`)],-1),o(`div`,g,[(r(),d(l,null,e(X,(e,r)=>o(`div`,{key:r,class:`group relative bg-gray-950 dark:bg-black p-8 md:p-10 flex flex-col gap-6 hover:bg-white/5 transition-colors duration-500 reveal`,style:t({transitionDelay:r*150+`ms`})},[o(`div`,_,`0`+n(r+1),1),o(`div`,{class:c([`w-10 h-10 rounded-xl flex items-center justify-center group-hover:bg-violet-500/20 transition-colors duration-300`,e.iconBg])},[o(`i`,{class:c([`fa`,e.icon])},null,2)],2),o(`div`,null,[o(`h4`,v,n(e.title),1),o(`p`,y,n(e.desc),1)]),o(`div`,{class:c([`mt-auto w-0 h-px group-hover:w-full transition-all duration-700`,e.lineColor])},null,2)],4)),64))])])]),o(`section`,b,[a[3]||=o(`div`,{class:`absolute right-0 top-0 h-full w-1/2 bg-gray-50 dark:bg-slate-800/50 pointer-events-none`,style:{"clip-path":`polygon(15% 0, 100% 0, 100% 100%, 0% 100%)`}},null,-1),o(`div`,x,[o(`div`,S,[a[2]||=u(` 自成立以来,始终以开源精神驱动前行,在 GitHub 等平台分享项目、文章与经验,让技术的价值触达更多人。
我们不追逐商业利益,通过编程兼职保障基本运转,让这里永远是一片纯粹的技术沃土。
这里不只是写代码的地方,更是结识同好、分享日常的温暖港湾。
`,1),o(`div`,C,[(r(),d(l,null,e(Z,e=>o(`span`,{key:e.name,class:c([e.cls,`px-5 py-3 rounded-full font-bold text-lg`])},n(e.name),3)),64))])])])]),o(`section`,w,[a[6]||=o(`div`,{class:`absolute -left-32 -top-32 w-96 h-96 rounded-full border border-gray-100 dark:border-slate-800 pointer-events-none`},null,-1),a[7]||=o(`div`,{class:`absolute -left-16 -top-16 w-64 h-64 rounded-full border border-gray-100 dark:border-slate-800 pointer-events-none`},null,-1),a[8]||=o(`div`,{class:`absolute -right-32 -bottom-32 w-96 h-96 rounded-full border border-gray-100 dark:border-slate-800 pointer-events-none`},null,-1),o(`div`,T,[a[5]||=o(`div`,{class:`text-center mb-16 reveal`},[o(`span`,{class:`text-xs font-bold tracking-widest text-sky-500 uppercase`},`By The Numbers`),o(`h3`,{class:`text-3xl md:text-4xl font-black text-gray-900 dark:text-white mt-3`},`用数字说话`)],-1),o(`div`,E,[(r(),d(l,null,e(Q,(e,i)=>o(`div`,{key:i,class:`group text-center reveal`,style:t({transitionDelay:i*100+`ms`})},[o(`div`,D,[(r(),d(`svg`,O,[a[4]||=o(`circle`,{cx:`50`,cy:`50`,r:`45`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,class:`text-gray-100 dark:text-slate-800`},null,-1),o(`circle`,{cx:`50`,cy:`50`,r:`45`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-dasharray":e.dashArray,"stroke-dashoffset":e.dashOffset,class:c([`transition-all duration-1000`,e.color])},null,10,k)])),o(`div`,A,[o(`div`,j,n(e.display),1)])]),o(`p`,M,n(e.label),1),o(`p`,N,n(e.sub),1)],4)),64))])])]),a[25]||=u(`
The Founders
初心如磐,携手同行 因为共同的热爱,四个年轻的灵魂在此交汇
"独行快,众行远。我们是伙伴,更是彼此坚实的后盾。"
Together We Build
Our Belief
每一份对技术的热爱 , 都能汇聚成改变 的力量。
无论你是刚踏入技术领域的新手,还是深耕行业的资深开发者—— 只要怀揣好奇,这里就是你的地方。
技术的力量源于共同探索,成长的价值在于「成就彼此」
`,2),o(`section`,P,[a[12]||=o(`div`,{class:`absolute left-0 top-0 w-[15%] h-full z-0 pointer-events-none c-furry`},[o(`img`,{src:`/assets/img/Background/ChiSha_Left.png`,alt:`左侧吉祥物`,class:`w-full h-full object-contain object-left opacity-60 dark:opacity-40`})],-1),a[13]||=o(`div`,{class:`absolute right-0 top-0 w-[15%] h-full z-0 pointer-events-none c-furry`},[o(`img`,{src:`/assets/img/Background/Ying_Right.png`,alt:`右侧吉祥物`,class:`w-full h-full object-contain object-right opacity-60 dark:opacity-40`})],-1),o(`div`,ee,[a[11]||=u(`Join Us 期待与你同行 我们欢迎画师 、 程序员 、 测试人员 , 以及所有愿意与我们一起探索技术边界的你。
`,1),o(`div`,F,[(r(),d(l,null,e($,(e,t)=>o(`div`,{key:t,class:c([e.card,`group p-6 rounded-2xl border-2 hover:scale-105 transition-all duration-300 cursor-default`])},[o(`div`,{class:c([`w-12 h-12 rounded-xl flex items-center justify-center mx-auto mb-3 group-hover:bg-violet-200 transition-colors`,e.iconBg])},[o(`i`,{class:c([`fa text-xl`,e.icon])},null,2)],2),o(`h5`,I,n(e.name),1),o(`p`,L,n(e.desc),1)],2)),64))]),o(`div`,{class:`reveal`,style:{"transition-delay":`400ms`}},[o(`a`,{href:Y,class:`group relative inline-flex items-center gap-3 px-10 py-5 bg-gray-900 dark:bg-white rounded-2xl text-white dark:text-gray-900 font-bold text-lg transition-all duration-500 hover:scale-105 hover:shadow-[0_20px_60px_rgba(0,0,0,0.2)] dark:hover:shadow-[0_20px_60px_rgba(255,255,255,0.15)] overflow-hidden`},[...a[9]||=[o(`span`,{class:`absolute inset-0 bg-gradient-to-r from-violet-600 via-sky-500 to-emerald-500 opacity-0 group-hover:opacity-100 transition-opacity duration-500`},null,-1),o(`i`,{class:`fa fa-paper-plane relative z-10 group-hover:translate-x-1 group-hover:-translate-y-1 transition-transform duration-300`},null,-1),o(`span`,{class:`relative z-10`},`发送申请邮件`,-1)]]),a[10]||=o(`p`,{class:`mt-4 text-xs text-gray-400 dark:text-gray-600`},` 📮 hr@gvsds.com · 我们会尽快回复你的申请 `,-1)])])]),o(`section`,R,[o(`div`,z,[o(`div`,B,[o(`div`,V,[a[20]||=o(`h2`,{class:`text-3xl md:text-4xl font-extrabold text-gray-900 pl-4 border-l-4 border-gray-900 mb-8`},`涉及领域`,-1),a[21]||=o(`div`,{class:`w-4/5 mx-auto md:mx-0 mb-8`},[o(`div`,{class:`border-b border-gray-200 pb-2`})],-1),o(`div`,H,[o(`div`,null,[a[15]||=o(`h3`,{class:`text-lg font-semibold text-gray-900 mb-4`},`开发类`,-1),o(`ul`,U,[(r(),d(l,null,e(te,e=>o(`li`,{key:e,class:`flex items-center`},[a[14]||=o(`div`,{class:`w-2 h-2 bg-gray-900 rounded-full mr-3`},null,-1),o(`span`,W,n(e),1)])),64))])]),o(`div`,null,[a[18]||=o(`h3`,{class:`text-lg font-semibold text-gray-900 mb-4`},`设计类`,-1),o(`ul`,G,[(r(),d(l,null,e(ne,e=>o(`li`,{key:e,class:`flex items-center`},[a[16]||=o(`div`,{class:`w-2 h-2 bg-gray-900 rounded-full mr-3`},null,-1),o(`span`,K,n(e),1)])),64))]),a[19]||=o(`h3`,{class:`text-lg font-semibold text-gray-900 mt-6 mb-4`},`其他`,-1),o(`ul`,q,[(r(),d(l,null,e(re,e=>o(`li`,{key:e,class:`flex items-center`},[a[17]||=o(`div`,{class:`w-2 h-2 bg-gray-900 rounded-full mr-3`},null,-1),o(`span`,J,n(e),1)])),64))])])])]),o(`div`,{class:`reveal`,style:{"transition-delay":`300ms`}},[o(`div`,{class:`bg-white dark:bg-slate-800 rounded-xl p-8 md:p-10 shadow-[0_0_30px_rgba(0,0,0,0.08)] dark:shadow-[0_0_30px_rgba(0,0,0,0.4)] border border-gray-100 dark:border-slate-700`},[a[23]||=u(`无论你是谁,能力如何,只要你与我们有共同的理想,都能加入我们的团队,与我们共同努力。
申请加入(微信) `,4),o(`a`,{href:Y,class:`mt-4 inline-block ml-4 bg-gray-900 dark:bg-white dark:text-gray-900 text-white font-semibold px-8 py-4 rounded-lg transition-all duration-300 hover:bg-gray-800 dark:hover:bg-gray-200 hover:shadow-[0_0_15px_rgba(0,0,0,0.1)] dark:hover:shadow-[0_0_15px_rgba(255,255,255,0.2)] transform hover:-translate-y-1 active:scale-98`},[...a[22]||=[s(` 申请加入(邮箱) `,-1),o(`i`,{class:`fa fa-arrow-right ml-2`},null,-1)]])])])])])])]))}}),[[`__scopeId`,`data-v-3fe6dca8`]]);export{X as default};
\ No newline at end of file
diff --git a/TempLate/assets/AboutView-CluCQZI0.js b/TempLate/assets/AboutView-CluCQZI0.js
new file mode 100644
index 00000000..6319a2b9
--- /dev/null
+++ b/TempLate/assets/AboutView-CluCQZI0.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,b as a,d as o,h as s,j as c,l,m as u,p as d,y as f}from"./index-CJXuAy0L.js";import{t as p}from"./_plugin-vue_export-helper-BDNMzG2s.js";import"./Ying_Right-BWic5Lsp.js";var m={class:`relative py-24 bg-gray-950 dark:bg-black overflow-hidden transition-colors duration-300`},h={class:`relative z-10 container mx-auto lg:max-w-[75%] px-6`},g={class:`grid grid-cols-1 md:grid-cols-3 gap-px bg-white/10 rounded-2xl overflow-hidden`},_={class:`text-6xl font-black text-white/10 group-hover:text-violet-500/30 transition-colors duration-500 leading-none`},v={class:`text-white text-xl font-bold mb-3`},y={class:`text-gray-500 text-sm leading-relaxed`},b={class:`relative py-24 bg-white dark:bg-slate-900 overflow-hidden transition-colors duration-300`},x={class:`relative z-10 container mx-auto lg:max-w-[75%] px-6`},S={class:`grid grid-cols-1 lg:grid-cols-2 gap-16 items-center`},C={class:`reveal flex flex-wrap gap-3 items-start content-start`,style:{"transition-delay":`300ms`}},w={class:`relative py-24 bg-white dark:bg-slate-900 border-t border-gray-100 dark:border-slate-800 overflow-hidden transition-colors duration-300`},T={class:`relative z-10 container mx-auto lg:max-w-[75%] px-6`},E={class:`grid grid-cols-2 lg:grid-cols-4 gap-6 md:gap-8`},D={class:`relative inline-flex items-center justify-center w-24 h-24 md:w-32 md:h-32 mb-4`},O={class:`absolute inset-0 w-full h-full -rotate-90`,viewBox:`0 0 100 100`},k=[`stroke-dasharray`,`stroke-dashoffset`],A={class:`relative z-10 text-center`},j={class:`text-2xl md:text-3xl font-black text-gray-900 dark:text-white`},M={class:`text-gray-400 dark:text-gray-500 text-sm font-medium tracking-widest uppercase`},N={class:`text-gray-900 dark:text-white font-semibold mt-1`},P={class:`relative py-24 overflow-hidden duration-300`},ee={class:`relative z-10 container mx-auto lg:max-w-[60%] px-6 text-center`},F={class:`grid grid-cols-1 md:grid-cols-3 gap-4 mt-12 mb-12 reveal`,style:{"transition-delay":`200ms`}},I={class:`font-bold text-gray-900 dark:text-white mb-1`},L={class:`text-xs text-gray-500 dark:text-gray-400`},R={class:`py-20 md:py-28 px-4 md:px-8`},z={class:`container mx-auto`},B={class:`grid grid-cols-1 lg:grid-cols-2 gap-12 items-center`},V={class:`reveal`},H={class:`grid grid-cols-1 md:grid-cols-2 gap-6`},U={class:`space-y-3`},W={class:`text-gray-700`},G={class:`space-y-3`},K={class:`text-gray-700`},q={class:`space-y-3`},J={class:`text-gray-700`},Y=`mailto:hr@gvsds.com?subject=我申请加入银河锋锐软件开发工作室&body=您好!%0D%0A%0D%0A我是 [ 姓名 / 网名 ],我期望加入银河锋锐软件开发工作室。%0D%0A我的联系方式是 [ 微信(必填) / QQ / TEL / X / 电报 / DISCORD ] %0D%0A我的兴趣爱好是 [ 选填 ],我的能力是 [ 选填 ]。%0D%0A我能够作为 [ 画师 / 程序员 / 测试人员 ] 加入工作室。%0D%0A [ 您的更多个人信息(选填)(个人简历等) ] %0D%0A希望您能提供一个机会,感谢!%0D%0A—— [ 姓名 / 网名 ] [ 年-月-日 ]`,X=p(i({__name:`AboutView`,setup(i){let p=null;a(()=>{let e=document.querySelectorAll(`.reveal`);p=new IntersectionObserver(e=>{e.forEach(e=>{if(e.isIntersecting){let t=e.target;t.style.opacity=`1`,t.style.transform=`translateY(0)`,p?.unobserve(t)}})},{threshold:.1}),e.forEach(e=>{let t=e;t.style.opacity=`0`,t.style.transform=`translateY(15px)`,t.style.transition=`opacity 0.5s ease, transform 0.5s ease`,p?.observe(t)})}),f(()=>{p?.disconnect()});let X=[{title:`和而不同`,icon:`fa-code`,iconBg:`bg-violet-500/10 border border-violet-500/20`,lineColor:`bg-violet-400`,desc:`尊重每一位开发者独特的风格与思路,在差异中寻求最优解。`},{title:`创新为主`,icon:`fa-rocket`,iconBg:`bg-sky-500/10 border border-sky-500/20`,lineColor:`bg-sky-400`,desc:`不满足于已知的边界,持续叩响未知领域的大门,让每一行代码都充满可能。`},{title:`以人为本`,icon:`fa-users`,iconBg:`bg-emerald-500/10 border border-emerald-500/20`,lineColor:`bg-emerald-400`,desc:`技术服务于人,成长成就彼此,让每个人都能在这里找到属于自己的位置。`}],Z=[{name:`开源`,cls:`border-2 border-gray-900 dark:border-white text-gray-900 dark:text-white`},{name:`协作`,cls:`bg-violet-500 text-white`},{name:`非营利`,cls:`border-2 border-gray-200 dark:border-slate-600 text-gray-400 dark:text-gray-500`},{name:`创新`,cls:`bg-sky-500 text-white`},{name:`年轻`,cls:`border-2 border-gray-200 dark:border-slate-600 text-gray-400 dark:text-gray-500`},{name:`分享`,cls:`border-2 border-gray-900 dark:border-white text-gray-900 dark:text-white`},{name:`成长`,cls:`bg-emerald-500 text-white`},{name:`技术探索`,cls:`border-2 border-gray-200 dark:border-slate-600 text-gray-400 dark:text-gray-500`},{name:`热爱`,cls:`bg-amber-400 text-gray-900`},{name:`GitHub`,cls:`border-2 border-gray-200 dark:border-slate-600 text-gray-400 dark:text-gray-500`},{name:`彼此成就`,cls:`border-2 border-gray-900 dark:border-white text-gray-900 dark:text-white`}],Q=[{label:`Members`,sub:`核心成员`,display:`17`,color:`text-violet-400`,dashArray:`283`,dashOffset:`70`},{label:`Projects`,sub:`开源项目`,display:`28`,color:`text-sky-400`,dashArray:`283`,dashOffset:`90`},{label:`Commits`,sub:`代码提交量`,display:`100w+`,color:`text-emerald-400`,dashArray:`283`,dashOffset:`20`},{label:`Clients`,sub:`服务客户`,display:`1500+`,color:`text-amber-400`,dashArray:`283`,dashOffset:`50`}],$=[{name:`画师`,icon:`fa-paint-brush`,iconBg:`bg-violet-100 dark:bg-violet-900/30`,card:`border-violet-100 dark:border-violet-900/50 bg-violet-50/50 dark:bg-violet-900/10 hover:border-violet-400 dark:hover:border-violet-500`,desc:`用艺术点亮技术世界`},{name:`程序员`,icon:`fa-terminal`,iconBg:`bg-sky-100 dark:bg-sky-900/30`,card:`border-sky-100 dark:border-sky-900/50 bg-sky-50/50 dark:bg-sky-900/10 hover:border-sky-400 dark:hover:border-sky-500`,desc:`用代码构建无限可能`},{name:`测试人员`,icon:`fa-bug`,iconBg:`bg-emerald-100 dark:bg-emerald-900/30`,card:`border-emerald-100 dark:border-emerald-900/50 bg-emerald-50/50 dark:bg-emerald-900/10 hover:border-emerald-400 dark:hover:border-emerald-500`,desc:`用严谨保障每个细节`}],te=[`Python 开发`,`C/C++ 开发`,`Web 前端(HTML/CSS/JS)`,`后端架构`,`数据库(SQL)`,`逆向反病毒`],ne=[`UI / UX 设计`,`插画绘制`,`动效设计`],re=[`人工智能`,`操作系统优化`,`服务器部署`,`心理测评工具开发`];return(i,a)=>(r(),d(`div`,null,[a[24]||=u(`
非营利 · 开源 · 共建
银河锋锐 SOFTWARE DEVELOPMENT STUDIO 因热爱而聚,以技术为桥—— 一群年轻开发者的开源实验场
`,1),o(`section`,m,[a[1]||=o(`div`,{class:`absolute inset-0 flex items-center justify-center pointer-events-none select-none overflow-hidden`},[o(`span`,{class:`text-[20vw] font-black text-white/[0.02] tracking-widest whitespace-nowrap`},`CORE`)],-1),o(`div`,h,[a[0]||=o(`div`,{class:`flex items-center gap-4 mb-16 reveal`},[o(`div`,{class:`w-8 h-px bg-white/30`}),o(`span`,{class:`text-white/40 text-sm tracking-widest uppercase`},`Our Philosophy`)],-1),o(`div`,g,[(r(),d(l,null,e(X,(e,r)=>o(`div`,{key:r,class:`group relative bg-gray-950 dark:bg-black p-8 md:p-10 flex flex-col gap-6 hover:bg-white/5 transition-colors duration-500 reveal`,style:t({transitionDelay:r*150+`ms`})},[o(`div`,_,`0`+n(r+1),1),o(`div`,{class:c([`w-10 h-10 rounded-xl flex items-center justify-center group-hover:bg-violet-500/20 transition-colors duration-300`,e.iconBg])},[o(`i`,{class:c([`fa`,e.icon])},null,2)],2),o(`div`,null,[o(`h4`,v,n(e.title),1),o(`p`,y,n(e.desc),1)]),o(`div`,{class:c([`mt-auto w-0 h-px group-hover:w-full transition-all duration-700`,e.lineColor])},null,2)],4)),64))])])]),o(`section`,b,[a[3]||=o(`div`,{class:`absolute right-0 top-0 h-full w-1/2 bg-gray-50 dark:bg-slate-800/50 pointer-events-none`,style:{"clip-path":`polygon(15% 0, 100% 0, 100% 100%, 0% 100%)`}},null,-1),o(`div`,x,[o(`div`,S,[a[2]||=u(` 自成立以来,始终以开源精神驱动前行,在 GitHub 等平台分享项目、文章与经验,让技术的价值触达更多人。
我们不追逐商业利益,通过编程兼职保障基本运转,让这里永远是一片纯粹的技术沃土。
这里不只是写代码的地方,更是结识同好、分享日常的温暖港湾。
`,1),o(`div`,C,[(r(),d(l,null,e(Z,e=>o(`span`,{key:e.name,class:c([e.cls,`px-5 py-3 rounded-full font-bold text-lg`])},n(e.name),3)),64))])])])]),o(`section`,w,[a[6]||=o(`div`,{class:`absolute -left-32 -top-32 w-96 h-96 rounded-full border border-gray-100 dark:border-slate-800 pointer-events-none`},null,-1),a[7]||=o(`div`,{class:`absolute -left-16 -top-16 w-64 h-64 rounded-full border border-gray-100 dark:border-slate-800 pointer-events-none`},null,-1),a[8]||=o(`div`,{class:`absolute -right-32 -bottom-32 w-96 h-96 rounded-full border border-gray-100 dark:border-slate-800 pointer-events-none`},null,-1),o(`div`,T,[a[5]||=o(`div`,{class:`text-center mb-16 reveal`},[o(`span`,{class:`text-xs font-bold tracking-widest text-sky-500 uppercase`},`By The Numbers`),o(`h3`,{class:`text-3xl md:text-4xl font-black text-gray-900 dark:text-white mt-3`},`用数字说话`)],-1),o(`div`,E,[(r(),d(l,null,e(Q,(e,i)=>o(`div`,{key:i,class:`group text-center reveal`,style:t({transitionDelay:i*100+`ms`})},[o(`div`,D,[(r(),d(`svg`,O,[a[4]||=o(`circle`,{cx:`50`,cy:`50`,r:`45`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,class:`text-gray-100 dark:text-slate-800`},null,-1),o(`circle`,{cx:`50`,cy:`50`,r:`45`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-dasharray":e.dashArray,"stroke-dashoffset":e.dashOffset,class:c([`transition-all duration-1000`,e.color])},null,10,k)])),o(`div`,A,[o(`div`,j,n(e.display),1)])]),o(`p`,M,n(e.label),1),o(`p`,N,n(e.sub),1)],4)),64))])])]),a[25]||=u(`
The Founders
初心如磐,携手同行 因为共同的热爱,四个年轻的灵魂在此交汇
"独行快,众行远。我们是伙伴,更是彼此坚实的后盾。"
Together We Build
Our Belief
每一份对技术的热爱 , 都能汇聚成改变 的力量。
无论你是刚踏入技术领域的新手,还是深耕行业的资深开发者—— 只要怀揣好奇,这里就是你的地方。
技术的力量源于共同探索,成长的价值在于「成就彼此」
`,2),o(`section`,P,[a[12]||=o(`div`,{class:`absolute left-0 top-0 w-[15%] h-full z-0 pointer-events-none c-furry`},[o(`img`,{src:`/assets/img/Background/ChiSha_Left.png`,alt:`左侧吉祥物`,class:`w-full h-full object-contain object-left opacity-60 dark:opacity-40`})],-1),a[13]||=o(`div`,{class:`absolute right-0 top-0 w-[15%] h-full z-0 pointer-events-none c-furry`},[o(`img`,{src:`/assets/img/Background/Ying_Right.png`,alt:`右侧吉祥物`,class:`w-full h-full object-contain object-right opacity-60 dark:opacity-40`})],-1),o(`div`,ee,[a[11]||=u(`Join Us 期待与你同行 我们欢迎画师 、 程序员 、 测试人员 , 以及所有愿意与我们一起探索技术边界的你。
`,1),o(`div`,F,[(r(),d(l,null,e($,(e,t)=>o(`div`,{key:t,class:c([e.card,`group p-6 rounded-2xl border-2 hover:scale-105 transition-all duration-300 cursor-default`])},[o(`div`,{class:c([`w-12 h-12 rounded-xl flex items-center justify-center mx-auto mb-3 group-hover:bg-violet-200 transition-colors`,e.iconBg])},[o(`i`,{class:c([`fa text-xl`,e.icon])},null,2)],2),o(`h5`,I,n(e.name),1),o(`p`,L,n(e.desc),1)],2)),64))]),o(`div`,{class:`reveal`,style:{"transition-delay":`400ms`}},[o(`a`,{href:Y,class:`group relative inline-flex items-center gap-3 px-10 py-5 bg-gray-900 dark:bg-white rounded-2xl text-white dark:text-gray-900 font-bold text-lg transition-all duration-500 hover:scale-105 hover:shadow-[0_20px_60px_rgba(0,0,0,0.2)] dark:hover:shadow-[0_20px_60px_rgba(255,255,255,0.15)] overflow-hidden`},[...a[9]||=[o(`span`,{class:`absolute inset-0 bg-gradient-to-r from-violet-600 via-sky-500 to-emerald-500 opacity-0 group-hover:opacity-100 transition-opacity duration-500`},null,-1),o(`i`,{class:`fa fa-paper-plane relative z-10 group-hover:translate-x-1 group-hover:-translate-y-1 transition-transform duration-300`},null,-1),o(`span`,{class:`relative z-10`},`发送申请邮件`,-1)]]),a[10]||=o(`p`,{class:`mt-4 text-xs text-gray-400 dark:text-gray-600`},` 📮 hr@gvsds.com · 我们会尽快回复你的申请 `,-1)])])]),o(`section`,R,[o(`div`,z,[o(`div`,B,[o(`div`,V,[a[20]||=o(`h2`,{class:`text-3xl md:text-4xl font-extrabold text-gray-900 pl-4 border-l-4 border-gray-900 mb-8`},`涉及领域`,-1),a[21]||=o(`div`,{class:`w-4/5 mx-auto md:mx-0 mb-8`},[o(`div`,{class:`border-b border-gray-200 pb-2`})],-1),o(`div`,H,[o(`div`,null,[a[15]||=o(`h3`,{class:`text-lg font-semibold text-gray-900 mb-4`},`开发类`,-1),o(`ul`,U,[(r(),d(l,null,e(te,e=>o(`li`,{key:e,class:`flex items-center`},[a[14]||=o(`div`,{class:`w-2 h-2 bg-gray-900 rounded-full mr-3`},null,-1),o(`span`,W,n(e),1)])),64))])]),o(`div`,null,[a[18]||=o(`h3`,{class:`text-lg font-semibold text-gray-900 mb-4`},`设计类`,-1),o(`ul`,G,[(r(),d(l,null,e(ne,e=>o(`li`,{key:e,class:`flex items-center`},[a[16]||=o(`div`,{class:`w-2 h-2 bg-gray-900 rounded-full mr-3`},null,-1),o(`span`,K,n(e),1)])),64))]),a[19]||=o(`h3`,{class:`text-lg font-semibold text-gray-900 mt-6 mb-4`},`其他`,-1),o(`ul`,q,[(r(),d(l,null,e(re,e=>o(`li`,{key:e,class:`flex items-center`},[a[17]||=o(`div`,{class:`w-2 h-2 bg-gray-900 rounded-full mr-3`},null,-1),o(`span`,J,n(e),1)])),64))])])])]),o(`div`,{class:`reveal`,style:{"transition-delay":`300ms`}},[o(`div`,{class:`bg-white dark:bg-slate-800 rounded-xl p-8 md:p-10 shadow-[0_0_30px_rgba(0,0,0,0.08)] dark:shadow-[0_0_30px_rgba(0,0,0,0.4)] border border-gray-100 dark:border-slate-700`},[a[23]||=u(`无论你是谁,能力如何,只要你与我们有共同的理想,都能加入我们的团队,与我们共同努力。
申请加入(微信) `,4),o(`a`,{href:Y,class:`mt-4 inline-block ml-4 bg-gray-900 dark:bg-white dark:text-gray-900 text-white font-semibold px-8 py-4 rounded-lg transition-all duration-300 hover:bg-gray-800 dark:hover:bg-gray-200 hover:shadow-[0_0_15px_rgba(0,0,0,0.1)] dark:hover:shadow-[0_0_15px_rgba(255,255,255,0.2)] transform hover:-translate-y-1 active:scale-98`},[...a[22]||=[s(` 申请加入(邮箱) `,-1),o(`i`,{class:`fa fa-arrow-right ml-2`},null,-1)]])])])])])])]))}}),[[`__scopeId`,`data-v-3fe6dca8`]]);export{X as default};
\ No newline at end of file
diff --git a/TempLate/assets/AboutView-DwUOeNjT.js b/TempLate/assets/AboutView-DwUOeNjT.js
new file mode 100644
index 00000000..36fb0210
--- /dev/null
+++ b/TempLate/assets/AboutView-DwUOeNjT.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,b as a,d as o,h as s,j as c,l,m as u,p as d,y as f}from"./index-UfMysbwD.js";import{t as p}from"./_plugin-vue_export-helper-BDNMzG2s.js";import"./Ying_Right-BWic5Lsp.js";var m={class:`relative py-24 bg-gray-950 dark:bg-black overflow-hidden transition-colors duration-300`},h={class:`relative z-10 container mx-auto lg:max-w-[75%] px-6`},g={class:`grid grid-cols-1 md:grid-cols-3 gap-px bg-white/10 rounded-2xl overflow-hidden`},_={class:`text-6xl font-black text-white/10 group-hover:text-violet-500/30 transition-colors duration-500 leading-none`},v={class:`text-white text-xl font-bold mb-3`},y={class:`text-gray-500 text-sm leading-relaxed`},b={class:`relative py-24 bg-white dark:bg-slate-900 overflow-hidden transition-colors duration-300`},x={class:`relative z-10 container mx-auto lg:max-w-[75%] px-6`},S={class:`grid grid-cols-1 lg:grid-cols-2 gap-16 items-center`},C={class:`reveal flex flex-wrap gap-3 items-start content-start`,style:{"transition-delay":`300ms`}},w={class:`relative py-24 bg-white dark:bg-slate-900 border-t border-gray-100 dark:border-slate-800 overflow-hidden transition-colors duration-300`},T={class:`relative z-10 container mx-auto lg:max-w-[75%] px-6`},E={class:`grid grid-cols-2 lg:grid-cols-4 gap-6 md:gap-8`},D={class:`relative inline-flex items-center justify-center w-24 h-24 md:w-32 md:h-32 mb-4`},O={class:`absolute inset-0 w-full h-full -rotate-90`,viewBox:`0 0 100 100`},k=[`stroke-dasharray`,`stroke-dashoffset`],A={class:`relative z-10 text-center`},j={class:`text-2xl md:text-3xl font-black text-gray-900 dark:text-white`},M={class:`text-gray-400 dark:text-gray-500 text-sm font-medium tracking-widest uppercase`},N={class:`text-gray-900 dark:text-white font-semibold mt-1`},P={class:`relative py-24 overflow-hidden duration-300`},ee={class:`relative z-10 container mx-auto lg:max-w-[60%] px-6 text-center`},F={class:`grid grid-cols-1 md:grid-cols-3 gap-4 mt-12 mb-12 reveal`,style:{"transition-delay":`200ms`}},I={class:`font-bold text-gray-900 dark:text-white mb-1`},L={class:`text-xs text-gray-500 dark:text-gray-400`},R={class:`py-20 md:py-28 px-4 md:px-8`},z={class:`container mx-auto`},B={class:`grid grid-cols-1 lg:grid-cols-2 gap-12 items-center`},V={class:`reveal`},H={class:`grid grid-cols-1 md:grid-cols-2 gap-6`},U={class:`space-y-3`},W={class:`text-gray-700`},G={class:`space-y-3`},K={class:`text-gray-700`},q={class:`space-y-3`},J={class:`text-gray-700`},Y=`mailto:hr@gvsds.com?subject=我申请加入银河锋锐软件开发工作室&body=您好!%0D%0A%0D%0A我是 [ 姓名 / 网名 ],我期望加入银河锋锐软件开发工作室。%0D%0A我的联系方式是 [ 微信(必填) / QQ / TEL / X / 电报 / DISCORD ] %0D%0A我的兴趣爱好是 [ 选填 ],我的能力是 [ 选填 ]。%0D%0A我能够作为 [ 画师 / 程序员 / 测试人员 ] 加入工作室。%0D%0A [ 您的更多个人信息(选填)(个人简历等) ] %0D%0A希望您能提供一个机会,感谢!%0D%0A—— [ 姓名 / 网名 ] [ 年-月-日 ]`,X=p(i({__name:`AboutView`,setup(i){let p=null;a(()=>{let e=document.querySelectorAll(`.reveal`);p=new IntersectionObserver(e=>{e.forEach(e=>{if(e.isIntersecting){let t=e.target;t.style.opacity=`1`,t.style.transform=`translateY(0)`,p?.unobserve(t)}})},{threshold:.1}),e.forEach(e=>{let t=e;t.style.opacity=`0`,t.style.transform=`translateY(15px)`,t.style.transition=`opacity 0.5s ease, transform 0.5s ease`,p?.observe(t)})}),f(()=>{p?.disconnect()});let X=[{title:`和而不同`,icon:`fa-code`,iconBg:`bg-violet-500/10 border border-violet-500/20`,lineColor:`bg-violet-400`,desc:`尊重每一位开发者独特的风格与思路,在差异中寻求最优解。`},{title:`创新为主`,icon:`fa-rocket`,iconBg:`bg-sky-500/10 border border-sky-500/20`,lineColor:`bg-sky-400`,desc:`不满足于已知的边界,持续叩响未知领域的大门,让每一行代码都充满可能。`},{title:`以人为本`,icon:`fa-users`,iconBg:`bg-emerald-500/10 border border-emerald-500/20`,lineColor:`bg-emerald-400`,desc:`技术服务于人,成长成就彼此,让每个人都能在这里找到属于自己的位置。`}],Z=[{name:`开源`,cls:`border-2 border-gray-900 dark:border-white text-gray-900 dark:text-white`},{name:`协作`,cls:`bg-violet-500 text-white`},{name:`非营利`,cls:`border-2 border-gray-200 dark:border-slate-600 text-gray-400 dark:text-gray-500`},{name:`创新`,cls:`bg-sky-500 text-white`},{name:`年轻`,cls:`border-2 border-gray-200 dark:border-slate-600 text-gray-400 dark:text-gray-500`},{name:`分享`,cls:`border-2 border-gray-900 dark:border-white text-gray-900 dark:text-white`},{name:`成长`,cls:`bg-emerald-500 text-white`},{name:`技术探索`,cls:`border-2 border-gray-200 dark:border-slate-600 text-gray-400 dark:text-gray-500`},{name:`热爱`,cls:`bg-amber-400 text-gray-900`},{name:`GitHub`,cls:`border-2 border-gray-200 dark:border-slate-600 text-gray-400 dark:text-gray-500`},{name:`彼此成就`,cls:`border-2 border-gray-900 dark:border-white text-gray-900 dark:text-white`}],Q=[{label:`Members`,sub:`核心成员`,display:`17`,color:`text-violet-400`,dashArray:`283`,dashOffset:`70`},{label:`Projects`,sub:`开源项目`,display:`28`,color:`text-sky-400`,dashArray:`283`,dashOffset:`90`},{label:`Commits`,sub:`代码提交量`,display:`100w+`,color:`text-emerald-400`,dashArray:`283`,dashOffset:`20`},{label:`Clients`,sub:`服务客户`,display:`1500+`,color:`text-amber-400`,dashArray:`283`,dashOffset:`50`}],$=[{name:`画师`,icon:`fa-paint-brush`,iconBg:`bg-violet-100 dark:bg-violet-900/30`,card:`border-violet-100 dark:border-violet-900/50 bg-violet-50/50 dark:bg-violet-900/10 hover:border-violet-400 dark:hover:border-violet-500`,desc:`用艺术点亮技术世界`},{name:`程序员`,icon:`fa-terminal`,iconBg:`bg-sky-100 dark:bg-sky-900/30`,card:`border-sky-100 dark:border-sky-900/50 bg-sky-50/50 dark:bg-sky-900/10 hover:border-sky-400 dark:hover:border-sky-500`,desc:`用代码构建无限可能`},{name:`测试人员`,icon:`fa-bug`,iconBg:`bg-emerald-100 dark:bg-emerald-900/30`,card:`border-emerald-100 dark:border-emerald-900/50 bg-emerald-50/50 dark:bg-emerald-900/10 hover:border-emerald-400 dark:hover:border-emerald-500`,desc:`用严谨保障每个细节`}],te=[`Python 开发`,`C/C++ 开发`,`Web 前端(HTML/CSS/JS)`,`后端架构`,`数据库(SQL)`,`逆向反病毒`],ne=[`UI / UX 设计`,`插画绘制`,`动效设计`],re=[`人工智能`,`操作系统优化`,`服务器部署`,`心理测评工具开发`];return(i,a)=>(r(),d(`div`,null,[a[24]||=u(`
非营利 · 开源 · 共建
银河锋锐 SOFTWARE DEVELOPMENT STUDIO 因热爱而聚,以技术为桥—— 一群年轻开发者的开源实验场
`,1),o(`section`,m,[a[1]||=o(`div`,{class:`absolute inset-0 flex items-center justify-center pointer-events-none select-none overflow-hidden`},[o(`span`,{class:`text-[20vw] font-black text-white/[0.02] tracking-widest whitespace-nowrap`},`CORE`)],-1),o(`div`,h,[a[0]||=o(`div`,{class:`flex items-center gap-4 mb-16 reveal`},[o(`div`,{class:`w-8 h-px bg-white/30`}),o(`span`,{class:`text-white/40 text-sm tracking-widest uppercase`},`Our Philosophy`)],-1),o(`div`,g,[(r(),d(l,null,e(X,(e,r)=>o(`div`,{key:r,class:`group relative bg-gray-950 dark:bg-black p-8 md:p-10 flex flex-col gap-6 hover:bg-white/5 transition-colors duration-500 reveal`,style:t({transitionDelay:r*150+`ms`})},[o(`div`,_,`0`+n(r+1),1),o(`div`,{class:c([`w-10 h-10 rounded-xl flex items-center justify-center group-hover:bg-violet-500/20 transition-colors duration-300`,e.iconBg])},[o(`i`,{class:c([`fa`,e.icon])},null,2)],2),o(`div`,null,[o(`h4`,v,n(e.title),1),o(`p`,y,n(e.desc),1)]),o(`div`,{class:c([`mt-auto w-0 h-px group-hover:w-full transition-all duration-700`,e.lineColor])},null,2)],4)),64))])])]),o(`section`,b,[a[3]||=o(`div`,{class:`absolute right-0 top-0 h-full w-1/2 bg-gray-50 dark:bg-slate-800/50 pointer-events-none`,style:{"clip-path":`polygon(15% 0, 100% 0, 100% 100%, 0% 100%)`}},null,-1),o(`div`,x,[o(`div`,S,[a[2]||=u(` 自成立以来,始终以开源精神驱动前行,在 GitHub 等平台分享项目、文章与经验,让技术的价值触达更多人。
我们不追逐商业利益,通过编程兼职保障基本运转,让这里永远是一片纯粹的技术沃土。
这里不只是写代码的地方,更是结识同好、分享日常的温暖港湾。
`,1),o(`div`,C,[(r(),d(l,null,e(Z,e=>o(`span`,{key:e.name,class:c([e.cls,`px-5 py-3 rounded-full font-bold text-lg`])},n(e.name),3)),64))])])])]),o(`section`,w,[a[6]||=o(`div`,{class:`absolute -left-32 -top-32 w-96 h-96 rounded-full border border-gray-100 dark:border-slate-800 pointer-events-none`},null,-1),a[7]||=o(`div`,{class:`absolute -left-16 -top-16 w-64 h-64 rounded-full border border-gray-100 dark:border-slate-800 pointer-events-none`},null,-1),a[8]||=o(`div`,{class:`absolute -right-32 -bottom-32 w-96 h-96 rounded-full border border-gray-100 dark:border-slate-800 pointer-events-none`},null,-1),o(`div`,T,[a[5]||=o(`div`,{class:`text-center mb-16 reveal`},[o(`span`,{class:`text-xs font-bold tracking-widest text-sky-500 uppercase`},`By The Numbers`),o(`h3`,{class:`text-3xl md:text-4xl font-black text-gray-900 dark:text-white mt-3`},`用数字说话`)],-1),o(`div`,E,[(r(),d(l,null,e(Q,(e,i)=>o(`div`,{key:i,class:`group text-center reveal`,style:t({transitionDelay:i*100+`ms`})},[o(`div`,D,[(r(),d(`svg`,O,[a[4]||=o(`circle`,{cx:`50`,cy:`50`,r:`45`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,class:`text-gray-100 dark:text-slate-800`},null,-1),o(`circle`,{cx:`50`,cy:`50`,r:`45`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-dasharray":e.dashArray,"stroke-dashoffset":e.dashOffset,class:c([`transition-all duration-1000`,e.color])},null,10,k)])),o(`div`,A,[o(`div`,j,n(e.display),1)])]),o(`p`,M,n(e.label),1),o(`p`,N,n(e.sub),1)],4)),64))])])]),a[25]||=u(`
The Founders
初心如磐,携手同行 因为共同的热爱,四个年轻的灵魂在此交汇
"独行快,众行远。我们是伙伴,更是彼此坚实的后盾。"
Together We Build
Our Belief
每一份对技术的热爱 , 都能汇聚成改变 的力量。
无论你是刚踏入技术领域的新手,还是深耕行业的资深开发者—— 只要怀揣好奇,这里就是你的地方。
技术的力量源于共同探索,成长的价值在于「成就彼此」
`,2),o(`section`,P,[a[12]||=o(`div`,{class:`absolute left-0 top-0 w-[15%] h-full z-0 pointer-events-none c-furry`},[o(`img`,{src:`/assets/img/Background/ChiSha_Left.png`,alt:`左侧吉祥物`,class:`w-full h-full object-contain object-left opacity-60 dark:opacity-40`})],-1),a[13]||=o(`div`,{class:`absolute right-0 top-0 w-[15%] h-full z-0 pointer-events-none c-furry`},[o(`img`,{src:`/assets/img/Background/Ying_Right.png`,alt:`右侧吉祥物`,class:`w-full h-full object-contain object-right opacity-60 dark:opacity-40`})],-1),o(`div`,ee,[a[11]||=u(`Join Us 期待与你同行 我们欢迎画师 、 程序员 、 测试人员 , 以及所有愿意与我们一起探索技术边界的你。
`,1),o(`div`,F,[(r(),d(l,null,e($,(e,t)=>o(`div`,{key:t,class:c([e.card,`group p-6 rounded-2xl border-2 hover:scale-105 transition-all duration-300 cursor-default`])},[o(`div`,{class:c([`w-12 h-12 rounded-xl flex items-center justify-center mx-auto mb-3 group-hover:bg-violet-200 transition-colors`,e.iconBg])},[o(`i`,{class:c([`fa text-xl`,e.icon])},null,2)],2),o(`h5`,I,n(e.name),1),o(`p`,L,n(e.desc),1)],2)),64))]),o(`div`,{class:`reveal`,style:{"transition-delay":`400ms`}},[o(`a`,{href:Y,class:`group relative inline-flex items-center gap-3 px-10 py-5 bg-gray-900 dark:bg-white rounded-2xl text-white dark:text-gray-900 font-bold text-lg transition-all duration-500 hover:scale-105 hover:shadow-[0_20px_60px_rgba(0,0,0,0.2)] dark:hover:shadow-[0_20px_60px_rgba(255,255,255,0.15)] overflow-hidden`},[...a[9]||=[o(`span`,{class:`absolute inset-0 bg-gradient-to-r from-violet-600 via-sky-500 to-emerald-500 opacity-0 group-hover:opacity-100 transition-opacity duration-500`},null,-1),o(`i`,{class:`fa fa-paper-plane relative z-10 group-hover:translate-x-1 group-hover:-translate-y-1 transition-transform duration-300`},null,-1),o(`span`,{class:`relative z-10`},`发送申请邮件`,-1)]]),a[10]||=o(`p`,{class:`mt-4 text-xs text-gray-400 dark:text-gray-600`},` 📮 hr@gvsds.com · 我们会尽快回复你的申请 `,-1)])])]),o(`section`,R,[o(`div`,z,[o(`div`,B,[o(`div`,V,[a[20]||=o(`h2`,{class:`text-3xl md:text-4xl font-extrabold text-gray-900 pl-4 border-l-4 border-gray-900 mb-8`},`涉及领域`,-1),a[21]||=o(`div`,{class:`w-4/5 mx-auto md:mx-0 mb-8`},[o(`div`,{class:`border-b border-gray-200 pb-2`})],-1),o(`div`,H,[o(`div`,null,[a[15]||=o(`h3`,{class:`text-lg font-semibold text-gray-900 mb-4`},`开发类`,-1),o(`ul`,U,[(r(),d(l,null,e(te,e=>o(`li`,{key:e,class:`flex items-center`},[a[14]||=o(`div`,{class:`w-2 h-2 bg-gray-900 rounded-full mr-3`},null,-1),o(`span`,W,n(e),1)])),64))])]),o(`div`,null,[a[18]||=o(`h3`,{class:`text-lg font-semibold text-gray-900 mb-4`},`设计类`,-1),o(`ul`,G,[(r(),d(l,null,e(ne,e=>o(`li`,{key:e,class:`flex items-center`},[a[16]||=o(`div`,{class:`w-2 h-2 bg-gray-900 rounded-full mr-3`},null,-1),o(`span`,K,n(e),1)])),64))]),a[19]||=o(`h3`,{class:`text-lg font-semibold text-gray-900 mt-6 mb-4`},`其他`,-1),o(`ul`,q,[(r(),d(l,null,e(re,e=>o(`li`,{key:e,class:`flex items-center`},[a[17]||=o(`div`,{class:`w-2 h-2 bg-gray-900 rounded-full mr-3`},null,-1),o(`span`,J,n(e),1)])),64))])])])]),o(`div`,{class:`reveal`,style:{"transition-delay":`300ms`}},[o(`div`,{class:`bg-white dark:bg-slate-800 rounded-xl p-8 md:p-10 shadow-[0_0_30px_rgba(0,0,0,0.08)] dark:shadow-[0_0_30px_rgba(0,0,0,0.4)] border border-gray-100 dark:border-slate-700`},[a[23]||=u(`无论你是谁,能力如何,只要你与我们有共同的理想,都能加入我们的团队,与我们共同努力。
申请加入(微信) `,4),o(`a`,{href:Y,class:`mt-4 inline-block ml-4 bg-gray-900 dark:bg-white dark:text-gray-900 text-white font-semibold px-8 py-4 rounded-lg transition-all duration-300 hover:bg-gray-800 dark:hover:bg-gray-200 hover:shadow-[0_0_15px_rgba(0,0,0,0.1)] dark:hover:shadow-[0_0_15px_rgba(255,255,255,0.2)] transform hover:-translate-y-1 active:scale-98`},[...a[22]||=[s(` 申请加入(邮箱) `,-1),o(`i`,{class:`fa fa-arrow-right ml-2`},null,-1)]])])])])])])]))}}),[[`__scopeId`,`data-v-3fe6dca8`]]);export{X as default};
\ No newline at end of file
diff --git a/TempLate/assets/AboutView-bn4dvbPo.js b/TempLate/assets/AboutView-bn4dvbPo.js
new file mode 100644
index 00000000..f4cae543
--- /dev/null
+++ b/TempLate/assets/AboutView-bn4dvbPo.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,b as a,d as o,h as s,j as c,l,m as u,p as d,y as f}from"./index-PMfCvoYM.js";import{t as p}from"./_plugin-vue_export-helper-BDNMzG2s.js";import"./Ying_Right-BWic5Lsp.js";var m={class:`relative py-24 bg-gray-950 dark:bg-black overflow-hidden transition-colors duration-300`},h={class:`relative z-10 container mx-auto lg:max-w-[75%] px-6`},g={class:`grid grid-cols-1 md:grid-cols-3 gap-px bg-white/10 rounded-2xl overflow-hidden`},_={class:`text-6xl font-black text-white/10 group-hover:text-violet-500/30 transition-colors duration-500 leading-none`},v={class:`text-white text-xl font-bold mb-3`},y={class:`text-gray-500 text-sm leading-relaxed`},b={class:`relative py-24 bg-white dark:bg-slate-900 overflow-hidden transition-colors duration-300`},x={class:`relative z-10 container mx-auto lg:max-w-[75%] px-6`},S={class:`grid grid-cols-1 lg:grid-cols-2 gap-16 items-center`},C={class:`reveal flex flex-wrap gap-3 items-start content-start`,style:{"transition-delay":`300ms`}},w={class:`relative py-24 bg-white dark:bg-slate-900 border-t border-gray-100 dark:border-slate-800 overflow-hidden transition-colors duration-300`},T={class:`relative z-10 container mx-auto lg:max-w-[75%] px-6`},E={class:`grid grid-cols-2 lg:grid-cols-4 gap-6 md:gap-8`},D={class:`relative inline-flex items-center justify-center w-24 h-24 md:w-32 md:h-32 mb-4`},O={class:`absolute inset-0 w-full h-full -rotate-90`,viewBox:`0 0 100 100`},k=[`stroke-dasharray`,`stroke-dashoffset`],A={class:`relative z-10 text-center`},j={class:`text-2xl md:text-3xl font-black text-gray-900 dark:text-white`},M={class:`text-gray-400 dark:text-gray-500 text-sm font-medium tracking-widest uppercase`},N={class:`text-gray-900 dark:text-white font-semibold mt-1`},P={class:`relative py-24 overflow-hidden duration-300`},ee={class:`relative z-10 container mx-auto lg:max-w-[60%] px-6 text-center`},F={class:`grid grid-cols-1 md:grid-cols-3 gap-4 mt-12 mb-12 reveal`,style:{"transition-delay":`200ms`}},I={class:`font-bold text-gray-900 dark:text-white mb-1`},L={class:`text-xs text-gray-500 dark:text-gray-400`},R={class:`py-20 md:py-28 px-4 md:px-8`},z={class:`container mx-auto`},B={class:`grid grid-cols-1 lg:grid-cols-2 gap-12 items-center`},V={class:`reveal`},H={class:`grid grid-cols-1 md:grid-cols-2 gap-6`},U={class:`space-y-3`},W={class:`text-gray-700`},G={class:`space-y-3`},K={class:`text-gray-700`},q={class:`space-y-3`},J={class:`text-gray-700`},Y=`mailto:hr@gvsds.com?subject=我申请加入银河锋锐软件开发工作室&body=您好!%0D%0A%0D%0A我是 [ 姓名 / 网名 ],我期望加入银河锋锐软件开发工作室。%0D%0A我的联系方式是 [ 微信(必填) / QQ / TEL / X / 电报 / DISCORD ] %0D%0A我的兴趣爱好是 [ 选填 ],我的能力是 [ 选填 ]。%0D%0A我能够作为 [ 画师 / 程序员 / 测试人员 ] 加入工作室。%0D%0A [ 您的更多个人信息(选填)(个人简历等) ] %0D%0A希望您能提供一个机会,感谢!%0D%0A—— [ 姓名 / 网名 ] [ 年-月-日 ]`,X=p(i({__name:`AboutView`,setup(i){let p=null;a(()=>{let e=document.querySelectorAll(`.reveal`);p=new IntersectionObserver(e=>{e.forEach(e=>{if(e.isIntersecting){let t=e.target;t.style.opacity=`1`,t.style.transform=`translateY(0)`,p?.unobserve(t)}})},{threshold:.1}),e.forEach(e=>{let t=e;t.style.opacity=`0`,t.style.transform=`translateY(15px)`,t.style.transition=`opacity 0.5s ease, transform 0.5s ease`,p?.observe(t)})}),f(()=>{p?.disconnect()});let X=[{title:`和而不同`,icon:`fa-code`,iconBg:`bg-violet-500/10 border border-violet-500/20`,lineColor:`bg-violet-400`,desc:`尊重每一位开发者独特的风格与思路,在差异中寻求最优解。`},{title:`创新为主`,icon:`fa-rocket`,iconBg:`bg-sky-500/10 border border-sky-500/20`,lineColor:`bg-sky-400`,desc:`不满足于已知的边界,持续叩响未知领域的大门,让每一行代码都充满可能。`},{title:`以人为本`,icon:`fa-users`,iconBg:`bg-emerald-500/10 border border-emerald-500/20`,lineColor:`bg-emerald-400`,desc:`技术服务于人,成长成就彼此,让每个人都能在这里找到属于自己的位置。`}],Z=[{name:`开源`,cls:`border-2 border-gray-900 dark:border-white text-gray-900 dark:text-white`},{name:`协作`,cls:`bg-violet-500 text-white`},{name:`非营利`,cls:`border-2 border-gray-200 dark:border-slate-600 text-gray-400 dark:text-gray-500`},{name:`创新`,cls:`bg-sky-500 text-white`},{name:`年轻`,cls:`border-2 border-gray-200 dark:border-slate-600 text-gray-400 dark:text-gray-500`},{name:`分享`,cls:`border-2 border-gray-900 dark:border-white text-gray-900 dark:text-white`},{name:`成长`,cls:`bg-emerald-500 text-white`},{name:`技术探索`,cls:`border-2 border-gray-200 dark:border-slate-600 text-gray-400 dark:text-gray-500`},{name:`热爱`,cls:`bg-amber-400 text-gray-900`},{name:`GitHub`,cls:`border-2 border-gray-200 dark:border-slate-600 text-gray-400 dark:text-gray-500`},{name:`彼此成就`,cls:`border-2 border-gray-900 dark:border-white text-gray-900 dark:text-white`}],Q=[{label:`Members`,sub:`核心成员`,display:`17`,color:`text-violet-400`,dashArray:`283`,dashOffset:`70`},{label:`Projects`,sub:`开源项目`,display:`28`,color:`text-sky-400`,dashArray:`283`,dashOffset:`90`},{label:`Commits`,sub:`代码提交量`,display:`100w+`,color:`text-emerald-400`,dashArray:`283`,dashOffset:`20`},{label:`Clients`,sub:`服务客户`,display:`1500+`,color:`text-amber-400`,dashArray:`283`,dashOffset:`50`}],$=[{name:`画师`,icon:`fa-paint-brush`,iconBg:`bg-violet-100 dark:bg-violet-900/30`,card:`border-violet-100 dark:border-violet-900/50 bg-violet-50/50 dark:bg-violet-900/10 hover:border-violet-400 dark:hover:border-violet-500`,desc:`用艺术点亮技术世界`},{name:`程序员`,icon:`fa-terminal`,iconBg:`bg-sky-100 dark:bg-sky-900/30`,card:`border-sky-100 dark:border-sky-900/50 bg-sky-50/50 dark:bg-sky-900/10 hover:border-sky-400 dark:hover:border-sky-500`,desc:`用代码构建无限可能`},{name:`测试人员`,icon:`fa-bug`,iconBg:`bg-emerald-100 dark:bg-emerald-900/30`,card:`border-emerald-100 dark:border-emerald-900/50 bg-emerald-50/50 dark:bg-emerald-900/10 hover:border-emerald-400 dark:hover:border-emerald-500`,desc:`用严谨保障每个细节`}],te=[`Python 开发`,`C/C++ 开发`,`Web 前端(HTML/CSS/JS)`,`后端架构`,`数据库(SQL)`,`逆向反病毒`],ne=[`UI / UX 设计`,`插画绘制`,`动效设计`],re=[`人工智能`,`操作系统优化`,`服务器部署`,`心理测评工具开发`];return(i,a)=>(r(),d(`div`,null,[a[24]||=u(`
非营利 · 开源 · 共建
银河锋锐 SOFTWARE DEVELOPMENT STUDIO 因热爱而聚,以技术为桥—— 一群年轻开发者的开源实验场
`,1),o(`section`,m,[a[1]||=o(`div`,{class:`absolute inset-0 flex items-center justify-center pointer-events-none select-none overflow-hidden`},[o(`span`,{class:`text-[20vw] font-black text-white/[0.02] tracking-widest whitespace-nowrap`},`CORE`)],-1),o(`div`,h,[a[0]||=o(`div`,{class:`flex items-center gap-4 mb-16 reveal`},[o(`div`,{class:`w-8 h-px bg-white/30`}),o(`span`,{class:`text-white/40 text-sm tracking-widest uppercase`},`Our Philosophy`)],-1),o(`div`,g,[(r(),d(l,null,e(X,(e,r)=>o(`div`,{key:r,class:`group relative bg-gray-950 dark:bg-black p-8 md:p-10 flex flex-col gap-6 hover:bg-white/5 transition-colors duration-500 reveal`,style:t({transitionDelay:r*150+`ms`})},[o(`div`,_,`0`+n(r+1),1),o(`div`,{class:c([`w-10 h-10 rounded-xl flex items-center justify-center group-hover:bg-violet-500/20 transition-colors duration-300`,e.iconBg])},[o(`i`,{class:c([`fa`,e.icon])},null,2)],2),o(`div`,null,[o(`h4`,v,n(e.title),1),o(`p`,y,n(e.desc),1)]),o(`div`,{class:c([`mt-auto w-0 h-px group-hover:w-full transition-all duration-700`,e.lineColor])},null,2)],4)),64))])])]),o(`section`,b,[a[3]||=o(`div`,{class:`absolute right-0 top-0 h-full w-1/2 bg-gray-50 dark:bg-slate-800/50 pointer-events-none`,style:{"clip-path":`polygon(15% 0, 100% 0, 100% 100%, 0% 100%)`}},null,-1),o(`div`,x,[o(`div`,S,[a[2]||=u(` 自成立以来,始终以开源精神驱动前行,在 GitHub 等平台分享项目、文章与经验,让技术的价值触达更多人。
我们不追逐商业利益,通过编程兼职保障基本运转,让这里永远是一片纯粹的技术沃土。
这里不只是写代码的地方,更是结识同好、分享日常的温暖港湾。
`,1),o(`div`,C,[(r(),d(l,null,e(Z,e=>o(`span`,{key:e.name,class:c([e.cls,`px-5 py-3 rounded-full font-bold text-lg`])},n(e.name),3)),64))])])])]),o(`section`,w,[a[6]||=o(`div`,{class:`absolute -left-32 -top-32 w-96 h-96 rounded-full border border-gray-100 dark:border-slate-800 pointer-events-none`},null,-1),a[7]||=o(`div`,{class:`absolute -left-16 -top-16 w-64 h-64 rounded-full border border-gray-100 dark:border-slate-800 pointer-events-none`},null,-1),a[8]||=o(`div`,{class:`absolute -right-32 -bottom-32 w-96 h-96 rounded-full border border-gray-100 dark:border-slate-800 pointer-events-none`},null,-1),o(`div`,T,[a[5]||=o(`div`,{class:`text-center mb-16 reveal`},[o(`span`,{class:`text-xs font-bold tracking-widest text-sky-500 uppercase`},`By The Numbers`),o(`h3`,{class:`text-3xl md:text-4xl font-black text-gray-900 dark:text-white mt-3`},`用数字说话`)],-1),o(`div`,E,[(r(),d(l,null,e(Q,(e,i)=>o(`div`,{key:i,class:`group text-center reveal`,style:t({transitionDelay:i*100+`ms`})},[o(`div`,D,[(r(),d(`svg`,O,[a[4]||=o(`circle`,{cx:`50`,cy:`50`,r:`45`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,class:`text-gray-100 dark:text-slate-800`},null,-1),o(`circle`,{cx:`50`,cy:`50`,r:`45`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-dasharray":e.dashArray,"stroke-dashoffset":e.dashOffset,class:c([`transition-all duration-1000`,e.color])},null,10,k)])),o(`div`,A,[o(`div`,j,n(e.display),1)])]),o(`p`,M,n(e.label),1),o(`p`,N,n(e.sub),1)],4)),64))])])]),a[25]||=u(`
The Founders
初心如磐,携手同行 因为共同的热爱,四个年轻的灵魂在此交汇
"独行快,众行远。我们是伙伴,更是彼此坚实的后盾。"
Together We Build
Our Belief
每一份对技术的热爱 , 都能汇聚成改变 的力量。
无论你是刚踏入技术领域的新手,还是深耕行业的资深开发者—— 只要怀揣好奇,这里就是你的地方。
技术的力量源于共同探索,成长的价值在于「成就彼此」
`,2),o(`section`,P,[a[12]||=o(`div`,{class:`absolute left-0 top-0 w-[15%] h-full z-0 pointer-events-none c-furry`},[o(`img`,{src:`/assets/img/Background/ChiSha_Left.png`,alt:`左侧吉祥物`,class:`w-full h-full object-contain object-left opacity-60 dark:opacity-40`})],-1),a[13]||=o(`div`,{class:`absolute right-0 top-0 w-[15%] h-full z-0 pointer-events-none c-furry`},[o(`img`,{src:`/assets/img/Background/Ying_Right.png`,alt:`右侧吉祥物`,class:`w-full h-full object-contain object-right opacity-60 dark:opacity-40`})],-1),o(`div`,ee,[a[11]||=u(`Join Us 期待与你同行 我们欢迎画师 、 程序员 、 测试人员 , 以及所有愿意与我们一起探索技术边界的你。
`,1),o(`div`,F,[(r(),d(l,null,e($,(e,t)=>o(`div`,{key:t,class:c([e.card,`group p-6 rounded-2xl border-2 hover:scale-105 transition-all duration-300 cursor-default`])},[o(`div`,{class:c([`w-12 h-12 rounded-xl flex items-center justify-center mx-auto mb-3 group-hover:bg-violet-200 transition-colors`,e.iconBg])},[o(`i`,{class:c([`fa text-xl`,e.icon])},null,2)],2),o(`h5`,I,n(e.name),1),o(`p`,L,n(e.desc),1)],2)),64))]),o(`div`,{class:`reveal`,style:{"transition-delay":`400ms`}},[o(`a`,{href:Y,class:`group relative inline-flex items-center gap-3 px-10 py-5 bg-gray-900 dark:bg-white rounded-2xl text-white dark:text-gray-900 font-bold text-lg transition-all duration-500 hover:scale-105 hover:shadow-[0_20px_60px_rgba(0,0,0,0.2)] dark:hover:shadow-[0_20px_60px_rgba(255,255,255,0.15)] overflow-hidden`},[...a[9]||=[o(`span`,{class:`absolute inset-0 bg-gradient-to-r from-violet-600 via-sky-500 to-emerald-500 opacity-0 group-hover:opacity-100 transition-opacity duration-500`},null,-1),o(`i`,{class:`fa fa-paper-plane relative z-10 group-hover:translate-x-1 group-hover:-translate-y-1 transition-transform duration-300`},null,-1),o(`span`,{class:`relative z-10`},`发送申请邮件`,-1)]]),a[10]||=o(`p`,{class:`mt-4 text-xs text-gray-400 dark:text-gray-600`},` 📮 hr@gvsds.com · 我们会尽快回复你的申请 `,-1)])])]),o(`section`,R,[o(`div`,z,[o(`div`,B,[o(`div`,V,[a[20]||=o(`h2`,{class:`text-3xl md:text-4xl font-extrabold text-gray-900 pl-4 border-l-4 border-gray-900 mb-8`},`涉及领域`,-1),a[21]||=o(`div`,{class:`w-4/5 mx-auto md:mx-0 mb-8`},[o(`div`,{class:`border-b border-gray-200 pb-2`})],-1),o(`div`,H,[o(`div`,null,[a[15]||=o(`h3`,{class:`text-lg font-semibold text-gray-900 mb-4`},`开发类`,-1),o(`ul`,U,[(r(),d(l,null,e(te,e=>o(`li`,{key:e,class:`flex items-center`},[a[14]||=o(`div`,{class:`w-2 h-2 bg-gray-900 rounded-full mr-3`},null,-1),o(`span`,W,n(e),1)])),64))])]),o(`div`,null,[a[18]||=o(`h3`,{class:`text-lg font-semibold text-gray-900 mb-4`},`设计类`,-1),o(`ul`,G,[(r(),d(l,null,e(ne,e=>o(`li`,{key:e,class:`flex items-center`},[a[16]||=o(`div`,{class:`w-2 h-2 bg-gray-900 rounded-full mr-3`},null,-1),o(`span`,K,n(e),1)])),64))]),a[19]||=o(`h3`,{class:`text-lg font-semibold text-gray-900 mt-6 mb-4`},`其他`,-1),o(`ul`,q,[(r(),d(l,null,e(re,e=>o(`li`,{key:e,class:`flex items-center`},[a[17]||=o(`div`,{class:`w-2 h-2 bg-gray-900 rounded-full mr-3`},null,-1),o(`span`,J,n(e),1)])),64))])])])]),o(`div`,{class:`reveal`,style:{"transition-delay":`300ms`}},[o(`div`,{class:`bg-white dark:bg-slate-800 rounded-xl p-8 md:p-10 shadow-[0_0_30px_rgba(0,0,0,0.08)] dark:shadow-[0_0_30px_rgba(0,0,0,0.4)] border border-gray-100 dark:border-slate-700`},[a[23]||=u(`无论你是谁,能力如何,只要你与我们有共同的理想,都能加入我们的团队,与我们共同努力。
申请加入(微信) `,4),o(`a`,{href:Y,class:`mt-4 inline-block ml-4 bg-gray-900 dark:bg-white dark:text-gray-900 text-white font-semibold px-8 py-4 rounded-lg transition-all duration-300 hover:bg-gray-800 dark:hover:bg-gray-200 hover:shadow-[0_0_15px_rgba(0,0,0,0.1)] dark:hover:shadow-[0_0_15px_rgba(255,255,255,0.2)] transform hover:-translate-y-1 active:scale-98`},[...a[22]||=[s(` 申请加入(邮箱) `,-1),o(`i`,{class:`fa fa-arrow-right ml-2`},null,-1)]])])])])])])]))}}),[[`__scopeId`,`data-v-3fe6dca8`]]);export{X as default};
\ No newline at end of file
diff --git a/TempLate/assets/AboutView-oUsSOYHZ.css b/TempLate/assets/AboutView-oUsSOYHZ.css
new file mode 100644
index 00000000..cb3ee654
--- /dev/null
+++ b/TempLate/assets/AboutView-oUsSOYHZ.css
@@ -0,0 +1 @@
+.animate-blink[data-v-3fe6dca8]{animation:1s step-start infinite blink-3fe6dca8}@keyframes blink-3fe6dca8{50%{opacity:0}}
diff --git a/TempLate/assets/ApplyView-BCWabdFb.js b/TempLate/assets/ApplyView-BCWabdFb.js
new file mode 100644
index 00000000..14c6137b
--- /dev/null
+++ b/TempLate/assets/ApplyView-BCWabdFb.js
@@ -0,0 +1 @@
+import{C as e,D as t,M as n,N as r,O as i,S as a,_ as o,c as s,d as c,f as ee,h as l,j as u,k as d,l as f,m as te,o as p,p as m,r as h,u as g}from"./index-BM-LFFI_.js";import{t as _}from"./_plugin-vue_export-helper-BDNMzG2s.js";var ne={class:`apply-page`},re={class:`container-galaxy`},ie={class:`glass-card`},ae={class:`grid-layout`},oe={class:`input-group`},se={class:`input-group`},ce={class:`input-group`},le={class:`slider-tabs`,"data-count":3},ue=[`onClick`],de=[`required`],fe={for:`agreeGender`,class:`cursor-pointer align-center`,style:{flex:`1`,cursor:`pointer`}},pe={class:`input-group`},me={class:`slider-tabs`,"data-count":3},he=[`onClick`],ge={for:`agreeNation`,class:`cursor-pointer align-center`,style:{flex:`1`,cursor:`pointer`}},_e={class:`glass-card`},ve={class:`grid-layout`},ye={class:`input-group`},be={for:`agreePolitics`,class:`cursor-pointer align-center`,style:{flex:`1`,cursor:`pointer`}},xe={class:`input-group`},Se={class:`input-group`},v={class:`input-group`},y={style:{display:`flex`,"flex-direction":`column`,gap:`6px`}},b={class:`align-center gap-2 cursor-pointer`,style:{display:`flex`,gap:`0.5rem`}},x={class:`align-center gap-2 cursor-pointer`,style:{display:`flex`,gap:`0.5rem`}},S={class:`glass-card`},C={class:`mb-4`},w={class:`contact-grid`,id:`contactTypes`},T=[`id`,`value`],E=[`for`],D={id:`contactInputsContainer`,class:`grid-layout`,style:{"grid-template-columns":`repeat(auto-fill, minmax(200px, 1fr))`}},O=[`data-type`],k={class:`label-text`},A=[`name`,`onUpdate:modelValue`,`placeholder`],j={class:`glass-card`},Ce={style:{display:`flex`,"flex-direction":`column`,gap:`1.25rem`}},we={class:`input-group`},Te={class:`agreement-box`},Ee={for:`agreeEdu`,class:`cursor-pointer align-center`,style:{flex:`1`,cursor:`pointer`}},De={class:`input-group`},Oe={class:`input-group`},ke={class:`input-group`},Ae={class:`glass-card`,style:{"border-left":`5px solid var(--accent-color)`}},je={class:`section-title`},Me={class:`svg-icon`,style:{color:`var(--accent-color)`},viewBox:`0 0 448 512`},Ne={style:{background:`#fffbeb`,padding:`1rem`,"border-radius":`0.5rem`,border:`1px solid #fcd34d`}},Pe={style:{display:`flex`,"justify-content":`space-between`,"align-items":`center`,gap:`1rem`,"flex-wrap":`wrap`}},Fe={class:`align-center cursor-pointer`,style:{"font-size":`0.9rem`,color:`#78350f`,"white-space":`nowrap`}},Ie={class:`glass-card`},Le={class:`input-group`},Re={class:`modal-header`},M={class:`modal-title`},ze=[`innerHTML`],N=_(o({__name:`ApplyView`,setup(o){let _=[{label:`男`,value:`male`},{label:`女`,value:`female`},{label:`不公开`,value:`secret`}],N=[{label:`汉族`,value:`han`},{label:`少数民族`,value:`other`},{label:`不公开`,value:`secret`}],P=i({netName:``,realName:``,gender:`male`,nation:`han`,politics:``,age:``,birthday:``,location:``,education:``,experience:``,intention:``,selfIntro:``,email:``}),F=i({genderSecret:!1,nationAuth:!1,minorParty:!1,infoSecret:!1,realLoc:!1,eduReal:!1,joinAgreement:!1});function I(e){return`calc(${e*33.333-1}% + 4px)`}let Be=g(()=>I(_.findIndex(e=>e.value===P.gender))),Ve=g(()=>I(N.findIndex(e=>e.value===P.nation)));function L(e,t){e===`gender`?P.gender=_[t].value:P.nation=N[t].value}let He=g(()=>[`han`,`other`,`secret`].includes(P.nation)),Ue=g(()=>P.nation===`han`?`nationReal`:P.nation===`other`?`nationAuth`:P.nation===`secret`?`nationSecret`:`nationAuth`),We=g(()=>P.nation===`han`?`《民族真实性声明》`:P.nation===`other`?`《少数民族真实性声明》`:P.nation===`secret`?`《民族不公开协议》`:`《民族真实性声明》`),Ge=[`群众`,`党员`,`团员`,`中共党员`,`中共团员`,`共青团员`,`无党派`,`无党派人士`],R=g(()=>!!P.politics.trim()&&!Ge.includes(P.politics.trim()));function Ke(){R.value||(F.minorParty=!1)}let z=g(()=>!!P.location.trim());function qe(){z.value||(F.infoSecret=!1,F.realLoc=!1)}let B=[{id:`wechat`,label:`微信`},{id:`qq`,label:`QQ`},{id:`phone`,label:`电话号`},{id:`kuaishou`,label:`快手`},{id:`douyin`,label:`抖音`},{id:`bilibili`,label:`B站`},{id:`email_alt`,label:`邮箱`},{id:`weibo`,label:`微博`},{id:`youtube`,label:`YouTube`},{id:`tiktok`,label:`TikTok`},{id:`google`,label:`Google`},{id:`x_twitter`,label:`X`},{id:`discord`,label:`Discord`},{id:`facebook`,label:`Facebook`},{id:`instagram`,label:`Instagram`},{id:`github`,label:`Github`},{id:`csdn`,label:`CSDN`}],V=d([]),H=i({});function Je(){B.forEach(e=>{V.value.includes(e.id)||delete H[e.id]})}function U(e){return B.find(t=>t.id===e)?.label||e}let W=d(``),G=d(!1),K={genderSecret:{title:`《性别不公开声明》`,content:`鉴于申请人在本申请表中选择"性别:不公开"(以下简称"保密选择"),银河锋锐软件开发工作室(以下简称"工作室")与申请人就性别信息保密事宜达成如下声明:
一、工作室承诺:
1. 严格保护申请人的性别隐私权,仅在法律法规强制性要求(如社保、税务登记等)的必要场景下留存真实性别信息,且该信息仅限指定行政人员查阅,严禁外泄。
2. 在招聘评估、团队协作、对外公示等所有非必要场景中,均不披露、不询问申请人的性别信息,完全遵循性别中立原则。
二、申请人确认:
1. 知悉保密选择仅适用于非法定场景,理解并配合工作室在法定必要环节提供真实性别信息的要求。
2. 不因性别信息保密要求向工作室提出超出合理范围的特殊待遇诉求。
`},nationAuth:{title:`《少数民族真实性声明》`,content:`本人(申请人)郑重作出如下声明:
1. 本人在本申请表中填报的民族信息为【少数民族】,该信息完全基于本人的户籍登记及真实民族归属,无任何虚构、篡改行为。
2. 本人知晓工作室尊重各民族文化习俗,承诺在合作/工作期间遵守国家民族政策,维护民族团结,不利用少数民族身份谋取不正当利益。
3. 若本人填报的民族信息存在虚假,自愿接受以下后果:
(1)工作室有权立即撤销录用/合作资格;
(2)若已建立合作关系,工作室可无条件解除协议,且本人需承担因此给工作室造成的全部损失。
`},nationReal:{title:`《民族真实性声明》`,content:`本人(申请人)郑重作出如下声明:
1. 本人在本申请表中填报的民族信息为【汉族】,该信息完全基于本人的户籍登记及真实民族归属,无任何虚构、篡改行为。
2. 本人知晓工作室尊重各民族文化习俗,承诺在合作/工作期间遵守国家民族政策,维护民族团结。
3. 若本人填报的民族信息存在虚假,自愿接受以下后果:
(1)工作室有权立即撤销录用/合作资格;
(2)若已建立合作关系,工作室可无条件解除协议,且本人需承担因此给工作室造成的全部损失。
`},nationSecret:{title:`《民族不公开协议》`,content:`鉴于申请人在本申请表中选择"民族:不公开"(以下简称"保密选择"),银河锋锐软件开发工作室(以下简称"工作室")与申请人就民族信息保密事宜达成如下协议:
一、工作室承诺:
1. 严格保护申请人的民族隐私权,仅在法律法规强制性要求的必要场景下留存真实民族信息,且该信息仅限指定行政人员查阅,严禁外泄。
2. 在招聘评估、团队协作、对外公示等所有非必要场景中,均不披露、不询问申请人的民族信息,完全遵循民族中立原则。
二、申请人确认:
1. 知悉保密选择仅适用于非法定场景,理解并配合工作室在法定必要环节提供真实民族信息的要求。
2. 不因民族信息保密要求向工作室提出超出合理范围的特殊待遇诉求。
`},minorParty:{title:`《少数党派声明》`,content:`本人(申请人)就政治面貌相关事宜声明如下:
1. 本人填报的政治面貌为【非主流党派】(非群众、中共党员、共青团员、无党派人士),该信息真实有效。
2. 本人承诺所归属的党派/团体均为合法登记的组织,本人的政治信仰及活动均遵守中华人民共和国宪法及相关法律法规。
3. 工作室确认:
(1)尊重申请人的政治信仰自由,不因申请人的政治面貌差异实施任何形式的歧视;
(2)在招聘评估、岗位安排、福利待遇等方面,对申请人与其他政治面貌的应聘者/员工一视同仁。
`},infoSecret:{title:`《工作室成员信息不公开协议》`,content:`甲方:银河锋锐软件开发工作室 乙方:申请人
为保障乙方个人信息安全,甲乙双方就居住地信息保密事宜达成如下协议:
一、信息使用范围:
1. 甲方收集乙方的居住地信息,仅用于建立员工/合作成员基础档案及紧急联络。
二、甲方保密义务:
1. 严禁将乙方居住地信息出售、出租、转让给任何第三方。
2. 严禁在公开渠道披露乙方居住地信息。
3. 若因甲方原因导致信息泄露,甲方需承担相应赔偿责任。
`},realLoc:{title:`《居住地真实声明》`,content:`本人(申请人)郑重声明:
1. 本人在本申请表中填报的居住地信息(省/市/区/街道等)真实、准确、完整。
2. 本人知晓该信息用于物料发放、会议协调等。
3. 若本人填报的居住地信息虚假,自愿承担后果:
(1)因地址错误导致的物料无法送达等损失,由本人自行承担;
(2)工作室有权撤销录用资格。
`},eduReal:{title:`《学历真实声明》`,content:`本人(申请人)就教育背景信息的真实性作出如下不可撤销的声明:
1. 本人在"教育背景"栏填报的所有信息均为真实、完整。
2. 本人同意工作室通过学信网等方式进行核验。
3. 若经核实发现本人信息存在虚假,本人自愿接受:
(1)无论是否已录用,工作室均有权立即终止流程;
(2)若已入职,工作室可无条件解除劳动合同且无需支付补偿;
(3)本人赔偿工作室因虚假信息导致的全部损失。
您可以留空来声明不公开学历。
`}};function q(e){K[e]&&(W.value=e,requestAnimationFrame(()=>{G.value=!0}))}function J(){G.value=!1,setTimeout(()=>{W.value=``},200)}let Y=d(`提示信息`),X=d(!1),Z=null;function Q(e){Y.value=e,X.value=!0,Z&&clearTimeout(Z),Z=setTimeout(()=>{X.value=!1},3e3)}let $=d(!1);function Ye(){if(!V.value.includes(`wechat`)&&!V.value.includes(`qq`)){$.value=!0,Q(`请至少选择微信或QQ`);return}if($.value=!1,!F.joinAgreement){Q(`请先签署《工作室成员入职协议》`);return}let e={};V.value.forEach(t=>{let n=(H[t]||``).trim();n&&(e[t]={label:U(t),value:n})});let t={...P,contacts:e,agreements:{...F}};console.log(`提交的 JSON 数据:`,t),console.log(`JSON 字符串:`,JSON.stringify(t,null,2)),Q(`申请提交成功!数据已生成 JSON。`)}return(i,o)=>(a(),m(f,null,[c(`div`,ne,[c(`div`,re,[o[57]||=te(``,1),c(`form`,{id:`appForm`,onSubmit:s(Ye,[`prevent`])},[c(`section`,ie,[o[34]||=c(`div`,{class:`section-title`},[c(`svg`,{class:`svg-icon`,viewBox:`0 0 448 512`},[c(`path`,{d:`M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3z`})]),l(` 基础档案 `)],-1),c(`div`,ae,[c(`div`,oe,[o[28]||=c(`label`,{class:`label-text`},[l(`网名 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`input`,{type:`text`,id:`netName`,"onUpdate:modelValue":o[0]||=e=>P.netName=e,class:`custom-input`,placeholder:`您的常用网名`,required:``},null,512),[[p,P.netName]])]),c(`div`,se,[o[29]||=c(`label`,{class:`label-text`},`真实姓名 (可选)`,-1),t(c(`input`,{type:`text`,id:`realName`,"onUpdate:modelValue":o[1]||=e=>P.realName=e,class:`custom-input`,placeholder:`选填`},null,512),[[p,P.realName]])]),c(`div`,ce,[o[31]||=c(`label`,{class:`label-text`},[l(`性别 `),c(`span`,{class:`required-mark`},`*`)],-1),c(`div`,le,[c(`div`,{class:`slider-bg`,style:n({left:Be.value})},null,4),(a(),m(f,null,e(_,(e,t)=>c(`div`,{key:e.value,class:u([`slider-option`,{active:P.gender===e.value}]),onClick:e=>L(`gender`,t)},r(e.label),11,ue)),64))]),t(c(`input`,{type:`hidden`,"onUpdate:modelValue":o[2]||=e=>P.gender=e},null,512),[[p,P.gender]]),c(`div`,{id:`genderAgreement`,class:u([`agreement-box`,{"hidden-state":P.gender!==`secret`}])},[t(c(`input`,{type:`checkbox`,id:`agreeGender`,class:`custom-checkbox`,"onUpdate:modelValue":o[3]||=e=>F.genderSecret=e,required:P.gender===`secret`},null,8,de),[[h,F.genderSecret]]),c(`label`,fe,[o[30]||=l(` 我已阅读并同意 `,-1),c(`a`,{class:`agreement-link`,onClick:o[4]||=s(e=>q(`genderSecret`),[`prevent`])},`《性别不公开声明》`)])],2)]),c(`div`,pe,[o[33]||=c(`label`,{class:`label-text`},[l(`民族 `),c(`span`,{class:`required-mark`},`*`)],-1),c(`div`,me,[c(`div`,{class:`slider-bg`,style:n({left:Ve.value})},null,4),(a(),m(f,null,e(N,(e,t)=>c(`div`,{key:e.value,class:u([`slider-option`,{active:P.nation===e.value}]),onClick:e=>L(`nation`,t)},r(e.label),11,he)),64))]),t(c(`input`,{type:`hidden`,"onUpdate:modelValue":o[5]||=e=>P.nation=e},null,512),[[p,P.nation]]),c(`div`,{id:`nationAgreement`,class:u([`agreement-box`,{"hidden-state":!He.value}])},[t(c(`input`,{type:`checkbox`,id:`agreeNation`,class:`custom-checkbox`,"onUpdate:modelValue":o[6]||=e=>F.nationAuth=e,required:``},null,512),[[h,F.nationAuth]]),c(`label`,ge,[o[32]||=l(` 我已阅读并同意 `,-1),c(`a`,{class:`agreement-link`,onClick:o[7]||=s(e=>q(Ue.value),[`prevent`])},r(We.value),1)])],2)])])]),c(`section`,_e,[o[40]||=c(`div`,{class:`section-title`},[c(`svg`,{class:`svg-icon`,viewBox:`0 0 512 512`},[c(`path`,{d:`M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z`})]),l(` 政治面貌与联络 `)],-1),c(`div`,ve,[c(`div`,ye,[o[36]||=c(`label`,{class:`label-text`},[l(`政治面貌 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`input`,{type:`text`,id:`politics`,"onUpdate:modelValue":o[8]||=e=>P.politics=e,class:`custom-input`,placeholder:`如:群众、党员...`,onInput:Ke},null,544),[[p,P.politics]]),c(`div`,{id:`politicsAgreement`,class:u([`agreement-box`,{"hidden-state":!R.value}])},[t(c(`input`,{type:`checkbox`,id:`agreePolitics`,class:`custom-checkbox`,"onUpdate:modelValue":o[9]||=e=>F.minorParty=e,required:``},null,512),[[h,F.minorParty]]),c(`label`,be,[o[35]||=l(` 我确认并签署 `,-1),c(`a`,{class:`agreement-link`,onClick:o[10]||=s(e=>q(`minorParty`),[`prevent`])},`《少数党派声明》`)])],2)]),c(`div`,xe,[o[37]||=c(`label`,{class:`label-text`},`年龄 (可选)`,-1),t(c(`input`,{type:`number`,id:`age`,"onUpdate:modelValue":o[11]||=e=>P.age=e,class:`custom-input`,placeholder:`例如:18`,min:`10`,max:`99`},null,512),[[p,P.age]])]),c(`div`,Se,[o[38]||=c(`label`,{class:`label-text`},`生日 (可选)`,-1),t(c(`input`,{type:`date`,id:`birthday`,"onUpdate:modelValue":o[12]||=e=>P.birthday=e,class:`custom-input`},null,512),[[p,P.birthday]])]),c(`div`,v,[o[39]||=c(`label`,{class:`label-text`},`居住地 (可选)`,-1),t(c(`input`,{type:`text`,id:`location`,"onUpdate:modelValue":o[13]||=e=>P.location=e,class:`custom-input`,placeholder:`省/市/区`,onInput:qe},null,544),[[p,P.location]]),c(`div`,{id:`locationAgreement`,class:u([`agreement-box`,{"hidden-state":!z.value}])},[c(`div`,y,[c(`label`,b,[t(c(`input`,{type:`checkbox`,id:`agreeLocInfo`,class:`custom-checkbox`,"onUpdate:modelValue":o[14]||=e=>F.infoSecret=e,required:``},null,512),[[h,F.infoSecret]]),c(`span`,null,[c(`a`,{class:`agreement-link`,onClick:o[15]||=s(e=>q(`infoSecret`),[`prevent`])},`《工作室成员信息不公开协议》`)])]),c(`label`,x,[t(c(`input`,{type:`checkbox`,id:`agreeLocReal`,class:`custom-checkbox`,"onUpdate:modelValue":o[16]||=e=>F.realLoc=e,required:``},null,512),[[h,F.realLoc]]),c(`span`,null,[c(`a`,{class:`agreement-link`,onClick:o[17]||=s(e=>q(`realLoc`),[`prevent`])},`《居住地真实声明》`)])])])],2)])])]),c(`section`,S,[o[42]||=c(`div`,{class:`section-title`},[c(`svg`,{class:`svg-icon`,viewBox:`0 0 640 512`},[c(`path`,{d:`M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-127.5-56.5-184.8-19.9L226.5 84.5C185.3 53.3 132.1 53.3 91 84.5L42.6 132.9C13.4 162.1 3.4 207.6 22.4 247.5c13.1 27.3 39.4 45.8 69.7 48.2l10.7 1c9.3 .8 18.2 4 25.9 9.1l47.4 31.6c-4.7-12.9-7.2-26.8-7.2-41.2c0-53 43-96 96-96s96 43 96 96c0 14.4-2.5 28.3-7.2 41.2l47.4-31.6c7.7-5.1 16.6-8.3 25.9-9.1l10.7-1c30.3-2.4 56.6-20.9 69.7-48.2c19-39.9 9-85.4-20.2-114.6l-48.4-48.4c-41.1-41.1-94.3-41.1-135.5 0L251 160.8c-25.6 25.6-29 65.3-10.3 94.8c5.9 9.2 16.1 14.8 27.1 14.8h4.4c14.5 0 27.6-8.5 33.5-21.7c4.7-10.6 14.8-17.4 26.3-17.4s21.6 6.8 26.3 17.4c5.9 13.2 19 21.7 33.5 21.7h4.4c11 0 21.2-5.6 27.1-14.8c18.7-29.5 15.3-69.2-10.3-94.8z`})]),l(` 联系方式矩阵 `)],-1),c(`div`,C,[o[41]||=c(`p`,{style:{"font-size":`0.85rem`,color:`var(--text-sub)`,"margin-bottom":`0.5rem`}},`请选择您常用的联系方式 (微信、QQ二选一或全选,其余可选):`,-1),c(`div`,w,[(a(),m(f,null,e(B,e=>c(`div`,{key:e.id},[t(c(`input`,{type:`checkbox`,id:`chk_${e.id}`,value:e.id,class:`contact-checkbox`,"onUpdate:modelValue":o[18]||=e=>V.value=e,onChange:Je},null,40,T),[[h,V.value]]),c(`label`,{for:`chk_${e.id}`,class:`contact-label`},r(e.label),9,E)])),64))]),c(`div`,{id:`contactError`,class:`error-msg`,style:n({display:$.value?`block`:`none`})},`请至少选择微信或QQ中的一种联系方式!`,4)]),c(`div`,D,[(a(!0),m(f,null,e(V.value,e=>(a(),m(`div`,{key:e,class:`input-group contact-input-item`,"data-type":e},[c(`label`,k,r(U(e))+`账号/ID`,1),t(c(`input`,{type:`text`,name:`contact_${e}`,"onUpdate:modelValue":t=>H[e]=t,class:`custom-input`,placeholder:`请输入${U(e)}`},null,8,A),[[p,H[e]]])],8,O))),128))])]),c(`section`,j,[o[48]||=c(`div`,{class:`section-title`},[c(`svg`,{class:`svg-icon`,viewBox:`0 0 576 512`},[c(`path`,{d:`M384 480h48c11.4 0 21.9-6.1 27.6-16.1l56-96c6.4-11 4.8-25-3.9-34.3s-22.2-12.1-33.5-6.6L416 368.2V128c0-17.7-14.3-32-32-32s-32 14.3-32 32v178.7l-27.5-20.6c-10.3-7.7-24.6-6.5-33.5 2.8s-10.3 23.2-3.9 34.3l56 96c5.7 10 16.2 16.1 27.6 16.1H384zM192 480h48c11.4 0 21.9-6.1 27.6-16.1l56-96c6.4-11 4.8-25-3.9-34.3s-22.2-12.1-33.5-6.6L224 368.2V128c0-17.7-14.3-32-32-32s-32 14.3-32 32v178.7l-27.5-20.6c-10.3-7.7-24.6-6.5-33.5 2.8s-10.3 23.2-3.9 34.3l56 96c5.7 10 16.2 16.1 27.6 16.1z`})]),l(` 履历与愿景 `)],-1),c(`div`,Ce,[c(`div`,we,[o[44]||=c(`label`,{class:`label-text`},[l(`教育背景 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`textarea`,{id:`education`,"onUpdate:modelValue":o[19]||=e=>P.education=e,rows:`3`,class:`custom-input`,placeholder:`请详细描述您的学历、毕业院校及专业,若您年龄过小可选择如实填写或不公开,留空表明您不公开...`},null,512),[[p,P.education]]),c(`div`,Te,[t(c(`input`,{type:`checkbox`,id:`agreeEdu`,class:`custom-checkbox`,"onUpdate:modelValue":o[20]||=e=>F.eduReal=e,required:``},null,512),[[h,F.eduReal]]),c(`label`,Ee,[o[43]||=l(` 我保证以上信息真实有效,即 `,-1),c(`a`,{class:`agreement-link`,onClick:o[21]||=s(e=>q(`eduReal`),[`prevent`])},`签署《学历真实声明》`)])])]),c(`div`,De,[o[45]||=c(`label`,{class:`label-text`},`求职/工作经历 (选填)`,-1),t(c(`textarea`,{id:`experience`,"onUpdate:modelValue":o[22]||=e=>P.experience=e,rows:`3`,class:`custom-input`,placeholder:`请简述您过往的工作或项目经验...`},null,512),[[p,P.experience]])]),c(`div`,Oe,[o[46]||=c(`label`,{class:`label-text`},[l(`求职意向 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`textarea`,{id:`intention`,"onUpdate:modelValue":o[23]||=e=>P.intention=e,rows:`3`,class:`custom-input`,placeholder:`您为什么想来本工作室?期望的职位是什么?`,required:``},null,512),[[p,P.intention]])]),c(`div`,ke,[o[47]||=c(`label`,{class:`label-text`},[l(`个人自述 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`textarea`,{id:`selfIntro`,"onUpdate:modelValue":o[24]||=e=>P.selfIntro=e,rows:`4`,class:`custom-input`,placeholder:`请自由发挥:优缺点、自我介绍、心理素质展示等...`,required:``},null,512),[[p,P.selfIntro]])])])]),c(`section`,Ae,[c(`div`,je,[(a(),m(`svg`,Me,[...o[49]||=[c(`path`,{d:`M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V173.3c0-17-6.7-33.3-18.7-45.3L352 50.7C340 38.7 323.7 32 306.7 32H64zm0 96c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V128zM224 288a64 64 0 1 1 0 128 64 64 0 1 1 0-128z`},null,-1)]])),o[50]||=l(` 入职必读协议 `,-1)]),c(`div`,Ne,[o[53]||=c(`p`,{style:{margin:`0 0 0.5rem 0`,"font-weight":`600`,color:`#92400e`}},`请务必在提交前签署《工作室成员入职协议》`,-1),c(`div`,Pe,[o[52]||=c(`a`,{href:`https://doc.gvsds.com/D9F9194A243D3A499108A7CA082373A7`,target:`_blank`,class:`agreement-btn`},` 点击阅读并签署 → `,-1),c(`label`,Fe,[t(c(`input`,{type:`checkbox`,id:`agreeJoin`,class:`custom-checkbox`,"onUpdate:modelValue":o[25]||=e=>F.joinAgreement=e,required:``},null,512),[[h,F.joinAgreement]]),o[51]||=c(`span`,{style:{"margin-left":`0.5rem`}},`我已阅读并签署`,-1)])])])]),c(`section`,Ie,[o[55]||=c(`div`,{class:`section-title`},[c(`svg`,{class:`svg-icon`,viewBox:`0 0 512 512`},[c(`path`,{d:`M448 256c0-106-86-192-192-192S64 150 64 256c0 84.6 54.5 156.3 130.6 181.7c-2.6-8.4-4-17.3-4-26.5c0-41.2 22.1-79.2 57.9-99.3c-5.8-4.7-9.5-11.9-9.5-19.9c0-14.1 11.4-25.5 25.5-25.5s25.5 11.4 25.5 25.5c0 8-3.7 15.2-9.5 19.9c35.8 20.2 57.9 58.1 57.9 99.3c0 9.2-1.4 18.2-4 26.5C353.5 412.3 408 340.6 408 256z`})]),l(` 最终确认 `)],-1),c(`div`,Le,[o[54]||=c(`label`,{class:`label-text`},[l(`联系邮箱 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`input`,{type:`email`,id:`email`,"onUpdate:modelValue":o[26]||=e=>P.email=e,class:`custom-input`,placeholder:`我们将发送Offer至此邮箱`,required:``},null,512),[[p,P.email]])]),o[56]||=c(`div`,{style:{display:`flex`,"align-items":`flex-end`}},[c(`button`,{type:`submit`,class:`submit-btn`},` 提交申请 `)],-1)])],32),o[58]||=c(`footer`,{style:{"text-align":`center`,color:`#94a3b8`,"font-size":`0.8rem`,"padding-top":`2rem`}},` © 2023 银河锋锐软件开发工作室. All Rights Reserved. `,-1)])]),c(`div`,{id:`toast`,class:u([`toast`,{show:X.value}])},r(Y.value),3),W.value?(a(),m(`div`,{key:0,class:u([`modal-overlay`,{open:G.value}]),onClick:s(J,[`self`])},[c(`div`,{class:`modal-content`,onClick:o[27]||=s(()=>{},[`stop`])},[c(`div`,Re,[c(`span`,M,r(K[W.value]?.title||``),1),c(`button`,{class:`close-btn`,onClick:J},`×`)]),c(`div`,{class:`modal-body`,style:{"font-size":`0.9rem`,color:`#475569`},innerHTML:K[W.value]?.content||``},null,8,ze),c(`div`,{style:{"text-align":`right`,"margin-top":`1.5rem`}},[c(`button`,{onClick:J,style:{background:`var(--primary-color)`,color:`white`,border:`none`,padding:`0.5rem 1.5rem`,"border-radius":`0.5rem`,cursor:`pointer`}},`我已阅读并关闭`)])])],2)):ee(``,!0)],64))}}),[[`__scopeId`,`data-v-bda07ef6`]]);export{N as default};
\ No newline at end of file
diff --git a/TempLate/assets/ApplyView-BT2SZps1.js b/TempLate/assets/ApplyView-BT2SZps1.js
new file mode 100644
index 00000000..6b4885be
--- /dev/null
+++ b/TempLate/assets/ApplyView-BT2SZps1.js
@@ -0,0 +1 @@
+import{C as e,D as t,M as n,N as r,O as i,S as a,_ as o,c as s,d as c,f as ee,h as l,j as u,k as d,l as f,m as te,o as p,p as m,r as h,u as g}from"./index-CUry87of.js";import{t as _}from"./_plugin-vue_export-helper-BDNMzG2s.js";var ne={class:`apply-page`},re={class:`container-galaxy`},ie={class:`glass-card`},ae={class:`grid-layout`},oe={class:`input-group`},se={class:`input-group`},ce={class:`input-group`},le={class:`slider-tabs`,"data-count":3},ue=[`onClick`],de=[`required`],fe={for:`agreeGender`,class:`cursor-pointer align-center`,style:{flex:`1`,cursor:`pointer`}},pe={class:`input-group`},me={class:`slider-tabs`,"data-count":3},he=[`onClick`],ge={for:`agreeNation`,class:`cursor-pointer align-center`,style:{flex:`1`,cursor:`pointer`}},_e={class:`glass-card`},ve={class:`grid-layout`},ye={class:`input-group`},be={for:`agreePolitics`,class:`cursor-pointer align-center`,style:{flex:`1`,cursor:`pointer`}},xe={class:`input-group`},Se={class:`input-group`},v={class:`input-group`},y={style:{display:`flex`,"flex-direction":`column`,gap:`6px`}},b={class:`align-center gap-2 cursor-pointer`,style:{display:`flex`,gap:`0.5rem`}},x={class:`align-center gap-2 cursor-pointer`,style:{display:`flex`,gap:`0.5rem`}},S={class:`glass-card`},C={class:`mb-4`},w={class:`contact-grid`,id:`contactTypes`},T=[`id`,`value`],E=[`for`],D={id:`contactInputsContainer`,class:`grid-layout`,style:{"grid-template-columns":`repeat(auto-fill, minmax(200px, 1fr))`}},O=[`data-type`],k={class:`label-text`},A=[`name`,`onUpdate:modelValue`,`placeholder`],j={class:`glass-card`},Ce={style:{display:`flex`,"flex-direction":`column`,gap:`1.25rem`}},we={class:`input-group`},Te={class:`agreement-box`},Ee={for:`agreeEdu`,class:`cursor-pointer align-center`,style:{flex:`1`,cursor:`pointer`}},De={class:`input-group`},Oe={class:`input-group`},ke={class:`input-group`},Ae={class:`glass-card`,style:{"border-left":`5px solid var(--accent-color)`}},je={class:`section-title`},Me={class:`svg-icon`,style:{color:`var(--accent-color)`},viewBox:`0 0 448 512`},Ne={style:{background:`#fffbeb`,padding:`1rem`,"border-radius":`0.5rem`,border:`1px solid #fcd34d`}},Pe={style:{display:`flex`,"justify-content":`space-between`,"align-items":`center`,gap:`1rem`,"flex-wrap":`wrap`}},Fe={class:`align-center cursor-pointer`,style:{"font-size":`0.9rem`,color:`#78350f`,"white-space":`nowrap`}},Ie={class:`glass-card`},Le={class:`input-group`},Re={class:`modal-header`},M={class:`modal-title`},ze=[`innerHTML`],N=_(o({__name:`ApplyView`,setup(o){let _=[{label:`男`,value:`male`},{label:`女`,value:`female`},{label:`不公开`,value:`secret`}],N=[{label:`汉族`,value:`han`},{label:`少数民族`,value:`other`},{label:`不公开`,value:`secret`}],P=i({netName:``,realName:``,gender:`male`,nation:`han`,politics:``,age:``,birthday:``,location:``,education:``,experience:``,intention:``,selfIntro:``,email:``}),F=i({genderSecret:!1,nationAuth:!1,minorParty:!1,infoSecret:!1,realLoc:!1,eduReal:!1,joinAgreement:!1});function I(e){return`calc(${e*33.333-1}% + 4px)`}let Be=g(()=>I(_.findIndex(e=>e.value===P.gender))),Ve=g(()=>I(N.findIndex(e=>e.value===P.nation)));function L(e,t){e===`gender`?P.gender=_[t].value:P.nation=N[t].value}let He=g(()=>[`han`,`other`,`secret`].includes(P.nation)),Ue=g(()=>P.nation===`han`?`nationReal`:P.nation===`other`?`nationAuth`:P.nation===`secret`?`nationSecret`:`nationAuth`),We=g(()=>P.nation===`han`?`《民族真实性声明》`:P.nation===`other`?`《少数民族真实性声明》`:P.nation===`secret`?`《民族不公开协议》`:`《民族真实性声明》`),Ge=[`群众`,`党员`,`团员`,`中共党员`,`中共团员`,`共青团员`,`无党派`,`无党派人士`],R=g(()=>!!P.politics.trim()&&!Ge.includes(P.politics.trim()));function Ke(){R.value||(F.minorParty=!1)}let z=g(()=>!!P.location.trim());function qe(){z.value||(F.infoSecret=!1,F.realLoc=!1)}let B=[{id:`wechat`,label:`微信`},{id:`qq`,label:`QQ`},{id:`phone`,label:`电话号`},{id:`kuaishou`,label:`快手`},{id:`douyin`,label:`抖音`},{id:`bilibili`,label:`B站`},{id:`email_alt`,label:`邮箱`},{id:`weibo`,label:`微博`},{id:`youtube`,label:`YouTube`},{id:`tiktok`,label:`TikTok`},{id:`google`,label:`Google`},{id:`x_twitter`,label:`X`},{id:`discord`,label:`Discord`},{id:`facebook`,label:`Facebook`},{id:`instagram`,label:`Instagram`},{id:`github`,label:`Github`},{id:`csdn`,label:`CSDN`}],V=d([]),H=i({});function Je(){B.forEach(e=>{V.value.includes(e.id)||delete H[e.id]})}function U(e){return B.find(t=>t.id===e)?.label||e}let W=d(``),G=d(!1),K={genderSecret:{title:`《性别不公开声明》`,content:`鉴于申请人在本申请表中选择"性别:不公开"(以下简称"保密选择"),银河锋锐软件开发工作室(以下简称"工作室")与申请人就性别信息保密事宜达成如下声明:
一、工作室承诺:
1. 严格保护申请人的性别隐私权,仅在法律法规强制性要求(如社保、税务登记等)的必要场景下留存真实性别信息,且该信息仅限指定行政人员查阅,严禁外泄。
2. 在招聘评估、团队协作、对外公示等所有非必要场景中,均不披露、不询问申请人的性别信息,完全遵循性别中立原则。
二、申请人确认:
1. 知悉保密选择仅适用于非法定场景,理解并配合工作室在法定必要环节提供真实性别信息的要求。
2. 不因性别信息保密要求向工作室提出超出合理范围的特殊待遇诉求。
`},nationAuth:{title:`《少数民族真实性声明》`,content:`本人(申请人)郑重作出如下声明:
1. 本人在本申请表中填报的民族信息为【少数民族】,该信息完全基于本人的户籍登记及真实民族归属,无任何虚构、篡改行为。
2. 本人知晓工作室尊重各民族文化习俗,承诺在合作/工作期间遵守国家民族政策,维护民族团结,不利用少数民族身份谋取不正当利益。
3. 若本人填报的民族信息存在虚假,自愿接受以下后果:
(1)工作室有权立即撤销录用/合作资格;
(2)若已建立合作关系,工作室可无条件解除协议,且本人需承担因此给工作室造成的全部损失。
`},nationReal:{title:`《民族真实性声明》`,content:`本人(申请人)郑重作出如下声明:
1. 本人在本申请表中填报的民族信息为【汉族】,该信息完全基于本人的户籍登记及真实民族归属,无任何虚构、篡改行为。
2. 本人知晓工作室尊重各民族文化习俗,承诺在合作/工作期间遵守国家民族政策,维护民族团结。
3. 若本人填报的民族信息存在虚假,自愿接受以下后果:
(1)工作室有权立即撤销录用/合作资格;
(2)若已建立合作关系,工作室可无条件解除协议,且本人需承担因此给工作室造成的全部损失。
`},nationSecret:{title:`《民族不公开协议》`,content:`鉴于申请人在本申请表中选择"民族:不公开"(以下简称"保密选择"),银河锋锐软件开发工作室(以下简称"工作室")与申请人就民族信息保密事宜达成如下协议:
一、工作室承诺:
1. 严格保护申请人的民族隐私权,仅在法律法规强制性要求的必要场景下留存真实民族信息,且该信息仅限指定行政人员查阅,严禁外泄。
2. 在招聘评估、团队协作、对外公示等所有非必要场景中,均不披露、不询问申请人的民族信息,完全遵循民族中立原则。
二、申请人确认:
1. 知悉保密选择仅适用于非法定场景,理解并配合工作室在法定必要环节提供真实民族信息的要求。
2. 不因民族信息保密要求向工作室提出超出合理范围的特殊待遇诉求。
`},minorParty:{title:`《少数党派声明》`,content:`本人(申请人)就政治面貌相关事宜声明如下:
1. 本人填报的政治面貌为【非主流党派】(非群众、中共党员、共青团员、无党派人士),该信息真实有效。
2. 本人承诺所归属的党派/团体均为合法登记的组织,本人的政治信仰及活动均遵守中华人民共和国宪法及相关法律法规。
3. 工作室确认:
(1)尊重申请人的政治信仰自由,不因申请人的政治面貌差异实施任何形式的歧视;
(2)在招聘评估、岗位安排、福利待遇等方面,对申请人与其他政治面貌的应聘者/员工一视同仁。
`},infoSecret:{title:`《工作室成员信息不公开协议》`,content:`甲方:银河锋锐软件开发工作室 乙方:申请人
为保障乙方个人信息安全,甲乙双方就居住地信息保密事宜达成如下协议:
一、信息使用范围:
1. 甲方收集乙方的居住地信息,仅用于建立员工/合作成员基础档案及紧急联络。
二、甲方保密义务:
1. 严禁将乙方居住地信息出售、出租、转让给任何第三方。
2. 严禁在公开渠道披露乙方居住地信息。
3. 若因甲方原因导致信息泄露,甲方需承担相应赔偿责任。
`},realLoc:{title:`《居住地真实声明》`,content:`本人(申请人)郑重声明:
1. 本人在本申请表中填报的居住地信息(省/市/区/街道等)真实、准确、完整。
2. 本人知晓该信息用于物料发放、会议协调等。
3. 若本人填报的居住地信息虚假,自愿承担后果:
(1)因地址错误导致的物料无法送达等损失,由本人自行承担;
(2)工作室有权撤销录用资格。
`},eduReal:{title:`《学历真实声明》`,content:`本人(申请人)就教育背景信息的真实性作出如下不可撤销的声明:
1. 本人在"教育背景"栏填报的所有信息均为真实、完整。
2. 本人同意工作室通过学信网等方式进行核验。
3. 若经核实发现本人信息存在虚假,本人自愿接受:
(1)无论是否已录用,工作室均有权立即终止流程;
(2)若已入职,工作室可无条件解除劳动合同且无需支付补偿;
(3)本人赔偿工作室因虚假信息导致的全部损失。
您可以留空来声明不公开学历。
`}};function q(e){K[e]&&(W.value=e,requestAnimationFrame(()=>{G.value=!0}))}function J(){G.value=!1,setTimeout(()=>{W.value=``},200)}let Y=d(`提示信息`),X=d(!1),Z=null;function Q(e){Y.value=e,X.value=!0,Z&&clearTimeout(Z),Z=setTimeout(()=>{X.value=!1},3e3)}let $=d(!1);function Ye(){if(!V.value.includes(`wechat`)&&!V.value.includes(`qq`)){$.value=!0,Q(`请至少选择微信或QQ`);return}if($.value=!1,!F.joinAgreement){Q(`请先签署《工作室成员入职协议》`);return}let e={};V.value.forEach(t=>{let n=(H[t]||``).trim();n&&(e[t]={label:U(t),value:n})});let t={...P,contacts:e,agreements:{...F}};console.log(`提交的 JSON 数据:`,t),console.log(`JSON 字符串:`,JSON.stringify(t,null,2)),Q(`申请提交成功!数据已生成 JSON。`)}return(i,o)=>(a(),m(f,null,[c(`div`,ne,[c(`div`,re,[o[57]||=te(``,1),c(`form`,{id:`appForm`,onSubmit:s(Ye,[`prevent`])},[c(`section`,ie,[o[34]||=c(`div`,{class:`section-title`},[c(`svg`,{class:`svg-icon`,viewBox:`0 0 448 512`},[c(`path`,{d:`M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3z`})]),l(` 基础档案 `)],-1),c(`div`,ae,[c(`div`,oe,[o[28]||=c(`label`,{class:`label-text`},[l(`网名 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`input`,{type:`text`,id:`netName`,"onUpdate:modelValue":o[0]||=e=>P.netName=e,class:`custom-input`,placeholder:`您的常用网名`,required:``},null,512),[[p,P.netName]])]),c(`div`,se,[o[29]||=c(`label`,{class:`label-text`},`真实姓名 (可选)`,-1),t(c(`input`,{type:`text`,id:`realName`,"onUpdate:modelValue":o[1]||=e=>P.realName=e,class:`custom-input`,placeholder:`选填`},null,512),[[p,P.realName]])]),c(`div`,ce,[o[31]||=c(`label`,{class:`label-text`},[l(`性别 `),c(`span`,{class:`required-mark`},`*`)],-1),c(`div`,le,[c(`div`,{class:`slider-bg`,style:n({left:Be.value})},null,4),(a(),m(f,null,e(_,(e,t)=>c(`div`,{key:e.value,class:u([`slider-option`,{active:P.gender===e.value}]),onClick:e=>L(`gender`,t)},r(e.label),11,ue)),64))]),t(c(`input`,{type:`hidden`,"onUpdate:modelValue":o[2]||=e=>P.gender=e},null,512),[[p,P.gender]]),c(`div`,{id:`genderAgreement`,class:u([`agreement-box`,{"hidden-state":P.gender!==`secret`}])},[t(c(`input`,{type:`checkbox`,id:`agreeGender`,class:`custom-checkbox`,"onUpdate:modelValue":o[3]||=e=>F.genderSecret=e,required:P.gender===`secret`},null,8,de),[[h,F.genderSecret]]),c(`label`,fe,[o[30]||=l(` 我已阅读并同意 `,-1),c(`a`,{class:`agreement-link`,onClick:o[4]||=s(e=>q(`genderSecret`),[`prevent`])},`《性别不公开声明》`)])],2)]),c(`div`,pe,[o[33]||=c(`label`,{class:`label-text`},[l(`民族 `),c(`span`,{class:`required-mark`},`*`)],-1),c(`div`,me,[c(`div`,{class:`slider-bg`,style:n({left:Ve.value})},null,4),(a(),m(f,null,e(N,(e,t)=>c(`div`,{key:e.value,class:u([`slider-option`,{active:P.nation===e.value}]),onClick:e=>L(`nation`,t)},r(e.label),11,he)),64))]),t(c(`input`,{type:`hidden`,"onUpdate:modelValue":o[5]||=e=>P.nation=e},null,512),[[p,P.nation]]),c(`div`,{id:`nationAgreement`,class:u([`agreement-box`,{"hidden-state":!He.value}])},[t(c(`input`,{type:`checkbox`,id:`agreeNation`,class:`custom-checkbox`,"onUpdate:modelValue":o[6]||=e=>F.nationAuth=e,required:``},null,512),[[h,F.nationAuth]]),c(`label`,ge,[o[32]||=l(` 我已阅读并同意 `,-1),c(`a`,{class:`agreement-link`,onClick:o[7]||=s(e=>q(Ue.value),[`prevent`])},r(We.value),1)])],2)])])]),c(`section`,_e,[o[40]||=c(`div`,{class:`section-title`},[c(`svg`,{class:`svg-icon`,viewBox:`0 0 512 512`},[c(`path`,{d:`M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z`})]),l(` 政治面貌与联络 `)],-1),c(`div`,ve,[c(`div`,ye,[o[36]||=c(`label`,{class:`label-text`},[l(`政治面貌 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`input`,{type:`text`,id:`politics`,"onUpdate:modelValue":o[8]||=e=>P.politics=e,class:`custom-input`,placeholder:`如:群众、党员...`,onInput:Ke},null,544),[[p,P.politics]]),c(`div`,{id:`politicsAgreement`,class:u([`agreement-box`,{"hidden-state":!R.value}])},[t(c(`input`,{type:`checkbox`,id:`agreePolitics`,class:`custom-checkbox`,"onUpdate:modelValue":o[9]||=e=>F.minorParty=e,required:``},null,512),[[h,F.minorParty]]),c(`label`,be,[o[35]||=l(` 我确认并签署 `,-1),c(`a`,{class:`agreement-link`,onClick:o[10]||=s(e=>q(`minorParty`),[`prevent`])},`《少数党派声明》`)])],2)]),c(`div`,xe,[o[37]||=c(`label`,{class:`label-text`},`年龄 (可选)`,-1),t(c(`input`,{type:`number`,id:`age`,"onUpdate:modelValue":o[11]||=e=>P.age=e,class:`custom-input`,placeholder:`例如:18`,min:`10`,max:`99`},null,512),[[p,P.age]])]),c(`div`,Se,[o[38]||=c(`label`,{class:`label-text`},`生日 (可选)`,-1),t(c(`input`,{type:`date`,id:`birthday`,"onUpdate:modelValue":o[12]||=e=>P.birthday=e,class:`custom-input`},null,512),[[p,P.birthday]])]),c(`div`,v,[o[39]||=c(`label`,{class:`label-text`},`居住地 (可选)`,-1),t(c(`input`,{type:`text`,id:`location`,"onUpdate:modelValue":o[13]||=e=>P.location=e,class:`custom-input`,placeholder:`省/市/区`,onInput:qe},null,544),[[p,P.location]]),c(`div`,{id:`locationAgreement`,class:u([`agreement-box`,{"hidden-state":!z.value}])},[c(`div`,y,[c(`label`,b,[t(c(`input`,{type:`checkbox`,id:`agreeLocInfo`,class:`custom-checkbox`,"onUpdate:modelValue":o[14]||=e=>F.infoSecret=e,required:``},null,512),[[h,F.infoSecret]]),c(`span`,null,[c(`a`,{class:`agreement-link`,onClick:o[15]||=s(e=>q(`infoSecret`),[`prevent`])},`《工作室成员信息不公开协议》`)])]),c(`label`,x,[t(c(`input`,{type:`checkbox`,id:`agreeLocReal`,class:`custom-checkbox`,"onUpdate:modelValue":o[16]||=e=>F.realLoc=e,required:``},null,512),[[h,F.realLoc]]),c(`span`,null,[c(`a`,{class:`agreement-link`,onClick:o[17]||=s(e=>q(`realLoc`),[`prevent`])},`《居住地真实声明》`)])])])],2)])])]),c(`section`,S,[o[42]||=c(`div`,{class:`section-title`},[c(`svg`,{class:`svg-icon`,viewBox:`0 0 640 512`},[c(`path`,{d:`M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-127.5-56.5-184.8-19.9L226.5 84.5C185.3 53.3 132.1 53.3 91 84.5L42.6 132.9C13.4 162.1 3.4 207.6 22.4 247.5c13.1 27.3 39.4 45.8 69.7 48.2l10.7 1c9.3 .8 18.2 4 25.9 9.1l47.4 31.6c-4.7-12.9-7.2-26.8-7.2-41.2c0-53 43-96 96-96s96 43 96 96c0 14.4-2.5 28.3-7.2 41.2l47.4-31.6c7.7-5.1 16.6-8.3 25.9-9.1l10.7-1c30.3-2.4 56.6-20.9 69.7-48.2c19-39.9 9-85.4-20.2-114.6l-48.4-48.4c-41.1-41.1-94.3-41.1-135.5 0L251 160.8c-25.6 25.6-29 65.3-10.3 94.8c5.9 9.2 16.1 14.8 27.1 14.8h4.4c14.5 0 27.6-8.5 33.5-21.7c4.7-10.6 14.8-17.4 26.3-17.4s21.6 6.8 26.3 17.4c5.9 13.2 19 21.7 33.5 21.7h4.4c11 0 21.2-5.6 27.1-14.8c18.7-29.5 15.3-69.2-10.3-94.8z`})]),l(` 联系方式矩阵 `)],-1),c(`div`,C,[o[41]||=c(`p`,{style:{"font-size":`0.85rem`,color:`var(--text-sub)`,"margin-bottom":`0.5rem`}},`请选择您常用的联系方式 (微信、QQ二选一或全选,其余可选):`,-1),c(`div`,w,[(a(),m(f,null,e(B,e=>c(`div`,{key:e.id},[t(c(`input`,{type:`checkbox`,id:`chk_${e.id}`,value:e.id,class:`contact-checkbox`,"onUpdate:modelValue":o[18]||=e=>V.value=e,onChange:Je},null,40,T),[[h,V.value]]),c(`label`,{for:`chk_${e.id}`,class:`contact-label`},r(e.label),9,E)])),64))]),c(`div`,{id:`contactError`,class:`error-msg`,style:n({display:$.value?`block`:`none`})},`请至少选择微信或QQ中的一种联系方式!`,4)]),c(`div`,D,[(a(!0),m(f,null,e(V.value,e=>(a(),m(`div`,{key:e,class:`input-group contact-input-item`,"data-type":e},[c(`label`,k,r(U(e))+`账号/ID`,1),t(c(`input`,{type:`text`,name:`contact_${e}`,"onUpdate:modelValue":t=>H[e]=t,class:`custom-input`,placeholder:`请输入${U(e)}`},null,8,A),[[p,H[e]]])],8,O))),128))])]),c(`section`,j,[o[48]||=c(`div`,{class:`section-title`},[c(`svg`,{class:`svg-icon`,viewBox:`0 0 576 512`},[c(`path`,{d:`M384 480h48c11.4 0 21.9-6.1 27.6-16.1l56-96c6.4-11 4.8-25-3.9-34.3s-22.2-12.1-33.5-6.6L416 368.2V128c0-17.7-14.3-32-32-32s-32 14.3-32 32v178.7l-27.5-20.6c-10.3-7.7-24.6-6.5-33.5 2.8s-10.3 23.2-3.9 34.3l56 96c5.7 10 16.2 16.1 27.6 16.1H384zM192 480h48c11.4 0 21.9-6.1 27.6-16.1l56-96c6.4-11 4.8-25-3.9-34.3s-22.2-12.1-33.5-6.6L224 368.2V128c0-17.7-14.3-32-32-32s-32 14.3-32 32v178.7l-27.5-20.6c-10.3-7.7-24.6-6.5-33.5 2.8s-10.3 23.2-3.9 34.3l56 96c5.7 10 16.2 16.1 27.6 16.1z`})]),l(` 履历与愿景 `)],-1),c(`div`,Ce,[c(`div`,we,[o[44]||=c(`label`,{class:`label-text`},[l(`教育背景 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`textarea`,{id:`education`,"onUpdate:modelValue":o[19]||=e=>P.education=e,rows:`3`,class:`custom-input`,placeholder:`请详细描述您的学历、毕业院校及专业,若您年龄过小可选择如实填写或不公开,留空表明您不公开...`},null,512),[[p,P.education]]),c(`div`,Te,[t(c(`input`,{type:`checkbox`,id:`agreeEdu`,class:`custom-checkbox`,"onUpdate:modelValue":o[20]||=e=>F.eduReal=e,required:``},null,512),[[h,F.eduReal]]),c(`label`,Ee,[o[43]||=l(` 我保证以上信息真实有效,即 `,-1),c(`a`,{class:`agreement-link`,onClick:o[21]||=s(e=>q(`eduReal`),[`prevent`])},`签署《学历真实声明》`)])])]),c(`div`,De,[o[45]||=c(`label`,{class:`label-text`},`求职/工作经历 (选填)`,-1),t(c(`textarea`,{id:`experience`,"onUpdate:modelValue":o[22]||=e=>P.experience=e,rows:`3`,class:`custom-input`,placeholder:`请简述您过往的工作或项目经验...`},null,512),[[p,P.experience]])]),c(`div`,Oe,[o[46]||=c(`label`,{class:`label-text`},[l(`求职意向 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`textarea`,{id:`intention`,"onUpdate:modelValue":o[23]||=e=>P.intention=e,rows:`3`,class:`custom-input`,placeholder:`您为什么想来本工作室?期望的职位是什么?`,required:``},null,512),[[p,P.intention]])]),c(`div`,ke,[o[47]||=c(`label`,{class:`label-text`},[l(`个人自述 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`textarea`,{id:`selfIntro`,"onUpdate:modelValue":o[24]||=e=>P.selfIntro=e,rows:`4`,class:`custom-input`,placeholder:`请自由发挥:优缺点、自我介绍、心理素质展示等...`,required:``},null,512),[[p,P.selfIntro]])])])]),c(`section`,Ae,[c(`div`,je,[(a(),m(`svg`,Me,[...o[49]||=[c(`path`,{d:`M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V173.3c0-17-6.7-33.3-18.7-45.3L352 50.7C340 38.7 323.7 32 306.7 32H64zm0 96c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V128zM224 288a64 64 0 1 1 0 128 64 64 0 1 1 0-128z`},null,-1)]])),o[50]||=l(` 入职必读协议 `,-1)]),c(`div`,Ne,[o[53]||=c(`p`,{style:{margin:`0 0 0.5rem 0`,"font-weight":`600`,color:`#92400e`}},`请务必在提交前签署《工作室成员入职协议》`,-1),c(`div`,Pe,[o[52]||=c(`a`,{href:`https://doc.gvsds.com/D9F9194A243D3A499108A7CA082373A7`,target:`_blank`,class:`agreement-btn`},` 点击阅读并签署 → `,-1),c(`label`,Fe,[t(c(`input`,{type:`checkbox`,id:`agreeJoin`,class:`custom-checkbox`,"onUpdate:modelValue":o[25]||=e=>F.joinAgreement=e,required:``},null,512),[[h,F.joinAgreement]]),o[51]||=c(`span`,{style:{"margin-left":`0.5rem`}},`我已阅读并签署`,-1)])])])]),c(`section`,Ie,[o[55]||=c(`div`,{class:`section-title`},[c(`svg`,{class:`svg-icon`,viewBox:`0 0 512 512`},[c(`path`,{d:`M448 256c0-106-86-192-192-192S64 150 64 256c0 84.6 54.5 156.3 130.6 181.7c-2.6-8.4-4-17.3-4-26.5c0-41.2 22.1-79.2 57.9-99.3c-5.8-4.7-9.5-11.9-9.5-19.9c0-14.1 11.4-25.5 25.5-25.5s25.5 11.4 25.5 25.5c0 8-3.7 15.2-9.5 19.9c35.8 20.2 57.9 58.1 57.9 99.3c0 9.2-1.4 18.2-4 26.5C353.5 412.3 408 340.6 408 256z`})]),l(` 最终确认 `)],-1),c(`div`,Le,[o[54]||=c(`label`,{class:`label-text`},[l(`联系邮箱 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`input`,{type:`email`,id:`email`,"onUpdate:modelValue":o[26]||=e=>P.email=e,class:`custom-input`,placeholder:`我们将发送Offer至此邮箱`,required:``},null,512),[[p,P.email]])]),o[56]||=c(`div`,{style:{display:`flex`,"align-items":`flex-end`}},[c(`button`,{type:`submit`,class:`submit-btn`},` 提交申请 `)],-1)])],32),o[58]||=c(`footer`,{style:{"text-align":`center`,color:`#94a3b8`,"font-size":`0.8rem`,"padding-top":`2rem`}},` © 2023 银河锋锐软件开发工作室. All Rights Reserved. `,-1)])]),c(`div`,{id:`toast`,class:u([`toast`,{show:X.value}])},r(Y.value),3),W.value?(a(),m(`div`,{key:0,class:u([`modal-overlay`,{open:G.value}]),onClick:s(J,[`self`])},[c(`div`,{class:`modal-content`,onClick:o[27]||=s(()=>{},[`stop`])},[c(`div`,Re,[c(`span`,M,r(K[W.value]?.title||``),1),c(`button`,{class:`close-btn`,onClick:J},`×`)]),c(`div`,{class:`modal-body`,style:{"font-size":`0.9rem`,color:`#475569`},innerHTML:K[W.value]?.content||``},null,8,ze),c(`div`,{style:{"text-align":`right`,"margin-top":`1.5rem`}},[c(`button`,{onClick:J,style:{background:`var(--primary-color)`,color:`white`,border:`none`,padding:`0.5rem 1.5rem`,"border-radius":`0.5rem`,cursor:`pointer`}},`我已阅读并关闭`)])])],2)):ee(``,!0)],64))}}),[[`__scopeId`,`data-v-bda07ef6`]]);export{N as default};
\ No newline at end of file
diff --git a/TempLate/assets/ApplyView-C_f148Wf.js b/TempLate/assets/ApplyView-C_f148Wf.js
new file mode 100644
index 00000000..4cfbef64
--- /dev/null
+++ b/TempLate/assets/ApplyView-C_f148Wf.js
@@ -0,0 +1 @@
+import{C as e,D as t,M as n,N as r,O as i,S as a,_ as o,c as s,d as c,f as ee,h as l,j as u,k as d,l as f,m as te,o as p,p as m,r as h,u as g}from"./index-CMhybB9x.js";import{t as _}from"./_plugin-vue_export-helper-BDNMzG2s.js";var ne={class:`apply-page`},re={class:`container-galaxy`},ie={class:`glass-card`},ae={class:`grid-layout`},oe={class:`input-group`},se={class:`input-group`},ce={class:`input-group`},le={class:`slider-tabs`,"data-count":3},ue=[`onClick`],de=[`required`],fe={for:`agreeGender`,class:`cursor-pointer align-center`,style:{flex:`1`,cursor:`pointer`}},pe={class:`input-group`},me={class:`slider-tabs`,"data-count":3},he=[`onClick`],ge={for:`agreeNation`,class:`cursor-pointer align-center`,style:{flex:`1`,cursor:`pointer`}},_e={class:`glass-card`},ve={class:`grid-layout`},ye={class:`input-group`},be={for:`agreePolitics`,class:`cursor-pointer align-center`,style:{flex:`1`,cursor:`pointer`}},xe={class:`input-group`},Se={class:`input-group`},v={class:`input-group`},y={style:{display:`flex`,"flex-direction":`column`,gap:`6px`}},b={class:`align-center gap-2 cursor-pointer`,style:{display:`flex`,gap:`0.5rem`}},x={class:`align-center gap-2 cursor-pointer`,style:{display:`flex`,gap:`0.5rem`}},S={class:`glass-card`},C={class:`mb-4`},w={class:`contact-grid`,id:`contactTypes`},T=[`id`,`value`],E=[`for`],D={id:`contactInputsContainer`,class:`grid-layout`,style:{"grid-template-columns":`repeat(auto-fill, minmax(200px, 1fr))`}},O=[`data-type`],k={class:`label-text`},A=[`name`,`onUpdate:modelValue`,`placeholder`],j={class:`glass-card`},Ce={style:{display:`flex`,"flex-direction":`column`,gap:`1.25rem`}},we={class:`input-group`},Te={class:`agreement-box`},Ee={for:`agreeEdu`,class:`cursor-pointer align-center`,style:{flex:`1`,cursor:`pointer`}},De={class:`input-group`},Oe={class:`input-group`},ke={class:`input-group`},Ae={class:`glass-card`,style:{"border-left":`5px solid var(--accent-color)`}},je={class:`section-title`},Me={class:`svg-icon`,style:{color:`var(--accent-color)`},viewBox:`0 0 448 512`},Ne={style:{background:`#fffbeb`,padding:`1rem`,"border-radius":`0.5rem`,border:`1px solid #fcd34d`}},Pe={style:{display:`flex`,"justify-content":`space-between`,"align-items":`center`,gap:`1rem`,"flex-wrap":`wrap`}},Fe={class:`align-center cursor-pointer`,style:{"font-size":`0.9rem`,color:`#78350f`,"white-space":`nowrap`}},Ie={class:`glass-card`},Le={class:`input-group`},Re={class:`modal-header`},M={class:`modal-title`},ze=[`innerHTML`],N=_(o({__name:`ApplyView`,setup(o){let _=[{label:`男`,value:`male`},{label:`女`,value:`female`},{label:`不公开`,value:`secret`}],N=[{label:`汉族`,value:`han`},{label:`少数民族`,value:`other`},{label:`不公开`,value:`secret`}],P=i({netName:``,realName:``,gender:`male`,nation:`han`,politics:``,age:``,birthday:``,location:``,education:``,experience:``,intention:``,selfIntro:``,email:``}),F=i({genderSecret:!1,nationAuth:!1,minorParty:!1,infoSecret:!1,realLoc:!1,eduReal:!1,joinAgreement:!1});function I(e){return`calc(${e*33.333-1}% + 4px)`}let Be=g(()=>I(_.findIndex(e=>e.value===P.gender))),Ve=g(()=>I(N.findIndex(e=>e.value===P.nation)));function L(e,t){e===`gender`?P.gender=_[t].value:P.nation=N[t].value}let He=g(()=>[`han`,`other`,`secret`].includes(P.nation)),Ue=g(()=>P.nation===`han`?`nationReal`:P.nation===`other`?`nationAuth`:P.nation===`secret`?`nationSecret`:`nationAuth`),We=g(()=>P.nation===`han`?`《民族真实性声明》`:P.nation===`other`?`《少数民族真实性声明》`:P.nation===`secret`?`《民族不公开协议》`:`《民族真实性声明》`),Ge=[`群众`,`党员`,`团员`,`中共党员`,`中共团员`,`共青团员`,`无党派`,`无党派人士`],R=g(()=>!!P.politics.trim()&&!Ge.includes(P.politics.trim()));function Ke(){R.value||(F.minorParty=!1)}let z=g(()=>!!P.location.trim());function qe(){z.value||(F.infoSecret=!1,F.realLoc=!1)}let B=[{id:`wechat`,label:`微信`},{id:`qq`,label:`QQ`},{id:`phone`,label:`电话号`},{id:`kuaishou`,label:`快手`},{id:`douyin`,label:`抖音`},{id:`bilibili`,label:`B站`},{id:`email_alt`,label:`邮箱`},{id:`weibo`,label:`微博`},{id:`youtube`,label:`YouTube`},{id:`tiktok`,label:`TikTok`},{id:`google`,label:`Google`},{id:`x_twitter`,label:`X`},{id:`discord`,label:`Discord`},{id:`facebook`,label:`Facebook`},{id:`instagram`,label:`Instagram`},{id:`github`,label:`Github`},{id:`csdn`,label:`CSDN`}],V=d([]),H=i({});function Je(){B.forEach(e=>{V.value.includes(e.id)||delete H[e.id]})}function U(e){return B.find(t=>t.id===e)?.label||e}let W=d(``),G=d(!1),K={genderSecret:{title:`《性别不公开声明》`,content:`鉴于申请人在本申请表中选择"性别:不公开"(以下简称"保密选择"),银河锋锐软件开发工作室(以下简称"工作室")与申请人就性别信息保密事宜达成如下声明:
一、工作室承诺:
1. 严格保护申请人的性别隐私权,仅在法律法规强制性要求(如社保、税务登记等)的必要场景下留存真实性别信息,且该信息仅限指定行政人员查阅,严禁外泄。
2. 在招聘评估、团队协作、对外公示等所有非必要场景中,均不披露、不询问申请人的性别信息,完全遵循性别中立原则。
二、申请人确认:
1. 知悉保密选择仅适用于非法定场景,理解并配合工作室在法定必要环节提供真实性别信息的要求。
2. 不因性别信息保密要求向工作室提出超出合理范围的特殊待遇诉求。
`},nationAuth:{title:`《少数民族真实性声明》`,content:`本人(申请人)郑重作出如下声明:
1. 本人在本申请表中填报的民族信息为【少数民族】,该信息完全基于本人的户籍登记及真实民族归属,无任何虚构、篡改行为。
2. 本人知晓工作室尊重各民族文化习俗,承诺在合作/工作期间遵守国家民族政策,维护民族团结,不利用少数民族身份谋取不正当利益。
3. 若本人填报的民族信息存在虚假,自愿接受以下后果:
(1)工作室有权立即撤销录用/合作资格;
(2)若已建立合作关系,工作室可无条件解除协议,且本人需承担因此给工作室造成的全部损失。
`},nationReal:{title:`《民族真实性声明》`,content:`本人(申请人)郑重作出如下声明:
1. 本人在本申请表中填报的民族信息为【汉族】,该信息完全基于本人的户籍登记及真实民族归属,无任何虚构、篡改行为。
2. 本人知晓工作室尊重各民族文化习俗,承诺在合作/工作期间遵守国家民族政策,维护民族团结。
3. 若本人填报的民族信息存在虚假,自愿接受以下后果:
(1)工作室有权立即撤销录用/合作资格;
(2)若已建立合作关系,工作室可无条件解除协议,且本人需承担因此给工作室造成的全部损失。
`},nationSecret:{title:`《民族不公开协议》`,content:`鉴于申请人在本申请表中选择"民族:不公开"(以下简称"保密选择"),银河锋锐软件开发工作室(以下简称"工作室")与申请人就民族信息保密事宜达成如下协议:
一、工作室承诺:
1. 严格保护申请人的民族隐私权,仅在法律法规强制性要求的必要场景下留存真实民族信息,且该信息仅限指定行政人员查阅,严禁外泄。
2. 在招聘评估、团队协作、对外公示等所有非必要场景中,均不披露、不询问申请人的民族信息,完全遵循民族中立原则。
二、申请人确认:
1. 知悉保密选择仅适用于非法定场景,理解并配合工作室在法定必要环节提供真实民族信息的要求。
2. 不因民族信息保密要求向工作室提出超出合理范围的特殊待遇诉求。
`},minorParty:{title:`《少数党派声明》`,content:`本人(申请人)就政治面貌相关事宜声明如下:
1. 本人填报的政治面貌为【非主流党派】(非群众、中共党员、共青团员、无党派人士),该信息真实有效。
2. 本人承诺所归属的党派/团体均为合法登记的组织,本人的政治信仰及活动均遵守中华人民共和国宪法及相关法律法规。
3. 工作室确认:
(1)尊重申请人的政治信仰自由,不因申请人的政治面貌差异实施任何形式的歧视;
(2)在招聘评估、岗位安排、福利待遇等方面,对申请人与其他政治面貌的应聘者/员工一视同仁。
`},infoSecret:{title:`《工作室成员信息不公开协议》`,content:`甲方:银河锋锐软件开发工作室 乙方:申请人
为保障乙方个人信息安全,甲乙双方就居住地信息保密事宜达成如下协议:
一、信息使用范围:
1. 甲方收集乙方的居住地信息,仅用于建立员工/合作成员基础档案及紧急联络。
二、甲方保密义务:
1. 严禁将乙方居住地信息出售、出租、转让给任何第三方。
2. 严禁在公开渠道披露乙方居住地信息。
3. 若因甲方原因导致信息泄露,甲方需承担相应赔偿责任。
`},realLoc:{title:`《居住地真实声明》`,content:`本人(申请人)郑重声明:
1. 本人在本申请表中填报的居住地信息(省/市/区/街道等)真实、准确、完整。
2. 本人知晓该信息用于物料发放、会议协调等。
3. 若本人填报的居住地信息虚假,自愿承担后果:
(1)因地址错误导致的物料无法送达等损失,由本人自行承担;
(2)工作室有权撤销录用资格。
`},eduReal:{title:`《学历真实声明》`,content:`本人(申请人)就教育背景信息的真实性作出如下不可撤销的声明:
1. 本人在"教育背景"栏填报的所有信息均为真实、完整。
2. 本人同意工作室通过学信网等方式进行核验。
3. 若经核实发现本人信息存在虚假,本人自愿接受:
(1)无论是否已录用,工作室均有权立即终止流程;
(2)若已入职,工作室可无条件解除劳动合同且无需支付补偿;
(3)本人赔偿工作室因虚假信息导致的全部损失。
您可以留空来声明不公开学历。
`}};function q(e){K[e]&&(W.value=e,requestAnimationFrame(()=>{G.value=!0}))}function J(){G.value=!1,setTimeout(()=>{W.value=``},200)}let Y=d(`提示信息`),X=d(!1),Z=null;function Q(e){Y.value=e,X.value=!0,Z&&clearTimeout(Z),Z=setTimeout(()=>{X.value=!1},3e3)}let $=d(!1);function Ye(){if(!V.value.includes(`wechat`)&&!V.value.includes(`qq`)){$.value=!0,Q(`请至少选择微信或QQ`);return}if($.value=!1,!F.joinAgreement){Q(`请先签署《工作室成员入职协议》`);return}let e={};V.value.forEach(t=>{let n=(H[t]||``).trim();n&&(e[t]={label:U(t),value:n})});let t={...P,contacts:e,agreements:{...F}};console.log(`提交的 JSON 数据:`,t),console.log(`JSON 字符串:`,JSON.stringify(t,null,2)),Q(`申请提交成功!数据已生成 JSON。`)}return(i,o)=>(a(),m(f,null,[c(`div`,ne,[c(`div`,re,[o[57]||=te(``,1),c(`form`,{id:`appForm`,onSubmit:s(Ye,[`prevent`])},[c(`section`,ie,[o[34]||=c(`div`,{class:`section-title`},[c(`svg`,{class:`svg-icon`,viewBox:`0 0 448 512`},[c(`path`,{d:`M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3z`})]),l(` 基础档案 `)],-1),c(`div`,ae,[c(`div`,oe,[o[28]||=c(`label`,{class:`label-text`},[l(`网名 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`input`,{type:`text`,id:`netName`,"onUpdate:modelValue":o[0]||=e=>P.netName=e,class:`custom-input`,placeholder:`您的常用网名`,required:``},null,512),[[p,P.netName]])]),c(`div`,se,[o[29]||=c(`label`,{class:`label-text`},`真实姓名 (可选)`,-1),t(c(`input`,{type:`text`,id:`realName`,"onUpdate:modelValue":o[1]||=e=>P.realName=e,class:`custom-input`,placeholder:`选填`},null,512),[[p,P.realName]])]),c(`div`,ce,[o[31]||=c(`label`,{class:`label-text`},[l(`性别 `),c(`span`,{class:`required-mark`},`*`)],-1),c(`div`,le,[c(`div`,{class:`slider-bg`,style:n({left:Be.value})},null,4),(a(),m(f,null,e(_,(e,t)=>c(`div`,{key:e.value,class:u([`slider-option`,{active:P.gender===e.value}]),onClick:e=>L(`gender`,t)},r(e.label),11,ue)),64))]),t(c(`input`,{type:`hidden`,"onUpdate:modelValue":o[2]||=e=>P.gender=e},null,512),[[p,P.gender]]),c(`div`,{id:`genderAgreement`,class:u([`agreement-box`,{"hidden-state":P.gender!==`secret`}])},[t(c(`input`,{type:`checkbox`,id:`agreeGender`,class:`custom-checkbox`,"onUpdate:modelValue":o[3]||=e=>F.genderSecret=e,required:P.gender===`secret`},null,8,de),[[h,F.genderSecret]]),c(`label`,fe,[o[30]||=l(` 我已阅读并同意 `,-1),c(`a`,{class:`agreement-link`,onClick:o[4]||=s(e=>q(`genderSecret`),[`prevent`])},`《性别不公开声明》`)])],2)]),c(`div`,pe,[o[33]||=c(`label`,{class:`label-text`},[l(`民族 `),c(`span`,{class:`required-mark`},`*`)],-1),c(`div`,me,[c(`div`,{class:`slider-bg`,style:n({left:Ve.value})},null,4),(a(),m(f,null,e(N,(e,t)=>c(`div`,{key:e.value,class:u([`slider-option`,{active:P.nation===e.value}]),onClick:e=>L(`nation`,t)},r(e.label),11,he)),64))]),t(c(`input`,{type:`hidden`,"onUpdate:modelValue":o[5]||=e=>P.nation=e},null,512),[[p,P.nation]]),c(`div`,{id:`nationAgreement`,class:u([`agreement-box`,{"hidden-state":!He.value}])},[t(c(`input`,{type:`checkbox`,id:`agreeNation`,class:`custom-checkbox`,"onUpdate:modelValue":o[6]||=e=>F.nationAuth=e,required:``},null,512),[[h,F.nationAuth]]),c(`label`,ge,[o[32]||=l(` 我已阅读并同意 `,-1),c(`a`,{class:`agreement-link`,onClick:o[7]||=s(e=>q(Ue.value),[`prevent`])},r(We.value),1)])],2)])])]),c(`section`,_e,[o[40]||=c(`div`,{class:`section-title`},[c(`svg`,{class:`svg-icon`,viewBox:`0 0 512 512`},[c(`path`,{d:`M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z`})]),l(` 政治面貌与联络 `)],-1),c(`div`,ve,[c(`div`,ye,[o[36]||=c(`label`,{class:`label-text`},[l(`政治面貌 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`input`,{type:`text`,id:`politics`,"onUpdate:modelValue":o[8]||=e=>P.politics=e,class:`custom-input`,placeholder:`如:群众、党员...`,onInput:Ke},null,544),[[p,P.politics]]),c(`div`,{id:`politicsAgreement`,class:u([`agreement-box`,{"hidden-state":!R.value}])},[t(c(`input`,{type:`checkbox`,id:`agreePolitics`,class:`custom-checkbox`,"onUpdate:modelValue":o[9]||=e=>F.minorParty=e,required:``},null,512),[[h,F.minorParty]]),c(`label`,be,[o[35]||=l(` 我确认并签署 `,-1),c(`a`,{class:`agreement-link`,onClick:o[10]||=s(e=>q(`minorParty`),[`prevent`])},`《少数党派声明》`)])],2)]),c(`div`,xe,[o[37]||=c(`label`,{class:`label-text`},`年龄 (可选)`,-1),t(c(`input`,{type:`number`,id:`age`,"onUpdate:modelValue":o[11]||=e=>P.age=e,class:`custom-input`,placeholder:`例如:18`,min:`10`,max:`99`},null,512),[[p,P.age]])]),c(`div`,Se,[o[38]||=c(`label`,{class:`label-text`},`生日 (可选)`,-1),t(c(`input`,{type:`date`,id:`birthday`,"onUpdate:modelValue":o[12]||=e=>P.birthday=e,class:`custom-input`},null,512),[[p,P.birthday]])]),c(`div`,v,[o[39]||=c(`label`,{class:`label-text`},`居住地 (可选)`,-1),t(c(`input`,{type:`text`,id:`location`,"onUpdate:modelValue":o[13]||=e=>P.location=e,class:`custom-input`,placeholder:`省/市/区`,onInput:qe},null,544),[[p,P.location]]),c(`div`,{id:`locationAgreement`,class:u([`agreement-box`,{"hidden-state":!z.value}])},[c(`div`,y,[c(`label`,b,[t(c(`input`,{type:`checkbox`,id:`agreeLocInfo`,class:`custom-checkbox`,"onUpdate:modelValue":o[14]||=e=>F.infoSecret=e,required:``},null,512),[[h,F.infoSecret]]),c(`span`,null,[c(`a`,{class:`agreement-link`,onClick:o[15]||=s(e=>q(`infoSecret`),[`prevent`])},`《工作室成员信息不公开协议》`)])]),c(`label`,x,[t(c(`input`,{type:`checkbox`,id:`agreeLocReal`,class:`custom-checkbox`,"onUpdate:modelValue":o[16]||=e=>F.realLoc=e,required:``},null,512),[[h,F.realLoc]]),c(`span`,null,[c(`a`,{class:`agreement-link`,onClick:o[17]||=s(e=>q(`realLoc`),[`prevent`])},`《居住地真实声明》`)])])])],2)])])]),c(`section`,S,[o[42]||=c(`div`,{class:`section-title`},[c(`svg`,{class:`svg-icon`,viewBox:`0 0 640 512`},[c(`path`,{d:`M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-127.5-56.5-184.8-19.9L226.5 84.5C185.3 53.3 132.1 53.3 91 84.5L42.6 132.9C13.4 162.1 3.4 207.6 22.4 247.5c13.1 27.3 39.4 45.8 69.7 48.2l10.7 1c9.3 .8 18.2 4 25.9 9.1l47.4 31.6c-4.7-12.9-7.2-26.8-7.2-41.2c0-53 43-96 96-96s96 43 96 96c0 14.4-2.5 28.3-7.2 41.2l47.4-31.6c7.7-5.1 16.6-8.3 25.9-9.1l10.7-1c30.3-2.4 56.6-20.9 69.7-48.2c19-39.9 9-85.4-20.2-114.6l-48.4-48.4c-41.1-41.1-94.3-41.1-135.5 0L251 160.8c-25.6 25.6-29 65.3-10.3 94.8c5.9 9.2 16.1 14.8 27.1 14.8h4.4c14.5 0 27.6-8.5 33.5-21.7c4.7-10.6 14.8-17.4 26.3-17.4s21.6 6.8 26.3 17.4c5.9 13.2 19 21.7 33.5 21.7h4.4c11 0 21.2-5.6 27.1-14.8c18.7-29.5 15.3-69.2-10.3-94.8z`})]),l(` 联系方式矩阵 `)],-1),c(`div`,C,[o[41]||=c(`p`,{style:{"font-size":`0.85rem`,color:`var(--text-sub)`,"margin-bottom":`0.5rem`}},`请选择您常用的联系方式 (微信、QQ二选一或全选,其余可选):`,-1),c(`div`,w,[(a(),m(f,null,e(B,e=>c(`div`,{key:e.id},[t(c(`input`,{type:`checkbox`,id:`chk_${e.id}`,value:e.id,class:`contact-checkbox`,"onUpdate:modelValue":o[18]||=e=>V.value=e,onChange:Je},null,40,T),[[h,V.value]]),c(`label`,{for:`chk_${e.id}`,class:`contact-label`},r(e.label),9,E)])),64))]),c(`div`,{id:`contactError`,class:`error-msg`,style:n({display:$.value?`block`:`none`})},`请至少选择微信或QQ中的一种联系方式!`,4)]),c(`div`,D,[(a(!0),m(f,null,e(V.value,e=>(a(),m(`div`,{key:e,class:`input-group contact-input-item`,"data-type":e},[c(`label`,k,r(U(e))+`账号/ID`,1),t(c(`input`,{type:`text`,name:`contact_${e}`,"onUpdate:modelValue":t=>H[e]=t,class:`custom-input`,placeholder:`请输入${U(e)}`},null,8,A),[[p,H[e]]])],8,O))),128))])]),c(`section`,j,[o[48]||=c(`div`,{class:`section-title`},[c(`svg`,{class:`svg-icon`,viewBox:`0 0 576 512`},[c(`path`,{d:`M384 480h48c11.4 0 21.9-6.1 27.6-16.1l56-96c6.4-11 4.8-25-3.9-34.3s-22.2-12.1-33.5-6.6L416 368.2V128c0-17.7-14.3-32-32-32s-32 14.3-32 32v178.7l-27.5-20.6c-10.3-7.7-24.6-6.5-33.5 2.8s-10.3 23.2-3.9 34.3l56 96c5.7 10 16.2 16.1 27.6 16.1H384zM192 480h48c11.4 0 21.9-6.1 27.6-16.1l56-96c6.4-11 4.8-25-3.9-34.3s-22.2-12.1-33.5-6.6L224 368.2V128c0-17.7-14.3-32-32-32s-32 14.3-32 32v178.7l-27.5-20.6c-10.3-7.7-24.6-6.5-33.5 2.8s-10.3 23.2-3.9 34.3l56 96c5.7 10 16.2 16.1 27.6 16.1z`})]),l(` 履历与愿景 `)],-1),c(`div`,Ce,[c(`div`,we,[o[44]||=c(`label`,{class:`label-text`},[l(`教育背景 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`textarea`,{id:`education`,"onUpdate:modelValue":o[19]||=e=>P.education=e,rows:`3`,class:`custom-input`,placeholder:`请详细描述您的学历、毕业院校及专业,若您年龄过小可选择如实填写或不公开,留空表明您不公开...`},null,512),[[p,P.education]]),c(`div`,Te,[t(c(`input`,{type:`checkbox`,id:`agreeEdu`,class:`custom-checkbox`,"onUpdate:modelValue":o[20]||=e=>F.eduReal=e,required:``},null,512),[[h,F.eduReal]]),c(`label`,Ee,[o[43]||=l(` 我保证以上信息真实有效,即 `,-1),c(`a`,{class:`agreement-link`,onClick:o[21]||=s(e=>q(`eduReal`),[`prevent`])},`签署《学历真实声明》`)])])]),c(`div`,De,[o[45]||=c(`label`,{class:`label-text`},`求职/工作经历 (选填)`,-1),t(c(`textarea`,{id:`experience`,"onUpdate:modelValue":o[22]||=e=>P.experience=e,rows:`3`,class:`custom-input`,placeholder:`请简述您过往的工作或项目经验...`},null,512),[[p,P.experience]])]),c(`div`,Oe,[o[46]||=c(`label`,{class:`label-text`},[l(`求职意向 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`textarea`,{id:`intention`,"onUpdate:modelValue":o[23]||=e=>P.intention=e,rows:`3`,class:`custom-input`,placeholder:`您为什么想来本工作室?期望的职位是什么?`,required:``},null,512),[[p,P.intention]])]),c(`div`,ke,[o[47]||=c(`label`,{class:`label-text`},[l(`个人自述 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`textarea`,{id:`selfIntro`,"onUpdate:modelValue":o[24]||=e=>P.selfIntro=e,rows:`4`,class:`custom-input`,placeholder:`请自由发挥:优缺点、自我介绍、心理素质展示等...`,required:``},null,512),[[p,P.selfIntro]])])])]),c(`section`,Ae,[c(`div`,je,[(a(),m(`svg`,Me,[...o[49]||=[c(`path`,{d:`M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V173.3c0-17-6.7-33.3-18.7-45.3L352 50.7C340 38.7 323.7 32 306.7 32H64zm0 96c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V128zM224 288a64 64 0 1 1 0 128 64 64 0 1 1 0-128z`},null,-1)]])),o[50]||=l(` 入职必读协议 `,-1)]),c(`div`,Ne,[o[53]||=c(`p`,{style:{margin:`0 0 0.5rem 0`,"font-weight":`600`,color:`#92400e`}},`请务必在提交前签署《工作室成员入职协议》`,-1),c(`div`,Pe,[o[52]||=c(`a`,{href:`https://doc.gvsds.com/D9F9194A243D3A499108A7CA082373A7`,target:`_blank`,class:`agreement-btn`},` 点击阅读并签署 → `,-1),c(`label`,Fe,[t(c(`input`,{type:`checkbox`,id:`agreeJoin`,class:`custom-checkbox`,"onUpdate:modelValue":o[25]||=e=>F.joinAgreement=e,required:``},null,512),[[h,F.joinAgreement]]),o[51]||=c(`span`,{style:{"margin-left":`0.5rem`}},`我已阅读并签署`,-1)])])])]),c(`section`,Ie,[o[55]||=c(`div`,{class:`section-title`},[c(`svg`,{class:`svg-icon`,viewBox:`0 0 512 512`},[c(`path`,{d:`M448 256c0-106-86-192-192-192S64 150 64 256c0 84.6 54.5 156.3 130.6 181.7c-2.6-8.4-4-17.3-4-26.5c0-41.2 22.1-79.2 57.9-99.3c-5.8-4.7-9.5-11.9-9.5-19.9c0-14.1 11.4-25.5 25.5-25.5s25.5 11.4 25.5 25.5c0 8-3.7 15.2-9.5 19.9c35.8 20.2 57.9 58.1 57.9 99.3c0 9.2-1.4 18.2-4 26.5C353.5 412.3 408 340.6 408 256z`})]),l(` 最终确认 `)],-1),c(`div`,Le,[o[54]||=c(`label`,{class:`label-text`},[l(`联系邮箱 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`input`,{type:`email`,id:`email`,"onUpdate:modelValue":o[26]||=e=>P.email=e,class:`custom-input`,placeholder:`我们将发送Offer至此邮箱`,required:``},null,512),[[p,P.email]])]),o[56]||=c(`div`,{style:{display:`flex`,"align-items":`flex-end`}},[c(`button`,{type:`submit`,class:`submit-btn`},` 提交申请 `)],-1)])],32),o[58]||=c(`footer`,{style:{"text-align":`center`,color:`#94a3b8`,"font-size":`0.8rem`,"padding-top":`2rem`}},` © 2023 银河锋锐软件开发工作室. All Rights Reserved. `,-1)])]),c(`div`,{id:`toast`,class:u([`toast`,{show:X.value}])},r(Y.value),3),W.value?(a(),m(`div`,{key:0,class:u([`modal-overlay`,{open:G.value}]),onClick:s(J,[`self`])},[c(`div`,{class:`modal-content`,onClick:o[27]||=s(()=>{},[`stop`])},[c(`div`,Re,[c(`span`,M,r(K[W.value]?.title||``),1),c(`button`,{class:`close-btn`,onClick:J},`×`)]),c(`div`,{class:`modal-body`,style:{"font-size":`0.9rem`,color:`#475569`},innerHTML:K[W.value]?.content||``},null,8,ze),c(`div`,{style:{"text-align":`right`,"margin-top":`1.5rem`}},[c(`button`,{onClick:J,style:{background:`var(--primary-color)`,color:`white`,border:`none`,padding:`0.5rem 1.5rem`,"border-radius":`0.5rem`,cursor:`pointer`}},`我已阅读并关闭`)])])],2)):ee(``,!0)],64))}}),[[`__scopeId`,`data-v-bda07ef6`]]);export{N as default};
\ No newline at end of file
diff --git a/TempLate/assets/ApplyView-C_g49BWm.js b/TempLate/assets/ApplyView-C_g49BWm.js
new file mode 100644
index 00000000..164f3813
--- /dev/null
+++ b/TempLate/assets/ApplyView-C_g49BWm.js
@@ -0,0 +1 @@
+import{C as e,D as t,M as n,N as r,O as i,S as a,_ as o,c as s,d as c,f as ee,h as l,j as u,k as d,l as f,m as te,o as p,p as m,r as h,u as g}from"./index-UfMysbwD.js";import{t as _}from"./_plugin-vue_export-helper-BDNMzG2s.js";var ne={class:`apply-page`},re={class:`container-galaxy`},ie={class:`glass-card`},ae={class:`grid-layout`},oe={class:`input-group`},se={class:`input-group`},ce={class:`input-group`},le={class:`slider-tabs`,"data-count":3},ue=[`onClick`],de=[`required`],fe={for:`agreeGender`,class:`cursor-pointer align-center`,style:{flex:`1`,cursor:`pointer`}},pe={class:`input-group`},me={class:`slider-tabs`,"data-count":3},he=[`onClick`],ge={for:`agreeNation`,class:`cursor-pointer align-center`,style:{flex:`1`,cursor:`pointer`}},_e={class:`glass-card`},ve={class:`grid-layout`},ye={class:`input-group`},be={for:`agreePolitics`,class:`cursor-pointer align-center`,style:{flex:`1`,cursor:`pointer`}},xe={class:`input-group`},Se={class:`input-group`},v={class:`input-group`},y={style:{display:`flex`,"flex-direction":`column`,gap:`6px`}},b={class:`align-center gap-2 cursor-pointer`,style:{display:`flex`,gap:`0.5rem`}},x={class:`align-center gap-2 cursor-pointer`,style:{display:`flex`,gap:`0.5rem`}},S={class:`glass-card`},C={class:`mb-4`},w={class:`contact-grid`,id:`contactTypes`},T=[`id`,`value`],E=[`for`],D={id:`contactInputsContainer`,class:`grid-layout`,style:{"grid-template-columns":`repeat(auto-fill, minmax(200px, 1fr))`}},O=[`data-type`],k={class:`label-text`},A=[`name`,`onUpdate:modelValue`,`placeholder`],j={class:`glass-card`},Ce={style:{display:`flex`,"flex-direction":`column`,gap:`1.25rem`}},we={class:`input-group`},Te={class:`agreement-box`},Ee={for:`agreeEdu`,class:`cursor-pointer align-center`,style:{flex:`1`,cursor:`pointer`}},De={class:`input-group`},Oe={class:`input-group`},ke={class:`input-group`},Ae={class:`glass-card`,style:{"border-left":`5px solid var(--accent-color)`}},je={class:`section-title`},Me={class:`svg-icon`,style:{color:`var(--accent-color)`},viewBox:`0 0 448 512`},Ne={style:{background:`#fffbeb`,padding:`1rem`,"border-radius":`0.5rem`,border:`1px solid #fcd34d`}},Pe={style:{display:`flex`,"justify-content":`space-between`,"align-items":`center`,gap:`1rem`,"flex-wrap":`wrap`}},Fe={class:`align-center cursor-pointer`,style:{"font-size":`0.9rem`,color:`#78350f`,"white-space":`nowrap`}},Ie={class:`glass-card`},Le={class:`input-group`},Re={class:`modal-header`},M={class:`modal-title`},ze=[`innerHTML`],N=_(o({__name:`ApplyView`,setup(o){let _=[{label:`男`,value:`male`},{label:`女`,value:`female`},{label:`不公开`,value:`secret`}],N=[{label:`汉族`,value:`han`},{label:`少数民族`,value:`other`},{label:`不公开`,value:`secret`}],P=i({netName:``,realName:``,gender:`male`,nation:`han`,politics:``,age:``,birthday:``,location:``,education:``,experience:``,intention:``,selfIntro:``,email:``}),F=i({genderSecret:!1,nationAuth:!1,minorParty:!1,infoSecret:!1,realLoc:!1,eduReal:!1,joinAgreement:!1});function I(e){return`calc(${e*33.333-1}% + 4px)`}let Be=g(()=>I(_.findIndex(e=>e.value===P.gender))),Ve=g(()=>I(N.findIndex(e=>e.value===P.nation)));function L(e,t){e===`gender`?P.gender=_[t].value:P.nation=N[t].value}let He=g(()=>[`han`,`other`,`secret`].includes(P.nation)),Ue=g(()=>P.nation===`han`?`nationReal`:P.nation===`other`?`nationAuth`:P.nation===`secret`?`nationSecret`:`nationAuth`),We=g(()=>P.nation===`han`?`《民族真实性声明》`:P.nation===`other`?`《少数民族真实性声明》`:P.nation===`secret`?`《民族不公开协议》`:`《民族真实性声明》`),Ge=[`群众`,`党员`,`团员`,`中共党员`,`中共团员`,`共青团员`,`无党派`,`无党派人士`],R=g(()=>!!P.politics.trim()&&!Ge.includes(P.politics.trim()));function Ke(){R.value||(F.minorParty=!1)}let z=g(()=>!!P.location.trim());function qe(){z.value||(F.infoSecret=!1,F.realLoc=!1)}let B=[{id:`wechat`,label:`微信`},{id:`qq`,label:`QQ`},{id:`phone`,label:`电话号`},{id:`kuaishou`,label:`快手`},{id:`douyin`,label:`抖音`},{id:`bilibili`,label:`B站`},{id:`email_alt`,label:`邮箱`},{id:`weibo`,label:`微博`},{id:`youtube`,label:`YouTube`},{id:`tiktok`,label:`TikTok`},{id:`google`,label:`Google`},{id:`x_twitter`,label:`X`},{id:`discord`,label:`Discord`},{id:`facebook`,label:`Facebook`},{id:`instagram`,label:`Instagram`},{id:`github`,label:`Github`},{id:`csdn`,label:`CSDN`}],V=d([]),H=i({});function Je(){B.forEach(e=>{V.value.includes(e.id)||delete H[e.id]})}function U(e){return B.find(t=>t.id===e)?.label||e}let W=d(``),G=d(!1),K={genderSecret:{title:`《性别不公开声明》`,content:`鉴于申请人在本申请表中选择"性别:不公开"(以下简称"保密选择"),银河锋锐软件开发工作室(以下简称"工作室")与申请人就性别信息保密事宜达成如下声明:
一、工作室承诺:
1. 严格保护申请人的性别隐私权,仅在法律法规强制性要求(如社保、税务登记等)的必要场景下留存真实性别信息,且该信息仅限指定行政人员查阅,严禁外泄。
2. 在招聘评估、团队协作、对外公示等所有非必要场景中,均不披露、不询问申请人的性别信息,完全遵循性别中立原则。
二、申请人确认:
1. 知悉保密选择仅适用于非法定场景,理解并配合工作室在法定必要环节提供真实性别信息的要求。
2. 不因性别信息保密要求向工作室提出超出合理范围的特殊待遇诉求。
`},nationAuth:{title:`《少数民族真实性声明》`,content:`本人(申请人)郑重作出如下声明:
1. 本人在本申请表中填报的民族信息为【少数民族】,该信息完全基于本人的户籍登记及真实民族归属,无任何虚构、篡改行为。
2. 本人知晓工作室尊重各民族文化习俗,承诺在合作/工作期间遵守国家民族政策,维护民族团结,不利用少数民族身份谋取不正当利益。
3. 若本人填报的民族信息存在虚假,自愿接受以下后果:
(1)工作室有权立即撤销录用/合作资格;
(2)若已建立合作关系,工作室可无条件解除协议,且本人需承担因此给工作室造成的全部损失。
`},nationReal:{title:`《民族真实性声明》`,content:`本人(申请人)郑重作出如下声明:
1. 本人在本申请表中填报的民族信息为【汉族】,该信息完全基于本人的户籍登记及真实民族归属,无任何虚构、篡改行为。
2. 本人知晓工作室尊重各民族文化习俗,承诺在合作/工作期间遵守国家民族政策,维护民族团结。
3. 若本人填报的民族信息存在虚假,自愿接受以下后果:
(1)工作室有权立即撤销录用/合作资格;
(2)若已建立合作关系,工作室可无条件解除协议,且本人需承担因此给工作室造成的全部损失。
`},nationSecret:{title:`《民族不公开协议》`,content:`鉴于申请人在本申请表中选择"民族:不公开"(以下简称"保密选择"),银河锋锐软件开发工作室(以下简称"工作室")与申请人就民族信息保密事宜达成如下协议:
一、工作室承诺:
1. 严格保护申请人的民族隐私权,仅在法律法规强制性要求的必要场景下留存真实民族信息,且该信息仅限指定行政人员查阅,严禁外泄。
2. 在招聘评估、团队协作、对外公示等所有非必要场景中,均不披露、不询问申请人的民族信息,完全遵循民族中立原则。
二、申请人确认:
1. 知悉保密选择仅适用于非法定场景,理解并配合工作室在法定必要环节提供真实民族信息的要求。
2. 不因民族信息保密要求向工作室提出超出合理范围的特殊待遇诉求。
`},minorParty:{title:`《少数党派声明》`,content:`本人(申请人)就政治面貌相关事宜声明如下:
1. 本人填报的政治面貌为【非主流党派】(非群众、中共党员、共青团员、无党派人士),该信息真实有效。
2. 本人承诺所归属的党派/团体均为合法登记的组织,本人的政治信仰及活动均遵守中华人民共和国宪法及相关法律法规。
3. 工作室确认:
(1)尊重申请人的政治信仰自由,不因申请人的政治面貌差异实施任何形式的歧视;
(2)在招聘评估、岗位安排、福利待遇等方面,对申请人与其他政治面貌的应聘者/员工一视同仁。
`},infoSecret:{title:`《工作室成员信息不公开协议》`,content:`甲方:银河锋锐软件开发工作室 乙方:申请人
为保障乙方个人信息安全,甲乙双方就居住地信息保密事宜达成如下协议:
一、信息使用范围:
1. 甲方收集乙方的居住地信息,仅用于建立员工/合作成员基础档案及紧急联络。
二、甲方保密义务:
1. 严禁将乙方居住地信息出售、出租、转让给任何第三方。
2. 严禁在公开渠道披露乙方居住地信息。
3. 若因甲方原因导致信息泄露,甲方需承担相应赔偿责任。
`},realLoc:{title:`《居住地真实声明》`,content:`本人(申请人)郑重声明:
1. 本人在本申请表中填报的居住地信息(省/市/区/街道等)真实、准确、完整。
2. 本人知晓该信息用于物料发放、会议协调等。
3. 若本人填报的居住地信息虚假,自愿承担后果:
(1)因地址错误导致的物料无法送达等损失,由本人自行承担;
(2)工作室有权撤销录用资格。
`},eduReal:{title:`《学历真实声明》`,content:`本人(申请人)就教育背景信息的真实性作出如下不可撤销的声明:
1. 本人在"教育背景"栏填报的所有信息均为真实、完整。
2. 本人同意工作室通过学信网等方式进行核验。
3. 若经核实发现本人信息存在虚假,本人自愿接受:
(1)无论是否已录用,工作室均有权立即终止流程;
(2)若已入职,工作室可无条件解除劳动合同且无需支付补偿;
(3)本人赔偿工作室因虚假信息导致的全部损失。
您可以留空来声明不公开学历。
`}};function q(e){K[e]&&(W.value=e,requestAnimationFrame(()=>{G.value=!0}))}function J(){G.value=!1,setTimeout(()=>{W.value=``},200)}let Y=d(`提示信息`),X=d(!1),Z=null;function Q(e){Y.value=e,X.value=!0,Z&&clearTimeout(Z),Z=setTimeout(()=>{X.value=!1},3e3)}let $=d(!1);function Ye(){if(!V.value.includes(`wechat`)&&!V.value.includes(`qq`)){$.value=!0,Q(`请至少选择微信或QQ`);return}if($.value=!1,!F.joinAgreement){Q(`请先签署《工作室成员入职协议》`);return}let e={};V.value.forEach(t=>{let n=(H[t]||``).trim();n&&(e[t]={label:U(t),value:n})});let t={...P,contacts:e,agreements:{...F}};console.log(`提交的 JSON 数据:`,t),console.log(`JSON 字符串:`,JSON.stringify(t,null,2)),Q(`申请提交成功!数据已生成 JSON。`)}return(i,o)=>(a(),m(f,null,[c(`div`,ne,[c(`div`,re,[o[57]||=te(``,1),c(`form`,{id:`appForm`,onSubmit:s(Ye,[`prevent`])},[c(`section`,ie,[o[34]||=c(`div`,{class:`section-title`},[c(`svg`,{class:`svg-icon`,viewBox:`0 0 448 512`},[c(`path`,{d:`M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3z`})]),l(` 基础档案 `)],-1),c(`div`,ae,[c(`div`,oe,[o[28]||=c(`label`,{class:`label-text`},[l(`网名 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`input`,{type:`text`,id:`netName`,"onUpdate:modelValue":o[0]||=e=>P.netName=e,class:`custom-input`,placeholder:`您的常用网名`,required:``},null,512),[[p,P.netName]])]),c(`div`,se,[o[29]||=c(`label`,{class:`label-text`},`真实姓名 (可选)`,-1),t(c(`input`,{type:`text`,id:`realName`,"onUpdate:modelValue":o[1]||=e=>P.realName=e,class:`custom-input`,placeholder:`选填`},null,512),[[p,P.realName]])]),c(`div`,ce,[o[31]||=c(`label`,{class:`label-text`},[l(`性别 `),c(`span`,{class:`required-mark`},`*`)],-1),c(`div`,le,[c(`div`,{class:`slider-bg`,style:n({left:Be.value})},null,4),(a(),m(f,null,e(_,(e,t)=>c(`div`,{key:e.value,class:u([`slider-option`,{active:P.gender===e.value}]),onClick:e=>L(`gender`,t)},r(e.label),11,ue)),64))]),t(c(`input`,{type:`hidden`,"onUpdate:modelValue":o[2]||=e=>P.gender=e},null,512),[[p,P.gender]]),c(`div`,{id:`genderAgreement`,class:u([`agreement-box`,{"hidden-state":P.gender!==`secret`}])},[t(c(`input`,{type:`checkbox`,id:`agreeGender`,class:`custom-checkbox`,"onUpdate:modelValue":o[3]||=e=>F.genderSecret=e,required:P.gender===`secret`},null,8,de),[[h,F.genderSecret]]),c(`label`,fe,[o[30]||=l(` 我已阅读并同意 `,-1),c(`a`,{class:`agreement-link`,onClick:o[4]||=s(e=>q(`genderSecret`),[`prevent`])},`《性别不公开声明》`)])],2)]),c(`div`,pe,[o[33]||=c(`label`,{class:`label-text`},[l(`民族 `),c(`span`,{class:`required-mark`},`*`)],-1),c(`div`,me,[c(`div`,{class:`slider-bg`,style:n({left:Ve.value})},null,4),(a(),m(f,null,e(N,(e,t)=>c(`div`,{key:e.value,class:u([`slider-option`,{active:P.nation===e.value}]),onClick:e=>L(`nation`,t)},r(e.label),11,he)),64))]),t(c(`input`,{type:`hidden`,"onUpdate:modelValue":o[5]||=e=>P.nation=e},null,512),[[p,P.nation]]),c(`div`,{id:`nationAgreement`,class:u([`agreement-box`,{"hidden-state":!He.value}])},[t(c(`input`,{type:`checkbox`,id:`agreeNation`,class:`custom-checkbox`,"onUpdate:modelValue":o[6]||=e=>F.nationAuth=e,required:``},null,512),[[h,F.nationAuth]]),c(`label`,ge,[o[32]||=l(` 我已阅读并同意 `,-1),c(`a`,{class:`agreement-link`,onClick:o[7]||=s(e=>q(Ue.value),[`prevent`])},r(We.value),1)])],2)])])]),c(`section`,_e,[o[40]||=c(`div`,{class:`section-title`},[c(`svg`,{class:`svg-icon`,viewBox:`0 0 512 512`},[c(`path`,{d:`M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z`})]),l(` 政治面貌与联络 `)],-1),c(`div`,ve,[c(`div`,ye,[o[36]||=c(`label`,{class:`label-text`},[l(`政治面貌 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`input`,{type:`text`,id:`politics`,"onUpdate:modelValue":o[8]||=e=>P.politics=e,class:`custom-input`,placeholder:`如:群众、党员...`,onInput:Ke},null,544),[[p,P.politics]]),c(`div`,{id:`politicsAgreement`,class:u([`agreement-box`,{"hidden-state":!R.value}])},[t(c(`input`,{type:`checkbox`,id:`agreePolitics`,class:`custom-checkbox`,"onUpdate:modelValue":o[9]||=e=>F.minorParty=e,required:``},null,512),[[h,F.minorParty]]),c(`label`,be,[o[35]||=l(` 我确认并签署 `,-1),c(`a`,{class:`agreement-link`,onClick:o[10]||=s(e=>q(`minorParty`),[`prevent`])},`《少数党派声明》`)])],2)]),c(`div`,xe,[o[37]||=c(`label`,{class:`label-text`},`年龄 (可选)`,-1),t(c(`input`,{type:`number`,id:`age`,"onUpdate:modelValue":o[11]||=e=>P.age=e,class:`custom-input`,placeholder:`例如:18`,min:`10`,max:`99`},null,512),[[p,P.age]])]),c(`div`,Se,[o[38]||=c(`label`,{class:`label-text`},`生日 (可选)`,-1),t(c(`input`,{type:`date`,id:`birthday`,"onUpdate:modelValue":o[12]||=e=>P.birthday=e,class:`custom-input`},null,512),[[p,P.birthday]])]),c(`div`,v,[o[39]||=c(`label`,{class:`label-text`},`居住地 (可选)`,-1),t(c(`input`,{type:`text`,id:`location`,"onUpdate:modelValue":o[13]||=e=>P.location=e,class:`custom-input`,placeholder:`省/市/区`,onInput:qe},null,544),[[p,P.location]]),c(`div`,{id:`locationAgreement`,class:u([`agreement-box`,{"hidden-state":!z.value}])},[c(`div`,y,[c(`label`,b,[t(c(`input`,{type:`checkbox`,id:`agreeLocInfo`,class:`custom-checkbox`,"onUpdate:modelValue":o[14]||=e=>F.infoSecret=e,required:``},null,512),[[h,F.infoSecret]]),c(`span`,null,[c(`a`,{class:`agreement-link`,onClick:o[15]||=s(e=>q(`infoSecret`),[`prevent`])},`《工作室成员信息不公开协议》`)])]),c(`label`,x,[t(c(`input`,{type:`checkbox`,id:`agreeLocReal`,class:`custom-checkbox`,"onUpdate:modelValue":o[16]||=e=>F.realLoc=e,required:``},null,512),[[h,F.realLoc]]),c(`span`,null,[c(`a`,{class:`agreement-link`,onClick:o[17]||=s(e=>q(`realLoc`),[`prevent`])},`《居住地真实声明》`)])])])],2)])])]),c(`section`,S,[o[42]||=c(`div`,{class:`section-title`},[c(`svg`,{class:`svg-icon`,viewBox:`0 0 640 512`},[c(`path`,{d:`M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-127.5-56.5-184.8-19.9L226.5 84.5C185.3 53.3 132.1 53.3 91 84.5L42.6 132.9C13.4 162.1 3.4 207.6 22.4 247.5c13.1 27.3 39.4 45.8 69.7 48.2l10.7 1c9.3 .8 18.2 4 25.9 9.1l47.4 31.6c-4.7-12.9-7.2-26.8-7.2-41.2c0-53 43-96 96-96s96 43 96 96c0 14.4-2.5 28.3-7.2 41.2l47.4-31.6c7.7-5.1 16.6-8.3 25.9-9.1l10.7-1c30.3-2.4 56.6-20.9 69.7-48.2c19-39.9 9-85.4-20.2-114.6l-48.4-48.4c-41.1-41.1-94.3-41.1-135.5 0L251 160.8c-25.6 25.6-29 65.3-10.3 94.8c5.9 9.2 16.1 14.8 27.1 14.8h4.4c14.5 0 27.6-8.5 33.5-21.7c4.7-10.6 14.8-17.4 26.3-17.4s21.6 6.8 26.3 17.4c5.9 13.2 19 21.7 33.5 21.7h4.4c11 0 21.2-5.6 27.1-14.8c18.7-29.5 15.3-69.2-10.3-94.8z`})]),l(` 联系方式矩阵 `)],-1),c(`div`,C,[o[41]||=c(`p`,{style:{"font-size":`0.85rem`,color:`var(--text-sub)`,"margin-bottom":`0.5rem`}},`请选择您常用的联系方式 (微信、QQ二选一或全选,其余可选):`,-1),c(`div`,w,[(a(),m(f,null,e(B,e=>c(`div`,{key:e.id},[t(c(`input`,{type:`checkbox`,id:`chk_${e.id}`,value:e.id,class:`contact-checkbox`,"onUpdate:modelValue":o[18]||=e=>V.value=e,onChange:Je},null,40,T),[[h,V.value]]),c(`label`,{for:`chk_${e.id}`,class:`contact-label`},r(e.label),9,E)])),64))]),c(`div`,{id:`contactError`,class:`error-msg`,style:n({display:$.value?`block`:`none`})},`请至少选择微信或QQ中的一种联系方式!`,4)]),c(`div`,D,[(a(!0),m(f,null,e(V.value,e=>(a(),m(`div`,{key:e,class:`input-group contact-input-item`,"data-type":e},[c(`label`,k,r(U(e))+`账号/ID`,1),t(c(`input`,{type:`text`,name:`contact_${e}`,"onUpdate:modelValue":t=>H[e]=t,class:`custom-input`,placeholder:`请输入${U(e)}`},null,8,A),[[p,H[e]]])],8,O))),128))])]),c(`section`,j,[o[48]||=c(`div`,{class:`section-title`},[c(`svg`,{class:`svg-icon`,viewBox:`0 0 576 512`},[c(`path`,{d:`M384 480h48c11.4 0 21.9-6.1 27.6-16.1l56-96c6.4-11 4.8-25-3.9-34.3s-22.2-12.1-33.5-6.6L416 368.2V128c0-17.7-14.3-32-32-32s-32 14.3-32 32v178.7l-27.5-20.6c-10.3-7.7-24.6-6.5-33.5 2.8s-10.3 23.2-3.9 34.3l56 96c5.7 10 16.2 16.1 27.6 16.1H384zM192 480h48c11.4 0 21.9-6.1 27.6-16.1l56-96c6.4-11 4.8-25-3.9-34.3s-22.2-12.1-33.5-6.6L224 368.2V128c0-17.7-14.3-32-32-32s-32 14.3-32 32v178.7l-27.5-20.6c-10.3-7.7-24.6-6.5-33.5 2.8s-10.3 23.2-3.9 34.3l56 96c5.7 10 16.2 16.1 27.6 16.1z`})]),l(` 履历与愿景 `)],-1),c(`div`,Ce,[c(`div`,we,[o[44]||=c(`label`,{class:`label-text`},[l(`教育背景 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`textarea`,{id:`education`,"onUpdate:modelValue":o[19]||=e=>P.education=e,rows:`3`,class:`custom-input`,placeholder:`请详细描述您的学历、毕业院校及专业,若您年龄过小可选择如实填写或不公开,留空表明您不公开...`},null,512),[[p,P.education]]),c(`div`,Te,[t(c(`input`,{type:`checkbox`,id:`agreeEdu`,class:`custom-checkbox`,"onUpdate:modelValue":o[20]||=e=>F.eduReal=e,required:``},null,512),[[h,F.eduReal]]),c(`label`,Ee,[o[43]||=l(` 我保证以上信息真实有效,即 `,-1),c(`a`,{class:`agreement-link`,onClick:o[21]||=s(e=>q(`eduReal`),[`prevent`])},`签署《学历真实声明》`)])])]),c(`div`,De,[o[45]||=c(`label`,{class:`label-text`},`求职/工作经历 (选填)`,-1),t(c(`textarea`,{id:`experience`,"onUpdate:modelValue":o[22]||=e=>P.experience=e,rows:`3`,class:`custom-input`,placeholder:`请简述您过往的工作或项目经验...`},null,512),[[p,P.experience]])]),c(`div`,Oe,[o[46]||=c(`label`,{class:`label-text`},[l(`求职意向 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`textarea`,{id:`intention`,"onUpdate:modelValue":o[23]||=e=>P.intention=e,rows:`3`,class:`custom-input`,placeholder:`您为什么想来本工作室?期望的职位是什么?`,required:``},null,512),[[p,P.intention]])]),c(`div`,ke,[o[47]||=c(`label`,{class:`label-text`},[l(`个人自述 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`textarea`,{id:`selfIntro`,"onUpdate:modelValue":o[24]||=e=>P.selfIntro=e,rows:`4`,class:`custom-input`,placeholder:`请自由发挥:优缺点、自我介绍、心理素质展示等...`,required:``},null,512),[[p,P.selfIntro]])])])]),c(`section`,Ae,[c(`div`,je,[(a(),m(`svg`,Me,[...o[49]||=[c(`path`,{d:`M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V173.3c0-17-6.7-33.3-18.7-45.3L352 50.7C340 38.7 323.7 32 306.7 32H64zm0 96c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V128zM224 288a64 64 0 1 1 0 128 64 64 0 1 1 0-128z`},null,-1)]])),o[50]||=l(` 入职必读协议 `,-1)]),c(`div`,Ne,[o[53]||=c(`p`,{style:{margin:`0 0 0.5rem 0`,"font-weight":`600`,color:`#92400e`}},`请务必在提交前签署《工作室成员入职协议》`,-1),c(`div`,Pe,[o[52]||=c(`a`,{href:`https://doc.gvsds.com/D9F9194A243D3A499108A7CA082373A7`,target:`_blank`,class:`agreement-btn`},` 点击阅读并签署 → `,-1),c(`label`,Fe,[t(c(`input`,{type:`checkbox`,id:`agreeJoin`,class:`custom-checkbox`,"onUpdate:modelValue":o[25]||=e=>F.joinAgreement=e,required:``},null,512),[[h,F.joinAgreement]]),o[51]||=c(`span`,{style:{"margin-left":`0.5rem`}},`我已阅读并签署`,-1)])])])]),c(`section`,Ie,[o[55]||=c(`div`,{class:`section-title`},[c(`svg`,{class:`svg-icon`,viewBox:`0 0 512 512`},[c(`path`,{d:`M448 256c0-106-86-192-192-192S64 150 64 256c0 84.6 54.5 156.3 130.6 181.7c-2.6-8.4-4-17.3-4-26.5c0-41.2 22.1-79.2 57.9-99.3c-5.8-4.7-9.5-11.9-9.5-19.9c0-14.1 11.4-25.5 25.5-25.5s25.5 11.4 25.5 25.5c0 8-3.7 15.2-9.5 19.9c35.8 20.2 57.9 58.1 57.9 99.3c0 9.2-1.4 18.2-4 26.5C353.5 412.3 408 340.6 408 256z`})]),l(` 最终确认 `)],-1),c(`div`,Le,[o[54]||=c(`label`,{class:`label-text`},[l(`联系邮箱 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`input`,{type:`email`,id:`email`,"onUpdate:modelValue":o[26]||=e=>P.email=e,class:`custom-input`,placeholder:`我们将发送Offer至此邮箱`,required:``},null,512),[[p,P.email]])]),o[56]||=c(`div`,{style:{display:`flex`,"align-items":`flex-end`}},[c(`button`,{type:`submit`,class:`submit-btn`},` 提交申请 `)],-1)])],32),o[58]||=c(`footer`,{style:{"text-align":`center`,color:`#94a3b8`,"font-size":`0.8rem`,"padding-top":`2rem`}},` © 2023 银河锋锐软件开发工作室. All Rights Reserved. `,-1)])]),c(`div`,{id:`toast`,class:u([`toast`,{show:X.value}])},r(Y.value),3),W.value?(a(),m(`div`,{key:0,class:u([`modal-overlay`,{open:G.value}]),onClick:s(J,[`self`])},[c(`div`,{class:`modal-content`,onClick:o[27]||=s(()=>{},[`stop`])},[c(`div`,Re,[c(`span`,M,r(K[W.value]?.title||``),1),c(`button`,{class:`close-btn`,onClick:J},`×`)]),c(`div`,{class:`modal-body`,style:{"font-size":`0.9rem`,color:`#475569`},innerHTML:K[W.value]?.content||``},null,8,ze),c(`div`,{style:{"text-align":`right`,"margin-top":`1.5rem`}},[c(`button`,{onClick:J,style:{background:`var(--primary-color)`,color:`white`,border:`none`,padding:`0.5rem 1.5rem`,"border-radius":`0.5rem`,cursor:`pointer`}},`我已阅读并关闭`)])])],2)):ee(``,!0)],64))}}),[[`__scopeId`,`data-v-bda07ef6`]]);export{N as default};
\ No newline at end of file
diff --git a/TempLate/assets/ApplyView-D5DFf8qB.js b/TempLate/assets/ApplyView-D5DFf8qB.js
new file mode 100644
index 00000000..954441c5
--- /dev/null
+++ b/TempLate/assets/ApplyView-D5DFf8qB.js
@@ -0,0 +1 @@
+import{C as e,D as t,M as n,N as r,O as i,S as a,_ as o,c as s,d as c,f as ee,h as l,j as u,k as d,l as f,m as te,o as p,p as m,r as h,u as g}from"./index-CJXuAy0L.js";import{t as _}from"./_plugin-vue_export-helper-BDNMzG2s.js";var ne={class:`apply-page`},re={class:`container-galaxy`},ie={class:`glass-card`},ae={class:`grid-layout`},oe={class:`input-group`},se={class:`input-group`},ce={class:`input-group`},le={class:`slider-tabs`,"data-count":3},ue=[`onClick`],de=[`required`],fe={for:`agreeGender`,class:`cursor-pointer align-center`,style:{flex:`1`,cursor:`pointer`}},pe={class:`input-group`},me={class:`slider-tabs`,"data-count":3},he=[`onClick`],ge={for:`agreeNation`,class:`cursor-pointer align-center`,style:{flex:`1`,cursor:`pointer`}},_e={class:`glass-card`},ve={class:`grid-layout`},ye={class:`input-group`},be={for:`agreePolitics`,class:`cursor-pointer align-center`,style:{flex:`1`,cursor:`pointer`}},xe={class:`input-group`},Se={class:`input-group`},v={class:`input-group`},y={style:{display:`flex`,"flex-direction":`column`,gap:`6px`}},b={class:`align-center gap-2 cursor-pointer`,style:{display:`flex`,gap:`0.5rem`}},x={class:`align-center gap-2 cursor-pointer`,style:{display:`flex`,gap:`0.5rem`}},S={class:`glass-card`},C={class:`mb-4`},w={class:`contact-grid`,id:`contactTypes`},T=[`id`,`value`],E=[`for`],D={id:`contactInputsContainer`,class:`grid-layout`,style:{"grid-template-columns":`repeat(auto-fill, minmax(200px, 1fr))`}},O=[`data-type`],k={class:`label-text`},A=[`name`,`onUpdate:modelValue`,`placeholder`],j={class:`glass-card`},Ce={style:{display:`flex`,"flex-direction":`column`,gap:`1.25rem`}},we={class:`input-group`},Te={class:`agreement-box`},Ee={for:`agreeEdu`,class:`cursor-pointer align-center`,style:{flex:`1`,cursor:`pointer`}},De={class:`input-group`},Oe={class:`input-group`},ke={class:`input-group`},Ae={class:`glass-card`,style:{"border-left":`5px solid var(--accent-color)`}},je={class:`section-title`},Me={class:`svg-icon`,style:{color:`var(--accent-color)`},viewBox:`0 0 448 512`},Ne={style:{background:`#fffbeb`,padding:`1rem`,"border-radius":`0.5rem`,border:`1px solid #fcd34d`}},Pe={style:{display:`flex`,"justify-content":`space-between`,"align-items":`center`,gap:`1rem`,"flex-wrap":`wrap`}},Fe={class:`align-center cursor-pointer`,style:{"font-size":`0.9rem`,color:`#78350f`,"white-space":`nowrap`}},Ie={class:`glass-card`},Le={class:`input-group`},Re={class:`modal-header`},M={class:`modal-title`},ze=[`innerHTML`],N=_(o({__name:`ApplyView`,setup(o){let _=[{label:`男`,value:`male`},{label:`女`,value:`female`},{label:`不公开`,value:`secret`}],N=[{label:`汉族`,value:`han`},{label:`少数民族`,value:`other`},{label:`不公开`,value:`secret`}],P=i({netName:``,realName:``,gender:`male`,nation:`han`,politics:``,age:``,birthday:``,location:``,education:``,experience:``,intention:``,selfIntro:``,email:``}),F=i({genderSecret:!1,nationAuth:!1,minorParty:!1,infoSecret:!1,realLoc:!1,eduReal:!1,joinAgreement:!1});function I(e){return`calc(${e*33.333-1}% + 4px)`}let Be=g(()=>I(_.findIndex(e=>e.value===P.gender))),Ve=g(()=>I(N.findIndex(e=>e.value===P.nation)));function L(e,t){e===`gender`?P.gender=_[t].value:P.nation=N[t].value}let He=g(()=>[`han`,`other`,`secret`].includes(P.nation)),Ue=g(()=>P.nation===`han`?`nationReal`:P.nation===`other`?`nationAuth`:P.nation===`secret`?`nationSecret`:`nationAuth`),We=g(()=>P.nation===`han`?`《民族真实性声明》`:P.nation===`other`?`《少数民族真实性声明》`:P.nation===`secret`?`《民族不公开协议》`:`《民族真实性声明》`),Ge=[`群众`,`党员`,`团员`,`中共党员`,`中共团员`,`共青团员`,`无党派`,`无党派人士`],R=g(()=>!!P.politics.trim()&&!Ge.includes(P.politics.trim()));function Ke(){R.value||(F.minorParty=!1)}let z=g(()=>!!P.location.trim());function qe(){z.value||(F.infoSecret=!1,F.realLoc=!1)}let B=[{id:`wechat`,label:`微信`},{id:`qq`,label:`QQ`},{id:`phone`,label:`电话号`},{id:`kuaishou`,label:`快手`},{id:`douyin`,label:`抖音`},{id:`bilibili`,label:`B站`},{id:`email_alt`,label:`邮箱`},{id:`weibo`,label:`微博`},{id:`youtube`,label:`YouTube`},{id:`tiktok`,label:`TikTok`},{id:`google`,label:`Google`},{id:`x_twitter`,label:`X`},{id:`discord`,label:`Discord`},{id:`facebook`,label:`Facebook`},{id:`instagram`,label:`Instagram`},{id:`github`,label:`Github`},{id:`csdn`,label:`CSDN`}],V=d([]),H=i({});function Je(){B.forEach(e=>{V.value.includes(e.id)||delete H[e.id]})}function U(e){return B.find(t=>t.id===e)?.label||e}let W=d(``),G=d(!1),K={genderSecret:{title:`《性别不公开声明》`,content:`鉴于申请人在本申请表中选择"性别:不公开"(以下简称"保密选择"),银河锋锐软件开发工作室(以下简称"工作室")与申请人就性别信息保密事宜达成如下声明:
一、工作室承诺:
1. 严格保护申请人的性别隐私权,仅在法律法规强制性要求(如社保、税务登记等)的必要场景下留存真实性别信息,且该信息仅限指定行政人员查阅,严禁外泄。
2. 在招聘评估、团队协作、对外公示等所有非必要场景中,均不披露、不询问申请人的性别信息,完全遵循性别中立原则。
二、申请人确认:
1. 知悉保密选择仅适用于非法定场景,理解并配合工作室在法定必要环节提供真实性别信息的要求。
2. 不因性别信息保密要求向工作室提出超出合理范围的特殊待遇诉求。
`},nationAuth:{title:`《少数民族真实性声明》`,content:`本人(申请人)郑重作出如下声明:
1. 本人在本申请表中填报的民族信息为【少数民族】,该信息完全基于本人的户籍登记及真实民族归属,无任何虚构、篡改行为。
2. 本人知晓工作室尊重各民族文化习俗,承诺在合作/工作期间遵守国家民族政策,维护民族团结,不利用少数民族身份谋取不正当利益。
3. 若本人填报的民族信息存在虚假,自愿接受以下后果:
(1)工作室有权立即撤销录用/合作资格;
(2)若已建立合作关系,工作室可无条件解除协议,且本人需承担因此给工作室造成的全部损失。
`},nationReal:{title:`《民族真实性声明》`,content:`本人(申请人)郑重作出如下声明:
1. 本人在本申请表中填报的民族信息为【汉族】,该信息完全基于本人的户籍登记及真实民族归属,无任何虚构、篡改行为。
2. 本人知晓工作室尊重各民族文化习俗,承诺在合作/工作期间遵守国家民族政策,维护民族团结。
3. 若本人填报的民族信息存在虚假,自愿接受以下后果:
(1)工作室有权立即撤销录用/合作资格;
(2)若已建立合作关系,工作室可无条件解除协议,且本人需承担因此给工作室造成的全部损失。
`},nationSecret:{title:`《民族不公开协议》`,content:`鉴于申请人在本申请表中选择"民族:不公开"(以下简称"保密选择"),银河锋锐软件开发工作室(以下简称"工作室")与申请人就民族信息保密事宜达成如下协议:
一、工作室承诺:
1. 严格保护申请人的民族隐私权,仅在法律法规强制性要求的必要场景下留存真实民族信息,且该信息仅限指定行政人员查阅,严禁外泄。
2. 在招聘评估、团队协作、对外公示等所有非必要场景中,均不披露、不询问申请人的民族信息,完全遵循民族中立原则。
二、申请人确认:
1. 知悉保密选择仅适用于非法定场景,理解并配合工作室在法定必要环节提供真实民族信息的要求。
2. 不因民族信息保密要求向工作室提出超出合理范围的特殊待遇诉求。
`},minorParty:{title:`《少数党派声明》`,content:`本人(申请人)就政治面貌相关事宜声明如下:
1. 本人填报的政治面貌为【非主流党派】(非群众、中共党员、共青团员、无党派人士),该信息真实有效。
2. 本人承诺所归属的党派/团体均为合法登记的组织,本人的政治信仰及活动均遵守中华人民共和国宪法及相关法律法规。
3. 工作室确认:
(1)尊重申请人的政治信仰自由,不因申请人的政治面貌差异实施任何形式的歧视;
(2)在招聘评估、岗位安排、福利待遇等方面,对申请人与其他政治面貌的应聘者/员工一视同仁。
`},infoSecret:{title:`《工作室成员信息不公开协议》`,content:`甲方:银河锋锐软件开发工作室 乙方:申请人
为保障乙方个人信息安全,甲乙双方就居住地信息保密事宜达成如下协议:
一、信息使用范围:
1. 甲方收集乙方的居住地信息,仅用于建立员工/合作成员基础档案及紧急联络。
二、甲方保密义务:
1. 严禁将乙方居住地信息出售、出租、转让给任何第三方。
2. 严禁在公开渠道披露乙方居住地信息。
3. 若因甲方原因导致信息泄露,甲方需承担相应赔偿责任。
`},realLoc:{title:`《居住地真实声明》`,content:`本人(申请人)郑重声明:
1. 本人在本申请表中填报的居住地信息(省/市/区/街道等)真实、准确、完整。
2. 本人知晓该信息用于物料发放、会议协调等。
3. 若本人填报的居住地信息虚假,自愿承担后果:
(1)因地址错误导致的物料无法送达等损失,由本人自行承担;
(2)工作室有权撤销录用资格。
`},eduReal:{title:`《学历真实声明》`,content:`本人(申请人)就教育背景信息的真实性作出如下不可撤销的声明:
1. 本人在"教育背景"栏填报的所有信息均为真实、完整。
2. 本人同意工作室通过学信网等方式进行核验。
3. 若经核实发现本人信息存在虚假,本人自愿接受:
(1)无论是否已录用,工作室均有权立即终止流程;
(2)若已入职,工作室可无条件解除劳动合同且无需支付补偿;
(3)本人赔偿工作室因虚假信息导致的全部损失。
您可以留空来声明不公开学历。
`}};function q(e){K[e]&&(W.value=e,requestAnimationFrame(()=>{G.value=!0}))}function J(){G.value=!1,setTimeout(()=>{W.value=``},200)}let Y=d(`提示信息`),X=d(!1),Z=null;function Q(e){Y.value=e,X.value=!0,Z&&clearTimeout(Z),Z=setTimeout(()=>{X.value=!1},3e3)}let $=d(!1);function Ye(){if(!V.value.includes(`wechat`)&&!V.value.includes(`qq`)){$.value=!0,Q(`请至少选择微信或QQ`);return}if($.value=!1,!F.joinAgreement){Q(`请先签署《工作室成员入职协议》`);return}let e={};V.value.forEach(t=>{let n=(H[t]||``).trim();n&&(e[t]={label:U(t),value:n})});let t={...P,contacts:e,agreements:{...F}};console.log(`提交的 JSON 数据:`,t),console.log(`JSON 字符串:`,JSON.stringify(t,null,2)),Q(`申请提交成功!数据已生成 JSON。`)}return(i,o)=>(a(),m(f,null,[c(`div`,ne,[c(`div`,re,[o[57]||=te(``,1),c(`form`,{id:`appForm`,onSubmit:s(Ye,[`prevent`])},[c(`section`,ie,[o[34]||=c(`div`,{class:`section-title`},[c(`svg`,{class:`svg-icon`,viewBox:`0 0 448 512`},[c(`path`,{d:`M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3z`})]),l(` 基础档案 `)],-1),c(`div`,ae,[c(`div`,oe,[o[28]||=c(`label`,{class:`label-text`},[l(`网名 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`input`,{type:`text`,id:`netName`,"onUpdate:modelValue":o[0]||=e=>P.netName=e,class:`custom-input`,placeholder:`您的常用网名`,required:``},null,512),[[p,P.netName]])]),c(`div`,se,[o[29]||=c(`label`,{class:`label-text`},`真实姓名 (可选)`,-1),t(c(`input`,{type:`text`,id:`realName`,"onUpdate:modelValue":o[1]||=e=>P.realName=e,class:`custom-input`,placeholder:`选填`},null,512),[[p,P.realName]])]),c(`div`,ce,[o[31]||=c(`label`,{class:`label-text`},[l(`性别 `),c(`span`,{class:`required-mark`},`*`)],-1),c(`div`,le,[c(`div`,{class:`slider-bg`,style:n({left:Be.value})},null,4),(a(),m(f,null,e(_,(e,t)=>c(`div`,{key:e.value,class:u([`slider-option`,{active:P.gender===e.value}]),onClick:e=>L(`gender`,t)},r(e.label),11,ue)),64))]),t(c(`input`,{type:`hidden`,"onUpdate:modelValue":o[2]||=e=>P.gender=e},null,512),[[p,P.gender]]),c(`div`,{id:`genderAgreement`,class:u([`agreement-box`,{"hidden-state":P.gender!==`secret`}])},[t(c(`input`,{type:`checkbox`,id:`agreeGender`,class:`custom-checkbox`,"onUpdate:modelValue":o[3]||=e=>F.genderSecret=e,required:P.gender===`secret`},null,8,de),[[h,F.genderSecret]]),c(`label`,fe,[o[30]||=l(` 我已阅读并同意 `,-1),c(`a`,{class:`agreement-link`,onClick:o[4]||=s(e=>q(`genderSecret`),[`prevent`])},`《性别不公开声明》`)])],2)]),c(`div`,pe,[o[33]||=c(`label`,{class:`label-text`},[l(`民族 `),c(`span`,{class:`required-mark`},`*`)],-1),c(`div`,me,[c(`div`,{class:`slider-bg`,style:n({left:Ve.value})},null,4),(a(),m(f,null,e(N,(e,t)=>c(`div`,{key:e.value,class:u([`slider-option`,{active:P.nation===e.value}]),onClick:e=>L(`nation`,t)},r(e.label),11,he)),64))]),t(c(`input`,{type:`hidden`,"onUpdate:modelValue":o[5]||=e=>P.nation=e},null,512),[[p,P.nation]]),c(`div`,{id:`nationAgreement`,class:u([`agreement-box`,{"hidden-state":!He.value}])},[t(c(`input`,{type:`checkbox`,id:`agreeNation`,class:`custom-checkbox`,"onUpdate:modelValue":o[6]||=e=>F.nationAuth=e,required:``},null,512),[[h,F.nationAuth]]),c(`label`,ge,[o[32]||=l(` 我已阅读并同意 `,-1),c(`a`,{class:`agreement-link`,onClick:o[7]||=s(e=>q(Ue.value),[`prevent`])},r(We.value),1)])],2)])])]),c(`section`,_e,[o[40]||=c(`div`,{class:`section-title`},[c(`svg`,{class:`svg-icon`,viewBox:`0 0 512 512`},[c(`path`,{d:`M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z`})]),l(` 政治面貌与联络 `)],-1),c(`div`,ve,[c(`div`,ye,[o[36]||=c(`label`,{class:`label-text`},[l(`政治面貌 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`input`,{type:`text`,id:`politics`,"onUpdate:modelValue":o[8]||=e=>P.politics=e,class:`custom-input`,placeholder:`如:群众、党员...`,onInput:Ke},null,544),[[p,P.politics]]),c(`div`,{id:`politicsAgreement`,class:u([`agreement-box`,{"hidden-state":!R.value}])},[t(c(`input`,{type:`checkbox`,id:`agreePolitics`,class:`custom-checkbox`,"onUpdate:modelValue":o[9]||=e=>F.minorParty=e,required:``},null,512),[[h,F.minorParty]]),c(`label`,be,[o[35]||=l(` 我确认并签署 `,-1),c(`a`,{class:`agreement-link`,onClick:o[10]||=s(e=>q(`minorParty`),[`prevent`])},`《少数党派声明》`)])],2)]),c(`div`,xe,[o[37]||=c(`label`,{class:`label-text`},`年龄 (可选)`,-1),t(c(`input`,{type:`number`,id:`age`,"onUpdate:modelValue":o[11]||=e=>P.age=e,class:`custom-input`,placeholder:`例如:18`,min:`10`,max:`99`},null,512),[[p,P.age]])]),c(`div`,Se,[o[38]||=c(`label`,{class:`label-text`},`生日 (可选)`,-1),t(c(`input`,{type:`date`,id:`birthday`,"onUpdate:modelValue":o[12]||=e=>P.birthday=e,class:`custom-input`},null,512),[[p,P.birthday]])]),c(`div`,v,[o[39]||=c(`label`,{class:`label-text`},`居住地 (可选)`,-1),t(c(`input`,{type:`text`,id:`location`,"onUpdate:modelValue":o[13]||=e=>P.location=e,class:`custom-input`,placeholder:`省/市/区`,onInput:qe},null,544),[[p,P.location]]),c(`div`,{id:`locationAgreement`,class:u([`agreement-box`,{"hidden-state":!z.value}])},[c(`div`,y,[c(`label`,b,[t(c(`input`,{type:`checkbox`,id:`agreeLocInfo`,class:`custom-checkbox`,"onUpdate:modelValue":o[14]||=e=>F.infoSecret=e,required:``},null,512),[[h,F.infoSecret]]),c(`span`,null,[c(`a`,{class:`agreement-link`,onClick:o[15]||=s(e=>q(`infoSecret`),[`prevent`])},`《工作室成员信息不公开协议》`)])]),c(`label`,x,[t(c(`input`,{type:`checkbox`,id:`agreeLocReal`,class:`custom-checkbox`,"onUpdate:modelValue":o[16]||=e=>F.realLoc=e,required:``},null,512),[[h,F.realLoc]]),c(`span`,null,[c(`a`,{class:`agreement-link`,onClick:o[17]||=s(e=>q(`realLoc`),[`prevent`])},`《居住地真实声明》`)])])])],2)])])]),c(`section`,S,[o[42]||=c(`div`,{class:`section-title`},[c(`svg`,{class:`svg-icon`,viewBox:`0 0 640 512`},[c(`path`,{d:`M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-127.5-56.5-184.8-19.9L226.5 84.5C185.3 53.3 132.1 53.3 91 84.5L42.6 132.9C13.4 162.1 3.4 207.6 22.4 247.5c13.1 27.3 39.4 45.8 69.7 48.2l10.7 1c9.3 .8 18.2 4 25.9 9.1l47.4 31.6c-4.7-12.9-7.2-26.8-7.2-41.2c0-53 43-96 96-96s96 43 96 96c0 14.4-2.5 28.3-7.2 41.2l47.4-31.6c7.7-5.1 16.6-8.3 25.9-9.1l10.7-1c30.3-2.4 56.6-20.9 69.7-48.2c19-39.9 9-85.4-20.2-114.6l-48.4-48.4c-41.1-41.1-94.3-41.1-135.5 0L251 160.8c-25.6 25.6-29 65.3-10.3 94.8c5.9 9.2 16.1 14.8 27.1 14.8h4.4c14.5 0 27.6-8.5 33.5-21.7c4.7-10.6 14.8-17.4 26.3-17.4s21.6 6.8 26.3 17.4c5.9 13.2 19 21.7 33.5 21.7h4.4c11 0 21.2-5.6 27.1-14.8c18.7-29.5 15.3-69.2-10.3-94.8z`})]),l(` 联系方式矩阵 `)],-1),c(`div`,C,[o[41]||=c(`p`,{style:{"font-size":`0.85rem`,color:`var(--text-sub)`,"margin-bottom":`0.5rem`}},`请选择您常用的联系方式 (微信、QQ二选一或全选,其余可选):`,-1),c(`div`,w,[(a(),m(f,null,e(B,e=>c(`div`,{key:e.id},[t(c(`input`,{type:`checkbox`,id:`chk_${e.id}`,value:e.id,class:`contact-checkbox`,"onUpdate:modelValue":o[18]||=e=>V.value=e,onChange:Je},null,40,T),[[h,V.value]]),c(`label`,{for:`chk_${e.id}`,class:`contact-label`},r(e.label),9,E)])),64))]),c(`div`,{id:`contactError`,class:`error-msg`,style:n({display:$.value?`block`:`none`})},`请至少选择微信或QQ中的一种联系方式!`,4)]),c(`div`,D,[(a(!0),m(f,null,e(V.value,e=>(a(),m(`div`,{key:e,class:`input-group contact-input-item`,"data-type":e},[c(`label`,k,r(U(e))+`账号/ID`,1),t(c(`input`,{type:`text`,name:`contact_${e}`,"onUpdate:modelValue":t=>H[e]=t,class:`custom-input`,placeholder:`请输入${U(e)}`},null,8,A),[[p,H[e]]])],8,O))),128))])]),c(`section`,j,[o[48]||=c(`div`,{class:`section-title`},[c(`svg`,{class:`svg-icon`,viewBox:`0 0 576 512`},[c(`path`,{d:`M384 480h48c11.4 0 21.9-6.1 27.6-16.1l56-96c6.4-11 4.8-25-3.9-34.3s-22.2-12.1-33.5-6.6L416 368.2V128c0-17.7-14.3-32-32-32s-32 14.3-32 32v178.7l-27.5-20.6c-10.3-7.7-24.6-6.5-33.5 2.8s-10.3 23.2-3.9 34.3l56 96c5.7 10 16.2 16.1 27.6 16.1H384zM192 480h48c11.4 0 21.9-6.1 27.6-16.1l56-96c6.4-11 4.8-25-3.9-34.3s-22.2-12.1-33.5-6.6L224 368.2V128c0-17.7-14.3-32-32-32s-32 14.3-32 32v178.7l-27.5-20.6c-10.3-7.7-24.6-6.5-33.5 2.8s-10.3 23.2-3.9 34.3l56 96c5.7 10 16.2 16.1 27.6 16.1z`})]),l(` 履历与愿景 `)],-1),c(`div`,Ce,[c(`div`,we,[o[44]||=c(`label`,{class:`label-text`},[l(`教育背景 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`textarea`,{id:`education`,"onUpdate:modelValue":o[19]||=e=>P.education=e,rows:`3`,class:`custom-input`,placeholder:`请详细描述您的学历、毕业院校及专业,若您年龄过小可选择如实填写或不公开,留空表明您不公开...`},null,512),[[p,P.education]]),c(`div`,Te,[t(c(`input`,{type:`checkbox`,id:`agreeEdu`,class:`custom-checkbox`,"onUpdate:modelValue":o[20]||=e=>F.eduReal=e,required:``},null,512),[[h,F.eduReal]]),c(`label`,Ee,[o[43]||=l(` 我保证以上信息真实有效,即 `,-1),c(`a`,{class:`agreement-link`,onClick:o[21]||=s(e=>q(`eduReal`),[`prevent`])},`签署《学历真实声明》`)])])]),c(`div`,De,[o[45]||=c(`label`,{class:`label-text`},`求职/工作经历 (选填)`,-1),t(c(`textarea`,{id:`experience`,"onUpdate:modelValue":o[22]||=e=>P.experience=e,rows:`3`,class:`custom-input`,placeholder:`请简述您过往的工作或项目经验...`},null,512),[[p,P.experience]])]),c(`div`,Oe,[o[46]||=c(`label`,{class:`label-text`},[l(`求职意向 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`textarea`,{id:`intention`,"onUpdate:modelValue":o[23]||=e=>P.intention=e,rows:`3`,class:`custom-input`,placeholder:`您为什么想来本工作室?期望的职位是什么?`,required:``},null,512),[[p,P.intention]])]),c(`div`,ke,[o[47]||=c(`label`,{class:`label-text`},[l(`个人自述 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`textarea`,{id:`selfIntro`,"onUpdate:modelValue":o[24]||=e=>P.selfIntro=e,rows:`4`,class:`custom-input`,placeholder:`请自由发挥:优缺点、自我介绍、心理素质展示等...`,required:``},null,512),[[p,P.selfIntro]])])])]),c(`section`,Ae,[c(`div`,je,[(a(),m(`svg`,Me,[...o[49]||=[c(`path`,{d:`M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V173.3c0-17-6.7-33.3-18.7-45.3L352 50.7C340 38.7 323.7 32 306.7 32H64zm0 96c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V128zM224 288a64 64 0 1 1 0 128 64 64 0 1 1 0-128z`},null,-1)]])),o[50]||=l(` 入职必读协议 `,-1)]),c(`div`,Ne,[o[53]||=c(`p`,{style:{margin:`0 0 0.5rem 0`,"font-weight":`600`,color:`#92400e`}},`请务必在提交前签署《工作室成员入职协议》`,-1),c(`div`,Pe,[o[52]||=c(`a`,{href:`https://doc.gvsds.com/D9F9194A243D3A499108A7CA082373A7`,target:`_blank`,class:`agreement-btn`},` 点击阅读并签署 → `,-1),c(`label`,Fe,[t(c(`input`,{type:`checkbox`,id:`agreeJoin`,class:`custom-checkbox`,"onUpdate:modelValue":o[25]||=e=>F.joinAgreement=e,required:``},null,512),[[h,F.joinAgreement]]),o[51]||=c(`span`,{style:{"margin-left":`0.5rem`}},`我已阅读并签署`,-1)])])])]),c(`section`,Ie,[o[55]||=c(`div`,{class:`section-title`},[c(`svg`,{class:`svg-icon`,viewBox:`0 0 512 512`},[c(`path`,{d:`M448 256c0-106-86-192-192-192S64 150 64 256c0 84.6 54.5 156.3 130.6 181.7c-2.6-8.4-4-17.3-4-26.5c0-41.2 22.1-79.2 57.9-99.3c-5.8-4.7-9.5-11.9-9.5-19.9c0-14.1 11.4-25.5 25.5-25.5s25.5 11.4 25.5 25.5c0 8-3.7 15.2-9.5 19.9c35.8 20.2 57.9 58.1 57.9 99.3c0 9.2-1.4 18.2-4 26.5C353.5 412.3 408 340.6 408 256z`})]),l(` 最终确认 `)],-1),c(`div`,Le,[o[54]||=c(`label`,{class:`label-text`},[l(`联系邮箱 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`input`,{type:`email`,id:`email`,"onUpdate:modelValue":o[26]||=e=>P.email=e,class:`custom-input`,placeholder:`我们将发送Offer至此邮箱`,required:``},null,512),[[p,P.email]])]),o[56]||=c(`div`,{style:{display:`flex`,"align-items":`flex-end`}},[c(`button`,{type:`submit`,class:`submit-btn`},` 提交申请 `)],-1)])],32),o[58]||=c(`footer`,{style:{"text-align":`center`,color:`#94a3b8`,"font-size":`0.8rem`,"padding-top":`2rem`}},` © 2023 银河锋锐软件开发工作室. All Rights Reserved. `,-1)])]),c(`div`,{id:`toast`,class:u([`toast`,{show:X.value}])},r(Y.value),3),W.value?(a(),m(`div`,{key:0,class:u([`modal-overlay`,{open:G.value}]),onClick:s(J,[`self`])},[c(`div`,{class:`modal-content`,onClick:o[27]||=s(()=>{},[`stop`])},[c(`div`,Re,[c(`span`,M,r(K[W.value]?.title||``),1),c(`button`,{class:`close-btn`,onClick:J},`×`)]),c(`div`,{class:`modal-body`,style:{"font-size":`0.9rem`,color:`#475569`},innerHTML:K[W.value]?.content||``},null,8,ze),c(`div`,{style:{"text-align":`right`,"margin-top":`1.5rem`}},[c(`button`,{onClick:J,style:{background:`var(--primary-color)`,color:`white`,border:`none`,padding:`0.5rem 1.5rem`,"border-radius":`0.5rem`,cursor:`pointer`}},`我已阅读并关闭`)])])],2)):ee(``,!0)],64))}}),[[`__scopeId`,`data-v-bda07ef6`]]);export{N as default};
\ No newline at end of file
diff --git a/TempLate/assets/ApplyView-ba7JvyTo.css b/TempLate/assets/ApplyView-ba7JvyTo.css
new file mode 100644
index 00000000..a3d3b51c
--- /dev/null
+++ b/TempLate/assets/ApplyView-ba7JvyTo.css
@@ -0,0 +1 @@
+.apply-page[data-v-bda07ef6]{background-color:var(--bg-color);min-height:calc(100vh - 4rem);margin-top:-4rem;padding-top:5rem}.container-galaxy[data-v-bda07ef6]{width:100%;max-width:1400px;margin:0 auto;padding:1rem}.glass-card[data-v-bda07ef6]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-soft);transition:var(--transition);margin-bottom:1.5rem;padding:1.5rem}.glass-card[data-v-bda07ef6]:hover{box-shadow:var(--shadow-hover)}.grid-layout[data-v-bda07ef6]{grid-template-columns:1fr;gap:1.25rem;display:grid}.section-title[data-v-bda07ef6]{color:var(--primary-color);border-bottom:1px dashed var(--border-color);align-items:center;gap:.5rem;margin-bottom:1.25rem;padding-bottom:.75rem;font-size:1.1rem;font-weight:700;display:flex}.svg-icon[data-v-bda07ef6]{fill:currentColor;width:1.2em;height:1.2em;color:var(--primary-light)}.header-box[data-v-bda07ef6]{text-align:center;justify-items:center;margin-bottom:2rem;padding-top:1rem}h1[data-v-bda07ef6]{background:linear-gradient(to right, var(--primary-color), var(--accent-color));color:#0000;-webkit-background-clip:text;margin:.5rem 0;font-size:2rem}.subtitle[data-v-bda07ef6]{color:var(--text-sub);margin-top:.25rem;font-size:.9rem}.input-group[data-v-bda07ef6]{margin-bottom:.5rem}.label-text[data-v-bda07ef6]{color:var(--text-sub);margin-bottom:.4rem;font-size:.85rem;font-weight:600;display:block}.required-mark[data-v-bda07ef6]{color:var(--error);margin-left:2px}.custom-input[data-v-bda07ef6]{border:1px solid var(--border-color);width:100%;color:var(--text-main);transition:var(--transition);background:#fafafa;border-radius:.5rem;padding:.6rem .8rem;font-size:.95rem}.custom-input[data-v-bda07ef6]:focus{border-color:var(--primary-light);background:#fff;outline:none;box-shadow:0 0 0 3px #3b82f61a}textarea.custom-input[data-v-bda07ef6]{resize:vertical;min-height:80px}.slider-tabs[data-v-bda07ef6]{-webkit-user-select:none;user-select:none;background:#f1f5f9;border-radius:8px;padding:4px;display:flex;position:relative}.slider-bg[data-v-bda07ef6]{z-index:1;will-change:left;background:#fff;border-radius:6px;width:calc(33.333% - 4px);transition:left .25s cubic-bezier(.4,0,.2,1);position:absolute;top:4px;bottom:4px;left:4px;box-shadow:0 1px 3px #0000001a}.slider-tabs[data-count="2"] .slider-bg[data-v-bda07ef6]{width:calc(48% - 4px)}.slider-option[data-v-bda07ef6]{text-align:center;cursor:pointer;z-index:2;color:var(--text-sub);flex:1;padding:6px 4px;font-size:.9rem;font-weight:500;transition:color .2s;position:relative}.slider-option.active[data-v-bda07ef6]{color:var(--primary-color)}.agreement-box[data-v-bda07ef6]{color:#475569;opacity:1;background:#eff6ff;border-radius:.5rem;align-items:flex-start;gap:.5rem;max-height:100px;margin-top:.5rem;padding:.5rem;font-size:.8rem;transition:all .25s;display:flex;overflow:hidden;transform:translateY(0)}.agreement-box.hidden-state[data-v-bda07ef6]{opacity:0;pointer-events:none;max-height:0;margin-top:0;padding-top:0;padding-bottom:0;transform:translateY(-5px)}.agreement-link[data-v-bda07ef6]{color:var(--primary-light);cursor:pointer;white-space:nowrap;border-bottom:1px dashed #0000;font-weight:600;text-decoration:none}.agreement-link[data-v-bda07ef6]:hover{border-bottom-color:var(--primary-light)}.custom-checkbox[data-v-bda07ef6]{appearance:none;cursor:pointer;background:#fff;border:2px solid #cbd5e1;border-radius:4px;width:16px;min-width:16px;height:16px;margin-top:2px;transition:all .2s cubic-bezier(.175,.885,.32,1.275);position:relative}.custom-checkbox[data-v-bda07ef6]:checked{background-color:var(--primary-color);border-color:var(--primary-color);transform:scale(1.1)}.custom-checkbox[data-v-bda07ef6]:after{content:"";opacity:0;border:2px solid #fff;border-width:0 2px 2px 0;width:3px;height:7px;transition:all .2s;position:absolute;top:2px;left:4px;transform:rotate(45deg)scale(0)}.custom-checkbox[data-v-bda07ef6]:checked:after{opacity:1;transform:rotate(45deg)scale(1)}.align-center[data-v-bda07ef6]{align-items:center;display:flex}.contact-grid[data-v-bda07ef6]{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.5rem;display:grid}.contact-checkbox[data-v-bda07ef6]{display:none}.contact-label[data-v-bda07ef6]{border:1px solid var(--border-color);cursor:pointer;color:var(--text-sub);background:#fff;border-radius:.4rem;justify-content:center;align-items:center;padding:.4rem;font-size:.85rem;transition:all .15s;display:flex}.contact-checkbox:checked+.contact-label[data-v-bda07ef6]{border-color:var(--primary-light);color:var(--primary-color);background:#eff6ff;font-weight:600;box-shadow:0 2px 4px #3b82f61a}.modal-overlay[data-v-bda07ef6]{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;opacity:0;visibility:hidden;background:#00000080;justify-content:center;align-items:center;padding:1rem;transition:opacity .2s;display:flex;position:fixed;inset:0}.modal-overlay.open[data-v-bda07ef6]{opacity:1;visibility:visible}.modal-content[data-v-bda07ef6]{background:#fff;border-radius:1rem;width:100%;max-width:500px;max-height:80vh;padding:1.5rem;transition:transform .2s;overflow-y:auto;transform:scale(.95);box-shadow:0 20px 25px -5px #0000001a}.modal-overlay.open .modal-content[data-v-bda07ef6]{transform:scale(1)}.modal-header[data-v-bda07ef6]{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.modal-title[data-v-bda07ef6]{color:var(--primary-color);font-size:1.1rem;font-weight:700}.close-btn[data-v-bda07ef6]{cursor:pointer;color:#94a3b8;background:0 0;border:none;font-size:1.5rem}.close-btn[data-v-bda07ef6]:hover{color:var(--text-main)}.submit-btn[data-v-bda07ef6]{background:linear-gradient(135deg, var(--primary-color), var(--primary-light));color:#fff;cursor:pointer;width:100%;transition:var(--transition);border:none;border-radius:2rem;padding:.8rem;font-size:1rem;font-weight:700;position:relative;overflow:hidden;box-shadow:0 4px 6px #2563eb33}.submit-btn[data-v-bda07ef6]:hover{transform:translateY(-1px);box-shadow:0 6px 8px #2563eb4d}.submit-btn[data-v-bda07ef6]:active{transform:translateY(1px)}.agreement-btn[data-v-bda07ef6]{color:var(--primary-color);border:2px solid var(--primary-color);transition:var(--transition);background-color:#fff;border-radius:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-block}.agreement-btn[data-v-bda07ef6]:hover{background-color:var(--primary-color);color:#fff;box-shadow:0 4px 6px #1e3a8a33}.toast[data-v-bda07ef6]{color:#fff;opacity:0;pointer-events:none;z-index:2000;background:#1e293b;border-radius:2rem;padding:.75rem 1.5rem;font-size:.9rem;transition:all .3s;position:fixed;top:20px;left:50%;transform:translate(-50%)translateY(-20px);box-shadow:0 10px 15px -3px #0000001a}.toast.show[data-v-bda07ef6]{opacity:1;transform:translate(-50%)translateY(0)}.error-msg[data-v-bda07ef6]{color:var(--error);margin-top:.25rem;font-size:.75rem;display:none}@media (width>=640px){.grid-layout[data-v-bda07ef6]{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.grid-layout[data-v-bda07ef6]{grid-template-columns:repeat(4,1fr)}}:root{--primary-color:#1e3a8a;--primary-light:#3b82f6;--accent-color:#d4af37;--bg-color:#f0f4f8;--card-bg:#fff;--text-main:#1e293b;--text-sub:#64748b;--border-color:#e2e8f0;--shadow-soft:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--shadow-hover:0 10px 15px -3px #00000014, 0 4px 6px -2px #0000000a;--transition:all .2s ease-out;--error:#ef4444;--radius:.75rem}
diff --git a/TempLate/assets/ApplyView-dlA2Evwc.js b/TempLate/assets/ApplyView-dlA2Evwc.js
new file mode 100644
index 00000000..09d48609
--- /dev/null
+++ b/TempLate/assets/ApplyView-dlA2Evwc.js
@@ -0,0 +1 @@
+import{C as e,D as t,M as n,N as r,O as i,S as a,_ as o,c as s,d as c,f as ee,h as l,j as u,k as d,l as f,m as te,o as p,p as m,r as h,u as g}from"./index-PMfCvoYM.js";import{t as _}from"./_plugin-vue_export-helper-BDNMzG2s.js";var ne={class:`apply-page`},re={class:`container-galaxy`},ie={class:`glass-card`},ae={class:`grid-layout`},oe={class:`input-group`},se={class:`input-group`},ce={class:`input-group`},le={class:`slider-tabs`,"data-count":3},ue=[`onClick`],de=[`required`],fe={for:`agreeGender`,class:`cursor-pointer align-center`,style:{flex:`1`,cursor:`pointer`}},pe={class:`input-group`},me={class:`slider-tabs`,"data-count":3},he=[`onClick`],ge={for:`agreeNation`,class:`cursor-pointer align-center`,style:{flex:`1`,cursor:`pointer`}},_e={class:`glass-card`},ve={class:`grid-layout`},ye={class:`input-group`},be={for:`agreePolitics`,class:`cursor-pointer align-center`,style:{flex:`1`,cursor:`pointer`}},xe={class:`input-group`},Se={class:`input-group`},v={class:`input-group`},y={style:{display:`flex`,"flex-direction":`column`,gap:`6px`}},b={class:`align-center gap-2 cursor-pointer`,style:{display:`flex`,gap:`0.5rem`}},x={class:`align-center gap-2 cursor-pointer`,style:{display:`flex`,gap:`0.5rem`}},S={class:`glass-card`},C={class:`mb-4`},w={class:`contact-grid`,id:`contactTypes`},T=[`id`,`value`],E=[`for`],D={id:`contactInputsContainer`,class:`grid-layout`,style:{"grid-template-columns":`repeat(auto-fill, minmax(200px, 1fr))`}},O=[`data-type`],k={class:`label-text`},A=[`name`,`onUpdate:modelValue`,`placeholder`],j={class:`glass-card`},Ce={style:{display:`flex`,"flex-direction":`column`,gap:`1.25rem`}},we={class:`input-group`},Te={class:`agreement-box`},Ee={for:`agreeEdu`,class:`cursor-pointer align-center`,style:{flex:`1`,cursor:`pointer`}},De={class:`input-group`},Oe={class:`input-group`},ke={class:`input-group`},Ae={class:`glass-card`,style:{"border-left":`5px solid var(--accent-color)`}},je={class:`section-title`},Me={class:`svg-icon`,style:{color:`var(--accent-color)`},viewBox:`0 0 448 512`},Ne={style:{background:`#fffbeb`,padding:`1rem`,"border-radius":`0.5rem`,border:`1px solid #fcd34d`}},Pe={style:{display:`flex`,"justify-content":`space-between`,"align-items":`center`,gap:`1rem`,"flex-wrap":`wrap`}},Fe={class:`align-center cursor-pointer`,style:{"font-size":`0.9rem`,color:`#78350f`,"white-space":`nowrap`}},Ie={class:`glass-card`},Le={class:`input-group`},Re={class:`modal-header`},M={class:`modal-title`},ze=[`innerHTML`],N=_(o({__name:`ApplyView`,setup(o){let _=[{label:`男`,value:`male`},{label:`女`,value:`female`},{label:`不公开`,value:`secret`}],N=[{label:`汉族`,value:`han`},{label:`少数民族`,value:`other`},{label:`不公开`,value:`secret`}],P=i({netName:``,realName:``,gender:`male`,nation:`han`,politics:``,age:``,birthday:``,location:``,education:``,experience:``,intention:``,selfIntro:``,email:``}),F=i({genderSecret:!1,nationAuth:!1,minorParty:!1,infoSecret:!1,realLoc:!1,eduReal:!1,joinAgreement:!1});function I(e){return`calc(${e*33.333-1}% + 4px)`}let Be=g(()=>I(_.findIndex(e=>e.value===P.gender))),Ve=g(()=>I(N.findIndex(e=>e.value===P.nation)));function L(e,t){e===`gender`?P.gender=_[t].value:P.nation=N[t].value}let He=g(()=>[`han`,`other`,`secret`].includes(P.nation)),Ue=g(()=>P.nation===`han`?`nationReal`:P.nation===`other`?`nationAuth`:P.nation===`secret`?`nationSecret`:`nationAuth`),We=g(()=>P.nation===`han`?`《民族真实性声明》`:P.nation===`other`?`《少数民族真实性声明》`:P.nation===`secret`?`《民族不公开协议》`:`《民族真实性声明》`),Ge=[`群众`,`党员`,`团员`,`中共党员`,`中共团员`,`共青团员`,`无党派`,`无党派人士`],R=g(()=>!!P.politics.trim()&&!Ge.includes(P.politics.trim()));function Ke(){R.value||(F.minorParty=!1)}let z=g(()=>!!P.location.trim());function qe(){z.value||(F.infoSecret=!1,F.realLoc=!1)}let B=[{id:`wechat`,label:`微信`},{id:`qq`,label:`QQ`},{id:`phone`,label:`电话号`},{id:`kuaishou`,label:`快手`},{id:`douyin`,label:`抖音`},{id:`bilibili`,label:`B站`},{id:`email_alt`,label:`邮箱`},{id:`weibo`,label:`微博`},{id:`youtube`,label:`YouTube`},{id:`tiktok`,label:`TikTok`},{id:`google`,label:`Google`},{id:`x_twitter`,label:`X`},{id:`discord`,label:`Discord`},{id:`facebook`,label:`Facebook`},{id:`instagram`,label:`Instagram`},{id:`github`,label:`Github`},{id:`csdn`,label:`CSDN`}],V=d([]),H=i({});function Je(){B.forEach(e=>{V.value.includes(e.id)||delete H[e.id]})}function U(e){return B.find(t=>t.id===e)?.label||e}let W=d(``),G=d(!1),K={genderSecret:{title:`《性别不公开声明》`,content:`鉴于申请人在本申请表中选择"性别:不公开"(以下简称"保密选择"),银河锋锐软件开发工作室(以下简称"工作室")与申请人就性别信息保密事宜达成如下声明:
一、工作室承诺:
1. 严格保护申请人的性别隐私权,仅在法律法规强制性要求(如社保、税务登记等)的必要场景下留存真实性别信息,且该信息仅限指定行政人员查阅,严禁外泄。
2. 在招聘评估、团队协作、对外公示等所有非必要场景中,均不披露、不询问申请人的性别信息,完全遵循性别中立原则。
二、申请人确认:
1. 知悉保密选择仅适用于非法定场景,理解并配合工作室在法定必要环节提供真实性别信息的要求。
2. 不因性别信息保密要求向工作室提出超出合理范围的特殊待遇诉求。
`},nationAuth:{title:`《少数民族真实性声明》`,content:`本人(申请人)郑重作出如下声明:
1. 本人在本申请表中填报的民族信息为【少数民族】,该信息完全基于本人的户籍登记及真实民族归属,无任何虚构、篡改行为。
2. 本人知晓工作室尊重各民族文化习俗,承诺在合作/工作期间遵守国家民族政策,维护民族团结,不利用少数民族身份谋取不正当利益。
3. 若本人填报的民族信息存在虚假,自愿接受以下后果:
(1)工作室有权立即撤销录用/合作资格;
(2)若已建立合作关系,工作室可无条件解除协议,且本人需承担因此给工作室造成的全部损失。
`},nationReal:{title:`《民族真实性声明》`,content:`本人(申请人)郑重作出如下声明:
1. 本人在本申请表中填报的民族信息为【汉族】,该信息完全基于本人的户籍登记及真实民族归属,无任何虚构、篡改行为。
2. 本人知晓工作室尊重各民族文化习俗,承诺在合作/工作期间遵守国家民族政策,维护民族团结。
3. 若本人填报的民族信息存在虚假,自愿接受以下后果:
(1)工作室有权立即撤销录用/合作资格;
(2)若已建立合作关系,工作室可无条件解除协议,且本人需承担因此给工作室造成的全部损失。
`},nationSecret:{title:`《民族不公开协议》`,content:`鉴于申请人在本申请表中选择"民族:不公开"(以下简称"保密选择"),银河锋锐软件开发工作室(以下简称"工作室")与申请人就民族信息保密事宜达成如下协议:
一、工作室承诺:
1. 严格保护申请人的民族隐私权,仅在法律法规强制性要求的必要场景下留存真实民族信息,且该信息仅限指定行政人员查阅,严禁外泄。
2. 在招聘评估、团队协作、对外公示等所有非必要场景中,均不披露、不询问申请人的民族信息,完全遵循民族中立原则。
二、申请人确认:
1. 知悉保密选择仅适用于非法定场景,理解并配合工作室在法定必要环节提供真实民族信息的要求。
2. 不因民族信息保密要求向工作室提出超出合理范围的特殊待遇诉求。
`},minorParty:{title:`《少数党派声明》`,content:`本人(申请人)就政治面貌相关事宜声明如下:
1. 本人填报的政治面貌为【非主流党派】(非群众、中共党员、共青团员、无党派人士),该信息真实有效。
2. 本人承诺所归属的党派/团体均为合法登记的组织,本人的政治信仰及活动均遵守中华人民共和国宪法及相关法律法规。
3. 工作室确认:
(1)尊重申请人的政治信仰自由,不因申请人的政治面貌差异实施任何形式的歧视;
(2)在招聘评估、岗位安排、福利待遇等方面,对申请人与其他政治面貌的应聘者/员工一视同仁。
`},infoSecret:{title:`《工作室成员信息不公开协议》`,content:`甲方:银河锋锐软件开发工作室 乙方:申请人
为保障乙方个人信息安全,甲乙双方就居住地信息保密事宜达成如下协议:
一、信息使用范围:
1. 甲方收集乙方的居住地信息,仅用于建立员工/合作成员基础档案及紧急联络。
二、甲方保密义务:
1. 严禁将乙方居住地信息出售、出租、转让给任何第三方。
2. 严禁在公开渠道披露乙方居住地信息。
3. 若因甲方原因导致信息泄露,甲方需承担相应赔偿责任。
`},realLoc:{title:`《居住地真实声明》`,content:`本人(申请人)郑重声明:
1. 本人在本申请表中填报的居住地信息(省/市/区/街道等)真实、准确、完整。
2. 本人知晓该信息用于物料发放、会议协调等。
3. 若本人填报的居住地信息虚假,自愿承担后果:
(1)因地址错误导致的物料无法送达等损失,由本人自行承担;
(2)工作室有权撤销录用资格。
`},eduReal:{title:`《学历真实声明》`,content:`本人(申请人)就教育背景信息的真实性作出如下不可撤销的声明:
1. 本人在"教育背景"栏填报的所有信息均为真实、完整。
2. 本人同意工作室通过学信网等方式进行核验。
3. 若经核实发现本人信息存在虚假,本人自愿接受:
(1)无论是否已录用,工作室均有权立即终止流程;
(2)若已入职,工作室可无条件解除劳动合同且无需支付补偿;
(3)本人赔偿工作室因虚假信息导致的全部损失。
您可以留空来声明不公开学历。
`}};function q(e){K[e]&&(W.value=e,requestAnimationFrame(()=>{G.value=!0}))}function J(){G.value=!1,setTimeout(()=>{W.value=``},200)}let Y=d(`提示信息`),X=d(!1),Z=null;function Q(e){Y.value=e,X.value=!0,Z&&clearTimeout(Z),Z=setTimeout(()=>{X.value=!1},3e3)}let $=d(!1);function Ye(){if(!V.value.includes(`wechat`)&&!V.value.includes(`qq`)){$.value=!0,Q(`请至少选择微信或QQ`);return}if($.value=!1,!F.joinAgreement){Q(`请先签署《工作室成员入职协议》`);return}let e={};V.value.forEach(t=>{let n=(H[t]||``).trim();n&&(e[t]={label:U(t),value:n})});let t={...P,contacts:e,agreements:{...F}};console.log(`提交的 JSON 数据:`,t),console.log(`JSON 字符串:`,JSON.stringify(t,null,2)),Q(`申请提交成功!数据已生成 JSON。`)}return(i,o)=>(a(),m(f,null,[c(`div`,ne,[c(`div`,re,[o[57]||=te(``,1),c(`form`,{id:`appForm`,onSubmit:s(Ye,[`prevent`])},[c(`section`,ie,[o[34]||=c(`div`,{class:`section-title`},[c(`svg`,{class:`svg-icon`,viewBox:`0 0 448 512`},[c(`path`,{d:`M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3z`})]),l(` 基础档案 `)],-1),c(`div`,ae,[c(`div`,oe,[o[28]||=c(`label`,{class:`label-text`},[l(`网名 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`input`,{type:`text`,id:`netName`,"onUpdate:modelValue":o[0]||=e=>P.netName=e,class:`custom-input`,placeholder:`您的常用网名`,required:``},null,512),[[p,P.netName]])]),c(`div`,se,[o[29]||=c(`label`,{class:`label-text`},`真实姓名 (可选)`,-1),t(c(`input`,{type:`text`,id:`realName`,"onUpdate:modelValue":o[1]||=e=>P.realName=e,class:`custom-input`,placeholder:`选填`},null,512),[[p,P.realName]])]),c(`div`,ce,[o[31]||=c(`label`,{class:`label-text`},[l(`性别 `),c(`span`,{class:`required-mark`},`*`)],-1),c(`div`,le,[c(`div`,{class:`slider-bg`,style:n({left:Be.value})},null,4),(a(),m(f,null,e(_,(e,t)=>c(`div`,{key:e.value,class:u([`slider-option`,{active:P.gender===e.value}]),onClick:e=>L(`gender`,t)},r(e.label),11,ue)),64))]),t(c(`input`,{type:`hidden`,"onUpdate:modelValue":o[2]||=e=>P.gender=e},null,512),[[p,P.gender]]),c(`div`,{id:`genderAgreement`,class:u([`agreement-box`,{"hidden-state":P.gender!==`secret`}])},[t(c(`input`,{type:`checkbox`,id:`agreeGender`,class:`custom-checkbox`,"onUpdate:modelValue":o[3]||=e=>F.genderSecret=e,required:P.gender===`secret`},null,8,de),[[h,F.genderSecret]]),c(`label`,fe,[o[30]||=l(` 我已阅读并同意 `,-1),c(`a`,{class:`agreement-link`,onClick:o[4]||=s(e=>q(`genderSecret`),[`prevent`])},`《性别不公开声明》`)])],2)]),c(`div`,pe,[o[33]||=c(`label`,{class:`label-text`},[l(`民族 `),c(`span`,{class:`required-mark`},`*`)],-1),c(`div`,me,[c(`div`,{class:`slider-bg`,style:n({left:Ve.value})},null,4),(a(),m(f,null,e(N,(e,t)=>c(`div`,{key:e.value,class:u([`slider-option`,{active:P.nation===e.value}]),onClick:e=>L(`nation`,t)},r(e.label),11,he)),64))]),t(c(`input`,{type:`hidden`,"onUpdate:modelValue":o[5]||=e=>P.nation=e},null,512),[[p,P.nation]]),c(`div`,{id:`nationAgreement`,class:u([`agreement-box`,{"hidden-state":!He.value}])},[t(c(`input`,{type:`checkbox`,id:`agreeNation`,class:`custom-checkbox`,"onUpdate:modelValue":o[6]||=e=>F.nationAuth=e,required:``},null,512),[[h,F.nationAuth]]),c(`label`,ge,[o[32]||=l(` 我已阅读并同意 `,-1),c(`a`,{class:`agreement-link`,onClick:o[7]||=s(e=>q(Ue.value),[`prevent`])},r(We.value),1)])],2)])])]),c(`section`,_e,[o[40]||=c(`div`,{class:`section-title`},[c(`svg`,{class:`svg-icon`,viewBox:`0 0 512 512`},[c(`path`,{d:`M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z`})]),l(` 政治面貌与联络 `)],-1),c(`div`,ve,[c(`div`,ye,[o[36]||=c(`label`,{class:`label-text`},[l(`政治面貌 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`input`,{type:`text`,id:`politics`,"onUpdate:modelValue":o[8]||=e=>P.politics=e,class:`custom-input`,placeholder:`如:群众、党员...`,onInput:Ke},null,544),[[p,P.politics]]),c(`div`,{id:`politicsAgreement`,class:u([`agreement-box`,{"hidden-state":!R.value}])},[t(c(`input`,{type:`checkbox`,id:`agreePolitics`,class:`custom-checkbox`,"onUpdate:modelValue":o[9]||=e=>F.minorParty=e,required:``},null,512),[[h,F.minorParty]]),c(`label`,be,[o[35]||=l(` 我确认并签署 `,-1),c(`a`,{class:`agreement-link`,onClick:o[10]||=s(e=>q(`minorParty`),[`prevent`])},`《少数党派声明》`)])],2)]),c(`div`,xe,[o[37]||=c(`label`,{class:`label-text`},`年龄 (可选)`,-1),t(c(`input`,{type:`number`,id:`age`,"onUpdate:modelValue":o[11]||=e=>P.age=e,class:`custom-input`,placeholder:`例如:18`,min:`10`,max:`99`},null,512),[[p,P.age]])]),c(`div`,Se,[o[38]||=c(`label`,{class:`label-text`},`生日 (可选)`,-1),t(c(`input`,{type:`date`,id:`birthday`,"onUpdate:modelValue":o[12]||=e=>P.birthday=e,class:`custom-input`},null,512),[[p,P.birthday]])]),c(`div`,v,[o[39]||=c(`label`,{class:`label-text`},`居住地 (可选)`,-1),t(c(`input`,{type:`text`,id:`location`,"onUpdate:modelValue":o[13]||=e=>P.location=e,class:`custom-input`,placeholder:`省/市/区`,onInput:qe},null,544),[[p,P.location]]),c(`div`,{id:`locationAgreement`,class:u([`agreement-box`,{"hidden-state":!z.value}])},[c(`div`,y,[c(`label`,b,[t(c(`input`,{type:`checkbox`,id:`agreeLocInfo`,class:`custom-checkbox`,"onUpdate:modelValue":o[14]||=e=>F.infoSecret=e,required:``},null,512),[[h,F.infoSecret]]),c(`span`,null,[c(`a`,{class:`agreement-link`,onClick:o[15]||=s(e=>q(`infoSecret`),[`prevent`])},`《工作室成员信息不公开协议》`)])]),c(`label`,x,[t(c(`input`,{type:`checkbox`,id:`agreeLocReal`,class:`custom-checkbox`,"onUpdate:modelValue":o[16]||=e=>F.realLoc=e,required:``},null,512),[[h,F.realLoc]]),c(`span`,null,[c(`a`,{class:`agreement-link`,onClick:o[17]||=s(e=>q(`realLoc`),[`prevent`])},`《居住地真实声明》`)])])])],2)])])]),c(`section`,S,[o[42]||=c(`div`,{class:`section-title`},[c(`svg`,{class:`svg-icon`,viewBox:`0 0 640 512`},[c(`path`,{d:`M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-127.5-56.5-184.8-19.9L226.5 84.5C185.3 53.3 132.1 53.3 91 84.5L42.6 132.9C13.4 162.1 3.4 207.6 22.4 247.5c13.1 27.3 39.4 45.8 69.7 48.2l10.7 1c9.3 .8 18.2 4 25.9 9.1l47.4 31.6c-4.7-12.9-7.2-26.8-7.2-41.2c0-53 43-96 96-96s96 43 96 96c0 14.4-2.5 28.3-7.2 41.2l47.4-31.6c7.7-5.1 16.6-8.3 25.9-9.1l10.7-1c30.3-2.4 56.6-20.9 69.7-48.2c19-39.9 9-85.4-20.2-114.6l-48.4-48.4c-41.1-41.1-94.3-41.1-135.5 0L251 160.8c-25.6 25.6-29 65.3-10.3 94.8c5.9 9.2 16.1 14.8 27.1 14.8h4.4c14.5 0 27.6-8.5 33.5-21.7c4.7-10.6 14.8-17.4 26.3-17.4s21.6 6.8 26.3 17.4c5.9 13.2 19 21.7 33.5 21.7h4.4c11 0 21.2-5.6 27.1-14.8c18.7-29.5 15.3-69.2-10.3-94.8z`})]),l(` 联系方式矩阵 `)],-1),c(`div`,C,[o[41]||=c(`p`,{style:{"font-size":`0.85rem`,color:`var(--text-sub)`,"margin-bottom":`0.5rem`}},`请选择您常用的联系方式 (微信、QQ二选一或全选,其余可选):`,-1),c(`div`,w,[(a(),m(f,null,e(B,e=>c(`div`,{key:e.id},[t(c(`input`,{type:`checkbox`,id:`chk_${e.id}`,value:e.id,class:`contact-checkbox`,"onUpdate:modelValue":o[18]||=e=>V.value=e,onChange:Je},null,40,T),[[h,V.value]]),c(`label`,{for:`chk_${e.id}`,class:`contact-label`},r(e.label),9,E)])),64))]),c(`div`,{id:`contactError`,class:`error-msg`,style:n({display:$.value?`block`:`none`})},`请至少选择微信或QQ中的一种联系方式!`,4)]),c(`div`,D,[(a(!0),m(f,null,e(V.value,e=>(a(),m(`div`,{key:e,class:`input-group contact-input-item`,"data-type":e},[c(`label`,k,r(U(e))+`账号/ID`,1),t(c(`input`,{type:`text`,name:`contact_${e}`,"onUpdate:modelValue":t=>H[e]=t,class:`custom-input`,placeholder:`请输入${U(e)}`},null,8,A),[[p,H[e]]])],8,O))),128))])]),c(`section`,j,[o[48]||=c(`div`,{class:`section-title`},[c(`svg`,{class:`svg-icon`,viewBox:`0 0 576 512`},[c(`path`,{d:`M384 480h48c11.4 0 21.9-6.1 27.6-16.1l56-96c6.4-11 4.8-25-3.9-34.3s-22.2-12.1-33.5-6.6L416 368.2V128c0-17.7-14.3-32-32-32s-32 14.3-32 32v178.7l-27.5-20.6c-10.3-7.7-24.6-6.5-33.5 2.8s-10.3 23.2-3.9 34.3l56 96c5.7 10 16.2 16.1 27.6 16.1H384zM192 480h48c11.4 0 21.9-6.1 27.6-16.1l56-96c6.4-11 4.8-25-3.9-34.3s-22.2-12.1-33.5-6.6L224 368.2V128c0-17.7-14.3-32-32-32s-32 14.3-32 32v178.7l-27.5-20.6c-10.3-7.7-24.6-6.5-33.5 2.8s-10.3 23.2-3.9 34.3l56 96c5.7 10 16.2 16.1 27.6 16.1z`})]),l(` 履历与愿景 `)],-1),c(`div`,Ce,[c(`div`,we,[o[44]||=c(`label`,{class:`label-text`},[l(`教育背景 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`textarea`,{id:`education`,"onUpdate:modelValue":o[19]||=e=>P.education=e,rows:`3`,class:`custom-input`,placeholder:`请详细描述您的学历、毕业院校及专业,若您年龄过小可选择如实填写或不公开,留空表明您不公开...`},null,512),[[p,P.education]]),c(`div`,Te,[t(c(`input`,{type:`checkbox`,id:`agreeEdu`,class:`custom-checkbox`,"onUpdate:modelValue":o[20]||=e=>F.eduReal=e,required:``},null,512),[[h,F.eduReal]]),c(`label`,Ee,[o[43]||=l(` 我保证以上信息真实有效,即 `,-1),c(`a`,{class:`agreement-link`,onClick:o[21]||=s(e=>q(`eduReal`),[`prevent`])},`签署《学历真实声明》`)])])]),c(`div`,De,[o[45]||=c(`label`,{class:`label-text`},`求职/工作经历 (选填)`,-1),t(c(`textarea`,{id:`experience`,"onUpdate:modelValue":o[22]||=e=>P.experience=e,rows:`3`,class:`custom-input`,placeholder:`请简述您过往的工作或项目经验...`},null,512),[[p,P.experience]])]),c(`div`,Oe,[o[46]||=c(`label`,{class:`label-text`},[l(`求职意向 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`textarea`,{id:`intention`,"onUpdate:modelValue":o[23]||=e=>P.intention=e,rows:`3`,class:`custom-input`,placeholder:`您为什么想来本工作室?期望的职位是什么?`,required:``},null,512),[[p,P.intention]])]),c(`div`,ke,[o[47]||=c(`label`,{class:`label-text`},[l(`个人自述 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`textarea`,{id:`selfIntro`,"onUpdate:modelValue":o[24]||=e=>P.selfIntro=e,rows:`4`,class:`custom-input`,placeholder:`请自由发挥:优缺点、自我介绍、心理素质展示等...`,required:``},null,512),[[p,P.selfIntro]])])])]),c(`section`,Ae,[c(`div`,je,[(a(),m(`svg`,Me,[...o[49]||=[c(`path`,{d:`M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V173.3c0-17-6.7-33.3-18.7-45.3L352 50.7C340 38.7 323.7 32 306.7 32H64zm0 96c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V128zM224 288a64 64 0 1 1 0 128 64 64 0 1 1 0-128z`},null,-1)]])),o[50]||=l(` 入职必读协议 `,-1)]),c(`div`,Ne,[o[53]||=c(`p`,{style:{margin:`0 0 0.5rem 0`,"font-weight":`600`,color:`#92400e`}},`请务必在提交前签署《工作室成员入职协议》`,-1),c(`div`,Pe,[o[52]||=c(`a`,{href:`https://doc.gvsds.com/D9F9194A243D3A499108A7CA082373A7`,target:`_blank`,class:`agreement-btn`},` 点击阅读并签署 → `,-1),c(`label`,Fe,[t(c(`input`,{type:`checkbox`,id:`agreeJoin`,class:`custom-checkbox`,"onUpdate:modelValue":o[25]||=e=>F.joinAgreement=e,required:``},null,512),[[h,F.joinAgreement]]),o[51]||=c(`span`,{style:{"margin-left":`0.5rem`}},`我已阅读并签署`,-1)])])])]),c(`section`,Ie,[o[55]||=c(`div`,{class:`section-title`},[c(`svg`,{class:`svg-icon`,viewBox:`0 0 512 512`},[c(`path`,{d:`M448 256c0-106-86-192-192-192S64 150 64 256c0 84.6 54.5 156.3 130.6 181.7c-2.6-8.4-4-17.3-4-26.5c0-41.2 22.1-79.2 57.9-99.3c-5.8-4.7-9.5-11.9-9.5-19.9c0-14.1 11.4-25.5 25.5-25.5s25.5 11.4 25.5 25.5c0 8-3.7 15.2-9.5 19.9c35.8 20.2 57.9 58.1 57.9 99.3c0 9.2-1.4 18.2-4 26.5C353.5 412.3 408 340.6 408 256z`})]),l(` 最终确认 `)],-1),c(`div`,Le,[o[54]||=c(`label`,{class:`label-text`},[l(`联系邮箱 `),c(`span`,{class:`required-mark`},`*`)],-1),t(c(`input`,{type:`email`,id:`email`,"onUpdate:modelValue":o[26]||=e=>P.email=e,class:`custom-input`,placeholder:`我们将发送Offer至此邮箱`,required:``},null,512),[[p,P.email]])]),o[56]||=c(`div`,{style:{display:`flex`,"align-items":`flex-end`}},[c(`button`,{type:`submit`,class:`submit-btn`},` 提交申请 `)],-1)])],32),o[58]||=c(`footer`,{style:{"text-align":`center`,color:`#94a3b8`,"font-size":`0.8rem`,"padding-top":`2rem`}},` © 2023 银河锋锐软件开发工作室. All Rights Reserved. `,-1)])]),c(`div`,{id:`toast`,class:u([`toast`,{show:X.value}])},r(Y.value),3),W.value?(a(),m(`div`,{key:0,class:u([`modal-overlay`,{open:G.value}]),onClick:s(J,[`self`])},[c(`div`,{class:`modal-content`,onClick:o[27]||=s(()=>{},[`stop`])},[c(`div`,Re,[c(`span`,M,r(K[W.value]?.title||``),1),c(`button`,{class:`close-btn`,onClick:J},`×`)]),c(`div`,{class:`modal-body`,style:{"font-size":`0.9rem`,color:`#475569`},innerHTML:K[W.value]?.content||``},null,8,ze),c(`div`,{style:{"text-align":`right`,"margin-top":`1.5rem`}},[c(`button`,{onClick:J,style:{background:`var(--primary-color)`,color:`white`,border:`none`,padding:`0.5rem 1.5rem`,"border-radius":`0.5rem`,cursor:`pointer`}},`我已阅读并关闭`)])])],2)):ee(``,!0)],64))}}),[[`__scopeId`,`data-v-bda07ef6`]]);export{N as default};
\ No newline at end of file
diff --git a/TempLate/assets/BSmoothView-BYJsaEwG.js b/TempLate/assets/BSmoothView-BYJsaEwG.js
new file mode 100644
index 00000000..2714ca6e
--- /dev/null
+++ b/TempLate/assets/BSmoothView-BYJsaEwG.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,l as a,m as o,p as s}from"./index-PMfCvoYM.js";import{t as c}from"./_plugin-vue_export-helper-BDNMzG2s.js";var l={class:`bsmooth-root`},u={id:`gallery`,class:`section`},d={class:`container`},f={class:`gallery-grid`},p=[`src`,`alt`],m={class:`gallery-overlay`},h={class:`gallery-title`},g=c(r({__name:`BSmoothView`,setup(r){let c=[{src:`/Members/B-Smooth/assets/img/1.jpg`,alt:`Artwork 1`,title:`-`},{src:`/Members/B-Smooth/assets/img/2.jpg`,alt:`Artwork 2`,title:`-`},{src:`/Members/B-Smooth/assets/img/3.jpg`,alt:`Artwork 3`,title:`-`},{src:`/Members/B-Smooth/assets/img/4.jpg`,alt:`Artwork 4`,title:`-`},{src:`/Members/B-Smooth/assets/img/5.jpg`,alt:`Artwork 5`,title:`-`},{src:`/Members/B-Smooth/assets/img/6.jpg`,alt:`Artwork 6`,title:`-`}];return(r,g)=>(n(),s(`div`,l,[g[1]||=o(`捕捉线条的韵律 重塑光影的灵魂 您好,我是 B-Smooth。一位专注于透视与色彩情绪的画师
浏览作品 关于画师 B-Smooth 你好!我是 B-Smooth,一名画师。我虽然还是一名学生,但从小练习绘画,普通的绘画对我来说易如反掌。
我相信,优秀的画作不仅要有好看的人设,更需要经得起推敲的结构。我致力于在二次元的风格中融入严谨的透视逻辑,同时用富有感染力的色彩传达角色的情绪。
#FurryArtist #透视这一块 #色彩构成 #概念设计
核心特长 🎨
色彩控制 对光影与色彩的敏感度极高。擅长运用冷暖对比、环境光遮蔽渲染氛围。
✏️
Furry 擅长 准确描绘毛发质感,了解生物解刨结构。
吉祥物企划 银霜 · 风獠
Silver Frost · Wind Fiend
种族: 狼 属性: 冰 / 风 身份: 工作室吉祥物
银霜是工作室精神的具象化体现。它代表着B-Smooth对画面"凌厉线条"与"清透质感"的追求。是对画师结构理解力的极致考验。
`,4),i(`section`,u,[i(`div`,d,[g[0]||=i(`h2`,{class:`section-title`},`精选作品`,-1),i(`div`,f,[(n(),s(a,null,e(c,(e,n)=>i(`div`,{key:n,class:`gallery-item`},[i(`img`,{src:e.src,alt:e.alt},null,8,p),i(`div`,m,[i(`div`,h,t(e.title),1)])])),64))])])])]))}}),[[`__scopeId`,`data-v-f584f87f`]]);export{g as default};
\ No newline at end of file
diff --git a/TempLate/assets/BSmoothView-D8Nv_ZVa.css b/TempLate/assets/BSmoothView-D8Nv_ZVa.css
new file mode 100644
index 00000000..f95e93db
--- /dev/null
+++ b/TempLate/assets/BSmoothView-D8Nv_ZVa.css
@@ -0,0 +1 @@
+.bsmooth-root[data-v-f584f87f]{--bg-color:#121212;--surface-color:#1e1e1e;--surface-hover:#2a2a2a;--primary-color:#00e5ff;--accent-color:#ff4081;--text-main:#fff;--text-secondary:#b0b0b0;--spacing-unit:1rem;--border-radius:12px;--transition:all .3s ease;background-color:var(--bg-color);color:var(--text-main);font-family:Helvetica Neue,Helvetica,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.6;overflow-x:hidden}.bsmooth-root[data-v-f584f87f]:before,.bsmooth-root[data-v-f584f87f]:after{background:0 0;content:""!important;background-color:var(--bg-color)!important;color:var(--text-main)!important;will-change:none!important;animation:none!important}.bsmooth-root a[data-v-f584f87f]{color:inherit;transition:var(--transition);text-decoration:none}.bsmooth-root ul[data-v-f584f87f]{list-style:none}.bsmooth-root img[data-v-f584f87f]{object-fit:cover;max-width:100%;display:block}.container[data-v-f584f87f]{max-width:1200px;margin:0 auto;padding:0 20px}.section[data-v-f584f87f]{padding:80px 0}.section-title[data-v-f584f87f]{text-align:center;letter-spacing:2px;margin-bottom:3rem;font-size:2.5rem;font-weight:700;position:relative}.section-title[data-v-f584f87f]:after{content:"";background:linear-gradient(90deg, var(--primary-color), transparent);border-radius:2px;width:60px;height:4px;margin:15px auto 0;display:block}.hero[data-v-f584f87f]{text-align:center;background:radial-gradient(circle,#2a2a2a 0%,#121212 70%);justify-content:center;align-items:center;min-height:100vh;padding-top:70px;display:flex;position:relative}.hero-content h1[data-v-f584f87f]{background:linear-gradient(45deg, #fff, var(--primary-color));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:1rem;font-size:4rem}.hero-content p[data-v-f584f87f]{color:var(--text-secondary);max-width:600px;margin:0 auto 2rem;font-size:1.25rem}.cta-button[data-v-f584f87f]{background-color:var(--primary-color);color:#000;text-transform:uppercase;letter-spacing:1px;border-radius:30px;padding:12px 30px;font-weight:700;display:inline-block;box-shadow:0 0 15px #00e5ff66}.cta-button[data-v-f584f87f]:hover{background-color:#fff;transform:translateY(-2px);box-shadow:0 0 25px #00e5ff99}.about-grid[data-v-f584f87f]{grid-template-columns:1fr 1.5fr;align-items:center;gap:50px;display:grid}.avatar-frame[data-v-f584f87f]{border-radius:var(--border-radius);position:relative;overflow:hidden;box-shadow:0 10px 30px #00000080}.avatar-frame[data-v-f584f87f]:before{content:"";border:2px solid var(--primary-color);border-radius:var(--border-radius);z-index:2;pointer-events:none;position:absolute;inset:0}.about-text h3[data-v-f584f87f]{color:var(--primary-color);margin-bottom:1rem;font-size:2rem}.about-text p[data-v-f584f87f]{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1.1rem}.tags[data-v-f584f87f]{flex-wrap:wrap;gap:10px;display:flex}.tag[data-v-f584f87f]{background:var(--surface-color);color:var(--text-secondary);border:1px solid #333;border-radius:20px;padding:5px 15px;font-size:.9rem}.skills-section[data-v-f584f87f]{background-color:var(--surface-color)}.skills-grid[data-v-f584f87f]{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;display:grid}.skill-card[data-v-f584f87f]{background:var(--bg-color);border-radius:var(--border-radius);text-align:center;transition:var(--transition);border:1px solid #ffffff0d;padding:40px}.skill-card[data-v-f584f87f]:hover{border-color:var(--primary-color);transform:translateY(-5px)}.skill-icon[data-v-f584f87f]{color:var(--primary-color);margin-bottom:20px;font-size:3rem}.skill-card h4[data-v-f584f87f]{margin-bottom:10px;font-size:1.5rem}.skill-card p[data-v-f584f87f]{color:var(--text-secondary)}.mascot-section[data-v-f584f87f]{position:relative;overflow:hidden}.mascot-layout[data-v-f584f87f]{background:linear-gradient(135deg,#1e1e2e 0%,#000 100%);border:1px solid #ffffff1a;border-radius:20px;display:flex;overflow:hidden;box-shadow:0 20px 50px #00000080}.mascot-image[data-v-f584f87f]{flex:1;min-height:400px;position:relative}.mascot-image img[data-v-f584f87f]{object-fit:cover;width:100%;height:100%}.mascot-info[data-v-f584f87f]{flex-direction:column;flex:1;justify-content:center;padding:60px;display:flex}.mascot-name-cn[data-v-f584f87f]{background:linear-gradient(90deg,#fff,#b0bec5);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:5px;font-size:3rem;font-weight:700}.mascot-name-en[data-v-f584f87f]{color:var(--primary-color);text-transform:uppercase;letter-spacing:3px;margin-bottom:30px;font-family:Courier New,monospace;font-size:1.2rem}.mascot-stats[data-v-f584f87f]{color:var(--text-secondary);grid-template-columns:auto 1fr;gap:15px 30px;margin-bottom:30px;display:grid}.stat-label[data-v-f584f87f]{color:#fff;font-weight:700}.mascot-desc[data-v-f584f87f]{color:#ddd;border-left:3px solid var(--primary-color);padding-left:20px}.gallery-grid[data-v-f584f87f]{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.gallery-item[data-v-f584f87f]{aspect-ratio:3/4;cursor:pointer;border-radius:8px;position:relative;overflow:hidden}.gallery-item img[data-v-f584f87f]{width:100%;height:100%;transition:transform .5s}.gallery-overlay[data-v-f584f87f]{background:linear-gradient(#0000,#000000e6);width:100%;padding:20px;transition:transform .3s;position:absolute;bottom:0;left:0;transform:translateY(100%)}.gallery-item:hover img[data-v-f584f87f]{transform:scale(1.1)}.gallery-item:hover .gallery-overlay[data-v-f584f87f]{transform:translateY(0)}.gallery-title[data-v-f584f87f]{color:#fff;font-size:1.1rem;font-weight:700}@media (width<=768px){.hero-content h1[data-v-f584f87f]{font-size:2.5rem}.about-grid[data-v-f584f87f]{grid-template-columns:1fr}.mascot-layout[data-v-f584f87f]{flex-direction:column}.mascot-image[data-v-f584f87f]{min-height:300px}.mascot-info[data-v-f584f87f]{padding:30px}.mascot-name-cn[data-v-f584f87f]{font-size:2rem}}
diff --git a/TempLate/assets/BSmoothView-Daef_Qj5.js b/TempLate/assets/BSmoothView-Daef_Qj5.js
new file mode 100644
index 00000000..ccfb523c
--- /dev/null
+++ b/TempLate/assets/BSmoothView-Daef_Qj5.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,l as a,m as o,p as s}from"./index-BM-LFFI_.js";import{t as c}from"./_plugin-vue_export-helper-BDNMzG2s.js";var l={class:`bsmooth-root`},u={id:`gallery`,class:`section`},d={class:`container`},f={class:`gallery-grid`},p=[`src`,`alt`],m={class:`gallery-overlay`},h={class:`gallery-title`},g=c(r({__name:`BSmoothView`,setup(r){let c=[{src:`/Members/B-Smooth/assets/img/1.jpg`,alt:`Artwork 1`,title:`-`},{src:`/Members/B-Smooth/assets/img/2.jpg`,alt:`Artwork 2`,title:`-`},{src:`/Members/B-Smooth/assets/img/3.jpg`,alt:`Artwork 3`,title:`-`},{src:`/Members/B-Smooth/assets/img/4.jpg`,alt:`Artwork 4`,title:`-`},{src:`/Members/B-Smooth/assets/img/5.jpg`,alt:`Artwork 5`,title:`-`},{src:`/Members/B-Smooth/assets/img/6.jpg`,alt:`Artwork 6`,title:`-`}];return(r,g)=>(n(),s(`div`,l,[g[1]||=o(`捕捉线条的韵律 重塑光影的灵魂 您好,我是 B-Smooth。一位专注于透视与色彩情绪的画师
浏览作品 关于画师 B-Smooth 你好!我是 B-Smooth,一名画师。我虽然还是一名学生,但从小练习绘画,普通的绘画对我来说易如反掌。
我相信,优秀的画作不仅要有好看的人设,更需要经得起推敲的结构。我致力于在二次元的风格中融入严谨的透视逻辑,同时用富有感染力的色彩传达角色的情绪。
#FurryArtist #透视这一块 #色彩构成 #概念设计
核心特长 🎨
色彩控制 对光影与色彩的敏感度极高。擅长运用冷暖对比、环境光遮蔽渲染氛围。
✏️
Furry 擅长 准确描绘毛发质感,了解生物解刨结构。
吉祥物企划 银霜 · 风獠
Silver Frost · Wind Fiend
种族: 狼 属性: 冰 / 风 身份: 工作室吉祥物
银霜是工作室精神的具象化体现。它代表着B-Smooth对画面"凌厉线条"与"清透质感"的追求。是对画师结构理解力的极致考验。
`,4),i(`section`,u,[i(`div`,d,[g[0]||=i(`h2`,{class:`section-title`},`精选作品`,-1),i(`div`,f,[(n(),s(a,null,e(c,(e,n)=>i(`div`,{key:n,class:`gallery-item`},[i(`img`,{src:e.src,alt:e.alt},null,8,p),i(`div`,m,[i(`div`,h,t(e.title),1)])])),64))])])])]))}}),[[`__scopeId`,`data-v-f584f87f`]]);export{g as default};
\ No newline at end of file
diff --git a/TempLate/assets/BSmoothView-Dgj8ogqP.js b/TempLate/assets/BSmoothView-Dgj8ogqP.js
new file mode 100644
index 00000000..276b1548
--- /dev/null
+++ b/TempLate/assets/BSmoothView-Dgj8ogqP.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,l as a,m as o,p as s}from"./index-CMhybB9x.js";import{t as c}from"./_plugin-vue_export-helper-BDNMzG2s.js";var l={class:`bsmooth-root`},u={id:`gallery`,class:`section`},d={class:`container`},f={class:`gallery-grid`},p=[`src`,`alt`],m={class:`gallery-overlay`},h={class:`gallery-title`},g=c(r({__name:`BSmoothView`,setup(r){let c=[{src:`/Members/B-Smooth/assets/img/1.jpg`,alt:`Artwork 1`,title:`-`},{src:`/Members/B-Smooth/assets/img/2.jpg`,alt:`Artwork 2`,title:`-`},{src:`/Members/B-Smooth/assets/img/3.jpg`,alt:`Artwork 3`,title:`-`},{src:`/Members/B-Smooth/assets/img/4.jpg`,alt:`Artwork 4`,title:`-`},{src:`/Members/B-Smooth/assets/img/5.jpg`,alt:`Artwork 5`,title:`-`},{src:`/Members/B-Smooth/assets/img/6.jpg`,alt:`Artwork 6`,title:`-`}];return(r,g)=>(n(),s(`div`,l,[g[1]||=o(`捕捉线条的韵律 重塑光影的灵魂 您好,我是 B-Smooth。一位专注于透视与色彩情绪的画师
浏览作品 关于画师 B-Smooth 你好!我是 B-Smooth,一名画师。我虽然还是一名学生,但从小练习绘画,普通的绘画对我来说易如反掌。
我相信,优秀的画作不仅要有好看的人设,更需要经得起推敲的结构。我致力于在二次元的风格中融入严谨的透视逻辑,同时用富有感染力的色彩传达角色的情绪。
#FurryArtist #透视这一块 #色彩构成 #概念设计
核心特长 🎨
色彩控制 对光影与色彩的敏感度极高。擅长运用冷暖对比、环境光遮蔽渲染氛围。
✏️
Furry 擅长 准确描绘毛发质感,了解生物解刨结构。
吉祥物企划 银霜 · 风獠
Silver Frost · Wind Fiend
种族: 狼 属性: 冰 / 风 身份: 工作室吉祥物
银霜是工作室精神的具象化体现。它代表着B-Smooth对画面"凌厉线条"与"清透质感"的追求。是对画师结构理解力的极致考验。
`,4),i(`section`,u,[i(`div`,d,[g[0]||=i(`h2`,{class:`section-title`},`精选作品`,-1),i(`div`,f,[(n(),s(a,null,e(c,(e,n)=>i(`div`,{key:n,class:`gallery-item`},[i(`img`,{src:e.src,alt:e.alt},null,8,p),i(`div`,m,[i(`div`,h,t(e.title),1)])])),64))])])])]))}}),[[`__scopeId`,`data-v-f584f87f`]]);export{g as default};
\ No newline at end of file
diff --git a/TempLate/assets/BSmoothView-KD7VU87Z.js b/TempLate/assets/BSmoothView-KD7VU87Z.js
new file mode 100644
index 00000000..02bad1f0
--- /dev/null
+++ b/TempLate/assets/BSmoothView-KD7VU87Z.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,l as a,m as o,p as s}from"./index-CJXuAy0L.js";import{t as c}from"./_plugin-vue_export-helper-BDNMzG2s.js";var l={class:`bsmooth-root`},u={id:`gallery`,class:`section`},d={class:`container`},f={class:`gallery-grid`},p=[`src`,`alt`],m={class:`gallery-overlay`},h={class:`gallery-title`},g=c(r({__name:`BSmoothView`,setup(r){let c=[{src:`/Members/B-Smooth/assets/img/1.jpg`,alt:`Artwork 1`,title:`-`},{src:`/Members/B-Smooth/assets/img/2.jpg`,alt:`Artwork 2`,title:`-`},{src:`/Members/B-Smooth/assets/img/3.jpg`,alt:`Artwork 3`,title:`-`},{src:`/Members/B-Smooth/assets/img/4.jpg`,alt:`Artwork 4`,title:`-`},{src:`/Members/B-Smooth/assets/img/5.jpg`,alt:`Artwork 5`,title:`-`},{src:`/Members/B-Smooth/assets/img/6.jpg`,alt:`Artwork 6`,title:`-`}];return(r,g)=>(n(),s(`div`,l,[g[1]||=o(`捕捉线条的韵律 重塑光影的灵魂 您好,我是 B-Smooth。一位专注于透视与色彩情绪的画师
浏览作品 关于画师 B-Smooth 你好!我是 B-Smooth,一名画师。我虽然还是一名学生,但从小练习绘画,普通的绘画对我来说易如反掌。
我相信,优秀的画作不仅要有好看的人设,更需要经得起推敲的结构。我致力于在二次元的风格中融入严谨的透视逻辑,同时用富有感染力的色彩传达角色的情绪。
#FurryArtist #透视这一块 #色彩构成 #概念设计
核心特长 🎨
色彩控制 对光影与色彩的敏感度极高。擅长运用冷暖对比、环境光遮蔽渲染氛围。
✏️
Furry 擅长 准确描绘毛发质感,了解生物解刨结构。
吉祥物企划 银霜 · 风獠
Silver Frost · Wind Fiend
种族: 狼 属性: 冰 / 风 身份: 工作室吉祥物
银霜是工作室精神的具象化体现。它代表着B-Smooth对画面"凌厉线条"与"清透质感"的追求。是对画师结构理解力的极致考验。
`,4),i(`section`,u,[i(`div`,d,[g[0]||=i(`h2`,{class:`section-title`},`精选作品`,-1),i(`div`,f,[(n(),s(a,null,e(c,(e,n)=>i(`div`,{key:n,class:`gallery-item`},[i(`img`,{src:e.src,alt:e.alt},null,8,p),i(`div`,m,[i(`div`,h,t(e.title),1)])])),64))])])])]))}}),[[`__scopeId`,`data-v-f584f87f`]]);export{g as default};
\ No newline at end of file
diff --git a/TempLate/assets/BSmoothView-Shpob-5B.js b/TempLate/assets/BSmoothView-Shpob-5B.js
new file mode 100644
index 00000000..65abcbee
--- /dev/null
+++ b/TempLate/assets/BSmoothView-Shpob-5B.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,l as a,m as o,p as s}from"./index-UfMysbwD.js";import{t as c}from"./_plugin-vue_export-helper-BDNMzG2s.js";var l={class:`bsmooth-root`},u={id:`gallery`,class:`section`},d={class:`container`},f={class:`gallery-grid`},p=[`src`,`alt`],m={class:`gallery-overlay`},h={class:`gallery-title`},g=c(r({__name:`BSmoothView`,setup(r){let c=[{src:`/Members/B-Smooth/assets/img/1.jpg`,alt:`Artwork 1`,title:`-`},{src:`/Members/B-Smooth/assets/img/2.jpg`,alt:`Artwork 2`,title:`-`},{src:`/Members/B-Smooth/assets/img/3.jpg`,alt:`Artwork 3`,title:`-`},{src:`/Members/B-Smooth/assets/img/4.jpg`,alt:`Artwork 4`,title:`-`},{src:`/Members/B-Smooth/assets/img/5.jpg`,alt:`Artwork 5`,title:`-`},{src:`/Members/B-Smooth/assets/img/6.jpg`,alt:`Artwork 6`,title:`-`}];return(r,g)=>(n(),s(`div`,l,[g[1]||=o(`捕捉线条的韵律 重塑光影的灵魂 您好,我是 B-Smooth。一位专注于透视与色彩情绪的画师
浏览作品 关于画师 B-Smooth 你好!我是 B-Smooth,一名画师。我虽然还是一名学生,但从小练习绘画,普通的绘画对我来说易如反掌。
我相信,优秀的画作不仅要有好看的人设,更需要经得起推敲的结构。我致力于在二次元的风格中融入严谨的透视逻辑,同时用富有感染力的色彩传达角色的情绪。
#FurryArtist #透视这一块 #色彩构成 #概念设计
核心特长 🎨
色彩控制 对光影与色彩的敏感度极高。擅长运用冷暖对比、环境光遮蔽渲染氛围。
✏️
Furry 擅长 准确描绘毛发质感,了解生物解刨结构。
吉祥物企划 银霜 · 风獠
Silver Frost · Wind Fiend
种族: 狼 属性: 冰 / 风 身份: 工作室吉祥物
银霜是工作室精神的具象化体现。它代表着B-Smooth对画面"凌厉线条"与"清透质感"的追求。是对画师结构理解力的极致考验。
`,4),i(`section`,u,[i(`div`,d,[g[0]||=i(`h2`,{class:`section-title`},`精选作品`,-1),i(`div`,f,[(n(),s(a,null,e(c,(e,n)=>i(`div`,{key:n,class:`gallery-item`},[i(`img`,{src:e.src,alt:e.alt},null,8,p),i(`div`,m,[i(`div`,h,t(e.title),1)])])),64))])])])]))}}),[[`__scopeId`,`data-v-f584f87f`]]);export{g as default};
\ No newline at end of file
diff --git a/TempLate/assets/BSmoothView-wFFs0EDU.js b/TempLate/assets/BSmoothView-wFFs0EDU.js
new file mode 100644
index 00000000..2c6e1ca0
--- /dev/null
+++ b/TempLate/assets/BSmoothView-wFFs0EDU.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,l as a,m as o,p as s}from"./index-CUry87of.js";import{t as c}from"./_plugin-vue_export-helper-BDNMzG2s.js";var l={class:`bsmooth-root`},u={id:`gallery`,class:`section`},d={class:`container`},f={class:`gallery-grid`},p=[`src`,`alt`],m={class:`gallery-overlay`},h={class:`gallery-title`},g=c(r({__name:`BSmoothView`,setup(r){let c=[{src:`/Members/B-Smooth/assets/img/1.jpg`,alt:`Artwork 1`,title:`-`},{src:`/Members/B-Smooth/assets/img/2.jpg`,alt:`Artwork 2`,title:`-`},{src:`/Members/B-Smooth/assets/img/3.jpg`,alt:`Artwork 3`,title:`-`},{src:`/Members/B-Smooth/assets/img/4.jpg`,alt:`Artwork 4`,title:`-`},{src:`/Members/B-Smooth/assets/img/5.jpg`,alt:`Artwork 5`,title:`-`},{src:`/Members/B-Smooth/assets/img/6.jpg`,alt:`Artwork 6`,title:`-`}];return(r,g)=>(n(),s(`div`,l,[g[1]||=o(`捕捉线条的韵律 重塑光影的灵魂 您好,我是 B-Smooth。一位专注于透视与色彩情绪的画师
浏览作品 关于画师 B-Smooth 你好!我是 B-Smooth,一名画师。我虽然还是一名学生,但从小练习绘画,普通的绘画对我来说易如反掌。
我相信,优秀的画作不仅要有好看的人设,更需要经得起推敲的结构。我致力于在二次元的风格中融入严谨的透视逻辑,同时用富有感染力的色彩传达角色的情绪。
#FurryArtist #透视这一块 #色彩构成 #概念设计
核心特长 🎨
色彩控制 对光影与色彩的敏感度极高。擅长运用冷暖对比、环境光遮蔽渲染氛围。
✏️
Furry 擅长 准确描绘毛发质感,了解生物解刨结构。
吉祥物企划 银霜 · 风獠
Silver Frost · Wind Fiend
种族: 狼 属性: 冰 / 风 身份: 工作室吉祥物
银霜是工作室精神的具象化体现。它代表着B-Smooth对画面"凌厉线条"与"清透质感"的追求。是对画师结构理解力的极致考验。
`,4),i(`section`,u,[i(`div`,d,[g[0]||=i(`h2`,{class:`section-title`},`精选作品`,-1),i(`div`,f,[(n(),s(a,null,e(c,(e,n)=>i(`div`,{key:n,class:`gallery-item`},[i(`img`,{src:e.src,alt:e.alt},null,8,p),i(`div`,m,[i(`div`,h,t(e.title),1)])])),64))])])])]))}}),[[`__scopeId`,`data-v-f584f87f`]]);export{g as default};
\ No newline at end of file
diff --git a/TempLate/assets/CollaborativeCodingView-CYQ96F3N.js b/TempLate/assets/CollaborativeCodingView-CYQ96F3N.js
new file mode 100644
index 00000000..84d786ba
--- /dev/null
+++ b/TempLate/assets/CollaborativeCodingView-CYQ96F3N.js
@@ -0,0 +1,17 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,j as o,l as s,m as c,p as l}from"./index-BM-LFFI_.js";import{t as u}from"./_plugin-vue_export-helper-BDNMzG2s.js";var ee={class:`antialiased selection:bg-primary selection:text-white`},te={id:`core`,class:`py-20 bg-white`},d={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},f={class:`grid grid-cols-1 md:grid-cols-3 lg:grid-cols-5 gap-8`},p={class:`text-lg font-bold text-slate-900 mb-2`},m={class:`text-sm text-slate-500`},h={id:`process`,class:`py-20 tech-grid-bg`},g={class:`max-w-7xl mx-auto px-6`},_={class:`relative`},v={class:`flex flex-col md:flex-row items-start`},y={key:0,class:`md:w-1/2 md:pr-12 md:text-right mb-4 md:mb-0`},b={class:`text-2xl font-bold text-gray-900`},x={class:`text-blue-600 font-medium mb-2`},S={class:`text-gray-600`},C={key:1,class:`md:w-1/2 md:pr-12 order-1 md:order-none`},w={class:`hidden md:flex w-10 h-10 bg-blue-600 rounded-full items-center justify-center text-white font-bold shadow-lg border-4 border-white absolute left-1/2 transform -translate-x-1/2 order-2`},T={key:2,class:`md:w-1/2 md:pl-12 order-3 md:order-none`},E={key:3,class:`md:w-1/2 md:pl-12 mb-4 md:mb-0 order-3 md:order-none`},D={class:`text-2xl font-bold text-gray-900`},O={class:`text-blue-600 font-medium mb-2`},k={class:`text-gray-600`},A={id:`collaboration`,class:`py-20 bg-white`},ne={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},j={class:`grid grid-cols-1 lg:grid-cols-2 gap-16 items-center`},M={class:`space-y-6`},N={class:`flex-shrink-0`},P={class:`ml-4`},F={class:`text-lg leading-6 font-medium text-slate-900`},I={class:`mt-2 text-base text-slate-500`},L={id:`advantages`,class:`py-20 bg-white`},R={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},z={class:`flex flex-col md:flex-row items-center gap-12`},B={class:`md:w-1/2`},V={class:`space-y-6`},H={class:`flex-shrink-0 mt-1`},U={class:`ml-4`},W={class:`text-lg font-bold text-slate-900`},G={class:`text-slate-500 mt-1 text-sm`},K={class:`py-20 bg-slate-50 border-t border-slate-200`},q={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},J={class:`grid grid-cols-1 md:grid-cols-3 gap-8`},Y={class:`text-xl font-bold text-slate-900 mb-2`},X={class:`text-sm text-slate-500 mb-4`},Z=[`innerHTML`],Q=u(i({__name:`CollaborativeCodingView`,setup(i){let u=[{iconBg:`bg-blue-100`,icon:`fas fa-gem`,iconColor:`var(--color-primary, #1e40af)`,title:`价值导向`,desc:`拒绝炫技,聚焦业务问题解决,优先保证功能可用与稳定。`},{iconBg:`bg-indigo-100`,icon:`fas fa-ruler-combined`,iconColor:`#3b82f6`,title:`规范先行`,desc:`统一编码、分支与文档规范,降低协作成本,提升可读性。`},{iconBg:`bg-sky-100`,icon:`fas fa-shoe-prints`,iconColor:`#f59e0b`,title:`增量迭代`,desc:`小步快跑,拆分大需求为小任务,每轮输出可验证成果。`},{iconBg:`bg-emerald-100`,icon:`fas fa-shield-alt`,iconColor:`#10b981`,title:`质量内建`,desc:`测试、复盘、优化融入全流程,而非仅依赖最终验收。`},{iconBg:`bg-amber-100`,icon:`fas fa-users`,iconColor:`#f59e0b`,title:`知识共享`,desc:`鼓励代码评审与技术分享,沉淀通用能力,打破壁垒。`}],Q=[{title:`01. 需求与设计`,subtitle:`澄清与架构`,icon:`fa fa-file-text`,desc:`输出《需求规格说明书》,明确边界与性能指标。核心模块产出《技术设计文档》,包含架构选型、数据库设计与风险应对。拒绝口头沟通偏差。`},{title:`02. 编码实现`,subtitle:`规范化与安全`,icon:`fa fa-code`,desc:`严格遵循通用编码规范(命名、注释、格式)。采用 Git Flow 分支策略(feature/develop/master),提交信息规范化。注重模块化开发与安全防护(防注入、加密)。`},{title:`03. 测试与验收`,subtitle:`多层次验证`,icon:`fa fa-bug`,desc:`开发自测 -> 单元测试(70%覆盖率) -> 集成测试。Bug修复需回归测试。提测必须包含自测报告与更新后的文档,确保交付物完整。`},{title:`04. 发布与运维`,subtitle:`灰度与监控`,icon:`fa fa-rocket`,desc:`执行非核心时段发布,支持灰度发布。实时监控日志与资源状态。具备完善的回滚机制与运维文档,确保生产环境稳定。`},{title:`05. 复盘与优化`,subtitle:`持续改进`,icon:`fa fa-line-chart`,desc:`每轮迭代复盘,总结亮点与问题。定期清理技术债务,评估新技术升级,持续优化开发效能。`}],re=[{bg:`bg-blue-500`,icon:`fa-solid fa-people-group`,title:`每日站会 (10分钟)`,desc:`同步进度、暴露阻塞、协调资源。拒绝长篇大论,只讲干货。`},{bg:`bg-indigo-500`,icon:`fa fa-code`,title:`严格代码评审 (CR)`,desc:`对事不对人,聚焦逻辑正确性、性能与安全。每行合并代码至少经过一双眼睛。`},{bg:`bg-cyan-500`,icon:`fa-solid fa-book`,title:`统一文档与知识分享`,desc:`核心文档存储在知识库,接口文档自动生成。定期技术分享,拒绝"单点知识壁垒"。`}],ie=[{iconBg:`bg-blue-100`,icon:`fas fa-tachometer-alt`,iconColor:`#1e40af`,title:`显著提升交付效率`,desc:`增量迭代模式配合自动化工具链,减少重复劳动,让开发专注于核心逻辑。`},{iconBg:`bg-indigo-100`,icon:`fas fa-project-diagram`,iconColor:`#3b82f6`,title:`降低项目风险`,desc:`通过代码评审、单元测试和灰度发布机制,提前发现并规避90%的潜在故障。`},{iconBg:`bg-sky-100`,icon:`fas fa-layer-group`,iconColor:`#f59e0b`,title:`沉淀团队资产`,desc:`将个人经验转化为团队文档和通用组件库,避免因人员流动导致的技术断层。`}],ae=[{iconBg:`bg-slate-100`,icon:`fas fa-feather-alt`,iconColor:`#64748b`,cardClass:`bg-white p-8 rounded-xl shadow-sm border border-slate-200`,title:`小型项目`,meta:`1-3人 | 周期 < 1个月`,desc:`简化设计文档(用脑图/流程图),合并部分评审环节。重点保证功能可用、代码可维护。`},{iconBg:`bg-blue-50`,icon:`fas fa-cubes`,iconColor:`#1e40af`,cardClass:`bg-white p-8 rounded-xl shadow-md border-t-4 border-primary transform md:-translate-y-4`,title:`中型项目`,meta:`3-10人 | 周期 1-6个月`,desc:`严格执行 分支规范、代码评审、测试流程。重点控制模块耦合、迭代节奏。`},{iconBg:`bg-slate-100`,icon:`fas fa-city`,iconColor:`#64748b`,cardClass:`bg-white p-8 rounded-xl shadow-sm border border-slate-200`,title:`大型项目`,meta:`10人+ | 周期 > 6个月`,desc:`引入架构师角色,拆分子团队。强化集成测试、灰度发布,建立完善的监控告警体系。`}];return(i,$)=>(r(),l(`div`,ee,[$[10]||=c(``,1),a(`section`,te,[a(`div`,d,[$[0]||=a(`div`,{class:`text-center mb-16`},[a(`h2`,{class:`text-3xl font-bold text-slate-900`},`五大核心原则`),a(`div`,{class:`w-16 h-1 bg-primary mx-auto mt-4 rounded-full`})],-1),a(`div`,f,[(r(),l(s,null,e(u,(e,r)=>a(`div`,{key:r,class:`p-6 bg-slate-50 rounded-xl border border-slate-100 hover:border-primary/30 transition-colors group`},[a(`div`,{class:o([`w-12 h-12 rounded-lg flex items-center justify-center text-xl mb-4 group-hover:scale-110 transition-transform`,e.iconBg])},[a(`i`,{class:o(e.icon),style:t({color:e.iconColor})},null,6)],2),a(`h3`,p,n(e.title),1),a(`p`,m,n(e.desc),1)])),64))])])]),$[11]||=c(`
FIG 1.0: ARCHITECTURE FRAMEWORK
SCALE: 1:100
工程蓝图 & 项目组织 SYSTEM ARCHITECTURE & ORGANIZATION STRUCTURE
模块化框架设计 User Module 用户域
Order Module 订单域
Product Module 商品域
项目目录组织 /src # 源码文件
+ /api # 接口层
+ /v1 # 版本控制
+ /dto # 数据传输对象
+ /core # 核心业务逻辑
+ /domain # 领域模型
+ /service # 业务服务
+ /infrastructure # 基础设施
+ /db # 数据库访问
+ /mq # 消息队列
+ /common # 公共组件
+ /utils # 工具类
+ /config # 配置
+ /tests # 测试目录
+ /unit # 单元测试
+ /integration # 集成测试
+ * 注:严格遵循分层架构,禁止跨层调用。
`,1),a(`section`,h,[a(`div`,g,[$[2]||=a(`div`,{class:`flex flex-col md:flex-row md:items-end justify-between mb-12`},[a(`div`,null,[a(`h2`,{class:`text-3xl font-bold text-gray-900 sm:text-4xl mb-4`},`全生命周期开发规范`),a(`p`,{class:`text-lg text-gray-600 max-w-2xl`},`从需求澄清到线上复盘,标准化每一个环节,确保项目交付的确定性与高质量。`)])],-1),a(`div`,_,[$[1]||=a(`div`,{class:`absolute left-0 md:left-1/2 transform md:-translate-x-1/2 h-full w-1 bg-blue-100 hidden md:block`},null,-1),(r(),l(s,null,e(Q,(e,t)=>a(`div`,{key:t,class:o([`relative z-10 mb-12 md:mb-16`,{"":!0}])},[a(`div`,v,[t%2==0?(r(),l(`div`,y,[a(`h3`,b,n(e.title),1),a(`p`,x,n(e.subtitle),1),a(`p`,S,n(e.desc),1)])):(r(),l(`div`,C)),a(`div`,w,[a(`i`,{class:o(e.icon)},null,2)]),t%2==0?(r(),l(`div`,T)):(r(),l(`div`,E,[a(`h3`,D,n(e.title),1),a(`p`,O,n(e.subtitle),1),a(`p`,k,n(e.desc),1)]))])])),64))])])]),$[12]||=c('开发全流程规范 从需求到上线,每一步都有章可循,确保交付质量。
01
需求与设计阶段 DISCOVERY & DESIGN
需求澄清 输出《需求规格说明书》 明确核心功能、边界条件 确定性能与兼容性指标 组织多方评审会闭环 技术设计 架构选型与风险预案 数据库表结构设计 接口定义 (RESTful/GraphQL) 核心算法逻辑文档化 02
编码实现阶段 CODING & IMPLEMENTATION
通用编码规范维度 规范要求 命名 见名知意,拒绝拼音。类名大驼峰,常量全大写。 注释 核心类/方法必写注释,复杂逻辑加行注释。 安全 防SQL注入、XSS,敏感数据加密,接口鉴权。
Git 版本控制分支策略 master (生产) / develop (开发) / feature-xxx (功能) / hotfix-xxx (紧急修复)
提交规范 feat/fix/docs/style/refactor... 例如: `feat(user): 实现登录`
03
测试与验收 TESTING & ACCEPTANCE
自测 (开发完成) 单元测试 (>70%) 集成测试 (联调) 验收 (产品/客户)
Bug修复需及时回归,验收通过输出报告方可进入发布。
04
输出发布清单与回滚方案 非核心时段发布,数据/代码备份 灰度发布策略,实时监控日志与资源 沉淀部署文档与运维手册 ',1),a(`section`,A,[a(`div`,ne,[a(`div`,j,[a(`div`,null,[$[3]||=a(`h2`,{class:`text-3xl font-bold text-slate-900 sm:text-4xl mb-6`},`无缝团队协作体系`,-1),$[4]||=a(`p`,{class:`text-lg text-slate-600 mb-8`},` 我们通过高频沟通、严格的代码评审和统一的知识库,打破信息孤岛,让团队效能实现 1+1>2。 `,-1),a(`div`,M,[(r(),l(s,null,e(re,(e,t)=>a(`div`,{key:t,class:`flex`},[a(`div`,N,[a(`div`,{class:o([`flex items-center justify-center h-12 w-12 rounded-md text-white`,e.bg])},[a(`i`,{class:o(e.icon)},null,2)],2)]),a(`div`,P,[a(`h3`,F,n(e.title),1),a(`p`,I,n(e.desc),1)])])),64))])]),$[5]||=c(``,1)])])]),a(`section`,L,[a(`div`,R,[a(`div`,z,[a(`div`,B,[$[6]||=a(`h2`,{class:`text-3xl font-bold text-slate-900 mb-6`},`为什么选择"协同筑码"工作法?`,-1),$[7]||=a(`p`,{class:`text-slate-500 mb-8 leading-relaxed`},` 传统开发往往陷入"进度赶不上变化、代码质量不可控、新人上手难"的困境。我们的方法论旨在从根本上解决这些痛点,通过标准化流程实现技术与业务的完美融合。 `,-1),a(`div`,V,[(r(),l(s,null,e(ie,(e,r)=>a(`div`,{key:r,class:`flex`},[a(`div`,H,[a(`div`,{class:o([`flex items-center justify-center h-10 w-10 rounded-full`,e.iconBg])},[a(`i`,{class:o(e.icon),style:t({color:e.iconColor})},null,6)],2)]),a(`div`,U,[a(`h4`,W,n(e.title),1),a(`p`,G,n(e.desc),1)])])),64))])]),$[8]||=c(``,1)])])]),a(`section`,K,[a(`div`,q,[$[9]||=a(`div`,{class:`text-center mb-16`},[a(`h2`,{class:`text-3xl font-bold text-slate-900`},`灵活适配不同场景`)],-1),a(`div`,J,[(r(),l(s,null,e(ae,(e,r)=>a(`div`,{key:r,class:o(e.cardClass)},[a(`div`,{class:o([`w-12 h-12 rounded-lg flex items-center justify-center mb-4`,e.iconBg])},[a(`i`,{class:o(e.icon),style:t({color:e.iconColor})},null,6)],2),a(`h3`,Y,n(e.title),1),a(`p`,X,n(e.meta),1),a(`p`,{class:`text-sm text-slate-600 leading-relaxed`,innerHTML:e.desc},null,8,Z)],2)),64))])])]),$[13]||=c(`
准备加入我们了吗? 银河锋锐致力于打造高质量、高效率的软件交付标准。如果你认同"协同筑码"的理念,渴望在一个规范、开放、技术驱动的团队中成长,我们诚挚邀请你加入。
* 我们使用 Jira, GitLab, SonarQube 等工具支撑这套方法论
`,1)]))}}),[[`__scopeId`,`data-v-2e2d1c9b`]]);export{Q as default};
\ No newline at end of file
diff --git a/TempLate/assets/CollaborativeCodingView-CeRrHOZJ.js b/TempLate/assets/CollaborativeCodingView-CeRrHOZJ.js
new file mode 100644
index 00000000..2700992a
--- /dev/null
+++ b/TempLate/assets/CollaborativeCodingView-CeRrHOZJ.js
@@ -0,0 +1,17 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,j as o,l as s,m as c,p as l}from"./index-UfMysbwD.js";import{t as u}from"./_plugin-vue_export-helper-BDNMzG2s.js";var ee={class:`antialiased selection:bg-primary selection:text-white`},te={id:`core`,class:`py-20 bg-white`},d={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},f={class:`grid grid-cols-1 md:grid-cols-3 lg:grid-cols-5 gap-8`},p={class:`text-lg font-bold text-slate-900 mb-2`},m={class:`text-sm text-slate-500`},h={id:`process`,class:`py-20 tech-grid-bg`},g={class:`max-w-7xl mx-auto px-6`},_={class:`relative`},v={class:`flex flex-col md:flex-row items-start`},y={key:0,class:`md:w-1/2 md:pr-12 md:text-right mb-4 md:mb-0`},b={class:`text-2xl font-bold text-gray-900`},x={class:`text-blue-600 font-medium mb-2`},S={class:`text-gray-600`},C={key:1,class:`md:w-1/2 md:pr-12 order-1 md:order-none`},w={class:`hidden md:flex w-10 h-10 bg-blue-600 rounded-full items-center justify-center text-white font-bold shadow-lg border-4 border-white absolute left-1/2 transform -translate-x-1/2 order-2`},T={key:2,class:`md:w-1/2 md:pl-12 order-3 md:order-none`},E={key:3,class:`md:w-1/2 md:pl-12 mb-4 md:mb-0 order-3 md:order-none`},D={class:`text-2xl font-bold text-gray-900`},O={class:`text-blue-600 font-medium mb-2`},k={class:`text-gray-600`},A={id:`collaboration`,class:`py-20 bg-white`},ne={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},j={class:`grid grid-cols-1 lg:grid-cols-2 gap-16 items-center`},M={class:`space-y-6`},N={class:`flex-shrink-0`},P={class:`ml-4`},F={class:`text-lg leading-6 font-medium text-slate-900`},I={class:`mt-2 text-base text-slate-500`},L={id:`advantages`,class:`py-20 bg-white`},R={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},z={class:`flex flex-col md:flex-row items-center gap-12`},B={class:`md:w-1/2`},V={class:`space-y-6`},H={class:`flex-shrink-0 mt-1`},U={class:`ml-4`},W={class:`text-lg font-bold text-slate-900`},G={class:`text-slate-500 mt-1 text-sm`},K={class:`py-20 bg-slate-50 border-t border-slate-200`},q={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},J={class:`grid grid-cols-1 md:grid-cols-3 gap-8`},Y={class:`text-xl font-bold text-slate-900 mb-2`},X={class:`text-sm text-slate-500 mb-4`},Z=[`innerHTML`],Q=u(i({__name:`CollaborativeCodingView`,setup(i){let u=[{iconBg:`bg-blue-100`,icon:`fas fa-gem`,iconColor:`var(--color-primary, #1e40af)`,title:`价值导向`,desc:`拒绝炫技,聚焦业务问题解决,优先保证功能可用与稳定。`},{iconBg:`bg-indigo-100`,icon:`fas fa-ruler-combined`,iconColor:`#3b82f6`,title:`规范先行`,desc:`统一编码、分支与文档规范,降低协作成本,提升可读性。`},{iconBg:`bg-sky-100`,icon:`fas fa-shoe-prints`,iconColor:`#f59e0b`,title:`增量迭代`,desc:`小步快跑,拆分大需求为小任务,每轮输出可验证成果。`},{iconBg:`bg-emerald-100`,icon:`fas fa-shield-alt`,iconColor:`#10b981`,title:`质量内建`,desc:`测试、复盘、优化融入全流程,而非仅依赖最终验收。`},{iconBg:`bg-amber-100`,icon:`fas fa-users`,iconColor:`#f59e0b`,title:`知识共享`,desc:`鼓励代码评审与技术分享,沉淀通用能力,打破壁垒。`}],Q=[{title:`01. 需求与设计`,subtitle:`澄清与架构`,icon:`fa fa-file-text`,desc:`输出《需求规格说明书》,明确边界与性能指标。核心模块产出《技术设计文档》,包含架构选型、数据库设计与风险应对。拒绝口头沟通偏差。`},{title:`02. 编码实现`,subtitle:`规范化与安全`,icon:`fa fa-code`,desc:`严格遵循通用编码规范(命名、注释、格式)。采用 Git Flow 分支策略(feature/develop/master),提交信息规范化。注重模块化开发与安全防护(防注入、加密)。`},{title:`03. 测试与验收`,subtitle:`多层次验证`,icon:`fa fa-bug`,desc:`开发自测 -> 单元测试(70%覆盖率) -> 集成测试。Bug修复需回归测试。提测必须包含自测报告与更新后的文档,确保交付物完整。`},{title:`04. 发布与运维`,subtitle:`灰度与监控`,icon:`fa fa-rocket`,desc:`执行非核心时段发布,支持灰度发布。实时监控日志与资源状态。具备完善的回滚机制与运维文档,确保生产环境稳定。`},{title:`05. 复盘与优化`,subtitle:`持续改进`,icon:`fa fa-line-chart`,desc:`每轮迭代复盘,总结亮点与问题。定期清理技术债务,评估新技术升级,持续优化开发效能。`}],re=[{bg:`bg-blue-500`,icon:`fa-solid fa-people-group`,title:`每日站会 (10分钟)`,desc:`同步进度、暴露阻塞、协调资源。拒绝长篇大论,只讲干货。`},{bg:`bg-indigo-500`,icon:`fa fa-code`,title:`严格代码评审 (CR)`,desc:`对事不对人,聚焦逻辑正确性、性能与安全。每行合并代码至少经过一双眼睛。`},{bg:`bg-cyan-500`,icon:`fa-solid fa-book`,title:`统一文档与知识分享`,desc:`核心文档存储在知识库,接口文档自动生成。定期技术分享,拒绝"单点知识壁垒"。`}],ie=[{iconBg:`bg-blue-100`,icon:`fas fa-tachometer-alt`,iconColor:`#1e40af`,title:`显著提升交付效率`,desc:`增量迭代模式配合自动化工具链,减少重复劳动,让开发专注于核心逻辑。`},{iconBg:`bg-indigo-100`,icon:`fas fa-project-diagram`,iconColor:`#3b82f6`,title:`降低项目风险`,desc:`通过代码评审、单元测试和灰度发布机制,提前发现并规避90%的潜在故障。`},{iconBg:`bg-sky-100`,icon:`fas fa-layer-group`,iconColor:`#f59e0b`,title:`沉淀团队资产`,desc:`将个人经验转化为团队文档和通用组件库,避免因人员流动导致的技术断层。`}],ae=[{iconBg:`bg-slate-100`,icon:`fas fa-feather-alt`,iconColor:`#64748b`,cardClass:`bg-white p-8 rounded-xl shadow-sm border border-slate-200`,title:`小型项目`,meta:`1-3人 | 周期 < 1个月`,desc:`简化设计文档(用脑图/流程图),合并部分评审环节。重点保证功能可用、代码可维护。`},{iconBg:`bg-blue-50`,icon:`fas fa-cubes`,iconColor:`#1e40af`,cardClass:`bg-white p-8 rounded-xl shadow-md border-t-4 border-primary transform md:-translate-y-4`,title:`中型项目`,meta:`3-10人 | 周期 1-6个月`,desc:`严格执行 分支规范、代码评审、测试流程。重点控制模块耦合、迭代节奏。`},{iconBg:`bg-slate-100`,icon:`fas fa-city`,iconColor:`#64748b`,cardClass:`bg-white p-8 rounded-xl shadow-sm border border-slate-200`,title:`大型项目`,meta:`10人+ | 周期 > 6个月`,desc:`引入架构师角色,拆分子团队。强化集成测试、灰度发布,建立完善的监控告警体系。`}];return(i,$)=>(r(),l(`div`,ee,[$[10]||=c(``,1),a(`section`,te,[a(`div`,d,[$[0]||=a(`div`,{class:`text-center mb-16`},[a(`h2`,{class:`text-3xl font-bold text-slate-900`},`五大核心原则`),a(`div`,{class:`w-16 h-1 bg-primary mx-auto mt-4 rounded-full`})],-1),a(`div`,f,[(r(),l(s,null,e(u,(e,r)=>a(`div`,{key:r,class:`p-6 bg-slate-50 rounded-xl border border-slate-100 hover:border-primary/30 transition-colors group`},[a(`div`,{class:o([`w-12 h-12 rounded-lg flex items-center justify-center text-xl mb-4 group-hover:scale-110 transition-transform`,e.iconBg])},[a(`i`,{class:o(e.icon),style:t({color:e.iconColor})},null,6)],2),a(`h3`,p,n(e.title),1),a(`p`,m,n(e.desc),1)])),64))])])]),$[11]||=c(`
FIG 1.0: ARCHITECTURE FRAMEWORK
SCALE: 1:100
工程蓝图 & 项目组织 SYSTEM ARCHITECTURE & ORGANIZATION STRUCTURE
模块化框架设计 User Module 用户域
Order Module 订单域
Product Module 商品域
项目目录组织 /src # 源码文件
+ /api # 接口层
+ /v1 # 版本控制
+ /dto # 数据传输对象
+ /core # 核心业务逻辑
+ /domain # 领域模型
+ /service # 业务服务
+ /infrastructure # 基础设施
+ /db # 数据库访问
+ /mq # 消息队列
+ /common # 公共组件
+ /utils # 工具类
+ /config # 配置
+ /tests # 测试目录
+ /unit # 单元测试
+ /integration # 集成测试
+ * 注:严格遵循分层架构,禁止跨层调用。
`,1),a(`section`,h,[a(`div`,g,[$[2]||=a(`div`,{class:`flex flex-col md:flex-row md:items-end justify-between mb-12`},[a(`div`,null,[a(`h2`,{class:`text-3xl font-bold text-gray-900 sm:text-4xl mb-4`},`全生命周期开发规范`),a(`p`,{class:`text-lg text-gray-600 max-w-2xl`},`从需求澄清到线上复盘,标准化每一个环节,确保项目交付的确定性与高质量。`)])],-1),a(`div`,_,[$[1]||=a(`div`,{class:`absolute left-0 md:left-1/2 transform md:-translate-x-1/2 h-full w-1 bg-blue-100 hidden md:block`},null,-1),(r(),l(s,null,e(Q,(e,t)=>a(`div`,{key:t,class:o([`relative z-10 mb-12 md:mb-16`,{"":!0}])},[a(`div`,v,[t%2==0?(r(),l(`div`,y,[a(`h3`,b,n(e.title),1),a(`p`,x,n(e.subtitle),1),a(`p`,S,n(e.desc),1)])):(r(),l(`div`,C)),a(`div`,w,[a(`i`,{class:o(e.icon)},null,2)]),t%2==0?(r(),l(`div`,T)):(r(),l(`div`,E,[a(`h3`,D,n(e.title),1),a(`p`,O,n(e.subtitle),1),a(`p`,k,n(e.desc),1)]))])])),64))])])]),$[12]||=c('开发全流程规范 从需求到上线,每一步都有章可循,确保交付质量。
01
需求与设计阶段 DISCOVERY & DESIGN
需求澄清 输出《需求规格说明书》 明确核心功能、边界条件 确定性能与兼容性指标 组织多方评审会闭环 技术设计 架构选型与风险预案 数据库表结构设计 接口定义 (RESTful/GraphQL) 核心算法逻辑文档化 02
编码实现阶段 CODING & IMPLEMENTATION
通用编码规范维度 规范要求 命名 见名知意,拒绝拼音。类名大驼峰,常量全大写。 注释 核心类/方法必写注释,复杂逻辑加行注释。 安全 防SQL注入、XSS,敏感数据加密,接口鉴权。
Git 版本控制分支策略 master (生产) / develop (开发) / feature-xxx (功能) / hotfix-xxx (紧急修复)
提交规范 feat/fix/docs/style/refactor... 例如: `feat(user): 实现登录`
03
测试与验收 TESTING & ACCEPTANCE
自测 (开发完成) 单元测试 (>70%) 集成测试 (联调) 验收 (产品/客户)
Bug修复需及时回归,验收通过输出报告方可进入发布。
04
输出发布清单与回滚方案 非核心时段发布,数据/代码备份 灰度发布策略,实时监控日志与资源 沉淀部署文档与运维手册 ',1),a(`section`,A,[a(`div`,ne,[a(`div`,j,[a(`div`,null,[$[3]||=a(`h2`,{class:`text-3xl font-bold text-slate-900 sm:text-4xl mb-6`},`无缝团队协作体系`,-1),$[4]||=a(`p`,{class:`text-lg text-slate-600 mb-8`},` 我们通过高频沟通、严格的代码评审和统一的知识库,打破信息孤岛,让团队效能实现 1+1>2。 `,-1),a(`div`,M,[(r(),l(s,null,e(re,(e,t)=>a(`div`,{key:t,class:`flex`},[a(`div`,N,[a(`div`,{class:o([`flex items-center justify-center h-12 w-12 rounded-md text-white`,e.bg])},[a(`i`,{class:o(e.icon)},null,2)],2)]),a(`div`,P,[a(`h3`,F,n(e.title),1),a(`p`,I,n(e.desc),1)])])),64))])]),$[5]||=c(``,1)])])]),a(`section`,L,[a(`div`,R,[a(`div`,z,[a(`div`,B,[$[6]||=a(`h2`,{class:`text-3xl font-bold text-slate-900 mb-6`},`为什么选择"协同筑码"工作法?`,-1),$[7]||=a(`p`,{class:`text-slate-500 mb-8 leading-relaxed`},` 传统开发往往陷入"进度赶不上变化、代码质量不可控、新人上手难"的困境。我们的方法论旨在从根本上解决这些痛点,通过标准化流程实现技术与业务的完美融合。 `,-1),a(`div`,V,[(r(),l(s,null,e(ie,(e,r)=>a(`div`,{key:r,class:`flex`},[a(`div`,H,[a(`div`,{class:o([`flex items-center justify-center h-10 w-10 rounded-full`,e.iconBg])},[a(`i`,{class:o(e.icon),style:t({color:e.iconColor})},null,6)],2)]),a(`div`,U,[a(`h4`,W,n(e.title),1),a(`p`,G,n(e.desc),1)])])),64))])]),$[8]||=c(``,1)])])]),a(`section`,K,[a(`div`,q,[$[9]||=a(`div`,{class:`text-center mb-16`},[a(`h2`,{class:`text-3xl font-bold text-slate-900`},`灵活适配不同场景`)],-1),a(`div`,J,[(r(),l(s,null,e(ae,(e,r)=>a(`div`,{key:r,class:o(e.cardClass)},[a(`div`,{class:o([`w-12 h-12 rounded-lg flex items-center justify-center mb-4`,e.iconBg])},[a(`i`,{class:o(e.icon),style:t({color:e.iconColor})},null,6)],2),a(`h3`,Y,n(e.title),1),a(`p`,X,n(e.meta),1),a(`p`,{class:`text-sm text-slate-600 leading-relaxed`,innerHTML:e.desc},null,8,Z)],2)),64))])])]),$[13]||=c(`
准备加入我们了吗? 银河锋锐致力于打造高质量、高效率的软件交付标准。如果你认同"协同筑码"的理念,渴望在一个规范、开放、技术驱动的团队中成长,我们诚挚邀请你加入。
* 我们使用 Jira, GitLab, SonarQube 等工具支撑这套方法论
`,1)]))}}),[[`__scopeId`,`data-v-2e2d1c9b`]]);export{Q as default};
\ No newline at end of file
diff --git a/TempLate/assets/CollaborativeCodingView-ClreIbR2.js b/TempLate/assets/CollaborativeCodingView-ClreIbR2.js
new file mode 100644
index 00000000..637c215e
--- /dev/null
+++ b/TempLate/assets/CollaborativeCodingView-ClreIbR2.js
@@ -0,0 +1,17 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,j as o,l as s,m as c,p as l}from"./index-PMfCvoYM.js";import{t as u}from"./_plugin-vue_export-helper-BDNMzG2s.js";var ee={class:`antialiased selection:bg-primary selection:text-white`},te={id:`core`,class:`py-20 bg-white`},d={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},f={class:`grid grid-cols-1 md:grid-cols-3 lg:grid-cols-5 gap-8`},p={class:`text-lg font-bold text-slate-900 mb-2`},m={class:`text-sm text-slate-500`},h={id:`process`,class:`py-20 tech-grid-bg`},g={class:`max-w-7xl mx-auto px-6`},_={class:`relative`},v={class:`flex flex-col md:flex-row items-start`},y={key:0,class:`md:w-1/2 md:pr-12 md:text-right mb-4 md:mb-0`},b={class:`text-2xl font-bold text-gray-900`},x={class:`text-blue-600 font-medium mb-2`},S={class:`text-gray-600`},C={key:1,class:`md:w-1/2 md:pr-12 order-1 md:order-none`},w={class:`hidden md:flex w-10 h-10 bg-blue-600 rounded-full items-center justify-center text-white font-bold shadow-lg border-4 border-white absolute left-1/2 transform -translate-x-1/2 order-2`},T={key:2,class:`md:w-1/2 md:pl-12 order-3 md:order-none`},E={key:3,class:`md:w-1/2 md:pl-12 mb-4 md:mb-0 order-3 md:order-none`},D={class:`text-2xl font-bold text-gray-900`},O={class:`text-blue-600 font-medium mb-2`},k={class:`text-gray-600`},A={id:`collaboration`,class:`py-20 bg-white`},ne={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},j={class:`grid grid-cols-1 lg:grid-cols-2 gap-16 items-center`},M={class:`space-y-6`},N={class:`flex-shrink-0`},P={class:`ml-4`},F={class:`text-lg leading-6 font-medium text-slate-900`},I={class:`mt-2 text-base text-slate-500`},L={id:`advantages`,class:`py-20 bg-white`},R={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},z={class:`flex flex-col md:flex-row items-center gap-12`},B={class:`md:w-1/2`},V={class:`space-y-6`},H={class:`flex-shrink-0 mt-1`},U={class:`ml-4`},W={class:`text-lg font-bold text-slate-900`},G={class:`text-slate-500 mt-1 text-sm`},K={class:`py-20 bg-slate-50 border-t border-slate-200`},q={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},J={class:`grid grid-cols-1 md:grid-cols-3 gap-8`},Y={class:`text-xl font-bold text-slate-900 mb-2`},X={class:`text-sm text-slate-500 mb-4`},Z=[`innerHTML`],Q=u(i({__name:`CollaborativeCodingView`,setup(i){let u=[{iconBg:`bg-blue-100`,icon:`fas fa-gem`,iconColor:`var(--color-primary, #1e40af)`,title:`价值导向`,desc:`拒绝炫技,聚焦业务问题解决,优先保证功能可用与稳定。`},{iconBg:`bg-indigo-100`,icon:`fas fa-ruler-combined`,iconColor:`#3b82f6`,title:`规范先行`,desc:`统一编码、分支与文档规范,降低协作成本,提升可读性。`},{iconBg:`bg-sky-100`,icon:`fas fa-shoe-prints`,iconColor:`#f59e0b`,title:`增量迭代`,desc:`小步快跑,拆分大需求为小任务,每轮输出可验证成果。`},{iconBg:`bg-emerald-100`,icon:`fas fa-shield-alt`,iconColor:`#10b981`,title:`质量内建`,desc:`测试、复盘、优化融入全流程,而非仅依赖最终验收。`},{iconBg:`bg-amber-100`,icon:`fas fa-users`,iconColor:`#f59e0b`,title:`知识共享`,desc:`鼓励代码评审与技术分享,沉淀通用能力,打破壁垒。`}],Q=[{title:`01. 需求与设计`,subtitle:`澄清与架构`,icon:`fa fa-file-text`,desc:`输出《需求规格说明书》,明确边界与性能指标。核心模块产出《技术设计文档》,包含架构选型、数据库设计与风险应对。拒绝口头沟通偏差。`},{title:`02. 编码实现`,subtitle:`规范化与安全`,icon:`fa fa-code`,desc:`严格遵循通用编码规范(命名、注释、格式)。采用 Git Flow 分支策略(feature/develop/master),提交信息规范化。注重模块化开发与安全防护(防注入、加密)。`},{title:`03. 测试与验收`,subtitle:`多层次验证`,icon:`fa fa-bug`,desc:`开发自测 -> 单元测试(70%覆盖率) -> 集成测试。Bug修复需回归测试。提测必须包含自测报告与更新后的文档,确保交付物完整。`},{title:`04. 发布与运维`,subtitle:`灰度与监控`,icon:`fa fa-rocket`,desc:`执行非核心时段发布,支持灰度发布。实时监控日志与资源状态。具备完善的回滚机制与运维文档,确保生产环境稳定。`},{title:`05. 复盘与优化`,subtitle:`持续改进`,icon:`fa fa-line-chart`,desc:`每轮迭代复盘,总结亮点与问题。定期清理技术债务,评估新技术升级,持续优化开发效能。`}],re=[{bg:`bg-blue-500`,icon:`fa-solid fa-people-group`,title:`每日站会 (10分钟)`,desc:`同步进度、暴露阻塞、协调资源。拒绝长篇大论,只讲干货。`},{bg:`bg-indigo-500`,icon:`fa fa-code`,title:`严格代码评审 (CR)`,desc:`对事不对人,聚焦逻辑正确性、性能与安全。每行合并代码至少经过一双眼睛。`},{bg:`bg-cyan-500`,icon:`fa-solid fa-book`,title:`统一文档与知识分享`,desc:`核心文档存储在知识库,接口文档自动生成。定期技术分享,拒绝"单点知识壁垒"。`}],ie=[{iconBg:`bg-blue-100`,icon:`fas fa-tachometer-alt`,iconColor:`#1e40af`,title:`显著提升交付效率`,desc:`增量迭代模式配合自动化工具链,减少重复劳动,让开发专注于核心逻辑。`},{iconBg:`bg-indigo-100`,icon:`fas fa-project-diagram`,iconColor:`#3b82f6`,title:`降低项目风险`,desc:`通过代码评审、单元测试和灰度发布机制,提前发现并规避90%的潜在故障。`},{iconBg:`bg-sky-100`,icon:`fas fa-layer-group`,iconColor:`#f59e0b`,title:`沉淀团队资产`,desc:`将个人经验转化为团队文档和通用组件库,避免因人员流动导致的技术断层。`}],ae=[{iconBg:`bg-slate-100`,icon:`fas fa-feather-alt`,iconColor:`#64748b`,cardClass:`bg-white p-8 rounded-xl shadow-sm border border-slate-200`,title:`小型项目`,meta:`1-3人 | 周期 < 1个月`,desc:`简化设计文档(用脑图/流程图),合并部分评审环节。重点保证功能可用、代码可维护。`},{iconBg:`bg-blue-50`,icon:`fas fa-cubes`,iconColor:`#1e40af`,cardClass:`bg-white p-8 rounded-xl shadow-md border-t-4 border-primary transform md:-translate-y-4`,title:`中型项目`,meta:`3-10人 | 周期 1-6个月`,desc:`严格执行 分支规范、代码评审、测试流程。重点控制模块耦合、迭代节奏。`},{iconBg:`bg-slate-100`,icon:`fas fa-city`,iconColor:`#64748b`,cardClass:`bg-white p-8 rounded-xl shadow-sm border border-slate-200`,title:`大型项目`,meta:`10人+ | 周期 > 6个月`,desc:`引入架构师角色,拆分子团队。强化集成测试、灰度发布,建立完善的监控告警体系。`}];return(i,$)=>(r(),l(`div`,ee,[$[10]||=c(``,1),a(`section`,te,[a(`div`,d,[$[0]||=a(`div`,{class:`text-center mb-16`},[a(`h2`,{class:`text-3xl font-bold text-slate-900`},`五大核心原则`),a(`div`,{class:`w-16 h-1 bg-primary mx-auto mt-4 rounded-full`})],-1),a(`div`,f,[(r(),l(s,null,e(u,(e,r)=>a(`div`,{key:r,class:`p-6 bg-slate-50 rounded-xl border border-slate-100 hover:border-primary/30 transition-colors group`},[a(`div`,{class:o([`w-12 h-12 rounded-lg flex items-center justify-center text-xl mb-4 group-hover:scale-110 transition-transform`,e.iconBg])},[a(`i`,{class:o(e.icon),style:t({color:e.iconColor})},null,6)],2),a(`h3`,p,n(e.title),1),a(`p`,m,n(e.desc),1)])),64))])])]),$[11]||=c(`
FIG 1.0: ARCHITECTURE FRAMEWORK
SCALE: 1:100
工程蓝图 & 项目组织 SYSTEM ARCHITECTURE & ORGANIZATION STRUCTURE
模块化框架设计 User Module 用户域
Order Module 订单域
Product Module 商品域
项目目录组织 /src # 源码文件
+ /api # 接口层
+ /v1 # 版本控制
+ /dto # 数据传输对象
+ /core # 核心业务逻辑
+ /domain # 领域模型
+ /service # 业务服务
+ /infrastructure # 基础设施
+ /db # 数据库访问
+ /mq # 消息队列
+ /common # 公共组件
+ /utils # 工具类
+ /config # 配置
+ /tests # 测试目录
+ /unit # 单元测试
+ /integration # 集成测试
+ * 注:严格遵循分层架构,禁止跨层调用。
`,1),a(`section`,h,[a(`div`,g,[$[2]||=a(`div`,{class:`flex flex-col md:flex-row md:items-end justify-between mb-12`},[a(`div`,null,[a(`h2`,{class:`text-3xl font-bold text-gray-900 sm:text-4xl mb-4`},`全生命周期开发规范`),a(`p`,{class:`text-lg text-gray-600 max-w-2xl`},`从需求澄清到线上复盘,标准化每一个环节,确保项目交付的确定性与高质量。`)])],-1),a(`div`,_,[$[1]||=a(`div`,{class:`absolute left-0 md:left-1/2 transform md:-translate-x-1/2 h-full w-1 bg-blue-100 hidden md:block`},null,-1),(r(),l(s,null,e(Q,(e,t)=>a(`div`,{key:t,class:o([`relative z-10 mb-12 md:mb-16`,{"":!0}])},[a(`div`,v,[t%2==0?(r(),l(`div`,y,[a(`h3`,b,n(e.title),1),a(`p`,x,n(e.subtitle),1),a(`p`,S,n(e.desc),1)])):(r(),l(`div`,C)),a(`div`,w,[a(`i`,{class:o(e.icon)},null,2)]),t%2==0?(r(),l(`div`,T)):(r(),l(`div`,E,[a(`h3`,D,n(e.title),1),a(`p`,O,n(e.subtitle),1),a(`p`,k,n(e.desc),1)]))])])),64))])])]),$[12]||=c('开发全流程规范 从需求到上线,每一步都有章可循,确保交付质量。
01
需求与设计阶段 DISCOVERY & DESIGN
需求澄清 输出《需求规格说明书》 明确核心功能、边界条件 确定性能与兼容性指标 组织多方评审会闭环 技术设计 架构选型与风险预案 数据库表结构设计 接口定义 (RESTful/GraphQL) 核心算法逻辑文档化 02
编码实现阶段 CODING & IMPLEMENTATION
通用编码规范维度 规范要求 命名 见名知意,拒绝拼音。类名大驼峰,常量全大写。 注释 核心类/方法必写注释,复杂逻辑加行注释。 安全 防SQL注入、XSS,敏感数据加密,接口鉴权。
Git 版本控制分支策略 master (生产) / develop (开发) / feature-xxx (功能) / hotfix-xxx (紧急修复)
提交规范 feat/fix/docs/style/refactor... 例如: `feat(user): 实现登录`
03
测试与验收 TESTING & ACCEPTANCE
自测 (开发完成) 单元测试 (>70%) 集成测试 (联调) 验收 (产品/客户)
Bug修复需及时回归,验收通过输出报告方可进入发布。
04
输出发布清单与回滚方案 非核心时段发布,数据/代码备份 灰度发布策略,实时监控日志与资源 沉淀部署文档与运维手册 ',1),a(`section`,A,[a(`div`,ne,[a(`div`,j,[a(`div`,null,[$[3]||=a(`h2`,{class:`text-3xl font-bold text-slate-900 sm:text-4xl mb-6`},`无缝团队协作体系`,-1),$[4]||=a(`p`,{class:`text-lg text-slate-600 mb-8`},` 我们通过高频沟通、严格的代码评审和统一的知识库,打破信息孤岛,让团队效能实现 1+1>2。 `,-1),a(`div`,M,[(r(),l(s,null,e(re,(e,t)=>a(`div`,{key:t,class:`flex`},[a(`div`,N,[a(`div`,{class:o([`flex items-center justify-center h-12 w-12 rounded-md text-white`,e.bg])},[a(`i`,{class:o(e.icon)},null,2)],2)]),a(`div`,P,[a(`h3`,F,n(e.title),1),a(`p`,I,n(e.desc),1)])])),64))])]),$[5]||=c(``,1)])])]),a(`section`,L,[a(`div`,R,[a(`div`,z,[a(`div`,B,[$[6]||=a(`h2`,{class:`text-3xl font-bold text-slate-900 mb-6`},`为什么选择"协同筑码"工作法?`,-1),$[7]||=a(`p`,{class:`text-slate-500 mb-8 leading-relaxed`},` 传统开发往往陷入"进度赶不上变化、代码质量不可控、新人上手难"的困境。我们的方法论旨在从根本上解决这些痛点,通过标准化流程实现技术与业务的完美融合。 `,-1),a(`div`,V,[(r(),l(s,null,e(ie,(e,r)=>a(`div`,{key:r,class:`flex`},[a(`div`,H,[a(`div`,{class:o([`flex items-center justify-center h-10 w-10 rounded-full`,e.iconBg])},[a(`i`,{class:o(e.icon),style:t({color:e.iconColor})},null,6)],2)]),a(`div`,U,[a(`h4`,W,n(e.title),1),a(`p`,G,n(e.desc),1)])])),64))])]),$[8]||=c(``,1)])])]),a(`section`,K,[a(`div`,q,[$[9]||=a(`div`,{class:`text-center mb-16`},[a(`h2`,{class:`text-3xl font-bold text-slate-900`},`灵活适配不同场景`)],-1),a(`div`,J,[(r(),l(s,null,e(ae,(e,r)=>a(`div`,{key:r,class:o(e.cardClass)},[a(`div`,{class:o([`w-12 h-12 rounded-lg flex items-center justify-center mb-4`,e.iconBg])},[a(`i`,{class:o(e.icon),style:t({color:e.iconColor})},null,6)],2),a(`h3`,Y,n(e.title),1),a(`p`,X,n(e.meta),1),a(`p`,{class:`text-sm text-slate-600 leading-relaxed`,innerHTML:e.desc},null,8,Z)],2)),64))])])]),$[13]||=c(`
准备加入我们了吗? 银河锋锐致力于打造高质量、高效率的软件交付标准。如果你认同"协同筑码"的理念,渴望在一个规范、开放、技术驱动的团队中成长,我们诚挚邀请你加入。
* 我们使用 Jira, GitLab, SonarQube 等工具支撑这套方法论
`,1)]))}}),[[`__scopeId`,`data-v-2e2d1c9b`]]);export{Q as default};
\ No newline at end of file
diff --git a/TempLate/assets/CollaborativeCodingView-DKvQ7OzR.css b/TempLate/assets/CollaborativeCodingView-DKvQ7OzR.css
new file mode 100644
index 00000000..3a1a2171
--- /dev/null
+++ b/TempLate/assets/CollaborativeCodingView-DKvQ7OzR.css
@@ -0,0 +1 @@
+.blueprint-bg[data-v-2e2d1c9b]{color:#e0f2fe;background-color:#036;background-image:linear-gradient(#ffffff1a 1px,#0000 1px),linear-gradient(90deg,#ffffff1a 1px,#0000 1px),linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-position:-2px -2px,-2px -2px,-1px -1px,-1px -1px;background-size:100px 100px,100px 100px,20px 20px,20px 20px;font-family:JetBrains Mono,monospace}.blueprint-border[data-v-2e2d1c9b]{border:2px solid #4fc3f7;box-shadow:0 0 10px #4fc3f74d}.blueprint-title[data-v-2e2d1c9b]{text-transform:uppercase;letter-spacing:2px;text-shadow:0 0 5px #ffffff80;border-bottom:2px dashed #4fc3f7;display:inline-block}.blueprint-line[data-v-2e2d1c9b]{opacity:.6;background-color:#4fc3f7;position:absolute}.fade-in-up[data-v-2e2d1c9b]{opacity:0;animation:.8s ease-out forwards fadeInUp-2e2d1c9b;transform:translateY(20px)}@keyframes fadeInUp-2e2d1c9b{to{opacity:1;transform:translateY(0)}}.hover-card[data-v-2e2d1c9b]:hover{transform:translateY(-5px);box-shadow:0 10px 30px -10px #0ea5e94d}.tech-grid-bg[data-v-2e2d1c9b]{background-image:linear-gradient(90deg,#94a3b81f 1px,#0000 1px),linear-gradient(#94a3b81f 1px,#0000 1px);background-size:40px 40px}.glass-card[data-v-2e2d1c9b]{box-shadow:0 4px 6px -1px #00000008,0 2px 4px -1px #00000005}@keyframes spinSlow-2e2d1c9b{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin-slow[data-v-2e2d1c9b]{animation:12s linear infinite spinSlow-2e2d1c9b}:root{--grid-color:#0ea5e91a;--border-color:#38bdf833}
diff --git a/TempLate/assets/CollaborativeCodingView-DPu9XRHh.js b/TempLate/assets/CollaborativeCodingView-DPu9XRHh.js
new file mode 100644
index 00000000..9098b6b8
--- /dev/null
+++ b/TempLate/assets/CollaborativeCodingView-DPu9XRHh.js
@@ -0,0 +1,17 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,j as o,l as s,m as c,p as l}from"./index-CMhybB9x.js";import{t as u}from"./_plugin-vue_export-helper-BDNMzG2s.js";var ee={class:`antialiased selection:bg-primary selection:text-white`},te={id:`core`,class:`py-20 bg-white`},d={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},f={class:`grid grid-cols-1 md:grid-cols-3 lg:grid-cols-5 gap-8`},p={class:`text-lg font-bold text-slate-900 mb-2`},m={class:`text-sm text-slate-500`},h={id:`process`,class:`py-20 tech-grid-bg`},g={class:`max-w-7xl mx-auto px-6`},_={class:`relative`},v={class:`flex flex-col md:flex-row items-start`},y={key:0,class:`md:w-1/2 md:pr-12 md:text-right mb-4 md:mb-0`},b={class:`text-2xl font-bold text-gray-900`},x={class:`text-blue-600 font-medium mb-2`},S={class:`text-gray-600`},C={key:1,class:`md:w-1/2 md:pr-12 order-1 md:order-none`},w={class:`hidden md:flex w-10 h-10 bg-blue-600 rounded-full items-center justify-center text-white font-bold shadow-lg border-4 border-white absolute left-1/2 transform -translate-x-1/2 order-2`},T={key:2,class:`md:w-1/2 md:pl-12 order-3 md:order-none`},E={key:3,class:`md:w-1/2 md:pl-12 mb-4 md:mb-0 order-3 md:order-none`},D={class:`text-2xl font-bold text-gray-900`},O={class:`text-blue-600 font-medium mb-2`},k={class:`text-gray-600`},A={id:`collaboration`,class:`py-20 bg-white`},ne={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},j={class:`grid grid-cols-1 lg:grid-cols-2 gap-16 items-center`},M={class:`space-y-6`},N={class:`flex-shrink-0`},P={class:`ml-4`},F={class:`text-lg leading-6 font-medium text-slate-900`},I={class:`mt-2 text-base text-slate-500`},L={id:`advantages`,class:`py-20 bg-white`},R={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},z={class:`flex flex-col md:flex-row items-center gap-12`},B={class:`md:w-1/2`},V={class:`space-y-6`},H={class:`flex-shrink-0 mt-1`},U={class:`ml-4`},W={class:`text-lg font-bold text-slate-900`},G={class:`text-slate-500 mt-1 text-sm`},K={class:`py-20 bg-slate-50 border-t border-slate-200`},q={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},J={class:`grid grid-cols-1 md:grid-cols-3 gap-8`},Y={class:`text-xl font-bold text-slate-900 mb-2`},X={class:`text-sm text-slate-500 mb-4`},Z=[`innerHTML`],Q=u(i({__name:`CollaborativeCodingView`,setup(i){let u=[{iconBg:`bg-blue-100`,icon:`fas fa-gem`,iconColor:`var(--color-primary, #1e40af)`,title:`价值导向`,desc:`拒绝炫技,聚焦业务问题解决,优先保证功能可用与稳定。`},{iconBg:`bg-indigo-100`,icon:`fas fa-ruler-combined`,iconColor:`#3b82f6`,title:`规范先行`,desc:`统一编码、分支与文档规范,降低协作成本,提升可读性。`},{iconBg:`bg-sky-100`,icon:`fas fa-shoe-prints`,iconColor:`#f59e0b`,title:`增量迭代`,desc:`小步快跑,拆分大需求为小任务,每轮输出可验证成果。`},{iconBg:`bg-emerald-100`,icon:`fas fa-shield-alt`,iconColor:`#10b981`,title:`质量内建`,desc:`测试、复盘、优化融入全流程,而非仅依赖最终验收。`},{iconBg:`bg-amber-100`,icon:`fas fa-users`,iconColor:`#f59e0b`,title:`知识共享`,desc:`鼓励代码评审与技术分享,沉淀通用能力,打破壁垒。`}],Q=[{title:`01. 需求与设计`,subtitle:`澄清与架构`,icon:`fa fa-file-text`,desc:`输出《需求规格说明书》,明确边界与性能指标。核心模块产出《技术设计文档》,包含架构选型、数据库设计与风险应对。拒绝口头沟通偏差。`},{title:`02. 编码实现`,subtitle:`规范化与安全`,icon:`fa fa-code`,desc:`严格遵循通用编码规范(命名、注释、格式)。采用 Git Flow 分支策略(feature/develop/master),提交信息规范化。注重模块化开发与安全防护(防注入、加密)。`},{title:`03. 测试与验收`,subtitle:`多层次验证`,icon:`fa fa-bug`,desc:`开发自测 -> 单元测试(70%覆盖率) -> 集成测试。Bug修复需回归测试。提测必须包含自测报告与更新后的文档,确保交付物完整。`},{title:`04. 发布与运维`,subtitle:`灰度与监控`,icon:`fa fa-rocket`,desc:`执行非核心时段发布,支持灰度发布。实时监控日志与资源状态。具备完善的回滚机制与运维文档,确保生产环境稳定。`},{title:`05. 复盘与优化`,subtitle:`持续改进`,icon:`fa fa-line-chart`,desc:`每轮迭代复盘,总结亮点与问题。定期清理技术债务,评估新技术升级,持续优化开发效能。`}],re=[{bg:`bg-blue-500`,icon:`fa-solid fa-people-group`,title:`每日站会 (10分钟)`,desc:`同步进度、暴露阻塞、协调资源。拒绝长篇大论,只讲干货。`},{bg:`bg-indigo-500`,icon:`fa fa-code`,title:`严格代码评审 (CR)`,desc:`对事不对人,聚焦逻辑正确性、性能与安全。每行合并代码至少经过一双眼睛。`},{bg:`bg-cyan-500`,icon:`fa-solid fa-book`,title:`统一文档与知识分享`,desc:`核心文档存储在知识库,接口文档自动生成。定期技术分享,拒绝"单点知识壁垒"。`}],ie=[{iconBg:`bg-blue-100`,icon:`fas fa-tachometer-alt`,iconColor:`#1e40af`,title:`显著提升交付效率`,desc:`增量迭代模式配合自动化工具链,减少重复劳动,让开发专注于核心逻辑。`},{iconBg:`bg-indigo-100`,icon:`fas fa-project-diagram`,iconColor:`#3b82f6`,title:`降低项目风险`,desc:`通过代码评审、单元测试和灰度发布机制,提前发现并规避90%的潜在故障。`},{iconBg:`bg-sky-100`,icon:`fas fa-layer-group`,iconColor:`#f59e0b`,title:`沉淀团队资产`,desc:`将个人经验转化为团队文档和通用组件库,避免因人员流动导致的技术断层。`}],ae=[{iconBg:`bg-slate-100`,icon:`fas fa-feather-alt`,iconColor:`#64748b`,cardClass:`bg-white p-8 rounded-xl shadow-sm border border-slate-200`,title:`小型项目`,meta:`1-3人 | 周期 < 1个月`,desc:`简化设计文档(用脑图/流程图),合并部分评审环节。重点保证功能可用、代码可维护。`},{iconBg:`bg-blue-50`,icon:`fas fa-cubes`,iconColor:`#1e40af`,cardClass:`bg-white p-8 rounded-xl shadow-md border-t-4 border-primary transform md:-translate-y-4`,title:`中型项目`,meta:`3-10人 | 周期 1-6个月`,desc:`严格执行 分支规范、代码评审、测试流程。重点控制模块耦合、迭代节奏。`},{iconBg:`bg-slate-100`,icon:`fas fa-city`,iconColor:`#64748b`,cardClass:`bg-white p-8 rounded-xl shadow-sm border border-slate-200`,title:`大型项目`,meta:`10人+ | 周期 > 6个月`,desc:`引入架构师角色,拆分子团队。强化集成测试、灰度发布,建立完善的监控告警体系。`}];return(i,$)=>(r(),l(`div`,ee,[$[10]||=c(``,1),a(`section`,te,[a(`div`,d,[$[0]||=a(`div`,{class:`text-center mb-16`},[a(`h2`,{class:`text-3xl font-bold text-slate-900`},`五大核心原则`),a(`div`,{class:`w-16 h-1 bg-primary mx-auto mt-4 rounded-full`})],-1),a(`div`,f,[(r(),l(s,null,e(u,(e,r)=>a(`div`,{key:r,class:`p-6 bg-slate-50 rounded-xl border border-slate-100 hover:border-primary/30 transition-colors group`},[a(`div`,{class:o([`w-12 h-12 rounded-lg flex items-center justify-center text-xl mb-4 group-hover:scale-110 transition-transform`,e.iconBg])},[a(`i`,{class:o(e.icon),style:t({color:e.iconColor})},null,6)],2),a(`h3`,p,n(e.title),1),a(`p`,m,n(e.desc),1)])),64))])])]),$[11]||=c(`
FIG 1.0: ARCHITECTURE FRAMEWORK
SCALE: 1:100
工程蓝图 & 项目组织 SYSTEM ARCHITECTURE & ORGANIZATION STRUCTURE
模块化框架设计 User Module 用户域
Order Module 订单域
Product Module 商品域
项目目录组织 /src # 源码文件
+ /api # 接口层
+ /v1 # 版本控制
+ /dto # 数据传输对象
+ /core # 核心业务逻辑
+ /domain # 领域模型
+ /service # 业务服务
+ /infrastructure # 基础设施
+ /db # 数据库访问
+ /mq # 消息队列
+ /common # 公共组件
+ /utils # 工具类
+ /config # 配置
+ /tests # 测试目录
+ /unit # 单元测试
+ /integration # 集成测试
+ * 注:严格遵循分层架构,禁止跨层调用。
`,1),a(`section`,h,[a(`div`,g,[$[2]||=a(`div`,{class:`flex flex-col md:flex-row md:items-end justify-between mb-12`},[a(`div`,null,[a(`h2`,{class:`text-3xl font-bold text-gray-900 sm:text-4xl mb-4`},`全生命周期开发规范`),a(`p`,{class:`text-lg text-gray-600 max-w-2xl`},`从需求澄清到线上复盘,标准化每一个环节,确保项目交付的确定性与高质量。`)])],-1),a(`div`,_,[$[1]||=a(`div`,{class:`absolute left-0 md:left-1/2 transform md:-translate-x-1/2 h-full w-1 bg-blue-100 hidden md:block`},null,-1),(r(),l(s,null,e(Q,(e,t)=>a(`div`,{key:t,class:o([`relative z-10 mb-12 md:mb-16`,{"":!0}])},[a(`div`,v,[t%2==0?(r(),l(`div`,y,[a(`h3`,b,n(e.title),1),a(`p`,x,n(e.subtitle),1),a(`p`,S,n(e.desc),1)])):(r(),l(`div`,C)),a(`div`,w,[a(`i`,{class:o(e.icon)},null,2)]),t%2==0?(r(),l(`div`,T)):(r(),l(`div`,E,[a(`h3`,D,n(e.title),1),a(`p`,O,n(e.subtitle),1),a(`p`,k,n(e.desc),1)]))])])),64))])])]),$[12]||=c('开发全流程规范 从需求到上线,每一步都有章可循,确保交付质量。
01
需求与设计阶段 DISCOVERY & DESIGN
需求澄清 输出《需求规格说明书》 明确核心功能、边界条件 确定性能与兼容性指标 组织多方评审会闭环 技术设计 架构选型与风险预案 数据库表结构设计 接口定义 (RESTful/GraphQL) 核心算法逻辑文档化 02
编码实现阶段 CODING & IMPLEMENTATION
通用编码规范维度 规范要求 命名 见名知意,拒绝拼音。类名大驼峰,常量全大写。 注释 核心类/方法必写注释,复杂逻辑加行注释。 安全 防SQL注入、XSS,敏感数据加密,接口鉴权。
Git 版本控制分支策略 master (生产) / develop (开发) / feature-xxx (功能) / hotfix-xxx (紧急修复)
提交规范 feat/fix/docs/style/refactor... 例如: `feat(user): 实现登录`
03
测试与验收 TESTING & ACCEPTANCE
自测 (开发完成) 单元测试 (>70%) 集成测试 (联调) 验收 (产品/客户)
Bug修复需及时回归,验收通过输出报告方可进入发布。
04
输出发布清单与回滚方案 非核心时段发布,数据/代码备份 灰度发布策略,实时监控日志与资源 沉淀部署文档与运维手册 ',1),a(`section`,A,[a(`div`,ne,[a(`div`,j,[a(`div`,null,[$[3]||=a(`h2`,{class:`text-3xl font-bold text-slate-900 sm:text-4xl mb-6`},`无缝团队协作体系`,-1),$[4]||=a(`p`,{class:`text-lg text-slate-600 mb-8`},` 我们通过高频沟通、严格的代码评审和统一的知识库,打破信息孤岛,让团队效能实现 1+1>2。 `,-1),a(`div`,M,[(r(),l(s,null,e(re,(e,t)=>a(`div`,{key:t,class:`flex`},[a(`div`,N,[a(`div`,{class:o([`flex items-center justify-center h-12 w-12 rounded-md text-white`,e.bg])},[a(`i`,{class:o(e.icon)},null,2)],2)]),a(`div`,P,[a(`h3`,F,n(e.title),1),a(`p`,I,n(e.desc),1)])])),64))])]),$[5]||=c(``,1)])])]),a(`section`,L,[a(`div`,R,[a(`div`,z,[a(`div`,B,[$[6]||=a(`h2`,{class:`text-3xl font-bold text-slate-900 mb-6`},`为什么选择"协同筑码"工作法?`,-1),$[7]||=a(`p`,{class:`text-slate-500 mb-8 leading-relaxed`},` 传统开发往往陷入"进度赶不上变化、代码质量不可控、新人上手难"的困境。我们的方法论旨在从根本上解决这些痛点,通过标准化流程实现技术与业务的完美融合。 `,-1),a(`div`,V,[(r(),l(s,null,e(ie,(e,r)=>a(`div`,{key:r,class:`flex`},[a(`div`,H,[a(`div`,{class:o([`flex items-center justify-center h-10 w-10 rounded-full`,e.iconBg])},[a(`i`,{class:o(e.icon),style:t({color:e.iconColor})},null,6)],2)]),a(`div`,U,[a(`h4`,W,n(e.title),1),a(`p`,G,n(e.desc),1)])])),64))])]),$[8]||=c(``,1)])])]),a(`section`,K,[a(`div`,q,[$[9]||=a(`div`,{class:`text-center mb-16`},[a(`h2`,{class:`text-3xl font-bold text-slate-900`},`灵活适配不同场景`)],-1),a(`div`,J,[(r(),l(s,null,e(ae,(e,r)=>a(`div`,{key:r,class:o(e.cardClass)},[a(`div`,{class:o([`w-12 h-12 rounded-lg flex items-center justify-center mb-4`,e.iconBg])},[a(`i`,{class:o(e.icon),style:t({color:e.iconColor})},null,6)],2),a(`h3`,Y,n(e.title),1),a(`p`,X,n(e.meta),1),a(`p`,{class:`text-sm text-slate-600 leading-relaxed`,innerHTML:e.desc},null,8,Z)],2)),64))])])]),$[13]||=c(`
准备加入我们了吗? 银河锋锐致力于打造高质量、高效率的软件交付标准。如果你认同"协同筑码"的理念,渴望在一个规范、开放、技术驱动的团队中成长,我们诚挚邀请你加入。
* 我们使用 Jira, GitLab, SonarQube 等工具支撑这套方法论
`,1)]))}}),[[`__scopeId`,`data-v-2e2d1c9b`]]);export{Q as default};
\ No newline at end of file
diff --git a/TempLate/assets/CollaborativeCodingView-DwnlTESt.js b/TempLate/assets/CollaborativeCodingView-DwnlTESt.js
new file mode 100644
index 00000000..d5ab56d5
--- /dev/null
+++ b/TempLate/assets/CollaborativeCodingView-DwnlTESt.js
@@ -0,0 +1,17 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,j as o,l as s,m as c,p as l}from"./index-CJXuAy0L.js";import{t as u}from"./_plugin-vue_export-helper-BDNMzG2s.js";var ee={class:`antialiased selection:bg-primary selection:text-white`},te={id:`core`,class:`py-20 bg-white`},d={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},f={class:`grid grid-cols-1 md:grid-cols-3 lg:grid-cols-5 gap-8`},p={class:`text-lg font-bold text-slate-900 mb-2`},m={class:`text-sm text-slate-500`},h={id:`process`,class:`py-20 tech-grid-bg`},g={class:`max-w-7xl mx-auto px-6`},_={class:`relative`},v={class:`flex flex-col md:flex-row items-start`},y={key:0,class:`md:w-1/2 md:pr-12 md:text-right mb-4 md:mb-0`},b={class:`text-2xl font-bold text-gray-900`},x={class:`text-blue-600 font-medium mb-2`},S={class:`text-gray-600`},C={key:1,class:`md:w-1/2 md:pr-12 order-1 md:order-none`},w={class:`hidden md:flex w-10 h-10 bg-blue-600 rounded-full items-center justify-center text-white font-bold shadow-lg border-4 border-white absolute left-1/2 transform -translate-x-1/2 order-2`},T={key:2,class:`md:w-1/2 md:pl-12 order-3 md:order-none`},E={key:3,class:`md:w-1/2 md:pl-12 mb-4 md:mb-0 order-3 md:order-none`},D={class:`text-2xl font-bold text-gray-900`},O={class:`text-blue-600 font-medium mb-2`},k={class:`text-gray-600`},A={id:`collaboration`,class:`py-20 bg-white`},ne={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},j={class:`grid grid-cols-1 lg:grid-cols-2 gap-16 items-center`},M={class:`space-y-6`},N={class:`flex-shrink-0`},P={class:`ml-4`},F={class:`text-lg leading-6 font-medium text-slate-900`},I={class:`mt-2 text-base text-slate-500`},L={id:`advantages`,class:`py-20 bg-white`},R={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},z={class:`flex flex-col md:flex-row items-center gap-12`},B={class:`md:w-1/2`},V={class:`space-y-6`},H={class:`flex-shrink-0 mt-1`},U={class:`ml-4`},W={class:`text-lg font-bold text-slate-900`},G={class:`text-slate-500 mt-1 text-sm`},K={class:`py-20 bg-slate-50 border-t border-slate-200`},q={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},J={class:`grid grid-cols-1 md:grid-cols-3 gap-8`},Y={class:`text-xl font-bold text-slate-900 mb-2`},X={class:`text-sm text-slate-500 mb-4`},Z=[`innerHTML`],Q=u(i({__name:`CollaborativeCodingView`,setup(i){let u=[{iconBg:`bg-blue-100`,icon:`fas fa-gem`,iconColor:`var(--color-primary, #1e40af)`,title:`价值导向`,desc:`拒绝炫技,聚焦业务问题解决,优先保证功能可用与稳定。`},{iconBg:`bg-indigo-100`,icon:`fas fa-ruler-combined`,iconColor:`#3b82f6`,title:`规范先行`,desc:`统一编码、分支与文档规范,降低协作成本,提升可读性。`},{iconBg:`bg-sky-100`,icon:`fas fa-shoe-prints`,iconColor:`#f59e0b`,title:`增量迭代`,desc:`小步快跑,拆分大需求为小任务,每轮输出可验证成果。`},{iconBg:`bg-emerald-100`,icon:`fas fa-shield-alt`,iconColor:`#10b981`,title:`质量内建`,desc:`测试、复盘、优化融入全流程,而非仅依赖最终验收。`},{iconBg:`bg-amber-100`,icon:`fas fa-users`,iconColor:`#f59e0b`,title:`知识共享`,desc:`鼓励代码评审与技术分享,沉淀通用能力,打破壁垒。`}],Q=[{title:`01. 需求与设计`,subtitle:`澄清与架构`,icon:`fa fa-file-text`,desc:`输出《需求规格说明书》,明确边界与性能指标。核心模块产出《技术设计文档》,包含架构选型、数据库设计与风险应对。拒绝口头沟通偏差。`},{title:`02. 编码实现`,subtitle:`规范化与安全`,icon:`fa fa-code`,desc:`严格遵循通用编码规范(命名、注释、格式)。采用 Git Flow 分支策略(feature/develop/master),提交信息规范化。注重模块化开发与安全防护(防注入、加密)。`},{title:`03. 测试与验收`,subtitle:`多层次验证`,icon:`fa fa-bug`,desc:`开发自测 -> 单元测试(70%覆盖率) -> 集成测试。Bug修复需回归测试。提测必须包含自测报告与更新后的文档,确保交付物完整。`},{title:`04. 发布与运维`,subtitle:`灰度与监控`,icon:`fa fa-rocket`,desc:`执行非核心时段发布,支持灰度发布。实时监控日志与资源状态。具备完善的回滚机制与运维文档,确保生产环境稳定。`},{title:`05. 复盘与优化`,subtitle:`持续改进`,icon:`fa fa-line-chart`,desc:`每轮迭代复盘,总结亮点与问题。定期清理技术债务,评估新技术升级,持续优化开发效能。`}],re=[{bg:`bg-blue-500`,icon:`fa-solid fa-people-group`,title:`每日站会 (10分钟)`,desc:`同步进度、暴露阻塞、协调资源。拒绝长篇大论,只讲干货。`},{bg:`bg-indigo-500`,icon:`fa fa-code`,title:`严格代码评审 (CR)`,desc:`对事不对人,聚焦逻辑正确性、性能与安全。每行合并代码至少经过一双眼睛。`},{bg:`bg-cyan-500`,icon:`fa-solid fa-book`,title:`统一文档与知识分享`,desc:`核心文档存储在知识库,接口文档自动生成。定期技术分享,拒绝"单点知识壁垒"。`}],ie=[{iconBg:`bg-blue-100`,icon:`fas fa-tachometer-alt`,iconColor:`#1e40af`,title:`显著提升交付效率`,desc:`增量迭代模式配合自动化工具链,减少重复劳动,让开发专注于核心逻辑。`},{iconBg:`bg-indigo-100`,icon:`fas fa-project-diagram`,iconColor:`#3b82f6`,title:`降低项目风险`,desc:`通过代码评审、单元测试和灰度发布机制,提前发现并规避90%的潜在故障。`},{iconBg:`bg-sky-100`,icon:`fas fa-layer-group`,iconColor:`#f59e0b`,title:`沉淀团队资产`,desc:`将个人经验转化为团队文档和通用组件库,避免因人员流动导致的技术断层。`}],ae=[{iconBg:`bg-slate-100`,icon:`fas fa-feather-alt`,iconColor:`#64748b`,cardClass:`bg-white p-8 rounded-xl shadow-sm border border-slate-200`,title:`小型项目`,meta:`1-3人 | 周期 < 1个月`,desc:`简化设计文档(用脑图/流程图),合并部分评审环节。重点保证功能可用、代码可维护。`},{iconBg:`bg-blue-50`,icon:`fas fa-cubes`,iconColor:`#1e40af`,cardClass:`bg-white p-8 rounded-xl shadow-md border-t-4 border-primary transform md:-translate-y-4`,title:`中型项目`,meta:`3-10人 | 周期 1-6个月`,desc:`严格执行 分支规范、代码评审、测试流程。重点控制模块耦合、迭代节奏。`},{iconBg:`bg-slate-100`,icon:`fas fa-city`,iconColor:`#64748b`,cardClass:`bg-white p-8 rounded-xl shadow-sm border border-slate-200`,title:`大型项目`,meta:`10人+ | 周期 > 6个月`,desc:`引入架构师角色,拆分子团队。强化集成测试、灰度发布,建立完善的监控告警体系。`}];return(i,$)=>(r(),l(`div`,ee,[$[10]||=c(``,1),a(`section`,te,[a(`div`,d,[$[0]||=a(`div`,{class:`text-center mb-16`},[a(`h2`,{class:`text-3xl font-bold text-slate-900`},`五大核心原则`),a(`div`,{class:`w-16 h-1 bg-primary mx-auto mt-4 rounded-full`})],-1),a(`div`,f,[(r(),l(s,null,e(u,(e,r)=>a(`div`,{key:r,class:`p-6 bg-slate-50 rounded-xl border border-slate-100 hover:border-primary/30 transition-colors group`},[a(`div`,{class:o([`w-12 h-12 rounded-lg flex items-center justify-center text-xl mb-4 group-hover:scale-110 transition-transform`,e.iconBg])},[a(`i`,{class:o(e.icon),style:t({color:e.iconColor})},null,6)],2),a(`h3`,p,n(e.title),1),a(`p`,m,n(e.desc),1)])),64))])])]),$[11]||=c(`
FIG 1.0: ARCHITECTURE FRAMEWORK
SCALE: 1:100
工程蓝图 & 项目组织 SYSTEM ARCHITECTURE & ORGANIZATION STRUCTURE
模块化框架设计 User Module 用户域
Order Module 订单域
Product Module 商品域
项目目录组织 /src # 源码文件
+ /api # 接口层
+ /v1 # 版本控制
+ /dto # 数据传输对象
+ /core # 核心业务逻辑
+ /domain # 领域模型
+ /service # 业务服务
+ /infrastructure # 基础设施
+ /db # 数据库访问
+ /mq # 消息队列
+ /common # 公共组件
+ /utils # 工具类
+ /config # 配置
+ /tests # 测试目录
+ /unit # 单元测试
+ /integration # 集成测试
+ * 注:严格遵循分层架构,禁止跨层调用。
`,1),a(`section`,h,[a(`div`,g,[$[2]||=a(`div`,{class:`flex flex-col md:flex-row md:items-end justify-between mb-12`},[a(`div`,null,[a(`h2`,{class:`text-3xl font-bold text-gray-900 sm:text-4xl mb-4`},`全生命周期开发规范`),a(`p`,{class:`text-lg text-gray-600 max-w-2xl`},`从需求澄清到线上复盘,标准化每一个环节,确保项目交付的确定性与高质量。`)])],-1),a(`div`,_,[$[1]||=a(`div`,{class:`absolute left-0 md:left-1/2 transform md:-translate-x-1/2 h-full w-1 bg-blue-100 hidden md:block`},null,-1),(r(),l(s,null,e(Q,(e,t)=>a(`div`,{key:t,class:o([`relative z-10 mb-12 md:mb-16`,{"":!0}])},[a(`div`,v,[t%2==0?(r(),l(`div`,y,[a(`h3`,b,n(e.title),1),a(`p`,x,n(e.subtitle),1),a(`p`,S,n(e.desc),1)])):(r(),l(`div`,C)),a(`div`,w,[a(`i`,{class:o(e.icon)},null,2)]),t%2==0?(r(),l(`div`,T)):(r(),l(`div`,E,[a(`h3`,D,n(e.title),1),a(`p`,O,n(e.subtitle),1),a(`p`,k,n(e.desc),1)]))])])),64))])])]),$[12]||=c('开发全流程规范 从需求到上线,每一步都有章可循,确保交付质量。
01
需求与设计阶段 DISCOVERY & DESIGN
需求澄清 输出《需求规格说明书》 明确核心功能、边界条件 确定性能与兼容性指标 组织多方评审会闭环 技术设计 架构选型与风险预案 数据库表结构设计 接口定义 (RESTful/GraphQL) 核心算法逻辑文档化 02
编码实现阶段 CODING & IMPLEMENTATION
通用编码规范维度 规范要求 命名 见名知意,拒绝拼音。类名大驼峰,常量全大写。 注释 核心类/方法必写注释,复杂逻辑加行注释。 安全 防SQL注入、XSS,敏感数据加密,接口鉴权。
Git 版本控制分支策略 master (生产) / develop (开发) / feature-xxx (功能) / hotfix-xxx (紧急修复)
提交规范 feat/fix/docs/style/refactor... 例如: `feat(user): 实现登录`
03
测试与验收 TESTING & ACCEPTANCE
自测 (开发完成) 单元测试 (>70%) 集成测试 (联调) 验收 (产品/客户)
Bug修复需及时回归,验收通过输出报告方可进入发布。
04
输出发布清单与回滚方案 非核心时段发布,数据/代码备份 灰度发布策略,实时监控日志与资源 沉淀部署文档与运维手册 ',1),a(`section`,A,[a(`div`,ne,[a(`div`,j,[a(`div`,null,[$[3]||=a(`h2`,{class:`text-3xl font-bold text-slate-900 sm:text-4xl mb-6`},`无缝团队协作体系`,-1),$[4]||=a(`p`,{class:`text-lg text-slate-600 mb-8`},` 我们通过高频沟通、严格的代码评审和统一的知识库,打破信息孤岛,让团队效能实现 1+1>2。 `,-1),a(`div`,M,[(r(),l(s,null,e(re,(e,t)=>a(`div`,{key:t,class:`flex`},[a(`div`,N,[a(`div`,{class:o([`flex items-center justify-center h-12 w-12 rounded-md text-white`,e.bg])},[a(`i`,{class:o(e.icon)},null,2)],2)]),a(`div`,P,[a(`h3`,F,n(e.title),1),a(`p`,I,n(e.desc),1)])])),64))])]),$[5]||=c(``,1)])])]),a(`section`,L,[a(`div`,R,[a(`div`,z,[a(`div`,B,[$[6]||=a(`h2`,{class:`text-3xl font-bold text-slate-900 mb-6`},`为什么选择"协同筑码"工作法?`,-1),$[7]||=a(`p`,{class:`text-slate-500 mb-8 leading-relaxed`},` 传统开发往往陷入"进度赶不上变化、代码质量不可控、新人上手难"的困境。我们的方法论旨在从根本上解决这些痛点,通过标准化流程实现技术与业务的完美融合。 `,-1),a(`div`,V,[(r(),l(s,null,e(ie,(e,r)=>a(`div`,{key:r,class:`flex`},[a(`div`,H,[a(`div`,{class:o([`flex items-center justify-center h-10 w-10 rounded-full`,e.iconBg])},[a(`i`,{class:o(e.icon),style:t({color:e.iconColor})},null,6)],2)]),a(`div`,U,[a(`h4`,W,n(e.title),1),a(`p`,G,n(e.desc),1)])])),64))])]),$[8]||=c(``,1)])])]),a(`section`,K,[a(`div`,q,[$[9]||=a(`div`,{class:`text-center mb-16`},[a(`h2`,{class:`text-3xl font-bold text-slate-900`},`灵活适配不同场景`)],-1),a(`div`,J,[(r(),l(s,null,e(ae,(e,r)=>a(`div`,{key:r,class:o(e.cardClass)},[a(`div`,{class:o([`w-12 h-12 rounded-lg flex items-center justify-center mb-4`,e.iconBg])},[a(`i`,{class:o(e.icon),style:t({color:e.iconColor})},null,6)],2),a(`h3`,Y,n(e.title),1),a(`p`,X,n(e.meta),1),a(`p`,{class:`text-sm text-slate-600 leading-relaxed`,innerHTML:e.desc},null,8,Z)],2)),64))])])]),$[13]||=c(`
准备加入我们了吗? 银河锋锐致力于打造高质量、高效率的软件交付标准。如果你认同"协同筑码"的理念,渴望在一个规范、开放、技术驱动的团队中成长,我们诚挚邀请你加入。
* 我们使用 Jira, GitLab, SonarQube 等工具支撑这套方法论
`,1)]))}}),[[`__scopeId`,`data-v-2e2d1c9b`]]);export{Q as default};
\ No newline at end of file
diff --git a/TempLate/assets/CollaborativeCodingView-XPlXiD8j.js b/TempLate/assets/CollaborativeCodingView-XPlXiD8j.js
new file mode 100644
index 00000000..d319a8a5
--- /dev/null
+++ b/TempLate/assets/CollaborativeCodingView-XPlXiD8j.js
@@ -0,0 +1,17 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,j as o,l as s,m as c,p as l}from"./index-CUry87of.js";import{t as u}from"./_plugin-vue_export-helper-BDNMzG2s.js";var ee={class:`antialiased selection:bg-primary selection:text-white`},te={id:`core`,class:`py-20 bg-white`},d={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},f={class:`grid grid-cols-1 md:grid-cols-3 lg:grid-cols-5 gap-8`},p={class:`text-lg font-bold text-slate-900 mb-2`},m={class:`text-sm text-slate-500`},h={id:`process`,class:`py-20 tech-grid-bg`},g={class:`max-w-7xl mx-auto px-6`},_={class:`relative`},v={class:`flex flex-col md:flex-row items-start`},y={key:0,class:`md:w-1/2 md:pr-12 md:text-right mb-4 md:mb-0`},b={class:`text-2xl font-bold text-gray-900`},x={class:`text-blue-600 font-medium mb-2`},S={class:`text-gray-600`},C={key:1,class:`md:w-1/2 md:pr-12 order-1 md:order-none`},w={class:`hidden md:flex w-10 h-10 bg-blue-600 rounded-full items-center justify-center text-white font-bold shadow-lg border-4 border-white absolute left-1/2 transform -translate-x-1/2 order-2`},T={key:2,class:`md:w-1/2 md:pl-12 order-3 md:order-none`},E={key:3,class:`md:w-1/2 md:pl-12 mb-4 md:mb-0 order-3 md:order-none`},D={class:`text-2xl font-bold text-gray-900`},O={class:`text-blue-600 font-medium mb-2`},k={class:`text-gray-600`},A={id:`collaboration`,class:`py-20 bg-white`},ne={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},j={class:`grid grid-cols-1 lg:grid-cols-2 gap-16 items-center`},M={class:`space-y-6`},N={class:`flex-shrink-0`},P={class:`ml-4`},F={class:`text-lg leading-6 font-medium text-slate-900`},I={class:`mt-2 text-base text-slate-500`},L={id:`advantages`,class:`py-20 bg-white`},R={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},z={class:`flex flex-col md:flex-row items-center gap-12`},B={class:`md:w-1/2`},V={class:`space-y-6`},H={class:`flex-shrink-0 mt-1`},U={class:`ml-4`},W={class:`text-lg font-bold text-slate-900`},G={class:`text-slate-500 mt-1 text-sm`},K={class:`py-20 bg-slate-50 border-t border-slate-200`},q={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},J={class:`grid grid-cols-1 md:grid-cols-3 gap-8`},Y={class:`text-xl font-bold text-slate-900 mb-2`},X={class:`text-sm text-slate-500 mb-4`},Z=[`innerHTML`],Q=u(i({__name:`CollaborativeCodingView`,setup(i){let u=[{iconBg:`bg-blue-100`,icon:`fas fa-gem`,iconColor:`var(--color-primary, #1e40af)`,title:`价值导向`,desc:`拒绝炫技,聚焦业务问题解决,优先保证功能可用与稳定。`},{iconBg:`bg-indigo-100`,icon:`fas fa-ruler-combined`,iconColor:`#3b82f6`,title:`规范先行`,desc:`统一编码、分支与文档规范,降低协作成本,提升可读性。`},{iconBg:`bg-sky-100`,icon:`fas fa-shoe-prints`,iconColor:`#f59e0b`,title:`增量迭代`,desc:`小步快跑,拆分大需求为小任务,每轮输出可验证成果。`},{iconBg:`bg-emerald-100`,icon:`fas fa-shield-alt`,iconColor:`#10b981`,title:`质量内建`,desc:`测试、复盘、优化融入全流程,而非仅依赖最终验收。`},{iconBg:`bg-amber-100`,icon:`fas fa-users`,iconColor:`#f59e0b`,title:`知识共享`,desc:`鼓励代码评审与技术分享,沉淀通用能力,打破壁垒。`}],Q=[{title:`01. 需求与设计`,subtitle:`澄清与架构`,icon:`fa fa-file-text`,desc:`输出《需求规格说明书》,明确边界与性能指标。核心模块产出《技术设计文档》,包含架构选型、数据库设计与风险应对。拒绝口头沟通偏差。`},{title:`02. 编码实现`,subtitle:`规范化与安全`,icon:`fa fa-code`,desc:`严格遵循通用编码规范(命名、注释、格式)。采用 Git Flow 分支策略(feature/develop/master),提交信息规范化。注重模块化开发与安全防护(防注入、加密)。`},{title:`03. 测试与验收`,subtitle:`多层次验证`,icon:`fa fa-bug`,desc:`开发自测 -> 单元测试(70%覆盖率) -> 集成测试。Bug修复需回归测试。提测必须包含自测报告与更新后的文档,确保交付物完整。`},{title:`04. 发布与运维`,subtitle:`灰度与监控`,icon:`fa fa-rocket`,desc:`执行非核心时段发布,支持灰度发布。实时监控日志与资源状态。具备完善的回滚机制与运维文档,确保生产环境稳定。`},{title:`05. 复盘与优化`,subtitle:`持续改进`,icon:`fa fa-line-chart`,desc:`每轮迭代复盘,总结亮点与问题。定期清理技术债务,评估新技术升级,持续优化开发效能。`}],re=[{bg:`bg-blue-500`,icon:`fa-solid fa-people-group`,title:`每日站会 (10分钟)`,desc:`同步进度、暴露阻塞、协调资源。拒绝长篇大论,只讲干货。`},{bg:`bg-indigo-500`,icon:`fa fa-code`,title:`严格代码评审 (CR)`,desc:`对事不对人,聚焦逻辑正确性、性能与安全。每行合并代码至少经过一双眼睛。`},{bg:`bg-cyan-500`,icon:`fa-solid fa-book`,title:`统一文档与知识分享`,desc:`核心文档存储在知识库,接口文档自动生成。定期技术分享,拒绝"单点知识壁垒"。`}],ie=[{iconBg:`bg-blue-100`,icon:`fas fa-tachometer-alt`,iconColor:`#1e40af`,title:`显著提升交付效率`,desc:`增量迭代模式配合自动化工具链,减少重复劳动,让开发专注于核心逻辑。`},{iconBg:`bg-indigo-100`,icon:`fas fa-project-diagram`,iconColor:`#3b82f6`,title:`降低项目风险`,desc:`通过代码评审、单元测试和灰度发布机制,提前发现并规避90%的潜在故障。`},{iconBg:`bg-sky-100`,icon:`fas fa-layer-group`,iconColor:`#f59e0b`,title:`沉淀团队资产`,desc:`将个人经验转化为团队文档和通用组件库,避免因人员流动导致的技术断层。`}],ae=[{iconBg:`bg-slate-100`,icon:`fas fa-feather-alt`,iconColor:`#64748b`,cardClass:`bg-white p-8 rounded-xl shadow-sm border border-slate-200`,title:`小型项目`,meta:`1-3人 | 周期 < 1个月`,desc:`简化设计文档(用脑图/流程图),合并部分评审环节。重点保证功能可用、代码可维护。`},{iconBg:`bg-blue-50`,icon:`fas fa-cubes`,iconColor:`#1e40af`,cardClass:`bg-white p-8 rounded-xl shadow-md border-t-4 border-primary transform md:-translate-y-4`,title:`中型项目`,meta:`3-10人 | 周期 1-6个月`,desc:`严格执行 分支规范、代码评审、测试流程。重点控制模块耦合、迭代节奏。`},{iconBg:`bg-slate-100`,icon:`fas fa-city`,iconColor:`#64748b`,cardClass:`bg-white p-8 rounded-xl shadow-sm border border-slate-200`,title:`大型项目`,meta:`10人+ | 周期 > 6个月`,desc:`引入架构师角色,拆分子团队。强化集成测试、灰度发布,建立完善的监控告警体系。`}];return(i,$)=>(r(),l(`div`,ee,[$[10]||=c(``,1),a(`section`,te,[a(`div`,d,[$[0]||=a(`div`,{class:`text-center mb-16`},[a(`h2`,{class:`text-3xl font-bold text-slate-900`},`五大核心原则`),a(`div`,{class:`w-16 h-1 bg-primary mx-auto mt-4 rounded-full`})],-1),a(`div`,f,[(r(),l(s,null,e(u,(e,r)=>a(`div`,{key:r,class:`p-6 bg-slate-50 rounded-xl border border-slate-100 hover:border-primary/30 transition-colors group`},[a(`div`,{class:o([`w-12 h-12 rounded-lg flex items-center justify-center text-xl mb-4 group-hover:scale-110 transition-transform`,e.iconBg])},[a(`i`,{class:o(e.icon),style:t({color:e.iconColor})},null,6)],2),a(`h3`,p,n(e.title),1),a(`p`,m,n(e.desc),1)])),64))])])]),$[11]||=c(`
FIG 1.0: ARCHITECTURE FRAMEWORK
SCALE: 1:100
工程蓝图 & 项目组织 SYSTEM ARCHITECTURE & ORGANIZATION STRUCTURE
模块化框架设计 User Module 用户域
Order Module 订单域
Product Module 商品域
项目目录组织 /src # 源码文件
+ /api # 接口层
+ /v1 # 版本控制
+ /dto # 数据传输对象
+ /core # 核心业务逻辑
+ /domain # 领域模型
+ /service # 业务服务
+ /infrastructure # 基础设施
+ /db # 数据库访问
+ /mq # 消息队列
+ /common # 公共组件
+ /utils # 工具类
+ /config # 配置
+ /tests # 测试目录
+ /unit # 单元测试
+ /integration # 集成测试
+ * 注:严格遵循分层架构,禁止跨层调用。
`,1),a(`section`,h,[a(`div`,g,[$[2]||=a(`div`,{class:`flex flex-col md:flex-row md:items-end justify-between mb-12`},[a(`div`,null,[a(`h2`,{class:`text-3xl font-bold text-gray-900 sm:text-4xl mb-4`},`全生命周期开发规范`),a(`p`,{class:`text-lg text-gray-600 max-w-2xl`},`从需求澄清到线上复盘,标准化每一个环节,确保项目交付的确定性与高质量。`)])],-1),a(`div`,_,[$[1]||=a(`div`,{class:`absolute left-0 md:left-1/2 transform md:-translate-x-1/2 h-full w-1 bg-blue-100 hidden md:block`},null,-1),(r(),l(s,null,e(Q,(e,t)=>a(`div`,{key:t,class:o([`relative z-10 mb-12 md:mb-16`,{"":!0}])},[a(`div`,v,[t%2==0?(r(),l(`div`,y,[a(`h3`,b,n(e.title),1),a(`p`,x,n(e.subtitle),1),a(`p`,S,n(e.desc),1)])):(r(),l(`div`,C)),a(`div`,w,[a(`i`,{class:o(e.icon)},null,2)]),t%2==0?(r(),l(`div`,T)):(r(),l(`div`,E,[a(`h3`,D,n(e.title),1),a(`p`,O,n(e.subtitle),1),a(`p`,k,n(e.desc),1)]))])])),64))])])]),$[12]||=c('开发全流程规范 从需求到上线,每一步都有章可循,确保交付质量。
01
需求与设计阶段 DISCOVERY & DESIGN
需求澄清 输出《需求规格说明书》 明确核心功能、边界条件 确定性能与兼容性指标 组织多方评审会闭环 技术设计 架构选型与风险预案 数据库表结构设计 接口定义 (RESTful/GraphQL) 核心算法逻辑文档化 02
编码实现阶段 CODING & IMPLEMENTATION
通用编码规范维度 规范要求 命名 见名知意,拒绝拼音。类名大驼峰,常量全大写。 注释 核心类/方法必写注释,复杂逻辑加行注释。 安全 防SQL注入、XSS,敏感数据加密,接口鉴权。
Git 版本控制分支策略 master (生产) / develop (开发) / feature-xxx (功能) / hotfix-xxx (紧急修复)
提交规范 feat/fix/docs/style/refactor... 例如: `feat(user): 实现登录`
03
测试与验收 TESTING & ACCEPTANCE
自测 (开发完成) 单元测试 (>70%) 集成测试 (联调) 验收 (产品/客户)
Bug修复需及时回归,验收通过输出报告方可进入发布。
04
输出发布清单与回滚方案 非核心时段发布,数据/代码备份 灰度发布策略,实时监控日志与资源 沉淀部署文档与运维手册 ',1),a(`section`,A,[a(`div`,ne,[a(`div`,j,[a(`div`,null,[$[3]||=a(`h2`,{class:`text-3xl font-bold text-slate-900 sm:text-4xl mb-6`},`无缝团队协作体系`,-1),$[4]||=a(`p`,{class:`text-lg text-slate-600 mb-8`},` 我们通过高频沟通、严格的代码评审和统一的知识库,打破信息孤岛,让团队效能实现 1+1>2。 `,-1),a(`div`,M,[(r(),l(s,null,e(re,(e,t)=>a(`div`,{key:t,class:`flex`},[a(`div`,N,[a(`div`,{class:o([`flex items-center justify-center h-12 w-12 rounded-md text-white`,e.bg])},[a(`i`,{class:o(e.icon)},null,2)],2)]),a(`div`,P,[a(`h3`,F,n(e.title),1),a(`p`,I,n(e.desc),1)])])),64))])]),$[5]||=c(``,1)])])]),a(`section`,L,[a(`div`,R,[a(`div`,z,[a(`div`,B,[$[6]||=a(`h2`,{class:`text-3xl font-bold text-slate-900 mb-6`},`为什么选择"协同筑码"工作法?`,-1),$[7]||=a(`p`,{class:`text-slate-500 mb-8 leading-relaxed`},` 传统开发往往陷入"进度赶不上变化、代码质量不可控、新人上手难"的困境。我们的方法论旨在从根本上解决这些痛点,通过标准化流程实现技术与业务的完美融合。 `,-1),a(`div`,V,[(r(),l(s,null,e(ie,(e,r)=>a(`div`,{key:r,class:`flex`},[a(`div`,H,[a(`div`,{class:o([`flex items-center justify-center h-10 w-10 rounded-full`,e.iconBg])},[a(`i`,{class:o(e.icon),style:t({color:e.iconColor})},null,6)],2)]),a(`div`,U,[a(`h4`,W,n(e.title),1),a(`p`,G,n(e.desc),1)])])),64))])]),$[8]||=c(``,1)])])]),a(`section`,K,[a(`div`,q,[$[9]||=a(`div`,{class:`text-center mb-16`},[a(`h2`,{class:`text-3xl font-bold text-slate-900`},`灵活适配不同场景`)],-1),a(`div`,J,[(r(),l(s,null,e(ae,(e,r)=>a(`div`,{key:r,class:o(e.cardClass)},[a(`div`,{class:o([`w-12 h-12 rounded-lg flex items-center justify-center mb-4`,e.iconBg])},[a(`i`,{class:o(e.icon),style:t({color:e.iconColor})},null,6)],2),a(`h3`,Y,n(e.title),1),a(`p`,X,n(e.meta),1),a(`p`,{class:`text-sm text-slate-600 leading-relaxed`,innerHTML:e.desc},null,8,Z)],2)),64))])])]),$[13]||=c(`
准备加入我们了吗? 银河锋锐致力于打造高质量、高效率的软件交付标准。如果你认同"协同筑码"的理念,渴望在一个规范、开放、技术驱动的团队中成长,我们诚挚邀请你加入。
* 我们使用 Jira, GitLab, SonarQube 等工具支撑这套方法论
`,1)]))}}),[[`__scopeId`,`data-v-2e2d1c9b`]]);export{Q as default};
\ No newline at end of file
diff --git a/TempLate/assets/ContactView-C1WH-kol.js b/TempLate/assets/ContactView-C1WH-kol.js
new file mode 100644
index 00000000..dd3349f8
--- /dev/null
+++ b/TempLate/assets/ContactView-C1WH-kol.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,f as a,j as o,l as s,m as c,p as l}from"./index-UfMysbwD.js";var u={class:`min-h-screen flex flex-col`},d={class:`flex-grow py-12 md:py-20 px-4 md:px-8 lg:px-16`},f={class:`max-w-7xl mx-auto`},p={class:`grid grid-cols-1 md:grid-cols-3 gap-6 mb-12`},m={class:`w-14 h-14 bg-primary/10 rounded-full flex items-center justify-center mb-6`},h={class:`text-xl font-semibold mb-3`},g={class:`text-accent`},_={key:0,class:`text-accent text-sm mt-2`},v={class:`bg-white p-8 md:p-12 rounded-xl shadow-elevated mb-20`},y={class:`flex justify-center gap-8 md:gap-16 flex-wrap`},b={class:`text-base font-medium mb-6 tracking-[0.3px]`},x={class:`w-[180px] h-[180px] mx-auto mb-6 border border-gray-200 p-3 bg-white rounded-lg flex items-center justify-center`},S=[`src`,`alt`],C={class:`text-sm text-accent leading-[1.6]`},w={class:`mb-12`},T={class:`flex justify-between relative px-4 md:px-8 flex-wrap`},E={class:`w-10 h-10 bg-slate-800 text-white rounded-full flex items-center justify-center mx-auto mb-6 text-sm`},D={class:`text-[0.95rem] font-medium mb-3`},O={class:`text-sm text-accent leading-[1.7]`},k=r({__name:`ContactView`,setup(r){let k=[{title:`公司地址`,icon:`fa fa-map-marker`,value:`无物理地址`,sub:``},{title:`联系电话`,icon:`fa fa-phone`,value:`182-2215-2539`,sub:`周末 9:00 - 22:00`},{title:`电子邮箱`,icon:`fa fa-envelope`,value:`support@gvsds.com`,sub:`48 小时内回复`}],A=[{name:`企业微信`,img:`/ProJect/Service/ContactInfo/wecom.jpg`,desc:`扫码添加企业微信,一对一沟通报价`},{name:`微信`,img:`/ProJect/Service/ContactInfo/wx.jpg`,desc:`微信:GVSADS,备注咨询报价`},{name:`QQ`,img:`/ProJect/Service/ContactInfo/qq.png`,desc:`扫码添加QQ,获取详细报价方案`}],j=[{title:`需求沟通与评估`,desc:`深入沟通企业需求,评估技术方案与开发成本,提供详细报价与排期。`},{title:`方案设计与确认`,desc:`输出技术方案、原型设计、功能清单,确认后签订合同启动开发。`},{title:`开发与阶段性交付`,desc:`分阶段开发与交付,定期同步进度,支持中途需求微调。`},{title:`测试与上线部署`,desc:`全面功能测试、性能测试,完成后部署上线,提供操作培训。`},{title:`售后维护与迭代`,desc:`提供 7×24h 售后支持,定期系统维护,按需进行功能迭代。`}];return(r,M)=>(n(),l(`div`,u,[i(`main`,d,[i(`div`,f,[M[5]||=c(`Get In Touch 联系我们
无论您有任何问题、建议或合作意向,我们的团队都将竭诚为您提供专业、高效的解决方案
`,1),i(`div`,p,[(n(),l(s,null,e(k,e=>i(`div`,{key:e.title,class:`bg-white rounded-xl p-8 shadow-elevated hover:shadow-hover transition-all-300`},[i(`div`,m,[i(`i`,{class:o([e.icon,`text-primary text-2xl`])},null,2)]),i(`h3`,h,t(e.title),1),i(`p`,g,t(e.value),1),e.sub?(n(),l(`p`,_,t(e.sub),1)):a(``,!0)])),64))]),i(`section`,v,[M[0]||=i(`h2`,{class:`text-2xl md:text-[1.8rem] font-semibold mb-3 pb-4 border-b border-gray-200 inline-block`},`咨询报价`,-1),M[1]||=i(`p`,{class:`text-accent max-w-[800px] mb-4 leading-[1.8]`},`有定制开发需求?我们随时为您服务。无论您需要定制开发、开源项目二次开发,还是长期的运营维护,我们都能提供高性价比的解决方案。`,-1),M[2]||=i(`p`,{class:`text-accent max-w-[800px] mb-12 leading-[1.8]`},`注意:添加企业微信或微信,请备注"咨询报价"明确来意。`,-1),i(`div`,y,[(n(),l(s,null,e(A,(e,n)=>i(`div`,{key:n,class:`w-[260px] p-8 bg-gray-50 rounded-xl text-center transition-all duration-300 ease-[cubic-bezier(0.25,0.8,0.25,1)] hover:-translate-y-1.5 hover:shadow-[0_10px_15px_-3px_rgba(0,0,0,0.08),0_4px_6px_-2px_rgba(0,0,0,0.04)] hover:bg-white`},[i(`h3`,b,t(e.name),1),i(`div`,x,[i(`img`,{src:e.img,alt:e.name+`二维码`,class:`w-full h-full object-contain`},null,8,S)]),i(`p`,C,t(e.desc),1)])),64))])]),i(`section`,w,[M[4]||=i(`h2`,{class:`text-2xl md:text-[1.8rem] font-semibold text-center mb-16`},`标准化交付流程`,-1),i(`div`,T,[M[3]||=i(`div`,{class:`absolute top-5 left-[8%] right-[8%] h-0.5 bg-gray-200 hidden md:block`},null,-1),(n(),l(s,null,e(j,(e,n)=>i(`div`,{key:n,class:`flex-1 min-w-[150px] text-center relative px-3 mb-8`},[i(`div`,E,t(n+1),1),i(`h4`,D,t(e.title),1),i(`p`,O,t(e.desc),1)])),64))])])])])]))}});export{k as default};
\ No newline at end of file
diff --git a/TempLate/assets/ContactView-COHFMelL.js b/TempLate/assets/ContactView-COHFMelL.js
new file mode 100644
index 00000000..dd500090
--- /dev/null
+++ b/TempLate/assets/ContactView-COHFMelL.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,f as a,j as o,l as s,m as c,p as l}from"./index-PMfCvoYM.js";var u={class:`min-h-screen flex flex-col`},d={class:`flex-grow py-12 md:py-20 px-4 md:px-8 lg:px-16`},f={class:`max-w-7xl mx-auto`},p={class:`grid grid-cols-1 md:grid-cols-3 gap-6 mb-12`},m={class:`w-14 h-14 bg-primary/10 rounded-full flex items-center justify-center mb-6`},h={class:`text-xl font-semibold mb-3`},g={class:`text-accent`},_={key:0,class:`text-accent text-sm mt-2`},v={class:`bg-white p-8 md:p-12 rounded-xl shadow-elevated mb-20`},y={class:`flex justify-center gap-8 md:gap-16 flex-wrap`},b={class:`text-base font-medium mb-6 tracking-[0.3px]`},x={class:`w-[180px] h-[180px] mx-auto mb-6 border border-gray-200 p-3 bg-white rounded-lg flex items-center justify-center`},S=[`src`,`alt`],C={class:`text-sm text-accent leading-[1.6]`},w={class:`mb-12`},T={class:`flex justify-between relative px-4 md:px-8 flex-wrap`},E={class:`w-10 h-10 bg-slate-800 text-white rounded-full flex items-center justify-center mx-auto mb-6 text-sm`},D={class:`text-[0.95rem] font-medium mb-3`},O={class:`text-sm text-accent leading-[1.7]`},k=r({__name:`ContactView`,setup(r){let k=[{title:`公司地址`,icon:`fa fa-map-marker`,value:`无物理地址`,sub:``},{title:`联系电话`,icon:`fa fa-phone`,value:`182-2215-2539`,sub:`周末 9:00 - 22:00`},{title:`电子邮箱`,icon:`fa fa-envelope`,value:`support@gvsds.com`,sub:`48 小时内回复`}],A=[{name:`企业微信`,img:`/ProJect/Service/ContactInfo/wecom.jpg`,desc:`扫码添加企业微信,一对一沟通报价`},{name:`微信`,img:`/ProJect/Service/ContactInfo/wx.jpg`,desc:`微信:GVSADS,备注咨询报价`},{name:`QQ`,img:`/ProJect/Service/ContactInfo/qq.png`,desc:`扫码添加QQ,获取详细报价方案`}],j=[{title:`需求沟通与评估`,desc:`深入沟通企业需求,评估技术方案与开发成本,提供详细报价与排期。`},{title:`方案设计与确认`,desc:`输出技术方案、原型设计、功能清单,确认后签订合同启动开发。`},{title:`开发与阶段性交付`,desc:`分阶段开发与交付,定期同步进度,支持中途需求微调。`},{title:`测试与上线部署`,desc:`全面功能测试、性能测试,完成后部署上线,提供操作培训。`},{title:`售后维护与迭代`,desc:`提供 7×24h 售后支持,定期系统维护,按需进行功能迭代。`}];return(r,M)=>(n(),l(`div`,u,[i(`main`,d,[i(`div`,f,[M[5]||=c(`Get In Touch 联系我们
无论您有任何问题、建议或合作意向,我们的团队都将竭诚为您提供专业、高效的解决方案
`,1),i(`div`,p,[(n(),l(s,null,e(k,e=>i(`div`,{key:e.title,class:`bg-white rounded-xl p-8 shadow-elevated hover:shadow-hover transition-all-300`},[i(`div`,m,[i(`i`,{class:o([e.icon,`text-primary text-2xl`])},null,2)]),i(`h3`,h,t(e.title),1),i(`p`,g,t(e.value),1),e.sub?(n(),l(`p`,_,t(e.sub),1)):a(``,!0)])),64))]),i(`section`,v,[M[0]||=i(`h2`,{class:`text-2xl md:text-[1.8rem] font-semibold mb-3 pb-4 border-b border-gray-200 inline-block`},`咨询报价`,-1),M[1]||=i(`p`,{class:`text-accent max-w-[800px] mb-4 leading-[1.8]`},`有定制开发需求?我们随时为您服务。无论您需要定制开发、开源项目二次开发,还是长期的运营维护,我们都能提供高性价比的解决方案。`,-1),M[2]||=i(`p`,{class:`text-accent max-w-[800px] mb-12 leading-[1.8]`},`注意:添加企业微信或微信,请备注"咨询报价"明确来意。`,-1),i(`div`,y,[(n(),l(s,null,e(A,(e,n)=>i(`div`,{key:n,class:`w-[260px] p-8 bg-gray-50 rounded-xl text-center transition-all duration-300 ease-[cubic-bezier(0.25,0.8,0.25,1)] hover:-translate-y-1.5 hover:shadow-[0_10px_15px_-3px_rgba(0,0,0,0.08),0_4px_6px_-2px_rgba(0,0,0,0.04)] hover:bg-white`},[i(`h3`,b,t(e.name),1),i(`div`,x,[i(`img`,{src:e.img,alt:e.name+`二维码`,class:`w-full h-full object-contain`},null,8,S)]),i(`p`,C,t(e.desc),1)])),64))])]),i(`section`,w,[M[4]||=i(`h2`,{class:`text-2xl md:text-[1.8rem] font-semibold text-center mb-16`},`标准化交付流程`,-1),i(`div`,T,[M[3]||=i(`div`,{class:`absolute top-5 left-[8%] right-[8%] h-0.5 bg-gray-200 hidden md:block`},null,-1),(n(),l(s,null,e(j,(e,n)=>i(`div`,{key:n,class:`flex-1 min-w-[150px] text-center relative px-3 mb-8`},[i(`div`,E,t(n+1),1),i(`h4`,D,t(e.title),1),i(`p`,O,t(e.desc),1)])),64))])])])])]))}});export{k as default};
\ No newline at end of file
diff --git a/TempLate/assets/ContactView-Cntz-Q4M.js b/TempLate/assets/ContactView-Cntz-Q4M.js
new file mode 100644
index 00000000..a48a7329
--- /dev/null
+++ b/TempLate/assets/ContactView-Cntz-Q4M.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,f as a,j as o,l as s,m as c,p as l}from"./index-CMhybB9x.js";var u={class:`min-h-screen flex flex-col`},d={class:`flex-grow py-12 md:py-20 px-4 md:px-8 lg:px-16`},f={class:`max-w-7xl mx-auto`},p={class:`grid grid-cols-1 md:grid-cols-3 gap-6 mb-12`},m={class:`w-14 h-14 bg-primary/10 rounded-full flex items-center justify-center mb-6`},h={class:`text-xl font-semibold mb-3`},g={class:`text-accent`},_={key:0,class:`text-accent text-sm mt-2`},v={class:`bg-white p-8 md:p-12 rounded-xl shadow-elevated mb-20`},y={class:`flex justify-center gap-8 md:gap-16 flex-wrap`},b={class:`text-base font-medium mb-6 tracking-[0.3px]`},x={class:`w-[180px] h-[180px] mx-auto mb-6 border border-gray-200 p-3 bg-white rounded-lg flex items-center justify-center`},S=[`src`,`alt`],C={class:`text-sm text-accent leading-[1.6]`},w={class:`mb-12`},T={class:`flex justify-between relative px-4 md:px-8 flex-wrap`},E={class:`w-10 h-10 bg-slate-800 text-white rounded-full flex items-center justify-center mx-auto mb-6 text-sm`},D={class:`text-[0.95rem] font-medium mb-3`},O={class:`text-sm text-accent leading-[1.7]`},k=r({__name:`ContactView`,setup(r){let k=[{title:`公司地址`,icon:`fa fa-map-marker`,value:`无物理地址`,sub:``},{title:`联系电话`,icon:`fa fa-phone`,value:`182-2215-2539`,sub:`周末 9:00 - 22:00`},{title:`电子邮箱`,icon:`fa fa-envelope`,value:`support@gvsds.com`,sub:`48 小时内回复`}],A=[{name:`企业微信`,img:`/ProJect/Service/ContactInfo/wecom.jpg`,desc:`扫码添加企业微信,一对一沟通报价`},{name:`微信`,img:`/ProJect/Service/ContactInfo/wx.jpg`,desc:`微信:GVSADS,备注咨询报价`},{name:`QQ`,img:`/ProJect/Service/ContactInfo/qq.png`,desc:`扫码添加QQ,获取详细报价方案`}],j=[{title:`需求沟通与评估`,desc:`深入沟通企业需求,评估技术方案与开发成本,提供详细报价与排期。`},{title:`方案设计与确认`,desc:`输出技术方案、原型设计、功能清单,确认后签订合同启动开发。`},{title:`开发与阶段性交付`,desc:`分阶段开发与交付,定期同步进度,支持中途需求微调。`},{title:`测试与上线部署`,desc:`全面功能测试、性能测试,完成后部署上线,提供操作培训。`},{title:`售后维护与迭代`,desc:`提供 7×24h 售后支持,定期系统维护,按需进行功能迭代。`}];return(r,M)=>(n(),l(`div`,u,[i(`main`,d,[i(`div`,f,[M[5]||=c(`Get In Touch 联系我们
无论您有任何问题、建议或合作意向,我们的团队都将竭诚为您提供专业、高效的解决方案
`,1),i(`div`,p,[(n(),l(s,null,e(k,e=>i(`div`,{key:e.title,class:`bg-white rounded-xl p-8 shadow-elevated hover:shadow-hover transition-all-300`},[i(`div`,m,[i(`i`,{class:o([e.icon,`text-primary text-2xl`])},null,2)]),i(`h3`,h,t(e.title),1),i(`p`,g,t(e.value),1),e.sub?(n(),l(`p`,_,t(e.sub),1)):a(``,!0)])),64))]),i(`section`,v,[M[0]||=i(`h2`,{class:`text-2xl md:text-[1.8rem] font-semibold mb-3 pb-4 border-b border-gray-200 inline-block`},`咨询报价`,-1),M[1]||=i(`p`,{class:`text-accent max-w-[800px] mb-4 leading-[1.8]`},`有定制开发需求?我们随时为您服务。无论您需要定制开发、开源项目二次开发,还是长期的运营维护,我们都能提供高性价比的解决方案。`,-1),M[2]||=i(`p`,{class:`text-accent max-w-[800px] mb-12 leading-[1.8]`},`注意:添加企业微信或微信,请备注"咨询报价"明确来意。`,-1),i(`div`,y,[(n(),l(s,null,e(A,(e,n)=>i(`div`,{key:n,class:`w-[260px] p-8 bg-gray-50 rounded-xl text-center transition-all duration-300 ease-[cubic-bezier(0.25,0.8,0.25,1)] hover:-translate-y-1.5 hover:shadow-[0_10px_15px_-3px_rgba(0,0,0,0.08),0_4px_6px_-2px_rgba(0,0,0,0.04)] hover:bg-white`},[i(`h3`,b,t(e.name),1),i(`div`,x,[i(`img`,{src:e.img,alt:e.name+`二维码`,class:`w-full h-full object-contain`},null,8,S)]),i(`p`,C,t(e.desc),1)])),64))])]),i(`section`,w,[M[4]||=i(`h2`,{class:`text-2xl md:text-[1.8rem] font-semibold text-center mb-16`},`标准化交付流程`,-1),i(`div`,T,[M[3]||=i(`div`,{class:`absolute top-5 left-[8%] right-[8%] h-0.5 bg-gray-200 hidden md:block`},null,-1),(n(),l(s,null,e(j,(e,n)=>i(`div`,{key:n,class:`flex-1 min-w-[150px] text-center relative px-3 mb-8`},[i(`div`,E,t(n+1),1),i(`h4`,D,t(e.title),1),i(`p`,O,t(e.desc),1)])),64))])])])])]))}});export{k as default};
\ No newline at end of file
diff --git a/TempLate/assets/ContactView-QoD6v80t.js b/TempLate/assets/ContactView-QoD6v80t.js
new file mode 100644
index 00000000..e5ef8fcb
--- /dev/null
+++ b/TempLate/assets/ContactView-QoD6v80t.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,f as a,j as o,l as s,m as c,p as l}from"./index-CJXuAy0L.js";var u={class:`min-h-screen flex flex-col`},d={class:`flex-grow py-12 md:py-20 px-4 md:px-8 lg:px-16`},f={class:`max-w-7xl mx-auto`},p={class:`grid grid-cols-1 md:grid-cols-3 gap-6 mb-12`},m={class:`w-14 h-14 bg-primary/10 rounded-full flex items-center justify-center mb-6`},h={class:`text-xl font-semibold mb-3`},g={class:`text-accent`},_={key:0,class:`text-accent text-sm mt-2`},v={class:`bg-white p-8 md:p-12 rounded-xl shadow-elevated mb-20`},y={class:`flex justify-center gap-8 md:gap-16 flex-wrap`},b={class:`text-base font-medium mb-6 tracking-[0.3px]`},x={class:`w-[180px] h-[180px] mx-auto mb-6 border border-gray-200 p-3 bg-white rounded-lg flex items-center justify-center`},S=[`src`,`alt`],C={class:`text-sm text-accent leading-[1.6]`},w={class:`mb-12`},T={class:`flex justify-between relative px-4 md:px-8 flex-wrap`},E={class:`w-10 h-10 bg-slate-800 text-white rounded-full flex items-center justify-center mx-auto mb-6 text-sm`},D={class:`text-[0.95rem] font-medium mb-3`},O={class:`text-sm text-accent leading-[1.7]`},k=r({__name:`ContactView`,setup(r){let k=[{title:`公司地址`,icon:`fa fa-map-marker`,value:`无物理地址`,sub:``},{title:`联系电话`,icon:`fa fa-phone`,value:`182-2215-2539`,sub:`周末 9:00 - 22:00`},{title:`电子邮箱`,icon:`fa fa-envelope`,value:`support@gvsds.com`,sub:`48 小时内回复`}],A=[{name:`企业微信`,img:`/ProJect/Service/ContactInfo/wecom.jpg`,desc:`扫码添加企业微信,一对一沟通报价`},{name:`微信`,img:`/ProJect/Service/ContactInfo/wx.jpg`,desc:`微信:GVSADS,备注咨询报价`},{name:`QQ`,img:`/ProJect/Service/ContactInfo/qq.png`,desc:`扫码添加QQ,获取详细报价方案`}],j=[{title:`需求沟通与评估`,desc:`深入沟通企业需求,评估技术方案与开发成本,提供详细报价与排期。`},{title:`方案设计与确认`,desc:`输出技术方案、原型设计、功能清单,确认后签订合同启动开发。`},{title:`开发与阶段性交付`,desc:`分阶段开发与交付,定期同步进度,支持中途需求微调。`},{title:`测试与上线部署`,desc:`全面功能测试、性能测试,完成后部署上线,提供操作培训。`},{title:`售后维护与迭代`,desc:`提供 7×24h 售后支持,定期系统维护,按需进行功能迭代。`}];return(r,M)=>(n(),l(`div`,u,[i(`main`,d,[i(`div`,f,[M[5]||=c(`Get In Touch 联系我们
无论您有任何问题、建议或合作意向,我们的团队都将竭诚为您提供专业、高效的解决方案
`,1),i(`div`,p,[(n(),l(s,null,e(k,e=>i(`div`,{key:e.title,class:`bg-white rounded-xl p-8 shadow-elevated hover:shadow-hover transition-all-300`},[i(`div`,m,[i(`i`,{class:o([e.icon,`text-primary text-2xl`])},null,2)]),i(`h3`,h,t(e.title),1),i(`p`,g,t(e.value),1),e.sub?(n(),l(`p`,_,t(e.sub),1)):a(``,!0)])),64))]),i(`section`,v,[M[0]||=i(`h2`,{class:`text-2xl md:text-[1.8rem] font-semibold mb-3 pb-4 border-b border-gray-200 inline-block`},`咨询报价`,-1),M[1]||=i(`p`,{class:`text-accent max-w-[800px] mb-4 leading-[1.8]`},`有定制开发需求?我们随时为您服务。无论您需要定制开发、开源项目二次开发,还是长期的运营维护,我们都能提供高性价比的解决方案。`,-1),M[2]||=i(`p`,{class:`text-accent max-w-[800px] mb-12 leading-[1.8]`},`注意:添加企业微信或微信,请备注"咨询报价"明确来意。`,-1),i(`div`,y,[(n(),l(s,null,e(A,(e,n)=>i(`div`,{key:n,class:`w-[260px] p-8 bg-gray-50 rounded-xl text-center transition-all duration-300 ease-[cubic-bezier(0.25,0.8,0.25,1)] hover:-translate-y-1.5 hover:shadow-[0_10px_15px_-3px_rgba(0,0,0,0.08),0_4px_6px_-2px_rgba(0,0,0,0.04)] hover:bg-white`},[i(`h3`,b,t(e.name),1),i(`div`,x,[i(`img`,{src:e.img,alt:e.name+`二维码`,class:`w-full h-full object-contain`},null,8,S)]),i(`p`,C,t(e.desc),1)])),64))])]),i(`section`,w,[M[4]||=i(`h2`,{class:`text-2xl md:text-[1.8rem] font-semibold text-center mb-16`},`标准化交付流程`,-1),i(`div`,T,[M[3]||=i(`div`,{class:`absolute top-5 left-[8%] right-[8%] h-0.5 bg-gray-200 hidden md:block`},null,-1),(n(),l(s,null,e(j,(e,n)=>i(`div`,{key:n,class:`flex-1 min-w-[150px] text-center relative px-3 mb-8`},[i(`div`,E,t(n+1),1),i(`h4`,D,t(e.title),1),i(`p`,O,t(e.desc),1)])),64))])])])])]))}});export{k as default};
\ No newline at end of file
diff --git a/TempLate/assets/ContactView-azr17W8-.js b/TempLate/assets/ContactView-azr17W8-.js
new file mode 100644
index 00000000..ac53c022
--- /dev/null
+++ b/TempLate/assets/ContactView-azr17W8-.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,f as a,j as o,l as s,m as c,p as l}from"./index-BM-LFFI_.js";var u={class:`min-h-screen flex flex-col`},d={class:`flex-grow py-12 md:py-20 px-4 md:px-8 lg:px-16`},f={class:`max-w-7xl mx-auto`},p={class:`grid grid-cols-1 md:grid-cols-3 gap-6 mb-12`},m={class:`w-14 h-14 bg-primary/10 rounded-full flex items-center justify-center mb-6`},h={class:`text-xl font-semibold mb-3`},g={class:`text-accent`},_={key:0,class:`text-accent text-sm mt-2`},v={class:`bg-white p-8 md:p-12 rounded-xl shadow-elevated mb-20`},y={class:`flex justify-center gap-8 md:gap-16 flex-wrap`},b={class:`text-base font-medium mb-6 tracking-[0.3px]`},x={class:`w-[180px] h-[180px] mx-auto mb-6 border border-gray-200 p-3 bg-white rounded-lg flex items-center justify-center`},S=[`src`,`alt`],C={class:`text-sm text-accent leading-[1.6]`},w={class:`mb-12`},T={class:`flex justify-between relative px-4 md:px-8 flex-wrap`},E={class:`w-10 h-10 bg-slate-800 text-white rounded-full flex items-center justify-center mx-auto mb-6 text-sm`},D={class:`text-[0.95rem] font-medium mb-3`},O={class:`text-sm text-accent leading-[1.7]`},k=r({__name:`ContactView`,setup(r){let k=[{title:`公司地址`,icon:`fa fa-map-marker`,value:`无物理地址`,sub:``},{title:`联系电话`,icon:`fa fa-phone`,value:`182-2215-2539`,sub:`周末 9:00 - 22:00`},{title:`电子邮箱`,icon:`fa fa-envelope`,value:`support@gvsds.com`,sub:`48 小时内回复`}],A=[{name:`企业微信`,img:`/ProJect/Service/ContactInfo/wecom.jpg`,desc:`扫码添加企业微信,一对一沟通报价`},{name:`微信`,img:`/ProJect/Service/ContactInfo/wx.jpg`,desc:`微信:GVSADS,备注咨询报价`},{name:`QQ`,img:`/ProJect/Service/ContactInfo/qq.png`,desc:`扫码添加QQ,获取详细报价方案`}],j=[{title:`需求沟通与评估`,desc:`深入沟通企业需求,评估技术方案与开发成本,提供详细报价与排期。`},{title:`方案设计与确认`,desc:`输出技术方案、原型设计、功能清单,确认后签订合同启动开发。`},{title:`开发与阶段性交付`,desc:`分阶段开发与交付,定期同步进度,支持中途需求微调。`},{title:`测试与上线部署`,desc:`全面功能测试、性能测试,完成后部署上线,提供操作培训。`},{title:`售后维护与迭代`,desc:`提供 7×24h 售后支持,定期系统维护,按需进行功能迭代。`}];return(r,M)=>(n(),l(`div`,u,[i(`main`,d,[i(`div`,f,[M[5]||=c(`Get In Touch 联系我们
无论您有任何问题、建议或合作意向,我们的团队都将竭诚为您提供专业、高效的解决方案
`,1),i(`div`,p,[(n(),l(s,null,e(k,e=>i(`div`,{key:e.title,class:`bg-white rounded-xl p-8 shadow-elevated hover:shadow-hover transition-all-300`},[i(`div`,m,[i(`i`,{class:o([e.icon,`text-primary text-2xl`])},null,2)]),i(`h3`,h,t(e.title),1),i(`p`,g,t(e.value),1),e.sub?(n(),l(`p`,_,t(e.sub),1)):a(``,!0)])),64))]),i(`section`,v,[M[0]||=i(`h2`,{class:`text-2xl md:text-[1.8rem] font-semibold mb-3 pb-4 border-b border-gray-200 inline-block`},`咨询报价`,-1),M[1]||=i(`p`,{class:`text-accent max-w-[800px] mb-4 leading-[1.8]`},`有定制开发需求?我们随时为您服务。无论您需要定制开发、开源项目二次开发,还是长期的运营维护,我们都能提供高性价比的解决方案。`,-1),M[2]||=i(`p`,{class:`text-accent max-w-[800px] mb-12 leading-[1.8]`},`注意:添加企业微信或微信,请备注"咨询报价"明确来意。`,-1),i(`div`,y,[(n(),l(s,null,e(A,(e,n)=>i(`div`,{key:n,class:`w-[260px] p-8 bg-gray-50 rounded-xl text-center transition-all duration-300 ease-[cubic-bezier(0.25,0.8,0.25,1)] hover:-translate-y-1.5 hover:shadow-[0_10px_15px_-3px_rgba(0,0,0,0.08),0_4px_6px_-2px_rgba(0,0,0,0.04)] hover:bg-white`},[i(`h3`,b,t(e.name),1),i(`div`,x,[i(`img`,{src:e.img,alt:e.name+`二维码`,class:`w-full h-full object-contain`},null,8,S)]),i(`p`,C,t(e.desc),1)])),64))])]),i(`section`,w,[M[4]||=i(`h2`,{class:`text-2xl md:text-[1.8rem] font-semibold text-center mb-16`},`标准化交付流程`,-1),i(`div`,T,[M[3]||=i(`div`,{class:`absolute top-5 left-[8%] right-[8%] h-0.5 bg-gray-200 hidden md:block`},null,-1),(n(),l(s,null,e(j,(e,n)=>i(`div`,{key:n,class:`flex-1 min-w-[150px] text-center relative px-3 mb-8`},[i(`div`,E,t(n+1),1),i(`h4`,D,t(e.title),1),i(`p`,O,t(e.desc),1)])),64))])])])])]))}});export{k as default};
\ No newline at end of file
diff --git a/TempLate/assets/ContactView-d5VCgd2D.js b/TempLate/assets/ContactView-d5VCgd2D.js
new file mode 100644
index 00000000..73b4255b
--- /dev/null
+++ b/TempLate/assets/ContactView-d5VCgd2D.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,f as a,j as o,l as s,m as c,p as l}from"./index-CUry87of.js";var u={class:`min-h-screen flex flex-col`},d={class:`flex-grow py-12 md:py-20 px-4 md:px-8 lg:px-16`},f={class:`max-w-7xl mx-auto`},p={class:`grid grid-cols-1 md:grid-cols-3 gap-6 mb-12`},m={class:`w-14 h-14 bg-primary/10 rounded-full flex items-center justify-center mb-6`},h={class:`text-xl font-semibold mb-3`},g={class:`text-accent`},_={key:0,class:`text-accent text-sm mt-2`},v={class:`bg-white p-8 md:p-12 rounded-xl shadow-elevated mb-20`},y={class:`flex justify-center gap-8 md:gap-16 flex-wrap`},b={class:`text-base font-medium mb-6 tracking-[0.3px]`},x={class:`w-[180px] h-[180px] mx-auto mb-6 border border-gray-200 p-3 bg-white rounded-lg flex items-center justify-center`},S=[`src`,`alt`],C={class:`text-sm text-accent leading-[1.6]`},w={class:`mb-12`},T={class:`flex justify-between relative px-4 md:px-8 flex-wrap`},E={class:`w-10 h-10 bg-slate-800 text-white rounded-full flex items-center justify-center mx-auto mb-6 text-sm`},D={class:`text-[0.95rem] font-medium mb-3`},O={class:`text-sm text-accent leading-[1.7]`},k=r({__name:`ContactView`,setup(r){let k=[{title:`公司地址`,icon:`fa fa-map-marker`,value:`无物理地址`,sub:``},{title:`联系电话`,icon:`fa fa-phone`,value:`182-2215-2539`,sub:`周末 9:00 - 22:00`},{title:`电子邮箱`,icon:`fa fa-envelope`,value:`support@gvsds.com`,sub:`48 小时内回复`}],A=[{name:`企业微信`,img:`/ProJect/Service/ContactInfo/wecom.jpg`,desc:`扫码添加企业微信,一对一沟通报价`},{name:`微信`,img:`/ProJect/Service/ContactInfo/wx.jpg`,desc:`微信:GVSADS,备注咨询报价`},{name:`QQ`,img:`/ProJect/Service/ContactInfo/qq.png`,desc:`扫码添加QQ,获取详细报价方案`}],j=[{title:`需求沟通与评估`,desc:`深入沟通企业需求,评估技术方案与开发成本,提供详细报价与排期。`},{title:`方案设计与确认`,desc:`输出技术方案、原型设计、功能清单,确认后签订合同启动开发。`},{title:`开发与阶段性交付`,desc:`分阶段开发与交付,定期同步进度,支持中途需求微调。`},{title:`测试与上线部署`,desc:`全面功能测试、性能测试,完成后部署上线,提供操作培训。`},{title:`售后维护与迭代`,desc:`提供 7×24h 售后支持,定期系统维护,按需进行功能迭代。`}];return(r,M)=>(n(),l(`div`,u,[i(`main`,d,[i(`div`,f,[M[5]||=c(`Get In Touch 联系我们
无论您有任何问题、建议或合作意向,我们的团队都将竭诚为您提供专业、高效的解决方案
`,1),i(`div`,p,[(n(),l(s,null,e(k,e=>i(`div`,{key:e.title,class:`bg-white rounded-xl p-8 shadow-elevated hover:shadow-hover transition-all-300`},[i(`div`,m,[i(`i`,{class:o([e.icon,`text-primary text-2xl`])},null,2)]),i(`h3`,h,t(e.title),1),i(`p`,g,t(e.value),1),e.sub?(n(),l(`p`,_,t(e.sub),1)):a(``,!0)])),64))]),i(`section`,v,[M[0]||=i(`h2`,{class:`text-2xl md:text-[1.8rem] font-semibold mb-3 pb-4 border-b border-gray-200 inline-block`},`咨询报价`,-1),M[1]||=i(`p`,{class:`text-accent max-w-[800px] mb-4 leading-[1.8]`},`有定制开发需求?我们随时为您服务。无论您需要定制开发、开源项目二次开发,还是长期的运营维护,我们都能提供高性价比的解决方案。`,-1),M[2]||=i(`p`,{class:`text-accent max-w-[800px] mb-12 leading-[1.8]`},`注意:添加企业微信或微信,请备注"咨询报价"明确来意。`,-1),i(`div`,y,[(n(),l(s,null,e(A,(e,n)=>i(`div`,{key:n,class:`w-[260px] p-8 bg-gray-50 rounded-xl text-center transition-all duration-300 ease-[cubic-bezier(0.25,0.8,0.25,1)] hover:-translate-y-1.5 hover:shadow-[0_10px_15px_-3px_rgba(0,0,0,0.08),0_4px_6px_-2px_rgba(0,0,0,0.04)] hover:bg-white`},[i(`h3`,b,t(e.name),1),i(`div`,x,[i(`img`,{src:e.img,alt:e.name+`二维码`,class:`w-full h-full object-contain`},null,8,S)]),i(`p`,C,t(e.desc),1)])),64))])]),i(`section`,w,[M[4]||=i(`h2`,{class:`text-2xl md:text-[1.8rem] font-semibold text-center mb-16`},`标准化交付流程`,-1),i(`div`,T,[M[3]||=i(`div`,{class:`absolute top-5 left-[8%] right-[8%] h-0.5 bg-gray-200 hidden md:block`},null,-1),(n(),l(s,null,e(j,(e,n)=>i(`div`,{key:n,class:`flex-1 min-w-[150px] text-center relative px-3 mb-8`},[i(`div`,E,t(n+1),1),i(`h4`,D,t(e.title),1),i(`p`,O,t(e.desc),1)])),64))])])])])]))}});export{k as default};
\ No newline at end of file
diff --git a/TempLate/assets/DocumentView-B5eLLth6.js b/TempLate/assets/DocumentView-B5eLLth6.js
new file mode 100644
index 00000000..05287c3a
--- /dev/null
+++ b/TempLate/assets/DocumentView-B5eLLth6.js
@@ -0,0 +1,10 @@
+import{C as e,D as t,M as n,N as r,S as i,_ as ee,b as a,c as te,d as o,h as s,j as c,k as l,l as u,m as d,o as f,p,y as ne}from"./index-PMfCvoYM.js";import{t as m}from"./_plugin-vue_export-helper-BDNMzG2s.js";var re={class:`container mx-auto px-4 flex items-center justify-between`},ie={class:`flex items-center space-x-2`},ae={class:`text-xl font-bold text-primary`},oe={class:`hidden md:flex items-center space-x-8`},se=[`href`],ce={class:`hidden md:flex items-center relative`},le={class:`flex items-center space-x-4`},ue={class:`relative`},h={class:`flex flex-col space-y-3`},g=[`href`],_={class:`container mx-auto px-4 pt-24 pb-16`},v={class:`mb-12`},y={class:`grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4`},b={class:`font-medium`},x={class:`mb-12`},S={class:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6`},C={class:`relative h-48 overflow-hidden`},w=[`src`,`alt`],T={class:`absolute top-3 left-3`},E={class:`p-5`},D={class:`flex items-center text-sm text-neutral-500 mb-3`},O={class:`text-xl font-bold mb-2 hover:text-primary transition-colors`},k={class:`text-neutral-600 mb-4 line-clamp-3`},A={class:`flex items-center justify-between`},j={class:`flex items-center`},M=[`src`,`alt`],N={class:`ml-2 text-sm font-medium`},P={class:`flex items-center space-x-3 text-neutral-500`},F=[`onClick`],I={class:`flex flex-col md:flex-row`},L={class:`p-8 md:p-12 md:w-1/2 flex flex-col justify-center`},R={class:`space-y-4 mb-8`},z={class:`font-medium text-lg mb-1`},B={class:`relative w-full max-w-md`},V={class:`p-6 h-96 overflow-y-auto scrollbar-hide`},H={class:`bg-gradient-to-r from-primary/90 to-primary rounded-2xl p-8 md:p-12 shadow-lg reveal`},de={class:`max-w-2xl mx-auto text-center`},fe={class:`bg-neutral-900 text-white py-12`},pe={class:`container mx-auto px-4`},me={class:`grid grid-cols-1 md:grid-cols-4 gap-8`},he={class:`space-y-2`},ge=[`href`],_e={class:`space-y-2`},ve=[`href`],U=m(ee({__name:`DocumentView`,setup(ee){let m=l(!1),U=l(!1),ye=l(null),W=l(!1),G=l(!1),K=l(!1),q=l(!1),J=l(``),Y=l(``),X=[{label:`首页`,href:`#`,active:!0},{label:`分类`,href:`#`,active:!1},{label:`收藏`,href:`#`,active:!1},{label:`历史`,href:`#`,active:!1},{label:`关于`,href:`#`,active:!1}],be=[{name:`编程开发`,icon:`fa-code`,iconClass:`text-blue-500`,bgClass:`bg-blue-100`},{name:`数据库`,icon:`fa-database`,iconClass:`text-green-500`,bgClass:`bg-green-100`},{name:`移动开发`,icon:`fa-mobile`,iconClass:`text-purple-500`,bgClass:`bg-purple-100`},{name:`云计算`,icon:`fa-cloud`,iconClass:`text-orange-500`,bgClass:`bg-orange-100`},{name:`人工智能`,icon:`fa-robot`,iconClass:`text-red-500`,bgClass:`bg-red-100`},{name:`运维部署`,icon:`fa-server`,iconClass:`text-yellow-500`,bgClass:`bg-yellow-100`}],xe=[{image:`https://picsum.photos/id/0/600/400`,tag:`编程开发`,tagClass:`bg-primary`,date:`2025-06-15`,readTime:`10 分钟阅读`,title:`Python高级编程技巧与最佳实践`,description:`探索Python高级编程技巧,包括装饰器、生成器、元类和异步编程。了解如何编写更简洁、高效和可维护的Python代码...`,author:`张教授`,authorAvatar:`https://picsum.photos/id/1001/30/30`,bookmarked:!1},{image:`https://picsum.photos/id/180/600/400`,tag:`数据库`,tagClass:`bg-green-500`,date:`2025-06-10`,readTime:`15 分钟阅读`,title:`MySQL数据库性能优化实战指南`,description:`深入了解MySQL数据库性能优化的核心原则和实践方法。从查询优化、索引设计到配置调优,全面提升数据库性能...`,author:`李工程师`,authorAvatar:`https://picsum.photos/id/1002/30/30`,bookmarked:!1},{image:`https://picsum.photos/id/160/600/400`,tag:`前端开发`,tagClass:`bg-purple-500`,date:`2025-06-05`,readTime:`20 分钟阅读`,title:`2025年前端框架全面对比:React、Vue、Angular`,description:`详细对比三大主流前端框架的优缺点、适用场景和性能表现。从生态系统、学习曲线到实际项目应用,助你做出最佳选择...`,author:`王架构师`,authorAvatar:`https://picsum.photos/id/1003/30/30`,bookmarked:!1}],Se=[{title:`护眼模式`,description:`多种背景色和字体设置,减轻眼睛疲劳,长时间阅读也舒适。`},{title:`智能排版`,description:`自动优化文章排版,段落间距适中,字体大小合适,提升阅读体验。`},{title:`Markdown 阅读`,description:`支持 Markdown 格式文档,实现流程图、公式、代码的查看。`}],Ce=[{label:`首页`,href:`#`},{label:`分类`,href:`#`},{label:`最新文章`,href:`#`},{label:`热门标签`,href:`#`},{label:`关于我们`,href:`#`}],we=[{label:`帮助中心`,href:`#`},{label:`联系我们`,href:`#`},{label:`常见问题`,href:`#`},{label:`隐私政策`,href:`#`},{label:`使用条款`,href:`#`}],Z=null;function Q(){K.value=!K.value,K.value?document.documentElement.classList.add(`dark`):document.documentElement.classList.remove(`dark`)}function Te(){q.value=!q.value}function $(){let e=window.scrollY;m.value=e>100,U.value=e>100}function Ee(){window.scrollTo({top:0,behavior:`smooth`})}function De(){Y.value&&=(alert(`感谢订阅!我们将发送最新资讯到 ${Y.value}`),``)}return a(()=>{document.title=`文档中心 - 平滑阅读`,window.addEventListener(`scroll`,$),$();let e=document.querySelectorAll(`.reveal`);Z=new IntersectionObserver(e=>{e.forEach(e=>{if(e.isIntersecting){let t=e.target;t.style.opacity=`1`,t.style.transform=`translateY(0)`,Z?.unobserve(t)}})},{threshold:.1}),e.forEach(e=>{let t=e;t.style.opacity=`0`,t.style.transform=`translateY(15px)`,t.style.transition=`opacity 0.5s ease, transform 0.5s ease`,Z?.observe(t)})}),ne(()=>{window.removeEventListener(`scroll`,$),Z?.disconnect()}),(ee,a)=>(i(),p(`div`,{class:c([`bg-neutral-100 font-sans text-neutral-800 transition-all duration-300`,{"bg-neutral-900 text-white":K.value,"reading-mode":q.value}])},[o(`header`,{id:`navbar`,ref_key:`navbarRef`,ref:ye,class:c([`fixed top-0 left-0 w-full bg-white/90 backdrop-blur-md shadow-sm z-50 transition-all duration-300`,{"py-2 shadow-md":m.value,"py-3 shadow-sm":!m.value,"bg-neutral-900/90":K.value&&m.value,"bg-white/90":!K.value}])},[o(`div`,re,[o(`div`,ie,[a[7]||=o(`i`,{class:`fa fa-book text-primary text-2xl`},null,-1),o(`h1`,ae,[a[5]||=s(` doc`,-1),o(`span`,{class:c(K.value?`text-white`:`text-neutral-800`)},`.gvsds`,2),a[6]||=o(`span`,{class:`text-primary`},`.com`,-1)])]),o(`nav`,oe,[(i(),p(u,null,e(X,e=>o(`a`,{key:e.label,href:e.href,class:c([`font-medium transition-colors`,e.active?`text-primary border-b-2 border-primary pb-1`:`text-neutral-600 hover:text-primary`])},r(e.label),11,se)),64))]),o(`div`,ce,[t(o(`input`,{"onUpdate:modelValue":a[0]||=e=>J.value=e,type:`text`,placeholder:`搜索文档...`,class:c([`w-64 py-2 pl-10 pr-4 rounded-full border border-neutral-300 focus:outline-none focus:ring-2 focus:ring-primary/30 focus:border-primary transition-all`,{"bg-neutral-800 border-neutral-600 text-white":K.value}])},null,2),[[f,J.value]]),a[8]||=o(`i`,{class:`fa fa-search absolute left-4 text-neutral-400`},null,-1)]),o(`div`,le,[o(`button`,{class:c([`p-2 rounded-full transition-colors`,K.value?`hover:bg-neutral-700`:`hover:bg-neutral-200`]),onClick:Q},[o(`i`,{class:c(K.value?`fa fa-sun-o text-yellow-400`:`fa fa-moon-o text-neutral-700`)},null,2)],2),o(`button`,{class:c([`p-2 rounded-full transition-colors`,K.value?`hover:bg-neutral-700`:`hover:bg-neutral-200`]),onClick:Te},[o(`i`,{class:c([`fa fa-eye`,K.value?`text-neutral-300`:`text-neutral-700`])},null,2)],2),o(`button`,{class:c([`md:hidden p-2 rounded-full transition-colors`,K.value?`hover:bg-neutral-700`:`hover:bg-neutral-200`]),onClick:a[1]||=e=>G.value=!G.value},[o(`i`,{class:c([`fa fa-search`,K.value?`text-neutral-300`:`text-neutral-700`])},null,2)],2),o(`button`,{class:c([`md:hidden p-2 rounded-full transition-colors`,K.value?`hover:bg-neutral-700`:`hover:bg-neutral-200`]),onClick:a[2]||=e=>W.value=!W.value},[o(`i`,{class:c([`fa fa-bars`,K.value?`text-neutral-300`:`text-neutral-700`])},null,2)],2),a[9]||=o(`a`,{href:`#`,class:`hidden md:block`},[o(`img`,{src:`https://picsum.photos/id/1005/40/40`,alt:`用户头像`,class:`w-8 h-8 rounded-full border-2 border-white shadow-sm`})],-1)])]),o(`div`,{id:`mobile-search`,class:c([`px-4 pb-3 transition-all duration-300`,G.value?`block`:`hidden`])},[o(`div`,ue,[t(o(`input`,{"onUpdate:modelValue":a[3]||=e=>J.value=e,type:`text`,placeholder:`搜索文档...`,class:c([`w-full py-2 pl-10 pr-4 rounded-full border border-neutral-300 focus:outline-none focus:ring-2 focus:ring-primary/30 focus:border-primary`,{"bg-neutral-800 border-neutral-600 text-white":K.value}])},null,2),[[f,J.value]]),a[10]||=o(`i`,{class:`fa fa-search absolute left-4 top-3 text-neutral-400`},null,-1)])],2),o(`div`,{id:`mobile-menu`,class:c([`px-4 pb-4 md:hidden transition-all duration-300`,W.value?`block`:`hidden`])},[o(`nav`,h,[(i(),p(u,null,e(X,e=>o(`a`,{key:e.label,href:e.href,class:c([`font-medium py-2 transition-colors`,e.active?`text-primary`:`text-neutral-600 hover:text-primary`])},r(e.label),11,g)),64)),a[11]||=o(`a`,{href:`#`,class:`flex items-center space-x-2 font-medium text-neutral-600 py-2 hover:text-primary transition-colors`},[o(`img`,{src:`https://picsum.photos/id/1005/40/40`,alt:`用户头像`,class:`w-8 h-8 rounded-full border-2 border-white shadow-sm`}),o(`span`,null,`登录/注册`)],-1)])],2)],2),o(`main`,_,[a[31]||=d(`发现知识的乐趣 doc.gvsds.com 提供高质量的技术文档、教程和资源,帮助你平滑阅读和学习。
用户可以在 manage.gvsds.com 自由上传文档,因此,请识别链接来源并遵守相关法律法规。同时我们也会做好审核工作
`,1),o(`section`,v,[a[12]||=o(`div`,{class:`flex items-center justify-between mb-6`},[o(`h2`,{class:`text-2xl font-bold`},`探索分类`)],-1),o(`div`,y,[(i(),p(u,null,e(be,(e,t)=>o(`a`,{key:e.name,class:c([`category-card bg-white rounded-xl p-5 shadow-card hover:shadow-card-hover transition-all-300 hover:-translate-y-1 flex flex-col items-center text-center reveal`,{"bg-neutral-800":K.value}]),style:n({transitionDelay:t*80+`ms`})},[o(`div`,{class:c([`w-12 h-12 rounded-full flex items-center justify-center mb-3`,e.bgClass])},[o(`i`,{class:c([`fa`,e.icon,e.iconClass,`text-xl`])},null,2)],2),o(`h3`,b,r(e.name),1)],6)),64))])]),o(`section`,x,[a[15]||=o(`div`,{class:`flex items-center justify-between mb-6`},[o(`h2`,{class:`text-2xl font-bold`},`精选文档`)],-1),o(`div`,S,[(i(),p(u,null,e(xe,(e,t)=>o(`article`,{key:e.title,class:c([`article-card bg-white rounded-xl overflow-hidden shadow-card hover:shadow-card-hover transition-all-300 hover:-translate-y-1 reveal`,{"bg-neutral-800":K.value}]),style:n({transitionDelay:t*120+`ms`})},[o(`div`,C,[o(`img`,{src:e.image,alt:e.title,class:`w-full h-full object-cover transition-transform duration-500 hover:scale-110`},null,8,w),o(`div`,T,[o(`span`,{class:c([`text-white text-xs font-medium px-2.5 py-0.5 rounded-full`,e.tagClass])},r(e.tag),3)])]),o(`div`,E,[o(`div`,D,[o(`span`,null,r(e.date),1),a[13]||=o(`span`,{class:`mx-2`},`•`,-1),o(`span`,null,r(e.readTime),1)]),o(`h3`,O,r(e.title),1),o(`p`,k,r(e.description),1),o(`div`,A,[o(`div`,j,[o(`img`,{src:e.authorAvatar,alt:e.author,class:`w-7 h-7 rounded-full`},null,8,M),o(`span`,N,r(e.author),1)]),o(`div`,P,[o(`button`,{class:`hover:text-primary transition-colors`,onClick:t=>e.bookmarked=!e.bookmarked},[o(`i`,{class:c(e.bookmarked?`fa fa-bookmark text-primary`:`fa fa-bookmark-o`)},null,2)],8,F),a[14]||=o(`button`,{class:`hover:text-primary transition-colors`},[o(`i`,{class:`fa fa-share-alt`})],-1)])])])],6)),64))])]),o(`section`,{class:c([`mb-12 bg-white rounded-2xl shadow-lg overflow-hidden reveal`,{"bg-neutral-800":K.value}])},[o(`div`,I,[o(`div`,L,[a[17]||=o(`h2`,{class:`text-2xl md:text-3xl font-bold mb-4`},`享受平滑阅读体验`,-1),o(`p`,{class:c([`text-neutral-600 mb-6`,{"text-neutral-400":K.value}])},` 我们专注于打造舒适的阅读环境,让你可以更专注于内容本身。支持多种阅读模式和自定义选项,满足你的个性化需求。 `,2),o(`div`,R,[(i(),p(u,null,e(Se,(e,t)=>o(`div`,{key:e.title,class:`flex items-start reveal`,style:n({transitionDelay:t*150+`ms`})},[a[16]||=o(`div`,{class:`mt-1 mr-4 w-8 h-8 rounded-full bg-primary/10 flex items-center justify-center flex-shrink-0`},[o(`i`,{class:`fa fa-check text-primary`})],-1),o(`div`,null,[o(`h3`,z,r(e.title),1),o(`p`,{class:c([`text-neutral-600`,{"text-neutral-400":K.value}])},r(e.description),3)])],4)),64))])]),o(`div`,{class:c([`md:w-1/2 bg-neutral-100 p-6 flex items-center justify-center`,{"bg-neutral-700":K.value}])},[o(`div`,B,[a[25]||=o(`div`,{class:`absolute -top-4 -right-4 w-20 h-20 bg-secondary/20 rounded-full`},null,-1),a[26]||=o(`div`,{class:`absolute -bottom-8 -left-8 w-32 h-32 bg-primary/10 rounded-full`},null,-1),o(`div`,{class:c([`relative bg-white rounded-xl shadow-lg overflow-hidden z-10`,{"bg-neutral-800":K.value}])},[o(`div`,{class:c([`h-12 bg-neutral-200 flex items-center px-4`,{"bg-neutral-700":K.value}])},[a[18]||=o(`div`,{class:`flex space-x-2`},[o(`div`,{class:`w-3 h-3 rounded-full bg-red-400`}),o(`div`,{class:`w-3 h-3 rounded-full bg-yellow-400`}),o(`div`,{class:`w-3 h-3 rounded-full bg-green-400`})],-1),o(`div`,{class:c([`ml-4 text-sm text-neutral-600`,{"text-neutral-400":K.value}])},`Python装饰器详解.md`,2)],2),o(`div`,V,[a[21]||=o(`h1`,{class:`text-2xl font-bold mb-4`},`Python装饰器详解`,-1),o(`p`,{class:c([`mb-4`,K.value?`text-neutral-300`:`text-neutral-700`])},` 装饰器是Python中一种强大而灵活的工具,用于修改或扩展函数或类的行为。它们允许你在不修改原始代码的情况下,增加额外的功能。 `,2),a[22]||=o(`h2`,{class:`text-xl font-bold mt-6 mb-3`},`什么是装饰器?`,-1),o(`p`,{class:c([`mb-4`,K.value?`text-neutral-300`:`text-neutral-700`])},` 装饰器本质上是一个函数,它接受另一个函数作为参数,并返回一个新的函数。这个新的函数通常会包含原始函数的功能,同时增加一些额外的功能。 `,2),o(`div`,{class:c([`bg-neutral-100 p-4 rounded-lg my-4`,{"bg-neutral-700":K.value}])},[o(`pre`,{class:c([`text-sm font-mono`,K.value?`text-neutral-200`:`text-neutral-800`])},`def my_decorator(func):
+ def wrapper():
+ print("在函数执行前做一些事情")
+ func()
+ print("在函数执行后做一些事情")
+ return wrapper
+
+@my_decorator
+def say_hello():
+ print("Hello, World!")`,2)],2),o(`p`,{class:c([`mb-4`,K.value?`text-neutral-300`:`text-neutral-700`])},[...a[19]||=[s(` 上面的代码定义了一个装饰器`,-1),o(`code`,null,`my_decorator`,-1),s(`,它会在调用被装饰的函数前后打印一些信息。使用`,-1),o(`code`,null,`@my_decorator`,-1),s(`语法糖可以很方便地应用装饰器。 `,-1)]],2),a[23]||=o(`h2`,{class:`text-xl font-bold mt-6 mb-3`},`装饰器的应用场景`,-1),o(`ul`,{class:c([`list-disc pl-5 mb-4 space-y-2`,K.value?`text-neutral-300`:`text-neutral-700`])},[...a[20]||=[o(`li`,null,`日志记录`,-1),o(`li`,null,`性能测试`,-1),o(`li`,null,`权限验证`,-1),o(`li`,null,`缓存`,-1),o(`li`,null,`事务处理`,-1)]],2),o(`p`,{class:c(K.value?`text-neutral-300`:`text-neutral-700`)},` 装饰器是Python中一种非常强大的元编程技术,可以帮助你写出更加简洁、优雅和可维护的代码。 `,2)]),o(`div`,{class:c([`bg-neutral-200 h-10 flex items-center justify-between px-4`,{"bg-neutral-700":K.value}])},[...a[24]||=[d(`
(1/1) FULL
`,2)]],2)],2)])],2)])],2),o(`section`,H,[o(`div`,de,[a[28]||=o(`h2`,{class:`text-2xl md:text-3xl font-bold text-white mb-4`},`订阅我们的更新`,-1),a[29]||=o(`p`,{class:`text-white/90 mb-8`},`获取最新的技术文章、教程和行业动态,直接发送到你的邮箱。`,-1),o(`form`,{class:`flex flex-col sm:flex-row gap-3 max-w-lg mx-auto`,onSubmit:te(De,[`prevent`])},[t(o(`input`,{"onUpdate:modelValue":a[4]||=e=>Y.value=e,type:`email`,placeholder:`输入你的邮箱地址`,class:`flex-grow px-4 py-3 rounded-lg focus:outline-none focus:ring-2 focus:ring-white/30`},null,512),[[f,Y.value]]),a[27]||=o(`button`,{type:`submit`,class:`bg-white text-primary font-medium px-6 py-3 rounded-lg hover:bg-neutral-100 transition-colors shadow-md hover:shadow-lg transform hover:-translate-y-0.5 duration-300`},` 订阅 `,-1)],32),a[30]||=o(`p`,{class:`text-white/70 text-sm mt-4`},`我们尊重你的隐私,绝不会向第三方分享你的邮箱地址。`,-1)])])]),o(`footer`,fe,[o(`div`,pe,[o(`div`,me,[a[34]||=d(`
doc.gvsds .com 提供高质量的技术文档和学习资源,帮助开发者平滑阅读和成长。
`,1),o(`div`,null,[a[32]||=o(`h4`,{class:`text-lg font-medium mb-4`},`快速链接`,-1),o(`ul`,he,[(i(),p(u,null,e(Ce,e=>o(`li`,{key:e.label},[o(`a`,{href:e.href,class:`text-neutral-400 hover:text-primary transition-colors`},r(e.label),9,ge)])),64))])]),o(`div`,null,[a[33]||=o(`h4`,{class:`text-lg font-medium mb-4`},`支持`,-1),o(`ul`,_e,[(i(),p(u,null,e(we,e=>o(`li`,{key:e.label},[o(`a`,{href:e.href,class:`text-neutral-400 hover:text-primary transition-colors`},r(e.label),9,ve)])),64))])]),a[35]||=d(``,1)]),a[36]||=d(`© 2025 银河锋锐软件开发工作室. 保留所有权利。
`,1)])]),o(`button`,{id:`back-to-top`,class:c([`fixed bottom-6 right-6 bg-primary text-white w-12 h-12 rounded-full flex items-center justify-center shadow-lg transition-all duration-300 hover:bg-primary/90 transform hover:-translate-y-1`,U.value?`opacity-100 visible`:`opacity-0 invisible`]),onClick:Ee},[...a[37]||=[o(`i`,{class:`fa fa-arrow-up`},null,-1)]],2)],2))}}),[[`__scopeId`,`data-v-26dd8143`]]);export{U as default};
\ No newline at end of file
diff --git a/TempLate/assets/DocumentView-BCj_Nnun.js b/TempLate/assets/DocumentView-BCj_Nnun.js
new file mode 100644
index 00000000..4e7cd68b
--- /dev/null
+++ b/TempLate/assets/DocumentView-BCj_Nnun.js
@@ -0,0 +1,10 @@
+import{C as e,D as t,M as n,N as r,S as i,_ as ee,b as a,c as te,d as o,h as s,j as c,k as l,l as u,m as d,o as f,p,y as ne}from"./index-UfMysbwD.js";import{t as m}from"./_plugin-vue_export-helper-BDNMzG2s.js";var re={class:`container mx-auto px-4 flex items-center justify-between`},ie={class:`flex items-center space-x-2`},ae={class:`text-xl font-bold text-primary`},oe={class:`hidden md:flex items-center space-x-8`},se=[`href`],ce={class:`hidden md:flex items-center relative`},le={class:`flex items-center space-x-4`},ue={class:`relative`},h={class:`flex flex-col space-y-3`},g=[`href`],_={class:`container mx-auto px-4 pt-24 pb-16`},v={class:`mb-12`},y={class:`grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4`},b={class:`font-medium`},x={class:`mb-12`},S={class:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6`},C={class:`relative h-48 overflow-hidden`},w=[`src`,`alt`],T={class:`absolute top-3 left-3`},E={class:`p-5`},D={class:`flex items-center text-sm text-neutral-500 mb-3`},O={class:`text-xl font-bold mb-2 hover:text-primary transition-colors`},k={class:`text-neutral-600 mb-4 line-clamp-3`},A={class:`flex items-center justify-between`},j={class:`flex items-center`},M=[`src`,`alt`],N={class:`ml-2 text-sm font-medium`},P={class:`flex items-center space-x-3 text-neutral-500`},F=[`onClick`],I={class:`flex flex-col md:flex-row`},L={class:`p-8 md:p-12 md:w-1/2 flex flex-col justify-center`},R={class:`space-y-4 mb-8`},z={class:`font-medium text-lg mb-1`},B={class:`relative w-full max-w-md`},V={class:`p-6 h-96 overflow-y-auto scrollbar-hide`},H={class:`bg-gradient-to-r from-primary/90 to-primary rounded-2xl p-8 md:p-12 shadow-lg reveal`},de={class:`max-w-2xl mx-auto text-center`},fe={class:`bg-neutral-900 text-white py-12`},pe={class:`container mx-auto px-4`},me={class:`grid grid-cols-1 md:grid-cols-4 gap-8`},he={class:`space-y-2`},ge=[`href`],_e={class:`space-y-2`},ve=[`href`],U=m(ee({__name:`DocumentView`,setup(ee){let m=l(!1),U=l(!1),ye=l(null),W=l(!1),G=l(!1),K=l(!1),q=l(!1),J=l(``),Y=l(``),X=[{label:`首页`,href:`#`,active:!0},{label:`分类`,href:`#`,active:!1},{label:`收藏`,href:`#`,active:!1},{label:`历史`,href:`#`,active:!1},{label:`关于`,href:`#`,active:!1}],be=[{name:`编程开发`,icon:`fa-code`,iconClass:`text-blue-500`,bgClass:`bg-blue-100`},{name:`数据库`,icon:`fa-database`,iconClass:`text-green-500`,bgClass:`bg-green-100`},{name:`移动开发`,icon:`fa-mobile`,iconClass:`text-purple-500`,bgClass:`bg-purple-100`},{name:`云计算`,icon:`fa-cloud`,iconClass:`text-orange-500`,bgClass:`bg-orange-100`},{name:`人工智能`,icon:`fa-robot`,iconClass:`text-red-500`,bgClass:`bg-red-100`},{name:`运维部署`,icon:`fa-server`,iconClass:`text-yellow-500`,bgClass:`bg-yellow-100`}],xe=[{image:`https://picsum.photos/id/0/600/400`,tag:`编程开发`,tagClass:`bg-primary`,date:`2025-06-15`,readTime:`10 分钟阅读`,title:`Python高级编程技巧与最佳实践`,description:`探索Python高级编程技巧,包括装饰器、生成器、元类和异步编程。了解如何编写更简洁、高效和可维护的Python代码...`,author:`张教授`,authorAvatar:`https://picsum.photos/id/1001/30/30`,bookmarked:!1},{image:`https://picsum.photos/id/180/600/400`,tag:`数据库`,tagClass:`bg-green-500`,date:`2025-06-10`,readTime:`15 分钟阅读`,title:`MySQL数据库性能优化实战指南`,description:`深入了解MySQL数据库性能优化的核心原则和实践方法。从查询优化、索引设计到配置调优,全面提升数据库性能...`,author:`李工程师`,authorAvatar:`https://picsum.photos/id/1002/30/30`,bookmarked:!1},{image:`https://picsum.photos/id/160/600/400`,tag:`前端开发`,tagClass:`bg-purple-500`,date:`2025-06-05`,readTime:`20 分钟阅读`,title:`2025年前端框架全面对比:React、Vue、Angular`,description:`详细对比三大主流前端框架的优缺点、适用场景和性能表现。从生态系统、学习曲线到实际项目应用,助你做出最佳选择...`,author:`王架构师`,authorAvatar:`https://picsum.photos/id/1003/30/30`,bookmarked:!1}],Se=[{title:`护眼模式`,description:`多种背景色和字体设置,减轻眼睛疲劳,长时间阅读也舒适。`},{title:`智能排版`,description:`自动优化文章排版,段落间距适中,字体大小合适,提升阅读体验。`},{title:`Markdown 阅读`,description:`支持 Markdown 格式文档,实现流程图、公式、代码的查看。`}],Ce=[{label:`首页`,href:`#`},{label:`分类`,href:`#`},{label:`最新文章`,href:`#`},{label:`热门标签`,href:`#`},{label:`关于我们`,href:`#`}],we=[{label:`帮助中心`,href:`#`},{label:`联系我们`,href:`#`},{label:`常见问题`,href:`#`},{label:`隐私政策`,href:`#`},{label:`使用条款`,href:`#`}],Z=null;function Q(){K.value=!K.value,K.value?document.documentElement.classList.add(`dark`):document.documentElement.classList.remove(`dark`)}function Te(){q.value=!q.value}function $(){let e=window.scrollY;m.value=e>100,U.value=e>100}function Ee(){window.scrollTo({top:0,behavior:`smooth`})}function De(){Y.value&&=(alert(`感谢订阅!我们将发送最新资讯到 ${Y.value}`),``)}return a(()=>{document.title=`文档中心 - 平滑阅读`,window.addEventListener(`scroll`,$),$();let e=document.querySelectorAll(`.reveal`);Z=new IntersectionObserver(e=>{e.forEach(e=>{if(e.isIntersecting){let t=e.target;t.style.opacity=`1`,t.style.transform=`translateY(0)`,Z?.unobserve(t)}})},{threshold:.1}),e.forEach(e=>{let t=e;t.style.opacity=`0`,t.style.transform=`translateY(15px)`,t.style.transition=`opacity 0.5s ease, transform 0.5s ease`,Z?.observe(t)})}),ne(()=>{window.removeEventListener(`scroll`,$),Z?.disconnect()}),(ee,a)=>(i(),p(`div`,{class:c([`bg-neutral-100 font-sans text-neutral-800 transition-all duration-300`,{"bg-neutral-900 text-white":K.value,"reading-mode":q.value}])},[o(`header`,{id:`navbar`,ref_key:`navbarRef`,ref:ye,class:c([`fixed top-0 left-0 w-full bg-white/90 backdrop-blur-md shadow-sm z-50 transition-all duration-300`,{"py-2 shadow-md":m.value,"py-3 shadow-sm":!m.value,"bg-neutral-900/90":K.value&&m.value,"bg-white/90":!K.value}])},[o(`div`,re,[o(`div`,ie,[a[7]||=o(`i`,{class:`fa fa-book text-primary text-2xl`},null,-1),o(`h1`,ae,[a[5]||=s(` doc`,-1),o(`span`,{class:c(K.value?`text-white`:`text-neutral-800`)},`.gvsds`,2),a[6]||=o(`span`,{class:`text-primary`},`.com`,-1)])]),o(`nav`,oe,[(i(),p(u,null,e(X,e=>o(`a`,{key:e.label,href:e.href,class:c([`font-medium transition-colors`,e.active?`text-primary border-b-2 border-primary pb-1`:`text-neutral-600 hover:text-primary`])},r(e.label),11,se)),64))]),o(`div`,ce,[t(o(`input`,{"onUpdate:modelValue":a[0]||=e=>J.value=e,type:`text`,placeholder:`搜索文档...`,class:c([`w-64 py-2 pl-10 pr-4 rounded-full border border-neutral-300 focus:outline-none focus:ring-2 focus:ring-primary/30 focus:border-primary transition-all`,{"bg-neutral-800 border-neutral-600 text-white":K.value}])},null,2),[[f,J.value]]),a[8]||=o(`i`,{class:`fa fa-search absolute left-4 text-neutral-400`},null,-1)]),o(`div`,le,[o(`button`,{class:c([`p-2 rounded-full transition-colors`,K.value?`hover:bg-neutral-700`:`hover:bg-neutral-200`]),onClick:Q},[o(`i`,{class:c(K.value?`fa fa-sun-o text-yellow-400`:`fa fa-moon-o text-neutral-700`)},null,2)],2),o(`button`,{class:c([`p-2 rounded-full transition-colors`,K.value?`hover:bg-neutral-700`:`hover:bg-neutral-200`]),onClick:Te},[o(`i`,{class:c([`fa fa-eye`,K.value?`text-neutral-300`:`text-neutral-700`])},null,2)],2),o(`button`,{class:c([`md:hidden p-2 rounded-full transition-colors`,K.value?`hover:bg-neutral-700`:`hover:bg-neutral-200`]),onClick:a[1]||=e=>G.value=!G.value},[o(`i`,{class:c([`fa fa-search`,K.value?`text-neutral-300`:`text-neutral-700`])},null,2)],2),o(`button`,{class:c([`md:hidden p-2 rounded-full transition-colors`,K.value?`hover:bg-neutral-700`:`hover:bg-neutral-200`]),onClick:a[2]||=e=>W.value=!W.value},[o(`i`,{class:c([`fa fa-bars`,K.value?`text-neutral-300`:`text-neutral-700`])},null,2)],2),a[9]||=o(`a`,{href:`#`,class:`hidden md:block`},[o(`img`,{src:`https://picsum.photos/id/1005/40/40`,alt:`用户头像`,class:`w-8 h-8 rounded-full border-2 border-white shadow-sm`})],-1)])]),o(`div`,{id:`mobile-search`,class:c([`px-4 pb-3 transition-all duration-300`,G.value?`block`:`hidden`])},[o(`div`,ue,[t(o(`input`,{"onUpdate:modelValue":a[3]||=e=>J.value=e,type:`text`,placeholder:`搜索文档...`,class:c([`w-full py-2 pl-10 pr-4 rounded-full border border-neutral-300 focus:outline-none focus:ring-2 focus:ring-primary/30 focus:border-primary`,{"bg-neutral-800 border-neutral-600 text-white":K.value}])},null,2),[[f,J.value]]),a[10]||=o(`i`,{class:`fa fa-search absolute left-4 top-3 text-neutral-400`},null,-1)])],2),o(`div`,{id:`mobile-menu`,class:c([`px-4 pb-4 md:hidden transition-all duration-300`,W.value?`block`:`hidden`])},[o(`nav`,h,[(i(),p(u,null,e(X,e=>o(`a`,{key:e.label,href:e.href,class:c([`font-medium py-2 transition-colors`,e.active?`text-primary`:`text-neutral-600 hover:text-primary`])},r(e.label),11,g)),64)),a[11]||=o(`a`,{href:`#`,class:`flex items-center space-x-2 font-medium text-neutral-600 py-2 hover:text-primary transition-colors`},[o(`img`,{src:`https://picsum.photos/id/1005/40/40`,alt:`用户头像`,class:`w-8 h-8 rounded-full border-2 border-white shadow-sm`}),o(`span`,null,`登录/注册`)],-1)])],2)],2),o(`main`,_,[a[31]||=d(`发现知识的乐趣 doc.gvsds.com 提供高质量的技术文档、教程和资源,帮助你平滑阅读和学习。
用户可以在 manage.gvsds.com 自由上传文档,因此,请识别链接来源并遵守相关法律法规。同时我们也会做好审核工作
`,1),o(`section`,v,[a[12]||=o(`div`,{class:`flex items-center justify-between mb-6`},[o(`h2`,{class:`text-2xl font-bold`},`探索分类`)],-1),o(`div`,y,[(i(),p(u,null,e(be,(e,t)=>o(`a`,{key:e.name,class:c([`category-card bg-white rounded-xl p-5 shadow-card hover:shadow-card-hover transition-all-300 hover:-translate-y-1 flex flex-col items-center text-center reveal`,{"bg-neutral-800":K.value}]),style:n({transitionDelay:t*80+`ms`})},[o(`div`,{class:c([`w-12 h-12 rounded-full flex items-center justify-center mb-3`,e.bgClass])},[o(`i`,{class:c([`fa`,e.icon,e.iconClass,`text-xl`])},null,2)],2),o(`h3`,b,r(e.name),1)],6)),64))])]),o(`section`,x,[a[15]||=o(`div`,{class:`flex items-center justify-between mb-6`},[o(`h2`,{class:`text-2xl font-bold`},`精选文档`)],-1),o(`div`,S,[(i(),p(u,null,e(xe,(e,t)=>o(`article`,{key:e.title,class:c([`article-card bg-white rounded-xl overflow-hidden shadow-card hover:shadow-card-hover transition-all-300 hover:-translate-y-1 reveal`,{"bg-neutral-800":K.value}]),style:n({transitionDelay:t*120+`ms`})},[o(`div`,C,[o(`img`,{src:e.image,alt:e.title,class:`w-full h-full object-cover transition-transform duration-500 hover:scale-110`},null,8,w),o(`div`,T,[o(`span`,{class:c([`text-white text-xs font-medium px-2.5 py-0.5 rounded-full`,e.tagClass])},r(e.tag),3)])]),o(`div`,E,[o(`div`,D,[o(`span`,null,r(e.date),1),a[13]||=o(`span`,{class:`mx-2`},`•`,-1),o(`span`,null,r(e.readTime),1)]),o(`h3`,O,r(e.title),1),o(`p`,k,r(e.description),1),o(`div`,A,[o(`div`,j,[o(`img`,{src:e.authorAvatar,alt:e.author,class:`w-7 h-7 rounded-full`},null,8,M),o(`span`,N,r(e.author),1)]),o(`div`,P,[o(`button`,{class:`hover:text-primary transition-colors`,onClick:t=>e.bookmarked=!e.bookmarked},[o(`i`,{class:c(e.bookmarked?`fa fa-bookmark text-primary`:`fa fa-bookmark-o`)},null,2)],8,F),a[14]||=o(`button`,{class:`hover:text-primary transition-colors`},[o(`i`,{class:`fa fa-share-alt`})],-1)])])])],6)),64))])]),o(`section`,{class:c([`mb-12 bg-white rounded-2xl shadow-lg overflow-hidden reveal`,{"bg-neutral-800":K.value}])},[o(`div`,I,[o(`div`,L,[a[17]||=o(`h2`,{class:`text-2xl md:text-3xl font-bold mb-4`},`享受平滑阅读体验`,-1),o(`p`,{class:c([`text-neutral-600 mb-6`,{"text-neutral-400":K.value}])},` 我们专注于打造舒适的阅读环境,让你可以更专注于内容本身。支持多种阅读模式和自定义选项,满足你的个性化需求。 `,2),o(`div`,R,[(i(),p(u,null,e(Se,(e,t)=>o(`div`,{key:e.title,class:`flex items-start reveal`,style:n({transitionDelay:t*150+`ms`})},[a[16]||=o(`div`,{class:`mt-1 mr-4 w-8 h-8 rounded-full bg-primary/10 flex items-center justify-center flex-shrink-0`},[o(`i`,{class:`fa fa-check text-primary`})],-1),o(`div`,null,[o(`h3`,z,r(e.title),1),o(`p`,{class:c([`text-neutral-600`,{"text-neutral-400":K.value}])},r(e.description),3)])],4)),64))])]),o(`div`,{class:c([`md:w-1/2 bg-neutral-100 p-6 flex items-center justify-center`,{"bg-neutral-700":K.value}])},[o(`div`,B,[a[25]||=o(`div`,{class:`absolute -top-4 -right-4 w-20 h-20 bg-secondary/20 rounded-full`},null,-1),a[26]||=o(`div`,{class:`absolute -bottom-8 -left-8 w-32 h-32 bg-primary/10 rounded-full`},null,-1),o(`div`,{class:c([`relative bg-white rounded-xl shadow-lg overflow-hidden z-10`,{"bg-neutral-800":K.value}])},[o(`div`,{class:c([`h-12 bg-neutral-200 flex items-center px-4`,{"bg-neutral-700":K.value}])},[a[18]||=o(`div`,{class:`flex space-x-2`},[o(`div`,{class:`w-3 h-3 rounded-full bg-red-400`}),o(`div`,{class:`w-3 h-3 rounded-full bg-yellow-400`}),o(`div`,{class:`w-3 h-3 rounded-full bg-green-400`})],-1),o(`div`,{class:c([`ml-4 text-sm text-neutral-600`,{"text-neutral-400":K.value}])},`Python装饰器详解.md`,2)],2),o(`div`,V,[a[21]||=o(`h1`,{class:`text-2xl font-bold mb-4`},`Python装饰器详解`,-1),o(`p`,{class:c([`mb-4`,K.value?`text-neutral-300`:`text-neutral-700`])},` 装饰器是Python中一种强大而灵活的工具,用于修改或扩展函数或类的行为。它们允许你在不修改原始代码的情况下,增加额外的功能。 `,2),a[22]||=o(`h2`,{class:`text-xl font-bold mt-6 mb-3`},`什么是装饰器?`,-1),o(`p`,{class:c([`mb-4`,K.value?`text-neutral-300`:`text-neutral-700`])},` 装饰器本质上是一个函数,它接受另一个函数作为参数,并返回一个新的函数。这个新的函数通常会包含原始函数的功能,同时增加一些额外的功能。 `,2),o(`div`,{class:c([`bg-neutral-100 p-4 rounded-lg my-4`,{"bg-neutral-700":K.value}])},[o(`pre`,{class:c([`text-sm font-mono`,K.value?`text-neutral-200`:`text-neutral-800`])},`def my_decorator(func):
+ def wrapper():
+ print("在函数执行前做一些事情")
+ func()
+ print("在函数执行后做一些事情")
+ return wrapper
+
+@my_decorator
+def say_hello():
+ print("Hello, World!")`,2)],2),o(`p`,{class:c([`mb-4`,K.value?`text-neutral-300`:`text-neutral-700`])},[...a[19]||=[s(` 上面的代码定义了一个装饰器`,-1),o(`code`,null,`my_decorator`,-1),s(`,它会在调用被装饰的函数前后打印一些信息。使用`,-1),o(`code`,null,`@my_decorator`,-1),s(`语法糖可以很方便地应用装饰器。 `,-1)]],2),a[23]||=o(`h2`,{class:`text-xl font-bold mt-6 mb-3`},`装饰器的应用场景`,-1),o(`ul`,{class:c([`list-disc pl-5 mb-4 space-y-2`,K.value?`text-neutral-300`:`text-neutral-700`])},[...a[20]||=[o(`li`,null,`日志记录`,-1),o(`li`,null,`性能测试`,-1),o(`li`,null,`权限验证`,-1),o(`li`,null,`缓存`,-1),o(`li`,null,`事务处理`,-1)]],2),o(`p`,{class:c(K.value?`text-neutral-300`:`text-neutral-700`)},` 装饰器是Python中一种非常强大的元编程技术,可以帮助你写出更加简洁、优雅和可维护的代码。 `,2)]),o(`div`,{class:c([`bg-neutral-200 h-10 flex items-center justify-between px-4`,{"bg-neutral-700":K.value}])},[...a[24]||=[d(`
(1/1) FULL
`,2)]],2)],2)])],2)])],2),o(`section`,H,[o(`div`,de,[a[28]||=o(`h2`,{class:`text-2xl md:text-3xl font-bold text-white mb-4`},`订阅我们的更新`,-1),a[29]||=o(`p`,{class:`text-white/90 mb-8`},`获取最新的技术文章、教程和行业动态,直接发送到你的邮箱。`,-1),o(`form`,{class:`flex flex-col sm:flex-row gap-3 max-w-lg mx-auto`,onSubmit:te(De,[`prevent`])},[t(o(`input`,{"onUpdate:modelValue":a[4]||=e=>Y.value=e,type:`email`,placeholder:`输入你的邮箱地址`,class:`flex-grow px-4 py-3 rounded-lg focus:outline-none focus:ring-2 focus:ring-white/30`},null,512),[[f,Y.value]]),a[27]||=o(`button`,{type:`submit`,class:`bg-white text-primary font-medium px-6 py-3 rounded-lg hover:bg-neutral-100 transition-colors shadow-md hover:shadow-lg transform hover:-translate-y-0.5 duration-300`},` 订阅 `,-1)],32),a[30]||=o(`p`,{class:`text-white/70 text-sm mt-4`},`我们尊重你的隐私,绝不会向第三方分享你的邮箱地址。`,-1)])])]),o(`footer`,fe,[o(`div`,pe,[o(`div`,me,[a[34]||=d(`
doc.gvsds .com 提供高质量的技术文档和学习资源,帮助开发者平滑阅读和成长。
`,1),o(`div`,null,[a[32]||=o(`h4`,{class:`text-lg font-medium mb-4`},`快速链接`,-1),o(`ul`,he,[(i(),p(u,null,e(Ce,e=>o(`li`,{key:e.label},[o(`a`,{href:e.href,class:`text-neutral-400 hover:text-primary transition-colors`},r(e.label),9,ge)])),64))])]),o(`div`,null,[a[33]||=o(`h4`,{class:`text-lg font-medium mb-4`},`支持`,-1),o(`ul`,_e,[(i(),p(u,null,e(we,e=>o(`li`,{key:e.label},[o(`a`,{href:e.href,class:`text-neutral-400 hover:text-primary transition-colors`},r(e.label),9,ve)])),64))])]),a[35]||=d(``,1)]),a[36]||=d(`© 2025 银河锋锐软件开发工作室. 保留所有权利。
`,1)])]),o(`button`,{id:`back-to-top`,class:c([`fixed bottom-6 right-6 bg-primary text-white w-12 h-12 rounded-full flex items-center justify-center shadow-lg transition-all duration-300 hover:bg-primary/90 transform hover:-translate-y-1`,U.value?`opacity-100 visible`:`opacity-0 invisible`]),onClick:Ee},[...a[37]||=[o(`i`,{class:`fa fa-arrow-up`},null,-1)]],2)],2))}}),[[`__scopeId`,`data-v-26dd8143`]]);export{U as default};
\ No newline at end of file
diff --git a/TempLate/assets/DocumentView-BKRtG1Ev.js b/TempLate/assets/DocumentView-BKRtG1Ev.js
new file mode 100644
index 00000000..d2b9af78
--- /dev/null
+++ b/TempLate/assets/DocumentView-BKRtG1Ev.js
@@ -0,0 +1,10 @@
+import{C as e,D as t,M as n,N as r,S as i,_ as ee,b as a,c as te,d as o,h as s,j as c,k as l,l as u,m as d,o as f,p,y as ne}from"./index-CMhybB9x.js";import{t as m}from"./_plugin-vue_export-helper-BDNMzG2s.js";var re={class:`container mx-auto px-4 flex items-center justify-between`},ie={class:`flex items-center space-x-2`},ae={class:`text-xl font-bold text-primary`},oe={class:`hidden md:flex items-center space-x-8`},se=[`href`],ce={class:`hidden md:flex items-center relative`},le={class:`flex items-center space-x-4`},ue={class:`relative`},h={class:`flex flex-col space-y-3`},g=[`href`],_={class:`container mx-auto px-4 pt-24 pb-16`},v={class:`mb-12`},y={class:`grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4`},b={class:`font-medium`},x={class:`mb-12`},S={class:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6`},C={class:`relative h-48 overflow-hidden`},w=[`src`,`alt`],T={class:`absolute top-3 left-3`},E={class:`p-5`},D={class:`flex items-center text-sm text-neutral-500 mb-3`},O={class:`text-xl font-bold mb-2 hover:text-primary transition-colors`},k={class:`text-neutral-600 mb-4 line-clamp-3`},A={class:`flex items-center justify-between`},j={class:`flex items-center`},M=[`src`,`alt`],N={class:`ml-2 text-sm font-medium`},P={class:`flex items-center space-x-3 text-neutral-500`},F=[`onClick`],I={class:`flex flex-col md:flex-row`},L={class:`p-8 md:p-12 md:w-1/2 flex flex-col justify-center`},R={class:`space-y-4 mb-8`},z={class:`font-medium text-lg mb-1`},B={class:`relative w-full max-w-md`},V={class:`p-6 h-96 overflow-y-auto scrollbar-hide`},H={class:`bg-gradient-to-r from-primary/90 to-primary rounded-2xl p-8 md:p-12 shadow-lg reveal`},de={class:`max-w-2xl mx-auto text-center`},fe={class:`bg-neutral-900 text-white py-12`},pe={class:`container mx-auto px-4`},me={class:`grid grid-cols-1 md:grid-cols-4 gap-8`},he={class:`space-y-2`},ge=[`href`],_e={class:`space-y-2`},ve=[`href`],U=m(ee({__name:`DocumentView`,setup(ee){let m=l(!1),U=l(!1),ye=l(null),W=l(!1),G=l(!1),K=l(!1),q=l(!1),J=l(``),Y=l(``),X=[{label:`首页`,href:`#`,active:!0},{label:`分类`,href:`#`,active:!1},{label:`收藏`,href:`#`,active:!1},{label:`历史`,href:`#`,active:!1},{label:`关于`,href:`#`,active:!1}],be=[{name:`编程开发`,icon:`fa-code`,iconClass:`text-blue-500`,bgClass:`bg-blue-100`},{name:`数据库`,icon:`fa-database`,iconClass:`text-green-500`,bgClass:`bg-green-100`},{name:`移动开发`,icon:`fa-mobile`,iconClass:`text-purple-500`,bgClass:`bg-purple-100`},{name:`云计算`,icon:`fa-cloud`,iconClass:`text-orange-500`,bgClass:`bg-orange-100`},{name:`人工智能`,icon:`fa-robot`,iconClass:`text-red-500`,bgClass:`bg-red-100`},{name:`运维部署`,icon:`fa-server`,iconClass:`text-yellow-500`,bgClass:`bg-yellow-100`}],xe=[{image:`https://picsum.photos/id/0/600/400`,tag:`编程开发`,tagClass:`bg-primary`,date:`2025-06-15`,readTime:`10 分钟阅读`,title:`Python高级编程技巧与最佳实践`,description:`探索Python高级编程技巧,包括装饰器、生成器、元类和异步编程。了解如何编写更简洁、高效和可维护的Python代码...`,author:`张教授`,authorAvatar:`https://picsum.photos/id/1001/30/30`,bookmarked:!1},{image:`https://picsum.photos/id/180/600/400`,tag:`数据库`,tagClass:`bg-green-500`,date:`2025-06-10`,readTime:`15 分钟阅读`,title:`MySQL数据库性能优化实战指南`,description:`深入了解MySQL数据库性能优化的核心原则和实践方法。从查询优化、索引设计到配置调优,全面提升数据库性能...`,author:`李工程师`,authorAvatar:`https://picsum.photos/id/1002/30/30`,bookmarked:!1},{image:`https://picsum.photos/id/160/600/400`,tag:`前端开发`,tagClass:`bg-purple-500`,date:`2025-06-05`,readTime:`20 分钟阅读`,title:`2025年前端框架全面对比:React、Vue、Angular`,description:`详细对比三大主流前端框架的优缺点、适用场景和性能表现。从生态系统、学习曲线到实际项目应用,助你做出最佳选择...`,author:`王架构师`,authorAvatar:`https://picsum.photos/id/1003/30/30`,bookmarked:!1}],Se=[{title:`护眼模式`,description:`多种背景色和字体设置,减轻眼睛疲劳,长时间阅读也舒适。`},{title:`智能排版`,description:`自动优化文章排版,段落间距适中,字体大小合适,提升阅读体验。`},{title:`Markdown 阅读`,description:`支持 Markdown 格式文档,实现流程图、公式、代码的查看。`}],Ce=[{label:`首页`,href:`#`},{label:`分类`,href:`#`},{label:`最新文章`,href:`#`},{label:`热门标签`,href:`#`},{label:`关于我们`,href:`#`}],we=[{label:`帮助中心`,href:`#`},{label:`联系我们`,href:`#`},{label:`常见问题`,href:`#`},{label:`隐私政策`,href:`#`},{label:`使用条款`,href:`#`}],Z=null;function Q(){K.value=!K.value,K.value?document.documentElement.classList.add(`dark`):document.documentElement.classList.remove(`dark`)}function Te(){q.value=!q.value}function $(){let e=window.scrollY;m.value=e>100,U.value=e>100}function Ee(){window.scrollTo({top:0,behavior:`smooth`})}function De(){Y.value&&=(alert(`感谢订阅!我们将发送最新资讯到 ${Y.value}`),``)}return a(()=>{document.title=`文档中心 - 平滑阅读`,window.addEventListener(`scroll`,$),$();let e=document.querySelectorAll(`.reveal`);Z=new IntersectionObserver(e=>{e.forEach(e=>{if(e.isIntersecting){let t=e.target;t.style.opacity=`1`,t.style.transform=`translateY(0)`,Z?.unobserve(t)}})},{threshold:.1}),e.forEach(e=>{let t=e;t.style.opacity=`0`,t.style.transform=`translateY(15px)`,t.style.transition=`opacity 0.5s ease, transform 0.5s ease`,Z?.observe(t)})}),ne(()=>{window.removeEventListener(`scroll`,$),Z?.disconnect()}),(ee,a)=>(i(),p(`div`,{class:c([`bg-neutral-100 font-sans text-neutral-800 transition-all duration-300`,{"bg-neutral-900 text-white":K.value,"reading-mode":q.value}])},[o(`header`,{id:`navbar`,ref_key:`navbarRef`,ref:ye,class:c([`fixed top-0 left-0 w-full bg-white/90 backdrop-blur-md shadow-sm z-50 transition-all duration-300`,{"py-2 shadow-md":m.value,"py-3 shadow-sm":!m.value,"bg-neutral-900/90":K.value&&m.value,"bg-white/90":!K.value}])},[o(`div`,re,[o(`div`,ie,[a[7]||=o(`i`,{class:`fa fa-book text-primary text-2xl`},null,-1),o(`h1`,ae,[a[5]||=s(` doc`,-1),o(`span`,{class:c(K.value?`text-white`:`text-neutral-800`)},`.gvsds`,2),a[6]||=o(`span`,{class:`text-primary`},`.com`,-1)])]),o(`nav`,oe,[(i(),p(u,null,e(X,e=>o(`a`,{key:e.label,href:e.href,class:c([`font-medium transition-colors`,e.active?`text-primary border-b-2 border-primary pb-1`:`text-neutral-600 hover:text-primary`])},r(e.label),11,se)),64))]),o(`div`,ce,[t(o(`input`,{"onUpdate:modelValue":a[0]||=e=>J.value=e,type:`text`,placeholder:`搜索文档...`,class:c([`w-64 py-2 pl-10 pr-4 rounded-full border border-neutral-300 focus:outline-none focus:ring-2 focus:ring-primary/30 focus:border-primary transition-all`,{"bg-neutral-800 border-neutral-600 text-white":K.value}])},null,2),[[f,J.value]]),a[8]||=o(`i`,{class:`fa fa-search absolute left-4 text-neutral-400`},null,-1)]),o(`div`,le,[o(`button`,{class:c([`p-2 rounded-full transition-colors`,K.value?`hover:bg-neutral-700`:`hover:bg-neutral-200`]),onClick:Q},[o(`i`,{class:c(K.value?`fa fa-sun-o text-yellow-400`:`fa fa-moon-o text-neutral-700`)},null,2)],2),o(`button`,{class:c([`p-2 rounded-full transition-colors`,K.value?`hover:bg-neutral-700`:`hover:bg-neutral-200`]),onClick:Te},[o(`i`,{class:c([`fa fa-eye`,K.value?`text-neutral-300`:`text-neutral-700`])},null,2)],2),o(`button`,{class:c([`md:hidden p-2 rounded-full transition-colors`,K.value?`hover:bg-neutral-700`:`hover:bg-neutral-200`]),onClick:a[1]||=e=>G.value=!G.value},[o(`i`,{class:c([`fa fa-search`,K.value?`text-neutral-300`:`text-neutral-700`])},null,2)],2),o(`button`,{class:c([`md:hidden p-2 rounded-full transition-colors`,K.value?`hover:bg-neutral-700`:`hover:bg-neutral-200`]),onClick:a[2]||=e=>W.value=!W.value},[o(`i`,{class:c([`fa fa-bars`,K.value?`text-neutral-300`:`text-neutral-700`])},null,2)],2),a[9]||=o(`a`,{href:`#`,class:`hidden md:block`},[o(`img`,{src:`https://picsum.photos/id/1005/40/40`,alt:`用户头像`,class:`w-8 h-8 rounded-full border-2 border-white shadow-sm`})],-1)])]),o(`div`,{id:`mobile-search`,class:c([`px-4 pb-3 transition-all duration-300`,G.value?`block`:`hidden`])},[o(`div`,ue,[t(o(`input`,{"onUpdate:modelValue":a[3]||=e=>J.value=e,type:`text`,placeholder:`搜索文档...`,class:c([`w-full py-2 pl-10 pr-4 rounded-full border border-neutral-300 focus:outline-none focus:ring-2 focus:ring-primary/30 focus:border-primary`,{"bg-neutral-800 border-neutral-600 text-white":K.value}])},null,2),[[f,J.value]]),a[10]||=o(`i`,{class:`fa fa-search absolute left-4 top-3 text-neutral-400`},null,-1)])],2),o(`div`,{id:`mobile-menu`,class:c([`px-4 pb-4 md:hidden transition-all duration-300`,W.value?`block`:`hidden`])},[o(`nav`,h,[(i(),p(u,null,e(X,e=>o(`a`,{key:e.label,href:e.href,class:c([`font-medium py-2 transition-colors`,e.active?`text-primary`:`text-neutral-600 hover:text-primary`])},r(e.label),11,g)),64)),a[11]||=o(`a`,{href:`#`,class:`flex items-center space-x-2 font-medium text-neutral-600 py-2 hover:text-primary transition-colors`},[o(`img`,{src:`https://picsum.photos/id/1005/40/40`,alt:`用户头像`,class:`w-8 h-8 rounded-full border-2 border-white shadow-sm`}),o(`span`,null,`登录/注册`)],-1)])],2)],2),o(`main`,_,[a[31]||=d(`发现知识的乐趣 doc.gvsds.com 提供高质量的技术文档、教程和资源,帮助你平滑阅读和学习。
用户可以在 manage.gvsds.com 自由上传文档,因此,请识别链接来源并遵守相关法律法规。同时我们也会做好审核工作
`,1),o(`section`,v,[a[12]||=o(`div`,{class:`flex items-center justify-between mb-6`},[o(`h2`,{class:`text-2xl font-bold`},`探索分类`)],-1),o(`div`,y,[(i(),p(u,null,e(be,(e,t)=>o(`a`,{key:e.name,class:c([`category-card bg-white rounded-xl p-5 shadow-card hover:shadow-card-hover transition-all-300 hover:-translate-y-1 flex flex-col items-center text-center reveal`,{"bg-neutral-800":K.value}]),style:n({transitionDelay:t*80+`ms`})},[o(`div`,{class:c([`w-12 h-12 rounded-full flex items-center justify-center mb-3`,e.bgClass])},[o(`i`,{class:c([`fa`,e.icon,e.iconClass,`text-xl`])},null,2)],2),o(`h3`,b,r(e.name),1)],6)),64))])]),o(`section`,x,[a[15]||=o(`div`,{class:`flex items-center justify-between mb-6`},[o(`h2`,{class:`text-2xl font-bold`},`精选文档`)],-1),o(`div`,S,[(i(),p(u,null,e(xe,(e,t)=>o(`article`,{key:e.title,class:c([`article-card bg-white rounded-xl overflow-hidden shadow-card hover:shadow-card-hover transition-all-300 hover:-translate-y-1 reveal`,{"bg-neutral-800":K.value}]),style:n({transitionDelay:t*120+`ms`})},[o(`div`,C,[o(`img`,{src:e.image,alt:e.title,class:`w-full h-full object-cover transition-transform duration-500 hover:scale-110`},null,8,w),o(`div`,T,[o(`span`,{class:c([`text-white text-xs font-medium px-2.5 py-0.5 rounded-full`,e.tagClass])},r(e.tag),3)])]),o(`div`,E,[o(`div`,D,[o(`span`,null,r(e.date),1),a[13]||=o(`span`,{class:`mx-2`},`•`,-1),o(`span`,null,r(e.readTime),1)]),o(`h3`,O,r(e.title),1),o(`p`,k,r(e.description),1),o(`div`,A,[o(`div`,j,[o(`img`,{src:e.authorAvatar,alt:e.author,class:`w-7 h-7 rounded-full`},null,8,M),o(`span`,N,r(e.author),1)]),o(`div`,P,[o(`button`,{class:`hover:text-primary transition-colors`,onClick:t=>e.bookmarked=!e.bookmarked},[o(`i`,{class:c(e.bookmarked?`fa fa-bookmark text-primary`:`fa fa-bookmark-o`)},null,2)],8,F),a[14]||=o(`button`,{class:`hover:text-primary transition-colors`},[o(`i`,{class:`fa fa-share-alt`})],-1)])])])],6)),64))])]),o(`section`,{class:c([`mb-12 bg-white rounded-2xl shadow-lg overflow-hidden reveal`,{"bg-neutral-800":K.value}])},[o(`div`,I,[o(`div`,L,[a[17]||=o(`h2`,{class:`text-2xl md:text-3xl font-bold mb-4`},`享受平滑阅读体验`,-1),o(`p`,{class:c([`text-neutral-600 mb-6`,{"text-neutral-400":K.value}])},` 我们专注于打造舒适的阅读环境,让你可以更专注于内容本身。支持多种阅读模式和自定义选项,满足你的个性化需求。 `,2),o(`div`,R,[(i(),p(u,null,e(Se,(e,t)=>o(`div`,{key:e.title,class:`flex items-start reveal`,style:n({transitionDelay:t*150+`ms`})},[a[16]||=o(`div`,{class:`mt-1 mr-4 w-8 h-8 rounded-full bg-primary/10 flex items-center justify-center flex-shrink-0`},[o(`i`,{class:`fa fa-check text-primary`})],-1),o(`div`,null,[o(`h3`,z,r(e.title),1),o(`p`,{class:c([`text-neutral-600`,{"text-neutral-400":K.value}])},r(e.description),3)])],4)),64))])]),o(`div`,{class:c([`md:w-1/2 bg-neutral-100 p-6 flex items-center justify-center`,{"bg-neutral-700":K.value}])},[o(`div`,B,[a[25]||=o(`div`,{class:`absolute -top-4 -right-4 w-20 h-20 bg-secondary/20 rounded-full`},null,-1),a[26]||=o(`div`,{class:`absolute -bottom-8 -left-8 w-32 h-32 bg-primary/10 rounded-full`},null,-1),o(`div`,{class:c([`relative bg-white rounded-xl shadow-lg overflow-hidden z-10`,{"bg-neutral-800":K.value}])},[o(`div`,{class:c([`h-12 bg-neutral-200 flex items-center px-4`,{"bg-neutral-700":K.value}])},[a[18]||=o(`div`,{class:`flex space-x-2`},[o(`div`,{class:`w-3 h-3 rounded-full bg-red-400`}),o(`div`,{class:`w-3 h-3 rounded-full bg-yellow-400`}),o(`div`,{class:`w-3 h-3 rounded-full bg-green-400`})],-1),o(`div`,{class:c([`ml-4 text-sm text-neutral-600`,{"text-neutral-400":K.value}])},`Python装饰器详解.md`,2)],2),o(`div`,V,[a[21]||=o(`h1`,{class:`text-2xl font-bold mb-4`},`Python装饰器详解`,-1),o(`p`,{class:c([`mb-4`,K.value?`text-neutral-300`:`text-neutral-700`])},` 装饰器是Python中一种强大而灵活的工具,用于修改或扩展函数或类的行为。它们允许你在不修改原始代码的情况下,增加额外的功能。 `,2),a[22]||=o(`h2`,{class:`text-xl font-bold mt-6 mb-3`},`什么是装饰器?`,-1),o(`p`,{class:c([`mb-4`,K.value?`text-neutral-300`:`text-neutral-700`])},` 装饰器本质上是一个函数,它接受另一个函数作为参数,并返回一个新的函数。这个新的函数通常会包含原始函数的功能,同时增加一些额外的功能。 `,2),o(`div`,{class:c([`bg-neutral-100 p-4 rounded-lg my-4`,{"bg-neutral-700":K.value}])},[o(`pre`,{class:c([`text-sm font-mono`,K.value?`text-neutral-200`:`text-neutral-800`])},`def my_decorator(func):
+ def wrapper():
+ print("在函数执行前做一些事情")
+ func()
+ print("在函数执行后做一些事情")
+ return wrapper
+
+@my_decorator
+def say_hello():
+ print("Hello, World!")`,2)],2),o(`p`,{class:c([`mb-4`,K.value?`text-neutral-300`:`text-neutral-700`])},[...a[19]||=[s(` 上面的代码定义了一个装饰器`,-1),o(`code`,null,`my_decorator`,-1),s(`,它会在调用被装饰的函数前后打印一些信息。使用`,-1),o(`code`,null,`@my_decorator`,-1),s(`语法糖可以很方便地应用装饰器。 `,-1)]],2),a[23]||=o(`h2`,{class:`text-xl font-bold mt-6 mb-3`},`装饰器的应用场景`,-1),o(`ul`,{class:c([`list-disc pl-5 mb-4 space-y-2`,K.value?`text-neutral-300`:`text-neutral-700`])},[...a[20]||=[o(`li`,null,`日志记录`,-1),o(`li`,null,`性能测试`,-1),o(`li`,null,`权限验证`,-1),o(`li`,null,`缓存`,-1),o(`li`,null,`事务处理`,-1)]],2),o(`p`,{class:c(K.value?`text-neutral-300`:`text-neutral-700`)},` 装饰器是Python中一种非常强大的元编程技术,可以帮助你写出更加简洁、优雅和可维护的代码。 `,2)]),o(`div`,{class:c([`bg-neutral-200 h-10 flex items-center justify-between px-4`,{"bg-neutral-700":K.value}])},[...a[24]||=[d(`
(1/1) FULL
`,2)]],2)],2)])],2)])],2),o(`section`,H,[o(`div`,de,[a[28]||=o(`h2`,{class:`text-2xl md:text-3xl font-bold text-white mb-4`},`订阅我们的更新`,-1),a[29]||=o(`p`,{class:`text-white/90 mb-8`},`获取最新的技术文章、教程和行业动态,直接发送到你的邮箱。`,-1),o(`form`,{class:`flex flex-col sm:flex-row gap-3 max-w-lg mx-auto`,onSubmit:te(De,[`prevent`])},[t(o(`input`,{"onUpdate:modelValue":a[4]||=e=>Y.value=e,type:`email`,placeholder:`输入你的邮箱地址`,class:`flex-grow px-4 py-3 rounded-lg focus:outline-none focus:ring-2 focus:ring-white/30`},null,512),[[f,Y.value]]),a[27]||=o(`button`,{type:`submit`,class:`bg-white text-primary font-medium px-6 py-3 rounded-lg hover:bg-neutral-100 transition-colors shadow-md hover:shadow-lg transform hover:-translate-y-0.5 duration-300`},` 订阅 `,-1)],32),a[30]||=o(`p`,{class:`text-white/70 text-sm mt-4`},`我们尊重你的隐私,绝不会向第三方分享你的邮箱地址。`,-1)])])]),o(`footer`,fe,[o(`div`,pe,[o(`div`,me,[a[34]||=d(`
doc.gvsds .com 提供高质量的技术文档和学习资源,帮助开发者平滑阅读和成长。
`,1),o(`div`,null,[a[32]||=o(`h4`,{class:`text-lg font-medium mb-4`},`快速链接`,-1),o(`ul`,he,[(i(),p(u,null,e(Ce,e=>o(`li`,{key:e.label},[o(`a`,{href:e.href,class:`text-neutral-400 hover:text-primary transition-colors`},r(e.label),9,ge)])),64))])]),o(`div`,null,[a[33]||=o(`h4`,{class:`text-lg font-medium mb-4`},`支持`,-1),o(`ul`,_e,[(i(),p(u,null,e(we,e=>o(`li`,{key:e.label},[o(`a`,{href:e.href,class:`text-neutral-400 hover:text-primary transition-colors`},r(e.label),9,ve)])),64))])]),a[35]||=d(``,1)]),a[36]||=d(`© 2025 银河锋锐软件开发工作室. 保留所有权利。
`,1)])]),o(`button`,{id:`back-to-top`,class:c([`fixed bottom-6 right-6 bg-primary text-white w-12 h-12 rounded-full flex items-center justify-center shadow-lg transition-all duration-300 hover:bg-primary/90 transform hover:-translate-y-1`,U.value?`opacity-100 visible`:`opacity-0 invisible`]),onClick:Ee},[...a[37]||=[o(`i`,{class:`fa fa-arrow-up`},null,-1)]],2)],2))}}),[[`__scopeId`,`data-v-26dd8143`]]);export{U as default};
\ No newline at end of file
diff --git a/TempLate/assets/DocumentView-BlrOXlZg.js b/TempLate/assets/DocumentView-BlrOXlZg.js
new file mode 100644
index 00000000..6f1e8092
--- /dev/null
+++ b/TempLate/assets/DocumentView-BlrOXlZg.js
@@ -0,0 +1,10 @@
+import{C as e,D as t,M as n,N as r,S as i,_ as ee,b as a,c as te,d as o,h as s,j as c,k as l,l as u,m as d,o as f,p,y as ne}from"./index-BM-LFFI_.js";import{t as m}from"./_plugin-vue_export-helper-BDNMzG2s.js";var re={class:`container mx-auto px-4 flex items-center justify-between`},ie={class:`flex items-center space-x-2`},ae={class:`text-xl font-bold text-primary`},oe={class:`hidden md:flex items-center space-x-8`},se=[`href`],ce={class:`hidden md:flex items-center relative`},le={class:`flex items-center space-x-4`},ue={class:`relative`},h={class:`flex flex-col space-y-3`},g=[`href`],_={class:`container mx-auto px-4 pt-24 pb-16`},v={class:`mb-12`},y={class:`grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4`},b={class:`font-medium`},x={class:`mb-12`},S={class:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6`},C={class:`relative h-48 overflow-hidden`},w=[`src`,`alt`],T={class:`absolute top-3 left-3`},E={class:`p-5`},D={class:`flex items-center text-sm text-neutral-500 mb-3`},O={class:`text-xl font-bold mb-2 hover:text-primary transition-colors`},k={class:`text-neutral-600 mb-4 line-clamp-3`},A={class:`flex items-center justify-between`},j={class:`flex items-center`},M=[`src`,`alt`],N={class:`ml-2 text-sm font-medium`},P={class:`flex items-center space-x-3 text-neutral-500`},F=[`onClick`],I={class:`flex flex-col md:flex-row`},L={class:`p-8 md:p-12 md:w-1/2 flex flex-col justify-center`},R={class:`space-y-4 mb-8`},z={class:`font-medium text-lg mb-1`},B={class:`relative w-full max-w-md`},V={class:`p-6 h-96 overflow-y-auto scrollbar-hide`},H={class:`bg-gradient-to-r from-primary/90 to-primary rounded-2xl p-8 md:p-12 shadow-lg reveal`},de={class:`max-w-2xl mx-auto text-center`},fe={class:`bg-neutral-900 text-white py-12`},pe={class:`container mx-auto px-4`},me={class:`grid grid-cols-1 md:grid-cols-4 gap-8`},he={class:`space-y-2`},ge=[`href`],_e={class:`space-y-2`},ve=[`href`],U=m(ee({__name:`DocumentView`,setup(ee){let m=l(!1),U=l(!1),ye=l(null),W=l(!1),G=l(!1),K=l(!1),q=l(!1),J=l(``),Y=l(``),X=[{label:`首页`,href:`#`,active:!0},{label:`分类`,href:`#`,active:!1},{label:`收藏`,href:`#`,active:!1},{label:`历史`,href:`#`,active:!1},{label:`关于`,href:`#`,active:!1}],be=[{name:`编程开发`,icon:`fa-code`,iconClass:`text-blue-500`,bgClass:`bg-blue-100`},{name:`数据库`,icon:`fa-database`,iconClass:`text-green-500`,bgClass:`bg-green-100`},{name:`移动开发`,icon:`fa-mobile`,iconClass:`text-purple-500`,bgClass:`bg-purple-100`},{name:`云计算`,icon:`fa-cloud`,iconClass:`text-orange-500`,bgClass:`bg-orange-100`},{name:`人工智能`,icon:`fa-robot`,iconClass:`text-red-500`,bgClass:`bg-red-100`},{name:`运维部署`,icon:`fa-server`,iconClass:`text-yellow-500`,bgClass:`bg-yellow-100`}],xe=[{image:`https://picsum.photos/id/0/600/400`,tag:`编程开发`,tagClass:`bg-primary`,date:`2025-06-15`,readTime:`10 分钟阅读`,title:`Python高级编程技巧与最佳实践`,description:`探索Python高级编程技巧,包括装饰器、生成器、元类和异步编程。了解如何编写更简洁、高效和可维护的Python代码...`,author:`张教授`,authorAvatar:`https://picsum.photos/id/1001/30/30`,bookmarked:!1},{image:`https://picsum.photos/id/180/600/400`,tag:`数据库`,tagClass:`bg-green-500`,date:`2025-06-10`,readTime:`15 分钟阅读`,title:`MySQL数据库性能优化实战指南`,description:`深入了解MySQL数据库性能优化的核心原则和实践方法。从查询优化、索引设计到配置调优,全面提升数据库性能...`,author:`李工程师`,authorAvatar:`https://picsum.photos/id/1002/30/30`,bookmarked:!1},{image:`https://picsum.photos/id/160/600/400`,tag:`前端开发`,tagClass:`bg-purple-500`,date:`2025-06-05`,readTime:`20 分钟阅读`,title:`2025年前端框架全面对比:React、Vue、Angular`,description:`详细对比三大主流前端框架的优缺点、适用场景和性能表现。从生态系统、学习曲线到实际项目应用,助你做出最佳选择...`,author:`王架构师`,authorAvatar:`https://picsum.photos/id/1003/30/30`,bookmarked:!1}],Se=[{title:`护眼模式`,description:`多种背景色和字体设置,减轻眼睛疲劳,长时间阅读也舒适。`},{title:`智能排版`,description:`自动优化文章排版,段落间距适中,字体大小合适,提升阅读体验。`},{title:`Markdown 阅读`,description:`支持 Markdown 格式文档,实现流程图、公式、代码的查看。`}],Ce=[{label:`首页`,href:`#`},{label:`分类`,href:`#`},{label:`最新文章`,href:`#`},{label:`热门标签`,href:`#`},{label:`关于我们`,href:`#`}],we=[{label:`帮助中心`,href:`#`},{label:`联系我们`,href:`#`},{label:`常见问题`,href:`#`},{label:`隐私政策`,href:`#`},{label:`使用条款`,href:`#`}],Z=null;function Q(){K.value=!K.value,K.value?document.documentElement.classList.add(`dark`):document.documentElement.classList.remove(`dark`)}function Te(){q.value=!q.value}function $(){let e=window.scrollY;m.value=e>100,U.value=e>100}function Ee(){window.scrollTo({top:0,behavior:`smooth`})}function De(){Y.value&&=(alert(`感谢订阅!我们将发送最新资讯到 ${Y.value}`),``)}return a(()=>{document.title=`文档中心 - 平滑阅读`,window.addEventListener(`scroll`,$),$();let e=document.querySelectorAll(`.reveal`);Z=new IntersectionObserver(e=>{e.forEach(e=>{if(e.isIntersecting){let t=e.target;t.style.opacity=`1`,t.style.transform=`translateY(0)`,Z?.unobserve(t)}})},{threshold:.1}),e.forEach(e=>{let t=e;t.style.opacity=`0`,t.style.transform=`translateY(15px)`,t.style.transition=`opacity 0.5s ease, transform 0.5s ease`,Z?.observe(t)})}),ne(()=>{window.removeEventListener(`scroll`,$),Z?.disconnect()}),(ee,a)=>(i(),p(`div`,{class:c([`bg-neutral-100 font-sans text-neutral-800 transition-all duration-300`,{"bg-neutral-900 text-white":K.value,"reading-mode":q.value}])},[o(`header`,{id:`navbar`,ref_key:`navbarRef`,ref:ye,class:c([`fixed top-0 left-0 w-full bg-white/90 backdrop-blur-md shadow-sm z-50 transition-all duration-300`,{"py-2 shadow-md":m.value,"py-3 shadow-sm":!m.value,"bg-neutral-900/90":K.value&&m.value,"bg-white/90":!K.value}])},[o(`div`,re,[o(`div`,ie,[a[7]||=o(`i`,{class:`fa fa-book text-primary text-2xl`},null,-1),o(`h1`,ae,[a[5]||=s(` doc`,-1),o(`span`,{class:c(K.value?`text-white`:`text-neutral-800`)},`.gvsds`,2),a[6]||=o(`span`,{class:`text-primary`},`.com`,-1)])]),o(`nav`,oe,[(i(),p(u,null,e(X,e=>o(`a`,{key:e.label,href:e.href,class:c([`font-medium transition-colors`,e.active?`text-primary border-b-2 border-primary pb-1`:`text-neutral-600 hover:text-primary`])},r(e.label),11,se)),64))]),o(`div`,ce,[t(o(`input`,{"onUpdate:modelValue":a[0]||=e=>J.value=e,type:`text`,placeholder:`搜索文档...`,class:c([`w-64 py-2 pl-10 pr-4 rounded-full border border-neutral-300 focus:outline-none focus:ring-2 focus:ring-primary/30 focus:border-primary transition-all`,{"bg-neutral-800 border-neutral-600 text-white":K.value}])},null,2),[[f,J.value]]),a[8]||=o(`i`,{class:`fa fa-search absolute left-4 text-neutral-400`},null,-1)]),o(`div`,le,[o(`button`,{class:c([`p-2 rounded-full transition-colors`,K.value?`hover:bg-neutral-700`:`hover:bg-neutral-200`]),onClick:Q},[o(`i`,{class:c(K.value?`fa fa-sun-o text-yellow-400`:`fa fa-moon-o text-neutral-700`)},null,2)],2),o(`button`,{class:c([`p-2 rounded-full transition-colors`,K.value?`hover:bg-neutral-700`:`hover:bg-neutral-200`]),onClick:Te},[o(`i`,{class:c([`fa fa-eye`,K.value?`text-neutral-300`:`text-neutral-700`])},null,2)],2),o(`button`,{class:c([`md:hidden p-2 rounded-full transition-colors`,K.value?`hover:bg-neutral-700`:`hover:bg-neutral-200`]),onClick:a[1]||=e=>G.value=!G.value},[o(`i`,{class:c([`fa fa-search`,K.value?`text-neutral-300`:`text-neutral-700`])},null,2)],2),o(`button`,{class:c([`md:hidden p-2 rounded-full transition-colors`,K.value?`hover:bg-neutral-700`:`hover:bg-neutral-200`]),onClick:a[2]||=e=>W.value=!W.value},[o(`i`,{class:c([`fa fa-bars`,K.value?`text-neutral-300`:`text-neutral-700`])},null,2)],2),a[9]||=o(`a`,{href:`#`,class:`hidden md:block`},[o(`img`,{src:`https://picsum.photos/id/1005/40/40`,alt:`用户头像`,class:`w-8 h-8 rounded-full border-2 border-white shadow-sm`})],-1)])]),o(`div`,{id:`mobile-search`,class:c([`px-4 pb-3 transition-all duration-300`,G.value?`block`:`hidden`])},[o(`div`,ue,[t(o(`input`,{"onUpdate:modelValue":a[3]||=e=>J.value=e,type:`text`,placeholder:`搜索文档...`,class:c([`w-full py-2 pl-10 pr-4 rounded-full border border-neutral-300 focus:outline-none focus:ring-2 focus:ring-primary/30 focus:border-primary`,{"bg-neutral-800 border-neutral-600 text-white":K.value}])},null,2),[[f,J.value]]),a[10]||=o(`i`,{class:`fa fa-search absolute left-4 top-3 text-neutral-400`},null,-1)])],2),o(`div`,{id:`mobile-menu`,class:c([`px-4 pb-4 md:hidden transition-all duration-300`,W.value?`block`:`hidden`])},[o(`nav`,h,[(i(),p(u,null,e(X,e=>o(`a`,{key:e.label,href:e.href,class:c([`font-medium py-2 transition-colors`,e.active?`text-primary`:`text-neutral-600 hover:text-primary`])},r(e.label),11,g)),64)),a[11]||=o(`a`,{href:`#`,class:`flex items-center space-x-2 font-medium text-neutral-600 py-2 hover:text-primary transition-colors`},[o(`img`,{src:`https://picsum.photos/id/1005/40/40`,alt:`用户头像`,class:`w-8 h-8 rounded-full border-2 border-white shadow-sm`}),o(`span`,null,`登录/注册`)],-1)])],2)],2),o(`main`,_,[a[31]||=d(`发现知识的乐趣 doc.gvsds.com 提供高质量的技术文档、教程和资源,帮助你平滑阅读和学习。
用户可以在 manage.gvsds.com 自由上传文档,因此,请识别链接来源并遵守相关法律法规。同时我们也会做好审核工作
`,1),o(`section`,v,[a[12]||=o(`div`,{class:`flex items-center justify-between mb-6`},[o(`h2`,{class:`text-2xl font-bold`},`探索分类`)],-1),o(`div`,y,[(i(),p(u,null,e(be,(e,t)=>o(`a`,{key:e.name,class:c([`category-card bg-white rounded-xl p-5 shadow-card hover:shadow-card-hover transition-all-300 hover:-translate-y-1 flex flex-col items-center text-center reveal`,{"bg-neutral-800":K.value}]),style:n({transitionDelay:t*80+`ms`})},[o(`div`,{class:c([`w-12 h-12 rounded-full flex items-center justify-center mb-3`,e.bgClass])},[o(`i`,{class:c([`fa`,e.icon,e.iconClass,`text-xl`])},null,2)],2),o(`h3`,b,r(e.name),1)],6)),64))])]),o(`section`,x,[a[15]||=o(`div`,{class:`flex items-center justify-between mb-6`},[o(`h2`,{class:`text-2xl font-bold`},`精选文档`)],-1),o(`div`,S,[(i(),p(u,null,e(xe,(e,t)=>o(`article`,{key:e.title,class:c([`article-card bg-white rounded-xl overflow-hidden shadow-card hover:shadow-card-hover transition-all-300 hover:-translate-y-1 reveal`,{"bg-neutral-800":K.value}]),style:n({transitionDelay:t*120+`ms`})},[o(`div`,C,[o(`img`,{src:e.image,alt:e.title,class:`w-full h-full object-cover transition-transform duration-500 hover:scale-110`},null,8,w),o(`div`,T,[o(`span`,{class:c([`text-white text-xs font-medium px-2.5 py-0.5 rounded-full`,e.tagClass])},r(e.tag),3)])]),o(`div`,E,[o(`div`,D,[o(`span`,null,r(e.date),1),a[13]||=o(`span`,{class:`mx-2`},`•`,-1),o(`span`,null,r(e.readTime),1)]),o(`h3`,O,r(e.title),1),o(`p`,k,r(e.description),1),o(`div`,A,[o(`div`,j,[o(`img`,{src:e.authorAvatar,alt:e.author,class:`w-7 h-7 rounded-full`},null,8,M),o(`span`,N,r(e.author),1)]),o(`div`,P,[o(`button`,{class:`hover:text-primary transition-colors`,onClick:t=>e.bookmarked=!e.bookmarked},[o(`i`,{class:c(e.bookmarked?`fa fa-bookmark text-primary`:`fa fa-bookmark-o`)},null,2)],8,F),a[14]||=o(`button`,{class:`hover:text-primary transition-colors`},[o(`i`,{class:`fa fa-share-alt`})],-1)])])])],6)),64))])]),o(`section`,{class:c([`mb-12 bg-white rounded-2xl shadow-lg overflow-hidden reveal`,{"bg-neutral-800":K.value}])},[o(`div`,I,[o(`div`,L,[a[17]||=o(`h2`,{class:`text-2xl md:text-3xl font-bold mb-4`},`享受平滑阅读体验`,-1),o(`p`,{class:c([`text-neutral-600 mb-6`,{"text-neutral-400":K.value}])},` 我们专注于打造舒适的阅读环境,让你可以更专注于内容本身。支持多种阅读模式和自定义选项,满足你的个性化需求。 `,2),o(`div`,R,[(i(),p(u,null,e(Se,(e,t)=>o(`div`,{key:e.title,class:`flex items-start reveal`,style:n({transitionDelay:t*150+`ms`})},[a[16]||=o(`div`,{class:`mt-1 mr-4 w-8 h-8 rounded-full bg-primary/10 flex items-center justify-center flex-shrink-0`},[o(`i`,{class:`fa fa-check text-primary`})],-1),o(`div`,null,[o(`h3`,z,r(e.title),1),o(`p`,{class:c([`text-neutral-600`,{"text-neutral-400":K.value}])},r(e.description),3)])],4)),64))])]),o(`div`,{class:c([`md:w-1/2 bg-neutral-100 p-6 flex items-center justify-center`,{"bg-neutral-700":K.value}])},[o(`div`,B,[a[25]||=o(`div`,{class:`absolute -top-4 -right-4 w-20 h-20 bg-secondary/20 rounded-full`},null,-1),a[26]||=o(`div`,{class:`absolute -bottom-8 -left-8 w-32 h-32 bg-primary/10 rounded-full`},null,-1),o(`div`,{class:c([`relative bg-white rounded-xl shadow-lg overflow-hidden z-10`,{"bg-neutral-800":K.value}])},[o(`div`,{class:c([`h-12 bg-neutral-200 flex items-center px-4`,{"bg-neutral-700":K.value}])},[a[18]||=o(`div`,{class:`flex space-x-2`},[o(`div`,{class:`w-3 h-3 rounded-full bg-red-400`}),o(`div`,{class:`w-3 h-3 rounded-full bg-yellow-400`}),o(`div`,{class:`w-3 h-3 rounded-full bg-green-400`})],-1),o(`div`,{class:c([`ml-4 text-sm text-neutral-600`,{"text-neutral-400":K.value}])},`Python装饰器详解.md`,2)],2),o(`div`,V,[a[21]||=o(`h1`,{class:`text-2xl font-bold mb-4`},`Python装饰器详解`,-1),o(`p`,{class:c([`mb-4`,K.value?`text-neutral-300`:`text-neutral-700`])},` 装饰器是Python中一种强大而灵活的工具,用于修改或扩展函数或类的行为。它们允许你在不修改原始代码的情况下,增加额外的功能。 `,2),a[22]||=o(`h2`,{class:`text-xl font-bold mt-6 mb-3`},`什么是装饰器?`,-1),o(`p`,{class:c([`mb-4`,K.value?`text-neutral-300`:`text-neutral-700`])},` 装饰器本质上是一个函数,它接受另一个函数作为参数,并返回一个新的函数。这个新的函数通常会包含原始函数的功能,同时增加一些额外的功能。 `,2),o(`div`,{class:c([`bg-neutral-100 p-4 rounded-lg my-4`,{"bg-neutral-700":K.value}])},[o(`pre`,{class:c([`text-sm font-mono`,K.value?`text-neutral-200`:`text-neutral-800`])},`def my_decorator(func):
+ def wrapper():
+ print("在函数执行前做一些事情")
+ func()
+ print("在函数执行后做一些事情")
+ return wrapper
+
+@my_decorator
+def say_hello():
+ print("Hello, World!")`,2)],2),o(`p`,{class:c([`mb-4`,K.value?`text-neutral-300`:`text-neutral-700`])},[...a[19]||=[s(` 上面的代码定义了一个装饰器`,-1),o(`code`,null,`my_decorator`,-1),s(`,它会在调用被装饰的函数前后打印一些信息。使用`,-1),o(`code`,null,`@my_decorator`,-1),s(`语法糖可以很方便地应用装饰器。 `,-1)]],2),a[23]||=o(`h2`,{class:`text-xl font-bold mt-6 mb-3`},`装饰器的应用场景`,-1),o(`ul`,{class:c([`list-disc pl-5 mb-4 space-y-2`,K.value?`text-neutral-300`:`text-neutral-700`])},[...a[20]||=[o(`li`,null,`日志记录`,-1),o(`li`,null,`性能测试`,-1),o(`li`,null,`权限验证`,-1),o(`li`,null,`缓存`,-1),o(`li`,null,`事务处理`,-1)]],2),o(`p`,{class:c(K.value?`text-neutral-300`:`text-neutral-700`)},` 装饰器是Python中一种非常强大的元编程技术,可以帮助你写出更加简洁、优雅和可维护的代码。 `,2)]),o(`div`,{class:c([`bg-neutral-200 h-10 flex items-center justify-between px-4`,{"bg-neutral-700":K.value}])},[...a[24]||=[d(`
(1/1) FULL
`,2)]],2)],2)])],2)])],2),o(`section`,H,[o(`div`,de,[a[28]||=o(`h2`,{class:`text-2xl md:text-3xl font-bold text-white mb-4`},`订阅我们的更新`,-1),a[29]||=o(`p`,{class:`text-white/90 mb-8`},`获取最新的技术文章、教程和行业动态,直接发送到你的邮箱。`,-1),o(`form`,{class:`flex flex-col sm:flex-row gap-3 max-w-lg mx-auto`,onSubmit:te(De,[`prevent`])},[t(o(`input`,{"onUpdate:modelValue":a[4]||=e=>Y.value=e,type:`email`,placeholder:`输入你的邮箱地址`,class:`flex-grow px-4 py-3 rounded-lg focus:outline-none focus:ring-2 focus:ring-white/30`},null,512),[[f,Y.value]]),a[27]||=o(`button`,{type:`submit`,class:`bg-white text-primary font-medium px-6 py-3 rounded-lg hover:bg-neutral-100 transition-colors shadow-md hover:shadow-lg transform hover:-translate-y-0.5 duration-300`},` 订阅 `,-1)],32),a[30]||=o(`p`,{class:`text-white/70 text-sm mt-4`},`我们尊重你的隐私,绝不会向第三方分享你的邮箱地址。`,-1)])])]),o(`footer`,fe,[o(`div`,pe,[o(`div`,me,[a[34]||=d(`
doc.gvsds .com 提供高质量的技术文档和学习资源,帮助开发者平滑阅读和成长。
`,1),o(`div`,null,[a[32]||=o(`h4`,{class:`text-lg font-medium mb-4`},`快速链接`,-1),o(`ul`,he,[(i(),p(u,null,e(Ce,e=>o(`li`,{key:e.label},[o(`a`,{href:e.href,class:`text-neutral-400 hover:text-primary transition-colors`},r(e.label),9,ge)])),64))])]),o(`div`,null,[a[33]||=o(`h4`,{class:`text-lg font-medium mb-4`},`支持`,-1),o(`ul`,_e,[(i(),p(u,null,e(we,e=>o(`li`,{key:e.label},[o(`a`,{href:e.href,class:`text-neutral-400 hover:text-primary transition-colors`},r(e.label),9,ve)])),64))])]),a[35]||=d(``,1)]),a[36]||=d(`© 2025 银河锋锐软件开发工作室. 保留所有权利。
`,1)])]),o(`button`,{id:`back-to-top`,class:c([`fixed bottom-6 right-6 bg-primary text-white w-12 h-12 rounded-full flex items-center justify-center shadow-lg transition-all duration-300 hover:bg-primary/90 transform hover:-translate-y-1`,U.value?`opacity-100 visible`:`opacity-0 invisible`]),onClick:Ee},[...a[37]||=[o(`i`,{class:`fa fa-arrow-up`},null,-1)]],2)],2))}}),[[`__scopeId`,`data-v-26dd8143`]]);export{U as default};
\ No newline at end of file
diff --git a/TempLate/assets/DocumentView-CS0MX7Pj.js b/TempLate/assets/DocumentView-CS0MX7Pj.js
new file mode 100644
index 00000000..5461f49a
--- /dev/null
+++ b/TempLate/assets/DocumentView-CS0MX7Pj.js
@@ -0,0 +1,10 @@
+import{C as e,D as t,M as n,N as r,S as i,_ as ee,b as a,c as te,d as o,h as s,j as c,k as l,l as u,m as d,o as f,p,y as ne}from"./index-CUry87of.js";import{t as m}from"./_plugin-vue_export-helper-BDNMzG2s.js";var re={class:`container mx-auto px-4 flex items-center justify-between`},ie={class:`flex items-center space-x-2`},ae={class:`text-xl font-bold text-primary`},oe={class:`hidden md:flex items-center space-x-8`},se=[`href`],ce={class:`hidden md:flex items-center relative`},le={class:`flex items-center space-x-4`},ue={class:`relative`},h={class:`flex flex-col space-y-3`},g=[`href`],_={class:`container mx-auto px-4 pt-24 pb-16`},v={class:`mb-12`},y={class:`grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4`},b={class:`font-medium`},x={class:`mb-12`},S={class:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6`},C={class:`relative h-48 overflow-hidden`},w=[`src`,`alt`],T={class:`absolute top-3 left-3`},E={class:`p-5`},D={class:`flex items-center text-sm text-neutral-500 mb-3`},O={class:`text-xl font-bold mb-2 hover:text-primary transition-colors`},k={class:`text-neutral-600 mb-4 line-clamp-3`},A={class:`flex items-center justify-between`},j={class:`flex items-center`},M=[`src`,`alt`],N={class:`ml-2 text-sm font-medium`},P={class:`flex items-center space-x-3 text-neutral-500`},F=[`onClick`],I={class:`flex flex-col md:flex-row`},L={class:`p-8 md:p-12 md:w-1/2 flex flex-col justify-center`},R={class:`space-y-4 mb-8`},z={class:`font-medium text-lg mb-1`},B={class:`relative w-full max-w-md`},V={class:`p-6 h-96 overflow-y-auto scrollbar-hide`},H={class:`bg-gradient-to-r from-primary/90 to-primary rounded-2xl p-8 md:p-12 shadow-lg reveal`},de={class:`max-w-2xl mx-auto text-center`},fe={class:`bg-neutral-900 text-white py-12`},pe={class:`container mx-auto px-4`},me={class:`grid grid-cols-1 md:grid-cols-4 gap-8`},he={class:`space-y-2`},ge=[`href`],_e={class:`space-y-2`},ve=[`href`],U=m(ee({__name:`DocumentView`,setup(ee){let m=l(!1),U=l(!1),ye=l(null),W=l(!1),G=l(!1),K=l(!1),q=l(!1),J=l(``),Y=l(``),X=[{label:`首页`,href:`#`,active:!0},{label:`分类`,href:`#`,active:!1},{label:`收藏`,href:`#`,active:!1},{label:`历史`,href:`#`,active:!1},{label:`关于`,href:`#`,active:!1}],be=[{name:`编程开发`,icon:`fa-code`,iconClass:`text-blue-500`,bgClass:`bg-blue-100`},{name:`数据库`,icon:`fa-database`,iconClass:`text-green-500`,bgClass:`bg-green-100`},{name:`移动开发`,icon:`fa-mobile`,iconClass:`text-purple-500`,bgClass:`bg-purple-100`},{name:`云计算`,icon:`fa-cloud`,iconClass:`text-orange-500`,bgClass:`bg-orange-100`},{name:`人工智能`,icon:`fa-robot`,iconClass:`text-red-500`,bgClass:`bg-red-100`},{name:`运维部署`,icon:`fa-server`,iconClass:`text-yellow-500`,bgClass:`bg-yellow-100`}],xe=[{image:`https://picsum.photos/id/0/600/400`,tag:`编程开发`,tagClass:`bg-primary`,date:`2025-06-15`,readTime:`10 分钟阅读`,title:`Python高级编程技巧与最佳实践`,description:`探索Python高级编程技巧,包括装饰器、生成器、元类和异步编程。了解如何编写更简洁、高效和可维护的Python代码...`,author:`张教授`,authorAvatar:`https://picsum.photos/id/1001/30/30`,bookmarked:!1},{image:`https://picsum.photos/id/180/600/400`,tag:`数据库`,tagClass:`bg-green-500`,date:`2025-06-10`,readTime:`15 分钟阅读`,title:`MySQL数据库性能优化实战指南`,description:`深入了解MySQL数据库性能优化的核心原则和实践方法。从查询优化、索引设计到配置调优,全面提升数据库性能...`,author:`李工程师`,authorAvatar:`https://picsum.photos/id/1002/30/30`,bookmarked:!1},{image:`https://picsum.photos/id/160/600/400`,tag:`前端开发`,tagClass:`bg-purple-500`,date:`2025-06-05`,readTime:`20 分钟阅读`,title:`2025年前端框架全面对比:React、Vue、Angular`,description:`详细对比三大主流前端框架的优缺点、适用场景和性能表现。从生态系统、学习曲线到实际项目应用,助你做出最佳选择...`,author:`王架构师`,authorAvatar:`https://picsum.photos/id/1003/30/30`,bookmarked:!1}],Se=[{title:`护眼模式`,description:`多种背景色和字体设置,减轻眼睛疲劳,长时间阅读也舒适。`},{title:`智能排版`,description:`自动优化文章排版,段落间距适中,字体大小合适,提升阅读体验。`},{title:`Markdown 阅读`,description:`支持 Markdown 格式文档,实现流程图、公式、代码的查看。`}],Ce=[{label:`首页`,href:`#`},{label:`分类`,href:`#`},{label:`最新文章`,href:`#`},{label:`热门标签`,href:`#`},{label:`关于我们`,href:`#`}],we=[{label:`帮助中心`,href:`#`},{label:`联系我们`,href:`#`},{label:`常见问题`,href:`#`},{label:`隐私政策`,href:`#`},{label:`使用条款`,href:`#`}],Z=null;function Q(){K.value=!K.value,K.value?document.documentElement.classList.add(`dark`):document.documentElement.classList.remove(`dark`)}function Te(){q.value=!q.value}function $(){let e=window.scrollY;m.value=e>100,U.value=e>100}function Ee(){window.scrollTo({top:0,behavior:`smooth`})}function De(){Y.value&&=(alert(`感谢订阅!我们将发送最新资讯到 ${Y.value}`),``)}return a(()=>{document.title=`文档中心 - 平滑阅读`,window.addEventListener(`scroll`,$),$();let e=document.querySelectorAll(`.reveal`);Z=new IntersectionObserver(e=>{e.forEach(e=>{if(e.isIntersecting){let t=e.target;t.style.opacity=`1`,t.style.transform=`translateY(0)`,Z?.unobserve(t)}})},{threshold:.1}),e.forEach(e=>{let t=e;t.style.opacity=`0`,t.style.transform=`translateY(15px)`,t.style.transition=`opacity 0.5s ease, transform 0.5s ease`,Z?.observe(t)})}),ne(()=>{window.removeEventListener(`scroll`,$),Z?.disconnect()}),(ee,a)=>(i(),p(`div`,{class:c([`bg-neutral-100 font-sans text-neutral-800 transition-all duration-300`,{"bg-neutral-900 text-white":K.value,"reading-mode":q.value}])},[o(`header`,{id:`navbar`,ref_key:`navbarRef`,ref:ye,class:c([`fixed top-0 left-0 w-full bg-white/90 backdrop-blur-md shadow-sm z-50 transition-all duration-300`,{"py-2 shadow-md":m.value,"py-3 shadow-sm":!m.value,"bg-neutral-900/90":K.value&&m.value,"bg-white/90":!K.value}])},[o(`div`,re,[o(`div`,ie,[a[7]||=o(`i`,{class:`fa fa-book text-primary text-2xl`},null,-1),o(`h1`,ae,[a[5]||=s(` doc`,-1),o(`span`,{class:c(K.value?`text-white`:`text-neutral-800`)},`.gvsds`,2),a[6]||=o(`span`,{class:`text-primary`},`.com`,-1)])]),o(`nav`,oe,[(i(),p(u,null,e(X,e=>o(`a`,{key:e.label,href:e.href,class:c([`font-medium transition-colors`,e.active?`text-primary border-b-2 border-primary pb-1`:`text-neutral-600 hover:text-primary`])},r(e.label),11,se)),64))]),o(`div`,ce,[t(o(`input`,{"onUpdate:modelValue":a[0]||=e=>J.value=e,type:`text`,placeholder:`搜索文档...`,class:c([`w-64 py-2 pl-10 pr-4 rounded-full border border-neutral-300 focus:outline-none focus:ring-2 focus:ring-primary/30 focus:border-primary transition-all`,{"bg-neutral-800 border-neutral-600 text-white":K.value}])},null,2),[[f,J.value]]),a[8]||=o(`i`,{class:`fa fa-search absolute left-4 text-neutral-400`},null,-1)]),o(`div`,le,[o(`button`,{class:c([`p-2 rounded-full transition-colors`,K.value?`hover:bg-neutral-700`:`hover:bg-neutral-200`]),onClick:Q},[o(`i`,{class:c(K.value?`fa fa-sun-o text-yellow-400`:`fa fa-moon-o text-neutral-700`)},null,2)],2),o(`button`,{class:c([`p-2 rounded-full transition-colors`,K.value?`hover:bg-neutral-700`:`hover:bg-neutral-200`]),onClick:Te},[o(`i`,{class:c([`fa fa-eye`,K.value?`text-neutral-300`:`text-neutral-700`])},null,2)],2),o(`button`,{class:c([`md:hidden p-2 rounded-full transition-colors`,K.value?`hover:bg-neutral-700`:`hover:bg-neutral-200`]),onClick:a[1]||=e=>G.value=!G.value},[o(`i`,{class:c([`fa fa-search`,K.value?`text-neutral-300`:`text-neutral-700`])},null,2)],2),o(`button`,{class:c([`md:hidden p-2 rounded-full transition-colors`,K.value?`hover:bg-neutral-700`:`hover:bg-neutral-200`]),onClick:a[2]||=e=>W.value=!W.value},[o(`i`,{class:c([`fa fa-bars`,K.value?`text-neutral-300`:`text-neutral-700`])},null,2)],2),a[9]||=o(`a`,{href:`#`,class:`hidden md:block`},[o(`img`,{src:`https://picsum.photos/id/1005/40/40`,alt:`用户头像`,class:`w-8 h-8 rounded-full border-2 border-white shadow-sm`})],-1)])]),o(`div`,{id:`mobile-search`,class:c([`px-4 pb-3 transition-all duration-300`,G.value?`block`:`hidden`])},[o(`div`,ue,[t(o(`input`,{"onUpdate:modelValue":a[3]||=e=>J.value=e,type:`text`,placeholder:`搜索文档...`,class:c([`w-full py-2 pl-10 pr-4 rounded-full border border-neutral-300 focus:outline-none focus:ring-2 focus:ring-primary/30 focus:border-primary`,{"bg-neutral-800 border-neutral-600 text-white":K.value}])},null,2),[[f,J.value]]),a[10]||=o(`i`,{class:`fa fa-search absolute left-4 top-3 text-neutral-400`},null,-1)])],2),o(`div`,{id:`mobile-menu`,class:c([`px-4 pb-4 md:hidden transition-all duration-300`,W.value?`block`:`hidden`])},[o(`nav`,h,[(i(),p(u,null,e(X,e=>o(`a`,{key:e.label,href:e.href,class:c([`font-medium py-2 transition-colors`,e.active?`text-primary`:`text-neutral-600 hover:text-primary`])},r(e.label),11,g)),64)),a[11]||=o(`a`,{href:`#`,class:`flex items-center space-x-2 font-medium text-neutral-600 py-2 hover:text-primary transition-colors`},[o(`img`,{src:`https://picsum.photos/id/1005/40/40`,alt:`用户头像`,class:`w-8 h-8 rounded-full border-2 border-white shadow-sm`}),o(`span`,null,`登录/注册`)],-1)])],2)],2),o(`main`,_,[a[31]||=d(`发现知识的乐趣 doc.gvsds.com 提供高质量的技术文档、教程和资源,帮助你平滑阅读和学习。
用户可以在 manage.gvsds.com 自由上传文档,因此,请识别链接来源并遵守相关法律法规。同时我们也会做好审核工作
`,1),o(`section`,v,[a[12]||=o(`div`,{class:`flex items-center justify-between mb-6`},[o(`h2`,{class:`text-2xl font-bold`},`探索分类`)],-1),o(`div`,y,[(i(),p(u,null,e(be,(e,t)=>o(`a`,{key:e.name,class:c([`category-card bg-white rounded-xl p-5 shadow-card hover:shadow-card-hover transition-all-300 hover:-translate-y-1 flex flex-col items-center text-center reveal`,{"bg-neutral-800":K.value}]),style:n({transitionDelay:t*80+`ms`})},[o(`div`,{class:c([`w-12 h-12 rounded-full flex items-center justify-center mb-3`,e.bgClass])},[o(`i`,{class:c([`fa`,e.icon,e.iconClass,`text-xl`])},null,2)],2),o(`h3`,b,r(e.name),1)],6)),64))])]),o(`section`,x,[a[15]||=o(`div`,{class:`flex items-center justify-between mb-6`},[o(`h2`,{class:`text-2xl font-bold`},`精选文档`)],-1),o(`div`,S,[(i(),p(u,null,e(xe,(e,t)=>o(`article`,{key:e.title,class:c([`article-card bg-white rounded-xl overflow-hidden shadow-card hover:shadow-card-hover transition-all-300 hover:-translate-y-1 reveal`,{"bg-neutral-800":K.value}]),style:n({transitionDelay:t*120+`ms`})},[o(`div`,C,[o(`img`,{src:e.image,alt:e.title,class:`w-full h-full object-cover transition-transform duration-500 hover:scale-110`},null,8,w),o(`div`,T,[o(`span`,{class:c([`text-white text-xs font-medium px-2.5 py-0.5 rounded-full`,e.tagClass])},r(e.tag),3)])]),o(`div`,E,[o(`div`,D,[o(`span`,null,r(e.date),1),a[13]||=o(`span`,{class:`mx-2`},`•`,-1),o(`span`,null,r(e.readTime),1)]),o(`h3`,O,r(e.title),1),o(`p`,k,r(e.description),1),o(`div`,A,[o(`div`,j,[o(`img`,{src:e.authorAvatar,alt:e.author,class:`w-7 h-7 rounded-full`},null,8,M),o(`span`,N,r(e.author),1)]),o(`div`,P,[o(`button`,{class:`hover:text-primary transition-colors`,onClick:t=>e.bookmarked=!e.bookmarked},[o(`i`,{class:c(e.bookmarked?`fa fa-bookmark text-primary`:`fa fa-bookmark-o`)},null,2)],8,F),a[14]||=o(`button`,{class:`hover:text-primary transition-colors`},[o(`i`,{class:`fa fa-share-alt`})],-1)])])])],6)),64))])]),o(`section`,{class:c([`mb-12 bg-white rounded-2xl shadow-lg overflow-hidden reveal`,{"bg-neutral-800":K.value}])},[o(`div`,I,[o(`div`,L,[a[17]||=o(`h2`,{class:`text-2xl md:text-3xl font-bold mb-4`},`享受平滑阅读体验`,-1),o(`p`,{class:c([`text-neutral-600 mb-6`,{"text-neutral-400":K.value}])},` 我们专注于打造舒适的阅读环境,让你可以更专注于内容本身。支持多种阅读模式和自定义选项,满足你的个性化需求。 `,2),o(`div`,R,[(i(),p(u,null,e(Se,(e,t)=>o(`div`,{key:e.title,class:`flex items-start reveal`,style:n({transitionDelay:t*150+`ms`})},[a[16]||=o(`div`,{class:`mt-1 mr-4 w-8 h-8 rounded-full bg-primary/10 flex items-center justify-center flex-shrink-0`},[o(`i`,{class:`fa fa-check text-primary`})],-1),o(`div`,null,[o(`h3`,z,r(e.title),1),o(`p`,{class:c([`text-neutral-600`,{"text-neutral-400":K.value}])},r(e.description),3)])],4)),64))])]),o(`div`,{class:c([`md:w-1/2 bg-neutral-100 p-6 flex items-center justify-center`,{"bg-neutral-700":K.value}])},[o(`div`,B,[a[25]||=o(`div`,{class:`absolute -top-4 -right-4 w-20 h-20 bg-secondary/20 rounded-full`},null,-1),a[26]||=o(`div`,{class:`absolute -bottom-8 -left-8 w-32 h-32 bg-primary/10 rounded-full`},null,-1),o(`div`,{class:c([`relative bg-white rounded-xl shadow-lg overflow-hidden z-10`,{"bg-neutral-800":K.value}])},[o(`div`,{class:c([`h-12 bg-neutral-200 flex items-center px-4`,{"bg-neutral-700":K.value}])},[a[18]||=o(`div`,{class:`flex space-x-2`},[o(`div`,{class:`w-3 h-3 rounded-full bg-red-400`}),o(`div`,{class:`w-3 h-3 rounded-full bg-yellow-400`}),o(`div`,{class:`w-3 h-3 rounded-full bg-green-400`})],-1),o(`div`,{class:c([`ml-4 text-sm text-neutral-600`,{"text-neutral-400":K.value}])},`Python装饰器详解.md`,2)],2),o(`div`,V,[a[21]||=o(`h1`,{class:`text-2xl font-bold mb-4`},`Python装饰器详解`,-1),o(`p`,{class:c([`mb-4`,K.value?`text-neutral-300`:`text-neutral-700`])},` 装饰器是Python中一种强大而灵活的工具,用于修改或扩展函数或类的行为。它们允许你在不修改原始代码的情况下,增加额外的功能。 `,2),a[22]||=o(`h2`,{class:`text-xl font-bold mt-6 mb-3`},`什么是装饰器?`,-1),o(`p`,{class:c([`mb-4`,K.value?`text-neutral-300`:`text-neutral-700`])},` 装饰器本质上是一个函数,它接受另一个函数作为参数,并返回一个新的函数。这个新的函数通常会包含原始函数的功能,同时增加一些额外的功能。 `,2),o(`div`,{class:c([`bg-neutral-100 p-4 rounded-lg my-4`,{"bg-neutral-700":K.value}])},[o(`pre`,{class:c([`text-sm font-mono`,K.value?`text-neutral-200`:`text-neutral-800`])},`def my_decorator(func):
+ def wrapper():
+ print("在函数执行前做一些事情")
+ func()
+ print("在函数执行后做一些事情")
+ return wrapper
+
+@my_decorator
+def say_hello():
+ print("Hello, World!")`,2)],2),o(`p`,{class:c([`mb-4`,K.value?`text-neutral-300`:`text-neutral-700`])},[...a[19]||=[s(` 上面的代码定义了一个装饰器`,-1),o(`code`,null,`my_decorator`,-1),s(`,它会在调用被装饰的函数前后打印一些信息。使用`,-1),o(`code`,null,`@my_decorator`,-1),s(`语法糖可以很方便地应用装饰器。 `,-1)]],2),a[23]||=o(`h2`,{class:`text-xl font-bold mt-6 mb-3`},`装饰器的应用场景`,-1),o(`ul`,{class:c([`list-disc pl-5 mb-4 space-y-2`,K.value?`text-neutral-300`:`text-neutral-700`])},[...a[20]||=[o(`li`,null,`日志记录`,-1),o(`li`,null,`性能测试`,-1),o(`li`,null,`权限验证`,-1),o(`li`,null,`缓存`,-1),o(`li`,null,`事务处理`,-1)]],2),o(`p`,{class:c(K.value?`text-neutral-300`:`text-neutral-700`)},` 装饰器是Python中一种非常强大的元编程技术,可以帮助你写出更加简洁、优雅和可维护的代码。 `,2)]),o(`div`,{class:c([`bg-neutral-200 h-10 flex items-center justify-between px-4`,{"bg-neutral-700":K.value}])},[...a[24]||=[d(`
(1/1) FULL
`,2)]],2)],2)])],2)])],2),o(`section`,H,[o(`div`,de,[a[28]||=o(`h2`,{class:`text-2xl md:text-3xl font-bold text-white mb-4`},`订阅我们的更新`,-1),a[29]||=o(`p`,{class:`text-white/90 mb-8`},`获取最新的技术文章、教程和行业动态,直接发送到你的邮箱。`,-1),o(`form`,{class:`flex flex-col sm:flex-row gap-3 max-w-lg mx-auto`,onSubmit:te(De,[`prevent`])},[t(o(`input`,{"onUpdate:modelValue":a[4]||=e=>Y.value=e,type:`email`,placeholder:`输入你的邮箱地址`,class:`flex-grow px-4 py-3 rounded-lg focus:outline-none focus:ring-2 focus:ring-white/30`},null,512),[[f,Y.value]]),a[27]||=o(`button`,{type:`submit`,class:`bg-white text-primary font-medium px-6 py-3 rounded-lg hover:bg-neutral-100 transition-colors shadow-md hover:shadow-lg transform hover:-translate-y-0.5 duration-300`},` 订阅 `,-1)],32),a[30]||=o(`p`,{class:`text-white/70 text-sm mt-4`},`我们尊重你的隐私,绝不会向第三方分享你的邮箱地址。`,-1)])])]),o(`footer`,fe,[o(`div`,pe,[o(`div`,me,[a[34]||=d(`
doc.gvsds .com 提供高质量的技术文档和学习资源,帮助开发者平滑阅读和成长。
`,1),o(`div`,null,[a[32]||=o(`h4`,{class:`text-lg font-medium mb-4`},`快速链接`,-1),o(`ul`,he,[(i(),p(u,null,e(Ce,e=>o(`li`,{key:e.label},[o(`a`,{href:e.href,class:`text-neutral-400 hover:text-primary transition-colors`},r(e.label),9,ge)])),64))])]),o(`div`,null,[a[33]||=o(`h4`,{class:`text-lg font-medium mb-4`},`支持`,-1),o(`ul`,_e,[(i(),p(u,null,e(we,e=>o(`li`,{key:e.label},[o(`a`,{href:e.href,class:`text-neutral-400 hover:text-primary transition-colors`},r(e.label),9,ve)])),64))])]),a[35]||=d(``,1)]),a[36]||=d(`© 2025 银河锋锐软件开发工作室. 保留所有权利。
`,1)])]),o(`button`,{id:`back-to-top`,class:c([`fixed bottom-6 right-6 bg-primary text-white w-12 h-12 rounded-full flex items-center justify-center shadow-lg transition-all duration-300 hover:bg-primary/90 transform hover:-translate-y-1`,U.value?`opacity-100 visible`:`opacity-0 invisible`]),onClick:Ee},[...a[37]||=[o(`i`,{class:`fa fa-arrow-up`},null,-1)]],2)],2))}}),[[`__scopeId`,`data-v-26dd8143`]]);export{U as default};
\ No newline at end of file
diff --git a/TempLate/assets/DocumentView-CTEh3w1z.js b/TempLate/assets/DocumentView-CTEh3w1z.js
new file mode 100644
index 00000000..830c5ff5
--- /dev/null
+++ b/TempLate/assets/DocumentView-CTEh3w1z.js
@@ -0,0 +1,10 @@
+import{C as e,D as t,M as n,N as r,S as i,_ as ee,b as a,c as te,d as o,h as s,j as c,k as l,l as u,m as d,o as f,p,y as ne}from"./index-CJXuAy0L.js";import{t as m}from"./_plugin-vue_export-helper-BDNMzG2s.js";var re={class:`container mx-auto px-4 flex items-center justify-between`},ie={class:`flex items-center space-x-2`},ae={class:`text-xl font-bold text-primary`},oe={class:`hidden md:flex items-center space-x-8`},se=[`href`],ce={class:`hidden md:flex items-center relative`},le={class:`flex items-center space-x-4`},ue={class:`relative`},h={class:`flex flex-col space-y-3`},g=[`href`],_={class:`container mx-auto px-4 pt-24 pb-16`},v={class:`mb-12`},y={class:`grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4`},b={class:`font-medium`},x={class:`mb-12`},S={class:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6`},C={class:`relative h-48 overflow-hidden`},w=[`src`,`alt`],T={class:`absolute top-3 left-3`},E={class:`p-5`},D={class:`flex items-center text-sm text-neutral-500 mb-3`},O={class:`text-xl font-bold mb-2 hover:text-primary transition-colors`},k={class:`text-neutral-600 mb-4 line-clamp-3`},A={class:`flex items-center justify-between`},j={class:`flex items-center`},M=[`src`,`alt`],N={class:`ml-2 text-sm font-medium`},P={class:`flex items-center space-x-3 text-neutral-500`},F=[`onClick`],I={class:`flex flex-col md:flex-row`},L={class:`p-8 md:p-12 md:w-1/2 flex flex-col justify-center`},R={class:`space-y-4 mb-8`},z={class:`font-medium text-lg mb-1`},B={class:`relative w-full max-w-md`},V={class:`p-6 h-96 overflow-y-auto scrollbar-hide`},H={class:`bg-gradient-to-r from-primary/90 to-primary rounded-2xl p-8 md:p-12 shadow-lg reveal`},de={class:`max-w-2xl mx-auto text-center`},fe={class:`bg-neutral-900 text-white py-12`},pe={class:`container mx-auto px-4`},me={class:`grid grid-cols-1 md:grid-cols-4 gap-8`},he={class:`space-y-2`},ge=[`href`],_e={class:`space-y-2`},ve=[`href`],U=m(ee({__name:`DocumentView`,setup(ee){let m=l(!1),U=l(!1),ye=l(null),W=l(!1),G=l(!1),K=l(!1),q=l(!1),J=l(``),Y=l(``),X=[{label:`首页`,href:`#`,active:!0},{label:`分类`,href:`#`,active:!1},{label:`收藏`,href:`#`,active:!1},{label:`历史`,href:`#`,active:!1},{label:`关于`,href:`#`,active:!1}],be=[{name:`编程开发`,icon:`fa-code`,iconClass:`text-blue-500`,bgClass:`bg-blue-100`},{name:`数据库`,icon:`fa-database`,iconClass:`text-green-500`,bgClass:`bg-green-100`},{name:`移动开发`,icon:`fa-mobile`,iconClass:`text-purple-500`,bgClass:`bg-purple-100`},{name:`云计算`,icon:`fa-cloud`,iconClass:`text-orange-500`,bgClass:`bg-orange-100`},{name:`人工智能`,icon:`fa-robot`,iconClass:`text-red-500`,bgClass:`bg-red-100`},{name:`运维部署`,icon:`fa-server`,iconClass:`text-yellow-500`,bgClass:`bg-yellow-100`}],xe=[{image:`https://picsum.photos/id/0/600/400`,tag:`编程开发`,tagClass:`bg-primary`,date:`2025-06-15`,readTime:`10 分钟阅读`,title:`Python高级编程技巧与最佳实践`,description:`探索Python高级编程技巧,包括装饰器、生成器、元类和异步编程。了解如何编写更简洁、高效和可维护的Python代码...`,author:`张教授`,authorAvatar:`https://picsum.photos/id/1001/30/30`,bookmarked:!1},{image:`https://picsum.photos/id/180/600/400`,tag:`数据库`,tagClass:`bg-green-500`,date:`2025-06-10`,readTime:`15 分钟阅读`,title:`MySQL数据库性能优化实战指南`,description:`深入了解MySQL数据库性能优化的核心原则和实践方法。从查询优化、索引设计到配置调优,全面提升数据库性能...`,author:`李工程师`,authorAvatar:`https://picsum.photos/id/1002/30/30`,bookmarked:!1},{image:`https://picsum.photos/id/160/600/400`,tag:`前端开发`,tagClass:`bg-purple-500`,date:`2025-06-05`,readTime:`20 分钟阅读`,title:`2025年前端框架全面对比:React、Vue、Angular`,description:`详细对比三大主流前端框架的优缺点、适用场景和性能表现。从生态系统、学习曲线到实际项目应用,助你做出最佳选择...`,author:`王架构师`,authorAvatar:`https://picsum.photos/id/1003/30/30`,bookmarked:!1}],Se=[{title:`护眼模式`,description:`多种背景色和字体设置,减轻眼睛疲劳,长时间阅读也舒适。`},{title:`智能排版`,description:`自动优化文章排版,段落间距适中,字体大小合适,提升阅读体验。`},{title:`Markdown 阅读`,description:`支持 Markdown 格式文档,实现流程图、公式、代码的查看。`}],Ce=[{label:`首页`,href:`#`},{label:`分类`,href:`#`},{label:`最新文章`,href:`#`},{label:`热门标签`,href:`#`},{label:`关于我们`,href:`#`}],we=[{label:`帮助中心`,href:`#`},{label:`联系我们`,href:`#`},{label:`常见问题`,href:`#`},{label:`隐私政策`,href:`#`},{label:`使用条款`,href:`#`}],Z=null;function Q(){K.value=!K.value,K.value?document.documentElement.classList.add(`dark`):document.documentElement.classList.remove(`dark`)}function Te(){q.value=!q.value}function $(){let e=window.scrollY;m.value=e>100,U.value=e>100}function Ee(){window.scrollTo({top:0,behavior:`smooth`})}function De(){Y.value&&=(alert(`感谢订阅!我们将发送最新资讯到 ${Y.value}`),``)}return a(()=>{document.title=`文档中心 - 平滑阅读`,window.addEventListener(`scroll`,$),$();let e=document.querySelectorAll(`.reveal`);Z=new IntersectionObserver(e=>{e.forEach(e=>{if(e.isIntersecting){let t=e.target;t.style.opacity=`1`,t.style.transform=`translateY(0)`,Z?.unobserve(t)}})},{threshold:.1}),e.forEach(e=>{let t=e;t.style.opacity=`0`,t.style.transform=`translateY(15px)`,t.style.transition=`opacity 0.5s ease, transform 0.5s ease`,Z?.observe(t)})}),ne(()=>{window.removeEventListener(`scroll`,$),Z?.disconnect()}),(ee,a)=>(i(),p(`div`,{class:c([`bg-neutral-100 font-sans text-neutral-800 transition-all duration-300`,{"bg-neutral-900 text-white":K.value,"reading-mode":q.value}])},[o(`header`,{id:`navbar`,ref_key:`navbarRef`,ref:ye,class:c([`fixed top-0 left-0 w-full bg-white/90 backdrop-blur-md shadow-sm z-50 transition-all duration-300`,{"py-2 shadow-md":m.value,"py-3 shadow-sm":!m.value,"bg-neutral-900/90":K.value&&m.value,"bg-white/90":!K.value}])},[o(`div`,re,[o(`div`,ie,[a[7]||=o(`i`,{class:`fa fa-book text-primary text-2xl`},null,-1),o(`h1`,ae,[a[5]||=s(` doc`,-1),o(`span`,{class:c(K.value?`text-white`:`text-neutral-800`)},`.gvsds`,2),a[6]||=o(`span`,{class:`text-primary`},`.com`,-1)])]),o(`nav`,oe,[(i(),p(u,null,e(X,e=>o(`a`,{key:e.label,href:e.href,class:c([`font-medium transition-colors`,e.active?`text-primary border-b-2 border-primary pb-1`:`text-neutral-600 hover:text-primary`])},r(e.label),11,se)),64))]),o(`div`,ce,[t(o(`input`,{"onUpdate:modelValue":a[0]||=e=>J.value=e,type:`text`,placeholder:`搜索文档...`,class:c([`w-64 py-2 pl-10 pr-4 rounded-full border border-neutral-300 focus:outline-none focus:ring-2 focus:ring-primary/30 focus:border-primary transition-all`,{"bg-neutral-800 border-neutral-600 text-white":K.value}])},null,2),[[f,J.value]]),a[8]||=o(`i`,{class:`fa fa-search absolute left-4 text-neutral-400`},null,-1)]),o(`div`,le,[o(`button`,{class:c([`p-2 rounded-full transition-colors`,K.value?`hover:bg-neutral-700`:`hover:bg-neutral-200`]),onClick:Q},[o(`i`,{class:c(K.value?`fa fa-sun-o text-yellow-400`:`fa fa-moon-o text-neutral-700`)},null,2)],2),o(`button`,{class:c([`p-2 rounded-full transition-colors`,K.value?`hover:bg-neutral-700`:`hover:bg-neutral-200`]),onClick:Te},[o(`i`,{class:c([`fa fa-eye`,K.value?`text-neutral-300`:`text-neutral-700`])},null,2)],2),o(`button`,{class:c([`md:hidden p-2 rounded-full transition-colors`,K.value?`hover:bg-neutral-700`:`hover:bg-neutral-200`]),onClick:a[1]||=e=>G.value=!G.value},[o(`i`,{class:c([`fa fa-search`,K.value?`text-neutral-300`:`text-neutral-700`])},null,2)],2),o(`button`,{class:c([`md:hidden p-2 rounded-full transition-colors`,K.value?`hover:bg-neutral-700`:`hover:bg-neutral-200`]),onClick:a[2]||=e=>W.value=!W.value},[o(`i`,{class:c([`fa fa-bars`,K.value?`text-neutral-300`:`text-neutral-700`])},null,2)],2),a[9]||=o(`a`,{href:`#`,class:`hidden md:block`},[o(`img`,{src:`https://picsum.photos/id/1005/40/40`,alt:`用户头像`,class:`w-8 h-8 rounded-full border-2 border-white shadow-sm`})],-1)])]),o(`div`,{id:`mobile-search`,class:c([`px-4 pb-3 transition-all duration-300`,G.value?`block`:`hidden`])},[o(`div`,ue,[t(o(`input`,{"onUpdate:modelValue":a[3]||=e=>J.value=e,type:`text`,placeholder:`搜索文档...`,class:c([`w-full py-2 pl-10 pr-4 rounded-full border border-neutral-300 focus:outline-none focus:ring-2 focus:ring-primary/30 focus:border-primary`,{"bg-neutral-800 border-neutral-600 text-white":K.value}])},null,2),[[f,J.value]]),a[10]||=o(`i`,{class:`fa fa-search absolute left-4 top-3 text-neutral-400`},null,-1)])],2),o(`div`,{id:`mobile-menu`,class:c([`px-4 pb-4 md:hidden transition-all duration-300`,W.value?`block`:`hidden`])},[o(`nav`,h,[(i(),p(u,null,e(X,e=>o(`a`,{key:e.label,href:e.href,class:c([`font-medium py-2 transition-colors`,e.active?`text-primary`:`text-neutral-600 hover:text-primary`])},r(e.label),11,g)),64)),a[11]||=o(`a`,{href:`#`,class:`flex items-center space-x-2 font-medium text-neutral-600 py-2 hover:text-primary transition-colors`},[o(`img`,{src:`https://picsum.photos/id/1005/40/40`,alt:`用户头像`,class:`w-8 h-8 rounded-full border-2 border-white shadow-sm`}),o(`span`,null,`登录/注册`)],-1)])],2)],2),o(`main`,_,[a[31]||=d(`发现知识的乐趣 doc.gvsds.com 提供高质量的技术文档、教程和资源,帮助你平滑阅读和学习。
用户可以在 manage.gvsds.com 自由上传文档,因此,请识别链接来源并遵守相关法律法规。同时我们也会做好审核工作
`,1),o(`section`,v,[a[12]||=o(`div`,{class:`flex items-center justify-between mb-6`},[o(`h2`,{class:`text-2xl font-bold`},`探索分类`)],-1),o(`div`,y,[(i(),p(u,null,e(be,(e,t)=>o(`a`,{key:e.name,class:c([`category-card bg-white rounded-xl p-5 shadow-card hover:shadow-card-hover transition-all-300 hover:-translate-y-1 flex flex-col items-center text-center reveal`,{"bg-neutral-800":K.value}]),style:n({transitionDelay:t*80+`ms`})},[o(`div`,{class:c([`w-12 h-12 rounded-full flex items-center justify-center mb-3`,e.bgClass])},[o(`i`,{class:c([`fa`,e.icon,e.iconClass,`text-xl`])},null,2)],2),o(`h3`,b,r(e.name),1)],6)),64))])]),o(`section`,x,[a[15]||=o(`div`,{class:`flex items-center justify-between mb-6`},[o(`h2`,{class:`text-2xl font-bold`},`精选文档`)],-1),o(`div`,S,[(i(),p(u,null,e(xe,(e,t)=>o(`article`,{key:e.title,class:c([`article-card bg-white rounded-xl overflow-hidden shadow-card hover:shadow-card-hover transition-all-300 hover:-translate-y-1 reveal`,{"bg-neutral-800":K.value}]),style:n({transitionDelay:t*120+`ms`})},[o(`div`,C,[o(`img`,{src:e.image,alt:e.title,class:`w-full h-full object-cover transition-transform duration-500 hover:scale-110`},null,8,w),o(`div`,T,[o(`span`,{class:c([`text-white text-xs font-medium px-2.5 py-0.5 rounded-full`,e.tagClass])},r(e.tag),3)])]),o(`div`,E,[o(`div`,D,[o(`span`,null,r(e.date),1),a[13]||=o(`span`,{class:`mx-2`},`•`,-1),o(`span`,null,r(e.readTime),1)]),o(`h3`,O,r(e.title),1),o(`p`,k,r(e.description),1),o(`div`,A,[o(`div`,j,[o(`img`,{src:e.authorAvatar,alt:e.author,class:`w-7 h-7 rounded-full`},null,8,M),o(`span`,N,r(e.author),1)]),o(`div`,P,[o(`button`,{class:`hover:text-primary transition-colors`,onClick:t=>e.bookmarked=!e.bookmarked},[o(`i`,{class:c(e.bookmarked?`fa fa-bookmark text-primary`:`fa fa-bookmark-o`)},null,2)],8,F),a[14]||=o(`button`,{class:`hover:text-primary transition-colors`},[o(`i`,{class:`fa fa-share-alt`})],-1)])])])],6)),64))])]),o(`section`,{class:c([`mb-12 bg-white rounded-2xl shadow-lg overflow-hidden reveal`,{"bg-neutral-800":K.value}])},[o(`div`,I,[o(`div`,L,[a[17]||=o(`h2`,{class:`text-2xl md:text-3xl font-bold mb-4`},`享受平滑阅读体验`,-1),o(`p`,{class:c([`text-neutral-600 mb-6`,{"text-neutral-400":K.value}])},` 我们专注于打造舒适的阅读环境,让你可以更专注于内容本身。支持多种阅读模式和自定义选项,满足你的个性化需求。 `,2),o(`div`,R,[(i(),p(u,null,e(Se,(e,t)=>o(`div`,{key:e.title,class:`flex items-start reveal`,style:n({transitionDelay:t*150+`ms`})},[a[16]||=o(`div`,{class:`mt-1 mr-4 w-8 h-8 rounded-full bg-primary/10 flex items-center justify-center flex-shrink-0`},[o(`i`,{class:`fa fa-check text-primary`})],-1),o(`div`,null,[o(`h3`,z,r(e.title),1),o(`p`,{class:c([`text-neutral-600`,{"text-neutral-400":K.value}])},r(e.description),3)])],4)),64))])]),o(`div`,{class:c([`md:w-1/2 bg-neutral-100 p-6 flex items-center justify-center`,{"bg-neutral-700":K.value}])},[o(`div`,B,[a[25]||=o(`div`,{class:`absolute -top-4 -right-4 w-20 h-20 bg-secondary/20 rounded-full`},null,-1),a[26]||=o(`div`,{class:`absolute -bottom-8 -left-8 w-32 h-32 bg-primary/10 rounded-full`},null,-1),o(`div`,{class:c([`relative bg-white rounded-xl shadow-lg overflow-hidden z-10`,{"bg-neutral-800":K.value}])},[o(`div`,{class:c([`h-12 bg-neutral-200 flex items-center px-4`,{"bg-neutral-700":K.value}])},[a[18]||=o(`div`,{class:`flex space-x-2`},[o(`div`,{class:`w-3 h-3 rounded-full bg-red-400`}),o(`div`,{class:`w-3 h-3 rounded-full bg-yellow-400`}),o(`div`,{class:`w-3 h-3 rounded-full bg-green-400`})],-1),o(`div`,{class:c([`ml-4 text-sm text-neutral-600`,{"text-neutral-400":K.value}])},`Python装饰器详解.md`,2)],2),o(`div`,V,[a[21]||=o(`h1`,{class:`text-2xl font-bold mb-4`},`Python装饰器详解`,-1),o(`p`,{class:c([`mb-4`,K.value?`text-neutral-300`:`text-neutral-700`])},` 装饰器是Python中一种强大而灵活的工具,用于修改或扩展函数或类的行为。它们允许你在不修改原始代码的情况下,增加额外的功能。 `,2),a[22]||=o(`h2`,{class:`text-xl font-bold mt-6 mb-3`},`什么是装饰器?`,-1),o(`p`,{class:c([`mb-4`,K.value?`text-neutral-300`:`text-neutral-700`])},` 装饰器本质上是一个函数,它接受另一个函数作为参数,并返回一个新的函数。这个新的函数通常会包含原始函数的功能,同时增加一些额外的功能。 `,2),o(`div`,{class:c([`bg-neutral-100 p-4 rounded-lg my-4`,{"bg-neutral-700":K.value}])},[o(`pre`,{class:c([`text-sm font-mono`,K.value?`text-neutral-200`:`text-neutral-800`])},`def my_decorator(func):
+ def wrapper():
+ print("在函数执行前做一些事情")
+ func()
+ print("在函数执行后做一些事情")
+ return wrapper
+
+@my_decorator
+def say_hello():
+ print("Hello, World!")`,2)],2),o(`p`,{class:c([`mb-4`,K.value?`text-neutral-300`:`text-neutral-700`])},[...a[19]||=[s(` 上面的代码定义了一个装饰器`,-1),o(`code`,null,`my_decorator`,-1),s(`,它会在调用被装饰的函数前后打印一些信息。使用`,-1),o(`code`,null,`@my_decorator`,-1),s(`语法糖可以很方便地应用装饰器。 `,-1)]],2),a[23]||=o(`h2`,{class:`text-xl font-bold mt-6 mb-3`},`装饰器的应用场景`,-1),o(`ul`,{class:c([`list-disc pl-5 mb-4 space-y-2`,K.value?`text-neutral-300`:`text-neutral-700`])},[...a[20]||=[o(`li`,null,`日志记录`,-1),o(`li`,null,`性能测试`,-1),o(`li`,null,`权限验证`,-1),o(`li`,null,`缓存`,-1),o(`li`,null,`事务处理`,-1)]],2),o(`p`,{class:c(K.value?`text-neutral-300`:`text-neutral-700`)},` 装饰器是Python中一种非常强大的元编程技术,可以帮助你写出更加简洁、优雅和可维护的代码。 `,2)]),o(`div`,{class:c([`bg-neutral-200 h-10 flex items-center justify-between px-4`,{"bg-neutral-700":K.value}])},[...a[24]||=[d(`
(1/1) FULL
`,2)]],2)],2)])],2)])],2),o(`section`,H,[o(`div`,de,[a[28]||=o(`h2`,{class:`text-2xl md:text-3xl font-bold text-white mb-4`},`订阅我们的更新`,-1),a[29]||=o(`p`,{class:`text-white/90 mb-8`},`获取最新的技术文章、教程和行业动态,直接发送到你的邮箱。`,-1),o(`form`,{class:`flex flex-col sm:flex-row gap-3 max-w-lg mx-auto`,onSubmit:te(De,[`prevent`])},[t(o(`input`,{"onUpdate:modelValue":a[4]||=e=>Y.value=e,type:`email`,placeholder:`输入你的邮箱地址`,class:`flex-grow px-4 py-3 rounded-lg focus:outline-none focus:ring-2 focus:ring-white/30`},null,512),[[f,Y.value]]),a[27]||=o(`button`,{type:`submit`,class:`bg-white text-primary font-medium px-6 py-3 rounded-lg hover:bg-neutral-100 transition-colors shadow-md hover:shadow-lg transform hover:-translate-y-0.5 duration-300`},` 订阅 `,-1)],32),a[30]||=o(`p`,{class:`text-white/70 text-sm mt-4`},`我们尊重你的隐私,绝不会向第三方分享你的邮箱地址。`,-1)])])]),o(`footer`,fe,[o(`div`,pe,[o(`div`,me,[a[34]||=d(`
doc.gvsds .com 提供高质量的技术文档和学习资源,帮助开发者平滑阅读和成长。
`,1),o(`div`,null,[a[32]||=o(`h4`,{class:`text-lg font-medium mb-4`},`快速链接`,-1),o(`ul`,he,[(i(),p(u,null,e(Ce,e=>o(`li`,{key:e.label},[o(`a`,{href:e.href,class:`text-neutral-400 hover:text-primary transition-colors`},r(e.label),9,ge)])),64))])]),o(`div`,null,[a[33]||=o(`h4`,{class:`text-lg font-medium mb-4`},`支持`,-1),o(`ul`,_e,[(i(),p(u,null,e(we,e=>o(`li`,{key:e.label},[o(`a`,{href:e.href,class:`text-neutral-400 hover:text-primary transition-colors`},r(e.label),9,ve)])),64))])]),a[35]||=d(``,1)]),a[36]||=d(`© 2025 银河锋锐软件开发工作室. 保留所有权利。
`,1)])]),o(`button`,{id:`back-to-top`,class:c([`fixed bottom-6 right-6 bg-primary text-white w-12 h-12 rounded-full flex items-center justify-center shadow-lg transition-all duration-300 hover:bg-primary/90 transform hover:-translate-y-1`,U.value?`opacity-100 visible`:`opacity-0 invisible`]),onClick:Ee},[...a[37]||=[o(`i`,{class:`fa fa-arrow-up`},null,-1)]],2)],2))}}),[[`__scopeId`,`data-v-26dd8143`]]);export{U as default};
\ No newline at end of file
diff --git a/TempLate/assets/DocumentView-DVJxLGqJ.css b/TempLate/assets/DocumentView-DVJxLGqJ.css
new file mode 100644
index 00000000..71412373
--- /dev/null
+++ b/TempLate/assets/DocumentView-DVJxLGqJ.css
@@ -0,0 +1 @@
+.scrollbar-hide[data-v-26dd8143]::-webkit-scrollbar{display:none}.scrollbar-hide[data-v-26dd8143]{-ms-overflow-style:none;scrollbar-width:none}.transition-all-300[data-v-26dd8143]{transition:all .3s ease-in-out}.shadow-card[data-v-26dd8143]{box-shadow:0 10px 15px -3px #0000000d,0 4px 6px -2px #00000008}.shadow-card-hover[data-v-26dd8143]{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.reading-mode[data-v-26dd8143]{color:#1f2937;background-color:#fffbeb}.reading-mode .article-card[data-v-26dd8143]{background-color:#fff;box-shadow:0 10px 15px -3px #0000000d,0 4px 6px -2px #00000008}.reading-mode .category-card[data-v-26dd8143]{background-color:#fff}
diff --git a/TempLate/assets/Error403View-BAmhOkjS.js b/TempLate/assets/Error403View-BAmhOkjS.js
new file mode 100644
index 00000000..1791e554
--- /dev/null
+++ b/TempLate/assets/Error403View-BAmhOkjS.js
@@ -0,0 +1 @@
+import{N as e,S as t,_ as n,b as r,d as i,h as a,k as o,p as s}from"./index-PMfCvoYM.js";var c={class:`min-h-screen flex items-center justify-center bg-gray-100 p-4`},l={class:`max-w-2xl w-full bg-white rounded-lg shadow-lg p-8`},u={class:`bg-red-50 border-l-4 border-red-600 p-4 mb-5 text-sm`},d={class:`bg-yellow-50 px-1.5 py-0.5 rounded font-semibold`},f={class:`bg-yellow-50 border-l-4 border-yellow-500 p-4 mb-5 text-sm`},p={class:`bg-yellow-50 px-1.5 py-0.5 rounded font-semibold`},m={class:`bg-blue-50 border-l-4 border-blue-500 p-4 mb-5 text-sm`},h={class:`mb-4`},g={class:`w-full text-sm`},_={class:`py-1 text-gray-800 break-all`},v={class:`py-1 text-gray-800`},y={class:`mb-4`},b={class:`w-full text-sm`},x={class:`py-1 text-gray-800`},S=n({__name:`Error403View`,setup(n){let S=o(window.location.hostname),C=o(window.location.href),w=o(new Date().toLocaleString()),T=o(``),E=o(``);return r(()=>{document.title=`403 - 访问被拒绝`,window.location.hostname===`www.gvsds.com`?window.location.protocol===`https:`?(E.value=`2`,T.value=`您的 IP 处于黑名单中`):(E.value=`3`,T.value=`非 HTTPS 安全连接`):(E.value=`1`,T.value=`访问域名不在白名单中`)}),(n,r)=>(t(),s(`div`,c,[i(`div`,l,[r[17]||=i(`div`,{class:`text-center`},[i(`h1`,{class:`text-4xl font-bold text-red-600 mb-6 border-b-2 border-yellow-400 pb-3`},` ⛔ 403 Forbidden `)],-1),i(`div`,u,[i(`p`,null,[r[0]||=a(` 服务器已拒绝您对当前 URL 的访问请求。`,-1),r[1]||=i(`br`,null,null,-1),r[2]||=a(` 您应当通过我们的官方域名 `,-1),r[3]||=i(`span`,{class:`bg-yellow-50 px-1.5 py-0.5 rounded font-semibold`},`www.gvsds.com`,-1),r[4]||=a(` 访问网站,而非当前使用的 `,-1),i(`span`,d,e(S.value),1),r[5]||=i(`br`,null,null,-1),r[6]||=a(` 出于安全考虑,我们已启用 host 白名单策略。 `,-1)])]),i(`div`,f,[i(`p`,null,[r[7]||=a(` 错误代码: `,-1),i(`span`,p,e(E.value),1)])]),i(`div`,m,[i(`div`,h,[r[12]||=i(`h4`,{class:`font-semibold text-gray-700 mb-2`},`请求基本信息`,-1),i(`table`,g,[i(`tbody`,null,[i(`tr`,null,[r[8]||=i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`请求 URL`,-1),i(`td`,_,e(C.value),1)]),r[10]||=i(`tr`,null,[i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`请求方法`),i(`td`,{class:`py-1 text-gray-800`},`GET`)],-1),r[11]||=i(`tr`,null,[i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`协议版本`),i(`td`,{class:`py-1 text-gray-800`},`HTTP/1.1`)],-1),i(`tr`,null,[r[9]||=i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`请求时间`,-1),i(`td`,v,e(w.value),1)])])])]),i(`div`,y,[r[16]||=i(`h4`,{class:`font-semibold text-gray-700 mb-2`},`服务器信息`,-1),i(`table`,b,[i(`tbody`,null,[r[14]||=i(`tr`,null,[i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`服务器名称`),i(`td`,{class:`py-1 text-gray-800`},`GVSDS Web Server`)],-1),r[15]||=i(`tr`,null,[i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`安全策略`),i(`td`,{class:`py-1 text-gray-800`},`Host 白名单验证`)],-1),i(`tr`,null,[r[13]||=i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`拒绝原因`,-1),i(`td`,x,e(T.value),1)])])])])]),r[18]||=i(`div`,{class:`text-center mt-10 pt-5 border-t border-gray-200 text-gray-500 text-sm`},[i(`p`,null,[a(` 银河锋锐软件开发工作室 © 2025 | 实际网站: `),i(`a`,{href:`https://www.gvsds.com`,class:`text-blue-600 hover:underline`},`https://www.gvsds.com`)])],-1)])]))}});export{S as default};
\ No newline at end of file
diff --git a/TempLate/assets/Error403View-BgaX6mlY.js b/TempLate/assets/Error403View-BgaX6mlY.js
new file mode 100644
index 00000000..59f637b6
--- /dev/null
+++ b/TempLate/assets/Error403View-BgaX6mlY.js
@@ -0,0 +1 @@
+import{N as e,S as t,_ as n,b as r,d as i,h as a,k as o,p as s}from"./index-UfMysbwD.js";var c={class:`min-h-screen flex items-center justify-center bg-gray-100 p-4`},l={class:`max-w-2xl w-full bg-white rounded-lg shadow-lg p-8`},u={class:`bg-red-50 border-l-4 border-red-600 p-4 mb-5 text-sm`},d={class:`bg-yellow-50 px-1.5 py-0.5 rounded font-semibold`},f={class:`bg-yellow-50 border-l-4 border-yellow-500 p-4 mb-5 text-sm`},p={class:`bg-yellow-50 px-1.5 py-0.5 rounded font-semibold`},m={class:`bg-blue-50 border-l-4 border-blue-500 p-4 mb-5 text-sm`},h={class:`mb-4`},g={class:`w-full text-sm`},_={class:`py-1 text-gray-800 break-all`},v={class:`py-1 text-gray-800`},y={class:`mb-4`},b={class:`w-full text-sm`},x={class:`py-1 text-gray-800`},S=n({__name:`Error403View`,setup(n){let S=o(window.location.hostname),C=o(window.location.href),w=o(new Date().toLocaleString()),T=o(``),E=o(``);return r(()=>{document.title=`403 - 访问被拒绝`,window.location.hostname===`www.gvsds.com`?window.location.protocol===`https:`?(E.value=`2`,T.value=`您的 IP 处于黑名单中`):(E.value=`3`,T.value=`非 HTTPS 安全连接`):(E.value=`1`,T.value=`访问域名不在白名单中`)}),(n,r)=>(t(),s(`div`,c,[i(`div`,l,[r[17]||=i(`div`,{class:`text-center`},[i(`h1`,{class:`text-4xl font-bold text-red-600 mb-6 border-b-2 border-yellow-400 pb-3`},` ⛔ 403 Forbidden `)],-1),i(`div`,u,[i(`p`,null,[r[0]||=a(` 服务器已拒绝您对当前 URL 的访问请求。`,-1),r[1]||=i(`br`,null,null,-1),r[2]||=a(` 您应当通过我们的官方域名 `,-1),r[3]||=i(`span`,{class:`bg-yellow-50 px-1.5 py-0.5 rounded font-semibold`},`www.gvsds.com`,-1),r[4]||=a(` 访问网站,而非当前使用的 `,-1),i(`span`,d,e(S.value),1),r[5]||=i(`br`,null,null,-1),r[6]||=a(` 出于安全考虑,我们已启用 host 白名单策略。 `,-1)])]),i(`div`,f,[i(`p`,null,[r[7]||=a(` 错误代码: `,-1),i(`span`,p,e(E.value),1)])]),i(`div`,m,[i(`div`,h,[r[12]||=i(`h4`,{class:`font-semibold text-gray-700 mb-2`},`请求基本信息`,-1),i(`table`,g,[i(`tbody`,null,[i(`tr`,null,[r[8]||=i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`请求 URL`,-1),i(`td`,_,e(C.value),1)]),r[10]||=i(`tr`,null,[i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`请求方法`),i(`td`,{class:`py-1 text-gray-800`},`GET`)],-1),r[11]||=i(`tr`,null,[i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`协议版本`),i(`td`,{class:`py-1 text-gray-800`},`HTTP/1.1`)],-1),i(`tr`,null,[r[9]||=i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`请求时间`,-1),i(`td`,v,e(w.value),1)])])])]),i(`div`,y,[r[16]||=i(`h4`,{class:`font-semibold text-gray-700 mb-2`},`服务器信息`,-1),i(`table`,b,[i(`tbody`,null,[r[14]||=i(`tr`,null,[i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`服务器名称`),i(`td`,{class:`py-1 text-gray-800`},`GVSDS Web Server`)],-1),r[15]||=i(`tr`,null,[i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`安全策略`),i(`td`,{class:`py-1 text-gray-800`},`Host 白名单验证`)],-1),i(`tr`,null,[r[13]||=i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`拒绝原因`,-1),i(`td`,x,e(T.value),1)])])])])]),r[18]||=i(`div`,{class:`text-center mt-10 pt-5 border-t border-gray-200 text-gray-500 text-sm`},[i(`p`,null,[a(` 银河锋锐软件开发工作室 © 2025 | 实际网站: `),i(`a`,{href:`https://www.gvsds.com`,class:`text-blue-600 hover:underline`},`https://www.gvsds.com`)])],-1)])]))}});export{S as default};
\ No newline at end of file
diff --git a/TempLate/assets/Error403View-hw9scNLE.js b/TempLate/assets/Error403View-hw9scNLE.js
new file mode 100644
index 00000000..b0dc90a3
--- /dev/null
+++ b/TempLate/assets/Error403View-hw9scNLE.js
@@ -0,0 +1 @@
+import{N as e,S as t,_ as n,b as r,d as i,h as a,k as o,p as s}from"./index-CJXuAy0L.js";var c={class:`min-h-screen flex items-center justify-center bg-gray-100 p-4`},l={class:`max-w-2xl w-full bg-white rounded-lg shadow-lg p-8`},u={class:`bg-red-50 border-l-4 border-red-600 p-4 mb-5 text-sm`},d={class:`bg-yellow-50 px-1.5 py-0.5 rounded font-semibold`},f={class:`bg-yellow-50 border-l-4 border-yellow-500 p-4 mb-5 text-sm`},p={class:`bg-yellow-50 px-1.5 py-0.5 rounded font-semibold`},m={class:`bg-blue-50 border-l-4 border-blue-500 p-4 mb-5 text-sm`},h={class:`mb-4`},g={class:`w-full text-sm`},_={class:`py-1 text-gray-800 break-all`},v={class:`py-1 text-gray-800`},y={class:`mb-4`},b={class:`w-full text-sm`},x={class:`py-1 text-gray-800`},S=n({__name:`Error403View`,setup(n){let S=o(window.location.hostname),C=o(window.location.href),w=o(new Date().toLocaleString()),T=o(``),E=o(``);return r(()=>{document.title=`403 - 访问被拒绝`,window.location.hostname===`www.gvsds.com`?window.location.protocol===`https:`?(E.value=`2`,T.value=`您的 IP 处于黑名单中`):(E.value=`3`,T.value=`非 HTTPS 安全连接`):(E.value=`1`,T.value=`访问域名不在白名单中`)}),(n,r)=>(t(),s(`div`,c,[i(`div`,l,[r[17]||=i(`div`,{class:`text-center`},[i(`h1`,{class:`text-4xl font-bold text-red-600 mb-6 border-b-2 border-yellow-400 pb-3`},` ⛔ 403 Forbidden `)],-1),i(`div`,u,[i(`p`,null,[r[0]||=a(` 服务器已拒绝您对当前 URL 的访问请求。`,-1),r[1]||=i(`br`,null,null,-1),r[2]||=a(` 您应当通过我们的官方域名 `,-1),r[3]||=i(`span`,{class:`bg-yellow-50 px-1.5 py-0.5 rounded font-semibold`},`www.gvsds.com`,-1),r[4]||=a(` 访问网站,而非当前使用的 `,-1),i(`span`,d,e(S.value),1),r[5]||=i(`br`,null,null,-1),r[6]||=a(` 出于安全考虑,我们已启用 host 白名单策略。 `,-1)])]),i(`div`,f,[i(`p`,null,[r[7]||=a(` 错误代码: `,-1),i(`span`,p,e(E.value),1)])]),i(`div`,m,[i(`div`,h,[r[12]||=i(`h4`,{class:`font-semibold text-gray-700 mb-2`},`请求基本信息`,-1),i(`table`,g,[i(`tbody`,null,[i(`tr`,null,[r[8]||=i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`请求 URL`,-1),i(`td`,_,e(C.value),1)]),r[10]||=i(`tr`,null,[i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`请求方法`),i(`td`,{class:`py-1 text-gray-800`},`GET`)],-1),r[11]||=i(`tr`,null,[i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`协议版本`),i(`td`,{class:`py-1 text-gray-800`},`HTTP/1.1`)],-1),i(`tr`,null,[r[9]||=i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`请求时间`,-1),i(`td`,v,e(w.value),1)])])])]),i(`div`,y,[r[16]||=i(`h4`,{class:`font-semibold text-gray-700 mb-2`},`服务器信息`,-1),i(`table`,b,[i(`tbody`,null,[r[14]||=i(`tr`,null,[i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`服务器名称`),i(`td`,{class:`py-1 text-gray-800`},`GVSDS Web Server`)],-1),r[15]||=i(`tr`,null,[i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`安全策略`),i(`td`,{class:`py-1 text-gray-800`},`Host 白名单验证`)],-1),i(`tr`,null,[r[13]||=i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`拒绝原因`,-1),i(`td`,x,e(T.value),1)])])])])]),r[18]||=i(`div`,{class:`text-center mt-10 pt-5 border-t border-gray-200 text-gray-500 text-sm`},[i(`p`,null,[a(` 银河锋锐软件开发工作室 © 2025 | 实际网站: `),i(`a`,{href:`https://www.gvsds.com`,class:`text-blue-600 hover:underline`},`https://www.gvsds.com`)])],-1)])]))}});export{S as default};
\ No newline at end of file
diff --git a/TempLate/assets/Error403View-oJlAg5u7.js b/TempLate/assets/Error403View-oJlAg5u7.js
new file mode 100644
index 00000000..d917980e
--- /dev/null
+++ b/TempLate/assets/Error403View-oJlAg5u7.js
@@ -0,0 +1 @@
+import{N as e,S as t,_ as n,b as r,d as i,h as a,k as o,p as s}from"./index-BM-LFFI_.js";var c={class:`min-h-screen flex items-center justify-center bg-gray-100 p-4`},l={class:`max-w-2xl w-full bg-white rounded-lg shadow-lg p-8`},u={class:`bg-red-50 border-l-4 border-red-600 p-4 mb-5 text-sm`},d={class:`bg-yellow-50 px-1.5 py-0.5 rounded font-semibold`},f={class:`bg-yellow-50 border-l-4 border-yellow-500 p-4 mb-5 text-sm`},p={class:`bg-yellow-50 px-1.5 py-0.5 rounded font-semibold`},m={class:`bg-blue-50 border-l-4 border-blue-500 p-4 mb-5 text-sm`},h={class:`mb-4`},g={class:`w-full text-sm`},_={class:`py-1 text-gray-800 break-all`},v={class:`py-1 text-gray-800`},y={class:`mb-4`},b={class:`w-full text-sm`},x={class:`py-1 text-gray-800`},S=n({__name:`Error403View`,setup(n){let S=o(window.location.hostname),C=o(window.location.href),w=o(new Date().toLocaleString()),T=o(``),E=o(``);return r(()=>{document.title=`403 - 访问被拒绝`,window.location.hostname===`www.gvsds.com`?window.location.protocol===`https:`?(E.value=`2`,T.value=`您的 IP 处于黑名单中`):(E.value=`3`,T.value=`非 HTTPS 安全连接`):(E.value=`1`,T.value=`访问域名不在白名单中`)}),(n,r)=>(t(),s(`div`,c,[i(`div`,l,[r[17]||=i(`div`,{class:`text-center`},[i(`h1`,{class:`text-4xl font-bold text-red-600 mb-6 border-b-2 border-yellow-400 pb-3`},` ⛔ 403 Forbidden `)],-1),i(`div`,u,[i(`p`,null,[r[0]||=a(` 服务器已拒绝您对当前 URL 的访问请求。`,-1),r[1]||=i(`br`,null,null,-1),r[2]||=a(` 您应当通过我们的官方域名 `,-1),r[3]||=i(`span`,{class:`bg-yellow-50 px-1.5 py-0.5 rounded font-semibold`},`www.gvsds.com`,-1),r[4]||=a(` 访问网站,而非当前使用的 `,-1),i(`span`,d,e(S.value),1),r[5]||=i(`br`,null,null,-1),r[6]||=a(` 出于安全考虑,我们已启用 host 白名单策略。 `,-1)])]),i(`div`,f,[i(`p`,null,[r[7]||=a(` 错误代码: `,-1),i(`span`,p,e(E.value),1)])]),i(`div`,m,[i(`div`,h,[r[12]||=i(`h4`,{class:`font-semibold text-gray-700 mb-2`},`请求基本信息`,-1),i(`table`,g,[i(`tbody`,null,[i(`tr`,null,[r[8]||=i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`请求 URL`,-1),i(`td`,_,e(C.value),1)]),r[10]||=i(`tr`,null,[i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`请求方法`),i(`td`,{class:`py-1 text-gray-800`},`GET`)],-1),r[11]||=i(`tr`,null,[i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`协议版本`),i(`td`,{class:`py-1 text-gray-800`},`HTTP/1.1`)],-1),i(`tr`,null,[r[9]||=i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`请求时间`,-1),i(`td`,v,e(w.value),1)])])])]),i(`div`,y,[r[16]||=i(`h4`,{class:`font-semibold text-gray-700 mb-2`},`服务器信息`,-1),i(`table`,b,[i(`tbody`,null,[r[14]||=i(`tr`,null,[i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`服务器名称`),i(`td`,{class:`py-1 text-gray-800`},`GVSDS Web Server`)],-1),r[15]||=i(`tr`,null,[i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`安全策略`),i(`td`,{class:`py-1 text-gray-800`},`Host 白名单验证`)],-1),i(`tr`,null,[r[13]||=i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`拒绝原因`,-1),i(`td`,x,e(T.value),1)])])])])]),r[18]||=i(`div`,{class:`text-center mt-10 pt-5 border-t border-gray-200 text-gray-500 text-sm`},[i(`p`,null,[a(` 银河锋锐软件开发工作室 © 2025 | 实际网站: `),i(`a`,{href:`https://www.gvsds.com`,class:`text-blue-600 hover:underline`},`https://www.gvsds.com`)])],-1)])]))}});export{S as default};
\ No newline at end of file
diff --git a/TempLate/assets/Error403View-st0AE6PI.js b/TempLate/assets/Error403View-st0AE6PI.js
new file mode 100644
index 00000000..a3b4b04b
--- /dev/null
+++ b/TempLate/assets/Error403View-st0AE6PI.js
@@ -0,0 +1 @@
+import{N as e,S as t,_ as n,b as r,d as i,h as a,k as o,p as s}from"./index-CUry87of.js";var c={class:`min-h-screen flex items-center justify-center bg-gray-100 p-4`},l={class:`max-w-2xl w-full bg-white rounded-lg shadow-lg p-8`},u={class:`bg-red-50 border-l-4 border-red-600 p-4 mb-5 text-sm`},d={class:`bg-yellow-50 px-1.5 py-0.5 rounded font-semibold`},f={class:`bg-yellow-50 border-l-4 border-yellow-500 p-4 mb-5 text-sm`},p={class:`bg-yellow-50 px-1.5 py-0.5 rounded font-semibold`},m={class:`bg-blue-50 border-l-4 border-blue-500 p-4 mb-5 text-sm`},h={class:`mb-4`},g={class:`w-full text-sm`},_={class:`py-1 text-gray-800 break-all`},v={class:`py-1 text-gray-800`},y={class:`mb-4`},b={class:`w-full text-sm`},x={class:`py-1 text-gray-800`},S=n({__name:`Error403View`,setup(n){let S=o(window.location.hostname),C=o(window.location.href),w=o(new Date().toLocaleString()),T=o(``),E=o(``);return r(()=>{document.title=`403 - 访问被拒绝`,window.location.hostname===`www.gvsds.com`?window.location.protocol===`https:`?(E.value=`2`,T.value=`您的 IP 处于黑名单中`):(E.value=`3`,T.value=`非 HTTPS 安全连接`):(E.value=`1`,T.value=`访问域名不在白名单中`)}),(n,r)=>(t(),s(`div`,c,[i(`div`,l,[r[17]||=i(`div`,{class:`text-center`},[i(`h1`,{class:`text-4xl font-bold text-red-600 mb-6 border-b-2 border-yellow-400 pb-3`},` ⛔ 403 Forbidden `)],-1),i(`div`,u,[i(`p`,null,[r[0]||=a(` 服务器已拒绝您对当前 URL 的访问请求。`,-1),r[1]||=i(`br`,null,null,-1),r[2]||=a(` 您应当通过我们的官方域名 `,-1),r[3]||=i(`span`,{class:`bg-yellow-50 px-1.5 py-0.5 rounded font-semibold`},`www.gvsds.com`,-1),r[4]||=a(` 访问网站,而非当前使用的 `,-1),i(`span`,d,e(S.value),1),r[5]||=i(`br`,null,null,-1),r[6]||=a(` 出于安全考虑,我们已启用 host 白名单策略。 `,-1)])]),i(`div`,f,[i(`p`,null,[r[7]||=a(` 错误代码: `,-1),i(`span`,p,e(E.value),1)])]),i(`div`,m,[i(`div`,h,[r[12]||=i(`h4`,{class:`font-semibold text-gray-700 mb-2`},`请求基本信息`,-1),i(`table`,g,[i(`tbody`,null,[i(`tr`,null,[r[8]||=i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`请求 URL`,-1),i(`td`,_,e(C.value),1)]),r[10]||=i(`tr`,null,[i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`请求方法`),i(`td`,{class:`py-1 text-gray-800`},`GET`)],-1),r[11]||=i(`tr`,null,[i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`协议版本`),i(`td`,{class:`py-1 text-gray-800`},`HTTP/1.1`)],-1),i(`tr`,null,[r[9]||=i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`请求时间`,-1),i(`td`,v,e(w.value),1)])])])]),i(`div`,y,[r[16]||=i(`h4`,{class:`font-semibold text-gray-700 mb-2`},`服务器信息`,-1),i(`table`,b,[i(`tbody`,null,[r[14]||=i(`tr`,null,[i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`服务器名称`),i(`td`,{class:`py-1 text-gray-800`},`GVSDS Web Server`)],-1),r[15]||=i(`tr`,null,[i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`安全策略`),i(`td`,{class:`py-1 text-gray-800`},`Host 白名单验证`)],-1),i(`tr`,null,[r[13]||=i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`拒绝原因`,-1),i(`td`,x,e(T.value),1)])])])])]),r[18]||=i(`div`,{class:`text-center mt-10 pt-5 border-t border-gray-200 text-gray-500 text-sm`},[i(`p`,null,[a(` 银河锋锐软件开发工作室 © 2025 | 实际网站: `),i(`a`,{href:`https://www.gvsds.com`,class:`text-blue-600 hover:underline`},`https://www.gvsds.com`)])],-1)])]))}});export{S as default};
\ No newline at end of file
diff --git a/TempLate/assets/Error403View-wmCxZ4y2.js b/TempLate/assets/Error403View-wmCxZ4y2.js
new file mode 100644
index 00000000..17641e74
--- /dev/null
+++ b/TempLate/assets/Error403View-wmCxZ4y2.js
@@ -0,0 +1 @@
+import{N as e,S as t,_ as n,b as r,d as i,h as a,k as o,p as s}from"./index-CMhybB9x.js";var c={class:`min-h-screen flex items-center justify-center bg-gray-100 p-4`},l={class:`max-w-2xl w-full bg-white rounded-lg shadow-lg p-8`},u={class:`bg-red-50 border-l-4 border-red-600 p-4 mb-5 text-sm`},d={class:`bg-yellow-50 px-1.5 py-0.5 rounded font-semibold`},f={class:`bg-yellow-50 border-l-4 border-yellow-500 p-4 mb-5 text-sm`},p={class:`bg-yellow-50 px-1.5 py-0.5 rounded font-semibold`},m={class:`bg-blue-50 border-l-4 border-blue-500 p-4 mb-5 text-sm`},h={class:`mb-4`},g={class:`w-full text-sm`},_={class:`py-1 text-gray-800 break-all`},v={class:`py-1 text-gray-800`},y={class:`mb-4`},b={class:`w-full text-sm`},x={class:`py-1 text-gray-800`},S=n({__name:`Error403View`,setup(n){let S=o(window.location.hostname),C=o(window.location.href),w=o(new Date().toLocaleString()),T=o(``),E=o(``);return r(()=>{document.title=`403 - 访问被拒绝`,window.location.hostname===`www.gvsds.com`?window.location.protocol===`https:`?(E.value=`2`,T.value=`您的 IP 处于黑名单中`):(E.value=`3`,T.value=`非 HTTPS 安全连接`):(E.value=`1`,T.value=`访问域名不在白名单中`)}),(n,r)=>(t(),s(`div`,c,[i(`div`,l,[r[17]||=i(`div`,{class:`text-center`},[i(`h1`,{class:`text-4xl font-bold text-red-600 mb-6 border-b-2 border-yellow-400 pb-3`},` ⛔ 403 Forbidden `)],-1),i(`div`,u,[i(`p`,null,[r[0]||=a(` 服务器已拒绝您对当前 URL 的访问请求。`,-1),r[1]||=i(`br`,null,null,-1),r[2]||=a(` 您应当通过我们的官方域名 `,-1),r[3]||=i(`span`,{class:`bg-yellow-50 px-1.5 py-0.5 rounded font-semibold`},`www.gvsds.com`,-1),r[4]||=a(` 访问网站,而非当前使用的 `,-1),i(`span`,d,e(S.value),1),r[5]||=i(`br`,null,null,-1),r[6]||=a(` 出于安全考虑,我们已启用 host 白名单策略。 `,-1)])]),i(`div`,f,[i(`p`,null,[r[7]||=a(` 错误代码: `,-1),i(`span`,p,e(E.value),1)])]),i(`div`,m,[i(`div`,h,[r[12]||=i(`h4`,{class:`font-semibold text-gray-700 mb-2`},`请求基本信息`,-1),i(`table`,g,[i(`tbody`,null,[i(`tr`,null,[r[8]||=i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`请求 URL`,-1),i(`td`,_,e(C.value),1)]),r[10]||=i(`tr`,null,[i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`请求方法`),i(`td`,{class:`py-1 text-gray-800`},`GET`)],-1),r[11]||=i(`tr`,null,[i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`协议版本`),i(`td`,{class:`py-1 text-gray-800`},`HTTP/1.1`)],-1),i(`tr`,null,[r[9]||=i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`请求时间`,-1),i(`td`,v,e(w.value),1)])])])]),i(`div`,y,[r[16]||=i(`h4`,{class:`font-semibold text-gray-700 mb-2`},`服务器信息`,-1),i(`table`,b,[i(`tbody`,null,[r[14]||=i(`tr`,null,[i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`服务器名称`),i(`td`,{class:`py-1 text-gray-800`},`GVSDS Web Server`)],-1),r[15]||=i(`tr`,null,[i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`安全策略`),i(`td`,{class:`py-1 text-gray-800`},`Host 白名单验证`)],-1),i(`tr`,null,[r[13]||=i(`td`,{class:`py-1 pr-4 text-gray-500 whitespace-nowrap`},`拒绝原因`,-1),i(`td`,x,e(T.value),1)])])])])]),r[18]||=i(`div`,{class:`text-center mt-10 pt-5 border-t border-gray-200 text-gray-500 text-sm`},[i(`p`,null,[a(` 银河锋锐软件开发工作室 © 2025 | 实际网站: `),i(`a`,{href:`https://www.gvsds.com`,class:`text-blue-600 hover:underline`},`https://www.gvsds.com`)])],-1)])]))}});export{S as default};
\ No newline at end of file
diff --git a/TempLate/assets/Error404View-Cd4cLv6p.js b/TempLate/assets/Error404View-Cd4cLv6p.js
new file mode 100644
index 00000000..7c631ac1
--- /dev/null
+++ b/TempLate/assets/Error404View-Cd4cLv6p.js
@@ -0,0 +1 @@
+import{S as e,_ as t,b as n,d as r,l as i,m as a,p as o,t as s}from"./index-BM-LFFI_.js";var c=t({__name:`Error404View`,setup(t){let c=s();n(()=>{document.title=`404 - 页面未找到`});function l(){c.push(`/`)}return(t,n)=>(e(),o(i,null,[n[3]||=r(`div`,{class:`fixed bottom-6 right-6 z-50 bg-white p-3 rounded-lg shadow-xl transition-all duration-300 hover:shadow-blue-300/30 border border-gray-100`},[r(`div`,{class:`img-card-container`},[r(`div`,{class:`img-card`},[r(`img`,{src:`https://volunteer.cdn-go.cn/404/latest/img/dream4schoolQR.png`,alt:`志愿者活动二维码`,class:`w-32 h-32 object-contain`})])])],-1),r(`div`,{class:`min-h-screen flex items-center justify-center relative bg-gradient-to-br from-blue-50 to-indigo-100 overflow-hidden`},[n[1]||=r(`div`,{class:`absolute inset-0 bg-[url('https://bing.img.run/uhd.php')] bg-cover bg-center opacity-10`},null,-1),n[2]||=r(`div`,{class:`absolute inset-0 bg-white/70 backdrop-blur-sm`},null,-1),r(`div`,{class:`container mx-auto px-4 sm:px-6 lg:px-8 relative z-10 text-center`},[r(`div`,{class:`content-center`},[n[0]||=a(` NOT FOUND Galactic Vorpal Software Development Studio 您访问的页面走丢在追寻梦想的路上,请稍后再试或 向网站反馈此问题 不过您还可以和志愿者一起 为孩子们点亮一个梦想 `,5),r(`div`,{class:`mt-12 mb-16 sm:mb-12`},[r(`button`,{class:`bg-blue-500 hover:bg-blue-600 text-white font-medium py-3 px-8 rounded-full transition-all transform hover:scale-105 shadow-md hover:shadow-blue-200`,onClick:l},` 返回首页 `)])])])])],64))}});export{c as default};
\ No newline at end of file
diff --git a/TempLate/assets/Error404View-D33YKTxA.js b/TempLate/assets/Error404View-D33YKTxA.js
new file mode 100644
index 00000000..001289ae
--- /dev/null
+++ b/TempLate/assets/Error404View-D33YKTxA.js
@@ -0,0 +1 @@
+import{S as e,_ as t,b as n,d as r,l as i,m as a,p as o,t as s}from"./index-UfMysbwD.js";var c=t({__name:`Error404View`,setup(t){let c=s();n(()=>{document.title=`404 - 页面未找到`});function l(){c.push(`/`)}return(t,n)=>(e(),o(i,null,[n[3]||=r(`div`,{class:`fixed bottom-6 right-6 z-50 bg-white p-3 rounded-lg shadow-xl transition-all duration-300 hover:shadow-blue-300/30 border border-gray-100`},[r(`div`,{class:`img-card-container`},[r(`div`,{class:`img-card`},[r(`img`,{src:`https://volunteer.cdn-go.cn/404/latest/img/dream4schoolQR.png`,alt:`志愿者活动二维码`,class:`w-32 h-32 object-contain`})])])],-1),r(`div`,{class:`min-h-screen flex items-center justify-center relative bg-gradient-to-br from-blue-50 to-indigo-100 overflow-hidden`},[n[1]||=r(`div`,{class:`absolute inset-0 bg-[url('https://bing.img.run/uhd.php')] bg-cover bg-center opacity-10`},null,-1),n[2]||=r(`div`,{class:`absolute inset-0 bg-white/70 backdrop-blur-sm`},null,-1),r(`div`,{class:`container mx-auto px-4 sm:px-6 lg:px-8 relative z-10 text-center`},[r(`div`,{class:`content-center`},[n[0]||=a(` NOT FOUND Galactic Vorpal Software Development Studio 您访问的页面走丢在追寻梦想的路上,请稍后再试或 向网站反馈此问题 不过您还可以和志愿者一起 为孩子们点亮一个梦想 `,5),r(`div`,{class:`mt-12 mb-16 sm:mb-12`},[r(`button`,{class:`bg-blue-500 hover:bg-blue-600 text-white font-medium py-3 px-8 rounded-full transition-all transform hover:scale-105 shadow-md hover:shadow-blue-200`,onClick:l},` 返回首页 `)])])])])],64))}});export{c as default};
\ No newline at end of file
diff --git a/TempLate/assets/Error404View-DCbixN7_.js b/TempLate/assets/Error404View-DCbixN7_.js
new file mode 100644
index 00000000..59939c88
--- /dev/null
+++ b/TempLate/assets/Error404View-DCbixN7_.js
@@ -0,0 +1 @@
+import{S as e,_ as t,b as n,d as r,l as i,m as a,p as o,t as s}from"./index-CMhybB9x.js";var c=t({__name:`Error404View`,setup(t){let c=s();n(()=>{document.title=`404 - 页面未找到`});function l(){c.push(`/`)}return(t,n)=>(e(),o(i,null,[n[3]||=r(`div`,{class:`fixed bottom-6 right-6 z-50 bg-white p-3 rounded-lg shadow-xl transition-all duration-300 hover:shadow-blue-300/30 border border-gray-100`},[r(`div`,{class:`img-card-container`},[r(`div`,{class:`img-card`},[r(`img`,{src:`https://volunteer.cdn-go.cn/404/latest/img/dream4schoolQR.png`,alt:`志愿者活动二维码`,class:`w-32 h-32 object-contain`})])])],-1),r(`div`,{class:`min-h-screen flex items-center justify-center relative bg-gradient-to-br from-blue-50 to-indigo-100 overflow-hidden`},[n[1]||=r(`div`,{class:`absolute inset-0 bg-[url('https://bing.img.run/uhd.php')] bg-cover bg-center opacity-10`},null,-1),n[2]||=r(`div`,{class:`absolute inset-0 bg-white/70 backdrop-blur-sm`},null,-1),r(`div`,{class:`container mx-auto px-4 sm:px-6 lg:px-8 relative z-10 text-center`},[r(`div`,{class:`content-center`},[n[0]||=a(` NOT FOUND Galactic Vorpal Software Development Studio 您访问的页面走丢在追寻梦想的路上,请稍后再试或 向网站反馈此问题 不过您还可以和志愿者一起 为孩子们点亮一个梦想 `,5),r(`div`,{class:`mt-12 mb-16 sm:mb-12`},[r(`button`,{class:`bg-blue-500 hover:bg-blue-600 text-white font-medium py-3 px-8 rounded-full transition-all transform hover:scale-105 shadow-md hover:shadow-blue-200`,onClick:l},` 返回首页 `)])])])])],64))}});export{c as default};
\ No newline at end of file
diff --git a/TempLate/assets/Error404View-DGYkhcld.js b/TempLate/assets/Error404View-DGYkhcld.js
new file mode 100644
index 00000000..4993e8a9
--- /dev/null
+++ b/TempLate/assets/Error404View-DGYkhcld.js
@@ -0,0 +1 @@
+import{S as e,_ as t,b as n,d as r,l as i,m as a,p as o,t as s}from"./index-CUry87of.js";var c=t({__name:`Error404View`,setup(t){let c=s();n(()=>{document.title=`404 - 页面未找到`});function l(){c.push(`/`)}return(t,n)=>(e(),o(i,null,[n[3]||=r(`div`,{class:`fixed bottom-6 right-6 z-50 bg-white p-3 rounded-lg shadow-xl transition-all duration-300 hover:shadow-blue-300/30 border border-gray-100`},[r(`div`,{class:`img-card-container`},[r(`div`,{class:`img-card`},[r(`img`,{src:`https://volunteer.cdn-go.cn/404/latest/img/dream4schoolQR.png`,alt:`志愿者活动二维码`,class:`w-32 h-32 object-contain`})])])],-1),r(`div`,{class:`min-h-screen flex items-center justify-center relative bg-gradient-to-br from-blue-50 to-indigo-100 overflow-hidden`},[n[1]||=r(`div`,{class:`absolute inset-0 bg-[url('https://bing.img.run/uhd.php')] bg-cover bg-center opacity-10`},null,-1),n[2]||=r(`div`,{class:`absolute inset-0 bg-white/70 backdrop-blur-sm`},null,-1),r(`div`,{class:`container mx-auto px-4 sm:px-6 lg:px-8 relative z-10 text-center`},[r(`div`,{class:`content-center`},[n[0]||=a(` NOT FOUND Galactic Vorpal Software Development Studio 您访问的页面走丢在追寻梦想的路上,请稍后再试或 向网站反馈此问题 不过您还可以和志愿者一起 为孩子们点亮一个梦想 `,5),r(`div`,{class:`mt-12 mb-16 sm:mb-12`},[r(`button`,{class:`bg-blue-500 hover:bg-blue-600 text-white font-medium py-3 px-8 rounded-full transition-all transform hover:scale-105 shadow-md hover:shadow-blue-200`,onClick:l},` 返回首页 `)])])])])],64))}});export{c as default};
\ No newline at end of file
diff --git a/TempLate/assets/Error404View-DxBOKcZB.js b/TempLate/assets/Error404View-DxBOKcZB.js
new file mode 100644
index 00000000..ba7caadb
--- /dev/null
+++ b/TempLate/assets/Error404View-DxBOKcZB.js
@@ -0,0 +1 @@
+import{S as e,_ as t,b as n,d as r,l as i,m as a,p as o,t as s}from"./index-CJXuAy0L.js";var c=t({__name:`Error404View`,setup(t){let c=s();n(()=>{document.title=`404 - 页面未找到`});function l(){c.push(`/`)}return(t,n)=>(e(),o(i,null,[n[3]||=r(`div`,{class:`fixed bottom-6 right-6 z-50 bg-white p-3 rounded-lg shadow-xl transition-all duration-300 hover:shadow-blue-300/30 border border-gray-100`},[r(`div`,{class:`img-card-container`},[r(`div`,{class:`img-card`},[r(`img`,{src:`https://volunteer.cdn-go.cn/404/latest/img/dream4schoolQR.png`,alt:`志愿者活动二维码`,class:`w-32 h-32 object-contain`})])])],-1),r(`div`,{class:`min-h-screen flex items-center justify-center relative bg-gradient-to-br from-blue-50 to-indigo-100 overflow-hidden`},[n[1]||=r(`div`,{class:`absolute inset-0 bg-[url('https://bing.img.run/uhd.php')] bg-cover bg-center opacity-10`},null,-1),n[2]||=r(`div`,{class:`absolute inset-0 bg-white/70 backdrop-blur-sm`},null,-1),r(`div`,{class:`container mx-auto px-4 sm:px-6 lg:px-8 relative z-10 text-center`},[r(`div`,{class:`content-center`},[n[0]||=a(` NOT FOUND Galactic Vorpal Software Development Studio 您访问的页面走丢在追寻梦想的路上,请稍后再试或 向网站反馈此问题 不过您还可以和志愿者一起 为孩子们点亮一个梦想 `,5),r(`div`,{class:`mt-12 mb-16 sm:mb-12`},[r(`button`,{class:`bg-blue-500 hover:bg-blue-600 text-white font-medium py-3 px-8 rounded-full transition-all transform hover:scale-105 shadow-md hover:shadow-blue-200`,onClick:l},` 返回首页 `)])])])])],64))}});export{c as default};
\ No newline at end of file
diff --git a/TempLate/assets/Error404View-XMf7M99m.js b/TempLate/assets/Error404View-XMf7M99m.js
new file mode 100644
index 00000000..8659cd02
--- /dev/null
+++ b/TempLate/assets/Error404View-XMf7M99m.js
@@ -0,0 +1 @@
+import{S as e,_ as t,b as n,d as r,l as i,m as a,p as o,t as s}from"./index-PMfCvoYM.js";var c=t({__name:`Error404View`,setup(t){let c=s();n(()=>{document.title=`404 - 页面未找到`});function l(){c.push(`/`)}return(t,n)=>(e(),o(i,null,[n[3]||=r(`div`,{class:`fixed bottom-6 right-6 z-50 bg-white p-3 rounded-lg shadow-xl transition-all duration-300 hover:shadow-blue-300/30 border border-gray-100`},[r(`div`,{class:`img-card-container`},[r(`div`,{class:`img-card`},[r(`img`,{src:`https://volunteer.cdn-go.cn/404/latest/img/dream4schoolQR.png`,alt:`志愿者活动二维码`,class:`w-32 h-32 object-contain`})])])],-1),r(`div`,{class:`min-h-screen flex items-center justify-center relative bg-gradient-to-br from-blue-50 to-indigo-100 overflow-hidden`},[n[1]||=r(`div`,{class:`absolute inset-0 bg-[url('https://bing.img.run/uhd.php')] bg-cover bg-center opacity-10`},null,-1),n[2]||=r(`div`,{class:`absolute inset-0 bg-white/70 backdrop-blur-sm`},null,-1),r(`div`,{class:`container mx-auto px-4 sm:px-6 lg:px-8 relative z-10 text-center`},[r(`div`,{class:`content-center`},[n[0]||=a(` NOT FOUND Galactic Vorpal Software Development Studio 您访问的页面走丢在追寻梦想的路上,请稍后再试或 向网站反馈此问题 不过您还可以和志愿者一起 为孩子们点亮一个梦想 `,5),r(`div`,{class:`mt-12 mb-16 sm:mb-12`},[r(`button`,{class:`bg-blue-500 hover:bg-blue-600 text-white font-medium py-3 px-8 rounded-full transition-all transform hover:scale-105 shadow-md hover:shadow-blue-200`,onClick:l},` 返回首页 `)])])])])],64))}});export{c as default};
\ No newline at end of file
diff --git a/TempLate/assets/Error500View-BmxIaB6e.js b/TempLate/assets/Error500View-BmxIaB6e.js
new file mode 100644
index 00000000..6ed5268f
--- /dev/null
+++ b/TempLate/assets/Error500View-BmxIaB6e.js
@@ -0,0 +1 @@
+import{S as e,_ as t,b as n,d as r,l as i,m as a,p as o,t as s}from"./index-UfMysbwD.js";var c=t({__name:`Error500View`,setup(t){let c=s();n(()=>{document.title=`500 - 服务器错误`});function l(){c.push(`/`)}return(t,n)=>(e(),o(i,null,[n[3]||=r(`div`,{class:`fixed bottom-6 right-6 z-50 bg-white p-3 rounded-lg shadow-xl transition-all duration-300 hover:shadow-blue-300/30 border border-gray-100`},[r(`div`,{class:`img-card-container`},[r(`div`,{class:`img-card`},[r(`img`,{src:`https://volunteer.cdn-go.cn/500/latest/img/dream4schoolQR.png`,alt:`志愿者活动二维码`,class:`w-32 h-32 object-contain`})])])],-1),r(`div`,{class:`min-h-screen flex items-center justify-center relative bg-gradient-to-br from-blue-50 to-indigo-100 overflow-hidden`},[n[1]||=r(`div`,{class:`absolute inset-0 bg-[url('https://bing.img.run/uhd.php')] bg-cover bg-center opacity-10`},null,-1),n[2]||=r(`div`,{class:`absolute inset-0 bg-white/70 backdrop-blur-sm`},null,-1),r(`div`,{class:`container mx-auto px-4 sm:px-6 lg:px-8 relative z-10 text-center`},[r(`div`,{class:`content-center`},[n[0]||=a(` INTERNAL SERVER ERROR Galactic Vorpal Software Development Studio 您访问的页面出现了一些故障,请稍后再试或 向网站反馈此问题 不过您还可以和志愿者一起 为孩子们点亮一个梦想 `,5),r(`div`,{class:`mt-12 mb-16 sm:mb-12`},[r(`button`,{class:`bg-blue-500 hover:bg-blue-600 text-white font-medium py-3 px-8 rounded-full transition-all transform hover:scale-105 shadow-md hover:shadow-blue-200`,onClick:l},` 返回首页 `)])])])])],64))}});export{c as default};
\ No newline at end of file
diff --git a/TempLate/assets/Error500View-CVJCfFLl.js b/TempLate/assets/Error500View-CVJCfFLl.js
new file mode 100644
index 00000000..bf78871c
--- /dev/null
+++ b/TempLate/assets/Error500View-CVJCfFLl.js
@@ -0,0 +1 @@
+import{S as e,_ as t,b as n,d as r,l as i,m as a,p as o,t as s}from"./index-CJXuAy0L.js";var c=t({__name:`Error500View`,setup(t){let c=s();n(()=>{document.title=`500 - 服务器错误`});function l(){c.push(`/`)}return(t,n)=>(e(),o(i,null,[n[3]||=r(`div`,{class:`fixed bottom-6 right-6 z-50 bg-white p-3 rounded-lg shadow-xl transition-all duration-300 hover:shadow-blue-300/30 border border-gray-100`},[r(`div`,{class:`img-card-container`},[r(`div`,{class:`img-card`},[r(`img`,{src:`https://volunteer.cdn-go.cn/500/latest/img/dream4schoolQR.png`,alt:`志愿者活动二维码`,class:`w-32 h-32 object-contain`})])])],-1),r(`div`,{class:`min-h-screen flex items-center justify-center relative bg-gradient-to-br from-blue-50 to-indigo-100 overflow-hidden`},[n[1]||=r(`div`,{class:`absolute inset-0 bg-[url('https://bing.img.run/uhd.php')] bg-cover bg-center opacity-10`},null,-1),n[2]||=r(`div`,{class:`absolute inset-0 bg-white/70 backdrop-blur-sm`},null,-1),r(`div`,{class:`container mx-auto px-4 sm:px-6 lg:px-8 relative z-10 text-center`},[r(`div`,{class:`content-center`},[n[0]||=a(` INTERNAL SERVER ERROR Galactic Vorpal Software Development Studio 您访问的页面出现了一些故障,请稍后再试或 向网站反馈此问题 不过您还可以和志愿者一起 为孩子们点亮一个梦想 `,5),r(`div`,{class:`mt-12 mb-16 sm:mb-12`},[r(`button`,{class:`bg-blue-500 hover:bg-blue-600 text-white font-medium py-3 px-8 rounded-full transition-all transform hover:scale-105 shadow-md hover:shadow-blue-200`,onClick:l},` 返回首页 `)])])])])],64))}});export{c as default};
\ No newline at end of file
diff --git a/TempLate/assets/Error500View-CWVPZuyh.js b/TempLate/assets/Error500View-CWVPZuyh.js
new file mode 100644
index 00000000..b45256b8
--- /dev/null
+++ b/TempLate/assets/Error500View-CWVPZuyh.js
@@ -0,0 +1 @@
+import{S as e,_ as t,b as n,d as r,l as i,m as a,p as o,t as s}from"./index-CMhybB9x.js";var c=t({__name:`Error500View`,setup(t){let c=s();n(()=>{document.title=`500 - 服务器错误`});function l(){c.push(`/`)}return(t,n)=>(e(),o(i,null,[n[3]||=r(`div`,{class:`fixed bottom-6 right-6 z-50 bg-white p-3 rounded-lg shadow-xl transition-all duration-300 hover:shadow-blue-300/30 border border-gray-100`},[r(`div`,{class:`img-card-container`},[r(`div`,{class:`img-card`},[r(`img`,{src:`https://volunteer.cdn-go.cn/500/latest/img/dream4schoolQR.png`,alt:`志愿者活动二维码`,class:`w-32 h-32 object-contain`})])])],-1),r(`div`,{class:`min-h-screen flex items-center justify-center relative bg-gradient-to-br from-blue-50 to-indigo-100 overflow-hidden`},[n[1]||=r(`div`,{class:`absolute inset-0 bg-[url('https://bing.img.run/uhd.php')] bg-cover bg-center opacity-10`},null,-1),n[2]||=r(`div`,{class:`absolute inset-0 bg-white/70 backdrop-blur-sm`},null,-1),r(`div`,{class:`container mx-auto px-4 sm:px-6 lg:px-8 relative z-10 text-center`},[r(`div`,{class:`content-center`},[n[0]||=a(` INTERNAL SERVER ERROR Galactic Vorpal Software Development Studio 您访问的页面出现了一些故障,请稍后再试或 向网站反馈此问题 不过您还可以和志愿者一起 为孩子们点亮一个梦想 `,5),r(`div`,{class:`mt-12 mb-16 sm:mb-12`},[r(`button`,{class:`bg-blue-500 hover:bg-blue-600 text-white font-medium py-3 px-8 rounded-full transition-all transform hover:scale-105 shadow-md hover:shadow-blue-200`,onClick:l},` 返回首页 `)])])])])],64))}});export{c as default};
\ No newline at end of file
diff --git a/TempLate/assets/Error500View-CdQds9ma.js b/TempLate/assets/Error500View-CdQds9ma.js
new file mode 100644
index 00000000..7ba642b2
--- /dev/null
+++ b/TempLate/assets/Error500View-CdQds9ma.js
@@ -0,0 +1 @@
+import{S as e,_ as t,b as n,d as r,l as i,m as a,p as o,t as s}from"./index-BM-LFFI_.js";var c=t({__name:`Error500View`,setup(t){let c=s();n(()=>{document.title=`500 - 服务器错误`});function l(){c.push(`/`)}return(t,n)=>(e(),o(i,null,[n[3]||=r(`div`,{class:`fixed bottom-6 right-6 z-50 bg-white p-3 rounded-lg shadow-xl transition-all duration-300 hover:shadow-blue-300/30 border border-gray-100`},[r(`div`,{class:`img-card-container`},[r(`div`,{class:`img-card`},[r(`img`,{src:`https://volunteer.cdn-go.cn/500/latest/img/dream4schoolQR.png`,alt:`志愿者活动二维码`,class:`w-32 h-32 object-contain`})])])],-1),r(`div`,{class:`min-h-screen flex items-center justify-center relative bg-gradient-to-br from-blue-50 to-indigo-100 overflow-hidden`},[n[1]||=r(`div`,{class:`absolute inset-0 bg-[url('https://bing.img.run/uhd.php')] bg-cover bg-center opacity-10`},null,-1),n[2]||=r(`div`,{class:`absolute inset-0 bg-white/70 backdrop-blur-sm`},null,-1),r(`div`,{class:`container mx-auto px-4 sm:px-6 lg:px-8 relative z-10 text-center`},[r(`div`,{class:`content-center`},[n[0]||=a(` INTERNAL SERVER ERROR Galactic Vorpal Software Development Studio 您访问的页面出现了一些故障,请稍后再试或 向网站反馈此问题 不过您还可以和志愿者一起 为孩子们点亮一个梦想 `,5),r(`div`,{class:`mt-12 mb-16 sm:mb-12`},[r(`button`,{class:`bg-blue-500 hover:bg-blue-600 text-white font-medium py-3 px-8 rounded-full transition-all transform hover:scale-105 shadow-md hover:shadow-blue-200`,onClick:l},` 返回首页 `)])])])])],64))}});export{c as default};
\ No newline at end of file
diff --git a/TempLate/assets/Error500View-Dm4Rw3Uo.js b/TempLate/assets/Error500View-Dm4Rw3Uo.js
new file mode 100644
index 00000000..49d3984c
--- /dev/null
+++ b/TempLate/assets/Error500View-Dm4Rw3Uo.js
@@ -0,0 +1 @@
+import{S as e,_ as t,b as n,d as r,l as i,m as a,p as o,t as s}from"./index-CUry87of.js";var c=t({__name:`Error500View`,setup(t){let c=s();n(()=>{document.title=`500 - 服务器错误`});function l(){c.push(`/`)}return(t,n)=>(e(),o(i,null,[n[3]||=r(`div`,{class:`fixed bottom-6 right-6 z-50 bg-white p-3 rounded-lg shadow-xl transition-all duration-300 hover:shadow-blue-300/30 border border-gray-100`},[r(`div`,{class:`img-card-container`},[r(`div`,{class:`img-card`},[r(`img`,{src:`https://volunteer.cdn-go.cn/500/latest/img/dream4schoolQR.png`,alt:`志愿者活动二维码`,class:`w-32 h-32 object-contain`})])])],-1),r(`div`,{class:`min-h-screen flex items-center justify-center relative bg-gradient-to-br from-blue-50 to-indigo-100 overflow-hidden`},[n[1]||=r(`div`,{class:`absolute inset-0 bg-[url('https://bing.img.run/uhd.php')] bg-cover bg-center opacity-10`},null,-1),n[2]||=r(`div`,{class:`absolute inset-0 bg-white/70 backdrop-blur-sm`},null,-1),r(`div`,{class:`container mx-auto px-4 sm:px-6 lg:px-8 relative z-10 text-center`},[r(`div`,{class:`content-center`},[n[0]||=a(` INTERNAL SERVER ERROR Galactic Vorpal Software Development Studio 您访问的页面出现了一些故障,请稍后再试或 向网站反馈此问题 不过您还可以和志愿者一起 为孩子们点亮一个梦想 `,5),r(`div`,{class:`mt-12 mb-16 sm:mb-12`},[r(`button`,{class:`bg-blue-500 hover:bg-blue-600 text-white font-medium py-3 px-8 rounded-full transition-all transform hover:scale-105 shadow-md hover:shadow-blue-200`,onClick:l},` 返回首页 `)])])])])],64))}});export{c as default};
\ No newline at end of file
diff --git a/TempLate/assets/Error500View-MnYMy_s4.js b/TempLate/assets/Error500View-MnYMy_s4.js
new file mode 100644
index 00000000..f68fd970
--- /dev/null
+++ b/TempLate/assets/Error500View-MnYMy_s4.js
@@ -0,0 +1 @@
+import{S as e,_ as t,b as n,d as r,l as i,m as a,p as o,t as s}from"./index-PMfCvoYM.js";var c=t({__name:`Error500View`,setup(t){let c=s();n(()=>{document.title=`500 - 服务器错误`});function l(){c.push(`/`)}return(t,n)=>(e(),o(i,null,[n[3]||=r(`div`,{class:`fixed bottom-6 right-6 z-50 bg-white p-3 rounded-lg shadow-xl transition-all duration-300 hover:shadow-blue-300/30 border border-gray-100`},[r(`div`,{class:`img-card-container`},[r(`div`,{class:`img-card`},[r(`img`,{src:`https://volunteer.cdn-go.cn/500/latest/img/dream4schoolQR.png`,alt:`志愿者活动二维码`,class:`w-32 h-32 object-contain`})])])],-1),r(`div`,{class:`min-h-screen flex items-center justify-center relative bg-gradient-to-br from-blue-50 to-indigo-100 overflow-hidden`},[n[1]||=r(`div`,{class:`absolute inset-0 bg-[url('https://bing.img.run/uhd.php')] bg-cover bg-center opacity-10`},null,-1),n[2]||=r(`div`,{class:`absolute inset-0 bg-white/70 backdrop-blur-sm`},null,-1),r(`div`,{class:`container mx-auto px-4 sm:px-6 lg:px-8 relative z-10 text-center`},[r(`div`,{class:`content-center`},[n[0]||=a(` INTERNAL SERVER ERROR Galactic Vorpal Software Development Studio 您访问的页面出现了一些故障,请稍后再试或 向网站反馈此问题 不过您还可以和志愿者一起 为孩子们点亮一个梦想 `,5),r(`div`,{class:`mt-12 mb-16 sm:mb-12`},[r(`button`,{class:`bg-blue-500 hover:bg-blue-600 text-white font-medium py-3 px-8 rounded-full transition-all transform hover:scale-105 shadow-md hover:shadow-blue-200`,onClick:l},` 返回首页 `)])])])])],64))}});export{c as default};
\ No newline at end of file
diff --git a/TempLate/assets/Error503View-BUzs6rql.js b/TempLate/assets/Error503View-BUzs6rql.js
new file mode 100644
index 00000000..fa404b8c
--- /dev/null
+++ b/TempLate/assets/Error503View-BUzs6rql.js
@@ -0,0 +1 @@
+import{S as e,_ as t,b as n,d as r,l as i,m as a,p as o,t as s}from"./index-CJXuAy0L.js";var c=t({__name:`Error503View`,setup(t){let c=s();n(()=>{document.title=`503 - 服务不可用`});function l(){c.push(`/`)}return(t,n)=>(e(),o(i,null,[n[3]||=r(`div`,{class:`fixed bottom-6 right-6 z-50 bg-white p-3 rounded-lg shadow-xl transition-all duration-300 hover:shadow-blue-300/30 border border-gray-100`},[r(`div`,{class:`img-card-container`},[r(`div`,{class:`img-card`},[r(`img`,{src:`https://volunteer.cdn-go.cn/503/latest/img/dream4schoolQR.png`,alt:`志愿者活动二维码`,class:`w-32 h-32 object-contain`})])])],-1),r(`div`,{class:`min-h-screen flex items-center justify-center relative bg-gradient-to-br from-blue-50 to-indigo-100 overflow-hidden`},[n[1]||=r(`div`,{class:`absolute inset-0 bg-[url('https://bing.img.run/uhd.php')] bg-cover bg-center opacity-10`},null,-1),n[2]||=r(`div`,{class:`absolute inset-0 bg-white/70 backdrop-blur-sm`},null,-1),r(`div`,{class:`container mx-auto px-4 sm:px-6 lg:px-8 relative z-10 text-center`},[r(`div`,{class:`content-center`},[n[0]||=a(` SERVICE UNAVAILABLE Galactic Vorpal Software Development Studio 您无权访问此页面,请稍后再试或 向网站反馈此问题 不过您还可以和志愿者一起 为孩子们点亮一个梦想 `,5),r(`div`,{class:`mt-12 mb-16 sm:mb-12`},[r(`button`,{class:`bg-blue-500 hover:bg-blue-600 text-white font-medium py-3 px-8 rounded-full transition-all transform hover:scale-105 shadow-md hover:shadow-blue-200`,onClick:l},` 返回首页 `)])])])])],64))}});export{c as default};
\ No newline at end of file
diff --git a/TempLate/assets/Error503View-BgL3Um_t.js b/TempLate/assets/Error503View-BgL3Um_t.js
new file mode 100644
index 00000000..e47cfd58
--- /dev/null
+++ b/TempLate/assets/Error503View-BgL3Um_t.js
@@ -0,0 +1 @@
+import{S as e,_ as t,b as n,d as r,l as i,m as a,p as o,t as s}from"./index-CMhybB9x.js";var c=t({__name:`Error503View`,setup(t){let c=s();n(()=>{document.title=`503 - 服务不可用`});function l(){c.push(`/`)}return(t,n)=>(e(),o(i,null,[n[3]||=r(`div`,{class:`fixed bottom-6 right-6 z-50 bg-white p-3 rounded-lg shadow-xl transition-all duration-300 hover:shadow-blue-300/30 border border-gray-100`},[r(`div`,{class:`img-card-container`},[r(`div`,{class:`img-card`},[r(`img`,{src:`https://volunteer.cdn-go.cn/503/latest/img/dream4schoolQR.png`,alt:`志愿者活动二维码`,class:`w-32 h-32 object-contain`})])])],-1),r(`div`,{class:`min-h-screen flex items-center justify-center relative bg-gradient-to-br from-blue-50 to-indigo-100 overflow-hidden`},[n[1]||=r(`div`,{class:`absolute inset-0 bg-[url('https://bing.img.run/uhd.php')] bg-cover bg-center opacity-10`},null,-1),n[2]||=r(`div`,{class:`absolute inset-0 bg-white/70 backdrop-blur-sm`},null,-1),r(`div`,{class:`container mx-auto px-4 sm:px-6 lg:px-8 relative z-10 text-center`},[r(`div`,{class:`content-center`},[n[0]||=a(` SERVICE UNAVAILABLE Galactic Vorpal Software Development Studio 您无权访问此页面,请稍后再试或 向网站反馈此问题 不过您还可以和志愿者一起 为孩子们点亮一个梦想 `,5),r(`div`,{class:`mt-12 mb-16 sm:mb-12`},[r(`button`,{class:`bg-blue-500 hover:bg-blue-600 text-white font-medium py-3 px-8 rounded-full transition-all transform hover:scale-105 shadow-md hover:shadow-blue-200`,onClick:l},` 返回首页 `)])])])])],64))}});export{c as default};
\ No newline at end of file
diff --git a/TempLate/assets/Error503View-BpYX1sYe.js b/TempLate/assets/Error503View-BpYX1sYe.js
new file mode 100644
index 00000000..c2428236
--- /dev/null
+++ b/TempLate/assets/Error503View-BpYX1sYe.js
@@ -0,0 +1 @@
+import{S as e,_ as t,b as n,d as r,l as i,m as a,p as o,t as s}from"./index-UfMysbwD.js";var c=t({__name:`Error503View`,setup(t){let c=s();n(()=>{document.title=`503 - 服务不可用`});function l(){c.push(`/`)}return(t,n)=>(e(),o(i,null,[n[3]||=r(`div`,{class:`fixed bottom-6 right-6 z-50 bg-white p-3 rounded-lg shadow-xl transition-all duration-300 hover:shadow-blue-300/30 border border-gray-100`},[r(`div`,{class:`img-card-container`},[r(`div`,{class:`img-card`},[r(`img`,{src:`https://volunteer.cdn-go.cn/503/latest/img/dream4schoolQR.png`,alt:`志愿者活动二维码`,class:`w-32 h-32 object-contain`})])])],-1),r(`div`,{class:`min-h-screen flex items-center justify-center relative bg-gradient-to-br from-blue-50 to-indigo-100 overflow-hidden`},[n[1]||=r(`div`,{class:`absolute inset-0 bg-[url('https://bing.img.run/uhd.php')] bg-cover bg-center opacity-10`},null,-1),n[2]||=r(`div`,{class:`absolute inset-0 bg-white/70 backdrop-blur-sm`},null,-1),r(`div`,{class:`container mx-auto px-4 sm:px-6 lg:px-8 relative z-10 text-center`},[r(`div`,{class:`content-center`},[n[0]||=a(` SERVICE UNAVAILABLE Galactic Vorpal Software Development Studio 您无权访问此页面,请稍后再试或 向网站反馈此问题 不过您还可以和志愿者一起 为孩子们点亮一个梦想 `,5),r(`div`,{class:`mt-12 mb-16 sm:mb-12`},[r(`button`,{class:`bg-blue-500 hover:bg-blue-600 text-white font-medium py-3 px-8 rounded-full transition-all transform hover:scale-105 shadow-md hover:shadow-blue-200`,onClick:l},` 返回首页 `)])])])])],64))}});export{c as default};
\ No newline at end of file
diff --git a/TempLate/assets/Error503View-DR5eL2eQ.js b/TempLate/assets/Error503View-DR5eL2eQ.js
new file mode 100644
index 00000000..8b7c5063
--- /dev/null
+++ b/TempLate/assets/Error503View-DR5eL2eQ.js
@@ -0,0 +1 @@
+import{S as e,_ as t,b as n,d as r,l as i,m as a,p as o,t as s}from"./index-BM-LFFI_.js";var c=t({__name:`Error503View`,setup(t){let c=s();n(()=>{document.title=`503 - 服务不可用`});function l(){c.push(`/`)}return(t,n)=>(e(),o(i,null,[n[3]||=r(`div`,{class:`fixed bottom-6 right-6 z-50 bg-white p-3 rounded-lg shadow-xl transition-all duration-300 hover:shadow-blue-300/30 border border-gray-100`},[r(`div`,{class:`img-card-container`},[r(`div`,{class:`img-card`},[r(`img`,{src:`https://volunteer.cdn-go.cn/503/latest/img/dream4schoolQR.png`,alt:`志愿者活动二维码`,class:`w-32 h-32 object-contain`})])])],-1),r(`div`,{class:`min-h-screen flex items-center justify-center relative bg-gradient-to-br from-blue-50 to-indigo-100 overflow-hidden`},[n[1]||=r(`div`,{class:`absolute inset-0 bg-[url('https://bing.img.run/uhd.php')] bg-cover bg-center opacity-10`},null,-1),n[2]||=r(`div`,{class:`absolute inset-0 bg-white/70 backdrop-blur-sm`},null,-1),r(`div`,{class:`container mx-auto px-4 sm:px-6 lg:px-8 relative z-10 text-center`},[r(`div`,{class:`content-center`},[n[0]||=a(` SERVICE UNAVAILABLE Galactic Vorpal Software Development Studio 您无权访问此页面,请稍后再试或 向网站反馈此问题 不过您还可以和志愿者一起 为孩子们点亮一个梦想 `,5),r(`div`,{class:`mt-12 mb-16 sm:mb-12`},[r(`button`,{class:`bg-blue-500 hover:bg-blue-600 text-white font-medium py-3 px-8 rounded-full transition-all transform hover:scale-105 shadow-md hover:shadow-blue-200`,onClick:l},` 返回首页 `)])])])])],64))}});export{c as default};
\ No newline at end of file
diff --git a/TempLate/assets/Error503View-DtfGigJF.js b/TempLate/assets/Error503View-DtfGigJF.js
new file mode 100644
index 00000000..b26bac54
--- /dev/null
+++ b/TempLate/assets/Error503View-DtfGigJF.js
@@ -0,0 +1 @@
+import{S as e,_ as t,b as n,d as r,l as i,m as a,p as o,t as s}from"./index-CUry87of.js";var c=t({__name:`Error503View`,setup(t){let c=s();n(()=>{document.title=`503 - 服务不可用`});function l(){c.push(`/`)}return(t,n)=>(e(),o(i,null,[n[3]||=r(`div`,{class:`fixed bottom-6 right-6 z-50 bg-white p-3 rounded-lg shadow-xl transition-all duration-300 hover:shadow-blue-300/30 border border-gray-100`},[r(`div`,{class:`img-card-container`},[r(`div`,{class:`img-card`},[r(`img`,{src:`https://volunteer.cdn-go.cn/503/latest/img/dream4schoolQR.png`,alt:`志愿者活动二维码`,class:`w-32 h-32 object-contain`})])])],-1),r(`div`,{class:`min-h-screen flex items-center justify-center relative bg-gradient-to-br from-blue-50 to-indigo-100 overflow-hidden`},[n[1]||=r(`div`,{class:`absolute inset-0 bg-[url('https://bing.img.run/uhd.php')] bg-cover bg-center opacity-10`},null,-1),n[2]||=r(`div`,{class:`absolute inset-0 bg-white/70 backdrop-blur-sm`},null,-1),r(`div`,{class:`container mx-auto px-4 sm:px-6 lg:px-8 relative z-10 text-center`},[r(`div`,{class:`content-center`},[n[0]||=a(` SERVICE UNAVAILABLE Galactic Vorpal Software Development Studio 您无权访问此页面,请稍后再试或 向网站反馈此问题 不过您还可以和志愿者一起 为孩子们点亮一个梦想 `,5),r(`div`,{class:`mt-12 mb-16 sm:mb-12`},[r(`button`,{class:`bg-blue-500 hover:bg-blue-600 text-white font-medium py-3 px-8 rounded-full transition-all transform hover:scale-105 shadow-md hover:shadow-blue-200`,onClick:l},` 返回首页 `)])])])])],64))}});export{c as default};
\ No newline at end of file
diff --git a/TempLate/assets/Error503View-iLNC8Z8X.js b/TempLate/assets/Error503View-iLNC8Z8X.js
new file mode 100644
index 00000000..b02ee3b2
--- /dev/null
+++ b/TempLate/assets/Error503View-iLNC8Z8X.js
@@ -0,0 +1 @@
+import{S as e,_ as t,b as n,d as r,l as i,m as a,p as o,t as s}from"./index-PMfCvoYM.js";var c=t({__name:`Error503View`,setup(t){let c=s();n(()=>{document.title=`503 - 服务不可用`});function l(){c.push(`/`)}return(t,n)=>(e(),o(i,null,[n[3]||=r(`div`,{class:`fixed bottom-6 right-6 z-50 bg-white p-3 rounded-lg shadow-xl transition-all duration-300 hover:shadow-blue-300/30 border border-gray-100`},[r(`div`,{class:`img-card-container`},[r(`div`,{class:`img-card`},[r(`img`,{src:`https://volunteer.cdn-go.cn/503/latest/img/dream4schoolQR.png`,alt:`志愿者活动二维码`,class:`w-32 h-32 object-contain`})])])],-1),r(`div`,{class:`min-h-screen flex items-center justify-center relative bg-gradient-to-br from-blue-50 to-indigo-100 overflow-hidden`},[n[1]||=r(`div`,{class:`absolute inset-0 bg-[url('https://bing.img.run/uhd.php')] bg-cover bg-center opacity-10`},null,-1),n[2]||=r(`div`,{class:`absolute inset-0 bg-white/70 backdrop-blur-sm`},null,-1),r(`div`,{class:`container mx-auto px-4 sm:px-6 lg:px-8 relative z-10 text-center`},[r(`div`,{class:`content-center`},[n[0]||=a(` SERVICE UNAVAILABLE Galactic Vorpal Software Development Studio 您无权访问此页面,请稍后再试或 向网站反馈此问题 不过您还可以和志愿者一起 为孩子们点亮一个梦想 `,5),r(`div`,{class:`mt-12 mb-16 sm:mb-12`},[r(`button`,{class:`bg-blue-500 hover:bg-blue-600 text-white font-medium py-3 px-8 rounded-full transition-all transform hover:scale-105 shadow-md hover:shadow-blue-200`,onClick:l},` 返回首页 `)])])])])],64))}});export{c as default};
\ No newline at end of file
diff --git a/TempLate/assets/GalleryView-6Pif8Jbr.js b/TempLate/assets/GalleryView-6Pif8Jbr.js
new file mode 100644
index 00000000..d770f0c5
--- /dev/null
+++ b/TempLate/assets/GalleryView-6Pif8Jbr.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,l as o,p as s}from"./index-CUry87of.js";var c=[`id`],l={class:`container mx-auto px-4 sm:px-6 lg:px-8 relative z-10`},u={class:`content-center brand text-center`},d={class:`h1-seo text-5xl md:text-7xl font-extrabold text-white mb-6`},f={class:`text-2xl md:text-3xl text-white mb-4`},p={class:`description text-xl md:text-2xl text-gray-100 mb-6`},m={class:`text-2xl md:text-3xl text-white mb-8`},h={class:`row justify-center`},g={class:`col-lg-8 col-md-12`},_={class:`btn-wrapper flex justify-center`},v=[`href`],y=i({__name:`GalleryView`,setup(i){let y=[{title:`新年好`,css:``,content1:`2026 新年好`,content2:``,content3:``,url:`/Members/ChiSha/assets/img/F.jpg`},{title:`合影`,css:``,content1:`小情侣`,content2:``,content3:``,url:`/Members/B-Smooth/assets/img/1.jpg`}];function b(e){return e===y.length-1?`#footer`:`#p`+(e+1)}function x(e){return e===y.length-1?`完`:`继续`}return(i,S)=>(r(),s(`div`,null,[(r(),s(o,null,e(y,(e,r)=>a(`div`,{key:r,id:`p`+r,class:`page-header counter-area header-filter min-h-screen flex items-center justify-center relative overflow-hidden`,style:t({backgroundImage:`url('${e.url}')`,backgroundSize:`cover`,backgroundPosition:`center`,backgroundRepeat:`no-repeat`})},[S[0]||=a(`div`,{class:`absolute inset-0 bg-black/40 z-0`},null,-1),a(`div`,l,[a(`div`,u,[a(`h1`,d,n(e.title),1),a(`h3`,f,n(e.content1),1),a(`h4`,p,n(e.content2),1),a(`h3`,m,n(e.content3),1),a(`div`,h,[a(`div`,g,[a(`div`,_,[a(`a`,{href:b(r),class:`btn-primary btn-round ashow bg-white text-gray-900 hover:bg-gray-100 font-medium px-6 py-3 rounded-full transition-all duration-300 shadow-lg`},n(x(r)),9,v)])])])])])],12,c)),64))]))}});export{y as default};
\ No newline at end of file
diff --git a/TempLate/assets/GalleryView-B5QS4aFF.js b/TempLate/assets/GalleryView-B5QS4aFF.js
new file mode 100644
index 00000000..6f339ecf
--- /dev/null
+++ b/TempLate/assets/GalleryView-B5QS4aFF.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,l as o,p as s}from"./index-PMfCvoYM.js";var c=[`id`],l={class:`container mx-auto px-4 sm:px-6 lg:px-8 relative z-10`},u={class:`content-center brand text-center`},d={class:`h1-seo text-5xl md:text-7xl font-extrabold text-white mb-6`},f={class:`text-2xl md:text-3xl text-white mb-4`},p={class:`description text-xl md:text-2xl text-gray-100 mb-6`},m={class:`text-2xl md:text-3xl text-white mb-8`},h={class:`row justify-center`},g={class:`col-lg-8 col-md-12`},_={class:`btn-wrapper flex justify-center`},v=[`href`],y=i({__name:`GalleryView`,setup(i){let y=[{title:`新年好`,css:``,content1:`2026 新年好`,content2:``,content3:``,url:`/Members/ChiSha/assets/img/F.jpg`},{title:`合影`,css:``,content1:`小情侣`,content2:``,content3:``,url:`/Members/B-Smooth/assets/img/1.jpg`}];function b(e){return e===y.length-1?`#footer`:`#p`+(e+1)}function x(e){return e===y.length-1?`完`:`继续`}return(i,S)=>(r(),s(`div`,null,[(r(),s(o,null,e(y,(e,r)=>a(`div`,{key:r,id:`p`+r,class:`page-header counter-area header-filter min-h-screen flex items-center justify-center relative overflow-hidden`,style:t({backgroundImage:`url('${e.url}')`,backgroundSize:`cover`,backgroundPosition:`center`,backgroundRepeat:`no-repeat`})},[S[0]||=a(`div`,{class:`absolute inset-0 bg-black/40 z-0`},null,-1),a(`div`,l,[a(`div`,u,[a(`h1`,d,n(e.title),1),a(`h3`,f,n(e.content1),1),a(`h4`,p,n(e.content2),1),a(`h3`,m,n(e.content3),1),a(`div`,h,[a(`div`,g,[a(`div`,_,[a(`a`,{href:b(r),class:`btn-primary btn-round ashow bg-white text-gray-900 hover:bg-gray-100 font-medium px-6 py-3 rounded-full transition-all duration-300 shadow-lg`},n(x(r)),9,v)])])])])])],12,c)),64))]))}});export{y as default};
\ No newline at end of file
diff --git a/TempLate/assets/GalleryView-DU6tO8iF.js b/TempLate/assets/GalleryView-DU6tO8iF.js
new file mode 100644
index 00000000..4186b5c0
--- /dev/null
+++ b/TempLate/assets/GalleryView-DU6tO8iF.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,l as o,p as s}from"./index-CJXuAy0L.js";var c=[`id`],l={class:`container mx-auto px-4 sm:px-6 lg:px-8 relative z-10`},u={class:`content-center brand text-center`},d={class:`h1-seo text-5xl md:text-7xl font-extrabold text-white mb-6`},f={class:`text-2xl md:text-3xl text-white mb-4`},p={class:`description text-xl md:text-2xl text-gray-100 mb-6`},m={class:`text-2xl md:text-3xl text-white mb-8`},h={class:`row justify-center`},g={class:`col-lg-8 col-md-12`},_={class:`btn-wrapper flex justify-center`},v=[`href`],y=i({__name:`GalleryView`,setup(i){let y=[{title:`新年好`,css:``,content1:`2026 新年好`,content2:``,content3:``,url:`/Members/ChiSha/assets/img/F.jpg`},{title:`合影`,css:``,content1:`小情侣`,content2:``,content3:``,url:`/Members/B-Smooth/assets/img/1.jpg`}];function b(e){return e===y.length-1?`#footer`:`#p`+(e+1)}function x(e){return e===y.length-1?`完`:`继续`}return(i,S)=>(r(),s(`div`,null,[(r(),s(o,null,e(y,(e,r)=>a(`div`,{key:r,id:`p`+r,class:`page-header counter-area header-filter min-h-screen flex items-center justify-center relative overflow-hidden`,style:t({backgroundImage:`url('${e.url}')`,backgroundSize:`cover`,backgroundPosition:`center`,backgroundRepeat:`no-repeat`})},[S[0]||=a(`div`,{class:`absolute inset-0 bg-black/40 z-0`},null,-1),a(`div`,l,[a(`div`,u,[a(`h1`,d,n(e.title),1),a(`h3`,f,n(e.content1),1),a(`h4`,p,n(e.content2),1),a(`h3`,m,n(e.content3),1),a(`div`,h,[a(`div`,g,[a(`div`,_,[a(`a`,{href:b(r),class:`btn-primary btn-round ashow bg-white text-gray-900 hover:bg-gray-100 font-medium px-6 py-3 rounded-full transition-all duration-300 shadow-lg`},n(x(r)),9,v)])])])])])],12,c)),64))]))}});export{y as default};
\ No newline at end of file
diff --git a/TempLate/assets/GalleryView-DkA0x31o.js b/TempLate/assets/GalleryView-DkA0x31o.js
new file mode 100644
index 00000000..34df69bf
--- /dev/null
+++ b/TempLate/assets/GalleryView-DkA0x31o.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,l as o,p as s}from"./index-BM-LFFI_.js";var c=[`id`],l={class:`container mx-auto px-4 sm:px-6 lg:px-8 relative z-10`},u={class:`content-center brand text-center`},d={class:`h1-seo text-5xl md:text-7xl font-extrabold text-white mb-6`},f={class:`text-2xl md:text-3xl text-white mb-4`},p={class:`description text-xl md:text-2xl text-gray-100 mb-6`},m={class:`text-2xl md:text-3xl text-white mb-8`},h={class:`row justify-center`},g={class:`col-lg-8 col-md-12`},_={class:`btn-wrapper flex justify-center`},v=[`href`],y=i({__name:`GalleryView`,setup(i){let y=[{title:`新年好`,css:``,content1:`2026 新年好`,content2:``,content3:``,url:`/Members/ChiSha/assets/img/F.jpg`},{title:`合影`,css:``,content1:`小情侣`,content2:``,content3:``,url:`/Members/B-Smooth/assets/img/1.jpg`}];function b(e){return e===y.length-1?`#footer`:`#p`+(e+1)}function x(e){return e===y.length-1?`完`:`继续`}return(i,S)=>(r(),s(`div`,null,[(r(),s(o,null,e(y,(e,r)=>a(`div`,{key:r,id:`p`+r,class:`page-header counter-area header-filter min-h-screen flex items-center justify-center relative overflow-hidden`,style:t({backgroundImage:`url('${e.url}')`,backgroundSize:`cover`,backgroundPosition:`center`,backgroundRepeat:`no-repeat`})},[S[0]||=a(`div`,{class:`absolute inset-0 bg-black/40 z-0`},null,-1),a(`div`,l,[a(`div`,u,[a(`h1`,d,n(e.title),1),a(`h3`,f,n(e.content1),1),a(`h4`,p,n(e.content2),1),a(`h3`,m,n(e.content3),1),a(`div`,h,[a(`div`,g,[a(`div`,_,[a(`a`,{href:b(r),class:`btn-primary btn-round ashow bg-white text-gray-900 hover:bg-gray-100 font-medium px-6 py-3 rounded-full transition-all duration-300 shadow-lg`},n(x(r)),9,v)])])])])])],12,c)),64))]))}});export{y as default};
\ No newline at end of file
diff --git a/TempLate/assets/GalleryView-lb7B3sdx.js b/TempLate/assets/GalleryView-lb7B3sdx.js
new file mode 100644
index 00000000..b089d07d
--- /dev/null
+++ b/TempLate/assets/GalleryView-lb7B3sdx.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,l as o,p as s}from"./index-UfMysbwD.js";var c=[`id`],l={class:`container mx-auto px-4 sm:px-6 lg:px-8 relative z-10`},u={class:`content-center brand text-center`},d={class:`h1-seo text-5xl md:text-7xl font-extrabold text-white mb-6`},f={class:`text-2xl md:text-3xl text-white mb-4`},p={class:`description text-xl md:text-2xl text-gray-100 mb-6`},m={class:`text-2xl md:text-3xl text-white mb-8`},h={class:`row justify-center`},g={class:`col-lg-8 col-md-12`},_={class:`btn-wrapper flex justify-center`},v=[`href`],y=i({__name:`GalleryView`,setup(i){let y=[{title:`新年好`,css:``,content1:`2026 新年好`,content2:``,content3:``,url:`/Members/ChiSha/assets/img/F.jpg`},{title:`合影`,css:``,content1:`小情侣`,content2:``,content3:``,url:`/Members/B-Smooth/assets/img/1.jpg`}];function b(e){return e===y.length-1?`#footer`:`#p`+(e+1)}function x(e){return e===y.length-1?`完`:`继续`}return(i,S)=>(r(),s(`div`,null,[(r(),s(o,null,e(y,(e,r)=>a(`div`,{key:r,id:`p`+r,class:`page-header counter-area header-filter min-h-screen flex items-center justify-center relative overflow-hidden`,style:t({backgroundImage:`url('${e.url}')`,backgroundSize:`cover`,backgroundPosition:`center`,backgroundRepeat:`no-repeat`})},[S[0]||=a(`div`,{class:`absolute inset-0 bg-black/40 z-0`},null,-1),a(`div`,l,[a(`div`,u,[a(`h1`,d,n(e.title),1),a(`h3`,f,n(e.content1),1),a(`h4`,p,n(e.content2),1),a(`h3`,m,n(e.content3),1),a(`div`,h,[a(`div`,g,[a(`div`,_,[a(`a`,{href:b(r),class:`btn-primary btn-round ashow bg-white text-gray-900 hover:bg-gray-100 font-medium px-6 py-3 rounded-full transition-all duration-300 shadow-lg`},n(x(r)),9,v)])])])])])],12,c)),64))]))}});export{y as default};
\ No newline at end of file
diff --git a/TempLate/assets/GalleryView-mN5CsqUz.js b/TempLate/assets/GalleryView-mN5CsqUz.js
new file mode 100644
index 00000000..173ec9fe
--- /dev/null
+++ b/TempLate/assets/GalleryView-mN5CsqUz.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,l as o,p as s}from"./index-CMhybB9x.js";var c=[`id`],l={class:`container mx-auto px-4 sm:px-6 lg:px-8 relative z-10`},u={class:`content-center brand text-center`},d={class:`h1-seo text-5xl md:text-7xl font-extrabold text-white mb-6`},f={class:`text-2xl md:text-3xl text-white mb-4`},p={class:`description text-xl md:text-2xl text-gray-100 mb-6`},m={class:`text-2xl md:text-3xl text-white mb-8`},h={class:`row justify-center`},g={class:`col-lg-8 col-md-12`},_={class:`btn-wrapper flex justify-center`},v=[`href`],y=i({__name:`GalleryView`,setup(i){let y=[{title:`新年好`,css:``,content1:`2026 新年好`,content2:``,content3:``,url:`/Members/ChiSha/assets/img/F.jpg`},{title:`合影`,css:``,content1:`小情侣`,content2:``,content3:``,url:`/Members/B-Smooth/assets/img/1.jpg`}];function b(e){return e===y.length-1?`#footer`:`#p`+(e+1)}function x(e){return e===y.length-1?`完`:`继续`}return(i,S)=>(r(),s(`div`,null,[(r(),s(o,null,e(y,(e,r)=>a(`div`,{key:r,id:`p`+r,class:`page-header counter-area header-filter min-h-screen flex items-center justify-center relative overflow-hidden`,style:t({backgroundImage:`url('${e.url}')`,backgroundSize:`cover`,backgroundPosition:`center`,backgroundRepeat:`no-repeat`})},[S[0]||=a(`div`,{class:`absolute inset-0 bg-black/40 z-0`},null,-1),a(`div`,l,[a(`div`,u,[a(`h1`,d,n(e.title),1),a(`h3`,f,n(e.content1),1),a(`h4`,p,n(e.content2),1),a(`h3`,m,n(e.content3),1),a(`div`,h,[a(`div`,g,[a(`div`,_,[a(`a`,{href:b(r),class:`btn-primary btn-round ashow bg-white text-gray-900 hover:bg-gray-100 font-medium px-6 py-3 rounded-full transition-all duration-300 shadow-lg`},n(x(r)),9,v)])])])])])],12,c)),64))]))}});export{y as default};
\ No newline at end of file
diff --git a/TempLate/assets/HomeView-BxGAqNiv.js b/TempLate/assets/HomeView-BxGAqNiv.js
new file mode 100644
index 00000000..5b9ec0d2
--- /dev/null
+++ b/TempLate/assets/HomeView-BxGAqNiv.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,b as a,c as ee,d as o,f as te,h as s,j as c,k as l,l as u,m as d,p as f,t as ne,u as p,y as re}from"./index-CUry87of.js";import"./Ying_Right-BWic5Lsp.js";var ie={class:`w-full h-[100vh] overflow-hidden flex relative z-[1] bg-cover bg-center bg-no-repeat lg:-mt-16`,style:{"min-height":`760px`,"background-image":`url('/assets/img/Heroes/FUBG_R.png')`}},ae={class:`flex-1 flex flex-col z-10 xl:px-[60px] 2xl:px-[174px] px-[16px] pl-[16px]`},oe={class:`flex-1 flex flex-col items-left justify-center text-[32px] 2xl:text-[50px] md:text-[42px] font-semibold`},se={class:`hero-actions mt-[40px] sm:mt-[60px] md:mt-[90px] px-[16px] sm:px-[32px] md:px-0 flex flex-col sm:flex-row gap-[10px] sm:gap-[12px] md:flex-row`},ce={class:`hero-stats 2xl:h-[198px] h-[100px] sm:h-[120px] pr-[16px] sm:pr-[30px] 2xl:pr-[174px] xl:pr-[100px] flex justify-between 2xl:justify-start md:justify-start md:gap-[80px] lg:gap-[160px] 2xl:gap-[267px] items-top hidden md:flex`},le={class:`flex gap-[3px] sm:gap-1 scale-[0.65] sm:scale-[0.8] 2xl:scale-[1] origin-left`},m={class:`flex gap-[3px] sm:gap-1 scale-[0.65] sm:scale-[0.8] 2xl:scale-[1] origin-left`},h={class:`relative py-24 bg-gray-950 dark:bg-black overflow-hidden transition-colors duration-300`},g={class:`relative z-10 container mx-auto lg:max-w-[75%] px-6`},_={class:`grid grid-cols-1 md:grid-cols-3 gap-px bg-white/10 rounded-2xl overflow-hidden`},v={class:`text-6xl font-black text-white/10 group-hover:text-violet-500/30 transition-colors duration-500 leading-none`},y={class:`text-white text-xl font-bold mb-3`},b={class:`text-gray-500 text-sm leading-relaxed`},x={class:`relative py-24 bg-white dark:bg-slate-900 overflow-hidden transition-colors duration-300`},S={class:`relative z-10 container mx-auto lg:max-w-[75%] px-6`},C={class:`grid grid-cols-1 lg:grid-cols-2 gap-16 items-center`},w={class:`reveal flex flex-wrap gap-3 items-start content-start`,style:{"transition-delay":`300ms`}},T={class:`relative py-24 overflow-hidden duration-300 bg-white`},E={class:`relative z-10 container mx-auto lg:max-w-[60%] px-6 text-center`},D={class:`grid grid-cols-1 md:grid-cols-3 gap-4 mt-12 mb-12 reveal`,style:{"transition-delay":`200ms`}},O={class:`font-bold text-gray-900 mb-1`},k={class:`text-xs text-gray-500`},A={class:`py-24 px-4 bg-gradient-to-b from-white to-slate-50`},j={class:`max-w-7xl mx-auto`},M={class:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6`},N={class:`flex items-center gap-4 mb-5`},P={class:`w-6 h-6 text-white`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},F=[`d`],I={class:`text-base font-bold text-gray-900`},L={class:`text-xs text-gray-400 font-medium`},R={class:`text-gray-500 text-sm leading-relaxed mb-5 flex-1`},z={class:`flex flex-wrap gap-2 mb-5`},B=[`href`],V={class:`py-20 px-4 bg-gradient-to-b from-slate-50 to-white dark:from-slate-900 dark:to-slate-800 overflow-hidden`},H={class:`max-w-6xl mx-auto text-center mb-16`},U={class:`flex justify-center gap-6 mt-8`},W={class:`text-3xl font-bold text-purple-600 dark:text-purple-400`},ue={class:`text-sm text-gray-500 dark:text-gray-400`},de={class:`relative h-[40vh] md:h-[50vh] overflow-hidden`},fe=[`src`,`alt`],pe={class:`max-w-6xl mx-auto mt-16`},me={class:`grid grid-cols-1 md:grid-cols-3 gap-8`},he={class:`w-6 h-6 text-white`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},ge=[`d`],_e={class:`text-xl font-semibold text-gray-800 dark:text-white mb-2`},ve={class:`text-gray-600 dark:text-gray-400 text-sm`},ye={class:`lg:h-[75vh] w-full bg-[#ffebed]/10 p-[2rem_1rem] relative mb-32`},be={class:`relative max-w-7xl w-full mx-auto z-20`},xe={class:`p-4 bg-[#ffebed]/20 border-b border-[#d1c4ce]/30 mb-6 rounded-t-lg`},Se={class:`flex flex-wrap justify-between items-center gap-3`},Ce={class:`flex items-center gap-2`},we={class:`flex flex-wrap gap-2`},Te=[`onClick`],Ee={class:`flex flex-col lg:flex-row gap-8`},De={class:`lg:w-2/3 relative flex justify-center items-center`},Oe={id:`imageContainer`,class:`w-full max-w-[850px] lg:h-[700px] sm:h-[500px] xs:h-[300px] aspect-[17/22] overflow-hidden relative mx-auto p-4 border-0 rounded-lg`},ke={key:0,class:`absolute inset-0 flex items-center justify-center bg-[#ffebed]/20 z-50`},Ae=[`src`,`alt`],je={class:`lg:w-1/3 flex flex-col justify-center text-[#491400] bg-[#ffebed]/10 p-6 rounded-lg`},Me={class:`space-y-3 mb-6`},Ne={class:`font-semibold text-[#491400] text-sm`},Pe={class:`text-[#678187]/80 text-xs mt-1`},Fe={class:`py-24 px-4 bg-white border-t border-gray-100`},Ie={class:`max-w-7xl mx-auto`},Le={class:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-5`},Re=[`src`,`alt`],ze={class:`flex flex-col min-w-0`},Be={class:`font-semibold text-base text-gray-800 truncate`},Ve={class:`text-sm text-gray-400 truncate mt-1`},He={class:`py-16 px-4 border-t border-gray-100`},Ue={class:`max-w-5xl mx-auto`},We={class:`grid grid-cols-2 sm:grid-cols-3 md:grid-cols-6 gap-x-6 gap-y-5`},Ge={class:`text-sm font-semibold text-gray-500 hover:text-purple-600 transition-colors cursor-default tracking-wide`},G=i({__name:`HomeView`,setup(i){let G=ne();function Ke(e){G.push(e)}let qe=[{idx:0,val:0,dur:.026242368233221722},{idx:1,val:7,dur:.029718667678514322},{idx:2,val:3,dur:.025401492287061424},{idx:3,val:8,dur:.03088231871236644},{idx:4,val:5,dur:.031675451149336446},{idx:5,val:0,dur:.03497610376846389},{idx:6,val:9,dur:.030530656690159304},{idx:7,val:2,dur:.02840509640985139}],Je=[{idx:0,val:0,dur:.02627530204186018},{idx:1,val:0,dur:.03200964712168997},{idx:2,val:0,dur:.03464767830776408},{idx:3,val:0,dur:.030824110890535515},{idx:4,val:3,dur:.02593196506159544},{idx:5,val:8,dur:.03374560321012195},{idx:6,val:9,dur:.03213503227905559},{idx:7,val:9,dur:.03463823789640608}],Ye=[{title:`和而不同`,icon:`fa-code`,iconBg:`bg-violet-500/10 border border-violet-500/20 text-violet-400`,lineColor:`bg-violet-400`,desc:`尊重每一位开发者独特的风格与思路,在差异中寻求最优解。`},{title:`创新为主`,icon:`fa-rocket`,iconBg:`bg-sky-500/10 border border-sky-500/20 text-sky-400`,lineColor:`bg-sky-400`,desc:`不满足于已知的边界,持续叩响未知领域的大门,让每一行代码都充满可能。`},{title:`以人为本`,icon:`fa-users`,iconBg:`bg-emerald-500/10 border border-emerald-500/20 text-emerald-400`,lineColor:`bg-emerald-400`,desc:`技术服务于人,成长成就彼此,让每个人都能在这里找到属于自己的位置。`}],Xe=[{name:`开源`,cls:`border-2 border-gray-900 dark:border-white text-gray-900 dark:text-white`},{name:`协作`,cls:`bg-violet-500 text-white`},{name:`非营利`,cls:`border-2 border-gray-200 dark:border-slate-600 text-gray-400 dark:text-gray-500 font-semibold`},{name:`创新`,cls:`bg-sky-500 text-white`},{name:`年轻`,cls:`border-2 border-gray-200 dark:border-slate-600 text-gray-400 dark:text-gray-500 font-semibold`},{name:`分享`,cls:`border-2 border-gray-900 dark:border-white text-gray-900 dark:text-white`},{name:`成长`,cls:`bg-emerald-500 text-white`},{name:`技术探索`,cls:`border-2 border-gray-200 dark:border-slate-600 text-gray-400 dark:text-gray-500 font-semibold`},{name:`热爱`,cls:`bg-amber-400 text-gray-900`},{name:`GitHub`,cls:`border-2 border-gray-200 dark:border-slate-600 text-gray-400 dark:text-gray-500 font-semibold`},{name:`彼此成就`,cls:`border-2 border-gray-900 dark:border-white text-gray-900 dark:text-white`}],Ze=[{name:`画师`,desc:`用艺术点亮技术世界`,icon:`fa-paint-brush text-violet-500`,iconBg:`bg-violet-100`,card:`border-violet-100 bg-violet-50/50 hover:border-violet-400`},{name:`程序员`,desc:`用代码构建无限可能`,icon:`fa-terminal text-sky-500`,iconBg:`bg-sky-100`,card:`border-sky-100 bg-sky-50/50 hover:border-sky-400`},{name:`测试人员`,desc:`用严谨保障每个细节`,icon:`fa-bug text-emerald-500`,iconBg:`bg-emerald-100`,card:`border-emerald-100 bg-emerald-50/50 hover:border-emerald-400`}],Qe=[{name:`FastProxyX`,sub:`Network Infrastructure`,iconBg:`bg-gradient-to-br from-blue-500 to-cyan-400`,svg:`M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z`,desc:`Python 实现的轻量级 Frp 反向代理工具,支持 TCP 端口转发,体积小巧,配置简单,可无缝嵌入 Python 工程项目。`,tags:[{name:`Python`,cls:`bg-blue-50 text-blue-600 border-blue-100`},{name:`TCP`,cls:`bg-emerald-50 text-emerald-600 border-emerald-100`},{name:`网络代理`,cls:`bg-slate-50 text-slate-600 border-slate-200`}],link:`https://github.com/GVSDS/FastProxyX`},{name:`ResourceShare`,sub:`Web Performance`,iconBg:`bg-gradient-to-br from-orange-500 to-yellow-400`,svg:`M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4`,desc:`高性能跨资源共享系统,支持跨 iframe / 页面资源共享、智能缓存与加载顺序控制,全面解决 Web 应用资源管理难题。`,tags:[{name:`JavaScript`,cls:`bg-yellow-50 text-yellow-600 border-yellow-100`},{name:`资源管理`,cls:`bg-cyan-50 text-cyan-600 border-cyan-100`},{name:`Web`,cls:`bg-slate-50 text-slate-600 border-slate-200`}],link:`https://github.com/GVSDS/ResourceShare`},{name:`PyFabricLoader`,sub:`Game Modding`,iconBg:`bg-gradient-to-br from-green-500 to-emerald-400`,svg:`M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4`,desc:`Minecraft Fabric 的 Python 模组加载器,基于 Jython 实现,支持 Python 模组开发,兼容 1.18.1 – 1.21.10 全版本区间。`,tags:[{name:`Python`,cls:`bg-green-50 text-green-600 border-green-100`},{name:`Minecraft`,cls:`bg-red-50 text-red-600 border-red-100`},{name:`Java`,cls:`bg-indigo-50 text-indigo-600 border-indigo-100`}],link:`https://github.com/GVSDS/PyFabricLoader`},{name:`TransPyC`,sub:`Compiler Toolchain`,iconBg:`bg-gradient-to-br from-red-500 to-pink-400`,svg:`M8 7h12m0 0l-4-4m4 4l-4 4m0 6H4m0 0l4 4m-4-4l4-4`,desc:`作为自制语言 "Viper" 的编译器,其以类似 Python 的语法进行 AOT,性能和 C 相当,但可读性更高。`,tags:[{name:`Python`,cls:`bg-blue-50 text-blue-600 border-blue-100`},{name:`Viper`,cls:`bg-slate-100 text-slate-600 border-slate-200`},{name:`编译器`,cls:`bg-orange-50 text-orange-600 border-orange-100`}],link:`https://github.com/GVSDS/TransPyC`},{name:`CreateE SpaceCCL`,sub:`Spatial Computing`,iconBg:`bg-gradient-to-br from-violet-500 to-purple-400`,svg:`M19.428 15.428a2 2 0 00-1.022-.547l-2.387-.477a6 6 0 00-3.86.517l-.318.158a6 6 0 01-3.86.517L6.05 15.21a2 2 0 00-1.806.547M8 4h8l-1 1v5.172a2 2 0 00.586 1.414l5 5c1.26 1.26.367 3.414-1.415 3.414H4.828c-1.782 0-2.674-2.154-1.414-3.414l5-5A2 2 0 009 10.172V5L8 4z`,desc:`专注于空间计算与创意工程的前沿技术探索项目,融合工程实践与创意思维,持续拓展技术边界。`,tags:[{name:`空间计算`,cls:`bg-violet-50 text-violet-600 border-violet-100`},{name:`创意工程`,cls:`bg-teal-50 text-teal-600 border-teal-100`}],link:`https://github.com/GVSDS/CreateE_SpaceCCL`}],$e=[{num:`50+`,label:`设计作品`},{num:`5年+`,label:`美工画龄`},{num:`100%`,label:`客户满意`}],et=[`/Members/B-Smooth/assets/img/1.jpg`,`/Members/B-Smooth/assets/img/2.jpg`,`/Members/B-Smooth/assets/img/3.jpg`,`/Members/B-Smooth/assets/img/4.jpg`,`/Members/B-Smooth/assets/img/5.jpg`,`/Members/B-Smooth/assets/img/6.jpg`,`/Members/YuanZe/assets/img/A.jpg`,`/Members/YuanZe/assets/img/B.jpg`,`/Members/YuanZe/assets/img/C.jpg`,`/Members/YuanZe/assets/img/D.png`,`/Members/YuanZe/assets/img/E.jpg`,`/Members/YuanZe/assets/img/F.jpg`],K=l(null),q=0,tt=[{name:`UI/UX设计`,desc:`打造直观、美观的用户界面,提升用户体验与产品价值`,iconBg:`bg-gradient-to-br from-pink-500 to-rose-500`,svg:`M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z`},{name:`个人艺术`,desc:`来自画师本身独特的艺术风格`,iconBg:`bg-gradient-to-br from-violet-500 to-purple-500`,svg:`M7 21a4 4 0 01-4-4V5a2 2 0 012-2h4a2 2 0 012 2v12a4 4 0 01-4 4zm0 0h12a2 2 0 002-2v-4a2 2 0 00-2-2h-2.343M11 7.343l1.657-1.657a2 2 0 012.828 0l2.829 2.829a2 2 0 010 2.828l-8.486 8.485M7 17h.01`},{name:`3D建模`,desc:`高质量3D模型制作,适用于游戏、动画与产品展示`,iconBg:`bg-gradient-to-br from-cyan-500 to-blue-500`,svg:`M14 10l-2 1m0 0l-2-1m2 1v2.5M20 7l-2 1m2-1l-2-1m2 1v2.5M14 4l-2-1-2 1M4 7l2-1M4 7l2 1M4 7v2.5M12 21l-2-1m2 1l2-1m-2 1v-2.5M6 18l-2-1v-2.5M18 18l2-1v-2.5`}],J=[{id:`1`,label:`初稿1`},{id:`2`,label:`初稿2`},{id:`3`,label:`完稿`},{id:`4`,label:`材质优化`},{id:`5`,label:`背景成图`}],Y=[{icon:`fa-cube`,title:`Furry`,desc:`贴合吉祥物特征的基本合理样式`},{icon:`fa-palette`,title:`画师原话`,desc:`我相信,优秀的画作不仅要有好看的人设,更需要经得起推敲的结构。我致力于在二次元的风格中融入严谨的透视逻辑,同时用富有感染力的色彩传达角色的情绪。`},{icon:`fa-display`,title:`含义`,desc:`银霜是工作室精神的具象化体现。它代表着B-Smooth对画面"凌厉线条"与"清透质感"的追求。是对画师结构理解力的极致考验。`}],X=l(`5`),Z=l(`thumbnail`),Q=l(!1),nt=p(()=>`/assets/img/Mascot/${Z.value===`thumbnail`?`resize`:`original`}/${X.value}.png`),rt=p(()=>`吉祥物海报-${J.find(e=>e.id===X.value)?.label||``}`),it=[{name:`Starfield Studio`,desc:`软件开发子工作室`,img:`/assets/img/Cooperation/what.jpg`},{name:`CodeCrafter Studio`,desc:`代码工匠工作室`,img:`/assets/img/Cooperation/CodeCrafterStudio.jpg`},{name:`May Dev-Community`,desc:`开发者社区`,img:`/assets/img/Cooperation/May.png`},{name:`MHD Community`,desc:`技术社区`,img:`/assets/img/Cooperation/MHD.jpg`},{name:`XINGJI Studio`,desc:`软件开发工作室`,img:`/assets/img/Cooperation/XINGJI.png`},{name:`N.R.C. Plan`,desc:`10 Years 计划项目`,img:`/assets/img/Cooperation/what.jpg`},{name:`Sunny Studio`,desc:`晴天工作室`,img:`/assets/img/Cooperation/SunnyStudio.jpg`},{name:`373 [VP Studio]`,desc:`视频制作工作室`,img:`/assets/img/Cooperation/373.jpg`}],at=[`TermiNexus`,`悠然自得`,`Chindows`,`iamgyc`,`DevZylo`,`Mendelevium`,`红叶鸣秋`,`渊泽`,`B-Smooth`,`羊村哲学家`,`剑来`,`CodeyZhang`,`Markstollr_8651`,`Minecraft_2v`,`Microhard_1724`,`好运莲莲`,`dyjsgwist`,`李`],$=null;function ot(){let e=document.querySelectorAll(`.reveal`);$=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&(e.target.style.opacity=`1`,e.target.style.transform=`translateY(0)`,$?.unobserve(e.target))})},{threshold:.1}),e.forEach(e=>{e.style.opacity=`0`,e.style.transform=`translateY(15px)`,e.style.transition=`opacity 0.5s ease, transform 0.5s ease`,$?.observe(e)})}function st(){let e=K.value;if(!e)return;e.innerHTML+=e.innerHTML;let t=0,n=!1,r=()=>{n||(t-=1.5,Math.abs(t)>=e.scrollWidth/2&&(t=0),e.style.transform=`translateX(${t}px) translateY(-50%)`),q=requestAnimationFrame(r)};e.addEventListener(`mouseenter`,()=>{n=!0}),e.addEventListener(`mouseleave`,()=>{n=!1}),r()}return a(()=>{ot(),st(),document.querySelectorAll(`.M-FlipCard.down`).forEach((e,t)=>{setTimeout(()=>{e.classList.add(`go`)},t*60)})}),re(()=>{cancelAnimationFrame(q),$?.disconnect()}),(i,a)=>(r(),f(`div`,null,[o(`div`,ie,[a[10]||=o(`img`,{src:`/assets/img/Heroes/copyright.png`,alt:``,class:`absolute right-[20px] bottom-[10px] h-[22px] pointer-events-none hidden lg:block opacity-70`,style:{"z-index":`2`}},null,-1),o(`div`,ae,[o(`div`,oe,[a[7]||=d(`你好 2026!\xA0\xA0部署项目:
一站式解决所有项目问题。
结果不佳? 我们补偿!
`,1),o(`div`,se,[o(`a`,{class:`w-full sm:w-fit flex`,href:`/ProJect/Service/Service`,onClick:a[0]||=ee(e=>Ke(`/ProJect/Service/Service`),[`prevent`])},[...a[5]||=[o(`button`,{type:`button`,class:`bg-[#000] w-full h-[44px] sm:h-[48px] 2xl:h-[56px] rounded-[12px] gap-1 py-[15px] pl-[24px] pr-[16px] flex items-center justify-center text-[#fff] hover:bg-[#333] active:scale-95 transition-all duration-150`},[o(`span`,{class:`font-['PT_Sans'] font-bold text-[14px] sm:text-[15px] md:text-[18px] 2xl:text-[20px] leading-none tracking-normal align-middle`},`探索服务`),o(`svg`,{width:`12`,height:`12`,viewBox:`0 0 12 12`,fill:`none`,class:`w-[18px] h-[18px] sm:w-[20px] sm:h-[20px]`,xmlns:`http://www.w3.org/2000/svg`},[o(`path`,{d:`M4.5 9L7.5 6L4.5 3`,stroke:`currentColor`,"stroke-width":`1.33`,"stroke-linecap":`round`,"stroke-linejoin":`round`})])],-1)]]),a[6]||=d(`Github 招贤纳士 `,2)])]),o(`div`,ce,[o(`div`,null,[a[8]||=o(`div`,{class:`font-['DIN_Condensed'] font-bold leading-none tracking-normal uppercase mb-[8px] md:mb-[4px] 2xl:mb-[12px] text-[24px] sm:text-[23px] md:text-[24px] text-[#FFF] opacity-80 [text-shadow:0_2px_8px_rgba(0,0,0,0.6)]`},`Total Code Size (characters)`,-1),o(`div`,le,[(r(),f(u,null,e(qe,e=>o(`div`,{key:`c`+e.idx,class:`M-FlipCard down flip-win bg-bg-primary`,style:t({"--flipduration":e.dur+`s`})},[o(`div`,{class:c([`digital front`,`number`+e.val])},null,2),o(`div`,{class:c([`digital back`,`number`+e.val])},null,2)],4)),64))])]),o(`div`,null,[a[9]||=o(`div`,{class:`font-['DIN_Condensed'] font-bold leading-none tracking-normal uppercase mb-[8px] md:mb-[4px] 2xl:mb-[12px] text-[24px] sm:text-[23px] md:text-[24px] text-[#FFF] opacity-80 [text-shadow:0_2px_8px_rgba(0,0,0,0.6)]`},`Maximum Insurance Amount (CNY)`,-1),o(`div`,m,[(r(),f(u,null,e(Je,e=>o(`div`,{key:`i`+e.idx,class:`M-FlipCard down flip-win bg-bg-primary`,style:t({"--flipduration":e.dur+`s`})},[o(`div`,{class:c([`digital front`,`number`+e.val])},null,2),o(`div`,{class:c([`digital back`,`number`+e.val])},null,2)],4)),64))])])])])]),a[34]||=d(`
银河锋锐 SOFTWARE DEVELOPMENT STUDIO 下一世代的年轻开发团队
Our Belief
每一份对技术的热爱 , 都能汇聚成改变 的力量。
无论你是刚踏入技术领域的新手,还是深耕行业的资深开发者—— 只要怀揣好奇,这里就是你的地方。
技术的力量源于共同探索,成长的价值在于「成就彼此」
`,2),o(`section`,h,[a[12]||=o(`div`,{class:`absolute inset-0 flex items-center justify-center pointer-events-none select-none overflow-hidden`},[o(`span`,{class:`text-[20vw] font-black text-white/[0.02] tracking-widest whitespace-nowrap`},`CORE`)],-1),o(`div`,g,[a[11]||=o(`div`,{class:`flex items-center gap-4 mb-16 reveal`},[o(`div`,{class:`w-8 h-px bg-white/30`}),o(`span`,{class:`text-white/40 text-sm tracking-widest uppercase`},`Our Philosophy`)],-1),o(`div`,_,[(r(),f(u,null,e(Ye,(e,r)=>o(`div`,{key:r,class:`group relative bg-gray-950 dark:bg-black p-8 md:p-10 flex flex-col gap-6 hover:bg-white/5 transition-colors duration-500 reveal`,style:t({transitionDelay:r*150+`ms`})},[o(`div`,v,`0`+n(r+1),1),o(`div`,{class:c([`w-10 h-10 rounded-xl flex items-center justify-center group-hover:bg-violet-500/20 transition-colors duration-300`,e.iconBg])},[o(`i`,{class:c([`fa`,e.icon])},null,2)],2),o(`div`,null,[o(`h4`,y,n(e.title),1),o(`p`,b,n(e.desc),1)]),o(`div`,{class:c([`mt-auto w-0 h-px group-hover:w-full transition-all duration-700`,e.lineColor])},null,2)],4)),64))])])]),o(`section`,x,[a[14]||=o(`div`,{class:`absolute right-0 top-0 h-full w-1/2 bg-gray-50 dark:bg-slate-800/50 clip-diagonal pointer-events-none`,style:{"clip-path":`polygon(15% 0, 100% 0, 100% 100%, 0% 100%)`}},null,-1),o(`div`,S,[o(`div`,C,[a[13]||=d(` 自成立以来,始终以开源精神驱动前行,在 GitHub 等平台分享项目、文章与经验,让技术的价值触达更多人。
我们不追逐商业利益,通过编程兼职保障基本运转,让这里永远是一片纯粹的技术沃土。
这里不只是写代码的地方,更是结识同好、分享日常的温暖港湾。
`,1),o(`div`,w,[(r(),f(u,null,e(Xe,(e,t)=>o(`span`,{key:t,class:c([e.cls,`px-5 py-3 rounded-full font-bold text-lg`])},n(e.name),3)),64))])])])]),o(`section`,T,[a[17]||=o(`div`,{class:`absolute left-0 top-0 w-[15%] h-full z-0 pointer-events-none c-furry`},[o(`img`,{src:`/assets/img/Background/ChiSha_Left.png`,alt:`左侧吉祥物`,class:`w-full h-full object-contain object-left opacity-60`})],-1),a[18]||=o(`div`,{class:`absolute right-0 top-0 w-[15%] h-full z-0 pointer-events-none c-furry`},[o(`img`,{src:`/assets/img/Background/Ying_Right.png`,alt:`右侧吉祥物`,class:`w-full h-full object-contain object-right opacity-60`})],-1),o(`div`,E,[a[15]||=d(`Join Us 期待与你同行 我们欢迎画师 、 程序员 、 测试人员 , 以及所有愿意与我们一起探索技术边界的你。
`,1),o(`div`,D,[(r(),f(u,null,e(Ze,(e,t)=>o(`div`,{key:t,class:c([e.card,`group p-6 rounded-2xl border-2 hover:scale-105 transition-all duration-300 cursor-default`])},[o(`div`,{class:c([`w-12 h-12 rounded-xl flex items-center justify-center mx-auto mb-3 group-hover:bg-violet-200 transition-colors`,e.iconBg])},[o(`i`,{class:c([`fa text-xl`,e.icon])},null,2)],2),o(`h5`,O,n(e.name),1),o(`p`,k,n(e.desc),1)],2)),64))]),a[16]||=d(`发送申请邮件 📮 hr@gvsds.com · 我们会尽快回复你的申请
`,1)])]),o(`section`,A,[o(`div`,j,[a[21]||=o(`div`,{class:`text-center mb-16`},[o(`span`,{class:`inline-block px-4 py-1.5 bg-purple-50 text-purple-700 text-xs font-semibold tracking-widest uppercase rounded-full border border-purple-100 mb-4`},`开源成果`),o(`h2`,{class:`text-4xl md:text-5xl font-bold text-gray-900 mb-4 tracking-tight`},`我们做过什么`),o(`p`,{class:`text-gray-500 text-lg max-w-xl mx-auto`},`沉淀技术,开放共享 — 探索我们的核心开源项目与工程实践`)],-1),o(`div`,M,[(r(),f(u,null,e(Qe,(t,i)=>o(`div`,{key:i,class:`group bg-white rounded-2xl p-7 border border-gray-100 shadow-sm hover:shadow-lg hover:-translate-y-1 transition-all duration-300 flex flex-col`},[o(`div`,N,[o(`div`,{class:c([`w-12 h-12 rounded-xl flex items-center justify-center shadow-md flex-shrink-0`,t.iconBg])},[(r(),f(`svg`,P,[o(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:t.svg},null,8,F)]))],2),o(`div`,null,[o(`h3`,I,n(t.name),1),o(`span`,L,n(t.sub),1)])]),o(`p`,R,n(t.desc),1),o(`div`,z,[(r(!0),f(u,null,e(t.tags,(e,t)=>(r(),f(`span`,{key:t,class:c([e.cls,`px-2.5 py-1 text-xs font-medium rounded-md border`])},n(e.name),3))),128))]),o(`a`,{href:t.link,target:`_blank`,class:`inline-flex items-center gap-1.5 text-purple-600 hover:text-purple-500 text-sm font-medium group-hover:gap-2.5 transition-all duration-200`},[...a[19]||=[s(` 查看项目 `,-1),o(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[o(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14`})],-1)]],8,B)])),64)),a[20]||=d(`更多开源项目 持续构建中 — 探索我们在 GitHub 上的完整工程仓库
访问 GitHub `,1)])])]),o(`section`,V,[o(`div`,H,[a[22]||=o(`h2`,{class:`text-4xl md:text-5xl font-bold text-gray-800 dark:text-white mb-6`},`美术设计`,-1),a[23]||=o(`p`,{class:`text-gray-600 dark:text-gray-400 text-lg max-w-2xl mx-auto leading-relaxed`},` 我们拥有专业的美术设计团队,涵盖UI/UX设计、品牌视觉、插画创作、3D建模等多个领域。每一件作品都凝聚着创意与匠心,为您的项目注入独特的视觉魅力。 `,-1),o(`div`,U,[(r(),f(u,null,e($e,(e,t)=>o(`div`,{key:t,class:`text-center`},[o(`div`,W,n(e.num),1),o(`div`,ue,n(e.label),1)])),64))])]),o(`div`,de,[a[24]||=o(`div`,{class:`absolute left-0 top-0 bottom-0 w-24 pointer-events-none bg-gradient-to-r from-white to-transparent dark:from-slate-800 dark:to-transparent z-10`},null,-1),a[25]||=o(`div`,{class:`absolute right-0 top-0 bottom-0 w-24 pointer-events-none bg-gradient-to-l from-white to-transparent dark:from-slate-800 dark:to-transparent z-10`},null,-1),o(`div`,{id:`carousel-track`,ref_key:`carouselTrack`,ref:K,class:`flex gap-6 absolute top-1/2`,style:{transform:`translateY(-50%)`}},[(r(),f(u,null,e(et,(e,t)=>o(`div`,{key:t,class:`carousel-item flex-shrink-0 w-[35vh] h-[35vh] md:w-[40vh] md:h-[40vh] rounded-xl overflow-hidden shadow-lg bg-white dark:bg-slate-700`},[o(`img`,{src:e,alt:`Art `+(t+1),class:`w-full h-full object-contain hover:scale-110 transition-transform duration-500`},null,8,fe)])),64))],512)]),o(`div`,pe,[o(`div`,me,[(r(),f(u,null,e(tt,(e,t)=>o(`div`,{key:t,class:`bg-white dark:bg-slate-800 p-6 rounded-2xl border border-gray-200 dark:border-slate-700 shadow-sm`},[o(`div`,{class:c([`w-12 h-12 rounded-xl flex items-center justify-center mb-4`,e.iconBg])},[(r(),f(`svg`,he,[o(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:e.svg},null,8,ge)]))],2),o(`h3`,_e,n(e.name),1),o(`p`,ve,n(e.desc),1)])),64))])])]),o(`section`,ye,[o(`div`,be,[o(`div`,xe,[o(`div`,Se,[o(`div`,Ce,[a[28]||=o(`span`,{class:`text-[#491400] font-medium text-sm`},`查看模式:`,-1),o(`button`,{class:c([`px-3 py-1.5 text-sm rounded-md transition-all duration-300`,Z.value===`thumbnail`?`bg-[#678187] text-white`:`bg-[#d1c4ce] text-[#491400] hover:bg-[#d1c4ce]/90`]),onClick:a[1]||=e=>Z.value=`thumbnail`},[...a[26]||=[o(`i`,{class:`fa-solid fa-image mr-1`},null,-1),s(`缩略图 `,-1)]],2),o(`button`,{class:c([`px-3 py-1.5 text-sm rounded-md transition-all duration-300`,Z.value===`original`?`bg-[#678187] text-white`:`bg-[#d1c4ce] text-[#491400] hover:bg-[#d1c4ce]/90`]),onClick:a[2]||=e=>Z.value=`original`},[...a[27]||=[o(`i`,{class:`fa-solid fa-image mr-1`},null,-1),s(`原图 `,-1)]],2)]),o(`div`,we,[(r(),f(u,null,e(J,(e,t)=>o(`button`,{key:t,class:c([`px-2.5 py-1.5 text-sm rounded-md transition-all duration-300`,X.value===e.id?`bg-[#678187] text-white`:`bg-[#d1c4ce] text-[#491400] hover:bg-[#d1c4ce]/90`]),onClick:t=>X.value=e.id},n(e.label),11,Te)),64))])])]),o(`div`,Ee,[o(`div`,De,[o(`div`,Oe,[Q.value?(r(),f(`div`,ke,[...a[29]||=[o(`div`,{class:`w-10 h-10 border-4 border-[#d1c4ce] border-t-4 border-t-[#678187] rounded-full animate-spin`},null,-1)]])):te(``,!0),o(`img`,{src:nt.value,alt:rt.value,class:`w-full h-full object-contain mx-auto my-0 block`,onLoad:a[3]||=e=>Q.value=!1,onError:a[4]||=e=>Q.value=!1},null,40,Ae)])]),o(`div`,je,[a[30]||=d(`
Silver Frost · Wind Fiend 工作室吉祥物 银霜 · 风獠
`,3),o(`div`,Me,[(r(),f(u,null,e(Y,(e,t)=>o(`div`,{key:t,class:`flex items-start gap-3`},[o(`i`,{class:c([`fa-solid text-[#491400] mt-1 text-sm`,e.icon])},null,2),o(`div`,null,[o(`h4`,Ne,n(e.title),1),o(`p`,Pe,n(e.desc),1)])])),64))]),a[31]||=o(`div`,{class:`mt-auto pt-4 border-t border-[#d1c4ce]/50`},[o(`p`,{class:`text-[#678187]/70 text-xs`},`© 2025 Silver Frost · Wind Fiend · 版权归品牌方(组织)所有,作品权属原画师 B-Smooth,任何第三方未授权窃图皆为违法行为。`)],-1)])])])]),o(`section`,Fe,[o(`div`,Ie,[a[32]||=o(`div`,{class:`text-center mb-14`},[o(`span`,{class:`inline-block px-5 py-2 bg-slate-50 text-slate-600 text-sm font-semibold tracking-widest uppercase rounded-full border border-slate-200 mb-5`},`战略合作`),o(`h2`,{class:`text-3xl md:text-4xl font-bold text-gray-900 mb-3 tracking-tight`},`值得信赖的技术合作伙伴`),o(`p`,{class:`text-gray-400 text-base`},`携手同行,共建技术生态`)],-1),o(`div`,Le,[(r(),f(u,null,e(it,(e,t)=>o(`div`,{key:t,class:`group flex items-center gap-5 bg-white p-5 rounded-xl border border-gray-100 shadow-sm hover:shadow-md hover:border-purple-200 transition-all duration-300`},[o(`img`,{src:e.img,alt:e.name,class:`w-16 h-16 rounded-lg object-cover shadow-sm flex-shrink-0 ring-1 ring-gray-100`},null,8,Re),o(`div`,ze,[o(`span`,Be,n(e.name),1),o(`span`,Ve,n(e.desc),1)])])),64))])])]),o(`section`,He,[o(`div`,Ue,[a[33]||=d(`
`,2),o(`div`,We,[(r(),f(u,null,e(at,(e,t)=>o(`div`,{key:t,class:`text-center`},[o(`span`,Ge,n(e),1)])),64))])])]),a[35]||=d(`Studio 不仅仅是代码。 GVSDS 是一个汇聚了设计师、开发者和程序员的工作室。我们拒绝平庸的模板,致力于为合作者打造独一无二的体验。
Contact support@gvsds.com
+86 182 2215 2539
`,1)]))}});export{G as default};
\ No newline at end of file
diff --git a/TempLate/assets/IntegrityReportView-CF0mFL5h.js b/TempLate/assets/IntegrityReportView-CF0mFL5h.js
new file mode 100644
index 00000000..0cada61d
--- /dev/null
+++ b/TempLate/assets/IntegrityReportView-CF0mFL5h.js
@@ -0,0 +1 @@
+import{C as e,D as t,N as n,O as r,S as i,T as a,_ as o,a as s,c as ee,d as c,f as l,h as u,i as d,k as f,l as p,m,o as h,p as g,r as te,s as _,u as ne,y as re}from"./index-CUry87of.js";import{t as v}from"./_plugin-vue_export-helper-BDNMzG2s.js";var ie={class:`bg-gray-50 font-sans text-gray-800 min-h-screen flex flex-col`},ae={class:`flex-grow pt-24 pb-16 px-4 sm:px-6 lg:px-8 max-w-7xl mx-auto w-full`},oe={id:`terms-section`,class:`mb-8 bg-white rounded-lg card-shadow p-6 file-corner slide-up`},se={class:`flex items-center`},ce={key:0,id:`countdown`,class:`mt-4 text-sm text-gray-500`},le={id:`countdown-timer`,class:`font-medium`},ue={key:1,id:`countdown`,class:`mt-4 text-sm text-gray-500`},de=[`disabled`],fe={id:`report-form`,class:`space-y-8`},pe={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`},me={class:`flex space-x-6`},y={class:`inline-flex items-center`},b={class:`inline-flex items-center`},x={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.1s`}},S={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.2s`}},C={id:`persons-container`},w=[`onClick`],T={class:`mb-3`},E=[`onUpdate:modelValue`],D={class:`mb-3`},O=[`onUpdate:modelValue`],k={class:`mb-3`},A=[`onUpdate:modelValue`],j={class:`mb-3`},M=[`onUpdate:modelValue`],N=[`onUpdate:modelValue`],P={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.3s`}},F={id:`departments-container`,class:`flex flex-wrap gap-2`},I=[`onUpdate:modelValue`],L=[`value`],R=[`onClick`],z={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.4s`}},he={id:`organizations-container`},ge=[`onClick`],_e={class:`mb-3`},ve=[`onUpdate:modelValue`],ye={class:`mb-3`},be=[`onUpdate:modelValue`],xe={class:`mb-3`},Se=[`onUpdate:modelValue`],Ce=[`onUpdate:modelValue`],we={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.5s`}},Te={id:`report-types-container`,class:`flex flex-wrap gap-2`},Ee=[`onUpdate:modelValue`],De=[`value`],Oe=[`onClick`],ke={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.6s`}},Ae={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.7s`}},je={class:`bg-white rounded-lg p-6 max-w-md w-full mx-4 scale-in`},Me={class:`mt-6 flex justify-end space-x-3`},B=v(o({__name:`IntegrityReportView`,setup(o){let v=f(!1),B=f(10),Ne=ne(()=>v.value&&B.value===0),V=f(!1),H=f(`anonymous`),U=f(``),W=f(``),G=f(``),K=f(!1),q=null;a(v,e=>{e?(B.value=10,q&&clearInterval(q),q=setInterval(()=>{B.value--,B.value<=0&&q&&clearInterval(q)},1e3)):(B.value=10,q&&clearInterval(q))});function Pe(){V.value=!0}let J=r([{name:``,id:``,contacts:``,address:``,website:``}]);function Fe(){J.push({name:``,id:``,contacts:``,address:``,website:``})}function Ie(e){J.length>1?J.splice(e,1):alert(`至少需要填写一个被举报人信息`)}let Le=[{value:`engineering`,label:`工程部`},{value:`design`,label:`美工部`},{value:`operation`,label:`运营部`},{value:`testing`,label:`测试部`},{value:`administration`,label:`行政部`},{value:`hr`,label:`人事部`},{value:`finance`,label:`财务部`},{value:`marketing`,label:`营销部`}],Y=r([{value:``}]);function X(){Y.push({value:``})}let Z=r([{name:``,icp:``,contact:``,notes:``}]);function Re(){Z.push({name:``,icp:``,contact:``,notes:``})}let ze=[{value:`bribery`,label:`收受贿赂`},{value:`bullying`,label:`员工霸凌`},{value:`verbal-abuse`,label:`言语咒骂`},{value:`crisis-neglect`,label:`危机未处理`},{value:`theft`,label:`窃取机密`},{value:`espionage`,label:`间谍`},{value:`political-affiliation`,label:`私通党派`},{value:`indecent-content`,label:`公开场合不雅图片、视频`}],Q=r([{value:``}]);function Be(){Q.push({value:``})}function $(e,t){e.splice(t,1)}function Ve(){if(!U.value.trim()){alert(`请填写举报标题`);return}if(!W.value.trim()){alert(`请填写举报内容`);return}if(!G.value.trim()){alert(`请填写您的邮箱地址,以便我们反馈处理结果`);return}if(Q.filter(e=>e.value!==``).length===0){alert(`请至少选择一种举报类型`);return}K.value=!0}function He(){K.value=!1,setTimeout(()=>{alert(`举报提交成功!我们将尽快处理您的举报,并通过您提供的邮箱反馈处理结果。感谢您的监督!`)},500)}return re(()=>{q&&clearInterval(q)}),(r,a)=>(i(),g(`div`,ie,[c(`main`,ae,[t(c(`div`,oe,[a[11]||=m(`举报条款与声明 1. 举报人应当如实提供被举报人的有关情况和举报材料,不得捏造、歪曲事实,不得诬告、陷害他人。
2. 对于实名举报,我们将对举报人信息严格保密;对于匿名举报,我们将按照规定程序处理,但可能无法反馈处理结果。
3. 故意捏造事实、诬告陷害他人的,依法承担相应责任。
4. 举报内容应当客观真实,对所提供材料内容的真实性负责,不得提供虚假信息。
5. 本平台将依法保护举报人的合法权益,对打击报复举报人的行为将依法处理。
6. 举报事项应当属于本平台受理范围,对于不属于受理范围的举报,将按规定转相关部门处理或告知举报人。
7. 请您认真阅读并理解以上条款,点击"我同意以上条目"即表示您已阅读并同意遵守上述规定。
`,2),c(`div`,se,[t(c(`input`,{type:`checkbox`,id:`agree-terms`,"onUpdate:modelValue":a[0]||=e=>v.value=e,class:`h-4 w-4 text-primary border-gray-300 rounded focus:ring-primary`},null,512),[[te,v.value]]),a[8]||=c(`label`,{for:`agree-terms`,class:`ml-2 block text-sm text-gray-700`},`我同意以上条目`,-1)]),v.value&&B.value>0?(i(),g(`div`,ce,[a[9]||=u(` 请等待 `,-1),c(`span`,le,n(B.value),1),a[10]||=u(` 秒后开始填写举报信息 `,-1)])):v.value&&B.value===0?(i(),g(`div`,ue,`可以开始填写举报信息了`)):l(``,!0),c(`button`,{id:`start-button`,class:`mt-6 bg-primary hover:bg-primary/90 text-white px-6 py-2 rounded-md font-medium transition-colors disabled:opacity-50 disabled:cursor-not-allowed`,disabled:!Ne.value,onClick:Pe},` 开始举报 `,8,de)],512),[[_,!V.value]]),t(c(`div`,fe,[c(`div`,pe,[a[14]||=c(`h3`,{class:`text-lg font-semibold mb-4 text-gray-800`},`举报方式`,-1),c(`div`,me,[c(`label`,y,[t(c(`input`,{type:`radio`,name:`report-type`,value:`anonymous`,"onUpdate:modelValue":a[1]||=e=>H.value=e,class:`text-primary focus:ring-primary h-4 w-4`},null,512),[[d,H.value]]),a[12]||=c(`span`,{class:`ml-2 text-gray-700`},`匿名举报`,-1)]),c(`label`,b,[t(c(`input`,{type:`radio`,name:`report-type`,value:`realname`,"onUpdate:modelValue":a[2]||=e=>H.value=e,class:`text-primary focus:ring-primary h-4 w-4`},null,512),[[d,H.value]]),a[13]||=c(`span`,{class:`ml-2 text-gray-700`},`实名举报`,-1)])])]),c(`div`,x,[a[15]||=c(`label`,{for:`report-title`,class:`block text-sm font-medium text-gray-700 mb-2`},`举报标题`,-1),t(c(`input`,{type:`text`,id:`report-title`,"onUpdate:modelValue":a[3]||=e=>U.value=e,class:`w-full px-4 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请简要描述举报内容`},null,512),[[h,U.value]]),a[16]||=c(`p`,{class:`mt-1 text-xs text-gray-500`},`请简明扼要地描述举报的核心内容`,-1)]),c(`div`,S,[c(`div`,{class:`flex justify-between items-center mb-4`},[a[18]||=c(`h3`,{class:`text-lg font-semibold text-gray-800`},`被举报人信息`,-1),c(`button`,{class:`text-primary hover:text-primary/80 text-sm font-medium flex items-center transition-colors`,onClick:Fe},[...a[17]||=[c(`i`,{class:`fa fa-plus-circle mr-1`},null,-1),u(` 添加被举报人 `,-1)]])]),c(`div`,C,[(i(!0),g(p,null,e(J,(e,n)=>(i(),g(`div`,{key:n,class:`person-card border border-gray-200 rounded-md p-4 mb-4 relative`},[c(`button`,{class:`remove-person absolute top-2 right-2 text-gray-400 hover:text-red-500 transition-colors`,onClick:e=>Ie(n)},[...a[19]||=[c(`i`,{class:`fa fa-times`},null,-1)]],8,w),c(`div`,T,[a[20]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`被举报人`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.name=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入被举报人名/昵称`},null,8,E),[[h,e.name]])]),c(`div`,D,[a[21]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`被举报人ID(选填)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.id=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入被举报人ID(如有)`},null,8,O),[[h,e.id]])]),c(`div`,k,[a[22]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`联系方式(选填,空格分隔)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.contacts=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`微信号 QQ号 X账号 Discord 姓名 性别 身份证 邮箱`},null,8,A),[[h,e.contacts]]),a[23]||=c(`p`,{class:`mt-1 text-xs text-gray-500`},`支持填写多种联系方式,用空格分隔`,-1)]),c(`div`,j,[a[24]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`地址(选填,空格分隔)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.address=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`省 市 区 详细地址`},null,8,M),[[h,e.address]])]),c(`div`,null,[a[25]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`个人网站(选填)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.website=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`如个人博客、社交媒体主页等`},null,8,N),[[h,e.website]])])]))),128))])]),c(`div`,P,[c(`div`,{class:`flex justify-between items-center mb-4`},[a[27]||=c(`h3`,{class:`text-lg font-semibold text-gray-800`},`涉事部门(可多选)`,-1),c(`button`,{class:`text-primary hover:text-primary/80 text-sm font-medium flex items-center transition-colors`,onClick:X},[...a[26]||=[c(`i`,{class:`fa fa-plus-circle mr-1`},null,-1),u(` 添加部门`,-1)]])]),c(`div`,F,[(i(!0),g(p,null,e(Y,(r,o)=>(i(),g(`div`,{key:o,class:`department-card bg-neutral rounded-md px-3 py-2 flex items-center scale-in`},[t(c(`select`,{"onUpdate:modelValue":e=>r.value=e,class:`bg-transparent border-none focus:ring-0 text-sm`},[a[28]||=c(`option`,{value:``},`请选择部门`,-1),(i(),g(p,null,e(Le,e=>c(`option`,{key:e.value,value:e.value},n(e.label),9,L)),64))],8,I),[[s,r.value]]),c(`button`,{class:`remove-department ml-2 text-gray-400 hover:text-red-500 transition-colors`,onClick:e=>$(Y,o)},[...a[29]||=[c(`i`,{class:`fa fa-times-circle`},null,-1)]],8,R)]))),128))])]),c(`div`,z,[c(`div`,{class:`flex justify-between items-center mb-4`},[a[31]||=c(`h3`,{class:`text-lg font-semibold text-gray-800`},`参与组织(可多选)`,-1),c(`button`,{class:`text-primary hover:text-primary/80 text-sm font-medium flex items-center transition-colors`,onClick:Re},[...a[30]||=[c(`i`,{class:`fa fa-plus-circle mr-1`},null,-1),u(` 添加组织`,-1)]])]),c(`div`,he,[(i(!0),g(p,null,e(Z,(e,n)=>(i(),g(`div`,{key:n,class:`organization-card border border-gray-200 rounded-md p-4 mb-4 relative scale-in`},[c(`button`,{class:`remove-organization absolute top-2 right-2 text-gray-400 hover:text-red-500 transition-colors`,onClick:e=>$(Z,n)},[...a[32]||=[c(`i`,{class:`fa fa-times`},null,-1)]],8,ge),c(`div`,_e,[a[33]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`商家名称`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.name=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入参与组织/商家名称`},null,8,ve),[[h,e.name]])]),c(`div`,ye,[a[34]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`商家ICP(选填)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.icp=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入ICP备案号`},null,8,be),[[h,e.icp]])]),c(`div`,xe,[a[35]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`商家联系方式(选填)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.contact=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入联系方式`},null,8,Se),[[h,e.contact]])]),c(`div`,null,[a[36]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`其它备注(选填)`,-1),t(c(`textarea`,{"onUpdate:modelValue":t=>e.notes=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,rows:`2`,placeholder:`请输入其他相关信息`},null,8,Ce),[[h,e.notes]])])]))),128))])]),c(`div`,we,[c(`div`,{class:`flex justify-between items-center mb-4`},[a[38]||=c(`h3`,{class:`text-lg font-semibold text-gray-800`},`举报类型(可多选)`,-1),c(`button`,{class:`text-primary hover:text-primary/80 text-sm font-medium flex items-center transition-colors`,onClick:Be},[...a[37]||=[c(`i`,{class:`fa fa-plus-circle mr-1`},null,-1),u(` 添加类型`,-1)]])]),c(`div`,Te,[(i(!0),g(p,null,e(Q,(r,o)=>(i(),g(`div`,{key:o,class:`report-type-card bg-neutral rounded-md px-3 py-2 flex items-center scale-in`},[t(c(`select`,{"onUpdate:modelValue":e=>r.value=e,class:`type-select bg-transparent border-none focus:ring-0 text-sm`},[a[39]||=c(`option`,{value:``},`请选择举报类型`,-1),(i(),g(p,null,e(ze,e=>c(`option`,{key:e.value,value:e.value},n(e.label),9,De)),64))],8,Ee),[[s,r.value]]),c(`button`,{class:`remove-type ml-2 text-gray-400 hover:text-red-500 transition-colors`,onClick:e=>$(Q,o)},[...a[40]||=[c(`i`,{class:`fa fa-times-circle`},null,-1)]],8,Oe)]))),128))])]),c(`div`,ke,[a[41]||=c(`label`,{for:`report-content`,class:`block text-sm font-medium text-gray-700 mb-2`},`举报内容`,-1),t(c(`textarea`,{id:`report-content`,"onUpdate:modelValue":a[4]||=e=>W.value=e,rows:`8`,class:`w-full px-4 py-3 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请详细描述举报事实,包括时间、地点、人物、事件经过等信息,尽可能提供相关证据线索...`},null,512),[[h,W.value]]),a[42]||=c(`p`,{class:`mt-1 text-xs text-gray-500`},`请客观、准确、详细地描述事件经过,这将有助于我们进行调查核实`,-1)]),c(`div`,Ae,[a[43]||=c(`label`,{for:`contact-email`,class:`block text-sm font-medium text-gray-700 mb-2`},`您的邮箱(用于消息处理和反馈)`,-1),t(c(`input`,{type:`email`,id:`contact-email`,"onUpdate:modelValue":a[5]||=e=>G.value=e,class:`w-full px-4 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入您的邮箱地址`},null,512),[[h,G.value]]),a[44]||=c(`p`,{class:`mt-1 text-xs text-gray-500`},`我们将通过此邮箱向您反馈举报处理进度和结果(匿名举报也建议填写)`,-1)]),c(`div`,{class:`flex justify-center scale-in`,style:{"animation-delay":`0.8s`}},[c(`button`,{id:`submit-report`,class:`bg-primary hover:bg-primary/90 text-white px-8 py-3 rounded-md font-medium transition-colors shadow-md hover:shadow-lg`,onClick:Ve},` 提交举报 `)])],512),[[_,V.value]])]),K.value?(i(),g(`div`,{key:0,class:`fixed inset-0 bg-black bg-opacity-50 z-50 flex items-center justify-center`,onClick:a[7]||=ee(e=>K.value=!1,[`self`])},[c(`div`,je,[a[45]||=m(`
提交前提示 请确认您所提供的举报信息真实、准确、完整。
故意捏造事实、诬告陷害他人的,将承担相应法律责任。
`,1),c(`div`,Me,[c(`button`,{class:`px-4 py-2 border border-gray-300 rounded-md text-sm font-medium text-gray-700 hover:bg-gray-50 transition-colors`,onClick:a[6]||=e=>K.value=!1},` 取消 `),c(`button`,{class:`px-4 py-2 bg-primary border border-transparent rounded-md text-sm font-medium text-white hover:bg-primary/90 transition-colors`,onClick:He},` 确认提交 `)])])])):l(``,!0)]))}}),[[`__scopeId`,`data-v-09d183f6`]]);export{B as default};
\ No newline at end of file
diff --git a/TempLate/assets/IntegrityReportView-CW7dAKXr.css b/TempLate/assets/IntegrityReportView-CW7dAKXr.css
new file mode 100644
index 00000000..78d0bbca
--- /dev/null
+++ b/TempLate/assets/IntegrityReportView-CW7dAKXr.css
@@ -0,0 +1 @@
+.card-shadow[data-v-09d183f6]{box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.file-corner[data-v-09d183f6]{position:relative}@keyframes slideUp-09d183f6{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.slide-up[data-v-09d183f6]{animation:.5s ease-out forwards slideUp-09d183f6}@keyframes scaleIn-09d183f6{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.scale-in[data-v-09d183f6]{animation:.3s ease-out forwards scaleIn-09d183f6}
diff --git a/TempLate/assets/IntegrityReportView-Ct8DwmFr.js b/TempLate/assets/IntegrityReportView-Ct8DwmFr.js
new file mode 100644
index 00000000..2dda25f7
--- /dev/null
+++ b/TempLate/assets/IntegrityReportView-Ct8DwmFr.js
@@ -0,0 +1 @@
+import{C as e,D as t,N as n,O as r,S as i,T as a,_ as o,a as s,c as ee,d as c,f as l,h as u,i as d,k as f,l as p,m,o as h,p as g,r as te,s as _,u as ne,y as re}from"./index-CMhybB9x.js";import{t as v}from"./_plugin-vue_export-helper-BDNMzG2s.js";var ie={class:`bg-gray-50 font-sans text-gray-800 min-h-screen flex flex-col`},ae={class:`flex-grow pt-24 pb-16 px-4 sm:px-6 lg:px-8 max-w-7xl mx-auto w-full`},oe={id:`terms-section`,class:`mb-8 bg-white rounded-lg card-shadow p-6 file-corner slide-up`},se={class:`flex items-center`},ce={key:0,id:`countdown`,class:`mt-4 text-sm text-gray-500`},le={id:`countdown-timer`,class:`font-medium`},ue={key:1,id:`countdown`,class:`mt-4 text-sm text-gray-500`},de=[`disabled`],fe={id:`report-form`,class:`space-y-8`},pe={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`},me={class:`flex space-x-6`},y={class:`inline-flex items-center`},b={class:`inline-flex items-center`},x={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.1s`}},S={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.2s`}},C={id:`persons-container`},w=[`onClick`],T={class:`mb-3`},E=[`onUpdate:modelValue`],D={class:`mb-3`},O=[`onUpdate:modelValue`],k={class:`mb-3`},A=[`onUpdate:modelValue`],j={class:`mb-3`},M=[`onUpdate:modelValue`],N=[`onUpdate:modelValue`],P={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.3s`}},F={id:`departments-container`,class:`flex flex-wrap gap-2`},I=[`onUpdate:modelValue`],L=[`value`],R=[`onClick`],z={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.4s`}},he={id:`organizations-container`},ge=[`onClick`],_e={class:`mb-3`},ve=[`onUpdate:modelValue`],ye={class:`mb-3`},be=[`onUpdate:modelValue`],xe={class:`mb-3`},Se=[`onUpdate:modelValue`],Ce=[`onUpdate:modelValue`],we={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.5s`}},Te={id:`report-types-container`,class:`flex flex-wrap gap-2`},Ee=[`onUpdate:modelValue`],De=[`value`],Oe=[`onClick`],ke={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.6s`}},Ae={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.7s`}},je={class:`bg-white rounded-lg p-6 max-w-md w-full mx-4 scale-in`},Me={class:`mt-6 flex justify-end space-x-3`},B=v(o({__name:`IntegrityReportView`,setup(o){let v=f(!1),B=f(10),Ne=ne(()=>v.value&&B.value===0),V=f(!1),H=f(`anonymous`),U=f(``),W=f(``),G=f(``),K=f(!1),q=null;a(v,e=>{e?(B.value=10,q&&clearInterval(q),q=setInterval(()=>{B.value--,B.value<=0&&q&&clearInterval(q)},1e3)):(B.value=10,q&&clearInterval(q))});function Pe(){V.value=!0}let J=r([{name:``,id:``,contacts:``,address:``,website:``}]);function Fe(){J.push({name:``,id:``,contacts:``,address:``,website:``})}function Ie(e){J.length>1?J.splice(e,1):alert(`至少需要填写一个被举报人信息`)}let Le=[{value:`engineering`,label:`工程部`},{value:`design`,label:`美工部`},{value:`operation`,label:`运营部`},{value:`testing`,label:`测试部`},{value:`administration`,label:`行政部`},{value:`hr`,label:`人事部`},{value:`finance`,label:`财务部`},{value:`marketing`,label:`营销部`}],Y=r([{value:``}]);function X(){Y.push({value:``})}let Z=r([{name:``,icp:``,contact:``,notes:``}]);function Re(){Z.push({name:``,icp:``,contact:``,notes:``})}let ze=[{value:`bribery`,label:`收受贿赂`},{value:`bullying`,label:`员工霸凌`},{value:`verbal-abuse`,label:`言语咒骂`},{value:`crisis-neglect`,label:`危机未处理`},{value:`theft`,label:`窃取机密`},{value:`espionage`,label:`间谍`},{value:`political-affiliation`,label:`私通党派`},{value:`indecent-content`,label:`公开场合不雅图片、视频`}],Q=r([{value:``}]);function Be(){Q.push({value:``})}function $(e,t){e.splice(t,1)}function Ve(){if(!U.value.trim()){alert(`请填写举报标题`);return}if(!W.value.trim()){alert(`请填写举报内容`);return}if(!G.value.trim()){alert(`请填写您的邮箱地址,以便我们反馈处理结果`);return}if(Q.filter(e=>e.value!==``).length===0){alert(`请至少选择一种举报类型`);return}K.value=!0}function He(){K.value=!1,setTimeout(()=>{alert(`举报提交成功!我们将尽快处理您的举报,并通过您提供的邮箱反馈处理结果。感谢您的监督!`)},500)}return re(()=>{q&&clearInterval(q)}),(r,a)=>(i(),g(`div`,ie,[c(`main`,ae,[t(c(`div`,oe,[a[11]||=m(`举报条款与声明 1. 举报人应当如实提供被举报人的有关情况和举报材料,不得捏造、歪曲事实,不得诬告、陷害他人。
2. 对于实名举报,我们将对举报人信息严格保密;对于匿名举报,我们将按照规定程序处理,但可能无法反馈处理结果。
3. 故意捏造事实、诬告陷害他人的,依法承担相应责任。
4. 举报内容应当客观真实,对所提供材料内容的真实性负责,不得提供虚假信息。
5. 本平台将依法保护举报人的合法权益,对打击报复举报人的行为将依法处理。
6. 举报事项应当属于本平台受理范围,对于不属于受理范围的举报,将按规定转相关部门处理或告知举报人。
7. 请您认真阅读并理解以上条款,点击"我同意以上条目"即表示您已阅读并同意遵守上述规定。
`,2),c(`div`,se,[t(c(`input`,{type:`checkbox`,id:`agree-terms`,"onUpdate:modelValue":a[0]||=e=>v.value=e,class:`h-4 w-4 text-primary border-gray-300 rounded focus:ring-primary`},null,512),[[te,v.value]]),a[8]||=c(`label`,{for:`agree-terms`,class:`ml-2 block text-sm text-gray-700`},`我同意以上条目`,-1)]),v.value&&B.value>0?(i(),g(`div`,ce,[a[9]||=u(` 请等待 `,-1),c(`span`,le,n(B.value),1),a[10]||=u(` 秒后开始填写举报信息 `,-1)])):v.value&&B.value===0?(i(),g(`div`,ue,`可以开始填写举报信息了`)):l(``,!0),c(`button`,{id:`start-button`,class:`mt-6 bg-primary hover:bg-primary/90 text-white px-6 py-2 rounded-md font-medium transition-colors disabled:opacity-50 disabled:cursor-not-allowed`,disabled:!Ne.value,onClick:Pe},` 开始举报 `,8,de)],512),[[_,!V.value]]),t(c(`div`,fe,[c(`div`,pe,[a[14]||=c(`h3`,{class:`text-lg font-semibold mb-4 text-gray-800`},`举报方式`,-1),c(`div`,me,[c(`label`,y,[t(c(`input`,{type:`radio`,name:`report-type`,value:`anonymous`,"onUpdate:modelValue":a[1]||=e=>H.value=e,class:`text-primary focus:ring-primary h-4 w-4`},null,512),[[d,H.value]]),a[12]||=c(`span`,{class:`ml-2 text-gray-700`},`匿名举报`,-1)]),c(`label`,b,[t(c(`input`,{type:`radio`,name:`report-type`,value:`realname`,"onUpdate:modelValue":a[2]||=e=>H.value=e,class:`text-primary focus:ring-primary h-4 w-4`},null,512),[[d,H.value]]),a[13]||=c(`span`,{class:`ml-2 text-gray-700`},`实名举报`,-1)])])]),c(`div`,x,[a[15]||=c(`label`,{for:`report-title`,class:`block text-sm font-medium text-gray-700 mb-2`},`举报标题`,-1),t(c(`input`,{type:`text`,id:`report-title`,"onUpdate:modelValue":a[3]||=e=>U.value=e,class:`w-full px-4 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请简要描述举报内容`},null,512),[[h,U.value]]),a[16]||=c(`p`,{class:`mt-1 text-xs text-gray-500`},`请简明扼要地描述举报的核心内容`,-1)]),c(`div`,S,[c(`div`,{class:`flex justify-between items-center mb-4`},[a[18]||=c(`h3`,{class:`text-lg font-semibold text-gray-800`},`被举报人信息`,-1),c(`button`,{class:`text-primary hover:text-primary/80 text-sm font-medium flex items-center transition-colors`,onClick:Fe},[...a[17]||=[c(`i`,{class:`fa fa-plus-circle mr-1`},null,-1),u(` 添加被举报人 `,-1)]])]),c(`div`,C,[(i(!0),g(p,null,e(J,(e,n)=>(i(),g(`div`,{key:n,class:`person-card border border-gray-200 rounded-md p-4 mb-4 relative`},[c(`button`,{class:`remove-person absolute top-2 right-2 text-gray-400 hover:text-red-500 transition-colors`,onClick:e=>Ie(n)},[...a[19]||=[c(`i`,{class:`fa fa-times`},null,-1)]],8,w),c(`div`,T,[a[20]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`被举报人`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.name=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入被举报人名/昵称`},null,8,E),[[h,e.name]])]),c(`div`,D,[a[21]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`被举报人ID(选填)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.id=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入被举报人ID(如有)`},null,8,O),[[h,e.id]])]),c(`div`,k,[a[22]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`联系方式(选填,空格分隔)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.contacts=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`微信号 QQ号 X账号 Discord 姓名 性别 身份证 邮箱`},null,8,A),[[h,e.contacts]]),a[23]||=c(`p`,{class:`mt-1 text-xs text-gray-500`},`支持填写多种联系方式,用空格分隔`,-1)]),c(`div`,j,[a[24]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`地址(选填,空格分隔)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.address=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`省 市 区 详细地址`},null,8,M),[[h,e.address]])]),c(`div`,null,[a[25]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`个人网站(选填)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.website=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`如个人博客、社交媒体主页等`},null,8,N),[[h,e.website]])])]))),128))])]),c(`div`,P,[c(`div`,{class:`flex justify-between items-center mb-4`},[a[27]||=c(`h3`,{class:`text-lg font-semibold text-gray-800`},`涉事部门(可多选)`,-1),c(`button`,{class:`text-primary hover:text-primary/80 text-sm font-medium flex items-center transition-colors`,onClick:X},[...a[26]||=[c(`i`,{class:`fa fa-plus-circle mr-1`},null,-1),u(` 添加部门`,-1)]])]),c(`div`,F,[(i(!0),g(p,null,e(Y,(r,o)=>(i(),g(`div`,{key:o,class:`department-card bg-neutral rounded-md px-3 py-2 flex items-center scale-in`},[t(c(`select`,{"onUpdate:modelValue":e=>r.value=e,class:`bg-transparent border-none focus:ring-0 text-sm`},[a[28]||=c(`option`,{value:``},`请选择部门`,-1),(i(),g(p,null,e(Le,e=>c(`option`,{key:e.value,value:e.value},n(e.label),9,L)),64))],8,I),[[s,r.value]]),c(`button`,{class:`remove-department ml-2 text-gray-400 hover:text-red-500 transition-colors`,onClick:e=>$(Y,o)},[...a[29]||=[c(`i`,{class:`fa fa-times-circle`},null,-1)]],8,R)]))),128))])]),c(`div`,z,[c(`div`,{class:`flex justify-between items-center mb-4`},[a[31]||=c(`h3`,{class:`text-lg font-semibold text-gray-800`},`参与组织(可多选)`,-1),c(`button`,{class:`text-primary hover:text-primary/80 text-sm font-medium flex items-center transition-colors`,onClick:Re},[...a[30]||=[c(`i`,{class:`fa fa-plus-circle mr-1`},null,-1),u(` 添加组织`,-1)]])]),c(`div`,he,[(i(!0),g(p,null,e(Z,(e,n)=>(i(),g(`div`,{key:n,class:`organization-card border border-gray-200 rounded-md p-4 mb-4 relative scale-in`},[c(`button`,{class:`remove-organization absolute top-2 right-2 text-gray-400 hover:text-red-500 transition-colors`,onClick:e=>$(Z,n)},[...a[32]||=[c(`i`,{class:`fa fa-times`},null,-1)]],8,ge),c(`div`,_e,[a[33]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`商家名称`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.name=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入参与组织/商家名称`},null,8,ve),[[h,e.name]])]),c(`div`,ye,[a[34]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`商家ICP(选填)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.icp=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入ICP备案号`},null,8,be),[[h,e.icp]])]),c(`div`,xe,[a[35]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`商家联系方式(选填)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.contact=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入联系方式`},null,8,Se),[[h,e.contact]])]),c(`div`,null,[a[36]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`其它备注(选填)`,-1),t(c(`textarea`,{"onUpdate:modelValue":t=>e.notes=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,rows:`2`,placeholder:`请输入其他相关信息`},null,8,Ce),[[h,e.notes]])])]))),128))])]),c(`div`,we,[c(`div`,{class:`flex justify-between items-center mb-4`},[a[38]||=c(`h3`,{class:`text-lg font-semibold text-gray-800`},`举报类型(可多选)`,-1),c(`button`,{class:`text-primary hover:text-primary/80 text-sm font-medium flex items-center transition-colors`,onClick:Be},[...a[37]||=[c(`i`,{class:`fa fa-plus-circle mr-1`},null,-1),u(` 添加类型`,-1)]])]),c(`div`,Te,[(i(!0),g(p,null,e(Q,(r,o)=>(i(),g(`div`,{key:o,class:`report-type-card bg-neutral rounded-md px-3 py-2 flex items-center scale-in`},[t(c(`select`,{"onUpdate:modelValue":e=>r.value=e,class:`type-select bg-transparent border-none focus:ring-0 text-sm`},[a[39]||=c(`option`,{value:``},`请选择举报类型`,-1),(i(),g(p,null,e(ze,e=>c(`option`,{key:e.value,value:e.value},n(e.label),9,De)),64))],8,Ee),[[s,r.value]]),c(`button`,{class:`remove-type ml-2 text-gray-400 hover:text-red-500 transition-colors`,onClick:e=>$(Q,o)},[...a[40]||=[c(`i`,{class:`fa fa-times-circle`},null,-1)]],8,Oe)]))),128))])]),c(`div`,ke,[a[41]||=c(`label`,{for:`report-content`,class:`block text-sm font-medium text-gray-700 mb-2`},`举报内容`,-1),t(c(`textarea`,{id:`report-content`,"onUpdate:modelValue":a[4]||=e=>W.value=e,rows:`8`,class:`w-full px-4 py-3 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请详细描述举报事实,包括时间、地点、人物、事件经过等信息,尽可能提供相关证据线索...`},null,512),[[h,W.value]]),a[42]||=c(`p`,{class:`mt-1 text-xs text-gray-500`},`请客观、准确、详细地描述事件经过,这将有助于我们进行调查核实`,-1)]),c(`div`,Ae,[a[43]||=c(`label`,{for:`contact-email`,class:`block text-sm font-medium text-gray-700 mb-2`},`您的邮箱(用于消息处理和反馈)`,-1),t(c(`input`,{type:`email`,id:`contact-email`,"onUpdate:modelValue":a[5]||=e=>G.value=e,class:`w-full px-4 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入您的邮箱地址`},null,512),[[h,G.value]]),a[44]||=c(`p`,{class:`mt-1 text-xs text-gray-500`},`我们将通过此邮箱向您反馈举报处理进度和结果(匿名举报也建议填写)`,-1)]),c(`div`,{class:`flex justify-center scale-in`,style:{"animation-delay":`0.8s`}},[c(`button`,{id:`submit-report`,class:`bg-primary hover:bg-primary/90 text-white px-8 py-3 rounded-md font-medium transition-colors shadow-md hover:shadow-lg`,onClick:Ve},` 提交举报 `)])],512),[[_,V.value]])]),K.value?(i(),g(`div`,{key:0,class:`fixed inset-0 bg-black bg-opacity-50 z-50 flex items-center justify-center`,onClick:a[7]||=ee(e=>K.value=!1,[`self`])},[c(`div`,je,[a[45]||=m(`
提交前提示 请确认您所提供的举报信息真实、准确、完整。
故意捏造事实、诬告陷害他人的,将承担相应法律责任。
`,1),c(`div`,Me,[c(`button`,{class:`px-4 py-2 border border-gray-300 rounded-md text-sm font-medium text-gray-700 hover:bg-gray-50 transition-colors`,onClick:a[6]||=e=>K.value=!1},` 取消 `),c(`button`,{class:`px-4 py-2 bg-primary border border-transparent rounded-md text-sm font-medium text-white hover:bg-primary/90 transition-colors`,onClick:He},` 确认提交 `)])])])):l(``,!0)]))}}),[[`__scopeId`,`data-v-09d183f6`]]);export{B as default};
\ No newline at end of file
diff --git a/TempLate/assets/IntegrityReportView-DBetZ95D.js b/TempLate/assets/IntegrityReportView-DBetZ95D.js
new file mode 100644
index 00000000..c8e4caba
--- /dev/null
+++ b/TempLate/assets/IntegrityReportView-DBetZ95D.js
@@ -0,0 +1 @@
+import{C as e,D as t,N as n,O as r,S as i,T as a,_ as o,a as s,c as ee,d as c,f as l,h as u,i as d,k as f,l as p,m,o as h,p as g,r as te,s as _,u as ne,y as re}from"./index-BM-LFFI_.js";import{t as v}from"./_plugin-vue_export-helper-BDNMzG2s.js";var ie={class:`bg-gray-50 font-sans text-gray-800 min-h-screen flex flex-col`},ae={class:`flex-grow pt-24 pb-16 px-4 sm:px-6 lg:px-8 max-w-7xl mx-auto w-full`},oe={id:`terms-section`,class:`mb-8 bg-white rounded-lg card-shadow p-6 file-corner slide-up`},se={class:`flex items-center`},ce={key:0,id:`countdown`,class:`mt-4 text-sm text-gray-500`},le={id:`countdown-timer`,class:`font-medium`},ue={key:1,id:`countdown`,class:`mt-4 text-sm text-gray-500`},de=[`disabled`],fe={id:`report-form`,class:`space-y-8`},pe={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`},me={class:`flex space-x-6`},y={class:`inline-flex items-center`},b={class:`inline-flex items-center`},x={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.1s`}},S={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.2s`}},C={id:`persons-container`},w=[`onClick`],T={class:`mb-3`},E=[`onUpdate:modelValue`],D={class:`mb-3`},O=[`onUpdate:modelValue`],k={class:`mb-3`},A=[`onUpdate:modelValue`],j={class:`mb-3`},M=[`onUpdate:modelValue`],N=[`onUpdate:modelValue`],P={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.3s`}},F={id:`departments-container`,class:`flex flex-wrap gap-2`},I=[`onUpdate:modelValue`],L=[`value`],R=[`onClick`],z={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.4s`}},he={id:`organizations-container`},ge=[`onClick`],_e={class:`mb-3`},ve=[`onUpdate:modelValue`],ye={class:`mb-3`},be=[`onUpdate:modelValue`],xe={class:`mb-3`},Se=[`onUpdate:modelValue`],Ce=[`onUpdate:modelValue`],we={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.5s`}},Te={id:`report-types-container`,class:`flex flex-wrap gap-2`},Ee=[`onUpdate:modelValue`],De=[`value`],Oe=[`onClick`],ke={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.6s`}},Ae={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.7s`}},je={class:`bg-white rounded-lg p-6 max-w-md w-full mx-4 scale-in`},Me={class:`mt-6 flex justify-end space-x-3`},B=v(o({__name:`IntegrityReportView`,setup(o){let v=f(!1),B=f(10),Ne=ne(()=>v.value&&B.value===0),V=f(!1),H=f(`anonymous`),U=f(``),W=f(``),G=f(``),K=f(!1),q=null;a(v,e=>{e?(B.value=10,q&&clearInterval(q),q=setInterval(()=>{B.value--,B.value<=0&&q&&clearInterval(q)},1e3)):(B.value=10,q&&clearInterval(q))});function Pe(){V.value=!0}let J=r([{name:``,id:``,contacts:``,address:``,website:``}]);function Fe(){J.push({name:``,id:``,contacts:``,address:``,website:``})}function Ie(e){J.length>1?J.splice(e,1):alert(`至少需要填写一个被举报人信息`)}let Le=[{value:`engineering`,label:`工程部`},{value:`design`,label:`美工部`},{value:`operation`,label:`运营部`},{value:`testing`,label:`测试部`},{value:`administration`,label:`行政部`},{value:`hr`,label:`人事部`},{value:`finance`,label:`财务部`},{value:`marketing`,label:`营销部`}],Y=r([{value:``}]);function X(){Y.push({value:``})}let Z=r([{name:``,icp:``,contact:``,notes:``}]);function Re(){Z.push({name:``,icp:``,contact:``,notes:``})}let ze=[{value:`bribery`,label:`收受贿赂`},{value:`bullying`,label:`员工霸凌`},{value:`verbal-abuse`,label:`言语咒骂`},{value:`crisis-neglect`,label:`危机未处理`},{value:`theft`,label:`窃取机密`},{value:`espionage`,label:`间谍`},{value:`political-affiliation`,label:`私通党派`},{value:`indecent-content`,label:`公开场合不雅图片、视频`}],Q=r([{value:``}]);function Be(){Q.push({value:``})}function $(e,t){e.splice(t,1)}function Ve(){if(!U.value.trim()){alert(`请填写举报标题`);return}if(!W.value.trim()){alert(`请填写举报内容`);return}if(!G.value.trim()){alert(`请填写您的邮箱地址,以便我们反馈处理结果`);return}if(Q.filter(e=>e.value!==``).length===0){alert(`请至少选择一种举报类型`);return}K.value=!0}function He(){K.value=!1,setTimeout(()=>{alert(`举报提交成功!我们将尽快处理您的举报,并通过您提供的邮箱反馈处理结果。感谢您的监督!`)},500)}return re(()=>{q&&clearInterval(q)}),(r,a)=>(i(),g(`div`,ie,[c(`main`,ae,[t(c(`div`,oe,[a[11]||=m(`举报条款与声明 1. 举报人应当如实提供被举报人的有关情况和举报材料,不得捏造、歪曲事实,不得诬告、陷害他人。
2. 对于实名举报,我们将对举报人信息严格保密;对于匿名举报,我们将按照规定程序处理,但可能无法反馈处理结果。
3. 故意捏造事实、诬告陷害他人的,依法承担相应责任。
4. 举报内容应当客观真实,对所提供材料内容的真实性负责,不得提供虚假信息。
5. 本平台将依法保护举报人的合法权益,对打击报复举报人的行为将依法处理。
6. 举报事项应当属于本平台受理范围,对于不属于受理范围的举报,将按规定转相关部门处理或告知举报人。
7. 请您认真阅读并理解以上条款,点击"我同意以上条目"即表示您已阅读并同意遵守上述规定。
`,2),c(`div`,se,[t(c(`input`,{type:`checkbox`,id:`agree-terms`,"onUpdate:modelValue":a[0]||=e=>v.value=e,class:`h-4 w-4 text-primary border-gray-300 rounded focus:ring-primary`},null,512),[[te,v.value]]),a[8]||=c(`label`,{for:`agree-terms`,class:`ml-2 block text-sm text-gray-700`},`我同意以上条目`,-1)]),v.value&&B.value>0?(i(),g(`div`,ce,[a[9]||=u(` 请等待 `,-1),c(`span`,le,n(B.value),1),a[10]||=u(` 秒后开始填写举报信息 `,-1)])):v.value&&B.value===0?(i(),g(`div`,ue,`可以开始填写举报信息了`)):l(``,!0),c(`button`,{id:`start-button`,class:`mt-6 bg-primary hover:bg-primary/90 text-white px-6 py-2 rounded-md font-medium transition-colors disabled:opacity-50 disabled:cursor-not-allowed`,disabled:!Ne.value,onClick:Pe},` 开始举报 `,8,de)],512),[[_,!V.value]]),t(c(`div`,fe,[c(`div`,pe,[a[14]||=c(`h3`,{class:`text-lg font-semibold mb-4 text-gray-800`},`举报方式`,-1),c(`div`,me,[c(`label`,y,[t(c(`input`,{type:`radio`,name:`report-type`,value:`anonymous`,"onUpdate:modelValue":a[1]||=e=>H.value=e,class:`text-primary focus:ring-primary h-4 w-4`},null,512),[[d,H.value]]),a[12]||=c(`span`,{class:`ml-2 text-gray-700`},`匿名举报`,-1)]),c(`label`,b,[t(c(`input`,{type:`radio`,name:`report-type`,value:`realname`,"onUpdate:modelValue":a[2]||=e=>H.value=e,class:`text-primary focus:ring-primary h-4 w-4`},null,512),[[d,H.value]]),a[13]||=c(`span`,{class:`ml-2 text-gray-700`},`实名举报`,-1)])])]),c(`div`,x,[a[15]||=c(`label`,{for:`report-title`,class:`block text-sm font-medium text-gray-700 mb-2`},`举报标题`,-1),t(c(`input`,{type:`text`,id:`report-title`,"onUpdate:modelValue":a[3]||=e=>U.value=e,class:`w-full px-4 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请简要描述举报内容`},null,512),[[h,U.value]]),a[16]||=c(`p`,{class:`mt-1 text-xs text-gray-500`},`请简明扼要地描述举报的核心内容`,-1)]),c(`div`,S,[c(`div`,{class:`flex justify-between items-center mb-4`},[a[18]||=c(`h3`,{class:`text-lg font-semibold text-gray-800`},`被举报人信息`,-1),c(`button`,{class:`text-primary hover:text-primary/80 text-sm font-medium flex items-center transition-colors`,onClick:Fe},[...a[17]||=[c(`i`,{class:`fa fa-plus-circle mr-1`},null,-1),u(` 添加被举报人 `,-1)]])]),c(`div`,C,[(i(!0),g(p,null,e(J,(e,n)=>(i(),g(`div`,{key:n,class:`person-card border border-gray-200 rounded-md p-4 mb-4 relative`},[c(`button`,{class:`remove-person absolute top-2 right-2 text-gray-400 hover:text-red-500 transition-colors`,onClick:e=>Ie(n)},[...a[19]||=[c(`i`,{class:`fa fa-times`},null,-1)]],8,w),c(`div`,T,[a[20]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`被举报人`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.name=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入被举报人名/昵称`},null,8,E),[[h,e.name]])]),c(`div`,D,[a[21]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`被举报人ID(选填)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.id=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入被举报人ID(如有)`},null,8,O),[[h,e.id]])]),c(`div`,k,[a[22]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`联系方式(选填,空格分隔)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.contacts=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`微信号 QQ号 X账号 Discord 姓名 性别 身份证 邮箱`},null,8,A),[[h,e.contacts]]),a[23]||=c(`p`,{class:`mt-1 text-xs text-gray-500`},`支持填写多种联系方式,用空格分隔`,-1)]),c(`div`,j,[a[24]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`地址(选填,空格分隔)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.address=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`省 市 区 详细地址`},null,8,M),[[h,e.address]])]),c(`div`,null,[a[25]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`个人网站(选填)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.website=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`如个人博客、社交媒体主页等`},null,8,N),[[h,e.website]])])]))),128))])]),c(`div`,P,[c(`div`,{class:`flex justify-between items-center mb-4`},[a[27]||=c(`h3`,{class:`text-lg font-semibold text-gray-800`},`涉事部门(可多选)`,-1),c(`button`,{class:`text-primary hover:text-primary/80 text-sm font-medium flex items-center transition-colors`,onClick:X},[...a[26]||=[c(`i`,{class:`fa fa-plus-circle mr-1`},null,-1),u(` 添加部门`,-1)]])]),c(`div`,F,[(i(!0),g(p,null,e(Y,(r,o)=>(i(),g(`div`,{key:o,class:`department-card bg-neutral rounded-md px-3 py-2 flex items-center scale-in`},[t(c(`select`,{"onUpdate:modelValue":e=>r.value=e,class:`bg-transparent border-none focus:ring-0 text-sm`},[a[28]||=c(`option`,{value:``},`请选择部门`,-1),(i(),g(p,null,e(Le,e=>c(`option`,{key:e.value,value:e.value},n(e.label),9,L)),64))],8,I),[[s,r.value]]),c(`button`,{class:`remove-department ml-2 text-gray-400 hover:text-red-500 transition-colors`,onClick:e=>$(Y,o)},[...a[29]||=[c(`i`,{class:`fa fa-times-circle`},null,-1)]],8,R)]))),128))])]),c(`div`,z,[c(`div`,{class:`flex justify-between items-center mb-4`},[a[31]||=c(`h3`,{class:`text-lg font-semibold text-gray-800`},`参与组织(可多选)`,-1),c(`button`,{class:`text-primary hover:text-primary/80 text-sm font-medium flex items-center transition-colors`,onClick:Re},[...a[30]||=[c(`i`,{class:`fa fa-plus-circle mr-1`},null,-1),u(` 添加组织`,-1)]])]),c(`div`,he,[(i(!0),g(p,null,e(Z,(e,n)=>(i(),g(`div`,{key:n,class:`organization-card border border-gray-200 rounded-md p-4 mb-4 relative scale-in`},[c(`button`,{class:`remove-organization absolute top-2 right-2 text-gray-400 hover:text-red-500 transition-colors`,onClick:e=>$(Z,n)},[...a[32]||=[c(`i`,{class:`fa fa-times`},null,-1)]],8,ge),c(`div`,_e,[a[33]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`商家名称`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.name=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入参与组织/商家名称`},null,8,ve),[[h,e.name]])]),c(`div`,ye,[a[34]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`商家ICP(选填)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.icp=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入ICP备案号`},null,8,be),[[h,e.icp]])]),c(`div`,xe,[a[35]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`商家联系方式(选填)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.contact=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入联系方式`},null,8,Se),[[h,e.contact]])]),c(`div`,null,[a[36]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`其它备注(选填)`,-1),t(c(`textarea`,{"onUpdate:modelValue":t=>e.notes=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,rows:`2`,placeholder:`请输入其他相关信息`},null,8,Ce),[[h,e.notes]])])]))),128))])]),c(`div`,we,[c(`div`,{class:`flex justify-between items-center mb-4`},[a[38]||=c(`h3`,{class:`text-lg font-semibold text-gray-800`},`举报类型(可多选)`,-1),c(`button`,{class:`text-primary hover:text-primary/80 text-sm font-medium flex items-center transition-colors`,onClick:Be},[...a[37]||=[c(`i`,{class:`fa fa-plus-circle mr-1`},null,-1),u(` 添加类型`,-1)]])]),c(`div`,Te,[(i(!0),g(p,null,e(Q,(r,o)=>(i(),g(`div`,{key:o,class:`report-type-card bg-neutral rounded-md px-3 py-2 flex items-center scale-in`},[t(c(`select`,{"onUpdate:modelValue":e=>r.value=e,class:`type-select bg-transparent border-none focus:ring-0 text-sm`},[a[39]||=c(`option`,{value:``},`请选择举报类型`,-1),(i(),g(p,null,e(ze,e=>c(`option`,{key:e.value,value:e.value},n(e.label),9,De)),64))],8,Ee),[[s,r.value]]),c(`button`,{class:`remove-type ml-2 text-gray-400 hover:text-red-500 transition-colors`,onClick:e=>$(Q,o)},[...a[40]||=[c(`i`,{class:`fa fa-times-circle`},null,-1)]],8,Oe)]))),128))])]),c(`div`,ke,[a[41]||=c(`label`,{for:`report-content`,class:`block text-sm font-medium text-gray-700 mb-2`},`举报内容`,-1),t(c(`textarea`,{id:`report-content`,"onUpdate:modelValue":a[4]||=e=>W.value=e,rows:`8`,class:`w-full px-4 py-3 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请详细描述举报事实,包括时间、地点、人物、事件经过等信息,尽可能提供相关证据线索...`},null,512),[[h,W.value]]),a[42]||=c(`p`,{class:`mt-1 text-xs text-gray-500`},`请客观、准确、详细地描述事件经过,这将有助于我们进行调查核实`,-1)]),c(`div`,Ae,[a[43]||=c(`label`,{for:`contact-email`,class:`block text-sm font-medium text-gray-700 mb-2`},`您的邮箱(用于消息处理和反馈)`,-1),t(c(`input`,{type:`email`,id:`contact-email`,"onUpdate:modelValue":a[5]||=e=>G.value=e,class:`w-full px-4 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入您的邮箱地址`},null,512),[[h,G.value]]),a[44]||=c(`p`,{class:`mt-1 text-xs text-gray-500`},`我们将通过此邮箱向您反馈举报处理进度和结果(匿名举报也建议填写)`,-1)]),c(`div`,{class:`flex justify-center scale-in`,style:{"animation-delay":`0.8s`}},[c(`button`,{id:`submit-report`,class:`bg-primary hover:bg-primary/90 text-white px-8 py-3 rounded-md font-medium transition-colors shadow-md hover:shadow-lg`,onClick:Ve},` 提交举报 `)])],512),[[_,V.value]])]),K.value?(i(),g(`div`,{key:0,class:`fixed inset-0 bg-black bg-opacity-50 z-50 flex items-center justify-center`,onClick:a[7]||=ee(e=>K.value=!1,[`self`])},[c(`div`,je,[a[45]||=m(`
提交前提示 请确认您所提供的举报信息真实、准确、完整。
故意捏造事实、诬告陷害他人的,将承担相应法律责任。
`,1),c(`div`,Me,[c(`button`,{class:`px-4 py-2 border border-gray-300 rounded-md text-sm font-medium text-gray-700 hover:bg-gray-50 transition-colors`,onClick:a[6]||=e=>K.value=!1},` 取消 `),c(`button`,{class:`px-4 py-2 bg-primary border border-transparent rounded-md text-sm font-medium text-white hover:bg-primary/90 transition-colors`,onClick:He},` 确认提交 `)])])])):l(``,!0)]))}}),[[`__scopeId`,`data-v-09d183f6`]]);export{B as default};
\ No newline at end of file
diff --git a/TempLate/assets/IntegrityReportView-DrDR-XT3.js b/TempLate/assets/IntegrityReportView-DrDR-XT3.js
new file mode 100644
index 00000000..483278f0
--- /dev/null
+++ b/TempLate/assets/IntegrityReportView-DrDR-XT3.js
@@ -0,0 +1 @@
+import{C as e,D as t,N as n,O as r,S as i,T as a,_ as o,a as s,c as ee,d as c,f as l,h as u,i as d,k as f,l as p,m,o as h,p as g,r as te,s as _,u as ne,y as re}from"./index-CJXuAy0L.js";import{t as v}from"./_plugin-vue_export-helper-BDNMzG2s.js";var ie={class:`bg-gray-50 font-sans text-gray-800 min-h-screen flex flex-col`},ae={class:`flex-grow pt-24 pb-16 px-4 sm:px-6 lg:px-8 max-w-7xl mx-auto w-full`},oe={id:`terms-section`,class:`mb-8 bg-white rounded-lg card-shadow p-6 file-corner slide-up`},se={class:`flex items-center`},ce={key:0,id:`countdown`,class:`mt-4 text-sm text-gray-500`},le={id:`countdown-timer`,class:`font-medium`},ue={key:1,id:`countdown`,class:`mt-4 text-sm text-gray-500`},de=[`disabled`],fe={id:`report-form`,class:`space-y-8`},pe={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`},me={class:`flex space-x-6`},y={class:`inline-flex items-center`},b={class:`inline-flex items-center`},x={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.1s`}},S={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.2s`}},C={id:`persons-container`},w=[`onClick`],T={class:`mb-3`},E=[`onUpdate:modelValue`],D={class:`mb-3`},O=[`onUpdate:modelValue`],k={class:`mb-3`},A=[`onUpdate:modelValue`],j={class:`mb-3`},M=[`onUpdate:modelValue`],N=[`onUpdate:modelValue`],P={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.3s`}},F={id:`departments-container`,class:`flex flex-wrap gap-2`},I=[`onUpdate:modelValue`],L=[`value`],R=[`onClick`],z={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.4s`}},he={id:`organizations-container`},ge=[`onClick`],_e={class:`mb-3`},ve=[`onUpdate:modelValue`],ye={class:`mb-3`},be=[`onUpdate:modelValue`],xe={class:`mb-3`},Se=[`onUpdate:modelValue`],Ce=[`onUpdate:modelValue`],we={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.5s`}},Te={id:`report-types-container`,class:`flex flex-wrap gap-2`},Ee=[`onUpdate:modelValue`],De=[`value`],Oe=[`onClick`],ke={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.6s`}},Ae={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.7s`}},je={class:`bg-white rounded-lg p-6 max-w-md w-full mx-4 scale-in`},Me={class:`mt-6 flex justify-end space-x-3`},B=v(o({__name:`IntegrityReportView`,setup(o){let v=f(!1),B=f(10),Ne=ne(()=>v.value&&B.value===0),V=f(!1),H=f(`anonymous`),U=f(``),W=f(``),G=f(``),K=f(!1),q=null;a(v,e=>{e?(B.value=10,q&&clearInterval(q),q=setInterval(()=>{B.value--,B.value<=0&&q&&clearInterval(q)},1e3)):(B.value=10,q&&clearInterval(q))});function Pe(){V.value=!0}let J=r([{name:``,id:``,contacts:``,address:``,website:``}]);function Fe(){J.push({name:``,id:``,contacts:``,address:``,website:``})}function Ie(e){J.length>1?J.splice(e,1):alert(`至少需要填写一个被举报人信息`)}let Le=[{value:`engineering`,label:`工程部`},{value:`design`,label:`美工部`},{value:`operation`,label:`运营部`},{value:`testing`,label:`测试部`},{value:`administration`,label:`行政部`},{value:`hr`,label:`人事部`},{value:`finance`,label:`财务部`},{value:`marketing`,label:`营销部`}],Y=r([{value:``}]);function X(){Y.push({value:``})}let Z=r([{name:``,icp:``,contact:``,notes:``}]);function Re(){Z.push({name:``,icp:``,contact:``,notes:``})}let ze=[{value:`bribery`,label:`收受贿赂`},{value:`bullying`,label:`员工霸凌`},{value:`verbal-abuse`,label:`言语咒骂`},{value:`crisis-neglect`,label:`危机未处理`},{value:`theft`,label:`窃取机密`},{value:`espionage`,label:`间谍`},{value:`political-affiliation`,label:`私通党派`},{value:`indecent-content`,label:`公开场合不雅图片、视频`}],Q=r([{value:``}]);function Be(){Q.push({value:``})}function $(e,t){e.splice(t,1)}function Ve(){if(!U.value.trim()){alert(`请填写举报标题`);return}if(!W.value.trim()){alert(`请填写举报内容`);return}if(!G.value.trim()){alert(`请填写您的邮箱地址,以便我们反馈处理结果`);return}if(Q.filter(e=>e.value!==``).length===0){alert(`请至少选择一种举报类型`);return}K.value=!0}function He(){K.value=!1,setTimeout(()=>{alert(`举报提交成功!我们将尽快处理您的举报,并通过您提供的邮箱反馈处理结果。感谢您的监督!`)},500)}return re(()=>{q&&clearInterval(q)}),(r,a)=>(i(),g(`div`,ie,[c(`main`,ae,[t(c(`div`,oe,[a[11]||=m(`举报条款与声明 1. 举报人应当如实提供被举报人的有关情况和举报材料,不得捏造、歪曲事实,不得诬告、陷害他人。
2. 对于实名举报,我们将对举报人信息严格保密;对于匿名举报,我们将按照规定程序处理,但可能无法反馈处理结果。
3. 故意捏造事实、诬告陷害他人的,依法承担相应责任。
4. 举报内容应当客观真实,对所提供材料内容的真实性负责,不得提供虚假信息。
5. 本平台将依法保护举报人的合法权益,对打击报复举报人的行为将依法处理。
6. 举报事项应当属于本平台受理范围,对于不属于受理范围的举报,将按规定转相关部门处理或告知举报人。
7. 请您认真阅读并理解以上条款,点击"我同意以上条目"即表示您已阅读并同意遵守上述规定。
`,2),c(`div`,se,[t(c(`input`,{type:`checkbox`,id:`agree-terms`,"onUpdate:modelValue":a[0]||=e=>v.value=e,class:`h-4 w-4 text-primary border-gray-300 rounded focus:ring-primary`},null,512),[[te,v.value]]),a[8]||=c(`label`,{for:`agree-terms`,class:`ml-2 block text-sm text-gray-700`},`我同意以上条目`,-1)]),v.value&&B.value>0?(i(),g(`div`,ce,[a[9]||=u(` 请等待 `,-1),c(`span`,le,n(B.value),1),a[10]||=u(` 秒后开始填写举报信息 `,-1)])):v.value&&B.value===0?(i(),g(`div`,ue,`可以开始填写举报信息了`)):l(``,!0),c(`button`,{id:`start-button`,class:`mt-6 bg-primary hover:bg-primary/90 text-white px-6 py-2 rounded-md font-medium transition-colors disabled:opacity-50 disabled:cursor-not-allowed`,disabled:!Ne.value,onClick:Pe},` 开始举报 `,8,de)],512),[[_,!V.value]]),t(c(`div`,fe,[c(`div`,pe,[a[14]||=c(`h3`,{class:`text-lg font-semibold mb-4 text-gray-800`},`举报方式`,-1),c(`div`,me,[c(`label`,y,[t(c(`input`,{type:`radio`,name:`report-type`,value:`anonymous`,"onUpdate:modelValue":a[1]||=e=>H.value=e,class:`text-primary focus:ring-primary h-4 w-4`},null,512),[[d,H.value]]),a[12]||=c(`span`,{class:`ml-2 text-gray-700`},`匿名举报`,-1)]),c(`label`,b,[t(c(`input`,{type:`radio`,name:`report-type`,value:`realname`,"onUpdate:modelValue":a[2]||=e=>H.value=e,class:`text-primary focus:ring-primary h-4 w-4`},null,512),[[d,H.value]]),a[13]||=c(`span`,{class:`ml-2 text-gray-700`},`实名举报`,-1)])])]),c(`div`,x,[a[15]||=c(`label`,{for:`report-title`,class:`block text-sm font-medium text-gray-700 mb-2`},`举报标题`,-1),t(c(`input`,{type:`text`,id:`report-title`,"onUpdate:modelValue":a[3]||=e=>U.value=e,class:`w-full px-4 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请简要描述举报内容`},null,512),[[h,U.value]]),a[16]||=c(`p`,{class:`mt-1 text-xs text-gray-500`},`请简明扼要地描述举报的核心内容`,-1)]),c(`div`,S,[c(`div`,{class:`flex justify-between items-center mb-4`},[a[18]||=c(`h3`,{class:`text-lg font-semibold text-gray-800`},`被举报人信息`,-1),c(`button`,{class:`text-primary hover:text-primary/80 text-sm font-medium flex items-center transition-colors`,onClick:Fe},[...a[17]||=[c(`i`,{class:`fa fa-plus-circle mr-1`},null,-1),u(` 添加被举报人 `,-1)]])]),c(`div`,C,[(i(!0),g(p,null,e(J,(e,n)=>(i(),g(`div`,{key:n,class:`person-card border border-gray-200 rounded-md p-4 mb-4 relative`},[c(`button`,{class:`remove-person absolute top-2 right-2 text-gray-400 hover:text-red-500 transition-colors`,onClick:e=>Ie(n)},[...a[19]||=[c(`i`,{class:`fa fa-times`},null,-1)]],8,w),c(`div`,T,[a[20]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`被举报人`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.name=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入被举报人名/昵称`},null,8,E),[[h,e.name]])]),c(`div`,D,[a[21]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`被举报人ID(选填)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.id=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入被举报人ID(如有)`},null,8,O),[[h,e.id]])]),c(`div`,k,[a[22]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`联系方式(选填,空格分隔)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.contacts=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`微信号 QQ号 X账号 Discord 姓名 性别 身份证 邮箱`},null,8,A),[[h,e.contacts]]),a[23]||=c(`p`,{class:`mt-1 text-xs text-gray-500`},`支持填写多种联系方式,用空格分隔`,-1)]),c(`div`,j,[a[24]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`地址(选填,空格分隔)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.address=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`省 市 区 详细地址`},null,8,M),[[h,e.address]])]),c(`div`,null,[a[25]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`个人网站(选填)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.website=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`如个人博客、社交媒体主页等`},null,8,N),[[h,e.website]])])]))),128))])]),c(`div`,P,[c(`div`,{class:`flex justify-between items-center mb-4`},[a[27]||=c(`h3`,{class:`text-lg font-semibold text-gray-800`},`涉事部门(可多选)`,-1),c(`button`,{class:`text-primary hover:text-primary/80 text-sm font-medium flex items-center transition-colors`,onClick:X},[...a[26]||=[c(`i`,{class:`fa fa-plus-circle mr-1`},null,-1),u(` 添加部门`,-1)]])]),c(`div`,F,[(i(!0),g(p,null,e(Y,(r,o)=>(i(),g(`div`,{key:o,class:`department-card bg-neutral rounded-md px-3 py-2 flex items-center scale-in`},[t(c(`select`,{"onUpdate:modelValue":e=>r.value=e,class:`bg-transparent border-none focus:ring-0 text-sm`},[a[28]||=c(`option`,{value:``},`请选择部门`,-1),(i(),g(p,null,e(Le,e=>c(`option`,{key:e.value,value:e.value},n(e.label),9,L)),64))],8,I),[[s,r.value]]),c(`button`,{class:`remove-department ml-2 text-gray-400 hover:text-red-500 transition-colors`,onClick:e=>$(Y,o)},[...a[29]||=[c(`i`,{class:`fa fa-times-circle`},null,-1)]],8,R)]))),128))])]),c(`div`,z,[c(`div`,{class:`flex justify-between items-center mb-4`},[a[31]||=c(`h3`,{class:`text-lg font-semibold text-gray-800`},`参与组织(可多选)`,-1),c(`button`,{class:`text-primary hover:text-primary/80 text-sm font-medium flex items-center transition-colors`,onClick:Re},[...a[30]||=[c(`i`,{class:`fa fa-plus-circle mr-1`},null,-1),u(` 添加组织`,-1)]])]),c(`div`,he,[(i(!0),g(p,null,e(Z,(e,n)=>(i(),g(`div`,{key:n,class:`organization-card border border-gray-200 rounded-md p-4 mb-4 relative scale-in`},[c(`button`,{class:`remove-organization absolute top-2 right-2 text-gray-400 hover:text-red-500 transition-colors`,onClick:e=>$(Z,n)},[...a[32]||=[c(`i`,{class:`fa fa-times`},null,-1)]],8,ge),c(`div`,_e,[a[33]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`商家名称`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.name=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入参与组织/商家名称`},null,8,ve),[[h,e.name]])]),c(`div`,ye,[a[34]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`商家ICP(选填)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.icp=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入ICP备案号`},null,8,be),[[h,e.icp]])]),c(`div`,xe,[a[35]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`商家联系方式(选填)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.contact=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入联系方式`},null,8,Se),[[h,e.contact]])]),c(`div`,null,[a[36]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`其它备注(选填)`,-1),t(c(`textarea`,{"onUpdate:modelValue":t=>e.notes=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,rows:`2`,placeholder:`请输入其他相关信息`},null,8,Ce),[[h,e.notes]])])]))),128))])]),c(`div`,we,[c(`div`,{class:`flex justify-between items-center mb-4`},[a[38]||=c(`h3`,{class:`text-lg font-semibold text-gray-800`},`举报类型(可多选)`,-1),c(`button`,{class:`text-primary hover:text-primary/80 text-sm font-medium flex items-center transition-colors`,onClick:Be},[...a[37]||=[c(`i`,{class:`fa fa-plus-circle mr-1`},null,-1),u(` 添加类型`,-1)]])]),c(`div`,Te,[(i(!0),g(p,null,e(Q,(r,o)=>(i(),g(`div`,{key:o,class:`report-type-card bg-neutral rounded-md px-3 py-2 flex items-center scale-in`},[t(c(`select`,{"onUpdate:modelValue":e=>r.value=e,class:`type-select bg-transparent border-none focus:ring-0 text-sm`},[a[39]||=c(`option`,{value:``},`请选择举报类型`,-1),(i(),g(p,null,e(ze,e=>c(`option`,{key:e.value,value:e.value},n(e.label),9,De)),64))],8,Ee),[[s,r.value]]),c(`button`,{class:`remove-type ml-2 text-gray-400 hover:text-red-500 transition-colors`,onClick:e=>$(Q,o)},[...a[40]||=[c(`i`,{class:`fa fa-times-circle`},null,-1)]],8,Oe)]))),128))])]),c(`div`,ke,[a[41]||=c(`label`,{for:`report-content`,class:`block text-sm font-medium text-gray-700 mb-2`},`举报内容`,-1),t(c(`textarea`,{id:`report-content`,"onUpdate:modelValue":a[4]||=e=>W.value=e,rows:`8`,class:`w-full px-4 py-3 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请详细描述举报事实,包括时间、地点、人物、事件经过等信息,尽可能提供相关证据线索...`},null,512),[[h,W.value]]),a[42]||=c(`p`,{class:`mt-1 text-xs text-gray-500`},`请客观、准确、详细地描述事件经过,这将有助于我们进行调查核实`,-1)]),c(`div`,Ae,[a[43]||=c(`label`,{for:`contact-email`,class:`block text-sm font-medium text-gray-700 mb-2`},`您的邮箱(用于消息处理和反馈)`,-1),t(c(`input`,{type:`email`,id:`contact-email`,"onUpdate:modelValue":a[5]||=e=>G.value=e,class:`w-full px-4 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入您的邮箱地址`},null,512),[[h,G.value]]),a[44]||=c(`p`,{class:`mt-1 text-xs text-gray-500`},`我们将通过此邮箱向您反馈举报处理进度和结果(匿名举报也建议填写)`,-1)]),c(`div`,{class:`flex justify-center scale-in`,style:{"animation-delay":`0.8s`}},[c(`button`,{id:`submit-report`,class:`bg-primary hover:bg-primary/90 text-white px-8 py-3 rounded-md font-medium transition-colors shadow-md hover:shadow-lg`,onClick:Ve},` 提交举报 `)])],512),[[_,V.value]])]),K.value?(i(),g(`div`,{key:0,class:`fixed inset-0 bg-black bg-opacity-50 z-50 flex items-center justify-center`,onClick:a[7]||=ee(e=>K.value=!1,[`self`])},[c(`div`,je,[a[45]||=m(`
提交前提示 请确认您所提供的举报信息真实、准确、完整。
故意捏造事实、诬告陷害他人的,将承担相应法律责任。
`,1),c(`div`,Me,[c(`button`,{class:`px-4 py-2 border border-gray-300 rounded-md text-sm font-medium text-gray-700 hover:bg-gray-50 transition-colors`,onClick:a[6]||=e=>K.value=!1},` 取消 `),c(`button`,{class:`px-4 py-2 bg-primary border border-transparent rounded-md text-sm font-medium text-white hover:bg-primary/90 transition-colors`,onClick:He},` 确认提交 `)])])])):l(``,!0)]))}}),[[`__scopeId`,`data-v-09d183f6`]]);export{B as default};
\ No newline at end of file
diff --git a/TempLate/assets/IntegrityReportView-TOHJbWeY.js b/TempLate/assets/IntegrityReportView-TOHJbWeY.js
new file mode 100644
index 00000000..38fee2ca
--- /dev/null
+++ b/TempLate/assets/IntegrityReportView-TOHJbWeY.js
@@ -0,0 +1 @@
+import{C as e,D as t,N as n,O as r,S as i,T as a,_ as o,a as s,c as ee,d as c,f as l,h as u,i as d,k as f,l as p,m,o as h,p as g,r as te,s as _,u as ne,y as re}from"./index-PMfCvoYM.js";import{t as v}from"./_plugin-vue_export-helper-BDNMzG2s.js";var ie={class:`bg-gray-50 font-sans text-gray-800 min-h-screen flex flex-col`},ae={class:`flex-grow pt-24 pb-16 px-4 sm:px-6 lg:px-8 max-w-7xl mx-auto w-full`},oe={id:`terms-section`,class:`mb-8 bg-white rounded-lg card-shadow p-6 file-corner slide-up`},se={class:`flex items-center`},ce={key:0,id:`countdown`,class:`mt-4 text-sm text-gray-500`},le={id:`countdown-timer`,class:`font-medium`},ue={key:1,id:`countdown`,class:`mt-4 text-sm text-gray-500`},de=[`disabled`],fe={id:`report-form`,class:`space-y-8`},pe={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`},me={class:`flex space-x-6`},y={class:`inline-flex items-center`},b={class:`inline-flex items-center`},x={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.1s`}},S={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.2s`}},C={id:`persons-container`},w=[`onClick`],T={class:`mb-3`},E=[`onUpdate:modelValue`],D={class:`mb-3`},O=[`onUpdate:modelValue`],k={class:`mb-3`},A=[`onUpdate:modelValue`],j={class:`mb-3`},M=[`onUpdate:modelValue`],N=[`onUpdate:modelValue`],P={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.3s`}},F={id:`departments-container`,class:`flex flex-wrap gap-2`},I=[`onUpdate:modelValue`],L=[`value`],R=[`onClick`],z={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.4s`}},he={id:`organizations-container`},ge=[`onClick`],_e={class:`mb-3`},ve=[`onUpdate:modelValue`],ye={class:`mb-3`},be=[`onUpdate:modelValue`],xe={class:`mb-3`},Se=[`onUpdate:modelValue`],Ce=[`onUpdate:modelValue`],we={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.5s`}},Te={id:`report-types-container`,class:`flex flex-wrap gap-2`},Ee=[`onUpdate:modelValue`],De=[`value`],Oe=[`onClick`],ke={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.6s`}},Ae={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.7s`}},je={class:`bg-white rounded-lg p-6 max-w-md w-full mx-4 scale-in`},Me={class:`mt-6 flex justify-end space-x-3`},B=v(o({__name:`IntegrityReportView`,setup(o){let v=f(!1),B=f(10),Ne=ne(()=>v.value&&B.value===0),V=f(!1),H=f(`anonymous`),U=f(``),W=f(``),G=f(``),K=f(!1),q=null;a(v,e=>{e?(B.value=10,q&&clearInterval(q),q=setInterval(()=>{B.value--,B.value<=0&&q&&clearInterval(q)},1e3)):(B.value=10,q&&clearInterval(q))});function Pe(){V.value=!0}let J=r([{name:``,id:``,contacts:``,address:``,website:``}]);function Fe(){J.push({name:``,id:``,contacts:``,address:``,website:``})}function Ie(e){J.length>1?J.splice(e,1):alert(`至少需要填写一个被举报人信息`)}let Le=[{value:`engineering`,label:`工程部`},{value:`design`,label:`美工部`},{value:`operation`,label:`运营部`},{value:`testing`,label:`测试部`},{value:`administration`,label:`行政部`},{value:`hr`,label:`人事部`},{value:`finance`,label:`财务部`},{value:`marketing`,label:`营销部`}],Y=r([{value:``}]);function X(){Y.push({value:``})}let Z=r([{name:``,icp:``,contact:``,notes:``}]);function Re(){Z.push({name:``,icp:``,contact:``,notes:``})}let ze=[{value:`bribery`,label:`收受贿赂`},{value:`bullying`,label:`员工霸凌`},{value:`verbal-abuse`,label:`言语咒骂`},{value:`crisis-neglect`,label:`危机未处理`},{value:`theft`,label:`窃取机密`},{value:`espionage`,label:`间谍`},{value:`political-affiliation`,label:`私通党派`},{value:`indecent-content`,label:`公开场合不雅图片、视频`}],Q=r([{value:``}]);function Be(){Q.push({value:``})}function $(e,t){e.splice(t,1)}function Ve(){if(!U.value.trim()){alert(`请填写举报标题`);return}if(!W.value.trim()){alert(`请填写举报内容`);return}if(!G.value.trim()){alert(`请填写您的邮箱地址,以便我们反馈处理结果`);return}if(Q.filter(e=>e.value!==``).length===0){alert(`请至少选择一种举报类型`);return}K.value=!0}function He(){K.value=!1,setTimeout(()=>{alert(`举报提交成功!我们将尽快处理您的举报,并通过您提供的邮箱反馈处理结果。感谢您的监督!`)},500)}return re(()=>{q&&clearInterval(q)}),(r,a)=>(i(),g(`div`,ie,[c(`main`,ae,[t(c(`div`,oe,[a[11]||=m(`举报条款与声明 1. 举报人应当如实提供被举报人的有关情况和举报材料,不得捏造、歪曲事实,不得诬告、陷害他人。
2. 对于实名举报,我们将对举报人信息严格保密;对于匿名举报,我们将按照规定程序处理,但可能无法反馈处理结果。
3. 故意捏造事实、诬告陷害他人的,依法承担相应责任。
4. 举报内容应当客观真实,对所提供材料内容的真实性负责,不得提供虚假信息。
5. 本平台将依法保护举报人的合法权益,对打击报复举报人的行为将依法处理。
6. 举报事项应当属于本平台受理范围,对于不属于受理范围的举报,将按规定转相关部门处理或告知举报人。
7. 请您认真阅读并理解以上条款,点击"我同意以上条目"即表示您已阅读并同意遵守上述规定。
`,2),c(`div`,se,[t(c(`input`,{type:`checkbox`,id:`agree-terms`,"onUpdate:modelValue":a[0]||=e=>v.value=e,class:`h-4 w-4 text-primary border-gray-300 rounded focus:ring-primary`},null,512),[[te,v.value]]),a[8]||=c(`label`,{for:`agree-terms`,class:`ml-2 block text-sm text-gray-700`},`我同意以上条目`,-1)]),v.value&&B.value>0?(i(),g(`div`,ce,[a[9]||=u(` 请等待 `,-1),c(`span`,le,n(B.value),1),a[10]||=u(` 秒后开始填写举报信息 `,-1)])):v.value&&B.value===0?(i(),g(`div`,ue,`可以开始填写举报信息了`)):l(``,!0),c(`button`,{id:`start-button`,class:`mt-6 bg-primary hover:bg-primary/90 text-white px-6 py-2 rounded-md font-medium transition-colors disabled:opacity-50 disabled:cursor-not-allowed`,disabled:!Ne.value,onClick:Pe},` 开始举报 `,8,de)],512),[[_,!V.value]]),t(c(`div`,fe,[c(`div`,pe,[a[14]||=c(`h3`,{class:`text-lg font-semibold mb-4 text-gray-800`},`举报方式`,-1),c(`div`,me,[c(`label`,y,[t(c(`input`,{type:`radio`,name:`report-type`,value:`anonymous`,"onUpdate:modelValue":a[1]||=e=>H.value=e,class:`text-primary focus:ring-primary h-4 w-4`},null,512),[[d,H.value]]),a[12]||=c(`span`,{class:`ml-2 text-gray-700`},`匿名举报`,-1)]),c(`label`,b,[t(c(`input`,{type:`radio`,name:`report-type`,value:`realname`,"onUpdate:modelValue":a[2]||=e=>H.value=e,class:`text-primary focus:ring-primary h-4 w-4`},null,512),[[d,H.value]]),a[13]||=c(`span`,{class:`ml-2 text-gray-700`},`实名举报`,-1)])])]),c(`div`,x,[a[15]||=c(`label`,{for:`report-title`,class:`block text-sm font-medium text-gray-700 mb-2`},`举报标题`,-1),t(c(`input`,{type:`text`,id:`report-title`,"onUpdate:modelValue":a[3]||=e=>U.value=e,class:`w-full px-4 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请简要描述举报内容`},null,512),[[h,U.value]]),a[16]||=c(`p`,{class:`mt-1 text-xs text-gray-500`},`请简明扼要地描述举报的核心内容`,-1)]),c(`div`,S,[c(`div`,{class:`flex justify-between items-center mb-4`},[a[18]||=c(`h3`,{class:`text-lg font-semibold text-gray-800`},`被举报人信息`,-1),c(`button`,{class:`text-primary hover:text-primary/80 text-sm font-medium flex items-center transition-colors`,onClick:Fe},[...a[17]||=[c(`i`,{class:`fa fa-plus-circle mr-1`},null,-1),u(` 添加被举报人 `,-1)]])]),c(`div`,C,[(i(!0),g(p,null,e(J,(e,n)=>(i(),g(`div`,{key:n,class:`person-card border border-gray-200 rounded-md p-4 mb-4 relative`},[c(`button`,{class:`remove-person absolute top-2 right-2 text-gray-400 hover:text-red-500 transition-colors`,onClick:e=>Ie(n)},[...a[19]||=[c(`i`,{class:`fa fa-times`},null,-1)]],8,w),c(`div`,T,[a[20]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`被举报人`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.name=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入被举报人名/昵称`},null,8,E),[[h,e.name]])]),c(`div`,D,[a[21]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`被举报人ID(选填)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.id=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入被举报人ID(如有)`},null,8,O),[[h,e.id]])]),c(`div`,k,[a[22]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`联系方式(选填,空格分隔)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.contacts=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`微信号 QQ号 X账号 Discord 姓名 性别 身份证 邮箱`},null,8,A),[[h,e.contacts]]),a[23]||=c(`p`,{class:`mt-1 text-xs text-gray-500`},`支持填写多种联系方式,用空格分隔`,-1)]),c(`div`,j,[a[24]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`地址(选填,空格分隔)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.address=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`省 市 区 详细地址`},null,8,M),[[h,e.address]])]),c(`div`,null,[a[25]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`个人网站(选填)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.website=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`如个人博客、社交媒体主页等`},null,8,N),[[h,e.website]])])]))),128))])]),c(`div`,P,[c(`div`,{class:`flex justify-between items-center mb-4`},[a[27]||=c(`h3`,{class:`text-lg font-semibold text-gray-800`},`涉事部门(可多选)`,-1),c(`button`,{class:`text-primary hover:text-primary/80 text-sm font-medium flex items-center transition-colors`,onClick:X},[...a[26]||=[c(`i`,{class:`fa fa-plus-circle mr-1`},null,-1),u(` 添加部门`,-1)]])]),c(`div`,F,[(i(!0),g(p,null,e(Y,(r,o)=>(i(),g(`div`,{key:o,class:`department-card bg-neutral rounded-md px-3 py-2 flex items-center scale-in`},[t(c(`select`,{"onUpdate:modelValue":e=>r.value=e,class:`bg-transparent border-none focus:ring-0 text-sm`},[a[28]||=c(`option`,{value:``},`请选择部门`,-1),(i(),g(p,null,e(Le,e=>c(`option`,{key:e.value,value:e.value},n(e.label),9,L)),64))],8,I),[[s,r.value]]),c(`button`,{class:`remove-department ml-2 text-gray-400 hover:text-red-500 transition-colors`,onClick:e=>$(Y,o)},[...a[29]||=[c(`i`,{class:`fa fa-times-circle`},null,-1)]],8,R)]))),128))])]),c(`div`,z,[c(`div`,{class:`flex justify-between items-center mb-4`},[a[31]||=c(`h3`,{class:`text-lg font-semibold text-gray-800`},`参与组织(可多选)`,-1),c(`button`,{class:`text-primary hover:text-primary/80 text-sm font-medium flex items-center transition-colors`,onClick:Re},[...a[30]||=[c(`i`,{class:`fa fa-plus-circle mr-1`},null,-1),u(` 添加组织`,-1)]])]),c(`div`,he,[(i(!0),g(p,null,e(Z,(e,n)=>(i(),g(`div`,{key:n,class:`organization-card border border-gray-200 rounded-md p-4 mb-4 relative scale-in`},[c(`button`,{class:`remove-organization absolute top-2 right-2 text-gray-400 hover:text-red-500 transition-colors`,onClick:e=>$(Z,n)},[...a[32]||=[c(`i`,{class:`fa fa-times`},null,-1)]],8,ge),c(`div`,_e,[a[33]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`商家名称`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.name=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入参与组织/商家名称`},null,8,ve),[[h,e.name]])]),c(`div`,ye,[a[34]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`商家ICP(选填)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.icp=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入ICP备案号`},null,8,be),[[h,e.icp]])]),c(`div`,xe,[a[35]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`商家联系方式(选填)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.contact=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入联系方式`},null,8,Se),[[h,e.contact]])]),c(`div`,null,[a[36]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`其它备注(选填)`,-1),t(c(`textarea`,{"onUpdate:modelValue":t=>e.notes=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,rows:`2`,placeholder:`请输入其他相关信息`},null,8,Ce),[[h,e.notes]])])]))),128))])]),c(`div`,we,[c(`div`,{class:`flex justify-between items-center mb-4`},[a[38]||=c(`h3`,{class:`text-lg font-semibold text-gray-800`},`举报类型(可多选)`,-1),c(`button`,{class:`text-primary hover:text-primary/80 text-sm font-medium flex items-center transition-colors`,onClick:Be},[...a[37]||=[c(`i`,{class:`fa fa-plus-circle mr-1`},null,-1),u(` 添加类型`,-1)]])]),c(`div`,Te,[(i(!0),g(p,null,e(Q,(r,o)=>(i(),g(`div`,{key:o,class:`report-type-card bg-neutral rounded-md px-3 py-2 flex items-center scale-in`},[t(c(`select`,{"onUpdate:modelValue":e=>r.value=e,class:`type-select bg-transparent border-none focus:ring-0 text-sm`},[a[39]||=c(`option`,{value:``},`请选择举报类型`,-1),(i(),g(p,null,e(ze,e=>c(`option`,{key:e.value,value:e.value},n(e.label),9,De)),64))],8,Ee),[[s,r.value]]),c(`button`,{class:`remove-type ml-2 text-gray-400 hover:text-red-500 transition-colors`,onClick:e=>$(Q,o)},[...a[40]||=[c(`i`,{class:`fa fa-times-circle`},null,-1)]],8,Oe)]))),128))])]),c(`div`,ke,[a[41]||=c(`label`,{for:`report-content`,class:`block text-sm font-medium text-gray-700 mb-2`},`举报内容`,-1),t(c(`textarea`,{id:`report-content`,"onUpdate:modelValue":a[4]||=e=>W.value=e,rows:`8`,class:`w-full px-4 py-3 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请详细描述举报事实,包括时间、地点、人物、事件经过等信息,尽可能提供相关证据线索...`},null,512),[[h,W.value]]),a[42]||=c(`p`,{class:`mt-1 text-xs text-gray-500`},`请客观、准确、详细地描述事件经过,这将有助于我们进行调查核实`,-1)]),c(`div`,Ae,[a[43]||=c(`label`,{for:`contact-email`,class:`block text-sm font-medium text-gray-700 mb-2`},`您的邮箱(用于消息处理和反馈)`,-1),t(c(`input`,{type:`email`,id:`contact-email`,"onUpdate:modelValue":a[5]||=e=>G.value=e,class:`w-full px-4 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入您的邮箱地址`},null,512),[[h,G.value]]),a[44]||=c(`p`,{class:`mt-1 text-xs text-gray-500`},`我们将通过此邮箱向您反馈举报处理进度和结果(匿名举报也建议填写)`,-1)]),c(`div`,{class:`flex justify-center scale-in`,style:{"animation-delay":`0.8s`}},[c(`button`,{id:`submit-report`,class:`bg-primary hover:bg-primary/90 text-white px-8 py-3 rounded-md font-medium transition-colors shadow-md hover:shadow-lg`,onClick:Ve},` 提交举报 `)])],512),[[_,V.value]])]),K.value?(i(),g(`div`,{key:0,class:`fixed inset-0 bg-black bg-opacity-50 z-50 flex items-center justify-center`,onClick:a[7]||=ee(e=>K.value=!1,[`self`])},[c(`div`,je,[a[45]||=m(`
提交前提示 请确认您所提供的举报信息真实、准确、完整。
故意捏造事实、诬告陷害他人的,将承担相应法律责任。
`,1),c(`div`,Me,[c(`button`,{class:`px-4 py-2 border border-gray-300 rounded-md text-sm font-medium text-gray-700 hover:bg-gray-50 transition-colors`,onClick:a[6]||=e=>K.value=!1},` 取消 `),c(`button`,{class:`px-4 py-2 bg-primary border border-transparent rounded-md text-sm font-medium text-white hover:bg-primary/90 transition-colors`,onClick:He},` 确认提交 `)])])])):l(``,!0)]))}}),[[`__scopeId`,`data-v-09d183f6`]]);export{B as default};
\ No newline at end of file
diff --git a/TempLate/assets/IntegrityReportView-nnjMLTFs.js b/TempLate/assets/IntegrityReportView-nnjMLTFs.js
new file mode 100644
index 00000000..1394528f
--- /dev/null
+++ b/TempLate/assets/IntegrityReportView-nnjMLTFs.js
@@ -0,0 +1 @@
+import{C as e,D as t,N as n,O as r,S as i,T as a,_ as o,a as s,c as ee,d as c,f as l,h as u,i as d,k as f,l as p,m,o as h,p as g,r as te,s as _,u as ne,y as re}from"./index-UfMysbwD.js";import{t as v}from"./_plugin-vue_export-helper-BDNMzG2s.js";var ie={class:`bg-gray-50 font-sans text-gray-800 min-h-screen flex flex-col`},ae={class:`flex-grow pt-24 pb-16 px-4 sm:px-6 lg:px-8 max-w-7xl mx-auto w-full`},oe={id:`terms-section`,class:`mb-8 bg-white rounded-lg card-shadow p-6 file-corner slide-up`},se={class:`flex items-center`},ce={key:0,id:`countdown`,class:`mt-4 text-sm text-gray-500`},le={id:`countdown-timer`,class:`font-medium`},ue={key:1,id:`countdown`,class:`mt-4 text-sm text-gray-500`},de=[`disabled`],fe={id:`report-form`,class:`space-y-8`},pe={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`},me={class:`flex space-x-6`},y={class:`inline-flex items-center`},b={class:`inline-flex items-center`},x={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.1s`}},S={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.2s`}},C={id:`persons-container`},w=[`onClick`],T={class:`mb-3`},E=[`onUpdate:modelValue`],D={class:`mb-3`},O=[`onUpdate:modelValue`],k={class:`mb-3`},A=[`onUpdate:modelValue`],j={class:`mb-3`},M=[`onUpdate:modelValue`],N=[`onUpdate:modelValue`],P={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.3s`}},F={id:`departments-container`,class:`flex flex-wrap gap-2`},I=[`onUpdate:modelValue`],L=[`value`],R=[`onClick`],z={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.4s`}},he={id:`organizations-container`},ge=[`onClick`],_e={class:`mb-3`},ve=[`onUpdate:modelValue`],ye={class:`mb-3`},be=[`onUpdate:modelValue`],xe={class:`mb-3`},Se=[`onUpdate:modelValue`],Ce=[`onUpdate:modelValue`],we={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.5s`}},Te={id:`report-types-container`,class:`flex flex-wrap gap-2`},Ee=[`onUpdate:modelValue`],De=[`value`],Oe=[`onClick`],ke={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.6s`}},Ae={class:`bg-white rounded-lg card-shadow p-6 file-corner scale-in`,style:{"animation-delay":`0.7s`}},je={class:`bg-white rounded-lg p-6 max-w-md w-full mx-4 scale-in`},Me={class:`mt-6 flex justify-end space-x-3`},B=v(o({__name:`IntegrityReportView`,setup(o){let v=f(!1),B=f(10),Ne=ne(()=>v.value&&B.value===0),V=f(!1),H=f(`anonymous`),U=f(``),W=f(``),G=f(``),K=f(!1),q=null;a(v,e=>{e?(B.value=10,q&&clearInterval(q),q=setInterval(()=>{B.value--,B.value<=0&&q&&clearInterval(q)},1e3)):(B.value=10,q&&clearInterval(q))});function Pe(){V.value=!0}let J=r([{name:``,id:``,contacts:``,address:``,website:``}]);function Fe(){J.push({name:``,id:``,contacts:``,address:``,website:``})}function Ie(e){J.length>1?J.splice(e,1):alert(`至少需要填写一个被举报人信息`)}let Le=[{value:`engineering`,label:`工程部`},{value:`design`,label:`美工部`},{value:`operation`,label:`运营部`},{value:`testing`,label:`测试部`},{value:`administration`,label:`行政部`},{value:`hr`,label:`人事部`},{value:`finance`,label:`财务部`},{value:`marketing`,label:`营销部`}],Y=r([{value:``}]);function X(){Y.push({value:``})}let Z=r([{name:``,icp:``,contact:``,notes:``}]);function Re(){Z.push({name:``,icp:``,contact:``,notes:``})}let ze=[{value:`bribery`,label:`收受贿赂`},{value:`bullying`,label:`员工霸凌`},{value:`verbal-abuse`,label:`言语咒骂`},{value:`crisis-neglect`,label:`危机未处理`},{value:`theft`,label:`窃取机密`},{value:`espionage`,label:`间谍`},{value:`political-affiliation`,label:`私通党派`},{value:`indecent-content`,label:`公开场合不雅图片、视频`}],Q=r([{value:``}]);function Be(){Q.push({value:``})}function $(e,t){e.splice(t,1)}function Ve(){if(!U.value.trim()){alert(`请填写举报标题`);return}if(!W.value.trim()){alert(`请填写举报内容`);return}if(!G.value.trim()){alert(`请填写您的邮箱地址,以便我们反馈处理结果`);return}if(Q.filter(e=>e.value!==``).length===0){alert(`请至少选择一种举报类型`);return}K.value=!0}function He(){K.value=!1,setTimeout(()=>{alert(`举报提交成功!我们将尽快处理您的举报,并通过您提供的邮箱反馈处理结果。感谢您的监督!`)},500)}return re(()=>{q&&clearInterval(q)}),(r,a)=>(i(),g(`div`,ie,[c(`main`,ae,[t(c(`div`,oe,[a[11]||=m(`举报条款与声明 1. 举报人应当如实提供被举报人的有关情况和举报材料,不得捏造、歪曲事实,不得诬告、陷害他人。
2. 对于实名举报,我们将对举报人信息严格保密;对于匿名举报,我们将按照规定程序处理,但可能无法反馈处理结果。
3. 故意捏造事实、诬告陷害他人的,依法承担相应责任。
4. 举报内容应当客观真实,对所提供材料内容的真实性负责,不得提供虚假信息。
5. 本平台将依法保护举报人的合法权益,对打击报复举报人的行为将依法处理。
6. 举报事项应当属于本平台受理范围,对于不属于受理范围的举报,将按规定转相关部门处理或告知举报人。
7. 请您认真阅读并理解以上条款,点击"我同意以上条目"即表示您已阅读并同意遵守上述规定。
`,2),c(`div`,se,[t(c(`input`,{type:`checkbox`,id:`agree-terms`,"onUpdate:modelValue":a[0]||=e=>v.value=e,class:`h-4 w-4 text-primary border-gray-300 rounded focus:ring-primary`},null,512),[[te,v.value]]),a[8]||=c(`label`,{for:`agree-terms`,class:`ml-2 block text-sm text-gray-700`},`我同意以上条目`,-1)]),v.value&&B.value>0?(i(),g(`div`,ce,[a[9]||=u(` 请等待 `,-1),c(`span`,le,n(B.value),1),a[10]||=u(` 秒后开始填写举报信息 `,-1)])):v.value&&B.value===0?(i(),g(`div`,ue,`可以开始填写举报信息了`)):l(``,!0),c(`button`,{id:`start-button`,class:`mt-6 bg-primary hover:bg-primary/90 text-white px-6 py-2 rounded-md font-medium transition-colors disabled:opacity-50 disabled:cursor-not-allowed`,disabled:!Ne.value,onClick:Pe},` 开始举报 `,8,de)],512),[[_,!V.value]]),t(c(`div`,fe,[c(`div`,pe,[a[14]||=c(`h3`,{class:`text-lg font-semibold mb-4 text-gray-800`},`举报方式`,-1),c(`div`,me,[c(`label`,y,[t(c(`input`,{type:`radio`,name:`report-type`,value:`anonymous`,"onUpdate:modelValue":a[1]||=e=>H.value=e,class:`text-primary focus:ring-primary h-4 w-4`},null,512),[[d,H.value]]),a[12]||=c(`span`,{class:`ml-2 text-gray-700`},`匿名举报`,-1)]),c(`label`,b,[t(c(`input`,{type:`radio`,name:`report-type`,value:`realname`,"onUpdate:modelValue":a[2]||=e=>H.value=e,class:`text-primary focus:ring-primary h-4 w-4`},null,512),[[d,H.value]]),a[13]||=c(`span`,{class:`ml-2 text-gray-700`},`实名举报`,-1)])])]),c(`div`,x,[a[15]||=c(`label`,{for:`report-title`,class:`block text-sm font-medium text-gray-700 mb-2`},`举报标题`,-1),t(c(`input`,{type:`text`,id:`report-title`,"onUpdate:modelValue":a[3]||=e=>U.value=e,class:`w-full px-4 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请简要描述举报内容`},null,512),[[h,U.value]]),a[16]||=c(`p`,{class:`mt-1 text-xs text-gray-500`},`请简明扼要地描述举报的核心内容`,-1)]),c(`div`,S,[c(`div`,{class:`flex justify-between items-center mb-4`},[a[18]||=c(`h3`,{class:`text-lg font-semibold text-gray-800`},`被举报人信息`,-1),c(`button`,{class:`text-primary hover:text-primary/80 text-sm font-medium flex items-center transition-colors`,onClick:Fe},[...a[17]||=[c(`i`,{class:`fa fa-plus-circle mr-1`},null,-1),u(` 添加被举报人 `,-1)]])]),c(`div`,C,[(i(!0),g(p,null,e(J,(e,n)=>(i(),g(`div`,{key:n,class:`person-card border border-gray-200 rounded-md p-4 mb-4 relative`},[c(`button`,{class:`remove-person absolute top-2 right-2 text-gray-400 hover:text-red-500 transition-colors`,onClick:e=>Ie(n)},[...a[19]||=[c(`i`,{class:`fa fa-times`},null,-1)]],8,w),c(`div`,T,[a[20]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`被举报人`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.name=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入被举报人名/昵称`},null,8,E),[[h,e.name]])]),c(`div`,D,[a[21]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`被举报人ID(选填)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.id=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入被举报人ID(如有)`},null,8,O),[[h,e.id]])]),c(`div`,k,[a[22]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`联系方式(选填,空格分隔)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.contacts=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`微信号 QQ号 X账号 Discord 姓名 性别 身份证 邮箱`},null,8,A),[[h,e.contacts]]),a[23]||=c(`p`,{class:`mt-1 text-xs text-gray-500`},`支持填写多种联系方式,用空格分隔`,-1)]),c(`div`,j,[a[24]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`地址(选填,空格分隔)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.address=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`省 市 区 详细地址`},null,8,M),[[h,e.address]])]),c(`div`,null,[a[25]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`个人网站(选填)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.website=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`如个人博客、社交媒体主页等`},null,8,N),[[h,e.website]])])]))),128))])]),c(`div`,P,[c(`div`,{class:`flex justify-between items-center mb-4`},[a[27]||=c(`h3`,{class:`text-lg font-semibold text-gray-800`},`涉事部门(可多选)`,-1),c(`button`,{class:`text-primary hover:text-primary/80 text-sm font-medium flex items-center transition-colors`,onClick:X},[...a[26]||=[c(`i`,{class:`fa fa-plus-circle mr-1`},null,-1),u(` 添加部门`,-1)]])]),c(`div`,F,[(i(!0),g(p,null,e(Y,(r,o)=>(i(),g(`div`,{key:o,class:`department-card bg-neutral rounded-md px-3 py-2 flex items-center scale-in`},[t(c(`select`,{"onUpdate:modelValue":e=>r.value=e,class:`bg-transparent border-none focus:ring-0 text-sm`},[a[28]||=c(`option`,{value:``},`请选择部门`,-1),(i(),g(p,null,e(Le,e=>c(`option`,{key:e.value,value:e.value},n(e.label),9,L)),64))],8,I),[[s,r.value]]),c(`button`,{class:`remove-department ml-2 text-gray-400 hover:text-red-500 transition-colors`,onClick:e=>$(Y,o)},[...a[29]||=[c(`i`,{class:`fa fa-times-circle`},null,-1)]],8,R)]))),128))])]),c(`div`,z,[c(`div`,{class:`flex justify-between items-center mb-4`},[a[31]||=c(`h3`,{class:`text-lg font-semibold text-gray-800`},`参与组织(可多选)`,-1),c(`button`,{class:`text-primary hover:text-primary/80 text-sm font-medium flex items-center transition-colors`,onClick:Re},[...a[30]||=[c(`i`,{class:`fa fa-plus-circle mr-1`},null,-1),u(` 添加组织`,-1)]])]),c(`div`,he,[(i(!0),g(p,null,e(Z,(e,n)=>(i(),g(`div`,{key:n,class:`organization-card border border-gray-200 rounded-md p-4 mb-4 relative scale-in`},[c(`button`,{class:`remove-organization absolute top-2 right-2 text-gray-400 hover:text-red-500 transition-colors`,onClick:e=>$(Z,n)},[...a[32]||=[c(`i`,{class:`fa fa-times`},null,-1)]],8,ge),c(`div`,_e,[a[33]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`商家名称`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.name=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入参与组织/商家名称`},null,8,ve),[[h,e.name]])]),c(`div`,ye,[a[34]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`商家ICP(选填)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.icp=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入ICP备案号`},null,8,be),[[h,e.icp]])]),c(`div`,xe,[a[35]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`商家联系方式(选填)`,-1),t(c(`input`,{type:`text`,"onUpdate:modelValue":t=>e.contact=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入联系方式`},null,8,Se),[[h,e.contact]])]),c(`div`,null,[a[36]||=c(`label`,{class:`block text-sm font-medium text-gray-700 mb-1`},`其它备注(选填)`,-1),t(c(`textarea`,{"onUpdate:modelValue":t=>e.notes=t,class:`w-full px-3 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,rows:`2`,placeholder:`请输入其他相关信息`},null,8,Ce),[[h,e.notes]])])]))),128))])]),c(`div`,we,[c(`div`,{class:`flex justify-between items-center mb-4`},[a[38]||=c(`h3`,{class:`text-lg font-semibold text-gray-800`},`举报类型(可多选)`,-1),c(`button`,{class:`text-primary hover:text-primary/80 text-sm font-medium flex items-center transition-colors`,onClick:Be},[...a[37]||=[c(`i`,{class:`fa fa-plus-circle mr-1`},null,-1),u(` 添加类型`,-1)]])]),c(`div`,Te,[(i(!0),g(p,null,e(Q,(r,o)=>(i(),g(`div`,{key:o,class:`report-type-card bg-neutral rounded-md px-3 py-2 flex items-center scale-in`},[t(c(`select`,{"onUpdate:modelValue":e=>r.value=e,class:`type-select bg-transparent border-none focus:ring-0 text-sm`},[a[39]||=c(`option`,{value:``},`请选择举报类型`,-1),(i(),g(p,null,e(ze,e=>c(`option`,{key:e.value,value:e.value},n(e.label),9,De)),64))],8,Ee),[[s,r.value]]),c(`button`,{class:`remove-type ml-2 text-gray-400 hover:text-red-500 transition-colors`,onClick:e=>$(Q,o)},[...a[40]||=[c(`i`,{class:`fa fa-times-circle`},null,-1)]],8,Oe)]))),128))])]),c(`div`,ke,[a[41]||=c(`label`,{for:`report-content`,class:`block text-sm font-medium text-gray-700 mb-2`},`举报内容`,-1),t(c(`textarea`,{id:`report-content`,"onUpdate:modelValue":a[4]||=e=>W.value=e,rows:`8`,class:`w-full px-4 py-3 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请详细描述举报事实,包括时间、地点、人物、事件经过等信息,尽可能提供相关证据线索...`},null,512),[[h,W.value]]),a[42]||=c(`p`,{class:`mt-1 text-xs text-gray-500`},`请客观、准确、详细地描述事件经过,这将有助于我们进行调查核实`,-1)]),c(`div`,Ae,[a[43]||=c(`label`,{for:`contact-email`,class:`block text-sm font-medium text-gray-700 mb-2`},`您的邮箱(用于消息处理和反馈)`,-1),t(c(`input`,{type:`email`,id:`contact-email`,"onUpdate:modelValue":a[5]||=e=>G.value=e,class:`w-full px-4 py-2 border border-gray-300 rounded-md focus:ring-primary focus:border-primary transition-colors`,placeholder:`请输入您的邮箱地址`},null,512),[[h,G.value]]),a[44]||=c(`p`,{class:`mt-1 text-xs text-gray-500`},`我们将通过此邮箱向您反馈举报处理进度和结果(匿名举报也建议填写)`,-1)]),c(`div`,{class:`flex justify-center scale-in`,style:{"animation-delay":`0.8s`}},[c(`button`,{id:`submit-report`,class:`bg-primary hover:bg-primary/90 text-white px-8 py-3 rounded-md font-medium transition-colors shadow-md hover:shadow-lg`,onClick:Ve},` 提交举报 `)])],512),[[_,V.value]])]),K.value?(i(),g(`div`,{key:0,class:`fixed inset-0 bg-black bg-opacity-50 z-50 flex items-center justify-center`,onClick:a[7]||=ee(e=>K.value=!1,[`self`])},[c(`div`,je,[a[45]||=m(`
提交前提示 请确认您所提供的举报信息真实、准确、完整。
故意捏造事实、诬告陷害他人的,将承担相应法律责任。
`,1),c(`div`,Me,[c(`button`,{class:`px-4 py-2 border border-gray-300 rounded-md text-sm font-medium text-gray-700 hover:bg-gray-50 transition-colors`,onClick:a[6]||=e=>K.value=!1},` 取消 `),c(`button`,{class:`px-4 py-2 bg-primary border border-transparent rounded-md text-sm font-medium text-white hover:bg-primary/90 transition-colors`,onClick:He},` 确认提交 `)])])])):l(``,!0)]))}}),[[`__scopeId`,`data-v-09d183f6`]]);export{B as default};
\ No newline at end of file
diff --git a/TempLate/assets/InterviewView-Brnq-I3Y.js b/TempLate/assets/InterviewView-Brnq-I3Y.js
new file mode 100644
index 00000000..8f674173
--- /dev/null
+++ b/TempLate/assets/InterviewView-Brnq-I3Y.js
@@ -0,0 +1 @@
+import{C as e,D as t,N as n,S as r,_ as i,b as a,d as o,f as s,j as c,k as l,l as u,o as d,p as f,u as p,v as m}from"./index-PMfCvoYM.js";var h={class:`bg-gray-50 min-h-screen`},g={class:`max-w-3xl mx-auto p-4 md:p-6`},_={class:`whitespace-pre-wrap text-sm`},v={key:0,class:`mt-6 p-4 rounded-lg bg-gray-100 border border-gray-300`},y={class:`mb-2 text-gray-800 text-sm`},b={key:0,class:`text-sm text-gray-600 mb-1`},x={key:1,class:`text-sm text-gray-500 italic`},S={class:`flex border border-gray-200 rounded-lg overflow-hidden`},C=[`disabled`],w=[`disabled`],T={class:`flex justify-between text-sm text-gray-500 mt-2`},E=i({__name:`InterviewView`,setup(i){let E=l(null),D=l(``),O=l([]),k=l(0),A=l(!1),j=l(!1),M=l(null),N=l(``),P=p(()=>!(j.value||A.value||D.value.trim().length===0||D.value.length>2048||k.value>=50));function F(){return Math.floor(Math.random()*0xe8d4a51000).toString().padStart(12,`0`)}function I(){let e=new URLSearchParams(window.location.search).get(`InviteID`);if(e&&e.length===12)N.value=e;else{N.value=F();let e=`${window.location.pathname}?InviteID=${N.value}`;window.history.replaceState({},document.title,e)}}function L(){m(()=>{E.value&&(E.value.scrollTop=E.value.scrollHeight)})}function R(e,t){if(e===`ai`)try{t=JSON.parse(t).because||t}catch{}O.value.push({role:e,content:t}),L()}function z(e,t,n=``,r=``){let i=``;i=typeof t==`object`&&t?t.because||``:String(t),M.value={status:e,because:i,reason:n||void 0,mood:r||void 0}}function B(){j.value=!0}async function V(){if(!P.value||!N.value)return;let e=D.value.trim();if(e){R(`user`,e),D.value=``,k.value++,A.value=!0;try{let t=await(await fetch(`/API/SendConversation?InviteID=${N.value}`,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:`Content=${encodeURIComponent(e)}`})).json();t.Success?(R(`ai`,t.Data.AiMessage.Content),k.value++,t.Data.IsFinal&&(j.value=!0,z(t.Data.FinalStatus,t.Data.AiMessage.Content,t.Data.FinalReason,t.Data.FinalMood),B())):(R(`ai`,`错误:${t.Message}`),k.value++,t.IsFinal&&(j.value=!0,B()),t.Message&&(t.Message.includes(`已过期`)||t.Message.includes(`不存在`))&&(N.value=F(),window.history.replaceState({},document.title,`${window.location.pathname}?InviteID=${N.value}`)))}catch{R(`ai`,`发送消息失败,请重试`),k.value++}finally{A.value=!1}}}function H(e){e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),!j.value&&!A.value&&V())}async function U(){I();try{let e=await(await fetch(`/API/ConversationHistory?InviteID=${N.value}`)).json();if(e.Success){if(e.Data.Messages.forEach(e=>{R(e.Role===`User`?`user`:`ai`,e.Content)}),k.value=e.Data.MessageCount,e.Data.FinalStatus!==void 0&&e.Data.FinalStatus!==null){j.value=!0;let t=e.Data.Messages[e.Data.Messages.length-1];z(e.Data.FinalStatus,e.Data.FinalResult||t?.Content||`无结果信息`,e.Data.FinalReason,e.Data.FinalMood),B()}}else{let e=await(await fetch(`/API/InitConversation?InviteID=${N.value}`,{method:`POST`})).json();e.Success?(R(`ai`,e.Data.AiMessage.Content),k.value=1):(R(`ai`,`初始化失败:${e.Message}`),k.value=1)}}catch{R(`ai`,`初始化对话失败,请刷新页面重试`),k.value=1}}return a(()=>{U()}),(i,a)=>(r(),f(`div`,h,[o(`div`,g,[a[2]||=o(`h1`,{class:`text-2xl md:text-3xl font-bold text-gray-800 mb-6`},`AI-HR 审核对话`,-1),o(`div`,{ref_key:`chatContainerRef`,ref:E,class:`border border-gray-200 rounded-lg h-[60vh] overflow-y-auto p-4 mb-4 bg-gray-50`},[(r(!0),f(u,null,e(O.value,(e,t)=>(r(),f(`div`,{key:t,class:c(e.role===`user`?`flex justify-end mb-4`:`flex justify-start mb-4`)},[o(`div`,{class:c(e.role===`user`?`bg-blue-600 text-white rounded-lg rounded-tl-lg px-4 py-2 max-w-[80%]`:`bg-white border border-gray-200 rounded-lg rounded-tr-lg px-4 py-2 max-w-[80%] shadow-sm`)},[o(`div`,{class:c(e.role===`user`?`text-xs mb-1 text-white/80`:`text-xs mb-1 text-gray-500`)},n(e.role===`user`?`您`:`AI-HR`),3),o(`div`,_,n(e.content),1)],2)],2))),128)),M.value?(r(),f(`div`,v,[o(`h3`,{class:c(M.value.status===0?`text-lg font-bold mb-2 text-green-600`:`text-lg font-bold mb-2 text-red-600`)},n(M.value.status===0?`面试结果:通过 ✅`:M.value.status===1?`面试结果:未通过 ❌`:`无法回答该问题 🚫`),3),o(`div`,y,n(M.value.because),1),M.value.reason?(r(),f(`div`,b,` 原因:`+n(M.value.reason),1)):s(``,!0),M.value.mood?(r(),f(`div`,x,` AI心情:`+n(M.value.mood),1)):s(``,!0),a[1]||=o(`div`,{class:`mt-3 text-xs text-gray-400`},`对话已结束,无法继续发送消息`,-1)])):s(``,!0)],512),o(`div`,S,[t(o(`textarea`,{"onUpdate:modelValue":a[0]||=e=>D.value=e,disabled:j.value||A.value,placeholder:`请输入内容...(回车发送,Shift+回车换行)`,class:`flex-1 p-3 focus:outline-none focus:ring-1 focus:ring-blue-500 resize-none text-sm`,rows:`3`,onKeydown:H},null,40,C),[[d,D.value]]),o(`button`,{disabled:!P.value,class:`bg-blue-600 text-white px-6 py-3 hover:bg-blue-700 transition-colors disabled:bg-gray-300 disabled:cursor-not-allowed text-sm font-medium`,onClick:V},` 发送 `,8,w)]),o(`div`,T,[o(`div`,{class:c(D.value.length>2048?`text-red-500`:``)},` 当前输入:`+n(D.value.length)+` 字(最多 2048 字) `,3),o(`div`,{class:c(k.value>=50?`text-red-500`:``)},` 对话数量:`+n(k.value)+`/50 `,3)])])]))}});export{E as default};
\ No newline at end of file
diff --git a/TempLate/assets/InterviewView-Ct6mR_Sr.js b/TempLate/assets/InterviewView-Ct6mR_Sr.js
new file mode 100644
index 00000000..332be460
--- /dev/null
+++ b/TempLate/assets/InterviewView-Ct6mR_Sr.js
@@ -0,0 +1 @@
+import{C as e,D as t,N as n,S as r,_ as i,b as a,d as o,f as s,j as c,k as l,l as u,o as d,p as f,u as p,v as m}from"./index-CJXuAy0L.js";var h={class:`bg-gray-50 min-h-screen`},g={class:`max-w-3xl mx-auto p-4 md:p-6`},_={class:`whitespace-pre-wrap text-sm`},v={key:0,class:`mt-6 p-4 rounded-lg bg-gray-100 border border-gray-300`},y={class:`mb-2 text-gray-800 text-sm`},b={key:0,class:`text-sm text-gray-600 mb-1`},x={key:1,class:`text-sm text-gray-500 italic`},S={class:`flex border border-gray-200 rounded-lg overflow-hidden`},C=[`disabled`],w=[`disabled`],T={class:`flex justify-between text-sm text-gray-500 mt-2`},E=i({__name:`InterviewView`,setup(i){let E=l(null),D=l(``),O=l([]),k=l(0),A=l(!1),j=l(!1),M=l(null),N=l(``),P=p(()=>!(j.value||A.value||D.value.trim().length===0||D.value.length>2048||k.value>=50));function F(){return Math.floor(Math.random()*0xe8d4a51000).toString().padStart(12,`0`)}function I(){let e=new URLSearchParams(window.location.search).get(`InviteID`);if(e&&e.length===12)N.value=e;else{N.value=F();let e=`${window.location.pathname}?InviteID=${N.value}`;window.history.replaceState({},document.title,e)}}function L(){m(()=>{E.value&&(E.value.scrollTop=E.value.scrollHeight)})}function R(e,t){if(e===`ai`)try{t=JSON.parse(t).because||t}catch{}O.value.push({role:e,content:t}),L()}function z(e,t,n=``,r=``){let i=``;i=typeof t==`object`&&t?t.because||``:String(t),M.value={status:e,because:i,reason:n||void 0,mood:r||void 0}}function B(){j.value=!0}async function V(){if(!P.value||!N.value)return;let e=D.value.trim();if(e){R(`user`,e),D.value=``,k.value++,A.value=!0;try{let t=await(await fetch(`/API/SendConversation?InviteID=${N.value}`,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:`Content=${encodeURIComponent(e)}`})).json();t.Success?(R(`ai`,t.Data.AiMessage.Content),k.value++,t.Data.IsFinal&&(j.value=!0,z(t.Data.FinalStatus,t.Data.AiMessage.Content,t.Data.FinalReason,t.Data.FinalMood),B())):(R(`ai`,`错误:${t.Message}`),k.value++,t.IsFinal&&(j.value=!0,B()),t.Message&&(t.Message.includes(`已过期`)||t.Message.includes(`不存在`))&&(N.value=F(),window.history.replaceState({},document.title,`${window.location.pathname}?InviteID=${N.value}`)))}catch{R(`ai`,`发送消息失败,请重试`),k.value++}finally{A.value=!1}}}function H(e){e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),!j.value&&!A.value&&V())}async function U(){I();try{let e=await(await fetch(`/API/ConversationHistory?InviteID=${N.value}`)).json();if(e.Success){if(e.Data.Messages.forEach(e=>{R(e.Role===`User`?`user`:`ai`,e.Content)}),k.value=e.Data.MessageCount,e.Data.FinalStatus!==void 0&&e.Data.FinalStatus!==null){j.value=!0;let t=e.Data.Messages[e.Data.Messages.length-1];z(e.Data.FinalStatus,e.Data.FinalResult||t?.Content||`无结果信息`,e.Data.FinalReason,e.Data.FinalMood),B()}}else{let e=await(await fetch(`/API/InitConversation?InviteID=${N.value}`,{method:`POST`})).json();e.Success?(R(`ai`,e.Data.AiMessage.Content),k.value=1):(R(`ai`,`初始化失败:${e.Message}`),k.value=1)}}catch{R(`ai`,`初始化对话失败,请刷新页面重试`),k.value=1}}return a(()=>{U()}),(i,a)=>(r(),f(`div`,h,[o(`div`,g,[a[2]||=o(`h1`,{class:`text-2xl md:text-3xl font-bold text-gray-800 mb-6`},`AI-HR 审核对话`,-1),o(`div`,{ref_key:`chatContainerRef`,ref:E,class:`border border-gray-200 rounded-lg h-[60vh] overflow-y-auto p-4 mb-4 bg-gray-50`},[(r(!0),f(u,null,e(O.value,(e,t)=>(r(),f(`div`,{key:t,class:c(e.role===`user`?`flex justify-end mb-4`:`flex justify-start mb-4`)},[o(`div`,{class:c(e.role===`user`?`bg-blue-600 text-white rounded-lg rounded-tl-lg px-4 py-2 max-w-[80%]`:`bg-white border border-gray-200 rounded-lg rounded-tr-lg px-4 py-2 max-w-[80%] shadow-sm`)},[o(`div`,{class:c(e.role===`user`?`text-xs mb-1 text-white/80`:`text-xs mb-1 text-gray-500`)},n(e.role===`user`?`您`:`AI-HR`),3),o(`div`,_,n(e.content),1)],2)],2))),128)),M.value?(r(),f(`div`,v,[o(`h3`,{class:c(M.value.status===0?`text-lg font-bold mb-2 text-green-600`:`text-lg font-bold mb-2 text-red-600`)},n(M.value.status===0?`面试结果:通过 ✅`:M.value.status===1?`面试结果:未通过 ❌`:`无法回答该问题 🚫`),3),o(`div`,y,n(M.value.because),1),M.value.reason?(r(),f(`div`,b,` 原因:`+n(M.value.reason),1)):s(``,!0),M.value.mood?(r(),f(`div`,x,` AI心情:`+n(M.value.mood),1)):s(``,!0),a[1]||=o(`div`,{class:`mt-3 text-xs text-gray-400`},`对话已结束,无法继续发送消息`,-1)])):s(``,!0)],512),o(`div`,S,[t(o(`textarea`,{"onUpdate:modelValue":a[0]||=e=>D.value=e,disabled:j.value||A.value,placeholder:`请输入内容...(回车发送,Shift+回车换行)`,class:`flex-1 p-3 focus:outline-none focus:ring-1 focus:ring-blue-500 resize-none text-sm`,rows:`3`,onKeydown:H},null,40,C),[[d,D.value]]),o(`button`,{disabled:!P.value,class:`bg-blue-600 text-white px-6 py-3 hover:bg-blue-700 transition-colors disabled:bg-gray-300 disabled:cursor-not-allowed text-sm font-medium`,onClick:V},` 发送 `,8,w)]),o(`div`,T,[o(`div`,{class:c(D.value.length>2048?`text-red-500`:``)},` 当前输入:`+n(D.value.length)+` 字(最多 2048 字) `,3),o(`div`,{class:c(k.value>=50?`text-red-500`:``)},` 对话数量:`+n(k.value)+`/50 `,3)])])]))}});export{E as default};
\ No newline at end of file
diff --git a/TempLate/assets/InterviewView-D-LqElcu.js b/TempLate/assets/InterviewView-D-LqElcu.js
new file mode 100644
index 00000000..942aeeee
--- /dev/null
+++ b/TempLate/assets/InterviewView-D-LqElcu.js
@@ -0,0 +1 @@
+import{C as e,D as t,N as n,S as r,_ as i,b as a,d as o,f as s,j as c,k as l,l as u,o as d,p as f,u as p,v as m}from"./index-CMhybB9x.js";var h={class:`bg-gray-50 min-h-screen`},g={class:`max-w-3xl mx-auto p-4 md:p-6`},_={class:`whitespace-pre-wrap text-sm`},v={key:0,class:`mt-6 p-4 rounded-lg bg-gray-100 border border-gray-300`},y={class:`mb-2 text-gray-800 text-sm`},b={key:0,class:`text-sm text-gray-600 mb-1`},x={key:1,class:`text-sm text-gray-500 italic`},S={class:`flex border border-gray-200 rounded-lg overflow-hidden`},C=[`disabled`],w=[`disabled`],T={class:`flex justify-between text-sm text-gray-500 mt-2`},E=i({__name:`InterviewView`,setup(i){let E=l(null),D=l(``),O=l([]),k=l(0),A=l(!1),j=l(!1),M=l(null),N=l(``),P=p(()=>!(j.value||A.value||D.value.trim().length===0||D.value.length>2048||k.value>=50));function F(){return Math.floor(Math.random()*0xe8d4a51000).toString().padStart(12,`0`)}function I(){let e=new URLSearchParams(window.location.search).get(`InviteID`);if(e&&e.length===12)N.value=e;else{N.value=F();let e=`${window.location.pathname}?InviteID=${N.value}`;window.history.replaceState({},document.title,e)}}function L(){m(()=>{E.value&&(E.value.scrollTop=E.value.scrollHeight)})}function R(e,t){if(e===`ai`)try{t=JSON.parse(t).because||t}catch{}O.value.push({role:e,content:t}),L()}function z(e,t,n=``,r=``){let i=``;i=typeof t==`object`&&t?t.because||``:String(t),M.value={status:e,because:i,reason:n||void 0,mood:r||void 0}}function B(){j.value=!0}async function V(){if(!P.value||!N.value)return;let e=D.value.trim();if(e){R(`user`,e),D.value=``,k.value++,A.value=!0;try{let t=await(await fetch(`/API/SendConversation?InviteID=${N.value}`,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:`Content=${encodeURIComponent(e)}`})).json();t.Success?(R(`ai`,t.Data.AiMessage.Content),k.value++,t.Data.IsFinal&&(j.value=!0,z(t.Data.FinalStatus,t.Data.AiMessage.Content,t.Data.FinalReason,t.Data.FinalMood),B())):(R(`ai`,`错误:${t.Message}`),k.value++,t.IsFinal&&(j.value=!0,B()),t.Message&&(t.Message.includes(`已过期`)||t.Message.includes(`不存在`))&&(N.value=F(),window.history.replaceState({},document.title,`${window.location.pathname}?InviteID=${N.value}`)))}catch{R(`ai`,`发送消息失败,请重试`),k.value++}finally{A.value=!1}}}function H(e){e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),!j.value&&!A.value&&V())}async function U(){I();try{let e=await(await fetch(`/API/ConversationHistory?InviteID=${N.value}`)).json();if(e.Success){if(e.Data.Messages.forEach(e=>{R(e.Role===`User`?`user`:`ai`,e.Content)}),k.value=e.Data.MessageCount,e.Data.FinalStatus!==void 0&&e.Data.FinalStatus!==null){j.value=!0;let t=e.Data.Messages[e.Data.Messages.length-1];z(e.Data.FinalStatus,e.Data.FinalResult||t?.Content||`无结果信息`,e.Data.FinalReason,e.Data.FinalMood),B()}}else{let e=await(await fetch(`/API/InitConversation?InviteID=${N.value}`,{method:`POST`})).json();e.Success?(R(`ai`,e.Data.AiMessage.Content),k.value=1):(R(`ai`,`初始化失败:${e.Message}`),k.value=1)}}catch{R(`ai`,`初始化对话失败,请刷新页面重试`),k.value=1}}return a(()=>{U()}),(i,a)=>(r(),f(`div`,h,[o(`div`,g,[a[2]||=o(`h1`,{class:`text-2xl md:text-3xl font-bold text-gray-800 mb-6`},`AI-HR 审核对话`,-1),o(`div`,{ref_key:`chatContainerRef`,ref:E,class:`border border-gray-200 rounded-lg h-[60vh] overflow-y-auto p-4 mb-4 bg-gray-50`},[(r(!0),f(u,null,e(O.value,(e,t)=>(r(),f(`div`,{key:t,class:c(e.role===`user`?`flex justify-end mb-4`:`flex justify-start mb-4`)},[o(`div`,{class:c(e.role===`user`?`bg-blue-600 text-white rounded-lg rounded-tl-lg px-4 py-2 max-w-[80%]`:`bg-white border border-gray-200 rounded-lg rounded-tr-lg px-4 py-2 max-w-[80%] shadow-sm`)},[o(`div`,{class:c(e.role===`user`?`text-xs mb-1 text-white/80`:`text-xs mb-1 text-gray-500`)},n(e.role===`user`?`您`:`AI-HR`),3),o(`div`,_,n(e.content),1)],2)],2))),128)),M.value?(r(),f(`div`,v,[o(`h3`,{class:c(M.value.status===0?`text-lg font-bold mb-2 text-green-600`:`text-lg font-bold mb-2 text-red-600`)},n(M.value.status===0?`面试结果:通过 ✅`:M.value.status===1?`面试结果:未通过 ❌`:`无法回答该问题 🚫`),3),o(`div`,y,n(M.value.because),1),M.value.reason?(r(),f(`div`,b,` 原因:`+n(M.value.reason),1)):s(``,!0),M.value.mood?(r(),f(`div`,x,` AI心情:`+n(M.value.mood),1)):s(``,!0),a[1]||=o(`div`,{class:`mt-3 text-xs text-gray-400`},`对话已结束,无法继续发送消息`,-1)])):s(``,!0)],512),o(`div`,S,[t(o(`textarea`,{"onUpdate:modelValue":a[0]||=e=>D.value=e,disabled:j.value||A.value,placeholder:`请输入内容...(回车发送,Shift+回车换行)`,class:`flex-1 p-3 focus:outline-none focus:ring-1 focus:ring-blue-500 resize-none text-sm`,rows:`3`,onKeydown:H},null,40,C),[[d,D.value]]),o(`button`,{disabled:!P.value,class:`bg-blue-600 text-white px-6 py-3 hover:bg-blue-700 transition-colors disabled:bg-gray-300 disabled:cursor-not-allowed text-sm font-medium`,onClick:V},` 发送 `,8,w)]),o(`div`,T,[o(`div`,{class:c(D.value.length>2048?`text-red-500`:``)},` 当前输入:`+n(D.value.length)+` 字(最多 2048 字) `,3),o(`div`,{class:c(k.value>=50?`text-red-500`:``)},` 对话数量:`+n(k.value)+`/50 `,3)])])]))}});export{E as default};
\ No newline at end of file
diff --git a/TempLate/assets/InterviewView-DTu8D_fh.js b/TempLate/assets/InterviewView-DTu8D_fh.js
new file mode 100644
index 00000000..aac8ad7b
--- /dev/null
+++ b/TempLate/assets/InterviewView-DTu8D_fh.js
@@ -0,0 +1 @@
+import{C as e,D as t,N as n,S as r,_ as i,b as a,d as o,f as s,j as c,k as l,l as u,o as d,p as f,u as p,v as m}from"./index-UfMysbwD.js";var h={class:`bg-gray-50 min-h-screen`},g={class:`max-w-3xl mx-auto p-4 md:p-6`},_={class:`whitespace-pre-wrap text-sm`},v={key:0,class:`mt-6 p-4 rounded-lg bg-gray-100 border border-gray-300`},y={class:`mb-2 text-gray-800 text-sm`},b={key:0,class:`text-sm text-gray-600 mb-1`},x={key:1,class:`text-sm text-gray-500 italic`},S={class:`flex border border-gray-200 rounded-lg overflow-hidden`},C=[`disabled`],w=[`disabled`],T={class:`flex justify-between text-sm text-gray-500 mt-2`},E=i({__name:`InterviewView`,setup(i){let E=l(null),D=l(``),O=l([]),k=l(0),A=l(!1),j=l(!1),M=l(null),N=l(``),P=p(()=>!(j.value||A.value||D.value.trim().length===0||D.value.length>2048||k.value>=50));function F(){return Math.floor(Math.random()*0xe8d4a51000).toString().padStart(12,`0`)}function I(){let e=new URLSearchParams(window.location.search).get(`InviteID`);if(e&&e.length===12)N.value=e;else{N.value=F();let e=`${window.location.pathname}?InviteID=${N.value}`;window.history.replaceState({},document.title,e)}}function L(){m(()=>{E.value&&(E.value.scrollTop=E.value.scrollHeight)})}function R(e,t){if(e===`ai`)try{t=JSON.parse(t).because||t}catch{}O.value.push({role:e,content:t}),L()}function z(e,t,n=``,r=``){let i=``;i=typeof t==`object`&&t?t.because||``:String(t),M.value={status:e,because:i,reason:n||void 0,mood:r||void 0}}function B(){j.value=!0}async function V(){if(!P.value||!N.value)return;let e=D.value.trim();if(e){R(`user`,e),D.value=``,k.value++,A.value=!0;try{let t=await(await fetch(`/API/SendConversation?InviteID=${N.value}`,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:`Content=${encodeURIComponent(e)}`})).json();t.Success?(R(`ai`,t.Data.AiMessage.Content),k.value++,t.Data.IsFinal&&(j.value=!0,z(t.Data.FinalStatus,t.Data.AiMessage.Content,t.Data.FinalReason,t.Data.FinalMood),B())):(R(`ai`,`错误:${t.Message}`),k.value++,t.IsFinal&&(j.value=!0,B()),t.Message&&(t.Message.includes(`已过期`)||t.Message.includes(`不存在`))&&(N.value=F(),window.history.replaceState({},document.title,`${window.location.pathname}?InviteID=${N.value}`)))}catch{R(`ai`,`发送消息失败,请重试`),k.value++}finally{A.value=!1}}}function H(e){e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),!j.value&&!A.value&&V())}async function U(){I();try{let e=await(await fetch(`/API/ConversationHistory?InviteID=${N.value}`)).json();if(e.Success){if(e.Data.Messages.forEach(e=>{R(e.Role===`User`?`user`:`ai`,e.Content)}),k.value=e.Data.MessageCount,e.Data.FinalStatus!==void 0&&e.Data.FinalStatus!==null){j.value=!0;let t=e.Data.Messages[e.Data.Messages.length-1];z(e.Data.FinalStatus,e.Data.FinalResult||t?.Content||`无结果信息`,e.Data.FinalReason,e.Data.FinalMood),B()}}else{let e=await(await fetch(`/API/InitConversation?InviteID=${N.value}`,{method:`POST`})).json();e.Success?(R(`ai`,e.Data.AiMessage.Content),k.value=1):(R(`ai`,`初始化失败:${e.Message}`),k.value=1)}}catch{R(`ai`,`初始化对话失败,请刷新页面重试`),k.value=1}}return a(()=>{U()}),(i,a)=>(r(),f(`div`,h,[o(`div`,g,[a[2]||=o(`h1`,{class:`text-2xl md:text-3xl font-bold text-gray-800 mb-6`},`AI-HR 审核对话`,-1),o(`div`,{ref_key:`chatContainerRef`,ref:E,class:`border border-gray-200 rounded-lg h-[60vh] overflow-y-auto p-4 mb-4 bg-gray-50`},[(r(!0),f(u,null,e(O.value,(e,t)=>(r(),f(`div`,{key:t,class:c(e.role===`user`?`flex justify-end mb-4`:`flex justify-start mb-4`)},[o(`div`,{class:c(e.role===`user`?`bg-blue-600 text-white rounded-lg rounded-tl-lg px-4 py-2 max-w-[80%]`:`bg-white border border-gray-200 rounded-lg rounded-tr-lg px-4 py-2 max-w-[80%] shadow-sm`)},[o(`div`,{class:c(e.role===`user`?`text-xs mb-1 text-white/80`:`text-xs mb-1 text-gray-500`)},n(e.role===`user`?`您`:`AI-HR`),3),o(`div`,_,n(e.content),1)],2)],2))),128)),M.value?(r(),f(`div`,v,[o(`h3`,{class:c(M.value.status===0?`text-lg font-bold mb-2 text-green-600`:`text-lg font-bold mb-2 text-red-600`)},n(M.value.status===0?`面试结果:通过 ✅`:M.value.status===1?`面试结果:未通过 ❌`:`无法回答该问题 🚫`),3),o(`div`,y,n(M.value.because),1),M.value.reason?(r(),f(`div`,b,` 原因:`+n(M.value.reason),1)):s(``,!0),M.value.mood?(r(),f(`div`,x,` AI心情:`+n(M.value.mood),1)):s(``,!0),a[1]||=o(`div`,{class:`mt-3 text-xs text-gray-400`},`对话已结束,无法继续发送消息`,-1)])):s(``,!0)],512),o(`div`,S,[t(o(`textarea`,{"onUpdate:modelValue":a[0]||=e=>D.value=e,disabled:j.value||A.value,placeholder:`请输入内容...(回车发送,Shift+回车换行)`,class:`flex-1 p-3 focus:outline-none focus:ring-1 focus:ring-blue-500 resize-none text-sm`,rows:`3`,onKeydown:H},null,40,C),[[d,D.value]]),o(`button`,{disabled:!P.value,class:`bg-blue-600 text-white px-6 py-3 hover:bg-blue-700 transition-colors disabled:bg-gray-300 disabled:cursor-not-allowed text-sm font-medium`,onClick:V},` 发送 `,8,w)]),o(`div`,T,[o(`div`,{class:c(D.value.length>2048?`text-red-500`:``)},` 当前输入:`+n(D.value.length)+` 字(最多 2048 字) `,3),o(`div`,{class:c(k.value>=50?`text-red-500`:``)},` 对话数量:`+n(k.value)+`/50 `,3)])])]))}});export{E as default};
\ No newline at end of file
diff --git a/TempLate/assets/InterviewView-DwRhMlaD.js b/TempLate/assets/InterviewView-DwRhMlaD.js
new file mode 100644
index 00000000..b12a6dd9
--- /dev/null
+++ b/TempLate/assets/InterviewView-DwRhMlaD.js
@@ -0,0 +1 @@
+import{C as e,D as t,N as n,S as r,_ as i,b as a,d as o,f as s,j as c,k as l,l as u,o as d,p as f,u as p,v as m}from"./index-CUry87of.js";var h={class:`bg-gray-50 min-h-screen`},g={class:`max-w-3xl mx-auto p-4 md:p-6`},_={class:`whitespace-pre-wrap text-sm`},v={key:0,class:`mt-6 p-4 rounded-lg bg-gray-100 border border-gray-300`},y={class:`mb-2 text-gray-800 text-sm`},b={key:0,class:`text-sm text-gray-600 mb-1`},x={key:1,class:`text-sm text-gray-500 italic`},S={class:`flex border border-gray-200 rounded-lg overflow-hidden`},C=[`disabled`],w=[`disabled`],T={class:`flex justify-between text-sm text-gray-500 mt-2`},E=i({__name:`InterviewView`,setup(i){let E=l(null),D=l(``),O=l([]),k=l(0),A=l(!1),j=l(!1),M=l(null),N=l(``),P=p(()=>!(j.value||A.value||D.value.trim().length===0||D.value.length>2048||k.value>=50));function F(){return Math.floor(Math.random()*0xe8d4a51000).toString().padStart(12,`0`)}function I(){let e=new URLSearchParams(window.location.search).get(`InviteID`);if(e&&e.length===12)N.value=e;else{N.value=F();let e=`${window.location.pathname}?InviteID=${N.value}`;window.history.replaceState({},document.title,e)}}function L(){m(()=>{E.value&&(E.value.scrollTop=E.value.scrollHeight)})}function R(e,t){if(e===`ai`)try{t=JSON.parse(t).because||t}catch{}O.value.push({role:e,content:t}),L()}function z(e,t,n=``,r=``){let i=``;i=typeof t==`object`&&t?t.because||``:String(t),M.value={status:e,because:i,reason:n||void 0,mood:r||void 0}}function B(){j.value=!0}async function V(){if(!P.value||!N.value)return;let e=D.value.trim();if(e){R(`user`,e),D.value=``,k.value++,A.value=!0;try{let t=await(await fetch(`/API/SendConversation?InviteID=${N.value}`,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:`Content=${encodeURIComponent(e)}`})).json();t.Success?(R(`ai`,t.Data.AiMessage.Content),k.value++,t.Data.IsFinal&&(j.value=!0,z(t.Data.FinalStatus,t.Data.AiMessage.Content,t.Data.FinalReason,t.Data.FinalMood),B())):(R(`ai`,`错误:${t.Message}`),k.value++,t.IsFinal&&(j.value=!0,B()),t.Message&&(t.Message.includes(`已过期`)||t.Message.includes(`不存在`))&&(N.value=F(),window.history.replaceState({},document.title,`${window.location.pathname}?InviteID=${N.value}`)))}catch{R(`ai`,`发送消息失败,请重试`),k.value++}finally{A.value=!1}}}function H(e){e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),!j.value&&!A.value&&V())}async function U(){I();try{let e=await(await fetch(`/API/ConversationHistory?InviteID=${N.value}`)).json();if(e.Success){if(e.Data.Messages.forEach(e=>{R(e.Role===`User`?`user`:`ai`,e.Content)}),k.value=e.Data.MessageCount,e.Data.FinalStatus!==void 0&&e.Data.FinalStatus!==null){j.value=!0;let t=e.Data.Messages[e.Data.Messages.length-1];z(e.Data.FinalStatus,e.Data.FinalResult||t?.Content||`无结果信息`,e.Data.FinalReason,e.Data.FinalMood),B()}}else{let e=await(await fetch(`/API/InitConversation?InviteID=${N.value}`,{method:`POST`})).json();e.Success?(R(`ai`,e.Data.AiMessage.Content),k.value=1):(R(`ai`,`初始化失败:${e.Message}`),k.value=1)}}catch{R(`ai`,`初始化对话失败,请刷新页面重试`),k.value=1}}return a(()=>{U()}),(i,a)=>(r(),f(`div`,h,[o(`div`,g,[a[2]||=o(`h1`,{class:`text-2xl md:text-3xl font-bold text-gray-800 mb-6`},`AI-HR 审核对话`,-1),o(`div`,{ref_key:`chatContainerRef`,ref:E,class:`border border-gray-200 rounded-lg h-[60vh] overflow-y-auto p-4 mb-4 bg-gray-50`},[(r(!0),f(u,null,e(O.value,(e,t)=>(r(),f(`div`,{key:t,class:c(e.role===`user`?`flex justify-end mb-4`:`flex justify-start mb-4`)},[o(`div`,{class:c(e.role===`user`?`bg-blue-600 text-white rounded-lg rounded-tl-lg px-4 py-2 max-w-[80%]`:`bg-white border border-gray-200 rounded-lg rounded-tr-lg px-4 py-2 max-w-[80%] shadow-sm`)},[o(`div`,{class:c(e.role===`user`?`text-xs mb-1 text-white/80`:`text-xs mb-1 text-gray-500`)},n(e.role===`user`?`您`:`AI-HR`),3),o(`div`,_,n(e.content),1)],2)],2))),128)),M.value?(r(),f(`div`,v,[o(`h3`,{class:c(M.value.status===0?`text-lg font-bold mb-2 text-green-600`:`text-lg font-bold mb-2 text-red-600`)},n(M.value.status===0?`面试结果:通过 ✅`:M.value.status===1?`面试结果:未通过 ❌`:`无法回答该问题 🚫`),3),o(`div`,y,n(M.value.because),1),M.value.reason?(r(),f(`div`,b,` 原因:`+n(M.value.reason),1)):s(``,!0),M.value.mood?(r(),f(`div`,x,` AI心情:`+n(M.value.mood),1)):s(``,!0),a[1]||=o(`div`,{class:`mt-3 text-xs text-gray-400`},`对话已结束,无法继续发送消息`,-1)])):s(``,!0)],512),o(`div`,S,[t(o(`textarea`,{"onUpdate:modelValue":a[0]||=e=>D.value=e,disabled:j.value||A.value,placeholder:`请输入内容...(回车发送,Shift+回车换行)`,class:`flex-1 p-3 focus:outline-none focus:ring-1 focus:ring-blue-500 resize-none text-sm`,rows:`3`,onKeydown:H},null,40,C),[[d,D.value]]),o(`button`,{disabled:!P.value,class:`bg-blue-600 text-white px-6 py-3 hover:bg-blue-700 transition-colors disabled:bg-gray-300 disabled:cursor-not-allowed text-sm font-medium`,onClick:V},` 发送 `,8,w)]),o(`div`,T,[o(`div`,{class:c(D.value.length>2048?`text-red-500`:``)},` 当前输入:`+n(D.value.length)+` 字(最多 2048 字) `,3),o(`div`,{class:c(k.value>=50?`text-red-500`:``)},` 对话数量:`+n(k.value)+`/50 `,3)])])]))}});export{E as default};
\ No newline at end of file
diff --git a/TempLate/assets/InterviewView-YD3dH9k3.js b/TempLate/assets/InterviewView-YD3dH9k3.js
new file mode 100644
index 00000000..2225e41d
--- /dev/null
+++ b/TempLate/assets/InterviewView-YD3dH9k3.js
@@ -0,0 +1 @@
+import{C as e,D as t,N as n,S as r,_ as i,b as a,d as o,f as s,j as c,k as l,l as u,o as d,p as f,u as p,v as m}from"./index-BM-LFFI_.js";var h={class:`bg-gray-50 min-h-screen`},g={class:`max-w-3xl mx-auto p-4 md:p-6`},_={class:`whitespace-pre-wrap text-sm`},v={key:0,class:`mt-6 p-4 rounded-lg bg-gray-100 border border-gray-300`},y={class:`mb-2 text-gray-800 text-sm`},b={key:0,class:`text-sm text-gray-600 mb-1`},x={key:1,class:`text-sm text-gray-500 italic`},S={class:`flex border border-gray-200 rounded-lg overflow-hidden`},C=[`disabled`],w=[`disabled`],T={class:`flex justify-between text-sm text-gray-500 mt-2`},E=i({__name:`InterviewView`,setup(i){let E=l(null),D=l(``),O=l([]),k=l(0),A=l(!1),j=l(!1),M=l(null),N=l(``),P=p(()=>!(j.value||A.value||D.value.trim().length===0||D.value.length>2048||k.value>=50));function F(){return Math.floor(Math.random()*0xe8d4a51000).toString().padStart(12,`0`)}function I(){let e=new URLSearchParams(window.location.search).get(`InviteID`);if(e&&e.length===12)N.value=e;else{N.value=F();let e=`${window.location.pathname}?InviteID=${N.value}`;window.history.replaceState({},document.title,e)}}function L(){m(()=>{E.value&&(E.value.scrollTop=E.value.scrollHeight)})}function R(e,t){if(e===`ai`)try{t=JSON.parse(t).because||t}catch{}O.value.push({role:e,content:t}),L()}function z(e,t,n=``,r=``){let i=``;i=typeof t==`object`&&t?t.because||``:String(t),M.value={status:e,because:i,reason:n||void 0,mood:r||void 0}}function B(){j.value=!0}async function V(){if(!P.value||!N.value)return;let e=D.value.trim();if(e){R(`user`,e),D.value=``,k.value++,A.value=!0;try{let t=await(await fetch(`/API/SendConversation?InviteID=${N.value}`,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:`Content=${encodeURIComponent(e)}`})).json();t.Success?(R(`ai`,t.Data.AiMessage.Content),k.value++,t.Data.IsFinal&&(j.value=!0,z(t.Data.FinalStatus,t.Data.AiMessage.Content,t.Data.FinalReason,t.Data.FinalMood),B())):(R(`ai`,`错误:${t.Message}`),k.value++,t.IsFinal&&(j.value=!0,B()),t.Message&&(t.Message.includes(`已过期`)||t.Message.includes(`不存在`))&&(N.value=F(),window.history.replaceState({},document.title,`${window.location.pathname}?InviteID=${N.value}`)))}catch{R(`ai`,`发送消息失败,请重试`),k.value++}finally{A.value=!1}}}function H(e){e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),!j.value&&!A.value&&V())}async function U(){I();try{let e=await(await fetch(`/API/ConversationHistory?InviteID=${N.value}`)).json();if(e.Success){if(e.Data.Messages.forEach(e=>{R(e.Role===`User`?`user`:`ai`,e.Content)}),k.value=e.Data.MessageCount,e.Data.FinalStatus!==void 0&&e.Data.FinalStatus!==null){j.value=!0;let t=e.Data.Messages[e.Data.Messages.length-1];z(e.Data.FinalStatus,e.Data.FinalResult||t?.Content||`无结果信息`,e.Data.FinalReason,e.Data.FinalMood),B()}}else{let e=await(await fetch(`/API/InitConversation?InviteID=${N.value}`,{method:`POST`})).json();e.Success?(R(`ai`,e.Data.AiMessage.Content),k.value=1):(R(`ai`,`初始化失败:${e.Message}`),k.value=1)}}catch{R(`ai`,`初始化对话失败,请刷新页面重试`),k.value=1}}return a(()=>{U()}),(i,a)=>(r(),f(`div`,h,[o(`div`,g,[a[2]||=o(`h1`,{class:`text-2xl md:text-3xl font-bold text-gray-800 mb-6`},`AI-HR 审核对话`,-1),o(`div`,{ref_key:`chatContainerRef`,ref:E,class:`border border-gray-200 rounded-lg h-[60vh] overflow-y-auto p-4 mb-4 bg-gray-50`},[(r(!0),f(u,null,e(O.value,(e,t)=>(r(),f(`div`,{key:t,class:c(e.role===`user`?`flex justify-end mb-4`:`flex justify-start mb-4`)},[o(`div`,{class:c(e.role===`user`?`bg-blue-600 text-white rounded-lg rounded-tl-lg px-4 py-2 max-w-[80%]`:`bg-white border border-gray-200 rounded-lg rounded-tr-lg px-4 py-2 max-w-[80%] shadow-sm`)},[o(`div`,{class:c(e.role===`user`?`text-xs mb-1 text-white/80`:`text-xs mb-1 text-gray-500`)},n(e.role===`user`?`您`:`AI-HR`),3),o(`div`,_,n(e.content),1)],2)],2))),128)),M.value?(r(),f(`div`,v,[o(`h3`,{class:c(M.value.status===0?`text-lg font-bold mb-2 text-green-600`:`text-lg font-bold mb-2 text-red-600`)},n(M.value.status===0?`面试结果:通过 ✅`:M.value.status===1?`面试结果:未通过 ❌`:`无法回答该问题 🚫`),3),o(`div`,y,n(M.value.because),1),M.value.reason?(r(),f(`div`,b,` 原因:`+n(M.value.reason),1)):s(``,!0),M.value.mood?(r(),f(`div`,x,` AI心情:`+n(M.value.mood),1)):s(``,!0),a[1]||=o(`div`,{class:`mt-3 text-xs text-gray-400`},`对话已结束,无法继续发送消息`,-1)])):s(``,!0)],512),o(`div`,S,[t(o(`textarea`,{"onUpdate:modelValue":a[0]||=e=>D.value=e,disabled:j.value||A.value,placeholder:`请输入内容...(回车发送,Shift+回车换行)`,class:`flex-1 p-3 focus:outline-none focus:ring-1 focus:ring-blue-500 resize-none text-sm`,rows:`3`,onKeydown:H},null,40,C),[[d,D.value]]),o(`button`,{disabled:!P.value,class:`bg-blue-600 text-white px-6 py-3 hover:bg-blue-700 transition-colors disabled:bg-gray-300 disabled:cursor-not-allowed text-sm font-medium`,onClick:V},` 发送 `,8,w)]),o(`div`,T,[o(`div`,{class:c(D.value.length>2048?`text-red-500`:``)},` 当前输入:`+n(D.value.length)+` 字(最多 2048 字) `,3),o(`div`,{class:c(k.value>=50?`text-red-500`:``)},` 对话数量:`+n(k.value)+`/50 `,3)])])]))}});export{E as default};
\ No newline at end of file
diff --git a/TempLate/assets/InviteIndexView-B5Df4v4u.js b/TempLate/assets/InviteIndexView-B5Df4v4u.js
new file mode 100644
index 00000000..36f82148
--- /dev/null
+++ b/TempLate/assets/InviteIndexView-B5Df4v4u.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,h as a,j as o,l as s,p as c,t as l}from"./index-UfMysbwD.js";import{t as u}from"./_plugin-vue_export-helper-BDNMzG2s.js";var d={class:`bg-gradient-to-br from-indigo-50 to-purple-50 min-h-screen flex flex-col`},f={class:`flex-grow flex flex-col items-center justify-center px-6 py-12 relative overflow-hidden`},p={class:`text-center max-w-3xl z-10`},m={class:`mt-12 grid grid-cols-2 md:grid-cols-4 gap-6`},h={class:`text-gray-700 font-medium`},g=u(r({__name:`InviteIndexView`,setup(r){let u=l(),g=[{icon:`fa fa-users`,label:`多元团队`},{icon:`fa fa-lightbulb`,label:`创新文化`},{icon:`fa fa-graduation-cap`,label:`成长机会`},{icon:`fa fa-coffee`,label:`舒适环境`}];function _(){u.push(`/Invite/Apply`)}return(r,l)=>(n(),c(`div`,d,[i(`main`,f,[l[3]||=i(`div`,{class:`hidden lg:block absolute left-0 top-[12.5%] -translate-y-1/2 w-1/3 max-w-md animate-float c-furry`,style:{"animation-delay":`0s`}},[i(`img`,{src:`https://www.gvsds.com/assets/img/Background/ChiSha_Left.png`,alt:`左侧插画`,class:`w-full h-auto object-contain transform hover:scale-105 transition-transform duration-300`})],-1),i(`div`,p,[l[1]||=i(`h1`,{class:`text-[clamp(2rem,5vw,4rem)] font-bold text-gray-800 leading-tight mb-6`},[a(` 加入我们,`),i(`br`,{class:`md:hidden`}),i(`span`,{class:`text-primary`},`创造未来`)],-1),l[2]||=i(`p`,{class:`text-[clamp(1rem,2vw,1.25rem)] text-gray-600 mb-10 max-w-2xl mx-auto`},` 我们正在寻找充满激情、创意和才华的你。 加入我们,与我们一同创作。 `,-1),i(`button`,{id:`Apply`,class:`bg-primary hover:bg-primary/90 text-white font-bold py-4 px-10 rounded-full text-lg shadow-lg hover:shadow-xl transform hover:-translate-y-1 transition-all duration-300 animate-pulse-slow`,onClick:_},[...l[0]||=[a(` 提交简历 `,-1),i(`i`,{class:`fa fa-arrow-right ml-2`},null,-1)]]),i(`div`,m,[(n(),c(s,null,e(g,(e,n)=>i(`div`,{key:n,class:`bg-white/70 backdrop-blur-sm p-4 rounded-xl shadow-sm`},[i(`i`,{class:o([e.icon,`text-primary text-2xl mb-2`])},null,2),i(`p`,h,t(e.label),1)])),64))])]),l[4]||=i(`div`,{class:`hidden lg:block absolute right-0 top-[12.5%] -translate-y-1/2 w-1/3 max-w-md animate-float c-furry`,style:{"animation-delay":`1s`}},[i(`img`,{src:`https://www.gvsds.com/assets/img/Background/Ying_Right.png`,alt:`右侧插画`,class:`w-full h-auto object-contain transform hover:scale-105 transition-transform duration-300`})],-1)])]))}}),[[`__scopeId`,`data-v-aeeff101`]]);export{g as default};
\ No newline at end of file
diff --git a/TempLate/assets/InviteIndexView-Bq4H386d.js b/TempLate/assets/InviteIndexView-Bq4H386d.js
new file mode 100644
index 00000000..327e131c
--- /dev/null
+++ b/TempLate/assets/InviteIndexView-Bq4H386d.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,h as a,j as o,l as s,p as c,t as l}from"./index-CUry87of.js";import{t as u}from"./_plugin-vue_export-helper-BDNMzG2s.js";var d={class:`bg-gradient-to-br from-indigo-50 to-purple-50 min-h-screen flex flex-col`},f={class:`flex-grow flex flex-col items-center justify-center px-6 py-12 relative overflow-hidden`},p={class:`text-center max-w-3xl z-10`},m={class:`mt-12 grid grid-cols-2 md:grid-cols-4 gap-6`},h={class:`text-gray-700 font-medium`},g=u(r({__name:`InviteIndexView`,setup(r){let u=l(),g=[{icon:`fa fa-users`,label:`多元团队`},{icon:`fa fa-lightbulb`,label:`创新文化`},{icon:`fa fa-graduation-cap`,label:`成长机会`},{icon:`fa fa-coffee`,label:`舒适环境`}];function _(){u.push(`/Invite/Apply`)}return(r,l)=>(n(),c(`div`,d,[i(`main`,f,[l[3]||=i(`div`,{class:`hidden lg:block absolute left-0 top-[12.5%] -translate-y-1/2 w-1/3 max-w-md animate-float c-furry`,style:{"animation-delay":`0s`}},[i(`img`,{src:`https://www.gvsds.com/assets/img/Background/ChiSha_Left.png`,alt:`左侧插画`,class:`w-full h-auto object-contain transform hover:scale-105 transition-transform duration-300`})],-1),i(`div`,p,[l[1]||=i(`h1`,{class:`text-[clamp(2rem,5vw,4rem)] font-bold text-gray-800 leading-tight mb-6`},[a(` 加入我们,`),i(`br`,{class:`md:hidden`}),i(`span`,{class:`text-primary`},`创造未来`)],-1),l[2]||=i(`p`,{class:`text-[clamp(1rem,2vw,1.25rem)] text-gray-600 mb-10 max-w-2xl mx-auto`},` 我们正在寻找充满激情、创意和才华的你。 加入我们,与我们一同创作。 `,-1),i(`button`,{id:`Apply`,class:`bg-primary hover:bg-primary/90 text-white font-bold py-4 px-10 rounded-full text-lg shadow-lg hover:shadow-xl transform hover:-translate-y-1 transition-all duration-300 animate-pulse-slow`,onClick:_},[...l[0]||=[a(` 提交简历 `,-1),i(`i`,{class:`fa fa-arrow-right ml-2`},null,-1)]]),i(`div`,m,[(n(),c(s,null,e(g,(e,n)=>i(`div`,{key:n,class:`bg-white/70 backdrop-blur-sm p-4 rounded-xl shadow-sm`},[i(`i`,{class:o([e.icon,`text-primary text-2xl mb-2`])},null,2),i(`p`,h,t(e.label),1)])),64))])]),l[4]||=i(`div`,{class:`hidden lg:block absolute right-0 top-[12.5%] -translate-y-1/2 w-1/3 max-w-md animate-float c-furry`,style:{"animation-delay":`1s`}},[i(`img`,{src:`https://www.gvsds.com/assets/img/Background/Ying_Right.png`,alt:`右侧插画`,class:`w-full h-auto object-contain transform hover:scale-105 transition-transform duration-300`})],-1)])]))}}),[[`__scopeId`,`data-v-aeeff101`]]);export{g as default};
\ No newline at end of file
diff --git a/TempLate/assets/InviteIndexView-C01k9ioN.js b/TempLate/assets/InviteIndexView-C01k9ioN.js
new file mode 100644
index 00000000..32c5d8dc
--- /dev/null
+++ b/TempLate/assets/InviteIndexView-C01k9ioN.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,h as a,j as o,l as s,p as c,t as l}from"./index-BM-LFFI_.js";import{t as u}from"./_plugin-vue_export-helper-BDNMzG2s.js";var d={class:`bg-gradient-to-br from-indigo-50 to-purple-50 min-h-screen flex flex-col`},f={class:`flex-grow flex flex-col items-center justify-center px-6 py-12 relative overflow-hidden`},p={class:`text-center max-w-3xl z-10`},m={class:`mt-12 grid grid-cols-2 md:grid-cols-4 gap-6`},h={class:`text-gray-700 font-medium`},g=u(r({__name:`InviteIndexView`,setup(r){let u=l(),g=[{icon:`fa fa-users`,label:`多元团队`},{icon:`fa fa-lightbulb`,label:`创新文化`},{icon:`fa fa-graduation-cap`,label:`成长机会`},{icon:`fa fa-coffee`,label:`舒适环境`}];function _(){u.push(`/Invite/Apply`)}return(r,l)=>(n(),c(`div`,d,[i(`main`,f,[l[3]||=i(`div`,{class:`hidden lg:block absolute left-0 top-[12.5%] -translate-y-1/2 w-1/3 max-w-md animate-float c-furry`,style:{"animation-delay":`0s`}},[i(`img`,{src:`https://www.gvsds.com/assets/img/Background/ChiSha_Left.png`,alt:`左侧插画`,class:`w-full h-auto object-contain transform hover:scale-105 transition-transform duration-300`})],-1),i(`div`,p,[l[1]||=i(`h1`,{class:`text-[clamp(2rem,5vw,4rem)] font-bold text-gray-800 leading-tight mb-6`},[a(` 加入我们,`),i(`br`,{class:`md:hidden`}),i(`span`,{class:`text-primary`},`创造未来`)],-1),l[2]||=i(`p`,{class:`text-[clamp(1rem,2vw,1.25rem)] text-gray-600 mb-10 max-w-2xl mx-auto`},` 我们正在寻找充满激情、创意和才华的你。 加入我们,与我们一同创作。 `,-1),i(`button`,{id:`Apply`,class:`bg-primary hover:bg-primary/90 text-white font-bold py-4 px-10 rounded-full text-lg shadow-lg hover:shadow-xl transform hover:-translate-y-1 transition-all duration-300 animate-pulse-slow`,onClick:_},[...l[0]||=[a(` 提交简历 `,-1),i(`i`,{class:`fa fa-arrow-right ml-2`},null,-1)]]),i(`div`,m,[(n(),c(s,null,e(g,(e,n)=>i(`div`,{key:n,class:`bg-white/70 backdrop-blur-sm p-4 rounded-xl shadow-sm`},[i(`i`,{class:o([e.icon,`text-primary text-2xl mb-2`])},null,2),i(`p`,h,t(e.label),1)])),64))])]),l[4]||=i(`div`,{class:`hidden lg:block absolute right-0 top-[12.5%] -translate-y-1/2 w-1/3 max-w-md animate-float c-furry`,style:{"animation-delay":`1s`}},[i(`img`,{src:`https://www.gvsds.com/assets/img/Background/Ying_Right.png`,alt:`右侧插画`,class:`w-full h-auto object-contain transform hover:scale-105 transition-transform duration-300`})],-1)])]))}}),[[`__scopeId`,`data-v-aeeff101`]]);export{g as default};
\ No newline at end of file
diff --git a/TempLate/assets/InviteIndexView-DCljGdJn.js b/TempLate/assets/InviteIndexView-DCljGdJn.js
new file mode 100644
index 00000000..effc5813
--- /dev/null
+++ b/TempLate/assets/InviteIndexView-DCljGdJn.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,h as a,j as o,l as s,p as c,t as l}from"./index-CMhybB9x.js";import{t as u}from"./_plugin-vue_export-helper-BDNMzG2s.js";var d={class:`bg-gradient-to-br from-indigo-50 to-purple-50 min-h-screen flex flex-col`},f={class:`flex-grow flex flex-col items-center justify-center px-6 py-12 relative overflow-hidden`},p={class:`text-center max-w-3xl z-10`},m={class:`mt-12 grid grid-cols-2 md:grid-cols-4 gap-6`},h={class:`text-gray-700 font-medium`},g=u(r({__name:`InviteIndexView`,setup(r){let u=l(),g=[{icon:`fa fa-users`,label:`多元团队`},{icon:`fa fa-lightbulb`,label:`创新文化`},{icon:`fa fa-graduation-cap`,label:`成长机会`},{icon:`fa fa-coffee`,label:`舒适环境`}];function _(){u.push(`/Invite/Apply`)}return(r,l)=>(n(),c(`div`,d,[i(`main`,f,[l[3]||=i(`div`,{class:`hidden lg:block absolute left-0 top-[12.5%] -translate-y-1/2 w-1/3 max-w-md animate-float c-furry`,style:{"animation-delay":`0s`}},[i(`img`,{src:`https://www.gvsds.com/assets/img/Background/ChiSha_Left.png`,alt:`左侧插画`,class:`w-full h-auto object-contain transform hover:scale-105 transition-transform duration-300`})],-1),i(`div`,p,[l[1]||=i(`h1`,{class:`text-[clamp(2rem,5vw,4rem)] font-bold text-gray-800 leading-tight mb-6`},[a(` 加入我们,`),i(`br`,{class:`md:hidden`}),i(`span`,{class:`text-primary`},`创造未来`)],-1),l[2]||=i(`p`,{class:`text-[clamp(1rem,2vw,1.25rem)] text-gray-600 mb-10 max-w-2xl mx-auto`},` 我们正在寻找充满激情、创意和才华的你。 加入我们,与我们一同创作。 `,-1),i(`button`,{id:`Apply`,class:`bg-primary hover:bg-primary/90 text-white font-bold py-4 px-10 rounded-full text-lg shadow-lg hover:shadow-xl transform hover:-translate-y-1 transition-all duration-300 animate-pulse-slow`,onClick:_},[...l[0]||=[a(` 提交简历 `,-1),i(`i`,{class:`fa fa-arrow-right ml-2`},null,-1)]]),i(`div`,m,[(n(),c(s,null,e(g,(e,n)=>i(`div`,{key:n,class:`bg-white/70 backdrop-blur-sm p-4 rounded-xl shadow-sm`},[i(`i`,{class:o([e.icon,`text-primary text-2xl mb-2`])},null,2),i(`p`,h,t(e.label),1)])),64))])]),l[4]||=i(`div`,{class:`hidden lg:block absolute right-0 top-[12.5%] -translate-y-1/2 w-1/3 max-w-md animate-float c-furry`,style:{"animation-delay":`1s`}},[i(`img`,{src:`https://www.gvsds.com/assets/img/Background/Ying_Right.png`,alt:`右侧插画`,class:`w-full h-auto object-contain transform hover:scale-105 transition-transform duration-300`})],-1)])]))}}),[[`__scopeId`,`data-v-aeeff101`]]);export{g as default};
\ No newline at end of file
diff --git a/TempLate/assets/InviteIndexView-DEzeGpCU.css b/TempLate/assets/InviteIndexView-DEzeGpCU.css
new file mode 100644
index 00000000..812c7122
--- /dev/null
+++ b/TempLate/assets/InviteIndexView-DEzeGpCU.css
@@ -0,0 +1 @@
+@keyframes float-aeeff101{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-float[data-v-aeeff101]{animation:6s ease-in-out infinite float-aeeff101}@keyframes pulseSlow-aeeff101{0%,to{opacity:1}50%{opacity:.85}}.animate-pulse-slow[data-v-aeeff101]{animation:3s ease-in-out infinite pulseSlow-aeeff101}
diff --git a/TempLate/assets/InviteIndexView-HghDB2HE.js b/TempLate/assets/InviteIndexView-HghDB2HE.js
new file mode 100644
index 00000000..71a2b6c1
--- /dev/null
+++ b/TempLate/assets/InviteIndexView-HghDB2HE.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,h as a,j as o,l as s,p as c,t as l}from"./index-CJXuAy0L.js";import{t as u}from"./_plugin-vue_export-helper-BDNMzG2s.js";var d={class:`bg-gradient-to-br from-indigo-50 to-purple-50 min-h-screen flex flex-col`},f={class:`flex-grow flex flex-col items-center justify-center px-6 py-12 relative overflow-hidden`},p={class:`text-center max-w-3xl z-10`},m={class:`mt-12 grid grid-cols-2 md:grid-cols-4 gap-6`},h={class:`text-gray-700 font-medium`},g=u(r({__name:`InviteIndexView`,setup(r){let u=l(),g=[{icon:`fa fa-users`,label:`多元团队`},{icon:`fa fa-lightbulb`,label:`创新文化`},{icon:`fa fa-graduation-cap`,label:`成长机会`},{icon:`fa fa-coffee`,label:`舒适环境`}];function _(){u.push(`/Invite/Apply`)}return(r,l)=>(n(),c(`div`,d,[i(`main`,f,[l[3]||=i(`div`,{class:`hidden lg:block absolute left-0 top-[12.5%] -translate-y-1/2 w-1/3 max-w-md animate-float c-furry`,style:{"animation-delay":`0s`}},[i(`img`,{src:`https://www.gvsds.com/assets/img/Background/ChiSha_Left.png`,alt:`左侧插画`,class:`w-full h-auto object-contain transform hover:scale-105 transition-transform duration-300`})],-1),i(`div`,p,[l[1]||=i(`h1`,{class:`text-[clamp(2rem,5vw,4rem)] font-bold text-gray-800 leading-tight mb-6`},[a(` 加入我们,`),i(`br`,{class:`md:hidden`}),i(`span`,{class:`text-primary`},`创造未来`)],-1),l[2]||=i(`p`,{class:`text-[clamp(1rem,2vw,1.25rem)] text-gray-600 mb-10 max-w-2xl mx-auto`},` 我们正在寻找充满激情、创意和才华的你。 加入我们,与我们一同创作。 `,-1),i(`button`,{id:`Apply`,class:`bg-primary hover:bg-primary/90 text-white font-bold py-4 px-10 rounded-full text-lg shadow-lg hover:shadow-xl transform hover:-translate-y-1 transition-all duration-300 animate-pulse-slow`,onClick:_},[...l[0]||=[a(` 提交简历 `,-1),i(`i`,{class:`fa fa-arrow-right ml-2`},null,-1)]]),i(`div`,m,[(n(),c(s,null,e(g,(e,n)=>i(`div`,{key:n,class:`bg-white/70 backdrop-blur-sm p-4 rounded-xl shadow-sm`},[i(`i`,{class:o([e.icon,`text-primary text-2xl mb-2`])},null,2),i(`p`,h,t(e.label),1)])),64))])]),l[4]||=i(`div`,{class:`hidden lg:block absolute right-0 top-[12.5%] -translate-y-1/2 w-1/3 max-w-md animate-float c-furry`,style:{"animation-delay":`1s`}},[i(`img`,{src:`https://www.gvsds.com/assets/img/Background/Ying_Right.png`,alt:`右侧插画`,class:`w-full h-auto object-contain transform hover:scale-105 transition-transform duration-300`})],-1)])]))}}),[[`__scopeId`,`data-v-aeeff101`]]);export{g as default};
\ No newline at end of file
diff --git a/TempLate/assets/InviteIndexView-Rn-Ar3-E.js b/TempLate/assets/InviteIndexView-Rn-Ar3-E.js
new file mode 100644
index 00000000..6e0ac641
--- /dev/null
+++ b/TempLate/assets/InviteIndexView-Rn-Ar3-E.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,h as a,j as o,l as s,p as c,t as l}from"./index-PMfCvoYM.js";import{t as u}from"./_plugin-vue_export-helper-BDNMzG2s.js";var d={class:`bg-gradient-to-br from-indigo-50 to-purple-50 min-h-screen flex flex-col`},f={class:`flex-grow flex flex-col items-center justify-center px-6 py-12 relative overflow-hidden`},p={class:`text-center max-w-3xl z-10`},m={class:`mt-12 grid grid-cols-2 md:grid-cols-4 gap-6`},h={class:`text-gray-700 font-medium`},g=u(r({__name:`InviteIndexView`,setup(r){let u=l(),g=[{icon:`fa fa-users`,label:`多元团队`},{icon:`fa fa-lightbulb`,label:`创新文化`},{icon:`fa fa-graduation-cap`,label:`成长机会`},{icon:`fa fa-coffee`,label:`舒适环境`}];function _(){u.push(`/Invite/Apply`)}return(r,l)=>(n(),c(`div`,d,[i(`main`,f,[l[3]||=i(`div`,{class:`hidden lg:block absolute left-0 top-[12.5%] -translate-y-1/2 w-1/3 max-w-md animate-float c-furry`,style:{"animation-delay":`0s`}},[i(`img`,{src:`https://www.gvsds.com/assets/img/Background/ChiSha_Left.png`,alt:`左侧插画`,class:`w-full h-auto object-contain transform hover:scale-105 transition-transform duration-300`})],-1),i(`div`,p,[l[1]||=i(`h1`,{class:`text-[clamp(2rem,5vw,4rem)] font-bold text-gray-800 leading-tight mb-6`},[a(` 加入我们,`),i(`br`,{class:`md:hidden`}),i(`span`,{class:`text-primary`},`创造未来`)],-1),l[2]||=i(`p`,{class:`text-[clamp(1rem,2vw,1.25rem)] text-gray-600 mb-10 max-w-2xl mx-auto`},` 我们正在寻找充满激情、创意和才华的你。 加入我们,与我们一同创作。 `,-1),i(`button`,{id:`Apply`,class:`bg-primary hover:bg-primary/90 text-white font-bold py-4 px-10 rounded-full text-lg shadow-lg hover:shadow-xl transform hover:-translate-y-1 transition-all duration-300 animate-pulse-slow`,onClick:_},[...l[0]||=[a(` 提交简历 `,-1),i(`i`,{class:`fa fa-arrow-right ml-2`},null,-1)]]),i(`div`,m,[(n(),c(s,null,e(g,(e,n)=>i(`div`,{key:n,class:`bg-white/70 backdrop-blur-sm p-4 rounded-xl shadow-sm`},[i(`i`,{class:o([e.icon,`text-primary text-2xl mb-2`])},null,2),i(`p`,h,t(e.label),1)])),64))])]),l[4]||=i(`div`,{class:`hidden lg:block absolute right-0 top-[12.5%] -translate-y-1/2 w-1/3 max-w-md animate-float c-furry`,style:{"animation-delay":`1s`}},[i(`img`,{src:`https://www.gvsds.com/assets/img/Background/Ying_Right.png`,alt:`右侧插画`,class:`w-full h-auto object-contain transform hover:scale-105 transition-transform duration-300`})],-1)])]))}}),[[`__scopeId`,`data-v-aeeff101`]]);export{g as default};
\ No newline at end of file
diff --git a/TempLate/assets/LoginView-6s1eigcY.js b/TempLate/assets/LoginView-6s1eigcY.js
new file mode 100644
index 00000000..7334991a
--- /dev/null
+++ b/TempLate/assets/LoginView-6s1eigcY.js
@@ -0,0 +1 @@
+import{D as e,M as t,N as n,S as r,_ as i,b as a,c as o,d as s,f as c,h as l,k as u,m as d,o as f,p,r as m}from"./index-CUry87of.js";import{t as h}from"./_plugin-vue_export-helper-BDNMzG2s.js";var g={class:`relative min-h-screen flex items-center justify-center bg-gray-50 dark:bg-gray-100 p-4`},_={class:`w-full md:w-1/2 max-w-md opacity-0 translate-x-[20px] animate-fade-in-right`},v={class:`bg-white dark:bg-gray-50 rounded-xl shadow-xl overflow-hidden transition-all duration-300 hover:shadow-blue-500/5`},y={id:`toastWrap`,class:`px-6 pt-6`},b={class:`p-6 pt-0`},x={class:`relative`},S={class:`relative`},C={class:`flex items-start`},w={class:`flex items-center h-5`},T={class:`pt-2`},E=[`disabled`],D={key:0,class:`fa fa-spinner fa-spin mr-2`},O=h(i({__name:`LoginView`,setup(i){let h=u(``),O=u(``),k=u(!1),A=u(!1),j=u(``),M=u(`error`);function N(e,t=`error`){j.value=e,M.value=t}async function P(){if(!k.value){N(`必须签署协议`);return}A.value=!0;try{let e=new FormData;e.append(`UserName`,h.value),e.append(`UserPassword`,O.value),e.append(`UserConsent`,k.value?`true`:`false`);let t=await(await fetch(`https://ugm.gvsds.com/Auth/Login`,{method:`POST`,credentials:`include`,body:e})).json();A.value=!1,t.code===0?(N(`登录成功,即将跳转...`,`success`),setTimeout(()=>{window.location.href=`https://gerp.gvsds.com/`},500)):N(t.msg||`登录失败`)}catch(e){A.value=!1,N(`网络错误:`+e.message)}}return a(()=>{let e=new URLSearchParams(window.location.search).get(`msg`);e&&N(e,`error`)}),(i,a)=>(r(),p(`div`,g,[a[8]||=d(`
欢迎使用 G-ERP 系统 高效、安全的企业级管理平台,为您的工作提供便捷支持 请尽可能使用工号和密码登录,保障账户信息安全。
`,1),s(`div`,_,[s(`div`,v,[a[7]||=s(`div`,{class:`relative h-24`},[s(`img`,{src:`https://bing.img.run/uhd.php`,alt:`Card image`,class:`w-full h-full object-cover`}),s(`div`,{class:`absolute inset-0 bg-gradient-to-t from-white to-transparent`}),s(`h4`,{class:`absolute bottom-4 left-6 text-xl font-bold text-gray-900`},`登录`)],-1),s(`div`,y,[j.value?(r(),p(`div`,{key:0,id:`LoginToast`,class:`mb-4 p-3 rounded-lg animate-fade-in`,style:t({color:M.value===`error`?`#dc2626`:`#16a34a`,background:M.value===`error`?`#fef2f2`:`#f0fdf4`,border:M.value===`error`?`1px solid #fecaca`:`1px solid #bbf7d0`})},n(j.value),5)):c(``,!0)]),s(`div`,b,[s(`form`,{class:`space-y-4`,id:`loginForm`,onSubmit:o(P,[`prevent`])},[s(`div`,x,[a[3]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-single-02 text-gray-500 input-icon`})],-1),e(s(`input`,{type:`text`,name:`UserName`,"onUpdate:modelValue":a[0]||=e=>h.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`昵称`},null,512),[[f,h.value]])]),s(`div`,S,[a[4]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-lock-circle text-gray-500 input-icon`})],-1),e(s(`input`,{type:`password`,name:`UserPassword`,"onUpdate:modelValue":a[1]||=e=>O.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`密码`,required:``},null,512),[[f,O.value]])]),s(`div`,C,[s(`div`,w,[e(s(`input`,{id:`UserConsent`,name:`UserConsent`,type:`checkbox`,"onUpdate:modelValue":a[2]||=e=>k.value=e,class:`w-4 h-4 rounded border-gray-300 text-blue-500 focus:ring-blue-500 bg-gray-100 transition-all duration-200 hover:border-gray-400 checked:scale-[0.95]`},null,512),[[m,k.value]])]),a[5]||=s(`div`,{class:`ml-3 text-sm`},[s(`label`,{for:`UserConsent`,class:`text-gray-700 transition-colors duration-200 hover:text-gray-900`},[l(` 我阅读并同意 `),s(`a`,{href:`https://doc.gvsds.com/d2ae1dd63e9c35d687464a160896e1ab`,target:`_blank`,class:`text-blue-600 hover:underline transition-colors duration-200 hover:text-blue-700`},`GVSDS用户协议`)])],-1)]),a[6]||=s(`div`,{class:`text-sm text-gray-700`},[l(` 我还没有账号,去 `),s(`a`,{href:`/#/register`,class:`text-blue-600 hover:underline transition-colors duration-200 hover:text-blue-700`},`注册`)],-1),s(`div`,T,[s(`button`,{type:`submit`,disabled:A.value,class:`w-full py-3 px-4 bg-blue-500 hover:bg-blue-600 rounded-lg text-white font-medium transition-all duration-200 flex items-center justify-center hover:scale-[1.02] active:scale-[0.98] hover:shadow-lg hover:shadow-blue-500/10 disabled:opacity-60 disabled:cursor-not-allowed`},[A.value?(r(),p(`i`,D)):c(``,!0),l(` `+n(A.value?`登录中...`:`登录`),1)],8,E)])],32)])])])]))}}),[[`__scopeId`,`data-v-a581e9e4`]]);export{O as default};
\ No newline at end of file
diff --git a/TempLate/assets/LoginView-B3g6VNz4.js b/TempLate/assets/LoginView-B3g6VNz4.js
new file mode 100644
index 00000000..066a96c3
--- /dev/null
+++ b/TempLate/assets/LoginView-B3g6VNz4.js
@@ -0,0 +1 @@
+import{D as e,M as t,N as n,S as r,_ as i,b as a,c as o,d as s,f as c,h as l,k as u,m as d,o as f,p,r as m}from"./index-CJXuAy0L.js";import{t as h}from"./_plugin-vue_export-helper-BDNMzG2s.js";var g={class:`relative min-h-screen flex items-center justify-center bg-gray-50 dark:bg-gray-100 p-4`},_={class:`w-full md:w-1/2 max-w-md opacity-0 translate-x-[20px] animate-fade-in-right`},v={class:`bg-white dark:bg-gray-50 rounded-xl shadow-xl overflow-hidden transition-all duration-300 hover:shadow-blue-500/5`},y={id:`toastWrap`,class:`px-6 pt-6`},b={class:`p-6 pt-0`},x={class:`relative`},S={class:`relative`},C={class:`flex items-start`},w={class:`flex items-center h-5`},T={class:`pt-2`},E=[`disabled`],D={key:0,class:`fa fa-spinner fa-spin mr-2`},O=h(i({__name:`LoginView`,setup(i){let h=u(``),O=u(``),k=u(!1),A=u(!1),j=u(``),M=u(`error`);function N(e,t=`error`){j.value=e,M.value=t}async function P(){if(!k.value){N(`必须签署协议`);return}A.value=!0;try{let e=new FormData;e.append(`UserName`,h.value),e.append(`UserPassword`,O.value),e.append(`UserConsent`,k.value?`true`:`false`);let t=await(await fetch(`https://ugm.gvsds.com/Auth/Login`,{method:`POST`,credentials:`include`,body:e})).json();A.value=!1,t.code===0?(N(`登录成功,即将跳转...`,`success`),setTimeout(()=>{window.location.href=`https://gerp.gvsds.com/`},500)):N(t.msg||`登录失败`)}catch(e){A.value=!1,N(`网络错误:`+e.message)}}return a(()=>{let e=new URLSearchParams(window.location.search).get(`msg`);e&&N(e,`error`)}),(i,a)=>(r(),p(`div`,g,[a[8]||=d(`
欢迎使用 G-ERP 系统 高效、安全的企业级管理平台,为您的工作提供便捷支持 请尽可能使用工号和密码登录,保障账户信息安全。
`,1),s(`div`,_,[s(`div`,v,[a[7]||=s(`div`,{class:`relative h-24`},[s(`img`,{src:`https://bing.img.run/uhd.php`,alt:`Card image`,class:`w-full h-full object-cover`}),s(`div`,{class:`absolute inset-0 bg-gradient-to-t from-white to-transparent`}),s(`h4`,{class:`absolute bottom-4 left-6 text-xl font-bold text-gray-900`},`登录`)],-1),s(`div`,y,[j.value?(r(),p(`div`,{key:0,id:`LoginToast`,class:`mb-4 p-3 rounded-lg animate-fade-in`,style:t({color:M.value===`error`?`#dc2626`:`#16a34a`,background:M.value===`error`?`#fef2f2`:`#f0fdf4`,border:M.value===`error`?`1px solid #fecaca`:`1px solid #bbf7d0`})},n(j.value),5)):c(``,!0)]),s(`div`,b,[s(`form`,{class:`space-y-4`,id:`loginForm`,onSubmit:o(P,[`prevent`])},[s(`div`,x,[a[3]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-single-02 text-gray-500 input-icon`})],-1),e(s(`input`,{type:`text`,name:`UserName`,"onUpdate:modelValue":a[0]||=e=>h.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`昵称`},null,512),[[f,h.value]])]),s(`div`,S,[a[4]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-lock-circle text-gray-500 input-icon`})],-1),e(s(`input`,{type:`password`,name:`UserPassword`,"onUpdate:modelValue":a[1]||=e=>O.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`密码`,required:``},null,512),[[f,O.value]])]),s(`div`,C,[s(`div`,w,[e(s(`input`,{id:`UserConsent`,name:`UserConsent`,type:`checkbox`,"onUpdate:modelValue":a[2]||=e=>k.value=e,class:`w-4 h-4 rounded border-gray-300 text-blue-500 focus:ring-blue-500 bg-gray-100 transition-all duration-200 hover:border-gray-400 checked:scale-[0.95]`},null,512),[[m,k.value]])]),a[5]||=s(`div`,{class:`ml-3 text-sm`},[s(`label`,{for:`UserConsent`,class:`text-gray-700 transition-colors duration-200 hover:text-gray-900`},[l(` 我阅读并同意 `),s(`a`,{href:`https://doc.gvsds.com/d2ae1dd63e9c35d687464a160896e1ab`,target:`_blank`,class:`text-blue-600 hover:underline transition-colors duration-200 hover:text-blue-700`},`GVSDS用户协议`)])],-1)]),a[6]||=s(`div`,{class:`text-sm text-gray-700`},[l(` 我还没有账号,去 `),s(`a`,{href:`/#/register`,class:`text-blue-600 hover:underline transition-colors duration-200 hover:text-blue-700`},`注册`)],-1),s(`div`,T,[s(`button`,{type:`submit`,disabled:A.value,class:`w-full py-3 px-4 bg-blue-500 hover:bg-blue-600 rounded-lg text-white font-medium transition-all duration-200 flex items-center justify-center hover:scale-[1.02] active:scale-[0.98] hover:shadow-lg hover:shadow-blue-500/10 disabled:opacity-60 disabled:cursor-not-allowed`},[A.value?(r(),p(`i`,D)):c(``,!0),l(` `+n(A.value?`登录中...`:`登录`),1)],8,E)])],32)])])])]))}}),[[`__scopeId`,`data-v-a581e9e4`]]);export{O as default};
\ No newline at end of file
diff --git a/TempLate/assets/LoginView-BC7pgwTx.js b/TempLate/assets/LoginView-BC7pgwTx.js
new file mode 100644
index 00000000..595fd33b
--- /dev/null
+++ b/TempLate/assets/LoginView-BC7pgwTx.js
@@ -0,0 +1 @@
+import{D as e,M as t,N as n,S as r,_ as i,b as a,c as o,d as s,f as c,h as l,k as u,m as d,o as f,p,r as m}from"./index-BM-LFFI_.js";import{t as h}from"./_plugin-vue_export-helper-BDNMzG2s.js";var g={class:`relative min-h-screen flex items-center justify-center bg-gray-50 dark:bg-gray-100 p-4`},_={class:`w-full md:w-1/2 max-w-md opacity-0 translate-x-[20px] animate-fade-in-right`},v={class:`bg-white dark:bg-gray-50 rounded-xl shadow-xl overflow-hidden transition-all duration-300 hover:shadow-blue-500/5`},y={id:`toastWrap`,class:`px-6 pt-6`},b={class:`p-6 pt-0`},x={class:`relative`},S={class:`relative`},C={class:`flex items-start`},w={class:`flex items-center h-5`},T={class:`pt-2`},E=[`disabled`],D={key:0,class:`fa fa-spinner fa-spin mr-2`},O=h(i({__name:`LoginView`,setup(i){let h=u(``),O=u(``),k=u(!1),A=u(!1),j=u(``),M=u(`error`);function N(e,t=`error`){j.value=e,M.value=t}async function P(){if(!k.value){N(`必须签署协议`);return}A.value=!0;try{let e=new FormData;e.append(`UserName`,h.value),e.append(`UserPassword`,O.value),e.append(`UserConsent`,k.value?`true`:`false`);let t=await(await fetch(`https://ugm.gvsds.com/Auth/Login`,{method:`POST`,credentials:`include`,body:e})).json();A.value=!1,t.code===0?(N(`登录成功,即将跳转...`,`success`),setTimeout(()=>{window.location.href=`https://gerp.gvsds.com/`},500)):N(t.msg||`登录失败`)}catch(e){A.value=!1,N(`网络错误:`+e.message)}}return a(()=>{let e=new URLSearchParams(window.location.search).get(`msg`);e&&N(e,`error`)}),(i,a)=>(r(),p(`div`,g,[a[8]||=d(`
欢迎使用 G-ERP 系统 高效、安全的企业级管理平台,为您的工作提供便捷支持 请尽可能使用工号和密码登录,保障账户信息安全。
`,1),s(`div`,_,[s(`div`,v,[a[7]||=s(`div`,{class:`relative h-24`},[s(`img`,{src:`https://bing.img.run/uhd.php`,alt:`Card image`,class:`w-full h-full object-cover`}),s(`div`,{class:`absolute inset-0 bg-gradient-to-t from-white to-transparent`}),s(`h4`,{class:`absolute bottom-4 left-6 text-xl font-bold text-gray-900`},`登录`)],-1),s(`div`,y,[j.value?(r(),p(`div`,{key:0,id:`LoginToast`,class:`mb-4 p-3 rounded-lg animate-fade-in`,style:t({color:M.value===`error`?`#dc2626`:`#16a34a`,background:M.value===`error`?`#fef2f2`:`#f0fdf4`,border:M.value===`error`?`1px solid #fecaca`:`1px solid #bbf7d0`})},n(j.value),5)):c(``,!0)]),s(`div`,b,[s(`form`,{class:`space-y-4`,id:`loginForm`,onSubmit:o(P,[`prevent`])},[s(`div`,x,[a[3]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-single-02 text-gray-500 input-icon`})],-1),e(s(`input`,{type:`text`,name:`UserName`,"onUpdate:modelValue":a[0]||=e=>h.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`昵称`},null,512),[[f,h.value]])]),s(`div`,S,[a[4]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-lock-circle text-gray-500 input-icon`})],-1),e(s(`input`,{type:`password`,name:`UserPassword`,"onUpdate:modelValue":a[1]||=e=>O.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`密码`,required:``},null,512),[[f,O.value]])]),s(`div`,C,[s(`div`,w,[e(s(`input`,{id:`UserConsent`,name:`UserConsent`,type:`checkbox`,"onUpdate:modelValue":a[2]||=e=>k.value=e,class:`w-4 h-4 rounded border-gray-300 text-blue-500 focus:ring-blue-500 bg-gray-100 transition-all duration-200 hover:border-gray-400 checked:scale-[0.95]`},null,512),[[m,k.value]])]),a[5]||=s(`div`,{class:`ml-3 text-sm`},[s(`label`,{for:`UserConsent`,class:`text-gray-700 transition-colors duration-200 hover:text-gray-900`},[l(` 我阅读并同意 `),s(`a`,{href:`https://doc.gvsds.com/d2ae1dd63e9c35d687464a160896e1ab`,target:`_blank`,class:`text-blue-600 hover:underline transition-colors duration-200 hover:text-blue-700`},`GVSDS用户协议`)])],-1)]),a[6]||=s(`div`,{class:`text-sm text-gray-700`},[l(` 我还没有账号,去 `),s(`a`,{href:`/#/register`,class:`text-blue-600 hover:underline transition-colors duration-200 hover:text-blue-700`},`注册`)],-1),s(`div`,T,[s(`button`,{type:`submit`,disabled:A.value,class:`w-full py-3 px-4 bg-blue-500 hover:bg-blue-600 rounded-lg text-white font-medium transition-all duration-200 flex items-center justify-center hover:scale-[1.02] active:scale-[0.98] hover:shadow-lg hover:shadow-blue-500/10 disabled:opacity-60 disabled:cursor-not-allowed`},[A.value?(r(),p(`i`,D)):c(``,!0),l(` `+n(A.value?`登录中...`:`登录`),1)],8,E)])],32)])])])]))}}),[[`__scopeId`,`data-v-a581e9e4`]]);export{O as default};
\ No newline at end of file
diff --git a/TempLate/assets/LoginView-C580WbqE.js b/TempLate/assets/LoginView-C580WbqE.js
new file mode 100644
index 00000000..3695349a
--- /dev/null
+++ b/TempLate/assets/LoginView-C580WbqE.js
@@ -0,0 +1 @@
+import{D as e,M as t,N as n,S as r,_ as i,b as a,c as o,d as s,f as c,h as l,k as u,m as d,o as f,p,r as m}from"./index-UfMysbwD.js";import{t as h}from"./_plugin-vue_export-helper-BDNMzG2s.js";var g={class:`relative min-h-screen flex items-center justify-center bg-gray-50 dark:bg-gray-100 p-4`},_={class:`w-full md:w-1/2 max-w-md opacity-0 translate-x-[20px] animate-fade-in-right`},v={class:`bg-white dark:bg-gray-50 rounded-xl shadow-xl overflow-hidden transition-all duration-300 hover:shadow-blue-500/5`},y={id:`toastWrap`,class:`px-6 pt-6`},b={class:`p-6 pt-0`},x={class:`relative`},S={class:`relative`},C={class:`flex items-start`},w={class:`flex items-center h-5`},T={class:`pt-2`},E=[`disabled`],D={key:0,class:`fa fa-spinner fa-spin mr-2`},O=h(i({__name:`LoginView`,setup(i){let h=u(``),O=u(``),k=u(!1),A=u(!1),j=u(``),M=u(`error`);function N(e,t=`error`){j.value=e,M.value=t}async function P(){if(!k.value){N(`必须签署协议`);return}A.value=!0;try{let e=new FormData;e.append(`UserName`,h.value),e.append(`UserPassword`,O.value),e.append(`UserConsent`,k.value?`true`:`false`);let t=await(await fetch(`https://ugm.gvsds.com/Auth/Login`,{method:`POST`,credentials:`include`,body:e})).json();A.value=!1,t.code===0?(N(`登录成功,即将跳转...`,`success`),setTimeout(()=>{window.location.href=`https://gerp.gvsds.com/`},500)):N(t.msg||`登录失败`)}catch(e){A.value=!1,N(`网络错误:`+e.message)}}return a(()=>{let e=new URLSearchParams(window.location.search).get(`msg`);e&&N(e,`error`)}),(i,a)=>(r(),p(`div`,g,[a[8]||=d(`
欢迎使用 G-ERP 系统 高效、安全的企业级管理平台,为您的工作提供便捷支持 请尽可能使用工号和密码登录,保障账户信息安全。
`,1),s(`div`,_,[s(`div`,v,[a[7]||=s(`div`,{class:`relative h-24`},[s(`img`,{src:`https://bing.img.run/uhd.php`,alt:`Card image`,class:`w-full h-full object-cover`}),s(`div`,{class:`absolute inset-0 bg-gradient-to-t from-white to-transparent`}),s(`h4`,{class:`absolute bottom-4 left-6 text-xl font-bold text-gray-900`},`登录`)],-1),s(`div`,y,[j.value?(r(),p(`div`,{key:0,id:`LoginToast`,class:`mb-4 p-3 rounded-lg animate-fade-in`,style:t({color:M.value===`error`?`#dc2626`:`#16a34a`,background:M.value===`error`?`#fef2f2`:`#f0fdf4`,border:M.value===`error`?`1px solid #fecaca`:`1px solid #bbf7d0`})},n(j.value),5)):c(``,!0)]),s(`div`,b,[s(`form`,{class:`space-y-4`,id:`loginForm`,onSubmit:o(P,[`prevent`])},[s(`div`,x,[a[3]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-single-02 text-gray-500 input-icon`})],-1),e(s(`input`,{type:`text`,name:`UserName`,"onUpdate:modelValue":a[0]||=e=>h.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`昵称`},null,512),[[f,h.value]])]),s(`div`,S,[a[4]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-lock-circle text-gray-500 input-icon`})],-1),e(s(`input`,{type:`password`,name:`UserPassword`,"onUpdate:modelValue":a[1]||=e=>O.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`密码`,required:``},null,512),[[f,O.value]])]),s(`div`,C,[s(`div`,w,[e(s(`input`,{id:`UserConsent`,name:`UserConsent`,type:`checkbox`,"onUpdate:modelValue":a[2]||=e=>k.value=e,class:`w-4 h-4 rounded border-gray-300 text-blue-500 focus:ring-blue-500 bg-gray-100 transition-all duration-200 hover:border-gray-400 checked:scale-[0.95]`},null,512),[[m,k.value]])]),a[5]||=s(`div`,{class:`ml-3 text-sm`},[s(`label`,{for:`UserConsent`,class:`text-gray-700 transition-colors duration-200 hover:text-gray-900`},[l(` 我阅读并同意 `),s(`a`,{href:`https://doc.gvsds.com/d2ae1dd63e9c35d687464a160896e1ab`,target:`_blank`,class:`text-blue-600 hover:underline transition-colors duration-200 hover:text-blue-700`},`GVSDS用户协议`)])],-1)]),a[6]||=s(`div`,{class:`text-sm text-gray-700`},[l(` 我还没有账号,去 `),s(`a`,{href:`/#/register`,class:`text-blue-600 hover:underline transition-colors duration-200 hover:text-blue-700`},`注册`)],-1),s(`div`,T,[s(`button`,{type:`submit`,disabled:A.value,class:`w-full py-3 px-4 bg-blue-500 hover:bg-blue-600 rounded-lg text-white font-medium transition-all duration-200 flex items-center justify-center hover:scale-[1.02] active:scale-[0.98] hover:shadow-lg hover:shadow-blue-500/10 disabled:opacity-60 disabled:cursor-not-allowed`},[A.value?(r(),p(`i`,D)):c(``,!0),l(` `+n(A.value?`登录中...`:`登录`),1)],8,E)])],32)])])])]))}}),[[`__scopeId`,`data-v-a581e9e4`]]);export{O as default};
\ No newline at end of file
diff --git a/TempLate/assets/LoginView-CP4jdIuW.css b/TempLate/assets/LoginView-CP4jdIuW.css
new file mode 100644
index 00000000..42de6756
--- /dev/null
+++ b/TempLate/assets/LoginView-CP4jdIuW.css
@@ -0,0 +1 @@
+@keyframes fadeInLeft-a581e9e4{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.animate-fade-in-left[data-v-a581e9e4]{animation:.5s ease-out forwards fadeInLeft-a581e9e4}@keyframes fadeInRight-a581e9e4{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.animate-fade-in-right[data-v-a581e9e4]{animation:.5s ease-out forwards fadeInRight-a581e9e4}@keyframes fadeIn-a581e9e4{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in[data-v-a581e9e4]{animation:.3s ease-out forwards fadeIn-a581e9e4}input:focus~.input-icon[data-v-a581e9e4]{color:#a855f7}
diff --git a/TempLate/assets/LoginView-Du6TLWnR.js b/TempLate/assets/LoginView-Du6TLWnR.js
new file mode 100644
index 00000000..c756fb93
--- /dev/null
+++ b/TempLate/assets/LoginView-Du6TLWnR.js
@@ -0,0 +1 @@
+import{D as e,M as t,N as n,S as r,_ as i,b as a,c as o,d as s,f as c,h as l,k as u,m as d,o as f,p,r as m}from"./index-CMhybB9x.js";import{t as h}from"./_plugin-vue_export-helper-BDNMzG2s.js";var g={class:`relative min-h-screen flex items-center justify-center bg-gray-50 dark:bg-gray-100 p-4`},_={class:`w-full md:w-1/2 max-w-md opacity-0 translate-x-[20px] animate-fade-in-right`},v={class:`bg-white dark:bg-gray-50 rounded-xl shadow-xl overflow-hidden transition-all duration-300 hover:shadow-blue-500/5`},y={id:`toastWrap`,class:`px-6 pt-6`},b={class:`p-6 pt-0`},x={class:`relative`},S={class:`relative`},C={class:`flex items-start`},w={class:`flex items-center h-5`},T={class:`pt-2`},E=[`disabled`],D={key:0,class:`fa fa-spinner fa-spin mr-2`},O=h(i({__name:`LoginView`,setup(i){let h=u(``),O=u(``),k=u(!1),A=u(!1),j=u(``),M=u(`error`);function N(e,t=`error`){j.value=e,M.value=t}async function P(){if(!k.value){N(`必须签署协议`);return}A.value=!0;try{let e=new FormData;e.append(`UserName`,h.value),e.append(`UserPassword`,O.value),e.append(`UserConsent`,k.value?`true`:`false`);let t=await(await fetch(`https://ugm.gvsds.com/Auth/Login`,{method:`POST`,credentials:`include`,body:e})).json();A.value=!1,t.code===0?(N(`登录成功,即将跳转...`,`success`),setTimeout(()=>{window.location.href=`https://gerp.gvsds.com/`},500)):N(t.msg||`登录失败`)}catch(e){A.value=!1,N(`网络错误:`+e.message)}}return a(()=>{let e=new URLSearchParams(window.location.search).get(`msg`);e&&N(e,`error`)}),(i,a)=>(r(),p(`div`,g,[a[8]||=d(`
欢迎使用 G-ERP 系统 高效、安全的企业级管理平台,为您的工作提供便捷支持 请尽可能使用工号和密码登录,保障账户信息安全。
`,1),s(`div`,_,[s(`div`,v,[a[7]||=s(`div`,{class:`relative h-24`},[s(`img`,{src:`https://bing.img.run/uhd.php`,alt:`Card image`,class:`w-full h-full object-cover`}),s(`div`,{class:`absolute inset-0 bg-gradient-to-t from-white to-transparent`}),s(`h4`,{class:`absolute bottom-4 left-6 text-xl font-bold text-gray-900`},`登录`)],-1),s(`div`,y,[j.value?(r(),p(`div`,{key:0,id:`LoginToast`,class:`mb-4 p-3 rounded-lg animate-fade-in`,style:t({color:M.value===`error`?`#dc2626`:`#16a34a`,background:M.value===`error`?`#fef2f2`:`#f0fdf4`,border:M.value===`error`?`1px solid #fecaca`:`1px solid #bbf7d0`})},n(j.value),5)):c(``,!0)]),s(`div`,b,[s(`form`,{class:`space-y-4`,id:`loginForm`,onSubmit:o(P,[`prevent`])},[s(`div`,x,[a[3]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-single-02 text-gray-500 input-icon`})],-1),e(s(`input`,{type:`text`,name:`UserName`,"onUpdate:modelValue":a[0]||=e=>h.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`昵称`},null,512),[[f,h.value]])]),s(`div`,S,[a[4]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-lock-circle text-gray-500 input-icon`})],-1),e(s(`input`,{type:`password`,name:`UserPassword`,"onUpdate:modelValue":a[1]||=e=>O.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`密码`,required:``},null,512),[[f,O.value]])]),s(`div`,C,[s(`div`,w,[e(s(`input`,{id:`UserConsent`,name:`UserConsent`,type:`checkbox`,"onUpdate:modelValue":a[2]||=e=>k.value=e,class:`w-4 h-4 rounded border-gray-300 text-blue-500 focus:ring-blue-500 bg-gray-100 transition-all duration-200 hover:border-gray-400 checked:scale-[0.95]`},null,512),[[m,k.value]])]),a[5]||=s(`div`,{class:`ml-3 text-sm`},[s(`label`,{for:`UserConsent`,class:`text-gray-700 transition-colors duration-200 hover:text-gray-900`},[l(` 我阅读并同意 `),s(`a`,{href:`https://doc.gvsds.com/d2ae1dd63e9c35d687464a160896e1ab`,target:`_blank`,class:`text-blue-600 hover:underline transition-colors duration-200 hover:text-blue-700`},`GVSDS用户协议`)])],-1)]),a[6]||=s(`div`,{class:`text-sm text-gray-700`},[l(` 我还没有账号,去 `),s(`a`,{href:`/#/register`,class:`text-blue-600 hover:underline transition-colors duration-200 hover:text-blue-700`},`注册`)],-1),s(`div`,T,[s(`button`,{type:`submit`,disabled:A.value,class:`w-full py-3 px-4 bg-blue-500 hover:bg-blue-600 rounded-lg text-white font-medium transition-all duration-200 flex items-center justify-center hover:scale-[1.02] active:scale-[0.98] hover:shadow-lg hover:shadow-blue-500/10 disabled:opacity-60 disabled:cursor-not-allowed`},[A.value?(r(),p(`i`,D)):c(``,!0),l(` `+n(A.value?`登录中...`:`登录`),1)],8,E)])],32)])])])]))}}),[[`__scopeId`,`data-v-a581e9e4`]]);export{O as default};
\ No newline at end of file
diff --git a/TempLate/assets/LoginView-_QDMNiXc.js b/TempLate/assets/LoginView-_QDMNiXc.js
new file mode 100644
index 00000000..58103f92
--- /dev/null
+++ b/TempLate/assets/LoginView-_QDMNiXc.js
@@ -0,0 +1 @@
+import{D as e,M as t,N as n,S as r,_ as i,b as a,c as o,d as s,f as c,h as l,k as u,m as d,o as f,p,r as m}from"./index-PMfCvoYM.js";import{t as h}from"./_plugin-vue_export-helper-BDNMzG2s.js";var g={class:`relative min-h-screen flex items-center justify-center bg-gray-50 dark:bg-gray-100 p-4`},_={class:`w-full md:w-1/2 max-w-md opacity-0 translate-x-[20px] animate-fade-in-right`},v={class:`bg-white dark:bg-gray-50 rounded-xl shadow-xl overflow-hidden transition-all duration-300 hover:shadow-blue-500/5`},y={id:`toastWrap`,class:`px-6 pt-6`},b={class:`p-6 pt-0`},x={class:`relative`},S={class:`relative`},C={class:`flex items-start`},w={class:`flex items-center h-5`},T={class:`pt-2`},E=[`disabled`],D={key:0,class:`fa fa-spinner fa-spin mr-2`},O=h(i({__name:`LoginView`,setup(i){let h=u(``),O=u(``),k=u(!1),A=u(!1),j=u(``),M=u(`error`);function N(e,t=`error`){j.value=e,M.value=t}async function P(){if(!k.value){N(`必须签署协议`);return}A.value=!0;try{let e=new FormData;e.append(`UserName`,h.value),e.append(`UserPassword`,O.value),e.append(`UserConsent`,k.value?`true`:`false`);let t=await(await fetch(`https://ugm.gvsds.com/Auth/Login`,{method:`POST`,credentials:`include`,body:e})).json();A.value=!1,t.code===0?(N(`登录成功,即将跳转...`,`success`),setTimeout(()=>{window.location.href=`https://gerp.gvsds.com/`},500)):N(t.msg||`登录失败`)}catch(e){A.value=!1,N(`网络错误:`+e.message)}}return a(()=>{let e=new URLSearchParams(window.location.search).get(`msg`);e&&N(e,`error`)}),(i,a)=>(r(),p(`div`,g,[a[8]||=d(`
欢迎使用 G-ERP 系统 高效、安全的企业级管理平台,为您的工作提供便捷支持 请尽可能使用工号和密码登录,保障账户信息安全。
`,1),s(`div`,_,[s(`div`,v,[a[7]||=s(`div`,{class:`relative h-24`},[s(`img`,{src:`https://bing.img.run/uhd.php`,alt:`Card image`,class:`w-full h-full object-cover`}),s(`div`,{class:`absolute inset-0 bg-gradient-to-t from-white to-transparent`}),s(`h4`,{class:`absolute bottom-4 left-6 text-xl font-bold text-gray-900`},`登录`)],-1),s(`div`,y,[j.value?(r(),p(`div`,{key:0,id:`LoginToast`,class:`mb-4 p-3 rounded-lg animate-fade-in`,style:t({color:M.value===`error`?`#dc2626`:`#16a34a`,background:M.value===`error`?`#fef2f2`:`#f0fdf4`,border:M.value===`error`?`1px solid #fecaca`:`1px solid #bbf7d0`})},n(j.value),5)):c(``,!0)]),s(`div`,b,[s(`form`,{class:`space-y-4`,id:`loginForm`,onSubmit:o(P,[`prevent`])},[s(`div`,x,[a[3]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-single-02 text-gray-500 input-icon`})],-1),e(s(`input`,{type:`text`,name:`UserName`,"onUpdate:modelValue":a[0]||=e=>h.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`昵称`},null,512),[[f,h.value]])]),s(`div`,S,[a[4]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-lock-circle text-gray-500 input-icon`})],-1),e(s(`input`,{type:`password`,name:`UserPassword`,"onUpdate:modelValue":a[1]||=e=>O.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`密码`,required:``},null,512),[[f,O.value]])]),s(`div`,C,[s(`div`,w,[e(s(`input`,{id:`UserConsent`,name:`UserConsent`,type:`checkbox`,"onUpdate:modelValue":a[2]||=e=>k.value=e,class:`w-4 h-4 rounded border-gray-300 text-blue-500 focus:ring-blue-500 bg-gray-100 transition-all duration-200 hover:border-gray-400 checked:scale-[0.95]`},null,512),[[m,k.value]])]),a[5]||=s(`div`,{class:`ml-3 text-sm`},[s(`label`,{for:`UserConsent`,class:`text-gray-700 transition-colors duration-200 hover:text-gray-900`},[l(` 我阅读并同意 `),s(`a`,{href:`https://doc.gvsds.com/d2ae1dd63e9c35d687464a160896e1ab`,target:`_blank`,class:`text-blue-600 hover:underline transition-colors duration-200 hover:text-blue-700`},`GVSDS用户协议`)])],-1)]),a[6]||=s(`div`,{class:`text-sm text-gray-700`},[l(` 我还没有账号,去 `),s(`a`,{href:`/#/register`,class:`text-blue-600 hover:underline transition-colors duration-200 hover:text-blue-700`},`注册`)],-1),s(`div`,T,[s(`button`,{type:`submit`,disabled:A.value,class:`w-full py-3 px-4 bg-blue-500 hover:bg-blue-600 rounded-lg text-white font-medium transition-all duration-200 flex items-center justify-center hover:scale-[1.02] active:scale-[0.98] hover:shadow-lg hover:shadow-blue-500/10 disabled:opacity-60 disabled:cursor-not-allowed`},[A.value?(r(),p(`i`,D)):c(``,!0),l(` `+n(A.value?`登录中...`:`登录`),1)],8,E)])],32)])])])]))}}),[[`__scopeId`,`data-v-a581e9e4`]]);export{O as default};
\ No newline at end of file
diff --git a/TempLate/assets/MembersView-By6FQjIr.js b/TempLate/assets/MembersView-By6FQjIr.js
new file mode 100644
index 00000000..44f1bdd8
--- /dev/null
+++ b/TempLate/assets/MembersView-By6FQjIr.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,f as o,j as s,k as c,l,m as u,p as d,u as f}from"./index-BM-LFFI_.js";import{t as p}from"./_plugin-vue_export-helper-BDNMzG2s.js";var ee={class:`container mx-auto px-4 pt-8 pb-10 md:pb-12 relative w-full overflow-x-hidden`},te={class:`max-w-7xl mx-auto relative z-10 px-4 md:px-8`},ne={class:`mb-6 flex flex-wrap gap-2 justify-center`,id:`filter-buttons`},re=[`onClick`],m={id:`members-container`,class:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4 md:gap-6`},h={class:`absolute inset-0 flex items-center justify-center`},ie=[`src`,`alt`],ae={class:`p-4 flex-grow`},oe={class:`text-gray-500 dark:text-gray-400 mb-3 text-xs`},se={class:`mb-3`},g={class:`text-xs font-semibold text-text-primary dark:text-white mb-1`},_={class:`flex flex-wrap gap-1`},v={class:`mb-3`},y={class:`text-xs font-semibold text-text-primary dark:text-white mb-1`},b={class:`flex flex-wrap gap-1`},x={class:`text-xs text-gray-600 dark:text-gray-400 leading-relaxed mb-3`},S={class:`grid grid-cols-2 gap-2 text-xs mb-3`},C={class:`text-gray-500 dark:text-gray-400`},w={class:`font-medium text-text-primary dark:text-gray-200`},T={class:`p-4 pt-0`},E=[`onClick`],D={class:`flex items-start justify-center min-h-screen p-4 pt-16`},O={class:`sticky top-0 bg-white dark:bg-slate-800 border-b border-gray-200 dark:border-slate-700 px-6 py-4 rounded-t-xl flex justify-between items-center z-10`},k={class:`text-2xl font-bold text-text-primary dark:text-white`},A={key:0,class:`p-6 md:p-8`},j={class:`bg-gray-50 dark:bg-slate-700/50 p-4 rounded-lg mb-6 border border-gray-100 dark:border-slate-600`},M={class:`flex flex-col md:flex-row gap-4`},N={class:`md:w-1/3`},P=[`src`,`alt`],F={class:`text-xl font-bold text-center mb-2 text-gray-900 dark:text-white`},I={class:`text-gray-600 dark:text-gray-400 text-center mb-2`},L={class:`text-primary dark:text-blue-400 text-center font-medium`},R={class:`md:w-2/3`},z={class:`text-gray-600 dark:text-gray-300 mb-4`},B={id:`dynamic-info`,class:`grid grid-cols-2 gap-4 mb-4`},V={class:`font-semibold mb-2 text-gray-900 dark:text-gray-200`},H={class:`text-gray-600 dark:text-gray-400`},ce={id:`modal-contacts`,class:`flex gap-2 flex-wrap`},U=[`href`],W={key:1,class:`text-gray-500 dark:text-gray-400`},G={id:`dynamic-charts`,class:`grid grid-cols-1 lg:grid-cols-2 gap-6 mb-6`},le={class:`text-lg font-semibold mb-4 text-center text-gray-900 dark:text-white`},ue={key:0,class:`h-64 flex items-end justify-between gap-2 px-2`},de={class:`text-xs text-gray-500 dark:text-gray-400 font-mono opacity-0 group-hover:opacity-100 transition-opacity`},fe={class:`text-xs text-gray-500 dark:text-gray-400 mt-1`},pe={key:1,class:`h-64 flex items-center justify-center`},me={viewBox:`0 0 200 200`,class:`w-full max-w-[240px] h-full`},he=[`points`,`fill`,`stroke`],ge=[`x`,`y`,`text-anchor`],_e={key:2,class:`h-64 flex items-end justify-between gap-2 px-2`},ve={class:`text-xs text-gray-500 dark:text-gray-400 font-mono opacity-0 group-hover:opacity-100 transition-opacity`},ye={class:`text-xs text-gray-500 dark:text-gray-400 mt-1 truncate w-full text-center`},K=p(i({__name:`MembersView`,setup(i){let p=[{id:`all`,text:`全部`},{id:`engineering`,text:`工程部`},{id:`art`,text:`美工部`},{id:`operations`,text:`运营部`}],K=c(`all`),q=[{name:`Chindows`,position:`星界工作室(子工作室) 负责人`,role:`终端开发`,department:`engineering`,color:{hex:`0082FE`},labels:{roles:`技术岗位`,skills:`核心能力`,description:`个人简介`,contacts:`联系方式`,details:`查看贡献详情`},roles:[`终端应用开发者`,`OIer`,`编程学习者`,`星界工作室负责人`],skills:[`Python`,`C`,`C++`],description:`这个人很神秘,两袖清风,什么都没留下,也什么都没带走。`,avatar:`/assets/members/Chindows.jpg`,stats:[{label:`加入时间`,value:`2023年7月`},{label:`项目参与数`,value:1},{label:`代码贡献行`,value:`1,479`},{label:`代码贡献字`,value:`12,546`}],contacts:[{icon:`fa fa-github`,url:`https://github.com/MicGan`},{icon:`fa fa-envelope`,url:`mailto:chindows@example.com`}],charts:{contribution:{title:`代码贡献量趋势`,type:`line`,data:{"7月":0,"8月":0,"9月":0,"10月":0,"11月":0,"12月":0},label:`代码贡献量`},skills:{title:`编程水平评估`,type:`radar`,data:{算法能力:84,代码质量:60,问题解决:60,创新思维:50,团队协作:60,学习能力:60},label:`编程水平`},proficiency:{title:`技能掌握程度`,type:`bar`,data:{Python:60,"HTML/CSS":10,JavaScript:0,"C++":44,"C#":10,Java:10,Kotlin:10,SQL:0,PowerShell:0,Bash:65,Assembly:0,Lua:0,PHP:0,逆向工程:0,"UI 设计":0,渗透工程:0,"美术 设计":0},label:`技能掌握程度`}},avatarClass:``,roleBadgeClass:``},{name:`TermiNexus`,position:`银河锋锐工作室负责人`,role:`工作室负责人 / 全栈`,department:`engineering`,color:{hex:`165DFF`},labels:{roles:`技术岗位`,skills:`核心能力`,description:`个人简介`,contacts:`联系方式`,details:`查看贡献详情`},roles:[`独立全栈开发工程师`,`后端开发工程师`,`多语言开发工程师`,`核心项目经理`],skills:[`Python 前端全栈`,`系统架构`,`组织管理`,`组织规划`],description:`深耕编程领域 6 年,主导工作室技术方向与团队建设,擅长从 0 到 1 搭建技术体系,注重成员成长与技术沉淀,秉持「和而不同、创新为主」的团队理念。`,avatar:`/assets/members/terminexus.jpg`,stats:[{label:`加入时间`,value:`2019年9月`},{label:`项目参与数`,value:12},{label:`代码贡献行`,value:`210,989`},{label:`代码贡献字`,value:`7,125,605`}],contacts:[{icon:`fa fa-github`,url:`https://github.com/TermiNexus`},{icon:`fa fa-envelope`,url:`mailto:terminexus@gvsds.com`}],charts:{contribution:{title:`代码贡献量趋势`,type:`line`,data:{"7月":17868,"8月":24534,"9月":4678,"10月":8097,"11月":14573,"12月":7380},label:`代码贡献量`},skills:{title:`编程水平评估`,type:`radar`,data:{算法能力:90,代码质量:95,问题解决:92,创新思维:88,团队协作:95,学习能力:85},label:`编程水平`},proficiency:{title:`技能掌握程度`,type:`bar`,data:{Python:95,"HTML/CSS":93,JavaScript:92,"C++":87,"C#":66,Java:89,Kotlin:73,SQL:64,PowerShell:76,Bash:84,Assembly:75,Lua:86,PHP:12,逆向工程:93,"UI 设计":85,渗透工程:43,"美术 设计":73},label:`技能掌握程度`}},avatarClass:``,roleBadgeClass:`member-role-badge-gold`},{name:`悠然自得`,position:`星界工作室`,role:`终端开发`,department:`engineering`,color:{hex:`045BCB`},labels:{roles:`技术岗位`,skills:`核心能力`,description:`个人简介`,contacts:`联系方式`,details:`查看贡献详情`},roles:[`终端应用开发者`,`OIer`,`编程学习者`,`前端工程师`],skills:[`Python`,`C`,`C++`,`前端`],description:`热爱编程,积极参与团队项目,工作室的主力军。`,avatar:`/assets/members/yrzd.jpg`,stats:[{label:`加入时间`,value:`2023年8月`},{label:`项目参与数`,value:6},{label:`代码贡献行`,value:`3,395`},{label:`代码贡献字`,value:`106,162`}],contacts:[{icon:`fa fa-github`,url:`https://github.com/yrzd6`}],charts:{contribution:{title:`代码贡献量趋势`,type:`line`,data:{"7月":0,"8月":0,"9月":0,"10月":0,"11月":0,"12月":2764},label:`代码贡献量`},skills:{title:`编程水平评估`,type:`radar`,data:{算法能力:75,代码质量:80,问题解决:85,创新思维:75,团队协作:90,学习能力:90},label:`编程水平`},proficiency:{title:`技能掌握程度`,type:`bar`,data:{Python:85,C:40,"C++":65,前端:80,数据结构:75,算法:85},label:`技能掌握程度`}},avatarClass:``,roleBadgeClass:``},{name:`赤砂`,position:`美工部`,role:`画师`,department:`design`,color:{hex:`848685`},labels:{roles:`设计岗位`,skills:`核心能力`,description:`个人简介`,contacts:`联系方式`,details:`查看贡献详情`},roles:[`角色概念设计师`,`插画师`],skills:[`图像处理`,`插画色彩理论`],description:`入我!`,avatar:`/assets/members/chisha.jpg`,stats:[{label:`加入时间`,value:`2023月10日`},{label:`项目参与数`,value:8},{label:`完成作品数`,value:14},{label:`设计稿通过率`,value:`100%`}],contacts:[{icon:`fa fa-envelope`,url:`mailto:1591223795@qq.com`},{icon:`fa fa-qq`,url:`tencent://message/?uin=1591223795`}],charts:{contribution:{title:`作品完成趋势`,type:`line`,data:{七月:2,八月:3,九月:0,十月:0,十一月:1,十二月:0},label:`完成作品数`},skills:{title:`设计能力评估`,type:`radar`,data:{创意构思:96,色彩运用:90,构图能力:89,细节处理:77,风格多样性:91,手绘技巧:76},label:`设计能力`}},avatarClass:``,roleBadgeClass:``}],J=f(()=>K.value===`all`?q:q.filter(e=>e.department===K.value));function be(e){K.value=e}function Y(e,t=1){if(!e)return`#000000`;if(e.hex){let n=e.hex;return t===1?`#${n}`:`rgba(${parseInt(n.substr(0,2),16)},${parseInt(n.substr(2,2),16)},${parseInt(n.substr(4,2),16)},${t})`}return e.css?e.css:`#000000`}let X=c(!1),Z=c(-1),Q=f(()=>Z.value>=0?J.value[Z.value]:null);function xe(e){Z.value=e,X.value=!0}function Se(){X.value=!1,setTimeout(()=>{Z.value=-1},300)}function Ce(e,t){let n=Math.max(...Object.values(t),1);return Math.max(4,e/n*100)}let $=f(()=>{let e=Q.value;if(!e)return``;let t=e.charts.skills?.data||{},n=Object.keys(t).slice(0,6);return n.length<3?``:n.map((e,n)=>{let r=Math.PI*2*n/6-Math.PI/2,i=Math.min(t[e]??0,100)/100*72;return`${100+i*Math.cos(r)},${100+i*Math.sin(r)}`}).join(` `)}),we=f(()=>{let e=Q.value;if(!e)return[];let t=e.charts.skills?.data||{};return Object.keys(t).slice(0,6).map((e,t)=>{let n=Math.PI*2*t/6-Math.PI/2,r=100+92*Math.cos(n),i=100+92*Math.sin(n),a=`middle`;return Math.abs(Math.cos(n))>.6&&(a=Math.cos(n)>0?`start`:`end`),{label:e,x:r,y:i,anchor:a}})});return(i,c)=>(r(),d(`section`,ee,[a(`div`,te,[c[1]||=u(`
核心团队 · 成员风采 银河锋锐筑梦人 每一位成员都是团队的星光(由于信息收集难度大,只展示四个人的信息) 以专业与热爱共筑技术星河
`,3),a(`div`,ne,[(r(),d(l,null,e(p,e=>a(`button`,{key:e.id,class:s(K.value===e.id?`member-filter-btn px-3 py-1.5 rounded-full text-white font-medium transition-all hover:bg-gray-300 dark:hover:bg-slate-600 text-sm bg-primary`:`member-filter-btn px-3 py-1.5 rounded-full text-white font-medium transition-all hover:bg-gray-300 dark:hover:bg-slate-600 text-sm bg-gray-200 dark:bg-slate-700 dark:text-gray-300 text-gray-700`),onClick:t=>be(e.id)},n(e.text),11,re)),64))]),a(`div`,m,[(r(!0),d(l,null,e(J.value,(i,o)=>(r(),d(`div`,{key:i.name,class:`group relative bg-white/90 dark:bg-slate-800/90 backdrop-blur-sm rounded-lg overflow-hidden shadow-[0_4px_20px_rgba(0,0,0,0.05)] dark:shadow-[0_4px_20px_rgba(0,0,0,0.3)] transition-all duration-500 hover:shadow-[0_8px_30px_rgba(22,93,255,0.12)] dark:hover:shadow-[0_8px_30px_rgba(59,130,246,0.2)] transform hover:-translate-y-1 card-hover z-10 flex flex-col member-card`,style:t({animation:`slideInUp 0.6s ease-out ${o*.1}s both`})},[a(`div`,{class:`h-48 relative overflow-hidden`,style:t({background:`linear-gradient(to bottom right, ${Y(i.color,.1)}, ${Y(i.color,.05)})`})},[a(`div`,h,[a(`div`,{class:s([`member-avatar w-24 h-24 rounded-full overflow-hidden border-3 border-white dark:border-slate-600 shadow-lg transform group-hover:scale-105 transition-transform duration-500`,i.avatarClass])},[a(`img`,{src:i.avatar,alt:i.name,class:`w-full h-full object-cover`},null,8,ie)],2)]),a(`div`,{class:s([`member-role-badge absolute top-3 right-3 text-white text-xs font-medium px-2 py-0.5 rounded-full`,i.roleBadgeClass]),style:t({backgroundColor:Y(i.color)})},n(i.role),7)],4),a(`div`,ae,[a(`h3`,{class:`text-lg font-bold text-text-primary dark:text-gray-100 mb-1 transition-colors`,style:t({"--hover-color":Y(i.color)})},n(i.name),5),a(`p`,oe,n(i.position),1),a(`div`,se,[a(`h4`,g,n(i.labels.roles),1),a(`div`,_,[(r(!0),d(l,null,e(i.roles,e=>(r(),d(`span`,{key:e,class:`px-1.5 py-0.5 text-xs rounded-full`,style:t({backgroundColor:Y(i.color,.1),color:Y(i.color)})},n(e),5))),128))])]),a(`div`,v,[a(`h4`,y,n(i.labels.skills),1),a(`div`,b,[(r(!0),d(l,null,e(i.skills,e=>(r(),d(`span`,{key:e,class:`px-1.5 py-0.5 text-xs rounded-full`,style:t({backgroundColor:Y(i.color,.1),color:Y(i.color)})},n(e),5))),128))])]),a(`div`,x,n(i.description),1),a(`div`,S,[(r(!0),d(l,null,e(i.stats,e=>(r(),d(`div`,{key:e.label},[a(`span`,C,n(e.label)+`:`,1),a(`span`,w,n(e.value),1)]))),128))])]),a(`div`,T,[a(`button`,{class:`view-stats-btn w-full px-3 py-1.5 rounded-lg font-medium transition-all duration-300 flex items-center justify-center gap-1 text-sm`,style:t({backgroundColor:Y(i.color,.1),color:Y(i.color)}),onClick:e=>xe(o)},[c[0]||=a(`i`,{class:`fa fa-chart-line`},null,-1),a(`span`,null,n(i.labels.details),1)],12,E)]),a(`div`,{class:`absolute inset-0 opacity-0 group-hover:opacity-100 transition-opacity duration-500 pointer-events-none`,style:t({background:`linear-gradient(to top, ${Y(i.color,.1)}, transparent)`})},null,4)],4))),128))]),c[2]||=a(`div`,{class:`mt-8 md:mt-10 flex justify-end pr-4 md:pr-8`},[a(`button`,{class:`bg-white dark:bg-slate-800 border-2 border-primary dark:border-blue-500 text-primary dark:text-blue-400 hover:bg-primary hover:text-white dark:hover:bg-blue-600 dark:hover:text-white px-6 py-2.5 rounded-lg font-medium transition-all duration-300 flex items-center gap-2 transform hover:scale-105 hover:shadow-lg hover:shadow-primary/10 dark:hover:shadow-blue-500/20`},[a(`i`,{class:`fa fa-user-plus transform hover:rotate-180 transition-transform duration-300`}),a(`span`,null,`加入我们`)])],-1)]),a(`div`,{id:`chart-modal`,class:s([`fixed inset-0 bg-black/60 dark:bg-black/80 z-50 overflow-y-auto backdrop-blur-sm`,X.value?``:`hidden`])},[a(`div`,D,[a(`div`,{class:s([`bg-white dark:bg-slate-800 rounded-xl shadow-xl dark:shadow-black/40 max-w-7xl w-full max-h-[85vh] overflow-y-auto transform transition-all duration-300`,X.value?`translate-y-0 opacity-100`:`translate-y-full opacity-0`])},[a(`div`,O,[a(`h3`,k,n(Q.value?.name||`成员贡献详情`)+`-贡献详情`,1),a(`button`,{class:`text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-white transition-colors`,onClick:Se},[...c[3]||=[a(`i`,{class:`fa fa-times text-xl`},null,-1)]])]),Q.value?(r(),d(`div`,A,[a(`div`,j,[a(`div`,M,[a(`div`,N,[a(`img`,{src:Q.value.avatar,alt:Q.value.name,class:`w-32 h-32 rounded-full mx-auto mb-4 object-cover border-4 border-gray-200 dark:border-slate-600`},null,8,P),a(`h4`,F,n(Q.value.name),1),a(`p`,I,n(Q.value.position),1),a(`p`,L,n(Q.value.role),1)]),a(`div`,R,[c[5]||=a(`h5`,{class:`font-semibold mb-2 text-gray-900 dark:text-white`},`个人简介`,-1),a(`p`,z,n(Q.value.description),1),a(`div`,B,[(r(!0),d(l,null,e(Q.value.stats,e=>(r(),d(`div`,{key:e.label},[a(`h5`,V,n(e.label),1),a(`p`,H,n(e.value),1)]))),128))]),a(`div`,null,[c[4]||=a(`h5`,{class:`font-semibold mb-2 text-gray-900 dark:text-white`},`联系方式`,-1),a(`div`,ce,[Q.value.contacts&&Q.value.contacts.length>0?(r(!0),d(l,{key:0},e(Q.value.contacts,e=>(r(),d(`a`,{key:e.icon,href:e.url||void 0,target:`_blank`,class:`hover:underline`,style:t({color:Y(Q.value.color)})},[a(`i`,{class:s(e.icon)},null,2)],12,U))),128)):(r(),d(`span`,W,`该成员暂未提供联系方式`))])])])])]),a(`div`,G,[(r(!0),d(l,null,e(Q.value.charts,(i,f)=>(r(),d(`div`,{key:f,class:s([`bg-gray-50 dark:bg-slate-700/50 p-4 rounded-lg`,{"lg:col-span-2":f===`proficiency`}])},[a(`h4`,le,n(i.title),1),i.type===`line`?(r(),d(`div`,ue,[(r(!0),d(l,null,e(i.data,(e,o)=>(r(),d(`div`,{key:o,class:`flex flex-col items-center flex-1 h-full justify-end group`},[a(`div`,de,n(e),1),a(`div`,{class:`w-full max-w-[28px] rounded-t`,style:t({height:`${Ce(e,i.data)}%`,backgroundColor:Y(Q.value.color,.6)})},null,4),a(`span`,fe,n(o),1)]))),128))])):i.type===`radar`?(r(),d(`div`,pe,[(r(),d(`svg`,me,[c[6]||=u(` `,9),$.value.length>2?(r(),d(`polygon`,{key:0,points:$.value,fill:Y(Q.value.color,.2),stroke:Y(Q.value.color),"stroke-width":`2`},null,8,he)):o(``,!0),(r(!0),d(l,null,e(we.value,(e,t)=>(r(),d(`text`,{key:t,x:e.x,y:e.y,"text-anchor":e.anchor,"font-size":`8`,fill:`#64748b`,class:`font-mono`},n(e.label),9,ge))),128))]))])):(r(),d(`div`,_e,[(r(!0),d(l,null,e(i.data,(e,i)=>(r(),d(`div`,{key:i,class:`flex flex-col items-center flex-1 h-full justify-end group`},[a(`div`,ve,n(e),1),a(`div`,{class:`w-full max-w-[24px] rounded-t transition-all`,style:t({height:`${Math.max(4,e/100*100)}%`,backgroundColor:Y(Q.value.color,.7)})},null,4),a(`span`,ye,n(i),1)]))),128))]))],2))),128))])])):o(``,!0)],2)])],2)]))}}),[[`__scopeId`,`data-v-47b97c26`]]);export{K as default};
\ No newline at end of file
diff --git a/TempLate/assets/MembersView-C4aLTWuO.js b/TempLate/assets/MembersView-C4aLTWuO.js
new file mode 100644
index 00000000..1bbd1b54
--- /dev/null
+++ b/TempLate/assets/MembersView-C4aLTWuO.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,f as o,j as s,k as c,l,m as u,p as d,u as f}from"./index-CUry87of.js";import{t as p}from"./_plugin-vue_export-helper-BDNMzG2s.js";var ee={class:`container mx-auto px-4 pt-8 pb-10 md:pb-12 relative w-full overflow-x-hidden`},te={class:`max-w-7xl mx-auto relative z-10 px-4 md:px-8`},ne={class:`mb-6 flex flex-wrap gap-2 justify-center`,id:`filter-buttons`},re=[`onClick`],m={id:`members-container`,class:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4 md:gap-6`},h={class:`absolute inset-0 flex items-center justify-center`},ie=[`src`,`alt`],ae={class:`p-4 flex-grow`},oe={class:`text-gray-500 dark:text-gray-400 mb-3 text-xs`},se={class:`mb-3`},g={class:`text-xs font-semibold text-text-primary dark:text-white mb-1`},_={class:`flex flex-wrap gap-1`},v={class:`mb-3`},y={class:`text-xs font-semibold text-text-primary dark:text-white mb-1`},b={class:`flex flex-wrap gap-1`},x={class:`text-xs text-gray-600 dark:text-gray-400 leading-relaxed mb-3`},S={class:`grid grid-cols-2 gap-2 text-xs mb-3`},C={class:`text-gray-500 dark:text-gray-400`},w={class:`font-medium text-text-primary dark:text-gray-200`},T={class:`p-4 pt-0`},E=[`onClick`],D={class:`flex items-start justify-center min-h-screen p-4 pt-16`},O={class:`sticky top-0 bg-white dark:bg-slate-800 border-b border-gray-200 dark:border-slate-700 px-6 py-4 rounded-t-xl flex justify-between items-center z-10`},k={class:`text-2xl font-bold text-text-primary dark:text-white`},A={key:0,class:`p-6 md:p-8`},j={class:`bg-gray-50 dark:bg-slate-700/50 p-4 rounded-lg mb-6 border border-gray-100 dark:border-slate-600`},M={class:`flex flex-col md:flex-row gap-4`},N={class:`md:w-1/3`},P=[`src`,`alt`],F={class:`text-xl font-bold text-center mb-2 text-gray-900 dark:text-white`},I={class:`text-gray-600 dark:text-gray-400 text-center mb-2`},L={class:`text-primary dark:text-blue-400 text-center font-medium`},R={class:`md:w-2/3`},z={class:`text-gray-600 dark:text-gray-300 mb-4`},B={id:`dynamic-info`,class:`grid grid-cols-2 gap-4 mb-4`},V={class:`font-semibold mb-2 text-gray-900 dark:text-gray-200`},H={class:`text-gray-600 dark:text-gray-400`},ce={id:`modal-contacts`,class:`flex gap-2 flex-wrap`},U=[`href`],W={key:1,class:`text-gray-500 dark:text-gray-400`},G={id:`dynamic-charts`,class:`grid grid-cols-1 lg:grid-cols-2 gap-6 mb-6`},le={class:`text-lg font-semibold mb-4 text-center text-gray-900 dark:text-white`},ue={key:0,class:`h-64 flex items-end justify-between gap-2 px-2`},de={class:`text-xs text-gray-500 dark:text-gray-400 font-mono opacity-0 group-hover:opacity-100 transition-opacity`},fe={class:`text-xs text-gray-500 dark:text-gray-400 mt-1`},pe={key:1,class:`h-64 flex items-center justify-center`},me={viewBox:`0 0 200 200`,class:`w-full max-w-[240px] h-full`},he=[`points`,`fill`,`stroke`],ge=[`x`,`y`,`text-anchor`],_e={key:2,class:`h-64 flex items-end justify-between gap-2 px-2`},ve={class:`text-xs text-gray-500 dark:text-gray-400 font-mono opacity-0 group-hover:opacity-100 transition-opacity`},ye={class:`text-xs text-gray-500 dark:text-gray-400 mt-1 truncate w-full text-center`},K=p(i({__name:`MembersView`,setup(i){let p=[{id:`all`,text:`全部`},{id:`engineering`,text:`工程部`},{id:`art`,text:`美工部`},{id:`operations`,text:`运营部`}],K=c(`all`),q=[{name:`Chindows`,position:`星界工作室(子工作室) 负责人`,role:`终端开发`,department:`engineering`,color:{hex:`0082FE`},labels:{roles:`技术岗位`,skills:`核心能力`,description:`个人简介`,contacts:`联系方式`,details:`查看贡献详情`},roles:[`终端应用开发者`,`OIer`,`编程学习者`,`星界工作室负责人`],skills:[`Python`,`C`,`C++`],description:`这个人很神秘,两袖清风,什么都没留下,也什么都没带走。`,avatar:`/assets/members/Chindows.jpg`,stats:[{label:`加入时间`,value:`2023年7月`},{label:`项目参与数`,value:1},{label:`代码贡献行`,value:`1,479`},{label:`代码贡献字`,value:`12,546`}],contacts:[{icon:`fa fa-github`,url:`https://github.com/MicGan`},{icon:`fa fa-envelope`,url:`mailto:chindows@example.com`}],charts:{contribution:{title:`代码贡献量趋势`,type:`line`,data:{"7月":0,"8月":0,"9月":0,"10月":0,"11月":0,"12月":0},label:`代码贡献量`},skills:{title:`编程水平评估`,type:`radar`,data:{算法能力:84,代码质量:60,问题解决:60,创新思维:50,团队协作:60,学习能力:60},label:`编程水平`},proficiency:{title:`技能掌握程度`,type:`bar`,data:{Python:60,"HTML/CSS":10,JavaScript:0,"C++":44,"C#":10,Java:10,Kotlin:10,SQL:0,PowerShell:0,Bash:65,Assembly:0,Lua:0,PHP:0,逆向工程:0,"UI 设计":0,渗透工程:0,"美术 设计":0},label:`技能掌握程度`}},avatarClass:``,roleBadgeClass:``},{name:`TermiNexus`,position:`银河锋锐工作室负责人`,role:`工作室负责人 / 全栈`,department:`engineering`,color:{hex:`165DFF`},labels:{roles:`技术岗位`,skills:`核心能力`,description:`个人简介`,contacts:`联系方式`,details:`查看贡献详情`},roles:[`独立全栈开发工程师`,`后端开发工程师`,`多语言开发工程师`,`核心项目经理`],skills:[`Python 前端全栈`,`系统架构`,`组织管理`,`组织规划`],description:`深耕编程领域 6 年,主导工作室技术方向与团队建设,擅长从 0 到 1 搭建技术体系,注重成员成长与技术沉淀,秉持「和而不同、创新为主」的团队理念。`,avatar:`/assets/members/terminexus.jpg`,stats:[{label:`加入时间`,value:`2019年9月`},{label:`项目参与数`,value:12},{label:`代码贡献行`,value:`210,989`},{label:`代码贡献字`,value:`7,125,605`}],contacts:[{icon:`fa fa-github`,url:`https://github.com/TermiNexus`},{icon:`fa fa-envelope`,url:`mailto:terminexus@gvsds.com`}],charts:{contribution:{title:`代码贡献量趋势`,type:`line`,data:{"7月":17868,"8月":24534,"9月":4678,"10月":8097,"11月":14573,"12月":7380},label:`代码贡献量`},skills:{title:`编程水平评估`,type:`radar`,data:{算法能力:90,代码质量:95,问题解决:92,创新思维:88,团队协作:95,学习能力:85},label:`编程水平`},proficiency:{title:`技能掌握程度`,type:`bar`,data:{Python:95,"HTML/CSS":93,JavaScript:92,"C++":87,"C#":66,Java:89,Kotlin:73,SQL:64,PowerShell:76,Bash:84,Assembly:75,Lua:86,PHP:12,逆向工程:93,"UI 设计":85,渗透工程:43,"美术 设计":73},label:`技能掌握程度`}},avatarClass:``,roleBadgeClass:`member-role-badge-gold`},{name:`悠然自得`,position:`星界工作室`,role:`终端开发`,department:`engineering`,color:{hex:`045BCB`},labels:{roles:`技术岗位`,skills:`核心能力`,description:`个人简介`,contacts:`联系方式`,details:`查看贡献详情`},roles:[`终端应用开发者`,`OIer`,`编程学习者`,`前端工程师`],skills:[`Python`,`C`,`C++`,`前端`],description:`热爱编程,积极参与团队项目,工作室的主力军。`,avatar:`/assets/members/yrzd.jpg`,stats:[{label:`加入时间`,value:`2023年8月`},{label:`项目参与数`,value:6},{label:`代码贡献行`,value:`3,395`},{label:`代码贡献字`,value:`106,162`}],contacts:[{icon:`fa fa-github`,url:`https://github.com/yrzd6`}],charts:{contribution:{title:`代码贡献量趋势`,type:`line`,data:{"7月":0,"8月":0,"9月":0,"10月":0,"11月":0,"12月":2764},label:`代码贡献量`},skills:{title:`编程水平评估`,type:`radar`,data:{算法能力:75,代码质量:80,问题解决:85,创新思维:75,团队协作:90,学习能力:90},label:`编程水平`},proficiency:{title:`技能掌握程度`,type:`bar`,data:{Python:85,C:40,"C++":65,前端:80,数据结构:75,算法:85},label:`技能掌握程度`}},avatarClass:``,roleBadgeClass:``},{name:`赤砂`,position:`美工部`,role:`画师`,department:`design`,color:{hex:`848685`},labels:{roles:`设计岗位`,skills:`核心能力`,description:`个人简介`,contacts:`联系方式`,details:`查看贡献详情`},roles:[`角色概念设计师`,`插画师`],skills:[`图像处理`,`插画色彩理论`],description:`入我!`,avatar:`/assets/members/chisha.jpg`,stats:[{label:`加入时间`,value:`2023月10日`},{label:`项目参与数`,value:8},{label:`完成作品数`,value:14},{label:`设计稿通过率`,value:`100%`}],contacts:[{icon:`fa fa-envelope`,url:`mailto:1591223795@qq.com`},{icon:`fa fa-qq`,url:`tencent://message/?uin=1591223795`}],charts:{contribution:{title:`作品完成趋势`,type:`line`,data:{七月:2,八月:3,九月:0,十月:0,十一月:1,十二月:0},label:`完成作品数`},skills:{title:`设计能力评估`,type:`radar`,data:{创意构思:96,色彩运用:90,构图能力:89,细节处理:77,风格多样性:91,手绘技巧:76},label:`设计能力`}},avatarClass:``,roleBadgeClass:``}],J=f(()=>K.value===`all`?q:q.filter(e=>e.department===K.value));function be(e){K.value=e}function Y(e,t=1){if(!e)return`#000000`;if(e.hex){let n=e.hex;return t===1?`#${n}`:`rgba(${parseInt(n.substr(0,2),16)},${parseInt(n.substr(2,2),16)},${parseInt(n.substr(4,2),16)},${t})`}return e.css?e.css:`#000000`}let X=c(!1),Z=c(-1),Q=f(()=>Z.value>=0?J.value[Z.value]:null);function xe(e){Z.value=e,X.value=!0}function Se(){X.value=!1,setTimeout(()=>{Z.value=-1},300)}function Ce(e,t){let n=Math.max(...Object.values(t),1);return Math.max(4,e/n*100)}let $=f(()=>{let e=Q.value;if(!e)return``;let t=e.charts.skills?.data||{},n=Object.keys(t).slice(0,6);return n.length<3?``:n.map((e,n)=>{let r=Math.PI*2*n/6-Math.PI/2,i=Math.min(t[e]??0,100)/100*72;return`${100+i*Math.cos(r)},${100+i*Math.sin(r)}`}).join(` `)}),we=f(()=>{let e=Q.value;if(!e)return[];let t=e.charts.skills?.data||{};return Object.keys(t).slice(0,6).map((e,t)=>{let n=Math.PI*2*t/6-Math.PI/2,r=100+92*Math.cos(n),i=100+92*Math.sin(n),a=`middle`;return Math.abs(Math.cos(n))>.6&&(a=Math.cos(n)>0?`start`:`end`),{label:e,x:r,y:i,anchor:a}})});return(i,c)=>(r(),d(`section`,ee,[a(`div`,te,[c[1]||=u(`
核心团队 · 成员风采 银河锋锐筑梦人 每一位成员都是团队的星光(由于信息收集难度大,只展示四个人的信息) 以专业与热爱共筑技术星河
`,3),a(`div`,ne,[(r(),d(l,null,e(p,e=>a(`button`,{key:e.id,class:s(K.value===e.id?`member-filter-btn px-3 py-1.5 rounded-full text-white font-medium transition-all hover:bg-gray-300 dark:hover:bg-slate-600 text-sm bg-primary`:`member-filter-btn px-3 py-1.5 rounded-full text-white font-medium transition-all hover:bg-gray-300 dark:hover:bg-slate-600 text-sm bg-gray-200 dark:bg-slate-700 dark:text-gray-300 text-gray-700`),onClick:t=>be(e.id)},n(e.text),11,re)),64))]),a(`div`,m,[(r(!0),d(l,null,e(J.value,(i,o)=>(r(),d(`div`,{key:i.name,class:`group relative bg-white/90 dark:bg-slate-800/90 backdrop-blur-sm rounded-lg overflow-hidden shadow-[0_4px_20px_rgba(0,0,0,0.05)] dark:shadow-[0_4px_20px_rgba(0,0,0,0.3)] transition-all duration-500 hover:shadow-[0_8px_30px_rgba(22,93,255,0.12)] dark:hover:shadow-[0_8px_30px_rgba(59,130,246,0.2)] transform hover:-translate-y-1 card-hover z-10 flex flex-col member-card`,style:t({animation:`slideInUp 0.6s ease-out ${o*.1}s both`})},[a(`div`,{class:`h-48 relative overflow-hidden`,style:t({background:`linear-gradient(to bottom right, ${Y(i.color,.1)}, ${Y(i.color,.05)})`})},[a(`div`,h,[a(`div`,{class:s([`member-avatar w-24 h-24 rounded-full overflow-hidden border-3 border-white dark:border-slate-600 shadow-lg transform group-hover:scale-105 transition-transform duration-500`,i.avatarClass])},[a(`img`,{src:i.avatar,alt:i.name,class:`w-full h-full object-cover`},null,8,ie)],2)]),a(`div`,{class:s([`member-role-badge absolute top-3 right-3 text-white text-xs font-medium px-2 py-0.5 rounded-full`,i.roleBadgeClass]),style:t({backgroundColor:Y(i.color)})},n(i.role),7)],4),a(`div`,ae,[a(`h3`,{class:`text-lg font-bold text-text-primary dark:text-gray-100 mb-1 transition-colors`,style:t({"--hover-color":Y(i.color)})},n(i.name),5),a(`p`,oe,n(i.position),1),a(`div`,se,[a(`h4`,g,n(i.labels.roles),1),a(`div`,_,[(r(!0),d(l,null,e(i.roles,e=>(r(),d(`span`,{key:e,class:`px-1.5 py-0.5 text-xs rounded-full`,style:t({backgroundColor:Y(i.color,.1),color:Y(i.color)})},n(e),5))),128))])]),a(`div`,v,[a(`h4`,y,n(i.labels.skills),1),a(`div`,b,[(r(!0),d(l,null,e(i.skills,e=>(r(),d(`span`,{key:e,class:`px-1.5 py-0.5 text-xs rounded-full`,style:t({backgroundColor:Y(i.color,.1),color:Y(i.color)})},n(e),5))),128))])]),a(`div`,x,n(i.description),1),a(`div`,S,[(r(!0),d(l,null,e(i.stats,e=>(r(),d(`div`,{key:e.label},[a(`span`,C,n(e.label)+`:`,1),a(`span`,w,n(e.value),1)]))),128))])]),a(`div`,T,[a(`button`,{class:`view-stats-btn w-full px-3 py-1.5 rounded-lg font-medium transition-all duration-300 flex items-center justify-center gap-1 text-sm`,style:t({backgroundColor:Y(i.color,.1),color:Y(i.color)}),onClick:e=>xe(o)},[c[0]||=a(`i`,{class:`fa fa-chart-line`},null,-1),a(`span`,null,n(i.labels.details),1)],12,E)]),a(`div`,{class:`absolute inset-0 opacity-0 group-hover:opacity-100 transition-opacity duration-500 pointer-events-none`,style:t({background:`linear-gradient(to top, ${Y(i.color,.1)}, transparent)`})},null,4)],4))),128))]),c[2]||=a(`div`,{class:`mt-8 md:mt-10 flex justify-end pr-4 md:pr-8`},[a(`button`,{class:`bg-white dark:bg-slate-800 border-2 border-primary dark:border-blue-500 text-primary dark:text-blue-400 hover:bg-primary hover:text-white dark:hover:bg-blue-600 dark:hover:text-white px-6 py-2.5 rounded-lg font-medium transition-all duration-300 flex items-center gap-2 transform hover:scale-105 hover:shadow-lg hover:shadow-primary/10 dark:hover:shadow-blue-500/20`},[a(`i`,{class:`fa fa-user-plus transform hover:rotate-180 transition-transform duration-300`}),a(`span`,null,`加入我们`)])],-1)]),a(`div`,{id:`chart-modal`,class:s([`fixed inset-0 bg-black/60 dark:bg-black/80 z-50 overflow-y-auto backdrop-blur-sm`,X.value?``:`hidden`])},[a(`div`,D,[a(`div`,{class:s([`bg-white dark:bg-slate-800 rounded-xl shadow-xl dark:shadow-black/40 max-w-7xl w-full max-h-[85vh] overflow-y-auto transform transition-all duration-300`,X.value?`translate-y-0 opacity-100`:`translate-y-full opacity-0`])},[a(`div`,O,[a(`h3`,k,n(Q.value?.name||`成员贡献详情`)+`-贡献详情`,1),a(`button`,{class:`text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-white transition-colors`,onClick:Se},[...c[3]||=[a(`i`,{class:`fa fa-times text-xl`},null,-1)]])]),Q.value?(r(),d(`div`,A,[a(`div`,j,[a(`div`,M,[a(`div`,N,[a(`img`,{src:Q.value.avatar,alt:Q.value.name,class:`w-32 h-32 rounded-full mx-auto mb-4 object-cover border-4 border-gray-200 dark:border-slate-600`},null,8,P),a(`h4`,F,n(Q.value.name),1),a(`p`,I,n(Q.value.position),1),a(`p`,L,n(Q.value.role),1)]),a(`div`,R,[c[5]||=a(`h5`,{class:`font-semibold mb-2 text-gray-900 dark:text-white`},`个人简介`,-1),a(`p`,z,n(Q.value.description),1),a(`div`,B,[(r(!0),d(l,null,e(Q.value.stats,e=>(r(),d(`div`,{key:e.label},[a(`h5`,V,n(e.label),1),a(`p`,H,n(e.value),1)]))),128))]),a(`div`,null,[c[4]||=a(`h5`,{class:`font-semibold mb-2 text-gray-900 dark:text-white`},`联系方式`,-1),a(`div`,ce,[Q.value.contacts&&Q.value.contacts.length>0?(r(!0),d(l,{key:0},e(Q.value.contacts,e=>(r(),d(`a`,{key:e.icon,href:e.url||void 0,target:`_blank`,class:`hover:underline`,style:t({color:Y(Q.value.color)})},[a(`i`,{class:s(e.icon)},null,2)],12,U))),128)):(r(),d(`span`,W,`该成员暂未提供联系方式`))])])])])]),a(`div`,G,[(r(!0),d(l,null,e(Q.value.charts,(i,f)=>(r(),d(`div`,{key:f,class:s([`bg-gray-50 dark:bg-slate-700/50 p-4 rounded-lg`,{"lg:col-span-2":f===`proficiency`}])},[a(`h4`,le,n(i.title),1),i.type===`line`?(r(),d(`div`,ue,[(r(!0),d(l,null,e(i.data,(e,o)=>(r(),d(`div`,{key:o,class:`flex flex-col items-center flex-1 h-full justify-end group`},[a(`div`,de,n(e),1),a(`div`,{class:`w-full max-w-[28px] rounded-t`,style:t({height:`${Ce(e,i.data)}%`,backgroundColor:Y(Q.value.color,.6)})},null,4),a(`span`,fe,n(o),1)]))),128))])):i.type===`radar`?(r(),d(`div`,pe,[(r(),d(`svg`,me,[c[6]||=u(` `,9),$.value.length>2?(r(),d(`polygon`,{key:0,points:$.value,fill:Y(Q.value.color,.2),stroke:Y(Q.value.color),"stroke-width":`2`},null,8,he)):o(``,!0),(r(!0),d(l,null,e(we.value,(e,t)=>(r(),d(`text`,{key:t,x:e.x,y:e.y,"text-anchor":e.anchor,"font-size":`8`,fill:`#64748b`,class:`font-mono`},n(e.label),9,ge))),128))]))])):(r(),d(`div`,_e,[(r(!0),d(l,null,e(i.data,(e,i)=>(r(),d(`div`,{key:i,class:`flex flex-col items-center flex-1 h-full justify-end group`},[a(`div`,ve,n(e),1),a(`div`,{class:`w-full max-w-[24px] rounded-t transition-all`,style:t({height:`${Math.max(4,e/100*100)}%`,backgroundColor:Y(Q.value.color,.7)})},null,4),a(`span`,ye,n(i),1)]))),128))]))],2))),128))])])):o(``,!0)],2)])],2)]))}}),[[`__scopeId`,`data-v-47b97c26`]]);export{K as default};
\ No newline at end of file
diff --git a/TempLate/assets/MembersView-CZseiH8K.js b/TempLate/assets/MembersView-CZseiH8K.js
new file mode 100644
index 00000000..a452fd30
--- /dev/null
+++ b/TempLate/assets/MembersView-CZseiH8K.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,f as o,j as s,k as c,l,m as u,p as d,u as f}from"./index-CJXuAy0L.js";import{t as p}from"./_plugin-vue_export-helper-BDNMzG2s.js";var ee={class:`container mx-auto px-4 pt-8 pb-10 md:pb-12 relative w-full overflow-x-hidden`},te={class:`max-w-7xl mx-auto relative z-10 px-4 md:px-8`},ne={class:`mb-6 flex flex-wrap gap-2 justify-center`,id:`filter-buttons`},re=[`onClick`],m={id:`members-container`,class:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4 md:gap-6`},h={class:`absolute inset-0 flex items-center justify-center`},ie=[`src`,`alt`],ae={class:`p-4 flex-grow`},oe={class:`text-gray-500 dark:text-gray-400 mb-3 text-xs`},se={class:`mb-3`},g={class:`text-xs font-semibold text-text-primary dark:text-white mb-1`},_={class:`flex flex-wrap gap-1`},v={class:`mb-3`},y={class:`text-xs font-semibold text-text-primary dark:text-white mb-1`},b={class:`flex flex-wrap gap-1`},x={class:`text-xs text-gray-600 dark:text-gray-400 leading-relaxed mb-3`},S={class:`grid grid-cols-2 gap-2 text-xs mb-3`},C={class:`text-gray-500 dark:text-gray-400`},w={class:`font-medium text-text-primary dark:text-gray-200`},T={class:`p-4 pt-0`},E=[`onClick`],D={class:`flex items-start justify-center min-h-screen p-4 pt-16`},O={class:`sticky top-0 bg-white dark:bg-slate-800 border-b border-gray-200 dark:border-slate-700 px-6 py-4 rounded-t-xl flex justify-between items-center z-10`},k={class:`text-2xl font-bold text-text-primary dark:text-white`},A={key:0,class:`p-6 md:p-8`},j={class:`bg-gray-50 dark:bg-slate-700/50 p-4 rounded-lg mb-6 border border-gray-100 dark:border-slate-600`},M={class:`flex flex-col md:flex-row gap-4`},N={class:`md:w-1/3`},P=[`src`,`alt`],F={class:`text-xl font-bold text-center mb-2 text-gray-900 dark:text-white`},I={class:`text-gray-600 dark:text-gray-400 text-center mb-2`},L={class:`text-primary dark:text-blue-400 text-center font-medium`},R={class:`md:w-2/3`},z={class:`text-gray-600 dark:text-gray-300 mb-4`},B={id:`dynamic-info`,class:`grid grid-cols-2 gap-4 mb-4`},V={class:`font-semibold mb-2 text-gray-900 dark:text-gray-200`},H={class:`text-gray-600 dark:text-gray-400`},ce={id:`modal-contacts`,class:`flex gap-2 flex-wrap`},U=[`href`],W={key:1,class:`text-gray-500 dark:text-gray-400`},G={id:`dynamic-charts`,class:`grid grid-cols-1 lg:grid-cols-2 gap-6 mb-6`},le={class:`text-lg font-semibold mb-4 text-center text-gray-900 dark:text-white`},ue={key:0,class:`h-64 flex items-end justify-between gap-2 px-2`},de={class:`text-xs text-gray-500 dark:text-gray-400 font-mono opacity-0 group-hover:opacity-100 transition-opacity`},fe={class:`text-xs text-gray-500 dark:text-gray-400 mt-1`},pe={key:1,class:`h-64 flex items-center justify-center`},me={viewBox:`0 0 200 200`,class:`w-full max-w-[240px] h-full`},he=[`points`,`fill`,`stroke`],ge=[`x`,`y`,`text-anchor`],_e={key:2,class:`h-64 flex items-end justify-between gap-2 px-2`},ve={class:`text-xs text-gray-500 dark:text-gray-400 font-mono opacity-0 group-hover:opacity-100 transition-opacity`},ye={class:`text-xs text-gray-500 dark:text-gray-400 mt-1 truncate w-full text-center`},K=p(i({__name:`MembersView`,setup(i){let p=[{id:`all`,text:`全部`},{id:`engineering`,text:`工程部`},{id:`art`,text:`美工部`},{id:`operations`,text:`运营部`}],K=c(`all`),q=[{name:`Chindows`,position:`星界工作室(子工作室) 负责人`,role:`终端开发`,department:`engineering`,color:{hex:`0082FE`},labels:{roles:`技术岗位`,skills:`核心能力`,description:`个人简介`,contacts:`联系方式`,details:`查看贡献详情`},roles:[`终端应用开发者`,`OIer`,`编程学习者`,`星界工作室负责人`],skills:[`Python`,`C`,`C++`],description:`这个人很神秘,两袖清风,什么都没留下,也什么都没带走。`,avatar:`/assets/members/Chindows.jpg`,stats:[{label:`加入时间`,value:`2023年7月`},{label:`项目参与数`,value:1},{label:`代码贡献行`,value:`1,479`},{label:`代码贡献字`,value:`12,546`}],contacts:[{icon:`fa fa-github`,url:`https://github.com/MicGan`},{icon:`fa fa-envelope`,url:`mailto:chindows@example.com`}],charts:{contribution:{title:`代码贡献量趋势`,type:`line`,data:{"7月":0,"8月":0,"9月":0,"10月":0,"11月":0,"12月":0},label:`代码贡献量`},skills:{title:`编程水平评估`,type:`radar`,data:{算法能力:84,代码质量:60,问题解决:60,创新思维:50,团队协作:60,学习能力:60},label:`编程水平`},proficiency:{title:`技能掌握程度`,type:`bar`,data:{Python:60,"HTML/CSS":10,JavaScript:0,"C++":44,"C#":10,Java:10,Kotlin:10,SQL:0,PowerShell:0,Bash:65,Assembly:0,Lua:0,PHP:0,逆向工程:0,"UI 设计":0,渗透工程:0,"美术 设计":0},label:`技能掌握程度`}},avatarClass:``,roleBadgeClass:``},{name:`TermiNexus`,position:`银河锋锐工作室负责人`,role:`工作室负责人 / 全栈`,department:`engineering`,color:{hex:`165DFF`},labels:{roles:`技术岗位`,skills:`核心能力`,description:`个人简介`,contacts:`联系方式`,details:`查看贡献详情`},roles:[`独立全栈开发工程师`,`后端开发工程师`,`多语言开发工程师`,`核心项目经理`],skills:[`Python 前端全栈`,`系统架构`,`组织管理`,`组织规划`],description:`深耕编程领域 6 年,主导工作室技术方向与团队建设,擅长从 0 到 1 搭建技术体系,注重成员成长与技术沉淀,秉持「和而不同、创新为主」的团队理念。`,avatar:`/assets/members/terminexus.jpg`,stats:[{label:`加入时间`,value:`2019年9月`},{label:`项目参与数`,value:12},{label:`代码贡献行`,value:`210,989`},{label:`代码贡献字`,value:`7,125,605`}],contacts:[{icon:`fa fa-github`,url:`https://github.com/TermiNexus`},{icon:`fa fa-envelope`,url:`mailto:terminexus@gvsds.com`}],charts:{contribution:{title:`代码贡献量趋势`,type:`line`,data:{"7月":17868,"8月":24534,"9月":4678,"10月":8097,"11月":14573,"12月":7380},label:`代码贡献量`},skills:{title:`编程水平评估`,type:`radar`,data:{算法能力:90,代码质量:95,问题解决:92,创新思维:88,团队协作:95,学习能力:85},label:`编程水平`},proficiency:{title:`技能掌握程度`,type:`bar`,data:{Python:95,"HTML/CSS":93,JavaScript:92,"C++":87,"C#":66,Java:89,Kotlin:73,SQL:64,PowerShell:76,Bash:84,Assembly:75,Lua:86,PHP:12,逆向工程:93,"UI 设计":85,渗透工程:43,"美术 设计":73},label:`技能掌握程度`}},avatarClass:``,roleBadgeClass:`member-role-badge-gold`},{name:`悠然自得`,position:`星界工作室`,role:`终端开发`,department:`engineering`,color:{hex:`045BCB`},labels:{roles:`技术岗位`,skills:`核心能力`,description:`个人简介`,contacts:`联系方式`,details:`查看贡献详情`},roles:[`终端应用开发者`,`OIer`,`编程学习者`,`前端工程师`],skills:[`Python`,`C`,`C++`,`前端`],description:`热爱编程,积极参与团队项目,工作室的主力军。`,avatar:`/assets/members/yrzd.jpg`,stats:[{label:`加入时间`,value:`2023年8月`},{label:`项目参与数`,value:6},{label:`代码贡献行`,value:`3,395`},{label:`代码贡献字`,value:`106,162`}],contacts:[{icon:`fa fa-github`,url:`https://github.com/yrzd6`}],charts:{contribution:{title:`代码贡献量趋势`,type:`line`,data:{"7月":0,"8月":0,"9月":0,"10月":0,"11月":0,"12月":2764},label:`代码贡献量`},skills:{title:`编程水平评估`,type:`radar`,data:{算法能力:75,代码质量:80,问题解决:85,创新思维:75,团队协作:90,学习能力:90},label:`编程水平`},proficiency:{title:`技能掌握程度`,type:`bar`,data:{Python:85,C:40,"C++":65,前端:80,数据结构:75,算法:85},label:`技能掌握程度`}},avatarClass:``,roleBadgeClass:``},{name:`赤砂`,position:`美工部`,role:`画师`,department:`design`,color:{hex:`848685`},labels:{roles:`设计岗位`,skills:`核心能力`,description:`个人简介`,contacts:`联系方式`,details:`查看贡献详情`},roles:[`角色概念设计师`,`插画师`],skills:[`图像处理`,`插画色彩理论`],description:`入我!`,avatar:`/assets/members/chisha.jpg`,stats:[{label:`加入时间`,value:`2023月10日`},{label:`项目参与数`,value:8},{label:`完成作品数`,value:14},{label:`设计稿通过率`,value:`100%`}],contacts:[{icon:`fa fa-envelope`,url:`mailto:1591223795@qq.com`},{icon:`fa fa-qq`,url:`tencent://message/?uin=1591223795`}],charts:{contribution:{title:`作品完成趋势`,type:`line`,data:{七月:2,八月:3,九月:0,十月:0,十一月:1,十二月:0},label:`完成作品数`},skills:{title:`设计能力评估`,type:`radar`,data:{创意构思:96,色彩运用:90,构图能力:89,细节处理:77,风格多样性:91,手绘技巧:76},label:`设计能力`}},avatarClass:``,roleBadgeClass:``}],J=f(()=>K.value===`all`?q:q.filter(e=>e.department===K.value));function be(e){K.value=e}function Y(e,t=1){if(!e)return`#000000`;if(e.hex){let n=e.hex;return t===1?`#${n}`:`rgba(${parseInt(n.substr(0,2),16)},${parseInt(n.substr(2,2),16)},${parseInt(n.substr(4,2),16)},${t})`}return e.css?e.css:`#000000`}let X=c(!1),Z=c(-1),Q=f(()=>Z.value>=0?J.value[Z.value]:null);function xe(e){Z.value=e,X.value=!0}function Se(){X.value=!1,setTimeout(()=>{Z.value=-1},300)}function Ce(e,t){let n=Math.max(...Object.values(t),1);return Math.max(4,e/n*100)}let $=f(()=>{let e=Q.value;if(!e)return``;let t=e.charts.skills?.data||{},n=Object.keys(t).slice(0,6);return n.length<3?``:n.map((e,n)=>{let r=Math.PI*2*n/6-Math.PI/2,i=Math.min(t[e]??0,100)/100*72;return`${100+i*Math.cos(r)},${100+i*Math.sin(r)}`}).join(` `)}),we=f(()=>{let e=Q.value;if(!e)return[];let t=e.charts.skills?.data||{};return Object.keys(t).slice(0,6).map((e,t)=>{let n=Math.PI*2*t/6-Math.PI/2,r=100+92*Math.cos(n),i=100+92*Math.sin(n),a=`middle`;return Math.abs(Math.cos(n))>.6&&(a=Math.cos(n)>0?`start`:`end`),{label:e,x:r,y:i,anchor:a}})});return(i,c)=>(r(),d(`section`,ee,[a(`div`,te,[c[1]||=u(`
核心团队 · 成员风采 银河锋锐筑梦人 每一位成员都是团队的星光(由于信息收集难度大,只展示四个人的信息) 以专业与热爱共筑技术星河
`,3),a(`div`,ne,[(r(),d(l,null,e(p,e=>a(`button`,{key:e.id,class:s(K.value===e.id?`member-filter-btn px-3 py-1.5 rounded-full text-white font-medium transition-all hover:bg-gray-300 dark:hover:bg-slate-600 text-sm bg-primary`:`member-filter-btn px-3 py-1.5 rounded-full text-white font-medium transition-all hover:bg-gray-300 dark:hover:bg-slate-600 text-sm bg-gray-200 dark:bg-slate-700 dark:text-gray-300 text-gray-700`),onClick:t=>be(e.id)},n(e.text),11,re)),64))]),a(`div`,m,[(r(!0),d(l,null,e(J.value,(i,o)=>(r(),d(`div`,{key:i.name,class:`group relative bg-white/90 dark:bg-slate-800/90 backdrop-blur-sm rounded-lg overflow-hidden shadow-[0_4px_20px_rgba(0,0,0,0.05)] dark:shadow-[0_4px_20px_rgba(0,0,0,0.3)] transition-all duration-500 hover:shadow-[0_8px_30px_rgba(22,93,255,0.12)] dark:hover:shadow-[0_8px_30px_rgba(59,130,246,0.2)] transform hover:-translate-y-1 card-hover z-10 flex flex-col member-card`,style:t({animation:`slideInUp 0.6s ease-out ${o*.1}s both`})},[a(`div`,{class:`h-48 relative overflow-hidden`,style:t({background:`linear-gradient(to bottom right, ${Y(i.color,.1)}, ${Y(i.color,.05)})`})},[a(`div`,h,[a(`div`,{class:s([`member-avatar w-24 h-24 rounded-full overflow-hidden border-3 border-white dark:border-slate-600 shadow-lg transform group-hover:scale-105 transition-transform duration-500`,i.avatarClass])},[a(`img`,{src:i.avatar,alt:i.name,class:`w-full h-full object-cover`},null,8,ie)],2)]),a(`div`,{class:s([`member-role-badge absolute top-3 right-3 text-white text-xs font-medium px-2 py-0.5 rounded-full`,i.roleBadgeClass]),style:t({backgroundColor:Y(i.color)})},n(i.role),7)],4),a(`div`,ae,[a(`h3`,{class:`text-lg font-bold text-text-primary dark:text-gray-100 mb-1 transition-colors`,style:t({"--hover-color":Y(i.color)})},n(i.name),5),a(`p`,oe,n(i.position),1),a(`div`,se,[a(`h4`,g,n(i.labels.roles),1),a(`div`,_,[(r(!0),d(l,null,e(i.roles,e=>(r(),d(`span`,{key:e,class:`px-1.5 py-0.5 text-xs rounded-full`,style:t({backgroundColor:Y(i.color,.1),color:Y(i.color)})},n(e),5))),128))])]),a(`div`,v,[a(`h4`,y,n(i.labels.skills),1),a(`div`,b,[(r(!0),d(l,null,e(i.skills,e=>(r(),d(`span`,{key:e,class:`px-1.5 py-0.5 text-xs rounded-full`,style:t({backgroundColor:Y(i.color,.1),color:Y(i.color)})},n(e),5))),128))])]),a(`div`,x,n(i.description),1),a(`div`,S,[(r(!0),d(l,null,e(i.stats,e=>(r(),d(`div`,{key:e.label},[a(`span`,C,n(e.label)+`:`,1),a(`span`,w,n(e.value),1)]))),128))])]),a(`div`,T,[a(`button`,{class:`view-stats-btn w-full px-3 py-1.5 rounded-lg font-medium transition-all duration-300 flex items-center justify-center gap-1 text-sm`,style:t({backgroundColor:Y(i.color,.1),color:Y(i.color)}),onClick:e=>xe(o)},[c[0]||=a(`i`,{class:`fa fa-chart-line`},null,-1),a(`span`,null,n(i.labels.details),1)],12,E)]),a(`div`,{class:`absolute inset-0 opacity-0 group-hover:opacity-100 transition-opacity duration-500 pointer-events-none`,style:t({background:`linear-gradient(to top, ${Y(i.color,.1)}, transparent)`})},null,4)],4))),128))]),c[2]||=a(`div`,{class:`mt-8 md:mt-10 flex justify-end pr-4 md:pr-8`},[a(`button`,{class:`bg-white dark:bg-slate-800 border-2 border-primary dark:border-blue-500 text-primary dark:text-blue-400 hover:bg-primary hover:text-white dark:hover:bg-blue-600 dark:hover:text-white px-6 py-2.5 rounded-lg font-medium transition-all duration-300 flex items-center gap-2 transform hover:scale-105 hover:shadow-lg hover:shadow-primary/10 dark:hover:shadow-blue-500/20`},[a(`i`,{class:`fa fa-user-plus transform hover:rotate-180 transition-transform duration-300`}),a(`span`,null,`加入我们`)])],-1)]),a(`div`,{id:`chart-modal`,class:s([`fixed inset-0 bg-black/60 dark:bg-black/80 z-50 overflow-y-auto backdrop-blur-sm`,X.value?``:`hidden`])},[a(`div`,D,[a(`div`,{class:s([`bg-white dark:bg-slate-800 rounded-xl shadow-xl dark:shadow-black/40 max-w-7xl w-full max-h-[85vh] overflow-y-auto transform transition-all duration-300`,X.value?`translate-y-0 opacity-100`:`translate-y-full opacity-0`])},[a(`div`,O,[a(`h3`,k,n(Q.value?.name||`成员贡献详情`)+`-贡献详情`,1),a(`button`,{class:`text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-white transition-colors`,onClick:Se},[...c[3]||=[a(`i`,{class:`fa fa-times text-xl`},null,-1)]])]),Q.value?(r(),d(`div`,A,[a(`div`,j,[a(`div`,M,[a(`div`,N,[a(`img`,{src:Q.value.avatar,alt:Q.value.name,class:`w-32 h-32 rounded-full mx-auto mb-4 object-cover border-4 border-gray-200 dark:border-slate-600`},null,8,P),a(`h4`,F,n(Q.value.name),1),a(`p`,I,n(Q.value.position),1),a(`p`,L,n(Q.value.role),1)]),a(`div`,R,[c[5]||=a(`h5`,{class:`font-semibold mb-2 text-gray-900 dark:text-white`},`个人简介`,-1),a(`p`,z,n(Q.value.description),1),a(`div`,B,[(r(!0),d(l,null,e(Q.value.stats,e=>(r(),d(`div`,{key:e.label},[a(`h5`,V,n(e.label),1),a(`p`,H,n(e.value),1)]))),128))]),a(`div`,null,[c[4]||=a(`h5`,{class:`font-semibold mb-2 text-gray-900 dark:text-white`},`联系方式`,-1),a(`div`,ce,[Q.value.contacts&&Q.value.contacts.length>0?(r(!0),d(l,{key:0},e(Q.value.contacts,e=>(r(),d(`a`,{key:e.icon,href:e.url||void 0,target:`_blank`,class:`hover:underline`,style:t({color:Y(Q.value.color)})},[a(`i`,{class:s(e.icon)},null,2)],12,U))),128)):(r(),d(`span`,W,`该成员暂未提供联系方式`))])])])])]),a(`div`,G,[(r(!0),d(l,null,e(Q.value.charts,(i,f)=>(r(),d(`div`,{key:f,class:s([`bg-gray-50 dark:bg-slate-700/50 p-4 rounded-lg`,{"lg:col-span-2":f===`proficiency`}])},[a(`h4`,le,n(i.title),1),i.type===`line`?(r(),d(`div`,ue,[(r(!0),d(l,null,e(i.data,(e,o)=>(r(),d(`div`,{key:o,class:`flex flex-col items-center flex-1 h-full justify-end group`},[a(`div`,de,n(e),1),a(`div`,{class:`w-full max-w-[28px] rounded-t`,style:t({height:`${Ce(e,i.data)}%`,backgroundColor:Y(Q.value.color,.6)})},null,4),a(`span`,fe,n(o),1)]))),128))])):i.type===`radar`?(r(),d(`div`,pe,[(r(),d(`svg`,me,[c[6]||=u(` `,9),$.value.length>2?(r(),d(`polygon`,{key:0,points:$.value,fill:Y(Q.value.color,.2),stroke:Y(Q.value.color),"stroke-width":`2`},null,8,he)):o(``,!0),(r(!0),d(l,null,e(we.value,(e,t)=>(r(),d(`text`,{key:t,x:e.x,y:e.y,"text-anchor":e.anchor,"font-size":`8`,fill:`#64748b`,class:`font-mono`},n(e.label),9,ge))),128))]))])):(r(),d(`div`,_e,[(r(!0),d(l,null,e(i.data,(e,i)=>(r(),d(`div`,{key:i,class:`flex flex-col items-center flex-1 h-full justify-end group`},[a(`div`,ve,n(e),1),a(`div`,{class:`w-full max-w-[24px] rounded-t transition-all`,style:t({height:`${Math.max(4,e/100*100)}%`,backgroundColor:Y(Q.value.color,.7)})},null,4),a(`span`,ye,n(i),1)]))),128))]))],2))),128))])])):o(``,!0)],2)])],2)]))}}),[[`__scopeId`,`data-v-47b97c26`]]);export{K as default};
\ No newline at end of file
diff --git a/TempLate/assets/MembersView-SS3FJcMU.js b/TempLate/assets/MembersView-SS3FJcMU.js
new file mode 100644
index 00000000..9f7024df
--- /dev/null
+++ b/TempLate/assets/MembersView-SS3FJcMU.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,f as o,j as s,k as c,l,m as u,p as d,u as f}from"./index-UfMysbwD.js";import{t as p}from"./_plugin-vue_export-helper-BDNMzG2s.js";var ee={class:`container mx-auto px-4 pt-8 pb-10 md:pb-12 relative w-full overflow-x-hidden`},te={class:`max-w-7xl mx-auto relative z-10 px-4 md:px-8`},ne={class:`mb-6 flex flex-wrap gap-2 justify-center`,id:`filter-buttons`},re=[`onClick`],m={id:`members-container`,class:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4 md:gap-6`},h={class:`absolute inset-0 flex items-center justify-center`},ie=[`src`,`alt`],ae={class:`p-4 flex-grow`},oe={class:`text-gray-500 dark:text-gray-400 mb-3 text-xs`},se={class:`mb-3`},g={class:`text-xs font-semibold text-text-primary dark:text-white mb-1`},_={class:`flex flex-wrap gap-1`},v={class:`mb-3`},y={class:`text-xs font-semibold text-text-primary dark:text-white mb-1`},b={class:`flex flex-wrap gap-1`},x={class:`text-xs text-gray-600 dark:text-gray-400 leading-relaxed mb-3`},S={class:`grid grid-cols-2 gap-2 text-xs mb-3`},C={class:`text-gray-500 dark:text-gray-400`},w={class:`font-medium text-text-primary dark:text-gray-200`},T={class:`p-4 pt-0`},E=[`onClick`],D={class:`flex items-start justify-center min-h-screen p-4 pt-16`},O={class:`sticky top-0 bg-white dark:bg-slate-800 border-b border-gray-200 dark:border-slate-700 px-6 py-4 rounded-t-xl flex justify-between items-center z-10`},k={class:`text-2xl font-bold text-text-primary dark:text-white`},A={key:0,class:`p-6 md:p-8`},j={class:`bg-gray-50 dark:bg-slate-700/50 p-4 rounded-lg mb-6 border border-gray-100 dark:border-slate-600`},M={class:`flex flex-col md:flex-row gap-4`},N={class:`md:w-1/3`},P=[`src`,`alt`],F={class:`text-xl font-bold text-center mb-2 text-gray-900 dark:text-white`},I={class:`text-gray-600 dark:text-gray-400 text-center mb-2`},L={class:`text-primary dark:text-blue-400 text-center font-medium`},R={class:`md:w-2/3`},z={class:`text-gray-600 dark:text-gray-300 mb-4`},B={id:`dynamic-info`,class:`grid grid-cols-2 gap-4 mb-4`},V={class:`font-semibold mb-2 text-gray-900 dark:text-gray-200`},H={class:`text-gray-600 dark:text-gray-400`},ce={id:`modal-contacts`,class:`flex gap-2 flex-wrap`},U=[`href`],W={key:1,class:`text-gray-500 dark:text-gray-400`},G={id:`dynamic-charts`,class:`grid grid-cols-1 lg:grid-cols-2 gap-6 mb-6`},le={class:`text-lg font-semibold mb-4 text-center text-gray-900 dark:text-white`},ue={key:0,class:`h-64 flex items-end justify-between gap-2 px-2`},de={class:`text-xs text-gray-500 dark:text-gray-400 font-mono opacity-0 group-hover:opacity-100 transition-opacity`},fe={class:`text-xs text-gray-500 dark:text-gray-400 mt-1`},pe={key:1,class:`h-64 flex items-center justify-center`},me={viewBox:`0 0 200 200`,class:`w-full max-w-[240px] h-full`},he=[`points`,`fill`,`stroke`],ge=[`x`,`y`,`text-anchor`],_e={key:2,class:`h-64 flex items-end justify-between gap-2 px-2`},ve={class:`text-xs text-gray-500 dark:text-gray-400 font-mono opacity-0 group-hover:opacity-100 transition-opacity`},ye={class:`text-xs text-gray-500 dark:text-gray-400 mt-1 truncate w-full text-center`},K=p(i({__name:`MembersView`,setup(i){let p=[{id:`all`,text:`全部`},{id:`engineering`,text:`工程部`},{id:`art`,text:`美工部`},{id:`operations`,text:`运营部`}],K=c(`all`),q=[{name:`Chindows`,position:`星界工作室(子工作室) 负责人`,role:`终端开发`,department:`engineering`,color:{hex:`0082FE`},labels:{roles:`技术岗位`,skills:`核心能力`,description:`个人简介`,contacts:`联系方式`,details:`查看贡献详情`},roles:[`终端应用开发者`,`OIer`,`编程学习者`,`星界工作室负责人`],skills:[`Python`,`C`,`C++`],description:`这个人很神秘,两袖清风,什么都没留下,也什么都没带走。`,avatar:`/assets/members/Chindows.jpg`,stats:[{label:`加入时间`,value:`2023年7月`},{label:`项目参与数`,value:1},{label:`代码贡献行`,value:`1,479`},{label:`代码贡献字`,value:`12,546`}],contacts:[{icon:`fa fa-github`,url:`https://github.com/MicGan`},{icon:`fa fa-envelope`,url:`mailto:chindows@example.com`}],charts:{contribution:{title:`代码贡献量趋势`,type:`line`,data:{"7月":0,"8月":0,"9月":0,"10月":0,"11月":0,"12月":0},label:`代码贡献量`},skills:{title:`编程水平评估`,type:`radar`,data:{算法能力:84,代码质量:60,问题解决:60,创新思维:50,团队协作:60,学习能力:60},label:`编程水平`},proficiency:{title:`技能掌握程度`,type:`bar`,data:{Python:60,"HTML/CSS":10,JavaScript:0,"C++":44,"C#":10,Java:10,Kotlin:10,SQL:0,PowerShell:0,Bash:65,Assembly:0,Lua:0,PHP:0,逆向工程:0,"UI 设计":0,渗透工程:0,"美术 设计":0},label:`技能掌握程度`}},avatarClass:``,roleBadgeClass:``},{name:`TermiNexus`,position:`银河锋锐工作室负责人`,role:`工作室负责人 / 全栈`,department:`engineering`,color:{hex:`165DFF`},labels:{roles:`技术岗位`,skills:`核心能力`,description:`个人简介`,contacts:`联系方式`,details:`查看贡献详情`},roles:[`独立全栈开发工程师`,`后端开发工程师`,`多语言开发工程师`,`核心项目经理`],skills:[`Python 前端全栈`,`系统架构`,`组织管理`,`组织规划`],description:`深耕编程领域 6 年,主导工作室技术方向与团队建设,擅长从 0 到 1 搭建技术体系,注重成员成长与技术沉淀,秉持「和而不同、创新为主」的团队理念。`,avatar:`/assets/members/terminexus.jpg`,stats:[{label:`加入时间`,value:`2019年9月`},{label:`项目参与数`,value:12},{label:`代码贡献行`,value:`210,989`},{label:`代码贡献字`,value:`7,125,605`}],contacts:[{icon:`fa fa-github`,url:`https://github.com/TermiNexus`},{icon:`fa fa-envelope`,url:`mailto:terminexus@gvsds.com`}],charts:{contribution:{title:`代码贡献量趋势`,type:`line`,data:{"7月":17868,"8月":24534,"9月":4678,"10月":8097,"11月":14573,"12月":7380},label:`代码贡献量`},skills:{title:`编程水平评估`,type:`radar`,data:{算法能力:90,代码质量:95,问题解决:92,创新思维:88,团队协作:95,学习能力:85},label:`编程水平`},proficiency:{title:`技能掌握程度`,type:`bar`,data:{Python:95,"HTML/CSS":93,JavaScript:92,"C++":87,"C#":66,Java:89,Kotlin:73,SQL:64,PowerShell:76,Bash:84,Assembly:75,Lua:86,PHP:12,逆向工程:93,"UI 设计":85,渗透工程:43,"美术 设计":73},label:`技能掌握程度`}},avatarClass:``,roleBadgeClass:`member-role-badge-gold`},{name:`悠然自得`,position:`星界工作室`,role:`终端开发`,department:`engineering`,color:{hex:`045BCB`},labels:{roles:`技术岗位`,skills:`核心能力`,description:`个人简介`,contacts:`联系方式`,details:`查看贡献详情`},roles:[`终端应用开发者`,`OIer`,`编程学习者`,`前端工程师`],skills:[`Python`,`C`,`C++`,`前端`],description:`热爱编程,积极参与团队项目,工作室的主力军。`,avatar:`/assets/members/yrzd.jpg`,stats:[{label:`加入时间`,value:`2023年8月`},{label:`项目参与数`,value:6},{label:`代码贡献行`,value:`3,395`},{label:`代码贡献字`,value:`106,162`}],contacts:[{icon:`fa fa-github`,url:`https://github.com/yrzd6`}],charts:{contribution:{title:`代码贡献量趋势`,type:`line`,data:{"7月":0,"8月":0,"9月":0,"10月":0,"11月":0,"12月":2764},label:`代码贡献量`},skills:{title:`编程水平评估`,type:`radar`,data:{算法能力:75,代码质量:80,问题解决:85,创新思维:75,团队协作:90,学习能力:90},label:`编程水平`},proficiency:{title:`技能掌握程度`,type:`bar`,data:{Python:85,C:40,"C++":65,前端:80,数据结构:75,算法:85},label:`技能掌握程度`}},avatarClass:``,roleBadgeClass:``},{name:`赤砂`,position:`美工部`,role:`画师`,department:`design`,color:{hex:`848685`},labels:{roles:`设计岗位`,skills:`核心能力`,description:`个人简介`,contacts:`联系方式`,details:`查看贡献详情`},roles:[`角色概念设计师`,`插画师`],skills:[`图像处理`,`插画色彩理论`],description:`入我!`,avatar:`/assets/members/chisha.jpg`,stats:[{label:`加入时间`,value:`2023月10日`},{label:`项目参与数`,value:8},{label:`完成作品数`,value:14},{label:`设计稿通过率`,value:`100%`}],contacts:[{icon:`fa fa-envelope`,url:`mailto:1591223795@qq.com`},{icon:`fa fa-qq`,url:`tencent://message/?uin=1591223795`}],charts:{contribution:{title:`作品完成趋势`,type:`line`,data:{七月:2,八月:3,九月:0,十月:0,十一月:1,十二月:0},label:`完成作品数`},skills:{title:`设计能力评估`,type:`radar`,data:{创意构思:96,色彩运用:90,构图能力:89,细节处理:77,风格多样性:91,手绘技巧:76},label:`设计能力`}},avatarClass:``,roleBadgeClass:``}],J=f(()=>K.value===`all`?q:q.filter(e=>e.department===K.value));function be(e){K.value=e}function Y(e,t=1){if(!e)return`#000000`;if(e.hex){let n=e.hex;return t===1?`#${n}`:`rgba(${parseInt(n.substr(0,2),16)},${parseInt(n.substr(2,2),16)},${parseInt(n.substr(4,2),16)},${t})`}return e.css?e.css:`#000000`}let X=c(!1),Z=c(-1),Q=f(()=>Z.value>=0?J.value[Z.value]:null);function xe(e){Z.value=e,X.value=!0}function Se(){X.value=!1,setTimeout(()=>{Z.value=-1},300)}function Ce(e,t){let n=Math.max(...Object.values(t),1);return Math.max(4,e/n*100)}let $=f(()=>{let e=Q.value;if(!e)return``;let t=e.charts.skills?.data||{},n=Object.keys(t).slice(0,6);return n.length<3?``:n.map((e,n)=>{let r=Math.PI*2*n/6-Math.PI/2,i=Math.min(t[e]??0,100)/100*72;return`${100+i*Math.cos(r)},${100+i*Math.sin(r)}`}).join(` `)}),we=f(()=>{let e=Q.value;if(!e)return[];let t=e.charts.skills?.data||{};return Object.keys(t).slice(0,6).map((e,t)=>{let n=Math.PI*2*t/6-Math.PI/2,r=100+92*Math.cos(n),i=100+92*Math.sin(n),a=`middle`;return Math.abs(Math.cos(n))>.6&&(a=Math.cos(n)>0?`start`:`end`),{label:e,x:r,y:i,anchor:a}})});return(i,c)=>(r(),d(`section`,ee,[a(`div`,te,[c[1]||=u(`
核心团队 · 成员风采 银河锋锐筑梦人 每一位成员都是团队的星光(由于信息收集难度大,只展示四个人的信息) 以专业与热爱共筑技术星河
`,3),a(`div`,ne,[(r(),d(l,null,e(p,e=>a(`button`,{key:e.id,class:s(K.value===e.id?`member-filter-btn px-3 py-1.5 rounded-full text-white font-medium transition-all hover:bg-gray-300 dark:hover:bg-slate-600 text-sm bg-primary`:`member-filter-btn px-3 py-1.5 rounded-full text-white font-medium transition-all hover:bg-gray-300 dark:hover:bg-slate-600 text-sm bg-gray-200 dark:bg-slate-700 dark:text-gray-300 text-gray-700`),onClick:t=>be(e.id)},n(e.text),11,re)),64))]),a(`div`,m,[(r(!0),d(l,null,e(J.value,(i,o)=>(r(),d(`div`,{key:i.name,class:`group relative bg-white/90 dark:bg-slate-800/90 backdrop-blur-sm rounded-lg overflow-hidden shadow-[0_4px_20px_rgba(0,0,0,0.05)] dark:shadow-[0_4px_20px_rgba(0,0,0,0.3)] transition-all duration-500 hover:shadow-[0_8px_30px_rgba(22,93,255,0.12)] dark:hover:shadow-[0_8px_30px_rgba(59,130,246,0.2)] transform hover:-translate-y-1 card-hover z-10 flex flex-col member-card`,style:t({animation:`slideInUp 0.6s ease-out ${o*.1}s both`})},[a(`div`,{class:`h-48 relative overflow-hidden`,style:t({background:`linear-gradient(to bottom right, ${Y(i.color,.1)}, ${Y(i.color,.05)})`})},[a(`div`,h,[a(`div`,{class:s([`member-avatar w-24 h-24 rounded-full overflow-hidden border-3 border-white dark:border-slate-600 shadow-lg transform group-hover:scale-105 transition-transform duration-500`,i.avatarClass])},[a(`img`,{src:i.avatar,alt:i.name,class:`w-full h-full object-cover`},null,8,ie)],2)]),a(`div`,{class:s([`member-role-badge absolute top-3 right-3 text-white text-xs font-medium px-2 py-0.5 rounded-full`,i.roleBadgeClass]),style:t({backgroundColor:Y(i.color)})},n(i.role),7)],4),a(`div`,ae,[a(`h3`,{class:`text-lg font-bold text-text-primary dark:text-gray-100 mb-1 transition-colors`,style:t({"--hover-color":Y(i.color)})},n(i.name),5),a(`p`,oe,n(i.position),1),a(`div`,se,[a(`h4`,g,n(i.labels.roles),1),a(`div`,_,[(r(!0),d(l,null,e(i.roles,e=>(r(),d(`span`,{key:e,class:`px-1.5 py-0.5 text-xs rounded-full`,style:t({backgroundColor:Y(i.color,.1),color:Y(i.color)})},n(e),5))),128))])]),a(`div`,v,[a(`h4`,y,n(i.labels.skills),1),a(`div`,b,[(r(!0),d(l,null,e(i.skills,e=>(r(),d(`span`,{key:e,class:`px-1.5 py-0.5 text-xs rounded-full`,style:t({backgroundColor:Y(i.color,.1),color:Y(i.color)})},n(e),5))),128))])]),a(`div`,x,n(i.description),1),a(`div`,S,[(r(!0),d(l,null,e(i.stats,e=>(r(),d(`div`,{key:e.label},[a(`span`,C,n(e.label)+`:`,1),a(`span`,w,n(e.value),1)]))),128))])]),a(`div`,T,[a(`button`,{class:`view-stats-btn w-full px-3 py-1.5 rounded-lg font-medium transition-all duration-300 flex items-center justify-center gap-1 text-sm`,style:t({backgroundColor:Y(i.color,.1),color:Y(i.color)}),onClick:e=>xe(o)},[c[0]||=a(`i`,{class:`fa fa-chart-line`},null,-1),a(`span`,null,n(i.labels.details),1)],12,E)]),a(`div`,{class:`absolute inset-0 opacity-0 group-hover:opacity-100 transition-opacity duration-500 pointer-events-none`,style:t({background:`linear-gradient(to top, ${Y(i.color,.1)}, transparent)`})},null,4)],4))),128))]),c[2]||=a(`div`,{class:`mt-8 md:mt-10 flex justify-end pr-4 md:pr-8`},[a(`button`,{class:`bg-white dark:bg-slate-800 border-2 border-primary dark:border-blue-500 text-primary dark:text-blue-400 hover:bg-primary hover:text-white dark:hover:bg-blue-600 dark:hover:text-white px-6 py-2.5 rounded-lg font-medium transition-all duration-300 flex items-center gap-2 transform hover:scale-105 hover:shadow-lg hover:shadow-primary/10 dark:hover:shadow-blue-500/20`},[a(`i`,{class:`fa fa-user-plus transform hover:rotate-180 transition-transform duration-300`}),a(`span`,null,`加入我们`)])],-1)]),a(`div`,{id:`chart-modal`,class:s([`fixed inset-0 bg-black/60 dark:bg-black/80 z-50 overflow-y-auto backdrop-blur-sm`,X.value?``:`hidden`])},[a(`div`,D,[a(`div`,{class:s([`bg-white dark:bg-slate-800 rounded-xl shadow-xl dark:shadow-black/40 max-w-7xl w-full max-h-[85vh] overflow-y-auto transform transition-all duration-300`,X.value?`translate-y-0 opacity-100`:`translate-y-full opacity-0`])},[a(`div`,O,[a(`h3`,k,n(Q.value?.name||`成员贡献详情`)+`-贡献详情`,1),a(`button`,{class:`text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-white transition-colors`,onClick:Se},[...c[3]||=[a(`i`,{class:`fa fa-times text-xl`},null,-1)]])]),Q.value?(r(),d(`div`,A,[a(`div`,j,[a(`div`,M,[a(`div`,N,[a(`img`,{src:Q.value.avatar,alt:Q.value.name,class:`w-32 h-32 rounded-full mx-auto mb-4 object-cover border-4 border-gray-200 dark:border-slate-600`},null,8,P),a(`h4`,F,n(Q.value.name),1),a(`p`,I,n(Q.value.position),1),a(`p`,L,n(Q.value.role),1)]),a(`div`,R,[c[5]||=a(`h5`,{class:`font-semibold mb-2 text-gray-900 dark:text-white`},`个人简介`,-1),a(`p`,z,n(Q.value.description),1),a(`div`,B,[(r(!0),d(l,null,e(Q.value.stats,e=>(r(),d(`div`,{key:e.label},[a(`h5`,V,n(e.label),1),a(`p`,H,n(e.value),1)]))),128))]),a(`div`,null,[c[4]||=a(`h5`,{class:`font-semibold mb-2 text-gray-900 dark:text-white`},`联系方式`,-1),a(`div`,ce,[Q.value.contacts&&Q.value.contacts.length>0?(r(!0),d(l,{key:0},e(Q.value.contacts,e=>(r(),d(`a`,{key:e.icon,href:e.url||void 0,target:`_blank`,class:`hover:underline`,style:t({color:Y(Q.value.color)})},[a(`i`,{class:s(e.icon)},null,2)],12,U))),128)):(r(),d(`span`,W,`该成员暂未提供联系方式`))])])])])]),a(`div`,G,[(r(!0),d(l,null,e(Q.value.charts,(i,f)=>(r(),d(`div`,{key:f,class:s([`bg-gray-50 dark:bg-slate-700/50 p-4 rounded-lg`,{"lg:col-span-2":f===`proficiency`}])},[a(`h4`,le,n(i.title),1),i.type===`line`?(r(),d(`div`,ue,[(r(!0),d(l,null,e(i.data,(e,o)=>(r(),d(`div`,{key:o,class:`flex flex-col items-center flex-1 h-full justify-end group`},[a(`div`,de,n(e),1),a(`div`,{class:`w-full max-w-[28px] rounded-t`,style:t({height:`${Ce(e,i.data)}%`,backgroundColor:Y(Q.value.color,.6)})},null,4),a(`span`,fe,n(o),1)]))),128))])):i.type===`radar`?(r(),d(`div`,pe,[(r(),d(`svg`,me,[c[6]||=u(` `,9),$.value.length>2?(r(),d(`polygon`,{key:0,points:$.value,fill:Y(Q.value.color,.2),stroke:Y(Q.value.color),"stroke-width":`2`},null,8,he)):o(``,!0),(r(!0),d(l,null,e(we.value,(e,t)=>(r(),d(`text`,{key:t,x:e.x,y:e.y,"text-anchor":e.anchor,"font-size":`8`,fill:`#64748b`,class:`font-mono`},n(e.label),9,ge))),128))]))])):(r(),d(`div`,_e,[(r(!0),d(l,null,e(i.data,(e,i)=>(r(),d(`div`,{key:i,class:`flex flex-col items-center flex-1 h-full justify-end group`},[a(`div`,ve,n(e),1),a(`div`,{class:`w-full max-w-[24px] rounded-t transition-all`,style:t({height:`${Math.max(4,e/100*100)}%`,backgroundColor:Y(Q.value.color,.7)})},null,4),a(`span`,ye,n(i),1)]))),128))]))],2))),128))])])):o(``,!0)],2)])],2)]))}}),[[`__scopeId`,`data-v-47b97c26`]]);export{K as default};
\ No newline at end of file
diff --git a/TempLate/assets/MembersView-TWAq4XJo.css b/TempLate/assets/MembersView-TWAq4XJo.css
new file mode 100644
index 00000000..60e41175
--- /dev/null
+++ b/TempLate/assets/MembersView-TWAq4XJo.css
@@ -0,0 +1 @@
+@keyframes slideInUp-47b97c26{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.member-card[data-v-47b97c26]{border:1px solid #ffd70033;transition:all .4s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 0 20px #ffd7001a}.member-card[data-v-47b97c26]:hover{box-shadow:0 0 30px #ffd70033}.member-avatar[data-v-47b97c26]{background:linear-gradient(#fff,#fff) padding-box padding-box,linear-gradient(135deg,gold,orange,gold) border-box;border:3px solid #0000;position:relative;box-shadow:0 0 15px #ffd70099}.dark{background:linear-gradient(#1e293b,#1e293b) padding-box padding-box,linear-gradient(135deg,gold,orange,gold) border-box}.member-avatar[data-v-47b97c26]:before{content:"";z-index:-1;opacity:.7;filter:blur(5px);background:linear-gradient(135deg,gold,orange,gold);border-radius:50%;position:absolute;inset:-10px}.member-avatar[data-v-47b97c26]:after{content:"";z-index:1;opacity:0;background:linear-gradient(135deg,#ffd70066,#ffa50033,#ffd70066);border-radius:50%;transition:opacity .3s;position:absolute;inset:0}.member-card:hover .member-avatar[data-v-47b97c26]:after{opacity:1}.member-role-badge[data-v-47b97c26]{text-shadow:0 0 5px #0000004d;box-shadow:0 0 10px #ffd70080;background:linear-gradient(135deg,gold,orange)!important}
diff --git a/TempLate/assets/MembersView-Xu5BBqPZ.js b/TempLate/assets/MembersView-Xu5BBqPZ.js
new file mode 100644
index 00000000..598bcfbd
--- /dev/null
+++ b/TempLate/assets/MembersView-Xu5BBqPZ.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,f as o,j as s,k as c,l,m as u,p as d,u as f}from"./index-CMhybB9x.js";import{t as p}from"./_plugin-vue_export-helper-BDNMzG2s.js";var ee={class:`container mx-auto px-4 pt-8 pb-10 md:pb-12 relative w-full overflow-x-hidden`},te={class:`max-w-7xl mx-auto relative z-10 px-4 md:px-8`},ne={class:`mb-6 flex flex-wrap gap-2 justify-center`,id:`filter-buttons`},re=[`onClick`],m={id:`members-container`,class:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4 md:gap-6`},h={class:`absolute inset-0 flex items-center justify-center`},ie=[`src`,`alt`],ae={class:`p-4 flex-grow`},oe={class:`text-gray-500 dark:text-gray-400 mb-3 text-xs`},se={class:`mb-3`},g={class:`text-xs font-semibold text-text-primary dark:text-white mb-1`},_={class:`flex flex-wrap gap-1`},v={class:`mb-3`},y={class:`text-xs font-semibold text-text-primary dark:text-white mb-1`},b={class:`flex flex-wrap gap-1`},x={class:`text-xs text-gray-600 dark:text-gray-400 leading-relaxed mb-3`},S={class:`grid grid-cols-2 gap-2 text-xs mb-3`},C={class:`text-gray-500 dark:text-gray-400`},w={class:`font-medium text-text-primary dark:text-gray-200`},T={class:`p-4 pt-0`},E=[`onClick`],D={class:`flex items-start justify-center min-h-screen p-4 pt-16`},O={class:`sticky top-0 bg-white dark:bg-slate-800 border-b border-gray-200 dark:border-slate-700 px-6 py-4 rounded-t-xl flex justify-between items-center z-10`},k={class:`text-2xl font-bold text-text-primary dark:text-white`},A={key:0,class:`p-6 md:p-8`},j={class:`bg-gray-50 dark:bg-slate-700/50 p-4 rounded-lg mb-6 border border-gray-100 dark:border-slate-600`},M={class:`flex flex-col md:flex-row gap-4`},N={class:`md:w-1/3`},P=[`src`,`alt`],F={class:`text-xl font-bold text-center mb-2 text-gray-900 dark:text-white`},I={class:`text-gray-600 dark:text-gray-400 text-center mb-2`},L={class:`text-primary dark:text-blue-400 text-center font-medium`},R={class:`md:w-2/3`},z={class:`text-gray-600 dark:text-gray-300 mb-4`},B={id:`dynamic-info`,class:`grid grid-cols-2 gap-4 mb-4`},V={class:`font-semibold mb-2 text-gray-900 dark:text-gray-200`},H={class:`text-gray-600 dark:text-gray-400`},ce={id:`modal-contacts`,class:`flex gap-2 flex-wrap`},U=[`href`],W={key:1,class:`text-gray-500 dark:text-gray-400`},G={id:`dynamic-charts`,class:`grid grid-cols-1 lg:grid-cols-2 gap-6 mb-6`},le={class:`text-lg font-semibold mb-4 text-center text-gray-900 dark:text-white`},ue={key:0,class:`h-64 flex items-end justify-between gap-2 px-2`},de={class:`text-xs text-gray-500 dark:text-gray-400 font-mono opacity-0 group-hover:opacity-100 transition-opacity`},fe={class:`text-xs text-gray-500 dark:text-gray-400 mt-1`},pe={key:1,class:`h-64 flex items-center justify-center`},me={viewBox:`0 0 200 200`,class:`w-full max-w-[240px] h-full`},he=[`points`,`fill`,`stroke`],ge=[`x`,`y`,`text-anchor`],_e={key:2,class:`h-64 flex items-end justify-between gap-2 px-2`},ve={class:`text-xs text-gray-500 dark:text-gray-400 font-mono opacity-0 group-hover:opacity-100 transition-opacity`},ye={class:`text-xs text-gray-500 dark:text-gray-400 mt-1 truncate w-full text-center`},K=p(i({__name:`MembersView`,setup(i){let p=[{id:`all`,text:`全部`},{id:`engineering`,text:`工程部`},{id:`art`,text:`美工部`},{id:`operations`,text:`运营部`}],K=c(`all`),q=[{name:`Chindows`,position:`星界工作室(子工作室) 负责人`,role:`终端开发`,department:`engineering`,color:{hex:`0082FE`},labels:{roles:`技术岗位`,skills:`核心能力`,description:`个人简介`,contacts:`联系方式`,details:`查看贡献详情`},roles:[`终端应用开发者`,`OIer`,`编程学习者`,`星界工作室负责人`],skills:[`Python`,`C`,`C++`],description:`这个人很神秘,两袖清风,什么都没留下,也什么都没带走。`,avatar:`/assets/members/Chindows.jpg`,stats:[{label:`加入时间`,value:`2023年7月`},{label:`项目参与数`,value:1},{label:`代码贡献行`,value:`1,479`},{label:`代码贡献字`,value:`12,546`}],contacts:[{icon:`fa fa-github`,url:`https://github.com/MicGan`},{icon:`fa fa-envelope`,url:`mailto:chindows@example.com`}],charts:{contribution:{title:`代码贡献量趋势`,type:`line`,data:{"7月":0,"8月":0,"9月":0,"10月":0,"11月":0,"12月":0},label:`代码贡献量`},skills:{title:`编程水平评估`,type:`radar`,data:{算法能力:84,代码质量:60,问题解决:60,创新思维:50,团队协作:60,学习能力:60},label:`编程水平`},proficiency:{title:`技能掌握程度`,type:`bar`,data:{Python:60,"HTML/CSS":10,JavaScript:0,"C++":44,"C#":10,Java:10,Kotlin:10,SQL:0,PowerShell:0,Bash:65,Assembly:0,Lua:0,PHP:0,逆向工程:0,"UI 设计":0,渗透工程:0,"美术 设计":0},label:`技能掌握程度`}},avatarClass:``,roleBadgeClass:``},{name:`TermiNexus`,position:`银河锋锐工作室负责人`,role:`工作室负责人 / 全栈`,department:`engineering`,color:{hex:`165DFF`},labels:{roles:`技术岗位`,skills:`核心能力`,description:`个人简介`,contacts:`联系方式`,details:`查看贡献详情`},roles:[`独立全栈开发工程师`,`后端开发工程师`,`多语言开发工程师`,`核心项目经理`],skills:[`Python 前端全栈`,`系统架构`,`组织管理`,`组织规划`],description:`深耕编程领域 6 年,主导工作室技术方向与团队建设,擅长从 0 到 1 搭建技术体系,注重成员成长与技术沉淀,秉持「和而不同、创新为主」的团队理念。`,avatar:`/assets/members/terminexus.jpg`,stats:[{label:`加入时间`,value:`2019年9月`},{label:`项目参与数`,value:12},{label:`代码贡献行`,value:`210,989`},{label:`代码贡献字`,value:`7,125,605`}],contacts:[{icon:`fa fa-github`,url:`https://github.com/TermiNexus`},{icon:`fa fa-envelope`,url:`mailto:terminexus@gvsds.com`}],charts:{contribution:{title:`代码贡献量趋势`,type:`line`,data:{"7月":17868,"8月":24534,"9月":4678,"10月":8097,"11月":14573,"12月":7380},label:`代码贡献量`},skills:{title:`编程水平评估`,type:`radar`,data:{算法能力:90,代码质量:95,问题解决:92,创新思维:88,团队协作:95,学习能力:85},label:`编程水平`},proficiency:{title:`技能掌握程度`,type:`bar`,data:{Python:95,"HTML/CSS":93,JavaScript:92,"C++":87,"C#":66,Java:89,Kotlin:73,SQL:64,PowerShell:76,Bash:84,Assembly:75,Lua:86,PHP:12,逆向工程:93,"UI 设计":85,渗透工程:43,"美术 设计":73},label:`技能掌握程度`}},avatarClass:``,roleBadgeClass:`member-role-badge-gold`},{name:`悠然自得`,position:`星界工作室`,role:`终端开发`,department:`engineering`,color:{hex:`045BCB`},labels:{roles:`技术岗位`,skills:`核心能力`,description:`个人简介`,contacts:`联系方式`,details:`查看贡献详情`},roles:[`终端应用开发者`,`OIer`,`编程学习者`,`前端工程师`],skills:[`Python`,`C`,`C++`,`前端`],description:`热爱编程,积极参与团队项目,工作室的主力军。`,avatar:`/assets/members/yrzd.jpg`,stats:[{label:`加入时间`,value:`2023年8月`},{label:`项目参与数`,value:6},{label:`代码贡献行`,value:`3,395`},{label:`代码贡献字`,value:`106,162`}],contacts:[{icon:`fa fa-github`,url:`https://github.com/yrzd6`}],charts:{contribution:{title:`代码贡献量趋势`,type:`line`,data:{"7月":0,"8月":0,"9月":0,"10月":0,"11月":0,"12月":2764},label:`代码贡献量`},skills:{title:`编程水平评估`,type:`radar`,data:{算法能力:75,代码质量:80,问题解决:85,创新思维:75,团队协作:90,学习能力:90},label:`编程水平`},proficiency:{title:`技能掌握程度`,type:`bar`,data:{Python:85,C:40,"C++":65,前端:80,数据结构:75,算法:85},label:`技能掌握程度`}},avatarClass:``,roleBadgeClass:``},{name:`赤砂`,position:`美工部`,role:`画师`,department:`design`,color:{hex:`848685`},labels:{roles:`设计岗位`,skills:`核心能力`,description:`个人简介`,contacts:`联系方式`,details:`查看贡献详情`},roles:[`角色概念设计师`,`插画师`],skills:[`图像处理`,`插画色彩理论`],description:`入我!`,avatar:`/assets/members/chisha.jpg`,stats:[{label:`加入时间`,value:`2023月10日`},{label:`项目参与数`,value:8},{label:`完成作品数`,value:14},{label:`设计稿通过率`,value:`100%`}],contacts:[{icon:`fa fa-envelope`,url:`mailto:1591223795@qq.com`},{icon:`fa fa-qq`,url:`tencent://message/?uin=1591223795`}],charts:{contribution:{title:`作品完成趋势`,type:`line`,data:{七月:2,八月:3,九月:0,十月:0,十一月:1,十二月:0},label:`完成作品数`},skills:{title:`设计能力评估`,type:`radar`,data:{创意构思:96,色彩运用:90,构图能力:89,细节处理:77,风格多样性:91,手绘技巧:76},label:`设计能力`}},avatarClass:``,roleBadgeClass:``}],J=f(()=>K.value===`all`?q:q.filter(e=>e.department===K.value));function be(e){K.value=e}function Y(e,t=1){if(!e)return`#000000`;if(e.hex){let n=e.hex;return t===1?`#${n}`:`rgba(${parseInt(n.substr(0,2),16)},${parseInt(n.substr(2,2),16)},${parseInt(n.substr(4,2),16)},${t})`}return e.css?e.css:`#000000`}let X=c(!1),Z=c(-1),Q=f(()=>Z.value>=0?J.value[Z.value]:null);function xe(e){Z.value=e,X.value=!0}function Se(){X.value=!1,setTimeout(()=>{Z.value=-1},300)}function Ce(e,t){let n=Math.max(...Object.values(t),1);return Math.max(4,e/n*100)}let $=f(()=>{let e=Q.value;if(!e)return``;let t=e.charts.skills?.data||{},n=Object.keys(t).slice(0,6);return n.length<3?``:n.map((e,n)=>{let r=Math.PI*2*n/6-Math.PI/2,i=Math.min(t[e]??0,100)/100*72;return`${100+i*Math.cos(r)},${100+i*Math.sin(r)}`}).join(` `)}),we=f(()=>{let e=Q.value;if(!e)return[];let t=e.charts.skills?.data||{};return Object.keys(t).slice(0,6).map((e,t)=>{let n=Math.PI*2*t/6-Math.PI/2,r=100+92*Math.cos(n),i=100+92*Math.sin(n),a=`middle`;return Math.abs(Math.cos(n))>.6&&(a=Math.cos(n)>0?`start`:`end`),{label:e,x:r,y:i,anchor:a}})});return(i,c)=>(r(),d(`section`,ee,[a(`div`,te,[c[1]||=u(`
核心团队 · 成员风采 银河锋锐筑梦人 每一位成员都是团队的星光(由于信息收集难度大,只展示四个人的信息) 以专业与热爱共筑技术星河
`,3),a(`div`,ne,[(r(),d(l,null,e(p,e=>a(`button`,{key:e.id,class:s(K.value===e.id?`member-filter-btn px-3 py-1.5 rounded-full text-white font-medium transition-all hover:bg-gray-300 dark:hover:bg-slate-600 text-sm bg-primary`:`member-filter-btn px-3 py-1.5 rounded-full text-white font-medium transition-all hover:bg-gray-300 dark:hover:bg-slate-600 text-sm bg-gray-200 dark:bg-slate-700 dark:text-gray-300 text-gray-700`),onClick:t=>be(e.id)},n(e.text),11,re)),64))]),a(`div`,m,[(r(!0),d(l,null,e(J.value,(i,o)=>(r(),d(`div`,{key:i.name,class:`group relative bg-white/90 dark:bg-slate-800/90 backdrop-blur-sm rounded-lg overflow-hidden shadow-[0_4px_20px_rgba(0,0,0,0.05)] dark:shadow-[0_4px_20px_rgba(0,0,0,0.3)] transition-all duration-500 hover:shadow-[0_8px_30px_rgba(22,93,255,0.12)] dark:hover:shadow-[0_8px_30px_rgba(59,130,246,0.2)] transform hover:-translate-y-1 card-hover z-10 flex flex-col member-card`,style:t({animation:`slideInUp 0.6s ease-out ${o*.1}s both`})},[a(`div`,{class:`h-48 relative overflow-hidden`,style:t({background:`linear-gradient(to bottom right, ${Y(i.color,.1)}, ${Y(i.color,.05)})`})},[a(`div`,h,[a(`div`,{class:s([`member-avatar w-24 h-24 rounded-full overflow-hidden border-3 border-white dark:border-slate-600 shadow-lg transform group-hover:scale-105 transition-transform duration-500`,i.avatarClass])},[a(`img`,{src:i.avatar,alt:i.name,class:`w-full h-full object-cover`},null,8,ie)],2)]),a(`div`,{class:s([`member-role-badge absolute top-3 right-3 text-white text-xs font-medium px-2 py-0.5 rounded-full`,i.roleBadgeClass]),style:t({backgroundColor:Y(i.color)})},n(i.role),7)],4),a(`div`,ae,[a(`h3`,{class:`text-lg font-bold text-text-primary dark:text-gray-100 mb-1 transition-colors`,style:t({"--hover-color":Y(i.color)})},n(i.name),5),a(`p`,oe,n(i.position),1),a(`div`,se,[a(`h4`,g,n(i.labels.roles),1),a(`div`,_,[(r(!0),d(l,null,e(i.roles,e=>(r(),d(`span`,{key:e,class:`px-1.5 py-0.5 text-xs rounded-full`,style:t({backgroundColor:Y(i.color,.1),color:Y(i.color)})},n(e),5))),128))])]),a(`div`,v,[a(`h4`,y,n(i.labels.skills),1),a(`div`,b,[(r(!0),d(l,null,e(i.skills,e=>(r(),d(`span`,{key:e,class:`px-1.5 py-0.5 text-xs rounded-full`,style:t({backgroundColor:Y(i.color,.1),color:Y(i.color)})},n(e),5))),128))])]),a(`div`,x,n(i.description),1),a(`div`,S,[(r(!0),d(l,null,e(i.stats,e=>(r(),d(`div`,{key:e.label},[a(`span`,C,n(e.label)+`:`,1),a(`span`,w,n(e.value),1)]))),128))])]),a(`div`,T,[a(`button`,{class:`view-stats-btn w-full px-3 py-1.5 rounded-lg font-medium transition-all duration-300 flex items-center justify-center gap-1 text-sm`,style:t({backgroundColor:Y(i.color,.1),color:Y(i.color)}),onClick:e=>xe(o)},[c[0]||=a(`i`,{class:`fa fa-chart-line`},null,-1),a(`span`,null,n(i.labels.details),1)],12,E)]),a(`div`,{class:`absolute inset-0 opacity-0 group-hover:opacity-100 transition-opacity duration-500 pointer-events-none`,style:t({background:`linear-gradient(to top, ${Y(i.color,.1)}, transparent)`})},null,4)],4))),128))]),c[2]||=a(`div`,{class:`mt-8 md:mt-10 flex justify-end pr-4 md:pr-8`},[a(`button`,{class:`bg-white dark:bg-slate-800 border-2 border-primary dark:border-blue-500 text-primary dark:text-blue-400 hover:bg-primary hover:text-white dark:hover:bg-blue-600 dark:hover:text-white px-6 py-2.5 rounded-lg font-medium transition-all duration-300 flex items-center gap-2 transform hover:scale-105 hover:shadow-lg hover:shadow-primary/10 dark:hover:shadow-blue-500/20`},[a(`i`,{class:`fa fa-user-plus transform hover:rotate-180 transition-transform duration-300`}),a(`span`,null,`加入我们`)])],-1)]),a(`div`,{id:`chart-modal`,class:s([`fixed inset-0 bg-black/60 dark:bg-black/80 z-50 overflow-y-auto backdrop-blur-sm`,X.value?``:`hidden`])},[a(`div`,D,[a(`div`,{class:s([`bg-white dark:bg-slate-800 rounded-xl shadow-xl dark:shadow-black/40 max-w-7xl w-full max-h-[85vh] overflow-y-auto transform transition-all duration-300`,X.value?`translate-y-0 opacity-100`:`translate-y-full opacity-0`])},[a(`div`,O,[a(`h3`,k,n(Q.value?.name||`成员贡献详情`)+`-贡献详情`,1),a(`button`,{class:`text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-white transition-colors`,onClick:Se},[...c[3]||=[a(`i`,{class:`fa fa-times text-xl`},null,-1)]])]),Q.value?(r(),d(`div`,A,[a(`div`,j,[a(`div`,M,[a(`div`,N,[a(`img`,{src:Q.value.avatar,alt:Q.value.name,class:`w-32 h-32 rounded-full mx-auto mb-4 object-cover border-4 border-gray-200 dark:border-slate-600`},null,8,P),a(`h4`,F,n(Q.value.name),1),a(`p`,I,n(Q.value.position),1),a(`p`,L,n(Q.value.role),1)]),a(`div`,R,[c[5]||=a(`h5`,{class:`font-semibold mb-2 text-gray-900 dark:text-white`},`个人简介`,-1),a(`p`,z,n(Q.value.description),1),a(`div`,B,[(r(!0),d(l,null,e(Q.value.stats,e=>(r(),d(`div`,{key:e.label},[a(`h5`,V,n(e.label),1),a(`p`,H,n(e.value),1)]))),128))]),a(`div`,null,[c[4]||=a(`h5`,{class:`font-semibold mb-2 text-gray-900 dark:text-white`},`联系方式`,-1),a(`div`,ce,[Q.value.contacts&&Q.value.contacts.length>0?(r(!0),d(l,{key:0},e(Q.value.contacts,e=>(r(),d(`a`,{key:e.icon,href:e.url||void 0,target:`_blank`,class:`hover:underline`,style:t({color:Y(Q.value.color)})},[a(`i`,{class:s(e.icon)},null,2)],12,U))),128)):(r(),d(`span`,W,`该成员暂未提供联系方式`))])])])])]),a(`div`,G,[(r(!0),d(l,null,e(Q.value.charts,(i,f)=>(r(),d(`div`,{key:f,class:s([`bg-gray-50 dark:bg-slate-700/50 p-4 rounded-lg`,{"lg:col-span-2":f===`proficiency`}])},[a(`h4`,le,n(i.title),1),i.type===`line`?(r(),d(`div`,ue,[(r(!0),d(l,null,e(i.data,(e,o)=>(r(),d(`div`,{key:o,class:`flex flex-col items-center flex-1 h-full justify-end group`},[a(`div`,de,n(e),1),a(`div`,{class:`w-full max-w-[28px] rounded-t`,style:t({height:`${Ce(e,i.data)}%`,backgroundColor:Y(Q.value.color,.6)})},null,4),a(`span`,fe,n(o),1)]))),128))])):i.type===`radar`?(r(),d(`div`,pe,[(r(),d(`svg`,me,[c[6]||=u(` `,9),$.value.length>2?(r(),d(`polygon`,{key:0,points:$.value,fill:Y(Q.value.color,.2),stroke:Y(Q.value.color),"stroke-width":`2`},null,8,he)):o(``,!0),(r(!0),d(l,null,e(we.value,(e,t)=>(r(),d(`text`,{key:t,x:e.x,y:e.y,"text-anchor":e.anchor,"font-size":`8`,fill:`#64748b`,class:`font-mono`},n(e.label),9,ge))),128))]))])):(r(),d(`div`,_e,[(r(!0),d(l,null,e(i.data,(e,i)=>(r(),d(`div`,{key:i,class:`flex flex-col items-center flex-1 h-full justify-end group`},[a(`div`,ve,n(e),1),a(`div`,{class:`w-full max-w-[24px] rounded-t transition-all`,style:t({height:`${Math.max(4,e/100*100)}%`,backgroundColor:Y(Q.value.color,.7)})},null,4),a(`span`,ye,n(i),1)]))),128))]))],2))),128))])])):o(``,!0)],2)])],2)]))}}),[[`__scopeId`,`data-v-47b97c26`]]);export{K as default};
\ No newline at end of file
diff --git a/TempLate/assets/MembersView-zfcvL8s9.js b/TempLate/assets/MembersView-zfcvL8s9.js
new file mode 100644
index 00000000..5175e169
--- /dev/null
+++ b/TempLate/assets/MembersView-zfcvL8s9.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,f as o,j as s,k as c,l,m as u,p as d,u as f}from"./index-PMfCvoYM.js";import{t as p}from"./_plugin-vue_export-helper-BDNMzG2s.js";var ee={class:`container mx-auto px-4 pt-8 pb-10 md:pb-12 relative w-full overflow-x-hidden`},te={class:`max-w-7xl mx-auto relative z-10 px-4 md:px-8`},ne={class:`mb-6 flex flex-wrap gap-2 justify-center`,id:`filter-buttons`},re=[`onClick`],m={id:`members-container`,class:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4 md:gap-6`},h={class:`absolute inset-0 flex items-center justify-center`},ie=[`src`,`alt`],ae={class:`p-4 flex-grow`},oe={class:`text-gray-500 dark:text-gray-400 mb-3 text-xs`},se={class:`mb-3`},g={class:`text-xs font-semibold text-text-primary dark:text-white mb-1`},_={class:`flex flex-wrap gap-1`},v={class:`mb-3`},y={class:`text-xs font-semibold text-text-primary dark:text-white mb-1`},b={class:`flex flex-wrap gap-1`},x={class:`text-xs text-gray-600 dark:text-gray-400 leading-relaxed mb-3`},S={class:`grid grid-cols-2 gap-2 text-xs mb-3`},C={class:`text-gray-500 dark:text-gray-400`},w={class:`font-medium text-text-primary dark:text-gray-200`},T={class:`p-4 pt-0`},E=[`onClick`],D={class:`flex items-start justify-center min-h-screen p-4 pt-16`},O={class:`sticky top-0 bg-white dark:bg-slate-800 border-b border-gray-200 dark:border-slate-700 px-6 py-4 rounded-t-xl flex justify-between items-center z-10`},k={class:`text-2xl font-bold text-text-primary dark:text-white`},A={key:0,class:`p-6 md:p-8`},j={class:`bg-gray-50 dark:bg-slate-700/50 p-4 rounded-lg mb-6 border border-gray-100 dark:border-slate-600`},M={class:`flex flex-col md:flex-row gap-4`},N={class:`md:w-1/3`},P=[`src`,`alt`],F={class:`text-xl font-bold text-center mb-2 text-gray-900 dark:text-white`},I={class:`text-gray-600 dark:text-gray-400 text-center mb-2`},L={class:`text-primary dark:text-blue-400 text-center font-medium`},R={class:`md:w-2/3`},z={class:`text-gray-600 dark:text-gray-300 mb-4`},B={id:`dynamic-info`,class:`grid grid-cols-2 gap-4 mb-4`},V={class:`font-semibold mb-2 text-gray-900 dark:text-gray-200`},H={class:`text-gray-600 dark:text-gray-400`},ce={id:`modal-contacts`,class:`flex gap-2 flex-wrap`},U=[`href`],W={key:1,class:`text-gray-500 dark:text-gray-400`},G={id:`dynamic-charts`,class:`grid grid-cols-1 lg:grid-cols-2 gap-6 mb-6`},le={class:`text-lg font-semibold mb-4 text-center text-gray-900 dark:text-white`},ue={key:0,class:`h-64 flex items-end justify-between gap-2 px-2`},de={class:`text-xs text-gray-500 dark:text-gray-400 font-mono opacity-0 group-hover:opacity-100 transition-opacity`},fe={class:`text-xs text-gray-500 dark:text-gray-400 mt-1`},pe={key:1,class:`h-64 flex items-center justify-center`},me={viewBox:`0 0 200 200`,class:`w-full max-w-[240px] h-full`},he=[`points`,`fill`,`stroke`],ge=[`x`,`y`,`text-anchor`],_e={key:2,class:`h-64 flex items-end justify-between gap-2 px-2`},ve={class:`text-xs text-gray-500 dark:text-gray-400 font-mono opacity-0 group-hover:opacity-100 transition-opacity`},ye={class:`text-xs text-gray-500 dark:text-gray-400 mt-1 truncate w-full text-center`},K=p(i({__name:`MembersView`,setup(i){let p=[{id:`all`,text:`全部`},{id:`engineering`,text:`工程部`},{id:`art`,text:`美工部`},{id:`operations`,text:`运营部`}],K=c(`all`),q=[{name:`Chindows`,position:`星界工作室(子工作室) 负责人`,role:`终端开发`,department:`engineering`,color:{hex:`0082FE`},labels:{roles:`技术岗位`,skills:`核心能力`,description:`个人简介`,contacts:`联系方式`,details:`查看贡献详情`},roles:[`终端应用开发者`,`OIer`,`编程学习者`,`星界工作室负责人`],skills:[`Python`,`C`,`C++`],description:`这个人很神秘,两袖清风,什么都没留下,也什么都没带走。`,avatar:`/assets/members/Chindows.jpg`,stats:[{label:`加入时间`,value:`2023年7月`},{label:`项目参与数`,value:1},{label:`代码贡献行`,value:`1,479`},{label:`代码贡献字`,value:`12,546`}],contacts:[{icon:`fa fa-github`,url:`https://github.com/MicGan`},{icon:`fa fa-envelope`,url:`mailto:chindows@example.com`}],charts:{contribution:{title:`代码贡献量趋势`,type:`line`,data:{"7月":0,"8月":0,"9月":0,"10月":0,"11月":0,"12月":0},label:`代码贡献量`},skills:{title:`编程水平评估`,type:`radar`,data:{算法能力:84,代码质量:60,问题解决:60,创新思维:50,团队协作:60,学习能力:60},label:`编程水平`},proficiency:{title:`技能掌握程度`,type:`bar`,data:{Python:60,"HTML/CSS":10,JavaScript:0,"C++":44,"C#":10,Java:10,Kotlin:10,SQL:0,PowerShell:0,Bash:65,Assembly:0,Lua:0,PHP:0,逆向工程:0,"UI 设计":0,渗透工程:0,"美术 设计":0},label:`技能掌握程度`}},avatarClass:``,roleBadgeClass:``},{name:`TermiNexus`,position:`银河锋锐工作室负责人`,role:`工作室负责人 / 全栈`,department:`engineering`,color:{hex:`165DFF`},labels:{roles:`技术岗位`,skills:`核心能力`,description:`个人简介`,contacts:`联系方式`,details:`查看贡献详情`},roles:[`独立全栈开发工程师`,`后端开发工程师`,`多语言开发工程师`,`核心项目经理`],skills:[`Python 前端全栈`,`系统架构`,`组织管理`,`组织规划`],description:`深耕编程领域 6 年,主导工作室技术方向与团队建设,擅长从 0 到 1 搭建技术体系,注重成员成长与技术沉淀,秉持「和而不同、创新为主」的团队理念。`,avatar:`/assets/members/terminexus.jpg`,stats:[{label:`加入时间`,value:`2019年9月`},{label:`项目参与数`,value:12},{label:`代码贡献行`,value:`210,989`},{label:`代码贡献字`,value:`7,125,605`}],contacts:[{icon:`fa fa-github`,url:`https://github.com/TermiNexus`},{icon:`fa fa-envelope`,url:`mailto:terminexus@gvsds.com`}],charts:{contribution:{title:`代码贡献量趋势`,type:`line`,data:{"7月":17868,"8月":24534,"9月":4678,"10月":8097,"11月":14573,"12月":7380},label:`代码贡献量`},skills:{title:`编程水平评估`,type:`radar`,data:{算法能力:90,代码质量:95,问题解决:92,创新思维:88,团队协作:95,学习能力:85},label:`编程水平`},proficiency:{title:`技能掌握程度`,type:`bar`,data:{Python:95,"HTML/CSS":93,JavaScript:92,"C++":87,"C#":66,Java:89,Kotlin:73,SQL:64,PowerShell:76,Bash:84,Assembly:75,Lua:86,PHP:12,逆向工程:93,"UI 设计":85,渗透工程:43,"美术 设计":73},label:`技能掌握程度`}},avatarClass:``,roleBadgeClass:`member-role-badge-gold`},{name:`悠然自得`,position:`星界工作室`,role:`终端开发`,department:`engineering`,color:{hex:`045BCB`},labels:{roles:`技术岗位`,skills:`核心能力`,description:`个人简介`,contacts:`联系方式`,details:`查看贡献详情`},roles:[`终端应用开发者`,`OIer`,`编程学习者`,`前端工程师`],skills:[`Python`,`C`,`C++`,`前端`],description:`热爱编程,积极参与团队项目,工作室的主力军。`,avatar:`/assets/members/yrzd.jpg`,stats:[{label:`加入时间`,value:`2023年8月`},{label:`项目参与数`,value:6},{label:`代码贡献行`,value:`3,395`},{label:`代码贡献字`,value:`106,162`}],contacts:[{icon:`fa fa-github`,url:`https://github.com/yrzd6`}],charts:{contribution:{title:`代码贡献量趋势`,type:`line`,data:{"7月":0,"8月":0,"9月":0,"10月":0,"11月":0,"12月":2764},label:`代码贡献量`},skills:{title:`编程水平评估`,type:`radar`,data:{算法能力:75,代码质量:80,问题解决:85,创新思维:75,团队协作:90,学习能力:90},label:`编程水平`},proficiency:{title:`技能掌握程度`,type:`bar`,data:{Python:85,C:40,"C++":65,前端:80,数据结构:75,算法:85},label:`技能掌握程度`}},avatarClass:``,roleBadgeClass:``},{name:`赤砂`,position:`美工部`,role:`画师`,department:`design`,color:{hex:`848685`},labels:{roles:`设计岗位`,skills:`核心能力`,description:`个人简介`,contacts:`联系方式`,details:`查看贡献详情`},roles:[`角色概念设计师`,`插画师`],skills:[`图像处理`,`插画色彩理论`],description:`入我!`,avatar:`/assets/members/chisha.jpg`,stats:[{label:`加入时间`,value:`2023月10日`},{label:`项目参与数`,value:8},{label:`完成作品数`,value:14},{label:`设计稿通过率`,value:`100%`}],contacts:[{icon:`fa fa-envelope`,url:`mailto:1591223795@qq.com`},{icon:`fa fa-qq`,url:`tencent://message/?uin=1591223795`}],charts:{contribution:{title:`作品完成趋势`,type:`line`,data:{七月:2,八月:3,九月:0,十月:0,十一月:1,十二月:0},label:`完成作品数`},skills:{title:`设计能力评估`,type:`radar`,data:{创意构思:96,色彩运用:90,构图能力:89,细节处理:77,风格多样性:91,手绘技巧:76},label:`设计能力`}},avatarClass:``,roleBadgeClass:``}],J=f(()=>K.value===`all`?q:q.filter(e=>e.department===K.value));function be(e){K.value=e}function Y(e,t=1){if(!e)return`#000000`;if(e.hex){let n=e.hex;return t===1?`#${n}`:`rgba(${parseInt(n.substr(0,2),16)},${parseInt(n.substr(2,2),16)},${parseInt(n.substr(4,2),16)},${t})`}return e.css?e.css:`#000000`}let X=c(!1),Z=c(-1),Q=f(()=>Z.value>=0?J.value[Z.value]:null);function xe(e){Z.value=e,X.value=!0}function Se(){X.value=!1,setTimeout(()=>{Z.value=-1},300)}function Ce(e,t){let n=Math.max(...Object.values(t),1);return Math.max(4,e/n*100)}let $=f(()=>{let e=Q.value;if(!e)return``;let t=e.charts.skills?.data||{},n=Object.keys(t).slice(0,6);return n.length<3?``:n.map((e,n)=>{let r=Math.PI*2*n/6-Math.PI/2,i=Math.min(t[e]??0,100)/100*72;return`${100+i*Math.cos(r)},${100+i*Math.sin(r)}`}).join(` `)}),we=f(()=>{let e=Q.value;if(!e)return[];let t=e.charts.skills?.data||{};return Object.keys(t).slice(0,6).map((e,t)=>{let n=Math.PI*2*t/6-Math.PI/2,r=100+92*Math.cos(n),i=100+92*Math.sin(n),a=`middle`;return Math.abs(Math.cos(n))>.6&&(a=Math.cos(n)>0?`start`:`end`),{label:e,x:r,y:i,anchor:a}})});return(i,c)=>(r(),d(`section`,ee,[a(`div`,te,[c[1]||=u(`
核心团队 · 成员风采 银河锋锐筑梦人 每一位成员都是团队的星光(由于信息收集难度大,只展示四个人的信息) 以专业与热爱共筑技术星河
`,3),a(`div`,ne,[(r(),d(l,null,e(p,e=>a(`button`,{key:e.id,class:s(K.value===e.id?`member-filter-btn px-3 py-1.5 rounded-full text-white font-medium transition-all hover:bg-gray-300 dark:hover:bg-slate-600 text-sm bg-primary`:`member-filter-btn px-3 py-1.5 rounded-full text-white font-medium transition-all hover:bg-gray-300 dark:hover:bg-slate-600 text-sm bg-gray-200 dark:bg-slate-700 dark:text-gray-300 text-gray-700`),onClick:t=>be(e.id)},n(e.text),11,re)),64))]),a(`div`,m,[(r(!0),d(l,null,e(J.value,(i,o)=>(r(),d(`div`,{key:i.name,class:`group relative bg-white/90 dark:bg-slate-800/90 backdrop-blur-sm rounded-lg overflow-hidden shadow-[0_4px_20px_rgba(0,0,0,0.05)] dark:shadow-[0_4px_20px_rgba(0,0,0,0.3)] transition-all duration-500 hover:shadow-[0_8px_30px_rgba(22,93,255,0.12)] dark:hover:shadow-[0_8px_30px_rgba(59,130,246,0.2)] transform hover:-translate-y-1 card-hover z-10 flex flex-col member-card`,style:t({animation:`slideInUp 0.6s ease-out ${o*.1}s both`})},[a(`div`,{class:`h-48 relative overflow-hidden`,style:t({background:`linear-gradient(to bottom right, ${Y(i.color,.1)}, ${Y(i.color,.05)})`})},[a(`div`,h,[a(`div`,{class:s([`member-avatar w-24 h-24 rounded-full overflow-hidden border-3 border-white dark:border-slate-600 shadow-lg transform group-hover:scale-105 transition-transform duration-500`,i.avatarClass])},[a(`img`,{src:i.avatar,alt:i.name,class:`w-full h-full object-cover`},null,8,ie)],2)]),a(`div`,{class:s([`member-role-badge absolute top-3 right-3 text-white text-xs font-medium px-2 py-0.5 rounded-full`,i.roleBadgeClass]),style:t({backgroundColor:Y(i.color)})},n(i.role),7)],4),a(`div`,ae,[a(`h3`,{class:`text-lg font-bold text-text-primary dark:text-gray-100 mb-1 transition-colors`,style:t({"--hover-color":Y(i.color)})},n(i.name),5),a(`p`,oe,n(i.position),1),a(`div`,se,[a(`h4`,g,n(i.labels.roles),1),a(`div`,_,[(r(!0),d(l,null,e(i.roles,e=>(r(),d(`span`,{key:e,class:`px-1.5 py-0.5 text-xs rounded-full`,style:t({backgroundColor:Y(i.color,.1),color:Y(i.color)})},n(e),5))),128))])]),a(`div`,v,[a(`h4`,y,n(i.labels.skills),1),a(`div`,b,[(r(!0),d(l,null,e(i.skills,e=>(r(),d(`span`,{key:e,class:`px-1.5 py-0.5 text-xs rounded-full`,style:t({backgroundColor:Y(i.color,.1),color:Y(i.color)})},n(e),5))),128))])]),a(`div`,x,n(i.description),1),a(`div`,S,[(r(!0),d(l,null,e(i.stats,e=>(r(),d(`div`,{key:e.label},[a(`span`,C,n(e.label)+`:`,1),a(`span`,w,n(e.value),1)]))),128))])]),a(`div`,T,[a(`button`,{class:`view-stats-btn w-full px-3 py-1.5 rounded-lg font-medium transition-all duration-300 flex items-center justify-center gap-1 text-sm`,style:t({backgroundColor:Y(i.color,.1),color:Y(i.color)}),onClick:e=>xe(o)},[c[0]||=a(`i`,{class:`fa fa-chart-line`},null,-1),a(`span`,null,n(i.labels.details),1)],12,E)]),a(`div`,{class:`absolute inset-0 opacity-0 group-hover:opacity-100 transition-opacity duration-500 pointer-events-none`,style:t({background:`linear-gradient(to top, ${Y(i.color,.1)}, transparent)`})},null,4)],4))),128))]),c[2]||=a(`div`,{class:`mt-8 md:mt-10 flex justify-end pr-4 md:pr-8`},[a(`button`,{class:`bg-white dark:bg-slate-800 border-2 border-primary dark:border-blue-500 text-primary dark:text-blue-400 hover:bg-primary hover:text-white dark:hover:bg-blue-600 dark:hover:text-white px-6 py-2.5 rounded-lg font-medium transition-all duration-300 flex items-center gap-2 transform hover:scale-105 hover:shadow-lg hover:shadow-primary/10 dark:hover:shadow-blue-500/20`},[a(`i`,{class:`fa fa-user-plus transform hover:rotate-180 transition-transform duration-300`}),a(`span`,null,`加入我们`)])],-1)]),a(`div`,{id:`chart-modal`,class:s([`fixed inset-0 bg-black/60 dark:bg-black/80 z-50 overflow-y-auto backdrop-blur-sm`,X.value?``:`hidden`])},[a(`div`,D,[a(`div`,{class:s([`bg-white dark:bg-slate-800 rounded-xl shadow-xl dark:shadow-black/40 max-w-7xl w-full max-h-[85vh] overflow-y-auto transform transition-all duration-300`,X.value?`translate-y-0 opacity-100`:`translate-y-full opacity-0`])},[a(`div`,O,[a(`h3`,k,n(Q.value?.name||`成员贡献详情`)+`-贡献详情`,1),a(`button`,{class:`text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-white transition-colors`,onClick:Se},[...c[3]||=[a(`i`,{class:`fa fa-times text-xl`},null,-1)]])]),Q.value?(r(),d(`div`,A,[a(`div`,j,[a(`div`,M,[a(`div`,N,[a(`img`,{src:Q.value.avatar,alt:Q.value.name,class:`w-32 h-32 rounded-full mx-auto mb-4 object-cover border-4 border-gray-200 dark:border-slate-600`},null,8,P),a(`h4`,F,n(Q.value.name),1),a(`p`,I,n(Q.value.position),1),a(`p`,L,n(Q.value.role),1)]),a(`div`,R,[c[5]||=a(`h5`,{class:`font-semibold mb-2 text-gray-900 dark:text-white`},`个人简介`,-1),a(`p`,z,n(Q.value.description),1),a(`div`,B,[(r(!0),d(l,null,e(Q.value.stats,e=>(r(),d(`div`,{key:e.label},[a(`h5`,V,n(e.label),1),a(`p`,H,n(e.value),1)]))),128))]),a(`div`,null,[c[4]||=a(`h5`,{class:`font-semibold mb-2 text-gray-900 dark:text-white`},`联系方式`,-1),a(`div`,ce,[Q.value.contacts&&Q.value.contacts.length>0?(r(!0),d(l,{key:0},e(Q.value.contacts,e=>(r(),d(`a`,{key:e.icon,href:e.url||void 0,target:`_blank`,class:`hover:underline`,style:t({color:Y(Q.value.color)})},[a(`i`,{class:s(e.icon)},null,2)],12,U))),128)):(r(),d(`span`,W,`该成员暂未提供联系方式`))])])])])]),a(`div`,G,[(r(!0),d(l,null,e(Q.value.charts,(i,f)=>(r(),d(`div`,{key:f,class:s([`bg-gray-50 dark:bg-slate-700/50 p-4 rounded-lg`,{"lg:col-span-2":f===`proficiency`}])},[a(`h4`,le,n(i.title),1),i.type===`line`?(r(),d(`div`,ue,[(r(!0),d(l,null,e(i.data,(e,o)=>(r(),d(`div`,{key:o,class:`flex flex-col items-center flex-1 h-full justify-end group`},[a(`div`,de,n(e),1),a(`div`,{class:`w-full max-w-[28px] rounded-t`,style:t({height:`${Ce(e,i.data)}%`,backgroundColor:Y(Q.value.color,.6)})},null,4),a(`span`,fe,n(o),1)]))),128))])):i.type===`radar`?(r(),d(`div`,pe,[(r(),d(`svg`,me,[c[6]||=u(` `,9),$.value.length>2?(r(),d(`polygon`,{key:0,points:$.value,fill:Y(Q.value.color,.2),stroke:Y(Q.value.color),"stroke-width":`2`},null,8,he)):o(``,!0),(r(!0),d(l,null,e(we.value,(e,t)=>(r(),d(`text`,{key:t,x:e.x,y:e.y,"text-anchor":e.anchor,"font-size":`8`,fill:`#64748b`,class:`font-mono`},n(e.label),9,ge))),128))]))])):(r(),d(`div`,_e,[(r(!0),d(l,null,e(i.data,(e,i)=>(r(),d(`div`,{key:i,class:`flex flex-col items-center flex-1 h-full justify-end group`},[a(`div`,ve,n(e),1),a(`div`,{class:`w-full max-w-[24px] rounded-t transition-all`,style:t({height:`${Math.max(4,e/100*100)}%`,backgroundColor:Y(Q.value.color,.7)})},null,4),a(`span`,ye,n(i),1)]))),128))]))],2))),128))])])):o(``,!0)],2)])],2)]))}}),[[`__scopeId`,`data-v-47b97c26`]]);export{K as default};
\ No newline at end of file
diff --git a/TempLate/assets/QuotationView-Bc9hHjyx.js b/TempLate/assets/QuotationView-Bc9hHjyx.js
new file mode 100644
index 00000000..124d1bc7
--- /dev/null
+++ b/TempLate/assets/QuotationView-Bc9hHjyx.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,l as a,m as o,p as s}from"./index-CUry87of.js";var c={class:`m-0 p-0 box-border text-slate-800 font-sans leading-[1.65] font-normal antialiased`},l={class:`max-w-[85%] mx-auto my-14 px-[8%]`},u={class:`mb-32`},d={class:`flex justify-between relative px-8 flex-wrap`},f={class:`w-10 h-10 bg-slate-800 text-white rounded-full flex items-center justify-center mx-auto mb-6 text-[0.9rem] font-normal`},p={class:`text-[0.95rem] font-medium mb-4`},m={class:`text-[0.85rem] text-slate-600 leading-[1.7]`},h=r({__name:`QuotationView`,setup(r){let h=[{title:`需求沟通与评估`,desc:`深入沟通企业需求,评估技术方案与开发成本,提供详细报价与排期。`},{title:`方案设计与确认`,desc:`输出技术方案、原型设计、功能清单,确认后签订合同启动开发。`},{title:`开发与阶段性交付`,desc:`分阶段开发与交付,定期同步进度,支持中途需求微调。`},{title:`测试与上线部署`,desc:`全面功能测试、性能测试,完成后部署上线,提供操作培训。`},{title:`售后维护与迭代`,desc:`提供 7×24h 售后支持,定期系统维护,按需进行功能迭代。`}];return(r,g)=>(n(),s(`div`,c,[i(`div`,l,[g[2]||=o(`定制开发服务 从开发到运营全托管,专注B2B定制开发,基于开源技术栈快速交付,提供全流程项目开发、部署运维、售后支持一体化服务。
咨询报价 有定制开发需求?我们随时为您服务。无论您需要定制开发、开源项目二次开发,还是长期的运营维护,我们都能提供高性价比的解决方案。
注意:添加企业微信或微信,请备注"咨询报价"明确来意。
`,2),i(`section`,u,[g[1]||=i(`h2`,{class:`text-[1.8rem] font-medium text-center mb-16`},`标准化交付流程`,-1),i(`div`,d,[g[0]||=i(`div`,{class:`absolute top-5 left-[5%] right-[5%] h-0.5 bg-slate-200 hidden md:block`},null,-1),(n(),s(a,null,e(h,(e,n)=>i(`div`,{key:n,class:`flex-1 min-w-[160px] text-center relative px-4 mb-8`},[i(`div`,f,t(n+1),1),i(`h4`,p,t(e.title),1),i(`p`,m,t(e.desc),1)])),64))])])])]))}});export{h as default};
\ No newline at end of file
diff --git a/TempLate/assets/QuotationView-CAiMycZk.js b/TempLate/assets/QuotationView-CAiMycZk.js
new file mode 100644
index 00000000..48bafbee
--- /dev/null
+++ b/TempLate/assets/QuotationView-CAiMycZk.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,l as a,m as o,p as s}from"./index-CJXuAy0L.js";var c={class:`m-0 p-0 box-border text-slate-800 font-sans leading-[1.65] font-normal antialiased`},l={class:`max-w-[85%] mx-auto my-14 px-[8%]`},u={class:`mb-32`},d={class:`flex justify-between relative px-8 flex-wrap`},f={class:`w-10 h-10 bg-slate-800 text-white rounded-full flex items-center justify-center mx-auto mb-6 text-[0.9rem] font-normal`},p={class:`text-[0.95rem] font-medium mb-4`},m={class:`text-[0.85rem] text-slate-600 leading-[1.7]`},h=r({__name:`QuotationView`,setup(r){let h=[{title:`需求沟通与评估`,desc:`深入沟通企业需求,评估技术方案与开发成本,提供详细报价与排期。`},{title:`方案设计与确认`,desc:`输出技术方案、原型设计、功能清单,确认后签订合同启动开发。`},{title:`开发与阶段性交付`,desc:`分阶段开发与交付,定期同步进度,支持中途需求微调。`},{title:`测试与上线部署`,desc:`全面功能测试、性能测试,完成后部署上线,提供操作培训。`},{title:`售后维护与迭代`,desc:`提供 7×24h 售后支持,定期系统维护,按需进行功能迭代。`}];return(r,g)=>(n(),s(`div`,c,[i(`div`,l,[g[2]||=o(`定制开发服务 从开发到运营全托管,专注B2B定制开发,基于开源技术栈快速交付,提供全流程项目开发、部署运维、售后支持一体化服务。
咨询报价 有定制开发需求?我们随时为您服务。无论您需要定制开发、开源项目二次开发,还是长期的运营维护,我们都能提供高性价比的解决方案。
注意:添加企业微信或微信,请备注"咨询报价"明确来意。
`,2),i(`section`,u,[g[1]||=i(`h2`,{class:`text-[1.8rem] font-medium text-center mb-16`},`标准化交付流程`,-1),i(`div`,d,[g[0]||=i(`div`,{class:`absolute top-5 left-[5%] right-[5%] h-0.5 bg-slate-200 hidden md:block`},null,-1),(n(),s(a,null,e(h,(e,n)=>i(`div`,{key:n,class:`flex-1 min-w-[160px] text-center relative px-4 mb-8`},[i(`div`,f,t(n+1),1),i(`h4`,p,t(e.title),1),i(`p`,m,t(e.desc),1)])),64))])])])]))}});export{h as default};
\ No newline at end of file
diff --git a/TempLate/assets/QuotationView-CTkWhLPv.js b/TempLate/assets/QuotationView-CTkWhLPv.js
new file mode 100644
index 00000000..ab9f3759
--- /dev/null
+++ b/TempLate/assets/QuotationView-CTkWhLPv.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,l as a,m as o,p as s}from"./index-PMfCvoYM.js";var c={class:`m-0 p-0 box-border text-slate-800 font-sans leading-[1.65] font-normal antialiased`},l={class:`max-w-[85%] mx-auto my-14 px-[8%]`},u={class:`mb-32`},d={class:`flex justify-between relative px-8 flex-wrap`},f={class:`w-10 h-10 bg-slate-800 text-white rounded-full flex items-center justify-center mx-auto mb-6 text-[0.9rem] font-normal`},p={class:`text-[0.95rem] font-medium mb-4`},m={class:`text-[0.85rem] text-slate-600 leading-[1.7]`},h=r({__name:`QuotationView`,setup(r){let h=[{title:`需求沟通与评估`,desc:`深入沟通企业需求,评估技术方案与开发成本,提供详细报价与排期。`},{title:`方案设计与确认`,desc:`输出技术方案、原型设计、功能清单,确认后签订合同启动开发。`},{title:`开发与阶段性交付`,desc:`分阶段开发与交付,定期同步进度,支持中途需求微调。`},{title:`测试与上线部署`,desc:`全面功能测试、性能测试,完成后部署上线,提供操作培训。`},{title:`售后维护与迭代`,desc:`提供 7×24h 售后支持,定期系统维护,按需进行功能迭代。`}];return(r,g)=>(n(),s(`div`,c,[i(`div`,l,[g[2]||=o(`定制开发服务 从开发到运营全托管,专注B2B定制开发,基于开源技术栈快速交付,提供全流程项目开发、部署运维、售后支持一体化服务。
咨询报价 有定制开发需求?我们随时为您服务。无论您需要定制开发、开源项目二次开发,还是长期的运营维护,我们都能提供高性价比的解决方案。
注意:添加企业微信或微信,请备注"咨询报价"明确来意。
`,2),i(`section`,u,[g[1]||=i(`h2`,{class:`text-[1.8rem] font-medium text-center mb-16`},`标准化交付流程`,-1),i(`div`,d,[g[0]||=i(`div`,{class:`absolute top-5 left-[5%] right-[5%] h-0.5 bg-slate-200 hidden md:block`},null,-1),(n(),s(a,null,e(h,(e,n)=>i(`div`,{key:n,class:`flex-1 min-w-[160px] text-center relative px-4 mb-8`},[i(`div`,f,t(n+1),1),i(`h4`,p,t(e.title),1),i(`p`,m,t(e.desc),1)])),64))])])])]))}});export{h as default};
\ No newline at end of file
diff --git a/TempLate/assets/QuotationView-DBqv8n3c.js b/TempLate/assets/QuotationView-DBqv8n3c.js
new file mode 100644
index 00000000..7f7c136f
--- /dev/null
+++ b/TempLate/assets/QuotationView-DBqv8n3c.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,l as a,m as o,p as s}from"./index-UfMysbwD.js";var c={class:`m-0 p-0 box-border text-slate-800 font-sans leading-[1.65] font-normal antialiased`},l={class:`max-w-[85%] mx-auto my-14 px-[8%]`},u={class:`mb-32`},d={class:`flex justify-between relative px-8 flex-wrap`},f={class:`w-10 h-10 bg-slate-800 text-white rounded-full flex items-center justify-center mx-auto mb-6 text-[0.9rem] font-normal`},p={class:`text-[0.95rem] font-medium mb-4`},m={class:`text-[0.85rem] text-slate-600 leading-[1.7]`},h=r({__name:`QuotationView`,setup(r){let h=[{title:`需求沟通与评估`,desc:`深入沟通企业需求,评估技术方案与开发成本,提供详细报价与排期。`},{title:`方案设计与确认`,desc:`输出技术方案、原型设计、功能清单,确认后签订合同启动开发。`},{title:`开发与阶段性交付`,desc:`分阶段开发与交付,定期同步进度,支持中途需求微调。`},{title:`测试与上线部署`,desc:`全面功能测试、性能测试,完成后部署上线,提供操作培训。`},{title:`售后维护与迭代`,desc:`提供 7×24h 售后支持,定期系统维护,按需进行功能迭代。`}];return(r,g)=>(n(),s(`div`,c,[i(`div`,l,[g[2]||=o(`定制开发服务 从开发到运营全托管,专注B2B定制开发,基于开源技术栈快速交付,提供全流程项目开发、部署运维、售后支持一体化服务。
咨询报价 有定制开发需求?我们随时为您服务。无论您需要定制开发、开源项目二次开发,还是长期的运营维护,我们都能提供高性价比的解决方案。
注意:添加企业微信或微信,请备注"咨询报价"明确来意。
`,2),i(`section`,u,[g[1]||=i(`h2`,{class:`text-[1.8rem] font-medium text-center mb-16`},`标准化交付流程`,-1),i(`div`,d,[g[0]||=i(`div`,{class:`absolute top-5 left-[5%] right-[5%] h-0.5 bg-slate-200 hidden md:block`},null,-1),(n(),s(a,null,e(h,(e,n)=>i(`div`,{key:n,class:`flex-1 min-w-[160px] text-center relative px-4 mb-8`},[i(`div`,f,t(n+1),1),i(`h4`,p,t(e.title),1),i(`p`,m,t(e.desc),1)])),64))])])])]))}});export{h as default};
\ No newline at end of file
diff --git a/TempLate/assets/QuotationView-Dpbr0-sE.js b/TempLate/assets/QuotationView-Dpbr0-sE.js
new file mode 100644
index 00000000..7de4aa16
--- /dev/null
+++ b/TempLate/assets/QuotationView-Dpbr0-sE.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,l as a,m as o,p as s}from"./index-BM-LFFI_.js";var c={class:`m-0 p-0 box-border text-slate-800 font-sans leading-[1.65] font-normal antialiased`},l={class:`max-w-[85%] mx-auto my-14 px-[8%]`},u={class:`mb-32`},d={class:`flex justify-between relative px-8 flex-wrap`},f={class:`w-10 h-10 bg-slate-800 text-white rounded-full flex items-center justify-center mx-auto mb-6 text-[0.9rem] font-normal`},p={class:`text-[0.95rem] font-medium mb-4`},m={class:`text-[0.85rem] text-slate-600 leading-[1.7]`},h=r({__name:`QuotationView`,setup(r){let h=[{title:`需求沟通与评估`,desc:`深入沟通企业需求,评估技术方案与开发成本,提供详细报价与排期。`},{title:`方案设计与确认`,desc:`输出技术方案、原型设计、功能清单,确认后签订合同启动开发。`},{title:`开发与阶段性交付`,desc:`分阶段开发与交付,定期同步进度,支持中途需求微调。`},{title:`测试与上线部署`,desc:`全面功能测试、性能测试,完成后部署上线,提供操作培训。`},{title:`售后维护与迭代`,desc:`提供 7×24h 售后支持,定期系统维护,按需进行功能迭代。`}];return(r,g)=>(n(),s(`div`,c,[i(`div`,l,[g[2]||=o(`定制开发服务 从开发到运营全托管,专注B2B定制开发,基于开源技术栈快速交付,提供全流程项目开发、部署运维、售后支持一体化服务。
咨询报价 有定制开发需求?我们随时为您服务。无论您需要定制开发、开源项目二次开发,还是长期的运营维护,我们都能提供高性价比的解决方案。
注意:添加企业微信或微信,请备注"咨询报价"明确来意。
`,2),i(`section`,u,[g[1]||=i(`h2`,{class:`text-[1.8rem] font-medium text-center mb-16`},`标准化交付流程`,-1),i(`div`,d,[g[0]||=i(`div`,{class:`absolute top-5 left-[5%] right-[5%] h-0.5 bg-slate-200 hidden md:block`},null,-1),(n(),s(a,null,e(h,(e,n)=>i(`div`,{key:n,class:`flex-1 min-w-[160px] text-center relative px-4 mb-8`},[i(`div`,f,t(n+1),1),i(`h4`,p,t(e.title),1),i(`p`,m,t(e.desc),1)])),64))])])])]))}});export{h as default};
\ No newline at end of file
diff --git a/TempLate/assets/QuotationView-YwrLSxmY.js b/TempLate/assets/QuotationView-YwrLSxmY.js
new file mode 100644
index 00000000..4d173aca
--- /dev/null
+++ b/TempLate/assets/QuotationView-YwrLSxmY.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,l as a,m as o,p as s}from"./index-CMhybB9x.js";var c={class:`m-0 p-0 box-border text-slate-800 font-sans leading-[1.65] font-normal antialiased`},l={class:`max-w-[85%] mx-auto my-14 px-[8%]`},u={class:`mb-32`},d={class:`flex justify-between relative px-8 flex-wrap`},f={class:`w-10 h-10 bg-slate-800 text-white rounded-full flex items-center justify-center mx-auto mb-6 text-[0.9rem] font-normal`},p={class:`text-[0.95rem] font-medium mb-4`},m={class:`text-[0.85rem] text-slate-600 leading-[1.7]`},h=r({__name:`QuotationView`,setup(r){let h=[{title:`需求沟通与评估`,desc:`深入沟通企业需求,评估技术方案与开发成本,提供详细报价与排期。`},{title:`方案设计与确认`,desc:`输出技术方案、原型设计、功能清单,确认后签订合同启动开发。`},{title:`开发与阶段性交付`,desc:`分阶段开发与交付,定期同步进度,支持中途需求微调。`},{title:`测试与上线部署`,desc:`全面功能测试、性能测试,完成后部署上线,提供操作培训。`},{title:`售后维护与迭代`,desc:`提供 7×24h 售后支持,定期系统维护,按需进行功能迭代。`}];return(r,g)=>(n(),s(`div`,c,[i(`div`,l,[g[2]||=o(`定制开发服务 从开发到运营全托管,专注B2B定制开发,基于开源技术栈快速交付,提供全流程项目开发、部署运维、售后支持一体化服务。
咨询报价 有定制开发需求?我们随时为您服务。无论您需要定制开发、开源项目二次开发,还是长期的运营维护,我们都能提供高性价比的解决方案。
注意:添加企业微信或微信,请备注"咨询报价"明确来意。
`,2),i(`section`,u,[g[1]||=i(`h2`,{class:`text-[1.8rem] font-medium text-center mb-16`},`标准化交付流程`,-1),i(`div`,d,[g[0]||=i(`div`,{class:`absolute top-5 left-[5%] right-[5%] h-0.5 bg-slate-200 hidden md:block`},null,-1),(n(),s(a,null,e(h,(e,n)=>i(`div`,{key:n,class:`flex-1 min-w-[160px] text-center relative px-4 mb-8`},[i(`div`,f,t(n+1),1),i(`h4`,p,t(e.title),1),i(`p`,m,t(e.desc),1)])),64))])])])]))}});export{h as default};
\ No newline at end of file
diff --git a/TempLate/assets/RecruitingView-DN821pHi.js b/TempLate/assets/RecruitingView-DN821pHi.js
new file mode 100644
index 00000000..0d6bcc9f
--- /dev/null
+++ b/TempLate/assets/RecruitingView-DN821pHi.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,f as a,h as o,j as s,k as c,l,m as u,p as d,t as f,u as p}from"./index-CMhybB9x.js";var m={class:`min-h-screen bg-gradient-to-br from-slate-50 via-blue-50 to-slate-50 py-20 px-4`},h={class:`flex justify-center gap-2 mb-10 flex-wrap`,id:`filter-tabs`},g=[`onClick`],_={class:`max-w-4xl mx-auto space-y-4`,id:`job-list`},ee=[`onClick`],te={class:`flex items-center gap-4`},v={class:`flex items-center gap-2 mb-1`},y={class:`text-slate-900 font-semibold text-base`},b={key:0,class:`text-xs bg-red-500/10 text-red-600 border border-red-500/20 px-2 py-0.5 rounded-full`},x={class:`flex items-center gap-3 text-slate-500 text-xs`},S={class:`flex items-center gap-6`},C={class:`text-right hidden sm:block`},w={class:`text-blue-600 font-bold text-sm`},T={key:0,class:`px-6 pb-6 border-t border-slate-200 pt-5`},E={class:`flex flex-wrap gap-2 mb-5`},D={class:`grid md:grid-cols-2 gap-6 mb-6`},O={class:`text-slate-600 text-sm leading-relaxed`},k={class:`space-y-1.5`},A={class:`flex items-center gap-3`},j=[`onClick`],M={class:`ml-auto sm:hidden text-blue-600 font-bold text-sm`},N={class:`max-w-6xl mx-auto grid grid-cols-1 md:grid-cols-2 gap-6 mb-8`,id:`benefits-grid`},P={class:`relative z-10 p-7`},F={class:`flex items-start justify-between mb-6`},I={class:`flex items-center gap-3`},ne={class:`w-12 h-12 rounded-2xl bg-slate-100 flex items-center justify-center text-2xl flex-shrink-0 border border-slate-200`},L={class:`text-slate-900 font-bold text-base leading-snug`},R={class:`text-slate-300 text-xs font-mono mt-1`},z={class:`space-y-3`},B={class:`text-base flex-shrink-0 mt-0.5 transition-transform duration-200 group-hover/item:scale-110`},V={class:`text-slate-600 text-sm leading-relaxed group-hover/item:text-slate-800 transition-colors duration-200`},H={class:`max-w-6xl mx-auto mt-6`},U={class:`relative rounded-3xl overflow-hidden border border-slate-200 bg-white p-10 text-center shadow-sm`},W={class:`relative z-10`},G={class:`flex justify-center gap-3 flex-wrap`},K=r({__name:`RecruitingView`,setup(r){let K=f(),q=[{id:1,title:`前端程序员(原生)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`JavaScript`,`HTML/CSS`,`TailwindCSS`],desc:`负责核心产品前端架构设计与开发,推动前端工程化建设,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年前端开发经验`,`熟悉原生生态`,`有大型项目架构经验优先`],hot:!0},{id:2,title:`前端程序员(React)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`React`,`JavaScript`,`HTML/CSS`],desc:`负责较边缘前端架构设计与开发,推动前端工程化建设,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年前端开发经验`,`熟悉 React 生态`,`有大型项目架构经验优先`],hot:!1},{id:3,title:`前端程序员(Node.js)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Node.js`,`JavaScript`,`HTML/CSS`],desc:`负责 Node.js 项目前端架构设计与开发,可能涉及部分桌面端应用开发,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年前端开发经验`,`熟悉 Node.js 生态`,`有大型项目架构经验优先`],hot:!0},{id:4,title:`后端程序员(Python Flask)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Python`,`Flask`,`SQLAlchemy`],desc:`负责 Python Flask 项目后端架构设计与开发,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年后端开发经验`,`熟悉 Python Flask 生态`,`有大型项目架构经验优先`],hot:!0},{id:5,title:`后端程序员(Python Django)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Python`,`Django`,`SQLAlchemy`],desc:`负责 Python Django 企业级项目后端架构设计与开发,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 4 年后端开发经验`,`熟悉 Python Django 生态`,`有大型项目架构经验优先`],hot:!0},{id:6,title:`后端程序员(C/C++)(服务器优化)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`C/C++`,`GCC`,`Makefile`,`Clang`,`AsyncIO`],desc:`负责后端项目核心设计(重写异步库,优化服务器 QPS 性能),参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 4 年后端开发经验`,`熟悉 C/C++ 生态`,`有大型项目架构经验优先`],hot:!0},{id:7,title:`程序员(C/C++/NASM)(操作系统)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`C/C++`,`Linux_ELF`,`x86_64`,`ARM`,`GCC`,`Makefile`,`Clang`,`操作系统架构设计`],desc:`负责后端项目核心设计(重写异步库,优化服务器 QPS 性能),参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年 C/C++ 开发经验`,`熟悉 C/C++ 生态`,`有大型项目架构经验优先`,`从其它类似项目跳岗优先`],hot:!0},{id:8,title:`程序员(C/C++/Python/Qt/Node.js)(桌面应用)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`C/C++`,`Python`,`Qt`,`Node.js`,`GCC`,`Makefile`,`Clang`],desc:`负责桌面端应用(如文件管理器、文本编辑器、ERP 系统、桌宠等)的前端架构设计与开发,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年 C/C++ 开发经验`,`熟悉 Qt/WebView 生态`,`有大型项目架构经验优先`],hot:!0},{id:9,title:`美术师(Photoshop/Illustrator)(UI/UX设计)`,department:`设计`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Photoshop`,`Illustrator`,`UI/UX设计`],desc:`负责设计用户界面(如应用程序、网站)的视觉元素,参与用户体验优化。`,requirements:[`14岁+`,`至少有 3 年 UI/UX 设计经验`,`熟悉 Photoshop/Illustrator 工具`],hot:!0},{id:10,title:`美术师(Photoshop/Illustrator/画世界等)(Furry 吉祥物 / 艺术插画设计)`,department:`设计`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Photoshop`,`Illustrator`,`Furry 吉祥物`,`艺术插画设计`],desc:`负责设计 Furry 吉祥物(如猫、狗、鸟、人等)的视觉元素,参与用户体验优化。`,requirements:[`14岁+`,`至少有 3 年 绘画经验(画龄)`,`熟悉 2D/3D 绘画工具(如 Photoshop、Illustrator)`,`熟悉人体解剖结构`],hot:!0},{id:11,title:`3D 建模设计师`,department:`设计`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Photoshop`,`Illustrator`,`Blender`,`3DMax`,`等`],desc:`负责使用 Blender、3DMax 等 3D 建模工具设计 游戏 的 3D 模型,参与用户体验优化。`,requirements:[`14岁+`,`至少有 3 年 3D 建模经验`,`熟悉 Blender、3DMax 等 3D 建模工具`],hot:!0},{id:12,title:`项目经理`,department:`产品`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`C/C++`,`Python`,`Node.js`,`GCC`,`Makefile`,`Clang`,`Node.js`,`Photoshop`,`Illustrator`,`Blender`,`3DMax`,`Git`,`等`],desc:`负责项目管理(需求分析、项目计划、任务分配、进度监控、风险管理),参与技术选型与方案评审。`,requirements:[`14岁+`,`至少经手过 2 个中大型项目或 10 余个小型项目`,`熟悉 Git 等版本控制工具`],hot:!0},{id:13,title:`人力资源部负责人/成员`,department:`市场`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`微信`,`企业微信`,`QQ`,`等`],desc:`负责公司人力资源管理(员工招聘、培训、发展规划、绩效评估等),能说会道能挖人,能精准选取需要或预备需要的人才,参与公司人力资源策略制定。`,requirements:[`14岁+`,`至少经手过 2 个中大型项目或 10 余个小型项目`,`熟悉 Git 等版本控制工具`],hot:!0},{id:14,title:`剪辑师`,department:`产品`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`剪辑`,`视频编辑`],desc:`负责视频剪辑(如视频编辑、视频拼接、视频剪辑等),参与视频内容创作。`,requirements:[`14岁+`,`至少有 1 年 视频剪辑经验`],hot:!0}],J=[`全部`,...Array.from(new Set(q.map(e=>e.department)))],Y=c(`全部`),X=c(null),Z=p(()=>Y.value===`全部`?q:q.filter(e=>e.department===Y.value));function re(e){Y.value=e,X.value=null}function ie(e){X.value=X.value===e?null:e}function Q(e){switch(e){case`技术`:return{bg:`bg-blue-500/10 text-blue-600`,emoji:`⚡`};case`产品`:return{bg:`bg-purple-500/10 text-purple-600`,emoji:`🧩`};case`设计`:return{bg:`bg-pink-500/10 text-pink-600`,emoji:`🎨`};case`运营`:return{bg:`bg-green-500/10 text-green-600`,emoji:`📈`};default:return{bg:`bg-orange-500/10 text-orange-600`,emoji:`📣`}}}function ae(e){K.push(`/Invite/Apply`)}function $(e){window.open(e,e.startsWith(`http`)?`_blank`:`_self`)}let oe=[{icon:`📦`,title:`成员福利`,badge:`免费申请`,badgeColor:`bg-emerald-500/10 text-emerald-600 border-emerald-500/20`,accentColor:`from-emerald-500/10 to-transparent`,borderColor:`hover:border-emerald-500/30`,glowColor:`bg-emerald-500/5`,items:[{icon:`📧`,text:`免费申请专属工作室邮箱,彰显你的身份`},{icon:`🖥️`,text:`每位成员均可申请一台免费云服务器`},{icon:`💰`,text:`表现出色?每个项目都有机会拿到专项奖金`},{icon:`💻`,text:`项目条件允许时,我们可能为你配备一台电脑`},{icon:`🎖️`,text:`贡献突出的成员将在下期视频中被点名表扬!`}]},{icon:`🕐`,title:`极其人性的作息`,badge:`弹性自由`,badgeColor:`bg-yellow-500/10 text-yellow-600 border-yellow-500/20`,accentColor:`from-yellow-500/10 to-transparent`,borderColor:`hover:border-yellow-500/30`,glowColor:`bg-yellow-500/5`,items:[{icon:`😅`,text:`说实话,作息制度……视情况而定`},{icon:`🌙`,text:`不强制打卡,不强制在线,随缘就好`},{icon:`🧘`,text:`核心宗旨只有一条:活着就行`},{icon:`☕`,text:`最重要的是心态放平,开心最重要`},{icon:`🎯`,text:`只要产出到位,过程你说了算`}]},{icon:`🏆`,title:`全国顶尖的工作室`,badge:`历史悠久`,badgeColor:`bg-blue-500/10 text-blue-600 border-blue-500/20`,accentColor:`from-blue-500/10 to-transparent`,borderColor:`hover:border-blue-500/30`,glowColor:`bg-blue-500/5`,items:[{icon:`📅`,text:`GVSDS 工作室创立于 2019 年,至今已走过数载风雨`},{icon:`🌟`,text:`历史悠久,积淀深厚,在同类工作室中首屈一指`},{icon:`🏅`,text:`工作室已取得多项卓越成就,实力有目共睹`},{icon:`🤝`,text:`加入一个有历史、有底蕴的团队,你不会后悔`},{icon:`✨`,text:`下一个被写进历史的,就是你!`}]},{icon:`🌐`,title:`丰富的资源`,badge:`8所合作`,badgeColor:`bg-purple-500/10 text-purple-600 border-purple-500/20`,accentColor:`from-purple-500/10 to-transparent`,borderColor:`hover:border-purple-500/30`,glowColor:`bg-purple-500/5`,items:[{icon:`🤝`,text:`已与全国 8 所工作室 / 社区正式达成战略合作`},{icon:`📚`,text:`海量学习资源、项目资源随时共享,应有尽有`},{icon:`🔗`,text:`跨工作室交流机会,拓宽你的视野与人脉`},{icon:`💡`,text:`多元化资源加持,让你的创意不再受限`},{icon:`🚀`,text:`来这里,体验全网最丰富的成员资源体系`}]}];return(r,c)=>(n(),d(`div`,m,[c[11]||=u(` 我们正在招募优秀人才
招贤 纳士 加入我们,与一群有理想、有激情的伙伴共同构建项目
`,2),i(`div`,h,[(n(),d(l,null,e(J,e=>i(`button`,{key:e,class:s([`px-5 py-2 rounded-full border text-sm font-medium transition-all duration-200 cursor-pointer`,Y.value===e?`bg-blue-500 text-white border-blue-500`:`bg-transparent text-slate-700 border-slate-200 hover:border-slate-400 hover:text-slate-900`]),onClick:t=>re(e)},t(e),11,g)),64))]),i(`div`,_,[(n(!0),d(l,null,e(Z.value,r=>(n(),d(`div`,{key:r.id,class:s([`group bg-white border rounded-2xl overflow-hidden transition-all duration-300 shadow-sm`,X.value===r.id?`border-blue-500/50`:`border-slate-200 hover:border-slate-300`])},[i(`div`,{class:`flex items-center justify-between p-6 cursor-pointer`,onClick:e=>ie(r.id)},[i(`div`,te,[i(`div`,{class:s([`w-11 h-11 rounded-xl flex items-center justify-center text-lg flex-shrink-0`,Q(r.department).bg])},t(Q(r.department).emoji),3),i(`div`,null,[i(`div`,v,[i(`span`,y,t(r.title),1),r.hot?(n(),d(`span`,b,`热招`)):a(``,!0)]),i(`div`,x,[i(`span`,null,`📍 `+t(r.location),1),i(`span`,null,`🏷 `+t(r.department),1),i(`span`,null,`⏱ `+t(r.type),1)])])]),i(`div`,S,[i(`div`,C,[i(`div`,w,t(r.salary),1),c[2]||=i(`div`,{class:`text-slate-400 text-xs`},`月薪`,-1)]),i(`div`,{class:s([`w-8 h-8 rounded-lg bg-slate-100 flex items-center justify-center transition-transform duration-300`,X.value===r.id?`rotate-180`:``])},[...c[3]||=[i(`svg`,{class:`w-4 h-4 text-slate-600`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M19 9l-7 7-7-7`})],-1)]],2)])],8,ee),X.value===r.id?(n(),d(`div`,T,[i(`div`,E,[(n(!0),d(l,null,e(r.tags,e=>(n(),d(`span`,{key:e,class:`text-xs bg-slate-100 text-slate-700 px-3 py-1 rounded-md border border-slate-200`},t(e),1))),128))]),i(`div`,D,[i(`div`,null,[c[4]||=i(`h4`,{class:`text-slate-800 font-medium text-sm mb-2 flex items-center gap-1.5`},[i(`span`,{class:`w-1 h-3.5 bg-blue-500 rounded-full inline-block`}),o(`岗位描述`)],-1),i(`p`,O,t(r.desc),1)]),i(`div`,null,[c[6]||=i(`h4`,{class:`text-slate-800 font-medium text-sm mb-2 flex items-center gap-1.5`},[i(`span`,{class:`w-1 h-3.5 bg-cyan-500 rounded-full inline-block`}),o(`任职要求`)],-1),i(`ul`,k,[(n(!0),d(l,null,e(r.requirements,e=>(n(),d(`li`,{key:e,class:`text-slate-600 text-sm flex items-start gap-2`},[c[5]||=i(`span`,{class:`text-cyan-600 mt-0.5 flex-shrink-0`},`✓`,-1),o(t(e),1)]))),128))])])]),i(`div`,A,[i(`button`,{class:`bg-gradient-to-r from-blue-500 to-cyan-500 hover:from-blue-600 hover:to-cyan-600 text-white text-sm font-medium px-6 py-2.5 rounded-lg transition-all duration-200 cursor-pointer`,onClick:e=>ae(r)},`立即申请`,8,j),c[8]||=i(`button`,{class:`border border-slate-200 hover:border-slate-400 text-slate-700 hover:text-slate-900 text-sm px-5 py-2.5 rounded-lg transition-all duration-200 cursor-pointer`},`转发给朋友`,-1),i(`div`,M,[o(t(r.salary),1),c[7]||=i(`span`,{class:`text-slate-400 text-xs font-normal`},` /月`,-1)])])])):a(``,!0)],2))),128))]),c[12]||=u(` 为什么选择我们
加入我们, 能获得什么 我们相信每一位成员都值得被看见、被支持、被表扬
`,1),i(`div`,N,[(n(),d(l,null,e(oe,(r,a)=>i(`div`,{key:r.title,class:s([`group relative rounded-2xl border border-slate-200 bg-white overflow-hidden transition-all duration-300 hover:-translate-y-1 hover:shadow-md hover:shadow-slate-100`,r.borderColor])},[i(`div`,{class:s([`absolute top-0 left-0 right-0 h-px bg-gradient-to-r`,r.accentColor])},null,2),i(`div`,{class:s([`absolute inset-0 opacity-0 group-hover:opacity-100 transition-opacity duration-500 pointer-events-none`,r.glowColor])},null,2),i(`div`,P,[i(`div`,F,[i(`div`,I,[i(`div`,ne,t(r.icon),1),i(`div`,null,[i(`h3`,L,t(r.title),1),i(`span`,{class:s([`inline-block mt-1 text-xs border px-2.5 py-0.5 rounded-full`,r.badgeColor])},t(r.badge),3)])]),i(`span`,R,`0`+t(a+1),1)]),i(`ul`,z,[(n(!0),d(l,null,e(r.items,e=>(n(),d(`li`,{key:e.text,class:`flex items-start gap-3 group/item`},[i(`span`,B,t(e.icon),1),i(`span`,V,t(e.text),1)]))),128))])])],2)),64))]),i(`div`,H,[i(`div`,U,[c[10]||=i(`div`,{class:`absolute inset-0 pointer-events-none`},[i(`div`,{class:`absolute -top-20 left-1/2 -translate-x-1/2 w-96 h-40 bg-blue-500/5 rounded-full blur-3xl`}),i(`div`,{class:`absolute -bottom-10 left-1/4 w-64 h-32 bg-emerald-500/5 rounded-full blur-3xl`}),i(`div`,{class:`absolute -bottom-10 right-1/4 w-64 h-32 bg-cyan-500/5 rounded-full blur-3xl`})],-1),i(`div`,W,[c[9]||=u(`🚀
还在等什么? GVSDS 工作室欢迎每一位有想法、有热情的你。 不论你是前端、后端、设计还是运营,这里都有你的位置。
`,4),i(`div`,G,[i(`button`,{class:`bg-gradient-to-r from-emerald-500 to-cyan-500 hover:from-emerald-600 hover:to-cyan-600 text-white font-medium px-8 py-3 rounded-xl transition-all duration-200 text-sm shadow-md shadow-emerald-500/10 cursor-pointer`,onClick:c[0]||=e=>$(`mailto:hr@gvsds.com`)},` 立即加入我们 `),i(`button`,{class:`border border-slate-200 hover:border-slate-400 text-slate-700 hover:text-slate-900 px-8 py-3 rounded-xl transition-all duration-200 text-sm cursor-pointer`,onClick:c[1]||=e=>$(`https://www.gvsds.com/`)},` 了解更多 `)])])])])]))}});export{K as default};
\ No newline at end of file
diff --git a/TempLate/assets/RecruitingView-DS4oAQGv.js b/TempLate/assets/RecruitingView-DS4oAQGv.js
new file mode 100644
index 00000000..87bce621
--- /dev/null
+++ b/TempLate/assets/RecruitingView-DS4oAQGv.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,f as a,h as o,j as s,k as c,l,m as u,p as d,t as f,u as p}from"./index-BM-LFFI_.js";var m={class:`min-h-screen bg-gradient-to-br from-slate-50 via-blue-50 to-slate-50 py-20 px-4`},h={class:`flex justify-center gap-2 mb-10 flex-wrap`,id:`filter-tabs`},g=[`onClick`],_={class:`max-w-4xl mx-auto space-y-4`,id:`job-list`},ee=[`onClick`],te={class:`flex items-center gap-4`},v={class:`flex items-center gap-2 mb-1`},y={class:`text-slate-900 font-semibold text-base`},b={key:0,class:`text-xs bg-red-500/10 text-red-600 border border-red-500/20 px-2 py-0.5 rounded-full`},x={class:`flex items-center gap-3 text-slate-500 text-xs`},S={class:`flex items-center gap-6`},C={class:`text-right hidden sm:block`},w={class:`text-blue-600 font-bold text-sm`},T={key:0,class:`px-6 pb-6 border-t border-slate-200 pt-5`},E={class:`flex flex-wrap gap-2 mb-5`},D={class:`grid md:grid-cols-2 gap-6 mb-6`},O={class:`text-slate-600 text-sm leading-relaxed`},k={class:`space-y-1.5`},A={class:`flex items-center gap-3`},j=[`onClick`],M={class:`ml-auto sm:hidden text-blue-600 font-bold text-sm`},N={class:`max-w-6xl mx-auto grid grid-cols-1 md:grid-cols-2 gap-6 mb-8`,id:`benefits-grid`},P={class:`relative z-10 p-7`},F={class:`flex items-start justify-between mb-6`},I={class:`flex items-center gap-3`},ne={class:`w-12 h-12 rounded-2xl bg-slate-100 flex items-center justify-center text-2xl flex-shrink-0 border border-slate-200`},L={class:`text-slate-900 font-bold text-base leading-snug`},R={class:`text-slate-300 text-xs font-mono mt-1`},z={class:`space-y-3`},B={class:`text-base flex-shrink-0 mt-0.5 transition-transform duration-200 group-hover/item:scale-110`},V={class:`text-slate-600 text-sm leading-relaxed group-hover/item:text-slate-800 transition-colors duration-200`},H={class:`max-w-6xl mx-auto mt-6`},U={class:`relative rounded-3xl overflow-hidden border border-slate-200 bg-white p-10 text-center shadow-sm`},W={class:`relative z-10`},G={class:`flex justify-center gap-3 flex-wrap`},K=r({__name:`RecruitingView`,setup(r){let K=f(),q=[{id:1,title:`前端程序员(原生)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`JavaScript`,`HTML/CSS`,`TailwindCSS`],desc:`负责核心产品前端架构设计与开发,推动前端工程化建设,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年前端开发经验`,`熟悉原生生态`,`有大型项目架构经验优先`],hot:!0},{id:2,title:`前端程序员(React)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`React`,`JavaScript`,`HTML/CSS`],desc:`负责较边缘前端架构设计与开发,推动前端工程化建设,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年前端开发经验`,`熟悉 React 生态`,`有大型项目架构经验优先`],hot:!1},{id:3,title:`前端程序员(Node.js)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Node.js`,`JavaScript`,`HTML/CSS`],desc:`负责 Node.js 项目前端架构设计与开发,可能涉及部分桌面端应用开发,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年前端开发经验`,`熟悉 Node.js 生态`,`有大型项目架构经验优先`],hot:!0},{id:4,title:`后端程序员(Python Flask)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Python`,`Flask`,`SQLAlchemy`],desc:`负责 Python Flask 项目后端架构设计与开发,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年后端开发经验`,`熟悉 Python Flask 生态`,`有大型项目架构经验优先`],hot:!0},{id:5,title:`后端程序员(Python Django)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Python`,`Django`,`SQLAlchemy`],desc:`负责 Python Django 企业级项目后端架构设计与开发,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 4 年后端开发经验`,`熟悉 Python Django 生态`,`有大型项目架构经验优先`],hot:!0},{id:6,title:`后端程序员(C/C++)(服务器优化)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`C/C++`,`GCC`,`Makefile`,`Clang`,`AsyncIO`],desc:`负责后端项目核心设计(重写异步库,优化服务器 QPS 性能),参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 4 年后端开发经验`,`熟悉 C/C++ 生态`,`有大型项目架构经验优先`],hot:!0},{id:7,title:`程序员(C/C++/NASM)(操作系统)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`C/C++`,`Linux_ELF`,`x86_64`,`ARM`,`GCC`,`Makefile`,`Clang`,`操作系统架构设计`],desc:`负责后端项目核心设计(重写异步库,优化服务器 QPS 性能),参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年 C/C++ 开发经验`,`熟悉 C/C++ 生态`,`有大型项目架构经验优先`,`从其它类似项目跳岗优先`],hot:!0},{id:8,title:`程序员(C/C++/Python/Qt/Node.js)(桌面应用)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`C/C++`,`Python`,`Qt`,`Node.js`,`GCC`,`Makefile`,`Clang`],desc:`负责桌面端应用(如文件管理器、文本编辑器、ERP 系统、桌宠等)的前端架构设计与开发,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年 C/C++ 开发经验`,`熟悉 Qt/WebView 生态`,`有大型项目架构经验优先`],hot:!0},{id:9,title:`美术师(Photoshop/Illustrator)(UI/UX设计)`,department:`设计`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Photoshop`,`Illustrator`,`UI/UX设计`],desc:`负责设计用户界面(如应用程序、网站)的视觉元素,参与用户体验优化。`,requirements:[`14岁+`,`至少有 3 年 UI/UX 设计经验`,`熟悉 Photoshop/Illustrator 工具`],hot:!0},{id:10,title:`美术师(Photoshop/Illustrator/画世界等)(Furry 吉祥物 / 艺术插画设计)`,department:`设计`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Photoshop`,`Illustrator`,`Furry 吉祥物`,`艺术插画设计`],desc:`负责设计 Furry 吉祥物(如猫、狗、鸟、人等)的视觉元素,参与用户体验优化。`,requirements:[`14岁+`,`至少有 3 年 绘画经验(画龄)`,`熟悉 2D/3D 绘画工具(如 Photoshop、Illustrator)`,`熟悉人体解剖结构`],hot:!0},{id:11,title:`3D 建模设计师`,department:`设计`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Photoshop`,`Illustrator`,`Blender`,`3DMax`,`等`],desc:`负责使用 Blender、3DMax 等 3D 建模工具设计 游戏 的 3D 模型,参与用户体验优化。`,requirements:[`14岁+`,`至少有 3 年 3D 建模经验`,`熟悉 Blender、3DMax 等 3D 建模工具`],hot:!0},{id:12,title:`项目经理`,department:`产品`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`C/C++`,`Python`,`Node.js`,`GCC`,`Makefile`,`Clang`,`Node.js`,`Photoshop`,`Illustrator`,`Blender`,`3DMax`,`Git`,`等`],desc:`负责项目管理(需求分析、项目计划、任务分配、进度监控、风险管理),参与技术选型与方案评审。`,requirements:[`14岁+`,`至少经手过 2 个中大型项目或 10 余个小型项目`,`熟悉 Git 等版本控制工具`],hot:!0},{id:13,title:`人力资源部负责人/成员`,department:`市场`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`微信`,`企业微信`,`QQ`,`等`],desc:`负责公司人力资源管理(员工招聘、培训、发展规划、绩效评估等),能说会道能挖人,能精准选取需要或预备需要的人才,参与公司人力资源策略制定。`,requirements:[`14岁+`,`至少经手过 2 个中大型项目或 10 余个小型项目`,`熟悉 Git 等版本控制工具`],hot:!0},{id:14,title:`剪辑师`,department:`产品`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`剪辑`,`视频编辑`],desc:`负责视频剪辑(如视频编辑、视频拼接、视频剪辑等),参与视频内容创作。`,requirements:[`14岁+`,`至少有 1 年 视频剪辑经验`],hot:!0}],J=[`全部`,...Array.from(new Set(q.map(e=>e.department)))],Y=c(`全部`),X=c(null),Z=p(()=>Y.value===`全部`?q:q.filter(e=>e.department===Y.value));function re(e){Y.value=e,X.value=null}function ie(e){X.value=X.value===e?null:e}function Q(e){switch(e){case`技术`:return{bg:`bg-blue-500/10 text-blue-600`,emoji:`⚡`};case`产品`:return{bg:`bg-purple-500/10 text-purple-600`,emoji:`🧩`};case`设计`:return{bg:`bg-pink-500/10 text-pink-600`,emoji:`🎨`};case`运营`:return{bg:`bg-green-500/10 text-green-600`,emoji:`📈`};default:return{bg:`bg-orange-500/10 text-orange-600`,emoji:`📣`}}}function ae(e){K.push(`/Invite/Apply`)}function $(e){window.open(e,e.startsWith(`http`)?`_blank`:`_self`)}let oe=[{icon:`📦`,title:`成员福利`,badge:`免费申请`,badgeColor:`bg-emerald-500/10 text-emerald-600 border-emerald-500/20`,accentColor:`from-emerald-500/10 to-transparent`,borderColor:`hover:border-emerald-500/30`,glowColor:`bg-emerald-500/5`,items:[{icon:`📧`,text:`免费申请专属工作室邮箱,彰显你的身份`},{icon:`🖥️`,text:`每位成员均可申请一台免费云服务器`},{icon:`💰`,text:`表现出色?每个项目都有机会拿到专项奖金`},{icon:`💻`,text:`项目条件允许时,我们可能为你配备一台电脑`},{icon:`🎖️`,text:`贡献突出的成员将在下期视频中被点名表扬!`}]},{icon:`🕐`,title:`极其人性的作息`,badge:`弹性自由`,badgeColor:`bg-yellow-500/10 text-yellow-600 border-yellow-500/20`,accentColor:`from-yellow-500/10 to-transparent`,borderColor:`hover:border-yellow-500/30`,glowColor:`bg-yellow-500/5`,items:[{icon:`😅`,text:`说实话,作息制度……视情况而定`},{icon:`🌙`,text:`不强制打卡,不强制在线,随缘就好`},{icon:`🧘`,text:`核心宗旨只有一条:活着就行`},{icon:`☕`,text:`最重要的是心态放平,开心最重要`},{icon:`🎯`,text:`只要产出到位,过程你说了算`}]},{icon:`🏆`,title:`全国顶尖的工作室`,badge:`历史悠久`,badgeColor:`bg-blue-500/10 text-blue-600 border-blue-500/20`,accentColor:`from-blue-500/10 to-transparent`,borderColor:`hover:border-blue-500/30`,glowColor:`bg-blue-500/5`,items:[{icon:`📅`,text:`GVSDS 工作室创立于 2019 年,至今已走过数载风雨`},{icon:`🌟`,text:`历史悠久,积淀深厚,在同类工作室中首屈一指`},{icon:`🏅`,text:`工作室已取得多项卓越成就,实力有目共睹`},{icon:`🤝`,text:`加入一个有历史、有底蕴的团队,你不会后悔`},{icon:`✨`,text:`下一个被写进历史的,就是你!`}]},{icon:`🌐`,title:`丰富的资源`,badge:`8所合作`,badgeColor:`bg-purple-500/10 text-purple-600 border-purple-500/20`,accentColor:`from-purple-500/10 to-transparent`,borderColor:`hover:border-purple-500/30`,glowColor:`bg-purple-500/5`,items:[{icon:`🤝`,text:`已与全国 8 所工作室 / 社区正式达成战略合作`},{icon:`📚`,text:`海量学习资源、项目资源随时共享,应有尽有`},{icon:`🔗`,text:`跨工作室交流机会,拓宽你的视野与人脉`},{icon:`💡`,text:`多元化资源加持,让你的创意不再受限`},{icon:`🚀`,text:`来这里,体验全网最丰富的成员资源体系`}]}];return(r,c)=>(n(),d(`div`,m,[c[11]||=u(` 我们正在招募优秀人才
招贤 纳士 加入我们,与一群有理想、有激情的伙伴共同构建项目
`,2),i(`div`,h,[(n(),d(l,null,e(J,e=>i(`button`,{key:e,class:s([`px-5 py-2 rounded-full border text-sm font-medium transition-all duration-200 cursor-pointer`,Y.value===e?`bg-blue-500 text-white border-blue-500`:`bg-transparent text-slate-700 border-slate-200 hover:border-slate-400 hover:text-slate-900`]),onClick:t=>re(e)},t(e),11,g)),64))]),i(`div`,_,[(n(!0),d(l,null,e(Z.value,r=>(n(),d(`div`,{key:r.id,class:s([`group bg-white border rounded-2xl overflow-hidden transition-all duration-300 shadow-sm`,X.value===r.id?`border-blue-500/50`:`border-slate-200 hover:border-slate-300`])},[i(`div`,{class:`flex items-center justify-between p-6 cursor-pointer`,onClick:e=>ie(r.id)},[i(`div`,te,[i(`div`,{class:s([`w-11 h-11 rounded-xl flex items-center justify-center text-lg flex-shrink-0`,Q(r.department).bg])},t(Q(r.department).emoji),3),i(`div`,null,[i(`div`,v,[i(`span`,y,t(r.title),1),r.hot?(n(),d(`span`,b,`热招`)):a(``,!0)]),i(`div`,x,[i(`span`,null,`📍 `+t(r.location),1),i(`span`,null,`🏷 `+t(r.department),1),i(`span`,null,`⏱ `+t(r.type),1)])])]),i(`div`,S,[i(`div`,C,[i(`div`,w,t(r.salary),1),c[2]||=i(`div`,{class:`text-slate-400 text-xs`},`月薪`,-1)]),i(`div`,{class:s([`w-8 h-8 rounded-lg bg-slate-100 flex items-center justify-center transition-transform duration-300`,X.value===r.id?`rotate-180`:``])},[...c[3]||=[i(`svg`,{class:`w-4 h-4 text-slate-600`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M19 9l-7 7-7-7`})],-1)]],2)])],8,ee),X.value===r.id?(n(),d(`div`,T,[i(`div`,E,[(n(!0),d(l,null,e(r.tags,e=>(n(),d(`span`,{key:e,class:`text-xs bg-slate-100 text-slate-700 px-3 py-1 rounded-md border border-slate-200`},t(e),1))),128))]),i(`div`,D,[i(`div`,null,[c[4]||=i(`h4`,{class:`text-slate-800 font-medium text-sm mb-2 flex items-center gap-1.5`},[i(`span`,{class:`w-1 h-3.5 bg-blue-500 rounded-full inline-block`}),o(`岗位描述`)],-1),i(`p`,O,t(r.desc),1)]),i(`div`,null,[c[6]||=i(`h4`,{class:`text-slate-800 font-medium text-sm mb-2 flex items-center gap-1.5`},[i(`span`,{class:`w-1 h-3.5 bg-cyan-500 rounded-full inline-block`}),o(`任职要求`)],-1),i(`ul`,k,[(n(!0),d(l,null,e(r.requirements,e=>(n(),d(`li`,{key:e,class:`text-slate-600 text-sm flex items-start gap-2`},[c[5]||=i(`span`,{class:`text-cyan-600 mt-0.5 flex-shrink-0`},`✓`,-1),o(t(e),1)]))),128))])])]),i(`div`,A,[i(`button`,{class:`bg-gradient-to-r from-blue-500 to-cyan-500 hover:from-blue-600 hover:to-cyan-600 text-white text-sm font-medium px-6 py-2.5 rounded-lg transition-all duration-200 cursor-pointer`,onClick:e=>ae(r)},`立即申请`,8,j),c[8]||=i(`button`,{class:`border border-slate-200 hover:border-slate-400 text-slate-700 hover:text-slate-900 text-sm px-5 py-2.5 rounded-lg transition-all duration-200 cursor-pointer`},`转发给朋友`,-1),i(`div`,M,[o(t(r.salary),1),c[7]||=i(`span`,{class:`text-slate-400 text-xs font-normal`},` /月`,-1)])])])):a(``,!0)],2))),128))]),c[12]||=u(` 为什么选择我们
加入我们, 能获得什么 我们相信每一位成员都值得被看见、被支持、被表扬
`,1),i(`div`,N,[(n(),d(l,null,e(oe,(r,a)=>i(`div`,{key:r.title,class:s([`group relative rounded-2xl border border-slate-200 bg-white overflow-hidden transition-all duration-300 hover:-translate-y-1 hover:shadow-md hover:shadow-slate-100`,r.borderColor])},[i(`div`,{class:s([`absolute top-0 left-0 right-0 h-px bg-gradient-to-r`,r.accentColor])},null,2),i(`div`,{class:s([`absolute inset-0 opacity-0 group-hover:opacity-100 transition-opacity duration-500 pointer-events-none`,r.glowColor])},null,2),i(`div`,P,[i(`div`,F,[i(`div`,I,[i(`div`,ne,t(r.icon),1),i(`div`,null,[i(`h3`,L,t(r.title),1),i(`span`,{class:s([`inline-block mt-1 text-xs border px-2.5 py-0.5 rounded-full`,r.badgeColor])},t(r.badge),3)])]),i(`span`,R,`0`+t(a+1),1)]),i(`ul`,z,[(n(!0),d(l,null,e(r.items,e=>(n(),d(`li`,{key:e.text,class:`flex items-start gap-3 group/item`},[i(`span`,B,t(e.icon),1),i(`span`,V,t(e.text),1)]))),128))])])],2)),64))]),i(`div`,H,[i(`div`,U,[c[10]||=i(`div`,{class:`absolute inset-0 pointer-events-none`},[i(`div`,{class:`absolute -top-20 left-1/2 -translate-x-1/2 w-96 h-40 bg-blue-500/5 rounded-full blur-3xl`}),i(`div`,{class:`absolute -bottom-10 left-1/4 w-64 h-32 bg-emerald-500/5 rounded-full blur-3xl`}),i(`div`,{class:`absolute -bottom-10 right-1/4 w-64 h-32 bg-cyan-500/5 rounded-full blur-3xl`})],-1),i(`div`,W,[c[9]||=u(`🚀
还在等什么? GVSDS 工作室欢迎每一位有想法、有热情的你。 不论你是前端、后端、设计还是运营,这里都有你的位置。
`,4),i(`div`,G,[i(`button`,{class:`bg-gradient-to-r from-emerald-500 to-cyan-500 hover:from-emerald-600 hover:to-cyan-600 text-white font-medium px-8 py-3 rounded-xl transition-all duration-200 text-sm shadow-md shadow-emerald-500/10 cursor-pointer`,onClick:c[0]||=e=>$(`mailto:hr@gvsds.com`)},` 立即加入我们 `),i(`button`,{class:`border border-slate-200 hover:border-slate-400 text-slate-700 hover:text-slate-900 px-8 py-3 rounded-xl transition-all duration-200 text-sm cursor-pointer`,onClick:c[1]||=e=>$(`https://www.gvsds.com/`)},` 了解更多 `)])])])])]))}});export{K as default};
\ No newline at end of file
diff --git a/TempLate/assets/RecruitingView-DhTvwdxu.js b/TempLate/assets/RecruitingView-DhTvwdxu.js
new file mode 100644
index 00000000..30be55c2
--- /dev/null
+++ b/TempLate/assets/RecruitingView-DhTvwdxu.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,f as a,h as o,j as s,k as c,l,m as u,p as d,t as f,u as p}from"./index-PMfCvoYM.js";var m={class:`min-h-screen bg-gradient-to-br from-slate-50 via-blue-50 to-slate-50 py-20 px-4`},h={class:`flex justify-center gap-2 mb-10 flex-wrap`,id:`filter-tabs`},g=[`onClick`],_={class:`max-w-4xl mx-auto space-y-4`,id:`job-list`},ee=[`onClick`],te={class:`flex items-center gap-4`},v={class:`flex items-center gap-2 mb-1`},y={class:`text-slate-900 font-semibold text-base`},b={key:0,class:`text-xs bg-red-500/10 text-red-600 border border-red-500/20 px-2 py-0.5 rounded-full`},x={class:`flex items-center gap-3 text-slate-500 text-xs`},S={class:`flex items-center gap-6`},C={class:`text-right hidden sm:block`},w={class:`text-blue-600 font-bold text-sm`},T={key:0,class:`px-6 pb-6 border-t border-slate-200 pt-5`},E={class:`flex flex-wrap gap-2 mb-5`},D={class:`grid md:grid-cols-2 gap-6 mb-6`},O={class:`text-slate-600 text-sm leading-relaxed`},k={class:`space-y-1.5`},A={class:`flex items-center gap-3`},j=[`onClick`],M={class:`ml-auto sm:hidden text-blue-600 font-bold text-sm`},N={class:`max-w-6xl mx-auto grid grid-cols-1 md:grid-cols-2 gap-6 mb-8`,id:`benefits-grid`},P={class:`relative z-10 p-7`},F={class:`flex items-start justify-between mb-6`},I={class:`flex items-center gap-3`},ne={class:`w-12 h-12 rounded-2xl bg-slate-100 flex items-center justify-center text-2xl flex-shrink-0 border border-slate-200`},L={class:`text-slate-900 font-bold text-base leading-snug`},R={class:`text-slate-300 text-xs font-mono mt-1`},z={class:`space-y-3`},B={class:`text-base flex-shrink-0 mt-0.5 transition-transform duration-200 group-hover/item:scale-110`},V={class:`text-slate-600 text-sm leading-relaxed group-hover/item:text-slate-800 transition-colors duration-200`},H={class:`max-w-6xl mx-auto mt-6`},U={class:`relative rounded-3xl overflow-hidden border border-slate-200 bg-white p-10 text-center shadow-sm`},W={class:`relative z-10`},G={class:`flex justify-center gap-3 flex-wrap`},K=r({__name:`RecruitingView`,setup(r){let K=f(),q=[{id:1,title:`前端程序员(原生)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`JavaScript`,`HTML/CSS`,`TailwindCSS`],desc:`负责核心产品前端架构设计与开发,推动前端工程化建设,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年前端开发经验`,`熟悉原生生态`,`有大型项目架构经验优先`],hot:!0},{id:2,title:`前端程序员(React)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`React`,`JavaScript`,`HTML/CSS`],desc:`负责较边缘前端架构设计与开发,推动前端工程化建设,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年前端开发经验`,`熟悉 React 生态`,`有大型项目架构经验优先`],hot:!1},{id:3,title:`前端程序员(Node.js)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Node.js`,`JavaScript`,`HTML/CSS`],desc:`负责 Node.js 项目前端架构设计与开发,可能涉及部分桌面端应用开发,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年前端开发经验`,`熟悉 Node.js 生态`,`有大型项目架构经验优先`],hot:!0},{id:4,title:`后端程序员(Python Flask)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Python`,`Flask`,`SQLAlchemy`],desc:`负责 Python Flask 项目后端架构设计与开发,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年后端开发经验`,`熟悉 Python Flask 生态`,`有大型项目架构经验优先`],hot:!0},{id:5,title:`后端程序员(Python Django)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Python`,`Django`,`SQLAlchemy`],desc:`负责 Python Django 企业级项目后端架构设计与开发,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 4 年后端开发经验`,`熟悉 Python Django 生态`,`有大型项目架构经验优先`],hot:!0},{id:6,title:`后端程序员(C/C++)(服务器优化)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`C/C++`,`GCC`,`Makefile`,`Clang`,`AsyncIO`],desc:`负责后端项目核心设计(重写异步库,优化服务器 QPS 性能),参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 4 年后端开发经验`,`熟悉 C/C++ 生态`,`有大型项目架构经验优先`],hot:!0},{id:7,title:`程序员(C/C++/NASM)(操作系统)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`C/C++`,`Linux_ELF`,`x86_64`,`ARM`,`GCC`,`Makefile`,`Clang`,`操作系统架构设计`],desc:`负责后端项目核心设计(重写异步库,优化服务器 QPS 性能),参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年 C/C++ 开发经验`,`熟悉 C/C++ 生态`,`有大型项目架构经验优先`,`从其它类似项目跳岗优先`],hot:!0},{id:8,title:`程序员(C/C++/Python/Qt/Node.js)(桌面应用)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`C/C++`,`Python`,`Qt`,`Node.js`,`GCC`,`Makefile`,`Clang`],desc:`负责桌面端应用(如文件管理器、文本编辑器、ERP 系统、桌宠等)的前端架构设计与开发,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年 C/C++ 开发经验`,`熟悉 Qt/WebView 生态`,`有大型项目架构经验优先`],hot:!0},{id:9,title:`美术师(Photoshop/Illustrator)(UI/UX设计)`,department:`设计`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Photoshop`,`Illustrator`,`UI/UX设计`],desc:`负责设计用户界面(如应用程序、网站)的视觉元素,参与用户体验优化。`,requirements:[`14岁+`,`至少有 3 年 UI/UX 设计经验`,`熟悉 Photoshop/Illustrator 工具`],hot:!0},{id:10,title:`美术师(Photoshop/Illustrator/画世界等)(Furry 吉祥物 / 艺术插画设计)`,department:`设计`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Photoshop`,`Illustrator`,`Furry 吉祥物`,`艺术插画设计`],desc:`负责设计 Furry 吉祥物(如猫、狗、鸟、人等)的视觉元素,参与用户体验优化。`,requirements:[`14岁+`,`至少有 3 年 绘画经验(画龄)`,`熟悉 2D/3D 绘画工具(如 Photoshop、Illustrator)`,`熟悉人体解剖结构`],hot:!0},{id:11,title:`3D 建模设计师`,department:`设计`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Photoshop`,`Illustrator`,`Blender`,`3DMax`,`等`],desc:`负责使用 Blender、3DMax 等 3D 建模工具设计 游戏 的 3D 模型,参与用户体验优化。`,requirements:[`14岁+`,`至少有 3 年 3D 建模经验`,`熟悉 Blender、3DMax 等 3D 建模工具`],hot:!0},{id:12,title:`项目经理`,department:`产品`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`C/C++`,`Python`,`Node.js`,`GCC`,`Makefile`,`Clang`,`Node.js`,`Photoshop`,`Illustrator`,`Blender`,`3DMax`,`Git`,`等`],desc:`负责项目管理(需求分析、项目计划、任务分配、进度监控、风险管理),参与技术选型与方案评审。`,requirements:[`14岁+`,`至少经手过 2 个中大型项目或 10 余个小型项目`,`熟悉 Git 等版本控制工具`],hot:!0},{id:13,title:`人力资源部负责人/成员`,department:`市场`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`微信`,`企业微信`,`QQ`,`等`],desc:`负责公司人力资源管理(员工招聘、培训、发展规划、绩效评估等),能说会道能挖人,能精准选取需要或预备需要的人才,参与公司人力资源策略制定。`,requirements:[`14岁+`,`至少经手过 2 个中大型项目或 10 余个小型项目`,`熟悉 Git 等版本控制工具`],hot:!0},{id:14,title:`剪辑师`,department:`产品`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`剪辑`,`视频编辑`],desc:`负责视频剪辑(如视频编辑、视频拼接、视频剪辑等),参与视频内容创作。`,requirements:[`14岁+`,`至少有 1 年 视频剪辑经验`],hot:!0}],J=[`全部`,...Array.from(new Set(q.map(e=>e.department)))],Y=c(`全部`),X=c(null),Z=p(()=>Y.value===`全部`?q:q.filter(e=>e.department===Y.value));function re(e){Y.value=e,X.value=null}function ie(e){X.value=X.value===e?null:e}function Q(e){switch(e){case`技术`:return{bg:`bg-blue-500/10 text-blue-600`,emoji:`⚡`};case`产品`:return{bg:`bg-purple-500/10 text-purple-600`,emoji:`🧩`};case`设计`:return{bg:`bg-pink-500/10 text-pink-600`,emoji:`🎨`};case`运营`:return{bg:`bg-green-500/10 text-green-600`,emoji:`📈`};default:return{bg:`bg-orange-500/10 text-orange-600`,emoji:`📣`}}}function ae(e){K.push(`/Invite/Apply`)}function $(e){window.open(e,e.startsWith(`http`)?`_blank`:`_self`)}let oe=[{icon:`📦`,title:`成员福利`,badge:`免费申请`,badgeColor:`bg-emerald-500/10 text-emerald-600 border-emerald-500/20`,accentColor:`from-emerald-500/10 to-transparent`,borderColor:`hover:border-emerald-500/30`,glowColor:`bg-emerald-500/5`,items:[{icon:`📧`,text:`免费申请专属工作室邮箱,彰显你的身份`},{icon:`🖥️`,text:`每位成员均可申请一台免费云服务器`},{icon:`💰`,text:`表现出色?每个项目都有机会拿到专项奖金`},{icon:`💻`,text:`项目条件允许时,我们可能为你配备一台电脑`},{icon:`🎖️`,text:`贡献突出的成员将在下期视频中被点名表扬!`}]},{icon:`🕐`,title:`极其人性的作息`,badge:`弹性自由`,badgeColor:`bg-yellow-500/10 text-yellow-600 border-yellow-500/20`,accentColor:`from-yellow-500/10 to-transparent`,borderColor:`hover:border-yellow-500/30`,glowColor:`bg-yellow-500/5`,items:[{icon:`😅`,text:`说实话,作息制度……视情况而定`},{icon:`🌙`,text:`不强制打卡,不强制在线,随缘就好`},{icon:`🧘`,text:`核心宗旨只有一条:活着就行`},{icon:`☕`,text:`最重要的是心态放平,开心最重要`},{icon:`🎯`,text:`只要产出到位,过程你说了算`}]},{icon:`🏆`,title:`全国顶尖的工作室`,badge:`历史悠久`,badgeColor:`bg-blue-500/10 text-blue-600 border-blue-500/20`,accentColor:`from-blue-500/10 to-transparent`,borderColor:`hover:border-blue-500/30`,glowColor:`bg-blue-500/5`,items:[{icon:`📅`,text:`GVSDS 工作室创立于 2019 年,至今已走过数载风雨`},{icon:`🌟`,text:`历史悠久,积淀深厚,在同类工作室中首屈一指`},{icon:`🏅`,text:`工作室已取得多项卓越成就,实力有目共睹`},{icon:`🤝`,text:`加入一个有历史、有底蕴的团队,你不会后悔`},{icon:`✨`,text:`下一个被写进历史的,就是你!`}]},{icon:`🌐`,title:`丰富的资源`,badge:`8所合作`,badgeColor:`bg-purple-500/10 text-purple-600 border-purple-500/20`,accentColor:`from-purple-500/10 to-transparent`,borderColor:`hover:border-purple-500/30`,glowColor:`bg-purple-500/5`,items:[{icon:`🤝`,text:`已与全国 8 所工作室 / 社区正式达成战略合作`},{icon:`📚`,text:`海量学习资源、项目资源随时共享,应有尽有`},{icon:`🔗`,text:`跨工作室交流机会,拓宽你的视野与人脉`},{icon:`💡`,text:`多元化资源加持,让你的创意不再受限`},{icon:`🚀`,text:`来这里,体验全网最丰富的成员资源体系`}]}];return(r,c)=>(n(),d(`div`,m,[c[11]||=u(` 我们正在招募优秀人才
招贤 纳士 加入我们,与一群有理想、有激情的伙伴共同构建项目
`,2),i(`div`,h,[(n(),d(l,null,e(J,e=>i(`button`,{key:e,class:s([`px-5 py-2 rounded-full border text-sm font-medium transition-all duration-200 cursor-pointer`,Y.value===e?`bg-blue-500 text-white border-blue-500`:`bg-transparent text-slate-700 border-slate-200 hover:border-slate-400 hover:text-slate-900`]),onClick:t=>re(e)},t(e),11,g)),64))]),i(`div`,_,[(n(!0),d(l,null,e(Z.value,r=>(n(),d(`div`,{key:r.id,class:s([`group bg-white border rounded-2xl overflow-hidden transition-all duration-300 shadow-sm`,X.value===r.id?`border-blue-500/50`:`border-slate-200 hover:border-slate-300`])},[i(`div`,{class:`flex items-center justify-between p-6 cursor-pointer`,onClick:e=>ie(r.id)},[i(`div`,te,[i(`div`,{class:s([`w-11 h-11 rounded-xl flex items-center justify-center text-lg flex-shrink-0`,Q(r.department).bg])},t(Q(r.department).emoji),3),i(`div`,null,[i(`div`,v,[i(`span`,y,t(r.title),1),r.hot?(n(),d(`span`,b,`热招`)):a(``,!0)]),i(`div`,x,[i(`span`,null,`📍 `+t(r.location),1),i(`span`,null,`🏷 `+t(r.department),1),i(`span`,null,`⏱ `+t(r.type),1)])])]),i(`div`,S,[i(`div`,C,[i(`div`,w,t(r.salary),1),c[2]||=i(`div`,{class:`text-slate-400 text-xs`},`月薪`,-1)]),i(`div`,{class:s([`w-8 h-8 rounded-lg bg-slate-100 flex items-center justify-center transition-transform duration-300`,X.value===r.id?`rotate-180`:``])},[...c[3]||=[i(`svg`,{class:`w-4 h-4 text-slate-600`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M19 9l-7 7-7-7`})],-1)]],2)])],8,ee),X.value===r.id?(n(),d(`div`,T,[i(`div`,E,[(n(!0),d(l,null,e(r.tags,e=>(n(),d(`span`,{key:e,class:`text-xs bg-slate-100 text-slate-700 px-3 py-1 rounded-md border border-slate-200`},t(e),1))),128))]),i(`div`,D,[i(`div`,null,[c[4]||=i(`h4`,{class:`text-slate-800 font-medium text-sm mb-2 flex items-center gap-1.5`},[i(`span`,{class:`w-1 h-3.5 bg-blue-500 rounded-full inline-block`}),o(`岗位描述`)],-1),i(`p`,O,t(r.desc),1)]),i(`div`,null,[c[6]||=i(`h4`,{class:`text-slate-800 font-medium text-sm mb-2 flex items-center gap-1.5`},[i(`span`,{class:`w-1 h-3.5 bg-cyan-500 rounded-full inline-block`}),o(`任职要求`)],-1),i(`ul`,k,[(n(!0),d(l,null,e(r.requirements,e=>(n(),d(`li`,{key:e,class:`text-slate-600 text-sm flex items-start gap-2`},[c[5]||=i(`span`,{class:`text-cyan-600 mt-0.5 flex-shrink-0`},`✓`,-1),o(t(e),1)]))),128))])])]),i(`div`,A,[i(`button`,{class:`bg-gradient-to-r from-blue-500 to-cyan-500 hover:from-blue-600 hover:to-cyan-600 text-white text-sm font-medium px-6 py-2.5 rounded-lg transition-all duration-200 cursor-pointer`,onClick:e=>ae(r)},`立即申请`,8,j),c[8]||=i(`button`,{class:`border border-slate-200 hover:border-slate-400 text-slate-700 hover:text-slate-900 text-sm px-5 py-2.5 rounded-lg transition-all duration-200 cursor-pointer`},`转发给朋友`,-1),i(`div`,M,[o(t(r.salary),1),c[7]||=i(`span`,{class:`text-slate-400 text-xs font-normal`},` /月`,-1)])])])):a(``,!0)],2))),128))]),c[12]||=u(` 为什么选择我们
加入我们, 能获得什么 我们相信每一位成员都值得被看见、被支持、被表扬
`,1),i(`div`,N,[(n(),d(l,null,e(oe,(r,a)=>i(`div`,{key:r.title,class:s([`group relative rounded-2xl border border-slate-200 bg-white overflow-hidden transition-all duration-300 hover:-translate-y-1 hover:shadow-md hover:shadow-slate-100`,r.borderColor])},[i(`div`,{class:s([`absolute top-0 left-0 right-0 h-px bg-gradient-to-r`,r.accentColor])},null,2),i(`div`,{class:s([`absolute inset-0 opacity-0 group-hover:opacity-100 transition-opacity duration-500 pointer-events-none`,r.glowColor])},null,2),i(`div`,P,[i(`div`,F,[i(`div`,I,[i(`div`,ne,t(r.icon),1),i(`div`,null,[i(`h3`,L,t(r.title),1),i(`span`,{class:s([`inline-block mt-1 text-xs border px-2.5 py-0.5 rounded-full`,r.badgeColor])},t(r.badge),3)])]),i(`span`,R,`0`+t(a+1),1)]),i(`ul`,z,[(n(!0),d(l,null,e(r.items,e=>(n(),d(`li`,{key:e.text,class:`flex items-start gap-3 group/item`},[i(`span`,B,t(e.icon),1),i(`span`,V,t(e.text),1)]))),128))])])],2)),64))]),i(`div`,H,[i(`div`,U,[c[10]||=i(`div`,{class:`absolute inset-0 pointer-events-none`},[i(`div`,{class:`absolute -top-20 left-1/2 -translate-x-1/2 w-96 h-40 bg-blue-500/5 rounded-full blur-3xl`}),i(`div`,{class:`absolute -bottom-10 left-1/4 w-64 h-32 bg-emerald-500/5 rounded-full blur-3xl`}),i(`div`,{class:`absolute -bottom-10 right-1/4 w-64 h-32 bg-cyan-500/5 rounded-full blur-3xl`})],-1),i(`div`,W,[c[9]||=u(`🚀
还在等什么? GVSDS 工作室欢迎每一位有想法、有热情的你。 不论你是前端、后端、设计还是运营,这里都有你的位置。
`,4),i(`div`,G,[i(`button`,{class:`bg-gradient-to-r from-emerald-500 to-cyan-500 hover:from-emerald-600 hover:to-cyan-600 text-white font-medium px-8 py-3 rounded-xl transition-all duration-200 text-sm shadow-md shadow-emerald-500/10 cursor-pointer`,onClick:c[0]||=e=>$(`mailto:hr@gvsds.com`)},` 立即加入我们 `),i(`button`,{class:`border border-slate-200 hover:border-slate-400 text-slate-700 hover:text-slate-900 px-8 py-3 rounded-xl transition-all duration-200 text-sm cursor-pointer`,onClick:c[1]||=e=>$(`https://www.gvsds.com/`)},` 了解更多 `)])])])])]))}});export{K as default};
\ No newline at end of file
diff --git a/TempLate/assets/RecruitingView-Dt3JU9f0.js b/TempLate/assets/RecruitingView-Dt3JU9f0.js
new file mode 100644
index 00000000..d1f28896
--- /dev/null
+++ b/TempLate/assets/RecruitingView-Dt3JU9f0.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,f as a,h as o,j as s,k as c,l,m as u,p as d,t as f,u as p}from"./index-CJXuAy0L.js";var m={class:`min-h-screen bg-gradient-to-br from-slate-50 via-blue-50 to-slate-50 py-20 px-4`},h={class:`flex justify-center gap-2 mb-10 flex-wrap`,id:`filter-tabs`},g=[`onClick`],_={class:`max-w-4xl mx-auto space-y-4`,id:`job-list`},ee=[`onClick`],te={class:`flex items-center gap-4`},v={class:`flex items-center gap-2 mb-1`},y={class:`text-slate-900 font-semibold text-base`},b={key:0,class:`text-xs bg-red-500/10 text-red-600 border border-red-500/20 px-2 py-0.5 rounded-full`},x={class:`flex items-center gap-3 text-slate-500 text-xs`},S={class:`flex items-center gap-6`},C={class:`text-right hidden sm:block`},w={class:`text-blue-600 font-bold text-sm`},T={key:0,class:`px-6 pb-6 border-t border-slate-200 pt-5`},E={class:`flex flex-wrap gap-2 mb-5`},D={class:`grid md:grid-cols-2 gap-6 mb-6`},O={class:`text-slate-600 text-sm leading-relaxed`},k={class:`space-y-1.5`},A={class:`flex items-center gap-3`},j=[`onClick`],M={class:`ml-auto sm:hidden text-blue-600 font-bold text-sm`},N={class:`max-w-6xl mx-auto grid grid-cols-1 md:grid-cols-2 gap-6 mb-8`,id:`benefits-grid`},P={class:`relative z-10 p-7`},F={class:`flex items-start justify-between mb-6`},I={class:`flex items-center gap-3`},ne={class:`w-12 h-12 rounded-2xl bg-slate-100 flex items-center justify-center text-2xl flex-shrink-0 border border-slate-200`},L={class:`text-slate-900 font-bold text-base leading-snug`},R={class:`text-slate-300 text-xs font-mono mt-1`},z={class:`space-y-3`},B={class:`text-base flex-shrink-0 mt-0.5 transition-transform duration-200 group-hover/item:scale-110`},V={class:`text-slate-600 text-sm leading-relaxed group-hover/item:text-slate-800 transition-colors duration-200`},H={class:`max-w-6xl mx-auto mt-6`},U={class:`relative rounded-3xl overflow-hidden border border-slate-200 bg-white p-10 text-center shadow-sm`},W={class:`relative z-10`},G={class:`flex justify-center gap-3 flex-wrap`},K=r({__name:`RecruitingView`,setup(r){let K=f(),q=[{id:1,title:`前端程序员(原生)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`JavaScript`,`HTML/CSS`,`TailwindCSS`],desc:`负责核心产品前端架构设计与开发,推动前端工程化建设,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年前端开发经验`,`熟悉原生生态`,`有大型项目架构经验优先`],hot:!0},{id:2,title:`前端程序员(React)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`React`,`JavaScript`,`HTML/CSS`],desc:`负责较边缘前端架构设计与开发,推动前端工程化建设,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年前端开发经验`,`熟悉 React 生态`,`有大型项目架构经验优先`],hot:!1},{id:3,title:`前端程序员(Node.js)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Node.js`,`JavaScript`,`HTML/CSS`],desc:`负责 Node.js 项目前端架构设计与开发,可能涉及部分桌面端应用开发,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年前端开发经验`,`熟悉 Node.js 生态`,`有大型项目架构经验优先`],hot:!0},{id:4,title:`后端程序员(Python Flask)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Python`,`Flask`,`SQLAlchemy`],desc:`负责 Python Flask 项目后端架构设计与开发,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年后端开发经验`,`熟悉 Python Flask 生态`,`有大型项目架构经验优先`],hot:!0},{id:5,title:`后端程序员(Python Django)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Python`,`Django`,`SQLAlchemy`],desc:`负责 Python Django 企业级项目后端架构设计与开发,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 4 年后端开发经验`,`熟悉 Python Django 生态`,`有大型项目架构经验优先`],hot:!0},{id:6,title:`后端程序员(C/C++)(服务器优化)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`C/C++`,`GCC`,`Makefile`,`Clang`,`AsyncIO`],desc:`负责后端项目核心设计(重写异步库,优化服务器 QPS 性能),参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 4 年后端开发经验`,`熟悉 C/C++ 生态`,`有大型项目架构经验优先`],hot:!0},{id:7,title:`程序员(C/C++/NASM)(操作系统)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`C/C++`,`Linux_ELF`,`x86_64`,`ARM`,`GCC`,`Makefile`,`Clang`,`操作系统架构设计`],desc:`负责后端项目核心设计(重写异步库,优化服务器 QPS 性能),参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年 C/C++ 开发经验`,`熟悉 C/C++ 生态`,`有大型项目架构经验优先`,`从其它类似项目跳岗优先`],hot:!0},{id:8,title:`程序员(C/C++/Python/Qt/Node.js)(桌面应用)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`C/C++`,`Python`,`Qt`,`Node.js`,`GCC`,`Makefile`,`Clang`],desc:`负责桌面端应用(如文件管理器、文本编辑器、ERP 系统、桌宠等)的前端架构设计与开发,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年 C/C++ 开发经验`,`熟悉 Qt/WebView 生态`,`有大型项目架构经验优先`],hot:!0},{id:9,title:`美术师(Photoshop/Illustrator)(UI/UX设计)`,department:`设计`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Photoshop`,`Illustrator`,`UI/UX设计`],desc:`负责设计用户界面(如应用程序、网站)的视觉元素,参与用户体验优化。`,requirements:[`14岁+`,`至少有 3 年 UI/UX 设计经验`,`熟悉 Photoshop/Illustrator 工具`],hot:!0},{id:10,title:`美术师(Photoshop/Illustrator/画世界等)(Furry 吉祥物 / 艺术插画设计)`,department:`设计`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Photoshop`,`Illustrator`,`Furry 吉祥物`,`艺术插画设计`],desc:`负责设计 Furry 吉祥物(如猫、狗、鸟、人等)的视觉元素,参与用户体验优化。`,requirements:[`14岁+`,`至少有 3 年 绘画经验(画龄)`,`熟悉 2D/3D 绘画工具(如 Photoshop、Illustrator)`,`熟悉人体解剖结构`],hot:!0},{id:11,title:`3D 建模设计师`,department:`设计`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Photoshop`,`Illustrator`,`Blender`,`3DMax`,`等`],desc:`负责使用 Blender、3DMax 等 3D 建模工具设计 游戏 的 3D 模型,参与用户体验优化。`,requirements:[`14岁+`,`至少有 3 年 3D 建模经验`,`熟悉 Blender、3DMax 等 3D 建模工具`],hot:!0},{id:12,title:`项目经理`,department:`产品`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`C/C++`,`Python`,`Node.js`,`GCC`,`Makefile`,`Clang`,`Node.js`,`Photoshop`,`Illustrator`,`Blender`,`3DMax`,`Git`,`等`],desc:`负责项目管理(需求分析、项目计划、任务分配、进度监控、风险管理),参与技术选型与方案评审。`,requirements:[`14岁+`,`至少经手过 2 个中大型项目或 10 余个小型项目`,`熟悉 Git 等版本控制工具`],hot:!0},{id:13,title:`人力资源部负责人/成员`,department:`市场`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`微信`,`企业微信`,`QQ`,`等`],desc:`负责公司人力资源管理(员工招聘、培训、发展规划、绩效评估等),能说会道能挖人,能精准选取需要或预备需要的人才,参与公司人力资源策略制定。`,requirements:[`14岁+`,`至少经手过 2 个中大型项目或 10 余个小型项目`,`熟悉 Git 等版本控制工具`],hot:!0},{id:14,title:`剪辑师`,department:`产品`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`剪辑`,`视频编辑`],desc:`负责视频剪辑(如视频编辑、视频拼接、视频剪辑等),参与视频内容创作。`,requirements:[`14岁+`,`至少有 1 年 视频剪辑经验`],hot:!0}],J=[`全部`,...Array.from(new Set(q.map(e=>e.department)))],Y=c(`全部`),X=c(null),Z=p(()=>Y.value===`全部`?q:q.filter(e=>e.department===Y.value));function re(e){Y.value=e,X.value=null}function ie(e){X.value=X.value===e?null:e}function Q(e){switch(e){case`技术`:return{bg:`bg-blue-500/10 text-blue-600`,emoji:`⚡`};case`产品`:return{bg:`bg-purple-500/10 text-purple-600`,emoji:`🧩`};case`设计`:return{bg:`bg-pink-500/10 text-pink-600`,emoji:`🎨`};case`运营`:return{bg:`bg-green-500/10 text-green-600`,emoji:`📈`};default:return{bg:`bg-orange-500/10 text-orange-600`,emoji:`📣`}}}function ae(e){K.push(`/Invite/Apply`)}function $(e){window.open(e,e.startsWith(`http`)?`_blank`:`_self`)}let oe=[{icon:`📦`,title:`成员福利`,badge:`免费申请`,badgeColor:`bg-emerald-500/10 text-emerald-600 border-emerald-500/20`,accentColor:`from-emerald-500/10 to-transparent`,borderColor:`hover:border-emerald-500/30`,glowColor:`bg-emerald-500/5`,items:[{icon:`📧`,text:`免费申请专属工作室邮箱,彰显你的身份`},{icon:`🖥️`,text:`每位成员均可申请一台免费云服务器`},{icon:`💰`,text:`表现出色?每个项目都有机会拿到专项奖金`},{icon:`💻`,text:`项目条件允许时,我们可能为你配备一台电脑`},{icon:`🎖️`,text:`贡献突出的成员将在下期视频中被点名表扬!`}]},{icon:`🕐`,title:`极其人性的作息`,badge:`弹性自由`,badgeColor:`bg-yellow-500/10 text-yellow-600 border-yellow-500/20`,accentColor:`from-yellow-500/10 to-transparent`,borderColor:`hover:border-yellow-500/30`,glowColor:`bg-yellow-500/5`,items:[{icon:`😅`,text:`说实话,作息制度……视情况而定`},{icon:`🌙`,text:`不强制打卡,不强制在线,随缘就好`},{icon:`🧘`,text:`核心宗旨只有一条:活着就行`},{icon:`☕`,text:`最重要的是心态放平,开心最重要`},{icon:`🎯`,text:`只要产出到位,过程你说了算`}]},{icon:`🏆`,title:`全国顶尖的工作室`,badge:`历史悠久`,badgeColor:`bg-blue-500/10 text-blue-600 border-blue-500/20`,accentColor:`from-blue-500/10 to-transparent`,borderColor:`hover:border-blue-500/30`,glowColor:`bg-blue-500/5`,items:[{icon:`📅`,text:`GVSDS 工作室创立于 2019 年,至今已走过数载风雨`},{icon:`🌟`,text:`历史悠久,积淀深厚,在同类工作室中首屈一指`},{icon:`🏅`,text:`工作室已取得多项卓越成就,实力有目共睹`},{icon:`🤝`,text:`加入一个有历史、有底蕴的团队,你不会后悔`},{icon:`✨`,text:`下一个被写进历史的,就是你!`}]},{icon:`🌐`,title:`丰富的资源`,badge:`8所合作`,badgeColor:`bg-purple-500/10 text-purple-600 border-purple-500/20`,accentColor:`from-purple-500/10 to-transparent`,borderColor:`hover:border-purple-500/30`,glowColor:`bg-purple-500/5`,items:[{icon:`🤝`,text:`已与全国 8 所工作室 / 社区正式达成战略合作`},{icon:`📚`,text:`海量学习资源、项目资源随时共享,应有尽有`},{icon:`🔗`,text:`跨工作室交流机会,拓宽你的视野与人脉`},{icon:`💡`,text:`多元化资源加持,让你的创意不再受限`},{icon:`🚀`,text:`来这里,体验全网最丰富的成员资源体系`}]}];return(r,c)=>(n(),d(`div`,m,[c[11]||=u(` 我们正在招募优秀人才
招贤 纳士 加入我们,与一群有理想、有激情的伙伴共同构建项目
`,2),i(`div`,h,[(n(),d(l,null,e(J,e=>i(`button`,{key:e,class:s([`px-5 py-2 rounded-full border text-sm font-medium transition-all duration-200 cursor-pointer`,Y.value===e?`bg-blue-500 text-white border-blue-500`:`bg-transparent text-slate-700 border-slate-200 hover:border-slate-400 hover:text-slate-900`]),onClick:t=>re(e)},t(e),11,g)),64))]),i(`div`,_,[(n(!0),d(l,null,e(Z.value,r=>(n(),d(`div`,{key:r.id,class:s([`group bg-white border rounded-2xl overflow-hidden transition-all duration-300 shadow-sm`,X.value===r.id?`border-blue-500/50`:`border-slate-200 hover:border-slate-300`])},[i(`div`,{class:`flex items-center justify-between p-6 cursor-pointer`,onClick:e=>ie(r.id)},[i(`div`,te,[i(`div`,{class:s([`w-11 h-11 rounded-xl flex items-center justify-center text-lg flex-shrink-0`,Q(r.department).bg])},t(Q(r.department).emoji),3),i(`div`,null,[i(`div`,v,[i(`span`,y,t(r.title),1),r.hot?(n(),d(`span`,b,`热招`)):a(``,!0)]),i(`div`,x,[i(`span`,null,`📍 `+t(r.location),1),i(`span`,null,`🏷 `+t(r.department),1),i(`span`,null,`⏱ `+t(r.type),1)])])]),i(`div`,S,[i(`div`,C,[i(`div`,w,t(r.salary),1),c[2]||=i(`div`,{class:`text-slate-400 text-xs`},`月薪`,-1)]),i(`div`,{class:s([`w-8 h-8 rounded-lg bg-slate-100 flex items-center justify-center transition-transform duration-300`,X.value===r.id?`rotate-180`:``])},[...c[3]||=[i(`svg`,{class:`w-4 h-4 text-slate-600`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M19 9l-7 7-7-7`})],-1)]],2)])],8,ee),X.value===r.id?(n(),d(`div`,T,[i(`div`,E,[(n(!0),d(l,null,e(r.tags,e=>(n(),d(`span`,{key:e,class:`text-xs bg-slate-100 text-slate-700 px-3 py-1 rounded-md border border-slate-200`},t(e),1))),128))]),i(`div`,D,[i(`div`,null,[c[4]||=i(`h4`,{class:`text-slate-800 font-medium text-sm mb-2 flex items-center gap-1.5`},[i(`span`,{class:`w-1 h-3.5 bg-blue-500 rounded-full inline-block`}),o(`岗位描述`)],-1),i(`p`,O,t(r.desc),1)]),i(`div`,null,[c[6]||=i(`h4`,{class:`text-slate-800 font-medium text-sm mb-2 flex items-center gap-1.5`},[i(`span`,{class:`w-1 h-3.5 bg-cyan-500 rounded-full inline-block`}),o(`任职要求`)],-1),i(`ul`,k,[(n(!0),d(l,null,e(r.requirements,e=>(n(),d(`li`,{key:e,class:`text-slate-600 text-sm flex items-start gap-2`},[c[5]||=i(`span`,{class:`text-cyan-600 mt-0.5 flex-shrink-0`},`✓`,-1),o(t(e),1)]))),128))])])]),i(`div`,A,[i(`button`,{class:`bg-gradient-to-r from-blue-500 to-cyan-500 hover:from-blue-600 hover:to-cyan-600 text-white text-sm font-medium px-6 py-2.5 rounded-lg transition-all duration-200 cursor-pointer`,onClick:e=>ae(r)},`立即申请`,8,j),c[8]||=i(`button`,{class:`border border-slate-200 hover:border-slate-400 text-slate-700 hover:text-slate-900 text-sm px-5 py-2.5 rounded-lg transition-all duration-200 cursor-pointer`},`转发给朋友`,-1),i(`div`,M,[o(t(r.salary),1),c[7]||=i(`span`,{class:`text-slate-400 text-xs font-normal`},` /月`,-1)])])])):a(``,!0)],2))),128))]),c[12]||=u(` 为什么选择我们
加入我们, 能获得什么 我们相信每一位成员都值得被看见、被支持、被表扬
`,1),i(`div`,N,[(n(),d(l,null,e(oe,(r,a)=>i(`div`,{key:r.title,class:s([`group relative rounded-2xl border border-slate-200 bg-white overflow-hidden transition-all duration-300 hover:-translate-y-1 hover:shadow-md hover:shadow-slate-100`,r.borderColor])},[i(`div`,{class:s([`absolute top-0 left-0 right-0 h-px bg-gradient-to-r`,r.accentColor])},null,2),i(`div`,{class:s([`absolute inset-0 opacity-0 group-hover:opacity-100 transition-opacity duration-500 pointer-events-none`,r.glowColor])},null,2),i(`div`,P,[i(`div`,F,[i(`div`,I,[i(`div`,ne,t(r.icon),1),i(`div`,null,[i(`h3`,L,t(r.title),1),i(`span`,{class:s([`inline-block mt-1 text-xs border px-2.5 py-0.5 rounded-full`,r.badgeColor])},t(r.badge),3)])]),i(`span`,R,`0`+t(a+1),1)]),i(`ul`,z,[(n(!0),d(l,null,e(r.items,e=>(n(),d(`li`,{key:e.text,class:`flex items-start gap-3 group/item`},[i(`span`,B,t(e.icon),1),i(`span`,V,t(e.text),1)]))),128))])])],2)),64))]),i(`div`,H,[i(`div`,U,[c[10]||=i(`div`,{class:`absolute inset-0 pointer-events-none`},[i(`div`,{class:`absolute -top-20 left-1/2 -translate-x-1/2 w-96 h-40 bg-blue-500/5 rounded-full blur-3xl`}),i(`div`,{class:`absolute -bottom-10 left-1/4 w-64 h-32 bg-emerald-500/5 rounded-full blur-3xl`}),i(`div`,{class:`absolute -bottom-10 right-1/4 w-64 h-32 bg-cyan-500/5 rounded-full blur-3xl`})],-1),i(`div`,W,[c[9]||=u(`🚀
还在等什么? GVSDS 工作室欢迎每一位有想法、有热情的你。 不论你是前端、后端、设计还是运营,这里都有你的位置。
`,4),i(`div`,G,[i(`button`,{class:`bg-gradient-to-r from-emerald-500 to-cyan-500 hover:from-emerald-600 hover:to-cyan-600 text-white font-medium px-8 py-3 rounded-xl transition-all duration-200 text-sm shadow-md shadow-emerald-500/10 cursor-pointer`,onClick:c[0]||=e=>$(`mailto:hr@gvsds.com`)},` 立即加入我们 `),i(`button`,{class:`border border-slate-200 hover:border-slate-400 text-slate-700 hover:text-slate-900 px-8 py-3 rounded-xl transition-all duration-200 text-sm cursor-pointer`,onClick:c[1]||=e=>$(`https://www.gvsds.com/`)},` 了解更多 `)])])])])]))}});export{K as default};
\ No newline at end of file
diff --git a/TempLate/assets/RecruitingView-Dxgo-sGr.js b/TempLate/assets/RecruitingView-Dxgo-sGr.js
new file mode 100644
index 00000000..b89abbbb
--- /dev/null
+++ b/TempLate/assets/RecruitingView-Dxgo-sGr.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,f as a,h as o,j as s,k as c,l,m as u,p as d,t as f,u as p}from"./index-CUry87of.js";var m={class:`min-h-screen bg-gradient-to-br from-slate-50 via-blue-50 to-slate-50 py-20 px-4`},h={class:`flex justify-center gap-2 mb-10 flex-wrap`,id:`filter-tabs`},g=[`onClick`],_={class:`max-w-4xl mx-auto space-y-4`,id:`job-list`},ee=[`onClick`],te={class:`flex items-center gap-4`},v={class:`flex items-center gap-2 mb-1`},y={class:`text-slate-900 font-semibold text-base`},b={key:0,class:`text-xs bg-red-500/10 text-red-600 border border-red-500/20 px-2 py-0.5 rounded-full`},x={class:`flex items-center gap-3 text-slate-500 text-xs`},S={class:`flex items-center gap-6`},C={class:`text-right hidden sm:block`},w={class:`text-blue-600 font-bold text-sm`},T={key:0,class:`px-6 pb-6 border-t border-slate-200 pt-5`},E={class:`flex flex-wrap gap-2 mb-5`},D={class:`grid md:grid-cols-2 gap-6 mb-6`},O={class:`text-slate-600 text-sm leading-relaxed`},k={class:`space-y-1.5`},A={class:`flex items-center gap-3`},j=[`onClick`],M={class:`ml-auto sm:hidden text-blue-600 font-bold text-sm`},N={class:`max-w-6xl mx-auto grid grid-cols-1 md:grid-cols-2 gap-6 mb-8`,id:`benefits-grid`},P={class:`relative z-10 p-7`},F={class:`flex items-start justify-between mb-6`},I={class:`flex items-center gap-3`},ne={class:`w-12 h-12 rounded-2xl bg-slate-100 flex items-center justify-center text-2xl flex-shrink-0 border border-slate-200`},L={class:`text-slate-900 font-bold text-base leading-snug`},R={class:`text-slate-300 text-xs font-mono mt-1`},z={class:`space-y-3`},B={class:`text-base flex-shrink-0 mt-0.5 transition-transform duration-200 group-hover/item:scale-110`},V={class:`text-slate-600 text-sm leading-relaxed group-hover/item:text-slate-800 transition-colors duration-200`},H={class:`max-w-6xl mx-auto mt-6`},U={class:`relative rounded-3xl overflow-hidden border border-slate-200 bg-white p-10 text-center shadow-sm`},W={class:`relative z-10`},G={class:`flex justify-center gap-3 flex-wrap`},K=r({__name:`RecruitingView`,setup(r){let K=f(),q=[{id:1,title:`前端程序员(原生)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`JavaScript`,`HTML/CSS`,`TailwindCSS`],desc:`负责核心产品前端架构设计与开发,推动前端工程化建设,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年前端开发经验`,`熟悉原生生态`,`有大型项目架构经验优先`],hot:!0},{id:2,title:`前端程序员(React)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`React`,`JavaScript`,`HTML/CSS`],desc:`负责较边缘前端架构设计与开发,推动前端工程化建设,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年前端开发经验`,`熟悉 React 生态`,`有大型项目架构经验优先`],hot:!1},{id:3,title:`前端程序员(Node.js)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Node.js`,`JavaScript`,`HTML/CSS`],desc:`负责 Node.js 项目前端架构设计与开发,可能涉及部分桌面端应用开发,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年前端开发经验`,`熟悉 Node.js 生态`,`有大型项目架构经验优先`],hot:!0},{id:4,title:`后端程序员(Python Flask)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Python`,`Flask`,`SQLAlchemy`],desc:`负责 Python Flask 项目后端架构设计与开发,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年后端开发经验`,`熟悉 Python Flask 生态`,`有大型项目架构经验优先`],hot:!0},{id:5,title:`后端程序员(Python Django)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Python`,`Django`,`SQLAlchemy`],desc:`负责 Python Django 企业级项目后端架构设计与开发,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 4 年后端开发经验`,`熟悉 Python Django 生态`,`有大型项目架构经验优先`],hot:!0},{id:6,title:`后端程序员(C/C++)(服务器优化)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`C/C++`,`GCC`,`Makefile`,`Clang`,`AsyncIO`],desc:`负责后端项目核心设计(重写异步库,优化服务器 QPS 性能),参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 4 年后端开发经验`,`熟悉 C/C++ 生态`,`有大型项目架构经验优先`],hot:!0},{id:7,title:`程序员(C/C++/NASM)(操作系统)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`C/C++`,`Linux_ELF`,`x86_64`,`ARM`,`GCC`,`Makefile`,`Clang`,`操作系统架构设计`],desc:`负责后端项目核心设计(重写异步库,优化服务器 QPS 性能),参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年 C/C++ 开发经验`,`熟悉 C/C++ 生态`,`有大型项目架构经验优先`,`从其它类似项目跳岗优先`],hot:!0},{id:8,title:`程序员(C/C++/Python/Qt/Node.js)(桌面应用)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`C/C++`,`Python`,`Qt`,`Node.js`,`GCC`,`Makefile`,`Clang`],desc:`负责桌面端应用(如文件管理器、文本编辑器、ERP 系统、桌宠等)的前端架构设计与开发,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年 C/C++ 开发经验`,`熟悉 Qt/WebView 生态`,`有大型项目架构经验优先`],hot:!0},{id:9,title:`美术师(Photoshop/Illustrator)(UI/UX设计)`,department:`设计`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Photoshop`,`Illustrator`,`UI/UX设计`],desc:`负责设计用户界面(如应用程序、网站)的视觉元素,参与用户体验优化。`,requirements:[`14岁+`,`至少有 3 年 UI/UX 设计经验`,`熟悉 Photoshop/Illustrator 工具`],hot:!0},{id:10,title:`美术师(Photoshop/Illustrator/画世界等)(Furry 吉祥物 / 艺术插画设计)`,department:`设计`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Photoshop`,`Illustrator`,`Furry 吉祥物`,`艺术插画设计`],desc:`负责设计 Furry 吉祥物(如猫、狗、鸟、人等)的视觉元素,参与用户体验优化。`,requirements:[`14岁+`,`至少有 3 年 绘画经验(画龄)`,`熟悉 2D/3D 绘画工具(如 Photoshop、Illustrator)`,`熟悉人体解剖结构`],hot:!0},{id:11,title:`3D 建模设计师`,department:`设计`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Photoshop`,`Illustrator`,`Blender`,`3DMax`,`等`],desc:`负责使用 Blender、3DMax 等 3D 建模工具设计 游戏 的 3D 模型,参与用户体验优化。`,requirements:[`14岁+`,`至少有 3 年 3D 建模经验`,`熟悉 Blender、3DMax 等 3D 建模工具`],hot:!0},{id:12,title:`项目经理`,department:`产品`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`C/C++`,`Python`,`Node.js`,`GCC`,`Makefile`,`Clang`,`Node.js`,`Photoshop`,`Illustrator`,`Blender`,`3DMax`,`Git`,`等`],desc:`负责项目管理(需求分析、项目计划、任务分配、进度监控、风险管理),参与技术选型与方案评审。`,requirements:[`14岁+`,`至少经手过 2 个中大型项目或 10 余个小型项目`,`熟悉 Git 等版本控制工具`],hot:!0},{id:13,title:`人力资源部负责人/成员`,department:`市场`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`微信`,`企业微信`,`QQ`,`等`],desc:`负责公司人力资源管理(员工招聘、培训、发展规划、绩效评估等),能说会道能挖人,能精准选取需要或预备需要的人才,参与公司人力资源策略制定。`,requirements:[`14岁+`,`至少经手过 2 个中大型项目或 10 余个小型项目`,`熟悉 Git 等版本控制工具`],hot:!0},{id:14,title:`剪辑师`,department:`产品`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`剪辑`,`视频编辑`],desc:`负责视频剪辑(如视频编辑、视频拼接、视频剪辑等),参与视频内容创作。`,requirements:[`14岁+`,`至少有 1 年 视频剪辑经验`],hot:!0}],J=[`全部`,...Array.from(new Set(q.map(e=>e.department)))],Y=c(`全部`),X=c(null),Z=p(()=>Y.value===`全部`?q:q.filter(e=>e.department===Y.value));function re(e){Y.value=e,X.value=null}function ie(e){X.value=X.value===e?null:e}function Q(e){switch(e){case`技术`:return{bg:`bg-blue-500/10 text-blue-600`,emoji:`⚡`};case`产品`:return{bg:`bg-purple-500/10 text-purple-600`,emoji:`🧩`};case`设计`:return{bg:`bg-pink-500/10 text-pink-600`,emoji:`🎨`};case`运营`:return{bg:`bg-green-500/10 text-green-600`,emoji:`📈`};default:return{bg:`bg-orange-500/10 text-orange-600`,emoji:`📣`}}}function ae(e){K.push(`/Invite/Apply`)}function $(e){window.open(e,e.startsWith(`http`)?`_blank`:`_self`)}let oe=[{icon:`📦`,title:`成员福利`,badge:`免费申请`,badgeColor:`bg-emerald-500/10 text-emerald-600 border-emerald-500/20`,accentColor:`from-emerald-500/10 to-transparent`,borderColor:`hover:border-emerald-500/30`,glowColor:`bg-emerald-500/5`,items:[{icon:`📧`,text:`免费申请专属工作室邮箱,彰显你的身份`},{icon:`🖥️`,text:`每位成员均可申请一台免费云服务器`},{icon:`💰`,text:`表现出色?每个项目都有机会拿到专项奖金`},{icon:`💻`,text:`项目条件允许时,我们可能为你配备一台电脑`},{icon:`🎖️`,text:`贡献突出的成员将在下期视频中被点名表扬!`}]},{icon:`🕐`,title:`极其人性的作息`,badge:`弹性自由`,badgeColor:`bg-yellow-500/10 text-yellow-600 border-yellow-500/20`,accentColor:`from-yellow-500/10 to-transparent`,borderColor:`hover:border-yellow-500/30`,glowColor:`bg-yellow-500/5`,items:[{icon:`😅`,text:`说实话,作息制度……视情况而定`},{icon:`🌙`,text:`不强制打卡,不强制在线,随缘就好`},{icon:`🧘`,text:`核心宗旨只有一条:活着就行`},{icon:`☕`,text:`最重要的是心态放平,开心最重要`},{icon:`🎯`,text:`只要产出到位,过程你说了算`}]},{icon:`🏆`,title:`全国顶尖的工作室`,badge:`历史悠久`,badgeColor:`bg-blue-500/10 text-blue-600 border-blue-500/20`,accentColor:`from-blue-500/10 to-transparent`,borderColor:`hover:border-blue-500/30`,glowColor:`bg-blue-500/5`,items:[{icon:`📅`,text:`GVSDS 工作室创立于 2019 年,至今已走过数载风雨`},{icon:`🌟`,text:`历史悠久,积淀深厚,在同类工作室中首屈一指`},{icon:`🏅`,text:`工作室已取得多项卓越成就,实力有目共睹`},{icon:`🤝`,text:`加入一个有历史、有底蕴的团队,你不会后悔`},{icon:`✨`,text:`下一个被写进历史的,就是你!`}]},{icon:`🌐`,title:`丰富的资源`,badge:`8所合作`,badgeColor:`bg-purple-500/10 text-purple-600 border-purple-500/20`,accentColor:`from-purple-500/10 to-transparent`,borderColor:`hover:border-purple-500/30`,glowColor:`bg-purple-500/5`,items:[{icon:`🤝`,text:`已与全国 8 所工作室 / 社区正式达成战略合作`},{icon:`📚`,text:`海量学习资源、项目资源随时共享,应有尽有`},{icon:`🔗`,text:`跨工作室交流机会,拓宽你的视野与人脉`},{icon:`💡`,text:`多元化资源加持,让你的创意不再受限`},{icon:`🚀`,text:`来这里,体验全网最丰富的成员资源体系`}]}];return(r,c)=>(n(),d(`div`,m,[c[11]||=u(` 我们正在招募优秀人才
招贤 纳士 加入我们,与一群有理想、有激情的伙伴共同构建项目
`,2),i(`div`,h,[(n(),d(l,null,e(J,e=>i(`button`,{key:e,class:s([`px-5 py-2 rounded-full border text-sm font-medium transition-all duration-200 cursor-pointer`,Y.value===e?`bg-blue-500 text-white border-blue-500`:`bg-transparent text-slate-700 border-slate-200 hover:border-slate-400 hover:text-slate-900`]),onClick:t=>re(e)},t(e),11,g)),64))]),i(`div`,_,[(n(!0),d(l,null,e(Z.value,r=>(n(),d(`div`,{key:r.id,class:s([`group bg-white border rounded-2xl overflow-hidden transition-all duration-300 shadow-sm`,X.value===r.id?`border-blue-500/50`:`border-slate-200 hover:border-slate-300`])},[i(`div`,{class:`flex items-center justify-between p-6 cursor-pointer`,onClick:e=>ie(r.id)},[i(`div`,te,[i(`div`,{class:s([`w-11 h-11 rounded-xl flex items-center justify-center text-lg flex-shrink-0`,Q(r.department).bg])},t(Q(r.department).emoji),3),i(`div`,null,[i(`div`,v,[i(`span`,y,t(r.title),1),r.hot?(n(),d(`span`,b,`热招`)):a(``,!0)]),i(`div`,x,[i(`span`,null,`📍 `+t(r.location),1),i(`span`,null,`🏷 `+t(r.department),1),i(`span`,null,`⏱ `+t(r.type),1)])])]),i(`div`,S,[i(`div`,C,[i(`div`,w,t(r.salary),1),c[2]||=i(`div`,{class:`text-slate-400 text-xs`},`月薪`,-1)]),i(`div`,{class:s([`w-8 h-8 rounded-lg bg-slate-100 flex items-center justify-center transition-transform duration-300`,X.value===r.id?`rotate-180`:``])},[...c[3]||=[i(`svg`,{class:`w-4 h-4 text-slate-600`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M19 9l-7 7-7-7`})],-1)]],2)])],8,ee),X.value===r.id?(n(),d(`div`,T,[i(`div`,E,[(n(!0),d(l,null,e(r.tags,e=>(n(),d(`span`,{key:e,class:`text-xs bg-slate-100 text-slate-700 px-3 py-1 rounded-md border border-slate-200`},t(e),1))),128))]),i(`div`,D,[i(`div`,null,[c[4]||=i(`h4`,{class:`text-slate-800 font-medium text-sm mb-2 flex items-center gap-1.5`},[i(`span`,{class:`w-1 h-3.5 bg-blue-500 rounded-full inline-block`}),o(`岗位描述`)],-1),i(`p`,O,t(r.desc),1)]),i(`div`,null,[c[6]||=i(`h4`,{class:`text-slate-800 font-medium text-sm mb-2 flex items-center gap-1.5`},[i(`span`,{class:`w-1 h-3.5 bg-cyan-500 rounded-full inline-block`}),o(`任职要求`)],-1),i(`ul`,k,[(n(!0),d(l,null,e(r.requirements,e=>(n(),d(`li`,{key:e,class:`text-slate-600 text-sm flex items-start gap-2`},[c[5]||=i(`span`,{class:`text-cyan-600 mt-0.5 flex-shrink-0`},`✓`,-1),o(t(e),1)]))),128))])])]),i(`div`,A,[i(`button`,{class:`bg-gradient-to-r from-blue-500 to-cyan-500 hover:from-blue-600 hover:to-cyan-600 text-white text-sm font-medium px-6 py-2.5 rounded-lg transition-all duration-200 cursor-pointer`,onClick:e=>ae(r)},`立即申请`,8,j),c[8]||=i(`button`,{class:`border border-slate-200 hover:border-slate-400 text-slate-700 hover:text-slate-900 text-sm px-5 py-2.5 rounded-lg transition-all duration-200 cursor-pointer`},`转发给朋友`,-1),i(`div`,M,[o(t(r.salary),1),c[7]||=i(`span`,{class:`text-slate-400 text-xs font-normal`},` /月`,-1)])])])):a(``,!0)],2))),128))]),c[12]||=u(` 为什么选择我们
加入我们, 能获得什么 我们相信每一位成员都值得被看见、被支持、被表扬
`,1),i(`div`,N,[(n(),d(l,null,e(oe,(r,a)=>i(`div`,{key:r.title,class:s([`group relative rounded-2xl border border-slate-200 bg-white overflow-hidden transition-all duration-300 hover:-translate-y-1 hover:shadow-md hover:shadow-slate-100`,r.borderColor])},[i(`div`,{class:s([`absolute top-0 left-0 right-0 h-px bg-gradient-to-r`,r.accentColor])},null,2),i(`div`,{class:s([`absolute inset-0 opacity-0 group-hover:opacity-100 transition-opacity duration-500 pointer-events-none`,r.glowColor])},null,2),i(`div`,P,[i(`div`,F,[i(`div`,I,[i(`div`,ne,t(r.icon),1),i(`div`,null,[i(`h3`,L,t(r.title),1),i(`span`,{class:s([`inline-block mt-1 text-xs border px-2.5 py-0.5 rounded-full`,r.badgeColor])},t(r.badge),3)])]),i(`span`,R,`0`+t(a+1),1)]),i(`ul`,z,[(n(!0),d(l,null,e(r.items,e=>(n(),d(`li`,{key:e.text,class:`flex items-start gap-3 group/item`},[i(`span`,B,t(e.icon),1),i(`span`,V,t(e.text),1)]))),128))])])],2)),64))]),i(`div`,H,[i(`div`,U,[c[10]||=i(`div`,{class:`absolute inset-0 pointer-events-none`},[i(`div`,{class:`absolute -top-20 left-1/2 -translate-x-1/2 w-96 h-40 bg-blue-500/5 rounded-full blur-3xl`}),i(`div`,{class:`absolute -bottom-10 left-1/4 w-64 h-32 bg-emerald-500/5 rounded-full blur-3xl`}),i(`div`,{class:`absolute -bottom-10 right-1/4 w-64 h-32 bg-cyan-500/5 rounded-full blur-3xl`})],-1),i(`div`,W,[c[9]||=u(`🚀
还在等什么? GVSDS 工作室欢迎每一位有想法、有热情的你。 不论你是前端、后端、设计还是运营,这里都有你的位置。
`,4),i(`div`,G,[i(`button`,{class:`bg-gradient-to-r from-emerald-500 to-cyan-500 hover:from-emerald-600 hover:to-cyan-600 text-white font-medium px-8 py-3 rounded-xl transition-all duration-200 text-sm shadow-md shadow-emerald-500/10 cursor-pointer`,onClick:c[0]||=e=>$(`mailto:hr@gvsds.com`)},` 立即加入我们 `),i(`button`,{class:`border border-slate-200 hover:border-slate-400 text-slate-700 hover:text-slate-900 px-8 py-3 rounded-xl transition-all duration-200 text-sm cursor-pointer`,onClick:c[1]||=e=>$(`https://www.gvsds.com/`)},` 了解更多 `)])])])])]))}});export{K as default};
\ No newline at end of file
diff --git a/TempLate/assets/RecruitingView-KLDGpRHl.js b/TempLate/assets/RecruitingView-KLDGpRHl.js
new file mode 100644
index 00000000..f2da0c72
--- /dev/null
+++ b/TempLate/assets/RecruitingView-KLDGpRHl.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,f as a,h as o,j as s,k as c,l,m as u,p as d,t as f,u as p}from"./index-UfMysbwD.js";var m={class:`min-h-screen bg-gradient-to-br from-slate-50 via-blue-50 to-slate-50 py-20 px-4`},h={class:`flex justify-center gap-2 mb-10 flex-wrap`,id:`filter-tabs`},g=[`onClick`],_={class:`max-w-4xl mx-auto space-y-4`,id:`job-list`},ee=[`onClick`],te={class:`flex items-center gap-4`},v={class:`flex items-center gap-2 mb-1`},y={class:`text-slate-900 font-semibold text-base`},b={key:0,class:`text-xs bg-red-500/10 text-red-600 border border-red-500/20 px-2 py-0.5 rounded-full`},x={class:`flex items-center gap-3 text-slate-500 text-xs`},S={class:`flex items-center gap-6`},C={class:`text-right hidden sm:block`},w={class:`text-blue-600 font-bold text-sm`},T={key:0,class:`px-6 pb-6 border-t border-slate-200 pt-5`},E={class:`flex flex-wrap gap-2 mb-5`},D={class:`grid md:grid-cols-2 gap-6 mb-6`},O={class:`text-slate-600 text-sm leading-relaxed`},k={class:`space-y-1.5`},A={class:`flex items-center gap-3`},j=[`onClick`],M={class:`ml-auto sm:hidden text-blue-600 font-bold text-sm`},N={class:`max-w-6xl mx-auto grid grid-cols-1 md:grid-cols-2 gap-6 mb-8`,id:`benefits-grid`},P={class:`relative z-10 p-7`},F={class:`flex items-start justify-between mb-6`},I={class:`flex items-center gap-3`},ne={class:`w-12 h-12 rounded-2xl bg-slate-100 flex items-center justify-center text-2xl flex-shrink-0 border border-slate-200`},L={class:`text-slate-900 font-bold text-base leading-snug`},R={class:`text-slate-300 text-xs font-mono mt-1`},z={class:`space-y-3`},B={class:`text-base flex-shrink-0 mt-0.5 transition-transform duration-200 group-hover/item:scale-110`},V={class:`text-slate-600 text-sm leading-relaxed group-hover/item:text-slate-800 transition-colors duration-200`},H={class:`max-w-6xl mx-auto mt-6`},U={class:`relative rounded-3xl overflow-hidden border border-slate-200 bg-white p-10 text-center shadow-sm`},W={class:`relative z-10`},G={class:`flex justify-center gap-3 flex-wrap`},K=r({__name:`RecruitingView`,setup(r){let K=f(),q=[{id:1,title:`前端程序员(原生)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`JavaScript`,`HTML/CSS`,`TailwindCSS`],desc:`负责核心产品前端架构设计与开发,推动前端工程化建设,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年前端开发经验`,`熟悉原生生态`,`有大型项目架构经验优先`],hot:!0},{id:2,title:`前端程序员(React)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`React`,`JavaScript`,`HTML/CSS`],desc:`负责较边缘前端架构设计与开发,推动前端工程化建设,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年前端开发经验`,`熟悉 React 生态`,`有大型项目架构经验优先`],hot:!1},{id:3,title:`前端程序员(Node.js)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Node.js`,`JavaScript`,`HTML/CSS`],desc:`负责 Node.js 项目前端架构设计与开发,可能涉及部分桌面端应用开发,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年前端开发经验`,`熟悉 Node.js 生态`,`有大型项目架构经验优先`],hot:!0},{id:4,title:`后端程序员(Python Flask)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Python`,`Flask`,`SQLAlchemy`],desc:`负责 Python Flask 项目后端架构设计与开发,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年后端开发经验`,`熟悉 Python Flask 生态`,`有大型项目架构经验优先`],hot:!0},{id:5,title:`后端程序员(Python Django)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Python`,`Django`,`SQLAlchemy`],desc:`负责 Python Django 企业级项目后端架构设计与开发,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 4 年后端开发经验`,`熟悉 Python Django 生态`,`有大型项目架构经验优先`],hot:!0},{id:6,title:`后端程序员(C/C++)(服务器优化)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`C/C++`,`GCC`,`Makefile`,`Clang`,`AsyncIO`],desc:`负责后端项目核心设计(重写异步库,优化服务器 QPS 性能),参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 4 年后端开发经验`,`熟悉 C/C++ 生态`,`有大型项目架构经验优先`],hot:!0},{id:7,title:`程序员(C/C++/NASM)(操作系统)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`C/C++`,`Linux_ELF`,`x86_64`,`ARM`,`GCC`,`Makefile`,`Clang`,`操作系统架构设计`],desc:`负责后端项目核心设计(重写异步库,优化服务器 QPS 性能),参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年 C/C++ 开发经验`,`熟悉 C/C++ 生态`,`有大型项目架构经验优先`,`从其它类似项目跳岗优先`],hot:!0},{id:8,title:`程序员(C/C++/Python/Qt/Node.js)(桌面应用)`,department:`技术`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`C/C++`,`Python`,`Qt`,`Node.js`,`GCC`,`Makefile`,`Clang`],desc:`负责桌面端应用(如文件管理器、文本编辑器、ERP 系统、桌宠等)的前端架构设计与开发,参与技术选型与方案评审。`,requirements:[`14岁+`,`至少有 3 年 C/C++ 开发经验`,`熟悉 Qt/WebView 生态`,`有大型项目架构经验优先`],hot:!0},{id:9,title:`美术师(Photoshop/Illustrator)(UI/UX设计)`,department:`设计`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Photoshop`,`Illustrator`,`UI/UX设计`],desc:`负责设计用户界面(如应用程序、网站)的视觉元素,参与用户体验优化。`,requirements:[`14岁+`,`至少有 3 年 UI/UX 设计经验`,`熟悉 Photoshop/Illustrator 工具`],hot:!0},{id:10,title:`美术师(Photoshop/Illustrator/画世界等)(Furry 吉祥物 / 艺术插画设计)`,department:`设计`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Photoshop`,`Illustrator`,`Furry 吉祥物`,`艺术插画设计`],desc:`负责设计 Furry 吉祥物(如猫、狗、鸟、人等)的视觉元素,参与用户体验优化。`,requirements:[`14岁+`,`至少有 3 年 绘画经验(画龄)`,`熟悉 2D/3D 绘画工具(如 Photoshop、Illustrator)`,`熟悉人体解剖结构`],hot:!0},{id:11,title:`3D 建模设计师`,department:`设计`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`Photoshop`,`Illustrator`,`Blender`,`3DMax`,`等`],desc:`负责使用 Blender、3DMax 等 3D 建模工具设计 游戏 的 3D 模型,参与用户体验优化。`,requirements:[`14岁+`,`至少有 3 年 3D 建模经验`,`熟悉 Blender、3DMax 等 3D 建模工具`],hot:!0},{id:12,title:`项目经理`,department:`产品`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`C/C++`,`Python`,`Node.js`,`GCC`,`Makefile`,`Clang`,`Node.js`,`Photoshop`,`Illustrator`,`Blender`,`3DMax`,`Git`,`等`],desc:`负责项目管理(需求分析、项目计划、任务分配、进度监控、风险管理),参与技术选型与方案评审。`,requirements:[`14岁+`,`至少经手过 2 个中大型项目或 10 余个小型项目`,`熟悉 Git 等版本控制工具`],hot:!0},{id:13,title:`人力资源部负责人/成员`,department:`市场`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`微信`,`企业微信`,`QQ`,`等`],desc:`负责公司人力资源管理(员工招聘、培训、发展规划、绩效评估等),能说会道能挖人,能精准选取需要或预备需要的人才,参与公司人力资源策略制定。`,requirements:[`14岁+`,`至少经手过 2 个中大型项目或 10 余个小型项目`,`熟悉 Git 等版本控制工具`],hot:!0},{id:14,title:`剪辑师`,department:`产品`,location:`网络`,type:`远程`,salary:`非营利`,tags:[`剪辑`,`视频编辑`],desc:`负责视频剪辑(如视频编辑、视频拼接、视频剪辑等),参与视频内容创作。`,requirements:[`14岁+`,`至少有 1 年 视频剪辑经验`],hot:!0}],J=[`全部`,...Array.from(new Set(q.map(e=>e.department)))],Y=c(`全部`),X=c(null),Z=p(()=>Y.value===`全部`?q:q.filter(e=>e.department===Y.value));function re(e){Y.value=e,X.value=null}function ie(e){X.value=X.value===e?null:e}function Q(e){switch(e){case`技术`:return{bg:`bg-blue-500/10 text-blue-600`,emoji:`⚡`};case`产品`:return{bg:`bg-purple-500/10 text-purple-600`,emoji:`🧩`};case`设计`:return{bg:`bg-pink-500/10 text-pink-600`,emoji:`🎨`};case`运营`:return{bg:`bg-green-500/10 text-green-600`,emoji:`📈`};default:return{bg:`bg-orange-500/10 text-orange-600`,emoji:`📣`}}}function ae(e){K.push(`/Invite/Apply`)}function $(e){window.open(e,e.startsWith(`http`)?`_blank`:`_self`)}let oe=[{icon:`📦`,title:`成员福利`,badge:`免费申请`,badgeColor:`bg-emerald-500/10 text-emerald-600 border-emerald-500/20`,accentColor:`from-emerald-500/10 to-transparent`,borderColor:`hover:border-emerald-500/30`,glowColor:`bg-emerald-500/5`,items:[{icon:`📧`,text:`免费申请专属工作室邮箱,彰显你的身份`},{icon:`🖥️`,text:`每位成员均可申请一台免费云服务器`},{icon:`💰`,text:`表现出色?每个项目都有机会拿到专项奖金`},{icon:`💻`,text:`项目条件允许时,我们可能为你配备一台电脑`},{icon:`🎖️`,text:`贡献突出的成员将在下期视频中被点名表扬!`}]},{icon:`🕐`,title:`极其人性的作息`,badge:`弹性自由`,badgeColor:`bg-yellow-500/10 text-yellow-600 border-yellow-500/20`,accentColor:`from-yellow-500/10 to-transparent`,borderColor:`hover:border-yellow-500/30`,glowColor:`bg-yellow-500/5`,items:[{icon:`😅`,text:`说实话,作息制度……视情况而定`},{icon:`🌙`,text:`不强制打卡,不强制在线,随缘就好`},{icon:`🧘`,text:`核心宗旨只有一条:活着就行`},{icon:`☕`,text:`最重要的是心态放平,开心最重要`},{icon:`🎯`,text:`只要产出到位,过程你说了算`}]},{icon:`🏆`,title:`全国顶尖的工作室`,badge:`历史悠久`,badgeColor:`bg-blue-500/10 text-blue-600 border-blue-500/20`,accentColor:`from-blue-500/10 to-transparent`,borderColor:`hover:border-blue-500/30`,glowColor:`bg-blue-500/5`,items:[{icon:`📅`,text:`GVSDS 工作室创立于 2019 年,至今已走过数载风雨`},{icon:`🌟`,text:`历史悠久,积淀深厚,在同类工作室中首屈一指`},{icon:`🏅`,text:`工作室已取得多项卓越成就,实力有目共睹`},{icon:`🤝`,text:`加入一个有历史、有底蕴的团队,你不会后悔`},{icon:`✨`,text:`下一个被写进历史的,就是你!`}]},{icon:`🌐`,title:`丰富的资源`,badge:`8所合作`,badgeColor:`bg-purple-500/10 text-purple-600 border-purple-500/20`,accentColor:`from-purple-500/10 to-transparent`,borderColor:`hover:border-purple-500/30`,glowColor:`bg-purple-500/5`,items:[{icon:`🤝`,text:`已与全国 8 所工作室 / 社区正式达成战略合作`},{icon:`📚`,text:`海量学习资源、项目资源随时共享,应有尽有`},{icon:`🔗`,text:`跨工作室交流机会,拓宽你的视野与人脉`},{icon:`💡`,text:`多元化资源加持,让你的创意不再受限`},{icon:`🚀`,text:`来这里,体验全网最丰富的成员资源体系`}]}];return(r,c)=>(n(),d(`div`,m,[c[11]||=u(` 我们正在招募优秀人才
招贤 纳士 加入我们,与一群有理想、有激情的伙伴共同构建项目
`,2),i(`div`,h,[(n(),d(l,null,e(J,e=>i(`button`,{key:e,class:s([`px-5 py-2 rounded-full border text-sm font-medium transition-all duration-200 cursor-pointer`,Y.value===e?`bg-blue-500 text-white border-blue-500`:`bg-transparent text-slate-700 border-slate-200 hover:border-slate-400 hover:text-slate-900`]),onClick:t=>re(e)},t(e),11,g)),64))]),i(`div`,_,[(n(!0),d(l,null,e(Z.value,r=>(n(),d(`div`,{key:r.id,class:s([`group bg-white border rounded-2xl overflow-hidden transition-all duration-300 shadow-sm`,X.value===r.id?`border-blue-500/50`:`border-slate-200 hover:border-slate-300`])},[i(`div`,{class:`flex items-center justify-between p-6 cursor-pointer`,onClick:e=>ie(r.id)},[i(`div`,te,[i(`div`,{class:s([`w-11 h-11 rounded-xl flex items-center justify-center text-lg flex-shrink-0`,Q(r.department).bg])},t(Q(r.department).emoji),3),i(`div`,null,[i(`div`,v,[i(`span`,y,t(r.title),1),r.hot?(n(),d(`span`,b,`热招`)):a(``,!0)]),i(`div`,x,[i(`span`,null,`📍 `+t(r.location),1),i(`span`,null,`🏷 `+t(r.department),1),i(`span`,null,`⏱ `+t(r.type),1)])])]),i(`div`,S,[i(`div`,C,[i(`div`,w,t(r.salary),1),c[2]||=i(`div`,{class:`text-slate-400 text-xs`},`月薪`,-1)]),i(`div`,{class:s([`w-8 h-8 rounded-lg bg-slate-100 flex items-center justify-center transition-transform duration-300`,X.value===r.id?`rotate-180`:``])},[...c[3]||=[i(`svg`,{class:`w-4 h-4 text-slate-600`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M19 9l-7 7-7-7`})],-1)]],2)])],8,ee),X.value===r.id?(n(),d(`div`,T,[i(`div`,E,[(n(!0),d(l,null,e(r.tags,e=>(n(),d(`span`,{key:e,class:`text-xs bg-slate-100 text-slate-700 px-3 py-1 rounded-md border border-slate-200`},t(e),1))),128))]),i(`div`,D,[i(`div`,null,[c[4]||=i(`h4`,{class:`text-slate-800 font-medium text-sm mb-2 flex items-center gap-1.5`},[i(`span`,{class:`w-1 h-3.5 bg-blue-500 rounded-full inline-block`}),o(`岗位描述`)],-1),i(`p`,O,t(r.desc),1)]),i(`div`,null,[c[6]||=i(`h4`,{class:`text-slate-800 font-medium text-sm mb-2 flex items-center gap-1.5`},[i(`span`,{class:`w-1 h-3.5 bg-cyan-500 rounded-full inline-block`}),o(`任职要求`)],-1),i(`ul`,k,[(n(!0),d(l,null,e(r.requirements,e=>(n(),d(`li`,{key:e,class:`text-slate-600 text-sm flex items-start gap-2`},[c[5]||=i(`span`,{class:`text-cyan-600 mt-0.5 flex-shrink-0`},`✓`,-1),o(t(e),1)]))),128))])])]),i(`div`,A,[i(`button`,{class:`bg-gradient-to-r from-blue-500 to-cyan-500 hover:from-blue-600 hover:to-cyan-600 text-white text-sm font-medium px-6 py-2.5 rounded-lg transition-all duration-200 cursor-pointer`,onClick:e=>ae(r)},`立即申请`,8,j),c[8]||=i(`button`,{class:`border border-slate-200 hover:border-slate-400 text-slate-700 hover:text-slate-900 text-sm px-5 py-2.5 rounded-lg transition-all duration-200 cursor-pointer`},`转发给朋友`,-1),i(`div`,M,[o(t(r.salary),1),c[7]||=i(`span`,{class:`text-slate-400 text-xs font-normal`},` /月`,-1)])])])):a(``,!0)],2))),128))]),c[12]||=u(` 为什么选择我们
加入我们, 能获得什么 我们相信每一位成员都值得被看见、被支持、被表扬
`,1),i(`div`,N,[(n(),d(l,null,e(oe,(r,a)=>i(`div`,{key:r.title,class:s([`group relative rounded-2xl border border-slate-200 bg-white overflow-hidden transition-all duration-300 hover:-translate-y-1 hover:shadow-md hover:shadow-slate-100`,r.borderColor])},[i(`div`,{class:s([`absolute top-0 left-0 right-0 h-px bg-gradient-to-r`,r.accentColor])},null,2),i(`div`,{class:s([`absolute inset-0 opacity-0 group-hover:opacity-100 transition-opacity duration-500 pointer-events-none`,r.glowColor])},null,2),i(`div`,P,[i(`div`,F,[i(`div`,I,[i(`div`,ne,t(r.icon),1),i(`div`,null,[i(`h3`,L,t(r.title),1),i(`span`,{class:s([`inline-block mt-1 text-xs border px-2.5 py-0.5 rounded-full`,r.badgeColor])},t(r.badge),3)])]),i(`span`,R,`0`+t(a+1),1)]),i(`ul`,z,[(n(!0),d(l,null,e(r.items,e=>(n(),d(`li`,{key:e.text,class:`flex items-start gap-3 group/item`},[i(`span`,B,t(e.icon),1),i(`span`,V,t(e.text),1)]))),128))])])],2)),64))]),i(`div`,H,[i(`div`,U,[c[10]||=i(`div`,{class:`absolute inset-0 pointer-events-none`},[i(`div`,{class:`absolute -top-20 left-1/2 -translate-x-1/2 w-96 h-40 bg-blue-500/5 rounded-full blur-3xl`}),i(`div`,{class:`absolute -bottom-10 left-1/4 w-64 h-32 bg-emerald-500/5 rounded-full blur-3xl`}),i(`div`,{class:`absolute -bottom-10 right-1/4 w-64 h-32 bg-cyan-500/5 rounded-full blur-3xl`})],-1),i(`div`,W,[c[9]||=u(`🚀
还在等什么? GVSDS 工作室欢迎每一位有想法、有热情的你。 不论你是前端、后端、设计还是运营,这里都有你的位置。
`,4),i(`div`,G,[i(`button`,{class:`bg-gradient-to-r from-emerald-500 to-cyan-500 hover:from-emerald-600 hover:to-cyan-600 text-white font-medium px-8 py-3 rounded-xl transition-all duration-200 text-sm shadow-md shadow-emerald-500/10 cursor-pointer`,onClick:c[0]||=e=>$(`mailto:hr@gvsds.com`)},` 立即加入我们 `),i(`button`,{class:`border border-slate-200 hover:border-slate-400 text-slate-700 hover:text-slate-900 px-8 py-3 rounded-xl transition-all duration-200 text-sm cursor-pointer`,onClick:c[1]||=e=>$(`https://www.gvsds.com/`)},` 了解更多 `)])])])])]))}});export{K as default};
\ No newline at end of file
diff --git a/TempLate/assets/RegisterView-B5UdoQw7.js b/TempLate/assets/RegisterView-B5UdoQw7.js
new file mode 100644
index 00000000..7e84ae50
--- /dev/null
+++ b/TempLate/assets/RegisterView-B5UdoQw7.js
@@ -0,0 +1 @@
+import{D as e,M as t,N as n,S as r,_ as i,b as a,c as o,d as s,f as c,h as l,k as u,m as d,o as f,p,r as m}from"./index-CUry87of.js";import{t as h}from"./_plugin-vue_export-helper-BDNMzG2s.js";var g={class:`relative min-h-screen flex items-center justify-center bg-gray-50 dark:bg-gray-100 p-4`},_={class:`w-full md:w-1/2 max-w-md opacity-0 translate-x-[20px] animate-fade-in-right`},v={class:`bg-white dark:bg-gray-50 rounded-xl shadow-xl overflow-visible transition-all duration-300 hover:shadow-purple-500/5`},y={id:`toastWrap`,class:`px-6 pt-6`},b={class:`p-6 pt-0`},x={class:`relative`},S={class:`relative`},C={class:`relative`},w={class:`relative`},T={class:`flex items-start`},E={class:`flex items-center h-5`},D={class:`pt-2`},O=[`disabled`],k={key:0,class:`fa fa-spinner fa-spin mr-2`},A=h(i({__name:`RegisterView`,setup(i){let h=u(``),A=u(``),j=u(``),M=u(``),N=u(!1),P=u(!1),F=u(``),I=u(`error`);function L(e,t=`error`){F.value=e,I.value=t}async function R(){if(!N.value){L(`必须阅读并同意用户协议`);return}if(j.value!==M.value){L(`两次输入的密码不一致,请重新输入`);return}P.value=!0;try{let e=new FormData;e.append(`UserName`,h.value),e.append(`UserEmail`,A.value),e.append(`UserPassword`,j.value),e.append(`UserPassword2`,M.value),e.append(`UserConsent`,N.value?`true`:`false`);let t=await(await fetch(`https://ugm.gvsds.com/Auth/Register`,{method:`POST`,credentials:`include`,body:e})).json();P.value=!1,t.code===0?(L(`注册成功,即将跳转...`,`success`),setTimeout(()=>{window.location.href=`https://gerp.gvsds.com/`},500)):L(t.msg||`注册失败`)}catch(e){P.value=!1,L(`网络错误:`+e.message)}}return a(()=>{let e=new URLSearchParams(window.location.search).get(`msg`);e&&L(e,`error`)}),(i,a)=>(r(),p(`div`,g,[a[12]||=d(`
G-ERP 账号注册 填写以下信息完成注册,账号将用于在所有 GVSDS 下属平台访问 请确保信息真实有效,注册后信息可在后台修改
`,1),s(`div`,_,[s(`div`,v,[a[11]||=s(`div`,{class:`relative h-24`},[s(`img`,{src:`https://bing.img.run/uhd.php`,alt:`Card image`,class:`w-full h-full object-cover`}),s(`div`,{class:`absolute inset-0 bg-gradient-to-t from-white to-transparent`}),s(`h4`,{class:`absolute bottom-4 left-6 text-xl font-bold text-gray-900`},`注册`)],-1),s(`div`,y,[F.value?(r(),p(`div`,{key:0,id:`RegisterToast`,class:`mb-4 p-3 rounded-lg animate-fade-in`,style:t({color:I.value===`error`?`#dc2626`:`#16a34a`,background:I.value===`error`?`#fef2f2`:`#f0fdf4`,border:I.value===`error`?`1px solid #fecaca`:`1px solid #bbf7d0`})},n(F.value),5)):c(``,!0)]),s(`div`,b,[s(`form`,{class:`space-y-4`,id:`registerForm`,onSubmit:o(R,[`prevent`])},[s(`div`,x,[a[5]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-single-02 text-gray-500 input-icon`})],-1),e(s(`input`,{type:`text`,name:`UserName`,"onUpdate:modelValue":a[0]||=e=>h.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`昵称`,required:``},null,512),[[f,h.value]])]),s(`div`,S,[a[6]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-email-85 text-gray-500 input-icon`})],-1),e(s(`input`,{type:`email`,name:`UserEmail`,"onUpdate:modelValue":a[1]||=e=>A.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`邮箱(注意:请填写有效的邮箱)`,required:``},null,512),[[f,A.value]])]),s(`div`,C,[a[7]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-lock-circle text-gray-500 input-icon`})],-1),e(s(`input`,{type:`password`,name:`UserPassword`,"onUpdate:modelValue":a[2]||=e=>j.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`密码`,required:``},null,512),[[f,j.value]])]),s(`div`,w,[a[8]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-lock-circle text-gray-500 input-icon`})],-1),e(s(`input`,{type:`password`,name:`UserPassword2`,"onUpdate:modelValue":a[3]||=e=>M.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`重复密码`,required:``},null,512),[[f,M.value]])]),s(`div`,T,[s(`div`,E,[e(s(`input`,{id:`UserConsent`,name:`UserConsent`,type:`checkbox`,"onUpdate:modelValue":a[4]||=e=>N.value=e,class:`w-4 h-4 rounded border-gray-300 text-purple-500 focus:ring-purple-500 bg-gray-100 transition-all duration-200 hover:border-gray-400 checked:scale-[0.95]`,required:``},null,512),[[m,N.value]])]),a[9]||=s(`div`,{class:`ml-3 text-sm`},[s(`label`,{for:`UserConsent`,class:`text-gray-700 transition-colors duration-200 hover:text-gray-900`},[l(` 我阅读并同意 `),s(`a`,{href:`/Document/9bc298e9c1d03ed3bd4777181bf7411d/d2ae1dd63e9c35d687464a160896e1ab`,target:`_blank`,class:`text-purple-600 hover:underline transition-colors duration-200 hover:text-purple-700`},`GVSDS用户协议`)])],-1)]),a[10]||=s(`div`,{class:`text-sm text-gray-700`},[l(` 我已有账号,去 `),s(`a`,{href:`/#/login`,class:`text-purple-600 hover:underline transition-colors duration-200 hover:text-purple-700`},`登录`)],-1),s(`div`,D,[s(`button`,{type:`submit`,disabled:P.value,class:`w-full py-3 px-4 bg-purple-500 hover:bg-purple-600 rounded-lg text-white font-medium transition-all duration-200 flex items-center justify-center hover:scale-[1.02] active:scale-[0.98] hover:shadow-lg hover:shadow-purple-500/10 disabled:opacity-60 disabled:cursor-not-allowed`},[P.value?(r(),p(`i`,k)):c(``,!0),l(` `+n(P.value?`注册中...`:`注册`),1)],8,O)])],32)])])])]))}}),[[`__scopeId`,`data-v-abf56836`]]);export{A as default};
\ No newline at end of file
diff --git a/TempLate/assets/RegisterView-CDJpzars.js b/TempLate/assets/RegisterView-CDJpzars.js
new file mode 100644
index 00000000..d914d0a3
--- /dev/null
+++ b/TempLate/assets/RegisterView-CDJpzars.js
@@ -0,0 +1 @@
+import{D as e,M as t,N as n,S as r,_ as i,b as a,c as o,d as s,f as c,h as l,k as u,m as d,o as f,p,r as m}from"./index-CMhybB9x.js";import{t as h}from"./_plugin-vue_export-helper-BDNMzG2s.js";var g={class:`relative min-h-screen flex items-center justify-center bg-gray-50 dark:bg-gray-100 p-4`},_={class:`w-full md:w-1/2 max-w-md opacity-0 translate-x-[20px] animate-fade-in-right`},v={class:`bg-white dark:bg-gray-50 rounded-xl shadow-xl overflow-visible transition-all duration-300 hover:shadow-purple-500/5`},y={id:`toastWrap`,class:`px-6 pt-6`},b={class:`p-6 pt-0`},x={class:`relative`},S={class:`relative`},C={class:`relative`},w={class:`relative`},T={class:`flex items-start`},E={class:`flex items-center h-5`},D={class:`pt-2`},O=[`disabled`],k={key:0,class:`fa fa-spinner fa-spin mr-2`},A=h(i({__name:`RegisterView`,setup(i){let h=u(``),A=u(``),j=u(``),M=u(``),N=u(!1),P=u(!1),F=u(``),I=u(`error`);function L(e,t=`error`){F.value=e,I.value=t}async function R(){if(!N.value){L(`必须阅读并同意用户协议`);return}if(j.value!==M.value){L(`两次输入的密码不一致,请重新输入`);return}P.value=!0;try{let e=new FormData;e.append(`UserName`,h.value),e.append(`UserEmail`,A.value),e.append(`UserPassword`,j.value),e.append(`UserPassword2`,M.value),e.append(`UserConsent`,N.value?`true`:`false`);let t=await(await fetch(`https://ugm.gvsds.com/Auth/Register`,{method:`POST`,credentials:`include`,body:e})).json();P.value=!1,t.code===0?(L(`注册成功,即将跳转...`,`success`),setTimeout(()=>{window.location.href=`https://gerp.gvsds.com/`},500)):L(t.msg||`注册失败`)}catch(e){P.value=!1,L(`网络错误:`+e.message)}}return a(()=>{let e=new URLSearchParams(window.location.search).get(`msg`);e&&L(e,`error`)}),(i,a)=>(r(),p(`div`,g,[a[12]||=d(`
G-ERP 账号注册 填写以下信息完成注册,账号将用于在所有 GVSDS 下属平台访问 请确保信息真实有效,注册后信息可在后台修改
`,1),s(`div`,_,[s(`div`,v,[a[11]||=s(`div`,{class:`relative h-24`},[s(`img`,{src:`https://bing.img.run/uhd.php`,alt:`Card image`,class:`w-full h-full object-cover`}),s(`div`,{class:`absolute inset-0 bg-gradient-to-t from-white to-transparent`}),s(`h4`,{class:`absolute bottom-4 left-6 text-xl font-bold text-gray-900`},`注册`)],-1),s(`div`,y,[F.value?(r(),p(`div`,{key:0,id:`RegisterToast`,class:`mb-4 p-3 rounded-lg animate-fade-in`,style:t({color:I.value===`error`?`#dc2626`:`#16a34a`,background:I.value===`error`?`#fef2f2`:`#f0fdf4`,border:I.value===`error`?`1px solid #fecaca`:`1px solid #bbf7d0`})},n(F.value),5)):c(``,!0)]),s(`div`,b,[s(`form`,{class:`space-y-4`,id:`registerForm`,onSubmit:o(R,[`prevent`])},[s(`div`,x,[a[5]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-single-02 text-gray-500 input-icon`})],-1),e(s(`input`,{type:`text`,name:`UserName`,"onUpdate:modelValue":a[0]||=e=>h.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`昵称`,required:``},null,512),[[f,h.value]])]),s(`div`,S,[a[6]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-email-85 text-gray-500 input-icon`})],-1),e(s(`input`,{type:`email`,name:`UserEmail`,"onUpdate:modelValue":a[1]||=e=>A.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`邮箱(注意:请填写有效的邮箱)`,required:``},null,512),[[f,A.value]])]),s(`div`,C,[a[7]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-lock-circle text-gray-500 input-icon`})],-1),e(s(`input`,{type:`password`,name:`UserPassword`,"onUpdate:modelValue":a[2]||=e=>j.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`密码`,required:``},null,512),[[f,j.value]])]),s(`div`,w,[a[8]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-lock-circle text-gray-500 input-icon`})],-1),e(s(`input`,{type:`password`,name:`UserPassword2`,"onUpdate:modelValue":a[3]||=e=>M.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`重复密码`,required:``},null,512),[[f,M.value]])]),s(`div`,T,[s(`div`,E,[e(s(`input`,{id:`UserConsent`,name:`UserConsent`,type:`checkbox`,"onUpdate:modelValue":a[4]||=e=>N.value=e,class:`w-4 h-4 rounded border-gray-300 text-purple-500 focus:ring-purple-500 bg-gray-100 transition-all duration-200 hover:border-gray-400 checked:scale-[0.95]`,required:``},null,512),[[m,N.value]])]),a[9]||=s(`div`,{class:`ml-3 text-sm`},[s(`label`,{for:`UserConsent`,class:`text-gray-700 transition-colors duration-200 hover:text-gray-900`},[l(` 我阅读并同意 `),s(`a`,{href:`/Document/9bc298e9c1d03ed3bd4777181bf7411d/d2ae1dd63e9c35d687464a160896e1ab`,target:`_blank`,class:`text-purple-600 hover:underline transition-colors duration-200 hover:text-purple-700`},`GVSDS用户协议`)])],-1)]),a[10]||=s(`div`,{class:`text-sm text-gray-700`},[l(` 我已有账号,去 `),s(`a`,{href:`/#/login`,class:`text-purple-600 hover:underline transition-colors duration-200 hover:text-purple-700`},`登录`)],-1),s(`div`,D,[s(`button`,{type:`submit`,disabled:P.value,class:`w-full py-3 px-4 bg-purple-500 hover:bg-purple-600 rounded-lg text-white font-medium transition-all duration-200 flex items-center justify-center hover:scale-[1.02] active:scale-[0.98] hover:shadow-lg hover:shadow-purple-500/10 disabled:opacity-60 disabled:cursor-not-allowed`},[P.value?(r(),p(`i`,k)):c(``,!0),l(` `+n(P.value?`注册中...`:`注册`),1)],8,O)])],32)])])])]))}}),[[`__scopeId`,`data-v-abf56836`]]);export{A as default};
\ No newline at end of file
diff --git a/TempLate/assets/RegisterView-CHUZu6-S.js b/TempLate/assets/RegisterView-CHUZu6-S.js
new file mode 100644
index 00000000..290a704b
--- /dev/null
+++ b/TempLate/assets/RegisterView-CHUZu6-S.js
@@ -0,0 +1 @@
+import{D as e,M as t,N as n,S as r,_ as i,b as a,c as o,d as s,f as c,h as l,k as u,m as d,o as f,p,r as m}from"./index-PMfCvoYM.js";import{t as h}from"./_plugin-vue_export-helper-BDNMzG2s.js";var g={class:`relative min-h-screen flex items-center justify-center bg-gray-50 dark:bg-gray-100 p-4`},_={class:`w-full md:w-1/2 max-w-md opacity-0 translate-x-[20px] animate-fade-in-right`},v={class:`bg-white dark:bg-gray-50 rounded-xl shadow-xl overflow-visible transition-all duration-300 hover:shadow-purple-500/5`},y={id:`toastWrap`,class:`px-6 pt-6`},b={class:`p-6 pt-0`},x={class:`relative`},S={class:`relative`},C={class:`relative`},w={class:`relative`},T={class:`flex items-start`},E={class:`flex items-center h-5`},D={class:`pt-2`},O=[`disabled`],k={key:0,class:`fa fa-spinner fa-spin mr-2`},A=h(i({__name:`RegisterView`,setup(i){let h=u(``),A=u(``),j=u(``),M=u(``),N=u(!1),P=u(!1),F=u(``),I=u(`error`);function L(e,t=`error`){F.value=e,I.value=t}async function R(){if(!N.value){L(`必须阅读并同意用户协议`);return}if(j.value!==M.value){L(`两次输入的密码不一致,请重新输入`);return}P.value=!0;try{let e=new FormData;e.append(`UserName`,h.value),e.append(`UserEmail`,A.value),e.append(`UserPassword`,j.value),e.append(`UserPassword2`,M.value),e.append(`UserConsent`,N.value?`true`:`false`);let t=await(await fetch(`https://ugm.gvsds.com/Auth/Register`,{method:`POST`,credentials:`include`,body:e})).json();P.value=!1,t.code===0?(L(`注册成功,即将跳转...`,`success`),setTimeout(()=>{window.location.href=`https://gerp.gvsds.com/`},500)):L(t.msg||`注册失败`)}catch(e){P.value=!1,L(`网络错误:`+e.message)}}return a(()=>{let e=new URLSearchParams(window.location.search).get(`msg`);e&&L(e,`error`)}),(i,a)=>(r(),p(`div`,g,[a[12]||=d(`
G-ERP 账号注册 填写以下信息完成注册,账号将用于在所有 GVSDS 下属平台访问 请确保信息真实有效,注册后信息可在后台修改
`,1),s(`div`,_,[s(`div`,v,[a[11]||=s(`div`,{class:`relative h-24`},[s(`img`,{src:`https://bing.img.run/uhd.php`,alt:`Card image`,class:`w-full h-full object-cover`}),s(`div`,{class:`absolute inset-0 bg-gradient-to-t from-white to-transparent`}),s(`h4`,{class:`absolute bottom-4 left-6 text-xl font-bold text-gray-900`},`注册`)],-1),s(`div`,y,[F.value?(r(),p(`div`,{key:0,id:`RegisterToast`,class:`mb-4 p-3 rounded-lg animate-fade-in`,style:t({color:I.value===`error`?`#dc2626`:`#16a34a`,background:I.value===`error`?`#fef2f2`:`#f0fdf4`,border:I.value===`error`?`1px solid #fecaca`:`1px solid #bbf7d0`})},n(F.value),5)):c(``,!0)]),s(`div`,b,[s(`form`,{class:`space-y-4`,id:`registerForm`,onSubmit:o(R,[`prevent`])},[s(`div`,x,[a[5]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-single-02 text-gray-500 input-icon`})],-1),e(s(`input`,{type:`text`,name:`UserName`,"onUpdate:modelValue":a[0]||=e=>h.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`昵称`,required:``},null,512),[[f,h.value]])]),s(`div`,S,[a[6]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-email-85 text-gray-500 input-icon`})],-1),e(s(`input`,{type:`email`,name:`UserEmail`,"onUpdate:modelValue":a[1]||=e=>A.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`邮箱(注意:请填写有效的邮箱)`,required:``},null,512),[[f,A.value]])]),s(`div`,C,[a[7]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-lock-circle text-gray-500 input-icon`})],-1),e(s(`input`,{type:`password`,name:`UserPassword`,"onUpdate:modelValue":a[2]||=e=>j.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`密码`,required:``},null,512),[[f,j.value]])]),s(`div`,w,[a[8]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-lock-circle text-gray-500 input-icon`})],-1),e(s(`input`,{type:`password`,name:`UserPassword2`,"onUpdate:modelValue":a[3]||=e=>M.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`重复密码`,required:``},null,512),[[f,M.value]])]),s(`div`,T,[s(`div`,E,[e(s(`input`,{id:`UserConsent`,name:`UserConsent`,type:`checkbox`,"onUpdate:modelValue":a[4]||=e=>N.value=e,class:`w-4 h-4 rounded border-gray-300 text-purple-500 focus:ring-purple-500 bg-gray-100 transition-all duration-200 hover:border-gray-400 checked:scale-[0.95]`,required:``},null,512),[[m,N.value]])]),a[9]||=s(`div`,{class:`ml-3 text-sm`},[s(`label`,{for:`UserConsent`,class:`text-gray-700 transition-colors duration-200 hover:text-gray-900`},[l(` 我阅读并同意 `),s(`a`,{href:`/Document/9bc298e9c1d03ed3bd4777181bf7411d/d2ae1dd63e9c35d687464a160896e1ab`,target:`_blank`,class:`text-purple-600 hover:underline transition-colors duration-200 hover:text-purple-700`},`GVSDS用户协议`)])],-1)]),a[10]||=s(`div`,{class:`text-sm text-gray-700`},[l(` 我已有账号,去 `),s(`a`,{href:`/#/login`,class:`text-purple-600 hover:underline transition-colors duration-200 hover:text-purple-700`},`登录`)],-1),s(`div`,D,[s(`button`,{type:`submit`,disabled:P.value,class:`w-full py-3 px-4 bg-purple-500 hover:bg-purple-600 rounded-lg text-white font-medium transition-all duration-200 flex items-center justify-center hover:scale-[1.02] active:scale-[0.98] hover:shadow-lg hover:shadow-purple-500/10 disabled:opacity-60 disabled:cursor-not-allowed`},[P.value?(r(),p(`i`,k)):c(``,!0),l(` `+n(P.value?`注册中...`:`注册`),1)],8,O)])],32)])])])]))}}),[[`__scopeId`,`data-v-abf56836`]]);export{A as default};
\ No newline at end of file
diff --git a/TempLate/assets/RegisterView-DD7eyMx8.js b/TempLate/assets/RegisterView-DD7eyMx8.js
new file mode 100644
index 00000000..e04bac67
--- /dev/null
+++ b/TempLate/assets/RegisterView-DD7eyMx8.js
@@ -0,0 +1 @@
+import{D as e,M as t,N as n,S as r,_ as i,b as a,c as o,d as s,f as c,h as l,k as u,m as d,o as f,p,r as m}from"./index-CJXuAy0L.js";import{t as h}from"./_plugin-vue_export-helper-BDNMzG2s.js";var g={class:`relative min-h-screen flex items-center justify-center bg-gray-50 dark:bg-gray-100 p-4`},_={class:`w-full md:w-1/2 max-w-md opacity-0 translate-x-[20px] animate-fade-in-right`},v={class:`bg-white dark:bg-gray-50 rounded-xl shadow-xl overflow-visible transition-all duration-300 hover:shadow-purple-500/5`},y={id:`toastWrap`,class:`px-6 pt-6`},b={class:`p-6 pt-0`},x={class:`relative`},S={class:`relative`},C={class:`relative`},w={class:`relative`},T={class:`flex items-start`},E={class:`flex items-center h-5`},D={class:`pt-2`},O=[`disabled`],k={key:0,class:`fa fa-spinner fa-spin mr-2`},A=h(i({__name:`RegisterView`,setup(i){let h=u(``),A=u(``),j=u(``),M=u(``),N=u(!1),P=u(!1),F=u(``),I=u(`error`);function L(e,t=`error`){F.value=e,I.value=t}async function R(){if(!N.value){L(`必须阅读并同意用户协议`);return}if(j.value!==M.value){L(`两次输入的密码不一致,请重新输入`);return}P.value=!0;try{let e=new FormData;e.append(`UserName`,h.value),e.append(`UserEmail`,A.value),e.append(`UserPassword`,j.value),e.append(`UserPassword2`,M.value),e.append(`UserConsent`,N.value?`true`:`false`);let t=await(await fetch(`https://ugm.gvsds.com/Auth/Register`,{method:`POST`,credentials:`include`,body:e})).json();P.value=!1,t.code===0?(L(`注册成功,即将跳转...`,`success`),setTimeout(()=>{window.location.href=`https://gerp.gvsds.com/`},500)):L(t.msg||`注册失败`)}catch(e){P.value=!1,L(`网络错误:`+e.message)}}return a(()=>{let e=new URLSearchParams(window.location.search).get(`msg`);e&&L(e,`error`)}),(i,a)=>(r(),p(`div`,g,[a[12]||=d(`
G-ERP 账号注册 填写以下信息完成注册,账号将用于在所有 GVSDS 下属平台访问 请确保信息真实有效,注册后信息可在后台修改
`,1),s(`div`,_,[s(`div`,v,[a[11]||=s(`div`,{class:`relative h-24`},[s(`img`,{src:`https://bing.img.run/uhd.php`,alt:`Card image`,class:`w-full h-full object-cover`}),s(`div`,{class:`absolute inset-0 bg-gradient-to-t from-white to-transparent`}),s(`h4`,{class:`absolute bottom-4 left-6 text-xl font-bold text-gray-900`},`注册`)],-1),s(`div`,y,[F.value?(r(),p(`div`,{key:0,id:`RegisterToast`,class:`mb-4 p-3 rounded-lg animate-fade-in`,style:t({color:I.value===`error`?`#dc2626`:`#16a34a`,background:I.value===`error`?`#fef2f2`:`#f0fdf4`,border:I.value===`error`?`1px solid #fecaca`:`1px solid #bbf7d0`})},n(F.value),5)):c(``,!0)]),s(`div`,b,[s(`form`,{class:`space-y-4`,id:`registerForm`,onSubmit:o(R,[`prevent`])},[s(`div`,x,[a[5]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-single-02 text-gray-500 input-icon`})],-1),e(s(`input`,{type:`text`,name:`UserName`,"onUpdate:modelValue":a[0]||=e=>h.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`昵称`,required:``},null,512),[[f,h.value]])]),s(`div`,S,[a[6]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-email-85 text-gray-500 input-icon`})],-1),e(s(`input`,{type:`email`,name:`UserEmail`,"onUpdate:modelValue":a[1]||=e=>A.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`邮箱(注意:请填写有效的邮箱)`,required:``},null,512),[[f,A.value]])]),s(`div`,C,[a[7]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-lock-circle text-gray-500 input-icon`})],-1),e(s(`input`,{type:`password`,name:`UserPassword`,"onUpdate:modelValue":a[2]||=e=>j.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`密码`,required:``},null,512),[[f,j.value]])]),s(`div`,w,[a[8]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-lock-circle text-gray-500 input-icon`})],-1),e(s(`input`,{type:`password`,name:`UserPassword2`,"onUpdate:modelValue":a[3]||=e=>M.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`重复密码`,required:``},null,512),[[f,M.value]])]),s(`div`,T,[s(`div`,E,[e(s(`input`,{id:`UserConsent`,name:`UserConsent`,type:`checkbox`,"onUpdate:modelValue":a[4]||=e=>N.value=e,class:`w-4 h-4 rounded border-gray-300 text-purple-500 focus:ring-purple-500 bg-gray-100 transition-all duration-200 hover:border-gray-400 checked:scale-[0.95]`,required:``},null,512),[[m,N.value]])]),a[9]||=s(`div`,{class:`ml-3 text-sm`},[s(`label`,{for:`UserConsent`,class:`text-gray-700 transition-colors duration-200 hover:text-gray-900`},[l(` 我阅读并同意 `),s(`a`,{href:`/Document/9bc298e9c1d03ed3bd4777181bf7411d/d2ae1dd63e9c35d687464a160896e1ab`,target:`_blank`,class:`text-purple-600 hover:underline transition-colors duration-200 hover:text-purple-700`},`GVSDS用户协议`)])],-1)]),a[10]||=s(`div`,{class:`text-sm text-gray-700`},[l(` 我已有账号,去 `),s(`a`,{href:`/#/login`,class:`text-purple-600 hover:underline transition-colors duration-200 hover:text-purple-700`},`登录`)],-1),s(`div`,D,[s(`button`,{type:`submit`,disabled:P.value,class:`w-full py-3 px-4 bg-purple-500 hover:bg-purple-600 rounded-lg text-white font-medium transition-all duration-200 flex items-center justify-center hover:scale-[1.02] active:scale-[0.98] hover:shadow-lg hover:shadow-purple-500/10 disabled:opacity-60 disabled:cursor-not-allowed`},[P.value?(r(),p(`i`,k)):c(``,!0),l(` `+n(P.value?`注册中...`:`注册`),1)],8,O)])],32)])])])]))}}),[[`__scopeId`,`data-v-abf56836`]]);export{A as default};
\ No newline at end of file
diff --git a/TempLate/assets/RegisterView-DJcPdeWb.js b/TempLate/assets/RegisterView-DJcPdeWb.js
new file mode 100644
index 00000000..90074b49
--- /dev/null
+++ b/TempLate/assets/RegisterView-DJcPdeWb.js
@@ -0,0 +1 @@
+import{D as e,M as t,N as n,S as r,_ as i,b as a,c as o,d as s,f as c,h as l,k as u,m as d,o as f,p,r as m}from"./index-BM-LFFI_.js";import{t as h}from"./_plugin-vue_export-helper-BDNMzG2s.js";var g={class:`relative min-h-screen flex items-center justify-center bg-gray-50 dark:bg-gray-100 p-4`},_={class:`w-full md:w-1/2 max-w-md opacity-0 translate-x-[20px] animate-fade-in-right`},v={class:`bg-white dark:bg-gray-50 rounded-xl shadow-xl overflow-visible transition-all duration-300 hover:shadow-purple-500/5`},y={id:`toastWrap`,class:`px-6 pt-6`},b={class:`p-6 pt-0`},x={class:`relative`},S={class:`relative`},C={class:`relative`},w={class:`relative`},T={class:`flex items-start`},E={class:`flex items-center h-5`},D={class:`pt-2`},O=[`disabled`],k={key:0,class:`fa fa-spinner fa-spin mr-2`},A=h(i({__name:`RegisterView`,setup(i){let h=u(``),A=u(``),j=u(``),M=u(``),N=u(!1),P=u(!1),F=u(``),I=u(`error`);function L(e,t=`error`){F.value=e,I.value=t}async function R(){if(!N.value){L(`必须阅读并同意用户协议`);return}if(j.value!==M.value){L(`两次输入的密码不一致,请重新输入`);return}P.value=!0;try{let e=new FormData;e.append(`UserName`,h.value),e.append(`UserEmail`,A.value),e.append(`UserPassword`,j.value),e.append(`UserPassword2`,M.value),e.append(`UserConsent`,N.value?`true`:`false`);let t=await(await fetch(`https://ugm.gvsds.com/Auth/Register`,{method:`POST`,credentials:`include`,body:e})).json();P.value=!1,t.code===0?(L(`注册成功,即将跳转...`,`success`),setTimeout(()=>{window.location.href=`https://gerp.gvsds.com/`},500)):L(t.msg||`注册失败`)}catch(e){P.value=!1,L(`网络错误:`+e.message)}}return a(()=>{let e=new URLSearchParams(window.location.search).get(`msg`);e&&L(e,`error`)}),(i,a)=>(r(),p(`div`,g,[a[12]||=d(`
G-ERP 账号注册 填写以下信息完成注册,账号将用于在所有 GVSDS 下属平台访问 请确保信息真实有效,注册后信息可在后台修改
`,1),s(`div`,_,[s(`div`,v,[a[11]||=s(`div`,{class:`relative h-24`},[s(`img`,{src:`https://bing.img.run/uhd.php`,alt:`Card image`,class:`w-full h-full object-cover`}),s(`div`,{class:`absolute inset-0 bg-gradient-to-t from-white to-transparent`}),s(`h4`,{class:`absolute bottom-4 left-6 text-xl font-bold text-gray-900`},`注册`)],-1),s(`div`,y,[F.value?(r(),p(`div`,{key:0,id:`RegisterToast`,class:`mb-4 p-3 rounded-lg animate-fade-in`,style:t({color:I.value===`error`?`#dc2626`:`#16a34a`,background:I.value===`error`?`#fef2f2`:`#f0fdf4`,border:I.value===`error`?`1px solid #fecaca`:`1px solid #bbf7d0`})},n(F.value),5)):c(``,!0)]),s(`div`,b,[s(`form`,{class:`space-y-4`,id:`registerForm`,onSubmit:o(R,[`prevent`])},[s(`div`,x,[a[5]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-single-02 text-gray-500 input-icon`})],-1),e(s(`input`,{type:`text`,name:`UserName`,"onUpdate:modelValue":a[0]||=e=>h.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`昵称`,required:``},null,512),[[f,h.value]])]),s(`div`,S,[a[6]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-email-85 text-gray-500 input-icon`})],-1),e(s(`input`,{type:`email`,name:`UserEmail`,"onUpdate:modelValue":a[1]||=e=>A.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`邮箱(注意:请填写有效的邮箱)`,required:``},null,512),[[f,A.value]])]),s(`div`,C,[a[7]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-lock-circle text-gray-500 input-icon`})],-1),e(s(`input`,{type:`password`,name:`UserPassword`,"onUpdate:modelValue":a[2]||=e=>j.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`密码`,required:``},null,512),[[f,j.value]])]),s(`div`,w,[a[8]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-lock-circle text-gray-500 input-icon`})],-1),e(s(`input`,{type:`password`,name:`UserPassword2`,"onUpdate:modelValue":a[3]||=e=>M.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`重复密码`,required:``},null,512),[[f,M.value]])]),s(`div`,T,[s(`div`,E,[e(s(`input`,{id:`UserConsent`,name:`UserConsent`,type:`checkbox`,"onUpdate:modelValue":a[4]||=e=>N.value=e,class:`w-4 h-4 rounded border-gray-300 text-purple-500 focus:ring-purple-500 bg-gray-100 transition-all duration-200 hover:border-gray-400 checked:scale-[0.95]`,required:``},null,512),[[m,N.value]])]),a[9]||=s(`div`,{class:`ml-3 text-sm`},[s(`label`,{for:`UserConsent`,class:`text-gray-700 transition-colors duration-200 hover:text-gray-900`},[l(` 我阅读并同意 `),s(`a`,{href:`/Document/9bc298e9c1d03ed3bd4777181bf7411d/d2ae1dd63e9c35d687464a160896e1ab`,target:`_blank`,class:`text-purple-600 hover:underline transition-colors duration-200 hover:text-purple-700`},`GVSDS用户协议`)])],-1)]),a[10]||=s(`div`,{class:`text-sm text-gray-700`},[l(` 我已有账号,去 `),s(`a`,{href:`/#/login`,class:`text-purple-600 hover:underline transition-colors duration-200 hover:text-purple-700`},`登录`)],-1),s(`div`,D,[s(`button`,{type:`submit`,disabled:P.value,class:`w-full py-3 px-4 bg-purple-500 hover:bg-purple-600 rounded-lg text-white font-medium transition-all duration-200 flex items-center justify-center hover:scale-[1.02] active:scale-[0.98] hover:shadow-lg hover:shadow-purple-500/10 disabled:opacity-60 disabled:cursor-not-allowed`},[P.value?(r(),p(`i`,k)):c(``,!0),l(` `+n(P.value?`注册中...`:`注册`),1)],8,O)])],32)])])])]))}}),[[`__scopeId`,`data-v-abf56836`]]);export{A as default};
\ No newline at end of file
diff --git a/TempLate/assets/RegisterView-DgqAPXLP.js b/TempLate/assets/RegisterView-DgqAPXLP.js
new file mode 100644
index 00000000..8c0d0fde
--- /dev/null
+++ b/TempLate/assets/RegisterView-DgqAPXLP.js
@@ -0,0 +1 @@
+import{D as e,M as t,N as n,S as r,_ as i,b as a,c as o,d as s,f as c,h as l,k as u,m as d,o as f,p,r as m}from"./index-UfMysbwD.js";import{t as h}from"./_plugin-vue_export-helper-BDNMzG2s.js";var g={class:`relative min-h-screen flex items-center justify-center bg-gray-50 dark:bg-gray-100 p-4`},_={class:`w-full md:w-1/2 max-w-md opacity-0 translate-x-[20px] animate-fade-in-right`},v={class:`bg-white dark:bg-gray-50 rounded-xl shadow-xl overflow-visible transition-all duration-300 hover:shadow-purple-500/5`},y={id:`toastWrap`,class:`px-6 pt-6`},b={class:`p-6 pt-0`},x={class:`relative`},S={class:`relative`},C={class:`relative`},w={class:`relative`},T={class:`flex items-start`},E={class:`flex items-center h-5`},D={class:`pt-2`},O=[`disabled`],k={key:0,class:`fa fa-spinner fa-spin mr-2`},A=h(i({__name:`RegisterView`,setup(i){let h=u(``),A=u(``),j=u(``),M=u(``),N=u(!1),P=u(!1),F=u(``),I=u(`error`);function L(e,t=`error`){F.value=e,I.value=t}async function R(){if(!N.value){L(`必须阅读并同意用户协议`);return}if(j.value!==M.value){L(`两次输入的密码不一致,请重新输入`);return}P.value=!0;try{let e=new FormData;e.append(`UserName`,h.value),e.append(`UserEmail`,A.value),e.append(`UserPassword`,j.value),e.append(`UserPassword2`,M.value),e.append(`UserConsent`,N.value?`true`:`false`);let t=await(await fetch(`https://ugm.gvsds.com/Auth/Register`,{method:`POST`,credentials:`include`,body:e})).json();P.value=!1,t.code===0?(L(`注册成功,即将跳转...`,`success`),setTimeout(()=>{window.location.href=`https://gerp.gvsds.com/`},500)):L(t.msg||`注册失败`)}catch(e){P.value=!1,L(`网络错误:`+e.message)}}return a(()=>{let e=new URLSearchParams(window.location.search).get(`msg`);e&&L(e,`error`)}),(i,a)=>(r(),p(`div`,g,[a[12]||=d(`
G-ERP 账号注册 填写以下信息完成注册,账号将用于在所有 GVSDS 下属平台访问 请确保信息真实有效,注册后信息可在后台修改
`,1),s(`div`,_,[s(`div`,v,[a[11]||=s(`div`,{class:`relative h-24`},[s(`img`,{src:`https://bing.img.run/uhd.php`,alt:`Card image`,class:`w-full h-full object-cover`}),s(`div`,{class:`absolute inset-0 bg-gradient-to-t from-white to-transparent`}),s(`h4`,{class:`absolute bottom-4 left-6 text-xl font-bold text-gray-900`},`注册`)],-1),s(`div`,y,[F.value?(r(),p(`div`,{key:0,id:`RegisterToast`,class:`mb-4 p-3 rounded-lg animate-fade-in`,style:t({color:I.value===`error`?`#dc2626`:`#16a34a`,background:I.value===`error`?`#fef2f2`:`#f0fdf4`,border:I.value===`error`?`1px solid #fecaca`:`1px solid #bbf7d0`})},n(F.value),5)):c(``,!0)]),s(`div`,b,[s(`form`,{class:`space-y-4`,id:`registerForm`,onSubmit:o(R,[`prevent`])},[s(`div`,x,[a[5]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-single-02 text-gray-500 input-icon`})],-1),e(s(`input`,{type:`text`,name:`UserName`,"onUpdate:modelValue":a[0]||=e=>h.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`昵称`,required:``},null,512),[[f,h.value]])]),s(`div`,S,[a[6]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-email-85 text-gray-500 input-icon`})],-1),e(s(`input`,{type:`email`,name:`UserEmail`,"onUpdate:modelValue":a[1]||=e=>A.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`邮箱(注意:请填写有效的邮箱)`,required:``},null,512),[[f,A.value]])]),s(`div`,C,[a[7]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-lock-circle text-gray-500 input-icon`})],-1),e(s(`input`,{type:`password`,name:`UserPassword`,"onUpdate:modelValue":a[2]||=e=>j.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`密码`,required:``},null,512),[[f,j.value]])]),s(`div`,w,[a[8]||=s(`div`,{class:`absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none transition-colors duration-200`},[s(`i`,{class:`tim-icons icon-lock-circle text-gray-500 input-icon`})],-1),e(s(`input`,{type:`password`,name:`UserPassword2`,"onUpdate:modelValue":a[3]||=e=>M.value=e,class:`block w-full pl-10 pr-3 py-2.5 bg-gray-50 border border-gray-200 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent text-gray-900 placeholder-gray-500 transition-all duration-200 focus:scale-[1.01] focus:bg-white`,placeholder:`重复密码`,required:``},null,512),[[f,M.value]])]),s(`div`,T,[s(`div`,E,[e(s(`input`,{id:`UserConsent`,name:`UserConsent`,type:`checkbox`,"onUpdate:modelValue":a[4]||=e=>N.value=e,class:`w-4 h-4 rounded border-gray-300 text-purple-500 focus:ring-purple-500 bg-gray-100 transition-all duration-200 hover:border-gray-400 checked:scale-[0.95]`,required:``},null,512),[[m,N.value]])]),a[9]||=s(`div`,{class:`ml-3 text-sm`},[s(`label`,{for:`UserConsent`,class:`text-gray-700 transition-colors duration-200 hover:text-gray-900`},[l(` 我阅读并同意 `),s(`a`,{href:`/Document/9bc298e9c1d03ed3bd4777181bf7411d/d2ae1dd63e9c35d687464a160896e1ab`,target:`_blank`,class:`text-purple-600 hover:underline transition-colors duration-200 hover:text-purple-700`},`GVSDS用户协议`)])],-1)]),a[10]||=s(`div`,{class:`text-sm text-gray-700`},[l(` 我已有账号,去 `),s(`a`,{href:`/#/login`,class:`text-purple-600 hover:underline transition-colors duration-200 hover:text-purple-700`},`登录`)],-1),s(`div`,D,[s(`button`,{type:`submit`,disabled:P.value,class:`w-full py-3 px-4 bg-purple-500 hover:bg-purple-600 rounded-lg text-white font-medium transition-all duration-200 flex items-center justify-center hover:scale-[1.02] active:scale-[0.98] hover:shadow-lg hover:shadow-purple-500/10 disabled:opacity-60 disabled:cursor-not-allowed`},[P.value?(r(),p(`i`,k)):c(``,!0),l(` `+n(P.value?`注册中...`:`注册`),1)],8,O)])],32)])])])]))}}),[[`__scopeId`,`data-v-abf56836`]]);export{A as default};
\ No newline at end of file
diff --git a/TempLate/assets/RegisterView-rhcQynlu.css b/TempLate/assets/RegisterView-rhcQynlu.css
new file mode 100644
index 00000000..2447a7b4
--- /dev/null
+++ b/TempLate/assets/RegisterView-rhcQynlu.css
@@ -0,0 +1 @@
+@keyframes fadeInLeft-abf56836{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.animate-fade-in-left[data-v-abf56836]{animation:.5s ease-out forwards fadeInLeft-abf56836}@keyframes fadeInRight-abf56836{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.animate-fade-in-right[data-v-abf56836]{animation:.5s ease-out forwards fadeInRight-abf56836}@keyframes fadeIn-abf56836{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in[data-v-abf56836]{animation:.3s ease-out forwards fadeIn-abf56836}input:focus~.input-icon[data-v-abf56836]{color:#a855f7}
diff --git a/TempLate/assets/ResourceShareView-BsO7OluX.js b/TempLate/assets/ResourceShareView-BsO7OluX.js
new file mode 100644
index 00000000..1a6a10c2
--- /dev/null
+++ b/TempLate/assets/ResourceShareView-BsO7OluX.js
@@ -0,0 +1,70 @@
+import{C as e,N as t,S as n,_ as r,d as i,f as a,h as o,j as s,l as c,m as l,p as u}from"./index-BM-LFFI_.js";import{t as d}from"./_plugin-vue_export-helper-BDNMzG2s.js";var ee={class:`antialiased selection:bg-cyan-200 selection:text-cyan-900`},te={id:`features`,class:`py-24 bg-white relative`},ne={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},re={class:`grid grid-cols-1 md:grid-cols-3 gap-8`},ie=[`d`],f=[`innerHTML`],p=[`innerHTML`],m={id:`architecture`,class:`py-24 bg-slate-50 overflow-hidden`},h={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},g={class:`grid lg:grid-cols-2 gap-16 items-center`},_={class:`space-y-4`},v={class:`ml-3`},y={class:`text-base font-semibold text-slate-900`},b={class:`text-sm text-slate-500 mt-1`},x={class:`py-20 bg-white border-y border-slate-100`},S={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},C={class:`grid grid-cols-1 lg:grid-cols-2 gap-12 items-center`},w={class:`relative bg-slate-50 rounded-2xl border border-slate-200 p-8 shadow-inner overflow-hidden h-[400px] flex items-center justify-center`},T={class:`absolute inset-0 w-full h-full pointer-events-none`,style:{"z-index":`1`}},E={class:`text-xs font-semibold text-slate-600`},D={class:`space-y-8`},O=[`d`],k={class:`text-lg font-bold text-slate-900`},A={class:`mt-2 text-slate-600`},j={class:`py-20 bg-[#eff6ff] border-y border-blue-100`},M={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},N={class:`flex flex-col lg:flex-row items-center gap-12`},P={class:`lg:w-1/2`},F={class:`space-y-4`},ae={class:`flex-shrink-0 h-6 w-6 rounded-full bg-blue-500 text-white flex items-center justify-center text-xs font-bold`},I={class:`block text-gray-900`},L={class:`text-sm text-gray-500`},R={class:`lg:w-1/2 w-full`},z={class:`bg-white rounded-xl shadow-lg border border-gray-200 p-8 relative`},B={class:`grid grid-cols-2 gap-4`},V={class:`text-xs text-gray-400 mb-1`},H={class:`text-sm font-semibold text-gray-700`},U={id:`logic`,class:`py-24 bg-slate-50`},W={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},G={class:`grid lg:grid-cols-2 gap-16`},K={class:`space-y-6`},q={class:`flex flex-col items-center`},J={class:`w-6 h-6 rounded-full bg-cyan-600 text-white flex items-center justify-center text-xs font-bold`},oe={key:0,class:`w-0.5 flex-1 bg-cyan-200 my-1`},se=[`innerHTML`],ce=[`innerHTML`],le={class:`space-y-6`},ue={class:`flex flex-col items-center`},de={class:`w-6 h-6 rounded-full bg-indigo-600 text-white flex items-center justify-center text-xs font-bold`},fe={key:0,class:`w-0.5 flex-1 bg-indigo-200 my-1`},pe=[`innerHTML`],me=[`innerHTML`],Y=d(r({__name:`ResourceShareView`,setup(r){let d=[{iconBg:`bg-cyan-100`,iconColor:`text-cyan-600`,svgPath:`M13 10V3L4 14h7v7l9-11h-7z`,title:`高性能传输`,desc:`智能判断资源体积。小于 1MB 使用 PostMessage 直接传输,超大文件自动切换为 Blob URL 方式,突破浏览器消息传递限制。`},{iconBg:`bg-blue-100`,iconColor:`text-blue-600`,svgPath:`M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10`,title:`虚拟路径映射 (V1.3.7.2)`,desc:`自动为远程资源生成 VM_ 前缀的虚拟文件名(如 VM_jquery.min.js),保留完整的 SourceURL 路径层级,极大提升开发者调试体验。`},{iconBg:`bg-indigo-100`,iconColor:`text-indigo-600`,svgPath:`M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z`,title:`智能错误诊断`,desc:`内置规则引擎,自动识别常见的加载错误(如 jQuery 缺失、CORS 限制),并提供具体的解决方案建议,告别无头苍蝇式排查。`}],Y=[{title:`启动页与进度条`,desc:`优雅的加载动画,缓解用户等待焦虑。`},{title:`分级日志控制`,desc:`UI 日志与 DevTools 日志独立控制,生产环境可完全关闭 UI 日志以节省性能。`}],he=[{name:`Iframe A`,pos:`top-[20%] left-[15%]`},{name:`Iframe B`,pos:`top-[20%] right-[15%]`},{name:`Iframe C`,pos:`bottom-[20%] left-[15%]`},{name:`Iframe D`,pos:`bottom-[20%] right-[15%]`}],ge=[{iconBg:`bg-blue-50`,iconColor:`text-blue-600`,svgPath:`M13 10V3L4 14h7v7l9-11h-7z`,title:`极速加载 (0ms Latency)`,desc:`首个 iframe 请求资源后,后续所有同源 iframe 均直接从父级内存读取 Blob URL 或 PostMessage 消息,网络延迟为零。`},{iconBg:`bg-indigo-50`,iconColor:`text-indigo-600`,svgPath:`M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4`,title:`流量节省`,desc:`对于 100 个 iframe 加载同一套 2MB 的 UI 库,系统仅消耗 2MB 流量,而非 200MB,显著降低服务器带宽成本。`},{iconBg:`bg-emerald-50`,iconColor:`text-emerald-600`,svgPath:`M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z`,title:`同源安全握手`,desc:`内置 Ping/Pong 握手机制,严格校验 Origin,确保资源只在授权的同源 iframe 间流转,防止数据泄露。`}],X=[{title:`父页面优先获取`,desc:`Parent Window 发起 HTTP 请求,将资源存储在内存 Map 中。`},{title:`建立握手通道`,desc:`Child Window 启动时自动 PostMessage Ping 父页面,验证同源。`},{title:`Blob 传输与执行`,desc:`父页面将缓存转化为 Blob URL 或 直接传输数据,子页面通过 URL.createObjectURL 即时执行脚本。`}],_e=[{name:`Child Iframe 1`,title:`Dashboard Pane`},{name:`Child Iframe 2`,title:`Settings Pane`}],Z=[{title:`发起网络请求`,desc:`父页面负责所有的跨域资源下载。系统自动拦截 <resource-share> 标签声明的资源,并发起 fetch 请求。`},{title:`缓存与预处理`,desc:`下载的内容被存储在父页面的 Map 缓存中。对于大文件,自动转换为 Blob URL;对于小文件,直接文本存储。`},{title:`监听子请求 & 分发`,desc:`父页面开启 message 监听器。一旦收到子页面的 resource-request 信号,立即从缓存提取数据并通过 postMessage 推回。`}],Q=[{title:`握手与请求`,desc:`子页面初始化时,向父页面发送 resource-share-ping 确认连接。随后解析自身的 <resource-share> 标签,生成请求列表。`},{title:`接收资源并执行`,desc:`收到父页面 postMessage 传来的 Blob URL 或字符串内容后,立即创建 <script> 或 <style> 标签并注入 DOM。`},{title:`降级机制 (Fallback)`,desc:`如果无法连接到父页面(例如跨域限制),子页面会自动降级,直接向 CDN 发起请求,确保业务不受影响。`}];return(r,$)=>(n(),u(`div`,ee,[$[16]||=i(`section`,{class:`relative pt-16 pb-20 lg:pt-24 lg:pb-32 overflow-hidden`},[i(`div`,{class:`absolute inset-0 tech-grid -z-10`}),i(`div`,{class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 text-center`},[i(`div`,{class:`inline-flex items-center gap-2 px-3 py-1 rounded-full bg-cyan-50 border border-cyan-100 text-cyan-700 text-xs font-semibold mb-8 fade-in-up`},[i(`span`,{class:`w-2 h-2 rounded-full bg-cyan-500 animate-pulse`}),o(` 架构重构 V1.3.7.2 发布 `)]),i(`h1`,{class:`text-5xl md:text-7xl font-extrabold text-slate-900 tracking-tight mb-8 fade-in-up delay-100`},[o(`ResourceShare 企业级跨域`),i(`br`),o(),i(`span`,{class:`text-transparent bg-clip-text bg-gradient-to-r from-cyan-600 to-blue-600`},`资源共享解决方案`)]),i(`p`,{class:`mt-4 max-w-2xl mx-auto text-xl text-slate-600 fade-in-up delay-200`},[o(` 如同瑞士军刀一般,解决 iframe 资源加载瓶颈。支持 VM 虚拟路径映射、Blob 传输优化、可视化 UI 监控以及智能错误诊断。 `),i(`br`,{class:`hidden sm:block`}),o(` 为大规模复杂 Web 应用打造的高性能底层引擎。 `)]),i(`div`,{class:`mt-10 flex justify-center gap-4 fade-in-up delay-300`},[i(`a`,{href:`#features`,class:`px-8 py-3.5 rounded-lg bg-cyan-600 text-white font-semibold shadow-lg shadow-cyan-200 hover:bg-cyan-700 transition-all hover:-translate-y-1`},` 探索功能 `),i(`a`,{href:`https://github.com/GVSADS/ResourceShare/`,target:`_blank`,class:`px-8 py-3.5 rounded-lg bg-white text-slate-700 border border-slate-200 font-semibold shadow-tech hover:bg-slate-50 transition-all`},` 查看 Github 项目 `)]),i(`div`,{class:`mt-20 relative rounded-2xl bg-slate-900 border border-slate-200 shadow-2xl overflow-hidden fade-in-up delay-300 mx-auto max-w-5xl`},[i(`div`,{class:`flex items-center gap-2 px-4 py-3 bg-white border-b border-slate-100 h-10`},[i(`div`,{class:`flex gap-1.5`},[i(`div`,{class:`w-3 h-3 rounded-full bg-red-400`}),i(`div`,{class:`w-3 h-3 rounded-full bg-yellow-400`}),i(`div`,{class:`w-3 h-3 rounded-full bg-green-400`})]),i(`div`,{class:`flex-1 flex items-center justify-center text-center text-xs font-mono text-slate-400`},` ResourceShare Monitor Panel `)]),i(`div`,{class:`aspect-[16/9] bg-slate-50 relative flex items-center justify-center p-8 overflow-hidden`},[i(`iframe`,{src:`/ProJect/ResourceShare/example.html`,class:`absolute inset-0 w-full h-full border-0 rounded-md`,title:`RS Demo`,frameborder:`0`,loading:`lazy`})])])])],-1),i(`section`,te,[i(`div`,ne,[$[0]||=i(`div`,{class:`text-center mb-16`},[i(`h2`,{class:`text-3xl font-bold text-slate-900 sm:text-4xl`},`全链路性能与体验优化`),i(`p`,{class:`mt-4 text-lg text-slate-600`},`不仅仅是加载脚本,而是提供一套完整的资源治理方案。`)],-1),i(`div`,re,[(n(),u(c,null,e(d,(e,t)=>i(`div`,{key:t,class:`p-8 rounded-2xl bg-slate-50 border border-slate-100 hover:border-cyan-200 hover:shadow-lg transition-all group`},[i(`div`,{class:s([`w-12 h-12 rounded-lg flex items-center justify-center mb-6 group-hover:scale-110 transition-transform`,e.iconBg])},[(n(),u(`svg`,{class:s([`w-6 h-6`,e.iconColor]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:e.svgPath},null,8,ie)],2))],2),i(`h3`,{class:`text-xl font-bold text-slate-900 mb-3`,innerHTML:e.title},null,8,f),i(`p`,{class:`text-slate-600 leading-relaxed`,innerHTML:e.desc},null,8,p)])),64))])])]),i(`section`,m,[i(`div`,h,[i(`div`,g,[i(`div`,null,[$[2]||=i(`div`,{class:`inline-block px-3 py-1 bg-blue-50 text-blue-600 rounded-full text-xs font-bold tracking-wider mb-4`},`ARCHITECTURE`,-1),$[3]||=i(`h2`,{class:`text-3xl font-bold text-slate-900 mb-6`},`可视化 UI 管理系统`,-1),$[4]||=i(`p`,{class:`text-slate-600 mb-6 leading-relaxed`},` 系统内置了一套基于 Web Components 的轻量级 UI 管理器。通过毛玻璃风格的悬浮面板,您可以实时监控资源加载进度、查看分类日志,甚至在发生严重错误时通过遮罩层获取诊断信息。 `,-1),i(`ul`,_,[(n(),u(c,null,e(Y,(e,n)=>i(`li`,{key:n,class:`flex items-start`},[$[1]||=i(`div`,{class:`flex-shrink-0 w-6 h-6 rounded-full bg-green-100 flex items-center justify-center mt-0.5`},[i(`svg`,{class:`w-4 h-4 text-green-600`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`})])],-1),i(`div`,v,[i(`h4`,y,t(e.title),1),i(`p`,b,t(e.desc),1)])])),64))])]),$[5]||=l(`
RS_CONFIG.js V1.3.7.2
window .RS_CONFIG = {
+ VERSION : '1.3.7.2' , // 当前系统版本号
+ COPYRIGHT : '© 2026 GVSDS Team' , // 版权声明
+ SOURCE_FILE : 'ResourceShare.js' , // 源文件标识名称
+
+ ENABLE_UI : true , // 是否启用可视化界面 (启动页/日志/弹窗)
+
+ POST_MESSAGE_LIMIT : 1 * 1024 * 1024 , // 消息传输大小阈值 (1MB),超过转Blob
+ BLOB_LIMIT : 1024 * 1024 * 1024 , // Blob数据处理限制 (1GB),防内存溢出
+ SCRIPT_TIMEOUT : 5 * 60 * 1000 , // 脚本加载超时时间 (5分钟),超时强制释放
+ PING_INTERVAL : 100 , // 子页向父页握手间隔
+ PING_TIMEOUT : 5000 , // 父页握手响应超时 (5秒)
+ REQUEST_TIMEOUT : 10000 , // 资源请求超时 (10秒)
+
+ RETRY : {
+ COUNT : 3 , // 失败重试次数
+ DELAY : 1500 // 重试间隔
+ },
+
+ Z_INDEX : {
+ SPLASH : 2147483647 , // 启动页层级 (最高)
+ PROGRESS : 2147483646 , // 进度条层级
+ PANEL : 2147483645 , // 日志面板层级
+ ERROR : 2147483648 // 错误弹窗层级
+ },
+
+ LOG_LEVEL_UI : 'debug' , // UI面板日志级别 ('debug'/'info'/'error'/'none')
+ LOG_LEVEL_DEVTOOLS : 'error' , // 浏览器控制台日志级别 ('debug'/'info'/'error'/'none')
+
+ LOG_LEVEL_MAP : {
+ debug: ['info' , 'success' , 'warning' , 'danger' , 'cache' , 'request' ], // 调试模式允许所有类型
+ info: ['info' , 'success' , 'warning' , 'danger' ], // 信息模式排除缓存/请求
+ error: ['danger' ], // 错误模式仅显示危险
+ none: [] // 关闭日志
+ },
+
+ ANIMATION : {
+ SPLASH_HIDE : 800 , // 启动页隐藏动画时长
+ PROGRESS_COMPLETE : 800 ,// 进度条完成动画时长
+ PANEL_HIDE : 500 , // 面板隐藏动画时长
+ ERROR_SLIDE_UP : 400 , // 错误弹窗滑入动画时长
+ LOG_FADE_IN : 200 // 日志条目淡入动画时长
+ },
+
+ UI_STYLE : {
+ FONT_FAMILY : "'Segoe UI Variable', 'Segoe UI', sans-serif" , // 系统字体
+ MONO_FONT : "'Consolas', 'Monaco', monospace" , // 代码字体
+ BLUR_VALUE : '20px' , // 背景模糊度
+ SHADOW_OPACITY : 0.12 // 阴影透明度
+ }
+}; `,1)])])]),i(`section`,x,[i(`div`,S,[$[9]||=i(`div`,{class:`text-center mb-16`},[i(`h2`,{class:`text-base text-cyan-600 font-semibold tracking-wide uppercase`},`Architecture`),i(`p`,{class:`mt-2 text-3xl leading-8 font-extrabold tracking-tight text-slate-900 sm:text-4xl`},` 父级分发,多子级复用 `),i(`p`,{class:`mt-4 max-w-2xl text-xl text-slate-500 mx-auto`},` 告别每个 iframe 都重新下载 jQuery 或 Vue 的低效时代。 `)],-1),i(`div`,C,[i(`div`,w,[(n(),u(`svg`,T,[...$[6]||=[i(`line`,{x1:`50%`,y1:`50%`,x2:`20%`,y2:`30%`,stroke:`#cbd5e1`,"stroke-width":`2`,"stroke-dasharray":`4 4`},null,-1),i(`line`,{x1:`50%`,y1:`50%`,x2:`80%`,y2:`30%`,stroke:`#cbd5e1`,"stroke-width":`2`,"stroke-dasharray":`4 4`},null,-1),i(`line`,{x1:`50%`,y1:`50%`,x2:`20%`,y2:`70%`,stroke:`#cbd5e1`,"stroke-width":`2`,"stroke-dasharray":`4 4`},null,-1),i(`line`,{x1:`50%`,y1:`50%`,x2:`80%`,y2:`70%`,stroke:`#cbd5e1`,"stroke-width":`2`,"stroke-dasharray":`4 4`},null,-1)]])),$[8]||=l(``,1),(n(),u(c,null,e(he,(e,n)=>i(`div`,{key:n,class:s([e.pos,`absolute w-24 h-20 bg-white border border-slate-300 rounded-lg shadow-sm z-0 flex flex-col items-center justify-center`])},[i(`span`,E,t(e.name),1),$[7]||=i(`div`,{class:`mt-1 px-1.5 py-0.5 bg-green-100 text-green-700 text-[10px] rounded`},`Cached`,-1)],2)),64))]),i(`div`,D,[(n(),u(c,null,e(ge,(e,r)=>i(`div`,{key:r,class:`flex gap-4`},[i(`div`,{class:s([`flex-shrink-0 w-12 h-12 rounded-lg flex items-center justify-center`,e.iconBg])},[(n(),u(`svg`,{class:s([`w-6 h-6`,e.iconColor]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:e.svgPath},null,8,O)],2))],2),i(`div`,null,[i(`h3`,k,t(e.title),1),i(`p`,A,t(e.desc),1)])])),64))])])])]),i(`section`,j,[i(`div`,M,[i(`div`,N,[i(`div`,P,[$[10]||=i(`h2`,{class:`text-3xl font-bold text-gray-900 mb-6`},`父对子 (P2C) 共享逻辑`,-1),$[11]||=i(`p`,{class:`text-gray-500 mb-6`},` 在传统的 iframe 架构中,每个 iframe 都是一个独立的浏览器上下文,拥有独立的网络栈和缓存。 如果你的页面有 5 个子窗格,每个都需要加载 jQuery (85KB),那么你浪费了 400KB 的带宽和 5 次 DNS 查询时间。 `,-1),i(`ul`,F,[(n(),u(c,null,e(X,(e,n)=>i(`li`,{key:n,class:`flex items-start gap-3`},[i(`span`,ae,t(n+1),1),i(`div`,null,[i(`strong`,I,t(e.title),1),i(`span`,L,t(e.desc),1)])])),64))])]),i(`div`,R,[i(`div`,z,[$[13]||=l(`Parent Window (Top Level)
ResourceShare Manager
Cache: Map ✓ jQuery Loaded
`,2),i(`div`,B,[(n(),u(c,null,e(_e,(e,n)=>i(`div`,{key:n,class:`bg-white border border-gray-200 rounded-lg p-4 shadow-sm`},[i(`div`,V,t(e.name),1),i(`div`,H,t(e.title),1),$[12]||=i(`div`,{class:`mt-2 text-xs text-green-600 flex items-center gap-1`},[i(`span`,{class:`w-2 h-2 rounded-full bg-green-500`}),o(` Ready (Cached) `)],-1)])),64))])])])])])]),i(`section`,U,[i(`div`,W,[i(`div`,G,[i(`div`,null,[$[14]||=l(``,1),i(`div`,K,[(n(),u(c,null,e(Z,(e,r)=>i(`div`,{key:r,class:`flex gap-4`},[i(`div`,q,[i(`div`,J,t(r+1),1),r子页面:轻量接入 `,1),i(`div`,le,[(n(),u(c,null,e(Q,(e,r)=>i(`div`,{key:r,class:`flex gap-4`},[i(`div`,ue,[i(`div`,de,t(r+1),1),r多子场景下的性能碾压 假设系统有 1 个父页面和 5 个子 iframe,共同加载 3 个公共库(jQuery, Vue, ElementUI)
传统加载模式 每个页面独立向 CDN 发起请求 重复下载相同资源 6 次 (1父+5子) 浪费带宽,加载时间长 ResourceShare 模式 仅父页面发起 3 次网络请求 5 个子页面瞬间并发获取 (PostMessage) 节省 83% 的外部请求 智能错误诊断系统 当脚本执行失败时,系统不仅显示错误,更会提供修复建议。
!
系统严重错误
ResourceShare 遇到不可恢复的错误
智能诊断与建议 jQuery 依赖错误: 脚本依赖 jQuery,但似乎未加载或加载顺序错误。 解决方案: 请检查 resource-share 中 jQuery 是否在其他依赖库之前声明。
错误堆栈跟踪 TypeError: $ is not defined at VM_app_main.js:12:5 at executeScript (ResourceShare.js:420)
实时规则匹配 内置的 DIAGNOSTIC_RULES 包含多种常见错误的特征检测。一旦捕获异常,系统会遍历规则库,匹配错误特征并生成 HTML 诊断报告。
网络层异常捕捉 不仅限于 JavaScript 语法错误。对于网络请求超时、4xx/5xx 状态码、CORS 跨域拦截等底层网络问题,同样提供明确的指引。
TypeError ReferenceError NetworkError
开箱即用,零配置启动 只需引入一个 JS 文件,并使用自定义标签声明资源,系统将自动完成脚本拦截、加载、映射和执行的整个生命周期。
<!-- 1. 引入系统 -->
+<script src ="https://cdn.gvsds.com/ResourceShare/ResourceShare-1.3.7.2.js" ></script>
+
+<!-- 2. 声明需要管理的资源 -->
+<resource-share
+ type ="script"
+ src ="https://cdn.../jquery.min.js" >
+</resource-share>
+
+<resource-share
+ type ="style"
+ href ="https://cdn.../app.css" >
+</resource-share>
+
+<!-- 3. 正常书写业务代码,无需额外等待逻辑 -->
+<script>
+ window .resourceShareManager.on('ready' , () => {
+ $('#app' ).show(); // jQuery 确保已加载
+ });
+</script> `,3)]))}}),[[`__scopeId`,`data-v-e2e092a7`]]);export{Y as default};
\ No newline at end of file
diff --git a/TempLate/assets/ResourceShareView-C1-lVgLR.css b/TempLate/assets/ResourceShareView-C1-lVgLR.css
new file mode 100644
index 00000000..f33f5ca9
--- /dev/null
+++ b/TempLate/assets/ResourceShareView-C1-lVgLR.css
@@ -0,0 +1 @@
+.tech-grid[data-v-e2e092a7]{background-image:linear-gradient(90deg,#94a3b81a 1px,#0000 1px),linear-gradient(#94a3b81a 1px,#0000 1px);background-size:40px 40px;-webkit-mask-image:linear-gradient(#000 40%,#0000 100%);mask-image:linear-gradient(#000 40%,#0000 100%)}.code-block[data-v-e2e092a7]{color:#e2e8f0;background-color:#1e293b;border:1px solid #334155;border-radius:.5rem;padding:1rem;font-family:Consolas,Monaco,monospace;font-size:.85rem;position:relative;overflow-x:auto}.code-block[data-v-e2e092a7]:before{content:"";background:linear-gradient(90deg, var(--color-primary), #6366f1);width:100%;height:4px;position:absolute;top:0;left:0}[data-v-e2e092a7]::-webkit-scrollbar{width:8px;height:8px}[data-v-e2e092a7]::-webkit-scrollbar-track{background:0 0}[data-v-e2e092a7]::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}[data-v-e2e092a7]::-webkit-scrollbar-thumb:hover{background:#94a3b8}.fade-in-up[data-v-e2e092a7]{opacity:0;animation:.8s cubic-bezier(.16,1,.3,1) forwards fadeInUp-e2e092a7;transform:translateY(20px)}@keyframes fadeInUp-e2e092a7{to{opacity:1;transform:translateY(0)}}.delay-100[data-v-e2e092a7]{animation-delay:.1s}.delay-200[data-v-e2e092a7]{animation-delay:.2s}.delay-300[data-v-e2e092a7]{animation-delay:.3s}.shadow-tech[data-v-e2e092a7]{box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.shadow-glow[data-v-e2e092a7]{box-shadow:0 0 20px #0891b240}:root{--color-primary:#0891b2;--color-secondary:#64748b;--color-dark:#0f172a;--color-light:#f8fafc;--color-surface:#fff;--border-light:#e2e8f0;--bg-glass:#ffffffb3}
diff --git a/TempLate/assets/ResourceShareView-CS1tL0KE.js b/TempLate/assets/ResourceShareView-CS1tL0KE.js
new file mode 100644
index 00000000..af918512
--- /dev/null
+++ b/TempLate/assets/ResourceShareView-CS1tL0KE.js
@@ -0,0 +1,70 @@
+import{C as e,N as t,S as n,_ as r,d as i,f as a,h as o,j as s,l as c,m as l,p as u}from"./index-CJXuAy0L.js";import{t as d}from"./_plugin-vue_export-helper-BDNMzG2s.js";var ee={class:`antialiased selection:bg-cyan-200 selection:text-cyan-900`},te={id:`features`,class:`py-24 bg-white relative`},ne={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},re={class:`grid grid-cols-1 md:grid-cols-3 gap-8`},ie=[`d`],f=[`innerHTML`],p=[`innerHTML`],m={id:`architecture`,class:`py-24 bg-slate-50 overflow-hidden`},h={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},g={class:`grid lg:grid-cols-2 gap-16 items-center`},_={class:`space-y-4`},v={class:`ml-3`},y={class:`text-base font-semibold text-slate-900`},b={class:`text-sm text-slate-500 mt-1`},x={class:`py-20 bg-white border-y border-slate-100`},S={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},C={class:`grid grid-cols-1 lg:grid-cols-2 gap-12 items-center`},w={class:`relative bg-slate-50 rounded-2xl border border-slate-200 p-8 shadow-inner overflow-hidden h-[400px] flex items-center justify-center`},T={class:`absolute inset-0 w-full h-full pointer-events-none`,style:{"z-index":`1`}},E={class:`text-xs font-semibold text-slate-600`},D={class:`space-y-8`},O=[`d`],k={class:`text-lg font-bold text-slate-900`},A={class:`mt-2 text-slate-600`},j={class:`py-20 bg-[#eff6ff] border-y border-blue-100`},M={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},N={class:`flex flex-col lg:flex-row items-center gap-12`},P={class:`lg:w-1/2`},F={class:`space-y-4`},ae={class:`flex-shrink-0 h-6 w-6 rounded-full bg-blue-500 text-white flex items-center justify-center text-xs font-bold`},I={class:`block text-gray-900`},L={class:`text-sm text-gray-500`},R={class:`lg:w-1/2 w-full`},z={class:`bg-white rounded-xl shadow-lg border border-gray-200 p-8 relative`},B={class:`grid grid-cols-2 gap-4`},V={class:`text-xs text-gray-400 mb-1`},H={class:`text-sm font-semibold text-gray-700`},U={id:`logic`,class:`py-24 bg-slate-50`},W={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},G={class:`grid lg:grid-cols-2 gap-16`},K={class:`space-y-6`},q={class:`flex flex-col items-center`},J={class:`w-6 h-6 rounded-full bg-cyan-600 text-white flex items-center justify-center text-xs font-bold`},oe={key:0,class:`w-0.5 flex-1 bg-cyan-200 my-1`},se=[`innerHTML`],ce=[`innerHTML`],le={class:`space-y-6`},ue={class:`flex flex-col items-center`},de={class:`w-6 h-6 rounded-full bg-indigo-600 text-white flex items-center justify-center text-xs font-bold`},fe={key:0,class:`w-0.5 flex-1 bg-indigo-200 my-1`},pe=[`innerHTML`],me=[`innerHTML`],Y=d(r({__name:`ResourceShareView`,setup(r){let d=[{iconBg:`bg-cyan-100`,iconColor:`text-cyan-600`,svgPath:`M13 10V3L4 14h7v7l9-11h-7z`,title:`高性能传输`,desc:`智能判断资源体积。小于 1MB 使用 PostMessage 直接传输,超大文件自动切换为 Blob URL 方式,突破浏览器消息传递限制。`},{iconBg:`bg-blue-100`,iconColor:`text-blue-600`,svgPath:`M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10`,title:`虚拟路径映射 (V1.3.7.2)`,desc:`自动为远程资源生成 VM_ 前缀的虚拟文件名(如 VM_jquery.min.js),保留完整的 SourceURL 路径层级,极大提升开发者调试体验。`},{iconBg:`bg-indigo-100`,iconColor:`text-indigo-600`,svgPath:`M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z`,title:`智能错误诊断`,desc:`内置规则引擎,自动识别常见的加载错误(如 jQuery 缺失、CORS 限制),并提供具体的解决方案建议,告别无头苍蝇式排查。`}],Y=[{title:`启动页与进度条`,desc:`优雅的加载动画,缓解用户等待焦虑。`},{title:`分级日志控制`,desc:`UI 日志与 DevTools 日志独立控制,生产环境可完全关闭 UI 日志以节省性能。`}],he=[{name:`Iframe A`,pos:`top-[20%] left-[15%]`},{name:`Iframe B`,pos:`top-[20%] right-[15%]`},{name:`Iframe C`,pos:`bottom-[20%] left-[15%]`},{name:`Iframe D`,pos:`bottom-[20%] right-[15%]`}],ge=[{iconBg:`bg-blue-50`,iconColor:`text-blue-600`,svgPath:`M13 10V3L4 14h7v7l9-11h-7z`,title:`极速加载 (0ms Latency)`,desc:`首个 iframe 请求资源后,后续所有同源 iframe 均直接从父级内存读取 Blob URL 或 PostMessage 消息,网络延迟为零。`},{iconBg:`bg-indigo-50`,iconColor:`text-indigo-600`,svgPath:`M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4`,title:`流量节省`,desc:`对于 100 个 iframe 加载同一套 2MB 的 UI 库,系统仅消耗 2MB 流量,而非 200MB,显著降低服务器带宽成本。`},{iconBg:`bg-emerald-50`,iconColor:`text-emerald-600`,svgPath:`M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z`,title:`同源安全握手`,desc:`内置 Ping/Pong 握手机制,严格校验 Origin,确保资源只在授权的同源 iframe 间流转,防止数据泄露。`}],X=[{title:`父页面优先获取`,desc:`Parent Window 发起 HTTP 请求,将资源存储在内存 Map 中。`},{title:`建立握手通道`,desc:`Child Window 启动时自动 PostMessage Ping 父页面,验证同源。`},{title:`Blob 传输与执行`,desc:`父页面将缓存转化为 Blob URL 或 直接传输数据,子页面通过 URL.createObjectURL 即时执行脚本。`}],_e=[{name:`Child Iframe 1`,title:`Dashboard Pane`},{name:`Child Iframe 2`,title:`Settings Pane`}],Z=[{title:`发起网络请求`,desc:`父页面负责所有的跨域资源下载。系统自动拦截 <resource-share> 标签声明的资源,并发起 fetch 请求。`},{title:`缓存与预处理`,desc:`下载的内容被存储在父页面的 Map 缓存中。对于大文件,自动转换为 Blob URL;对于小文件,直接文本存储。`},{title:`监听子请求 & 分发`,desc:`父页面开启 message 监听器。一旦收到子页面的 resource-request 信号,立即从缓存提取数据并通过 postMessage 推回。`}],Q=[{title:`握手与请求`,desc:`子页面初始化时,向父页面发送 resource-share-ping 确认连接。随后解析自身的 <resource-share> 标签,生成请求列表。`},{title:`接收资源并执行`,desc:`收到父页面 postMessage 传来的 Blob URL 或字符串内容后,立即创建 <script> 或 <style> 标签并注入 DOM。`},{title:`降级机制 (Fallback)`,desc:`如果无法连接到父页面(例如跨域限制),子页面会自动降级,直接向 CDN 发起请求,确保业务不受影响。`}];return(r,$)=>(n(),u(`div`,ee,[$[16]||=i(`section`,{class:`relative pt-16 pb-20 lg:pt-24 lg:pb-32 overflow-hidden`},[i(`div`,{class:`absolute inset-0 tech-grid -z-10`}),i(`div`,{class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 text-center`},[i(`div`,{class:`inline-flex items-center gap-2 px-3 py-1 rounded-full bg-cyan-50 border border-cyan-100 text-cyan-700 text-xs font-semibold mb-8 fade-in-up`},[i(`span`,{class:`w-2 h-2 rounded-full bg-cyan-500 animate-pulse`}),o(` 架构重构 V1.3.7.2 发布 `)]),i(`h1`,{class:`text-5xl md:text-7xl font-extrabold text-slate-900 tracking-tight mb-8 fade-in-up delay-100`},[o(`ResourceShare 企业级跨域`),i(`br`),o(),i(`span`,{class:`text-transparent bg-clip-text bg-gradient-to-r from-cyan-600 to-blue-600`},`资源共享解决方案`)]),i(`p`,{class:`mt-4 max-w-2xl mx-auto text-xl text-slate-600 fade-in-up delay-200`},[o(` 如同瑞士军刀一般,解决 iframe 资源加载瓶颈。支持 VM 虚拟路径映射、Blob 传输优化、可视化 UI 监控以及智能错误诊断。 `),i(`br`,{class:`hidden sm:block`}),o(` 为大规模复杂 Web 应用打造的高性能底层引擎。 `)]),i(`div`,{class:`mt-10 flex justify-center gap-4 fade-in-up delay-300`},[i(`a`,{href:`#features`,class:`px-8 py-3.5 rounded-lg bg-cyan-600 text-white font-semibold shadow-lg shadow-cyan-200 hover:bg-cyan-700 transition-all hover:-translate-y-1`},` 探索功能 `),i(`a`,{href:`https://github.com/GVSADS/ResourceShare/`,target:`_blank`,class:`px-8 py-3.5 rounded-lg bg-white text-slate-700 border border-slate-200 font-semibold shadow-tech hover:bg-slate-50 transition-all`},` 查看 Github 项目 `)]),i(`div`,{class:`mt-20 relative rounded-2xl bg-slate-900 border border-slate-200 shadow-2xl overflow-hidden fade-in-up delay-300 mx-auto max-w-5xl`},[i(`div`,{class:`flex items-center gap-2 px-4 py-3 bg-white border-b border-slate-100 h-10`},[i(`div`,{class:`flex gap-1.5`},[i(`div`,{class:`w-3 h-3 rounded-full bg-red-400`}),i(`div`,{class:`w-3 h-3 rounded-full bg-yellow-400`}),i(`div`,{class:`w-3 h-3 rounded-full bg-green-400`})]),i(`div`,{class:`flex-1 flex items-center justify-center text-center text-xs font-mono text-slate-400`},` ResourceShare Monitor Panel `)]),i(`div`,{class:`aspect-[16/9] bg-slate-50 relative flex items-center justify-center p-8 overflow-hidden`},[i(`iframe`,{src:`/ProJect/ResourceShare/example.html`,class:`absolute inset-0 w-full h-full border-0 rounded-md`,title:`RS Demo`,frameborder:`0`,loading:`lazy`})])])])],-1),i(`section`,te,[i(`div`,ne,[$[0]||=i(`div`,{class:`text-center mb-16`},[i(`h2`,{class:`text-3xl font-bold text-slate-900 sm:text-4xl`},`全链路性能与体验优化`),i(`p`,{class:`mt-4 text-lg text-slate-600`},`不仅仅是加载脚本,而是提供一套完整的资源治理方案。`)],-1),i(`div`,re,[(n(),u(c,null,e(d,(e,t)=>i(`div`,{key:t,class:`p-8 rounded-2xl bg-slate-50 border border-slate-100 hover:border-cyan-200 hover:shadow-lg transition-all group`},[i(`div`,{class:s([`w-12 h-12 rounded-lg flex items-center justify-center mb-6 group-hover:scale-110 transition-transform`,e.iconBg])},[(n(),u(`svg`,{class:s([`w-6 h-6`,e.iconColor]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:e.svgPath},null,8,ie)],2))],2),i(`h3`,{class:`text-xl font-bold text-slate-900 mb-3`,innerHTML:e.title},null,8,f),i(`p`,{class:`text-slate-600 leading-relaxed`,innerHTML:e.desc},null,8,p)])),64))])])]),i(`section`,m,[i(`div`,h,[i(`div`,g,[i(`div`,null,[$[2]||=i(`div`,{class:`inline-block px-3 py-1 bg-blue-50 text-blue-600 rounded-full text-xs font-bold tracking-wider mb-4`},`ARCHITECTURE`,-1),$[3]||=i(`h2`,{class:`text-3xl font-bold text-slate-900 mb-6`},`可视化 UI 管理系统`,-1),$[4]||=i(`p`,{class:`text-slate-600 mb-6 leading-relaxed`},` 系统内置了一套基于 Web Components 的轻量级 UI 管理器。通过毛玻璃风格的悬浮面板,您可以实时监控资源加载进度、查看分类日志,甚至在发生严重错误时通过遮罩层获取诊断信息。 `,-1),i(`ul`,_,[(n(),u(c,null,e(Y,(e,n)=>i(`li`,{key:n,class:`flex items-start`},[$[1]||=i(`div`,{class:`flex-shrink-0 w-6 h-6 rounded-full bg-green-100 flex items-center justify-center mt-0.5`},[i(`svg`,{class:`w-4 h-4 text-green-600`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`})])],-1),i(`div`,v,[i(`h4`,y,t(e.title),1),i(`p`,b,t(e.desc),1)])])),64))])]),$[5]||=l(`
RS_CONFIG.js V1.3.7.2
window .RS_CONFIG = {
+ VERSION : '1.3.7.2' , // 当前系统版本号
+ COPYRIGHT : '© 2026 GVSDS Team' , // 版权声明
+ SOURCE_FILE : 'ResourceShare.js' , // 源文件标识名称
+
+ ENABLE_UI : true , // 是否启用可视化界面 (启动页/日志/弹窗)
+
+ POST_MESSAGE_LIMIT : 1 * 1024 * 1024 , // 消息传输大小阈值 (1MB),超过转Blob
+ BLOB_LIMIT : 1024 * 1024 * 1024 , // Blob数据处理限制 (1GB),防内存溢出
+ SCRIPT_TIMEOUT : 5 * 60 * 1000 , // 脚本加载超时时间 (5分钟),超时强制释放
+ PING_INTERVAL : 100 , // 子页向父页握手间隔
+ PING_TIMEOUT : 5000 , // 父页握手响应超时 (5秒)
+ REQUEST_TIMEOUT : 10000 , // 资源请求超时 (10秒)
+
+ RETRY : {
+ COUNT : 3 , // 失败重试次数
+ DELAY : 1500 // 重试间隔
+ },
+
+ Z_INDEX : {
+ SPLASH : 2147483647 , // 启动页层级 (最高)
+ PROGRESS : 2147483646 , // 进度条层级
+ PANEL : 2147483645 , // 日志面板层级
+ ERROR : 2147483648 // 错误弹窗层级
+ },
+
+ LOG_LEVEL_UI : 'debug' , // UI面板日志级别 ('debug'/'info'/'error'/'none')
+ LOG_LEVEL_DEVTOOLS : 'error' , // 浏览器控制台日志级别 ('debug'/'info'/'error'/'none')
+
+ LOG_LEVEL_MAP : {
+ debug: ['info' , 'success' , 'warning' , 'danger' , 'cache' , 'request' ], // 调试模式允许所有类型
+ info: ['info' , 'success' , 'warning' , 'danger' ], // 信息模式排除缓存/请求
+ error: ['danger' ], // 错误模式仅显示危险
+ none: [] // 关闭日志
+ },
+
+ ANIMATION : {
+ SPLASH_HIDE : 800 , // 启动页隐藏动画时长
+ PROGRESS_COMPLETE : 800 ,// 进度条完成动画时长
+ PANEL_HIDE : 500 , // 面板隐藏动画时长
+ ERROR_SLIDE_UP : 400 , // 错误弹窗滑入动画时长
+ LOG_FADE_IN : 200 // 日志条目淡入动画时长
+ },
+
+ UI_STYLE : {
+ FONT_FAMILY : "'Segoe UI Variable', 'Segoe UI', sans-serif" , // 系统字体
+ MONO_FONT : "'Consolas', 'Monaco', monospace" , // 代码字体
+ BLUR_VALUE : '20px' , // 背景模糊度
+ SHADOW_OPACITY : 0.12 // 阴影透明度
+ }
+}; `,1)])])]),i(`section`,x,[i(`div`,S,[$[9]||=i(`div`,{class:`text-center mb-16`},[i(`h2`,{class:`text-base text-cyan-600 font-semibold tracking-wide uppercase`},`Architecture`),i(`p`,{class:`mt-2 text-3xl leading-8 font-extrabold tracking-tight text-slate-900 sm:text-4xl`},` 父级分发,多子级复用 `),i(`p`,{class:`mt-4 max-w-2xl text-xl text-slate-500 mx-auto`},` 告别每个 iframe 都重新下载 jQuery 或 Vue 的低效时代。 `)],-1),i(`div`,C,[i(`div`,w,[(n(),u(`svg`,T,[...$[6]||=[i(`line`,{x1:`50%`,y1:`50%`,x2:`20%`,y2:`30%`,stroke:`#cbd5e1`,"stroke-width":`2`,"stroke-dasharray":`4 4`},null,-1),i(`line`,{x1:`50%`,y1:`50%`,x2:`80%`,y2:`30%`,stroke:`#cbd5e1`,"stroke-width":`2`,"stroke-dasharray":`4 4`},null,-1),i(`line`,{x1:`50%`,y1:`50%`,x2:`20%`,y2:`70%`,stroke:`#cbd5e1`,"stroke-width":`2`,"stroke-dasharray":`4 4`},null,-1),i(`line`,{x1:`50%`,y1:`50%`,x2:`80%`,y2:`70%`,stroke:`#cbd5e1`,"stroke-width":`2`,"stroke-dasharray":`4 4`},null,-1)]])),$[8]||=l(``,1),(n(),u(c,null,e(he,(e,n)=>i(`div`,{key:n,class:s([e.pos,`absolute w-24 h-20 bg-white border border-slate-300 rounded-lg shadow-sm z-0 flex flex-col items-center justify-center`])},[i(`span`,E,t(e.name),1),$[7]||=i(`div`,{class:`mt-1 px-1.5 py-0.5 bg-green-100 text-green-700 text-[10px] rounded`},`Cached`,-1)],2)),64))]),i(`div`,D,[(n(),u(c,null,e(ge,(e,r)=>i(`div`,{key:r,class:`flex gap-4`},[i(`div`,{class:s([`flex-shrink-0 w-12 h-12 rounded-lg flex items-center justify-center`,e.iconBg])},[(n(),u(`svg`,{class:s([`w-6 h-6`,e.iconColor]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:e.svgPath},null,8,O)],2))],2),i(`div`,null,[i(`h3`,k,t(e.title),1),i(`p`,A,t(e.desc),1)])])),64))])])])]),i(`section`,j,[i(`div`,M,[i(`div`,N,[i(`div`,P,[$[10]||=i(`h2`,{class:`text-3xl font-bold text-gray-900 mb-6`},`父对子 (P2C) 共享逻辑`,-1),$[11]||=i(`p`,{class:`text-gray-500 mb-6`},` 在传统的 iframe 架构中,每个 iframe 都是一个独立的浏览器上下文,拥有独立的网络栈和缓存。 如果你的页面有 5 个子窗格,每个都需要加载 jQuery (85KB),那么你浪费了 400KB 的带宽和 5 次 DNS 查询时间。 `,-1),i(`ul`,F,[(n(),u(c,null,e(X,(e,n)=>i(`li`,{key:n,class:`flex items-start gap-3`},[i(`span`,ae,t(n+1),1),i(`div`,null,[i(`strong`,I,t(e.title),1),i(`span`,L,t(e.desc),1)])])),64))])]),i(`div`,R,[i(`div`,z,[$[13]||=l(`Parent Window (Top Level)
ResourceShare Manager
Cache: Map ✓ jQuery Loaded
`,2),i(`div`,B,[(n(),u(c,null,e(_e,(e,n)=>i(`div`,{key:n,class:`bg-white border border-gray-200 rounded-lg p-4 shadow-sm`},[i(`div`,V,t(e.name),1),i(`div`,H,t(e.title),1),$[12]||=i(`div`,{class:`mt-2 text-xs text-green-600 flex items-center gap-1`},[i(`span`,{class:`w-2 h-2 rounded-full bg-green-500`}),o(` Ready (Cached) `)],-1)])),64))])])])])])]),i(`section`,U,[i(`div`,W,[i(`div`,G,[i(`div`,null,[$[14]||=l(``,1),i(`div`,K,[(n(),u(c,null,e(Z,(e,r)=>i(`div`,{key:r,class:`flex gap-4`},[i(`div`,q,[i(`div`,J,t(r+1),1),r子页面:轻量接入 `,1),i(`div`,le,[(n(),u(c,null,e(Q,(e,r)=>i(`div`,{key:r,class:`flex gap-4`},[i(`div`,ue,[i(`div`,de,t(r+1),1),r多子场景下的性能碾压 假设系统有 1 个父页面和 5 个子 iframe,共同加载 3 个公共库(jQuery, Vue, ElementUI)
传统加载模式 每个页面独立向 CDN 发起请求 重复下载相同资源 6 次 (1父+5子) 浪费带宽,加载时间长 ResourceShare 模式 仅父页面发起 3 次网络请求 5 个子页面瞬间并发获取 (PostMessage) 节省 83% 的外部请求 智能错误诊断系统 当脚本执行失败时,系统不仅显示错误,更会提供修复建议。
!
系统严重错误
ResourceShare 遇到不可恢复的错误
智能诊断与建议 jQuery 依赖错误: 脚本依赖 jQuery,但似乎未加载或加载顺序错误。 解决方案: 请检查 resource-share 中 jQuery 是否在其他依赖库之前声明。
错误堆栈跟踪 TypeError: $ is not defined at VM_app_main.js:12:5 at executeScript (ResourceShare.js:420)
实时规则匹配 内置的 DIAGNOSTIC_RULES 包含多种常见错误的特征检测。一旦捕获异常,系统会遍历规则库,匹配错误特征并生成 HTML 诊断报告。
网络层异常捕捉 不仅限于 JavaScript 语法错误。对于网络请求超时、4xx/5xx 状态码、CORS 跨域拦截等底层网络问题,同样提供明确的指引。
TypeError ReferenceError NetworkError
开箱即用,零配置启动 只需引入一个 JS 文件,并使用自定义标签声明资源,系统将自动完成脚本拦截、加载、映射和执行的整个生命周期。
<!-- 1. 引入系统 -->
+<script src ="https://cdn.gvsds.com/ResourceShare/ResourceShare-1.3.7.2.js" ></script>
+
+<!-- 2. 声明需要管理的资源 -->
+<resource-share
+ type ="script"
+ src ="https://cdn.../jquery.min.js" >
+</resource-share>
+
+<resource-share
+ type ="style"
+ href ="https://cdn.../app.css" >
+</resource-share>
+
+<!-- 3. 正常书写业务代码,无需额外等待逻辑 -->
+<script>
+ window .resourceShareManager.on('ready' , () => {
+ $('#app' ).show(); // jQuery 确保已加载
+ });
+</script> `,3)]))}}),[[`__scopeId`,`data-v-e2e092a7`]]);export{Y as default};
\ No newline at end of file
diff --git a/TempLate/assets/ResourceShareView-CShTthfo.js b/TempLate/assets/ResourceShareView-CShTthfo.js
new file mode 100644
index 00000000..cf0b00ec
--- /dev/null
+++ b/TempLate/assets/ResourceShareView-CShTthfo.js
@@ -0,0 +1,70 @@
+import{C as e,N as t,S as n,_ as r,d as i,f as a,h as o,j as s,l as c,m as l,p as u}from"./index-UfMysbwD.js";import{t as d}from"./_plugin-vue_export-helper-BDNMzG2s.js";var ee={class:`antialiased selection:bg-cyan-200 selection:text-cyan-900`},te={id:`features`,class:`py-24 bg-white relative`},ne={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},re={class:`grid grid-cols-1 md:grid-cols-3 gap-8`},ie=[`d`],f=[`innerHTML`],p=[`innerHTML`],m={id:`architecture`,class:`py-24 bg-slate-50 overflow-hidden`},h={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},g={class:`grid lg:grid-cols-2 gap-16 items-center`},_={class:`space-y-4`},v={class:`ml-3`},y={class:`text-base font-semibold text-slate-900`},b={class:`text-sm text-slate-500 mt-1`},x={class:`py-20 bg-white border-y border-slate-100`},S={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},C={class:`grid grid-cols-1 lg:grid-cols-2 gap-12 items-center`},w={class:`relative bg-slate-50 rounded-2xl border border-slate-200 p-8 shadow-inner overflow-hidden h-[400px] flex items-center justify-center`},T={class:`absolute inset-0 w-full h-full pointer-events-none`,style:{"z-index":`1`}},E={class:`text-xs font-semibold text-slate-600`},D={class:`space-y-8`},O=[`d`],k={class:`text-lg font-bold text-slate-900`},A={class:`mt-2 text-slate-600`},j={class:`py-20 bg-[#eff6ff] border-y border-blue-100`},M={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},N={class:`flex flex-col lg:flex-row items-center gap-12`},P={class:`lg:w-1/2`},F={class:`space-y-4`},ae={class:`flex-shrink-0 h-6 w-6 rounded-full bg-blue-500 text-white flex items-center justify-center text-xs font-bold`},I={class:`block text-gray-900`},L={class:`text-sm text-gray-500`},R={class:`lg:w-1/2 w-full`},z={class:`bg-white rounded-xl shadow-lg border border-gray-200 p-8 relative`},B={class:`grid grid-cols-2 gap-4`},V={class:`text-xs text-gray-400 mb-1`},H={class:`text-sm font-semibold text-gray-700`},U={id:`logic`,class:`py-24 bg-slate-50`},W={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},G={class:`grid lg:grid-cols-2 gap-16`},K={class:`space-y-6`},q={class:`flex flex-col items-center`},J={class:`w-6 h-6 rounded-full bg-cyan-600 text-white flex items-center justify-center text-xs font-bold`},oe={key:0,class:`w-0.5 flex-1 bg-cyan-200 my-1`},se=[`innerHTML`],ce=[`innerHTML`],le={class:`space-y-6`},ue={class:`flex flex-col items-center`},de={class:`w-6 h-6 rounded-full bg-indigo-600 text-white flex items-center justify-center text-xs font-bold`},fe={key:0,class:`w-0.5 flex-1 bg-indigo-200 my-1`},pe=[`innerHTML`],me=[`innerHTML`],Y=d(r({__name:`ResourceShareView`,setup(r){let d=[{iconBg:`bg-cyan-100`,iconColor:`text-cyan-600`,svgPath:`M13 10V3L4 14h7v7l9-11h-7z`,title:`高性能传输`,desc:`智能判断资源体积。小于 1MB 使用 PostMessage 直接传输,超大文件自动切换为 Blob URL 方式,突破浏览器消息传递限制。`},{iconBg:`bg-blue-100`,iconColor:`text-blue-600`,svgPath:`M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10`,title:`虚拟路径映射 (V1.3.7.2)`,desc:`自动为远程资源生成 VM_ 前缀的虚拟文件名(如 VM_jquery.min.js),保留完整的 SourceURL 路径层级,极大提升开发者调试体验。`},{iconBg:`bg-indigo-100`,iconColor:`text-indigo-600`,svgPath:`M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z`,title:`智能错误诊断`,desc:`内置规则引擎,自动识别常见的加载错误(如 jQuery 缺失、CORS 限制),并提供具体的解决方案建议,告别无头苍蝇式排查。`}],Y=[{title:`启动页与进度条`,desc:`优雅的加载动画,缓解用户等待焦虑。`},{title:`分级日志控制`,desc:`UI 日志与 DevTools 日志独立控制,生产环境可完全关闭 UI 日志以节省性能。`}],he=[{name:`Iframe A`,pos:`top-[20%] left-[15%]`},{name:`Iframe B`,pos:`top-[20%] right-[15%]`},{name:`Iframe C`,pos:`bottom-[20%] left-[15%]`},{name:`Iframe D`,pos:`bottom-[20%] right-[15%]`}],ge=[{iconBg:`bg-blue-50`,iconColor:`text-blue-600`,svgPath:`M13 10V3L4 14h7v7l9-11h-7z`,title:`极速加载 (0ms Latency)`,desc:`首个 iframe 请求资源后,后续所有同源 iframe 均直接从父级内存读取 Blob URL 或 PostMessage 消息,网络延迟为零。`},{iconBg:`bg-indigo-50`,iconColor:`text-indigo-600`,svgPath:`M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4`,title:`流量节省`,desc:`对于 100 个 iframe 加载同一套 2MB 的 UI 库,系统仅消耗 2MB 流量,而非 200MB,显著降低服务器带宽成本。`},{iconBg:`bg-emerald-50`,iconColor:`text-emerald-600`,svgPath:`M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z`,title:`同源安全握手`,desc:`内置 Ping/Pong 握手机制,严格校验 Origin,确保资源只在授权的同源 iframe 间流转,防止数据泄露。`}],X=[{title:`父页面优先获取`,desc:`Parent Window 发起 HTTP 请求,将资源存储在内存 Map 中。`},{title:`建立握手通道`,desc:`Child Window 启动时自动 PostMessage Ping 父页面,验证同源。`},{title:`Blob 传输与执行`,desc:`父页面将缓存转化为 Blob URL 或 直接传输数据,子页面通过 URL.createObjectURL 即时执行脚本。`}],_e=[{name:`Child Iframe 1`,title:`Dashboard Pane`},{name:`Child Iframe 2`,title:`Settings Pane`}],Z=[{title:`发起网络请求`,desc:`父页面负责所有的跨域资源下载。系统自动拦截 <resource-share> 标签声明的资源,并发起 fetch 请求。`},{title:`缓存与预处理`,desc:`下载的内容被存储在父页面的 Map 缓存中。对于大文件,自动转换为 Blob URL;对于小文件,直接文本存储。`},{title:`监听子请求 & 分发`,desc:`父页面开启 message 监听器。一旦收到子页面的 resource-request 信号,立即从缓存提取数据并通过 postMessage 推回。`}],Q=[{title:`握手与请求`,desc:`子页面初始化时,向父页面发送 resource-share-ping 确认连接。随后解析自身的 <resource-share> 标签,生成请求列表。`},{title:`接收资源并执行`,desc:`收到父页面 postMessage 传来的 Blob URL 或字符串内容后,立即创建 <script> 或 <style> 标签并注入 DOM。`},{title:`降级机制 (Fallback)`,desc:`如果无法连接到父页面(例如跨域限制),子页面会自动降级,直接向 CDN 发起请求,确保业务不受影响。`}];return(r,$)=>(n(),u(`div`,ee,[$[16]||=i(`section`,{class:`relative pt-16 pb-20 lg:pt-24 lg:pb-32 overflow-hidden`},[i(`div`,{class:`absolute inset-0 tech-grid -z-10`}),i(`div`,{class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 text-center`},[i(`div`,{class:`inline-flex items-center gap-2 px-3 py-1 rounded-full bg-cyan-50 border border-cyan-100 text-cyan-700 text-xs font-semibold mb-8 fade-in-up`},[i(`span`,{class:`w-2 h-2 rounded-full bg-cyan-500 animate-pulse`}),o(` 架构重构 V1.3.7.2 发布 `)]),i(`h1`,{class:`text-5xl md:text-7xl font-extrabold text-slate-900 tracking-tight mb-8 fade-in-up delay-100`},[o(`ResourceShare 企业级跨域`),i(`br`),o(),i(`span`,{class:`text-transparent bg-clip-text bg-gradient-to-r from-cyan-600 to-blue-600`},`资源共享解决方案`)]),i(`p`,{class:`mt-4 max-w-2xl mx-auto text-xl text-slate-600 fade-in-up delay-200`},[o(` 如同瑞士军刀一般,解决 iframe 资源加载瓶颈。支持 VM 虚拟路径映射、Blob 传输优化、可视化 UI 监控以及智能错误诊断。 `),i(`br`,{class:`hidden sm:block`}),o(` 为大规模复杂 Web 应用打造的高性能底层引擎。 `)]),i(`div`,{class:`mt-10 flex justify-center gap-4 fade-in-up delay-300`},[i(`a`,{href:`#features`,class:`px-8 py-3.5 rounded-lg bg-cyan-600 text-white font-semibold shadow-lg shadow-cyan-200 hover:bg-cyan-700 transition-all hover:-translate-y-1`},` 探索功能 `),i(`a`,{href:`https://github.com/GVSADS/ResourceShare/`,target:`_blank`,class:`px-8 py-3.5 rounded-lg bg-white text-slate-700 border border-slate-200 font-semibold shadow-tech hover:bg-slate-50 transition-all`},` 查看 Github 项目 `)]),i(`div`,{class:`mt-20 relative rounded-2xl bg-slate-900 border border-slate-200 shadow-2xl overflow-hidden fade-in-up delay-300 mx-auto max-w-5xl`},[i(`div`,{class:`flex items-center gap-2 px-4 py-3 bg-white border-b border-slate-100 h-10`},[i(`div`,{class:`flex gap-1.5`},[i(`div`,{class:`w-3 h-3 rounded-full bg-red-400`}),i(`div`,{class:`w-3 h-3 rounded-full bg-yellow-400`}),i(`div`,{class:`w-3 h-3 rounded-full bg-green-400`})]),i(`div`,{class:`flex-1 flex items-center justify-center text-center text-xs font-mono text-slate-400`},` ResourceShare Monitor Panel `)]),i(`div`,{class:`aspect-[16/9] bg-slate-50 relative flex items-center justify-center p-8 overflow-hidden`},[i(`iframe`,{src:`/ProJect/ResourceShare/example.html`,class:`absolute inset-0 w-full h-full border-0 rounded-md`,title:`RS Demo`,frameborder:`0`,loading:`lazy`})])])])],-1),i(`section`,te,[i(`div`,ne,[$[0]||=i(`div`,{class:`text-center mb-16`},[i(`h2`,{class:`text-3xl font-bold text-slate-900 sm:text-4xl`},`全链路性能与体验优化`),i(`p`,{class:`mt-4 text-lg text-slate-600`},`不仅仅是加载脚本,而是提供一套完整的资源治理方案。`)],-1),i(`div`,re,[(n(),u(c,null,e(d,(e,t)=>i(`div`,{key:t,class:`p-8 rounded-2xl bg-slate-50 border border-slate-100 hover:border-cyan-200 hover:shadow-lg transition-all group`},[i(`div`,{class:s([`w-12 h-12 rounded-lg flex items-center justify-center mb-6 group-hover:scale-110 transition-transform`,e.iconBg])},[(n(),u(`svg`,{class:s([`w-6 h-6`,e.iconColor]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:e.svgPath},null,8,ie)],2))],2),i(`h3`,{class:`text-xl font-bold text-slate-900 mb-3`,innerHTML:e.title},null,8,f),i(`p`,{class:`text-slate-600 leading-relaxed`,innerHTML:e.desc},null,8,p)])),64))])])]),i(`section`,m,[i(`div`,h,[i(`div`,g,[i(`div`,null,[$[2]||=i(`div`,{class:`inline-block px-3 py-1 bg-blue-50 text-blue-600 rounded-full text-xs font-bold tracking-wider mb-4`},`ARCHITECTURE`,-1),$[3]||=i(`h2`,{class:`text-3xl font-bold text-slate-900 mb-6`},`可视化 UI 管理系统`,-1),$[4]||=i(`p`,{class:`text-slate-600 mb-6 leading-relaxed`},` 系统内置了一套基于 Web Components 的轻量级 UI 管理器。通过毛玻璃风格的悬浮面板,您可以实时监控资源加载进度、查看分类日志,甚至在发生严重错误时通过遮罩层获取诊断信息。 `,-1),i(`ul`,_,[(n(),u(c,null,e(Y,(e,n)=>i(`li`,{key:n,class:`flex items-start`},[$[1]||=i(`div`,{class:`flex-shrink-0 w-6 h-6 rounded-full bg-green-100 flex items-center justify-center mt-0.5`},[i(`svg`,{class:`w-4 h-4 text-green-600`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`})])],-1),i(`div`,v,[i(`h4`,y,t(e.title),1),i(`p`,b,t(e.desc),1)])])),64))])]),$[5]||=l(`
RS_CONFIG.js V1.3.7.2
window .RS_CONFIG = {
+ VERSION : '1.3.7.2' , // 当前系统版本号
+ COPYRIGHT : '© 2026 GVSDS Team' , // 版权声明
+ SOURCE_FILE : 'ResourceShare.js' , // 源文件标识名称
+
+ ENABLE_UI : true , // 是否启用可视化界面 (启动页/日志/弹窗)
+
+ POST_MESSAGE_LIMIT : 1 * 1024 * 1024 , // 消息传输大小阈值 (1MB),超过转Blob
+ BLOB_LIMIT : 1024 * 1024 * 1024 , // Blob数据处理限制 (1GB),防内存溢出
+ SCRIPT_TIMEOUT : 5 * 60 * 1000 , // 脚本加载超时时间 (5分钟),超时强制释放
+ PING_INTERVAL : 100 , // 子页向父页握手间隔
+ PING_TIMEOUT : 5000 , // 父页握手响应超时 (5秒)
+ REQUEST_TIMEOUT : 10000 , // 资源请求超时 (10秒)
+
+ RETRY : {
+ COUNT : 3 , // 失败重试次数
+ DELAY : 1500 // 重试间隔
+ },
+
+ Z_INDEX : {
+ SPLASH : 2147483647 , // 启动页层级 (最高)
+ PROGRESS : 2147483646 , // 进度条层级
+ PANEL : 2147483645 , // 日志面板层级
+ ERROR : 2147483648 // 错误弹窗层级
+ },
+
+ LOG_LEVEL_UI : 'debug' , // UI面板日志级别 ('debug'/'info'/'error'/'none')
+ LOG_LEVEL_DEVTOOLS : 'error' , // 浏览器控制台日志级别 ('debug'/'info'/'error'/'none')
+
+ LOG_LEVEL_MAP : {
+ debug: ['info' , 'success' , 'warning' , 'danger' , 'cache' , 'request' ], // 调试模式允许所有类型
+ info: ['info' , 'success' , 'warning' , 'danger' ], // 信息模式排除缓存/请求
+ error: ['danger' ], // 错误模式仅显示危险
+ none: [] // 关闭日志
+ },
+
+ ANIMATION : {
+ SPLASH_HIDE : 800 , // 启动页隐藏动画时长
+ PROGRESS_COMPLETE : 800 ,// 进度条完成动画时长
+ PANEL_HIDE : 500 , // 面板隐藏动画时长
+ ERROR_SLIDE_UP : 400 , // 错误弹窗滑入动画时长
+ LOG_FADE_IN : 200 // 日志条目淡入动画时长
+ },
+
+ UI_STYLE : {
+ FONT_FAMILY : "'Segoe UI Variable', 'Segoe UI', sans-serif" , // 系统字体
+ MONO_FONT : "'Consolas', 'Monaco', monospace" , // 代码字体
+ BLUR_VALUE : '20px' , // 背景模糊度
+ SHADOW_OPACITY : 0.12 // 阴影透明度
+ }
+}; `,1)])])]),i(`section`,x,[i(`div`,S,[$[9]||=i(`div`,{class:`text-center mb-16`},[i(`h2`,{class:`text-base text-cyan-600 font-semibold tracking-wide uppercase`},`Architecture`),i(`p`,{class:`mt-2 text-3xl leading-8 font-extrabold tracking-tight text-slate-900 sm:text-4xl`},` 父级分发,多子级复用 `),i(`p`,{class:`mt-4 max-w-2xl text-xl text-slate-500 mx-auto`},` 告别每个 iframe 都重新下载 jQuery 或 Vue 的低效时代。 `)],-1),i(`div`,C,[i(`div`,w,[(n(),u(`svg`,T,[...$[6]||=[i(`line`,{x1:`50%`,y1:`50%`,x2:`20%`,y2:`30%`,stroke:`#cbd5e1`,"stroke-width":`2`,"stroke-dasharray":`4 4`},null,-1),i(`line`,{x1:`50%`,y1:`50%`,x2:`80%`,y2:`30%`,stroke:`#cbd5e1`,"stroke-width":`2`,"stroke-dasharray":`4 4`},null,-1),i(`line`,{x1:`50%`,y1:`50%`,x2:`20%`,y2:`70%`,stroke:`#cbd5e1`,"stroke-width":`2`,"stroke-dasharray":`4 4`},null,-1),i(`line`,{x1:`50%`,y1:`50%`,x2:`80%`,y2:`70%`,stroke:`#cbd5e1`,"stroke-width":`2`,"stroke-dasharray":`4 4`},null,-1)]])),$[8]||=l(``,1),(n(),u(c,null,e(he,(e,n)=>i(`div`,{key:n,class:s([e.pos,`absolute w-24 h-20 bg-white border border-slate-300 rounded-lg shadow-sm z-0 flex flex-col items-center justify-center`])},[i(`span`,E,t(e.name),1),$[7]||=i(`div`,{class:`mt-1 px-1.5 py-0.5 bg-green-100 text-green-700 text-[10px] rounded`},`Cached`,-1)],2)),64))]),i(`div`,D,[(n(),u(c,null,e(ge,(e,r)=>i(`div`,{key:r,class:`flex gap-4`},[i(`div`,{class:s([`flex-shrink-0 w-12 h-12 rounded-lg flex items-center justify-center`,e.iconBg])},[(n(),u(`svg`,{class:s([`w-6 h-6`,e.iconColor]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:e.svgPath},null,8,O)],2))],2),i(`div`,null,[i(`h3`,k,t(e.title),1),i(`p`,A,t(e.desc),1)])])),64))])])])]),i(`section`,j,[i(`div`,M,[i(`div`,N,[i(`div`,P,[$[10]||=i(`h2`,{class:`text-3xl font-bold text-gray-900 mb-6`},`父对子 (P2C) 共享逻辑`,-1),$[11]||=i(`p`,{class:`text-gray-500 mb-6`},` 在传统的 iframe 架构中,每个 iframe 都是一个独立的浏览器上下文,拥有独立的网络栈和缓存。 如果你的页面有 5 个子窗格,每个都需要加载 jQuery (85KB),那么你浪费了 400KB 的带宽和 5 次 DNS 查询时间。 `,-1),i(`ul`,F,[(n(),u(c,null,e(X,(e,n)=>i(`li`,{key:n,class:`flex items-start gap-3`},[i(`span`,ae,t(n+1),1),i(`div`,null,[i(`strong`,I,t(e.title),1),i(`span`,L,t(e.desc),1)])])),64))])]),i(`div`,R,[i(`div`,z,[$[13]||=l(`Parent Window (Top Level)
ResourceShare Manager
Cache: Map ✓ jQuery Loaded
`,2),i(`div`,B,[(n(),u(c,null,e(_e,(e,n)=>i(`div`,{key:n,class:`bg-white border border-gray-200 rounded-lg p-4 shadow-sm`},[i(`div`,V,t(e.name),1),i(`div`,H,t(e.title),1),$[12]||=i(`div`,{class:`mt-2 text-xs text-green-600 flex items-center gap-1`},[i(`span`,{class:`w-2 h-2 rounded-full bg-green-500`}),o(` Ready (Cached) `)],-1)])),64))])])])])])]),i(`section`,U,[i(`div`,W,[i(`div`,G,[i(`div`,null,[$[14]||=l(``,1),i(`div`,K,[(n(),u(c,null,e(Z,(e,r)=>i(`div`,{key:r,class:`flex gap-4`},[i(`div`,q,[i(`div`,J,t(r+1),1),r子页面:轻量接入 `,1),i(`div`,le,[(n(),u(c,null,e(Q,(e,r)=>i(`div`,{key:r,class:`flex gap-4`},[i(`div`,ue,[i(`div`,de,t(r+1),1),r多子场景下的性能碾压 假设系统有 1 个父页面和 5 个子 iframe,共同加载 3 个公共库(jQuery, Vue, ElementUI)
传统加载模式 每个页面独立向 CDN 发起请求 重复下载相同资源 6 次 (1父+5子) 浪费带宽,加载时间长 ResourceShare 模式 仅父页面发起 3 次网络请求 5 个子页面瞬间并发获取 (PostMessage) 节省 83% 的外部请求 智能错误诊断系统 当脚本执行失败时,系统不仅显示错误,更会提供修复建议。
!
系统严重错误
ResourceShare 遇到不可恢复的错误
智能诊断与建议 jQuery 依赖错误: 脚本依赖 jQuery,但似乎未加载或加载顺序错误。 解决方案: 请检查 resource-share 中 jQuery 是否在其他依赖库之前声明。
错误堆栈跟踪 TypeError: $ is not defined at VM_app_main.js:12:5 at executeScript (ResourceShare.js:420)
实时规则匹配 内置的 DIAGNOSTIC_RULES 包含多种常见错误的特征检测。一旦捕获异常,系统会遍历规则库,匹配错误特征并生成 HTML 诊断报告。
网络层异常捕捉 不仅限于 JavaScript 语法错误。对于网络请求超时、4xx/5xx 状态码、CORS 跨域拦截等底层网络问题,同样提供明确的指引。
TypeError ReferenceError NetworkError
开箱即用,零配置启动 只需引入一个 JS 文件,并使用自定义标签声明资源,系统将自动完成脚本拦截、加载、映射和执行的整个生命周期。
<!-- 1. 引入系统 -->
+<script src ="https://cdn.gvsds.com/ResourceShare/ResourceShare-1.3.7.2.js" ></script>
+
+<!-- 2. 声明需要管理的资源 -->
+<resource-share
+ type ="script"
+ src ="https://cdn.../jquery.min.js" >
+</resource-share>
+
+<resource-share
+ type ="style"
+ href ="https://cdn.../app.css" >
+</resource-share>
+
+<!-- 3. 正常书写业务代码,无需额外等待逻辑 -->
+<script>
+ window .resourceShareManager.on('ready' , () => {
+ $('#app' ).show(); // jQuery 确保已加载
+ });
+</script> `,3)]))}}),[[`__scopeId`,`data-v-e2e092a7`]]);export{Y as default};
\ No newline at end of file
diff --git a/TempLate/assets/ResourceShareView-D8enzeWO.js b/TempLate/assets/ResourceShareView-D8enzeWO.js
new file mode 100644
index 00000000..257fb23b
--- /dev/null
+++ b/TempLate/assets/ResourceShareView-D8enzeWO.js
@@ -0,0 +1,70 @@
+import{C as e,N as t,S as n,_ as r,d as i,f as a,h as o,j as s,l as c,m as l,p as u}from"./index-PMfCvoYM.js";import{t as d}from"./_plugin-vue_export-helper-BDNMzG2s.js";var ee={class:`antialiased selection:bg-cyan-200 selection:text-cyan-900`},te={id:`features`,class:`py-24 bg-white relative`},ne={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},re={class:`grid grid-cols-1 md:grid-cols-3 gap-8`},ie=[`d`],f=[`innerHTML`],p=[`innerHTML`],m={id:`architecture`,class:`py-24 bg-slate-50 overflow-hidden`},h={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},g={class:`grid lg:grid-cols-2 gap-16 items-center`},_={class:`space-y-4`},v={class:`ml-3`},y={class:`text-base font-semibold text-slate-900`},b={class:`text-sm text-slate-500 mt-1`},x={class:`py-20 bg-white border-y border-slate-100`},S={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},C={class:`grid grid-cols-1 lg:grid-cols-2 gap-12 items-center`},w={class:`relative bg-slate-50 rounded-2xl border border-slate-200 p-8 shadow-inner overflow-hidden h-[400px] flex items-center justify-center`},T={class:`absolute inset-0 w-full h-full pointer-events-none`,style:{"z-index":`1`}},E={class:`text-xs font-semibold text-slate-600`},D={class:`space-y-8`},O=[`d`],k={class:`text-lg font-bold text-slate-900`},A={class:`mt-2 text-slate-600`},j={class:`py-20 bg-[#eff6ff] border-y border-blue-100`},M={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},N={class:`flex flex-col lg:flex-row items-center gap-12`},P={class:`lg:w-1/2`},F={class:`space-y-4`},ae={class:`flex-shrink-0 h-6 w-6 rounded-full bg-blue-500 text-white flex items-center justify-center text-xs font-bold`},I={class:`block text-gray-900`},L={class:`text-sm text-gray-500`},R={class:`lg:w-1/2 w-full`},z={class:`bg-white rounded-xl shadow-lg border border-gray-200 p-8 relative`},B={class:`grid grid-cols-2 gap-4`},V={class:`text-xs text-gray-400 mb-1`},H={class:`text-sm font-semibold text-gray-700`},U={id:`logic`,class:`py-24 bg-slate-50`},W={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},G={class:`grid lg:grid-cols-2 gap-16`},K={class:`space-y-6`},q={class:`flex flex-col items-center`},J={class:`w-6 h-6 rounded-full bg-cyan-600 text-white flex items-center justify-center text-xs font-bold`},oe={key:0,class:`w-0.5 flex-1 bg-cyan-200 my-1`},se=[`innerHTML`],ce=[`innerHTML`],le={class:`space-y-6`},ue={class:`flex flex-col items-center`},de={class:`w-6 h-6 rounded-full bg-indigo-600 text-white flex items-center justify-center text-xs font-bold`},fe={key:0,class:`w-0.5 flex-1 bg-indigo-200 my-1`},pe=[`innerHTML`],me=[`innerHTML`],Y=d(r({__name:`ResourceShareView`,setup(r){let d=[{iconBg:`bg-cyan-100`,iconColor:`text-cyan-600`,svgPath:`M13 10V3L4 14h7v7l9-11h-7z`,title:`高性能传输`,desc:`智能判断资源体积。小于 1MB 使用 PostMessage 直接传输,超大文件自动切换为 Blob URL 方式,突破浏览器消息传递限制。`},{iconBg:`bg-blue-100`,iconColor:`text-blue-600`,svgPath:`M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10`,title:`虚拟路径映射 (V1.3.7.2)`,desc:`自动为远程资源生成 VM_ 前缀的虚拟文件名(如 VM_jquery.min.js),保留完整的 SourceURL 路径层级,极大提升开发者调试体验。`},{iconBg:`bg-indigo-100`,iconColor:`text-indigo-600`,svgPath:`M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z`,title:`智能错误诊断`,desc:`内置规则引擎,自动识别常见的加载错误(如 jQuery 缺失、CORS 限制),并提供具体的解决方案建议,告别无头苍蝇式排查。`}],Y=[{title:`启动页与进度条`,desc:`优雅的加载动画,缓解用户等待焦虑。`},{title:`分级日志控制`,desc:`UI 日志与 DevTools 日志独立控制,生产环境可完全关闭 UI 日志以节省性能。`}],he=[{name:`Iframe A`,pos:`top-[20%] left-[15%]`},{name:`Iframe B`,pos:`top-[20%] right-[15%]`},{name:`Iframe C`,pos:`bottom-[20%] left-[15%]`},{name:`Iframe D`,pos:`bottom-[20%] right-[15%]`}],ge=[{iconBg:`bg-blue-50`,iconColor:`text-blue-600`,svgPath:`M13 10V3L4 14h7v7l9-11h-7z`,title:`极速加载 (0ms Latency)`,desc:`首个 iframe 请求资源后,后续所有同源 iframe 均直接从父级内存读取 Blob URL 或 PostMessage 消息,网络延迟为零。`},{iconBg:`bg-indigo-50`,iconColor:`text-indigo-600`,svgPath:`M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4`,title:`流量节省`,desc:`对于 100 个 iframe 加载同一套 2MB 的 UI 库,系统仅消耗 2MB 流量,而非 200MB,显著降低服务器带宽成本。`},{iconBg:`bg-emerald-50`,iconColor:`text-emerald-600`,svgPath:`M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z`,title:`同源安全握手`,desc:`内置 Ping/Pong 握手机制,严格校验 Origin,确保资源只在授权的同源 iframe 间流转,防止数据泄露。`}],X=[{title:`父页面优先获取`,desc:`Parent Window 发起 HTTP 请求,将资源存储在内存 Map 中。`},{title:`建立握手通道`,desc:`Child Window 启动时自动 PostMessage Ping 父页面,验证同源。`},{title:`Blob 传输与执行`,desc:`父页面将缓存转化为 Blob URL 或 直接传输数据,子页面通过 URL.createObjectURL 即时执行脚本。`}],_e=[{name:`Child Iframe 1`,title:`Dashboard Pane`},{name:`Child Iframe 2`,title:`Settings Pane`}],Z=[{title:`发起网络请求`,desc:`父页面负责所有的跨域资源下载。系统自动拦截 <resource-share> 标签声明的资源,并发起 fetch 请求。`},{title:`缓存与预处理`,desc:`下载的内容被存储在父页面的 Map 缓存中。对于大文件,自动转换为 Blob URL;对于小文件,直接文本存储。`},{title:`监听子请求 & 分发`,desc:`父页面开启 message 监听器。一旦收到子页面的 resource-request 信号,立即从缓存提取数据并通过 postMessage 推回。`}],Q=[{title:`握手与请求`,desc:`子页面初始化时,向父页面发送 resource-share-ping 确认连接。随后解析自身的 <resource-share> 标签,生成请求列表。`},{title:`接收资源并执行`,desc:`收到父页面 postMessage 传来的 Blob URL 或字符串内容后,立即创建 <script> 或 <style> 标签并注入 DOM。`},{title:`降级机制 (Fallback)`,desc:`如果无法连接到父页面(例如跨域限制),子页面会自动降级,直接向 CDN 发起请求,确保业务不受影响。`}];return(r,$)=>(n(),u(`div`,ee,[$[16]||=i(`section`,{class:`relative pt-16 pb-20 lg:pt-24 lg:pb-32 overflow-hidden`},[i(`div`,{class:`absolute inset-0 tech-grid -z-10`}),i(`div`,{class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 text-center`},[i(`div`,{class:`inline-flex items-center gap-2 px-3 py-1 rounded-full bg-cyan-50 border border-cyan-100 text-cyan-700 text-xs font-semibold mb-8 fade-in-up`},[i(`span`,{class:`w-2 h-2 rounded-full bg-cyan-500 animate-pulse`}),o(` 架构重构 V1.3.7.2 发布 `)]),i(`h1`,{class:`text-5xl md:text-7xl font-extrabold text-slate-900 tracking-tight mb-8 fade-in-up delay-100`},[o(`ResourceShare 企业级跨域`),i(`br`),o(),i(`span`,{class:`text-transparent bg-clip-text bg-gradient-to-r from-cyan-600 to-blue-600`},`资源共享解决方案`)]),i(`p`,{class:`mt-4 max-w-2xl mx-auto text-xl text-slate-600 fade-in-up delay-200`},[o(` 如同瑞士军刀一般,解决 iframe 资源加载瓶颈。支持 VM 虚拟路径映射、Blob 传输优化、可视化 UI 监控以及智能错误诊断。 `),i(`br`,{class:`hidden sm:block`}),o(` 为大规模复杂 Web 应用打造的高性能底层引擎。 `)]),i(`div`,{class:`mt-10 flex justify-center gap-4 fade-in-up delay-300`},[i(`a`,{href:`#features`,class:`px-8 py-3.5 rounded-lg bg-cyan-600 text-white font-semibold shadow-lg shadow-cyan-200 hover:bg-cyan-700 transition-all hover:-translate-y-1`},` 探索功能 `),i(`a`,{href:`https://github.com/GVSADS/ResourceShare/`,target:`_blank`,class:`px-8 py-3.5 rounded-lg bg-white text-slate-700 border border-slate-200 font-semibold shadow-tech hover:bg-slate-50 transition-all`},` 查看 Github 项目 `)]),i(`div`,{class:`mt-20 relative rounded-2xl bg-slate-900 border border-slate-200 shadow-2xl overflow-hidden fade-in-up delay-300 mx-auto max-w-5xl`},[i(`div`,{class:`flex items-center gap-2 px-4 py-3 bg-white border-b border-slate-100 h-10`},[i(`div`,{class:`flex gap-1.5`},[i(`div`,{class:`w-3 h-3 rounded-full bg-red-400`}),i(`div`,{class:`w-3 h-3 rounded-full bg-yellow-400`}),i(`div`,{class:`w-3 h-3 rounded-full bg-green-400`})]),i(`div`,{class:`flex-1 flex items-center justify-center text-center text-xs font-mono text-slate-400`},` ResourceShare Monitor Panel `)]),i(`div`,{class:`aspect-[16/9] bg-slate-50 relative flex items-center justify-center p-8 overflow-hidden`},[i(`iframe`,{src:`/ProJect/ResourceShare/example.html`,class:`absolute inset-0 w-full h-full border-0 rounded-md`,title:`RS Demo`,frameborder:`0`,loading:`lazy`})])])])],-1),i(`section`,te,[i(`div`,ne,[$[0]||=i(`div`,{class:`text-center mb-16`},[i(`h2`,{class:`text-3xl font-bold text-slate-900 sm:text-4xl`},`全链路性能与体验优化`),i(`p`,{class:`mt-4 text-lg text-slate-600`},`不仅仅是加载脚本,而是提供一套完整的资源治理方案。`)],-1),i(`div`,re,[(n(),u(c,null,e(d,(e,t)=>i(`div`,{key:t,class:`p-8 rounded-2xl bg-slate-50 border border-slate-100 hover:border-cyan-200 hover:shadow-lg transition-all group`},[i(`div`,{class:s([`w-12 h-12 rounded-lg flex items-center justify-center mb-6 group-hover:scale-110 transition-transform`,e.iconBg])},[(n(),u(`svg`,{class:s([`w-6 h-6`,e.iconColor]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:e.svgPath},null,8,ie)],2))],2),i(`h3`,{class:`text-xl font-bold text-slate-900 mb-3`,innerHTML:e.title},null,8,f),i(`p`,{class:`text-slate-600 leading-relaxed`,innerHTML:e.desc},null,8,p)])),64))])])]),i(`section`,m,[i(`div`,h,[i(`div`,g,[i(`div`,null,[$[2]||=i(`div`,{class:`inline-block px-3 py-1 bg-blue-50 text-blue-600 rounded-full text-xs font-bold tracking-wider mb-4`},`ARCHITECTURE`,-1),$[3]||=i(`h2`,{class:`text-3xl font-bold text-slate-900 mb-6`},`可视化 UI 管理系统`,-1),$[4]||=i(`p`,{class:`text-slate-600 mb-6 leading-relaxed`},` 系统内置了一套基于 Web Components 的轻量级 UI 管理器。通过毛玻璃风格的悬浮面板,您可以实时监控资源加载进度、查看分类日志,甚至在发生严重错误时通过遮罩层获取诊断信息。 `,-1),i(`ul`,_,[(n(),u(c,null,e(Y,(e,n)=>i(`li`,{key:n,class:`flex items-start`},[$[1]||=i(`div`,{class:`flex-shrink-0 w-6 h-6 rounded-full bg-green-100 flex items-center justify-center mt-0.5`},[i(`svg`,{class:`w-4 h-4 text-green-600`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`})])],-1),i(`div`,v,[i(`h4`,y,t(e.title),1),i(`p`,b,t(e.desc),1)])])),64))])]),$[5]||=l(`
RS_CONFIG.js V1.3.7.2
window .RS_CONFIG = {
+ VERSION : '1.3.7.2' , // 当前系统版本号
+ COPYRIGHT : '© 2026 GVSDS Team' , // 版权声明
+ SOURCE_FILE : 'ResourceShare.js' , // 源文件标识名称
+
+ ENABLE_UI : true , // 是否启用可视化界面 (启动页/日志/弹窗)
+
+ POST_MESSAGE_LIMIT : 1 * 1024 * 1024 , // 消息传输大小阈值 (1MB),超过转Blob
+ BLOB_LIMIT : 1024 * 1024 * 1024 , // Blob数据处理限制 (1GB),防内存溢出
+ SCRIPT_TIMEOUT : 5 * 60 * 1000 , // 脚本加载超时时间 (5分钟),超时强制释放
+ PING_INTERVAL : 100 , // 子页向父页握手间隔
+ PING_TIMEOUT : 5000 , // 父页握手响应超时 (5秒)
+ REQUEST_TIMEOUT : 10000 , // 资源请求超时 (10秒)
+
+ RETRY : {
+ COUNT : 3 , // 失败重试次数
+ DELAY : 1500 // 重试间隔
+ },
+
+ Z_INDEX : {
+ SPLASH : 2147483647 , // 启动页层级 (最高)
+ PROGRESS : 2147483646 , // 进度条层级
+ PANEL : 2147483645 , // 日志面板层级
+ ERROR : 2147483648 // 错误弹窗层级
+ },
+
+ LOG_LEVEL_UI : 'debug' , // UI面板日志级别 ('debug'/'info'/'error'/'none')
+ LOG_LEVEL_DEVTOOLS : 'error' , // 浏览器控制台日志级别 ('debug'/'info'/'error'/'none')
+
+ LOG_LEVEL_MAP : {
+ debug: ['info' , 'success' , 'warning' , 'danger' , 'cache' , 'request' ], // 调试模式允许所有类型
+ info: ['info' , 'success' , 'warning' , 'danger' ], // 信息模式排除缓存/请求
+ error: ['danger' ], // 错误模式仅显示危险
+ none: [] // 关闭日志
+ },
+
+ ANIMATION : {
+ SPLASH_HIDE : 800 , // 启动页隐藏动画时长
+ PROGRESS_COMPLETE : 800 ,// 进度条完成动画时长
+ PANEL_HIDE : 500 , // 面板隐藏动画时长
+ ERROR_SLIDE_UP : 400 , // 错误弹窗滑入动画时长
+ LOG_FADE_IN : 200 // 日志条目淡入动画时长
+ },
+
+ UI_STYLE : {
+ FONT_FAMILY : "'Segoe UI Variable', 'Segoe UI', sans-serif" , // 系统字体
+ MONO_FONT : "'Consolas', 'Monaco', monospace" , // 代码字体
+ BLUR_VALUE : '20px' , // 背景模糊度
+ SHADOW_OPACITY : 0.12 // 阴影透明度
+ }
+}; `,1)])])]),i(`section`,x,[i(`div`,S,[$[9]||=i(`div`,{class:`text-center mb-16`},[i(`h2`,{class:`text-base text-cyan-600 font-semibold tracking-wide uppercase`},`Architecture`),i(`p`,{class:`mt-2 text-3xl leading-8 font-extrabold tracking-tight text-slate-900 sm:text-4xl`},` 父级分发,多子级复用 `),i(`p`,{class:`mt-4 max-w-2xl text-xl text-slate-500 mx-auto`},` 告别每个 iframe 都重新下载 jQuery 或 Vue 的低效时代。 `)],-1),i(`div`,C,[i(`div`,w,[(n(),u(`svg`,T,[...$[6]||=[i(`line`,{x1:`50%`,y1:`50%`,x2:`20%`,y2:`30%`,stroke:`#cbd5e1`,"stroke-width":`2`,"stroke-dasharray":`4 4`},null,-1),i(`line`,{x1:`50%`,y1:`50%`,x2:`80%`,y2:`30%`,stroke:`#cbd5e1`,"stroke-width":`2`,"stroke-dasharray":`4 4`},null,-1),i(`line`,{x1:`50%`,y1:`50%`,x2:`20%`,y2:`70%`,stroke:`#cbd5e1`,"stroke-width":`2`,"stroke-dasharray":`4 4`},null,-1),i(`line`,{x1:`50%`,y1:`50%`,x2:`80%`,y2:`70%`,stroke:`#cbd5e1`,"stroke-width":`2`,"stroke-dasharray":`4 4`},null,-1)]])),$[8]||=l(``,1),(n(),u(c,null,e(he,(e,n)=>i(`div`,{key:n,class:s([e.pos,`absolute w-24 h-20 bg-white border border-slate-300 rounded-lg shadow-sm z-0 flex flex-col items-center justify-center`])},[i(`span`,E,t(e.name),1),$[7]||=i(`div`,{class:`mt-1 px-1.5 py-0.5 bg-green-100 text-green-700 text-[10px] rounded`},`Cached`,-1)],2)),64))]),i(`div`,D,[(n(),u(c,null,e(ge,(e,r)=>i(`div`,{key:r,class:`flex gap-4`},[i(`div`,{class:s([`flex-shrink-0 w-12 h-12 rounded-lg flex items-center justify-center`,e.iconBg])},[(n(),u(`svg`,{class:s([`w-6 h-6`,e.iconColor]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:e.svgPath},null,8,O)],2))],2),i(`div`,null,[i(`h3`,k,t(e.title),1),i(`p`,A,t(e.desc),1)])])),64))])])])]),i(`section`,j,[i(`div`,M,[i(`div`,N,[i(`div`,P,[$[10]||=i(`h2`,{class:`text-3xl font-bold text-gray-900 mb-6`},`父对子 (P2C) 共享逻辑`,-1),$[11]||=i(`p`,{class:`text-gray-500 mb-6`},` 在传统的 iframe 架构中,每个 iframe 都是一个独立的浏览器上下文,拥有独立的网络栈和缓存。 如果你的页面有 5 个子窗格,每个都需要加载 jQuery (85KB),那么你浪费了 400KB 的带宽和 5 次 DNS 查询时间。 `,-1),i(`ul`,F,[(n(),u(c,null,e(X,(e,n)=>i(`li`,{key:n,class:`flex items-start gap-3`},[i(`span`,ae,t(n+1),1),i(`div`,null,[i(`strong`,I,t(e.title),1),i(`span`,L,t(e.desc),1)])])),64))])]),i(`div`,R,[i(`div`,z,[$[13]||=l(`Parent Window (Top Level)
ResourceShare Manager
Cache: Map ✓ jQuery Loaded
`,2),i(`div`,B,[(n(),u(c,null,e(_e,(e,n)=>i(`div`,{key:n,class:`bg-white border border-gray-200 rounded-lg p-4 shadow-sm`},[i(`div`,V,t(e.name),1),i(`div`,H,t(e.title),1),$[12]||=i(`div`,{class:`mt-2 text-xs text-green-600 flex items-center gap-1`},[i(`span`,{class:`w-2 h-2 rounded-full bg-green-500`}),o(` Ready (Cached) `)],-1)])),64))])])])])])]),i(`section`,U,[i(`div`,W,[i(`div`,G,[i(`div`,null,[$[14]||=l(``,1),i(`div`,K,[(n(),u(c,null,e(Z,(e,r)=>i(`div`,{key:r,class:`flex gap-4`},[i(`div`,q,[i(`div`,J,t(r+1),1),r子页面:轻量接入 `,1),i(`div`,le,[(n(),u(c,null,e(Q,(e,r)=>i(`div`,{key:r,class:`flex gap-4`},[i(`div`,ue,[i(`div`,de,t(r+1),1),r多子场景下的性能碾压 假设系统有 1 个父页面和 5 个子 iframe,共同加载 3 个公共库(jQuery, Vue, ElementUI)
传统加载模式 每个页面独立向 CDN 发起请求 重复下载相同资源 6 次 (1父+5子) 浪费带宽,加载时间长 ResourceShare 模式 仅父页面发起 3 次网络请求 5 个子页面瞬间并发获取 (PostMessage) 节省 83% 的外部请求 智能错误诊断系统 当脚本执行失败时,系统不仅显示错误,更会提供修复建议。
!
系统严重错误
ResourceShare 遇到不可恢复的错误
智能诊断与建议 jQuery 依赖错误: 脚本依赖 jQuery,但似乎未加载或加载顺序错误。 解决方案: 请检查 resource-share 中 jQuery 是否在其他依赖库之前声明。
错误堆栈跟踪 TypeError: $ is not defined at VM_app_main.js:12:5 at executeScript (ResourceShare.js:420)
实时规则匹配 内置的 DIAGNOSTIC_RULES 包含多种常见错误的特征检测。一旦捕获异常,系统会遍历规则库,匹配错误特征并生成 HTML 诊断报告。
网络层异常捕捉 不仅限于 JavaScript 语法错误。对于网络请求超时、4xx/5xx 状态码、CORS 跨域拦截等底层网络问题,同样提供明确的指引。
TypeError ReferenceError NetworkError
开箱即用,零配置启动 只需引入一个 JS 文件,并使用自定义标签声明资源,系统将自动完成脚本拦截、加载、映射和执行的整个生命周期。
<!-- 1. 引入系统 -->
+<script src ="https://cdn.gvsds.com/ResourceShare/ResourceShare-1.3.7.2.js" ></script>
+
+<!-- 2. 声明需要管理的资源 -->
+<resource-share
+ type ="script"
+ src ="https://cdn.../jquery.min.js" >
+</resource-share>
+
+<resource-share
+ type ="style"
+ href ="https://cdn.../app.css" >
+</resource-share>
+
+<!-- 3. 正常书写业务代码,无需额外等待逻辑 -->
+<script>
+ window .resourceShareManager.on('ready' , () => {
+ $('#app' ).show(); // jQuery 确保已加载
+ });
+</script> `,3)]))}}),[[`__scopeId`,`data-v-e2e092a7`]]);export{Y as default};
\ No newline at end of file
diff --git a/TempLate/assets/ResourceShareView-DXTJe7lY.js b/TempLate/assets/ResourceShareView-DXTJe7lY.js
new file mode 100644
index 00000000..10ab1b89
--- /dev/null
+++ b/TempLate/assets/ResourceShareView-DXTJe7lY.js
@@ -0,0 +1,70 @@
+import{C as e,N as t,S as n,_ as r,d as i,f as a,h as o,j as s,l as c,m as l,p as u}from"./index-CMhybB9x.js";import{t as d}from"./_plugin-vue_export-helper-BDNMzG2s.js";var ee={class:`antialiased selection:bg-cyan-200 selection:text-cyan-900`},te={id:`features`,class:`py-24 bg-white relative`},ne={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},re={class:`grid grid-cols-1 md:grid-cols-3 gap-8`},ie=[`d`],f=[`innerHTML`],p=[`innerHTML`],m={id:`architecture`,class:`py-24 bg-slate-50 overflow-hidden`},h={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},g={class:`grid lg:grid-cols-2 gap-16 items-center`},_={class:`space-y-4`},v={class:`ml-3`},y={class:`text-base font-semibold text-slate-900`},b={class:`text-sm text-slate-500 mt-1`},x={class:`py-20 bg-white border-y border-slate-100`},S={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},C={class:`grid grid-cols-1 lg:grid-cols-2 gap-12 items-center`},w={class:`relative bg-slate-50 rounded-2xl border border-slate-200 p-8 shadow-inner overflow-hidden h-[400px] flex items-center justify-center`},T={class:`absolute inset-0 w-full h-full pointer-events-none`,style:{"z-index":`1`}},E={class:`text-xs font-semibold text-slate-600`},D={class:`space-y-8`},O=[`d`],k={class:`text-lg font-bold text-slate-900`},A={class:`mt-2 text-slate-600`},j={class:`py-20 bg-[#eff6ff] border-y border-blue-100`},M={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},N={class:`flex flex-col lg:flex-row items-center gap-12`},P={class:`lg:w-1/2`},F={class:`space-y-4`},ae={class:`flex-shrink-0 h-6 w-6 rounded-full bg-blue-500 text-white flex items-center justify-center text-xs font-bold`},I={class:`block text-gray-900`},L={class:`text-sm text-gray-500`},R={class:`lg:w-1/2 w-full`},z={class:`bg-white rounded-xl shadow-lg border border-gray-200 p-8 relative`},B={class:`grid grid-cols-2 gap-4`},V={class:`text-xs text-gray-400 mb-1`},H={class:`text-sm font-semibold text-gray-700`},U={id:`logic`,class:`py-24 bg-slate-50`},W={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},G={class:`grid lg:grid-cols-2 gap-16`},K={class:`space-y-6`},q={class:`flex flex-col items-center`},J={class:`w-6 h-6 rounded-full bg-cyan-600 text-white flex items-center justify-center text-xs font-bold`},oe={key:0,class:`w-0.5 flex-1 bg-cyan-200 my-1`},se=[`innerHTML`],ce=[`innerHTML`],le={class:`space-y-6`},ue={class:`flex flex-col items-center`},de={class:`w-6 h-6 rounded-full bg-indigo-600 text-white flex items-center justify-center text-xs font-bold`},fe={key:0,class:`w-0.5 flex-1 bg-indigo-200 my-1`},pe=[`innerHTML`],me=[`innerHTML`],Y=d(r({__name:`ResourceShareView`,setup(r){let d=[{iconBg:`bg-cyan-100`,iconColor:`text-cyan-600`,svgPath:`M13 10V3L4 14h7v7l9-11h-7z`,title:`高性能传输`,desc:`智能判断资源体积。小于 1MB 使用 PostMessage 直接传输,超大文件自动切换为 Blob URL 方式,突破浏览器消息传递限制。`},{iconBg:`bg-blue-100`,iconColor:`text-blue-600`,svgPath:`M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10`,title:`虚拟路径映射 (V1.3.7.2)`,desc:`自动为远程资源生成 VM_ 前缀的虚拟文件名(如 VM_jquery.min.js),保留完整的 SourceURL 路径层级,极大提升开发者调试体验。`},{iconBg:`bg-indigo-100`,iconColor:`text-indigo-600`,svgPath:`M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z`,title:`智能错误诊断`,desc:`内置规则引擎,自动识别常见的加载错误(如 jQuery 缺失、CORS 限制),并提供具体的解决方案建议,告别无头苍蝇式排查。`}],Y=[{title:`启动页与进度条`,desc:`优雅的加载动画,缓解用户等待焦虑。`},{title:`分级日志控制`,desc:`UI 日志与 DevTools 日志独立控制,生产环境可完全关闭 UI 日志以节省性能。`}],he=[{name:`Iframe A`,pos:`top-[20%] left-[15%]`},{name:`Iframe B`,pos:`top-[20%] right-[15%]`},{name:`Iframe C`,pos:`bottom-[20%] left-[15%]`},{name:`Iframe D`,pos:`bottom-[20%] right-[15%]`}],ge=[{iconBg:`bg-blue-50`,iconColor:`text-blue-600`,svgPath:`M13 10V3L4 14h7v7l9-11h-7z`,title:`极速加载 (0ms Latency)`,desc:`首个 iframe 请求资源后,后续所有同源 iframe 均直接从父级内存读取 Blob URL 或 PostMessage 消息,网络延迟为零。`},{iconBg:`bg-indigo-50`,iconColor:`text-indigo-600`,svgPath:`M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4`,title:`流量节省`,desc:`对于 100 个 iframe 加载同一套 2MB 的 UI 库,系统仅消耗 2MB 流量,而非 200MB,显著降低服务器带宽成本。`},{iconBg:`bg-emerald-50`,iconColor:`text-emerald-600`,svgPath:`M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z`,title:`同源安全握手`,desc:`内置 Ping/Pong 握手机制,严格校验 Origin,确保资源只在授权的同源 iframe 间流转,防止数据泄露。`}],X=[{title:`父页面优先获取`,desc:`Parent Window 发起 HTTP 请求,将资源存储在内存 Map 中。`},{title:`建立握手通道`,desc:`Child Window 启动时自动 PostMessage Ping 父页面,验证同源。`},{title:`Blob 传输与执行`,desc:`父页面将缓存转化为 Blob URL 或 直接传输数据,子页面通过 URL.createObjectURL 即时执行脚本。`}],_e=[{name:`Child Iframe 1`,title:`Dashboard Pane`},{name:`Child Iframe 2`,title:`Settings Pane`}],Z=[{title:`发起网络请求`,desc:`父页面负责所有的跨域资源下载。系统自动拦截 <resource-share> 标签声明的资源,并发起 fetch 请求。`},{title:`缓存与预处理`,desc:`下载的内容被存储在父页面的 Map 缓存中。对于大文件,自动转换为 Blob URL;对于小文件,直接文本存储。`},{title:`监听子请求 & 分发`,desc:`父页面开启 message 监听器。一旦收到子页面的 resource-request 信号,立即从缓存提取数据并通过 postMessage 推回。`}],Q=[{title:`握手与请求`,desc:`子页面初始化时,向父页面发送 resource-share-ping 确认连接。随后解析自身的 <resource-share> 标签,生成请求列表。`},{title:`接收资源并执行`,desc:`收到父页面 postMessage 传来的 Blob URL 或字符串内容后,立即创建 <script> 或 <style> 标签并注入 DOM。`},{title:`降级机制 (Fallback)`,desc:`如果无法连接到父页面(例如跨域限制),子页面会自动降级,直接向 CDN 发起请求,确保业务不受影响。`}];return(r,$)=>(n(),u(`div`,ee,[$[16]||=i(`section`,{class:`relative pt-16 pb-20 lg:pt-24 lg:pb-32 overflow-hidden`},[i(`div`,{class:`absolute inset-0 tech-grid -z-10`}),i(`div`,{class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 text-center`},[i(`div`,{class:`inline-flex items-center gap-2 px-3 py-1 rounded-full bg-cyan-50 border border-cyan-100 text-cyan-700 text-xs font-semibold mb-8 fade-in-up`},[i(`span`,{class:`w-2 h-2 rounded-full bg-cyan-500 animate-pulse`}),o(` 架构重构 V1.3.7.2 发布 `)]),i(`h1`,{class:`text-5xl md:text-7xl font-extrabold text-slate-900 tracking-tight mb-8 fade-in-up delay-100`},[o(`ResourceShare 企业级跨域`),i(`br`),o(),i(`span`,{class:`text-transparent bg-clip-text bg-gradient-to-r from-cyan-600 to-blue-600`},`资源共享解决方案`)]),i(`p`,{class:`mt-4 max-w-2xl mx-auto text-xl text-slate-600 fade-in-up delay-200`},[o(` 如同瑞士军刀一般,解决 iframe 资源加载瓶颈。支持 VM 虚拟路径映射、Blob 传输优化、可视化 UI 监控以及智能错误诊断。 `),i(`br`,{class:`hidden sm:block`}),o(` 为大规模复杂 Web 应用打造的高性能底层引擎。 `)]),i(`div`,{class:`mt-10 flex justify-center gap-4 fade-in-up delay-300`},[i(`a`,{href:`#features`,class:`px-8 py-3.5 rounded-lg bg-cyan-600 text-white font-semibold shadow-lg shadow-cyan-200 hover:bg-cyan-700 transition-all hover:-translate-y-1`},` 探索功能 `),i(`a`,{href:`https://github.com/GVSADS/ResourceShare/`,target:`_blank`,class:`px-8 py-3.5 rounded-lg bg-white text-slate-700 border border-slate-200 font-semibold shadow-tech hover:bg-slate-50 transition-all`},` 查看 Github 项目 `)]),i(`div`,{class:`mt-20 relative rounded-2xl bg-slate-900 border border-slate-200 shadow-2xl overflow-hidden fade-in-up delay-300 mx-auto max-w-5xl`},[i(`div`,{class:`flex items-center gap-2 px-4 py-3 bg-white border-b border-slate-100 h-10`},[i(`div`,{class:`flex gap-1.5`},[i(`div`,{class:`w-3 h-3 rounded-full bg-red-400`}),i(`div`,{class:`w-3 h-3 rounded-full bg-yellow-400`}),i(`div`,{class:`w-3 h-3 rounded-full bg-green-400`})]),i(`div`,{class:`flex-1 flex items-center justify-center text-center text-xs font-mono text-slate-400`},` ResourceShare Monitor Panel `)]),i(`div`,{class:`aspect-[16/9] bg-slate-50 relative flex items-center justify-center p-8 overflow-hidden`},[i(`iframe`,{src:`/ProJect/ResourceShare/example.html`,class:`absolute inset-0 w-full h-full border-0 rounded-md`,title:`RS Demo`,frameborder:`0`,loading:`lazy`})])])])],-1),i(`section`,te,[i(`div`,ne,[$[0]||=i(`div`,{class:`text-center mb-16`},[i(`h2`,{class:`text-3xl font-bold text-slate-900 sm:text-4xl`},`全链路性能与体验优化`),i(`p`,{class:`mt-4 text-lg text-slate-600`},`不仅仅是加载脚本,而是提供一套完整的资源治理方案。`)],-1),i(`div`,re,[(n(),u(c,null,e(d,(e,t)=>i(`div`,{key:t,class:`p-8 rounded-2xl bg-slate-50 border border-slate-100 hover:border-cyan-200 hover:shadow-lg transition-all group`},[i(`div`,{class:s([`w-12 h-12 rounded-lg flex items-center justify-center mb-6 group-hover:scale-110 transition-transform`,e.iconBg])},[(n(),u(`svg`,{class:s([`w-6 h-6`,e.iconColor]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:e.svgPath},null,8,ie)],2))],2),i(`h3`,{class:`text-xl font-bold text-slate-900 mb-3`,innerHTML:e.title},null,8,f),i(`p`,{class:`text-slate-600 leading-relaxed`,innerHTML:e.desc},null,8,p)])),64))])])]),i(`section`,m,[i(`div`,h,[i(`div`,g,[i(`div`,null,[$[2]||=i(`div`,{class:`inline-block px-3 py-1 bg-blue-50 text-blue-600 rounded-full text-xs font-bold tracking-wider mb-4`},`ARCHITECTURE`,-1),$[3]||=i(`h2`,{class:`text-3xl font-bold text-slate-900 mb-6`},`可视化 UI 管理系统`,-1),$[4]||=i(`p`,{class:`text-slate-600 mb-6 leading-relaxed`},` 系统内置了一套基于 Web Components 的轻量级 UI 管理器。通过毛玻璃风格的悬浮面板,您可以实时监控资源加载进度、查看分类日志,甚至在发生严重错误时通过遮罩层获取诊断信息。 `,-1),i(`ul`,_,[(n(),u(c,null,e(Y,(e,n)=>i(`li`,{key:n,class:`flex items-start`},[$[1]||=i(`div`,{class:`flex-shrink-0 w-6 h-6 rounded-full bg-green-100 flex items-center justify-center mt-0.5`},[i(`svg`,{class:`w-4 h-4 text-green-600`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`})])],-1),i(`div`,v,[i(`h4`,y,t(e.title),1),i(`p`,b,t(e.desc),1)])])),64))])]),$[5]||=l(`
RS_CONFIG.js V1.3.7.2
window .RS_CONFIG = {
+ VERSION : '1.3.7.2' , // 当前系统版本号
+ COPYRIGHT : '© 2026 GVSDS Team' , // 版权声明
+ SOURCE_FILE : 'ResourceShare.js' , // 源文件标识名称
+
+ ENABLE_UI : true , // 是否启用可视化界面 (启动页/日志/弹窗)
+
+ POST_MESSAGE_LIMIT : 1 * 1024 * 1024 , // 消息传输大小阈值 (1MB),超过转Blob
+ BLOB_LIMIT : 1024 * 1024 * 1024 , // Blob数据处理限制 (1GB),防内存溢出
+ SCRIPT_TIMEOUT : 5 * 60 * 1000 , // 脚本加载超时时间 (5分钟),超时强制释放
+ PING_INTERVAL : 100 , // 子页向父页握手间隔
+ PING_TIMEOUT : 5000 , // 父页握手响应超时 (5秒)
+ REQUEST_TIMEOUT : 10000 , // 资源请求超时 (10秒)
+
+ RETRY : {
+ COUNT : 3 , // 失败重试次数
+ DELAY : 1500 // 重试间隔
+ },
+
+ Z_INDEX : {
+ SPLASH : 2147483647 , // 启动页层级 (最高)
+ PROGRESS : 2147483646 , // 进度条层级
+ PANEL : 2147483645 , // 日志面板层级
+ ERROR : 2147483648 // 错误弹窗层级
+ },
+
+ LOG_LEVEL_UI : 'debug' , // UI面板日志级别 ('debug'/'info'/'error'/'none')
+ LOG_LEVEL_DEVTOOLS : 'error' , // 浏览器控制台日志级别 ('debug'/'info'/'error'/'none')
+
+ LOG_LEVEL_MAP : {
+ debug: ['info' , 'success' , 'warning' , 'danger' , 'cache' , 'request' ], // 调试模式允许所有类型
+ info: ['info' , 'success' , 'warning' , 'danger' ], // 信息模式排除缓存/请求
+ error: ['danger' ], // 错误模式仅显示危险
+ none: [] // 关闭日志
+ },
+
+ ANIMATION : {
+ SPLASH_HIDE : 800 , // 启动页隐藏动画时长
+ PROGRESS_COMPLETE : 800 ,// 进度条完成动画时长
+ PANEL_HIDE : 500 , // 面板隐藏动画时长
+ ERROR_SLIDE_UP : 400 , // 错误弹窗滑入动画时长
+ LOG_FADE_IN : 200 // 日志条目淡入动画时长
+ },
+
+ UI_STYLE : {
+ FONT_FAMILY : "'Segoe UI Variable', 'Segoe UI', sans-serif" , // 系统字体
+ MONO_FONT : "'Consolas', 'Monaco', monospace" , // 代码字体
+ BLUR_VALUE : '20px' , // 背景模糊度
+ SHADOW_OPACITY : 0.12 // 阴影透明度
+ }
+}; `,1)])])]),i(`section`,x,[i(`div`,S,[$[9]||=i(`div`,{class:`text-center mb-16`},[i(`h2`,{class:`text-base text-cyan-600 font-semibold tracking-wide uppercase`},`Architecture`),i(`p`,{class:`mt-2 text-3xl leading-8 font-extrabold tracking-tight text-slate-900 sm:text-4xl`},` 父级分发,多子级复用 `),i(`p`,{class:`mt-4 max-w-2xl text-xl text-slate-500 mx-auto`},` 告别每个 iframe 都重新下载 jQuery 或 Vue 的低效时代。 `)],-1),i(`div`,C,[i(`div`,w,[(n(),u(`svg`,T,[...$[6]||=[i(`line`,{x1:`50%`,y1:`50%`,x2:`20%`,y2:`30%`,stroke:`#cbd5e1`,"stroke-width":`2`,"stroke-dasharray":`4 4`},null,-1),i(`line`,{x1:`50%`,y1:`50%`,x2:`80%`,y2:`30%`,stroke:`#cbd5e1`,"stroke-width":`2`,"stroke-dasharray":`4 4`},null,-1),i(`line`,{x1:`50%`,y1:`50%`,x2:`20%`,y2:`70%`,stroke:`#cbd5e1`,"stroke-width":`2`,"stroke-dasharray":`4 4`},null,-1),i(`line`,{x1:`50%`,y1:`50%`,x2:`80%`,y2:`70%`,stroke:`#cbd5e1`,"stroke-width":`2`,"stroke-dasharray":`4 4`},null,-1)]])),$[8]||=l(``,1),(n(),u(c,null,e(he,(e,n)=>i(`div`,{key:n,class:s([e.pos,`absolute w-24 h-20 bg-white border border-slate-300 rounded-lg shadow-sm z-0 flex flex-col items-center justify-center`])},[i(`span`,E,t(e.name),1),$[7]||=i(`div`,{class:`mt-1 px-1.5 py-0.5 bg-green-100 text-green-700 text-[10px] rounded`},`Cached`,-1)],2)),64))]),i(`div`,D,[(n(),u(c,null,e(ge,(e,r)=>i(`div`,{key:r,class:`flex gap-4`},[i(`div`,{class:s([`flex-shrink-0 w-12 h-12 rounded-lg flex items-center justify-center`,e.iconBg])},[(n(),u(`svg`,{class:s([`w-6 h-6`,e.iconColor]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:e.svgPath},null,8,O)],2))],2),i(`div`,null,[i(`h3`,k,t(e.title),1),i(`p`,A,t(e.desc),1)])])),64))])])])]),i(`section`,j,[i(`div`,M,[i(`div`,N,[i(`div`,P,[$[10]||=i(`h2`,{class:`text-3xl font-bold text-gray-900 mb-6`},`父对子 (P2C) 共享逻辑`,-1),$[11]||=i(`p`,{class:`text-gray-500 mb-6`},` 在传统的 iframe 架构中,每个 iframe 都是一个独立的浏览器上下文,拥有独立的网络栈和缓存。 如果你的页面有 5 个子窗格,每个都需要加载 jQuery (85KB),那么你浪费了 400KB 的带宽和 5 次 DNS 查询时间。 `,-1),i(`ul`,F,[(n(),u(c,null,e(X,(e,n)=>i(`li`,{key:n,class:`flex items-start gap-3`},[i(`span`,ae,t(n+1),1),i(`div`,null,[i(`strong`,I,t(e.title),1),i(`span`,L,t(e.desc),1)])])),64))])]),i(`div`,R,[i(`div`,z,[$[13]||=l(`Parent Window (Top Level)
ResourceShare Manager
Cache: Map ✓ jQuery Loaded
`,2),i(`div`,B,[(n(),u(c,null,e(_e,(e,n)=>i(`div`,{key:n,class:`bg-white border border-gray-200 rounded-lg p-4 shadow-sm`},[i(`div`,V,t(e.name),1),i(`div`,H,t(e.title),1),$[12]||=i(`div`,{class:`mt-2 text-xs text-green-600 flex items-center gap-1`},[i(`span`,{class:`w-2 h-2 rounded-full bg-green-500`}),o(` Ready (Cached) `)],-1)])),64))])])])])])]),i(`section`,U,[i(`div`,W,[i(`div`,G,[i(`div`,null,[$[14]||=l(``,1),i(`div`,K,[(n(),u(c,null,e(Z,(e,r)=>i(`div`,{key:r,class:`flex gap-4`},[i(`div`,q,[i(`div`,J,t(r+1),1),r子页面:轻量接入 `,1),i(`div`,le,[(n(),u(c,null,e(Q,(e,r)=>i(`div`,{key:r,class:`flex gap-4`},[i(`div`,ue,[i(`div`,de,t(r+1),1),r多子场景下的性能碾压 假设系统有 1 个父页面和 5 个子 iframe,共同加载 3 个公共库(jQuery, Vue, ElementUI)
传统加载模式 每个页面独立向 CDN 发起请求 重复下载相同资源 6 次 (1父+5子) 浪费带宽,加载时间长 ResourceShare 模式 仅父页面发起 3 次网络请求 5 个子页面瞬间并发获取 (PostMessage) 节省 83% 的外部请求 智能错误诊断系统 当脚本执行失败时,系统不仅显示错误,更会提供修复建议。
!
系统严重错误
ResourceShare 遇到不可恢复的错误
智能诊断与建议 jQuery 依赖错误: 脚本依赖 jQuery,但似乎未加载或加载顺序错误。 解决方案: 请检查 resource-share 中 jQuery 是否在其他依赖库之前声明。
错误堆栈跟踪 TypeError: $ is not defined at VM_app_main.js:12:5 at executeScript (ResourceShare.js:420)
实时规则匹配 内置的 DIAGNOSTIC_RULES 包含多种常见错误的特征检测。一旦捕获异常,系统会遍历规则库,匹配错误特征并生成 HTML 诊断报告。
网络层异常捕捉 不仅限于 JavaScript 语法错误。对于网络请求超时、4xx/5xx 状态码、CORS 跨域拦截等底层网络问题,同样提供明确的指引。
TypeError ReferenceError NetworkError
开箱即用,零配置启动 只需引入一个 JS 文件,并使用自定义标签声明资源,系统将自动完成脚本拦截、加载、映射和执行的整个生命周期。
<!-- 1. 引入系统 -->
+<script src ="https://cdn.gvsds.com/ResourceShare/ResourceShare-1.3.7.2.js" ></script>
+
+<!-- 2. 声明需要管理的资源 -->
+<resource-share
+ type ="script"
+ src ="https://cdn.../jquery.min.js" >
+</resource-share>
+
+<resource-share
+ type ="style"
+ href ="https://cdn.../app.css" >
+</resource-share>
+
+<!-- 3. 正常书写业务代码,无需额外等待逻辑 -->
+<script>
+ window .resourceShareManager.on('ready' , () => {
+ $('#app' ).show(); // jQuery 确保已加载
+ });
+</script> `,3)]))}}),[[`__scopeId`,`data-v-e2e092a7`]]);export{Y as default};
\ No newline at end of file
diff --git a/TempLate/assets/ResourceShareView-g8ZPFK6i.js b/TempLate/assets/ResourceShareView-g8ZPFK6i.js
new file mode 100644
index 00000000..aea92327
--- /dev/null
+++ b/TempLate/assets/ResourceShareView-g8ZPFK6i.js
@@ -0,0 +1,70 @@
+import{C as e,N as t,S as n,_ as r,d as i,f as a,h as o,j as s,l as c,m as l,p as u}from"./index-CUry87of.js";import{t as d}from"./_plugin-vue_export-helper-BDNMzG2s.js";var ee={class:`antialiased selection:bg-cyan-200 selection:text-cyan-900`},te={id:`features`,class:`py-24 bg-white relative`},ne={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},re={class:`grid grid-cols-1 md:grid-cols-3 gap-8`},ie=[`d`],f=[`innerHTML`],p=[`innerHTML`],m={id:`architecture`,class:`py-24 bg-slate-50 overflow-hidden`},h={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},g={class:`grid lg:grid-cols-2 gap-16 items-center`},_={class:`space-y-4`},v={class:`ml-3`},y={class:`text-base font-semibold text-slate-900`},b={class:`text-sm text-slate-500 mt-1`},x={class:`py-20 bg-white border-y border-slate-100`},S={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},C={class:`grid grid-cols-1 lg:grid-cols-2 gap-12 items-center`},w={class:`relative bg-slate-50 rounded-2xl border border-slate-200 p-8 shadow-inner overflow-hidden h-[400px] flex items-center justify-center`},T={class:`absolute inset-0 w-full h-full pointer-events-none`,style:{"z-index":`1`}},E={class:`text-xs font-semibold text-slate-600`},D={class:`space-y-8`},O=[`d`],k={class:`text-lg font-bold text-slate-900`},A={class:`mt-2 text-slate-600`},j={class:`py-20 bg-[#eff6ff] border-y border-blue-100`},M={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},N={class:`flex flex-col lg:flex-row items-center gap-12`},P={class:`lg:w-1/2`},F={class:`space-y-4`},ae={class:`flex-shrink-0 h-6 w-6 rounded-full bg-blue-500 text-white flex items-center justify-center text-xs font-bold`},I={class:`block text-gray-900`},L={class:`text-sm text-gray-500`},R={class:`lg:w-1/2 w-full`},z={class:`bg-white rounded-xl shadow-lg border border-gray-200 p-8 relative`},B={class:`grid grid-cols-2 gap-4`},V={class:`text-xs text-gray-400 mb-1`},H={class:`text-sm font-semibold text-gray-700`},U={id:`logic`,class:`py-24 bg-slate-50`},W={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`},G={class:`grid lg:grid-cols-2 gap-16`},K={class:`space-y-6`},q={class:`flex flex-col items-center`},J={class:`w-6 h-6 rounded-full bg-cyan-600 text-white flex items-center justify-center text-xs font-bold`},oe={key:0,class:`w-0.5 flex-1 bg-cyan-200 my-1`},se=[`innerHTML`],ce=[`innerHTML`],le={class:`space-y-6`},ue={class:`flex flex-col items-center`},de={class:`w-6 h-6 rounded-full bg-indigo-600 text-white flex items-center justify-center text-xs font-bold`},fe={key:0,class:`w-0.5 flex-1 bg-indigo-200 my-1`},pe=[`innerHTML`],me=[`innerHTML`],Y=d(r({__name:`ResourceShareView`,setup(r){let d=[{iconBg:`bg-cyan-100`,iconColor:`text-cyan-600`,svgPath:`M13 10V3L4 14h7v7l9-11h-7z`,title:`高性能传输`,desc:`智能判断资源体积。小于 1MB 使用 PostMessage 直接传输,超大文件自动切换为 Blob URL 方式,突破浏览器消息传递限制。`},{iconBg:`bg-blue-100`,iconColor:`text-blue-600`,svgPath:`M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10`,title:`虚拟路径映射 (V1.3.7.2)`,desc:`自动为远程资源生成 VM_ 前缀的虚拟文件名(如 VM_jquery.min.js),保留完整的 SourceURL 路径层级,极大提升开发者调试体验。`},{iconBg:`bg-indigo-100`,iconColor:`text-indigo-600`,svgPath:`M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z`,title:`智能错误诊断`,desc:`内置规则引擎,自动识别常见的加载错误(如 jQuery 缺失、CORS 限制),并提供具体的解决方案建议,告别无头苍蝇式排查。`}],Y=[{title:`启动页与进度条`,desc:`优雅的加载动画,缓解用户等待焦虑。`},{title:`分级日志控制`,desc:`UI 日志与 DevTools 日志独立控制,生产环境可完全关闭 UI 日志以节省性能。`}],he=[{name:`Iframe A`,pos:`top-[20%] left-[15%]`},{name:`Iframe B`,pos:`top-[20%] right-[15%]`},{name:`Iframe C`,pos:`bottom-[20%] left-[15%]`},{name:`Iframe D`,pos:`bottom-[20%] right-[15%]`}],ge=[{iconBg:`bg-blue-50`,iconColor:`text-blue-600`,svgPath:`M13 10V3L4 14h7v7l9-11h-7z`,title:`极速加载 (0ms Latency)`,desc:`首个 iframe 请求资源后,后续所有同源 iframe 均直接从父级内存读取 Blob URL 或 PostMessage 消息,网络延迟为零。`},{iconBg:`bg-indigo-50`,iconColor:`text-indigo-600`,svgPath:`M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4`,title:`流量节省`,desc:`对于 100 个 iframe 加载同一套 2MB 的 UI 库,系统仅消耗 2MB 流量,而非 200MB,显著降低服务器带宽成本。`},{iconBg:`bg-emerald-50`,iconColor:`text-emerald-600`,svgPath:`M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z`,title:`同源安全握手`,desc:`内置 Ping/Pong 握手机制,严格校验 Origin,确保资源只在授权的同源 iframe 间流转,防止数据泄露。`}],X=[{title:`父页面优先获取`,desc:`Parent Window 发起 HTTP 请求,将资源存储在内存 Map 中。`},{title:`建立握手通道`,desc:`Child Window 启动时自动 PostMessage Ping 父页面,验证同源。`},{title:`Blob 传输与执行`,desc:`父页面将缓存转化为 Blob URL 或 直接传输数据,子页面通过 URL.createObjectURL 即时执行脚本。`}],_e=[{name:`Child Iframe 1`,title:`Dashboard Pane`},{name:`Child Iframe 2`,title:`Settings Pane`}],Z=[{title:`发起网络请求`,desc:`父页面负责所有的跨域资源下载。系统自动拦截 <resource-share> 标签声明的资源,并发起 fetch 请求。`},{title:`缓存与预处理`,desc:`下载的内容被存储在父页面的 Map 缓存中。对于大文件,自动转换为 Blob URL;对于小文件,直接文本存储。`},{title:`监听子请求 & 分发`,desc:`父页面开启 message 监听器。一旦收到子页面的 resource-request 信号,立即从缓存提取数据并通过 postMessage 推回。`}],Q=[{title:`握手与请求`,desc:`子页面初始化时,向父页面发送 resource-share-ping 确认连接。随后解析自身的 <resource-share> 标签,生成请求列表。`},{title:`接收资源并执行`,desc:`收到父页面 postMessage 传来的 Blob URL 或字符串内容后,立即创建 <script> 或 <style> 标签并注入 DOM。`},{title:`降级机制 (Fallback)`,desc:`如果无法连接到父页面(例如跨域限制),子页面会自动降级,直接向 CDN 发起请求,确保业务不受影响。`}];return(r,$)=>(n(),u(`div`,ee,[$[16]||=i(`section`,{class:`relative pt-16 pb-20 lg:pt-24 lg:pb-32 overflow-hidden`},[i(`div`,{class:`absolute inset-0 tech-grid -z-10`}),i(`div`,{class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 text-center`},[i(`div`,{class:`inline-flex items-center gap-2 px-3 py-1 rounded-full bg-cyan-50 border border-cyan-100 text-cyan-700 text-xs font-semibold mb-8 fade-in-up`},[i(`span`,{class:`w-2 h-2 rounded-full bg-cyan-500 animate-pulse`}),o(` 架构重构 V1.3.7.2 发布 `)]),i(`h1`,{class:`text-5xl md:text-7xl font-extrabold text-slate-900 tracking-tight mb-8 fade-in-up delay-100`},[o(`ResourceShare 企业级跨域`),i(`br`),o(),i(`span`,{class:`text-transparent bg-clip-text bg-gradient-to-r from-cyan-600 to-blue-600`},`资源共享解决方案`)]),i(`p`,{class:`mt-4 max-w-2xl mx-auto text-xl text-slate-600 fade-in-up delay-200`},[o(` 如同瑞士军刀一般,解决 iframe 资源加载瓶颈。支持 VM 虚拟路径映射、Blob 传输优化、可视化 UI 监控以及智能错误诊断。 `),i(`br`,{class:`hidden sm:block`}),o(` 为大规模复杂 Web 应用打造的高性能底层引擎。 `)]),i(`div`,{class:`mt-10 flex justify-center gap-4 fade-in-up delay-300`},[i(`a`,{href:`#features`,class:`px-8 py-3.5 rounded-lg bg-cyan-600 text-white font-semibold shadow-lg shadow-cyan-200 hover:bg-cyan-700 transition-all hover:-translate-y-1`},` 探索功能 `),i(`a`,{href:`https://github.com/GVSADS/ResourceShare/`,target:`_blank`,class:`px-8 py-3.5 rounded-lg bg-white text-slate-700 border border-slate-200 font-semibold shadow-tech hover:bg-slate-50 transition-all`},` 查看 Github 项目 `)]),i(`div`,{class:`mt-20 relative rounded-2xl bg-slate-900 border border-slate-200 shadow-2xl overflow-hidden fade-in-up delay-300 mx-auto max-w-5xl`},[i(`div`,{class:`flex items-center gap-2 px-4 py-3 bg-white border-b border-slate-100 h-10`},[i(`div`,{class:`flex gap-1.5`},[i(`div`,{class:`w-3 h-3 rounded-full bg-red-400`}),i(`div`,{class:`w-3 h-3 rounded-full bg-yellow-400`}),i(`div`,{class:`w-3 h-3 rounded-full bg-green-400`})]),i(`div`,{class:`flex-1 flex items-center justify-center text-center text-xs font-mono text-slate-400`},` ResourceShare Monitor Panel `)]),i(`div`,{class:`aspect-[16/9] bg-slate-50 relative flex items-center justify-center p-8 overflow-hidden`},[i(`iframe`,{src:`/ProJect/ResourceShare/example.html`,class:`absolute inset-0 w-full h-full border-0 rounded-md`,title:`RS Demo`,frameborder:`0`,loading:`lazy`})])])])],-1),i(`section`,te,[i(`div`,ne,[$[0]||=i(`div`,{class:`text-center mb-16`},[i(`h2`,{class:`text-3xl font-bold text-slate-900 sm:text-4xl`},`全链路性能与体验优化`),i(`p`,{class:`mt-4 text-lg text-slate-600`},`不仅仅是加载脚本,而是提供一套完整的资源治理方案。`)],-1),i(`div`,re,[(n(),u(c,null,e(d,(e,t)=>i(`div`,{key:t,class:`p-8 rounded-2xl bg-slate-50 border border-slate-100 hover:border-cyan-200 hover:shadow-lg transition-all group`},[i(`div`,{class:s([`w-12 h-12 rounded-lg flex items-center justify-center mb-6 group-hover:scale-110 transition-transform`,e.iconBg])},[(n(),u(`svg`,{class:s([`w-6 h-6`,e.iconColor]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:e.svgPath},null,8,ie)],2))],2),i(`h3`,{class:`text-xl font-bold text-slate-900 mb-3`,innerHTML:e.title},null,8,f),i(`p`,{class:`text-slate-600 leading-relaxed`,innerHTML:e.desc},null,8,p)])),64))])])]),i(`section`,m,[i(`div`,h,[i(`div`,g,[i(`div`,null,[$[2]||=i(`div`,{class:`inline-block px-3 py-1 bg-blue-50 text-blue-600 rounded-full text-xs font-bold tracking-wider mb-4`},`ARCHITECTURE`,-1),$[3]||=i(`h2`,{class:`text-3xl font-bold text-slate-900 mb-6`},`可视化 UI 管理系统`,-1),$[4]||=i(`p`,{class:`text-slate-600 mb-6 leading-relaxed`},` 系统内置了一套基于 Web Components 的轻量级 UI 管理器。通过毛玻璃风格的悬浮面板,您可以实时监控资源加载进度、查看分类日志,甚至在发生严重错误时通过遮罩层获取诊断信息。 `,-1),i(`ul`,_,[(n(),u(c,null,e(Y,(e,n)=>i(`li`,{key:n,class:`flex items-start`},[$[1]||=i(`div`,{class:`flex-shrink-0 w-6 h-6 rounded-full bg-green-100 flex items-center justify-center mt-0.5`},[i(`svg`,{class:`w-4 h-4 text-green-600`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`})])],-1),i(`div`,v,[i(`h4`,y,t(e.title),1),i(`p`,b,t(e.desc),1)])])),64))])]),$[5]||=l(`
RS_CONFIG.js V1.3.7.2
window .RS_CONFIG = {
+ VERSION : '1.3.7.2' , // 当前系统版本号
+ COPYRIGHT : '© 2026 GVSDS Team' , // 版权声明
+ SOURCE_FILE : 'ResourceShare.js' , // 源文件标识名称
+
+ ENABLE_UI : true , // 是否启用可视化界面 (启动页/日志/弹窗)
+
+ POST_MESSAGE_LIMIT : 1 * 1024 * 1024 , // 消息传输大小阈值 (1MB),超过转Blob
+ BLOB_LIMIT : 1024 * 1024 * 1024 , // Blob数据处理限制 (1GB),防内存溢出
+ SCRIPT_TIMEOUT : 5 * 60 * 1000 , // 脚本加载超时时间 (5分钟),超时强制释放
+ PING_INTERVAL : 100 , // 子页向父页握手间隔
+ PING_TIMEOUT : 5000 , // 父页握手响应超时 (5秒)
+ REQUEST_TIMEOUT : 10000 , // 资源请求超时 (10秒)
+
+ RETRY : {
+ COUNT : 3 , // 失败重试次数
+ DELAY : 1500 // 重试间隔
+ },
+
+ Z_INDEX : {
+ SPLASH : 2147483647 , // 启动页层级 (最高)
+ PROGRESS : 2147483646 , // 进度条层级
+ PANEL : 2147483645 , // 日志面板层级
+ ERROR : 2147483648 // 错误弹窗层级
+ },
+
+ LOG_LEVEL_UI : 'debug' , // UI面板日志级别 ('debug'/'info'/'error'/'none')
+ LOG_LEVEL_DEVTOOLS : 'error' , // 浏览器控制台日志级别 ('debug'/'info'/'error'/'none')
+
+ LOG_LEVEL_MAP : {
+ debug: ['info' , 'success' , 'warning' , 'danger' , 'cache' , 'request' ], // 调试模式允许所有类型
+ info: ['info' , 'success' , 'warning' , 'danger' ], // 信息模式排除缓存/请求
+ error: ['danger' ], // 错误模式仅显示危险
+ none: [] // 关闭日志
+ },
+
+ ANIMATION : {
+ SPLASH_HIDE : 800 , // 启动页隐藏动画时长
+ PROGRESS_COMPLETE : 800 ,// 进度条完成动画时长
+ PANEL_HIDE : 500 , // 面板隐藏动画时长
+ ERROR_SLIDE_UP : 400 , // 错误弹窗滑入动画时长
+ LOG_FADE_IN : 200 // 日志条目淡入动画时长
+ },
+
+ UI_STYLE : {
+ FONT_FAMILY : "'Segoe UI Variable', 'Segoe UI', sans-serif" , // 系统字体
+ MONO_FONT : "'Consolas', 'Monaco', monospace" , // 代码字体
+ BLUR_VALUE : '20px' , // 背景模糊度
+ SHADOW_OPACITY : 0.12 // 阴影透明度
+ }
+}; `,1)])])]),i(`section`,x,[i(`div`,S,[$[9]||=i(`div`,{class:`text-center mb-16`},[i(`h2`,{class:`text-base text-cyan-600 font-semibold tracking-wide uppercase`},`Architecture`),i(`p`,{class:`mt-2 text-3xl leading-8 font-extrabold tracking-tight text-slate-900 sm:text-4xl`},` 父级分发,多子级复用 `),i(`p`,{class:`mt-4 max-w-2xl text-xl text-slate-500 mx-auto`},` 告别每个 iframe 都重新下载 jQuery 或 Vue 的低效时代。 `)],-1),i(`div`,C,[i(`div`,w,[(n(),u(`svg`,T,[...$[6]||=[i(`line`,{x1:`50%`,y1:`50%`,x2:`20%`,y2:`30%`,stroke:`#cbd5e1`,"stroke-width":`2`,"stroke-dasharray":`4 4`},null,-1),i(`line`,{x1:`50%`,y1:`50%`,x2:`80%`,y2:`30%`,stroke:`#cbd5e1`,"stroke-width":`2`,"stroke-dasharray":`4 4`},null,-1),i(`line`,{x1:`50%`,y1:`50%`,x2:`20%`,y2:`70%`,stroke:`#cbd5e1`,"stroke-width":`2`,"stroke-dasharray":`4 4`},null,-1),i(`line`,{x1:`50%`,y1:`50%`,x2:`80%`,y2:`70%`,stroke:`#cbd5e1`,"stroke-width":`2`,"stroke-dasharray":`4 4`},null,-1)]])),$[8]||=l(``,1),(n(),u(c,null,e(he,(e,n)=>i(`div`,{key:n,class:s([e.pos,`absolute w-24 h-20 bg-white border border-slate-300 rounded-lg shadow-sm z-0 flex flex-col items-center justify-center`])},[i(`span`,E,t(e.name),1),$[7]||=i(`div`,{class:`mt-1 px-1.5 py-0.5 bg-green-100 text-green-700 text-[10px] rounded`},`Cached`,-1)],2)),64))]),i(`div`,D,[(n(),u(c,null,e(ge,(e,r)=>i(`div`,{key:r,class:`flex gap-4`},[i(`div`,{class:s([`flex-shrink-0 w-12 h-12 rounded-lg flex items-center justify-center`,e.iconBg])},[(n(),u(`svg`,{class:s([`w-6 h-6`,e.iconColor]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:e.svgPath},null,8,O)],2))],2),i(`div`,null,[i(`h3`,k,t(e.title),1),i(`p`,A,t(e.desc),1)])])),64))])])])]),i(`section`,j,[i(`div`,M,[i(`div`,N,[i(`div`,P,[$[10]||=i(`h2`,{class:`text-3xl font-bold text-gray-900 mb-6`},`父对子 (P2C) 共享逻辑`,-1),$[11]||=i(`p`,{class:`text-gray-500 mb-6`},` 在传统的 iframe 架构中,每个 iframe 都是一个独立的浏览器上下文,拥有独立的网络栈和缓存。 如果你的页面有 5 个子窗格,每个都需要加载 jQuery (85KB),那么你浪费了 400KB 的带宽和 5 次 DNS 查询时间。 `,-1),i(`ul`,F,[(n(),u(c,null,e(X,(e,n)=>i(`li`,{key:n,class:`flex items-start gap-3`},[i(`span`,ae,t(n+1),1),i(`div`,null,[i(`strong`,I,t(e.title),1),i(`span`,L,t(e.desc),1)])])),64))])]),i(`div`,R,[i(`div`,z,[$[13]||=l(`Parent Window (Top Level)
ResourceShare Manager
Cache: Map ✓ jQuery Loaded
`,2),i(`div`,B,[(n(),u(c,null,e(_e,(e,n)=>i(`div`,{key:n,class:`bg-white border border-gray-200 rounded-lg p-4 shadow-sm`},[i(`div`,V,t(e.name),1),i(`div`,H,t(e.title),1),$[12]||=i(`div`,{class:`mt-2 text-xs text-green-600 flex items-center gap-1`},[i(`span`,{class:`w-2 h-2 rounded-full bg-green-500`}),o(` Ready (Cached) `)],-1)])),64))])])])])])]),i(`section`,U,[i(`div`,W,[i(`div`,G,[i(`div`,null,[$[14]||=l(``,1),i(`div`,K,[(n(),u(c,null,e(Z,(e,r)=>i(`div`,{key:r,class:`flex gap-4`},[i(`div`,q,[i(`div`,J,t(r+1),1),r子页面:轻量接入 `,1),i(`div`,le,[(n(),u(c,null,e(Q,(e,r)=>i(`div`,{key:r,class:`flex gap-4`},[i(`div`,ue,[i(`div`,de,t(r+1),1),r多子场景下的性能碾压 假设系统有 1 个父页面和 5 个子 iframe,共同加载 3 个公共库(jQuery, Vue, ElementUI)
传统加载模式 每个页面独立向 CDN 发起请求 重复下载相同资源 6 次 (1父+5子) 浪费带宽,加载时间长 ResourceShare 模式 仅父页面发起 3 次网络请求 5 个子页面瞬间并发获取 (PostMessage) 节省 83% 的外部请求 智能错误诊断系统 当脚本执行失败时,系统不仅显示错误,更会提供修复建议。
!
系统严重错误
ResourceShare 遇到不可恢复的错误
智能诊断与建议 jQuery 依赖错误: 脚本依赖 jQuery,但似乎未加载或加载顺序错误。 解决方案: 请检查 resource-share 中 jQuery 是否在其他依赖库之前声明。
错误堆栈跟踪 TypeError: $ is not defined at VM_app_main.js:12:5 at executeScript (ResourceShare.js:420)
实时规则匹配 内置的 DIAGNOSTIC_RULES 包含多种常见错误的特征检测。一旦捕获异常,系统会遍历规则库,匹配错误特征并生成 HTML 诊断报告。
网络层异常捕捉 不仅限于 JavaScript 语法错误。对于网络请求超时、4xx/5xx 状态码、CORS 跨域拦截等底层网络问题,同样提供明确的指引。
TypeError ReferenceError NetworkError
开箱即用,零配置启动 只需引入一个 JS 文件,并使用自定义标签声明资源,系统将自动完成脚本拦截、加载、映射和执行的整个生命周期。
<!-- 1. 引入系统 -->
+<script src ="https://cdn.gvsds.com/ResourceShare/ResourceShare-1.3.7.2.js" ></script>
+
+<!-- 2. 声明需要管理的资源 -->
+<resource-share
+ type ="script"
+ src ="https://cdn.../jquery.min.js" >
+</resource-share>
+
+<resource-share
+ type ="style"
+ href ="https://cdn.../app.css" >
+</resource-share>
+
+<!-- 3. 正常书写业务代码,无需额外等待逻辑 -->
+<script>
+ window .resourceShareManager.on('ready' , () => {
+ $('#app' ).show(); // jQuery 确保已加载
+ });
+</script> `,3)]))}}),[[`__scopeId`,`data-v-e2e092a7`]]);export{Y as default};
\ No newline at end of file
diff --git a/TempLate/assets/ServiceView-B3LojX8Y.js b/TempLate/assets/ServiceView-B3LojX8Y.js
new file mode 100644
index 00000000..1b190854
--- /dev/null
+++ b/TempLate/assets/ServiceView-B3LojX8Y.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,h as a,j as o,l as s,m as c,p as l,t as u}from"./index-UfMysbwD.js";import{t as d}from"./_plugin-vue_export-helper-BDNMzG2s.js";var f={class:`max-w-7xl mx-auto px-6 py-14`},p={class:`grid grid-cols-1 lg:grid-cols-5 gap-6 mb-14`},m={class:`lg:col-span-3 bg-gradient-to-br from-blue-600 via-blue-700 to-indigo-800 rounded-3xl p-8 text-white relative overflow-hidden card-hover shadow-xl shadow-blue-100`},h={class:`relative z-10`},g={class:`grid grid-cols-2 gap-2 mb-8`},_={class:`flex items-center gap-3`},v={class:`lg:col-span-2 flex flex-col gap-6`},y={class:`flex-1 bg-white border border-gray-100 rounded-3xl p-6 card-hover shadow-sm`},b={class:`flex items-center justify-between pt-4 border-t border-gray-50`},x={class:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 mb-14`},S={class:`flex items-center justify-between mb-5`},C=[`d`],w={class:`text-xs bg-gray-100 text-gray-600 font-medium px-3 py-1 rounded-full`},T={class:`font-bold text-gray-900 text-lg mb-2`},E={class:`text-sm text-gray-500 leading-relaxed mb-4`},D={class:`flex flex-wrap gap-1.5 mb-5`},O={class:`border-t border-gray-50 pt-4 flex items-center justify-between`},k={class:`flex items-center gap-1.5`},A={class:`text-xs text-gray-500`},j={class:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-14`},M=[`d`],N={class:`font-bold text-gray-900 mb-2`},P={class:`text-sm text-gray-500 leading-relaxed mb-4`},F={class:`text-xs text-gray-400`},I={class:`grid grid-cols-1 lg:grid-cols-2 gap-6 mb-14`},L={class:`bg-white border border-gray-100 rounded-3xl p-8 card-hover shadow-sm`},R={class:`space-y-4 mb-6`},z={class:`w-8 h-8 bg-sky-100 rounded-full flex items-center justify-center flex-shrink-0 text-sky-700 font-bold text-sm`},B={class:`font-medium text-gray-900 text-sm mb-1`},V={class:`text-xs text-gray-500`},H={class:`bg-white border border-gray-100 rounded-3xl p-8 card-hover shadow-sm`},U={class:`space-y-3`},W={class:`flex items-center gap-3`},G={class:`text-sm font-medium text-gray-700`},K={class:`text-xs text-gray-400`},q=d(r({__name:`ServiceView`,setup(r){let d=u(),q=[`需求定制分析`,`开源技术栈开发`,`私有化部署`,`源码交付`,`长期技术维护`,`7×24 售后支持`],J=[{iconBg:`bg-blue-50 group-hover:bg-blue-100`,iconColor:`text-blue-600`,svgPath:`M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4m0 5c0 2.21-3.582 4-8 4s-8-1.79-8-4`,badge:`按需报价`,title:`Web系统开发`,desc:`定制开发企业官网、管理后台、SAAS系统、电商平台等Web应用,基于开源框架快速交付,支持多端适配。`,tags:[`Node/React`,`Django/Flask`,`多端适配`,`私有化部署`],dot:`bg-green-400`,status:`按需定制`,linkColor:`text-blue-600 hover:text-blue-800`},{iconBg:`bg-cyan-50 group-hover:bg-cyan-100`,iconColor:`text-cyan-600`,svgPath:`M13 10V3L4 14h7v7l9-11h-7z`,badge:`热门`,title:`自动化脚本/工具`,desc:`开发各类自动化脚本、爬虫工具、数据处理工具,提升企业工作效率,替代重复人工操作。`,tags:[`Python/Go`,`数据爬取`,`自动化流程`],dot:`bg-cyan-400`,status:`快速交付`,linkColor:`text-cyan-600 hover:text-cyan-800`},{iconBg:`bg-amber-50 group-hover:bg-amber-100`,iconColor:`text-amber-600`,svgPath:`M9 17v-2m3 2v-4m3 4v-6m2 10H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z`,badge:`长期合作`,title:`技术维护与迭代`,desc:`为企业现有系统提供bug修复、功能迭代、性能优化、版本升级等技术维护服务,保障系统稳定运行。`,tags:[`Bug 修复`,`性能优化`,`版本迭代`],dot:`bg-green-400`,status:`7×24h 支持`,linkColor:`text-amber-600 hover:text-amber-800`}],Y=[{iconBg:`bg-violet-50 group-hover:bg-violet-100`,iconColor:`text-violet-600`,svgPath:`M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z`,title:`管理后台类`,desc:`基于 GERP、VueAdmin、ReactAdmin 等开源后台框架定制企业管理系统,快速上线。`,foot:`支持RBAC权限管理`},{iconBg:`bg-pink-50 group-hover:bg-pink-100`,iconColor:`text-pink-600`,svgPath:`M15 10l4.553-2.069A1 1 0 0121 8.87v6.26a1 1 0 01-1.447.894L15 14M5 18h8a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v8a2 2 0 002 2z`,title:`爬虫/自动化类`,desc:`基于 Scrapy、Playwright 等开源框架开发定制化爬虫与自动化脚本。`,foot:`支持反爬策略适配`},{iconBg:`bg-orange-50 group-hover:bg-orange-100`,iconColor:`text-orange-600`,svgPath:`M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01`,title:`数据可视化类`,desc:`基于 ECharts、DataV 等定制企业数据可视化大屏、报表系统。`,foot:`支持多数据源接入`},{iconBg:`bg-teal-50 group-hover:bg-teal-100`,iconColor:`text-teal-600`,svgPath:`M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z`,title:`工具类SAAS`,desc:`基于开源SAAS框架定制轻量级工具类SAAS系统,支持多租户、按需付费。`,foot:`私有化部署可选`}],X=[{title:`需求沟通与评估`,desc:`深入沟通企业需求,评估技术方案与开发成本,提供详细报价与排期。`},{title:`方案设计与确认`,desc:`输出技术方案、原型设计、功能清单,确认后签订合同启动开发。`},{title:`开发与阶段性交付`,desc:`分阶段开发与交付,定期同步进度,支持中途需求微调。`},{title:`测试与上线部署`,desc:`全面功能测试、性能测试,完成后部署上线,提供操作培训。`},{title:`售后维护与迭代`,desc:`提供 7×24h 售后支持,定期系统维护,按需进行功能迭代。`}],Z=[{title:`一对一专属对接`,badge:`无中间环节`},{title:`低成本高性价比`,badge:`比大公司低 30%-50%`},{title:`灵活的合作模式`,badge:`按项目/按工时/长期维护`},{title:`全流程售后支持`,badge:`7×24小时`}];function Q(){d.push(`/ProJect/Service/Quotation`)}function $(e,t=`_blank`){window.open(e,t)}return(r,u)=>(n(),l(`div`,null,[u[25]||=c(` 专注B2B定制开发,基于开源技术栈快速交付,提供全流程项目开发、部署运维、售后支持一体化服务。
`,1),i(`main`,f,[u[22]||=i(`div`,{class:`mb-6`},[i(`h2`,{class:`text-xs font-bold uppercase tracking-widest text-blue-600 mb-1`},`核心服务`),i(`h3`,{class:`text-2xl font-bold text-gray-900`},`定制开发全流程`)],-1),i(`div`,p,[i(`div`,m,[u[4]||=i(`div`,{class:`absolute -top-10 -right-10 w-48 h-48 bg-white opacity-5 rounded-full`},null,-1),u[5]||=i(`div`,{class:`absolute -bottom-16 -right-4 w-72 h-72 bg-white opacity-5 rounded-full`},null,-1),u[6]||=i(`div`,{class:`absolute top-1/2 right-8 w-32 h-32 bg-blue-400 opacity-10 rounded-full`},null,-1),i(`div`,h,[u[3]||=c(`B2B 定制开发 基于开源技术栈为企业定制专属软件系统,按需开发、快速交付,支持私有化部署、二次开发与长期维护。
`,3),i(`div`,g,[(n(),l(s,null,e(q,e=>i(`div`,{key:e,class:`flex items-center gap-2 text-sm text-blue-100`},[u[2]||=i(`svg`,{class:`w-4 h-4 text-blue-300 flex-shrink-0`,fill:`currentColor`,viewBox:`0 0 20 20`},[i(`path`,{"fill-rule":`evenodd`,d:`M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z`,"clip-rule":`evenodd`})],-1),a(` `+t(e),1)])),64))]),i(`div`,_,[i(`button`,{class:`bg-white text-blue-700 font-semibold text-sm px-6 py-2.5 rounded-xl hover:bg-blue-50 transition`,onClick:Q},` 咨询报价 `),i(`button`,{class:`border border-white border-opacity-30 text-white font-medium text-sm px-6 py-2.5 rounded-xl hover:bg-white hover:bg-opacity-10 transition`,onClick:u[0]||=e=>$(`https://git.gvsds.com/GVSDS/`,`_blank`)},` 查看案例 → `)])])]),i(`div`,v,[i(`div`,{class:`flex-1 bg-white border border-gray-100 rounded-3xl p-6 card-hover shadow-sm`},[u[8]||=c(`
项目运营托管 全托管 辅助部署服务器,提供服务器运维、数据备份、版本更新、故障处理等一站式全流程运营托管服务。
`,1),i(`div`,{class:`flex items-center justify-between pt-4 border-t border-gray-50`},[u[7]||=i(`span`,{class:`text-sm text-gray-400`},`24 小时监控`,-1),i(`button`,{class:`text-violet-600 text-sm font-semibold hover:text-violet-800 transition`,onClick:Q},`了解更多 →`)])]),i(`div`,y,[u[10]||=c(`
B2B / B2C 定制开发 低成本 坚持质量优先、效率至上的服务理念,以高标准品质为核心,以高效响应为保障,为企业提供稳定可靠、灵活适配的专业解决方案。
`,1),i(`div`,b,[u[9]||=i(`span`,{class:`text-sm text-gray-400`},`查看我们历来的开源项目`,-1),i(`button`,{class:`text-emerald-600 text-sm font-semibold hover:text-emerald-800 transition`,onClick:u[1]||=e=>$(`https://git.gvsds.com/GVSDS`,`_blank`)},`了解更多 →`)])])])]),u[23]||=i(`div`,{class:`mb-6`},[i(`h2`,{class:`text-xs font-bold uppercase tracking-widest text-blue-600 mb-1`},`服务类型`),i(`h3`,{class:`text-2xl font-bold text-gray-900`},`满足多样化需求`)],-1),i(`div`,x,[(n(),l(s,null,e(J,(r,a)=>i(`div`,{key:a,class:`bg-white border border-gray-100 rounded-3xl p-6 card-hover shadow-sm group`},[i(`div`,S,[i(`div`,{class:o([`w-12 h-12 rounded-2xl flex items-center justify-center transition`,r.iconBg])},[(n(),l(`svg`,{class:o([`w-6 h-6`,r.iconColor]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.8`,d:r.svgPath},null,8,C)],2))],2),i(`span`,w,t(r.badge),1)]),i(`h4`,T,t(r.title),1),i(`p`,E,t(r.desc),1),i(`div`,D,[(n(!0),l(s,null,e(r.tags,e=>(n(),l(`span`,{key:e,class:`text-xs bg-gray-100 text-gray-600 px-2.5 py-1 rounded-lg`},t(e),1))),128))]),i(`div`,O,[i(`div`,k,[i(`div`,{class:o([`w-2 h-2 rounded-full`,r.dot])},null,2),i(`span`,A,t(r.status),1)]),i(`button`,{class:o([`text-sm font-semibold transition`,r.linkColor]),onClick:Q},`查看详情 →`,2)])])),64))]),u[24]||=i(`div`,{class:`mb-6`},[i(`h2`,{class:`text-xs font-bold uppercase tracking-widest text-violet-600 mb-1`},`开源项目`),i(`h3`,{class:`text-2xl font-bold text-gray-900`},`基于开源,快速定制`)],-1),i(`div`,j,[(n(),l(s,null,e(Y,(e,r)=>i(`div`,{key:r,class:`bg-white border border-gray-100 rounded-3xl p-6 card-hover shadow-sm group`},[i(`div`,{class:o([`w-11 h-11 rounded-2xl flex items-center justify-center mb-4 transition`,e.iconBg])},[(n(),l(`svg`,{class:o([`w-6 h-6`,e.iconColor]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.8`,d:e.svgPath},null,8,M)],2))],2),i(`h4`,N,t(e.title),1),i(`p`,P,t(e.desc),1),i(`div`,F,t(e.foot),1)])),64))]),i(`div`,I,[i(`div`,L,[u[11]||=c(` 标准化的服务流程,从需求沟通到售后维护,全程透明可控,确保项目按时、按质交付。
`,2),i(`div`,R,[(n(),l(s,null,e(X,(e,n)=>i(`div`,{key:n,class:`flex gap-4`},[i(`div`,z,t(n+1),1),i(`div`,null,[i(`h5`,B,t(e.title),1),i(`p`,V,t(e.desc),1)])])),64))]),u[12]||=i(`button`,{class:`w-full bg-sky-50 text-sky-700 font-medium text-sm py-2.5 rounded-xl hover:bg-sky-100 transition`},` 查看详细服务规范 `,-1)]),i(`div`,H,[u[14]||=c(` 相比大型公司,我们更灵活、更专注,以更低的成本提供高质量的定制开发服务,全程一对一沟通。
`,2),i(`div`,U,[(n(),l(s,null,e(Z,(e,n)=>i(`div`,{key:n,class:`flex items-center justify-between py-3 px-4 bg-gray-50 rounded-2xl`},[i(`div`,W,[u[13]||=i(`div`,{class:`w-7 h-7 bg-red-100 rounded-lg flex items-center justify-center`},[i(`svg`,{class:`w-3.5 h-3.5 text-red-500`,fill:`currentColor`,viewBox:`0 0 20 20`},[i(`path`,{"fill-rule":`evenodd`,d:`M6.267 3.455a3.066 3.066 0 001.745-.723 3.066 3.066 0 013.976 0 3.066 3.066 0 001.745.723 3.066 3.066 0 012.812 2.812c.051.643.304 1.254.723 1.745a3.066 3.066 0 010 3.976 3.066 3.066 0 00-.723 1.745 3.066 3.066 0 01-2.812 2.812 3.066 3.066 0 00-1.745.723 3.066 3.066 0 01-3.976 0 3.066 3.066 0 00-1.745-.723 3.066 3.066 0 01-2.812-2.812 3.066 3.066 0 00-.723-1.745 3.066 3.066 0 010-3.976 3.066 3.066 0 00.723-1.745 3.066 3.066 0 012.812-2.812zm7.44 5.252a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z`,"clip-rule":`evenodd`})])],-1),i(`span`,G,t(e.title),1)]),i(`span`,K,t(e.badge),1)])),64))])])]),i(`div`,{class:`bg-gradient-to-r from-slate-900 via-blue-950 to-slate-900 rounded-3xl p-10 text-center relative overflow-hidden`},[u[20]||=i(`div`,{class:`absolute top-0 left-1/4 w-64 h-64 bg-blue-600 opacity-10 rounded-full blur-3xl`},null,-1),u[21]||=i(`div`,{class:`absolute bottom-0 right-1/4 w-64 h-64 bg-indigo-600 opacity-10 rounded-full blur-3xl`},null,-1),i(`div`,{class:`relative z-10`},[u[17]||=i(`div`,{class:`inline-flex items-center gap-2 bg-blue-500 bg-opacity-20 border border-blue-400 border-opacity-30 text-blue-300 text-xs font-semibold px-4 py-1.5 rounded-full mb-5`},[i(`span`,null,`立即咨询`)],-1),u[18]||=i(`h2`,{class:`text-3xl font-bold text-white mb-4`},[a(`有定制开发需求?`),i(`br`),a(`我们随时为您服务`)],-1),u[19]||=i(`p`,{class:`text-slate-400 text-sm mb-8 max-w-lg mx-auto leading-relaxed`},` 无论您需要定制开发、开源项目二次开发,还是长期的运营维护,我们都能提供高性价比的解决方案。 `,-1),i(`div`,{class:`flex flex-col sm:flex-row items-center justify-center gap-4`},[i(`button`,{class:`bg-blue-600 hover:bg-blue-500 text-white font-semibold px-8 py-3 rounded-2xl transition shadow-lg shadow-blue-900 flex items-center gap-2`,onClick:Q},[...u[15]||=[i(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z`})],-1),a(` 立即沟通需求 `,-1)]]),i(`button`,{class:`border border-slate-600 hover:border-slate-400 text-slate-300 hover:text-white font-medium px-8 py-3 rounded-2xl transition flex items-center gap-2`,onClick:Q},[...u[16]||=[i(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z`})],-1),a(` 获取报价方案 `,-1)]])])])])])]))}}),[[`__scopeId`,`data-v-6bce0488`]]);export{q as default};
\ No newline at end of file
diff --git a/TempLate/assets/ServiceView-BM-4lmdv.css b/TempLate/assets/ServiceView-BM-4lmdv.css
new file mode 100644
index 00000000..e8519f34
--- /dev/null
+++ b/TempLate/assets/ServiceView-BM-4lmdv.css
@@ -0,0 +1 @@
+@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";.gradient-text[data-v-6bce0488]{background:linear-gradient(135deg,#2563eb,#7c3aed);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}
diff --git a/TempLate/assets/ServiceView-Bu_F_Tan.js b/TempLate/assets/ServiceView-Bu_F_Tan.js
new file mode 100644
index 00000000..4016ada9
--- /dev/null
+++ b/TempLate/assets/ServiceView-Bu_F_Tan.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,h as a,j as o,l as s,m as c,p as l,t as u}from"./index-CJXuAy0L.js";import{t as d}from"./_plugin-vue_export-helper-BDNMzG2s.js";var f={class:`max-w-7xl mx-auto px-6 py-14`},p={class:`grid grid-cols-1 lg:grid-cols-5 gap-6 mb-14`},m={class:`lg:col-span-3 bg-gradient-to-br from-blue-600 via-blue-700 to-indigo-800 rounded-3xl p-8 text-white relative overflow-hidden card-hover shadow-xl shadow-blue-100`},h={class:`relative z-10`},g={class:`grid grid-cols-2 gap-2 mb-8`},_={class:`flex items-center gap-3`},v={class:`lg:col-span-2 flex flex-col gap-6`},y={class:`flex-1 bg-white border border-gray-100 rounded-3xl p-6 card-hover shadow-sm`},b={class:`flex items-center justify-between pt-4 border-t border-gray-50`},x={class:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 mb-14`},S={class:`flex items-center justify-between mb-5`},C=[`d`],w={class:`text-xs bg-gray-100 text-gray-600 font-medium px-3 py-1 rounded-full`},T={class:`font-bold text-gray-900 text-lg mb-2`},E={class:`text-sm text-gray-500 leading-relaxed mb-4`},D={class:`flex flex-wrap gap-1.5 mb-5`},O={class:`border-t border-gray-50 pt-4 flex items-center justify-between`},k={class:`flex items-center gap-1.5`},A={class:`text-xs text-gray-500`},j={class:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-14`},M=[`d`],N={class:`font-bold text-gray-900 mb-2`},P={class:`text-sm text-gray-500 leading-relaxed mb-4`},F={class:`text-xs text-gray-400`},I={class:`grid grid-cols-1 lg:grid-cols-2 gap-6 mb-14`},L={class:`bg-white border border-gray-100 rounded-3xl p-8 card-hover shadow-sm`},R={class:`space-y-4 mb-6`},z={class:`w-8 h-8 bg-sky-100 rounded-full flex items-center justify-center flex-shrink-0 text-sky-700 font-bold text-sm`},B={class:`font-medium text-gray-900 text-sm mb-1`},V={class:`text-xs text-gray-500`},H={class:`bg-white border border-gray-100 rounded-3xl p-8 card-hover shadow-sm`},U={class:`space-y-3`},W={class:`flex items-center gap-3`},G={class:`text-sm font-medium text-gray-700`},K={class:`text-xs text-gray-400`},q=d(r({__name:`ServiceView`,setup(r){let d=u(),q=[`需求定制分析`,`开源技术栈开发`,`私有化部署`,`源码交付`,`长期技术维护`,`7×24 售后支持`],J=[{iconBg:`bg-blue-50 group-hover:bg-blue-100`,iconColor:`text-blue-600`,svgPath:`M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4m0 5c0 2.21-3.582 4-8 4s-8-1.79-8-4`,badge:`按需报价`,title:`Web系统开发`,desc:`定制开发企业官网、管理后台、SAAS系统、电商平台等Web应用,基于开源框架快速交付,支持多端适配。`,tags:[`Node/React`,`Django/Flask`,`多端适配`,`私有化部署`],dot:`bg-green-400`,status:`按需定制`,linkColor:`text-blue-600 hover:text-blue-800`},{iconBg:`bg-cyan-50 group-hover:bg-cyan-100`,iconColor:`text-cyan-600`,svgPath:`M13 10V3L4 14h7v7l9-11h-7z`,badge:`热门`,title:`自动化脚本/工具`,desc:`开发各类自动化脚本、爬虫工具、数据处理工具,提升企业工作效率,替代重复人工操作。`,tags:[`Python/Go`,`数据爬取`,`自动化流程`],dot:`bg-cyan-400`,status:`快速交付`,linkColor:`text-cyan-600 hover:text-cyan-800`},{iconBg:`bg-amber-50 group-hover:bg-amber-100`,iconColor:`text-amber-600`,svgPath:`M9 17v-2m3 2v-4m3 4v-6m2 10H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z`,badge:`长期合作`,title:`技术维护与迭代`,desc:`为企业现有系统提供bug修复、功能迭代、性能优化、版本升级等技术维护服务,保障系统稳定运行。`,tags:[`Bug 修复`,`性能优化`,`版本迭代`],dot:`bg-green-400`,status:`7×24h 支持`,linkColor:`text-amber-600 hover:text-amber-800`}],Y=[{iconBg:`bg-violet-50 group-hover:bg-violet-100`,iconColor:`text-violet-600`,svgPath:`M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z`,title:`管理后台类`,desc:`基于 GERP、VueAdmin、ReactAdmin 等开源后台框架定制企业管理系统,快速上线。`,foot:`支持RBAC权限管理`},{iconBg:`bg-pink-50 group-hover:bg-pink-100`,iconColor:`text-pink-600`,svgPath:`M15 10l4.553-2.069A1 1 0 0121 8.87v6.26a1 1 0 01-1.447.894L15 14M5 18h8a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v8a2 2 0 002 2z`,title:`爬虫/自动化类`,desc:`基于 Scrapy、Playwright 等开源框架开发定制化爬虫与自动化脚本。`,foot:`支持反爬策略适配`},{iconBg:`bg-orange-50 group-hover:bg-orange-100`,iconColor:`text-orange-600`,svgPath:`M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01`,title:`数据可视化类`,desc:`基于 ECharts、DataV 等定制企业数据可视化大屏、报表系统。`,foot:`支持多数据源接入`},{iconBg:`bg-teal-50 group-hover:bg-teal-100`,iconColor:`text-teal-600`,svgPath:`M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z`,title:`工具类SAAS`,desc:`基于开源SAAS框架定制轻量级工具类SAAS系统,支持多租户、按需付费。`,foot:`私有化部署可选`}],X=[{title:`需求沟通与评估`,desc:`深入沟通企业需求,评估技术方案与开发成本,提供详细报价与排期。`},{title:`方案设计与确认`,desc:`输出技术方案、原型设计、功能清单,确认后签订合同启动开发。`},{title:`开发与阶段性交付`,desc:`分阶段开发与交付,定期同步进度,支持中途需求微调。`},{title:`测试与上线部署`,desc:`全面功能测试、性能测试,完成后部署上线,提供操作培训。`},{title:`售后维护与迭代`,desc:`提供 7×24h 售后支持,定期系统维护,按需进行功能迭代。`}],Z=[{title:`一对一专属对接`,badge:`无中间环节`},{title:`低成本高性价比`,badge:`比大公司低 30%-50%`},{title:`灵活的合作模式`,badge:`按项目/按工时/长期维护`},{title:`全流程售后支持`,badge:`7×24小时`}];function Q(){d.push(`/ProJect/Service/Quotation`)}function $(e,t=`_blank`){window.open(e,t)}return(r,u)=>(n(),l(`div`,null,[u[25]||=c(` 专注B2B定制开发,基于开源技术栈快速交付,提供全流程项目开发、部署运维、售后支持一体化服务。
`,1),i(`main`,f,[u[22]||=i(`div`,{class:`mb-6`},[i(`h2`,{class:`text-xs font-bold uppercase tracking-widest text-blue-600 mb-1`},`核心服务`),i(`h3`,{class:`text-2xl font-bold text-gray-900`},`定制开发全流程`)],-1),i(`div`,p,[i(`div`,m,[u[4]||=i(`div`,{class:`absolute -top-10 -right-10 w-48 h-48 bg-white opacity-5 rounded-full`},null,-1),u[5]||=i(`div`,{class:`absolute -bottom-16 -right-4 w-72 h-72 bg-white opacity-5 rounded-full`},null,-1),u[6]||=i(`div`,{class:`absolute top-1/2 right-8 w-32 h-32 bg-blue-400 opacity-10 rounded-full`},null,-1),i(`div`,h,[u[3]||=c(`B2B 定制开发 基于开源技术栈为企业定制专属软件系统,按需开发、快速交付,支持私有化部署、二次开发与长期维护。
`,3),i(`div`,g,[(n(),l(s,null,e(q,e=>i(`div`,{key:e,class:`flex items-center gap-2 text-sm text-blue-100`},[u[2]||=i(`svg`,{class:`w-4 h-4 text-blue-300 flex-shrink-0`,fill:`currentColor`,viewBox:`0 0 20 20`},[i(`path`,{"fill-rule":`evenodd`,d:`M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z`,"clip-rule":`evenodd`})],-1),a(` `+t(e),1)])),64))]),i(`div`,_,[i(`button`,{class:`bg-white text-blue-700 font-semibold text-sm px-6 py-2.5 rounded-xl hover:bg-blue-50 transition`,onClick:Q},` 咨询报价 `),i(`button`,{class:`border border-white border-opacity-30 text-white font-medium text-sm px-6 py-2.5 rounded-xl hover:bg-white hover:bg-opacity-10 transition`,onClick:u[0]||=e=>$(`https://git.gvsds.com/GVSDS/`,`_blank`)},` 查看案例 → `)])])]),i(`div`,v,[i(`div`,{class:`flex-1 bg-white border border-gray-100 rounded-3xl p-6 card-hover shadow-sm`},[u[8]||=c(`
项目运营托管 全托管 辅助部署服务器,提供服务器运维、数据备份、版本更新、故障处理等一站式全流程运营托管服务。
`,1),i(`div`,{class:`flex items-center justify-between pt-4 border-t border-gray-50`},[u[7]||=i(`span`,{class:`text-sm text-gray-400`},`24 小时监控`,-1),i(`button`,{class:`text-violet-600 text-sm font-semibold hover:text-violet-800 transition`,onClick:Q},`了解更多 →`)])]),i(`div`,y,[u[10]||=c(`
B2B / B2C 定制开发 低成本 坚持质量优先、效率至上的服务理念,以高标准品质为核心,以高效响应为保障,为企业提供稳定可靠、灵活适配的专业解决方案。
`,1),i(`div`,b,[u[9]||=i(`span`,{class:`text-sm text-gray-400`},`查看我们历来的开源项目`,-1),i(`button`,{class:`text-emerald-600 text-sm font-semibold hover:text-emerald-800 transition`,onClick:u[1]||=e=>$(`https://git.gvsds.com/GVSDS`,`_blank`)},`了解更多 →`)])])])]),u[23]||=i(`div`,{class:`mb-6`},[i(`h2`,{class:`text-xs font-bold uppercase tracking-widest text-blue-600 mb-1`},`服务类型`),i(`h3`,{class:`text-2xl font-bold text-gray-900`},`满足多样化需求`)],-1),i(`div`,x,[(n(),l(s,null,e(J,(r,a)=>i(`div`,{key:a,class:`bg-white border border-gray-100 rounded-3xl p-6 card-hover shadow-sm group`},[i(`div`,S,[i(`div`,{class:o([`w-12 h-12 rounded-2xl flex items-center justify-center transition`,r.iconBg])},[(n(),l(`svg`,{class:o([`w-6 h-6`,r.iconColor]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.8`,d:r.svgPath},null,8,C)],2))],2),i(`span`,w,t(r.badge),1)]),i(`h4`,T,t(r.title),1),i(`p`,E,t(r.desc),1),i(`div`,D,[(n(!0),l(s,null,e(r.tags,e=>(n(),l(`span`,{key:e,class:`text-xs bg-gray-100 text-gray-600 px-2.5 py-1 rounded-lg`},t(e),1))),128))]),i(`div`,O,[i(`div`,k,[i(`div`,{class:o([`w-2 h-2 rounded-full`,r.dot])},null,2),i(`span`,A,t(r.status),1)]),i(`button`,{class:o([`text-sm font-semibold transition`,r.linkColor]),onClick:Q},`查看详情 →`,2)])])),64))]),u[24]||=i(`div`,{class:`mb-6`},[i(`h2`,{class:`text-xs font-bold uppercase tracking-widest text-violet-600 mb-1`},`开源项目`),i(`h3`,{class:`text-2xl font-bold text-gray-900`},`基于开源,快速定制`)],-1),i(`div`,j,[(n(),l(s,null,e(Y,(e,r)=>i(`div`,{key:r,class:`bg-white border border-gray-100 rounded-3xl p-6 card-hover shadow-sm group`},[i(`div`,{class:o([`w-11 h-11 rounded-2xl flex items-center justify-center mb-4 transition`,e.iconBg])},[(n(),l(`svg`,{class:o([`w-6 h-6`,e.iconColor]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.8`,d:e.svgPath},null,8,M)],2))],2),i(`h4`,N,t(e.title),1),i(`p`,P,t(e.desc),1),i(`div`,F,t(e.foot),1)])),64))]),i(`div`,I,[i(`div`,L,[u[11]||=c(` 标准化的服务流程,从需求沟通到售后维护,全程透明可控,确保项目按时、按质交付。
`,2),i(`div`,R,[(n(),l(s,null,e(X,(e,n)=>i(`div`,{key:n,class:`flex gap-4`},[i(`div`,z,t(n+1),1),i(`div`,null,[i(`h5`,B,t(e.title),1),i(`p`,V,t(e.desc),1)])])),64))]),u[12]||=i(`button`,{class:`w-full bg-sky-50 text-sky-700 font-medium text-sm py-2.5 rounded-xl hover:bg-sky-100 transition`},` 查看详细服务规范 `,-1)]),i(`div`,H,[u[14]||=c(` 相比大型公司,我们更灵活、更专注,以更低的成本提供高质量的定制开发服务,全程一对一沟通。
`,2),i(`div`,U,[(n(),l(s,null,e(Z,(e,n)=>i(`div`,{key:n,class:`flex items-center justify-between py-3 px-4 bg-gray-50 rounded-2xl`},[i(`div`,W,[u[13]||=i(`div`,{class:`w-7 h-7 bg-red-100 rounded-lg flex items-center justify-center`},[i(`svg`,{class:`w-3.5 h-3.5 text-red-500`,fill:`currentColor`,viewBox:`0 0 20 20`},[i(`path`,{"fill-rule":`evenodd`,d:`M6.267 3.455a3.066 3.066 0 001.745-.723 3.066 3.066 0 013.976 0 3.066 3.066 0 001.745.723 3.066 3.066 0 012.812 2.812c.051.643.304 1.254.723 1.745a3.066 3.066 0 010 3.976 3.066 3.066 0 00-.723 1.745 3.066 3.066 0 01-2.812 2.812 3.066 3.066 0 00-1.745.723 3.066 3.066 0 01-3.976 0 3.066 3.066 0 00-1.745-.723 3.066 3.066 0 01-2.812-2.812 3.066 3.066 0 00-.723-1.745 3.066 3.066 0 010-3.976 3.066 3.066 0 00.723-1.745 3.066 3.066 0 012.812-2.812zm7.44 5.252a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z`,"clip-rule":`evenodd`})])],-1),i(`span`,G,t(e.title),1)]),i(`span`,K,t(e.badge),1)])),64))])])]),i(`div`,{class:`bg-gradient-to-r from-slate-900 via-blue-950 to-slate-900 rounded-3xl p-10 text-center relative overflow-hidden`},[u[20]||=i(`div`,{class:`absolute top-0 left-1/4 w-64 h-64 bg-blue-600 opacity-10 rounded-full blur-3xl`},null,-1),u[21]||=i(`div`,{class:`absolute bottom-0 right-1/4 w-64 h-64 bg-indigo-600 opacity-10 rounded-full blur-3xl`},null,-1),i(`div`,{class:`relative z-10`},[u[17]||=i(`div`,{class:`inline-flex items-center gap-2 bg-blue-500 bg-opacity-20 border border-blue-400 border-opacity-30 text-blue-300 text-xs font-semibold px-4 py-1.5 rounded-full mb-5`},[i(`span`,null,`立即咨询`)],-1),u[18]||=i(`h2`,{class:`text-3xl font-bold text-white mb-4`},[a(`有定制开发需求?`),i(`br`),a(`我们随时为您服务`)],-1),u[19]||=i(`p`,{class:`text-slate-400 text-sm mb-8 max-w-lg mx-auto leading-relaxed`},` 无论您需要定制开发、开源项目二次开发,还是长期的运营维护,我们都能提供高性价比的解决方案。 `,-1),i(`div`,{class:`flex flex-col sm:flex-row items-center justify-center gap-4`},[i(`button`,{class:`bg-blue-600 hover:bg-blue-500 text-white font-semibold px-8 py-3 rounded-2xl transition shadow-lg shadow-blue-900 flex items-center gap-2`,onClick:Q},[...u[15]||=[i(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z`})],-1),a(` 立即沟通需求 `,-1)]]),i(`button`,{class:`border border-slate-600 hover:border-slate-400 text-slate-300 hover:text-white font-medium px-8 py-3 rounded-2xl transition flex items-center gap-2`,onClick:Q},[...u[16]||=[i(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z`})],-1),a(` 获取报价方案 `,-1)]])])])])])]))}}),[[`__scopeId`,`data-v-6bce0488`]]);export{q as default};
\ No newline at end of file
diff --git a/TempLate/assets/ServiceView-C1UxRDP1.js b/TempLate/assets/ServiceView-C1UxRDP1.js
new file mode 100644
index 00000000..6a40ff8e
--- /dev/null
+++ b/TempLate/assets/ServiceView-C1UxRDP1.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,h as a,j as o,l as s,m as c,p as l,t as u}from"./index-BM-LFFI_.js";import{t as d}from"./_plugin-vue_export-helper-BDNMzG2s.js";var f={class:`max-w-7xl mx-auto px-6 py-14`},p={class:`grid grid-cols-1 lg:grid-cols-5 gap-6 mb-14`},m={class:`lg:col-span-3 bg-gradient-to-br from-blue-600 via-blue-700 to-indigo-800 rounded-3xl p-8 text-white relative overflow-hidden card-hover shadow-xl shadow-blue-100`},h={class:`relative z-10`},g={class:`grid grid-cols-2 gap-2 mb-8`},_={class:`flex items-center gap-3`},v={class:`lg:col-span-2 flex flex-col gap-6`},y={class:`flex-1 bg-white border border-gray-100 rounded-3xl p-6 card-hover shadow-sm`},b={class:`flex items-center justify-between pt-4 border-t border-gray-50`},x={class:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 mb-14`},S={class:`flex items-center justify-between mb-5`},C=[`d`],w={class:`text-xs bg-gray-100 text-gray-600 font-medium px-3 py-1 rounded-full`},T={class:`font-bold text-gray-900 text-lg mb-2`},E={class:`text-sm text-gray-500 leading-relaxed mb-4`},D={class:`flex flex-wrap gap-1.5 mb-5`},O={class:`border-t border-gray-50 pt-4 flex items-center justify-between`},k={class:`flex items-center gap-1.5`},A={class:`text-xs text-gray-500`},j={class:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-14`},M=[`d`],N={class:`font-bold text-gray-900 mb-2`},P={class:`text-sm text-gray-500 leading-relaxed mb-4`},F={class:`text-xs text-gray-400`},I={class:`grid grid-cols-1 lg:grid-cols-2 gap-6 mb-14`},L={class:`bg-white border border-gray-100 rounded-3xl p-8 card-hover shadow-sm`},R={class:`space-y-4 mb-6`},z={class:`w-8 h-8 bg-sky-100 rounded-full flex items-center justify-center flex-shrink-0 text-sky-700 font-bold text-sm`},B={class:`font-medium text-gray-900 text-sm mb-1`},V={class:`text-xs text-gray-500`},H={class:`bg-white border border-gray-100 rounded-3xl p-8 card-hover shadow-sm`},U={class:`space-y-3`},W={class:`flex items-center gap-3`},G={class:`text-sm font-medium text-gray-700`},K={class:`text-xs text-gray-400`},q=d(r({__name:`ServiceView`,setup(r){let d=u(),q=[`需求定制分析`,`开源技术栈开发`,`私有化部署`,`源码交付`,`长期技术维护`,`7×24 售后支持`],J=[{iconBg:`bg-blue-50 group-hover:bg-blue-100`,iconColor:`text-blue-600`,svgPath:`M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4m0 5c0 2.21-3.582 4-8 4s-8-1.79-8-4`,badge:`按需报价`,title:`Web系统开发`,desc:`定制开发企业官网、管理后台、SAAS系统、电商平台等Web应用,基于开源框架快速交付,支持多端适配。`,tags:[`Node/React`,`Django/Flask`,`多端适配`,`私有化部署`],dot:`bg-green-400`,status:`按需定制`,linkColor:`text-blue-600 hover:text-blue-800`},{iconBg:`bg-cyan-50 group-hover:bg-cyan-100`,iconColor:`text-cyan-600`,svgPath:`M13 10V3L4 14h7v7l9-11h-7z`,badge:`热门`,title:`自动化脚本/工具`,desc:`开发各类自动化脚本、爬虫工具、数据处理工具,提升企业工作效率,替代重复人工操作。`,tags:[`Python/Go`,`数据爬取`,`自动化流程`],dot:`bg-cyan-400`,status:`快速交付`,linkColor:`text-cyan-600 hover:text-cyan-800`},{iconBg:`bg-amber-50 group-hover:bg-amber-100`,iconColor:`text-amber-600`,svgPath:`M9 17v-2m3 2v-4m3 4v-6m2 10H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z`,badge:`长期合作`,title:`技术维护与迭代`,desc:`为企业现有系统提供bug修复、功能迭代、性能优化、版本升级等技术维护服务,保障系统稳定运行。`,tags:[`Bug 修复`,`性能优化`,`版本迭代`],dot:`bg-green-400`,status:`7×24h 支持`,linkColor:`text-amber-600 hover:text-amber-800`}],Y=[{iconBg:`bg-violet-50 group-hover:bg-violet-100`,iconColor:`text-violet-600`,svgPath:`M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z`,title:`管理后台类`,desc:`基于 GERP、VueAdmin、ReactAdmin 等开源后台框架定制企业管理系统,快速上线。`,foot:`支持RBAC权限管理`},{iconBg:`bg-pink-50 group-hover:bg-pink-100`,iconColor:`text-pink-600`,svgPath:`M15 10l4.553-2.069A1 1 0 0121 8.87v6.26a1 1 0 01-1.447.894L15 14M5 18h8a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v8a2 2 0 002 2z`,title:`爬虫/自动化类`,desc:`基于 Scrapy、Playwright 等开源框架开发定制化爬虫与自动化脚本。`,foot:`支持反爬策略适配`},{iconBg:`bg-orange-50 group-hover:bg-orange-100`,iconColor:`text-orange-600`,svgPath:`M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01`,title:`数据可视化类`,desc:`基于 ECharts、DataV 等定制企业数据可视化大屏、报表系统。`,foot:`支持多数据源接入`},{iconBg:`bg-teal-50 group-hover:bg-teal-100`,iconColor:`text-teal-600`,svgPath:`M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z`,title:`工具类SAAS`,desc:`基于开源SAAS框架定制轻量级工具类SAAS系统,支持多租户、按需付费。`,foot:`私有化部署可选`}],X=[{title:`需求沟通与评估`,desc:`深入沟通企业需求,评估技术方案与开发成本,提供详细报价与排期。`},{title:`方案设计与确认`,desc:`输出技术方案、原型设计、功能清单,确认后签订合同启动开发。`},{title:`开发与阶段性交付`,desc:`分阶段开发与交付,定期同步进度,支持中途需求微调。`},{title:`测试与上线部署`,desc:`全面功能测试、性能测试,完成后部署上线,提供操作培训。`},{title:`售后维护与迭代`,desc:`提供 7×24h 售后支持,定期系统维护,按需进行功能迭代。`}],Z=[{title:`一对一专属对接`,badge:`无中间环节`},{title:`低成本高性价比`,badge:`比大公司低 30%-50%`},{title:`灵活的合作模式`,badge:`按项目/按工时/长期维护`},{title:`全流程售后支持`,badge:`7×24小时`}];function Q(){d.push(`/ProJect/Service/Quotation`)}function $(e,t=`_blank`){window.open(e,t)}return(r,u)=>(n(),l(`div`,null,[u[25]||=c(` 专注B2B定制开发,基于开源技术栈快速交付,提供全流程项目开发、部署运维、售后支持一体化服务。
`,1),i(`main`,f,[u[22]||=i(`div`,{class:`mb-6`},[i(`h2`,{class:`text-xs font-bold uppercase tracking-widest text-blue-600 mb-1`},`核心服务`),i(`h3`,{class:`text-2xl font-bold text-gray-900`},`定制开发全流程`)],-1),i(`div`,p,[i(`div`,m,[u[4]||=i(`div`,{class:`absolute -top-10 -right-10 w-48 h-48 bg-white opacity-5 rounded-full`},null,-1),u[5]||=i(`div`,{class:`absolute -bottom-16 -right-4 w-72 h-72 bg-white opacity-5 rounded-full`},null,-1),u[6]||=i(`div`,{class:`absolute top-1/2 right-8 w-32 h-32 bg-blue-400 opacity-10 rounded-full`},null,-1),i(`div`,h,[u[3]||=c(`B2B 定制开发 基于开源技术栈为企业定制专属软件系统,按需开发、快速交付,支持私有化部署、二次开发与长期维护。
`,3),i(`div`,g,[(n(),l(s,null,e(q,e=>i(`div`,{key:e,class:`flex items-center gap-2 text-sm text-blue-100`},[u[2]||=i(`svg`,{class:`w-4 h-4 text-blue-300 flex-shrink-0`,fill:`currentColor`,viewBox:`0 0 20 20`},[i(`path`,{"fill-rule":`evenodd`,d:`M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z`,"clip-rule":`evenodd`})],-1),a(` `+t(e),1)])),64))]),i(`div`,_,[i(`button`,{class:`bg-white text-blue-700 font-semibold text-sm px-6 py-2.5 rounded-xl hover:bg-blue-50 transition`,onClick:Q},` 咨询报价 `),i(`button`,{class:`border border-white border-opacity-30 text-white font-medium text-sm px-6 py-2.5 rounded-xl hover:bg-white hover:bg-opacity-10 transition`,onClick:u[0]||=e=>$(`https://git.gvsds.com/GVSDS/`,`_blank`)},` 查看案例 → `)])])]),i(`div`,v,[i(`div`,{class:`flex-1 bg-white border border-gray-100 rounded-3xl p-6 card-hover shadow-sm`},[u[8]||=c(`
项目运营托管 全托管 辅助部署服务器,提供服务器运维、数据备份、版本更新、故障处理等一站式全流程运营托管服务。
`,1),i(`div`,{class:`flex items-center justify-between pt-4 border-t border-gray-50`},[u[7]||=i(`span`,{class:`text-sm text-gray-400`},`24 小时监控`,-1),i(`button`,{class:`text-violet-600 text-sm font-semibold hover:text-violet-800 transition`,onClick:Q},`了解更多 →`)])]),i(`div`,y,[u[10]||=c(`
B2B / B2C 定制开发 低成本 坚持质量优先、效率至上的服务理念,以高标准品质为核心,以高效响应为保障,为企业提供稳定可靠、灵活适配的专业解决方案。
`,1),i(`div`,b,[u[9]||=i(`span`,{class:`text-sm text-gray-400`},`查看我们历来的开源项目`,-1),i(`button`,{class:`text-emerald-600 text-sm font-semibold hover:text-emerald-800 transition`,onClick:u[1]||=e=>$(`https://git.gvsds.com/GVSDS`,`_blank`)},`了解更多 →`)])])])]),u[23]||=i(`div`,{class:`mb-6`},[i(`h2`,{class:`text-xs font-bold uppercase tracking-widest text-blue-600 mb-1`},`服务类型`),i(`h3`,{class:`text-2xl font-bold text-gray-900`},`满足多样化需求`)],-1),i(`div`,x,[(n(),l(s,null,e(J,(r,a)=>i(`div`,{key:a,class:`bg-white border border-gray-100 rounded-3xl p-6 card-hover shadow-sm group`},[i(`div`,S,[i(`div`,{class:o([`w-12 h-12 rounded-2xl flex items-center justify-center transition`,r.iconBg])},[(n(),l(`svg`,{class:o([`w-6 h-6`,r.iconColor]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.8`,d:r.svgPath},null,8,C)],2))],2),i(`span`,w,t(r.badge),1)]),i(`h4`,T,t(r.title),1),i(`p`,E,t(r.desc),1),i(`div`,D,[(n(!0),l(s,null,e(r.tags,e=>(n(),l(`span`,{key:e,class:`text-xs bg-gray-100 text-gray-600 px-2.5 py-1 rounded-lg`},t(e),1))),128))]),i(`div`,O,[i(`div`,k,[i(`div`,{class:o([`w-2 h-2 rounded-full`,r.dot])},null,2),i(`span`,A,t(r.status),1)]),i(`button`,{class:o([`text-sm font-semibold transition`,r.linkColor]),onClick:Q},`查看详情 →`,2)])])),64))]),u[24]||=i(`div`,{class:`mb-6`},[i(`h2`,{class:`text-xs font-bold uppercase tracking-widest text-violet-600 mb-1`},`开源项目`),i(`h3`,{class:`text-2xl font-bold text-gray-900`},`基于开源,快速定制`)],-1),i(`div`,j,[(n(),l(s,null,e(Y,(e,r)=>i(`div`,{key:r,class:`bg-white border border-gray-100 rounded-3xl p-6 card-hover shadow-sm group`},[i(`div`,{class:o([`w-11 h-11 rounded-2xl flex items-center justify-center mb-4 transition`,e.iconBg])},[(n(),l(`svg`,{class:o([`w-6 h-6`,e.iconColor]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.8`,d:e.svgPath},null,8,M)],2))],2),i(`h4`,N,t(e.title),1),i(`p`,P,t(e.desc),1),i(`div`,F,t(e.foot),1)])),64))]),i(`div`,I,[i(`div`,L,[u[11]||=c(` 标准化的服务流程,从需求沟通到售后维护,全程透明可控,确保项目按时、按质交付。
`,2),i(`div`,R,[(n(),l(s,null,e(X,(e,n)=>i(`div`,{key:n,class:`flex gap-4`},[i(`div`,z,t(n+1),1),i(`div`,null,[i(`h5`,B,t(e.title),1),i(`p`,V,t(e.desc),1)])])),64))]),u[12]||=i(`button`,{class:`w-full bg-sky-50 text-sky-700 font-medium text-sm py-2.5 rounded-xl hover:bg-sky-100 transition`},` 查看详细服务规范 `,-1)]),i(`div`,H,[u[14]||=c(` 相比大型公司,我们更灵活、更专注,以更低的成本提供高质量的定制开发服务,全程一对一沟通。
`,2),i(`div`,U,[(n(),l(s,null,e(Z,(e,n)=>i(`div`,{key:n,class:`flex items-center justify-between py-3 px-4 bg-gray-50 rounded-2xl`},[i(`div`,W,[u[13]||=i(`div`,{class:`w-7 h-7 bg-red-100 rounded-lg flex items-center justify-center`},[i(`svg`,{class:`w-3.5 h-3.5 text-red-500`,fill:`currentColor`,viewBox:`0 0 20 20`},[i(`path`,{"fill-rule":`evenodd`,d:`M6.267 3.455a3.066 3.066 0 001.745-.723 3.066 3.066 0 013.976 0 3.066 3.066 0 001.745.723 3.066 3.066 0 012.812 2.812c.051.643.304 1.254.723 1.745a3.066 3.066 0 010 3.976 3.066 3.066 0 00-.723 1.745 3.066 3.066 0 01-2.812 2.812 3.066 3.066 0 00-1.745.723 3.066 3.066 0 01-3.976 0 3.066 3.066 0 00-1.745-.723 3.066 3.066 0 01-2.812-2.812 3.066 3.066 0 00-.723-1.745 3.066 3.066 0 010-3.976 3.066 3.066 0 00.723-1.745 3.066 3.066 0 012.812-2.812zm7.44 5.252a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z`,"clip-rule":`evenodd`})])],-1),i(`span`,G,t(e.title),1)]),i(`span`,K,t(e.badge),1)])),64))])])]),i(`div`,{class:`bg-gradient-to-r from-slate-900 via-blue-950 to-slate-900 rounded-3xl p-10 text-center relative overflow-hidden`},[u[20]||=i(`div`,{class:`absolute top-0 left-1/4 w-64 h-64 bg-blue-600 opacity-10 rounded-full blur-3xl`},null,-1),u[21]||=i(`div`,{class:`absolute bottom-0 right-1/4 w-64 h-64 bg-indigo-600 opacity-10 rounded-full blur-3xl`},null,-1),i(`div`,{class:`relative z-10`},[u[17]||=i(`div`,{class:`inline-flex items-center gap-2 bg-blue-500 bg-opacity-20 border border-blue-400 border-opacity-30 text-blue-300 text-xs font-semibold px-4 py-1.5 rounded-full mb-5`},[i(`span`,null,`立即咨询`)],-1),u[18]||=i(`h2`,{class:`text-3xl font-bold text-white mb-4`},[a(`有定制开发需求?`),i(`br`),a(`我们随时为您服务`)],-1),u[19]||=i(`p`,{class:`text-slate-400 text-sm mb-8 max-w-lg mx-auto leading-relaxed`},` 无论您需要定制开发、开源项目二次开发,还是长期的运营维护,我们都能提供高性价比的解决方案。 `,-1),i(`div`,{class:`flex flex-col sm:flex-row items-center justify-center gap-4`},[i(`button`,{class:`bg-blue-600 hover:bg-blue-500 text-white font-semibold px-8 py-3 rounded-2xl transition shadow-lg shadow-blue-900 flex items-center gap-2`,onClick:Q},[...u[15]||=[i(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z`})],-1),a(` 立即沟通需求 `,-1)]]),i(`button`,{class:`border border-slate-600 hover:border-slate-400 text-slate-300 hover:text-white font-medium px-8 py-3 rounded-2xl transition flex items-center gap-2`,onClick:Q},[...u[16]||=[i(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z`})],-1),a(` 获取报价方案 `,-1)]])])])])])]))}}),[[`__scopeId`,`data-v-6bce0488`]]);export{q as default};
\ No newline at end of file
diff --git a/TempLate/assets/ServiceView-CuPbHbDw.js b/TempLate/assets/ServiceView-CuPbHbDw.js
new file mode 100644
index 00000000..6e6b6042
--- /dev/null
+++ b/TempLate/assets/ServiceView-CuPbHbDw.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,h as a,j as o,l as s,m as c,p as l,t as u}from"./index-CMhybB9x.js";import{t as d}from"./_plugin-vue_export-helper-BDNMzG2s.js";var f={class:`max-w-7xl mx-auto px-6 py-14`},p={class:`grid grid-cols-1 lg:grid-cols-5 gap-6 mb-14`},m={class:`lg:col-span-3 bg-gradient-to-br from-blue-600 via-blue-700 to-indigo-800 rounded-3xl p-8 text-white relative overflow-hidden card-hover shadow-xl shadow-blue-100`},h={class:`relative z-10`},g={class:`grid grid-cols-2 gap-2 mb-8`},_={class:`flex items-center gap-3`},v={class:`lg:col-span-2 flex flex-col gap-6`},y={class:`flex-1 bg-white border border-gray-100 rounded-3xl p-6 card-hover shadow-sm`},b={class:`flex items-center justify-between pt-4 border-t border-gray-50`},x={class:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 mb-14`},S={class:`flex items-center justify-between mb-5`},C=[`d`],w={class:`text-xs bg-gray-100 text-gray-600 font-medium px-3 py-1 rounded-full`},T={class:`font-bold text-gray-900 text-lg mb-2`},E={class:`text-sm text-gray-500 leading-relaxed mb-4`},D={class:`flex flex-wrap gap-1.5 mb-5`},O={class:`border-t border-gray-50 pt-4 flex items-center justify-between`},k={class:`flex items-center gap-1.5`},A={class:`text-xs text-gray-500`},j={class:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-14`},M=[`d`],N={class:`font-bold text-gray-900 mb-2`},P={class:`text-sm text-gray-500 leading-relaxed mb-4`},F={class:`text-xs text-gray-400`},I={class:`grid grid-cols-1 lg:grid-cols-2 gap-6 mb-14`},L={class:`bg-white border border-gray-100 rounded-3xl p-8 card-hover shadow-sm`},R={class:`space-y-4 mb-6`},z={class:`w-8 h-8 bg-sky-100 rounded-full flex items-center justify-center flex-shrink-0 text-sky-700 font-bold text-sm`},B={class:`font-medium text-gray-900 text-sm mb-1`},V={class:`text-xs text-gray-500`},H={class:`bg-white border border-gray-100 rounded-3xl p-8 card-hover shadow-sm`},U={class:`space-y-3`},W={class:`flex items-center gap-3`},G={class:`text-sm font-medium text-gray-700`},K={class:`text-xs text-gray-400`},q=d(r({__name:`ServiceView`,setup(r){let d=u(),q=[`需求定制分析`,`开源技术栈开发`,`私有化部署`,`源码交付`,`长期技术维护`,`7×24 售后支持`],J=[{iconBg:`bg-blue-50 group-hover:bg-blue-100`,iconColor:`text-blue-600`,svgPath:`M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4m0 5c0 2.21-3.582 4-8 4s-8-1.79-8-4`,badge:`按需报价`,title:`Web系统开发`,desc:`定制开发企业官网、管理后台、SAAS系统、电商平台等Web应用,基于开源框架快速交付,支持多端适配。`,tags:[`Node/React`,`Django/Flask`,`多端适配`,`私有化部署`],dot:`bg-green-400`,status:`按需定制`,linkColor:`text-blue-600 hover:text-blue-800`},{iconBg:`bg-cyan-50 group-hover:bg-cyan-100`,iconColor:`text-cyan-600`,svgPath:`M13 10V3L4 14h7v7l9-11h-7z`,badge:`热门`,title:`自动化脚本/工具`,desc:`开发各类自动化脚本、爬虫工具、数据处理工具,提升企业工作效率,替代重复人工操作。`,tags:[`Python/Go`,`数据爬取`,`自动化流程`],dot:`bg-cyan-400`,status:`快速交付`,linkColor:`text-cyan-600 hover:text-cyan-800`},{iconBg:`bg-amber-50 group-hover:bg-amber-100`,iconColor:`text-amber-600`,svgPath:`M9 17v-2m3 2v-4m3 4v-6m2 10H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z`,badge:`长期合作`,title:`技术维护与迭代`,desc:`为企业现有系统提供bug修复、功能迭代、性能优化、版本升级等技术维护服务,保障系统稳定运行。`,tags:[`Bug 修复`,`性能优化`,`版本迭代`],dot:`bg-green-400`,status:`7×24h 支持`,linkColor:`text-amber-600 hover:text-amber-800`}],Y=[{iconBg:`bg-violet-50 group-hover:bg-violet-100`,iconColor:`text-violet-600`,svgPath:`M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z`,title:`管理后台类`,desc:`基于 GERP、VueAdmin、ReactAdmin 等开源后台框架定制企业管理系统,快速上线。`,foot:`支持RBAC权限管理`},{iconBg:`bg-pink-50 group-hover:bg-pink-100`,iconColor:`text-pink-600`,svgPath:`M15 10l4.553-2.069A1 1 0 0121 8.87v6.26a1 1 0 01-1.447.894L15 14M5 18h8a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v8a2 2 0 002 2z`,title:`爬虫/自动化类`,desc:`基于 Scrapy、Playwright 等开源框架开发定制化爬虫与自动化脚本。`,foot:`支持反爬策略适配`},{iconBg:`bg-orange-50 group-hover:bg-orange-100`,iconColor:`text-orange-600`,svgPath:`M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01`,title:`数据可视化类`,desc:`基于 ECharts、DataV 等定制企业数据可视化大屏、报表系统。`,foot:`支持多数据源接入`},{iconBg:`bg-teal-50 group-hover:bg-teal-100`,iconColor:`text-teal-600`,svgPath:`M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z`,title:`工具类SAAS`,desc:`基于开源SAAS框架定制轻量级工具类SAAS系统,支持多租户、按需付费。`,foot:`私有化部署可选`}],X=[{title:`需求沟通与评估`,desc:`深入沟通企业需求,评估技术方案与开发成本,提供详细报价与排期。`},{title:`方案设计与确认`,desc:`输出技术方案、原型设计、功能清单,确认后签订合同启动开发。`},{title:`开发与阶段性交付`,desc:`分阶段开发与交付,定期同步进度,支持中途需求微调。`},{title:`测试与上线部署`,desc:`全面功能测试、性能测试,完成后部署上线,提供操作培训。`},{title:`售后维护与迭代`,desc:`提供 7×24h 售后支持,定期系统维护,按需进行功能迭代。`}],Z=[{title:`一对一专属对接`,badge:`无中间环节`},{title:`低成本高性价比`,badge:`比大公司低 30%-50%`},{title:`灵活的合作模式`,badge:`按项目/按工时/长期维护`},{title:`全流程售后支持`,badge:`7×24小时`}];function Q(){d.push(`/ProJect/Service/Quotation`)}function $(e,t=`_blank`){window.open(e,t)}return(r,u)=>(n(),l(`div`,null,[u[25]||=c(` 专注B2B定制开发,基于开源技术栈快速交付,提供全流程项目开发、部署运维、售后支持一体化服务。
`,1),i(`main`,f,[u[22]||=i(`div`,{class:`mb-6`},[i(`h2`,{class:`text-xs font-bold uppercase tracking-widest text-blue-600 mb-1`},`核心服务`),i(`h3`,{class:`text-2xl font-bold text-gray-900`},`定制开发全流程`)],-1),i(`div`,p,[i(`div`,m,[u[4]||=i(`div`,{class:`absolute -top-10 -right-10 w-48 h-48 bg-white opacity-5 rounded-full`},null,-1),u[5]||=i(`div`,{class:`absolute -bottom-16 -right-4 w-72 h-72 bg-white opacity-5 rounded-full`},null,-1),u[6]||=i(`div`,{class:`absolute top-1/2 right-8 w-32 h-32 bg-blue-400 opacity-10 rounded-full`},null,-1),i(`div`,h,[u[3]||=c(`B2B 定制开发 基于开源技术栈为企业定制专属软件系统,按需开发、快速交付,支持私有化部署、二次开发与长期维护。
`,3),i(`div`,g,[(n(),l(s,null,e(q,e=>i(`div`,{key:e,class:`flex items-center gap-2 text-sm text-blue-100`},[u[2]||=i(`svg`,{class:`w-4 h-4 text-blue-300 flex-shrink-0`,fill:`currentColor`,viewBox:`0 0 20 20`},[i(`path`,{"fill-rule":`evenodd`,d:`M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z`,"clip-rule":`evenodd`})],-1),a(` `+t(e),1)])),64))]),i(`div`,_,[i(`button`,{class:`bg-white text-blue-700 font-semibold text-sm px-6 py-2.5 rounded-xl hover:bg-blue-50 transition`,onClick:Q},` 咨询报价 `),i(`button`,{class:`border border-white border-opacity-30 text-white font-medium text-sm px-6 py-2.5 rounded-xl hover:bg-white hover:bg-opacity-10 transition`,onClick:u[0]||=e=>$(`https://git.gvsds.com/GVSDS/`,`_blank`)},` 查看案例 → `)])])]),i(`div`,v,[i(`div`,{class:`flex-1 bg-white border border-gray-100 rounded-3xl p-6 card-hover shadow-sm`},[u[8]||=c(`
项目运营托管 全托管 辅助部署服务器,提供服务器运维、数据备份、版本更新、故障处理等一站式全流程运营托管服务。
`,1),i(`div`,{class:`flex items-center justify-between pt-4 border-t border-gray-50`},[u[7]||=i(`span`,{class:`text-sm text-gray-400`},`24 小时监控`,-1),i(`button`,{class:`text-violet-600 text-sm font-semibold hover:text-violet-800 transition`,onClick:Q},`了解更多 →`)])]),i(`div`,y,[u[10]||=c(`
B2B / B2C 定制开发 低成本 坚持质量优先、效率至上的服务理念,以高标准品质为核心,以高效响应为保障,为企业提供稳定可靠、灵活适配的专业解决方案。
`,1),i(`div`,b,[u[9]||=i(`span`,{class:`text-sm text-gray-400`},`查看我们历来的开源项目`,-1),i(`button`,{class:`text-emerald-600 text-sm font-semibold hover:text-emerald-800 transition`,onClick:u[1]||=e=>$(`https://git.gvsds.com/GVSDS`,`_blank`)},`了解更多 →`)])])])]),u[23]||=i(`div`,{class:`mb-6`},[i(`h2`,{class:`text-xs font-bold uppercase tracking-widest text-blue-600 mb-1`},`服务类型`),i(`h3`,{class:`text-2xl font-bold text-gray-900`},`满足多样化需求`)],-1),i(`div`,x,[(n(),l(s,null,e(J,(r,a)=>i(`div`,{key:a,class:`bg-white border border-gray-100 rounded-3xl p-6 card-hover shadow-sm group`},[i(`div`,S,[i(`div`,{class:o([`w-12 h-12 rounded-2xl flex items-center justify-center transition`,r.iconBg])},[(n(),l(`svg`,{class:o([`w-6 h-6`,r.iconColor]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.8`,d:r.svgPath},null,8,C)],2))],2),i(`span`,w,t(r.badge),1)]),i(`h4`,T,t(r.title),1),i(`p`,E,t(r.desc),1),i(`div`,D,[(n(!0),l(s,null,e(r.tags,e=>(n(),l(`span`,{key:e,class:`text-xs bg-gray-100 text-gray-600 px-2.5 py-1 rounded-lg`},t(e),1))),128))]),i(`div`,O,[i(`div`,k,[i(`div`,{class:o([`w-2 h-2 rounded-full`,r.dot])},null,2),i(`span`,A,t(r.status),1)]),i(`button`,{class:o([`text-sm font-semibold transition`,r.linkColor]),onClick:Q},`查看详情 →`,2)])])),64))]),u[24]||=i(`div`,{class:`mb-6`},[i(`h2`,{class:`text-xs font-bold uppercase tracking-widest text-violet-600 mb-1`},`开源项目`),i(`h3`,{class:`text-2xl font-bold text-gray-900`},`基于开源,快速定制`)],-1),i(`div`,j,[(n(),l(s,null,e(Y,(e,r)=>i(`div`,{key:r,class:`bg-white border border-gray-100 rounded-3xl p-6 card-hover shadow-sm group`},[i(`div`,{class:o([`w-11 h-11 rounded-2xl flex items-center justify-center mb-4 transition`,e.iconBg])},[(n(),l(`svg`,{class:o([`w-6 h-6`,e.iconColor]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.8`,d:e.svgPath},null,8,M)],2))],2),i(`h4`,N,t(e.title),1),i(`p`,P,t(e.desc),1),i(`div`,F,t(e.foot),1)])),64))]),i(`div`,I,[i(`div`,L,[u[11]||=c(` 标准化的服务流程,从需求沟通到售后维护,全程透明可控,确保项目按时、按质交付。
`,2),i(`div`,R,[(n(),l(s,null,e(X,(e,n)=>i(`div`,{key:n,class:`flex gap-4`},[i(`div`,z,t(n+1),1),i(`div`,null,[i(`h5`,B,t(e.title),1),i(`p`,V,t(e.desc),1)])])),64))]),u[12]||=i(`button`,{class:`w-full bg-sky-50 text-sky-700 font-medium text-sm py-2.5 rounded-xl hover:bg-sky-100 transition`},` 查看详细服务规范 `,-1)]),i(`div`,H,[u[14]||=c(` 相比大型公司,我们更灵活、更专注,以更低的成本提供高质量的定制开发服务,全程一对一沟通。
`,2),i(`div`,U,[(n(),l(s,null,e(Z,(e,n)=>i(`div`,{key:n,class:`flex items-center justify-between py-3 px-4 bg-gray-50 rounded-2xl`},[i(`div`,W,[u[13]||=i(`div`,{class:`w-7 h-7 bg-red-100 rounded-lg flex items-center justify-center`},[i(`svg`,{class:`w-3.5 h-3.5 text-red-500`,fill:`currentColor`,viewBox:`0 0 20 20`},[i(`path`,{"fill-rule":`evenodd`,d:`M6.267 3.455a3.066 3.066 0 001.745-.723 3.066 3.066 0 013.976 0 3.066 3.066 0 001.745.723 3.066 3.066 0 012.812 2.812c.051.643.304 1.254.723 1.745a3.066 3.066 0 010 3.976 3.066 3.066 0 00-.723 1.745 3.066 3.066 0 01-2.812 2.812 3.066 3.066 0 00-1.745.723 3.066 3.066 0 01-3.976 0 3.066 3.066 0 00-1.745-.723 3.066 3.066 0 01-2.812-2.812 3.066 3.066 0 00-.723-1.745 3.066 3.066 0 010-3.976 3.066 3.066 0 00.723-1.745 3.066 3.066 0 012.812-2.812zm7.44 5.252a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z`,"clip-rule":`evenodd`})])],-1),i(`span`,G,t(e.title),1)]),i(`span`,K,t(e.badge),1)])),64))])])]),i(`div`,{class:`bg-gradient-to-r from-slate-900 via-blue-950 to-slate-900 rounded-3xl p-10 text-center relative overflow-hidden`},[u[20]||=i(`div`,{class:`absolute top-0 left-1/4 w-64 h-64 bg-blue-600 opacity-10 rounded-full blur-3xl`},null,-1),u[21]||=i(`div`,{class:`absolute bottom-0 right-1/4 w-64 h-64 bg-indigo-600 opacity-10 rounded-full blur-3xl`},null,-1),i(`div`,{class:`relative z-10`},[u[17]||=i(`div`,{class:`inline-flex items-center gap-2 bg-blue-500 bg-opacity-20 border border-blue-400 border-opacity-30 text-blue-300 text-xs font-semibold px-4 py-1.5 rounded-full mb-5`},[i(`span`,null,`立即咨询`)],-1),u[18]||=i(`h2`,{class:`text-3xl font-bold text-white mb-4`},[a(`有定制开发需求?`),i(`br`),a(`我们随时为您服务`)],-1),u[19]||=i(`p`,{class:`text-slate-400 text-sm mb-8 max-w-lg mx-auto leading-relaxed`},` 无论您需要定制开发、开源项目二次开发,还是长期的运营维护,我们都能提供高性价比的解决方案。 `,-1),i(`div`,{class:`flex flex-col sm:flex-row items-center justify-center gap-4`},[i(`button`,{class:`bg-blue-600 hover:bg-blue-500 text-white font-semibold px-8 py-3 rounded-2xl transition shadow-lg shadow-blue-900 flex items-center gap-2`,onClick:Q},[...u[15]||=[i(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z`})],-1),a(` 立即沟通需求 `,-1)]]),i(`button`,{class:`border border-slate-600 hover:border-slate-400 text-slate-300 hover:text-white font-medium px-8 py-3 rounded-2xl transition flex items-center gap-2`,onClick:Q},[...u[16]||=[i(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z`})],-1),a(` 获取报价方案 `,-1)]])])])])])]))}}),[[`__scopeId`,`data-v-6bce0488`]]);export{q as default};
\ No newline at end of file
diff --git a/TempLate/assets/ServiceView-QRgioOnk.js b/TempLate/assets/ServiceView-QRgioOnk.js
new file mode 100644
index 00000000..90b3b039
--- /dev/null
+++ b/TempLate/assets/ServiceView-QRgioOnk.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,h as a,j as o,l as s,m as c,p as l,t as u}from"./index-PMfCvoYM.js";import{t as d}from"./_plugin-vue_export-helper-BDNMzG2s.js";var f={class:`max-w-7xl mx-auto px-6 py-14`},p={class:`grid grid-cols-1 lg:grid-cols-5 gap-6 mb-14`},m={class:`lg:col-span-3 bg-gradient-to-br from-blue-600 via-blue-700 to-indigo-800 rounded-3xl p-8 text-white relative overflow-hidden card-hover shadow-xl shadow-blue-100`},h={class:`relative z-10`},g={class:`grid grid-cols-2 gap-2 mb-8`},_={class:`flex items-center gap-3`},v={class:`lg:col-span-2 flex flex-col gap-6`},y={class:`flex-1 bg-white border border-gray-100 rounded-3xl p-6 card-hover shadow-sm`},b={class:`flex items-center justify-between pt-4 border-t border-gray-50`},x={class:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 mb-14`},S={class:`flex items-center justify-between mb-5`},C=[`d`],w={class:`text-xs bg-gray-100 text-gray-600 font-medium px-3 py-1 rounded-full`},T={class:`font-bold text-gray-900 text-lg mb-2`},E={class:`text-sm text-gray-500 leading-relaxed mb-4`},D={class:`flex flex-wrap gap-1.5 mb-5`},O={class:`border-t border-gray-50 pt-4 flex items-center justify-between`},k={class:`flex items-center gap-1.5`},A={class:`text-xs text-gray-500`},j={class:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-14`},M=[`d`],N={class:`font-bold text-gray-900 mb-2`},P={class:`text-sm text-gray-500 leading-relaxed mb-4`},F={class:`text-xs text-gray-400`},I={class:`grid grid-cols-1 lg:grid-cols-2 gap-6 mb-14`},L={class:`bg-white border border-gray-100 rounded-3xl p-8 card-hover shadow-sm`},R={class:`space-y-4 mb-6`},z={class:`w-8 h-8 bg-sky-100 rounded-full flex items-center justify-center flex-shrink-0 text-sky-700 font-bold text-sm`},B={class:`font-medium text-gray-900 text-sm mb-1`},V={class:`text-xs text-gray-500`},H={class:`bg-white border border-gray-100 rounded-3xl p-8 card-hover shadow-sm`},U={class:`space-y-3`},W={class:`flex items-center gap-3`},G={class:`text-sm font-medium text-gray-700`},K={class:`text-xs text-gray-400`},q=d(r({__name:`ServiceView`,setup(r){let d=u(),q=[`需求定制分析`,`开源技术栈开发`,`私有化部署`,`源码交付`,`长期技术维护`,`7×24 售后支持`],J=[{iconBg:`bg-blue-50 group-hover:bg-blue-100`,iconColor:`text-blue-600`,svgPath:`M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4m0 5c0 2.21-3.582 4-8 4s-8-1.79-8-4`,badge:`按需报价`,title:`Web系统开发`,desc:`定制开发企业官网、管理后台、SAAS系统、电商平台等Web应用,基于开源框架快速交付,支持多端适配。`,tags:[`Node/React`,`Django/Flask`,`多端适配`,`私有化部署`],dot:`bg-green-400`,status:`按需定制`,linkColor:`text-blue-600 hover:text-blue-800`},{iconBg:`bg-cyan-50 group-hover:bg-cyan-100`,iconColor:`text-cyan-600`,svgPath:`M13 10V3L4 14h7v7l9-11h-7z`,badge:`热门`,title:`自动化脚本/工具`,desc:`开发各类自动化脚本、爬虫工具、数据处理工具,提升企业工作效率,替代重复人工操作。`,tags:[`Python/Go`,`数据爬取`,`自动化流程`],dot:`bg-cyan-400`,status:`快速交付`,linkColor:`text-cyan-600 hover:text-cyan-800`},{iconBg:`bg-amber-50 group-hover:bg-amber-100`,iconColor:`text-amber-600`,svgPath:`M9 17v-2m3 2v-4m3 4v-6m2 10H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z`,badge:`长期合作`,title:`技术维护与迭代`,desc:`为企业现有系统提供bug修复、功能迭代、性能优化、版本升级等技术维护服务,保障系统稳定运行。`,tags:[`Bug 修复`,`性能优化`,`版本迭代`],dot:`bg-green-400`,status:`7×24h 支持`,linkColor:`text-amber-600 hover:text-amber-800`}],Y=[{iconBg:`bg-violet-50 group-hover:bg-violet-100`,iconColor:`text-violet-600`,svgPath:`M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z`,title:`管理后台类`,desc:`基于 GERP、VueAdmin、ReactAdmin 等开源后台框架定制企业管理系统,快速上线。`,foot:`支持RBAC权限管理`},{iconBg:`bg-pink-50 group-hover:bg-pink-100`,iconColor:`text-pink-600`,svgPath:`M15 10l4.553-2.069A1 1 0 0121 8.87v6.26a1 1 0 01-1.447.894L15 14M5 18h8a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v8a2 2 0 002 2z`,title:`爬虫/自动化类`,desc:`基于 Scrapy、Playwright 等开源框架开发定制化爬虫与自动化脚本。`,foot:`支持反爬策略适配`},{iconBg:`bg-orange-50 group-hover:bg-orange-100`,iconColor:`text-orange-600`,svgPath:`M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01`,title:`数据可视化类`,desc:`基于 ECharts、DataV 等定制企业数据可视化大屏、报表系统。`,foot:`支持多数据源接入`},{iconBg:`bg-teal-50 group-hover:bg-teal-100`,iconColor:`text-teal-600`,svgPath:`M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z`,title:`工具类SAAS`,desc:`基于开源SAAS框架定制轻量级工具类SAAS系统,支持多租户、按需付费。`,foot:`私有化部署可选`}],X=[{title:`需求沟通与评估`,desc:`深入沟通企业需求,评估技术方案与开发成本,提供详细报价与排期。`},{title:`方案设计与确认`,desc:`输出技术方案、原型设计、功能清单,确认后签订合同启动开发。`},{title:`开发与阶段性交付`,desc:`分阶段开发与交付,定期同步进度,支持中途需求微调。`},{title:`测试与上线部署`,desc:`全面功能测试、性能测试,完成后部署上线,提供操作培训。`},{title:`售后维护与迭代`,desc:`提供 7×24h 售后支持,定期系统维护,按需进行功能迭代。`}],Z=[{title:`一对一专属对接`,badge:`无中间环节`},{title:`低成本高性价比`,badge:`比大公司低 30%-50%`},{title:`灵活的合作模式`,badge:`按项目/按工时/长期维护`},{title:`全流程售后支持`,badge:`7×24小时`}];function Q(){d.push(`/ProJect/Service/Quotation`)}function $(e,t=`_blank`){window.open(e,t)}return(r,u)=>(n(),l(`div`,null,[u[25]||=c(` 专注B2B定制开发,基于开源技术栈快速交付,提供全流程项目开发、部署运维、售后支持一体化服务。
`,1),i(`main`,f,[u[22]||=i(`div`,{class:`mb-6`},[i(`h2`,{class:`text-xs font-bold uppercase tracking-widest text-blue-600 mb-1`},`核心服务`),i(`h3`,{class:`text-2xl font-bold text-gray-900`},`定制开发全流程`)],-1),i(`div`,p,[i(`div`,m,[u[4]||=i(`div`,{class:`absolute -top-10 -right-10 w-48 h-48 bg-white opacity-5 rounded-full`},null,-1),u[5]||=i(`div`,{class:`absolute -bottom-16 -right-4 w-72 h-72 bg-white opacity-5 rounded-full`},null,-1),u[6]||=i(`div`,{class:`absolute top-1/2 right-8 w-32 h-32 bg-blue-400 opacity-10 rounded-full`},null,-1),i(`div`,h,[u[3]||=c(`B2B 定制开发 基于开源技术栈为企业定制专属软件系统,按需开发、快速交付,支持私有化部署、二次开发与长期维护。
`,3),i(`div`,g,[(n(),l(s,null,e(q,e=>i(`div`,{key:e,class:`flex items-center gap-2 text-sm text-blue-100`},[u[2]||=i(`svg`,{class:`w-4 h-4 text-blue-300 flex-shrink-0`,fill:`currentColor`,viewBox:`0 0 20 20`},[i(`path`,{"fill-rule":`evenodd`,d:`M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z`,"clip-rule":`evenodd`})],-1),a(` `+t(e),1)])),64))]),i(`div`,_,[i(`button`,{class:`bg-white text-blue-700 font-semibold text-sm px-6 py-2.5 rounded-xl hover:bg-blue-50 transition`,onClick:Q},` 咨询报价 `),i(`button`,{class:`border border-white border-opacity-30 text-white font-medium text-sm px-6 py-2.5 rounded-xl hover:bg-white hover:bg-opacity-10 transition`,onClick:u[0]||=e=>$(`https://git.gvsds.com/GVSDS/`,`_blank`)},` 查看案例 → `)])])]),i(`div`,v,[i(`div`,{class:`flex-1 bg-white border border-gray-100 rounded-3xl p-6 card-hover shadow-sm`},[u[8]||=c(`
项目运营托管 全托管 辅助部署服务器,提供服务器运维、数据备份、版本更新、故障处理等一站式全流程运营托管服务。
`,1),i(`div`,{class:`flex items-center justify-between pt-4 border-t border-gray-50`},[u[7]||=i(`span`,{class:`text-sm text-gray-400`},`24 小时监控`,-1),i(`button`,{class:`text-violet-600 text-sm font-semibold hover:text-violet-800 transition`,onClick:Q},`了解更多 →`)])]),i(`div`,y,[u[10]||=c(`
B2B / B2C 定制开发 低成本 坚持质量优先、效率至上的服务理念,以高标准品质为核心,以高效响应为保障,为企业提供稳定可靠、灵活适配的专业解决方案。
`,1),i(`div`,b,[u[9]||=i(`span`,{class:`text-sm text-gray-400`},`查看我们历来的开源项目`,-1),i(`button`,{class:`text-emerald-600 text-sm font-semibold hover:text-emerald-800 transition`,onClick:u[1]||=e=>$(`https://git.gvsds.com/GVSDS`,`_blank`)},`了解更多 →`)])])])]),u[23]||=i(`div`,{class:`mb-6`},[i(`h2`,{class:`text-xs font-bold uppercase tracking-widest text-blue-600 mb-1`},`服务类型`),i(`h3`,{class:`text-2xl font-bold text-gray-900`},`满足多样化需求`)],-1),i(`div`,x,[(n(),l(s,null,e(J,(r,a)=>i(`div`,{key:a,class:`bg-white border border-gray-100 rounded-3xl p-6 card-hover shadow-sm group`},[i(`div`,S,[i(`div`,{class:o([`w-12 h-12 rounded-2xl flex items-center justify-center transition`,r.iconBg])},[(n(),l(`svg`,{class:o([`w-6 h-6`,r.iconColor]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.8`,d:r.svgPath},null,8,C)],2))],2),i(`span`,w,t(r.badge),1)]),i(`h4`,T,t(r.title),1),i(`p`,E,t(r.desc),1),i(`div`,D,[(n(!0),l(s,null,e(r.tags,e=>(n(),l(`span`,{key:e,class:`text-xs bg-gray-100 text-gray-600 px-2.5 py-1 rounded-lg`},t(e),1))),128))]),i(`div`,O,[i(`div`,k,[i(`div`,{class:o([`w-2 h-2 rounded-full`,r.dot])},null,2),i(`span`,A,t(r.status),1)]),i(`button`,{class:o([`text-sm font-semibold transition`,r.linkColor]),onClick:Q},`查看详情 →`,2)])])),64))]),u[24]||=i(`div`,{class:`mb-6`},[i(`h2`,{class:`text-xs font-bold uppercase tracking-widest text-violet-600 mb-1`},`开源项目`),i(`h3`,{class:`text-2xl font-bold text-gray-900`},`基于开源,快速定制`)],-1),i(`div`,j,[(n(),l(s,null,e(Y,(e,r)=>i(`div`,{key:r,class:`bg-white border border-gray-100 rounded-3xl p-6 card-hover shadow-sm group`},[i(`div`,{class:o([`w-11 h-11 rounded-2xl flex items-center justify-center mb-4 transition`,e.iconBg])},[(n(),l(`svg`,{class:o([`w-6 h-6`,e.iconColor]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.8`,d:e.svgPath},null,8,M)],2))],2),i(`h4`,N,t(e.title),1),i(`p`,P,t(e.desc),1),i(`div`,F,t(e.foot),1)])),64))]),i(`div`,I,[i(`div`,L,[u[11]||=c(` 标准化的服务流程,从需求沟通到售后维护,全程透明可控,确保项目按时、按质交付。
`,2),i(`div`,R,[(n(),l(s,null,e(X,(e,n)=>i(`div`,{key:n,class:`flex gap-4`},[i(`div`,z,t(n+1),1),i(`div`,null,[i(`h5`,B,t(e.title),1),i(`p`,V,t(e.desc),1)])])),64))]),u[12]||=i(`button`,{class:`w-full bg-sky-50 text-sky-700 font-medium text-sm py-2.5 rounded-xl hover:bg-sky-100 transition`},` 查看详细服务规范 `,-1)]),i(`div`,H,[u[14]||=c(` 相比大型公司,我们更灵活、更专注,以更低的成本提供高质量的定制开发服务,全程一对一沟通。
`,2),i(`div`,U,[(n(),l(s,null,e(Z,(e,n)=>i(`div`,{key:n,class:`flex items-center justify-between py-3 px-4 bg-gray-50 rounded-2xl`},[i(`div`,W,[u[13]||=i(`div`,{class:`w-7 h-7 bg-red-100 rounded-lg flex items-center justify-center`},[i(`svg`,{class:`w-3.5 h-3.5 text-red-500`,fill:`currentColor`,viewBox:`0 0 20 20`},[i(`path`,{"fill-rule":`evenodd`,d:`M6.267 3.455a3.066 3.066 0 001.745-.723 3.066 3.066 0 013.976 0 3.066 3.066 0 001.745.723 3.066 3.066 0 012.812 2.812c.051.643.304 1.254.723 1.745a3.066 3.066 0 010 3.976 3.066 3.066 0 00-.723 1.745 3.066 3.066 0 01-2.812 2.812 3.066 3.066 0 00-1.745.723 3.066 3.066 0 01-3.976 0 3.066 3.066 0 00-1.745-.723 3.066 3.066 0 01-2.812-2.812 3.066 3.066 0 00-.723-1.745 3.066 3.066 0 010-3.976 3.066 3.066 0 00.723-1.745 3.066 3.066 0 012.812-2.812zm7.44 5.252a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z`,"clip-rule":`evenodd`})])],-1),i(`span`,G,t(e.title),1)]),i(`span`,K,t(e.badge),1)])),64))])])]),i(`div`,{class:`bg-gradient-to-r from-slate-900 via-blue-950 to-slate-900 rounded-3xl p-10 text-center relative overflow-hidden`},[u[20]||=i(`div`,{class:`absolute top-0 left-1/4 w-64 h-64 bg-blue-600 opacity-10 rounded-full blur-3xl`},null,-1),u[21]||=i(`div`,{class:`absolute bottom-0 right-1/4 w-64 h-64 bg-indigo-600 opacity-10 rounded-full blur-3xl`},null,-1),i(`div`,{class:`relative z-10`},[u[17]||=i(`div`,{class:`inline-flex items-center gap-2 bg-blue-500 bg-opacity-20 border border-blue-400 border-opacity-30 text-blue-300 text-xs font-semibold px-4 py-1.5 rounded-full mb-5`},[i(`span`,null,`立即咨询`)],-1),u[18]||=i(`h2`,{class:`text-3xl font-bold text-white mb-4`},[a(`有定制开发需求?`),i(`br`),a(`我们随时为您服务`)],-1),u[19]||=i(`p`,{class:`text-slate-400 text-sm mb-8 max-w-lg mx-auto leading-relaxed`},` 无论您需要定制开发、开源项目二次开发,还是长期的运营维护,我们都能提供高性价比的解决方案。 `,-1),i(`div`,{class:`flex flex-col sm:flex-row items-center justify-center gap-4`},[i(`button`,{class:`bg-blue-600 hover:bg-blue-500 text-white font-semibold px-8 py-3 rounded-2xl transition shadow-lg shadow-blue-900 flex items-center gap-2`,onClick:Q},[...u[15]||=[i(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z`})],-1),a(` 立即沟通需求 `,-1)]]),i(`button`,{class:`border border-slate-600 hover:border-slate-400 text-slate-300 hover:text-white font-medium px-8 py-3 rounded-2xl transition flex items-center gap-2`,onClick:Q},[...u[16]||=[i(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z`})],-1),a(` 获取报价方案 `,-1)]])])])])])]))}}),[[`__scopeId`,`data-v-6bce0488`]]);export{q as default};
\ No newline at end of file
diff --git a/TempLate/assets/ServiceView-qqBPM9px.js b/TempLate/assets/ServiceView-qqBPM9px.js
new file mode 100644
index 00000000..3f198e65
--- /dev/null
+++ b/TempLate/assets/ServiceView-qqBPM9px.js
@@ -0,0 +1 @@
+import{C as e,N as t,S as n,_ as r,d as i,h as a,j as o,l as s,m as c,p as l,t as u}from"./index-CUry87of.js";import{t as d}from"./_plugin-vue_export-helper-BDNMzG2s.js";var f={class:`max-w-7xl mx-auto px-6 py-14`},p={class:`grid grid-cols-1 lg:grid-cols-5 gap-6 mb-14`},m={class:`lg:col-span-3 bg-gradient-to-br from-blue-600 via-blue-700 to-indigo-800 rounded-3xl p-8 text-white relative overflow-hidden card-hover shadow-xl shadow-blue-100`},h={class:`relative z-10`},g={class:`grid grid-cols-2 gap-2 mb-8`},_={class:`flex items-center gap-3`},v={class:`lg:col-span-2 flex flex-col gap-6`},y={class:`flex-1 bg-white border border-gray-100 rounded-3xl p-6 card-hover shadow-sm`},b={class:`flex items-center justify-between pt-4 border-t border-gray-50`},x={class:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 mb-14`},S={class:`flex items-center justify-between mb-5`},C=[`d`],w={class:`text-xs bg-gray-100 text-gray-600 font-medium px-3 py-1 rounded-full`},T={class:`font-bold text-gray-900 text-lg mb-2`},E={class:`text-sm text-gray-500 leading-relaxed mb-4`},D={class:`flex flex-wrap gap-1.5 mb-5`},O={class:`border-t border-gray-50 pt-4 flex items-center justify-between`},k={class:`flex items-center gap-1.5`},A={class:`text-xs text-gray-500`},j={class:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-14`},M=[`d`],N={class:`font-bold text-gray-900 mb-2`},P={class:`text-sm text-gray-500 leading-relaxed mb-4`},F={class:`text-xs text-gray-400`},I={class:`grid grid-cols-1 lg:grid-cols-2 gap-6 mb-14`},L={class:`bg-white border border-gray-100 rounded-3xl p-8 card-hover shadow-sm`},R={class:`space-y-4 mb-6`},z={class:`w-8 h-8 bg-sky-100 rounded-full flex items-center justify-center flex-shrink-0 text-sky-700 font-bold text-sm`},B={class:`font-medium text-gray-900 text-sm mb-1`},V={class:`text-xs text-gray-500`},H={class:`bg-white border border-gray-100 rounded-3xl p-8 card-hover shadow-sm`},U={class:`space-y-3`},W={class:`flex items-center gap-3`},G={class:`text-sm font-medium text-gray-700`},K={class:`text-xs text-gray-400`},q=d(r({__name:`ServiceView`,setup(r){let d=u(),q=[`需求定制分析`,`开源技术栈开发`,`私有化部署`,`源码交付`,`长期技术维护`,`7×24 售后支持`],J=[{iconBg:`bg-blue-50 group-hover:bg-blue-100`,iconColor:`text-blue-600`,svgPath:`M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4m0 5c0 2.21-3.582 4-8 4s-8-1.79-8-4`,badge:`按需报价`,title:`Web系统开发`,desc:`定制开发企业官网、管理后台、SAAS系统、电商平台等Web应用,基于开源框架快速交付,支持多端适配。`,tags:[`Node/React`,`Django/Flask`,`多端适配`,`私有化部署`],dot:`bg-green-400`,status:`按需定制`,linkColor:`text-blue-600 hover:text-blue-800`},{iconBg:`bg-cyan-50 group-hover:bg-cyan-100`,iconColor:`text-cyan-600`,svgPath:`M13 10V3L4 14h7v7l9-11h-7z`,badge:`热门`,title:`自动化脚本/工具`,desc:`开发各类自动化脚本、爬虫工具、数据处理工具,提升企业工作效率,替代重复人工操作。`,tags:[`Python/Go`,`数据爬取`,`自动化流程`],dot:`bg-cyan-400`,status:`快速交付`,linkColor:`text-cyan-600 hover:text-cyan-800`},{iconBg:`bg-amber-50 group-hover:bg-amber-100`,iconColor:`text-amber-600`,svgPath:`M9 17v-2m3 2v-4m3 4v-6m2 10H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z`,badge:`长期合作`,title:`技术维护与迭代`,desc:`为企业现有系统提供bug修复、功能迭代、性能优化、版本升级等技术维护服务,保障系统稳定运行。`,tags:[`Bug 修复`,`性能优化`,`版本迭代`],dot:`bg-green-400`,status:`7×24h 支持`,linkColor:`text-amber-600 hover:text-amber-800`}],Y=[{iconBg:`bg-violet-50 group-hover:bg-violet-100`,iconColor:`text-violet-600`,svgPath:`M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z`,title:`管理后台类`,desc:`基于 GERP、VueAdmin、ReactAdmin 等开源后台框架定制企业管理系统,快速上线。`,foot:`支持RBAC权限管理`},{iconBg:`bg-pink-50 group-hover:bg-pink-100`,iconColor:`text-pink-600`,svgPath:`M15 10l4.553-2.069A1 1 0 0121 8.87v6.26a1 1 0 01-1.447.894L15 14M5 18h8a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v8a2 2 0 002 2z`,title:`爬虫/自动化类`,desc:`基于 Scrapy、Playwright 等开源框架开发定制化爬虫与自动化脚本。`,foot:`支持反爬策略适配`},{iconBg:`bg-orange-50 group-hover:bg-orange-100`,iconColor:`text-orange-600`,svgPath:`M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01`,title:`数据可视化类`,desc:`基于 ECharts、DataV 等定制企业数据可视化大屏、报表系统。`,foot:`支持多数据源接入`},{iconBg:`bg-teal-50 group-hover:bg-teal-100`,iconColor:`text-teal-600`,svgPath:`M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z`,title:`工具类SAAS`,desc:`基于开源SAAS框架定制轻量级工具类SAAS系统,支持多租户、按需付费。`,foot:`私有化部署可选`}],X=[{title:`需求沟通与评估`,desc:`深入沟通企业需求,评估技术方案与开发成本,提供详细报价与排期。`},{title:`方案设计与确认`,desc:`输出技术方案、原型设计、功能清单,确认后签订合同启动开发。`},{title:`开发与阶段性交付`,desc:`分阶段开发与交付,定期同步进度,支持中途需求微调。`},{title:`测试与上线部署`,desc:`全面功能测试、性能测试,完成后部署上线,提供操作培训。`},{title:`售后维护与迭代`,desc:`提供 7×24h 售后支持,定期系统维护,按需进行功能迭代。`}],Z=[{title:`一对一专属对接`,badge:`无中间环节`},{title:`低成本高性价比`,badge:`比大公司低 30%-50%`},{title:`灵活的合作模式`,badge:`按项目/按工时/长期维护`},{title:`全流程售后支持`,badge:`7×24小时`}];function Q(){d.push(`/ProJect/Service/Quotation`)}function $(e,t=`_blank`){window.open(e,t)}return(r,u)=>(n(),l(`div`,null,[u[25]||=c(` 专注B2B定制开发,基于开源技术栈快速交付,提供全流程项目开发、部署运维、售后支持一体化服务。
`,1),i(`main`,f,[u[22]||=i(`div`,{class:`mb-6`},[i(`h2`,{class:`text-xs font-bold uppercase tracking-widest text-blue-600 mb-1`},`核心服务`),i(`h3`,{class:`text-2xl font-bold text-gray-900`},`定制开发全流程`)],-1),i(`div`,p,[i(`div`,m,[u[4]||=i(`div`,{class:`absolute -top-10 -right-10 w-48 h-48 bg-white opacity-5 rounded-full`},null,-1),u[5]||=i(`div`,{class:`absolute -bottom-16 -right-4 w-72 h-72 bg-white opacity-5 rounded-full`},null,-1),u[6]||=i(`div`,{class:`absolute top-1/2 right-8 w-32 h-32 bg-blue-400 opacity-10 rounded-full`},null,-1),i(`div`,h,[u[3]||=c(`B2B 定制开发 基于开源技术栈为企业定制专属软件系统,按需开发、快速交付,支持私有化部署、二次开发与长期维护。
`,3),i(`div`,g,[(n(),l(s,null,e(q,e=>i(`div`,{key:e,class:`flex items-center gap-2 text-sm text-blue-100`},[u[2]||=i(`svg`,{class:`w-4 h-4 text-blue-300 flex-shrink-0`,fill:`currentColor`,viewBox:`0 0 20 20`},[i(`path`,{"fill-rule":`evenodd`,d:`M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z`,"clip-rule":`evenodd`})],-1),a(` `+t(e),1)])),64))]),i(`div`,_,[i(`button`,{class:`bg-white text-blue-700 font-semibold text-sm px-6 py-2.5 rounded-xl hover:bg-blue-50 transition`,onClick:Q},` 咨询报价 `),i(`button`,{class:`border border-white border-opacity-30 text-white font-medium text-sm px-6 py-2.5 rounded-xl hover:bg-white hover:bg-opacity-10 transition`,onClick:u[0]||=e=>$(`https://git.gvsds.com/GVSDS/`,`_blank`)},` 查看案例 → `)])])]),i(`div`,v,[i(`div`,{class:`flex-1 bg-white border border-gray-100 rounded-3xl p-6 card-hover shadow-sm`},[u[8]||=c(`
项目运营托管 全托管 辅助部署服务器,提供服务器运维、数据备份、版本更新、故障处理等一站式全流程运营托管服务。
`,1),i(`div`,{class:`flex items-center justify-between pt-4 border-t border-gray-50`},[u[7]||=i(`span`,{class:`text-sm text-gray-400`},`24 小时监控`,-1),i(`button`,{class:`text-violet-600 text-sm font-semibold hover:text-violet-800 transition`,onClick:Q},`了解更多 →`)])]),i(`div`,y,[u[10]||=c(`
B2B / B2C 定制开发 低成本 坚持质量优先、效率至上的服务理念,以高标准品质为核心,以高效响应为保障,为企业提供稳定可靠、灵活适配的专业解决方案。
`,1),i(`div`,b,[u[9]||=i(`span`,{class:`text-sm text-gray-400`},`查看我们历来的开源项目`,-1),i(`button`,{class:`text-emerald-600 text-sm font-semibold hover:text-emerald-800 transition`,onClick:u[1]||=e=>$(`https://git.gvsds.com/GVSDS`,`_blank`)},`了解更多 →`)])])])]),u[23]||=i(`div`,{class:`mb-6`},[i(`h2`,{class:`text-xs font-bold uppercase tracking-widest text-blue-600 mb-1`},`服务类型`),i(`h3`,{class:`text-2xl font-bold text-gray-900`},`满足多样化需求`)],-1),i(`div`,x,[(n(),l(s,null,e(J,(r,a)=>i(`div`,{key:a,class:`bg-white border border-gray-100 rounded-3xl p-6 card-hover shadow-sm group`},[i(`div`,S,[i(`div`,{class:o([`w-12 h-12 rounded-2xl flex items-center justify-center transition`,r.iconBg])},[(n(),l(`svg`,{class:o([`w-6 h-6`,r.iconColor]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.8`,d:r.svgPath},null,8,C)],2))],2),i(`span`,w,t(r.badge),1)]),i(`h4`,T,t(r.title),1),i(`p`,E,t(r.desc),1),i(`div`,D,[(n(!0),l(s,null,e(r.tags,e=>(n(),l(`span`,{key:e,class:`text-xs bg-gray-100 text-gray-600 px-2.5 py-1 rounded-lg`},t(e),1))),128))]),i(`div`,O,[i(`div`,k,[i(`div`,{class:o([`w-2 h-2 rounded-full`,r.dot])},null,2),i(`span`,A,t(r.status),1)]),i(`button`,{class:o([`text-sm font-semibold transition`,r.linkColor]),onClick:Q},`查看详情 →`,2)])])),64))]),u[24]||=i(`div`,{class:`mb-6`},[i(`h2`,{class:`text-xs font-bold uppercase tracking-widest text-violet-600 mb-1`},`开源项目`),i(`h3`,{class:`text-2xl font-bold text-gray-900`},`基于开源,快速定制`)],-1),i(`div`,j,[(n(),l(s,null,e(Y,(e,r)=>i(`div`,{key:r,class:`bg-white border border-gray-100 rounded-3xl p-6 card-hover shadow-sm group`},[i(`div`,{class:o([`w-11 h-11 rounded-2xl flex items-center justify-center mb-4 transition`,e.iconBg])},[(n(),l(`svg`,{class:o([`w-6 h-6`,e.iconColor]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.8`,d:e.svgPath},null,8,M)],2))],2),i(`h4`,N,t(e.title),1),i(`p`,P,t(e.desc),1),i(`div`,F,t(e.foot),1)])),64))]),i(`div`,I,[i(`div`,L,[u[11]||=c(` 标准化的服务流程,从需求沟通到售后维护,全程透明可控,确保项目按时、按质交付。
`,2),i(`div`,R,[(n(),l(s,null,e(X,(e,n)=>i(`div`,{key:n,class:`flex gap-4`},[i(`div`,z,t(n+1),1),i(`div`,null,[i(`h5`,B,t(e.title),1),i(`p`,V,t(e.desc),1)])])),64))]),u[12]||=i(`button`,{class:`w-full bg-sky-50 text-sky-700 font-medium text-sm py-2.5 rounded-xl hover:bg-sky-100 transition`},` 查看详细服务规范 `,-1)]),i(`div`,H,[u[14]||=c(` 相比大型公司,我们更灵活、更专注,以更低的成本提供高质量的定制开发服务,全程一对一沟通。
`,2),i(`div`,U,[(n(),l(s,null,e(Z,(e,n)=>i(`div`,{key:n,class:`flex items-center justify-between py-3 px-4 bg-gray-50 rounded-2xl`},[i(`div`,W,[u[13]||=i(`div`,{class:`w-7 h-7 bg-red-100 rounded-lg flex items-center justify-center`},[i(`svg`,{class:`w-3.5 h-3.5 text-red-500`,fill:`currentColor`,viewBox:`0 0 20 20`},[i(`path`,{"fill-rule":`evenodd`,d:`M6.267 3.455a3.066 3.066 0 001.745-.723 3.066 3.066 0 013.976 0 3.066 3.066 0 001.745.723 3.066 3.066 0 012.812 2.812c.051.643.304 1.254.723 1.745a3.066 3.066 0 010 3.976 3.066 3.066 0 00-.723 1.745 3.066 3.066 0 01-2.812 2.812 3.066 3.066 0 00-1.745.723 3.066 3.066 0 01-3.976 0 3.066 3.066 0 00-1.745-.723 3.066 3.066 0 01-2.812-2.812 3.066 3.066 0 00-.723-1.745 3.066 3.066 0 010-3.976 3.066 3.066 0 00.723-1.745 3.066 3.066 0 012.812-2.812zm7.44 5.252a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z`,"clip-rule":`evenodd`})])],-1),i(`span`,G,t(e.title),1)]),i(`span`,K,t(e.badge),1)])),64))])])]),i(`div`,{class:`bg-gradient-to-r from-slate-900 via-blue-950 to-slate-900 rounded-3xl p-10 text-center relative overflow-hidden`},[u[20]||=i(`div`,{class:`absolute top-0 left-1/4 w-64 h-64 bg-blue-600 opacity-10 rounded-full blur-3xl`},null,-1),u[21]||=i(`div`,{class:`absolute bottom-0 right-1/4 w-64 h-64 bg-indigo-600 opacity-10 rounded-full blur-3xl`},null,-1),i(`div`,{class:`relative z-10`},[u[17]||=i(`div`,{class:`inline-flex items-center gap-2 bg-blue-500 bg-opacity-20 border border-blue-400 border-opacity-30 text-blue-300 text-xs font-semibold px-4 py-1.5 rounded-full mb-5`},[i(`span`,null,`立即咨询`)],-1),u[18]||=i(`h2`,{class:`text-3xl font-bold text-white mb-4`},[a(`有定制开发需求?`),i(`br`),a(`我们随时为您服务`)],-1),u[19]||=i(`p`,{class:`text-slate-400 text-sm mb-8 max-w-lg mx-auto leading-relaxed`},` 无论您需要定制开发、开源项目二次开发,还是长期的运营维护,我们都能提供高性价比的解决方案。 `,-1),i(`div`,{class:`flex flex-col sm:flex-row items-center justify-center gap-4`},[i(`button`,{class:`bg-blue-600 hover:bg-blue-500 text-white font-semibold px-8 py-3 rounded-2xl transition shadow-lg shadow-blue-900 flex items-center gap-2`,onClick:Q},[...u[15]||=[i(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z`})],-1),a(` 立即沟通需求 `,-1)]]),i(`button`,{class:`border border-slate-600 hover:border-slate-400 text-slate-300 hover:text-white font-medium px-8 py-3 rounded-2xl transition flex items-center gap-2`,onClick:Q},[...u[16]||=[i(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[i(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z`})],-1),a(` 获取报价方案 `,-1)]])])])])])]))}}),[[`__scopeId`,`data-v-6bce0488`]]);export{q as default};
\ No newline at end of file
diff --git a/TempLate/assets/SiteLayout-CHwa41sk.js b/TempLate/assets/SiteLayout-CHwa41sk.js
new file mode 100644
index 00000000..902e6d7e
--- /dev/null
+++ b/TempLate/assets/SiteLayout-CHwa41sk.js
@@ -0,0 +1 @@
+import{A as e,C as t,D as n,E as r,N as i,S as a,T as o,_ as s,b as c,c as l,d as u,f as d,g as f,h as p,j as m,k as h,l as g,m as _,n as v,o as y,p as b,r as x,t as S,u as C,w,x as ee}from"./index-CMhybB9x.js";import{t as T}from"./_plugin-vue_export-helper-BDNMzG2s.js";var E=v(`site`,()=>{let e=h(!1),t=h(!1),n=h(``),r=h(``);function i(){e.value=!e.value}function a(){t.value=!t.value}return{mobileMenuOpen:e,mobileSearchOpen:t,searchKeyword:n,avatarUrl:r,toggleMobileMenu:i,toggleMobileSearch:a}}),D={class:`bg-gray-900 text-white pt-16 pb-8 px-4 md:px-8 relative overflow-hidden`,id:`footer`},O={class:`container mx-auto relative z-10`},k={class:`grid grid-cols-1 md:grid-cols-12 gap-8 md:gap-12 mb-12`},A={class:`md:col-span-4`},j={class:`space-y-3 text-sm`},M={id:`tetrisWindow`,class:`fixed hidden window-border bg-win-light w-[320px] z-50 transform transition-all duration-300 scale-95 opacity-0`},N={class:`p-3`},te={key:0,class:`text-center`},P={class:`flex justify-center gap-3 my-4`},ne=[`onClick`],F=[`disabled`],I={key:1,class:`text-center`},L={class:`flex justify-between`},re={class:`ml-3 flex flex-col gap-2`},R={class:`window-border-inset bg-win-light p-1 text-center`},z={class:`dot-text text-lg font-bold`},ie={class:`window-border-inset bg-win-light p-1 text-center`},B={key:2,class:`text-center py-6`},ae={class:`mb-2 dot-text`},oe=20,V=10,H=16,se=12,U=T(s({__name:`SiteFooter`,setup(e){let n=h(`difficulty`),o=h(null),s=h(!1),l=h(0),v=h(null),y=h(null),x=[[[1,1,1,1]],[[1,1],[1,1]],[[0,1,0],[1,1,1]],[[0,1,1],[1,1,0]],[[1,1,0],[0,1,1]],[[1,0,0],[1,1,1]],[[0,0,1],[1,1,1]]],S=[`#66B2FF`,`#3399FF`,`#0066CC`,`#004C99`,`#003366`],C=[],T=null,E=null,U=500,W=null,G=!1,K=null,q=null;function ce(){return Array(oe).fill(null).map(()=>Array(V).fill(0))}function J(){let e=Math.floor(Math.random()*x.length),t=Math.floor(Math.random()*S.length);return{shape:x[e],color:S[t],x:Math.floor(V/2)-Math.floor(x[e][0].length/2),y:0}}function Y(e,t,n,r=0,i=0){t.shape.forEach((a,o)=>{a.forEach((a,s)=>{a&&(e.fillStyle=t.color,e.fillRect((t.x+s+r)*n,(t.y+o+i)*n,n-1,n-1))})})}function X(){K&&(K.clearRect(0,0,160,320),C.forEach((e,t)=>{e.forEach((e,n)=>{e&&(K.fillStyle=e,K.fillRect(n*H,t*H,15,15))})}),T&&Y(K,T,H))}function Z(){if(q&&(q.clearRect(0,0,48,48),E)){let e=(4-E.shape[0].length)/2,t=(4-E.shape.length)/2;Y(q,E,se,e,t)}}function Q(e,t=0,n=0){return e.shape.some((r,i)=>r.some((r,a)=>{if(r){let r=e.x+a+t,o=e.y+i+n;return r<0||r>=V||o>=oe||o>=0&&!!C[o][r]}return!1}))}function le(){if(s.value||G||!T)return;let e=T.shape,t=e.length,n=e[0].length,r=Array(n).fill(null).map(()=>Array(t).fill(0));for(let i=0;i{e.forEach((e,n)=>{if(e){if(T.y+t<0){G=!0;return}C[T.y+t][T.x+n]=T.color}})}),de(),T=E,E=J(),X(),Z(),T&&Q(T)&&_e())}function de(){let e=0;for(let t=19;t>=0;t--)C[t].every(e=>e)&&(C.splice(t,1),C.unshift(Array(V).fill(0)),e++,t++);e>0&&(l.value+=e*100*(e>1?e:1))}function $(e,t){return s.value||G||!T?!1:Q(T,e,t)?(t>0&&ue(),!1):(T.x+=e,T.y+=t,X(),!0)}function fe(){if(!(s.value||G))for(;$(0,1););}function pe(){$(0,1)}function me(){o.value&&(C=ce(),l.value=0,G=!1,s.value=!1,T=J(),E=J(),ye(),X(),Z(),W&&clearInterval(W),U=o.value,W=setInterval(pe,U),n.value=`game`)}function he(){W&&=(clearInterval(W),null),n.value=`difficulty`}function ge(){G||(s.value=!s.value,s.value?(W&&clearInterval(W),W=null):W=setInterval(pe,U))}function _e(){W&&clearInterval(W),W=null,G=!0,n.value=`gameover`}function ve(e){o.value=e}function ye(){v.value&&y.value&&(v.value.width=160,v.value.height=320,y.value.width=48,y.value.height=48,K=v.value.getContext(`2d`),q=y.value.getContext(`2d`))}function be(){let e=document.getElementById(`tetrisWindow`);if(!e)return;e.classList.remove(`hidden`),setTimeout(()=>{e.classList.remove(`scale-95`,`opacity-0`),e.classList.add(`scale-100`,`opacity-100`)},10);let t=e.offsetWidth,n=e.offsetHeight;e.style.left=`calc(50% - ${t/2}px)`,e.style.top=`calc(50% - ${n/2}px)`}function xe(){let e=document.getElementById(`tetrisWindow`);e&&(e.classList.remove(`scale-100`,`opacity-100`),e.classList.add(`scale-95`,`opacity-0`),setTimeout(()=>{e.classList.add(`hidden`),W&&clearInterval(W)},300))}function Se(e){if(n.value===`game`)switch(e.key){case`ArrowLeft`:$(-1,0),e.preventDefault();break;case`ArrowRight`:$(1,0),e.preventDefault();break;case`ArrowDown`:$(0,1),e.preventDefault();break;case`ArrowUp`:le(),e.preventDefault();break;case` `:fe(),e.preventDefault();break;case`p`:case`P`:ge(),e.preventDefault()}}return c(()=>{document.addEventListener(`keydown`,Se)}),ee(()=>{document.removeEventListener(`keydown`,Se),W&&clearInterval(W)}),(e,c)=>{let h=w(`router-link`);return a(),b(`div`,null,[u(`footer`,D,[c[12]||=_(``,1),u(`div`,O,[u(`div`,k,[u(`div`,A,[c[4]||=u(`h3`,{class:`text-lg md:text-xl font-semibold mb-6 relative pb-3 text-gray-100`},[p(` 快速导航 `),u(`span`,{class:`absolute bottom-0 left-0 w-12 h-0.5 bg-blue-500 rounded-full`})],-1),u(`ul`,j,[u(`li`,null,[f(h,{to:`/`,class:`text-gray-400 hover:text-white transition-colors duration-300 flex items-center gap-2 group`},{default:r(()=>[...c[0]||=[u(`span`,{class:`w-1.5 h-1.5 bg-blue-500 rounded-full scale-0 group-hover:scale-100 transition-transform duration-300`},null,-1),p(` 主页 `,-1)]]),_:1})]),u(`li`,null,[f(h,{to:`/gallery`,class:`text-gray-400 hover:text-white transition-colors duration-300 flex items-center gap-2 group`},{default:r(()=>[...c[1]||=[u(`span`,{class:`w-1.5 h-1.5 bg-blue-500 rounded-full scale-0 group-hover:scale-100 transition-transform duration-300`},null,-1),p(` 画廊 `,-1)]]),_:1})]),c[3]||=u(`li`,null,[u(`a`,{href:`https://doc.gvsds.com/9bc298e9c1d03ed3bd4777181bf7411d`,target:`_blank`,class:`text-gray-400 hover:text-white transition-colors duration-300 flex items-center gap-2 group`},[u(`span`,{class:`w-1.5 h-1.5 bg-blue-500 rounded-full scale-0 group-hover:scale-100 transition-transform duration-300`}),p(` 文档 `)])],-1),u(`li`,null,[f(h,{to:`/members`,class:`text-gray-400 hover:text-white transition-colors duration-300 flex items-center gap-2 group`},{default:r(()=>[...c[2]||=[u(`span`,{class:`w-1.5 h-1.5 bg-blue-500 rounded-full scale-0 group-hover:scale-100 transition-transform duration-300`},null,-1),p(` 成员 `,-1)]]),_:1})])])]),c[5]||=_(``,2)]),c[11]||=u(`div`,{class:`w-full h-px bg-gray-800 mb-8`},null,-1),u(`div`,null,[u(`div`,{class:`flex flex-col md:flex-row justify-between items-center w-full mx-auto`},[c[10]||=u(`p`,{class:`text-gray-500 text-xs md:text-sm mb-4 md:mb-0`},[p(` © 2026 GVSDS. All Rights Reserved. `),u(`span`,{class:`hidden md:inline`},`|`),u(`br`,{class:`md:hidden`}),u(`a`,{href:`https://beian.miit.gov.cn/`,target:`_blank`,class:`text-gray-400 hover:text-blue-400 transition-colors duration-300`},`津ICP备2025031204号`)],-1),u(`div`,{class:`flex flex-wrap justify-center gap-x-5 gap-y-2 md:gap-y-0 text-xs md:text-sm`},[u(`a`,{class:`text-gray-500 hover:text-blue-400 transition-colors duration-300 flex items-center gap-1 cursor-pointer`,id:`startButton`,onClick:be},[...c[6]||=[u(`i`,{class:`fa fa-cube text-blue-400 text-xs`},null,-1),p(` 彩蛋 `,-1)]]),c[7]||=u(`a`,{href:`https://doc.gvsds.com/fc084ab20a283208adb19033ca4de173`,target:`_blank`,class:`text-gray-500 hover:text-blue-400 transition-colors duration-300`},`隐私政策`,-1),c[8]||=u(`a`,{href:`https://doc.gvsds.com/1f07d3b8cec43a2ab9892a15b150bdd6`,target:`_blank`,class:`text-gray-500 hover:text-blue-400 transition-colors duration-300`},`服务条款`,-1),c[9]||=u(`a`,{href:`https://doc.gvsds.com/d2ae1dd63e9c35d687464a160896e1ab`,target:`_blank`,class:`text-gray-500 hover:text-blue-400 transition-colors duration-300`},`用户协议`,-1)])])])])]),u(`div`,M,[u(`div`,{class:`window-titlebar text-white p-1 flex items-center justify-between`},[c[13]||=u(`div`,{class:`flex items-center`},[u(`i`,{class:`fa fa-cube mr-2`}),u(`span`,{class:`dot-text`},`TETRIS`)],-1),u(`div`,null,[u(`button`,{id:`closeButton`,class:`bg-win-light text-black text-xs px-2 py-0 window-border dot-text`,onClick:xe},`X`)])]),u(`div`,N,[n.value===`difficulty`?(a(),b(`div`,te,[c[14]||=_(`TETRIS
SELECT DIFFICULTY
`,3),u(`div`,P,[(a(),b(g,null,t([800,500,300],e=>u(`button`,{key:e,class:m([`difficulty-btn btn-classic`,o.value===e?`bg-tetris-light`:``]),onClick:t=>ve(e)},i(e===800?`EASY`:e===500?`MEDIUM`:`HARD`),11,ne)),64))]),u(`button`,{class:`btn-classic mt-4`,disabled:!o.value,onClick:me},`START GAME`,8,F)])):d(``,!0),n.value===`game`?(a(),b(`div`,I,[u(`div`,L,[u(`div`,null,[u(`canvas`,{ref_key:`tetrisCanvas`,ref:v,class:`window-border-inset bg-black`},null,512)]),u(`div`,re,[u(`div`,R,[c[15]||=u(`div`,{class:`dot-text text-xs mb-1`},`SCORE`,-1),u(`div`,z,i(l.value),1)]),u(`div`,ie,[c[16]||=u(`div`,{class:`dot-text text-xs mb-1`},`NEXT`,-1),u(`canvas`,{ref_key:`nextCanvas`,ref:y,class:`window-border-inset bg-black`},null,512)]),u(`button`,{class:`btn-classic dot-text`,onClick:ge},i(s.value?`RESUME`:`PAUSE`),1),u(`button`,{class:`btn-classic dot-text`,onClick:he},`RESTART`)])]),c[17]||=u(`div`,{class:`mt-2 text-center text-xs dot-text`},[u(`p`,null,`ARROWS: MOVE & ROTATE`),u(`p`,null,`SPACE: DROP`)],-1)])):d(``,!0),n.value===`gameover`?(a(),b(`div`,B,[c[19]||=u(`div`,{class:`dot-text text-xl font-bold text-tetris-dark mb-4`},`GAME OVER`,-1),u(`div`,ae,[c[18]||=p(`SCORE: `,-1),u(`span`,null,i(l.value),1)]),u(`button`,{class:`btn-classic mt-4`,onClick:he},`PLAY AGAIN`)])):d(``,!0)])])])}}}),[[`__scopeId`,`data-v-de6d9169`]]),W={key:0,id:`GCookie_CookieBanner`,class:`GCookie_Show`,style:{position:`fixed`,bottom:`0`,left:`0`,right:`0`,"z-index":`9999`,background:`rgba(255,255,255,0.95)`,"box-shadow":`0 -2px 10px rgba(0,0,0,0.1)`,padding:`16px 24px`,display:`flex`,"flex-wrap":`wrap`,"align-items":`center`,"justify-content":`space-between`,gap:`12px`}},G={style:{display:`flex`,"flex-wrap":`wrap`,gap:`8px`}},K={style:{background:`#fff`,"border-radius":`8px`,padding:`24px`,width:`90%`,"max-width":`420px`}},q={style:{padding:`12px 0`,"border-top":`1px solid #eee`}},ce={style:{display:`flex`,"justify-content":`space-between`,"align-items":`center`,cursor:`pointer`}},J=`cookie_consent`,Y=`furry_content_enabled`,X=T(s({__name:`CookieBanner`,setup(e){let t=h(!1),r=h(!1),i=h(!0);function o(e){document.querySelectorAll(`.c-furry`).forEach(t=>{e?t.classList.remove(`GCookie_Hidden`):t.classList.add(`GCookie_Hidden`)})}function s(e){localStorage.setItem(J,e),t.value=!1}function f(){i.value=localStorage.getItem(Y)!==`false`,r.value=!0}function p(){r.value=!1}function m(){localStorage.setItem(Y,String(i.value)),o(i.value),p()}return c(()=>{localStorage.getItem(J)||(t.value=!0),o(localStorage.getItem(Y)!==`false`)}),(e,o)=>(a(),b(`div`,null,[t.value?(a(),b(`div`,W,[o[4]||=u(`div`,{style:{flex:`1`,"min-width":`260px`}},[u(`strong`,null,`我们重视您的隐私`),u(`br`),u(`span`,{style:{"font-size":`13px`,color:`#666`}},`我们和我们的合作伙伴使用Cookie或类似技术来访问、存储和处理您的个人数据,例如您的访问信息。这能让我们根据您的兴趣和需求提供更好的体验。您可以随时更改或撤回您的同意。`)],-1),u(`div`,G,[u(`button`,{class:`GCookie_Btn GCookie_BtnSecondary`,onClick:o[0]||=e=>s(`none`)},`我不同意任何Cookie`),u(`button`,{class:`GCookie_Btn GCookie_BtnSecondary`,onClick:o[1]||=e=>s(`necessary`)},`我同意必要Cookie`),u(`button`,{class:`GCookie_Btn GCookie_BtnPrimary`,onClick:o[2]||=e=>s(`all`)},`我同意全部Cookie`),u(`button`,{class:`GCookie_Btn GCookie_BtnSecondary`,onClick:f},`Cookie设置`)])])):d(``,!0),r.value?(a(),b(`div`,{key:1,id:`GCookie_CookieSettingsModal`,style:{position:`fixed`,inset:`0`,"z-index":`10000`,background:`rgba(0,0,0,0.5)`,display:`flex`,"align-items":`center`,"justify-content":`center`},onClick:l(p,[`self`])},[u(`div`,K,[u(`div`,{style:{display:`flex`,"justify-content":`space-between`,"align-items":`center`,"margin-bottom":`16px`}},[o[5]||=u(`h2`,{style:{"font-size":`18px`,margin:`0`}},`Cookie设置`,-1),u(`button`,{class:`GCookie_CloseBtn`,onClick:p,style:{background:`none`,border:`none`,"font-size":`22px`,cursor:`pointer`}},`×`)]),u(`div`,q,[u(`label`,ce,[o[6]||=u(`span`,null,`是否在主页中显示小众元素`,-1),n(u(`input`,{type:`checkbox`,"onUpdate:modelValue":o[3]||=e=>i.value=e,style:{transform:`scale(1.3)`}},null,512),[[x,i.value]])])]),u(`div`,{style:{display:`flex`,"justify-content":`flex-end`,"margin-top":`16px`}},[u(`button`,{class:`GCookie_Btn GCookie_BtnPrimary`,onClick:m},`保存设置`)])])])):d(``,!0)]))}}),[[`__scopeId`,`data-v-b8f5761c`]]),Z=[{key:`studio`,data:{title:`GVSDS`,description:`银河锋锐软件开发工作室(GVSDS)作为"IT 技术团队",致力于编程、AI 和美术设计方面,我们将竭力为您提供最佳服务。感谢您的支持!`,submenus:[{id:`pages`,name:`页面`,icon:`fa-book`},{id:`good-members`,name:`优秀成员`,icon:`fa-user-circle`}],contents:{pages:[{type:`two-cards`,cards:[{name:`加入我们`,description:`加入我们的团体与我们共同进步`,link:`https://invite.gvsds.com/`,target:`_blank`},{name:`开始合作`,description:`成为我们的合作伙伴与我们共同克服苦难`,link:`mailto:hr@gvsds.com?subject=我代表 xxx 期望与银河锋锐软件开发工作室&body=您好!%0D%0A%0D%0A我是 [ 姓名 / 网名 ],我...`,target:`_self`}]},{type:`four-columns`,title:`存根页面`,subtitle:`Basic Pages`,items:[{name:`主页`,tag:`basic`,description:`介绍工作室基本信息,作为工作室门面`,link:`/`},{name:`关于我们`,tag:`basic`,description:`我们的相关事迹等内容`,link:`/about`},{name:`联系我们`,tag:`basic`,description:`与我们取得联系以进行友情合作或商业合作`,link:`/ContactUS`},{name:`登录`,tag:`basic`,description:`登录您已有的账户以查看和使用您的服务`,link:`/login`},{name:`注册`,tag:`basic`,description:`在本平台上注册以尝试我们的服务`,link:`/register`},{name:`画廊`,tag:`hot`,description:`我们工作室的画作和 Hero 界面的图片`,link:`/gallery`},{name:`廉政举报`,tag:`new`,description:`廉政举报是民众参与权力监督的关键途径,我们拒绝任何形式的收受贿赂等等问题。`,link:`/IntegrityReport`}]},{type:`four-columns`,title:`相关页面`,items:[{name:`工作室 API`,description:`竭尽全力为您提供我们最好的应用程序编程接口`,link:`https://api.gvsds.com`,target:`_blank`},{name:`南京大屠杀`,description:`谨以此页,悼念所有南京大屠杀死难者,缅怀为民族解放献身的先烈。历史不容篡改,真相不容否认。`,link:`https://nanjingmassacre.gvsds.com`,target:`_blank`}]},{type:`four-columns`,title:`联系页面`,items:[{name:`哔哩哔哩`,description:`哔哩哔哩 上的 GVSDS 账户`,link:`https://space.bilibili.com/3546619129628868`,target:`_blank`},{name:`Github`,description:`Github 上的 GVSDS 组织`,link:`https://github.com/GVSDS/`,target:`_blank`},{name:`Git 自托管`,description:`GVSDS 部署的 Gitea 快速站点`,link:`https://git.gvsds.com/GVSDS/`,target:`_blank`},{name:`MC MOD 百科`,description:`MC MOD 百科 上的 GVSDS 代理账户`,link:`https://center.mcmod.cn/1125176/`,target:`_blank`},{name:`工作室反馈`,description:`反馈您所有的关于本工作室的问题(若您迟迟未收到回信或无法发送邮件就下面所有邮件全部发一遍)`,link:`mailto:support@gvsds.com`,target:`_blank`},{name:`负责人工作邮箱`,description:`处理工作相关事务等`,link:`mailto:terminexus@gvsds.com`},{name:`负责人个人邮箱`,description:`个人学习交流等`,link:`mailto:wyt18222152539wyt@163.com`},{name:`站点负责人邮箱`,description:`本站的相关管理工作等`,link:`mailto:postmaster@gvsds.com`}]}],"good-members":[{type:`four-columns`,title:`工程部`,subtitle:`技精于专,行稳致远`,items:[{name:`TermiNexus / 明砚`,description:`工作室负责人,全栈程序员`,link:`/Members/TermiNexus`},{name:`Chindows / MicGan`,description:`星界工作室(子工作室)负责人`,link:`#`},{name:`悠然自得`,description:`这个人很懒,连简介都不愿意写`,link:`#`},{name:`SYSTEM-WINDOW`,description:`反编译`,link:`#`},{name:`羊村哲学家`,description:`你来🌍的目的是什么`,link:`#`},{name:`Mendelevium`,description:`我们崇尚万物,我们追随自由。`,link:`#`},{name:`红叶鸣秋`,description:`"那"不是疯话,"这"才是疯话。`,link:`#`},{name:`无风之地`,description:`我是楠酿`,link:`#`}]}]}}},{key:`project`,data:{title:`产品 / 项目`,description:`提供我们历史所作项目的介绍、文档、开源链接等相关信息`,submenus:[{id:`building`,name:`构建`,icon:`fa-building`},{id:`mods`,name:`我的世界模组`,icon:`fa-briefcase`},{id:`web`,name:`前端`,icon:`fa-code`},{id:`minecraft`,name:`Minecraft 服务`,icon:`fa-gamepad`}],contents:{building:[{type:`two-cards`,cards:[{name:`探索服务`,description:`我们将竭尽所能为您提供最新的产品、服务与解决方案`,link:`https://www.gvsds.com/ProJect/Service/Service`,target:`_blank`},{name:`开始合作`,description:`成为我们的合作伙伴与我们共同克服苦难`,link:`mailto:hr@gvsds.com?subject=我代表 xxx 期望与银河锋锐软件开发工作室&body=您好!%0D%0A%0D%0A我是 [ 姓名 / 网名 ],我...`,target:`_self`}]},{type:`four-columns`,title:`新增项目`,items:[{name:`FastProxyX (FPX)`,tag:`new`,description:`Python 实现的快速反向代理(端口映射),支持多端口映射、加密传输、HTTP/HTTPS 等功能`,link:`/ProJect/Unauthorized`},{name:`AScientificDDOSGun`,tag:`new`,description:`Python 实现的快速 DDOS 客户端程序,支持多线程、自定义参数等功能`,link:`/ProJect/Unauthorized`}]},{type:`four-columns`,title:`已完成项目`,items:[{name:`CreateE Library`,description:`使用 Python 实现的 我的世界坐标空间向量计算实现一些列高级指令功能,已完成`,link:`/ProJect/Unauthorized`},{name:`WVBlackManager`,description:`Flask + 前端 实现的 节点状态管理器,支持多节点管理、状态监控、远程控制等功能`,link:`/ProJect/Unauthorized`},{name:`SMANAGE SAAS`,description:`服务即应用平台,面向各终端机,提供了工作室的全部功能,如 成员管理、项目管理、合作管理 等`,link:`/ProJect/SMANAGE`}]},{type:`four-columns`,title:`已废弃项目`,items:[{name:`MikOS`,description:`【星界工作室】使用 Tkinter 实现的伪操作系统图像壳,利用了伪操作系统 NT 架构,已废弃`,link:`/ProJect/Unauthorized`},{name:`NSQL`,description:`使用 Python 实现快速与 MySQL 服务器交互,由于其功能完全可以被 ORM 取代,已废弃`,link:`/ProJect/Unauthorized`}]}],mods:[{type:`four-columns`,title:`前置性模组`,items:[{name:`PyFabricLoader`,tag:`preview`,description:`基于 Jython 实现的 我的世界 与 Python 的交互 mod 加载器,日后考虑使用 VM 技术实现此功能`,link:`#`},{name:`ProxyProtocolSupport`,description:`为 我的世界 服务器提供了 Proxy Protocol Version 1-2 支持,使服务器经过快速反向代理后仍能获得真实地址`,link:`/ProJect/Unauthorized`}]},{type:`four-columns`,title:`玩法性模组`,items:[{name:`枢机信用:资本主义 市场经济`,tag:`preview`,description:`基于 MySQL 实现的交易 mod,支持多币种、实体币种,股市系统,市场经济宏观调控`,link:`#`},{name:`飞行体验`,tag:`preview`,description:`消耗经验实现生存模式飞行`,link:`#`}]}],web:[{type:`four-columns`,title:`前置`,items:[{name:`ResourceShare`,tag:`new`,description:`企业级 MPA 资源共享解决方案:解决 iframe 资源加载瓶颈。支持 VM 虚拟路径映射、Blob 传输优化、可视化 UI 监控以及智能错误诊断。为大规模复杂 Web 应用打造的高性能底层引擎。`,link:`/ProJect/ResourceShare`}]}],minecraft:[{type:`four-columns`,title:`页面`,items:[{name:`在线 MC`,tag:`preview`,description:`利用 WebAssembly 实现的 EaglercraftX 在线 MC`,link:`https://omc.gvsds.com`,target:`_blank`},{name:`《枢机协律》服务器`,tag:`preview`,description:`工作室托管的我的世界服务器主页`,link:`https://mc.gvsds.com`,target:`_blank`},{name:`《枢机协律》信用储备银行`,description:`《枢机协律》内唯一的合法银行`,link:`https://3crb.gvsds.com`,target:`_blank`},{name:`《枢机协律》中央法庭`,tag:`new`,description:`《枢机协律》内唯一的合法民主民判法庭`,link:`https://3c.gvsds.com`,target:`_blank`},{name:`《枢机协律》标准地图`,tag:`new`,description:`《枢机协律》提供的服务器标准地图,会暴露基地地址,考虑关停`,link:`https://mc.gvsds.com:8100`,target:`_blank`}]}]}}},{key:`document`,data:{title:`文档`,description:`尽可能向您提供我们的官方文档`,submenus:[{id:`gvsdsdoc`,name:`工作室文档`,icon:`fa-building`}],contents:{gvsdsdoc:[{type:`four-columns`,title:`公开协议`,items:[{name:`隐私政策`,tag:`new`,description:`Cookie、数据保护及用户权利等核心说明。`,link:`https://doc.gvsds.com/FC084AB20A283208ADB19033CA4DE173`,target:`_blank`},{name:`服务条款`,tag:`new`,description:`银河锋锐软件开发服务全流程、权责、费用及违约等核心条款说明。`,link:`https://doc.gvsds.com/1F07D3B8CEC43A2AB9892A15B150BDD6`,target:`_blank`},{name:`用户协议`,tag:`new`,description:`内容权属、使用规范及免责声明。`,link:`https://doc.gvsds.com/D2AE1DD63E9C35D687464A160896E1AB`,target:`_blank`},{name:`辅助实现本系统的相关数学原理(简化)`,tag:`new`,description:`本系统基于 Flask/gevent 构建,核心依托并行计算、图论等数学原理,实现高并发、高可用的 Web 应用架构,覆盖调度、路由、密钥等全模块优化。`,link:`https://doc.gvsds.com/D9F9194A243D3A499108A7CA082373EA`,target:`_blank`}]},{type:`four-columns`,title:`SVE`,items:[{name:`安全政策`,tag:`hot`,description:`明确安全承诺、管理规范、用户责任及事件响应,保障数据与生态安全。`,link:`https://doc.gvsds.com/6E845A45FC493C66A23A9361BCE1464D`,target:`_blank`}]},{type:`four-columns`,title:`玉米新闻`,items:[{name:`初中生熬夜写代码猝死`,tag:`new`,description:`13 岁生熬夜编程猝死引深思,警示编程热潮需平衡健康与成长。`,link:`https://doc.gvsds.com/7127C3BA20253C4D93F13AF6485942E5`,target:`_blank`},{name:`被过度保护与控制的童年`,tag:`hot`,description:`过度保护与控制毁娃独立,需转型赋能型教育。`,link:`https://doc.gvsds.com/D3FA6C08BB973567961F63A30E8003E5`,target:`_blank`}]},{type:`four-columns`,title:`通告`,items:[{name:`银河锋锐软件开发工作室第二季度第一月总结`,tag:`new`,description:`银河锋锐 2025 二季度首月完成技术优化、团队调整及侵权 IP 封禁,明确 5 月文档、维权、项目推进计划。`,link:`https://doc.gvsds.com/B0D08D70143B30BFAE847AA2854685CA`,target:`_blank`}]}]}}},{key:`solution`,data:{title:`解决方案`,description:`基于不同行业的业务特性与发展需求,我们打造了多维度解决方案体系,覆盖主流业务场景,提供多端前端开发,专攻原生 JS,定制界面与交互,保障体验与兼容。`,submenus:[{id:`solution`,name:`标准解决方案`,icon:`fa-building`}],contents:{solution:[{type:`four-columns`,title:`MPA(多页面应用)`,items:[{name:`ResourceShare`,tag:`new`,description:`企业级 MPA 资源共享解决方案:解决 iframe 资源加载瓶颈。支持 VM 虚拟路径映射、Blob 传输优化、可视化 UI 监控以及智能错误诊断。为大规模复杂 Web 应用打造的高性能底层引擎。`,link:`/ProJect/ResourceShare`}]}]}}},{key:`methodology`,data:{title:`方法论`,description:`以价值导向、规范先行、增量迭代、质量内建、知识共享为核心,覆盖需求到复盘全流程。统一编码、协作、测试标准,适配不同规模项目,旨在提升团队效率、降低交付风险,实现高质量软件交付与技术能力沉淀。`,submenus:[{id:`solution`,name:`公开方法论`,icon:`fa-building`}],contents:{solution:[{type:`four-columns`,title:`团队协作`,items:[{name:`协同筑码 工作法`,tag:`hot`,description:`拒绝无意义的技术炫技,回归价值导向。通过规范先行、增量迭代与质量内建,打造可维护、高可用的软件交付体系。`,link:`/Methodology/CollaborativeCoding-WM`}]}]}}}],Q={class:`min-h-screen flex flex-col bg-white font-sans`},le=[`data-nav-theme`],ue={class:`flex items-center justify-between h-16 px-6`},de={class:`flex items-center space-x-4`},$={class:`flex items-center text-primary text-xl font-bold h-10`,id:`header-png`},fe={class:`hidden md:flex items-center space-x-6`},pe=[`data-menu`,`onMouseenter`,`onClick`],me={class:`flex items-center space-x-3`},he={class:`relative hidden md:flex items-center`},ge={class:`flex items-center border border-gray-200 rounded-md overflow-hidden focus-within:border-[#3b82f6] focus-within:ring-1 focus-within:ring-[#3b82f6]/30 w-64 lg:w-80 bg-white`},_e={key:0,id:`search-results-all`,class:`absolute top-full left-0 right-0 mt-1 bg-white rounded-md shadow-lg z-50 max-h-96 overflow-y-auto`},ve={class:`py-2`},ye=[`onMousedown`],be={class:`text-text-primary`},xe={class:`text-text-hint text-xs`},Se={key:0,class:`px-4 py-3 text-sm text-gray-400`},Ce={id:`UserFrame`},we={key:0,href:`https://www.gvsds.com/login`,target:`_blank`,class:`bg-primary text-white px-4 py-2 rounded-md text-sm font-medium hover:bg-primary/90 transition-all duration-200 hover:scale-105 active:scale-95 inline-block`},Te={key:1,href:`https://gerp.gvsds.com/`,target:`_blank`,class:`block`},Ee=[`src`],De={class:`p-4`},Oe={class:`flex flex-col space-y-4`},ke=[`data-menu`],Ae={class:`flex items-center mb-4`},je={class:`relative flex-1 flex items-center`},Me={class:`search-wrapper flex items-center flex-1 border border-gray-200 rounded-md overflow-hidden focus-within:border-primary focus-within:ring-1 focus-within:ring-primary/30 bg-white`},Ne={id:`mobile-search-results`,class:`flex-1 overflow-y-auto`},Pe={class:`py-2`},Fe=[`onClick`],Ie={class:`text-text-primary`},Le={class:`text-text-hint text-xs`},Re=[`id`],ze={class:`w-full flex flex-col md:flex-row`},Be={class:`w-full md:w-80 bg-sidebar p-8`},Ve={class:`text-2xl font-bold text-primary mb-4 flex items-center`},He={key:0,class:`text-text-secondary text-sm leading-relaxed`},Ue={class:`mt-6 space-y-1 -mx-8 -px-8`},We=[`onMouseenter`,`onClick`],Ge={class:`flex-1 border-l border-gray-100 overflow-y-auto md:max-h-[calc(75vh-4rem)]`},Ke={key:0,class:`p-6`},qe={key:0,class:`grid grid-cols-1 md:grid-cols-2 gap-4`},Je=[`href`,`target`],Ye={class:`font-semibold text-text-primary mb-1 flex items-center`},Xe={class:`text-text-secondary text-sm`},Ze={key:1},Qe={class:`font-semibold text-text-primary mb-4 flex items-center`},$e={key:0,class:`tag-feature ml-2`},et={class:`grid grid-cols-1 md:grid-cols-4 gap-8`},tt={class:`space-y-3 text-sm`},nt=[`href`,`target`],rt={key:0,class:`tag-basic ml-2`},it={key:1,class:`tag-new ml-2`},at={key:2,class:`tag-hot ml-2`},ot={key:3,class:`tag-preview ml-2`},st={class:`text-text-hint mt-1`},ct={key:2},lt={class:`font-semibold text-text-primary mb-4`},ut={class:`grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-y-2 gap-x-4 text-sm`},dt=[`href`,`target`],ft={key:3},pt={class:`font-semibold text-text-primary mb-4`},mt={class:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6`},ht=[`href`,`target`],gt={class:`p-4`},_t={class:`font-medium text-text-primary group-hover:text-primary transition-colors`},vt={class:`text-xs text-text-secondary mt-1`},yt={key:4,class:`my-6 border-t border-gray-100`},bt={class:`flex-grow pt-16`},xt=T(s({__name:`SiteLayout`,setup(s){let _=S(),v=E(),x=[{key:`studio`,label:`工作室`},{key:`project`,label:`产品和服务`},{key:`document`,label:`文档`},{key:`solution`,label:`解决方案`},{key:`methodology`,label:`方法论`}],T=h(`light`),D=C(()=>v.avatarUrl),O=h(``),k=h(!1),A=C(()=>{let e=O.value.trim().toLowerCase();if(!e)return[];let t=[];return Z.forEach(n=>{Object.values(n.data.contents).forEach(n=>{n.forEach(n=>{(n.items||[]).forEach(n=>{(n.name.toLowerCase().includes(e)||(n.description||``).toLowerCase().includes(e))&&t.push(n)})})})}),t.slice(0,8)}),j=h(null),M=h(null),N=h(null),te=C(()=>Z.map(e=>({key:e.key,data:e.data})));function P(e){I(),j.value=e;let t=Z.find(t=>t.key===e);t&&(M.value=t.data.submenus[0]?.id||null)}function ne(e){j.value===e?j.value=null:P(e)}function F(){N.value&&clearTimeout(N.value),N.value=setTimeout(()=>{j.value=null},200)}function I(){N.value&&=(clearTimeout(N.value),null)}function L(e,t){return e.contents[t]||[]}function re(e,t){let n=[],r=Math.ceil(e.length/t);for(let t=0;te.toLowerCase().startsWith(t))?e:`https://www.gvsds.com`+e:`#`}function z(e){if(O.value=``,k.value=!1,v.mobileMenuOpen=!1,v.mobileSearchOpen=!1,e.startsWith(`/`)){let t=e.split(`?`)[0].split(`#`)[0];_.push(t)}else window.open(e,`_blank`)}function ie(){setTimeout(()=>{k.value=!1},200)}function B(){if(j.value!==null&&window.scrollY<=200){T.value=`light`;return}T.value=window.scrollY<=5?`light`:`dark`}async function ae(){try{let e=await fetch(`https://ugm.gvsds.com/Query/GetELTUserAvatar`,{credentials:`include`});if(!e.ok)return;let t=await e.blob();v.avatarUrl=URL.createObjectURL(t)}catch{v.avatarUrl=``}}return c(()=>{window.addEventListener(`scroll`,B),B(),ae()}),ee(()=>{window.removeEventListener(`scroll`,B),N.value&&clearTimeout(N.value)}),o(()=>j.value,()=>{B()}),(o,s)=>{let c=w(`router-link`),h=w(`router-view`);return a(),b(`div`,Q,[u(`header`,{id:`header`,class:m([`fixed top-0 left-0 right-0 z-50 transition-all duration-300 ease-in-out bg-white shadow-sm border-b border-gray-100 bg-[linear-gradient(120deg,#ffffff,#f0f8ff,#f8f0ff,#ffffff)] bg-[size:400%_400%] animate-[gradientAnimation_15s_ease_infinite] dark:bg-gray-900 dark:border-gray-800`,T.value===`light`?`!bg-transparent !bg-none !shadow-none !border-transparent`:``]),"data-nav-theme":T.value},[u(`div`,ue,[u(`div`,de,[u(`div`,$,[f(c,{to:`/`,draggable:`false`,class:`flex items-center h-10`},{default:r(()=>[...s[13]||=[u(`img`,{src:`https://www.gvsds.com/assets/hlogos/gnobg.png`,alt:`GVSDS`,class:`h-10 w-auto max-w-[160px] object-contain`},null,-1)]]),_:1})]),u(`button`,{id:`mobile-menu-btn`,class:`md:hidden text-text-primary text-xl transition-all duration-200 hover:scale-110`,onClick:s[0]||=t=>e(v).toggleMobileMenu()},[...s[14]||=[u(`i`,{class:`fa fa-bars`},null,-1)]])]),u(`nav`,fe,[(a(),b(g,null,t(x,e=>u(`a`,{key:e.key,href:`#`,draggable:`false`,class:`relative font-medium transition-colors after:content-[''] after:absolute after:bottom-[-2px] after:left-0 after:w-0 after:h-[2px] after:bg-[#3b82f6] after:transition-all after:duration-200 after:ease hover:after:w-full`,"data-menu":e.key,onMouseenter:t=>P(e.key),onMouseleave:s[1]||=e=>F(),onClick:l(t=>ne(e.key),[`prevent`])},i(e.label),41,pe)),64))]),u(`div`,me,[u(`div`,he,[u(`div`,ge,[n(u(`input`,{type:`text`,id:`search-all`,"onUpdate:modelValue":s[2]||=e=>O.value=e,placeholder:`搜索所有内容...`,class:`w-full px-4 py-2 text-sm outline-none border-0 bg-transparent placeholder-gray-400`,onFocus:s[3]||=e=>k.value=!0,onBlur:s[4]||=e=>ie()},null,544),[[y,O.value]]),u(`button`,{id:`desktop-search-btn`,class:`px-3 h-full text-gray-500 cursor-pointer transition-colors duration-200 hover:text-[#3b82f6]`,onMousedown:s[5]||=l(()=>{},[`prevent`])},[...s[15]||=[u(`i`,{class:`fa fa-search search-icon`},null,-1)]],32)]),k.value&&O.value?(a(),b(`div`,_e,[u(`ul`,ve,[(a(!0),b(g,null,t(A.value,(e,t)=>(a(),b(`li`,{key:t,class:`px-4 py-2 hover:bg-gray-50 cursor-pointer text-sm`,onMousedown:l(t=>z(e.link),[`prevent`])},[u(`span`,be,i(e.name),1),u(`p`,xe,i(e.description),1)],40,ye))),128)),A.value.length===0?(a(),b(`li`,Se,`未找到相关内容`)):d(``,!0)])])):d(``,!0)]),u(`button`,{id:`mobile-search-btn`,class:`md:hidden text-text-primary text-xl transition-all duration-200 hover:scale-110`,onClick:s[6]||=t=>e(v).toggleMobileSearch()},[...s[16]||=[u(`i`,{class:`fa fa-search`},null,-1)]]),u(`div`,Ce,[D.value?(a(),b(`a`,Te,[u(`img`,{src:D.value,class:`w-10 h-10 rounded-full object-cover`},null,8,Ee)])):(a(),b(`a`,we,`登录`))])])])],10,le),u(`div`,{id:`mobile-menu`,class:m([`fixed top-16 left-0 right-0 bottom-0 bg-white z-40 md:hidden`,e(v).mobileMenuOpen?`mobile-menu-enter mobile-menu-enter-active`:`hidden`])},[u(`div`,De,[u(`nav`,Oe,[(a(),b(g,null,t(x,e=>u(`a`,{key:e.key,href:`#`,draggable:`false`,class:`text-text-secondary hover:text-primary font-medium py-2 border-b border-gray-100 transition-colors`,"data-menu":e.key,onClick:s[7]||=l(e=>z(`/`),[`prevent`])},i(e.label),9,ke)),64))])])],2),u(`div`,{id:`mobile-search`,class:m([`fixed top-0 left-0 right-0 bottom-0 bg-white z-50 md:hidden`,e(v).mobileSearchOpen?`flex flex-col p-4`:`hidden`])},[u(`div`,Ae,[u(`button`,{class:`text-text-primary text-xl mr-4 transition-all duration-200 hover:scale-110`,onClick:s[8]||=t=>e(v).toggleMobileSearch()},[...s[17]||=[u(`i`,{class:`fa fa-arrow-left`},null,-1)]]),u(`div`,je,[u(`div`,Me,[n(u(`input`,{type:`text`,id:`search-all-mobile`,"onUpdate:modelValue":s[9]||=e=>O.value=e,placeholder:`搜索所有内容...`,class:`w-full px-4 py-2 text-sm outline-none border-none bg-transparent placeholder-gray-400`},null,512),[[y,O.value]]),u(`button`,{id:`mobile-search-submit`,class:`search-btn`,onMousedown:s[10]||=l(()=>{},[`prevent`])},[...s[18]||=[u(`i`,{class:`fa fa-search search-icon`},null,-1)]],32)])])]),u(`div`,Ne,[u(`ul`,Pe,[(a(!0),b(g,null,t(A.value,(e,t)=>(a(),b(`li`,{key:t,class:`px-4 py-2 hover:bg-gray-50 cursor-pointer text-sm`,onClick:t=>z(e.link)},[u(`span`,Ie,i(e.name),1),u(`p`,Le,i(e.description),1)],8,Fe))),128))])])],2),u(`div`,{id:`mega-menus-container`,onMouseenter:s[11]||=e=>I(),onMouseleave:s[12]||=e=>F()},[(a(!0),b(g,null,t(te.value,e=>(a(),b(`div`,{key:e.key,id:`mega-menu-`+e.key,class:m([`mega-menu fixed top-16 left-0 right-0 bg-white menu-shadow z-50 overflow-y-auto md:max-h-[75vh]`,j.value===e.key?`mega-menu-visible`:`hidden`])},[u(`div`,ze,[u(`aside`,Be,[u(`h3`,Ve,[p(i(e.data.title)+` `,1),s[19]||=u(`i`,{class:`fa fa-angle-right ml-2 text-primary/70`},null,-1)]),e.data.description?(a(),b(`p`,He,i(e.data.description),1)):d(``,!0),u(`ul`,Ue,[(a(!0),b(g,null,t(e.data.submenus,e=>(a(),b(`li`,{key:e.id},[u(`a`,{href:`javascript:;`,class:m([`flex items-center px-4 py-3 text-sm transition-colors`,M.value===e.id?`sidebar-submenu-active`:`text-text-secondary hover:text-primary`]),onMouseenter:t=>M.value=e.id,onClick:l(t=>M.value=e.id,[`prevent`])},[u(`i`,{class:m([`fa`,e.icon+` mr-3 w-4 text-center`])},null,2),u(`span`,null,i(e.name),1)],42,We)]))),128))])]),u(`div`,Ge,[M.value?(a(),b(`div`,Ke,[(a(!0),b(g,null,t(L(e.data,M.value),(n,r)=>(a(),b(g,{key:r},[n.type===`two-cards`?(a(),b(`div`,qe,[(a(!0),b(g,null,t(n.cards,(e,t)=>(a(),b(`div`,{key:t,class:`border border-gray-100 p-4 hover:border-primary hover:bg-gray-50 transition-all cursor-pointer`},[u(`a`,{href:R(e.link),target:e.target||`_self`,class:`block`},[u(`h4`,Ye,[p(i(e.name)+` `,1),s[20]||=u(`i`,{class:`fa fa-angle-right ml-2 text-text-secondary`},null,-1)]),u(`p`,Xe,i(e.description),1)],8,Je)]))),128))])):n.type===`four-columns`?(a(),b(`div`,Ze,[u(`h4`,Qe,[p(i(n.title)+` `,1),n.subtitle?(a(),b(`span`,$e,i(n.subtitle),1)):d(``,!0)]),u(`div`,et,[(a(!0),b(g,null,t(re(n.items??[],4),(e,n)=>(a(),b(`div`,{key:n},[u(`ul`,tt,[(a(!0),b(g,null,t(e,(e,t)=>(a(),b(`li`,{key:t,class:`cursor-pointer`},[u(`a`,{href:R(e.link),target:e.target||`_self`,class:`block text-text-primary hover:text-primary transition-colors`},[u(`span`,null,[p(i(e.name),1),e.tag===`basic`?(a(),b(`span`,rt,`BASIC`)):d(``,!0),e.tag===`new`?(a(),b(`span`,it,`NEW`)):d(``,!0),e.tag===`hot`?(a(),b(`span`,at,`HOT`)):d(``,!0),e.tag===`preview`?(a(),b(`span`,ot,`Preview`)):d(``,!0)]),u(`p`,st,i(e.description),1)],8,nt)]))),128))])]))),128))])])):n.type===`simple-list`?(a(),b(`div`,ct,[u(`h4`,lt,i(n.title),1),u(`ul`,ut,[(a(!0),b(g,null,t(n.items,(e,t)=>(a(),b(`li`,{key:t},[u(`a`,{href:R(e.link),target:e.target||`_self`,class:`text-text-secondary hover:text-primary flex items-center py-1`},[u(`span`,null,i(e.name),1)],8,dt)]))),128))])])):(a(),b(`div`,ft,[u(`h4`,pt,i(n.title),1),u(`div`,mt,[(a(!0),b(g,null,t(n.items||[],(e,t)=>(a(),b(`a`,{key:t,href:R(e.link),target:e.target||`_self`,class:`group block border border-gray-100 rounded-lg overflow-hidden hover:shadow-md transition-shadow bg-white`},[u(`div`,gt,[u(`h5`,_t,i(e.name),1),u(`p`,vt,i(e.description),1)])],8,ht))),128))])])),r{let e=h(!1),t=h(!1),n=h(``),r=h(``);function i(){e.value=!e.value}function a(){t.value=!t.value}return{mobileMenuOpen:e,mobileSearchOpen:t,searchKeyword:n,avatarUrl:r,toggleMobileMenu:i,toggleMobileSearch:a}}),D={class:`bg-gray-900 text-white pt-16 pb-8 px-4 md:px-8 relative overflow-hidden`,id:`footer`},O={class:`container mx-auto relative z-10`},k={class:`grid grid-cols-1 md:grid-cols-12 gap-8 md:gap-12 mb-12`},A={class:`md:col-span-4`},j={class:`space-y-3 text-sm`},M={id:`tetrisWindow`,class:`fixed hidden window-border bg-win-light w-[320px] z-50 transform transition-all duration-300 scale-95 opacity-0`},N={class:`p-3`},te={key:0,class:`text-center`},P={class:`flex justify-center gap-3 my-4`},ne=[`onClick`],F=[`disabled`],I={key:1,class:`text-center`},L={class:`flex justify-between`},re={class:`ml-3 flex flex-col gap-2`},R={class:`window-border-inset bg-win-light p-1 text-center`},z={class:`dot-text text-lg font-bold`},ie={class:`window-border-inset bg-win-light p-1 text-center`},B={key:2,class:`text-center py-6`},ae={class:`mb-2 dot-text`},oe=20,V=10,H=16,se=12,U=T(s({__name:`SiteFooter`,setup(e){let n=h(`difficulty`),o=h(null),s=h(!1),l=h(0),v=h(null),y=h(null),x=[[[1,1,1,1]],[[1,1],[1,1]],[[0,1,0],[1,1,1]],[[0,1,1],[1,1,0]],[[1,1,0],[0,1,1]],[[1,0,0],[1,1,1]],[[0,0,1],[1,1,1]]],S=[`#66B2FF`,`#3399FF`,`#0066CC`,`#004C99`,`#003366`],C=[],T=null,E=null,U=500,W=null,G=!1,K=null,q=null;function ce(){return Array(oe).fill(null).map(()=>Array(V).fill(0))}function J(){let e=Math.floor(Math.random()*x.length),t=Math.floor(Math.random()*S.length);return{shape:x[e],color:S[t],x:Math.floor(V/2)-Math.floor(x[e][0].length/2),y:0}}function Y(e,t,n,r=0,i=0){t.shape.forEach((a,o)=>{a.forEach((a,s)=>{a&&(e.fillStyle=t.color,e.fillRect((t.x+s+r)*n,(t.y+o+i)*n,n-1,n-1))})})}function X(){K&&(K.clearRect(0,0,160,320),C.forEach((e,t)=>{e.forEach((e,n)=>{e&&(K.fillStyle=e,K.fillRect(n*H,t*H,15,15))})}),T&&Y(K,T,H))}function Z(){if(q&&(q.clearRect(0,0,48,48),E)){let e=(4-E.shape[0].length)/2,t=(4-E.shape.length)/2;Y(q,E,se,e,t)}}function Q(e,t=0,n=0){return e.shape.some((r,i)=>r.some((r,a)=>{if(r){let r=e.x+a+t,o=e.y+i+n;return r<0||r>=V||o>=oe||o>=0&&!!C[o][r]}return!1}))}function le(){if(s.value||G||!T)return;let e=T.shape,t=e.length,n=e[0].length,r=Array(n).fill(null).map(()=>Array(t).fill(0));for(let i=0;i{e.forEach((e,n)=>{if(e){if(T.y+t<0){G=!0;return}C[T.y+t][T.x+n]=T.color}})}),de(),T=E,E=J(),X(),Z(),T&&Q(T)&&_e())}function de(){let e=0;for(let t=19;t>=0;t--)C[t].every(e=>e)&&(C.splice(t,1),C.unshift(Array(V).fill(0)),e++,t++);e>0&&(l.value+=e*100*(e>1?e:1))}function $(e,t){return s.value||G||!T?!1:Q(T,e,t)?(t>0&&ue(),!1):(T.x+=e,T.y+=t,X(),!0)}function fe(){if(!(s.value||G))for(;$(0,1););}function pe(){$(0,1)}function me(){o.value&&(C=ce(),l.value=0,G=!1,s.value=!1,T=J(),E=J(),ye(),X(),Z(),W&&clearInterval(W),U=o.value,W=setInterval(pe,U),n.value=`game`)}function he(){W&&=(clearInterval(W),null),n.value=`difficulty`}function ge(){G||(s.value=!s.value,s.value?(W&&clearInterval(W),W=null):W=setInterval(pe,U))}function _e(){W&&clearInterval(W),W=null,G=!0,n.value=`gameover`}function ve(e){o.value=e}function ye(){v.value&&y.value&&(v.value.width=160,v.value.height=320,y.value.width=48,y.value.height=48,K=v.value.getContext(`2d`),q=y.value.getContext(`2d`))}function be(){let e=document.getElementById(`tetrisWindow`);if(!e)return;e.classList.remove(`hidden`),setTimeout(()=>{e.classList.remove(`scale-95`,`opacity-0`),e.classList.add(`scale-100`,`opacity-100`)},10);let t=e.offsetWidth,n=e.offsetHeight;e.style.left=`calc(50% - ${t/2}px)`,e.style.top=`calc(50% - ${n/2}px)`}function xe(){let e=document.getElementById(`tetrisWindow`);e&&(e.classList.remove(`scale-100`,`opacity-100`),e.classList.add(`scale-95`,`opacity-0`),setTimeout(()=>{e.classList.add(`hidden`),W&&clearInterval(W)},300))}function Se(e){if(n.value===`game`)switch(e.key){case`ArrowLeft`:$(-1,0),e.preventDefault();break;case`ArrowRight`:$(1,0),e.preventDefault();break;case`ArrowDown`:$(0,1),e.preventDefault();break;case`ArrowUp`:le(),e.preventDefault();break;case` `:fe(),e.preventDefault();break;case`p`:case`P`:ge(),e.preventDefault()}}return c(()=>{document.addEventListener(`keydown`,Se)}),ee(()=>{document.removeEventListener(`keydown`,Se),W&&clearInterval(W)}),(e,c)=>{let h=w(`router-link`);return a(),b(`div`,null,[u(`footer`,D,[c[12]||=_(``,1),u(`div`,O,[u(`div`,k,[u(`div`,A,[c[4]||=u(`h3`,{class:`text-lg md:text-xl font-semibold mb-6 relative pb-3 text-gray-100`},[p(` 快速导航 `),u(`span`,{class:`absolute bottom-0 left-0 w-12 h-0.5 bg-blue-500 rounded-full`})],-1),u(`ul`,j,[u(`li`,null,[f(h,{to:`/`,class:`text-gray-400 hover:text-white transition-colors duration-300 flex items-center gap-2 group`},{default:r(()=>[...c[0]||=[u(`span`,{class:`w-1.5 h-1.5 bg-blue-500 rounded-full scale-0 group-hover:scale-100 transition-transform duration-300`},null,-1),p(` 主页 `,-1)]]),_:1})]),u(`li`,null,[f(h,{to:`/gallery`,class:`text-gray-400 hover:text-white transition-colors duration-300 flex items-center gap-2 group`},{default:r(()=>[...c[1]||=[u(`span`,{class:`w-1.5 h-1.5 bg-blue-500 rounded-full scale-0 group-hover:scale-100 transition-transform duration-300`},null,-1),p(` 画廊 `,-1)]]),_:1})]),c[3]||=u(`li`,null,[u(`a`,{href:`https://doc.gvsds.com/9bc298e9c1d03ed3bd4777181bf7411d`,target:`_blank`,class:`text-gray-400 hover:text-white transition-colors duration-300 flex items-center gap-2 group`},[u(`span`,{class:`w-1.5 h-1.5 bg-blue-500 rounded-full scale-0 group-hover:scale-100 transition-transform duration-300`}),p(` 文档 `)])],-1),u(`li`,null,[f(h,{to:`/members`,class:`text-gray-400 hover:text-white transition-colors duration-300 flex items-center gap-2 group`},{default:r(()=>[...c[2]||=[u(`span`,{class:`w-1.5 h-1.5 bg-blue-500 rounded-full scale-0 group-hover:scale-100 transition-transform duration-300`},null,-1),p(` 成员 `,-1)]]),_:1})])])]),c[5]||=_(``,2)]),c[11]||=u(`div`,{class:`w-full h-px bg-gray-800 mb-8`},null,-1),u(`div`,null,[u(`div`,{class:`flex flex-col md:flex-row justify-between items-center w-full mx-auto`},[c[10]||=u(`p`,{class:`text-gray-500 text-xs md:text-sm mb-4 md:mb-0`},[p(` © 2026 GVSDS. All Rights Reserved. `),u(`span`,{class:`hidden md:inline`},`|`),u(`br`,{class:`md:hidden`}),u(`a`,{href:`https://beian.miit.gov.cn/`,target:`_blank`,class:`text-gray-400 hover:text-blue-400 transition-colors duration-300`},`津ICP备2025031204号`)],-1),u(`div`,{class:`flex flex-wrap justify-center gap-x-5 gap-y-2 md:gap-y-0 text-xs md:text-sm`},[u(`a`,{class:`text-gray-500 hover:text-blue-400 transition-colors duration-300 flex items-center gap-1 cursor-pointer`,id:`startButton`,onClick:be},[...c[6]||=[u(`i`,{class:`fa fa-cube text-blue-400 text-xs`},null,-1),p(` 彩蛋 `,-1)]]),c[7]||=u(`a`,{href:`https://doc.gvsds.com/fc084ab20a283208adb19033ca4de173`,target:`_blank`,class:`text-gray-500 hover:text-blue-400 transition-colors duration-300`},`隐私政策`,-1),c[8]||=u(`a`,{href:`https://doc.gvsds.com/1f07d3b8cec43a2ab9892a15b150bdd6`,target:`_blank`,class:`text-gray-500 hover:text-blue-400 transition-colors duration-300`},`服务条款`,-1),c[9]||=u(`a`,{href:`https://doc.gvsds.com/d2ae1dd63e9c35d687464a160896e1ab`,target:`_blank`,class:`text-gray-500 hover:text-blue-400 transition-colors duration-300`},`用户协议`,-1)])])])])]),u(`div`,M,[u(`div`,{class:`window-titlebar text-white p-1 flex items-center justify-between`},[c[13]||=u(`div`,{class:`flex items-center`},[u(`i`,{class:`fa fa-cube mr-2`}),u(`span`,{class:`dot-text`},`TETRIS`)],-1),u(`div`,null,[u(`button`,{id:`closeButton`,class:`bg-win-light text-black text-xs px-2 py-0 window-border dot-text`,onClick:xe},`X`)])]),u(`div`,N,[n.value===`difficulty`?(a(),b(`div`,te,[c[14]||=_(`TETRIS
SELECT DIFFICULTY
`,3),u(`div`,P,[(a(),b(g,null,t([800,500,300],e=>u(`button`,{key:e,class:m([`difficulty-btn btn-classic`,o.value===e?`bg-tetris-light`:``]),onClick:t=>ve(e)},i(e===800?`EASY`:e===500?`MEDIUM`:`HARD`),11,ne)),64))]),u(`button`,{class:`btn-classic mt-4`,disabled:!o.value,onClick:me},`START GAME`,8,F)])):d(``,!0),n.value===`game`?(a(),b(`div`,I,[u(`div`,L,[u(`div`,null,[u(`canvas`,{ref_key:`tetrisCanvas`,ref:v,class:`window-border-inset bg-black`},null,512)]),u(`div`,re,[u(`div`,R,[c[15]||=u(`div`,{class:`dot-text text-xs mb-1`},`SCORE`,-1),u(`div`,z,i(l.value),1)]),u(`div`,ie,[c[16]||=u(`div`,{class:`dot-text text-xs mb-1`},`NEXT`,-1),u(`canvas`,{ref_key:`nextCanvas`,ref:y,class:`window-border-inset bg-black`},null,512)]),u(`button`,{class:`btn-classic dot-text`,onClick:ge},i(s.value?`RESUME`:`PAUSE`),1),u(`button`,{class:`btn-classic dot-text`,onClick:he},`RESTART`)])]),c[17]||=u(`div`,{class:`mt-2 text-center text-xs dot-text`},[u(`p`,null,`ARROWS: MOVE & ROTATE`),u(`p`,null,`SPACE: DROP`)],-1)])):d(``,!0),n.value===`gameover`?(a(),b(`div`,B,[c[19]||=u(`div`,{class:`dot-text text-xl font-bold text-tetris-dark mb-4`},`GAME OVER`,-1),u(`div`,ae,[c[18]||=p(`SCORE: `,-1),u(`span`,null,i(l.value),1)]),u(`button`,{class:`btn-classic mt-4`,onClick:he},`PLAY AGAIN`)])):d(``,!0)])])])}}}),[[`__scopeId`,`data-v-de6d9169`]]),W={key:0,id:`GCookie_CookieBanner`,class:`GCookie_Show`,style:{position:`fixed`,bottom:`0`,left:`0`,right:`0`,"z-index":`9999`,background:`rgba(255,255,255,0.95)`,"box-shadow":`0 -2px 10px rgba(0,0,0,0.1)`,padding:`16px 24px`,display:`flex`,"flex-wrap":`wrap`,"align-items":`center`,"justify-content":`space-between`,gap:`12px`}},G={style:{display:`flex`,"flex-wrap":`wrap`,gap:`8px`}},K={style:{background:`#fff`,"border-radius":`8px`,padding:`24px`,width:`90%`,"max-width":`420px`}},q={style:{padding:`12px 0`,"border-top":`1px solid #eee`}},ce={style:{display:`flex`,"justify-content":`space-between`,"align-items":`center`,cursor:`pointer`}},J=`cookie_consent`,Y=`furry_content_enabled`,X=T(s({__name:`CookieBanner`,setup(e){let t=h(!1),r=h(!1),i=h(!0);function o(e){document.querySelectorAll(`.c-furry`).forEach(t=>{e?t.classList.remove(`GCookie_Hidden`):t.classList.add(`GCookie_Hidden`)})}function s(e){localStorage.setItem(J,e),t.value=!1}function f(){i.value=localStorage.getItem(Y)!==`false`,r.value=!0}function p(){r.value=!1}function m(){localStorage.setItem(Y,String(i.value)),o(i.value),p()}return c(()=>{localStorage.getItem(J)||(t.value=!0),o(localStorage.getItem(Y)!==`false`)}),(e,o)=>(a(),b(`div`,null,[t.value?(a(),b(`div`,W,[o[4]||=u(`div`,{style:{flex:`1`,"min-width":`260px`}},[u(`strong`,null,`我们重视您的隐私`),u(`br`),u(`span`,{style:{"font-size":`13px`,color:`#666`}},`我们和我们的合作伙伴使用Cookie或类似技术来访问、存储和处理您的个人数据,例如您的访问信息。这能让我们根据您的兴趣和需求提供更好的体验。您可以随时更改或撤回您的同意。`)],-1),u(`div`,G,[u(`button`,{class:`GCookie_Btn GCookie_BtnSecondary`,onClick:o[0]||=e=>s(`none`)},`我不同意任何Cookie`),u(`button`,{class:`GCookie_Btn GCookie_BtnSecondary`,onClick:o[1]||=e=>s(`necessary`)},`我同意必要Cookie`),u(`button`,{class:`GCookie_Btn GCookie_BtnPrimary`,onClick:o[2]||=e=>s(`all`)},`我同意全部Cookie`),u(`button`,{class:`GCookie_Btn GCookie_BtnSecondary`,onClick:f},`Cookie设置`)])])):d(``,!0),r.value?(a(),b(`div`,{key:1,id:`GCookie_CookieSettingsModal`,style:{position:`fixed`,inset:`0`,"z-index":`10000`,background:`rgba(0,0,0,0.5)`,display:`flex`,"align-items":`center`,"justify-content":`center`},onClick:l(p,[`self`])},[u(`div`,K,[u(`div`,{style:{display:`flex`,"justify-content":`space-between`,"align-items":`center`,"margin-bottom":`16px`}},[o[5]||=u(`h2`,{style:{"font-size":`18px`,margin:`0`}},`Cookie设置`,-1),u(`button`,{class:`GCookie_CloseBtn`,onClick:p,style:{background:`none`,border:`none`,"font-size":`22px`,cursor:`pointer`}},`×`)]),u(`div`,q,[u(`label`,ce,[o[6]||=u(`span`,null,`是否在主页中显示小众元素`,-1),n(u(`input`,{type:`checkbox`,"onUpdate:modelValue":o[3]||=e=>i.value=e,style:{transform:`scale(1.3)`}},null,512),[[x,i.value]])])]),u(`div`,{style:{display:`flex`,"justify-content":`flex-end`,"margin-top":`16px`}},[u(`button`,{class:`GCookie_Btn GCookie_BtnPrimary`,onClick:m},`保存设置`)])])])):d(``,!0)]))}}),[[`__scopeId`,`data-v-b8f5761c`]]),Z=[{key:`studio`,data:{title:`GVSDS`,description:`银河锋锐软件开发工作室(GVSDS)作为"IT 技术团队",致力于编程、AI 和美术设计方面,我们将竭力为您提供最佳服务。感谢您的支持!`,submenus:[{id:`pages`,name:`页面`,icon:`fa-book`},{id:`good-members`,name:`优秀成员`,icon:`fa-user-circle`}],contents:{pages:[{type:`two-cards`,cards:[{name:`加入我们`,description:`加入我们的团体与我们共同进步`,link:`https://invite.gvsds.com/`,target:`_blank`},{name:`开始合作`,description:`成为我们的合作伙伴与我们共同克服苦难`,link:`mailto:hr@gvsds.com?subject=我代表 xxx 期望与银河锋锐软件开发工作室&body=您好!%0D%0A%0D%0A我是 [ 姓名 / 网名 ],我...`,target:`_self`}]},{type:`four-columns`,title:`存根页面`,subtitle:`Basic Pages`,items:[{name:`主页`,tag:`basic`,description:`介绍工作室基本信息,作为工作室门面`,link:`/`},{name:`关于我们`,tag:`basic`,description:`我们的相关事迹等内容`,link:`/about`},{name:`联系我们`,tag:`basic`,description:`与我们取得联系以进行友情合作或商业合作`,link:`/ContactUS`},{name:`登录`,tag:`basic`,description:`登录您已有的账户以查看和使用您的服务`,link:`/login`},{name:`注册`,tag:`basic`,description:`在本平台上注册以尝试我们的服务`,link:`/register`},{name:`画廊`,tag:`hot`,description:`我们工作室的画作和 Hero 界面的图片`,link:`/gallery`},{name:`廉政举报`,tag:`new`,description:`廉政举报是民众参与权力监督的关键途径,我们拒绝任何形式的收受贿赂等等问题。`,link:`/IntegrityReport`}]},{type:`four-columns`,title:`相关页面`,items:[{name:`工作室 API`,description:`竭尽全力为您提供我们最好的应用程序编程接口`,link:`https://api.gvsds.com`,target:`_blank`},{name:`南京大屠杀`,description:`谨以此页,悼念所有南京大屠杀死难者,缅怀为民族解放献身的先烈。历史不容篡改,真相不容否认。`,link:`https://nanjingmassacre.gvsds.com`,target:`_blank`}]},{type:`four-columns`,title:`联系页面`,items:[{name:`哔哩哔哩`,description:`哔哩哔哩 上的 GVSDS 账户`,link:`https://space.bilibili.com/3546619129628868`,target:`_blank`},{name:`Github`,description:`Github 上的 GVSDS 组织`,link:`https://github.com/GVSDS/`,target:`_blank`},{name:`Git 自托管`,description:`GVSDS 部署的 Gitea 快速站点`,link:`https://git.gvsds.com/GVSDS/`,target:`_blank`},{name:`MC MOD 百科`,description:`MC MOD 百科 上的 GVSDS 代理账户`,link:`https://center.mcmod.cn/1125176/`,target:`_blank`},{name:`工作室反馈`,description:`反馈您所有的关于本工作室的问题(若您迟迟未收到回信或无法发送邮件就下面所有邮件全部发一遍)`,link:`mailto:support@gvsds.com`,target:`_blank`},{name:`负责人工作邮箱`,description:`处理工作相关事务等`,link:`mailto:terminexus@gvsds.com`},{name:`负责人个人邮箱`,description:`个人学习交流等`,link:`mailto:wyt18222152539wyt@163.com`},{name:`站点负责人邮箱`,description:`本站的相关管理工作等`,link:`mailto:postmaster@gvsds.com`}]}],"good-members":[{type:`four-columns`,title:`工程部`,subtitle:`技精于专,行稳致远`,items:[{name:`TermiNexus / 明砚`,description:`工作室负责人,全栈程序员`,link:`/Members/TermiNexus`},{name:`Chindows / MicGan`,description:`星界工作室(子工作室)负责人`,link:`#`},{name:`悠然自得`,description:`这个人很懒,连简介都不愿意写`,link:`#`},{name:`SYSTEM-WINDOW`,description:`反编译`,link:`#`},{name:`羊村哲学家`,description:`你来🌍的目的是什么`,link:`#`},{name:`Mendelevium`,description:`我们崇尚万物,我们追随自由。`,link:`#`},{name:`红叶鸣秋`,description:`"那"不是疯话,"这"才是疯话。`,link:`#`},{name:`无风之地`,description:`我是楠酿`,link:`#`}]}]}}},{key:`project`,data:{title:`产品 / 项目`,description:`提供我们历史所作项目的介绍、文档、开源链接等相关信息`,submenus:[{id:`building`,name:`构建`,icon:`fa-building`},{id:`mods`,name:`我的世界模组`,icon:`fa-briefcase`},{id:`web`,name:`前端`,icon:`fa-code`},{id:`minecraft`,name:`Minecraft 服务`,icon:`fa-gamepad`}],contents:{building:[{type:`two-cards`,cards:[{name:`探索服务`,description:`我们将竭尽所能为您提供最新的产品、服务与解决方案`,link:`https://www.gvsds.com/ProJect/Service/Service`,target:`_blank`},{name:`开始合作`,description:`成为我们的合作伙伴与我们共同克服苦难`,link:`mailto:hr@gvsds.com?subject=我代表 xxx 期望与银河锋锐软件开发工作室&body=您好!%0D%0A%0D%0A我是 [ 姓名 / 网名 ],我...`,target:`_self`}]},{type:`four-columns`,title:`新增项目`,items:[{name:`FastProxyX (FPX)`,tag:`new`,description:`Python 实现的快速反向代理(端口映射),支持多端口映射、加密传输、HTTP/HTTPS 等功能`,link:`/ProJect/Unauthorized`},{name:`AScientificDDOSGun`,tag:`new`,description:`Python 实现的快速 DDOS 客户端程序,支持多线程、自定义参数等功能`,link:`/ProJect/Unauthorized`}]},{type:`four-columns`,title:`已完成项目`,items:[{name:`CreateE Library`,description:`使用 Python 实现的 我的世界坐标空间向量计算实现一些列高级指令功能,已完成`,link:`/ProJect/Unauthorized`},{name:`WVBlackManager`,description:`Flask + 前端 实现的 节点状态管理器,支持多节点管理、状态监控、远程控制等功能`,link:`/ProJect/Unauthorized`},{name:`SMANAGE SAAS`,description:`服务即应用平台,面向各终端机,提供了工作室的全部功能,如 成员管理、项目管理、合作管理 等`,link:`/ProJect/SMANAGE`}]},{type:`four-columns`,title:`已废弃项目`,items:[{name:`MikOS`,description:`【星界工作室】使用 Tkinter 实现的伪操作系统图像壳,利用了伪操作系统 NT 架构,已废弃`,link:`/ProJect/Unauthorized`},{name:`NSQL`,description:`使用 Python 实现快速与 MySQL 服务器交互,由于其功能完全可以被 ORM 取代,已废弃`,link:`/ProJect/Unauthorized`}]}],mods:[{type:`four-columns`,title:`前置性模组`,items:[{name:`PyFabricLoader`,tag:`preview`,description:`基于 Jython 实现的 我的世界 与 Python 的交互 mod 加载器,日后考虑使用 VM 技术实现此功能`,link:`#`},{name:`ProxyProtocolSupport`,description:`为 我的世界 服务器提供了 Proxy Protocol Version 1-2 支持,使服务器经过快速反向代理后仍能获得真实地址`,link:`/ProJect/Unauthorized`}]},{type:`four-columns`,title:`玩法性模组`,items:[{name:`枢机信用:资本主义 市场经济`,tag:`preview`,description:`基于 MySQL 实现的交易 mod,支持多币种、实体币种,股市系统,市场经济宏观调控`,link:`#`},{name:`飞行体验`,tag:`preview`,description:`消耗经验实现生存模式飞行`,link:`#`}]}],web:[{type:`four-columns`,title:`前置`,items:[{name:`ResourceShare`,tag:`new`,description:`企业级 MPA 资源共享解决方案:解决 iframe 资源加载瓶颈。支持 VM 虚拟路径映射、Blob 传输优化、可视化 UI 监控以及智能错误诊断。为大规模复杂 Web 应用打造的高性能底层引擎。`,link:`/ProJect/ResourceShare`}]}],minecraft:[{type:`four-columns`,title:`页面`,items:[{name:`在线 MC`,tag:`preview`,description:`利用 WebAssembly 实现的 EaglercraftX 在线 MC`,link:`https://omc.gvsds.com`,target:`_blank`},{name:`《枢机协律》服务器`,tag:`preview`,description:`工作室托管的我的世界服务器主页`,link:`https://mc.gvsds.com`,target:`_blank`},{name:`《枢机协律》信用储备银行`,description:`《枢机协律》内唯一的合法银行`,link:`https://3crb.gvsds.com`,target:`_blank`},{name:`《枢机协律》中央法庭`,tag:`new`,description:`《枢机协律》内唯一的合法民主民判法庭`,link:`https://3c.gvsds.com`,target:`_blank`},{name:`《枢机协律》标准地图`,tag:`new`,description:`《枢机协律》提供的服务器标准地图,会暴露基地地址,考虑关停`,link:`https://mc.gvsds.com:8100`,target:`_blank`}]}]}}},{key:`document`,data:{title:`文档`,description:`尽可能向您提供我们的官方文档`,submenus:[{id:`gvsdsdoc`,name:`工作室文档`,icon:`fa-building`}],contents:{gvsdsdoc:[{type:`four-columns`,title:`公开协议`,items:[{name:`隐私政策`,tag:`new`,description:`Cookie、数据保护及用户权利等核心说明。`,link:`https://doc.gvsds.com/FC084AB20A283208ADB19033CA4DE173`,target:`_blank`},{name:`服务条款`,tag:`new`,description:`银河锋锐软件开发服务全流程、权责、费用及违约等核心条款说明。`,link:`https://doc.gvsds.com/1F07D3B8CEC43A2AB9892A15B150BDD6`,target:`_blank`},{name:`用户协议`,tag:`new`,description:`内容权属、使用规范及免责声明。`,link:`https://doc.gvsds.com/D2AE1DD63E9C35D687464A160896E1AB`,target:`_blank`},{name:`辅助实现本系统的相关数学原理(简化)`,tag:`new`,description:`本系统基于 Flask/gevent 构建,核心依托并行计算、图论等数学原理,实现高并发、高可用的 Web 应用架构,覆盖调度、路由、密钥等全模块优化。`,link:`https://doc.gvsds.com/D9F9194A243D3A499108A7CA082373EA`,target:`_blank`}]},{type:`four-columns`,title:`SVE`,items:[{name:`安全政策`,tag:`hot`,description:`明确安全承诺、管理规范、用户责任及事件响应,保障数据与生态安全。`,link:`https://doc.gvsds.com/6E845A45FC493C66A23A9361BCE1464D`,target:`_blank`}]},{type:`four-columns`,title:`玉米新闻`,items:[{name:`初中生熬夜写代码猝死`,tag:`new`,description:`13 岁生熬夜编程猝死引深思,警示编程热潮需平衡健康与成长。`,link:`https://doc.gvsds.com/7127C3BA20253C4D93F13AF6485942E5`,target:`_blank`},{name:`被过度保护与控制的童年`,tag:`hot`,description:`过度保护与控制毁娃独立,需转型赋能型教育。`,link:`https://doc.gvsds.com/D3FA6C08BB973567961F63A30E8003E5`,target:`_blank`}]},{type:`four-columns`,title:`通告`,items:[{name:`银河锋锐软件开发工作室第二季度第一月总结`,tag:`new`,description:`银河锋锐 2025 二季度首月完成技术优化、团队调整及侵权 IP 封禁,明确 5 月文档、维权、项目推进计划。`,link:`https://doc.gvsds.com/B0D08D70143B30BFAE847AA2854685CA`,target:`_blank`}]}]}}},{key:`solution`,data:{title:`解决方案`,description:`基于不同行业的业务特性与发展需求,我们打造了多维度解决方案体系,覆盖主流业务场景,提供多端前端开发,专攻原生 JS,定制界面与交互,保障体验与兼容。`,submenus:[{id:`solution`,name:`标准解决方案`,icon:`fa-building`}],contents:{solution:[{type:`four-columns`,title:`MPA(多页面应用)`,items:[{name:`ResourceShare`,tag:`new`,description:`企业级 MPA 资源共享解决方案:解决 iframe 资源加载瓶颈。支持 VM 虚拟路径映射、Blob 传输优化、可视化 UI 监控以及智能错误诊断。为大规模复杂 Web 应用打造的高性能底层引擎。`,link:`/ProJect/ResourceShare`}]}]}}},{key:`methodology`,data:{title:`方法论`,description:`以价值导向、规范先行、增量迭代、质量内建、知识共享为核心,覆盖需求到复盘全流程。统一编码、协作、测试标准,适配不同规模项目,旨在提升团队效率、降低交付风险,实现高质量软件交付与技术能力沉淀。`,submenus:[{id:`solution`,name:`公开方法论`,icon:`fa-building`}],contents:{solution:[{type:`four-columns`,title:`团队协作`,items:[{name:`协同筑码 工作法`,tag:`hot`,description:`拒绝无意义的技术炫技,回归价值导向。通过规范先行、增量迭代与质量内建,打造可维护、高可用的软件交付体系。`,link:`/Methodology/CollaborativeCoding-WM`}]}]}}}],Q={class:`min-h-screen flex flex-col bg-white font-sans`},le=[`data-nav-theme`],ue={class:`flex items-center justify-between h-16 px-6`},de={class:`flex items-center space-x-4`},$={class:`flex items-center text-primary text-xl font-bold h-10`,id:`header-png`},fe={class:`hidden md:flex items-center space-x-6`},pe=[`data-menu`,`onMouseenter`,`onClick`],me={class:`flex items-center space-x-3`},he={class:`relative hidden md:flex items-center`},ge={class:`flex items-center border border-gray-200 rounded-md overflow-hidden focus-within:border-[#3b82f6] focus-within:ring-1 focus-within:ring-[#3b82f6]/30 w-64 lg:w-80 bg-white`},_e={key:0,id:`search-results-all`,class:`absolute top-full left-0 right-0 mt-1 bg-white rounded-md shadow-lg z-50 max-h-96 overflow-y-auto`},ve={class:`py-2`},ye=[`onMousedown`],be={class:`text-text-primary`},xe={class:`text-text-hint text-xs`},Se={key:0,class:`px-4 py-3 text-sm text-gray-400`},Ce={id:`UserFrame`},we={key:0,href:`https://www.gvsds.com/login`,target:`_blank`,class:`bg-primary text-white px-4 py-2 rounded-md text-sm font-medium hover:bg-primary/90 transition-all duration-200 hover:scale-105 active:scale-95 inline-block`},Te={key:1,href:`https://gerp.gvsds.com/`,target:`_blank`,class:`block`},Ee=[`src`],De={class:`p-4`},Oe={class:`flex flex-col space-y-4`},ke=[`data-menu`],Ae={class:`flex items-center mb-4`},je={class:`relative flex-1 flex items-center`},Me={class:`search-wrapper flex items-center flex-1 border border-gray-200 rounded-md overflow-hidden focus-within:border-primary focus-within:ring-1 focus-within:ring-primary/30 bg-white`},Ne={id:`mobile-search-results`,class:`flex-1 overflow-y-auto`},Pe={class:`py-2`},Fe=[`onClick`],Ie={class:`text-text-primary`},Le={class:`text-text-hint text-xs`},Re=[`id`],ze={class:`w-full flex flex-col md:flex-row`},Be={class:`w-full md:w-80 bg-sidebar p-8`},Ve={class:`text-2xl font-bold text-primary mb-4 flex items-center`},He={key:0,class:`text-text-secondary text-sm leading-relaxed`},Ue={class:`mt-6 space-y-1 -mx-8 -px-8`},We=[`onMouseenter`,`onClick`],Ge={class:`flex-1 border-l border-gray-100 overflow-y-auto md:max-h-[calc(75vh-4rem)]`},Ke={key:0,class:`p-6`},qe={key:0,class:`grid grid-cols-1 md:grid-cols-2 gap-4`},Je=[`href`,`target`],Ye={class:`font-semibold text-text-primary mb-1 flex items-center`},Xe={class:`text-text-secondary text-sm`},Ze={key:1},Qe={class:`font-semibold text-text-primary mb-4 flex items-center`},$e={key:0,class:`tag-feature ml-2`},et={class:`grid grid-cols-1 md:grid-cols-4 gap-8`},tt={class:`space-y-3 text-sm`},nt=[`href`,`target`],rt={key:0,class:`tag-basic ml-2`},it={key:1,class:`tag-new ml-2`},at={key:2,class:`tag-hot ml-2`},ot={key:3,class:`tag-preview ml-2`},st={class:`text-text-hint mt-1`},ct={key:2},lt={class:`font-semibold text-text-primary mb-4`},ut={class:`grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-y-2 gap-x-4 text-sm`},dt=[`href`,`target`],ft={key:3},pt={class:`font-semibold text-text-primary mb-4`},mt={class:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6`},ht=[`href`,`target`],gt={class:`p-4`},_t={class:`font-medium text-text-primary group-hover:text-primary transition-colors`},vt={class:`text-xs text-text-secondary mt-1`},yt={key:4,class:`my-6 border-t border-gray-100`},bt={class:`flex-grow pt-16`},xt=T(s({__name:`SiteLayout`,setup(s){let _=S(),v=E(),x=[{key:`studio`,label:`工作室`},{key:`project`,label:`产品和服务`},{key:`document`,label:`文档`},{key:`solution`,label:`解决方案`},{key:`methodology`,label:`方法论`}],T=h(`light`),D=C(()=>v.avatarUrl),O=h(``),k=h(!1),A=C(()=>{let e=O.value.trim().toLowerCase();if(!e)return[];let t=[];return Z.forEach(n=>{Object.values(n.data.contents).forEach(n=>{n.forEach(n=>{(n.items||[]).forEach(n=>{(n.name.toLowerCase().includes(e)||(n.description||``).toLowerCase().includes(e))&&t.push(n)})})})}),t.slice(0,8)}),j=h(null),M=h(null),N=h(null),te=C(()=>Z.map(e=>({key:e.key,data:e.data})));function P(e){I(),j.value=e;let t=Z.find(t=>t.key===e);t&&(M.value=t.data.submenus[0]?.id||null)}function ne(e){j.value===e?j.value=null:P(e)}function F(){N.value&&clearTimeout(N.value),N.value=setTimeout(()=>{j.value=null},200)}function I(){N.value&&=(clearTimeout(N.value),null)}function L(e,t){return e.contents[t]||[]}function re(e,t){let n=[],r=Math.ceil(e.length/t);for(let t=0;te.toLowerCase().startsWith(t))?e:`https://www.gvsds.com`+e:`#`}function z(e){if(O.value=``,k.value=!1,v.mobileMenuOpen=!1,v.mobileSearchOpen=!1,e.startsWith(`/`)){let t=e.split(`?`)[0].split(`#`)[0];_.push(t)}else window.open(e,`_blank`)}function ie(){setTimeout(()=>{k.value=!1},200)}function B(){if(j.value!==null&&window.scrollY<=200){T.value=`light`;return}T.value=window.scrollY<=5?`light`:`dark`}async function ae(){try{let e=await fetch(`https://ugm.gvsds.com/Query/GetELTUserAvatar`,{credentials:`include`});if(!e.ok)return;let t=await e.blob();v.avatarUrl=URL.createObjectURL(t)}catch{v.avatarUrl=``}}return c(()=>{window.addEventListener(`scroll`,B),B(),ae()}),ee(()=>{window.removeEventListener(`scroll`,B),N.value&&clearTimeout(N.value)}),o(()=>j.value,()=>{B()}),(o,s)=>{let c=w(`router-link`),h=w(`router-view`);return a(),b(`div`,Q,[u(`header`,{id:`header`,class:m([`fixed top-0 left-0 right-0 z-50 transition-all duration-300 ease-in-out bg-white shadow-sm border-b border-gray-100 bg-[linear-gradient(120deg,#ffffff,#f0f8ff,#f8f0ff,#ffffff)] bg-[size:400%_400%] animate-[gradientAnimation_15s_ease_infinite] dark:bg-gray-900 dark:border-gray-800`,T.value===`light`?`!bg-transparent !bg-none !shadow-none !border-transparent`:``]),"data-nav-theme":T.value},[u(`div`,ue,[u(`div`,de,[u(`div`,$,[f(c,{to:`/`,draggable:`false`,class:`flex items-center h-10`},{default:r(()=>[...s[13]||=[u(`img`,{src:`https://www.gvsds.com/assets/hlogos/gnobg.png`,alt:`GVSDS`,class:`h-10 w-auto max-w-[160px] object-contain`},null,-1)]]),_:1})]),u(`button`,{id:`mobile-menu-btn`,class:`md:hidden text-text-primary text-xl transition-all duration-200 hover:scale-110`,onClick:s[0]||=t=>e(v).toggleMobileMenu()},[...s[14]||=[u(`i`,{class:`fa fa-bars`},null,-1)]])]),u(`nav`,fe,[(a(),b(g,null,t(x,e=>u(`a`,{key:e.key,href:`#`,draggable:`false`,class:`relative font-medium transition-colors after:content-[''] after:absolute after:bottom-[-2px] after:left-0 after:w-0 after:h-[2px] after:bg-[#3b82f6] after:transition-all after:duration-200 after:ease hover:after:w-full`,"data-menu":e.key,onMouseenter:t=>P(e.key),onMouseleave:s[1]||=e=>F(),onClick:l(t=>ne(e.key),[`prevent`])},i(e.label),41,pe)),64))]),u(`div`,me,[u(`div`,he,[u(`div`,ge,[n(u(`input`,{type:`text`,id:`search-all`,"onUpdate:modelValue":s[2]||=e=>O.value=e,placeholder:`搜索所有内容...`,class:`w-full px-4 py-2 text-sm outline-none border-0 bg-transparent placeholder-gray-400`,onFocus:s[3]||=e=>k.value=!0,onBlur:s[4]||=e=>ie()},null,544),[[y,O.value]]),u(`button`,{id:`desktop-search-btn`,class:`px-3 h-full text-gray-500 cursor-pointer transition-colors duration-200 hover:text-[#3b82f6]`,onMousedown:s[5]||=l(()=>{},[`prevent`])},[...s[15]||=[u(`i`,{class:`fa fa-search search-icon`},null,-1)]],32)]),k.value&&O.value?(a(),b(`div`,_e,[u(`ul`,ve,[(a(!0),b(g,null,t(A.value,(e,t)=>(a(),b(`li`,{key:t,class:`px-4 py-2 hover:bg-gray-50 cursor-pointer text-sm`,onMousedown:l(t=>z(e.link),[`prevent`])},[u(`span`,be,i(e.name),1),u(`p`,xe,i(e.description),1)],40,ye))),128)),A.value.length===0?(a(),b(`li`,Se,`未找到相关内容`)):d(``,!0)])])):d(``,!0)]),u(`button`,{id:`mobile-search-btn`,class:`md:hidden text-text-primary text-xl transition-all duration-200 hover:scale-110`,onClick:s[6]||=t=>e(v).toggleMobileSearch()},[...s[16]||=[u(`i`,{class:`fa fa-search`},null,-1)]]),u(`div`,Ce,[D.value?(a(),b(`a`,Te,[u(`img`,{src:D.value,class:`w-10 h-10 rounded-full object-cover`},null,8,Ee)])):(a(),b(`a`,we,`登录`))])])])],10,le),u(`div`,{id:`mobile-menu`,class:m([`fixed top-16 left-0 right-0 bottom-0 bg-white z-40 md:hidden`,e(v).mobileMenuOpen?`mobile-menu-enter mobile-menu-enter-active`:`hidden`])},[u(`div`,De,[u(`nav`,Oe,[(a(),b(g,null,t(x,e=>u(`a`,{key:e.key,href:`#`,draggable:`false`,class:`text-text-secondary hover:text-primary font-medium py-2 border-b border-gray-100 transition-colors`,"data-menu":e.key,onClick:s[7]||=l(e=>z(`/`),[`prevent`])},i(e.label),9,ke)),64))])])],2),u(`div`,{id:`mobile-search`,class:m([`fixed top-0 left-0 right-0 bottom-0 bg-white z-50 md:hidden`,e(v).mobileSearchOpen?`flex flex-col p-4`:`hidden`])},[u(`div`,Ae,[u(`button`,{class:`text-text-primary text-xl mr-4 transition-all duration-200 hover:scale-110`,onClick:s[8]||=t=>e(v).toggleMobileSearch()},[...s[17]||=[u(`i`,{class:`fa fa-arrow-left`},null,-1)]]),u(`div`,je,[u(`div`,Me,[n(u(`input`,{type:`text`,id:`search-all-mobile`,"onUpdate:modelValue":s[9]||=e=>O.value=e,placeholder:`搜索所有内容...`,class:`w-full px-4 py-2 text-sm outline-none border-none bg-transparent placeholder-gray-400`},null,512),[[y,O.value]]),u(`button`,{id:`mobile-search-submit`,class:`search-btn`,onMousedown:s[10]||=l(()=>{},[`prevent`])},[...s[18]||=[u(`i`,{class:`fa fa-search search-icon`},null,-1)]],32)])])]),u(`div`,Ne,[u(`ul`,Pe,[(a(!0),b(g,null,t(A.value,(e,t)=>(a(),b(`li`,{key:t,class:`px-4 py-2 hover:bg-gray-50 cursor-pointer text-sm`,onClick:t=>z(e.link)},[u(`span`,Ie,i(e.name),1),u(`p`,Le,i(e.description),1)],8,Fe))),128))])])],2),u(`div`,{id:`mega-menus-container`,onMouseenter:s[11]||=e=>I(),onMouseleave:s[12]||=e=>F()},[(a(!0),b(g,null,t(te.value,e=>(a(),b(`div`,{key:e.key,id:`mega-menu-`+e.key,class:m([`mega-menu fixed top-16 left-0 right-0 bg-white menu-shadow z-50 overflow-y-auto md:max-h-[75vh]`,j.value===e.key?`mega-menu-visible`:`hidden`])},[u(`div`,ze,[u(`aside`,Be,[u(`h3`,Ve,[p(i(e.data.title)+` `,1),s[19]||=u(`i`,{class:`fa fa-angle-right ml-2 text-primary/70`},null,-1)]),e.data.description?(a(),b(`p`,He,i(e.data.description),1)):d(``,!0),u(`ul`,Ue,[(a(!0),b(g,null,t(e.data.submenus,e=>(a(),b(`li`,{key:e.id},[u(`a`,{href:`javascript:;`,class:m([`flex items-center px-4 py-3 text-sm transition-colors`,M.value===e.id?`sidebar-submenu-active`:`text-text-secondary hover:text-primary`]),onMouseenter:t=>M.value=e.id,onClick:l(t=>M.value=e.id,[`prevent`])},[u(`i`,{class:m([`fa`,e.icon+` mr-3 w-4 text-center`])},null,2),u(`span`,null,i(e.name),1)],42,We)]))),128))])]),u(`div`,Ge,[M.value?(a(),b(`div`,Ke,[(a(!0),b(g,null,t(L(e.data,M.value),(n,r)=>(a(),b(g,{key:r},[n.type===`two-cards`?(a(),b(`div`,qe,[(a(!0),b(g,null,t(n.cards,(e,t)=>(a(),b(`div`,{key:t,class:`border border-gray-100 p-4 hover:border-primary hover:bg-gray-50 transition-all cursor-pointer`},[u(`a`,{href:R(e.link),target:e.target||`_self`,class:`block`},[u(`h4`,Ye,[p(i(e.name)+` `,1),s[20]||=u(`i`,{class:`fa fa-angle-right ml-2 text-text-secondary`},null,-1)]),u(`p`,Xe,i(e.description),1)],8,Je)]))),128))])):n.type===`four-columns`?(a(),b(`div`,Ze,[u(`h4`,Qe,[p(i(n.title)+` `,1),n.subtitle?(a(),b(`span`,$e,i(n.subtitle),1)):d(``,!0)]),u(`div`,et,[(a(!0),b(g,null,t(re(n.items??[],4),(e,n)=>(a(),b(`div`,{key:n},[u(`ul`,tt,[(a(!0),b(g,null,t(e,(e,t)=>(a(),b(`li`,{key:t,class:`cursor-pointer`},[u(`a`,{href:R(e.link),target:e.target||`_self`,class:`block text-text-primary hover:text-primary transition-colors`},[u(`span`,null,[p(i(e.name),1),e.tag===`basic`?(a(),b(`span`,rt,`BASIC`)):d(``,!0),e.tag===`new`?(a(),b(`span`,it,`NEW`)):d(``,!0),e.tag===`hot`?(a(),b(`span`,at,`HOT`)):d(``,!0),e.tag===`preview`?(a(),b(`span`,ot,`Preview`)):d(``,!0)]),u(`p`,st,i(e.description),1)],8,nt)]))),128))])]))),128))])])):n.type===`simple-list`?(a(),b(`div`,ct,[u(`h4`,lt,i(n.title),1),u(`ul`,ut,[(a(!0),b(g,null,t(n.items,(e,t)=>(a(),b(`li`,{key:t},[u(`a`,{href:R(e.link),target:e.target||`_self`,class:`text-text-secondary hover:text-primary flex items-center py-1`},[u(`span`,null,i(e.name),1)],8,dt)]))),128))])])):(a(),b(`div`,ft,[u(`h4`,pt,i(n.title),1),u(`div`,mt,[(a(!0),b(g,null,t(n.items||[],(e,t)=>(a(),b(`a`,{key:t,href:R(e.link),target:e.target||`_self`,class:`group block border border-gray-100 rounded-lg overflow-hidden hover:shadow-md transition-shadow bg-white`},[u(`div`,gt,[u(`h5`,_t,i(e.name),1),u(`p`,vt,i(e.description),1)])],8,ht))),128))])])),r{let e=h(!1),t=h(!1),n=h(``),r=h(``);function i(){e.value=!e.value}function a(){t.value=!t.value}return{mobileMenuOpen:e,mobileSearchOpen:t,searchKeyword:n,avatarUrl:r,toggleMobileMenu:i,toggleMobileSearch:a}}),D={class:`bg-gray-900 text-white pt-16 pb-8 px-4 md:px-8 relative overflow-hidden`,id:`footer`},O={class:`container mx-auto relative z-10`},k={class:`grid grid-cols-1 md:grid-cols-12 gap-8 md:gap-12 mb-12`},A={class:`md:col-span-4`},j={class:`space-y-3 text-sm`},M={id:`tetrisWindow`,class:`fixed hidden window-border bg-win-light w-[320px] z-50 transform transition-all duration-300 scale-95 opacity-0`},N={class:`p-3`},te={key:0,class:`text-center`},P={class:`flex justify-center gap-3 my-4`},ne=[`onClick`],F=[`disabled`],I={key:1,class:`text-center`},L={class:`flex justify-between`},re={class:`ml-3 flex flex-col gap-2`},R={class:`window-border-inset bg-win-light p-1 text-center`},z={class:`dot-text text-lg font-bold`},ie={class:`window-border-inset bg-win-light p-1 text-center`},B={key:2,class:`text-center py-6`},ae={class:`mb-2 dot-text`},oe=20,V=10,H=16,se=12,U=T(s({__name:`SiteFooter`,setup(e){let n=h(`difficulty`),o=h(null),s=h(!1),l=h(0),v=h(null),y=h(null),x=[[[1,1,1,1]],[[1,1],[1,1]],[[0,1,0],[1,1,1]],[[0,1,1],[1,1,0]],[[1,1,0],[0,1,1]],[[1,0,0],[1,1,1]],[[0,0,1],[1,1,1]]],S=[`#66B2FF`,`#3399FF`,`#0066CC`,`#004C99`,`#003366`],C=[],T=null,E=null,U=500,W=null,G=!1,K=null,q=null;function ce(){return Array(oe).fill(null).map(()=>Array(V).fill(0))}function J(){let e=Math.floor(Math.random()*x.length),t=Math.floor(Math.random()*S.length);return{shape:x[e],color:S[t],x:Math.floor(V/2)-Math.floor(x[e][0].length/2),y:0}}function Y(e,t,n,r=0,i=0){t.shape.forEach((a,o)=>{a.forEach((a,s)=>{a&&(e.fillStyle=t.color,e.fillRect((t.x+s+r)*n,(t.y+o+i)*n,n-1,n-1))})})}function X(){K&&(K.clearRect(0,0,160,320),C.forEach((e,t)=>{e.forEach((e,n)=>{e&&(K.fillStyle=e,K.fillRect(n*H,t*H,15,15))})}),T&&Y(K,T,H))}function Z(){if(q&&(q.clearRect(0,0,48,48),E)){let e=(4-E.shape[0].length)/2,t=(4-E.shape.length)/2;Y(q,E,se,e,t)}}function Q(e,t=0,n=0){return e.shape.some((r,i)=>r.some((r,a)=>{if(r){let r=e.x+a+t,o=e.y+i+n;return r<0||r>=V||o>=oe||o>=0&&!!C[o][r]}return!1}))}function le(){if(s.value||G||!T)return;let e=T.shape,t=e.length,n=e[0].length,r=Array(n).fill(null).map(()=>Array(t).fill(0));for(let i=0;i{e.forEach((e,n)=>{if(e){if(T.y+t<0){G=!0;return}C[T.y+t][T.x+n]=T.color}})}),de(),T=E,E=J(),X(),Z(),T&&Q(T)&&_e())}function de(){let e=0;for(let t=19;t>=0;t--)C[t].every(e=>e)&&(C.splice(t,1),C.unshift(Array(V).fill(0)),e++,t++);e>0&&(l.value+=e*100*(e>1?e:1))}function $(e,t){return s.value||G||!T?!1:Q(T,e,t)?(t>0&&ue(),!1):(T.x+=e,T.y+=t,X(),!0)}function fe(){if(!(s.value||G))for(;$(0,1););}function pe(){$(0,1)}function me(){o.value&&(C=ce(),l.value=0,G=!1,s.value=!1,T=J(),E=J(),ye(),X(),Z(),W&&clearInterval(W),U=o.value,W=setInterval(pe,U),n.value=`game`)}function he(){W&&=(clearInterval(W),null),n.value=`difficulty`}function ge(){G||(s.value=!s.value,s.value?(W&&clearInterval(W),W=null):W=setInterval(pe,U))}function _e(){W&&clearInterval(W),W=null,G=!0,n.value=`gameover`}function ve(e){o.value=e}function ye(){v.value&&y.value&&(v.value.width=160,v.value.height=320,y.value.width=48,y.value.height=48,K=v.value.getContext(`2d`),q=y.value.getContext(`2d`))}function be(){let e=document.getElementById(`tetrisWindow`);if(!e)return;e.classList.remove(`hidden`),setTimeout(()=>{e.classList.remove(`scale-95`,`opacity-0`),e.classList.add(`scale-100`,`opacity-100`)},10);let t=e.offsetWidth,n=e.offsetHeight;e.style.left=`calc(50% - ${t/2}px)`,e.style.top=`calc(50% - ${n/2}px)`}function xe(){let e=document.getElementById(`tetrisWindow`);e&&(e.classList.remove(`scale-100`,`opacity-100`),e.classList.add(`scale-95`,`opacity-0`),setTimeout(()=>{e.classList.add(`hidden`),W&&clearInterval(W)},300))}function Se(e){if(n.value===`game`)switch(e.key){case`ArrowLeft`:$(-1,0),e.preventDefault();break;case`ArrowRight`:$(1,0),e.preventDefault();break;case`ArrowDown`:$(0,1),e.preventDefault();break;case`ArrowUp`:le(),e.preventDefault();break;case` `:fe(),e.preventDefault();break;case`p`:case`P`:ge(),e.preventDefault()}}return c(()=>{document.addEventListener(`keydown`,Se)}),ee(()=>{document.removeEventListener(`keydown`,Se),W&&clearInterval(W)}),(e,c)=>{let h=w(`router-link`);return a(),b(`div`,null,[u(`footer`,D,[c[12]||=_(``,1),u(`div`,O,[u(`div`,k,[u(`div`,A,[c[4]||=u(`h3`,{class:`text-lg md:text-xl font-semibold mb-6 relative pb-3 text-gray-100`},[p(` 快速导航 `),u(`span`,{class:`absolute bottom-0 left-0 w-12 h-0.5 bg-blue-500 rounded-full`})],-1),u(`ul`,j,[u(`li`,null,[f(h,{to:`/`,class:`text-gray-400 hover:text-white transition-colors duration-300 flex items-center gap-2 group`},{default:r(()=>[...c[0]||=[u(`span`,{class:`w-1.5 h-1.5 bg-blue-500 rounded-full scale-0 group-hover:scale-100 transition-transform duration-300`},null,-1),p(` 主页 `,-1)]]),_:1})]),u(`li`,null,[f(h,{to:`/gallery`,class:`text-gray-400 hover:text-white transition-colors duration-300 flex items-center gap-2 group`},{default:r(()=>[...c[1]||=[u(`span`,{class:`w-1.5 h-1.5 bg-blue-500 rounded-full scale-0 group-hover:scale-100 transition-transform duration-300`},null,-1),p(` 画廊 `,-1)]]),_:1})]),c[3]||=u(`li`,null,[u(`a`,{href:`https://doc.gvsds.com/9bc298e9c1d03ed3bd4777181bf7411d`,target:`_blank`,class:`text-gray-400 hover:text-white transition-colors duration-300 flex items-center gap-2 group`},[u(`span`,{class:`w-1.5 h-1.5 bg-blue-500 rounded-full scale-0 group-hover:scale-100 transition-transform duration-300`}),p(` 文档 `)])],-1),u(`li`,null,[f(h,{to:`/members`,class:`text-gray-400 hover:text-white transition-colors duration-300 flex items-center gap-2 group`},{default:r(()=>[...c[2]||=[u(`span`,{class:`w-1.5 h-1.5 bg-blue-500 rounded-full scale-0 group-hover:scale-100 transition-transform duration-300`},null,-1),p(` 成员 `,-1)]]),_:1})])])]),c[5]||=_(``,2)]),c[11]||=u(`div`,{class:`w-full h-px bg-gray-800 mb-8`},null,-1),u(`div`,null,[u(`div`,{class:`flex flex-col md:flex-row justify-between items-center w-full mx-auto`},[c[10]||=u(`p`,{class:`text-gray-500 text-xs md:text-sm mb-4 md:mb-0`},[p(` © 2026 GVSDS. All Rights Reserved. `),u(`span`,{class:`hidden md:inline`},`|`),u(`br`,{class:`md:hidden`}),u(`a`,{href:`https://beian.miit.gov.cn/`,target:`_blank`,class:`text-gray-400 hover:text-blue-400 transition-colors duration-300`},`津ICP备2025031204号`)],-1),u(`div`,{class:`flex flex-wrap justify-center gap-x-5 gap-y-2 md:gap-y-0 text-xs md:text-sm`},[u(`a`,{class:`text-gray-500 hover:text-blue-400 transition-colors duration-300 flex items-center gap-1 cursor-pointer`,id:`startButton`,onClick:be},[...c[6]||=[u(`i`,{class:`fa fa-cube text-blue-400 text-xs`},null,-1),p(` 彩蛋 `,-1)]]),c[7]||=u(`a`,{href:`https://doc.gvsds.com/fc084ab20a283208adb19033ca4de173`,target:`_blank`,class:`text-gray-500 hover:text-blue-400 transition-colors duration-300`},`隐私政策`,-1),c[8]||=u(`a`,{href:`https://doc.gvsds.com/1f07d3b8cec43a2ab9892a15b150bdd6`,target:`_blank`,class:`text-gray-500 hover:text-blue-400 transition-colors duration-300`},`服务条款`,-1),c[9]||=u(`a`,{href:`https://doc.gvsds.com/d2ae1dd63e9c35d687464a160896e1ab`,target:`_blank`,class:`text-gray-500 hover:text-blue-400 transition-colors duration-300`},`用户协议`,-1)])])])])]),u(`div`,M,[u(`div`,{class:`window-titlebar text-white p-1 flex items-center justify-between`},[c[13]||=u(`div`,{class:`flex items-center`},[u(`i`,{class:`fa fa-cube mr-2`}),u(`span`,{class:`dot-text`},`TETRIS`)],-1),u(`div`,null,[u(`button`,{id:`closeButton`,class:`bg-win-light text-black text-xs px-2 py-0 window-border dot-text`,onClick:xe},`X`)])]),u(`div`,N,[n.value===`difficulty`?(a(),b(`div`,te,[c[14]||=_(`TETRIS
SELECT DIFFICULTY
`,3),u(`div`,P,[(a(),b(g,null,t([800,500,300],e=>u(`button`,{key:e,class:m([`difficulty-btn btn-classic`,o.value===e?`bg-tetris-light`:``]),onClick:t=>ve(e)},i(e===800?`EASY`:e===500?`MEDIUM`:`HARD`),11,ne)),64))]),u(`button`,{class:`btn-classic mt-4`,disabled:!o.value,onClick:me},`START GAME`,8,F)])):d(``,!0),n.value===`game`?(a(),b(`div`,I,[u(`div`,L,[u(`div`,null,[u(`canvas`,{ref_key:`tetrisCanvas`,ref:v,class:`window-border-inset bg-black`},null,512)]),u(`div`,re,[u(`div`,R,[c[15]||=u(`div`,{class:`dot-text text-xs mb-1`},`SCORE`,-1),u(`div`,z,i(l.value),1)]),u(`div`,ie,[c[16]||=u(`div`,{class:`dot-text text-xs mb-1`},`NEXT`,-1),u(`canvas`,{ref_key:`nextCanvas`,ref:y,class:`window-border-inset bg-black`},null,512)]),u(`button`,{class:`btn-classic dot-text`,onClick:ge},i(s.value?`RESUME`:`PAUSE`),1),u(`button`,{class:`btn-classic dot-text`,onClick:he},`RESTART`)])]),c[17]||=u(`div`,{class:`mt-2 text-center text-xs dot-text`},[u(`p`,null,`ARROWS: MOVE & ROTATE`),u(`p`,null,`SPACE: DROP`)],-1)])):d(``,!0),n.value===`gameover`?(a(),b(`div`,B,[c[19]||=u(`div`,{class:`dot-text text-xl font-bold text-tetris-dark mb-4`},`GAME OVER`,-1),u(`div`,ae,[c[18]||=p(`SCORE: `,-1),u(`span`,null,i(l.value),1)]),u(`button`,{class:`btn-classic mt-4`,onClick:he},`PLAY AGAIN`)])):d(``,!0)])])])}}}),[[`__scopeId`,`data-v-de6d9169`]]),W={key:0,id:`GCookie_CookieBanner`,class:`GCookie_Show`,style:{position:`fixed`,bottom:`0`,left:`0`,right:`0`,"z-index":`9999`,background:`rgba(255,255,255,0.95)`,"box-shadow":`0 -2px 10px rgba(0,0,0,0.1)`,padding:`16px 24px`,display:`flex`,"flex-wrap":`wrap`,"align-items":`center`,"justify-content":`space-between`,gap:`12px`}},G={style:{display:`flex`,"flex-wrap":`wrap`,gap:`8px`}},K={style:{background:`#fff`,"border-radius":`8px`,padding:`24px`,width:`90%`,"max-width":`420px`}},q={style:{padding:`12px 0`,"border-top":`1px solid #eee`}},ce={style:{display:`flex`,"justify-content":`space-between`,"align-items":`center`,cursor:`pointer`}},J=`cookie_consent`,Y=`furry_content_enabled`,X=T(s({__name:`CookieBanner`,setup(e){let t=h(!1),r=h(!1),i=h(!0);function o(e){document.querySelectorAll(`.c-furry`).forEach(t=>{e?t.classList.remove(`GCookie_Hidden`):t.classList.add(`GCookie_Hidden`)})}function s(e){localStorage.setItem(J,e),t.value=!1}function f(){i.value=localStorage.getItem(Y)!==`false`,r.value=!0}function p(){r.value=!1}function m(){localStorage.setItem(Y,String(i.value)),o(i.value),p()}return c(()=>{localStorage.getItem(J)||(t.value=!0),o(localStorage.getItem(Y)!==`false`)}),(e,o)=>(a(),b(`div`,null,[t.value?(a(),b(`div`,W,[o[4]||=u(`div`,{style:{flex:`1`,"min-width":`260px`}},[u(`strong`,null,`我们重视您的隐私`),u(`br`),u(`span`,{style:{"font-size":`13px`,color:`#666`}},`我们和我们的合作伙伴使用Cookie或类似技术来访问、存储和处理您的个人数据,例如您的访问信息。这能让我们根据您的兴趣和需求提供更好的体验。您可以随时更改或撤回您的同意。`)],-1),u(`div`,G,[u(`button`,{class:`GCookie_Btn GCookie_BtnSecondary`,onClick:o[0]||=e=>s(`none`)},`我不同意任何Cookie`),u(`button`,{class:`GCookie_Btn GCookie_BtnSecondary`,onClick:o[1]||=e=>s(`necessary`)},`我同意必要Cookie`),u(`button`,{class:`GCookie_Btn GCookie_BtnPrimary`,onClick:o[2]||=e=>s(`all`)},`我同意全部Cookie`),u(`button`,{class:`GCookie_Btn GCookie_BtnSecondary`,onClick:f},`Cookie设置`)])])):d(``,!0),r.value?(a(),b(`div`,{key:1,id:`GCookie_CookieSettingsModal`,style:{position:`fixed`,inset:`0`,"z-index":`10000`,background:`rgba(0,0,0,0.5)`,display:`flex`,"align-items":`center`,"justify-content":`center`},onClick:l(p,[`self`])},[u(`div`,K,[u(`div`,{style:{display:`flex`,"justify-content":`space-between`,"align-items":`center`,"margin-bottom":`16px`}},[o[5]||=u(`h2`,{style:{"font-size":`18px`,margin:`0`}},`Cookie设置`,-1),u(`button`,{class:`GCookie_CloseBtn`,onClick:p,style:{background:`none`,border:`none`,"font-size":`22px`,cursor:`pointer`}},`×`)]),u(`div`,q,[u(`label`,ce,[o[6]||=u(`span`,null,`是否在主页中显示小众元素`,-1),n(u(`input`,{type:`checkbox`,"onUpdate:modelValue":o[3]||=e=>i.value=e,style:{transform:`scale(1.3)`}},null,512),[[x,i.value]])])]),u(`div`,{style:{display:`flex`,"justify-content":`flex-end`,"margin-top":`16px`}},[u(`button`,{class:`GCookie_Btn GCookie_BtnPrimary`,onClick:m},`保存设置`)])])])):d(``,!0)]))}}),[[`__scopeId`,`data-v-b8f5761c`]]),Z=[{key:`studio`,data:{title:`GVSDS`,description:`银河锋锐软件开发工作室(GVSDS)作为"IT 技术团队",致力于编程、AI 和美术设计方面,我们将竭力为您提供最佳服务。感谢您的支持!`,submenus:[{id:`pages`,name:`页面`,icon:`fa-book`},{id:`good-members`,name:`优秀成员`,icon:`fa-user-circle`}],contents:{pages:[{type:`two-cards`,cards:[{name:`加入我们`,description:`加入我们的团体与我们共同进步`,link:`https://invite.gvsds.com/`,target:`_blank`},{name:`开始合作`,description:`成为我们的合作伙伴与我们共同克服苦难`,link:`mailto:hr@gvsds.com?subject=我代表 xxx 期望与银河锋锐软件开发工作室&body=您好!%0D%0A%0D%0A我是 [ 姓名 / 网名 ],我...`,target:`_self`}]},{type:`four-columns`,title:`存根页面`,subtitle:`Basic Pages`,items:[{name:`主页`,tag:`basic`,description:`介绍工作室基本信息,作为工作室门面`,link:`/`},{name:`关于我们`,tag:`basic`,description:`我们的相关事迹等内容`,link:`/about`},{name:`联系我们`,tag:`basic`,description:`与我们取得联系以进行友情合作或商业合作`,link:`/ContactUS`},{name:`登录`,tag:`basic`,description:`登录您已有的账户以查看和使用您的服务`,link:`/login`},{name:`注册`,tag:`basic`,description:`在本平台上注册以尝试我们的服务`,link:`/register`},{name:`画廊`,tag:`hot`,description:`我们工作室的画作和 Hero 界面的图片`,link:`/gallery`},{name:`廉政举报`,tag:`new`,description:`廉政举报是民众参与权力监督的关键途径,我们拒绝任何形式的收受贿赂等等问题。`,link:`/IntegrityReport`}]},{type:`four-columns`,title:`相关页面`,items:[{name:`工作室 API`,description:`竭尽全力为您提供我们最好的应用程序编程接口`,link:`https://api.gvsds.com`,target:`_blank`},{name:`南京大屠杀`,description:`谨以此页,悼念所有南京大屠杀死难者,缅怀为民族解放献身的先烈。历史不容篡改,真相不容否认。`,link:`https://nanjingmassacre.gvsds.com`,target:`_blank`}]},{type:`four-columns`,title:`联系页面`,items:[{name:`哔哩哔哩`,description:`哔哩哔哩 上的 GVSDS 账户`,link:`https://space.bilibili.com/3546619129628868`,target:`_blank`},{name:`Github`,description:`Github 上的 GVSDS 组织`,link:`https://github.com/GVSDS/`,target:`_blank`},{name:`Git 自托管`,description:`GVSDS 部署的 Gitea 快速站点`,link:`https://git.gvsds.com/GVSDS/`,target:`_blank`},{name:`MC MOD 百科`,description:`MC MOD 百科 上的 GVSDS 代理账户`,link:`https://center.mcmod.cn/1125176/`,target:`_blank`},{name:`工作室反馈`,description:`反馈您所有的关于本工作室的问题(若您迟迟未收到回信或无法发送邮件就下面所有邮件全部发一遍)`,link:`mailto:support@gvsds.com`,target:`_blank`},{name:`负责人工作邮箱`,description:`处理工作相关事务等`,link:`mailto:terminexus@gvsds.com`},{name:`负责人个人邮箱`,description:`个人学习交流等`,link:`mailto:wyt18222152539wyt@163.com`},{name:`站点负责人邮箱`,description:`本站的相关管理工作等`,link:`mailto:postmaster@gvsds.com`}]}],"good-members":[{type:`four-columns`,title:`工程部`,subtitle:`技精于专,行稳致远`,items:[{name:`TermiNexus / 明砚`,description:`工作室负责人,全栈程序员`,link:`/Members/TermiNexus`},{name:`Chindows / MicGan`,description:`星界工作室(子工作室)负责人`,link:`#`},{name:`悠然自得`,description:`这个人很懒,连简介都不愿意写`,link:`#`},{name:`SYSTEM-WINDOW`,description:`反编译`,link:`#`},{name:`羊村哲学家`,description:`你来🌍的目的是什么`,link:`#`},{name:`Mendelevium`,description:`我们崇尚万物,我们追随自由。`,link:`#`},{name:`红叶鸣秋`,description:`"那"不是疯话,"这"才是疯话。`,link:`#`},{name:`无风之地`,description:`我是楠酿`,link:`#`}]}]}}},{key:`project`,data:{title:`产品 / 项目`,description:`提供我们历史所作项目的介绍、文档、开源链接等相关信息`,submenus:[{id:`building`,name:`构建`,icon:`fa-building`},{id:`mods`,name:`我的世界模组`,icon:`fa-briefcase`},{id:`web`,name:`前端`,icon:`fa-code`},{id:`minecraft`,name:`Minecraft 服务`,icon:`fa-gamepad`}],contents:{building:[{type:`two-cards`,cards:[{name:`探索服务`,description:`我们将竭尽所能为您提供最新的产品、服务与解决方案`,link:`https://www.gvsds.com/ProJect/Service/Service`,target:`_blank`},{name:`开始合作`,description:`成为我们的合作伙伴与我们共同克服苦难`,link:`mailto:hr@gvsds.com?subject=我代表 xxx 期望与银河锋锐软件开发工作室&body=您好!%0D%0A%0D%0A我是 [ 姓名 / 网名 ],我...`,target:`_self`}]},{type:`four-columns`,title:`新增项目`,items:[{name:`FastProxyX (FPX)`,tag:`new`,description:`Python 实现的快速反向代理(端口映射),支持多端口映射、加密传输、HTTP/HTTPS 等功能`,link:`/ProJect/Unauthorized`},{name:`AScientificDDOSGun`,tag:`new`,description:`Python 实现的快速 DDOS 客户端程序,支持多线程、自定义参数等功能`,link:`/ProJect/Unauthorized`}]},{type:`four-columns`,title:`已完成项目`,items:[{name:`CreateE Library`,description:`使用 Python 实现的 我的世界坐标空间向量计算实现一些列高级指令功能,已完成`,link:`/ProJect/Unauthorized`},{name:`WVBlackManager`,description:`Flask + 前端 实现的 节点状态管理器,支持多节点管理、状态监控、远程控制等功能`,link:`/ProJect/Unauthorized`},{name:`SMANAGE SAAS`,description:`服务即应用平台,面向各终端机,提供了工作室的全部功能,如 成员管理、项目管理、合作管理 等`,link:`/ProJect/SMANAGE`}]},{type:`four-columns`,title:`已废弃项目`,items:[{name:`MikOS`,description:`【星界工作室】使用 Tkinter 实现的伪操作系统图像壳,利用了伪操作系统 NT 架构,已废弃`,link:`/ProJect/Unauthorized`},{name:`NSQL`,description:`使用 Python 实现快速与 MySQL 服务器交互,由于其功能完全可以被 ORM 取代,已废弃`,link:`/ProJect/Unauthorized`}]}],mods:[{type:`four-columns`,title:`前置性模组`,items:[{name:`PyFabricLoader`,tag:`preview`,description:`基于 Jython 实现的 我的世界 与 Python 的交互 mod 加载器,日后考虑使用 VM 技术实现此功能`,link:`#`},{name:`ProxyProtocolSupport`,description:`为 我的世界 服务器提供了 Proxy Protocol Version 1-2 支持,使服务器经过快速反向代理后仍能获得真实地址`,link:`/ProJect/Unauthorized`}]},{type:`four-columns`,title:`玩法性模组`,items:[{name:`枢机信用:资本主义 市场经济`,tag:`preview`,description:`基于 MySQL 实现的交易 mod,支持多币种、实体币种,股市系统,市场经济宏观调控`,link:`#`},{name:`飞行体验`,tag:`preview`,description:`消耗经验实现生存模式飞行`,link:`#`}]}],web:[{type:`four-columns`,title:`前置`,items:[{name:`ResourceShare`,tag:`new`,description:`企业级 MPA 资源共享解决方案:解决 iframe 资源加载瓶颈。支持 VM 虚拟路径映射、Blob 传输优化、可视化 UI 监控以及智能错误诊断。为大规模复杂 Web 应用打造的高性能底层引擎。`,link:`/ProJect/ResourceShare`}]}],minecraft:[{type:`four-columns`,title:`页面`,items:[{name:`在线 MC`,tag:`preview`,description:`利用 WebAssembly 实现的 EaglercraftX 在线 MC`,link:`https://omc.gvsds.com`,target:`_blank`},{name:`《枢机协律》服务器`,tag:`preview`,description:`工作室托管的我的世界服务器主页`,link:`https://mc.gvsds.com`,target:`_blank`},{name:`《枢机协律》信用储备银行`,description:`《枢机协律》内唯一的合法银行`,link:`https://3crb.gvsds.com`,target:`_blank`},{name:`《枢机协律》中央法庭`,tag:`new`,description:`《枢机协律》内唯一的合法民主民判法庭`,link:`https://3c.gvsds.com`,target:`_blank`},{name:`《枢机协律》标准地图`,tag:`new`,description:`《枢机协律》提供的服务器标准地图,会暴露基地地址,考虑关停`,link:`https://mc.gvsds.com:8100`,target:`_blank`}]}]}}},{key:`document`,data:{title:`文档`,description:`尽可能向您提供我们的官方文档`,submenus:[{id:`gvsdsdoc`,name:`工作室文档`,icon:`fa-building`}],contents:{gvsdsdoc:[{type:`four-columns`,title:`公开协议`,items:[{name:`隐私政策`,tag:`new`,description:`Cookie、数据保护及用户权利等核心说明。`,link:`https://doc.gvsds.com/FC084AB20A283208ADB19033CA4DE173`,target:`_blank`},{name:`服务条款`,tag:`new`,description:`银河锋锐软件开发服务全流程、权责、费用及违约等核心条款说明。`,link:`https://doc.gvsds.com/1F07D3B8CEC43A2AB9892A15B150BDD6`,target:`_blank`},{name:`用户协议`,tag:`new`,description:`内容权属、使用规范及免责声明。`,link:`https://doc.gvsds.com/D2AE1DD63E9C35D687464A160896E1AB`,target:`_blank`},{name:`辅助实现本系统的相关数学原理(简化)`,tag:`new`,description:`本系统基于 Flask/gevent 构建,核心依托并行计算、图论等数学原理,实现高并发、高可用的 Web 应用架构,覆盖调度、路由、密钥等全模块优化。`,link:`https://doc.gvsds.com/D9F9194A243D3A499108A7CA082373EA`,target:`_blank`}]},{type:`four-columns`,title:`SVE`,items:[{name:`安全政策`,tag:`hot`,description:`明确安全承诺、管理规范、用户责任及事件响应,保障数据与生态安全。`,link:`https://doc.gvsds.com/6E845A45FC493C66A23A9361BCE1464D`,target:`_blank`}]},{type:`four-columns`,title:`玉米新闻`,items:[{name:`初中生熬夜写代码猝死`,tag:`new`,description:`13 岁生熬夜编程猝死引深思,警示编程热潮需平衡健康与成长。`,link:`https://doc.gvsds.com/7127C3BA20253C4D93F13AF6485942E5`,target:`_blank`},{name:`被过度保护与控制的童年`,tag:`hot`,description:`过度保护与控制毁娃独立,需转型赋能型教育。`,link:`https://doc.gvsds.com/D3FA6C08BB973567961F63A30E8003E5`,target:`_blank`}]},{type:`four-columns`,title:`通告`,items:[{name:`银河锋锐软件开发工作室第二季度第一月总结`,tag:`new`,description:`银河锋锐 2025 二季度首月完成技术优化、团队调整及侵权 IP 封禁,明确 5 月文档、维权、项目推进计划。`,link:`https://doc.gvsds.com/B0D08D70143B30BFAE847AA2854685CA`,target:`_blank`}]}]}}},{key:`solution`,data:{title:`解决方案`,description:`基于不同行业的业务特性与发展需求,我们打造了多维度解决方案体系,覆盖主流业务场景,提供多端前端开发,专攻原生 JS,定制界面与交互,保障体验与兼容。`,submenus:[{id:`solution`,name:`标准解决方案`,icon:`fa-building`}],contents:{solution:[{type:`four-columns`,title:`MPA(多页面应用)`,items:[{name:`ResourceShare`,tag:`new`,description:`企业级 MPA 资源共享解决方案:解决 iframe 资源加载瓶颈。支持 VM 虚拟路径映射、Blob 传输优化、可视化 UI 监控以及智能错误诊断。为大规模复杂 Web 应用打造的高性能底层引擎。`,link:`/ProJect/ResourceShare`}]}]}}},{key:`methodology`,data:{title:`方法论`,description:`以价值导向、规范先行、增量迭代、质量内建、知识共享为核心,覆盖需求到复盘全流程。统一编码、协作、测试标准,适配不同规模项目,旨在提升团队效率、降低交付风险,实现高质量软件交付与技术能力沉淀。`,submenus:[{id:`solution`,name:`公开方法论`,icon:`fa-building`}],contents:{solution:[{type:`four-columns`,title:`团队协作`,items:[{name:`协同筑码 工作法`,tag:`hot`,description:`拒绝无意义的技术炫技,回归价值导向。通过规范先行、增量迭代与质量内建,打造可维护、高可用的软件交付体系。`,link:`/Methodology/CollaborativeCoding-WM`}]}]}}}],Q={class:`min-h-screen flex flex-col bg-white font-sans`},le=[`data-nav-theme`],ue={class:`flex items-center justify-between h-16 px-6`},de={class:`flex items-center space-x-4`},$={class:`flex items-center text-primary text-xl font-bold h-10`,id:`header-png`},fe={class:`hidden md:flex items-center space-x-6`},pe=[`data-menu`,`onMouseenter`,`onClick`],me={class:`flex items-center space-x-3`},he={class:`relative hidden md:flex items-center`},ge={class:`flex items-center border border-gray-200 rounded-md overflow-hidden focus-within:border-[#3b82f6] focus-within:ring-1 focus-within:ring-[#3b82f6]/30 w-64 lg:w-80 bg-white`},_e={key:0,id:`search-results-all`,class:`absolute top-full left-0 right-0 mt-1 bg-white rounded-md shadow-lg z-50 max-h-96 overflow-y-auto`},ve={class:`py-2`},ye=[`onMousedown`],be={class:`text-text-primary`},xe={class:`text-text-hint text-xs`},Se={key:0,class:`px-4 py-3 text-sm text-gray-400`},Ce={id:`UserFrame`},we={key:0,href:`https://www.gvsds.com/login`,target:`_blank`,class:`bg-primary text-white px-4 py-2 rounded-md text-sm font-medium hover:bg-primary/90 transition-all duration-200 hover:scale-105 active:scale-95 inline-block`},Te={key:1,href:`https://gerp.gvsds.com/`,target:`_blank`,class:`block`},Ee=[`src`],De={class:`p-4`},Oe={class:`flex flex-col space-y-4`},ke=[`data-menu`],Ae={class:`flex items-center mb-4`},je={class:`relative flex-1 flex items-center`},Me={class:`search-wrapper flex items-center flex-1 border border-gray-200 rounded-md overflow-hidden focus-within:border-primary focus-within:ring-1 focus-within:ring-primary/30 bg-white`},Ne={id:`mobile-search-results`,class:`flex-1 overflow-y-auto`},Pe={class:`py-2`},Fe=[`onClick`],Ie={class:`text-text-primary`},Le={class:`text-text-hint text-xs`},Re=[`id`],ze={class:`w-full flex flex-col md:flex-row`},Be={class:`w-full md:w-80 bg-sidebar p-8`},Ve={class:`text-2xl font-bold text-primary mb-4 flex items-center`},He={key:0,class:`text-text-secondary text-sm leading-relaxed`},Ue={class:`mt-6 space-y-1 -mx-8 -px-8`},We=[`onMouseenter`,`onClick`],Ge={class:`flex-1 border-l border-gray-100 overflow-y-auto md:max-h-[calc(75vh-4rem)]`},Ke={key:0,class:`p-6`},qe={key:0,class:`grid grid-cols-1 md:grid-cols-2 gap-4`},Je=[`href`,`target`],Ye={class:`font-semibold text-text-primary mb-1 flex items-center`},Xe={class:`text-text-secondary text-sm`},Ze={key:1},Qe={class:`font-semibold text-text-primary mb-4 flex items-center`},$e={key:0,class:`tag-feature ml-2`},et={class:`grid grid-cols-1 md:grid-cols-4 gap-8`},tt={class:`space-y-3 text-sm`},nt=[`href`,`target`],rt={key:0,class:`tag-basic ml-2`},it={key:1,class:`tag-new ml-2`},at={key:2,class:`tag-hot ml-2`},ot={key:3,class:`tag-preview ml-2`},st={class:`text-text-hint mt-1`},ct={key:2},lt={class:`font-semibold text-text-primary mb-4`},ut={class:`grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-y-2 gap-x-4 text-sm`},dt=[`href`,`target`],ft={key:3},pt={class:`font-semibold text-text-primary mb-4`},mt={class:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6`},ht=[`href`,`target`],gt={class:`p-4`},_t={class:`font-medium text-text-primary group-hover:text-primary transition-colors`},vt={class:`text-xs text-text-secondary mt-1`},yt={key:4,class:`my-6 border-t border-gray-100`},bt={class:`flex-grow pt-16`},xt=T(s({__name:`SiteLayout`,setup(s){let _=S(),v=E(),x=[{key:`studio`,label:`工作室`},{key:`project`,label:`产品和服务`},{key:`document`,label:`文档`},{key:`solution`,label:`解决方案`},{key:`methodology`,label:`方法论`}],T=h(`light`),D=C(()=>v.avatarUrl),O=h(``),k=h(!1),A=C(()=>{let e=O.value.trim().toLowerCase();if(!e)return[];let t=[];return Z.forEach(n=>{Object.values(n.data.contents).forEach(n=>{n.forEach(n=>{(n.items||[]).forEach(n=>{(n.name.toLowerCase().includes(e)||(n.description||``).toLowerCase().includes(e))&&t.push(n)})})})}),t.slice(0,8)}),j=h(null),M=h(null),N=h(null),te=C(()=>Z.map(e=>({key:e.key,data:e.data})));function P(e){I(),j.value=e;let t=Z.find(t=>t.key===e);t&&(M.value=t.data.submenus[0]?.id||null)}function ne(e){j.value===e?j.value=null:P(e)}function F(){N.value&&clearTimeout(N.value),N.value=setTimeout(()=>{j.value=null},200)}function I(){N.value&&=(clearTimeout(N.value),null)}function L(e,t){return e.contents[t]||[]}function re(e,t){let n=[],r=Math.ceil(e.length/t);for(let t=0;te.toLowerCase().startsWith(t))?e:`https://www.gvsds.com`+e:`#`}function z(e){if(O.value=``,k.value=!1,v.mobileMenuOpen=!1,v.mobileSearchOpen=!1,e.startsWith(`/`)){let t=e.split(`?`)[0].split(`#`)[0];_.push(t)}else window.open(e,`_blank`)}function ie(){setTimeout(()=>{k.value=!1},200)}function B(){if(j.value!==null&&window.scrollY<=200){T.value=`light`;return}T.value=window.scrollY<=5?`light`:`dark`}async function ae(){try{let e=await fetch(`https://ugm.gvsds.com/Query/GetELTUserAvatar`,{credentials:`include`});if(!e.ok)return;let t=await e.blob();v.avatarUrl=URL.createObjectURL(t)}catch{v.avatarUrl=``}}return c(()=>{window.addEventListener(`scroll`,B),B(),ae()}),ee(()=>{window.removeEventListener(`scroll`,B),N.value&&clearTimeout(N.value)}),o(()=>j.value,()=>{B()}),(o,s)=>{let c=w(`router-link`),h=w(`router-view`);return a(),b(`div`,Q,[u(`header`,{id:`header`,class:m([`fixed top-0 left-0 right-0 z-50 transition-all duration-300 ease-in-out bg-white shadow-sm border-b border-gray-100 bg-[linear-gradient(120deg,#ffffff,#f0f8ff,#f8f0ff,#ffffff)] bg-[size:400%_400%] animate-[gradientAnimation_15s_ease_infinite] dark:bg-gray-900 dark:border-gray-800`,T.value===`light`?`!bg-transparent !bg-none !shadow-none !border-transparent`:``]),"data-nav-theme":T.value},[u(`div`,ue,[u(`div`,de,[u(`div`,$,[f(c,{to:`/`,draggable:`false`,class:`flex items-center h-10`},{default:r(()=>[...s[13]||=[u(`img`,{src:`https://www.gvsds.com/assets/hlogos/gnobg.png`,alt:`GVSDS`,class:`h-10 w-auto max-w-[160px] object-contain`},null,-1)]]),_:1})]),u(`button`,{id:`mobile-menu-btn`,class:`md:hidden text-text-primary text-xl transition-all duration-200 hover:scale-110`,onClick:s[0]||=t=>e(v).toggleMobileMenu()},[...s[14]||=[u(`i`,{class:`fa fa-bars`},null,-1)]])]),u(`nav`,fe,[(a(),b(g,null,t(x,e=>u(`a`,{key:e.key,href:`#`,draggable:`false`,class:`relative font-medium transition-colors after:content-[''] after:absolute after:bottom-[-2px] after:left-0 after:w-0 after:h-[2px] after:bg-[#3b82f6] after:transition-all after:duration-200 after:ease hover:after:w-full`,"data-menu":e.key,onMouseenter:t=>P(e.key),onMouseleave:s[1]||=e=>F(),onClick:l(t=>ne(e.key),[`prevent`])},i(e.label),41,pe)),64))]),u(`div`,me,[u(`div`,he,[u(`div`,ge,[n(u(`input`,{type:`text`,id:`search-all`,"onUpdate:modelValue":s[2]||=e=>O.value=e,placeholder:`搜索所有内容...`,class:`w-full px-4 py-2 text-sm outline-none border-0 bg-transparent placeholder-gray-400`,onFocus:s[3]||=e=>k.value=!0,onBlur:s[4]||=e=>ie()},null,544),[[y,O.value]]),u(`button`,{id:`desktop-search-btn`,class:`px-3 h-full text-gray-500 cursor-pointer transition-colors duration-200 hover:text-[#3b82f6]`,onMousedown:s[5]||=l(()=>{},[`prevent`])},[...s[15]||=[u(`i`,{class:`fa fa-search search-icon`},null,-1)]],32)]),k.value&&O.value?(a(),b(`div`,_e,[u(`ul`,ve,[(a(!0),b(g,null,t(A.value,(e,t)=>(a(),b(`li`,{key:t,class:`px-4 py-2 hover:bg-gray-50 cursor-pointer text-sm`,onMousedown:l(t=>z(e.link),[`prevent`])},[u(`span`,be,i(e.name),1),u(`p`,xe,i(e.description),1)],40,ye))),128)),A.value.length===0?(a(),b(`li`,Se,`未找到相关内容`)):d(``,!0)])])):d(``,!0)]),u(`button`,{id:`mobile-search-btn`,class:`md:hidden text-text-primary text-xl transition-all duration-200 hover:scale-110`,onClick:s[6]||=t=>e(v).toggleMobileSearch()},[...s[16]||=[u(`i`,{class:`fa fa-search`},null,-1)]]),u(`div`,Ce,[D.value?(a(),b(`a`,Te,[u(`img`,{src:D.value,class:`w-10 h-10 rounded-full object-cover`},null,8,Ee)])):(a(),b(`a`,we,`登录`))])])])],10,le),u(`div`,{id:`mobile-menu`,class:m([`fixed top-16 left-0 right-0 bottom-0 bg-white z-40 md:hidden`,e(v).mobileMenuOpen?`mobile-menu-enter mobile-menu-enter-active`:`hidden`])},[u(`div`,De,[u(`nav`,Oe,[(a(),b(g,null,t(x,e=>u(`a`,{key:e.key,href:`#`,draggable:`false`,class:`text-text-secondary hover:text-primary font-medium py-2 border-b border-gray-100 transition-colors`,"data-menu":e.key,onClick:s[7]||=l(e=>z(`/`),[`prevent`])},i(e.label),9,ke)),64))])])],2),u(`div`,{id:`mobile-search`,class:m([`fixed top-0 left-0 right-0 bottom-0 bg-white z-50 md:hidden`,e(v).mobileSearchOpen?`flex flex-col p-4`:`hidden`])},[u(`div`,Ae,[u(`button`,{class:`text-text-primary text-xl mr-4 transition-all duration-200 hover:scale-110`,onClick:s[8]||=t=>e(v).toggleMobileSearch()},[...s[17]||=[u(`i`,{class:`fa fa-arrow-left`},null,-1)]]),u(`div`,je,[u(`div`,Me,[n(u(`input`,{type:`text`,id:`search-all-mobile`,"onUpdate:modelValue":s[9]||=e=>O.value=e,placeholder:`搜索所有内容...`,class:`w-full px-4 py-2 text-sm outline-none border-none bg-transparent placeholder-gray-400`},null,512),[[y,O.value]]),u(`button`,{id:`mobile-search-submit`,class:`search-btn`,onMousedown:s[10]||=l(()=>{},[`prevent`])},[...s[18]||=[u(`i`,{class:`fa fa-search search-icon`},null,-1)]],32)])])]),u(`div`,Ne,[u(`ul`,Pe,[(a(!0),b(g,null,t(A.value,(e,t)=>(a(),b(`li`,{key:t,class:`px-4 py-2 hover:bg-gray-50 cursor-pointer text-sm`,onClick:t=>z(e.link)},[u(`span`,Ie,i(e.name),1),u(`p`,Le,i(e.description),1)],8,Fe))),128))])])],2),u(`div`,{id:`mega-menus-container`,onMouseenter:s[11]||=e=>I(),onMouseleave:s[12]||=e=>F()},[(a(!0),b(g,null,t(te.value,e=>(a(),b(`div`,{key:e.key,id:`mega-menu-`+e.key,class:m([`mega-menu fixed top-16 left-0 right-0 bg-white menu-shadow z-50 overflow-y-auto md:max-h-[75vh]`,j.value===e.key?`mega-menu-visible`:`hidden`])},[u(`div`,ze,[u(`aside`,Be,[u(`h3`,Ve,[p(i(e.data.title)+` `,1),s[19]||=u(`i`,{class:`fa fa-angle-right ml-2 text-primary/70`},null,-1)]),e.data.description?(a(),b(`p`,He,i(e.data.description),1)):d(``,!0),u(`ul`,Ue,[(a(!0),b(g,null,t(e.data.submenus,e=>(a(),b(`li`,{key:e.id},[u(`a`,{href:`javascript:;`,class:m([`flex items-center px-4 py-3 text-sm transition-colors`,M.value===e.id?`sidebar-submenu-active`:`text-text-secondary hover:text-primary`]),onMouseenter:t=>M.value=e.id,onClick:l(t=>M.value=e.id,[`prevent`])},[u(`i`,{class:m([`fa`,e.icon+` mr-3 w-4 text-center`])},null,2),u(`span`,null,i(e.name),1)],42,We)]))),128))])]),u(`div`,Ge,[M.value?(a(),b(`div`,Ke,[(a(!0),b(g,null,t(L(e.data,M.value),(n,r)=>(a(),b(g,{key:r},[n.type===`two-cards`?(a(),b(`div`,qe,[(a(!0),b(g,null,t(n.cards,(e,t)=>(a(),b(`div`,{key:t,class:`border border-gray-100 p-4 hover:border-primary hover:bg-gray-50 transition-all cursor-pointer`},[u(`a`,{href:R(e.link),target:e.target||`_self`,class:`block`},[u(`h4`,Ye,[p(i(e.name)+` `,1),s[20]||=u(`i`,{class:`fa fa-angle-right ml-2 text-text-secondary`},null,-1)]),u(`p`,Xe,i(e.description),1)],8,Je)]))),128))])):n.type===`four-columns`?(a(),b(`div`,Ze,[u(`h4`,Qe,[p(i(n.title)+` `,1),n.subtitle?(a(),b(`span`,$e,i(n.subtitle),1)):d(``,!0)]),u(`div`,et,[(a(!0),b(g,null,t(re(n.items??[],4),(e,n)=>(a(),b(`div`,{key:n},[u(`ul`,tt,[(a(!0),b(g,null,t(e,(e,t)=>(a(),b(`li`,{key:t,class:`cursor-pointer`},[u(`a`,{href:R(e.link),target:e.target||`_self`,class:`block text-text-primary hover:text-primary transition-colors`},[u(`span`,null,[p(i(e.name),1),e.tag===`basic`?(a(),b(`span`,rt,`BASIC`)):d(``,!0),e.tag===`new`?(a(),b(`span`,it,`NEW`)):d(``,!0),e.tag===`hot`?(a(),b(`span`,at,`HOT`)):d(``,!0),e.tag===`preview`?(a(),b(`span`,ot,`Preview`)):d(``,!0)]),u(`p`,st,i(e.description),1)],8,nt)]))),128))])]))),128))])])):n.type===`simple-list`?(a(),b(`div`,ct,[u(`h4`,lt,i(n.title),1),u(`ul`,ut,[(a(!0),b(g,null,t(n.items,(e,t)=>(a(),b(`li`,{key:t},[u(`a`,{href:R(e.link),target:e.target||`_self`,class:`text-text-secondary hover:text-primary flex items-center py-1`},[u(`span`,null,i(e.name),1)],8,dt)]))),128))])])):(a(),b(`div`,ft,[u(`h4`,pt,i(n.title),1),u(`div`,mt,[(a(!0),b(g,null,t(n.items||[],(e,t)=>(a(),b(`a`,{key:t,href:R(e.link),target:e.target||`_self`,class:`group block border border-gray-100 rounded-lg overflow-hidden hover:shadow-md transition-shadow bg-white`},[u(`div`,gt,[u(`h5`,_t,i(e.name),1),u(`p`,vt,i(e.description),1)])],8,ht))),128))])])),r{let e=h(!1),t=h(!1),n=h(``),r=h(``);function i(){e.value=!e.value}function a(){t.value=!t.value}return{mobileMenuOpen:e,mobileSearchOpen:t,searchKeyword:n,avatarUrl:r,toggleMobileMenu:i,toggleMobileSearch:a}}),D={class:`bg-gray-900 text-white pt-16 pb-8 px-4 md:px-8 relative overflow-hidden`,id:`footer`},O={class:`container mx-auto relative z-10`},k={class:`grid grid-cols-1 md:grid-cols-12 gap-8 md:gap-12 mb-12`},A={class:`md:col-span-4`},j={class:`space-y-3 text-sm`},M={id:`tetrisWindow`,class:`fixed hidden window-border bg-win-light w-[320px] z-50 transform transition-all duration-300 scale-95 opacity-0`},N={class:`p-3`},te={key:0,class:`text-center`},P={class:`flex justify-center gap-3 my-4`},ne=[`onClick`],F=[`disabled`],I={key:1,class:`text-center`},L={class:`flex justify-between`},re={class:`ml-3 flex flex-col gap-2`},R={class:`window-border-inset bg-win-light p-1 text-center`},z={class:`dot-text text-lg font-bold`},ie={class:`window-border-inset bg-win-light p-1 text-center`},B={key:2,class:`text-center py-6`},ae={class:`mb-2 dot-text`},oe=20,V=10,H=16,se=12,U=T(s({__name:`SiteFooter`,setup(e){let n=h(`difficulty`),o=h(null),s=h(!1),l=h(0),v=h(null),y=h(null),x=[[[1,1,1,1]],[[1,1],[1,1]],[[0,1,0],[1,1,1]],[[0,1,1],[1,1,0]],[[1,1,0],[0,1,1]],[[1,0,0],[1,1,1]],[[0,0,1],[1,1,1]]],S=[`#66B2FF`,`#3399FF`,`#0066CC`,`#004C99`,`#003366`],C=[],T=null,E=null,U=500,W=null,G=!1,K=null,q=null;function ce(){return Array(oe).fill(null).map(()=>Array(V).fill(0))}function J(){let e=Math.floor(Math.random()*x.length),t=Math.floor(Math.random()*S.length);return{shape:x[e],color:S[t],x:Math.floor(V/2)-Math.floor(x[e][0].length/2),y:0}}function Y(e,t,n,r=0,i=0){t.shape.forEach((a,o)=>{a.forEach((a,s)=>{a&&(e.fillStyle=t.color,e.fillRect((t.x+s+r)*n,(t.y+o+i)*n,n-1,n-1))})})}function X(){K&&(K.clearRect(0,0,160,320),C.forEach((e,t)=>{e.forEach((e,n)=>{e&&(K.fillStyle=e,K.fillRect(n*H,t*H,15,15))})}),T&&Y(K,T,H))}function Z(){if(q&&(q.clearRect(0,0,48,48),E)){let e=(4-E.shape[0].length)/2,t=(4-E.shape.length)/2;Y(q,E,se,e,t)}}function Q(e,t=0,n=0){return e.shape.some((r,i)=>r.some((r,a)=>{if(r){let r=e.x+a+t,o=e.y+i+n;return r<0||r>=V||o>=oe||o>=0&&!!C[o][r]}return!1}))}function le(){if(s.value||G||!T)return;let e=T.shape,t=e.length,n=e[0].length,r=Array(n).fill(null).map(()=>Array(t).fill(0));for(let i=0;i{e.forEach((e,n)=>{if(e){if(T.y+t<0){G=!0;return}C[T.y+t][T.x+n]=T.color}})}),de(),T=E,E=J(),X(),Z(),T&&Q(T)&&_e())}function de(){let e=0;for(let t=19;t>=0;t--)C[t].every(e=>e)&&(C.splice(t,1),C.unshift(Array(V).fill(0)),e++,t++);e>0&&(l.value+=e*100*(e>1?e:1))}function $(e,t){return s.value||G||!T?!1:Q(T,e,t)?(t>0&&ue(),!1):(T.x+=e,T.y+=t,X(),!0)}function fe(){if(!(s.value||G))for(;$(0,1););}function pe(){$(0,1)}function me(){o.value&&(C=ce(),l.value=0,G=!1,s.value=!1,T=J(),E=J(),ye(),X(),Z(),W&&clearInterval(W),U=o.value,W=setInterval(pe,U),n.value=`game`)}function he(){W&&=(clearInterval(W),null),n.value=`difficulty`}function ge(){G||(s.value=!s.value,s.value?(W&&clearInterval(W),W=null):W=setInterval(pe,U))}function _e(){W&&clearInterval(W),W=null,G=!0,n.value=`gameover`}function ve(e){o.value=e}function ye(){v.value&&y.value&&(v.value.width=160,v.value.height=320,y.value.width=48,y.value.height=48,K=v.value.getContext(`2d`),q=y.value.getContext(`2d`))}function be(){let e=document.getElementById(`tetrisWindow`);if(!e)return;e.classList.remove(`hidden`),setTimeout(()=>{e.classList.remove(`scale-95`,`opacity-0`),e.classList.add(`scale-100`,`opacity-100`)},10);let t=e.offsetWidth,n=e.offsetHeight;e.style.left=`calc(50% - ${t/2}px)`,e.style.top=`calc(50% - ${n/2}px)`}function xe(){let e=document.getElementById(`tetrisWindow`);e&&(e.classList.remove(`scale-100`,`opacity-100`),e.classList.add(`scale-95`,`opacity-0`),setTimeout(()=>{e.classList.add(`hidden`),W&&clearInterval(W)},300))}function Se(e){if(n.value===`game`)switch(e.key){case`ArrowLeft`:$(-1,0),e.preventDefault();break;case`ArrowRight`:$(1,0),e.preventDefault();break;case`ArrowDown`:$(0,1),e.preventDefault();break;case`ArrowUp`:le(),e.preventDefault();break;case` `:fe(),e.preventDefault();break;case`p`:case`P`:ge(),e.preventDefault()}}return c(()=>{document.addEventListener(`keydown`,Se)}),ee(()=>{document.removeEventListener(`keydown`,Se),W&&clearInterval(W)}),(e,c)=>{let h=w(`router-link`);return a(),b(`div`,null,[u(`footer`,D,[c[12]||=_(``,1),u(`div`,O,[u(`div`,k,[u(`div`,A,[c[4]||=u(`h3`,{class:`text-lg md:text-xl font-semibold mb-6 relative pb-3 text-gray-100`},[p(` 快速导航 `),u(`span`,{class:`absolute bottom-0 left-0 w-12 h-0.5 bg-blue-500 rounded-full`})],-1),u(`ul`,j,[u(`li`,null,[f(h,{to:`/`,class:`text-gray-400 hover:text-white transition-colors duration-300 flex items-center gap-2 group`},{default:r(()=>[...c[0]||=[u(`span`,{class:`w-1.5 h-1.5 bg-blue-500 rounded-full scale-0 group-hover:scale-100 transition-transform duration-300`},null,-1),p(` 主页 `,-1)]]),_:1})]),u(`li`,null,[f(h,{to:`/gallery`,class:`text-gray-400 hover:text-white transition-colors duration-300 flex items-center gap-2 group`},{default:r(()=>[...c[1]||=[u(`span`,{class:`w-1.5 h-1.5 bg-blue-500 rounded-full scale-0 group-hover:scale-100 transition-transform duration-300`},null,-1),p(` 画廊 `,-1)]]),_:1})]),c[3]||=u(`li`,null,[u(`a`,{href:`https://doc.gvsds.com/9bc298e9c1d03ed3bd4777181bf7411d`,target:`_blank`,class:`text-gray-400 hover:text-white transition-colors duration-300 flex items-center gap-2 group`},[u(`span`,{class:`w-1.5 h-1.5 bg-blue-500 rounded-full scale-0 group-hover:scale-100 transition-transform duration-300`}),p(` 文档 `)])],-1),u(`li`,null,[f(h,{to:`/members`,class:`text-gray-400 hover:text-white transition-colors duration-300 flex items-center gap-2 group`},{default:r(()=>[...c[2]||=[u(`span`,{class:`w-1.5 h-1.5 bg-blue-500 rounded-full scale-0 group-hover:scale-100 transition-transform duration-300`},null,-1),p(` 成员 `,-1)]]),_:1})])])]),c[5]||=_(``,2)]),c[11]||=u(`div`,{class:`w-full h-px bg-gray-800 mb-8`},null,-1),u(`div`,null,[u(`div`,{class:`flex flex-col md:flex-row justify-between items-center w-full mx-auto`},[c[10]||=u(`p`,{class:`text-gray-500 text-xs md:text-sm mb-4 md:mb-0`},[p(` © 2026 GVSDS. All Rights Reserved. `),u(`span`,{class:`hidden md:inline`},`|`),u(`br`,{class:`md:hidden`}),u(`a`,{href:`https://beian.miit.gov.cn/`,target:`_blank`,class:`text-gray-400 hover:text-blue-400 transition-colors duration-300`},`津ICP备2025031204号`)],-1),u(`div`,{class:`flex flex-wrap justify-center gap-x-5 gap-y-2 md:gap-y-0 text-xs md:text-sm`},[u(`a`,{class:`text-gray-500 hover:text-blue-400 transition-colors duration-300 flex items-center gap-1 cursor-pointer`,id:`startButton`,onClick:be},[...c[6]||=[u(`i`,{class:`fa fa-cube text-blue-400 text-xs`},null,-1),p(` 彩蛋 `,-1)]]),c[7]||=u(`a`,{href:`https://doc.gvsds.com/fc084ab20a283208adb19033ca4de173`,target:`_blank`,class:`text-gray-500 hover:text-blue-400 transition-colors duration-300`},`隐私政策`,-1),c[8]||=u(`a`,{href:`https://doc.gvsds.com/1f07d3b8cec43a2ab9892a15b150bdd6`,target:`_blank`,class:`text-gray-500 hover:text-blue-400 transition-colors duration-300`},`服务条款`,-1),c[9]||=u(`a`,{href:`https://doc.gvsds.com/d2ae1dd63e9c35d687464a160896e1ab`,target:`_blank`,class:`text-gray-500 hover:text-blue-400 transition-colors duration-300`},`用户协议`,-1)])])])])]),u(`div`,M,[u(`div`,{class:`window-titlebar text-white p-1 flex items-center justify-between`},[c[13]||=u(`div`,{class:`flex items-center`},[u(`i`,{class:`fa fa-cube mr-2`}),u(`span`,{class:`dot-text`},`TETRIS`)],-1),u(`div`,null,[u(`button`,{id:`closeButton`,class:`bg-win-light text-black text-xs px-2 py-0 window-border dot-text`,onClick:xe},`X`)])]),u(`div`,N,[n.value===`difficulty`?(a(),b(`div`,te,[c[14]||=_(`TETRIS
SELECT DIFFICULTY
`,3),u(`div`,P,[(a(),b(g,null,t([800,500,300],e=>u(`button`,{key:e,class:m([`difficulty-btn btn-classic`,o.value===e?`bg-tetris-light`:``]),onClick:t=>ve(e)},i(e===800?`EASY`:e===500?`MEDIUM`:`HARD`),11,ne)),64))]),u(`button`,{class:`btn-classic mt-4`,disabled:!o.value,onClick:me},`START GAME`,8,F)])):d(``,!0),n.value===`game`?(a(),b(`div`,I,[u(`div`,L,[u(`div`,null,[u(`canvas`,{ref_key:`tetrisCanvas`,ref:v,class:`window-border-inset bg-black`},null,512)]),u(`div`,re,[u(`div`,R,[c[15]||=u(`div`,{class:`dot-text text-xs mb-1`},`SCORE`,-1),u(`div`,z,i(l.value),1)]),u(`div`,ie,[c[16]||=u(`div`,{class:`dot-text text-xs mb-1`},`NEXT`,-1),u(`canvas`,{ref_key:`nextCanvas`,ref:y,class:`window-border-inset bg-black`},null,512)]),u(`button`,{class:`btn-classic dot-text`,onClick:ge},i(s.value?`RESUME`:`PAUSE`),1),u(`button`,{class:`btn-classic dot-text`,onClick:he},`RESTART`)])]),c[17]||=u(`div`,{class:`mt-2 text-center text-xs dot-text`},[u(`p`,null,`ARROWS: MOVE & ROTATE`),u(`p`,null,`SPACE: DROP`)],-1)])):d(``,!0),n.value===`gameover`?(a(),b(`div`,B,[c[19]||=u(`div`,{class:`dot-text text-xl font-bold text-tetris-dark mb-4`},`GAME OVER`,-1),u(`div`,ae,[c[18]||=p(`SCORE: `,-1),u(`span`,null,i(l.value),1)]),u(`button`,{class:`btn-classic mt-4`,onClick:he},`PLAY AGAIN`)])):d(``,!0)])])])}}}),[[`__scopeId`,`data-v-de6d9169`]]),W={key:0,id:`GCookie_CookieBanner`,class:`GCookie_Show`,style:{position:`fixed`,bottom:`0`,left:`0`,right:`0`,"z-index":`9999`,background:`rgba(255,255,255,0.95)`,"box-shadow":`0 -2px 10px rgba(0,0,0,0.1)`,padding:`16px 24px`,display:`flex`,"flex-wrap":`wrap`,"align-items":`center`,"justify-content":`space-between`,gap:`12px`}},G={style:{display:`flex`,"flex-wrap":`wrap`,gap:`8px`}},K={style:{background:`#fff`,"border-radius":`8px`,padding:`24px`,width:`90%`,"max-width":`420px`}},q={style:{padding:`12px 0`,"border-top":`1px solid #eee`}},ce={style:{display:`flex`,"justify-content":`space-between`,"align-items":`center`,cursor:`pointer`}},J=`cookie_consent`,Y=`furry_content_enabled`,X=T(s({__name:`CookieBanner`,setup(e){let t=h(!1),r=h(!1),i=h(!0);function o(e){document.querySelectorAll(`.c-furry`).forEach(t=>{e?t.classList.remove(`GCookie_Hidden`):t.classList.add(`GCookie_Hidden`)})}function s(e){localStorage.setItem(J,e),t.value=!1}function f(){i.value=localStorage.getItem(Y)!==`false`,r.value=!0}function p(){r.value=!1}function m(){localStorage.setItem(Y,String(i.value)),o(i.value),p()}return c(()=>{localStorage.getItem(J)||(t.value=!0),o(localStorage.getItem(Y)!==`false`)}),(e,o)=>(a(),b(`div`,null,[t.value?(a(),b(`div`,W,[o[4]||=u(`div`,{style:{flex:`1`,"min-width":`260px`}},[u(`strong`,null,`我们重视您的隐私`),u(`br`),u(`span`,{style:{"font-size":`13px`,color:`#666`}},`我们和我们的合作伙伴使用Cookie或类似技术来访问、存储和处理您的个人数据,例如您的访问信息。这能让我们根据您的兴趣和需求提供更好的体验。您可以随时更改或撤回您的同意。`)],-1),u(`div`,G,[u(`button`,{class:`GCookie_Btn GCookie_BtnSecondary`,onClick:o[0]||=e=>s(`none`)},`我不同意任何Cookie`),u(`button`,{class:`GCookie_Btn GCookie_BtnSecondary`,onClick:o[1]||=e=>s(`necessary`)},`我同意必要Cookie`),u(`button`,{class:`GCookie_Btn GCookie_BtnPrimary`,onClick:o[2]||=e=>s(`all`)},`我同意全部Cookie`),u(`button`,{class:`GCookie_Btn GCookie_BtnSecondary`,onClick:f},`Cookie设置`)])])):d(``,!0),r.value?(a(),b(`div`,{key:1,id:`GCookie_CookieSettingsModal`,style:{position:`fixed`,inset:`0`,"z-index":`10000`,background:`rgba(0,0,0,0.5)`,display:`flex`,"align-items":`center`,"justify-content":`center`},onClick:l(p,[`self`])},[u(`div`,K,[u(`div`,{style:{display:`flex`,"justify-content":`space-between`,"align-items":`center`,"margin-bottom":`16px`}},[o[5]||=u(`h2`,{style:{"font-size":`18px`,margin:`0`}},`Cookie设置`,-1),u(`button`,{class:`GCookie_CloseBtn`,onClick:p,style:{background:`none`,border:`none`,"font-size":`22px`,cursor:`pointer`}},`×`)]),u(`div`,q,[u(`label`,ce,[o[6]||=u(`span`,null,`是否在主页中显示小众元素`,-1),n(u(`input`,{type:`checkbox`,"onUpdate:modelValue":o[3]||=e=>i.value=e,style:{transform:`scale(1.3)`}},null,512),[[x,i.value]])])]),u(`div`,{style:{display:`flex`,"justify-content":`flex-end`,"margin-top":`16px`}},[u(`button`,{class:`GCookie_Btn GCookie_BtnPrimary`,onClick:m},`保存设置`)])])])):d(``,!0)]))}}),[[`__scopeId`,`data-v-b8f5761c`]]),Z=[{key:`studio`,data:{title:`GVSDS`,description:`银河锋锐软件开发工作室(GVSDS)作为"IT 技术团队",致力于编程、AI 和美术设计方面,我们将竭力为您提供最佳服务。感谢您的支持!`,submenus:[{id:`pages`,name:`页面`,icon:`fa-book`},{id:`good-members`,name:`优秀成员`,icon:`fa-user-circle`}],contents:{pages:[{type:`two-cards`,cards:[{name:`加入我们`,description:`加入我们的团体与我们共同进步`,link:`https://invite.gvsds.com/`,target:`_blank`},{name:`开始合作`,description:`成为我们的合作伙伴与我们共同克服苦难`,link:`mailto:hr@gvsds.com?subject=我代表 xxx 期望与银河锋锐软件开发工作室&body=您好!%0D%0A%0D%0A我是 [ 姓名 / 网名 ],我...`,target:`_self`}]},{type:`four-columns`,title:`存根页面`,subtitle:`Basic Pages`,items:[{name:`主页`,tag:`basic`,description:`介绍工作室基本信息,作为工作室门面`,link:`/`},{name:`关于我们`,tag:`basic`,description:`我们的相关事迹等内容`,link:`/about`},{name:`联系我们`,tag:`basic`,description:`与我们取得联系以进行友情合作或商业合作`,link:`/ContactUS`},{name:`登录`,tag:`basic`,description:`登录您已有的账户以查看和使用您的服务`,link:`/login`},{name:`注册`,tag:`basic`,description:`在本平台上注册以尝试我们的服务`,link:`/register`},{name:`画廊`,tag:`hot`,description:`我们工作室的画作和 Hero 界面的图片`,link:`/gallery`},{name:`廉政举报`,tag:`new`,description:`廉政举报是民众参与权力监督的关键途径,我们拒绝任何形式的收受贿赂等等问题。`,link:`/IntegrityReport`}]},{type:`four-columns`,title:`相关页面`,items:[{name:`工作室 API`,description:`竭尽全力为您提供我们最好的应用程序编程接口`,link:`https://api.gvsds.com`,target:`_blank`},{name:`南京大屠杀`,description:`谨以此页,悼念所有南京大屠杀死难者,缅怀为民族解放献身的先烈。历史不容篡改,真相不容否认。`,link:`https://nanjingmassacre.gvsds.com`,target:`_blank`}]},{type:`four-columns`,title:`联系页面`,items:[{name:`哔哩哔哩`,description:`哔哩哔哩 上的 GVSDS 账户`,link:`https://space.bilibili.com/3546619129628868`,target:`_blank`},{name:`Github`,description:`Github 上的 GVSDS 组织`,link:`https://github.com/GVSDS/`,target:`_blank`},{name:`Git 自托管`,description:`GVSDS 部署的 Gitea 快速站点`,link:`https://git.gvsds.com/GVSDS/`,target:`_blank`},{name:`MC MOD 百科`,description:`MC MOD 百科 上的 GVSDS 代理账户`,link:`https://center.mcmod.cn/1125176/`,target:`_blank`},{name:`工作室反馈`,description:`反馈您所有的关于本工作室的问题(若您迟迟未收到回信或无法发送邮件就下面所有邮件全部发一遍)`,link:`mailto:support@gvsds.com`,target:`_blank`},{name:`负责人工作邮箱`,description:`处理工作相关事务等`,link:`mailto:terminexus@gvsds.com`},{name:`负责人个人邮箱`,description:`个人学习交流等`,link:`mailto:wyt18222152539wyt@163.com`},{name:`站点负责人邮箱`,description:`本站的相关管理工作等`,link:`mailto:postmaster@gvsds.com`}]}],"good-members":[{type:`four-columns`,title:`工程部`,subtitle:`技精于专,行稳致远`,items:[{name:`TermiNexus / 明砚`,description:`工作室负责人,全栈程序员`,link:`/Members/TermiNexus`},{name:`Chindows / MicGan`,description:`星界工作室(子工作室)负责人`,link:`#`},{name:`悠然自得`,description:`这个人很懒,连简介都不愿意写`,link:`#`},{name:`SYSTEM-WINDOW`,description:`反编译`,link:`#`},{name:`羊村哲学家`,description:`你来🌍的目的是什么`,link:`#`},{name:`Mendelevium`,description:`我们崇尚万物,我们追随自由。`,link:`#`},{name:`红叶鸣秋`,description:`"那"不是疯话,"这"才是疯话。`,link:`#`},{name:`无风之地`,description:`我是楠酿`,link:`#`}]}]}}},{key:`project`,data:{title:`产品 / 项目`,description:`提供我们历史所作项目的介绍、文档、开源链接等相关信息`,submenus:[{id:`building`,name:`构建`,icon:`fa-building`},{id:`mods`,name:`我的世界模组`,icon:`fa-briefcase`},{id:`web`,name:`前端`,icon:`fa-code`},{id:`minecraft`,name:`Minecraft 服务`,icon:`fa-gamepad`}],contents:{building:[{type:`two-cards`,cards:[{name:`探索服务`,description:`我们将竭尽所能为您提供最新的产品、服务与解决方案`,link:`https://www.gvsds.com/ProJect/Service/Service`,target:`_blank`},{name:`开始合作`,description:`成为我们的合作伙伴与我们共同克服苦难`,link:`mailto:hr@gvsds.com?subject=我代表 xxx 期望与银河锋锐软件开发工作室&body=您好!%0D%0A%0D%0A我是 [ 姓名 / 网名 ],我...`,target:`_self`}]},{type:`four-columns`,title:`新增项目`,items:[{name:`FastProxyX (FPX)`,tag:`new`,description:`Python 实现的快速反向代理(端口映射),支持多端口映射、加密传输、HTTP/HTTPS 等功能`,link:`/ProJect/Unauthorized`},{name:`AScientificDDOSGun`,tag:`new`,description:`Python 实现的快速 DDOS 客户端程序,支持多线程、自定义参数等功能`,link:`/ProJect/Unauthorized`}]},{type:`four-columns`,title:`已完成项目`,items:[{name:`CreateE Library`,description:`使用 Python 实现的 我的世界坐标空间向量计算实现一些列高级指令功能,已完成`,link:`/ProJect/Unauthorized`},{name:`WVBlackManager`,description:`Flask + 前端 实现的 节点状态管理器,支持多节点管理、状态监控、远程控制等功能`,link:`/ProJect/Unauthorized`},{name:`SMANAGE SAAS`,description:`服务即应用平台,面向各终端机,提供了工作室的全部功能,如 成员管理、项目管理、合作管理 等`,link:`/ProJect/SMANAGE`}]},{type:`four-columns`,title:`已废弃项目`,items:[{name:`MikOS`,description:`【星界工作室】使用 Tkinter 实现的伪操作系统图像壳,利用了伪操作系统 NT 架构,已废弃`,link:`/ProJect/Unauthorized`},{name:`NSQL`,description:`使用 Python 实现快速与 MySQL 服务器交互,由于其功能完全可以被 ORM 取代,已废弃`,link:`/ProJect/Unauthorized`}]}],mods:[{type:`four-columns`,title:`前置性模组`,items:[{name:`PyFabricLoader`,tag:`preview`,description:`基于 Jython 实现的 我的世界 与 Python 的交互 mod 加载器,日后考虑使用 VM 技术实现此功能`,link:`#`},{name:`ProxyProtocolSupport`,description:`为 我的世界 服务器提供了 Proxy Protocol Version 1-2 支持,使服务器经过快速反向代理后仍能获得真实地址`,link:`/ProJect/Unauthorized`}]},{type:`four-columns`,title:`玩法性模组`,items:[{name:`枢机信用:资本主义 市场经济`,tag:`preview`,description:`基于 MySQL 实现的交易 mod,支持多币种、实体币种,股市系统,市场经济宏观调控`,link:`#`},{name:`飞行体验`,tag:`preview`,description:`消耗经验实现生存模式飞行`,link:`#`}]}],web:[{type:`four-columns`,title:`前置`,items:[{name:`ResourceShare`,tag:`new`,description:`企业级 MPA 资源共享解决方案:解决 iframe 资源加载瓶颈。支持 VM 虚拟路径映射、Blob 传输优化、可视化 UI 监控以及智能错误诊断。为大规模复杂 Web 应用打造的高性能底层引擎。`,link:`/ProJect/ResourceShare`}]}],minecraft:[{type:`four-columns`,title:`页面`,items:[{name:`在线 MC`,tag:`preview`,description:`利用 WebAssembly 实现的 EaglercraftX 在线 MC`,link:`https://omc.gvsds.com`,target:`_blank`},{name:`《枢机协律》服务器`,tag:`preview`,description:`工作室托管的我的世界服务器主页`,link:`https://mc.gvsds.com`,target:`_blank`},{name:`《枢机协律》信用储备银行`,description:`《枢机协律》内唯一的合法银行`,link:`https://3crb.gvsds.com`,target:`_blank`},{name:`《枢机协律》中央法庭`,tag:`new`,description:`《枢机协律》内唯一的合法民主民判法庭`,link:`https://3c.gvsds.com`,target:`_blank`},{name:`《枢机协律》标准地图`,tag:`new`,description:`《枢机协律》提供的服务器标准地图,会暴露基地地址,考虑关停`,link:`https://mc.gvsds.com:8100`,target:`_blank`}]}]}}},{key:`document`,data:{title:`文档`,description:`尽可能向您提供我们的官方文档`,submenus:[{id:`gvsdsdoc`,name:`工作室文档`,icon:`fa-building`}],contents:{gvsdsdoc:[{type:`four-columns`,title:`公开协议`,items:[{name:`隐私政策`,tag:`new`,description:`Cookie、数据保护及用户权利等核心说明。`,link:`https://doc.gvsds.com/FC084AB20A283208ADB19033CA4DE173`,target:`_blank`},{name:`服务条款`,tag:`new`,description:`银河锋锐软件开发服务全流程、权责、费用及违约等核心条款说明。`,link:`https://doc.gvsds.com/1F07D3B8CEC43A2AB9892A15B150BDD6`,target:`_blank`},{name:`用户协议`,tag:`new`,description:`内容权属、使用规范及免责声明。`,link:`https://doc.gvsds.com/D2AE1DD63E9C35D687464A160896E1AB`,target:`_blank`},{name:`辅助实现本系统的相关数学原理(简化)`,tag:`new`,description:`本系统基于 Flask/gevent 构建,核心依托并行计算、图论等数学原理,实现高并发、高可用的 Web 应用架构,覆盖调度、路由、密钥等全模块优化。`,link:`https://doc.gvsds.com/D9F9194A243D3A499108A7CA082373EA`,target:`_blank`}]},{type:`four-columns`,title:`SVE`,items:[{name:`安全政策`,tag:`hot`,description:`明确安全承诺、管理规范、用户责任及事件响应,保障数据与生态安全。`,link:`https://doc.gvsds.com/6E845A45FC493C66A23A9361BCE1464D`,target:`_blank`}]},{type:`four-columns`,title:`玉米新闻`,items:[{name:`初中生熬夜写代码猝死`,tag:`new`,description:`13 岁生熬夜编程猝死引深思,警示编程热潮需平衡健康与成长。`,link:`https://doc.gvsds.com/7127C3BA20253C4D93F13AF6485942E5`,target:`_blank`},{name:`被过度保护与控制的童年`,tag:`hot`,description:`过度保护与控制毁娃独立,需转型赋能型教育。`,link:`https://doc.gvsds.com/D3FA6C08BB973567961F63A30E8003E5`,target:`_blank`}]},{type:`four-columns`,title:`通告`,items:[{name:`银河锋锐软件开发工作室第二季度第一月总结`,tag:`new`,description:`银河锋锐 2025 二季度首月完成技术优化、团队调整及侵权 IP 封禁,明确 5 月文档、维权、项目推进计划。`,link:`https://doc.gvsds.com/B0D08D70143B30BFAE847AA2854685CA`,target:`_blank`}]}]}}},{key:`solution`,data:{title:`解决方案`,description:`基于不同行业的业务特性与发展需求,我们打造了多维度解决方案体系,覆盖主流业务场景,提供多端前端开发,专攻原生 JS,定制界面与交互,保障体验与兼容。`,submenus:[{id:`solution`,name:`标准解决方案`,icon:`fa-building`}],contents:{solution:[{type:`four-columns`,title:`MPA(多页面应用)`,items:[{name:`ResourceShare`,tag:`new`,description:`企业级 MPA 资源共享解决方案:解决 iframe 资源加载瓶颈。支持 VM 虚拟路径映射、Blob 传输优化、可视化 UI 监控以及智能错误诊断。为大规模复杂 Web 应用打造的高性能底层引擎。`,link:`/ProJect/ResourceShare`}]}]}}},{key:`methodology`,data:{title:`方法论`,description:`以价值导向、规范先行、增量迭代、质量内建、知识共享为核心,覆盖需求到复盘全流程。统一编码、协作、测试标准,适配不同规模项目,旨在提升团队效率、降低交付风险,实现高质量软件交付与技术能力沉淀。`,submenus:[{id:`solution`,name:`公开方法论`,icon:`fa-building`}],contents:{solution:[{type:`four-columns`,title:`团队协作`,items:[{name:`协同筑码 工作法`,tag:`hot`,description:`拒绝无意义的技术炫技,回归价值导向。通过规范先行、增量迭代与质量内建,打造可维护、高可用的软件交付体系。`,link:`/Methodology/CollaborativeCoding-WM`}]}]}}}],Q={class:`min-h-screen flex flex-col bg-white font-sans`},le=[`data-nav-theme`],ue={class:`flex items-center justify-between h-16 px-6`},de={class:`flex items-center space-x-4`},$={class:`flex items-center text-primary text-xl font-bold h-10`,id:`header-png`},fe={class:`hidden md:flex items-center space-x-6`},pe=[`data-menu`,`onMouseenter`,`onClick`],me={class:`flex items-center space-x-3`},he={class:`relative hidden md:flex items-center`},ge={class:`flex items-center border border-gray-200 rounded-md overflow-hidden focus-within:border-[#3b82f6] focus-within:ring-1 focus-within:ring-[#3b82f6]/30 w-64 lg:w-80 bg-white`},_e={key:0,id:`search-results-all`,class:`absolute top-full left-0 right-0 mt-1 bg-white rounded-md shadow-lg z-50 max-h-96 overflow-y-auto`},ve={class:`py-2`},ye=[`onMousedown`],be={class:`text-text-primary`},xe={class:`text-text-hint text-xs`},Se={key:0,class:`px-4 py-3 text-sm text-gray-400`},Ce={id:`UserFrame`},we={key:0,href:`https://www.gvsds.com/login`,target:`_blank`,class:`bg-primary text-white px-4 py-2 rounded-md text-sm font-medium hover:bg-primary/90 transition-all duration-200 hover:scale-105 active:scale-95 inline-block`},Te={key:1,href:`https://gerp.gvsds.com/`,target:`_blank`,class:`block`},Ee=[`src`],De={class:`p-4`},Oe={class:`flex flex-col space-y-4`},ke=[`data-menu`],Ae={class:`flex items-center mb-4`},je={class:`relative flex-1 flex items-center`},Me={class:`search-wrapper flex items-center flex-1 border border-gray-200 rounded-md overflow-hidden focus-within:border-primary focus-within:ring-1 focus-within:ring-primary/30 bg-white`},Ne={id:`mobile-search-results`,class:`flex-1 overflow-y-auto`},Pe={class:`py-2`},Fe=[`onClick`],Ie={class:`text-text-primary`},Le={class:`text-text-hint text-xs`},Re=[`id`],ze={class:`w-full flex flex-col md:flex-row`},Be={class:`w-full md:w-80 bg-sidebar p-8`},Ve={class:`text-2xl font-bold text-primary mb-4 flex items-center`},He={key:0,class:`text-text-secondary text-sm leading-relaxed`},Ue={class:`mt-6 space-y-1 -mx-8 -px-8`},We=[`onMouseenter`,`onClick`],Ge={class:`flex-1 border-l border-gray-100 overflow-y-auto md:max-h-[calc(75vh-4rem)]`},Ke={key:0,class:`p-6`},qe={key:0,class:`grid grid-cols-1 md:grid-cols-2 gap-4`},Je=[`href`,`target`],Ye={class:`font-semibold text-text-primary mb-1 flex items-center`},Xe={class:`text-text-secondary text-sm`},Ze={key:1},Qe={class:`font-semibold text-text-primary mb-4 flex items-center`},$e={key:0,class:`tag-feature ml-2`},et={class:`grid grid-cols-1 md:grid-cols-4 gap-8`},tt={class:`space-y-3 text-sm`},nt=[`href`,`target`],rt={key:0,class:`tag-basic ml-2`},it={key:1,class:`tag-new ml-2`},at={key:2,class:`tag-hot ml-2`},ot={key:3,class:`tag-preview ml-2`},st={class:`text-text-hint mt-1`},ct={key:2},lt={class:`font-semibold text-text-primary mb-4`},ut={class:`grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-y-2 gap-x-4 text-sm`},dt=[`href`,`target`],ft={key:3},pt={class:`font-semibold text-text-primary mb-4`},mt={class:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6`},ht=[`href`,`target`],gt={class:`p-4`},_t={class:`font-medium text-text-primary group-hover:text-primary transition-colors`},vt={class:`text-xs text-text-secondary mt-1`},yt={key:4,class:`my-6 border-t border-gray-100`},bt={class:`flex-grow pt-16`},xt=T(s({__name:`SiteLayout`,setup(s){let _=S(),v=E(),x=[{key:`studio`,label:`工作室`},{key:`project`,label:`产品和服务`},{key:`document`,label:`文档`},{key:`solution`,label:`解决方案`},{key:`methodology`,label:`方法论`}],T=h(`light`),D=C(()=>v.avatarUrl),O=h(``),k=h(!1),A=C(()=>{let e=O.value.trim().toLowerCase();if(!e)return[];let t=[];return Z.forEach(n=>{Object.values(n.data.contents).forEach(n=>{n.forEach(n=>{(n.items||[]).forEach(n=>{(n.name.toLowerCase().includes(e)||(n.description||``).toLowerCase().includes(e))&&t.push(n)})})})}),t.slice(0,8)}),j=h(null),M=h(null),N=h(null),te=C(()=>Z.map(e=>({key:e.key,data:e.data})));function P(e){I(),j.value=e;let t=Z.find(t=>t.key===e);t&&(M.value=t.data.submenus[0]?.id||null)}function ne(e){j.value===e?j.value=null:P(e)}function F(){N.value&&clearTimeout(N.value),N.value=setTimeout(()=>{j.value=null},200)}function I(){N.value&&=(clearTimeout(N.value),null)}function L(e,t){return e.contents[t]||[]}function re(e,t){let n=[],r=Math.ceil(e.length/t);for(let t=0;te.toLowerCase().startsWith(t))?e:`https://www.gvsds.com`+e:`#`}function z(e){if(O.value=``,k.value=!1,v.mobileMenuOpen=!1,v.mobileSearchOpen=!1,e.startsWith(`/`)){let t=e.split(`?`)[0].split(`#`)[0];_.push(t)}else window.open(e,`_blank`)}function ie(){setTimeout(()=>{k.value=!1},200)}function B(){if(j.value!==null&&window.scrollY<=200){T.value=`light`;return}T.value=window.scrollY<=5?`light`:`dark`}async function ae(){try{let e=await fetch(`https://ugm.gvsds.com/Query/GetELTUserAvatar`,{credentials:`include`});if(!e.ok)return;let t=await e.blob();v.avatarUrl=URL.createObjectURL(t)}catch{v.avatarUrl=``}}return c(()=>{window.addEventListener(`scroll`,B),B(),ae()}),ee(()=>{window.removeEventListener(`scroll`,B),N.value&&clearTimeout(N.value)}),o(()=>j.value,()=>{B()}),(o,s)=>{let c=w(`router-link`),h=w(`router-view`);return a(),b(`div`,Q,[u(`header`,{id:`header`,class:m([`fixed top-0 left-0 right-0 z-50 transition-all duration-300 ease-in-out bg-white shadow-sm border-b border-gray-100 bg-[linear-gradient(120deg,#ffffff,#f0f8ff,#f8f0ff,#ffffff)] bg-[size:400%_400%] animate-[gradientAnimation_15s_ease_infinite] dark:bg-gray-900 dark:border-gray-800`,T.value===`light`?`!bg-transparent !bg-none !shadow-none !border-transparent`:``]),"data-nav-theme":T.value},[u(`div`,ue,[u(`div`,de,[u(`div`,$,[f(c,{to:`/`,draggable:`false`,class:`flex items-center h-10`},{default:r(()=>[...s[13]||=[u(`img`,{src:`https://www.gvsds.com/assets/hlogos/gnobg.png`,alt:`GVSDS`,class:`h-10 w-auto max-w-[160px] object-contain`},null,-1)]]),_:1})]),u(`button`,{id:`mobile-menu-btn`,class:`md:hidden text-text-primary text-xl transition-all duration-200 hover:scale-110`,onClick:s[0]||=t=>e(v).toggleMobileMenu()},[...s[14]||=[u(`i`,{class:`fa fa-bars`},null,-1)]])]),u(`nav`,fe,[(a(),b(g,null,t(x,e=>u(`a`,{key:e.key,href:`#`,draggable:`false`,class:`relative font-medium transition-colors after:content-[''] after:absolute after:bottom-[-2px] after:left-0 after:w-0 after:h-[2px] after:bg-[#3b82f6] after:transition-all after:duration-200 after:ease hover:after:w-full`,"data-menu":e.key,onMouseenter:t=>P(e.key),onMouseleave:s[1]||=e=>F(),onClick:l(t=>ne(e.key),[`prevent`])},i(e.label),41,pe)),64))]),u(`div`,me,[u(`div`,he,[u(`div`,ge,[n(u(`input`,{type:`text`,id:`search-all`,"onUpdate:modelValue":s[2]||=e=>O.value=e,placeholder:`搜索所有内容...`,class:`w-full px-4 py-2 text-sm outline-none border-0 bg-transparent placeholder-gray-400`,onFocus:s[3]||=e=>k.value=!0,onBlur:s[4]||=e=>ie()},null,544),[[y,O.value]]),u(`button`,{id:`desktop-search-btn`,class:`px-3 h-full text-gray-500 cursor-pointer transition-colors duration-200 hover:text-[#3b82f6]`,onMousedown:s[5]||=l(()=>{},[`prevent`])},[...s[15]||=[u(`i`,{class:`fa fa-search search-icon`},null,-1)]],32)]),k.value&&O.value?(a(),b(`div`,_e,[u(`ul`,ve,[(a(!0),b(g,null,t(A.value,(e,t)=>(a(),b(`li`,{key:t,class:`px-4 py-2 hover:bg-gray-50 cursor-pointer text-sm`,onMousedown:l(t=>z(e.link),[`prevent`])},[u(`span`,be,i(e.name),1),u(`p`,xe,i(e.description),1)],40,ye))),128)),A.value.length===0?(a(),b(`li`,Se,`未找到相关内容`)):d(``,!0)])])):d(``,!0)]),u(`button`,{id:`mobile-search-btn`,class:`md:hidden text-text-primary text-xl transition-all duration-200 hover:scale-110`,onClick:s[6]||=t=>e(v).toggleMobileSearch()},[...s[16]||=[u(`i`,{class:`fa fa-search`},null,-1)]]),u(`div`,Ce,[D.value?(a(),b(`a`,Te,[u(`img`,{src:D.value,class:`w-10 h-10 rounded-full object-cover`},null,8,Ee)])):(a(),b(`a`,we,`登录`))])])])],10,le),u(`div`,{id:`mobile-menu`,class:m([`fixed top-16 left-0 right-0 bottom-0 bg-white z-40 md:hidden`,e(v).mobileMenuOpen?`mobile-menu-enter mobile-menu-enter-active`:`hidden`])},[u(`div`,De,[u(`nav`,Oe,[(a(),b(g,null,t(x,e=>u(`a`,{key:e.key,href:`#`,draggable:`false`,class:`text-text-secondary hover:text-primary font-medium py-2 border-b border-gray-100 transition-colors`,"data-menu":e.key,onClick:s[7]||=l(e=>z(`/`),[`prevent`])},i(e.label),9,ke)),64))])])],2),u(`div`,{id:`mobile-search`,class:m([`fixed top-0 left-0 right-0 bottom-0 bg-white z-50 md:hidden`,e(v).mobileSearchOpen?`flex flex-col p-4`:`hidden`])},[u(`div`,Ae,[u(`button`,{class:`text-text-primary text-xl mr-4 transition-all duration-200 hover:scale-110`,onClick:s[8]||=t=>e(v).toggleMobileSearch()},[...s[17]||=[u(`i`,{class:`fa fa-arrow-left`},null,-1)]]),u(`div`,je,[u(`div`,Me,[n(u(`input`,{type:`text`,id:`search-all-mobile`,"onUpdate:modelValue":s[9]||=e=>O.value=e,placeholder:`搜索所有内容...`,class:`w-full px-4 py-2 text-sm outline-none border-none bg-transparent placeholder-gray-400`},null,512),[[y,O.value]]),u(`button`,{id:`mobile-search-submit`,class:`search-btn`,onMousedown:s[10]||=l(()=>{},[`prevent`])},[...s[18]||=[u(`i`,{class:`fa fa-search search-icon`},null,-1)]],32)])])]),u(`div`,Ne,[u(`ul`,Pe,[(a(!0),b(g,null,t(A.value,(e,t)=>(a(),b(`li`,{key:t,class:`px-4 py-2 hover:bg-gray-50 cursor-pointer text-sm`,onClick:t=>z(e.link)},[u(`span`,Ie,i(e.name),1),u(`p`,Le,i(e.description),1)],8,Fe))),128))])])],2),u(`div`,{id:`mega-menus-container`,onMouseenter:s[11]||=e=>I(),onMouseleave:s[12]||=e=>F()},[(a(!0),b(g,null,t(te.value,e=>(a(),b(`div`,{key:e.key,id:`mega-menu-`+e.key,class:m([`mega-menu fixed top-16 left-0 right-0 bg-white menu-shadow z-50 overflow-y-auto md:max-h-[75vh]`,j.value===e.key?`mega-menu-visible`:`hidden`])},[u(`div`,ze,[u(`aside`,Be,[u(`h3`,Ve,[p(i(e.data.title)+` `,1),s[19]||=u(`i`,{class:`fa fa-angle-right ml-2 text-primary/70`},null,-1)]),e.data.description?(a(),b(`p`,He,i(e.data.description),1)):d(``,!0),u(`ul`,Ue,[(a(!0),b(g,null,t(e.data.submenus,e=>(a(),b(`li`,{key:e.id},[u(`a`,{href:`javascript:;`,class:m([`flex items-center px-4 py-3 text-sm transition-colors`,M.value===e.id?`sidebar-submenu-active`:`text-text-secondary hover:text-primary`]),onMouseenter:t=>M.value=e.id,onClick:l(t=>M.value=e.id,[`prevent`])},[u(`i`,{class:m([`fa`,e.icon+` mr-3 w-4 text-center`])},null,2),u(`span`,null,i(e.name),1)],42,We)]))),128))])]),u(`div`,Ge,[M.value?(a(),b(`div`,Ke,[(a(!0),b(g,null,t(L(e.data,M.value),(n,r)=>(a(),b(g,{key:r},[n.type===`two-cards`?(a(),b(`div`,qe,[(a(!0),b(g,null,t(n.cards,(e,t)=>(a(),b(`div`,{key:t,class:`border border-gray-100 p-4 hover:border-primary hover:bg-gray-50 transition-all cursor-pointer`},[u(`a`,{href:R(e.link),target:e.target||`_self`,class:`block`},[u(`h4`,Ye,[p(i(e.name)+` `,1),s[20]||=u(`i`,{class:`fa fa-angle-right ml-2 text-text-secondary`},null,-1)]),u(`p`,Xe,i(e.description),1)],8,Je)]))),128))])):n.type===`four-columns`?(a(),b(`div`,Ze,[u(`h4`,Qe,[p(i(n.title)+` `,1),n.subtitle?(a(),b(`span`,$e,i(n.subtitle),1)):d(``,!0)]),u(`div`,et,[(a(!0),b(g,null,t(re(n.items??[],4),(e,n)=>(a(),b(`div`,{key:n},[u(`ul`,tt,[(a(!0),b(g,null,t(e,(e,t)=>(a(),b(`li`,{key:t,class:`cursor-pointer`},[u(`a`,{href:R(e.link),target:e.target||`_self`,class:`block text-text-primary hover:text-primary transition-colors`},[u(`span`,null,[p(i(e.name),1),e.tag===`basic`?(a(),b(`span`,rt,`BASIC`)):d(``,!0),e.tag===`new`?(a(),b(`span`,it,`NEW`)):d(``,!0),e.tag===`hot`?(a(),b(`span`,at,`HOT`)):d(``,!0),e.tag===`preview`?(a(),b(`span`,ot,`Preview`)):d(``,!0)]),u(`p`,st,i(e.description),1)],8,nt)]))),128))])]))),128))])])):n.type===`simple-list`?(a(),b(`div`,ct,[u(`h4`,lt,i(n.title),1),u(`ul`,ut,[(a(!0),b(g,null,t(n.items,(e,t)=>(a(),b(`li`,{key:t},[u(`a`,{href:R(e.link),target:e.target||`_self`,class:`text-text-secondary hover:text-primary flex items-center py-1`},[u(`span`,null,i(e.name),1)],8,dt)]))),128))])])):(a(),b(`div`,ft,[u(`h4`,pt,i(n.title),1),u(`div`,mt,[(a(!0),b(g,null,t(n.items||[],(e,t)=>(a(),b(`a`,{key:t,href:R(e.link),target:e.target||`_self`,class:`group block border border-gray-100 rounded-lg overflow-hidden hover:shadow-md transition-shadow bg-white`},[u(`div`,gt,[u(`h5`,_t,i(e.name),1),u(`p`,vt,i(e.description),1)])],8,ht))),128))])])),r{let e=h(!1),t=h(!1),n=h(``),r=h(``);function i(){e.value=!e.value}function a(){t.value=!t.value}return{mobileMenuOpen:e,mobileSearchOpen:t,searchKeyword:n,avatarUrl:r,toggleMobileMenu:i,toggleMobileSearch:a}}),D={class:`bg-gray-900 text-white pt-16 pb-8 px-4 md:px-8 relative overflow-hidden`,id:`footer`},O={class:`container mx-auto relative z-10`},k={class:`grid grid-cols-1 md:grid-cols-12 gap-8 md:gap-12 mb-12`},A={class:`md:col-span-4`},j={class:`space-y-3 text-sm`},M={id:`tetrisWindow`,class:`fixed hidden window-border bg-win-light w-[320px] z-50 transform transition-all duration-300 scale-95 opacity-0`},N={class:`p-3`},te={key:0,class:`text-center`},P={class:`flex justify-center gap-3 my-4`},ne=[`onClick`],F=[`disabled`],I={key:1,class:`text-center`},L={class:`flex justify-between`},re={class:`ml-3 flex flex-col gap-2`},R={class:`window-border-inset bg-win-light p-1 text-center`},z={class:`dot-text text-lg font-bold`},ie={class:`window-border-inset bg-win-light p-1 text-center`},B={key:2,class:`text-center py-6`},ae={class:`mb-2 dot-text`},oe=20,V=10,H=16,se=12,U=T(s({__name:`SiteFooter`,setup(e){let n=h(`difficulty`),o=h(null),s=h(!1),l=h(0),v=h(null),y=h(null),x=[[[1,1,1,1]],[[1,1],[1,1]],[[0,1,0],[1,1,1]],[[0,1,1],[1,1,0]],[[1,1,0],[0,1,1]],[[1,0,0],[1,1,1]],[[0,0,1],[1,1,1]]],S=[`#66B2FF`,`#3399FF`,`#0066CC`,`#004C99`,`#003366`],C=[],T=null,E=null,U=500,W=null,G=!1,K=null,q=null;function ce(){return Array(oe).fill(null).map(()=>Array(V).fill(0))}function J(){let e=Math.floor(Math.random()*x.length),t=Math.floor(Math.random()*S.length);return{shape:x[e],color:S[t],x:Math.floor(V/2)-Math.floor(x[e][0].length/2),y:0}}function Y(e,t,n,r=0,i=0){t.shape.forEach((a,o)=>{a.forEach((a,s)=>{a&&(e.fillStyle=t.color,e.fillRect((t.x+s+r)*n,(t.y+o+i)*n,n-1,n-1))})})}function X(){K&&(K.clearRect(0,0,160,320),C.forEach((e,t)=>{e.forEach((e,n)=>{e&&(K.fillStyle=e,K.fillRect(n*H,t*H,15,15))})}),T&&Y(K,T,H))}function Z(){if(q&&(q.clearRect(0,0,48,48),E)){let e=(4-E.shape[0].length)/2,t=(4-E.shape.length)/2;Y(q,E,se,e,t)}}function Q(e,t=0,n=0){return e.shape.some((r,i)=>r.some((r,a)=>{if(r){let r=e.x+a+t,o=e.y+i+n;return r<0||r>=V||o>=oe||o>=0&&!!C[o][r]}return!1}))}function le(){if(s.value||G||!T)return;let e=T.shape,t=e.length,n=e[0].length,r=Array(n).fill(null).map(()=>Array(t).fill(0));for(let i=0;i{e.forEach((e,n)=>{if(e){if(T.y+t<0){G=!0;return}C[T.y+t][T.x+n]=T.color}})}),de(),T=E,E=J(),X(),Z(),T&&Q(T)&&_e())}function de(){let e=0;for(let t=19;t>=0;t--)C[t].every(e=>e)&&(C.splice(t,1),C.unshift(Array(V).fill(0)),e++,t++);e>0&&(l.value+=e*100*(e>1?e:1))}function $(e,t){return s.value||G||!T?!1:Q(T,e,t)?(t>0&&ue(),!1):(T.x+=e,T.y+=t,X(),!0)}function fe(){if(!(s.value||G))for(;$(0,1););}function pe(){$(0,1)}function me(){o.value&&(C=ce(),l.value=0,G=!1,s.value=!1,T=J(),E=J(),ye(),X(),Z(),W&&clearInterval(W),U=o.value,W=setInterval(pe,U),n.value=`game`)}function he(){W&&=(clearInterval(W),null),n.value=`difficulty`}function ge(){G||(s.value=!s.value,s.value?(W&&clearInterval(W),W=null):W=setInterval(pe,U))}function _e(){W&&clearInterval(W),W=null,G=!0,n.value=`gameover`}function ve(e){o.value=e}function ye(){v.value&&y.value&&(v.value.width=160,v.value.height=320,y.value.width=48,y.value.height=48,K=v.value.getContext(`2d`),q=y.value.getContext(`2d`))}function be(){let e=document.getElementById(`tetrisWindow`);if(!e)return;e.classList.remove(`hidden`),setTimeout(()=>{e.classList.remove(`scale-95`,`opacity-0`),e.classList.add(`scale-100`,`opacity-100`)},10);let t=e.offsetWidth,n=e.offsetHeight;e.style.left=`calc(50% - ${t/2}px)`,e.style.top=`calc(50% - ${n/2}px)`}function xe(){let e=document.getElementById(`tetrisWindow`);e&&(e.classList.remove(`scale-100`,`opacity-100`),e.classList.add(`scale-95`,`opacity-0`),setTimeout(()=>{e.classList.add(`hidden`),W&&clearInterval(W)},300))}function Se(e){if(n.value===`game`)switch(e.key){case`ArrowLeft`:$(-1,0),e.preventDefault();break;case`ArrowRight`:$(1,0),e.preventDefault();break;case`ArrowDown`:$(0,1),e.preventDefault();break;case`ArrowUp`:le(),e.preventDefault();break;case` `:fe(),e.preventDefault();break;case`p`:case`P`:ge(),e.preventDefault()}}return c(()=>{document.addEventListener(`keydown`,Se)}),ee(()=>{document.removeEventListener(`keydown`,Se),W&&clearInterval(W)}),(e,c)=>{let h=w(`router-link`);return a(),b(`div`,null,[u(`footer`,D,[c[12]||=_(``,1),u(`div`,O,[u(`div`,k,[u(`div`,A,[c[4]||=u(`h3`,{class:`text-lg md:text-xl font-semibold mb-6 relative pb-3 text-gray-100`},[p(` 快速导航 `),u(`span`,{class:`absolute bottom-0 left-0 w-12 h-0.5 bg-blue-500 rounded-full`})],-1),u(`ul`,j,[u(`li`,null,[f(h,{to:`/`,class:`text-gray-400 hover:text-white transition-colors duration-300 flex items-center gap-2 group`},{default:r(()=>[...c[0]||=[u(`span`,{class:`w-1.5 h-1.5 bg-blue-500 rounded-full scale-0 group-hover:scale-100 transition-transform duration-300`},null,-1),p(` 主页 `,-1)]]),_:1})]),u(`li`,null,[f(h,{to:`/gallery`,class:`text-gray-400 hover:text-white transition-colors duration-300 flex items-center gap-2 group`},{default:r(()=>[...c[1]||=[u(`span`,{class:`w-1.5 h-1.5 bg-blue-500 rounded-full scale-0 group-hover:scale-100 transition-transform duration-300`},null,-1),p(` 画廊 `,-1)]]),_:1})]),c[3]||=u(`li`,null,[u(`a`,{href:`https://doc.gvsds.com/9bc298e9c1d03ed3bd4777181bf7411d`,target:`_blank`,class:`text-gray-400 hover:text-white transition-colors duration-300 flex items-center gap-2 group`},[u(`span`,{class:`w-1.5 h-1.5 bg-blue-500 rounded-full scale-0 group-hover:scale-100 transition-transform duration-300`}),p(` 文档 `)])],-1),u(`li`,null,[f(h,{to:`/members`,class:`text-gray-400 hover:text-white transition-colors duration-300 flex items-center gap-2 group`},{default:r(()=>[...c[2]||=[u(`span`,{class:`w-1.5 h-1.5 bg-blue-500 rounded-full scale-0 group-hover:scale-100 transition-transform duration-300`},null,-1),p(` 成员 `,-1)]]),_:1})])])]),c[5]||=_(``,2)]),c[11]||=u(`div`,{class:`w-full h-px bg-gray-800 mb-8`},null,-1),u(`div`,null,[u(`div`,{class:`flex flex-col md:flex-row justify-between items-center w-full mx-auto`},[c[10]||=u(`p`,{class:`text-gray-500 text-xs md:text-sm mb-4 md:mb-0`},[p(` © 2026 GVSDS. All Rights Reserved. `),u(`span`,{class:`hidden md:inline`},`|`),u(`br`,{class:`md:hidden`}),u(`a`,{href:`https://beian.miit.gov.cn/`,target:`_blank`,class:`text-gray-400 hover:text-blue-400 transition-colors duration-300`},`津ICP备2025031204号`)],-1),u(`div`,{class:`flex flex-wrap justify-center gap-x-5 gap-y-2 md:gap-y-0 text-xs md:text-sm`},[u(`a`,{class:`text-gray-500 hover:text-blue-400 transition-colors duration-300 flex items-center gap-1 cursor-pointer`,id:`startButton`,onClick:be},[...c[6]||=[u(`i`,{class:`fa fa-cube text-blue-400 text-xs`},null,-1),p(` 彩蛋 `,-1)]]),c[7]||=u(`a`,{href:`https://doc.gvsds.com/fc084ab20a283208adb19033ca4de173`,target:`_blank`,class:`text-gray-500 hover:text-blue-400 transition-colors duration-300`},`隐私政策`,-1),c[8]||=u(`a`,{href:`https://doc.gvsds.com/1f07d3b8cec43a2ab9892a15b150bdd6`,target:`_blank`,class:`text-gray-500 hover:text-blue-400 transition-colors duration-300`},`服务条款`,-1),c[9]||=u(`a`,{href:`https://doc.gvsds.com/d2ae1dd63e9c35d687464a160896e1ab`,target:`_blank`,class:`text-gray-500 hover:text-blue-400 transition-colors duration-300`},`用户协议`,-1)])])])])]),u(`div`,M,[u(`div`,{class:`window-titlebar text-white p-1 flex items-center justify-between`},[c[13]||=u(`div`,{class:`flex items-center`},[u(`i`,{class:`fa fa-cube mr-2`}),u(`span`,{class:`dot-text`},`TETRIS`)],-1),u(`div`,null,[u(`button`,{id:`closeButton`,class:`bg-win-light text-black text-xs px-2 py-0 window-border dot-text`,onClick:xe},`X`)])]),u(`div`,N,[n.value===`difficulty`?(a(),b(`div`,te,[c[14]||=_(`TETRIS
SELECT DIFFICULTY
`,3),u(`div`,P,[(a(),b(g,null,t([800,500,300],e=>u(`button`,{key:e,class:m([`difficulty-btn btn-classic`,o.value===e?`bg-tetris-light`:``]),onClick:t=>ve(e)},i(e===800?`EASY`:e===500?`MEDIUM`:`HARD`),11,ne)),64))]),u(`button`,{class:`btn-classic mt-4`,disabled:!o.value,onClick:me},`START GAME`,8,F)])):d(``,!0),n.value===`game`?(a(),b(`div`,I,[u(`div`,L,[u(`div`,null,[u(`canvas`,{ref_key:`tetrisCanvas`,ref:v,class:`window-border-inset bg-black`},null,512)]),u(`div`,re,[u(`div`,R,[c[15]||=u(`div`,{class:`dot-text text-xs mb-1`},`SCORE`,-1),u(`div`,z,i(l.value),1)]),u(`div`,ie,[c[16]||=u(`div`,{class:`dot-text text-xs mb-1`},`NEXT`,-1),u(`canvas`,{ref_key:`nextCanvas`,ref:y,class:`window-border-inset bg-black`},null,512)]),u(`button`,{class:`btn-classic dot-text`,onClick:ge},i(s.value?`RESUME`:`PAUSE`),1),u(`button`,{class:`btn-classic dot-text`,onClick:he},`RESTART`)])]),c[17]||=u(`div`,{class:`mt-2 text-center text-xs dot-text`},[u(`p`,null,`ARROWS: MOVE & ROTATE`),u(`p`,null,`SPACE: DROP`)],-1)])):d(``,!0),n.value===`gameover`?(a(),b(`div`,B,[c[19]||=u(`div`,{class:`dot-text text-xl font-bold text-tetris-dark mb-4`},`GAME OVER`,-1),u(`div`,ae,[c[18]||=p(`SCORE: `,-1),u(`span`,null,i(l.value),1)]),u(`button`,{class:`btn-classic mt-4`,onClick:he},`PLAY AGAIN`)])):d(``,!0)])])])}}}),[[`__scopeId`,`data-v-de6d9169`]]),W={key:0,id:`GCookie_CookieBanner`,class:`GCookie_Show`,style:{position:`fixed`,bottom:`0`,left:`0`,right:`0`,"z-index":`9999`,background:`rgba(255,255,255,0.95)`,"box-shadow":`0 -2px 10px rgba(0,0,0,0.1)`,padding:`16px 24px`,display:`flex`,"flex-wrap":`wrap`,"align-items":`center`,"justify-content":`space-between`,gap:`12px`}},G={style:{display:`flex`,"flex-wrap":`wrap`,gap:`8px`}},K={style:{background:`#fff`,"border-radius":`8px`,padding:`24px`,width:`90%`,"max-width":`420px`}},q={style:{padding:`12px 0`,"border-top":`1px solid #eee`}},ce={style:{display:`flex`,"justify-content":`space-between`,"align-items":`center`,cursor:`pointer`}},J=`cookie_consent`,Y=`furry_content_enabled`,X=T(s({__name:`CookieBanner`,setup(e){let t=h(!1),r=h(!1),i=h(!0);function o(e){document.querySelectorAll(`.c-furry`).forEach(t=>{e?t.classList.remove(`GCookie_Hidden`):t.classList.add(`GCookie_Hidden`)})}function s(e){localStorage.setItem(J,e),t.value=!1}function f(){i.value=localStorage.getItem(Y)!==`false`,r.value=!0}function p(){r.value=!1}function m(){localStorage.setItem(Y,String(i.value)),o(i.value),p()}return c(()=>{localStorage.getItem(J)||(t.value=!0),o(localStorage.getItem(Y)!==`false`)}),(e,o)=>(a(),b(`div`,null,[t.value?(a(),b(`div`,W,[o[4]||=u(`div`,{style:{flex:`1`,"min-width":`260px`}},[u(`strong`,null,`我们重视您的隐私`),u(`br`),u(`span`,{style:{"font-size":`13px`,color:`#666`}},`我们和我们的合作伙伴使用Cookie或类似技术来访问、存储和处理您的个人数据,例如您的访问信息。这能让我们根据您的兴趣和需求提供更好的体验。您可以随时更改或撤回您的同意。`)],-1),u(`div`,G,[u(`button`,{class:`GCookie_Btn GCookie_BtnSecondary`,onClick:o[0]||=e=>s(`none`)},`我不同意任何Cookie`),u(`button`,{class:`GCookie_Btn GCookie_BtnSecondary`,onClick:o[1]||=e=>s(`necessary`)},`我同意必要Cookie`),u(`button`,{class:`GCookie_Btn GCookie_BtnPrimary`,onClick:o[2]||=e=>s(`all`)},`我同意全部Cookie`),u(`button`,{class:`GCookie_Btn GCookie_BtnSecondary`,onClick:f},`Cookie设置`)])])):d(``,!0),r.value?(a(),b(`div`,{key:1,id:`GCookie_CookieSettingsModal`,style:{position:`fixed`,inset:`0`,"z-index":`10000`,background:`rgba(0,0,0,0.5)`,display:`flex`,"align-items":`center`,"justify-content":`center`},onClick:l(p,[`self`])},[u(`div`,K,[u(`div`,{style:{display:`flex`,"justify-content":`space-between`,"align-items":`center`,"margin-bottom":`16px`}},[o[5]||=u(`h2`,{style:{"font-size":`18px`,margin:`0`}},`Cookie设置`,-1),u(`button`,{class:`GCookie_CloseBtn`,onClick:p,style:{background:`none`,border:`none`,"font-size":`22px`,cursor:`pointer`}},`×`)]),u(`div`,q,[u(`label`,ce,[o[6]||=u(`span`,null,`是否在主页中显示小众元素`,-1),n(u(`input`,{type:`checkbox`,"onUpdate:modelValue":o[3]||=e=>i.value=e,style:{transform:`scale(1.3)`}},null,512),[[x,i.value]])])]),u(`div`,{style:{display:`flex`,"justify-content":`flex-end`,"margin-top":`16px`}},[u(`button`,{class:`GCookie_Btn GCookie_BtnPrimary`,onClick:m},`保存设置`)])])])):d(``,!0)]))}}),[[`__scopeId`,`data-v-b8f5761c`]]),Z=[{key:`studio`,data:{title:`GVSDS`,description:`银河锋锐软件开发工作室(GVSDS)作为"IT 技术团队",致力于编程、AI 和美术设计方面,我们将竭力为您提供最佳服务。感谢您的支持!`,submenus:[{id:`pages`,name:`页面`,icon:`fa-book`},{id:`good-members`,name:`优秀成员`,icon:`fa-user-circle`}],contents:{pages:[{type:`two-cards`,cards:[{name:`加入我们`,description:`加入我们的团体与我们共同进步`,link:`https://invite.gvsds.com/`,target:`_blank`},{name:`开始合作`,description:`成为我们的合作伙伴与我们共同克服苦难`,link:`mailto:hr@gvsds.com?subject=我代表 xxx 期望与银河锋锐软件开发工作室&body=您好!%0D%0A%0D%0A我是 [ 姓名 / 网名 ],我...`,target:`_self`}]},{type:`four-columns`,title:`存根页面`,subtitle:`Basic Pages`,items:[{name:`主页`,tag:`basic`,description:`介绍工作室基本信息,作为工作室门面`,link:`/`},{name:`关于我们`,tag:`basic`,description:`我们的相关事迹等内容`,link:`/about`},{name:`联系我们`,tag:`basic`,description:`与我们取得联系以进行友情合作或商业合作`,link:`/ContactUS`},{name:`登录`,tag:`basic`,description:`登录您已有的账户以查看和使用您的服务`,link:`/login`},{name:`注册`,tag:`basic`,description:`在本平台上注册以尝试我们的服务`,link:`/register`},{name:`画廊`,tag:`hot`,description:`我们工作室的画作和 Hero 界面的图片`,link:`/gallery`},{name:`廉政举报`,tag:`new`,description:`廉政举报是民众参与权力监督的关键途径,我们拒绝任何形式的收受贿赂等等问题。`,link:`/IntegrityReport`}]},{type:`four-columns`,title:`相关页面`,items:[{name:`工作室 API`,description:`竭尽全力为您提供我们最好的应用程序编程接口`,link:`https://api.gvsds.com`,target:`_blank`},{name:`南京大屠杀`,description:`谨以此页,悼念所有南京大屠杀死难者,缅怀为民族解放献身的先烈。历史不容篡改,真相不容否认。`,link:`https://nanjingmassacre.gvsds.com`,target:`_blank`}]},{type:`four-columns`,title:`联系页面`,items:[{name:`哔哩哔哩`,description:`哔哩哔哩 上的 GVSDS 账户`,link:`https://space.bilibili.com/3546619129628868`,target:`_blank`},{name:`Github`,description:`Github 上的 GVSDS 组织`,link:`https://github.com/GVSDS/`,target:`_blank`},{name:`Git 自托管`,description:`GVSDS 部署的 Gitea 快速站点`,link:`https://git.gvsds.com/GVSDS/`,target:`_blank`},{name:`MC MOD 百科`,description:`MC MOD 百科 上的 GVSDS 代理账户`,link:`https://center.mcmod.cn/1125176/`,target:`_blank`},{name:`工作室反馈`,description:`反馈您所有的关于本工作室的问题(若您迟迟未收到回信或无法发送邮件就下面所有邮件全部发一遍)`,link:`mailto:support@gvsds.com`,target:`_blank`},{name:`负责人工作邮箱`,description:`处理工作相关事务等`,link:`mailto:terminexus@gvsds.com`},{name:`负责人个人邮箱`,description:`个人学习交流等`,link:`mailto:wyt18222152539wyt@163.com`},{name:`站点负责人邮箱`,description:`本站的相关管理工作等`,link:`mailto:postmaster@gvsds.com`}]}],"good-members":[{type:`four-columns`,title:`工程部`,subtitle:`技精于专,行稳致远`,items:[{name:`TermiNexus / 明砚`,description:`工作室负责人,全栈程序员`,link:`/Members/TermiNexus`},{name:`Chindows / MicGan`,description:`星界工作室(子工作室)负责人`,link:`#`},{name:`悠然自得`,description:`这个人很懒,连简介都不愿意写`,link:`#`},{name:`SYSTEM-WINDOW`,description:`反编译`,link:`#`},{name:`羊村哲学家`,description:`你来🌍的目的是什么`,link:`#`},{name:`Mendelevium`,description:`我们崇尚万物,我们追随自由。`,link:`#`},{name:`红叶鸣秋`,description:`"那"不是疯话,"这"才是疯话。`,link:`#`},{name:`无风之地`,description:`我是楠酿`,link:`#`}]}]}}},{key:`project`,data:{title:`产品 / 项目`,description:`提供我们历史所作项目的介绍、文档、开源链接等相关信息`,submenus:[{id:`building`,name:`构建`,icon:`fa-building`},{id:`mods`,name:`我的世界模组`,icon:`fa-briefcase`},{id:`web`,name:`前端`,icon:`fa-code`},{id:`minecraft`,name:`Minecraft 服务`,icon:`fa-gamepad`}],contents:{building:[{type:`two-cards`,cards:[{name:`探索服务`,description:`我们将竭尽所能为您提供最新的产品、服务与解决方案`,link:`https://www.gvsds.com/ProJect/Service/Service`,target:`_blank`},{name:`开始合作`,description:`成为我们的合作伙伴与我们共同克服苦难`,link:`mailto:hr@gvsds.com?subject=我代表 xxx 期望与银河锋锐软件开发工作室&body=您好!%0D%0A%0D%0A我是 [ 姓名 / 网名 ],我...`,target:`_self`}]},{type:`four-columns`,title:`新增项目`,items:[{name:`FastProxyX (FPX)`,tag:`new`,description:`Python 实现的快速反向代理(端口映射),支持多端口映射、加密传输、HTTP/HTTPS 等功能`,link:`/ProJect/Unauthorized`},{name:`AScientificDDOSGun`,tag:`new`,description:`Python 实现的快速 DDOS 客户端程序,支持多线程、自定义参数等功能`,link:`/ProJect/Unauthorized`}]},{type:`four-columns`,title:`已完成项目`,items:[{name:`CreateE Library`,description:`使用 Python 实现的 我的世界坐标空间向量计算实现一些列高级指令功能,已完成`,link:`/ProJect/Unauthorized`},{name:`WVBlackManager`,description:`Flask + 前端 实现的 节点状态管理器,支持多节点管理、状态监控、远程控制等功能`,link:`/ProJect/Unauthorized`},{name:`SMANAGE SAAS`,description:`服务即应用平台,面向各终端机,提供了工作室的全部功能,如 成员管理、项目管理、合作管理 等`,link:`/ProJect/SMANAGE`}]},{type:`four-columns`,title:`已废弃项目`,items:[{name:`MikOS`,description:`【星界工作室】使用 Tkinter 实现的伪操作系统图像壳,利用了伪操作系统 NT 架构,已废弃`,link:`/ProJect/Unauthorized`},{name:`NSQL`,description:`使用 Python 实现快速与 MySQL 服务器交互,由于其功能完全可以被 ORM 取代,已废弃`,link:`/ProJect/Unauthorized`}]}],mods:[{type:`four-columns`,title:`前置性模组`,items:[{name:`PyFabricLoader`,tag:`preview`,description:`基于 Jython 实现的 我的世界 与 Python 的交互 mod 加载器,日后考虑使用 VM 技术实现此功能`,link:`#`},{name:`ProxyProtocolSupport`,description:`为 我的世界 服务器提供了 Proxy Protocol Version 1-2 支持,使服务器经过快速反向代理后仍能获得真实地址`,link:`/ProJect/Unauthorized`}]},{type:`four-columns`,title:`玩法性模组`,items:[{name:`枢机信用:资本主义 市场经济`,tag:`preview`,description:`基于 MySQL 实现的交易 mod,支持多币种、实体币种,股市系统,市场经济宏观调控`,link:`#`},{name:`飞行体验`,tag:`preview`,description:`消耗经验实现生存模式飞行`,link:`#`}]}],web:[{type:`four-columns`,title:`前置`,items:[{name:`ResourceShare`,tag:`new`,description:`企业级 MPA 资源共享解决方案:解决 iframe 资源加载瓶颈。支持 VM 虚拟路径映射、Blob 传输优化、可视化 UI 监控以及智能错误诊断。为大规模复杂 Web 应用打造的高性能底层引擎。`,link:`/ProJect/ResourceShare`}]}],minecraft:[{type:`four-columns`,title:`页面`,items:[{name:`在线 MC`,tag:`preview`,description:`利用 WebAssembly 实现的 EaglercraftX 在线 MC`,link:`https://omc.gvsds.com`,target:`_blank`},{name:`《枢机协律》服务器`,tag:`preview`,description:`工作室托管的我的世界服务器主页`,link:`https://mc.gvsds.com`,target:`_blank`},{name:`《枢机协律》信用储备银行`,description:`《枢机协律》内唯一的合法银行`,link:`https://3crb.gvsds.com`,target:`_blank`},{name:`《枢机协律》中央法庭`,tag:`new`,description:`《枢机协律》内唯一的合法民主民判法庭`,link:`https://3c.gvsds.com`,target:`_blank`},{name:`《枢机协律》标准地图`,tag:`new`,description:`《枢机协律》提供的服务器标准地图,会暴露基地地址,考虑关停`,link:`https://mc.gvsds.com:8100`,target:`_blank`}]}]}}},{key:`document`,data:{title:`文档`,description:`尽可能向您提供我们的官方文档`,submenus:[{id:`gvsdsdoc`,name:`工作室文档`,icon:`fa-building`}],contents:{gvsdsdoc:[{type:`four-columns`,title:`公开协议`,items:[{name:`隐私政策`,tag:`new`,description:`Cookie、数据保护及用户权利等核心说明。`,link:`https://doc.gvsds.com/FC084AB20A283208ADB19033CA4DE173`,target:`_blank`},{name:`服务条款`,tag:`new`,description:`银河锋锐软件开发服务全流程、权责、费用及违约等核心条款说明。`,link:`https://doc.gvsds.com/1F07D3B8CEC43A2AB9892A15B150BDD6`,target:`_blank`},{name:`用户协议`,tag:`new`,description:`内容权属、使用规范及免责声明。`,link:`https://doc.gvsds.com/D2AE1DD63E9C35D687464A160896E1AB`,target:`_blank`},{name:`辅助实现本系统的相关数学原理(简化)`,tag:`new`,description:`本系统基于 Flask/gevent 构建,核心依托并行计算、图论等数学原理,实现高并发、高可用的 Web 应用架构,覆盖调度、路由、密钥等全模块优化。`,link:`https://doc.gvsds.com/D9F9194A243D3A499108A7CA082373EA`,target:`_blank`}]},{type:`four-columns`,title:`SVE`,items:[{name:`安全政策`,tag:`hot`,description:`明确安全承诺、管理规范、用户责任及事件响应,保障数据与生态安全。`,link:`https://doc.gvsds.com/6E845A45FC493C66A23A9361BCE1464D`,target:`_blank`}]},{type:`four-columns`,title:`玉米新闻`,items:[{name:`初中生熬夜写代码猝死`,tag:`new`,description:`13 岁生熬夜编程猝死引深思,警示编程热潮需平衡健康与成长。`,link:`https://doc.gvsds.com/7127C3BA20253C4D93F13AF6485942E5`,target:`_blank`},{name:`被过度保护与控制的童年`,tag:`hot`,description:`过度保护与控制毁娃独立,需转型赋能型教育。`,link:`https://doc.gvsds.com/D3FA6C08BB973567961F63A30E8003E5`,target:`_blank`}]},{type:`four-columns`,title:`通告`,items:[{name:`银河锋锐软件开发工作室第二季度第一月总结`,tag:`new`,description:`银河锋锐 2025 二季度首月完成技术优化、团队调整及侵权 IP 封禁,明确 5 月文档、维权、项目推进计划。`,link:`https://doc.gvsds.com/B0D08D70143B30BFAE847AA2854685CA`,target:`_blank`}]}]}}},{key:`solution`,data:{title:`解决方案`,description:`基于不同行业的业务特性与发展需求,我们打造了多维度解决方案体系,覆盖主流业务场景,提供多端前端开发,专攻原生 JS,定制界面与交互,保障体验与兼容。`,submenus:[{id:`solution`,name:`标准解决方案`,icon:`fa-building`}],contents:{solution:[{type:`four-columns`,title:`MPA(多页面应用)`,items:[{name:`ResourceShare`,tag:`new`,description:`企业级 MPA 资源共享解决方案:解决 iframe 资源加载瓶颈。支持 VM 虚拟路径映射、Blob 传输优化、可视化 UI 监控以及智能错误诊断。为大规模复杂 Web 应用打造的高性能底层引擎。`,link:`/ProJect/ResourceShare`}]}]}}},{key:`methodology`,data:{title:`方法论`,description:`以价值导向、规范先行、增量迭代、质量内建、知识共享为核心,覆盖需求到复盘全流程。统一编码、协作、测试标准,适配不同规模项目,旨在提升团队效率、降低交付风险,实现高质量软件交付与技术能力沉淀。`,submenus:[{id:`solution`,name:`公开方法论`,icon:`fa-building`}],contents:{solution:[{type:`four-columns`,title:`团队协作`,items:[{name:`协同筑码 工作法`,tag:`hot`,description:`拒绝无意义的技术炫技,回归价值导向。通过规范先行、增量迭代与质量内建,打造可维护、高可用的软件交付体系。`,link:`/Methodology/CollaborativeCoding-WM`}]}]}}}],Q={class:`min-h-screen flex flex-col bg-white font-sans`},le=[`data-nav-theme`],ue={class:`flex items-center justify-between h-16 px-6`},de={class:`flex items-center space-x-4`},$={class:`flex items-center text-primary text-xl font-bold h-10`,id:`header-png`},fe={class:`hidden md:flex items-center space-x-6`},pe=[`data-menu`,`onMouseenter`,`onClick`],me={class:`flex items-center space-x-3`},he={class:`relative hidden md:flex items-center`},ge={class:`flex items-center border border-gray-200 rounded-md overflow-hidden focus-within:border-[#3b82f6] focus-within:ring-1 focus-within:ring-[#3b82f6]/30 w-64 lg:w-80 bg-white`},_e={key:0,id:`search-results-all`,class:`absolute top-full left-0 right-0 mt-1 bg-white rounded-md shadow-lg z-50 max-h-96 overflow-y-auto`},ve={class:`py-2`},ye=[`onMousedown`],be={class:`text-text-primary`},xe={class:`text-text-hint text-xs`},Se={key:0,class:`px-4 py-3 text-sm text-gray-400`},Ce={id:`UserFrame`},we={key:0,href:`https://www.gvsds.com/login`,target:`_blank`,class:`bg-primary text-white px-4 py-2 rounded-md text-sm font-medium hover:bg-primary/90 transition-all duration-200 hover:scale-105 active:scale-95 inline-block`},Te={key:1,href:`https://gerp.gvsds.com/`,target:`_blank`,class:`block`},Ee=[`src`],De={class:`p-4`},Oe={class:`flex flex-col space-y-4`},ke=[`data-menu`],Ae={class:`flex items-center mb-4`},je={class:`relative flex-1 flex items-center`},Me={class:`search-wrapper flex items-center flex-1 border border-gray-200 rounded-md overflow-hidden focus-within:border-primary focus-within:ring-1 focus-within:ring-primary/30 bg-white`},Ne={id:`mobile-search-results`,class:`flex-1 overflow-y-auto`},Pe={class:`py-2`},Fe=[`onClick`],Ie={class:`text-text-primary`},Le={class:`text-text-hint text-xs`},Re=[`id`],ze={class:`w-full flex flex-col md:flex-row`},Be={class:`w-full md:w-80 bg-sidebar p-8`},Ve={class:`text-2xl font-bold text-primary mb-4 flex items-center`},He={key:0,class:`text-text-secondary text-sm leading-relaxed`},Ue={class:`mt-6 space-y-1 -mx-8 -px-8`},We=[`onMouseenter`,`onClick`],Ge={class:`flex-1 border-l border-gray-100 overflow-y-auto md:max-h-[calc(75vh-4rem)]`},Ke={key:0,class:`p-6`},qe={key:0,class:`grid grid-cols-1 md:grid-cols-2 gap-4`},Je=[`href`,`target`],Ye={class:`font-semibold text-text-primary mb-1 flex items-center`},Xe={class:`text-text-secondary text-sm`},Ze={key:1},Qe={class:`font-semibold text-text-primary mb-4 flex items-center`},$e={key:0,class:`tag-feature ml-2`},et={class:`grid grid-cols-1 md:grid-cols-4 gap-8`},tt={class:`space-y-3 text-sm`},nt=[`href`,`target`],rt={key:0,class:`tag-basic ml-2`},it={key:1,class:`tag-new ml-2`},at={key:2,class:`tag-hot ml-2`},ot={key:3,class:`tag-preview ml-2`},st={class:`text-text-hint mt-1`},ct={key:2},lt={class:`font-semibold text-text-primary mb-4`},ut={class:`grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-y-2 gap-x-4 text-sm`},dt=[`href`,`target`],ft={key:3},pt={class:`font-semibold text-text-primary mb-4`},mt={class:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6`},ht=[`href`,`target`],gt={class:`p-4`},_t={class:`font-medium text-text-primary group-hover:text-primary transition-colors`},vt={class:`text-xs text-text-secondary mt-1`},yt={key:4,class:`my-6 border-t border-gray-100`},bt={class:`flex-grow pt-16`},xt=T(s({__name:`SiteLayout`,setup(s){let _=S(),v=E(),x=[{key:`studio`,label:`工作室`},{key:`project`,label:`产品和服务`},{key:`document`,label:`文档`},{key:`solution`,label:`解决方案`},{key:`methodology`,label:`方法论`}],T=h(`light`),D=C(()=>v.avatarUrl),O=h(``),k=h(!1),A=C(()=>{let e=O.value.trim().toLowerCase();if(!e)return[];let t=[];return Z.forEach(n=>{Object.values(n.data.contents).forEach(n=>{n.forEach(n=>{(n.items||[]).forEach(n=>{(n.name.toLowerCase().includes(e)||(n.description||``).toLowerCase().includes(e))&&t.push(n)})})})}),t.slice(0,8)}),j=h(null),M=h(null),N=h(null),te=C(()=>Z.map(e=>({key:e.key,data:e.data})));function P(e){I(),j.value=e;let t=Z.find(t=>t.key===e);t&&(M.value=t.data.submenus[0]?.id||null)}function ne(e){j.value===e?j.value=null:P(e)}function F(){N.value&&clearTimeout(N.value),N.value=setTimeout(()=>{j.value=null},200)}function I(){N.value&&=(clearTimeout(N.value),null)}function L(e,t){return e.contents[t]||[]}function re(e,t){let n=[],r=Math.ceil(e.length/t);for(let t=0;te.toLowerCase().startsWith(t))?e:`https://www.gvsds.com`+e:`#`}function z(e){if(O.value=``,k.value=!1,v.mobileMenuOpen=!1,v.mobileSearchOpen=!1,e.startsWith(`/`)){let t=e.split(`?`)[0].split(`#`)[0];_.push(t)}else window.open(e,`_blank`)}function ie(){setTimeout(()=>{k.value=!1},200)}function B(){if(j.value!==null&&window.scrollY<=200){T.value=`light`;return}T.value=window.scrollY<=5?`light`:`dark`}async function ae(){try{let e=await fetch(`https://ugm.gvsds.com/Query/GetELTUserAvatar`,{credentials:`include`});if(!e.ok)return;let t=await e.blob();v.avatarUrl=URL.createObjectURL(t)}catch{v.avatarUrl=``}}return c(()=>{window.addEventListener(`scroll`,B),B(),ae()}),ee(()=>{window.removeEventListener(`scroll`,B),N.value&&clearTimeout(N.value)}),o(()=>j.value,()=>{B()}),(o,s)=>{let c=w(`router-link`),h=w(`router-view`);return a(),b(`div`,Q,[u(`header`,{id:`header`,class:m([`fixed top-0 left-0 right-0 z-50 transition-all duration-300 ease-in-out bg-white shadow-sm border-b border-gray-100 bg-[linear-gradient(120deg,#ffffff,#f0f8ff,#f8f0ff,#ffffff)] bg-[size:400%_400%] animate-[gradientAnimation_15s_ease_infinite] dark:bg-gray-900 dark:border-gray-800`,T.value===`light`?`!bg-transparent !bg-none !shadow-none !border-transparent`:``]),"data-nav-theme":T.value},[u(`div`,ue,[u(`div`,de,[u(`div`,$,[f(c,{to:`/`,draggable:`false`,class:`flex items-center h-10`},{default:r(()=>[...s[13]||=[u(`img`,{src:`https://www.gvsds.com/assets/hlogos/gnobg.png`,alt:`GVSDS`,class:`h-10 w-auto max-w-[160px] object-contain`},null,-1)]]),_:1})]),u(`button`,{id:`mobile-menu-btn`,class:`md:hidden text-text-primary text-xl transition-all duration-200 hover:scale-110`,onClick:s[0]||=t=>e(v).toggleMobileMenu()},[...s[14]||=[u(`i`,{class:`fa fa-bars`},null,-1)]])]),u(`nav`,fe,[(a(),b(g,null,t(x,e=>u(`a`,{key:e.key,href:`#`,draggable:`false`,class:`relative font-medium transition-colors after:content-[''] after:absolute after:bottom-[-2px] after:left-0 after:w-0 after:h-[2px] after:bg-[#3b82f6] after:transition-all after:duration-200 after:ease hover:after:w-full`,"data-menu":e.key,onMouseenter:t=>P(e.key),onMouseleave:s[1]||=e=>F(),onClick:l(t=>ne(e.key),[`prevent`])},i(e.label),41,pe)),64))]),u(`div`,me,[u(`div`,he,[u(`div`,ge,[n(u(`input`,{type:`text`,id:`search-all`,"onUpdate:modelValue":s[2]||=e=>O.value=e,placeholder:`搜索所有内容...`,class:`w-full px-4 py-2 text-sm outline-none border-0 bg-transparent placeholder-gray-400`,onFocus:s[3]||=e=>k.value=!0,onBlur:s[4]||=e=>ie()},null,544),[[y,O.value]]),u(`button`,{id:`desktop-search-btn`,class:`px-3 h-full text-gray-500 cursor-pointer transition-colors duration-200 hover:text-[#3b82f6]`,onMousedown:s[5]||=l(()=>{},[`prevent`])},[...s[15]||=[u(`i`,{class:`fa fa-search search-icon`},null,-1)]],32)]),k.value&&O.value?(a(),b(`div`,_e,[u(`ul`,ve,[(a(!0),b(g,null,t(A.value,(e,t)=>(a(),b(`li`,{key:t,class:`px-4 py-2 hover:bg-gray-50 cursor-pointer text-sm`,onMousedown:l(t=>z(e.link),[`prevent`])},[u(`span`,be,i(e.name),1),u(`p`,xe,i(e.description),1)],40,ye))),128)),A.value.length===0?(a(),b(`li`,Se,`未找到相关内容`)):d(``,!0)])])):d(``,!0)]),u(`button`,{id:`mobile-search-btn`,class:`md:hidden text-text-primary text-xl transition-all duration-200 hover:scale-110`,onClick:s[6]||=t=>e(v).toggleMobileSearch()},[...s[16]||=[u(`i`,{class:`fa fa-search`},null,-1)]]),u(`div`,Ce,[D.value?(a(),b(`a`,Te,[u(`img`,{src:D.value,class:`w-10 h-10 rounded-full object-cover`},null,8,Ee)])):(a(),b(`a`,we,`登录`))])])])],10,le),u(`div`,{id:`mobile-menu`,class:m([`fixed top-16 left-0 right-0 bottom-0 bg-white z-40 md:hidden`,e(v).mobileMenuOpen?`mobile-menu-enter mobile-menu-enter-active`:`hidden`])},[u(`div`,De,[u(`nav`,Oe,[(a(),b(g,null,t(x,e=>u(`a`,{key:e.key,href:`#`,draggable:`false`,class:`text-text-secondary hover:text-primary font-medium py-2 border-b border-gray-100 transition-colors`,"data-menu":e.key,onClick:s[7]||=l(e=>z(`/`),[`prevent`])},i(e.label),9,ke)),64))])])],2),u(`div`,{id:`mobile-search`,class:m([`fixed top-0 left-0 right-0 bottom-0 bg-white z-50 md:hidden`,e(v).mobileSearchOpen?`flex flex-col p-4`:`hidden`])},[u(`div`,Ae,[u(`button`,{class:`text-text-primary text-xl mr-4 transition-all duration-200 hover:scale-110`,onClick:s[8]||=t=>e(v).toggleMobileSearch()},[...s[17]||=[u(`i`,{class:`fa fa-arrow-left`},null,-1)]]),u(`div`,je,[u(`div`,Me,[n(u(`input`,{type:`text`,id:`search-all-mobile`,"onUpdate:modelValue":s[9]||=e=>O.value=e,placeholder:`搜索所有内容...`,class:`w-full px-4 py-2 text-sm outline-none border-none bg-transparent placeholder-gray-400`},null,512),[[y,O.value]]),u(`button`,{id:`mobile-search-submit`,class:`search-btn`,onMousedown:s[10]||=l(()=>{},[`prevent`])},[...s[18]||=[u(`i`,{class:`fa fa-search search-icon`},null,-1)]],32)])])]),u(`div`,Ne,[u(`ul`,Pe,[(a(!0),b(g,null,t(A.value,(e,t)=>(a(),b(`li`,{key:t,class:`px-4 py-2 hover:bg-gray-50 cursor-pointer text-sm`,onClick:t=>z(e.link)},[u(`span`,Ie,i(e.name),1),u(`p`,Le,i(e.description),1)],8,Fe))),128))])])],2),u(`div`,{id:`mega-menus-container`,onMouseenter:s[11]||=e=>I(),onMouseleave:s[12]||=e=>F()},[(a(!0),b(g,null,t(te.value,e=>(a(),b(`div`,{key:e.key,id:`mega-menu-`+e.key,class:m([`mega-menu fixed top-16 left-0 right-0 bg-white menu-shadow z-50 overflow-y-auto md:max-h-[75vh]`,j.value===e.key?`mega-menu-visible`:`hidden`])},[u(`div`,ze,[u(`aside`,Be,[u(`h3`,Ve,[p(i(e.data.title)+` `,1),s[19]||=u(`i`,{class:`fa fa-angle-right ml-2 text-primary/70`},null,-1)]),e.data.description?(a(),b(`p`,He,i(e.data.description),1)):d(``,!0),u(`ul`,Ue,[(a(!0),b(g,null,t(e.data.submenus,e=>(a(),b(`li`,{key:e.id},[u(`a`,{href:`javascript:;`,class:m([`flex items-center px-4 py-3 text-sm transition-colors`,M.value===e.id?`sidebar-submenu-active`:`text-text-secondary hover:text-primary`]),onMouseenter:t=>M.value=e.id,onClick:l(t=>M.value=e.id,[`prevent`])},[u(`i`,{class:m([`fa`,e.icon+` mr-3 w-4 text-center`])},null,2),u(`span`,null,i(e.name),1)],42,We)]))),128))])]),u(`div`,Ge,[M.value?(a(),b(`div`,Ke,[(a(!0),b(g,null,t(L(e.data,M.value),(n,r)=>(a(),b(g,{key:r},[n.type===`two-cards`?(a(),b(`div`,qe,[(a(!0),b(g,null,t(n.cards,(e,t)=>(a(),b(`div`,{key:t,class:`border border-gray-100 p-4 hover:border-primary hover:bg-gray-50 transition-all cursor-pointer`},[u(`a`,{href:R(e.link),target:e.target||`_self`,class:`block`},[u(`h4`,Ye,[p(i(e.name)+` `,1),s[20]||=u(`i`,{class:`fa fa-angle-right ml-2 text-text-secondary`},null,-1)]),u(`p`,Xe,i(e.description),1)],8,Je)]))),128))])):n.type===`four-columns`?(a(),b(`div`,Ze,[u(`h4`,Qe,[p(i(n.title)+` `,1),n.subtitle?(a(),b(`span`,$e,i(n.subtitle),1)):d(``,!0)]),u(`div`,et,[(a(!0),b(g,null,t(re(n.items??[],4),(e,n)=>(a(),b(`div`,{key:n},[u(`ul`,tt,[(a(!0),b(g,null,t(e,(e,t)=>(a(),b(`li`,{key:t,class:`cursor-pointer`},[u(`a`,{href:R(e.link),target:e.target||`_self`,class:`block text-text-primary hover:text-primary transition-colors`},[u(`span`,null,[p(i(e.name),1),e.tag===`basic`?(a(),b(`span`,rt,`BASIC`)):d(``,!0),e.tag===`new`?(a(),b(`span`,it,`NEW`)):d(``,!0),e.tag===`hot`?(a(),b(`span`,at,`HOT`)):d(``,!0),e.tag===`preview`?(a(),b(`span`,ot,`Preview`)):d(``,!0)]),u(`p`,st,i(e.description),1)],8,nt)]))),128))])]))),128))])])):n.type===`simple-list`?(a(),b(`div`,ct,[u(`h4`,lt,i(n.title),1),u(`ul`,ut,[(a(!0),b(g,null,t(n.items,(e,t)=>(a(),b(`li`,{key:t},[u(`a`,{href:R(e.link),target:e.target||`_self`,class:`text-text-secondary hover:text-primary flex items-center py-1`},[u(`span`,null,i(e.name),1)],8,dt)]))),128))])])):(a(),b(`div`,ft,[u(`h4`,pt,i(n.title),1),u(`div`,mt,[(a(!0),b(g,null,t(n.items||[],(e,t)=>(a(),b(`a`,{key:t,href:R(e.link),target:e.target||`_self`,class:`group block border border-gray-100 rounded-lg overflow-hidden hover:shadow-md transition-shadow bg-white`},[u(`div`,gt,[u(`h5`,_t,i(e.name),1),u(`p`,vt,i(e.description),1)])],8,ht))),128))])])),r{let e=h(!1),t=h(!1),n=h(``),r=h(``);function i(){e.value=!e.value}function a(){t.value=!t.value}return{mobileMenuOpen:e,mobileSearchOpen:t,searchKeyword:n,avatarUrl:r,toggleMobileMenu:i,toggleMobileSearch:a}}),D={class:`bg-gray-900 text-white pt-16 pb-8 px-4 md:px-8 relative overflow-hidden`,id:`footer`},O={class:`container mx-auto relative z-10`},k={class:`grid grid-cols-1 md:grid-cols-12 gap-8 md:gap-12 mb-12`},A={class:`md:col-span-4`},j={class:`space-y-3 text-sm`},M={id:`tetrisWindow`,class:`fixed hidden window-border bg-win-light w-[320px] z-50 transform transition-all duration-300 scale-95 opacity-0`},N={class:`p-3`},te={key:0,class:`text-center`},P={class:`flex justify-center gap-3 my-4`},ne=[`onClick`],F=[`disabled`],I={key:1,class:`text-center`},L={class:`flex justify-between`},re={class:`ml-3 flex flex-col gap-2`},R={class:`window-border-inset bg-win-light p-1 text-center`},z={class:`dot-text text-lg font-bold`},ie={class:`window-border-inset bg-win-light p-1 text-center`},B={key:2,class:`text-center py-6`},ae={class:`mb-2 dot-text`},oe=20,V=10,H=16,se=12,U=T(s({__name:`SiteFooter`,setup(e){let n=h(`difficulty`),o=h(null),s=h(!1),l=h(0),v=h(null),y=h(null),x=[[[1,1,1,1]],[[1,1],[1,1]],[[0,1,0],[1,1,1]],[[0,1,1],[1,1,0]],[[1,1,0],[0,1,1]],[[1,0,0],[1,1,1]],[[0,0,1],[1,1,1]]],S=[`#66B2FF`,`#3399FF`,`#0066CC`,`#004C99`,`#003366`],C=[],T=null,E=null,U=500,W=null,G=!1,K=null,q=null;function ce(){return Array(oe).fill(null).map(()=>Array(V).fill(0))}function J(){let e=Math.floor(Math.random()*x.length),t=Math.floor(Math.random()*S.length);return{shape:x[e],color:S[t],x:Math.floor(V/2)-Math.floor(x[e][0].length/2),y:0}}function Y(e,t,n,r=0,i=0){t.shape.forEach((a,o)=>{a.forEach((a,s)=>{a&&(e.fillStyle=t.color,e.fillRect((t.x+s+r)*n,(t.y+o+i)*n,n-1,n-1))})})}function X(){K&&(K.clearRect(0,0,160,320),C.forEach((e,t)=>{e.forEach((e,n)=>{e&&(K.fillStyle=e,K.fillRect(n*H,t*H,15,15))})}),T&&Y(K,T,H))}function Z(){if(q&&(q.clearRect(0,0,48,48),E)){let e=(4-E.shape[0].length)/2,t=(4-E.shape.length)/2;Y(q,E,se,e,t)}}function Q(e,t=0,n=0){return e.shape.some((r,i)=>r.some((r,a)=>{if(r){let r=e.x+a+t,o=e.y+i+n;return r<0||r>=V||o>=oe||o>=0&&!!C[o][r]}return!1}))}function le(){if(s.value||G||!T)return;let e=T.shape,t=e.length,n=e[0].length,r=Array(n).fill(null).map(()=>Array(t).fill(0));for(let i=0;i{e.forEach((e,n)=>{if(e){if(T.y+t<0){G=!0;return}C[T.y+t][T.x+n]=T.color}})}),de(),T=E,E=J(),X(),Z(),T&&Q(T)&&_e())}function de(){let e=0;for(let t=19;t>=0;t--)C[t].every(e=>e)&&(C.splice(t,1),C.unshift(Array(V).fill(0)),e++,t++);e>0&&(l.value+=e*100*(e>1?e:1))}function $(e,t){return s.value||G||!T?!1:Q(T,e,t)?(t>0&&ue(),!1):(T.x+=e,T.y+=t,X(),!0)}function fe(){if(!(s.value||G))for(;$(0,1););}function pe(){$(0,1)}function me(){o.value&&(C=ce(),l.value=0,G=!1,s.value=!1,T=J(),E=J(),ye(),X(),Z(),W&&clearInterval(W),U=o.value,W=setInterval(pe,U),n.value=`game`)}function he(){W&&=(clearInterval(W),null),n.value=`difficulty`}function ge(){G||(s.value=!s.value,s.value?(W&&clearInterval(W),W=null):W=setInterval(pe,U))}function _e(){W&&clearInterval(W),W=null,G=!0,n.value=`gameover`}function ve(e){o.value=e}function ye(){v.value&&y.value&&(v.value.width=160,v.value.height=320,y.value.width=48,y.value.height=48,K=v.value.getContext(`2d`),q=y.value.getContext(`2d`))}function be(){let e=document.getElementById(`tetrisWindow`);if(!e)return;e.classList.remove(`hidden`),setTimeout(()=>{e.classList.remove(`scale-95`,`opacity-0`),e.classList.add(`scale-100`,`opacity-100`)},10);let t=e.offsetWidth,n=e.offsetHeight;e.style.left=`calc(50% - ${t/2}px)`,e.style.top=`calc(50% - ${n/2}px)`}function xe(){let e=document.getElementById(`tetrisWindow`);e&&(e.classList.remove(`scale-100`,`opacity-100`),e.classList.add(`scale-95`,`opacity-0`),setTimeout(()=>{e.classList.add(`hidden`),W&&clearInterval(W)},300))}function Se(e){if(n.value===`game`)switch(e.key){case`ArrowLeft`:$(-1,0),e.preventDefault();break;case`ArrowRight`:$(1,0),e.preventDefault();break;case`ArrowDown`:$(0,1),e.preventDefault();break;case`ArrowUp`:le(),e.preventDefault();break;case` `:fe(),e.preventDefault();break;case`p`:case`P`:ge(),e.preventDefault()}}return c(()=>{document.addEventListener(`keydown`,Se)}),ee(()=>{document.removeEventListener(`keydown`,Se),W&&clearInterval(W)}),(e,c)=>{let h=w(`router-link`);return a(),b(`div`,null,[u(`footer`,D,[c[12]||=_(``,1),u(`div`,O,[u(`div`,k,[u(`div`,A,[c[4]||=u(`h3`,{class:`text-lg md:text-xl font-semibold mb-6 relative pb-3 text-gray-100`},[p(` 快速导航 `),u(`span`,{class:`absolute bottom-0 left-0 w-12 h-0.5 bg-blue-500 rounded-full`})],-1),u(`ul`,j,[u(`li`,null,[f(h,{to:`/`,class:`text-gray-400 hover:text-white transition-colors duration-300 flex items-center gap-2 group`},{default:r(()=>[...c[0]||=[u(`span`,{class:`w-1.5 h-1.5 bg-blue-500 rounded-full scale-0 group-hover:scale-100 transition-transform duration-300`},null,-1),p(` 主页 `,-1)]]),_:1})]),u(`li`,null,[f(h,{to:`/gallery`,class:`text-gray-400 hover:text-white transition-colors duration-300 flex items-center gap-2 group`},{default:r(()=>[...c[1]||=[u(`span`,{class:`w-1.5 h-1.5 bg-blue-500 rounded-full scale-0 group-hover:scale-100 transition-transform duration-300`},null,-1),p(` 画廊 `,-1)]]),_:1})]),c[3]||=u(`li`,null,[u(`a`,{href:`https://doc.gvsds.com/9bc298e9c1d03ed3bd4777181bf7411d`,target:`_blank`,class:`text-gray-400 hover:text-white transition-colors duration-300 flex items-center gap-2 group`},[u(`span`,{class:`w-1.5 h-1.5 bg-blue-500 rounded-full scale-0 group-hover:scale-100 transition-transform duration-300`}),p(` 文档 `)])],-1),u(`li`,null,[f(h,{to:`/members`,class:`text-gray-400 hover:text-white transition-colors duration-300 flex items-center gap-2 group`},{default:r(()=>[...c[2]||=[u(`span`,{class:`w-1.5 h-1.5 bg-blue-500 rounded-full scale-0 group-hover:scale-100 transition-transform duration-300`},null,-1),p(` 成员 `,-1)]]),_:1})])])]),c[5]||=_(``,2)]),c[11]||=u(`div`,{class:`w-full h-px bg-gray-800 mb-8`},null,-1),u(`div`,null,[u(`div`,{class:`flex flex-col md:flex-row justify-between items-center w-full mx-auto`},[c[10]||=u(`p`,{class:`text-gray-500 text-xs md:text-sm mb-4 md:mb-0`},[p(` © 2026 GVSDS. All Rights Reserved. `),u(`span`,{class:`hidden md:inline`},`|`),u(`br`,{class:`md:hidden`}),u(`a`,{href:`https://beian.miit.gov.cn/`,target:`_blank`,class:`text-gray-400 hover:text-blue-400 transition-colors duration-300`},`津ICP备2025031204号`)],-1),u(`div`,{class:`flex flex-wrap justify-center gap-x-5 gap-y-2 md:gap-y-0 text-xs md:text-sm`},[u(`a`,{class:`text-gray-500 hover:text-blue-400 transition-colors duration-300 flex items-center gap-1 cursor-pointer`,id:`startButton`,onClick:be},[...c[6]||=[u(`i`,{class:`fa fa-cube text-blue-400 text-xs`},null,-1),p(` 彩蛋 `,-1)]]),c[7]||=u(`a`,{href:`https://doc.gvsds.com/fc084ab20a283208adb19033ca4de173`,target:`_blank`,class:`text-gray-500 hover:text-blue-400 transition-colors duration-300`},`隐私政策`,-1),c[8]||=u(`a`,{href:`https://doc.gvsds.com/1f07d3b8cec43a2ab9892a15b150bdd6`,target:`_blank`,class:`text-gray-500 hover:text-blue-400 transition-colors duration-300`},`服务条款`,-1),c[9]||=u(`a`,{href:`https://doc.gvsds.com/d2ae1dd63e9c35d687464a160896e1ab`,target:`_blank`,class:`text-gray-500 hover:text-blue-400 transition-colors duration-300`},`用户协议`,-1)])])])])]),u(`div`,M,[u(`div`,{class:`window-titlebar text-white p-1 flex items-center justify-between`},[c[13]||=u(`div`,{class:`flex items-center`},[u(`i`,{class:`fa fa-cube mr-2`}),u(`span`,{class:`dot-text`},`TETRIS`)],-1),u(`div`,null,[u(`button`,{id:`closeButton`,class:`bg-win-light text-black text-xs px-2 py-0 window-border dot-text`,onClick:xe},`X`)])]),u(`div`,N,[n.value===`difficulty`?(a(),b(`div`,te,[c[14]||=_(`TETRIS
SELECT DIFFICULTY
`,3),u(`div`,P,[(a(),b(g,null,t([800,500,300],e=>u(`button`,{key:e,class:m([`difficulty-btn btn-classic`,o.value===e?`bg-tetris-light`:``]),onClick:t=>ve(e)},i(e===800?`EASY`:e===500?`MEDIUM`:`HARD`),11,ne)),64))]),u(`button`,{class:`btn-classic mt-4`,disabled:!o.value,onClick:me},`START GAME`,8,F)])):d(``,!0),n.value===`game`?(a(),b(`div`,I,[u(`div`,L,[u(`div`,null,[u(`canvas`,{ref_key:`tetrisCanvas`,ref:v,class:`window-border-inset bg-black`},null,512)]),u(`div`,re,[u(`div`,R,[c[15]||=u(`div`,{class:`dot-text text-xs mb-1`},`SCORE`,-1),u(`div`,z,i(l.value),1)]),u(`div`,ie,[c[16]||=u(`div`,{class:`dot-text text-xs mb-1`},`NEXT`,-1),u(`canvas`,{ref_key:`nextCanvas`,ref:y,class:`window-border-inset bg-black`},null,512)]),u(`button`,{class:`btn-classic dot-text`,onClick:ge},i(s.value?`RESUME`:`PAUSE`),1),u(`button`,{class:`btn-classic dot-text`,onClick:he},`RESTART`)])]),c[17]||=u(`div`,{class:`mt-2 text-center text-xs dot-text`},[u(`p`,null,`ARROWS: MOVE & ROTATE`),u(`p`,null,`SPACE: DROP`)],-1)])):d(``,!0),n.value===`gameover`?(a(),b(`div`,B,[c[19]||=u(`div`,{class:`dot-text text-xl font-bold text-tetris-dark mb-4`},`GAME OVER`,-1),u(`div`,ae,[c[18]||=p(`SCORE: `,-1),u(`span`,null,i(l.value),1)]),u(`button`,{class:`btn-classic mt-4`,onClick:he},`PLAY AGAIN`)])):d(``,!0)])])])}}}),[[`__scopeId`,`data-v-de6d9169`]]),W={key:0,id:`GCookie_CookieBanner`,class:`GCookie_Show`,style:{position:`fixed`,bottom:`0`,left:`0`,right:`0`,"z-index":`9999`,background:`rgba(255,255,255,0.95)`,"box-shadow":`0 -2px 10px rgba(0,0,0,0.1)`,padding:`16px 24px`,display:`flex`,"flex-wrap":`wrap`,"align-items":`center`,"justify-content":`space-between`,gap:`12px`}},G={style:{display:`flex`,"flex-wrap":`wrap`,gap:`8px`}},K={style:{background:`#fff`,"border-radius":`8px`,padding:`24px`,width:`90%`,"max-width":`420px`}},q={style:{padding:`12px 0`,"border-top":`1px solid #eee`}},ce={style:{display:`flex`,"justify-content":`space-between`,"align-items":`center`,cursor:`pointer`}},J=`cookie_consent`,Y=`furry_content_enabled`,X=T(s({__name:`CookieBanner`,setup(e){let t=h(!1),r=h(!1),i=h(!0);function o(e){document.querySelectorAll(`.c-furry`).forEach(t=>{e?t.classList.remove(`GCookie_Hidden`):t.classList.add(`GCookie_Hidden`)})}function s(e){localStorage.setItem(J,e),t.value=!1}function f(){i.value=localStorage.getItem(Y)!==`false`,r.value=!0}function p(){r.value=!1}function m(){localStorage.setItem(Y,String(i.value)),o(i.value),p()}return c(()=>{localStorage.getItem(J)||(t.value=!0),o(localStorage.getItem(Y)!==`false`)}),(e,o)=>(a(),b(`div`,null,[t.value?(a(),b(`div`,W,[o[4]||=u(`div`,{style:{flex:`1`,"min-width":`260px`}},[u(`strong`,null,`我们重视您的隐私`),u(`br`),u(`span`,{style:{"font-size":`13px`,color:`#666`}},`我们和我们的合作伙伴使用Cookie或类似技术来访问、存储和处理您的个人数据,例如您的访问信息。这能让我们根据您的兴趣和需求提供更好的体验。您可以随时更改或撤回您的同意。`)],-1),u(`div`,G,[u(`button`,{class:`GCookie_Btn GCookie_BtnSecondary`,onClick:o[0]||=e=>s(`none`)},`我不同意任何Cookie`),u(`button`,{class:`GCookie_Btn GCookie_BtnSecondary`,onClick:o[1]||=e=>s(`necessary`)},`我同意必要Cookie`),u(`button`,{class:`GCookie_Btn GCookie_BtnPrimary`,onClick:o[2]||=e=>s(`all`)},`我同意全部Cookie`),u(`button`,{class:`GCookie_Btn GCookie_BtnSecondary`,onClick:f},`Cookie设置`)])])):d(``,!0),r.value?(a(),b(`div`,{key:1,id:`GCookie_CookieSettingsModal`,style:{position:`fixed`,inset:`0`,"z-index":`10000`,background:`rgba(0,0,0,0.5)`,display:`flex`,"align-items":`center`,"justify-content":`center`},onClick:l(p,[`self`])},[u(`div`,K,[u(`div`,{style:{display:`flex`,"justify-content":`space-between`,"align-items":`center`,"margin-bottom":`16px`}},[o[5]||=u(`h2`,{style:{"font-size":`18px`,margin:`0`}},`Cookie设置`,-1),u(`button`,{class:`GCookie_CloseBtn`,onClick:p,style:{background:`none`,border:`none`,"font-size":`22px`,cursor:`pointer`}},`×`)]),u(`div`,q,[u(`label`,ce,[o[6]||=u(`span`,null,`是否在主页中显示小众元素`,-1),n(u(`input`,{type:`checkbox`,"onUpdate:modelValue":o[3]||=e=>i.value=e,style:{transform:`scale(1.3)`}},null,512),[[x,i.value]])])]),u(`div`,{style:{display:`flex`,"justify-content":`flex-end`,"margin-top":`16px`}},[u(`button`,{class:`GCookie_Btn GCookie_BtnPrimary`,onClick:m},`保存设置`)])])])):d(``,!0)]))}}),[[`__scopeId`,`data-v-b8f5761c`]]),Z=[{key:`studio`,data:{title:`GVSDS`,description:`银河锋锐软件开发工作室(GVSDS)作为"IT 技术团队",致力于编程、AI 和美术设计方面,我们将竭力为您提供最佳服务。感谢您的支持!`,submenus:[{id:`pages`,name:`页面`,icon:`fa-book`},{id:`good-members`,name:`优秀成员`,icon:`fa-user-circle`}],contents:{pages:[{type:`two-cards`,cards:[{name:`加入我们`,description:`加入我们的团体与我们共同进步`,link:`https://invite.gvsds.com/`,target:`_blank`},{name:`开始合作`,description:`成为我们的合作伙伴与我们共同克服苦难`,link:`mailto:hr@gvsds.com?subject=我代表 xxx 期望与银河锋锐软件开发工作室&body=您好!%0D%0A%0D%0A我是 [ 姓名 / 网名 ],我...`,target:`_self`}]},{type:`four-columns`,title:`存根页面`,subtitle:`Basic Pages`,items:[{name:`主页`,tag:`basic`,description:`介绍工作室基本信息,作为工作室门面`,link:`/`},{name:`关于我们`,tag:`basic`,description:`我们的相关事迹等内容`,link:`/about`},{name:`联系我们`,tag:`basic`,description:`与我们取得联系以进行友情合作或商业合作`,link:`/ContactUS`},{name:`登录`,tag:`basic`,description:`登录您已有的账户以查看和使用您的服务`,link:`/login`},{name:`注册`,tag:`basic`,description:`在本平台上注册以尝试我们的服务`,link:`/register`},{name:`画廊`,tag:`hot`,description:`我们工作室的画作和 Hero 界面的图片`,link:`/gallery`},{name:`廉政举报`,tag:`new`,description:`廉政举报是民众参与权力监督的关键途径,我们拒绝任何形式的收受贿赂等等问题。`,link:`/IntegrityReport`}]},{type:`four-columns`,title:`相关页面`,items:[{name:`工作室 API`,description:`竭尽全力为您提供我们最好的应用程序编程接口`,link:`https://api.gvsds.com`,target:`_blank`},{name:`南京大屠杀`,description:`谨以此页,悼念所有南京大屠杀死难者,缅怀为民族解放献身的先烈。历史不容篡改,真相不容否认。`,link:`https://nanjingmassacre.gvsds.com`,target:`_blank`}]},{type:`four-columns`,title:`联系页面`,items:[{name:`哔哩哔哩`,description:`哔哩哔哩 上的 GVSDS 账户`,link:`https://space.bilibili.com/3546619129628868`,target:`_blank`},{name:`Github`,description:`Github 上的 GVSDS 组织`,link:`https://github.com/GVSDS/`,target:`_blank`},{name:`Git 自托管`,description:`GVSDS 部署的 Gitea 快速站点`,link:`https://git.gvsds.com/GVSDS/`,target:`_blank`},{name:`MC MOD 百科`,description:`MC MOD 百科 上的 GVSDS 代理账户`,link:`https://center.mcmod.cn/1125176/`,target:`_blank`},{name:`工作室反馈`,description:`反馈您所有的关于本工作室的问题(若您迟迟未收到回信或无法发送邮件就下面所有邮件全部发一遍)`,link:`mailto:support@gvsds.com`,target:`_blank`},{name:`负责人工作邮箱`,description:`处理工作相关事务等`,link:`mailto:terminexus@gvsds.com`},{name:`负责人个人邮箱`,description:`个人学习交流等`,link:`mailto:wyt18222152539wyt@163.com`},{name:`站点负责人邮箱`,description:`本站的相关管理工作等`,link:`mailto:postmaster@gvsds.com`}]}],"good-members":[{type:`four-columns`,title:`工程部`,subtitle:`技精于专,行稳致远`,items:[{name:`TermiNexus / 明砚`,description:`工作室负责人,全栈程序员`,link:`/Members/TermiNexus`},{name:`Chindows / MicGan`,description:`星界工作室(子工作室)负责人`,link:`#`},{name:`悠然自得`,description:`这个人很懒,连简介都不愿意写`,link:`#`},{name:`SYSTEM-WINDOW`,description:`反编译`,link:`#`},{name:`羊村哲学家`,description:`你来🌍的目的是什么`,link:`#`},{name:`Mendelevium`,description:`我们崇尚万物,我们追随自由。`,link:`#`},{name:`红叶鸣秋`,description:`"那"不是疯话,"这"才是疯话。`,link:`#`},{name:`无风之地`,description:`我是楠酿`,link:`#`}]}]}}},{key:`project`,data:{title:`产品 / 项目`,description:`提供我们历史所作项目的介绍、文档、开源链接等相关信息`,submenus:[{id:`building`,name:`构建`,icon:`fa-building`},{id:`mods`,name:`我的世界模组`,icon:`fa-briefcase`},{id:`web`,name:`前端`,icon:`fa-code`},{id:`minecraft`,name:`Minecraft 服务`,icon:`fa-gamepad`}],contents:{building:[{type:`two-cards`,cards:[{name:`探索服务`,description:`我们将竭尽所能为您提供最新的产品、服务与解决方案`,link:`https://www.gvsds.com/ProJect/Service/Service`,target:`_blank`},{name:`开始合作`,description:`成为我们的合作伙伴与我们共同克服苦难`,link:`mailto:hr@gvsds.com?subject=我代表 xxx 期望与银河锋锐软件开发工作室&body=您好!%0D%0A%0D%0A我是 [ 姓名 / 网名 ],我...`,target:`_self`}]},{type:`four-columns`,title:`新增项目`,items:[{name:`FastProxyX (FPX)`,tag:`new`,description:`Python 实现的快速反向代理(端口映射),支持多端口映射、加密传输、HTTP/HTTPS 等功能`,link:`/ProJect/Unauthorized`},{name:`AScientificDDOSGun`,tag:`new`,description:`Python 实现的快速 DDOS 客户端程序,支持多线程、自定义参数等功能`,link:`/ProJect/Unauthorized`}]},{type:`four-columns`,title:`已完成项目`,items:[{name:`CreateE Library`,description:`使用 Python 实现的 我的世界坐标空间向量计算实现一些列高级指令功能,已完成`,link:`/ProJect/Unauthorized`},{name:`WVBlackManager`,description:`Flask + 前端 实现的 节点状态管理器,支持多节点管理、状态监控、远程控制等功能`,link:`/ProJect/Unauthorized`},{name:`SMANAGE SAAS`,description:`服务即应用平台,面向各终端机,提供了工作室的全部功能,如 成员管理、项目管理、合作管理 等`,link:`/ProJect/SMANAGE`}]},{type:`four-columns`,title:`已废弃项目`,items:[{name:`MikOS`,description:`【星界工作室】使用 Tkinter 实现的伪操作系统图像壳,利用了伪操作系统 NT 架构,已废弃`,link:`/ProJect/Unauthorized`},{name:`NSQL`,description:`使用 Python 实现快速与 MySQL 服务器交互,由于其功能完全可以被 ORM 取代,已废弃`,link:`/ProJect/Unauthorized`}]}],mods:[{type:`four-columns`,title:`前置性模组`,items:[{name:`PyFabricLoader`,tag:`preview`,description:`基于 Jython 实现的 我的世界 与 Python 的交互 mod 加载器,日后考虑使用 VM 技术实现此功能`,link:`#`},{name:`ProxyProtocolSupport`,description:`为 我的世界 服务器提供了 Proxy Protocol Version 1-2 支持,使服务器经过快速反向代理后仍能获得真实地址`,link:`/ProJect/Unauthorized`}]},{type:`four-columns`,title:`玩法性模组`,items:[{name:`枢机信用:资本主义 市场经济`,tag:`preview`,description:`基于 MySQL 实现的交易 mod,支持多币种、实体币种,股市系统,市场经济宏观调控`,link:`#`},{name:`飞行体验`,tag:`preview`,description:`消耗经验实现生存模式飞行`,link:`#`}]}],web:[{type:`four-columns`,title:`前置`,items:[{name:`ResourceShare`,tag:`new`,description:`企业级 MPA 资源共享解决方案:解决 iframe 资源加载瓶颈。支持 VM 虚拟路径映射、Blob 传输优化、可视化 UI 监控以及智能错误诊断。为大规模复杂 Web 应用打造的高性能底层引擎。`,link:`/ProJect/ResourceShare`}]}],minecraft:[{type:`four-columns`,title:`页面`,items:[{name:`在线 MC`,tag:`preview`,description:`利用 WebAssembly 实现的 EaglercraftX 在线 MC`,link:`https://omc.gvsds.com`,target:`_blank`},{name:`《枢机协律》服务器`,tag:`preview`,description:`工作室托管的我的世界服务器主页`,link:`https://mc.gvsds.com`,target:`_blank`},{name:`《枢机协律》信用储备银行`,description:`《枢机协律》内唯一的合法银行`,link:`https://3crb.gvsds.com`,target:`_blank`},{name:`《枢机协律》中央法庭`,tag:`new`,description:`《枢机协律》内唯一的合法民主民判法庭`,link:`https://3c.gvsds.com`,target:`_blank`},{name:`《枢机协律》标准地图`,tag:`new`,description:`《枢机协律》提供的服务器标准地图,会暴露基地地址,考虑关停`,link:`https://mc.gvsds.com:8100`,target:`_blank`}]}]}}},{key:`document`,data:{title:`文档`,description:`尽可能向您提供我们的官方文档`,submenus:[{id:`gvsdsdoc`,name:`工作室文档`,icon:`fa-building`}],contents:{gvsdsdoc:[{type:`four-columns`,title:`公开协议`,items:[{name:`隐私政策`,tag:`new`,description:`Cookie、数据保护及用户权利等核心说明。`,link:`https://doc.gvsds.com/FC084AB20A283208ADB19033CA4DE173`,target:`_blank`},{name:`服务条款`,tag:`new`,description:`银河锋锐软件开发服务全流程、权责、费用及违约等核心条款说明。`,link:`https://doc.gvsds.com/1F07D3B8CEC43A2AB9892A15B150BDD6`,target:`_blank`},{name:`用户协议`,tag:`new`,description:`内容权属、使用规范及免责声明。`,link:`https://doc.gvsds.com/D2AE1DD63E9C35D687464A160896E1AB`,target:`_blank`},{name:`辅助实现本系统的相关数学原理(简化)`,tag:`new`,description:`本系统基于 Flask/gevent 构建,核心依托并行计算、图论等数学原理,实现高并发、高可用的 Web 应用架构,覆盖调度、路由、密钥等全模块优化。`,link:`https://doc.gvsds.com/D9F9194A243D3A499108A7CA082373EA`,target:`_blank`}]},{type:`four-columns`,title:`SVE`,items:[{name:`安全政策`,tag:`hot`,description:`明确安全承诺、管理规范、用户责任及事件响应,保障数据与生态安全。`,link:`https://doc.gvsds.com/6E845A45FC493C66A23A9361BCE1464D`,target:`_blank`}]},{type:`four-columns`,title:`玉米新闻`,items:[{name:`初中生熬夜写代码猝死`,tag:`new`,description:`13 岁生熬夜编程猝死引深思,警示编程热潮需平衡健康与成长。`,link:`https://doc.gvsds.com/7127C3BA20253C4D93F13AF6485942E5`,target:`_blank`},{name:`被过度保护与控制的童年`,tag:`hot`,description:`过度保护与控制毁娃独立,需转型赋能型教育。`,link:`https://doc.gvsds.com/D3FA6C08BB973567961F63A30E8003E5`,target:`_blank`}]},{type:`four-columns`,title:`通告`,items:[{name:`银河锋锐软件开发工作室第二季度第一月总结`,tag:`new`,description:`银河锋锐 2025 二季度首月完成技术优化、团队调整及侵权 IP 封禁,明确 5 月文档、维权、项目推进计划。`,link:`https://doc.gvsds.com/B0D08D70143B30BFAE847AA2854685CA`,target:`_blank`}]}]}}},{key:`solution`,data:{title:`解决方案`,description:`基于不同行业的业务特性与发展需求,我们打造了多维度解决方案体系,覆盖主流业务场景,提供多端前端开发,专攻原生 JS,定制界面与交互,保障体验与兼容。`,submenus:[{id:`solution`,name:`标准解决方案`,icon:`fa-building`}],contents:{solution:[{type:`four-columns`,title:`MPA(多页面应用)`,items:[{name:`ResourceShare`,tag:`new`,description:`企业级 MPA 资源共享解决方案:解决 iframe 资源加载瓶颈。支持 VM 虚拟路径映射、Blob 传输优化、可视化 UI 监控以及智能错误诊断。为大规模复杂 Web 应用打造的高性能底层引擎。`,link:`/ProJect/ResourceShare`}]}]}}},{key:`methodology`,data:{title:`方法论`,description:`以价值导向、规范先行、增量迭代、质量内建、知识共享为核心,覆盖需求到复盘全流程。统一编码、协作、测试标准,适配不同规模项目,旨在提升团队效率、降低交付风险,实现高质量软件交付与技术能力沉淀。`,submenus:[{id:`solution`,name:`公开方法论`,icon:`fa-building`}],contents:{solution:[{type:`four-columns`,title:`团队协作`,items:[{name:`协同筑码 工作法`,tag:`hot`,description:`拒绝无意义的技术炫技,回归价值导向。通过规范先行、增量迭代与质量内建,打造可维护、高可用的软件交付体系。`,link:`/Methodology/CollaborativeCoding-WM`}]}]}}}],Q={class:`min-h-screen flex flex-col bg-white font-sans`},le=[`data-nav-theme`],ue={class:`flex items-center justify-between h-16 px-6`},de={class:`flex items-center space-x-4`},$={class:`flex items-center text-primary text-xl font-bold h-10`,id:`header-png`},fe={class:`hidden md:flex items-center space-x-6`},pe=[`data-menu`,`onMouseenter`,`onClick`],me={class:`flex items-center space-x-3`},he={class:`relative hidden md:flex items-center`},ge={class:`flex items-center border border-gray-200 rounded-md overflow-hidden focus-within:border-[#3b82f6] focus-within:ring-1 focus-within:ring-[#3b82f6]/30 w-64 lg:w-80 bg-white`},_e={key:0,id:`search-results-all`,class:`absolute top-full left-0 right-0 mt-1 bg-white rounded-md shadow-lg z-50 max-h-96 overflow-y-auto`},ve={class:`py-2`},ye=[`onMousedown`],be={class:`text-text-primary`},xe={class:`text-text-hint text-xs`},Se={key:0,class:`px-4 py-3 text-sm text-gray-400`},Ce={id:`UserFrame`},we={key:0,href:`https://www.gvsds.com/login`,target:`_blank`,class:`bg-primary text-white px-4 py-2 rounded-md text-sm font-medium hover:bg-primary/90 transition-all duration-200 hover:scale-105 active:scale-95 inline-block`},Te={key:1,href:`https://gerp.gvsds.com/`,target:`_blank`,class:`block`},Ee=[`src`],De={class:`p-4`},Oe={class:`flex flex-col space-y-4`},ke=[`data-menu`],Ae={class:`flex items-center mb-4`},je={class:`relative flex-1 flex items-center`},Me={class:`search-wrapper flex items-center flex-1 border border-gray-200 rounded-md overflow-hidden focus-within:border-primary focus-within:ring-1 focus-within:ring-primary/30 bg-white`},Ne={id:`mobile-search-results`,class:`flex-1 overflow-y-auto`},Pe={class:`py-2`},Fe=[`onClick`],Ie={class:`text-text-primary`},Le={class:`text-text-hint text-xs`},Re=[`id`],ze={class:`w-full flex flex-col md:flex-row`},Be={class:`w-full md:w-80 bg-sidebar p-8`},Ve={class:`text-2xl font-bold text-primary mb-4 flex items-center`},He={key:0,class:`text-text-secondary text-sm leading-relaxed`},Ue={class:`mt-6 space-y-1 -mx-8 -px-8`},We=[`onMouseenter`,`onClick`],Ge={class:`flex-1 border-l border-gray-100 overflow-y-auto md:max-h-[calc(75vh-4rem)]`},Ke={key:0,class:`p-6`},qe={key:0,class:`grid grid-cols-1 md:grid-cols-2 gap-4`},Je=[`href`,`target`],Ye={class:`font-semibold text-text-primary mb-1 flex items-center`},Xe={class:`text-text-secondary text-sm`},Ze={key:1},Qe={class:`font-semibold text-text-primary mb-4 flex items-center`},$e={key:0,class:`tag-feature ml-2`},et={class:`grid grid-cols-1 md:grid-cols-4 gap-8`},tt={class:`space-y-3 text-sm`},nt=[`href`,`target`],rt={key:0,class:`tag-basic ml-2`},it={key:1,class:`tag-new ml-2`},at={key:2,class:`tag-hot ml-2`},ot={key:3,class:`tag-preview ml-2`},st={class:`text-text-hint mt-1`},ct={key:2},lt={class:`font-semibold text-text-primary mb-4`},ut={class:`grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-y-2 gap-x-4 text-sm`},dt=[`href`,`target`],ft={key:3},pt={class:`font-semibold text-text-primary mb-4`},mt={class:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6`},ht=[`href`,`target`],gt={class:`p-4`},_t={class:`font-medium text-text-primary group-hover:text-primary transition-colors`},vt={class:`text-xs text-text-secondary mt-1`},yt={key:4,class:`my-6 border-t border-gray-100`},bt={class:`flex-grow pt-16`},xt=T(s({__name:`SiteLayout`,setup(s){let _=S(),v=E(),x=[{key:`studio`,label:`工作室`},{key:`project`,label:`产品和服务`},{key:`document`,label:`文档`},{key:`solution`,label:`解决方案`},{key:`methodology`,label:`方法论`}],T=h(`light`),D=C(()=>v.avatarUrl),O=h(``),k=h(!1),A=C(()=>{let e=O.value.trim().toLowerCase();if(!e)return[];let t=[];return Z.forEach(n=>{Object.values(n.data.contents).forEach(n=>{n.forEach(n=>{(n.items||[]).forEach(n=>{(n.name.toLowerCase().includes(e)||(n.description||``).toLowerCase().includes(e))&&t.push(n)})})})}),t.slice(0,8)}),j=h(null),M=h(null),N=h(null),te=C(()=>Z.map(e=>({key:e.key,data:e.data})));function P(e){I(),j.value=e;let t=Z.find(t=>t.key===e);t&&(M.value=t.data.submenus[0]?.id||null)}function ne(e){j.value===e?j.value=null:P(e)}function F(){N.value&&clearTimeout(N.value),N.value=setTimeout(()=>{j.value=null},200)}function I(){N.value&&=(clearTimeout(N.value),null)}function L(e,t){return e.contents[t]||[]}function re(e,t){let n=[],r=Math.ceil(e.length/t);for(let t=0;te.toLowerCase().startsWith(t))?e:`https://www.gvsds.com`+e:`#`}function z(e){if(O.value=``,k.value=!1,v.mobileMenuOpen=!1,v.mobileSearchOpen=!1,e.startsWith(`/`)){let t=e.split(`?`)[0].split(`#`)[0];_.push(t)}else window.open(e,`_blank`)}function ie(){setTimeout(()=>{k.value=!1},200)}function B(){if(j.value!==null&&window.scrollY<=200){T.value=`light`;return}T.value=window.scrollY<=5?`light`:`dark`}async function ae(){try{let e=await fetch(`https://ugm.gvsds.com/Query/GetELTUserAvatar`,{credentials:`include`});if(!e.ok)return;let t=await e.blob();v.avatarUrl=URL.createObjectURL(t)}catch{v.avatarUrl=``}}return c(()=>{window.addEventListener(`scroll`,B),B(),ae()}),ee(()=>{window.removeEventListener(`scroll`,B),N.value&&clearTimeout(N.value)}),o(()=>j.value,()=>{B()}),(o,s)=>{let c=w(`router-link`),h=w(`router-view`);return a(),b(`div`,Q,[u(`header`,{id:`header`,class:m([`fixed top-0 left-0 right-0 z-50 transition-all duration-300 ease-in-out bg-white shadow-sm border-b border-gray-100 bg-[linear-gradient(120deg,#ffffff,#f0f8ff,#f8f0ff,#ffffff)] bg-[size:400%_400%] animate-[gradientAnimation_15s_ease_infinite] dark:bg-gray-900 dark:border-gray-800`,T.value===`light`?`!bg-transparent !bg-none !shadow-none !border-transparent`:``]),"data-nav-theme":T.value},[u(`div`,ue,[u(`div`,de,[u(`div`,$,[f(c,{to:`/`,draggable:`false`,class:`flex items-center h-10`},{default:r(()=>[...s[13]||=[u(`img`,{src:`https://www.gvsds.com/assets/hlogos/gnobg.png`,alt:`GVSDS`,class:`h-10 w-auto max-w-[160px] object-contain`},null,-1)]]),_:1})]),u(`button`,{id:`mobile-menu-btn`,class:`md:hidden text-text-primary text-xl transition-all duration-200 hover:scale-110`,onClick:s[0]||=t=>e(v).toggleMobileMenu()},[...s[14]||=[u(`i`,{class:`fa fa-bars`},null,-1)]])]),u(`nav`,fe,[(a(),b(g,null,t(x,e=>u(`a`,{key:e.key,href:`#`,draggable:`false`,class:`relative font-medium transition-colors after:content-[''] after:absolute after:bottom-[-2px] after:left-0 after:w-0 after:h-[2px] after:bg-[#3b82f6] after:transition-all after:duration-200 after:ease hover:after:w-full`,"data-menu":e.key,onMouseenter:t=>P(e.key),onMouseleave:s[1]||=e=>F(),onClick:l(t=>ne(e.key),[`prevent`])},i(e.label),41,pe)),64))]),u(`div`,me,[u(`div`,he,[u(`div`,ge,[n(u(`input`,{type:`text`,id:`search-all`,"onUpdate:modelValue":s[2]||=e=>O.value=e,placeholder:`搜索所有内容...`,class:`w-full px-4 py-2 text-sm outline-none border-0 bg-transparent placeholder-gray-400`,onFocus:s[3]||=e=>k.value=!0,onBlur:s[4]||=e=>ie()},null,544),[[y,O.value]]),u(`button`,{id:`desktop-search-btn`,class:`px-3 h-full text-gray-500 cursor-pointer transition-colors duration-200 hover:text-[#3b82f6]`,onMousedown:s[5]||=l(()=>{},[`prevent`])},[...s[15]||=[u(`i`,{class:`fa fa-search search-icon`},null,-1)]],32)]),k.value&&O.value?(a(),b(`div`,_e,[u(`ul`,ve,[(a(!0),b(g,null,t(A.value,(e,t)=>(a(),b(`li`,{key:t,class:`px-4 py-2 hover:bg-gray-50 cursor-pointer text-sm`,onMousedown:l(t=>z(e.link),[`prevent`])},[u(`span`,be,i(e.name),1),u(`p`,xe,i(e.description),1)],40,ye))),128)),A.value.length===0?(a(),b(`li`,Se,`未找到相关内容`)):d(``,!0)])])):d(``,!0)]),u(`button`,{id:`mobile-search-btn`,class:`md:hidden text-text-primary text-xl transition-all duration-200 hover:scale-110`,onClick:s[6]||=t=>e(v).toggleMobileSearch()},[...s[16]||=[u(`i`,{class:`fa fa-search`},null,-1)]]),u(`div`,Ce,[D.value?(a(),b(`a`,Te,[u(`img`,{src:D.value,class:`w-10 h-10 rounded-full object-cover`},null,8,Ee)])):(a(),b(`a`,we,`登录`))])])])],10,le),u(`div`,{id:`mobile-menu`,class:m([`fixed top-16 left-0 right-0 bottom-0 bg-white z-40 md:hidden`,e(v).mobileMenuOpen?`mobile-menu-enter mobile-menu-enter-active`:`hidden`])},[u(`div`,De,[u(`nav`,Oe,[(a(),b(g,null,t(x,e=>u(`a`,{key:e.key,href:`#`,draggable:`false`,class:`text-text-secondary hover:text-primary font-medium py-2 border-b border-gray-100 transition-colors`,"data-menu":e.key,onClick:s[7]||=l(e=>z(`/`),[`prevent`])},i(e.label),9,ke)),64))])])],2),u(`div`,{id:`mobile-search`,class:m([`fixed top-0 left-0 right-0 bottom-0 bg-white z-50 md:hidden`,e(v).mobileSearchOpen?`flex flex-col p-4`:`hidden`])},[u(`div`,Ae,[u(`button`,{class:`text-text-primary text-xl mr-4 transition-all duration-200 hover:scale-110`,onClick:s[8]||=t=>e(v).toggleMobileSearch()},[...s[17]||=[u(`i`,{class:`fa fa-arrow-left`},null,-1)]]),u(`div`,je,[u(`div`,Me,[n(u(`input`,{type:`text`,id:`search-all-mobile`,"onUpdate:modelValue":s[9]||=e=>O.value=e,placeholder:`搜索所有内容...`,class:`w-full px-4 py-2 text-sm outline-none border-none bg-transparent placeholder-gray-400`},null,512),[[y,O.value]]),u(`button`,{id:`mobile-search-submit`,class:`search-btn`,onMousedown:s[10]||=l(()=>{},[`prevent`])},[...s[18]||=[u(`i`,{class:`fa fa-search search-icon`},null,-1)]],32)])])]),u(`div`,Ne,[u(`ul`,Pe,[(a(!0),b(g,null,t(A.value,(e,t)=>(a(),b(`li`,{key:t,class:`px-4 py-2 hover:bg-gray-50 cursor-pointer text-sm`,onClick:t=>z(e.link)},[u(`span`,Ie,i(e.name),1),u(`p`,Le,i(e.description),1)],8,Fe))),128))])])],2),u(`div`,{id:`mega-menus-container`,onMouseenter:s[11]||=e=>I(),onMouseleave:s[12]||=e=>F()},[(a(!0),b(g,null,t(te.value,e=>(a(),b(`div`,{key:e.key,id:`mega-menu-`+e.key,class:m([`mega-menu fixed top-16 left-0 right-0 bg-white menu-shadow z-50 overflow-y-auto md:max-h-[75vh]`,j.value===e.key?`mega-menu-visible`:`hidden`])},[u(`div`,ze,[u(`aside`,Be,[u(`h3`,Ve,[p(i(e.data.title)+` `,1),s[19]||=u(`i`,{class:`fa fa-angle-right ml-2 text-primary/70`},null,-1)]),e.data.description?(a(),b(`p`,He,i(e.data.description),1)):d(``,!0),u(`ul`,Ue,[(a(!0),b(g,null,t(e.data.submenus,e=>(a(),b(`li`,{key:e.id},[u(`a`,{href:`javascript:;`,class:m([`flex items-center px-4 py-3 text-sm transition-colors`,M.value===e.id?`sidebar-submenu-active`:`text-text-secondary hover:text-primary`]),onMouseenter:t=>M.value=e.id,onClick:l(t=>M.value=e.id,[`prevent`])},[u(`i`,{class:m([`fa`,e.icon+` mr-3 w-4 text-center`])},null,2),u(`span`,null,i(e.name),1)],42,We)]))),128))])]),u(`div`,Ge,[M.value?(a(),b(`div`,Ke,[(a(!0),b(g,null,t(L(e.data,M.value),(n,r)=>(a(),b(g,{key:r},[n.type===`two-cards`?(a(),b(`div`,qe,[(a(!0),b(g,null,t(n.cards,(e,t)=>(a(),b(`div`,{key:t,class:`border border-gray-100 p-4 hover:border-primary hover:bg-gray-50 transition-all cursor-pointer`},[u(`a`,{href:R(e.link),target:e.target||`_self`,class:`block`},[u(`h4`,Ye,[p(i(e.name)+` `,1),s[20]||=u(`i`,{class:`fa fa-angle-right ml-2 text-text-secondary`},null,-1)]),u(`p`,Xe,i(e.description),1)],8,Je)]))),128))])):n.type===`four-columns`?(a(),b(`div`,Ze,[u(`h4`,Qe,[p(i(n.title)+` `,1),n.subtitle?(a(),b(`span`,$e,i(n.subtitle),1)):d(``,!0)]),u(`div`,et,[(a(!0),b(g,null,t(re(n.items??[],4),(e,n)=>(a(),b(`div`,{key:n},[u(`ul`,tt,[(a(!0),b(g,null,t(e,(e,t)=>(a(),b(`li`,{key:t,class:`cursor-pointer`},[u(`a`,{href:R(e.link),target:e.target||`_self`,class:`block text-text-primary hover:text-primary transition-colors`},[u(`span`,null,[p(i(e.name),1),e.tag===`basic`?(a(),b(`span`,rt,`BASIC`)):d(``,!0),e.tag===`new`?(a(),b(`span`,it,`NEW`)):d(``,!0),e.tag===`hot`?(a(),b(`span`,at,`HOT`)):d(``,!0),e.tag===`preview`?(a(),b(`span`,ot,`Preview`)):d(``,!0)]),u(`p`,st,i(e.description),1)],8,nt)]))),128))])]))),128))])])):n.type===`simple-list`?(a(),b(`div`,ct,[u(`h4`,lt,i(n.title),1),u(`ul`,ut,[(a(!0),b(g,null,t(n.items,(e,t)=>(a(),b(`li`,{key:t},[u(`a`,{href:R(e.link),target:e.target||`_self`,class:`text-text-secondary hover:text-primary flex items-center py-1`},[u(`span`,null,i(e.name),1)],8,dt)]))),128))])])):(a(),b(`div`,ft,[u(`h4`,pt,i(n.title),1),u(`div`,mt,[(a(!0),b(g,null,t(n.items||[],(e,t)=>(a(),b(`a`,{key:t,href:R(e.link),target:e.target||`_self`,class:`group block border border-gray-100 rounded-lg overflow-hidden hover:shadow-md transition-shadow bg-white`},[u(`div`,gt,[u(`h5`,_t,i(e.name),1),u(`p`,vt,i(e.description),1)])],8,ht))),128))])])),r(r(),u(`div`,null,[w[2]||=l(` SMANAGE SAAS企业级智能管理系统 SMANAGE SAAS 是基于 GVSDS 技术体系构建的全栈式企业管理解决方案,整合 GERP 企业资源管理、多模块业务支撑、数据可视化分析等核心能力, 覆盖 Python 后端服务、响应式前端交互、多端适配等全链路场景,为企业数字化转型提供一站式技术支撑。
21万+ 核心代码量
多模块可扩展架构
Django+Go 多后端
全平台响应式适配
项目涵盖 API 网关、数据存储、权限管理、流程自动化等核心能力,支持企业微信、云存储、游戏服务等多场景集成, 已形成完整的开发、部署、运维一体化技术体系。
技术架构设计 基于分层架构 + 模块化设计,支撑高可用、可扩展的企业级应用场景
前端层(Presentation Layer) 基于 Tailwind CSS + JavaScript 构建响应式界面,支持桌面端、移动端、平板端全适配,集成 ECharts 数据可视化、SocketIO 实时通信等能力。
接口层(API Gateway) 统一 API 调度与权限校验,基于 Django 构建 RESTful API 接口,集成 WebSocket 实时通信、CSRF 防护、访问限流等安全机制。
RESTful API
WebSocket
权限校验
限流防护
业务层(Business Logic) 模块化业务逻辑封装,涵盖 GERP 企业管理、MC 游戏支撑、云存储等核心模块,支持独立部署与扩展。
数据层(Data Layer) 基于 MySQL + SQLAlchemy 实现数据持久化,支持多数据库实例绑定、事务管理、数据加密存储,集成文件存储、搜索引擎等扩展能力。
`,2),a(`section`,d,[a(`div`,f,[w[0]||=a(`div`,{class:`text-center mb-16`},[a(`h2`,{class:`text-[clamp(1.5rem,3vw,2.5rem)] font-bold text-[#1F2329] mb-4`},`核心模块体系`),a(`p`,{class:`text-[#4E5969] max-w-2xl mx-auto`},`覆盖企业管理全场景的模块化能力,支持按需组合与扩展`)],-1),a(`div`,p,[(r(),u(c,null,e(S,(i,l)=>a(`div`,{key:l,class:`bg-white rounded-xl p-6 shadow-sm hover:shadow-md transition-all duration-300 ease-in-out border border-[#E5E7EB]`},[a(`div`,{class:`w-12 h-12 rounded-lg flex items-center justify-center mb-4`,style:t({backgroundColor:`${i.color}10`})},[a(`i`,{class:s([i.icon,`text-xl`]),style:t({color:i.color})},null,6)],4),a(`h3`,m,n(i.title),1),a(`p`,h,n(i.desc),1),a(`ul`,g,[(r(!0),u(c,null,e(i.points,e=>(r(),u(`li`,{key:e,class:`flex items-center`},[a(`i`,{class:`fa fa-angle-right mr-2`,style:t({color:i.color})},null,4),o(` `+n(e),1)]))),128))])])),64))])])]),a(`section`,_,[a(`div`,v,[w[1]||=a(`div`,{class:`text-center mb-16`},[a(`h2`,{class:`text-[clamp(1.5rem,3vw,2.5rem)] font-bold text-[#1F2329] mb-4`},`核心技术优势`),a(`p`,{class:`text-[#4E5969] max-w-2xl mx-auto`},`从架构设计到安全防护,全方位保障系统稳定、高效、可扩展`)],-1),a(`div`,y,[(r(),u(c,null,e(C,(e,r)=>a(`div`,{key:r,class:`flex gap-4`},[a(`div`,{class:`w-10 h-10 rounded-full flex items-center justify-center flex-shrink-0 mt-1`,style:t({backgroundColor:`${e.color}10`})},[a(`i`,{class:s(e.icon),style:t({color:e.color})},null,6)],4),a(`div`,null,[a(`h3`,b,n(e.title),1),a(`p`,x,n(e.desc),1)])])),64))])])])]))}});export{S as default};
\ No newline at end of file
diff --git a/TempLate/assets/SmanageView-BW4wjlDy.js b/TempLate/assets/SmanageView-BW4wjlDy.js
new file mode 100644
index 00000000..10267570
--- /dev/null
+++ b/TempLate/assets/SmanageView-BW4wjlDy.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,h as o,j as s,l as c,m as l,p as u}from"./index-PMfCvoYM.js";var d={id:`modules`,class:`py-20 bg-[#F9FAFB]`},f={class:`container mx-auto px-4 sm:px-6 lg:px-8`},p={class:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`},m={class:`text-xl font-semibold mb-3`},h={class:`text-[#4E5969] mb-4`},g={class:`space-y-1 text-sm text-[#4E5969]`},_={id:`advantages`,class:`py-20 bg-white`},v={class:`container mx-auto px-4 sm:px-6 lg:px-8`},y={class:`grid grid-cols-1 md:grid-cols-2 gap-10 max-w-4xl mx-auto`},b={class:`text-lg font-semibold mb-2`},x={class:`text-[#4E5969]`},S=i({__name:`SmanageView`,setup(i){let S=[{color:`#165DFF`,icon:`fa fa-building`,title:`GERP 企业管理核心`,desc:`企业资源规划核心模块,涵盖组织架构、权限管理、任务调度、薪酬体系、签到考核等全流程管理能力。`,points:[`5级权限体系管控`,`工作流自动化审批`,`员工档案与考核`]},{color:`#36CFC9`,icon:`fa fa-exchange`,title:`API 网关与集成`,desc:`统一接口调度中心,支持参数验证、权限校验、错误统一处理,集成企业微信、邮件、云存储等第三方服务。`,points:[`统一接口规范`,`多系统集成适配`,`接口限流与监控`]},{color:`#722ED1`,icon:`fa fa-database`,title:`数据管理与分析`,desc:`全量数据存储、统计与可视化,支持代码量统计、业务数据报表、趋势分析,提供多维度数据洞察。`,points:[`多类型文件统计`,`可视化报表生成`,`数据加密与安全`]},{color:`#165DFF`,icon:`fa fa-briefcase`,title:`3CRB 商事服务`,desc:`企业商事服务支撑模块,涵盖企业注册、注销、信息管理、法律诉讼案件处理等专业化能力。`,points:[`商事流程标准化`,`案件跟踪与管理`,`企业信息档案`]},{color:`#36CFC9`,icon:`fa fa-gamepad`,title:`MC 游戏服务支撑`,desc:`Minecraft 服务器管理与游戏生态支撑,支持服务器绑定、账户管理、虚拟货币交易等特色能力。`,points:[`多服务器管理`,`游戏账户体系`,`虚拟资产交易`]},{color:`#722ED1`,icon:`fa fa-wrench`,title:`开发者工具集`,desc:`配套开发与运维工具,涵盖 Markdown 转换、邮件发送、代码统计、2FA 认证等通用能力,提升开发效率。`,points:[`自动化脚本工具`,`安全认证组件`,`日志与监控工具`]}],C=[{color:`#165DFF`,icon:`fa fa-shield`,title:`全方位安全防护`,desc:`集成 AES/RSA 加密、CSRF 防护、访问白名单、接口限流等多重安全机制,支持双因素认证(2FA),保障数据与接口安全。`},{color:`#36CFC9`,icon:`fa fa-puzzle-piece`,title:`模块化可扩展架构`,desc:`基于标准化模块规范,支持独立开发、部署与扩展,新增模块仅需遵循统一配置规范,快速集成到主系统。`},{color:`#722ED1`,icon:`fa fa-code`,title:`成熟的技术栈`,desc:`基于 Python+Flask 构建后端核心,搭配 Tailwind CSS 前端框架,整合 SQLAlchemy、SocketIO 等成熟组件,降低维护成本。`},{color:`#165DFF`,icon:`fa fa-mobile`,title:`全端适配体验`,desc:`响应式界面设计,完美适配桌面端、移动端、平板端,支持多终端无缝切换,提升用户使用体验。`},{color:`#36CFC9`,icon:`fa fa-database`,title:`灵活的数据管理`,desc:`支持多数据库实例绑定、事务管理、数据迁移,集成文件存储与搜索引擎,满足企业级数据管理需求。`},{color:`#722ED1`,icon:`fa fa-plug`,title:`丰富的集成能力`,desc:`内置企业微信、邮件、云存储、游戏服务器等多场景集成能力,支持第三方系统快速对接。`}];return(i,w)=>(r(),u(`div`,null,[w[2]||=l(` SMANAGE SAAS企业级智能管理系统 SMANAGE SAAS 是基于 GVSDS 技术体系构建的全栈式企业管理解决方案,整合 GERP 企业资源管理、多模块业务支撑、数据可视化分析等核心能力, 覆盖 Python 后端服务、响应式前端交互、多端适配等全链路场景,为企业数字化转型提供一站式技术支撑。
21万+ 核心代码量
多模块可扩展架构
Django+Go 多后端
全平台响应式适配
项目涵盖 API 网关、数据存储、权限管理、流程自动化等核心能力,支持企业微信、云存储、游戏服务等多场景集成, 已形成完整的开发、部署、运维一体化技术体系。
技术架构设计 基于分层架构 + 模块化设计,支撑高可用、可扩展的企业级应用场景
前端层(Presentation Layer) 基于 Tailwind CSS + JavaScript 构建响应式界面,支持桌面端、移动端、平板端全适配,集成 ECharts 数据可视化、SocketIO 实时通信等能力。
接口层(API Gateway) 统一 API 调度与权限校验,基于 Django 构建 RESTful API 接口,集成 WebSocket 实时通信、CSRF 防护、访问限流等安全机制。
RESTful API
WebSocket
权限校验
限流防护
业务层(Business Logic) 模块化业务逻辑封装,涵盖 GERP 企业管理、MC 游戏支撑、云存储等核心模块,支持独立部署与扩展。
数据层(Data Layer) 基于 MySQL + SQLAlchemy 实现数据持久化,支持多数据库实例绑定、事务管理、数据加密存储,集成文件存储、搜索引擎等扩展能力。
`,2),a(`section`,d,[a(`div`,f,[w[0]||=a(`div`,{class:`text-center mb-16`},[a(`h2`,{class:`text-[clamp(1.5rem,3vw,2.5rem)] font-bold text-[#1F2329] mb-4`},`核心模块体系`),a(`p`,{class:`text-[#4E5969] max-w-2xl mx-auto`},`覆盖企业管理全场景的模块化能力,支持按需组合与扩展`)],-1),a(`div`,p,[(r(),u(c,null,e(S,(i,l)=>a(`div`,{key:l,class:`bg-white rounded-xl p-6 shadow-sm hover:shadow-md transition-all duration-300 ease-in-out border border-[#E5E7EB]`},[a(`div`,{class:`w-12 h-12 rounded-lg flex items-center justify-center mb-4`,style:t({backgroundColor:`${i.color}10`})},[a(`i`,{class:s([i.icon,`text-xl`]),style:t({color:i.color})},null,6)],4),a(`h3`,m,n(i.title),1),a(`p`,h,n(i.desc),1),a(`ul`,g,[(r(!0),u(c,null,e(i.points,e=>(r(),u(`li`,{key:e,class:`flex items-center`},[a(`i`,{class:`fa fa-angle-right mr-2`,style:t({color:i.color})},null,4),o(` `+n(e),1)]))),128))])])),64))])])]),a(`section`,_,[a(`div`,v,[w[1]||=a(`div`,{class:`text-center mb-16`},[a(`h2`,{class:`text-[clamp(1.5rem,3vw,2.5rem)] font-bold text-[#1F2329] mb-4`},`核心技术优势`),a(`p`,{class:`text-[#4E5969] max-w-2xl mx-auto`},`从架构设计到安全防护,全方位保障系统稳定、高效、可扩展`)],-1),a(`div`,y,[(r(),u(c,null,e(C,(e,r)=>a(`div`,{key:r,class:`flex gap-4`},[a(`div`,{class:`w-10 h-10 rounded-full flex items-center justify-center flex-shrink-0 mt-1`,style:t({backgroundColor:`${e.color}10`})},[a(`i`,{class:s(e.icon),style:t({color:e.color})},null,6)],4),a(`div`,null,[a(`h3`,b,n(e.title),1),a(`p`,x,n(e.desc),1)])])),64))])])])]))}});export{S as default};
\ No newline at end of file
diff --git a/TempLate/assets/SmanageView-C3vT5BmC.js b/TempLate/assets/SmanageView-C3vT5BmC.js
new file mode 100644
index 00000000..817ecf2e
--- /dev/null
+++ b/TempLate/assets/SmanageView-C3vT5BmC.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,h as o,j as s,l as c,m as l,p as u}from"./index-BM-LFFI_.js";var d={id:`modules`,class:`py-20 bg-[#F9FAFB]`},f={class:`container mx-auto px-4 sm:px-6 lg:px-8`},p={class:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`},m={class:`text-xl font-semibold mb-3`},h={class:`text-[#4E5969] mb-4`},g={class:`space-y-1 text-sm text-[#4E5969]`},_={id:`advantages`,class:`py-20 bg-white`},v={class:`container mx-auto px-4 sm:px-6 lg:px-8`},y={class:`grid grid-cols-1 md:grid-cols-2 gap-10 max-w-4xl mx-auto`},b={class:`text-lg font-semibold mb-2`},x={class:`text-[#4E5969]`},S=i({__name:`SmanageView`,setup(i){let S=[{color:`#165DFF`,icon:`fa fa-building`,title:`GERP 企业管理核心`,desc:`企业资源规划核心模块,涵盖组织架构、权限管理、任务调度、薪酬体系、签到考核等全流程管理能力。`,points:[`5级权限体系管控`,`工作流自动化审批`,`员工档案与考核`]},{color:`#36CFC9`,icon:`fa fa-exchange`,title:`API 网关与集成`,desc:`统一接口调度中心,支持参数验证、权限校验、错误统一处理,集成企业微信、邮件、云存储等第三方服务。`,points:[`统一接口规范`,`多系统集成适配`,`接口限流与监控`]},{color:`#722ED1`,icon:`fa fa-database`,title:`数据管理与分析`,desc:`全量数据存储、统计与可视化,支持代码量统计、业务数据报表、趋势分析,提供多维度数据洞察。`,points:[`多类型文件统计`,`可视化报表生成`,`数据加密与安全`]},{color:`#165DFF`,icon:`fa fa-briefcase`,title:`3CRB 商事服务`,desc:`企业商事服务支撑模块,涵盖企业注册、注销、信息管理、法律诉讼案件处理等专业化能力。`,points:[`商事流程标准化`,`案件跟踪与管理`,`企业信息档案`]},{color:`#36CFC9`,icon:`fa fa-gamepad`,title:`MC 游戏服务支撑`,desc:`Minecraft 服务器管理与游戏生态支撑,支持服务器绑定、账户管理、虚拟货币交易等特色能力。`,points:[`多服务器管理`,`游戏账户体系`,`虚拟资产交易`]},{color:`#722ED1`,icon:`fa fa-wrench`,title:`开发者工具集`,desc:`配套开发与运维工具,涵盖 Markdown 转换、邮件发送、代码统计、2FA 认证等通用能力,提升开发效率。`,points:[`自动化脚本工具`,`安全认证组件`,`日志与监控工具`]}],C=[{color:`#165DFF`,icon:`fa fa-shield`,title:`全方位安全防护`,desc:`集成 AES/RSA 加密、CSRF 防护、访问白名单、接口限流等多重安全机制,支持双因素认证(2FA),保障数据与接口安全。`},{color:`#36CFC9`,icon:`fa fa-puzzle-piece`,title:`模块化可扩展架构`,desc:`基于标准化模块规范,支持独立开发、部署与扩展,新增模块仅需遵循统一配置规范,快速集成到主系统。`},{color:`#722ED1`,icon:`fa fa-code`,title:`成熟的技术栈`,desc:`基于 Python+Flask 构建后端核心,搭配 Tailwind CSS 前端框架,整合 SQLAlchemy、SocketIO 等成熟组件,降低维护成本。`},{color:`#165DFF`,icon:`fa fa-mobile`,title:`全端适配体验`,desc:`响应式界面设计,完美适配桌面端、移动端、平板端,支持多终端无缝切换,提升用户使用体验。`},{color:`#36CFC9`,icon:`fa fa-database`,title:`灵活的数据管理`,desc:`支持多数据库实例绑定、事务管理、数据迁移,集成文件存储与搜索引擎,满足企业级数据管理需求。`},{color:`#722ED1`,icon:`fa fa-plug`,title:`丰富的集成能力`,desc:`内置企业微信、邮件、云存储、游戏服务器等多场景集成能力,支持第三方系统快速对接。`}];return(i,w)=>(r(),u(`div`,null,[w[2]||=l(` SMANAGE SAAS企业级智能管理系统 SMANAGE SAAS 是基于 GVSDS 技术体系构建的全栈式企业管理解决方案,整合 GERP 企业资源管理、多模块业务支撑、数据可视化分析等核心能力, 覆盖 Python 后端服务、响应式前端交互、多端适配等全链路场景,为企业数字化转型提供一站式技术支撑。
21万+ 核心代码量
多模块可扩展架构
Django+Go 多后端
全平台响应式适配
项目涵盖 API 网关、数据存储、权限管理、流程自动化等核心能力,支持企业微信、云存储、游戏服务等多场景集成, 已形成完整的开发、部署、运维一体化技术体系。
技术架构设计 基于分层架构 + 模块化设计,支撑高可用、可扩展的企业级应用场景
前端层(Presentation Layer) 基于 Tailwind CSS + JavaScript 构建响应式界面,支持桌面端、移动端、平板端全适配,集成 ECharts 数据可视化、SocketIO 实时通信等能力。
接口层(API Gateway) 统一 API 调度与权限校验,基于 Django 构建 RESTful API 接口,集成 WebSocket 实时通信、CSRF 防护、访问限流等安全机制。
RESTful API
WebSocket
权限校验
限流防护
业务层(Business Logic) 模块化业务逻辑封装,涵盖 GERP 企业管理、MC 游戏支撑、云存储等核心模块,支持独立部署与扩展。
数据层(Data Layer) 基于 MySQL + SQLAlchemy 实现数据持久化,支持多数据库实例绑定、事务管理、数据加密存储,集成文件存储、搜索引擎等扩展能力。
`,2),a(`section`,d,[a(`div`,f,[w[0]||=a(`div`,{class:`text-center mb-16`},[a(`h2`,{class:`text-[clamp(1.5rem,3vw,2.5rem)] font-bold text-[#1F2329] mb-4`},`核心模块体系`),a(`p`,{class:`text-[#4E5969] max-w-2xl mx-auto`},`覆盖企业管理全场景的模块化能力,支持按需组合与扩展`)],-1),a(`div`,p,[(r(),u(c,null,e(S,(i,l)=>a(`div`,{key:l,class:`bg-white rounded-xl p-6 shadow-sm hover:shadow-md transition-all duration-300 ease-in-out border border-[#E5E7EB]`},[a(`div`,{class:`w-12 h-12 rounded-lg flex items-center justify-center mb-4`,style:t({backgroundColor:`${i.color}10`})},[a(`i`,{class:s([i.icon,`text-xl`]),style:t({color:i.color})},null,6)],4),a(`h3`,m,n(i.title),1),a(`p`,h,n(i.desc),1),a(`ul`,g,[(r(!0),u(c,null,e(i.points,e=>(r(),u(`li`,{key:e,class:`flex items-center`},[a(`i`,{class:`fa fa-angle-right mr-2`,style:t({color:i.color})},null,4),o(` `+n(e),1)]))),128))])])),64))])])]),a(`section`,_,[a(`div`,v,[w[1]||=a(`div`,{class:`text-center mb-16`},[a(`h2`,{class:`text-[clamp(1.5rem,3vw,2.5rem)] font-bold text-[#1F2329] mb-4`},`核心技术优势`),a(`p`,{class:`text-[#4E5969] max-w-2xl mx-auto`},`从架构设计到安全防护,全方位保障系统稳定、高效、可扩展`)],-1),a(`div`,y,[(r(),u(c,null,e(C,(e,r)=>a(`div`,{key:r,class:`flex gap-4`},[a(`div`,{class:`w-10 h-10 rounded-full flex items-center justify-center flex-shrink-0 mt-1`,style:t({backgroundColor:`${e.color}10`})},[a(`i`,{class:s(e.icon),style:t({color:e.color})},null,6)],4),a(`div`,null,[a(`h3`,b,n(e.title),1),a(`p`,x,n(e.desc),1)])])),64))])])])]))}});export{S as default};
\ No newline at end of file
diff --git a/TempLate/assets/SmanageView-DD9cDiop.js b/TempLate/assets/SmanageView-DD9cDiop.js
new file mode 100644
index 00000000..ec49eaf4
--- /dev/null
+++ b/TempLate/assets/SmanageView-DD9cDiop.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,h as o,j as s,l as c,m as l,p as u}from"./index-CJXuAy0L.js";var d={id:`modules`,class:`py-20 bg-[#F9FAFB]`},f={class:`container mx-auto px-4 sm:px-6 lg:px-8`},p={class:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`},m={class:`text-xl font-semibold mb-3`},h={class:`text-[#4E5969] mb-4`},g={class:`space-y-1 text-sm text-[#4E5969]`},_={id:`advantages`,class:`py-20 bg-white`},v={class:`container mx-auto px-4 sm:px-6 lg:px-8`},y={class:`grid grid-cols-1 md:grid-cols-2 gap-10 max-w-4xl mx-auto`},b={class:`text-lg font-semibold mb-2`},x={class:`text-[#4E5969]`},S=i({__name:`SmanageView`,setup(i){let S=[{color:`#165DFF`,icon:`fa fa-building`,title:`GERP 企业管理核心`,desc:`企业资源规划核心模块,涵盖组织架构、权限管理、任务调度、薪酬体系、签到考核等全流程管理能力。`,points:[`5级权限体系管控`,`工作流自动化审批`,`员工档案与考核`]},{color:`#36CFC9`,icon:`fa fa-exchange`,title:`API 网关与集成`,desc:`统一接口调度中心,支持参数验证、权限校验、错误统一处理,集成企业微信、邮件、云存储等第三方服务。`,points:[`统一接口规范`,`多系统集成适配`,`接口限流与监控`]},{color:`#722ED1`,icon:`fa fa-database`,title:`数据管理与分析`,desc:`全量数据存储、统计与可视化,支持代码量统计、业务数据报表、趋势分析,提供多维度数据洞察。`,points:[`多类型文件统计`,`可视化报表生成`,`数据加密与安全`]},{color:`#165DFF`,icon:`fa fa-briefcase`,title:`3CRB 商事服务`,desc:`企业商事服务支撑模块,涵盖企业注册、注销、信息管理、法律诉讼案件处理等专业化能力。`,points:[`商事流程标准化`,`案件跟踪与管理`,`企业信息档案`]},{color:`#36CFC9`,icon:`fa fa-gamepad`,title:`MC 游戏服务支撑`,desc:`Minecraft 服务器管理与游戏生态支撑,支持服务器绑定、账户管理、虚拟货币交易等特色能力。`,points:[`多服务器管理`,`游戏账户体系`,`虚拟资产交易`]},{color:`#722ED1`,icon:`fa fa-wrench`,title:`开发者工具集`,desc:`配套开发与运维工具,涵盖 Markdown 转换、邮件发送、代码统计、2FA 认证等通用能力,提升开发效率。`,points:[`自动化脚本工具`,`安全认证组件`,`日志与监控工具`]}],C=[{color:`#165DFF`,icon:`fa fa-shield`,title:`全方位安全防护`,desc:`集成 AES/RSA 加密、CSRF 防护、访问白名单、接口限流等多重安全机制,支持双因素认证(2FA),保障数据与接口安全。`},{color:`#36CFC9`,icon:`fa fa-puzzle-piece`,title:`模块化可扩展架构`,desc:`基于标准化模块规范,支持独立开发、部署与扩展,新增模块仅需遵循统一配置规范,快速集成到主系统。`},{color:`#722ED1`,icon:`fa fa-code`,title:`成熟的技术栈`,desc:`基于 Python+Flask 构建后端核心,搭配 Tailwind CSS 前端框架,整合 SQLAlchemy、SocketIO 等成熟组件,降低维护成本。`},{color:`#165DFF`,icon:`fa fa-mobile`,title:`全端适配体验`,desc:`响应式界面设计,完美适配桌面端、移动端、平板端,支持多终端无缝切换,提升用户使用体验。`},{color:`#36CFC9`,icon:`fa fa-database`,title:`灵活的数据管理`,desc:`支持多数据库实例绑定、事务管理、数据迁移,集成文件存储与搜索引擎,满足企业级数据管理需求。`},{color:`#722ED1`,icon:`fa fa-plug`,title:`丰富的集成能力`,desc:`内置企业微信、邮件、云存储、游戏服务器等多场景集成能力,支持第三方系统快速对接。`}];return(i,w)=>(r(),u(`div`,null,[w[2]||=l(` SMANAGE SAAS企业级智能管理系统 SMANAGE SAAS 是基于 GVSDS 技术体系构建的全栈式企业管理解决方案,整合 GERP 企业资源管理、多模块业务支撑、数据可视化分析等核心能力, 覆盖 Python 后端服务、响应式前端交互、多端适配等全链路场景,为企业数字化转型提供一站式技术支撑。
21万+ 核心代码量
多模块可扩展架构
Django+Go 多后端
全平台响应式适配
项目涵盖 API 网关、数据存储、权限管理、流程自动化等核心能力,支持企业微信、云存储、游戏服务等多场景集成, 已形成完整的开发、部署、运维一体化技术体系。
技术架构设计 基于分层架构 + 模块化设计,支撑高可用、可扩展的企业级应用场景
前端层(Presentation Layer) 基于 Tailwind CSS + JavaScript 构建响应式界面,支持桌面端、移动端、平板端全适配,集成 ECharts 数据可视化、SocketIO 实时通信等能力。
接口层(API Gateway) 统一 API 调度与权限校验,基于 Django 构建 RESTful API 接口,集成 WebSocket 实时通信、CSRF 防护、访问限流等安全机制。
RESTful API
WebSocket
权限校验
限流防护
业务层(Business Logic) 模块化业务逻辑封装,涵盖 GERP 企业管理、MC 游戏支撑、云存储等核心模块,支持独立部署与扩展。
数据层(Data Layer) 基于 MySQL + SQLAlchemy 实现数据持久化,支持多数据库实例绑定、事务管理、数据加密存储,集成文件存储、搜索引擎等扩展能力。
`,2),a(`section`,d,[a(`div`,f,[w[0]||=a(`div`,{class:`text-center mb-16`},[a(`h2`,{class:`text-[clamp(1.5rem,3vw,2.5rem)] font-bold text-[#1F2329] mb-4`},`核心模块体系`),a(`p`,{class:`text-[#4E5969] max-w-2xl mx-auto`},`覆盖企业管理全场景的模块化能力,支持按需组合与扩展`)],-1),a(`div`,p,[(r(),u(c,null,e(S,(i,l)=>a(`div`,{key:l,class:`bg-white rounded-xl p-6 shadow-sm hover:shadow-md transition-all duration-300 ease-in-out border border-[#E5E7EB]`},[a(`div`,{class:`w-12 h-12 rounded-lg flex items-center justify-center mb-4`,style:t({backgroundColor:`${i.color}10`})},[a(`i`,{class:s([i.icon,`text-xl`]),style:t({color:i.color})},null,6)],4),a(`h3`,m,n(i.title),1),a(`p`,h,n(i.desc),1),a(`ul`,g,[(r(!0),u(c,null,e(i.points,e=>(r(),u(`li`,{key:e,class:`flex items-center`},[a(`i`,{class:`fa fa-angle-right mr-2`,style:t({color:i.color})},null,4),o(` `+n(e),1)]))),128))])])),64))])])]),a(`section`,_,[a(`div`,v,[w[1]||=a(`div`,{class:`text-center mb-16`},[a(`h2`,{class:`text-[clamp(1.5rem,3vw,2.5rem)] font-bold text-[#1F2329] mb-4`},`核心技术优势`),a(`p`,{class:`text-[#4E5969] max-w-2xl mx-auto`},`从架构设计到安全防护,全方位保障系统稳定、高效、可扩展`)],-1),a(`div`,y,[(r(),u(c,null,e(C,(e,r)=>a(`div`,{key:r,class:`flex gap-4`},[a(`div`,{class:`w-10 h-10 rounded-full flex items-center justify-center flex-shrink-0 mt-1`,style:t({backgroundColor:`${e.color}10`})},[a(`i`,{class:s(e.icon),style:t({color:e.color})},null,6)],4),a(`div`,null,[a(`h3`,b,n(e.title),1),a(`p`,x,n(e.desc),1)])])),64))])])])]))}});export{S as default};
\ No newline at end of file
diff --git a/TempLate/assets/SmanageView-kgF0OLu-.js b/TempLate/assets/SmanageView-kgF0OLu-.js
new file mode 100644
index 00000000..d728947d
--- /dev/null
+++ b/TempLate/assets/SmanageView-kgF0OLu-.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,h as o,j as s,l as c,m as l,p as u}from"./index-CMhybB9x.js";var d={id:`modules`,class:`py-20 bg-[#F9FAFB]`},f={class:`container mx-auto px-4 sm:px-6 lg:px-8`},p={class:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`},m={class:`text-xl font-semibold mb-3`},h={class:`text-[#4E5969] mb-4`},g={class:`space-y-1 text-sm text-[#4E5969]`},_={id:`advantages`,class:`py-20 bg-white`},v={class:`container mx-auto px-4 sm:px-6 lg:px-8`},y={class:`grid grid-cols-1 md:grid-cols-2 gap-10 max-w-4xl mx-auto`},b={class:`text-lg font-semibold mb-2`},x={class:`text-[#4E5969]`},S=i({__name:`SmanageView`,setup(i){let S=[{color:`#165DFF`,icon:`fa fa-building`,title:`GERP 企业管理核心`,desc:`企业资源规划核心模块,涵盖组织架构、权限管理、任务调度、薪酬体系、签到考核等全流程管理能力。`,points:[`5级权限体系管控`,`工作流自动化审批`,`员工档案与考核`]},{color:`#36CFC9`,icon:`fa fa-exchange`,title:`API 网关与集成`,desc:`统一接口调度中心,支持参数验证、权限校验、错误统一处理,集成企业微信、邮件、云存储等第三方服务。`,points:[`统一接口规范`,`多系统集成适配`,`接口限流与监控`]},{color:`#722ED1`,icon:`fa fa-database`,title:`数据管理与分析`,desc:`全量数据存储、统计与可视化,支持代码量统计、业务数据报表、趋势分析,提供多维度数据洞察。`,points:[`多类型文件统计`,`可视化报表生成`,`数据加密与安全`]},{color:`#165DFF`,icon:`fa fa-briefcase`,title:`3CRB 商事服务`,desc:`企业商事服务支撑模块,涵盖企业注册、注销、信息管理、法律诉讼案件处理等专业化能力。`,points:[`商事流程标准化`,`案件跟踪与管理`,`企业信息档案`]},{color:`#36CFC9`,icon:`fa fa-gamepad`,title:`MC 游戏服务支撑`,desc:`Minecraft 服务器管理与游戏生态支撑,支持服务器绑定、账户管理、虚拟货币交易等特色能力。`,points:[`多服务器管理`,`游戏账户体系`,`虚拟资产交易`]},{color:`#722ED1`,icon:`fa fa-wrench`,title:`开发者工具集`,desc:`配套开发与运维工具,涵盖 Markdown 转换、邮件发送、代码统计、2FA 认证等通用能力,提升开发效率。`,points:[`自动化脚本工具`,`安全认证组件`,`日志与监控工具`]}],C=[{color:`#165DFF`,icon:`fa fa-shield`,title:`全方位安全防护`,desc:`集成 AES/RSA 加密、CSRF 防护、访问白名单、接口限流等多重安全机制,支持双因素认证(2FA),保障数据与接口安全。`},{color:`#36CFC9`,icon:`fa fa-puzzle-piece`,title:`模块化可扩展架构`,desc:`基于标准化模块规范,支持独立开发、部署与扩展,新增模块仅需遵循统一配置规范,快速集成到主系统。`},{color:`#722ED1`,icon:`fa fa-code`,title:`成熟的技术栈`,desc:`基于 Python+Flask 构建后端核心,搭配 Tailwind CSS 前端框架,整合 SQLAlchemy、SocketIO 等成熟组件,降低维护成本。`},{color:`#165DFF`,icon:`fa fa-mobile`,title:`全端适配体验`,desc:`响应式界面设计,完美适配桌面端、移动端、平板端,支持多终端无缝切换,提升用户使用体验。`},{color:`#36CFC9`,icon:`fa fa-database`,title:`灵活的数据管理`,desc:`支持多数据库实例绑定、事务管理、数据迁移,集成文件存储与搜索引擎,满足企业级数据管理需求。`},{color:`#722ED1`,icon:`fa fa-plug`,title:`丰富的集成能力`,desc:`内置企业微信、邮件、云存储、游戏服务器等多场景集成能力,支持第三方系统快速对接。`}];return(i,w)=>(r(),u(`div`,null,[w[2]||=l(` SMANAGE SAAS企业级智能管理系统 SMANAGE SAAS 是基于 GVSDS 技术体系构建的全栈式企业管理解决方案,整合 GERP 企业资源管理、多模块业务支撑、数据可视化分析等核心能力, 覆盖 Python 后端服务、响应式前端交互、多端适配等全链路场景,为企业数字化转型提供一站式技术支撑。
21万+ 核心代码量
多模块可扩展架构
Django+Go 多后端
全平台响应式适配
项目涵盖 API 网关、数据存储、权限管理、流程自动化等核心能力,支持企业微信、云存储、游戏服务等多场景集成, 已形成完整的开发、部署、运维一体化技术体系。
技术架构设计 基于分层架构 + 模块化设计,支撑高可用、可扩展的企业级应用场景
前端层(Presentation Layer) 基于 Tailwind CSS + JavaScript 构建响应式界面,支持桌面端、移动端、平板端全适配,集成 ECharts 数据可视化、SocketIO 实时通信等能力。
接口层(API Gateway) 统一 API 调度与权限校验,基于 Django 构建 RESTful API 接口,集成 WebSocket 实时通信、CSRF 防护、访问限流等安全机制。
RESTful API
WebSocket
权限校验
限流防护
业务层(Business Logic) 模块化业务逻辑封装,涵盖 GERP 企业管理、MC 游戏支撑、云存储等核心模块,支持独立部署与扩展。
数据层(Data Layer) 基于 MySQL + SQLAlchemy 实现数据持久化,支持多数据库实例绑定、事务管理、数据加密存储,集成文件存储、搜索引擎等扩展能力。
`,2),a(`section`,d,[a(`div`,f,[w[0]||=a(`div`,{class:`text-center mb-16`},[a(`h2`,{class:`text-[clamp(1.5rem,3vw,2.5rem)] font-bold text-[#1F2329] mb-4`},`核心模块体系`),a(`p`,{class:`text-[#4E5969] max-w-2xl mx-auto`},`覆盖企业管理全场景的模块化能力,支持按需组合与扩展`)],-1),a(`div`,p,[(r(),u(c,null,e(S,(i,l)=>a(`div`,{key:l,class:`bg-white rounded-xl p-6 shadow-sm hover:shadow-md transition-all duration-300 ease-in-out border border-[#E5E7EB]`},[a(`div`,{class:`w-12 h-12 rounded-lg flex items-center justify-center mb-4`,style:t({backgroundColor:`${i.color}10`})},[a(`i`,{class:s([i.icon,`text-xl`]),style:t({color:i.color})},null,6)],4),a(`h3`,m,n(i.title),1),a(`p`,h,n(i.desc),1),a(`ul`,g,[(r(!0),u(c,null,e(i.points,e=>(r(),u(`li`,{key:e,class:`flex items-center`},[a(`i`,{class:`fa fa-angle-right mr-2`,style:t({color:i.color})},null,4),o(` `+n(e),1)]))),128))])])),64))])])]),a(`section`,_,[a(`div`,v,[w[1]||=a(`div`,{class:`text-center mb-16`},[a(`h2`,{class:`text-[clamp(1.5rem,3vw,2.5rem)] font-bold text-[#1F2329] mb-4`},`核心技术优势`),a(`p`,{class:`text-[#4E5969] max-w-2xl mx-auto`},`从架构设计到安全防护,全方位保障系统稳定、高效、可扩展`)],-1),a(`div`,y,[(r(),u(c,null,e(C,(e,r)=>a(`div`,{key:r,class:`flex gap-4`},[a(`div`,{class:`w-10 h-10 rounded-full flex items-center justify-center flex-shrink-0 mt-1`,style:t({backgroundColor:`${e.color}10`})},[a(`i`,{class:s(e.icon),style:t({color:e.color})},null,6)],4),a(`div`,null,[a(`h3`,b,n(e.title),1),a(`p`,x,n(e.desc),1)])])),64))])])])]))}});export{S as default};
\ No newline at end of file
diff --git a/TempLate/assets/SmanageView-xEmtKD0j.js b/TempLate/assets/SmanageView-xEmtKD0j.js
new file mode 100644
index 00000000..103cd952
--- /dev/null
+++ b/TempLate/assets/SmanageView-xEmtKD0j.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,h as o,j as s,l as c,m as l,p as u}from"./index-CUry87of.js";var d={id:`modules`,class:`py-20 bg-[#F9FAFB]`},f={class:`container mx-auto px-4 sm:px-6 lg:px-8`},p={class:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`},m={class:`text-xl font-semibold mb-3`},h={class:`text-[#4E5969] mb-4`},g={class:`space-y-1 text-sm text-[#4E5969]`},_={id:`advantages`,class:`py-20 bg-white`},v={class:`container mx-auto px-4 sm:px-6 lg:px-8`},y={class:`grid grid-cols-1 md:grid-cols-2 gap-10 max-w-4xl mx-auto`},b={class:`text-lg font-semibold mb-2`},x={class:`text-[#4E5969]`},S=i({__name:`SmanageView`,setup(i){let S=[{color:`#165DFF`,icon:`fa fa-building`,title:`GERP 企业管理核心`,desc:`企业资源规划核心模块,涵盖组织架构、权限管理、任务调度、薪酬体系、签到考核等全流程管理能力。`,points:[`5级权限体系管控`,`工作流自动化审批`,`员工档案与考核`]},{color:`#36CFC9`,icon:`fa fa-exchange`,title:`API 网关与集成`,desc:`统一接口调度中心,支持参数验证、权限校验、错误统一处理,集成企业微信、邮件、云存储等第三方服务。`,points:[`统一接口规范`,`多系统集成适配`,`接口限流与监控`]},{color:`#722ED1`,icon:`fa fa-database`,title:`数据管理与分析`,desc:`全量数据存储、统计与可视化,支持代码量统计、业务数据报表、趋势分析,提供多维度数据洞察。`,points:[`多类型文件统计`,`可视化报表生成`,`数据加密与安全`]},{color:`#165DFF`,icon:`fa fa-briefcase`,title:`3CRB 商事服务`,desc:`企业商事服务支撑模块,涵盖企业注册、注销、信息管理、法律诉讼案件处理等专业化能力。`,points:[`商事流程标准化`,`案件跟踪与管理`,`企业信息档案`]},{color:`#36CFC9`,icon:`fa fa-gamepad`,title:`MC 游戏服务支撑`,desc:`Minecraft 服务器管理与游戏生态支撑,支持服务器绑定、账户管理、虚拟货币交易等特色能力。`,points:[`多服务器管理`,`游戏账户体系`,`虚拟资产交易`]},{color:`#722ED1`,icon:`fa fa-wrench`,title:`开发者工具集`,desc:`配套开发与运维工具,涵盖 Markdown 转换、邮件发送、代码统计、2FA 认证等通用能力,提升开发效率。`,points:[`自动化脚本工具`,`安全认证组件`,`日志与监控工具`]}],C=[{color:`#165DFF`,icon:`fa fa-shield`,title:`全方位安全防护`,desc:`集成 AES/RSA 加密、CSRF 防护、访问白名单、接口限流等多重安全机制,支持双因素认证(2FA),保障数据与接口安全。`},{color:`#36CFC9`,icon:`fa fa-puzzle-piece`,title:`模块化可扩展架构`,desc:`基于标准化模块规范,支持独立开发、部署与扩展,新增模块仅需遵循统一配置规范,快速集成到主系统。`},{color:`#722ED1`,icon:`fa fa-code`,title:`成熟的技术栈`,desc:`基于 Python+Flask 构建后端核心,搭配 Tailwind CSS 前端框架,整合 SQLAlchemy、SocketIO 等成熟组件,降低维护成本。`},{color:`#165DFF`,icon:`fa fa-mobile`,title:`全端适配体验`,desc:`响应式界面设计,完美适配桌面端、移动端、平板端,支持多终端无缝切换,提升用户使用体验。`},{color:`#36CFC9`,icon:`fa fa-database`,title:`灵活的数据管理`,desc:`支持多数据库实例绑定、事务管理、数据迁移,集成文件存储与搜索引擎,满足企业级数据管理需求。`},{color:`#722ED1`,icon:`fa fa-plug`,title:`丰富的集成能力`,desc:`内置企业微信、邮件、云存储、游戏服务器等多场景集成能力,支持第三方系统快速对接。`}];return(i,w)=>(r(),u(`div`,null,[w[2]||=l(` SMANAGE SAAS企业级智能管理系统 SMANAGE SAAS 是基于 GVSDS 技术体系构建的全栈式企业管理解决方案,整合 GERP 企业资源管理、多模块业务支撑、数据可视化分析等核心能力, 覆盖 Python 后端服务、响应式前端交互、多端适配等全链路场景,为企业数字化转型提供一站式技术支撑。
21万+ 核心代码量
多模块可扩展架构
Django+Go 多后端
全平台响应式适配
项目涵盖 API 网关、数据存储、权限管理、流程自动化等核心能力,支持企业微信、云存储、游戏服务等多场景集成, 已形成完整的开发、部署、运维一体化技术体系。
技术架构设计 基于分层架构 + 模块化设计,支撑高可用、可扩展的企业级应用场景
前端层(Presentation Layer) 基于 Tailwind CSS + JavaScript 构建响应式界面,支持桌面端、移动端、平板端全适配,集成 ECharts 数据可视化、SocketIO 实时通信等能力。
接口层(API Gateway) 统一 API 调度与权限校验,基于 Django 构建 RESTful API 接口,集成 WebSocket 实时通信、CSRF 防护、访问限流等安全机制。
RESTful API
WebSocket
权限校验
限流防护
业务层(Business Logic) 模块化业务逻辑封装,涵盖 GERP 企业管理、MC 游戏支撑、云存储等核心模块,支持独立部署与扩展。
数据层(Data Layer) 基于 MySQL + SQLAlchemy 实现数据持久化,支持多数据库实例绑定、事务管理、数据加密存储,集成文件存储、搜索引擎等扩展能力。
`,2),a(`section`,d,[a(`div`,f,[w[0]||=a(`div`,{class:`text-center mb-16`},[a(`h2`,{class:`text-[clamp(1.5rem,3vw,2.5rem)] font-bold text-[#1F2329] mb-4`},`核心模块体系`),a(`p`,{class:`text-[#4E5969] max-w-2xl mx-auto`},`覆盖企业管理全场景的模块化能力,支持按需组合与扩展`)],-1),a(`div`,p,[(r(),u(c,null,e(S,(i,l)=>a(`div`,{key:l,class:`bg-white rounded-xl p-6 shadow-sm hover:shadow-md transition-all duration-300 ease-in-out border border-[#E5E7EB]`},[a(`div`,{class:`w-12 h-12 rounded-lg flex items-center justify-center mb-4`,style:t({backgroundColor:`${i.color}10`})},[a(`i`,{class:s([i.icon,`text-xl`]),style:t({color:i.color})},null,6)],4),a(`h3`,m,n(i.title),1),a(`p`,h,n(i.desc),1),a(`ul`,g,[(r(!0),u(c,null,e(i.points,e=>(r(),u(`li`,{key:e,class:`flex items-center`},[a(`i`,{class:`fa fa-angle-right mr-2`,style:t({color:i.color})},null,4),o(` `+n(e),1)]))),128))])])),64))])])]),a(`section`,_,[a(`div`,v,[w[1]||=a(`div`,{class:`text-center mb-16`},[a(`h2`,{class:`text-[clamp(1.5rem,3vw,2.5rem)] font-bold text-[#1F2329] mb-4`},`核心技术优势`),a(`p`,{class:`text-[#4E5969] max-w-2xl mx-auto`},`从架构设计到安全防护,全方位保障系统稳定、高效、可扩展`)],-1),a(`div`,y,[(r(),u(c,null,e(C,(e,r)=>a(`div`,{key:r,class:`flex gap-4`},[a(`div`,{class:`w-10 h-10 rounded-full flex items-center justify-center flex-shrink-0 mt-1`,style:t({backgroundColor:`${e.color}10`})},[a(`i`,{class:s(e.icon),style:t({color:e.color})},null,6)],4),a(`div`,null,[a(`h3`,b,n(e.title),1),a(`p`,x,n(e.desc),1)])])),64))])])])]))}});export{S as default};
\ No newline at end of file
diff --git a/TempLate/assets/TermiNexusView-BC2Up3Br.js b/TempLate/assets/TermiNexusView-BC2Up3Br.js
new file mode 100644
index 00000000..edd4c756
--- /dev/null
+++ b/TempLate/assets/TermiNexusView-BC2Up3Br.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,h as o,j as s,l as c,m as l,p as u}from"./index-PMfCvoYM.js";import{t as d}from"./_plugin-vue_export-helper-BDNMzG2s.js";var f={class:`min-h-screen flex items-center justify-center py-12 px-4 sm:px-6 lg:px-8 relative selection:bg-blue-100 selection:text-blue-900`},p={class:`w-full max-w-7xl animate-enter`},m={class:`grid grid-cols-1 md:grid-cols-12 gap-6 md:gap-8 auto-rows-min items-stretch`},h={class:`md:col-span-8 flex flex-col gap-6`},g={class:`grid grid-cols-1 md:grid-cols-2 gap-6`},_={class:`card-holy rounded-2xl p-6 animate-enter delay-400`},v={class:`space-y-4`},y={class:`flex justify-between text-sm mb-1 font-mono`},b={class:`text-slate-600`},x={class:`text-blue-600`},S={class:`h-2 bg-slate-100 rounded-full overflow-hidden`},C={class:`card-holy rounded-2xl p-6 md:p-8 animate-enter delay-500`},w={class:`relative h-64 w-full flex items-end justify-between gap-2 md:gap-8 px-2 md:px-10`},T={class:`absolute -top-10 left-1/2 transform -translate-x-1/2 bg-slate-800 text-white text-xs py-1 px-2 rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap font-mono`},E={class:`mt-3 text-xs font-mono text-slate-400`},D=d(i({__name:`TermiNexusView`,setup(i){let d=[{name:`Python`,value:90},{name:`算法`,value:88},{name:`数据结构`,value:85},{name:`C / C++`,value:80}],D=[{label:`7月`,value:`17,868`,height:70},{label:`8月`,value:`24,534`,height:95},{label:`9月`,value:`4,678`,height:20},{label:`10月`,value:`8,097`,height:35},{label:`11月`,value:`14,573`,height:60},{label:`12月`,value:`7,380`,height:30}];return(i,O)=>(r(),u(`div`,f,[a(`main`,p,[a(`div`,m,[O[7]||=l(`
陈砚辞 TermiNexus · 银河锋锐工作室负责人
Engineering Full Stack Architecture
/
身份档案 姓名 陈砚辞
年龄 25
生日 2001 / 05 / 28
性别 男
性格 慢热内敛、理性专注、独处钻研,逻辑思维出众,不喜无效社交,冷静克制,偶有冲动。
`,1),a(`div`,h,[O[5]||=l(`
/
个人简介 我是一名深耕 Web前端开发 和后端/桌面应用开发 的开发者,兼具 UI/UX设计 与 软件设计 能力,目前主导 「银河锋锐软件开发工作室」 技术方向与研发工作。
深耕编程领域 6 年 ,擅长从0 到 1 搭建系统架构,注重代码规范与技术沉淀,秉持极简、高效、可靠的极客开发理念。
专注精细化界面交互、底层逻辑实现、迭代式性能优化,同时涉猎系统底层、编译原理与稀疏数值计算等方向,偏爱理性钻研与独立开发。
常年深耕键盘与终端,习惯以代码构建秩序,冷静内敛,享受独处钻研的过程,以技术为长期深耕的核心方向。
全栈开发 底层研发 架构设计
`,1),a(`div`,g,[a(`div`,_,[O[0]||=a(`h3`,{class:`text-lg font-bold text-slate-800 mb-6 flex items-center`},[a(`i`,{class:`fa fa-layer-group mr-2 text-blue-500`}),o(`技能掌握程度`)],-1),a(`div`,v,[(r(),u(c,null,e(d,(e,r)=>a(`div`,{key:e.name,class:`group`},[a(`div`,y,[a(`span`,b,n(e.name),1),a(`span`,x,n(e.value)+`%`,1)]),a(`div`,S,[a(`div`,{class:s([`bar-fill h-full bg-blue-500 rounded-full`,{"bg-blue-400":e.value===80}]),style:t({width:`${e.value}%`,animationDelay:`${r*.1}s`})},null,6)])])),64))])]),O[1]||=l(``,1)]),a(`div`,C,[O[4]||=l(` 代码贡献量趋势DATA_SOURCE: GVSDS_INTERNAL_GIT_LOG
`,1),a(`div`,w,[O[3]||=l(``,1),(r(),u(c,null,e(D,(e,r)=>a(`div`,{key:e.label,class:`flex flex-col items-center group z-10 flex-1 h-full justify-end`},[a(`div`,{class:`w-full max-w-[40px] bg-blue-500/10 rounded-t-lg relative hover:bg-blue-500 transition-all duration-500 bar-fill overflow-hidden`,style:t({height:`${e.height}%`,animationDelay:`${r*.1}s`})},[O[2]||=a(`div`,{class:`absolute bottom-0 w-full h-full bg-blue-400/30 group-hover:bg-blue-500 transition-colors`},null,-1),a(`div`,T,n(e.value),1)],4),a(`span`,E,n(e.label),1)])),64))])]),O[6]||=l(`
chenyuyan@TermiNexus :~ $ cat profile.md
# Identity: Chen Yuyan
# Core: Geek / Developer / Architect
# Commit: 210k+ lines
chenyuyan@TermiNexus :~ $
`,1)])])])]))}}),[[`__scopeId`,`data-v-d1442558`]]);export{D as default};
\ No newline at end of file
diff --git a/TempLate/assets/TermiNexusView-BJY9zcMD.css b/TempLate/assets/TermiNexusView-BJY9zcMD.css
new file mode 100644
index 00000000..b0e3d163
--- /dev/null
+++ b/TempLate/assets/TermiNexusView-BJY9zcMD.css
@@ -0,0 +1 @@
+.font-mono[data-v-d1442558]{font-family:JetBrains Mono,monospace}.font-serif-display[data-v-d1442558]{font-family:Playfair Display,serif}@keyframes float-d1442558{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes glow-pulse-d1442558{0%,to{box-shadow:0 0 15px #165dff0d}50%{box-shadow:0 0 25px #165dff26}}@keyframes draw-line-d1442558{0%{stroke-dashoffset:1000px}to{stroke-dashoffset:0}}@keyframes grow-bar-d1442558{0%{width:0}}@keyframes fade-in-up-d1442558{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-float[data-v-d1442558]{animation:6s ease-in-out infinite float-d1442558}.animate-glow[data-v-d1442558]{animation:4s ease-in-out infinite glow-pulse-d1442558}.animate-enter[data-v-d1442558]{opacity:0;animation:.8s cubic-bezier(.16,1,.3,1) forwards fade-in-up-d1442558}.delay-100[data-v-d1442558]{animation-delay:.1s}.delay-200[data-v-d1442558]{animation-delay:.2s}.delay-300[data-v-d1442558]{animation-delay:.3s}.delay-400[data-v-d1442558]{animation-delay:.4s}.delay-500[data-v-d1442558]{animation-delay:.5s}.card-holy[data-v-d1442558]{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd9;border:1px solid #fff9;height:100%;transition:all .4s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 6px -1px #00000005,0 2px 4px -1px #00000005}.card-holy[data-v-d1442558]:hover{border-color:#165dff33;transform:translateY(-4px);box-shadow:0 20px 25px -5px #165dff1a,0 10px 10px -5px #165dff0a}.corner-accent[data-v-d1442558]:before{content:"";opacity:0;border-top:2px solid #165dff;border-left:2px solid #165dff;width:20px;height:20px;transition:opacity .3s;position:absolute;top:0;left:0}.card-holy:hover .corner-accent[data-v-d1442558]:before{opacity:1}.bar-fill[data-v-d1442558]{animation:1.5s cubic-bezier(.34,1.56,.64,1) forwards grow-bar-d1442558}.radar-path[data-v-d1442558]{stroke-dasharray:1000;stroke-dashoffset:1000px;animation:2s ease-out .5s forwards draw-line-d1442558}.terminal-cursor[data-v-d1442558]:after{content:"_";animation:1s step-end infinite blink-d1442558}@keyframes blink-d1442558{50%{opacity:0}}
diff --git a/TempLate/assets/TermiNexusView-CGSd4OO5.js b/TempLate/assets/TermiNexusView-CGSd4OO5.js
new file mode 100644
index 00000000..cafccd43
--- /dev/null
+++ b/TempLate/assets/TermiNexusView-CGSd4OO5.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,h as o,j as s,l as c,m as l,p as u}from"./index-CMhybB9x.js";import{t as d}from"./_plugin-vue_export-helper-BDNMzG2s.js";var f={class:`min-h-screen flex items-center justify-center py-12 px-4 sm:px-6 lg:px-8 relative selection:bg-blue-100 selection:text-blue-900`},p={class:`w-full max-w-7xl animate-enter`},m={class:`grid grid-cols-1 md:grid-cols-12 gap-6 md:gap-8 auto-rows-min items-stretch`},h={class:`md:col-span-8 flex flex-col gap-6`},g={class:`grid grid-cols-1 md:grid-cols-2 gap-6`},_={class:`card-holy rounded-2xl p-6 animate-enter delay-400`},v={class:`space-y-4`},y={class:`flex justify-between text-sm mb-1 font-mono`},b={class:`text-slate-600`},x={class:`text-blue-600`},S={class:`h-2 bg-slate-100 rounded-full overflow-hidden`},C={class:`card-holy rounded-2xl p-6 md:p-8 animate-enter delay-500`},w={class:`relative h-64 w-full flex items-end justify-between gap-2 md:gap-8 px-2 md:px-10`},T={class:`absolute -top-10 left-1/2 transform -translate-x-1/2 bg-slate-800 text-white text-xs py-1 px-2 rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap font-mono`},E={class:`mt-3 text-xs font-mono text-slate-400`},D=d(i({__name:`TermiNexusView`,setup(i){let d=[{name:`Python`,value:90},{name:`算法`,value:88},{name:`数据结构`,value:85},{name:`C / C++`,value:80}],D=[{label:`7月`,value:`17,868`,height:70},{label:`8月`,value:`24,534`,height:95},{label:`9月`,value:`4,678`,height:20},{label:`10月`,value:`8,097`,height:35},{label:`11月`,value:`14,573`,height:60},{label:`12月`,value:`7,380`,height:30}];return(i,O)=>(r(),u(`div`,f,[a(`main`,p,[a(`div`,m,[O[7]||=l(`
陈砚辞 TermiNexus · 银河锋锐工作室负责人
Engineering Full Stack Architecture
/
身份档案 姓名 陈砚辞
年龄 25
生日 2001 / 05 / 28
性别 男
性格 慢热内敛、理性专注、独处钻研,逻辑思维出众,不喜无效社交,冷静克制,偶有冲动。
`,1),a(`div`,h,[O[5]||=l(`
/
个人简介 我是一名深耕 Web前端开发 和后端/桌面应用开发 的开发者,兼具 UI/UX设计 与 软件设计 能力,目前主导 「银河锋锐软件开发工作室」 技术方向与研发工作。
深耕编程领域 6 年 ,擅长从0 到 1 搭建系统架构,注重代码规范与技术沉淀,秉持极简、高效、可靠的极客开发理念。
专注精细化界面交互、底层逻辑实现、迭代式性能优化,同时涉猎系统底层、编译原理与稀疏数值计算等方向,偏爱理性钻研与独立开发。
常年深耕键盘与终端,习惯以代码构建秩序,冷静内敛,享受独处钻研的过程,以技术为长期深耕的核心方向。
全栈开发 底层研发 架构设计
`,1),a(`div`,g,[a(`div`,_,[O[0]||=a(`h3`,{class:`text-lg font-bold text-slate-800 mb-6 flex items-center`},[a(`i`,{class:`fa fa-layer-group mr-2 text-blue-500`}),o(`技能掌握程度`)],-1),a(`div`,v,[(r(),u(c,null,e(d,(e,r)=>a(`div`,{key:e.name,class:`group`},[a(`div`,y,[a(`span`,b,n(e.name),1),a(`span`,x,n(e.value)+`%`,1)]),a(`div`,S,[a(`div`,{class:s([`bar-fill h-full bg-blue-500 rounded-full`,{"bg-blue-400":e.value===80}]),style:t({width:`${e.value}%`,animationDelay:`${r*.1}s`})},null,6)])])),64))])]),O[1]||=l(``,1)]),a(`div`,C,[O[4]||=l(` 代码贡献量趋势DATA_SOURCE: GVSDS_INTERNAL_GIT_LOG
`,1),a(`div`,w,[O[3]||=l(``,1),(r(),u(c,null,e(D,(e,r)=>a(`div`,{key:e.label,class:`flex flex-col items-center group z-10 flex-1 h-full justify-end`},[a(`div`,{class:`w-full max-w-[40px] bg-blue-500/10 rounded-t-lg relative hover:bg-blue-500 transition-all duration-500 bar-fill overflow-hidden`,style:t({height:`${e.height}%`,animationDelay:`${r*.1}s`})},[O[2]||=a(`div`,{class:`absolute bottom-0 w-full h-full bg-blue-400/30 group-hover:bg-blue-500 transition-colors`},null,-1),a(`div`,T,n(e.value),1)],4),a(`span`,E,n(e.label),1)])),64))])]),O[6]||=l(`
chenyuyan@TermiNexus :~ $ cat profile.md
# Identity: Chen Yuyan
# Core: Geek / Developer / Architect
# Commit: 210k+ lines
chenyuyan@TermiNexus :~ $
`,1)])])])]))}}),[[`__scopeId`,`data-v-d1442558`]]);export{D as default};
\ No newline at end of file
diff --git a/TempLate/assets/TermiNexusView-COYEvVIp.js b/TempLate/assets/TermiNexusView-COYEvVIp.js
new file mode 100644
index 00000000..43b4f3d7
--- /dev/null
+++ b/TempLate/assets/TermiNexusView-COYEvVIp.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,h as o,j as s,l as c,m as l,p as u}from"./index-UfMysbwD.js";import{t as d}from"./_plugin-vue_export-helper-BDNMzG2s.js";var f={class:`min-h-screen flex items-center justify-center py-12 px-4 sm:px-6 lg:px-8 relative selection:bg-blue-100 selection:text-blue-900`},p={class:`w-full max-w-7xl animate-enter`},m={class:`grid grid-cols-1 md:grid-cols-12 gap-6 md:gap-8 auto-rows-min items-stretch`},h={class:`md:col-span-8 flex flex-col gap-6`},g={class:`grid grid-cols-1 md:grid-cols-2 gap-6`},_={class:`card-holy rounded-2xl p-6 animate-enter delay-400`},v={class:`space-y-4`},y={class:`flex justify-between text-sm mb-1 font-mono`},b={class:`text-slate-600`},x={class:`text-blue-600`},S={class:`h-2 bg-slate-100 rounded-full overflow-hidden`},C={class:`card-holy rounded-2xl p-6 md:p-8 animate-enter delay-500`},w={class:`relative h-64 w-full flex items-end justify-between gap-2 md:gap-8 px-2 md:px-10`},T={class:`absolute -top-10 left-1/2 transform -translate-x-1/2 bg-slate-800 text-white text-xs py-1 px-2 rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap font-mono`},E={class:`mt-3 text-xs font-mono text-slate-400`},D=d(i({__name:`TermiNexusView`,setup(i){let d=[{name:`Python`,value:90},{name:`算法`,value:88},{name:`数据结构`,value:85},{name:`C / C++`,value:80}],D=[{label:`7月`,value:`17,868`,height:70},{label:`8月`,value:`24,534`,height:95},{label:`9月`,value:`4,678`,height:20},{label:`10月`,value:`8,097`,height:35},{label:`11月`,value:`14,573`,height:60},{label:`12月`,value:`7,380`,height:30}];return(i,O)=>(r(),u(`div`,f,[a(`main`,p,[a(`div`,m,[O[7]||=l(`
陈砚辞 TermiNexus · 银河锋锐工作室负责人
Engineering Full Stack Architecture
/
身份档案 姓名 陈砚辞
年龄 25
生日 2001 / 05 / 28
性别 男
性格 慢热内敛、理性专注、独处钻研,逻辑思维出众,不喜无效社交,冷静克制,偶有冲动。
`,1),a(`div`,h,[O[5]||=l(`
/
个人简介 我是一名深耕 Web前端开发 和后端/桌面应用开发 的开发者,兼具 UI/UX设计 与 软件设计 能力,目前主导 「银河锋锐软件开发工作室」 技术方向与研发工作。
深耕编程领域 6 年 ,擅长从0 到 1 搭建系统架构,注重代码规范与技术沉淀,秉持极简、高效、可靠的极客开发理念。
专注精细化界面交互、底层逻辑实现、迭代式性能优化,同时涉猎系统底层、编译原理与稀疏数值计算等方向,偏爱理性钻研与独立开发。
常年深耕键盘与终端,习惯以代码构建秩序,冷静内敛,享受独处钻研的过程,以技术为长期深耕的核心方向。
全栈开发 底层研发 架构设计
`,1),a(`div`,g,[a(`div`,_,[O[0]||=a(`h3`,{class:`text-lg font-bold text-slate-800 mb-6 flex items-center`},[a(`i`,{class:`fa fa-layer-group mr-2 text-blue-500`}),o(`技能掌握程度`)],-1),a(`div`,v,[(r(),u(c,null,e(d,(e,r)=>a(`div`,{key:e.name,class:`group`},[a(`div`,y,[a(`span`,b,n(e.name),1),a(`span`,x,n(e.value)+`%`,1)]),a(`div`,S,[a(`div`,{class:s([`bar-fill h-full bg-blue-500 rounded-full`,{"bg-blue-400":e.value===80}]),style:t({width:`${e.value}%`,animationDelay:`${r*.1}s`})},null,6)])])),64))])]),O[1]||=l(``,1)]),a(`div`,C,[O[4]||=l(` 代码贡献量趋势DATA_SOURCE: GVSDS_INTERNAL_GIT_LOG
`,1),a(`div`,w,[O[3]||=l(``,1),(r(),u(c,null,e(D,(e,r)=>a(`div`,{key:e.label,class:`flex flex-col items-center group z-10 flex-1 h-full justify-end`},[a(`div`,{class:`w-full max-w-[40px] bg-blue-500/10 rounded-t-lg relative hover:bg-blue-500 transition-all duration-500 bar-fill overflow-hidden`,style:t({height:`${e.height}%`,animationDelay:`${r*.1}s`})},[O[2]||=a(`div`,{class:`absolute bottom-0 w-full h-full bg-blue-400/30 group-hover:bg-blue-500 transition-colors`},null,-1),a(`div`,T,n(e.value),1)],4),a(`span`,E,n(e.label),1)])),64))])]),O[6]||=l(`
chenyuyan@TermiNexus :~ $ cat profile.md
# Identity: Chen Yuyan
# Core: Geek / Developer / Architect
# Commit: 210k+ lines
chenyuyan@TermiNexus :~ $
`,1)])])])]))}}),[[`__scopeId`,`data-v-d1442558`]]);export{D as default};
\ No newline at end of file
diff --git a/TempLate/assets/TermiNexusView-CsTGj6NH.js b/TempLate/assets/TermiNexusView-CsTGj6NH.js
new file mode 100644
index 00000000..fd3d898a
--- /dev/null
+++ b/TempLate/assets/TermiNexusView-CsTGj6NH.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,h as o,j as s,l as c,m as l,p as u}from"./index-CJXuAy0L.js";import{t as d}from"./_plugin-vue_export-helper-BDNMzG2s.js";var f={class:`min-h-screen flex items-center justify-center py-12 px-4 sm:px-6 lg:px-8 relative selection:bg-blue-100 selection:text-blue-900`},p={class:`w-full max-w-7xl animate-enter`},m={class:`grid grid-cols-1 md:grid-cols-12 gap-6 md:gap-8 auto-rows-min items-stretch`},h={class:`md:col-span-8 flex flex-col gap-6`},g={class:`grid grid-cols-1 md:grid-cols-2 gap-6`},_={class:`card-holy rounded-2xl p-6 animate-enter delay-400`},v={class:`space-y-4`},y={class:`flex justify-between text-sm mb-1 font-mono`},b={class:`text-slate-600`},x={class:`text-blue-600`},S={class:`h-2 bg-slate-100 rounded-full overflow-hidden`},C={class:`card-holy rounded-2xl p-6 md:p-8 animate-enter delay-500`},w={class:`relative h-64 w-full flex items-end justify-between gap-2 md:gap-8 px-2 md:px-10`},T={class:`absolute -top-10 left-1/2 transform -translate-x-1/2 bg-slate-800 text-white text-xs py-1 px-2 rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap font-mono`},E={class:`mt-3 text-xs font-mono text-slate-400`},D=d(i({__name:`TermiNexusView`,setup(i){let d=[{name:`Python`,value:90},{name:`算法`,value:88},{name:`数据结构`,value:85},{name:`C / C++`,value:80}],D=[{label:`7月`,value:`17,868`,height:70},{label:`8月`,value:`24,534`,height:95},{label:`9月`,value:`4,678`,height:20},{label:`10月`,value:`8,097`,height:35},{label:`11月`,value:`14,573`,height:60},{label:`12月`,value:`7,380`,height:30}];return(i,O)=>(r(),u(`div`,f,[a(`main`,p,[a(`div`,m,[O[7]||=l(`
陈砚辞 TermiNexus · 银河锋锐工作室负责人
Engineering Full Stack Architecture
/
身份档案 姓名 陈砚辞
年龄 25
生日 2001 / 05 / 28
性别 男
性格 慢热内敛、理性专注、独处钻研,逻辑思维出众,不喜无效社交,冷静克制,偶有冲动。
`,1),a(`div`,h,[O[5]||=l(`
/
个人简介 我是一名深耕 Web前端开发 和后端/桌面应用开发 的开发者,兼具 UI/UX设计 与 软件设计 能力,目前主导 「银河锋锐软件开发工作室」 技术方向与研发工作。
深耕编程领域 6 年 ,擅长从0 到 1 搭建系统架构,注重代码规范与技术沉淀,秉持极简、高效、可靠的极客开发理念。
专注精细化界面交互、底层逻辑实现、迭代式性能优化,同时涉猎系统底层、编译原理与稀疏数值计算等方向,偏爱理性钻研与独立开发。
常年深耕键盘与终端,习惯以代码构建秩序,冷静内敛,享受独处钻研的过程,以技术为长期深耕的核心方向。
全栈开发 底层研发 架构设计
`,1),a(`div`,g,[a(`div`,_,[O[0]||=a(`h3`,{class:`text-lg font-bold text-slate-800 mb-6 flex items-center`},[a(`i`,{class:`fa fa-layer-group mr-2 text-blue-500`}),o(`技能掌握程度`)],-1),a(`div`,v,[(r(),u(c,null,e(d,(e,r)=>a(`div`,{key:e.name,class:`group`},[a(`div`,y,[a(`span`,b,n(e.name),1),a(`span`,x,n(e.value)+`%`,1)]),a(`div`,S,[a(`div`,{class:s([`bar-fill h-full bg-blue-500 rounded-full`,{"bg-blue-400":e.value===80}]),style:t({width:`${e.value}%`,animationDelay:`${r*.1}s`})},null,6)])])),64))])]),O[1]||=l(``,1)]),a(`div`,C,[O[4]||=l(` 代码贡献量趋势DATA_SOURCE: GVSDS_INTERNAL_GIT_LOG
`,1),a(`div`,w,[O[3]||=l(``,1),(r(),u(c,null,e(D,(e,r)=>a(`div`,{key:e.label,class:`flex flex-col items-center group z-10 flex-1 h-full justify-end`},[a(`div`,{class:`w-full max-w-[40px] bg-blue-500/10 rounded-t-lg relative hover:bg-blue-500 transition-all duration-500 bar-fill overflow-hidden`,style:t({height:`${e.height}%`,animationDelay:`${r*.1}s`})},[O[2]||=a(`div`,{class:`absolute bottom-0 w-full h-full bg-blue-400/30 group-hover:bg-blue-500 transition-colors`},null,-1),a(`div`,T,n(e.value),1)],4),a(`span`,E,n(e.label),1)])),64))])]),O[6]||=l(`
chenyuyan@TermiNexus :~ $ cat profile.md
# Identity: Chen Yuyan
# Core: Geek / Developer / Architect
# Commit: 210k+ lines
chenyuyan@TermiNexus :~ $
`,1)])])])]))}}),[[`__scopeId`,`data-v-d1442558`]]);export{D as default};
\ No newline at end of file
diff --git a/TempLate/assets/TermiNexusView-DIcfTEGC.js b/TempLate/assets/TermiNexusView-DIcfTEGC.js
new file mode 100644
index 00000000..00abcb6c
--- /dev/null
+++ b/TempLate/assets/TermiNexusView-DIcfTEGC.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,h as o,j as s,l as c,m as l,p as u}from"./index-BM-LFFI_.js";import{t as d}from"./_plugin-vue_export-helper-BDNMzG2s.js";var f={class:`min-h-screen flex items-center justify-center py-12 px-4 sm:px-6 lg:px-8 relative selection:bg-blue-100 selection:text-blue-900`},p={class:`w-full max-w-7xl animate-enter`},m={class:`grid grid-cols-1 md:grid-cols-12 gap-6 md:gap-8 auto-rows-min items-stretch`},h={class:`md:col-span-8 flex flex-col gap-6`},g={class:`grid grid-cols-1 md:grid-cols-2 gap-6`},_={class:`card-holy rounded-2xl p-6 animate-enter delay-400`},v={class:`space-y-4`},y={class:`flex justify-between text-sm mb-1 font-mono`},b={class:`text-slate-600`},x={class:`text-blue-600`},S={class:`h-2 bg-slate-100 rounded-full overflow-hidden`},C={class:`card-holy rounded-2xl p-6 md:p-8 animate-enter delay-500`},w={class:`relative h-64 w-full flex items-end justify-between gap-2 md:gap-8 px-2 md:px-10`},T={class:`absolute -top-10 left-1/2 transform -translate-x-1/2 bg-slate-800 text-white text-xs py-1 px-2 rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap font-mono`},E={class:`mt-3 text-xs font-mono text-slate-400`},D=d(i({__name:`TermiNexusView`,setup(i){let d=[{name:`Python`,value:90},{name:`算法`,value:88},{name:`数据结构`,value:85},{name:`C / C++`,value:80}],D=[{label:`7月`,value:`17,868`,height:70},{label:`8月`,value:`24,534`,height:95},{label:`9月`,value:`4,678`,height:20},{label:`10月`,value:`8,097`,height:35},{label:`11月`,value:`14,573`,height:60},{label:`12月`,value:`7,380`,height:30}];return(i,O)=>(r(),u(`div`,f,[a(`main`,p,[a(`div`,m,[O[7]||=l(`
陈砚辞 TermiNexus · 银河锋锐工作室负责人
Engineering Full Stack Architecture
/
身份档案 姓名 陈砚辞
年龄 25
生日 2001 / 05 / 28
性别 男
性格 慢热内敛、理性专注、独处钻研,逻辑思维出众,不喜无效社交,冷静克制,偶有冲动。
`,1),a(`div`,h,[O[5]||=l(`
/
个人简介 我是一名深耕 Web前端开发 和后端/桌面应用开发 的开发者,兼具 UI/UX设计 与 软件设计 能力,目前主导 「银河锋锐软件开发工作室」 技术方向与研发工作。
深耕编程领域 6 年 ,擅长从0 到 1 搭建系统架构,注重代码规范与技术沉淀,秉持极简、高效、可靠的极客开发理念。
专注精细化界面交互、底层逻辑实现、迭代式性能优化,同时涉猎系统底层、编译原理与稀疏数值计算等方向,偏爱理性钻研与独立开发。
常年深耕键盘与终端,习惯以代码构建秩序,冷静内敛,享受独处钻研的过程,以技术为长期深耕的核心方向。
全栈开发 底层研发 架构设计
`,1),a(`div`,g,[a(`div`,_,[O[0]||=a(`h3`,{class:`text-lg font-bold text-slate-800 mb-6 flex items-center`},[a(`i`,{class:`fa fa-layer-group mr-2 text-blue-500`}),o(`技能掌握程度`)],-1),a(`div`,v,[(r(),u(c,null,e(d,(e,r)=>a(`div`,{key:e.name,class:`group`},[a(`div`,y,[a(`span`,b,n(e.name),1),a(`span`,x,n(e.value)+`%`,1)]),a(`div`,S,[a(`div`,{class:s([`bar-fill h-full bg-blue-500 rounded-full`,{"bg-blue-400":e.value===80}]),style:t({width:`${e.value}%`,animationDelay:`${r*.1}s`})},null,6)])])),64))])]),O[1]||=l(``,1)]),a(`div`,C,[O[4]||=l(` 代码贡献量趋势DATA_SOURCE: GVSDS_INTERNAL_GIT_LOG
`,1),a(`div`,w,[O[3]||=l(``,1),(r(),u(c,null,e(D,(e,r)=>a(`div`,{key:e.label,class:`flex flex-col items-center group z-10 flex-1 h-full justify-end`},[a(`div`,{class:`w-full max-w-[40px] bg-blue-500/10 rounded-t-lg relative hover:bg-blue-500 transition-all duration-500 bar-fill overflow-hidden`,style:t({height:`${e.height}%`,animationDelay:`${r*.1}s`})},[O[2]||=a(`div`,{class:`absolute bottom-0 w-full h-full bg-blue-400/30 group-hover:bg-blue-500 transition-colors`},null,-1),a(`div`,T,n(e.value),1)],4),a(`span`,E,n(e.label),1)])),64))])]),O[6]||=l(`
chenyuyan@TermiNexus :~ $ cat profile.md
# Identity: Chen Yuyan
# Core: Geek / Developer / Architect
# Commit: 210k+ lines
chenyuyan@TermiNexus :~ $
`,1)])])])]))}}),[[`__scopeId`,`data-v-d1442558`]]);export{D as default};
\ No newline at end of file
diff --git a/TempLate/assets/TermiNexusView-_4hm5BLZ.js b/TempLate/assets/TermiNexusView-_4hm5BLZ.js
new file mode 100644
index 00000000..fedffee1
--- /dev/null
+++ b/TempLate/assets/TermiNexusView-_4hm5BLZ.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,h as o,j as s,l as c,m as l,p as u}from"./index-CUry87of.js";import{t as d}from"./_plugin-vue_export-helper-BDNMzG2s.js";var f={class:`min-h-screen flex items-center justify-center py-12 px-4 sm:px-6 lg:px-8 relative selection:bg-blue-100 selection:text-blue-900`},p={class:`w-full max-w-7xl animate-enter`},m={class:`grid grid-cols-1 md:grid-cols-12 gap-6 md:gap-8 auto-rows-min items-stretch`},h={class:`md:col-span-8 flex flex-col gap-6`},g={class:`grid grid-cols-1 md:grid-cols-2 gap-6`},_={class:`card-holy rounded-2xl p-6 animate-enter delay-400`},v={class:`space-y-4`},y={class:`flex justify-between text-sm mb-1 font-mono`},b={class:`text-slate-600`},x={class:`text-blue-600`},S={class:`h-2 bg-slate-100 rounded-full overflow-hidden`},C={class:`card-holy rounded-2xl p-6 md:p-8 animate-enter delay-500`},w={class:`relative h-64 w-full flex items-end justify-between gap-2 md:gap-8 px-2 md:px-10`},T={class:`absolute -top-10 left-1/2 transform -translate-x-1/2 bg-slate-800 text-white text-xs py-1 px-2 rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap font-mono`},E={class:`mt-3 text-xs font-mono text-slate-400`},D=d(i({__name:`TermiNexusView`,setup(i){let d=[{name:`Python`,value:90},{name:`算法`,value:88},{name:`数据结构`,value:85},{name:`C / C++`,value:80}],D=[{label:`7月`,value:`17,868`,height:70},{label:`8月`,value:`24,534`,height:95},{label:`9月`,value:`4,678`,height:20},{label:`10月`,value:`8,097`,height:35},{label:`11月`,value:`14,573`,height:60},{label:`12月`,value:`7,380`,height:30}];return(i,O)=>(r(),u(`div`,f,[a(`main`,p,[a(`div`,m,[O[7]||=l(`
陈砚辞 TermiNexus · 银河锋锐工作室负责人
Engineering Full Stack Architecture
/
身份档案 姓名 陈砚辞
年龄 25
生日 2001 / 05 / 28
性别 男
性格 慢热内敛、理性专注、独处钻研,逻辑思维出众,不喜无效社交,冷静克制,偶有冲动。
`,1),a(`div`,h,[O[5]||=l(`
/
个人简介 我是一名深耕 Web前端开发 和后端/桌面应用开发 的开发者,兼具 UI/UX设计 与 软件设计 能力,目前主导 「银河锋锐软件开发工作室」 技术方向与研发工作。
深耕编程领域 6 年 ,擅长从0 到 1 搭建系统架构,注重代码规范与技术沉淀,秉持极简、高效、可靠的极客开发理念。
专注精细化界面交互、底层逻辑实现、迭代式性能优化,同时涉猎系统底层、编译原理与稀疏数值计算等方向,偏爱理性钻研与独立开发。
常年深耕键盘与终端,习惯以代码构建秩序,冷静内敛,享受独处钻研的过程,以技术为长期深耕的核心方向。
全栈开发 底层研发 架构设计
`,1),a(`div`,g,[a(`div`,_,[O[0]||=a(`h3`,{class:`text-lg font-bold text-slate-800 mb-6 flex items-center`},[a(`i`,{class:`fa fa-layer-group mr-2 text-blue-500`}),o(`技能掌握程度`)],-1),a(`div`,v,[(r(),u(c,null,e(d,(e,r)=>a(`div`,{key:e.name,class:`group`},[a(`div`,y,[a(`span`,b,n(e.name),1),a(`span`,x,n(e.value)+`%`,1)]),a(`div`,S,[a(`div`,{class:s([`bar-fill h-full bg-blue-500 rounded-full`,{"bg-blue-400":e.value===80}]),style:t({width:`${e.value}%`,animationDelay:`${r*.1}s`})},null,6)])])),64))])]),O[1]||=l(``,1)]),a(`div`,C,[O[4]||=l(` 代码贡献量趋势DATA_SOURCE: GVSDS_INTERNAL_GIT_LOG
`,1),a(`div`,w,[O[3]||=l(``,1),(r(),u(c,null,e(D,(e,r)=>a(`div`,{key:e.label,class:`flex flex-col items-center group z-10 flex-1 h-full justify-end`},[a(`div`,{class:`w-full max-w-[40px] bg-blue-500/10 rounded-t-lg relative hover:bg-blue-500 transition-all duration-500 bar-fill overflow-hidden`,style:t({height:`${e.height}%`,animationDelay:`${r*.1}s`})},[O[2]||=a(`div`,{class:`absolute bottom-0 w-full h-full bg-blue-400/30 group-hover:bg-blue-500 transition-colors`},null,-1),a(`div`,T,n(e.value),1)],4),a(`span`,E,n(e.label),1)])),64))])]),O[6]||=l(`
chenyuyan@TermiNexus :~ $ cat profile.md
# Identity: Chen Yuyan
# Core: Geek / Developer / Architect
# Commit: 210k+ lines
chenyuyan@TermiNexus :~ $
`,1)])])])]))}}),[[`__scopeId`,`data-v-d1442558`]]);export{D as default};
\ No newline at end of file
diff --git a/TempLate/assets/UnauthorizedView--3OOHvxp.js b/TempLate/assets/UnauthorizedView--3OOHvxp.js
new file mode 100644
index 00000000..67d851e9
--- /dev/null
+++ b/TempLate/assets/UnauthorizedView--3OOHvxp.js
@@ -0,0 +1 @@
+import{S as e,_ as t,b as n,m as r,p as i}from"./index-BM-LFFI_.js";var a={class:`h-[80vh] flex items-center justify-center p-4 sm:p-6 lg:p-8`},o=t({__name:`UnauthorizedView`,setup(t){return n(()=>{document.title=`访问受限 - 项目保密`}),(t,n)=>(e(),i(`div`,a,[...n[0]||=[r(` 根据《保密条例》第 3.1 条规定,关于该项目的信息暂时不对外公开。
本项目涉及机密,暂不予以公开
该项目包含敏感信息和内部数据,仅限授权人员访问。
如需访问,请联系项目负责人获取授权
所有访问操作均受安全审计监控
违反保密规定将按相关制度处理
© 2025 GVSDS | 机密
`,1)]]))}});export{o as default};
\ No newline at end of file
diff --git a/TempLate/assets/UnauthorizedView-B39ofY9r.js b/TempLate/assets/UnauthorizedView-B39ofY9r.js
new file mode 100644
index 00000000..45e44ac7
--- /dev/null
+++ b/TempLate/assets/UnauthorizedView-B39ofY9r.js
@@ -0,0 +1 @@
+import{S as e,_ as t,b as n,m as r,p as i}from"./index-PMfCvoYM.js";var a={class:`h-[80vh] flex items-center justify-center p-4 sm:p-6 lg:p-8`},o=t({__name:`UnauthorizedView`,setup(t){return n(()=>{document.title=`访问受限 - 项目保密`}),(t,n)=>(e(),i(`div`,a,[...n[0]||=[r(` 根据《保密条例》第 3.1 条规定,关于该项目的信息暂时不对外公开。
本项目涉及机密,暂不予以公开
该项目包含敏感信息和内部数据,仅限授权人员访问。
如需访问,请联系项目负责人获取授权
所有访问操作均受安全审计监控
违反保密规定将按相关制度处理
© 2025 GVSDS | 机密
`,1)]]))}});export{o as default};
\ No newline at end of file
diff --git a/TempLate/assets/UnauthorizedView-BBs0FsMz.js b/TempLate/assets/UnauthorizedView-BBs0FsMz.js
new file mode 100644
index 00000000..9d091594
--- /dev/null
+++ b/TempLate/assets/UnauthorizedView-BBs0FsMz.js
@@ -0,0 +1 @@
+import{S as e,_ as t,b as n,m as r,p as i}from"./index-UfMysbwD.js";var a={class:`h-[80vh] flex items-center justify-center p-4 sm:p-6 lg:p-8`},o=t({__name:`UnauthorizedView`,setup(t){return n(()=>{document.title=`访问受限 - 项目保密`}),(t,n)=>(e(),i(`div`,a,[...n[0]||=[r(` 根据《保密条例》第 3.1 条规定,关于该项目的信息暂时不对外公开。
本项目涉及机密,暂不予以公开
该项目包含敏感信息和内部数据,仅限授权人员访问。
如需访问,请联系项目负责人获取授权
所有访问操作均受安全审计监控
违反保密规定将按相关制度处理
© 2025 GVSDS | 机密
`,1)]]))}});export{o as default};
\ No newline at end of file
diff --git a/TempLate/assets/UnauthorizedView-Ba5FfpBm.js b/TempLate/assets/UnauthorizedView-Ba5FfpBm.js
new file mode 100644
index 00000000..38573e4b
--- /dev/null
+++ b/TempLate/assets/UnauthorizedView-Ba5FfpBm.js
@@ -0,0 +1 @@
+import{S as e,_ as t,b as n,m as r,p as i}from"./index-CJXuAy0L.js";var a={class:`h-[80vh] flex items-center justify-center p-4 sm:p-6 lg:p-8`},o=t({__name:`UnauthorizedView`,setup(t){return n(()=>{document.title=`访问受限 - 项目保密`}),(t,n)=>(e(),i(`div`,a,[...n[0]||=[r(` 根据《保密条例》第 3.1 条规定,关于该项目的信息暂时不对外公开。
本项目涉及机密,暂不予以公开
该项目包含敏感信息和内部数据,仅限授权人员访问。
如需访问,请联系项目负责人获取授权
所有访问操作均受安全审计监控
违反保密规定将按相关制度处理
© 2025 GVSDS | 机密
`,1)]]))}});export{o as default};
\ No newline at end of file
diff --git a/TempLate/assets/UnauthorizedView-CGw59obT.js b/TempLate/assets/UnauthorizedView-CGw59obT.js
new file mode 100644
index 00000000..221c46ab
--- /dev/null
+++ b/TempLate/assets/UnauthorizedView-CGw59obT.js
@@ -0,0 +1 @@
+import{S as e,_ as t,b as n,m as r,p as i}from"./index-CUry87of.js";var a={class:`h-[80vh] flex items-center justify-center p-4 sm:p-6 lg:p-8`},o=t({__name:`UnauthorizedView`,setup(t){return n(()=>{document.title=`访问受限 - 项目保密`}),(t,n)=>(e(),i(`div`,a,[...n[0]||=[r(` 根据《保密条例》第 3.1 条规定,关于该项目的信息暂时不对外公开。
本项目涉及机密,暂不予以公开
该项目包含敏感信息和内部数据,仅限授权人员访问。
如需访问,请联系项目负责人获取授权
所有访问操作均受安全审计监控
违反保密规定将按相关制度处理
© 2025 GVSDS | 机密
`,1)]]))}});export{o as default};
\ No newline at end of file
diff --git a/TempLate/assets/UnauthorizedView-RCi1eX67.js b/TempLate/assets/UnauthorizedView-RCi1eX67.js
new file mode 100644
index 00000000..e0defb7b
--- /dev/null
+++ b/TempLate/assets/UnauthorizedView-RCi1eX67.js
@@ -0,0 +1 @@
+import{S as e,_ as t,b as n,m as r,p as i}from"./index-CMhybB9x.js";var a={class:`h-[80vh] flex items-center justify-center p-4 sm:p-6 lg:p-8`},o=t({__name:`UnauthorizedView`,setup(t){return n(()=>{document.title=`访问受限 - 项目保密`}),(t,n)=>(e(),i(`div`,a,[...n[0]||=[r(` 根据《保密条例》第 3.1 条规定,关于该项目的信息暂时不对外公开。
本项目涉及机密,暂不予以公开
该项目包含敏感信息和内部数据,仅限授权人员访问。
如需访问,请联系项目负责人获取授权
所有访问操作均受安全审计监控
违反保密规定将按相关制度处理
© 2025 GVSDS | 机密
`,1)]]))}});export{o as default};
\ No newline at end of file
diff --git a/TempLate/assets/UserCardView-BS1OfWYd.js b/TempLate/assets/UserCardView-BS1OfWYd.js
new file mode 100644
index 00000000..1a0947b3
--- /dev/null
+++ b/TempLate/assets/UserCardView-BS1OfWYd.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,b as a,d as o,f as s,j as c,k as l,l as u,p as d}from"./index-CUry87of.js";import{t as f}from"./_plugin-vue_export-helper-BDNMzG2s.js";var p={class:`min-h-screen flex items-center justify-center p-3 md:p-4 overflow-hidden relative`,style:{background:`#020617`,color:`#f3f4f6`,"font-family":`Inter, sans-serif`}},m={class:`relative z-10 w-full max-w-md`},h={class:`text-center w-full max-w-xs`},g={class:`mt-5 md:mt-6 w-full h-2 rounded-full overflow-hidden`,style:{background:`#1e293b`}},_={class:`h-28 md:h-32 relative`,style:{background:`linear-gradient(135deg, #6366f1, #ec4899)`}},v={class:`absolute -bottom-14 left-6 md:-bottom-16 md:left-8 w-28 h-28 md:w-32 md:h-32 rounded-full border-4 overflow-hidden`,style:{"border-color":`#0f172a`}},y=[`src`],b={class:`pt-16 md:pt-20 pb-5 md:pb-6 px-4 md:px-6`},x={class:`text-right mb-5 md:mb-6`},S={class:`text-xl md:text-2xl font-bold mb-1`},C={class:`text-gray-400 text-sm md:text-base mb-5 md:mb-6`},w={class:`space-y-3 md:space-y-4 mb-6 md:mb-8`},T={class:`flex items-center`},E={class:`text-sm md:text-base`},D={class:`flex items-center`},O={class:`text-sm md:text-base`},k=f(i({__name:`UserCardView`,setup(i){let f=l(!0),k=l(!1),A=l(!1),j=l(!1),M=l(`0%`),N=l(`https://picsum.photos/id/64/200/200`),P=l(``),F=l(``),I=l(``),L=l(``),R=l([]);return a(()=>{document.title=`个人名片`,setTimeout(()=>{M.value=`100%`},500),setTimeout(()=>{k.value=!0,setTimeout(()=>{f.value=!1,A.value=!0,requestAnimationFrame(()=>{j.value=!0})},1200)},1700);let e=new URLSearchParams(window.location.search),t=e.get(`UserUUID`),n=e.get(`UserName`),r=new URLSearchParams;t&&r.append(`UserUUID`,t),n&&r.append(`UserName`,n),r.toString()&&fetch(`https://ugm.gvsds.com/API/UserInfo?${r.toString()}`).then(e=>e.json()).then(e=>{P.value=e.UserName||``,F.value=e.UserEmail||``,I.value=e.UserTele||``,L.value=e.UserPersonalSignature||``,N.value=e.UserUUID?`https://ugm.gvsds.com/GetArgsUserAvatar?UserUUID=${e.UserUUID}`:N.value,Array.isArray(e.UserJob)&&(R.value=e.UserJob)}).catch(e=>{console.error(`Error:`,e)})}),(i,a)=>(r(),d(`div`,p,[a[7]||=o(`div`,{class:`fixed inset-0 z-0`},[o(`div`,{class:`absolute top-1/4 left-1/4 w-48 h-48 md:w-64 md:h-64 rounded-full filter blur-3xl`,style:{background:`rgba(99,102,241,0.2)`}}),o(`div`,{class:`absolute bottom-1/3 right-1/3 w-64 h-64 md:w-80 md:h-80 rounded-full filter blur-3xl`,style:{background:`rgba(236,72,153,0.2)`}})],-1),o(`div`,m,[f.value?(r(),d(`div`,{key:0,class:c([`mask-appear absolute inset-0 bg-dark rounded-2xl flex items-center justify-center shadow-2xl z-30 p-3`,{"mask-disappear":k.value}]),style:{background:`#0f172a`,border:`1px solid #1e293b`}},[o(`div`,h,[a[0]||=o(`div`,{class:`w-28 h-28 md:w-32 md:h-32 mx-auto mb-5 md:mb-6 rounded-full flex items-center justify-center`,style:{background:`linear-gradient(135deg, #6366f1, #ec4899)`}},[o(`i`,{class:`fa fa-user-secret text-4xl md:text-5xl text-white`})],-1),a[1]||=o(`h2`,{class:`text-xl md:text-2xl font-bold mb-2 glitch`},`识别中...`,-1),a[2]||=o(`p`,{class:`text-gray-400 text-sm md:text-base glitch`},`请稍候,正在获取个人信息`,-1),o(`div`,g,[o(`div`,{class:`h-full rounded-full transition-all duration-1000`,style:t({width:M.value,background:`linear-gradient(135deg, #6366f1, #ec4899)`})},null,4)])])],2)):s(``,!0),A.value?(r(),d(`div`,{key:1,class:c([`card-appear rounded-2xl shadow-2xl overflow-hidden z-20`,{"card-visible":j.value}]),style:{background:`#0f172a`,border:`1px solid #1e293b`}},[o(`div`,_,[o(`div`,v,[o(`img`,{src:N.value,alt:`个人头像`,class:`w-full h-full object-cover`},null,8,y)])]),o(`div`,b,[o(`div`,x,[(r(!0),d(u,null,e(R.value,(e,t)=>(r(),d(`span`,{key:t,class:`inline-block mb-2 ml-2 px-2.5 py-1 rounded-full text-xs md:text-sm font-medium`,style:{background:`rgba(99,102,241,0.2)`,color:`#818cf8`}},n(e),1))),128))]),o(`h1`,S,n(P.value||`WHO I AM`),1),o(`p`,C,n(L.value||`WHAT WAS ME`),1),o(`div`,w,[o(`div`,T,[a[4]||=o(`div`,{class:`w-10 h-10 rounded-full flex items-center justify-center mr-3 md:mr-4`,style:{background:`#1e293b`,"touch-action":`manipulation`}},[o(`i`,{class:`fa fa-envelope`,style:{color:`#6366f1`}})],-1),o(`div`,null,[a[3]||=o(`p`,{class:`text-gray-400 text-xs md:text-sm`},`邮箱`,-1),o(`p`,E,n(F.value),1)])]),o(`div`,D,[a[6]||=o(`div`,{class:`w-10 h-10 rounded-full flex items-center justify-center mr-3 md:mr-4`,style:{background:`#1e293b`,"touch-action":`manipulation`}},[o(`i`,{class:`fa fa-phone`,style:{color:`#6366f1`}})],-1),o(`div`,null,[a[5]||=o(`p`,{class:`text-gray-400 text-xs md:text-sm`},`电话`,-1),o(`p`,O,n(I.value),1)])])])])],2)):s(``,!0)])]))}}),[[`__scopeId`,`data-v-d386c5e5`]]);export{k as default};
\ No newline at end of file
diff --git a/TempLate/assets/UserCardView-BivFO7Ac.js b/TempLate/assets/UserCardView-BivFO7Ac.js
new file mode 100644
index 00000000..44f353be
--- /dev/null
+++ b/TempLate/assets/UserCardView-BivFO7Ac.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,b as a,d as o,f as s,j as c,k as l,l as u,p as d}from"./index-CJXuAy0L.js";import{t as f}from"./_plugin-vue_export-helper-BDNMzG2s.js";var p={class:`min-h-screen flex items-center justify-center p-3 md:p-4 overflow-hidden relative`,style:{background:`#020617`,color:`#f3f4f6`,"font-family":`Inter, sans-serif`}},m={class:`relative z-10 w-full max-w-md`},h={class:`text-center w-full max-w-xs`},g={class:`mt-5 md:mt-6 w-full h-2 rounded-full overflow-hidden`,style:{background:`#1e293b`}},_={class:`h-28 md:h-32 relative`,style:{background:`linear-gradient(135deg, #6366f1, #ec4899)`}},v={class:`absolute -bottom-14 left-6 md:-bottom-16 md:left-8 w-28 h-28 md:w-32 md:h-32 rounded-full border-4 overflow-hidden`,style:{"border-color":`#0f172a`}},y=[`src`],b={class:`pt-16 md:pt-20 pb-5 md:pb-6 px-4 md:px-6`},x={class:`text-right mb-5 md:mb-6`},S={class:`text-xl md:text-2xl font-bold mb-1`},C={class:`text-gray-400 text-sm md:text-base mb-5 md:mb-6`},w={class:`space-y-3 md:space-y-4 mb-6 md:mb-8`},T={class:`flex items-center`},E={class:`text-sm md:text-base`},D={class:`flex items-center`},O={class:`text-sm md:text-base`},k=f(i({__name:`UserCardView`,setup(i){let f=l(!0),k=l(!1),A=l(!1),j=l(!1),M=l(`0%`),N=l(`https://picsum.photos/id/64/200/200`),P=l(``),F=l(``),I=l(``),L=l(``),R=l([]);return a(()=>{document.title=`个人名片`,setTimeout(()=>{M.value=`100%`},500),setTimeout(()=>{k.value=!0,setTimeout(()=>{f.value=!1,A.value=!0,requestAnimationFrame(()=>{j.value=!0})},1200)},1700);let e=new URLSearchParams(window.location.search),t=e.get(`UserUUID`),n=e.get(`UserName`),r=new URLSearchParams;t&&r.append(`UserUUID`,t),n&&r.append(`UserName`,n),r.toString()&&fetch(`https://ugm.gvsds.com/API/UserInfo?${r.toString()}`).then(e=>e.json()).then(e=>{P.value=e.UserName||``,F.value=e.UserEmail||``,I.value=e.UserTele||``,L.value=e.UserPersonalSignature||``,N.value=e.UserUUID?`https://ugm.gvsds.com/GetArgsUserAvatar?UserUUID=${e.UserUUID}`:N.value,Array.isArray(e.UserJob)&&(R.value=e.UserJob)}).catch(e=>{console.error(`Error:`,e)})}),(i,a)=>(r(),d(`div`,p,[a[7]||=o(`div`,{class:`fixed inset-0 z-0`},[o(`div`,{class:`absolute top-1/4 left-1/4 w-48 h-48 md:w-64 md:h-64 rounded-full filter blur-3xl`,style:{background:`rgba(99,102,241,0.2)`}}),o(`div`,{class:`absolute bottom-1/3 right-1/3 w-64 h-64 md:w-80 md:h-80 rounded-full filter blur-3xl`,style:{background:`rgba(236,72,153,0.2)`}})],-1),o(`div`,m,[f.value?(r(),d(`div`,{key:0,class:c([`mask-appear absolute inset-0 bg-dark rounded-2xl flex items-center justify-center shadow-2xl z-30 p-3`,{"mask-disappear":k.value}]),style:{background:`#0f172a`,border:`1px solid #1e293b`}},[o(`div`,h,[a[0]||=o(`div`,{class:`w-28 h-28 md:w-32 md:h-32 mx-auto mb-5 md:mb-6 rounded-full flex items-center justify-center`,style:{background:`linear-gradient(135deg, #6366f1, #ec4899)`}},[o(`i`,{class:`fa fa-user-secret text-4xl md:text-5xl text-white`})],-1),a[1]||=o(`h2`,{class:`text-xl md:text-2xl font-bold mb-2 glitch`},`识别中...`,-1),a[2]||=o(`p`,{class:`text-gray-400 text-sm md:text-base glitch`},`请稍候,正在获取个人信息`,-1),o(`div`,g,[o(`div`,{class:`h-full rounded-full transition-all duration-1000`,style:t({width:M.value,background:`linear-gradient(135deg, #6366f1, #ec4899)`})},null,4)])])],2)):s(``,!0),A.value?(r(),d(`div`,{key:1,class:c([`card-appear rounded-2xl shadow-2xl overflow-hidden z-20`,{"card-visible":j.value}]),style:{background:`#0f172a`,border:`1px solid #1e293b`}},[o(`div`,_,[o(`div`,v,[o(`img`,{src:N.value,alt:`个人头像`,class:`w-full h-full object-cover`},null,8,y)])]),o(`div`,b,[o(`div`,x,[(r(!0),d(u,null,e(R.value,(e,t)=>(r(),d(`span`,{key:t,class:`inline-block mb-2 ml-2 px-2.5 py-1 rounded-full text-xs md:text-sm font-medium`,style:{background:`rgba(99,102,241,0.2)`,color:`#818cf8`}},n(e),1))),128))]),o(`h1`,S,n(P.value||`WHO I AM`),1),o(`p`,C,n(L.value||`WHAT WAS ME`),1),o(`div`,w,[o(`div`,T,[a[4]||=o(`div`,{class:`w-10 h-10 rounded-full flex items-center justify-center mr-3 md:mr-4`,style:{background:`#1e293b`,"touch-action":`manipulation`}},[o(`i`,{class:`fa fa-envelope`,style:{color:`#6366f1`}})],-1),o(`div`,null,[a[3]||=o(`p`,{class:`text-gray-400 text-xs md:text-sm`},`邮箱`,-1),o(`p`,E,n(F.value),1)])]),o(`div`,D,[a[6]||=o(`div`,{class:`w-10 h-10 rounded-full flex items-center justify-center mr-3 md:mr-4`,style:{background:`#1e293b`,"touch-action":`manipulation`}},[o(`i`,{class:`fa fa-phone`,style:{color:`#6366f1`}})],-1),o(`div`,null,[a[5]||=o(`p`,{class:`text-gray-400 text-xs md:text-sm`},`电话`,-1),o(`p`,O,n(I.value),1)])])])])],2)):s(``,!0)])]))}}),[[`__scopeId`,`data-v-d386c5e5`]]);export{k as default};
\ No newline at end of file
diff --git a/TempLate/assets/UserCardView-CKmYDHWe.js b/TempLate/assets/UserCardView-CKmYDHWe.js
new file mode 100644
index 00000000..837c38c0
--- /dev/null
+++ b/TempLate/assets/UserCardView-CKmYDHWe.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,b as a,d as o,f as s,j as c,k as l,l as u,p as d}from"./index-CMhybB9x.js";import{t as f}from"./_plugin-vue_export-helper-BDNMzG2s.js";var p={class:`min-h-screen flex items-center justify-center p-3 md:p-4 overflow-hidden relative`,style:{background:`#020617`,color:`#f3f4f6`,"font-family":`Inter, sans-serif`}},m={class:`relative z-10 w-full max-w-md`},h={class:`text-center w-full max-w-xs`},g={class:`mt-5 md:mt-6 w-full h-2 rounded-full overflow-hidden`,style:{background:`#1e293b`}},_={class:`h-28 md:h-32 relative`,style:{background:`linear-gradient(135deg, #6366f1, #ec4899)`}},v={class:`absolute -bottom-14 left-6 md:-bottom-16 md:left-8 w-28 h-28 md:w-32 md:h-32 rounded-full border-4 overflow-hidden`,style:{"border-color":`#0f172a`}},y=[`src`],b={class:`pt-16 md:pt-20 pb-5 md:pb-6 px-4 md:px-6`},x={class:`text-right mb-5 md:mb-6`},S={class:`text-xl md:text-2xl font-bold mb-1`},C={class:`text-gray-400 text-sm md:text-base mb-5 md:mb-6`},w={class:`space-y-3 md:space-y-4 mb-6 md:mb-8`},T={class:`flex items-center`},E={class:`text-sm md:text-base`},D={class:`flex items-center`},O={class:`text-sm md:text-base`},k=f(i({__name:`UserCardView`,setup(i){let f=l(!0),k=l(!1),A=l(!1),j=l(!1),M=l(`0%`),N=l(`https://picsum.photos/id/64/200/200`),P=l(``),F=l(``),I=l(``),L=l(``),R=l([]);return a(()=>{document.title=`个人名片`,setTimeout(()=>{M.value=`100%`},500),setTimeout(()=>{k.value=!0,setTimeout(()=>{f.value=!1,A.value=!0,requestAnimationFrame(()=>{j.value=!0})},1200)},1700);let e=new URLSearchParams(window.location.search),t=e.get(`UserUUID`),n=e.get(`UserName`),r=new URLSearchParams;t&&r.append(`UserUUID`,t),n&&r.append(`UserName`,n),r.toString()&&fetch(`https://ugm.gvsds.com/API/UserInfo?${r.toString()}`).then(e=>e.json()).then(e=>{P.value=e.UserName||``,F.value=e.UserEmail||``,I.value=e.UserTele||``,L.value=e.UserPersonalSignature||``,N.value=e.UserUUID?`https://ugm.gvsds.com/GetArgsUserAvatar?UserUUID=${e.UserUUID}`:N.value,Array.isArray(e.UserJob)&&(R.value=e.UserJob)}).catch(e=>{console.error(`Error:`,e)})}),(i,a)=>(r(),d(`div`,p,[a[7]||=o(`div`,{class:`fixed inset-0 z-0`},[o(`div`,{class:`absolute top-1/4 left-1/4 w-48 h-48 md:w-64 md:h-64 rounded-full filter blur-3xl`,style:{background:`rgba(99,102,241,0.2)`}}),o(`div`,{class:`absolute bottom-1/3 right-1/3 w-64 h-64 md:w-80 md:h-80 rounded-full filter blur-3xl`,style:{background:`rgba(236,72,153,0.2)`}})],-1),o(`div`,m,[f.value?(r(),d(`div`,{key:0,class:c([`mask-appear absolute inset-0 bg-dark rounded-2xl flex items-center justify-center shadow-2xl z-30 p-3`,{"mask-disappear":k.value}]),style:{background:`#0f172a`,border:`1px solid #1e293b`}},[o(`div`,h,[a[0]||=o(`div`,{class:`w-28 h-28 md:w-32 md:h-32 mx-auto mb-5 md:mb-6 rounded-full flex items-center justify-center`,style:{background:`linear-gradient(135deg, #6366f1, #ec4899)`}},[o(`i`,{class:`fa fa-user-secret text-4xl md:text-5xl text-white`})],-1),a[1]||=o(`h2`,{class:`text-xl md:text-2xl font-bold mb-2 glitch`},`识别中...`,-1),a[2]||=o(`p`,{class:`text-gray-400 text-sm md:text-base glitch`},`请稍候,正在获取个人信息`,-1),o(`div`,g,[o(`div`,{class:`h-full rounded-full transition-all duration-1000`,style:t({width:M.value,background:`linear-gradient(135deg, #6366f1, #ec4899)`})},null,4)])])],2)):s(``,!0),A.value?(r(),d(`div`,{key:1,class:c([`card-appear rounded-2xl shadow-2xl overflow-hidden z-20`,{"card-visible":j.value}]),style:{background:`#0f172a`,border:`1px solid #1e293b`}},[o(`div`,_,[o(`div`,v,[o(`img`,{src:N.value,alt:`个人头像`,class:`w-full h-full object-cover`},null,8,y)])]),o(`div`,b,[o(`div`,x,[(r(!0),d(u,null,e(R.value,(e,t)=>(r(),d(`span`,{key:t,class:`inline-block mb-2 ml-2 px-2.5 py-1 rounded-full text-xs md:text-sm font-medium`,style:{background:`rgba(99,102,241,0.2)`,color:`#818cf8`}},n(e),1))),128))]),o(`h1`,S,n(P.value||`WHO I AM`),1),o(`p`,C,n(L.value||`WHAT WAS ME`),1),o(`div`,w,[o(`div`,T,[a[4]||=o(`div`,{class:`w-10 h-10 rounded-full flex items-center justify-center mr-3 md:mr-4`,style:{background:`#1e293b`,"touch-action":`manipulation`}},[o(`i`,{class:`fa fa-envelope`,style:{color:`#6366f1`}})],-1),o(`div`,null,[a[3]||=o(`p`,{class:`text-gray-400 text-xs md:text-sm`},`邮箱`,-1),o(`p`,E,n(F.value),1)])]),o(`div`,D,[a[6]||=o(`div`,{class:`w-10 h-10 rounded-full flex items-center justify-center mr-3 md:mr-4`,style:{background:`#1e293b`,"touch-action":`manipulation`}},[o(`i`,{class:`fa fa-phone`,style:{color:`#6366f1`}})],-1),o(`div`,null,[a[5]||=o(`p`,{class:`text-gray-400 text-xs md:text-sm`},`电话`,-1),o(`p`,O,n(I.value),1)])])])])],2)):s(``,!0)])]))}}),[[`__scopeId`,`data-v-d386c5e5`]]);export{k as default};
\ No newline at end of file
diff --git a/TempLate/assets/UserCardView-CMoBYk8q.css b/TempLate/assets/UserCardView-CMoBYk8q.css
new file mode 100644
index 00000000..3f3265ee
--- /dev/null
+++ b/TempLate/assets/UserCardView-CMoBYk8q.css
@@ -0,0 +1 @@
+@keyframes maskAppear-d386c5e5{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes maskDisappear-d386c5e5{0%{opacity:1;transform:translate(0)rotate(0)}30%{opacity:1;transform:translate(20px)rotate(5deg)}to{opacity:0;transform:translate(150%)rotate(15deg)}}@keyframes cardAppear-d386c5e5{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes glitch-d386c5e5{0%,to{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}}.mask-appear[data-v-d386c5e5]{animation:.8s ease-out forwards maskAppear-d386c5e5}.mask-disappear[data-v-d386c5e5]{animation:1.2s cubic-bezier(.68,-.55,.27,1.55) forwards maskDisappear-d386c5e5}.card-appear[data-v-d386c5e5]{opacity:0;transform:translateY(20px)}.card-visible[data-v-d386c5e5]{animation:.8s ease-out forwards cardAppear-d386c5e5}.glitch[data-v-d386c5e5]{animation:2s infinite glitch-d386c5e5}
diff --git a/TempLate/assets/UserCardView-C_3ZrQDC.js b/TempLate/assets/UserCardView-C_3ZrQDC.js
new file mode 100644
index 00000000..abe06db1
--- /dev/null
+++ b/TempLate/assets/UserCardView-C_3ZrQDC.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,b as a,d as o,f as s,j as c,k as l,l as u,p as d}from"./index-PMfCvoYM.js";import{t as f}from"./_plugin-vue_export-helper-BDNMzG2s.js";var p={class:`min-h-screen flex items-center justify-center p-3 md:p-4 overflow-hidden relative`,style:{background:`#020617`,color:`#f3f4f6`,"font-family":`Inter, sans-serif`}},m={class:`relative z-10 w-full max-w-md`},h={class:`text-center w-full max-w-xs`},g={class:`mt-5 md:mt-6 w-full h-2 rounded-full overflow-hidden`,style:{background:`#1e293b`}},_={class:`h-28 md:h-32 relative`,style:{background:`linear-gradient(135deg, #6366f1, #ec4899)`}},v={class:`absolute -bottom-14 left-6 md:-bottom-16 md:left-8 w-28 h-28 md:w-32 md:h-32 rounded-full border-4 overflow-hidden`,style:{"border-color":`#0f172a`}},y=[`src`],b={class:`pt-16 md:pt-20 pb-5 md:pb-6 px-4 md:px-6`},x={class:`text-right mb-5 md:mb-6`},S={class:`text-xl md:text-2xl font-bold mb-1`},C={class:`text-gray-400 text-sm md:text-base mb-5 md:mb-6`},w={class:`space-y-3 md:space-y-4 mb-6 md:mb-8`},T={class:`flex items-center`},E={class:`text-sm md:text-base`},D={class:`flex items-center`},O={class:`text-sm md:text-base`},k=f(i({__name:`UserCardView`,setup(i){let f=l(!0),k=l(!1),A=l(!1),j=l(!1),M=l(`0%`),N=l(`https://picsum.photos/id/64/200/200`),P=l(``),F=l(``),I=l(``),L=l(``),R=l([]);return a(()=>{document.title=`个人名片`,setTimeout(()=>{M.value=`100%`},500),setTimeout(()=>{k.value=!0,setTimeout(()=>{f.value=!1,A.value=!0,requestAnimationFrame(()=>{j.value=!0})},1200)},1700);let e=new URLSearchParams(window.location.search),t=e.get(`UserUUID`),n=e.get(`UserName`),r=new URLSearchParams;t&&r.append(`UserUUID`,t),n&&r.append(`UserName`,n),r.toString()&&fetch(`https://ugm.gvsds.com/API/UserInfo?${r.toString()}`).then(e=>e.json()).then(e=>{P.value=e.UserName||``,F.value=e.UserEmail||``,I.value=e.UserTele||``,L.value=e.UserPersonalSignature||``,N.value=e.UserUUID?`https://ugm.gvsds.com/GetArgsUserAvatar?UserUUID=${e.UserUUID}`:N.value,Array.isArray(e.UserJob)&&(R.value=e.UserJob)}).catch(e=>{console.error(`Error:`,e)})}),(i,a)=>(r(),d(`div`,p,[a[7]||=o(`div`,{class:`fixed inset-0 z-0`},[o(`div`,{class:`absolute top-1/4 left-1/4 w-48 h-48 md:w-64 md:h-64 rounded-full filter blur-3xl`,style:{background:`rgba(99,102,241,0.2)`}}),o(`div`,{class:`absolute bottom-1/3 right-1/3 w-64 h-64 md:w-80 md:h-80 rounded-full filter blur-3xl`,style:{background:`rgba(236,72,153,0.2)`}})],-1),o(`div`,m,[f.value?(r(),d(`div`,{key:0,class:c([`mask-appear absolute inset-0 bg-dark rounded-2xl flex items-center justify-center shadow-2xl z-30 p-3`,{"mask-disappear":k.value}]),style:{background:`#0f172a`,border:`1px solid #1e293b`}},[o(`div`,h,[a[0]||=o(`div`,{class:`w-28 h-28 md:w-32 md:h-32 mx-auto mb-5 md:mb-6 rounded-full flex items-center justify-center`,style:{background:`linear-gradient(135deg, #6366f1, #ec4899)`}},[o(`i`,{class:`fa fa-user-secret text-4xl md:text-5xl text-white`})],-1),a[1]||=o(`h2`,{class:`text-xl md:text-2xl font-bold mb-2 glitch`},`识别中...`,-1),a[2]||=o(`p`,{class:`text-gray-400 text-sm md:text-base glitch`},`请稍候,正在获取个人信息`,-1),o(`div`,g,[o(`div`,{class:`h-full rounded-full transition-all duration-1000`,style:t({width:M.value,background:`linear-gradient(135deg, #6366f1, #ec4899)`})},null,4)])])],2)):s(``,!0),A.value?(r(),d(`div`,{key:1,class:c([`card-appear rounded-2xl shadow-2xl overflow-hidden z-20`,{"card-visible":j.value}]),style:{background:`#0f172a`,border:`1px solid #1e293b`}},[o(`div`,_,[o(`div`,v,[o(`img`,{src:N.value,alt:`个人头像`,class:`w-full h-full object-cover`},null,8,y)])]),o(`div`,b,[o(`div`,x,[(r(!0),d(u,null,e(R.value,(e,t)=>(r(),d(`span`,{key:t,class:`inline-block mb-2 ml-2 px-2.5 py-1 rounded-full text-xs md:text-sm font-medium`,style:{background:`rgba(99,102,241,0.2)`,color:`#818cf8`}},n(e),1))),128))]),o(`h1`,S,n(P.value||`WHO I AM`),1),o(`p`,C,n(L.value||`WHAT WAS ME`),1),o(`div`,w,[o(`div`,T,[a[4]||=o(`div`,{class:`w-10 h-10 rounded-full flex items-center justify-center mr-3 md:mr-4`,style:{background:`#1e293b`,"touch-action":`manipulation`}},[o(`i`,{class:`fa fa-envelope`,style:{color:`#6366f1`}})],-1),o(`div`,null,[a[3]||=o(`p`,{class:`text-gray-400 text-xs md:text-sm`},`邮箱`,-1),o(`p`,E,n(F.value),1)])]),o(`div`,D,[a[6]||=o(`div`,{class:`w-10 h-10 rounded-full flex items-center justify-center mr-3 md:mr-4`,style:{background:`#1e293b`,"touch-action":`manipulation`}},[o(`i`,{class:`fa fa-phone`,style:{color:`#6366f1`}})],-1),o(`div`,null,[a[5]||=o(`p`,{class:`text-gray-400 text-xs md:text-sm`},`电话`,-1),o(`p`,O,n(I.value),1)])])])])],2)):s(``,!0)])]))}}),[[`__scopeId`,`data-v-d386c5e5`]]);export{k as default};
\ No newline at end of file
diff --git a/TempLate/assets/UserCardView-DBHR8BP3.js b/TempLate/assets/UserCardView-DBHR8BP3.js
new file mode 100644
index 00000000..34493578
--- /dev/null
+++ b/TempLate/assets/UserCardView-DBHR8BP3.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,b as a,d as o,f as s,j as c,k as l,l as u,p as d}from"./index-UfMysbwD.js";import{t as f}from"./_plugin-vue_export-helper-BDNMzG2s.js";var p={class:`min-h-screen flex items-center justify-center p-3 md:p-4 overflow-hidden relative`,style:{background:`#020617`,color:`#f3f4f6`,"font-family":`Inter, sans-serif`}},m={class:`relative z-10 w-full max-w-md`},h={class:`text-center w-full max-w-xs`},g={class:`mt-5 md:mt-6 w-full h-2 rounded-full overflow-hidden`,style:{background:`#1e293b`}},_={class:`h-28 md:h-32 relative`,style:{background:`linear-gradient(135deg, #6366f1, #ec4899)`}},v={class:`absolute -bottom-14 left-6 md:-bottom-16 md:left-8 w-28 h-28 md:w-32 md:h-32 rounded-full border-4 overflow-hidden`,style:{"border-color":`#0f172a`}},y=[`src`],b={class:`pt-16 md:pt-20 pb-5 md:pb-6 px-4 md:px-6`},x={class:`text-right mb-5 md:mb-6`},S={class:`text-xl md:text-2xl font-bold mb-1`},C={class:`text-gray-400 text-sm md:text-base mb-5 md:mb-6`},w={class:`space-y-3 md:space-y-4 mb-6 md:mb-8`},T={class:`flex items-center`},E={class:`text-sm md:text-base`},D={class:`flex items-center`},O={class:`text-sm md:text-base`},k=f(i({__name:`UserCardView`,setup(i){let f=l(!0),k=l(!1),A=l(!1),j=l(!1),M=l(`0%`),N=l(`https://picsum.photos/id/64/200/200`),P=l(``),F=l(``),I=l(``),L=l(``),R=l([]);return a(()=>{document.title=`个人名片`,setTimeout(()=>{M.value=`100%`},500),setTimeout(()=>{k.value=!0,setTimeout(()=>{f.value=!1,A.value=!0,requestAnimationFrame(()=>{j.value=!0})},1200)},1700);let e=new URLSearchParams(window.location.search),t=e.get(`UserUUID`),n=e.get(`UserName`),r=new URLSearchParams;t&&r.append(`UserUUID`,t),n&&r.append(`UserName`,n),r.toString()&&fetch(`https://ugm.gvsds.com/API/UserInfo?${r.toString()}`).then(e=>e.json()).then(e=>{P.value=e.UserName||``,F.value=e.UserEmail||``,I.value=e.UserTele||``,L.value=e.UserPersonalSignature||``,N.value=e.UserUUID?`https://ugm.gvsds.com/GetArgsUserAvatar?UserUUID=${e.UserUUID}`:N.value,Array.isArray(e.UserJob)&&(R.value=e.UserJob)}).catch(e=>{console.error(`Error:`,e)})}),(i,a)=>(r(),d(`div`,p,[a[7]||=o(`div`,{class:`fixed inset-0 z-0`},[o(`div`,{class:`absolute top-1/4 left-1/4 w-48 h-48 md:w-64 md:h-64 rounded-full filter blur-3xl`,style:{background:`rgba(99,102,241,0.2)`}}),o(`div`,{class:`absolute bottom-1/3 right-1/3 w-64 h-64 md:w-80 md:h-80 rounded-full filter blur-3xl`,style:{background:`rgba(236,72,153,0.2)`}})],-1),o(`div`,m,[f.value?(r(),d(`div`,{key:0,class:c([`mask-appear absolute inset-0 bg-dark rounded-2xl flex items-center justify-center shadow-2xl z-30 p-3`,{"mask-disappear":k.value}]),style:{background:`#0f172a`,border:`1px solid #1e293b`}},[o(`div`,h,[a[0]||=o(`div`,{class:`w-28 h-28 md:w-32 md:h-32 mx-auto mb-5 md:mb-6 rounded-full flex items-center justify-center`,style:{background:`linear-gradient(135deg, #6366f1, #ec4899)`}},[o(`i`,{class:`fa fa-user-secret text-4xl md:text-5xl text-white`})],-1),a[1]||=o(`h2`,{class:`text-xl md:text-2xl font-bold mb-2 glitch`},`识别中...`,-1),a[2]||=o(`p`,{class:`text-gray-400 text-sm md:text-base glitch`},`请稍候,正在获取个人信息`,-1),o(`div`,g,[o(`div`,{class:`h-full rounded-full transition-all duration-1000`,style:t({width:M.value,background:`linear-gradient(135deg, #6366f1, #ec4899)`})},null,4)])])],2)):s(``,!0),A.value?(r(),d(`div`,{key:1,class:c([`card-appear rounded-2xl shadow-2xl overflow-hidden z-20`,{"card-visible":j.value}]),style:{background:`#0f172a`,border:`1px solid #1e293b`}},[o(`div`,_,[o(`div`,v,[o(`img`,{src:N.value,alt:`个人头像`,class:`w-full h-full object-cover`},null,8,y)])]),o(`div`,b,[o(`div`,x,[(r(!0),d(u,null,e(R.value,(e,t)=>(r(),d(`span`,{key:t,class:`inline-block mb-2 ml-2 px-2.5 py-1 rounded-full text-xs md:text-sm font-medium`,style:{background:`rgba(99,102,241,0.2)`,color:`#818cf8`}},n(e),1))),128))]),o(`h1`,S,n(P.value||`WHO I AM`),1),o(`p`,C,n(L.value||`WHAT WAS ME`),1),o(`div`,w,[o(`div`,T,[a[4]||=o(`div`,{class:`w-10 h-10 rounded-full flex items-center justify-center mr-3 md:mr-4`,style:{background:`#1e293b`,"touch-action":`manipulation`}},[o(`i`,{class:`fa fa-envelope`,style:{color:`#6366f1`}})],-1),o(`div`,null,[a[3]||=o(`p`,{class:`text-gray-400 text-xs md:text-sm`},`邮箱`,-1),o(`p`,E,n(F.value),1)])]),o(`div`,D,[a[6]||=o(`div`,{class:`w-10 h-10 rounded-full flex items-center justify-center mr-3 md:mr-4`,style:{background:`#1e293b`,"touch-action":`manipulation`}},[o(`i`,{class:`fa fa-phone`,style:{color:`#6366f1`}})],-1),o(`div`,null,[a[5]||=o(`p`,{class:`text-gray-400 text-xs md:text-sm`},`电话`,-1),o(`p`,O,n(I.value),1)])])])])],2)):s(``,!0)])]))}}),[[`__scopeId`,`data-v-d386c5e5`]]);export{k as default};
\ No newline at end of file
diff --git a/TempLate/assets/UserCardView-DvyeobiW.js b/TempLate/assets/UserCardView-DvyeobiW.js
new file mode 100644
index 00000000..47b7588d
--- /dev/null
+++ b/TempLate/assets/UserCardView-DvyeobiW.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,b as a,d as o,f as s,j as c,k as l,l as u,p as d}from"./index-BM-LFFI_.js";import{t as f}from"./_plugin-vue_export-helper-BDNMzG2s.js";var p={class:`min-h-screen flex items-center justify-center p-3 md:p-4 overflow-hidden relative`,style:{background:`#020617`,color:`#f3f4f6`,"font-family":`Inter, sans-serif`}},m={class:`relative z-10 w-full max-w-md`},h={class:`text-center w-full max-w-xs`},g={class:`mt-5 md:mt-6 w-full h-2 rounded-full overflow-hidden`,style:{background:`#1e293b`}},_={class:`h-28 md:h-32 relative`,style:{background:`linear-gradient(135deg, #6366f1, #ec4899)`}},v={class:`absolute -bottom-14 left-6 md:-bottom-16 md:left-8 w-28 h-28 md:w-32 md:h-32 rounded-full border-4 overflow-hidden`,style:{"border-color":`#0f172a`}},y=[`src`],b={class:`pt-16 md:pt-20 pb-5 md:pb-6 px-4 md:px-6`},x={class:`text-right mb-5 md:mb-6`},S={class:`text-xl md:text-2xl font-bold mb-1`},C={class:`text-gray-400 text-sm md:text-base mb-5 md:mb-6`},w={class:`space-y-3 md:space-y-4 mb-6 md:mb-8`},T={class:`flex items-center`},E={class:`text-sm md:text-base`},D={class:`flex items-center`},O={class:`text-sm md:text-base`},k=f(i({__name:`UserCardView`,setup(i){let f=l(!0),k=l(!1),A=l(!1),j=l(!1),M=l(`0%`),N=l(`https://picsum.photos/id/64/200/200`),P=l(``),F=l(``),I=l(``),L=l(``),R=l([]);return a(()=>{document.title=`个人名片`,setTimeout(()=>{M.value=`100%`},500),setTimeout(()=>{k.value=!0,setTimeout(()=>{f.value=!1,A.value=!0,requestAnimationFrame(()=>{j.value=!0})},1200)},1700);let e=new URLSearchParams(window.location.search),t=e.get(`UserUUID`),n=e.get(`UserName`),r=new URLSearchParams;t&&r.append(`UserUUID`,t),n&&r.append(`UserName`,n),r.toString()&&fetch(`https://ugm.gvsds.com/API/UserInfo?${r.toString()}`).then(e=>e.json()).then(e=>{P.value=e.UserName||``,F.value=e.UserEmail||``,I.value=e.UserTele||``,L.value=e.UserPersonalSignature||``,N.value=e.UserUUID?`https://ugm.gvsds.com/GetArgsUserAvatar?UserUUID=${e.UserUUID}`:N.value,Array.isArray(e.UserJob)&&(R.value=e.UserJob)}).catch(e=>{console.error(`Error:`,e)})}),(i,a)=>(r(),d(`div`,p,[a[7]||=o(`div`,{class:`fixed inset-0 z-0`},[o(`div`,{class:`absolute top-1/4 left-1/4 w-48 h-48 md:w-64 md:h-64 rounded-full filter blur-3xl`,style:{background:`rgba(99,102,241,0.2)`}}),o(`div`,{class:`absolute bottom-1/3 right-1/3 w-64 h-64 md:w-80 md:h-80 rounded-full filter blur-3xl`,style:{background:`rgba(236,72,153,0.2)`}})],-1),o(`div`,m,[f.value?(r(),d(`div`,{key:0,class:c([`mask-appear absolute inset-0 bg-dark rounded-2xl flex items-center justify-center shadow-2xl z-30 p-3`,{"mask-disappear":k.value}]),style:{background:`#0f172a`,border:`1px solid #1e293b`}},[o(`div`,h,[a[0]||=o(`div`,{class:`w-28 h-28 md:w-32 md:h-32 mx-auto mb-5 md:mb-6 rounded-full flex items-center justify-center`,style:{background:`linear-gradient(135deg, #6366f1, #ec4899)`}},[o(`i`,{class:`fa fa-user-secret text-4xl md:text-5xl text-white`})],-1),a[1]||=o(`h2`,{class:`text-xl md:text-2xl font-bold mb-2 glitch`},`识别中...`,-1),a[2]||=o(`p`,{class:`text-gray-400 text-sm md:text-base glitch`},`请稍候,正在获取个人信息`,-1),o(`div`,g,[o(`div`,{class:`h-full rounded-full transition-all duration-1000`,style:t({width:M.value,background:`linear-gradient(135deg, #6366f1, #ec4899)`})},null,4)])])],2)):s(``,!0),A.value?(r(),d(`div`,{key:1,class:c([`card-appear rounded-2xl shadow-2xl overflow-hidden z-20`,{"card-visible":j.value}]),style:{background:`#0f172a`,border:`1px solid #1e293b`}},[o(`div`,_,[o(`div`,v,[o(`img`,{src:N.value,alt:`个人头像`,class:`w-full h-full object-cover`},null,8,y)])]),o(`div`,b,[o(`div`,x,[(r(!0),d(u,null,e(R.value,(e,t)=>(r(),d(`span`,{key:t,class:`inline-block mb-2 ml-2 px-2.5 py-1 rounded-full text-xs md:text-sm font-medium`,style:{background:`rgba(99,102,241,0.2)`,color:`#818cf8`}},n(e),1))),128))]),o(`h1`,S,n(P.value||`WHO I AM`),1),o(`p`,C,n(L.value||`WHAT WAS ME`),1),o(`div`,w,[o(`div`,T,[a[4]||=o(`div`,{class:`w-10 h-10 rounded-full flex items-center justify-center mr-3 md:mr-4`,style:{background:`#1e293b`,"touch-action":`manipulation`}},[o(`i`,{class:`fa fa-envelope`,style:{color:`#6366f1`}})],-1),o(`div`,null,[a[3]||=o(`p`,{class:`text-gray-400 text-xs md:text-sm`},`邮箱`,-1),o(`p`,E,n(F.value),1)])]),o(`div`,D,[a[6]||=o(`div`,{class:`w-10 h-10 rounded-full flex items-center justify-center mr-3 md:mr-4`,style:{background:`#1e293b`,"touch-action":`manipulation`}},[o(`i`,{class:`fa fa-phone`,style:{color:`#6366f1`}})],-1),o(`div`,null,[a[5]||=o(`p`,{class:`text-gray-400 text-xs md:text-sm`},`电话`,-1),o(`p`,O,n(I.value),1)])])])])],2)):s(``,!0)])]))}}),[[`__scopeId`,`data-v-d386c5e5`]]);export{k as default};
\ No newline at end of file
diff --git a/TempLate/assets/Ying_Right-BWic5Lsp.js b/TempLate/assets/Ying_Right-BWic5Lsp.js
new file mode 100644
index 00000000..12c735c1
--- /dev/null
+++ b/TempLate/assets/Ying_Right-BWic5Lsp.js
@@ -0,0 +1 @@
+var e=`/assets/img/Background/ChiSha_Left.png`,t=`/assets/img/Background/Ying_Right.png`;export{e as n,t};
\ No newline at end of file
diff --git a/TempLate/assets/YuanZeView-1VrVL_R1.js b/TempLate/assets/YuanZeView-1VrVL_R1.js
new file mode 100644
index 00000000..16b4c091
--- /dev/null
+++ b/TempLate/assets/YuanZeView-1VrVL_R1.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,h as o,l as s,m as c,p as l}from"./index-CUry87of.js";import{t as u}from"./_plugin-vue_export-helper-BDNMzG2s.js";var d={class:`antialiased selection:bg-[#2487FE] selection:text-white yuanze-root`},f={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-20 space-y-32`},p={id:`skills`,class:`space-y-12`},m={class:`grid md:grid-cols-2 gap-8`},h={class:`p-8 rounded-2xl border border-white/5`,style:{"background-color":`var(--bg-card)`}},g={class:`space-y-6`},_={class:`flex justify-between mb-1`},v={class:`text-gray-300 text-sm`},y={class:`text-white text-sm font-mono`},b={class:`w-full bg-gray-800 rounded-full h-2`},x={class:`rounded-3xl p-8 border border-white/5`,style:{"background-color":`rgba(23,23,23, 0.5)`}},S={class:`flex items-end justify-between h-48 gap-2 md:gap-4`},C={class:`w-full rounded-t-md relative h-32 group-hover:opacity-80 transition-all`,style:{"background-color":`rgba(36,135,254, 0.2)`}},w={class:`text-xs text-gray-500 mt-2`},T={id:`works`},E={class:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`},D={class:`relative w-full min-h-[300px] md:min-h-[400px] overflow-hidden`},O=[`src`,`alt`],k={class:`absolute bottom-0 left-0 w-full p-6 translate-y-4 group-hover:translate-y-0 transition-transform duration-300 bg-gradient-to-t from-black/80 to-transparent`},A={class:`text-xs font-bold mb-1`,style:{color:`var(--primary)`}},j={class:`text-2xl font-bold text-white mb-2`},M={class:`text-gray-400 text-sm line-clamp-2 opacity-0 group-hover:opacity-100 transition-opacity duration-300 delay-100`},N=u(i({__name:`YuanZeView`,setup(i){let u=[{name:`创意构思`,value:85},{name:`色彩运用`,value:90},{name:`构图能力`,value:88},{name:`细节处理`,value:82},{name:`风格多样性`,value:75},{name:`手绘技巧`,value:80}],N=[{label:`一月`,height:40},{label:`二月`,height:65},{label:`三月`,height:30},{label:`四月`,height:50},{label:`五月`,height:85},{label:`六月`,height:70}],P=[{src:`/Members/YuanZe/assets/img/A.jpg`,alt:`海`,category:`海`,title:`-`,desc:`-`},{src:`/Members/YuanZe/assets/img/B.jpg`,alt:`不思量,自难忘`,category:`角色原画`,title:`不思量,自难忘`,desc:`不思量,自难忘。晓窗凝雾,砚底余霜。旧箧犹存针线迹,残灯尚映锦书行。阶前梧叶,又落三分寒色;案上梅枝,空留半缕幽香。梦里相逢,仍著当时青衫;醒时对月,唯添两鬓秋霜。纵有千种风情,谁与共赏?漫将一杯浊酒,遥酹西窗。此生长夜,相思如织;寸寸柔肠,系于何方。`},{src:`/Members/YuanZe/assets/img/C.jpg`,alt:`头像`,category:`角色原画`,title:`头像`,desc:`-`},{src:`/Members/YuanZe/assets/img/D.png`,alt:`好大!`,category:`角色原画`,title:`好大!`,desc:`怎么这么大?...`},{src:`/Members/YuanZe/assets/img/E.jpg`,alt:`哈!`,category:`角色原画`,title:`哈!`,desc:`哈!`},{src:`/Members/YuanZe/assets/img/F.jpg`,alt:`马到福来,新年快乐!`,category:`海报设计`,title:`马到福来,新年吉祥!`,desc:`新年好!`},{src:`/Members/YuanZe/assets/img/H.jpg`,alt:`索尼相机爱好者`,category:`角色原画`,title:`索尼相机爱好者`,desc:`索尼相机是我最喜欢的相机,我非常喜欢它的照片质量。`}];return(i,F)=>(r(),l(`div`,d,[F[8]||=c(``,1),a(`main`,f,[F[6]||=c(` 原名赤砂,我专注于角色原画与概念设计,擅长创造生动有趣的视觉形象。作为美工部的一员,我致力于将创意转化为高质量的视觉作品,拥有扎实的色彩理论功底和图像处理能力。
角色设计 插画绘制 概念艺术
`,1),a(`section`,p,[F[2]||=a(`div`,{class:`text-center max-w-2xl mx-auto`},[a(`span`,{class:`text-sm font-bold tracking-widest uppercase`,style:{color:`var(--primary)`}},`Capabilities`),a(`h2`,{class:`text-4xl font-bold text-white mt-2`},`设计能力评估`),a(`p`,{class:`text-gray-400 mt-4`},`基于专业维度的自我量化评估,追求技术与艺术的平衡。`)],-1),a(`div`,m,[a(`div`,h,[F[0]||=a(`h3`,{class:`text-xl font-bold text-white mb-6 flex items-center gap-2`},[a(`i`,{class:`fa-solid fa-paintbrush`,style:{color:`var(--primary)`}}),o(` 核心技能 `)],-1),a(`div`,g,[(r(),l(s,null,e(u,(e,r)=>a(`div`,{key:e.name},[a(`div`,_,[a(`span`,v,n(e.name),1),a(`span`,y,n(e.value),1)]),a(`div`,b,[a(`div`,{class:`h-2 rounded-full animate-fill`,style:t({width:`${e.value}%`,background:`linear-gradient(90deg, var(--primary), #1a5cb8)`,animationDelay:`${r*.1}s`})},null,4)])])),64))])]),F[1]||=c(``,1)])]),a(`section`,x,[F[3]||=a(`h3`,{class:`text-xl font-bold text-white mb-8`},`月度作品完成趋势`,-1),a(`div`,S,[(r(),l(s,null,e(N,(e,r)=>a(`div`,{key:e.label,class:`w-full flex flex-col items-center group`},[a(`div`,C,[a(`div`,{class:`absolute bottom-0 w-full rounded-t-md`,style:t({height:`${e.height}%`,backgroundColor:`rgba(36,135,254, 0.8)`})},null,4)]),a(`span`,w,n(e.label),1)])),64))])]),a(`section`,T,[F[5]||=a(`div`,{class:`flex justify-between items-end mb-12`},[a(`div`,null,[a(`span`,{class:`text-sm font-bold tracking-widest uppercase`,style:{color:`var(--primary)`}},`Portfolio`),a(`h2`,{class:`text-4xl font-bold text-white mt-2`},`历史作品精选`)])],-1),a(`div`,E,[(r(),l(s,null,e(P,(e,t)=>a(`article`,{key:t,class:`group relative overflow-hidden rounded-2xl cursor-pointer`,style:{"background-color":`var(--bg-card)`}},[a(`div`,D,[a(`img`,{src:e.src,alt:e.alt,class:`absolute inset-0 w-full h-full object-contain transition-transform duration-700 group-hover:scale-105 opacity-80 group-hover:opacity-100`},null,8,O),F[4]||=a(`div`,{class:`absolute inset-0 bg-gradient-to-t from-black via-black/20 to-transparent opacity-90`},null,-1)]),a(`div`,k,[a(`div`,A,n(e.category),1),a(`h3`,j,n(e.title),1),a(`p`,M,n(e.desc),1)])])),64))])]),F[7]||=c(``,1)])]))}}),[[`__scopeId`,`data-v-f81f42f0`]]);export{N as default};
\ No newline at end of file
diff --git a/TempLate/assets/YuanZeView-BRznHYJI.js b/TempLate/assets/YuanZeView-BRznHYJI.js
new file mode 100644
index 00000000..5ffa8fe1
--- /dev/null
+++ b/TempLate/assets/YuanZeView-BRznHYJI.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,h as o,l as s,m as c,p as l}from"./index-PMfCvoYM.js";import{t as u}from"./_plugin-vue_export-helper-BDNMzG2s.js";var d={class:`antialiased selection:bg-[#2487FE] selection:text-white yuanze-root`},f={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-20 space-y-32`},p={id:`skills`,class:`space-y-12`},m={class:`grid md:grid-cols-2 gap-8`},h={class:`p-8 rounded-2xl border border-white/5`,style:{"background-color":`var(--bg-card)`}},g={class:`space-y-6`},_={class:`flex justify-between mb-1`},v={class:`text-gray-300 text-sm`},y={class:`text-white text-sm font-mono`},b={class:`w-full bg-gray-800 rounded-full h-2`},x={class:`rounded-3xl p-8 border border-white/5`,style:{"background-color":`rgba(23,23,23, 0.5)`}},S={class:`flex items-end justify-between h-48 gap-2 md:gap-4`},C={class:`w-full rounded-t-md relative h-32 group-hover:opacity-80 transition-all`,style:{"background-color":`rgba(36,135,254, 0.2)`}},w={class:`text-xs text-gray-500 mt-2`},T={id:`works`},E={class:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`},D={class:`relative w-full min-h-[300px] md:min-h-[400px] overflow-hidden`},O=[`src`,`alt`],k={class:`absolute bottom-0 left-0 w-full p-6 translate-y-4 group-hover:translate-y-0 transition-transform duration-300 bg-gradient-to-t from-black/80 to-transparent`},A={class:`text-xs font-bold mb-1`,style:{color:`var(--primary)`}},j={class:`text-2xl font-bold text-white mb-2`},M={class:`text-gray-400 text-sm line-clamp-2 opacity-0 group-hover:opacity-100 transition-opacity duration-300 delay-100`},N=u(i({__name:`YuanZeView`,setup(i){let u=[{name:`创意构思`,value:85},{name:`色彩运用`,value:90},{name:`构图能力`,value:88},{name:`细节处理`,value:82},{name:`风格多样性`,value:75},{name:`手绘技巧`,value:80}],N=[{label:`一月`,height:40},{label:`二月`,height:65},{label:`三月`,height:30},{label:`四月`,height:50},{label:`五月`,height:85},{label:`六月`,height:70}],P=[{src:`/Members/YuanZe/assets/img/A.jpg`,alt:`海`,category:`海`,title:`-`,desc:`-`},{src:`/Members/YuanZe/assets/img/B.jpg`,alt:`不思量,自难忘`,category:`角色原画`,title:`不思量,自难忘`,desc:`不思量,自难忘。晓窗凝雾,砚底余霜。旧箧犹存针线迹,残灯尚映锦书行。阶前梧叶,又落三分寒色;案上梅枝,空留半缕幽香。梦里相逢,仍著当时青衫;醒时对月,唯添两鬓秋霜。纵有千种风情,谁与共赏?漫将一杯浊酒,遥酹西窗。此生长夜,相思如织;寸寸柔肠,系于何方。`},{src:`/Members/YuanZe/assets/img/C.jpg`,alt:`头像`,category:`角色原画`,title:`头像`,desc:`-`},{src:`/Members/YuanZe/assets/img/D.png`,alt:`好大!`,category:`角色原画`,title:`好大!`,desc:`怎么这么大?...`},{src:`/Members/YuanZe/assets/img/E.jpg`,alt:`哈!`,category:`角色原画`,title:`哈!`,desc:`哈!`},{src:`/Members/YuanZe/assets/img/F.jpg`,alt:`马到福来,新年快乐!`,category:`海报设计`,title:`马到福来,新年吉祥!`,desc:`新年好!`},{src:`/Members/YuanZe/assets/img/H.jpg`,alt:`索尼相机爱好者`,category:`角色原画`,title:`索尼相机爱好者`,desc:`索尼相机是我最喜欢的相机,我非常喜欢它的照片质量。`}];return(i,F)=>(r(),l(`div`,d,[F[8]||=c(``,1),a(`main`,f,[F[6]||=c(` 原名赤砂,我专注于角色原画与概念设计,擅长创造生动有趣的视觉形象。作为美工部的一员,我致力于将创意转化为高质量的视觉作品,拥有扎实的色彩理论功底和图像处理能力。
角色设计 插画绘制 概念艺术
`,1),a(`section`,p,[F[2]||=a(`div`,{class:`text-center max-w-2xl mx-auto`},[a(`span`,{class:`text-sm font-bold tracking-widest uppercase`,style:{color:`var(--primary)`}},`Capabilities`),a(`h2`,{class:`text-4xl font-bold text-white mt-2`},`设计能力评估`),a(`p`,{class:`text-gray-400 mt-4`},`基于专业维度的自我量化评估,追求技术与艺术的平衡。`)],-1),a(`div`,m,[a(`div`,h,[F[0]||=a(`h3`,{class:`text-xl font-bold text-white mb-6 flex items-center gap-2`},[a(`i`,{class:`fa-solid fa-paintbrush`,style:{color:`var(--primary)`}}),o(` 核心技能 `)],-1),a(`div`,g,[(r(),l(s,null,e(u,(e,r)=>a(`div`,{key:e.name},[a(`div`,_,[a(`span`,v,n(e.name),1),a(`span`,y,n(e.value),1)]),a(`div`,b,[a(`div`,{class:`h-2 rounded-full animate-fill`,style:t({width:`${e.value}%`,background:`linear-gradient(90deg, var(--primary), #1a5cb8)`,animationDelay:`${r*.1}s`})},null,4)])])),64))])]),F[1]||=c(``,1)])]),a(`section`,x,[F[3]||=a(`h3`,{class:`text-xl font-bold text-white mb-8`},`月度作品完成趋势`,-1),a(`div`,S,[(r(),l(s,null,e(N,(e,r)=>a(`div`,{key:e.label,class:`w-full flex flex-col items-center group`},[a(`div`,C,[a(`div`,{class:`absolute bottom-0 w-full rounded-t-md`,style:t({height:`${e.height}%`,backgroundColor:`rgba(36,135,254, 0.8)`})},null,4)]),a(`span`,w,n(e.label),1)])),64))])]),a(`section`,T,[F[5]||=a(`div`,{class:`flex justify-between items-end mb-12`},[a(`div`,null,[a(`span`,{class:`text-sm font-bold tracking-widest uppercase`,style:{color:`var(--primary)`}},`Portfolio`),a(`h2`,{class:`text-4xl font-bold text-white mt-2`},`历史作品精选`)])],-1),a(`div`,E,[(r(),l(s,null,e(P,(e,t)=>a(`article`,{key:t,class:`group relative overflow-hidden rounded-2xl cursor-pointer`,style:{"background-color":`var(--bg-card)`}},[a(`div`,D,[a(`img`,{src:e.src,alt:e.alt,class:`absolute inset-0 w-full h-full object-contain transition-transform duration-700 group-hover:scale-105 opacity-80 group-hover:opacity-100`},null,8,O),F[4]||=a(`div`,{class:`absolute inset-0 bg-gradient-to-t from-black via-black/20 to-transparent opacity-90`},null,-1)]),a(`div`,k,[a(`div`,A,n(e.category),1),a(`h3`,j,n(e.title),1),a(`p`,M,n(e.desc),1)])])),64))])]),F[7]||=c(``,1)])]))}}),[[`__scopeId`,`data-v-f81f42f0`]]);export{N as default};
\ No newline at end of file
diff --git a/TempLate/assets/YuanZeView-BlDxD0du.js b/TempLate/assets/YuanZeView-BlDxD0du.js
new file mode 100644
index 00000000..cfc37a8a
--- /dev/null
+++ b/TempLate/assets/YuanZeView-BlDxD0du.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,h as o,l as s,m as c,p as l}from"./index-UfMysbwD.js";import{t as u}from"./_plugin-vue_export-helper-BDNMzG2s.js";var d={class:`antialiased selection:bg-[#2487FE] selection:text-white yuanze-root`},f={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-20 space-y-32`},p={id:`skills`,class:`space-y-12`},m={class:`grid md:grid-cols-2 gap-8`},h={class:`p-8 rounded-2xl border border-white/5`,style:{"background-color":`var(--bg-card)`}},g={class:`space-y-6`},_={class:`flex justify-between mb-1`},v={class:`text-gray-300 text-sm`},y={class:`text-white text-sm font-mono`},b={class:`w-full bg-gray-800 rounded-full h-2`},x={class:`rounded-3xl p-8 border border-white/5`,style:{"background-color":`rgba(23,23,23, 0.5)`}},S={class:`flex items-end justify-between h-48 gap-2 md:gap-4`},C={class:`w-full rounded-t-md relative h-32 group-hover:opacity-80 transition-all`,style:{"background-color":`rgba(36,135,254, 0.2)`}},w={class:`text-xs text-gray-500 mt-2`},T={id:`works`},E={class:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`},D={class:`relative w-full min-h-[300px] md:min-h-[400px] overflow-hidden`},O=[`src`,`alt`],k={class:`absolute bottom-0 left-0 w-full p-6 translate-y-4 group-hover:translate-y-0 transition-transform duration-300 bg-gradient-to-t from-black/80 to-transparent`},A={class:`text-xs font-bold mb-1`,style:{color:`var(--primary)`}},j={class:`text-2xl font-bold text-white mb-2`},M={class:`text-gray-400 text-sm line-clamp-2 opacity-0 group-hover:opacity-100 transition-opacity duration-300 delay-100`},N=u(i({__name:`YuanZeView`,setup(i){let u=[{name:`创意构思`,value:85},{name:`色彩运用`,value:90},{name:`构图能力`,value:88},{name:`细节处理`,value:82},{name:`风格多样性`,value:75},{name:`手绘技巧`,value:80}],N=[{label:`一月`,height:40},{label:`二月`,height:65},{label:`三月`,height:30},{label:`四月`,height:50},{label:`五月`,height:85},{label:`六月`,height:70}],P=[{src:`/Members/YuanZe/assets/img/A.jpg`,alt:`海`,category:`海`,title:`-`,desc:`-`},{src:`/Members/YuanZe/assets/img/B.jpg`,alt:`不思量,自难忘`,category:`角色原画`,title:`不思量,自难忘`,desc:`不思量,自难忘。晓窗凝雾,砚底余霜。旧箧犹存针线迹,残灯尚映锦书行。阶前梧叶,又落三分寒色;案上梅枝,空留半缕幽香。梦里相逢,仍著当时青衫;醒时对月,唯添两鬓秋霜。纵有千种风情,谁与共赏?漫将一杯浊酒,遥酹西窗。此生长夜,相思如织;寸寸柔肠,系于何方。`},{src:`/Members/YuanZe/assets/img/C.jpg`,alt:`头像`,category:`角色原画`,title:`头像`,desc:`-`},{src:`/Members/YuanZe/assets/img/D.png`,alt:`好大!`,category:`角色原画`,title:`好大!`,desc:`怎么这么大?...`},{src:`/Members/YuanZe/assets/img/E.jpg`,alt:`哈!`,category:`角色原画`,title:`哈!`,desc:`哈!`},{src:`/Members/YuanZe/assets/img/F.jpg`,alt:`马到福来,新年快乐!`,category:`海报设计`,title:`马到福来,新年吉祥!`,desc:`新年好!`},{src:`/Members/YuanZe/assets/img/H.jpg`,alt:`索尼相机爱好者`,category:`角色原画`,title:`索尼相机爱好者`,desc:`索尼相机是我最喜欢的相机,我非常喜欢它的照片质量。`}];return(i,F)=>(r(),l(`div`,d,[F[8]||=c(``,1),a(`main`,f,[F[6]||=c(` 原名赤砂,我专注于角色原画与概念设计,擅长创造生动有趣的视觉形象。作为美工部的一员,我致力于将创意转化为高质量的视觉作品,拥有扎实的色彩理论功底和图像处理能力。
角色设计 插画绘制 概念艺术
`,1),a(`section`,p,[F[2]||=a(`div`,{class:`text-center max-w-2xl mx-auto`},[a(`span`,{class:`text-sm font-bold tracking-widest uppercase`,style:{color:`var(--primary)`}},`Capabilities`),a(`h2`,{class:`text-4xl font-bold text-white mt-2`},`设计能力评估`),a(`p`,{class:`text-gray-400 mt-4`},`基于专业维度的自我量化评估,追求技术与艺术的平衡。`)],-1),a(`div`,m,[a(`div`,h,[F[0]||=a(`h3`,{class:`text-xl font-bold text-white mb-6 flex items-center gap-2`},[a(`i`,{class:`fa-solid fa-paintbrush`,style:{color:`var(--primary)`}}),o(` 核心技能 `)],-1),a(`div`,g,[(r(),l(s,null,e(u,(e,r)=>a(`div`,{key:e.name},[a(`div`,_,[a(`span`,v,n(e.name),1),a(`span`,y,n(e.value),1)]),a(`div`,b,[a(`div`,{class:`h-2 rounded-full animate-fill`,style:t({width:`${e.value}%`,background:`linear-gradient(90deg, var(--primary), #1a5cb8)`,animationDelay:`${r*.1}s`})},null,4)])])),64))])]),F[1]||=c(``,1)])]),a(`section`,x,[F[3]||=a(`h3`,{class:`text-xl font-bold text-white mb-8`},`月度作品完成趋势`,-1),a(`div`,S,[(r(),l(s,null,e(N,(e,r)=>a(`div`,{key:e.label,class:`w-full flex flex-col items-center group`},[a(`div`,C,[a(`div`,{class:`absolute bottom-0 w-full rounded-t-md`,style:t({height:`${e.height}%`,backgroundColor:`rgba(36,135,254, 0.8)`})},null,4)]),a(`span`,w,n(e.label),1)])),64))])]),a(`section`,T,[F[5]||=a(`div`,{class:`flex justify-between items-end mb-12`},[a(`div`,null,[a(`span`,{class:`text-sm font-bold tracking-widest uppercase`,style:{color:`var(--primary)`}},`Portfolio`),a(`h2`,{class:`text-4xl font-bold text-white mt-2`},`历史作品精选`)])],-1),a(`div`,E,[(r(),l(s,null,e(P,(e,t)=>a(`article`,{key:t,class:`group relative overflow-hidden rounded-2xl cursor-pointer`,style:{"background-color":`var(--bg-card)`}},[a(`div`,D,[a(`img`,{src:e.src,alt:e.alt,class:`absolute inset-0 w-full h-full object-contain transition-transform duration-700 group-hover:scale-105 opacity-80 group-hover:opacity-100`},null,8,O),F[4]||=a(`div`,{class:`absolute inset-0 bg-gradient-to-t from-black via-black/20 to-transparent opacity-90`},null,-1)]),a(`div`,k,[a(`div`,A,n(e.category),1),a(`h3`,j,n(e.title),1),a(`p`,M,n(e.desc),1)])])),64))])]),F[7]||=c(``,1)])]))}}),[[`__scopeId`,`data-v-f81f42f0`]]);export{N as default};
\ No newline at end of file
diff --git a/TempLate/assets/YuanZeView-C659VRqs.js b/TempLate/assets/YuanZeView-C659VRqs.js
new file mode 100644
index 00000000..d25489ca
--- /dev/null
+++ b/TempLate/assets/YuanZeView-C659VRqs.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,h as o,l as s,m as c,p as l}from"./index-CMhybB9x.js";import{t as u}from"./_plugin-vue_export-helper-BDNMzG2s.js";var d={class:`antialiased selection:bg-[#2487FE] selection:text-white yuanze-root`},f={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-20 space-y-32`},p={id:`skills`,class:`space-y-12`},m={class:`grid md:grid-cols-2 gap-8`},h={class:`p-8 rounded-2xl border border-white/5`,style:{"background-color":`var(--bg-card)`}},g={class:`space-y-6`},_={class:`flex justify-between mb-1`},v={class:`text-gray-300 text-sm`},y={class:`text-white text-sm font-mono`},b={class:`w-full bg-gray-800 rounded-full h-2`},x={class:`rounded-3xl p-8 border border-white/5`,style:{"background-color":`rgba(23,23,23, 0.5)`}},S={class:`flex items-end justify-between h-48 gap-2 md:gap-4`},C={class:`w-full rounded-t-md relative h-32 group-hover:opacity-80 transition-all`,style:{"background-color":`rgba(36,135,254, 0.2)`}},w={class:`text-xs text-gray-500 mt-2`},T={id:`works`},E={class:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`},D={class:`relative w-full min-h-[300px] md:min-h-[400px] overflow-hidden`},O=[`src`,`alt`],k={class:`absolute bottom-0 left-0 w-full p-6 translate-y-4 group-hover:translate-y-0 transition-transform duration-300 bg-gradient-to-t from-black/80 to-transparent`},A={class:`text-xs font-bold mb-1`,style:{color:`var(--primary)`}},j={class:`text-2xl font-bold text-white mb-2`},M={class:`text-gray-400 text-sm line-clamp-2 opacity-0 group-hover:opacity-100 transition-opacity duration-300 delay-100`},N=u(i({__name:`YuanZeView`,setup(i){let u=[{name:`创意构思`,value:85},{name:`色彩运用`,value:90},{name:`构图能力`,value:88},{name:`细节处理`,value:82},{name:`风格多样性`,value:75},{name:`手绘技巧`,value:80}],N=[{label:`一月`,height:40},{label:`二月`,height:65},{label:`三月`,height:30},{label:`四月`,height:50},{label:`五月`,height:85},{label:`六月`,height:70}],P=[{src:`/Members/YuanZe/assets/img/A.jpg`,alt:`海`,category:`海`,title:`-`,desc:`-`},{src:`/Members/YuanZe/assets/img/B.jpg`,alt:`不思量,自难忘`,category:`角色原画`,title:`不思量,自难忘`,desc:`不思量,自难忘。晓窗凝雾,砚底余霜。旧箧犹存针线迹,残灯尚映锦书行。阶前梧叶,又落三分寒色;案上梅枝,空留半缕幽香。梦里相逢,仍著当时青衫;醒时对月,唯添两鬓秋霜。纵有千种风情,谁与共赏?漫将一杯浊酒,遥酹西窗。此生长夜,相思如织;寸寸柔肠,系于何方。`},{src:`/Members/YuanZe/assets/img/C.jpg`,alt:`头像`,category:`角色原画`,title:`头像`,desc:`-`},{src:`/Members/YuanZe/assets/img/D.png`,alt:`好大!`,category:`角色原画`,title:`好大!`,desc:`怎么这么大?...`},{src:`/Members/YuanZe/assets/img/E.jpg`,alt:`哈!`,category:`角色原画`,title:`哈!`,desc:`哈!`},{src:`/Members/YuanZe/assets/img/F.jpg`,alt:`马到福来,新年快乐!`,category:`海报设计`,title:`马到福来,新年吉祥!`,desc:`新年好!`},{src:`/Members/YuanZe/assets/img/H.jpg`,alt:`索尼相机爱好者`,category:`角色原画`,title:`索尼相机爱好者`,desc:`索尼相机是我最喜欢的相机,我非常喜欢它的照片质量。`}];return(i,F)=>(r(),l(`div`,d,[F[8]||=c(``,1),a(`main`,f,[F[6]||=c(` 原名赤砂,我专注于角色原画与概念设计,擅长创造生动有趣的视觉形象。作为美工部的一员,我致力于将创意转化为高质量的视觉作品,拥有扎实的色彩理论功底和图像处理能力。
角色设计 插画绘制 概念艺术
`,1),a(`section`,p,[F[2]||=a(`div`,{class:`text-center max-w-2xl mx-auto`},[a(`span`,{class:`text-sm font-bold tracking-widest uppercase`,style:{color:`var(--primary)`}},`Capabilities`),a(`h2`,{class:`text-4xl font-bold text-white mt-2`},`设计能力评估`),a(`p`,{class:`text-gray-400 mt-4`},`基于专业维度的自我量化评估,追求技术与艺术的平衡。`)],-1),a(`div`,m,[a(`div`,h,[F[0]||=a(`h3`,{class:`text-xl font-bold text-white mb-6 flex items-center gap-2`},[a(`i`,{class:`fa-solid fa-paintbrush`,style:{color:`var(--primary)`}}),o(` 核心技能 `)],-1),a(`div`,g,[(r(),l(s,null,e(u,(e,r)=>a(`div`,{key:e.name},[a(`div`,_,[a(`span`,v,n(e.name),1),a(`span`,y,n(e.value),1)]),a(`div`,b,[a(`div`,{class:`h-2 rounded-full animate-fill`,style:t({width:`${e.value}%`,background:`linear-gradient(90deg, var(--primary), #1a5cb8)`,animationDelay:`${r*.1}s`})},null,4)])])),64))])]),F[1]||=c(``,1)])]),a(`section`,x,[F[3]||=a(`h3`,{class:`text-xl font-bold text-white mb-8`},`月度作品完成趋势`,-1),a(`div`,S,[(r(),l(s,null,e(N,(e,r)=>a(`div`,{key:e.label,class:`w-full flex flex-col items-center group`},[a(`div`,C,[a(`div`,{class:`absolute bottom-0 w-full rounded-t-md`,style:t({height:`${e.height}%`,backgroundColor:`rgba(36,135,254, 0.8)`})},null,4)]),a(`span`,w,n(e.label),1)])),64))])]),a(`section`,T,[F[5]||=a(`div`,{class:`flex justify-between items-end mb-12`},[a(`div`,null,[a(`span`,{class:`text-sm font-bold tracking-widest uppercase`,style:{color:`var(--primary)`}},`Portfolio`),a(`h2`,{class:`text-4xl font-bold text-white mt-2`},`历史作品精选`)])],-1),a(`div`,E,[(r(),l(s,null,e(P,(e,t)=>a(`article`,{key:t,class:`group relative overflow-hidden rounded-2xl cursor-pointer`,style:{"background-color":`var(--bg-card)`}},[a(`div`,D,[a(`img`,{src:e.src,alt:e.alt,class:`absolute inset-0 w-full h-full object-contain transition-transform duration-700 group-hover:scale-105 opacity-80 group-hover:opacity-100`},null,8,O),F[4]||=a(`div`,{class:`absolute inset-0 bg-gradient-to-t from-black via-black/20 to-transparent opacity-90`},null,-1)]),a(`div`,k,[a(`div`,A,n(e.category),1),a(`h3`,j,n(e.title),1),a(`p`,M,n(e.desc),1)])])),64))])]),F[7]||=c(``,1)])]))}}),[[`__scopeId`,`data-v-f81f42f0`]]);export{N as default};
\ No newline at end of file
diff --git a/TempLate/assets/YuanZeView-CW5Nep9k.js b/TempLate/assets/YuanZeView-CW5Nep9k.js
new file mode 100644
index 00000000..6d897f8d
--- /dev/null
+++ b/TempLate/assets/YuanZeView-CW5Nep9k.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,h as o,l as s,m as c,p as l}from"./index-CJXuAy0L.js";import{t as u}from"./_plugin-vue_export-helper-BDNMzG2s.js";var d={class:`antialiased selection:bg-[#2487FE] selection:text-white yuanze-root`},f={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-20 space-y-32`},p={id:`skills`,class:`space-y-12`},m={class:`grid md:grid-cols-2 gap-8`},h={class:`p-8 rounded-2xl border border-white/5`,style:{"background-color":`var(--bg-card)`}},g={class:`space-y-6`},_={class:`flex justify-between mb-1`},v={class:`text-gray-300 text-sm`},y={class:`text-white text-sm font-mono`},b={class:`w-full bg-gray-800 rounded-full h-2`},x={class:`rounded-3xl p-8 border border-white/5`,style:{"background-color":`rgba(23,23,23, 0.5)`}},S={class:`flex items-end justify-between h-48 gap-2 md:gap-4`},C={class:`w-full rounded-t-md relative h-32 group-hover:opacity-80 transition-all`,style:{"background-color":`rgba(36,135,254, 0.2)`}},w={class:`text-xs text-gray-500 mt-2`},T={id:`works`},E={class:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`},D={class:`relative w-full min-h-[300px] md:min-h-[400px] overflow-hidden`},O=[`src`,`alt`],k={class:`absolute bottom-0 left-0 w-full p-6 translate-y-4 group-hover:translate-y-0 transition-transform duration-300 bg-gradient-to-t from-black/80 to-transparent`},A={class:`text-xs font-bold mb-1`,style:{color:`var(--primary)`}},j={class:`text-2xl font-bold text-white mb-2`},M={class:`text-gray-400 text-sm line-clamp-2 opacity-0 group-hover:opacity-100 transition-opacity duration-300 delay-100`},N=u(i({__name:`YuanZeView`,setup(i){let u=[{name:`创意构思`,value:85},{name:`色彩运用`,value:90},{name:`构图能力`,value:88},{name:`细节处理`,value:82},{name:`风格多样性`,value:75},{name:`手绘技巧`,value:80}],N=[{label:`一月`,height:40},{label:`二月`,height:65},{label:`三月`,height:30},{label:`四月`,height:50},{label:`五月`,height:85},{label:`六月`,height:70}],P=[{src:`/Members/YuanZe/assets/img/A.jpg`,alt:`海`,category:`海`,title:`-`,desc:`-`},{src:`/Members/YuanZe/assets/img/B.jpg`,alt:`不思量,自难忘`,category:`角色原画`,title:`不思量,自难忘`,desc:`不思量,自难忘。晓窗凝雾,砚底余霜。旧箧犹存针线迹,残灯尚映锦书行。阶前梧叶,又落三分寒色;案上梅枝,空留半缕幽香。梦里相逢,仍著当时青衫;醒时对月,唯添两鬓秋霜。纵有千种风情,谁与共赏?漫将一杯浊酒,遥酹西窗。此生长夜,相思如织;寸寸柔肠,系于何方。`},{src:`/Members/YuanZe/assets/img/C.jpg`,alt:`头像`,category:`角色原画`,title:`头像`,desc:`-`},{src:`/Members/YuanZe/assets/img/D.png`,alt:`好大!`,category:`角色原画`,title:`好大!`,desc:`怎么这么大?...`},{src:`/Members/YuanZe/assets/img/E.jpg`,alt:`哈!`,category:`角色原画`,title:`哈!`,desc:`哈!`},{src:`/Members/YuanZe/assets/img/F.jpg`,alt:`马到福来,新年快乐!`,category:`海报设计`,title:`马到福来,新年吉祥!`,desc:`新年好!`},{src:`/Members/YuanZe/assets/img/H.jpg`,alt:`索尼相机爱好者`,category:`角色原画`,title:`索尼相机爱好者`,desc:`索尼相机是我最喜欢的相机,我非常喜欢它的照片质量。`}];return(i,F)=>(r(),l(`div`,d,[F[8]||=c(``,1),a(`main`,f,[F[6]||=c(` 原名赤砂,我专注于角色原画与概念设计,擅长创造生动有趣的视觉形象。作为美工部的一员,我致力于将创意转化为高质量的视觉作品,拥有扎实的色彩理论功底和图像处理能力。
角色设计 插画绘制 概念艺术
`,1),a(`section`,p,[F[2]||=a(`div`,{class:`text-center max-w-2xl mx-auto`},[a(`span`,{class:`text-sm font-bold tracking-widest uppercase`,style:{color:`var(--primary)`}},`Capabilities`),a(`h2`,{class:`text-4xl font-bold text-white mt-2`},`设计能力评估`),a(`p`,{class:`text-gray-400 mt-4`},`基于专业维度的自我量化评估,追求技术与艺术的平衡。`)],-1),a(`div`,m,[a(`div`,h,[F[0]||=a(`h3`,{class:`text-xl font-bold text-white mb-6 flex items-center gap-2`},[a(`i`,{class:`fa-solid fa-paintbrush`,style:{color:`var(--primary)`}}),o(` 核心技能 `)],-1),a(`div`,g,[(r(),l(s,null,e(u,(e,r)=>a(`div`,{key:e.name},[a(`div`,_,[a(`span`,v,n(e.name),1),a(`span`,y,n(e.value),1)]),a(`div`,b,[a(`div`,{class:`h-2 rounded-full animate-fill`,style:t({width:`${e.value}%`,background:`linear-gradient(90deg, var(--primary), #1a5cb8)`,animationDelay:`${r*.1}s`})},null,4)])])),64))])]),F[1]||=c(``,1)])]),a(`section`,x,[F[3]||=a(`h3`,{class:`text-xl font-bold text-white mb-8`},`月度作品完成趋势`,-1),a(`div`,S,[(r(),l(s,null,e(N,(e,r)=>a(`div`,{key:e.label,class:`w-full flex flex-col items-center group`},[a(`div`,C,[a(`div`,{class:`absolute bottom-0 w-full rounded-t-md`,style:t({height:`${e.height}%`,backgroundColor:`rgba(36,135,254, 0.8)`})},null,4)]),a(`span`,w,n(e.label),1)])),64))])]),a(`section`,T,[F[5]||=a(`div`,{class:`flex justify-between items-end mb-12`},[a(`div`,null,[a(`span`,{class:`text-sm font-bold tracking-widest uppercase`,style:{color:`var(--primary)`}},`Portfolio`),a(`h2`,{class:`text-4xl font-bold text-white mt-2`},`历史作品精选`)])],-1),a(`div`,E,[(r(),l(s,null,e(P,(e,t)=>a(`article`,{key:t,class:`group relative overflow-hidden rounded-2xl cursor-pointer`,style:{"background-color":`var(--bg-card)`}},[a(`div`,D,[a(`img`,{src:e.src,alt:e.alt,class:`absolute inset-0 w-full h-full object-contain transition-transform duration-700 group-hover:scale-105 opacity-80 group-hover:opacity-100`},null,8,O),F[4]||=a(`div`,{class:`absolute inset-0 bg-gradient-to-t from-black via-black/20 to-transparent opacity-90`},null,-1)]),a(`div`,k,[a(`div`,A,n(e.category),1),a(`h3`,j,n(e.title),1),a(`p`,M,n(e.desc),1)])])),64))])]),F[7]||=c(``,1)])]))}}),[[`__scopeId`,`data-v-f81f42f0`]]);export{N as default};
\ No newline at end of file
diff --git a/TempLate/assets/YuanZeView-CpRsL4Ev.js b/TempLate/assets/YuanZeView-CpRsL4Ev.js
new file mode 100644
index 00000000..3aeb86a6
--- /dev/null
+++ b/TempLate/assets/YuanZeView-CpRsL4Ev.js
@@ -0,0 +1 @@
+import{C as e,M as t,N as n,S as r,_ as i,d as a,h as o,l as s,m as c,p as l}from"./index-BM-LFFI_.js";import{t as u}from"./_plugin-vue_export-helper-BDNMzG2s.js";var d={class:`antialiased selection:bg-[#2487FE] selection:text-white yuanze-root`},f={class:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-20 space-y-32`},p={id:`skills`,class:`space-y-12`},m={class:`grid md:grid-cols-2 gap-8`},h={class:`p-8 rounded-2xl border border-white/5`,style:{"background-color":`var(--bg-card)`}},g={class:`space-y-6`},_={class:`flex justify-between mb-1`},v={class:`text-gray-300 text-sm`},y={class:`text-white text-sm font-mono`},b={class:`w-full bg-gray-800 rounded-full h-2`},x={class:`rounded-3xl p-8 border border-white/5`,style:{"background-color":`rgba(23,23,23, 0.5)`}},S={class:`flex items-end justify-between h-48 gap-2 md:gap-4`},C={class:`w-full rounded-t-md relative h-32 group-hover:opacity-80 transition-all`,style:{"background-color":`rgba(36,135,254, 0.2)`}},w={class:`text-xs text-gray-500 mt-2`},T={id:`works`},E={class:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`},D={class:`relative w-full min-h-[300px] md:min-h-[400px] overflow-hidden`},O=[`src`,`alt`],k={class:`absolute bottom-0 left-0 w-full p-6 translate-y-4 group-hover:translate-y-0 transition-transform duration-300 bg-gradient-to-t from-black/80 to-transparent`},A={class:`text-xs font-bold mb-1`,style:{color:`var(--primary)`}},j={class:`text-2xl font-bold text-white mb-2`},M={class:`text-gray-400 text-sm line-clamp-2 opacity-0 group-hover:opacity-100 transition-opacity duration-300 delay-100`},N=u(i({__name:`YuanZeView`,setup(i){let u=[{name:`创意构思`,value:85},{name:`色彩运用`,value:90},{name:`构图能力`,value:88},{name:`细节处理`,value:82},{name:`风格多样性`,value:75},{name:`手绘技巧`,value:80}],N=[{label:`一月`,height:40},{label:`二月`,height:65},{label:`三月`,height:30},{label:`四月`,height:50},{label:`五月`,height:85},{label:`六月`,height:70}],P=[{src:`/Members/YuanZe/assets/img/A.jpg`,alt:`海`,category:`海`,title:`-`,desc:`-`},{src:`/Members/YuanZe/assets/img/B.jpg`,alt:`不思量,自难忘`,category:`角色原画`,title:`不思量,自难忘`,desc:`不思量,自难忘。晓窗凝雾,砚底余霜。旧箧犹存针线迹,残灯尚映锦书行。阶前梧叶,又落三分寒色;案上梅枝,空留半缕幽香。梦里相逢,仍著当时青衫;醒时对月,唯添两鬓秋霜。纵有千种风情,谁与共赏?漫将一杯浊酒,遥酹西窗。此生长夜,相思如织;寸寸柔肠,系于何方。`},{src:`/Members/YuanZe/assets/img/C.jpg`,alt:`头像`,category:`角色原画`,title:`头像`,desc:`-`},{src:`/Members/YuanZe/assets/img/D.png`,alt:`好大!`,category:`角色原画`,title:`好大!`,desc:`怎么这么大?...`},{src:`/Members/YuanZe/assets/img/E.jpg`,alt:`哈!`,category:`角色原画`,title:`哈!`,desc:`哈!`},{src:`/Members/YuanZe/assets/img/F.jpg`,alt:`马到福来,新年快乐!`,category:`海报设计`,title:`马到福来,新年吉祥!`,desc:`新年好!`},{src:`/Members/YuanZe/assets/img/H.jpg`,alt:`索尼相机爱好者`,category:`角色原画`,title:`索尼相机爱好者`,desc:`索尼相机是我最喜欢的相机,我非常喜欢它的照片质量。`}];return(i,F)=>(r(),l(`div`,d,[F[8]||=c(``,1),a(`main`,f,[F[6]||=c(` 原名赤砂,我专注于角色原画与概念设计,擅长创造生动有趣的视觉形象。作为美工部的一员,我致力于将创意转化为高质量的视觉作品,拥有扎实的色彩理论功底和图像处理能力。
角色设计 插画绘制 概念艺术
`,1),a(`section`,p,[F[2]||=a(`div`,{class:`text-center max-w-2xl mx-auto`},[a(`span`,{class:`text-sm font-bold tracking-widest uppercase`,style:{color:`var(--primary)`}},`Capabilities`),a(`h2`,{class:`text-4xl font-bold text-white mt-2`},`设计能力评估`),a(`p`,{class:`text-gray-400 mt-4`},`基于专业维度的自我量化评估,追求技术与艺术的平衡。`)],-1),a(`div`,m,[a(`div`,h,[F[0]||=a(`h3`,{class:`text-xl font-bold text-white mb-6 flex items-center gap-2`},[a(`i`,{class:`fa-solid fa-paintbrush`,style:{color:`var(--primary)`}}),o(` 核心技能 `)],-1),a(`div`,g,[(r(),l(s,null,e(u,(e,r)=>a(`div`,{key:e.name},[a(`div`,_,[a(`span`,v,n(e.name),1),a(`span`,y,n(e.value),1)]),a(`div`,b,[a(`div`,{class:`h-2 rounded-full animate-fill`,style:t({width:`${e.value}%`,background:`linear-gradient(90deg, var(--primary), #1a5cb8)`,animationDelay:`${r*.1}s`})},null,4)])])),64))])]),F[1]||=c(``,1)])]),a(`section`,x,[F[3]||=a(`h3`,{class:`text-xl font-bold text-white mb-8`},`月度作品完成趋势`,-1),a(`div`,S,[(r(),l(s,null,e(N,(e,r)=>a(`div`,{key:e.label,class:`w-full flex flex-col items-center group`},[a(`div`,C,[a(`div`,{class:`absolute bottom-0 w-full rounded-t-md`,style:t({height:`${e.height}%`,backgroundColor:`rgba(36,135,254, 0.8)`})},null,4)]),a(`span`,w,n(e.label),1)])),64))])]),a(`section`,T,[F[5]||=a(`div`,{class:`flex justify-between items-end mb-12`},[a(`div`,null,[a(`span`,{class:`text-sm font-bold tracking-widest uppercase`,style:{color:`var(--primary)`}},`Portfolio`),a(`h2`,{class:`text-4xl font-bold text-white mt-2`},`历史作品精选`)])],-1),a(`div`,E,[(r(),l(s,null,e(P,(e,t)=>a(`article`,{key:t,class:`group relative overflow-hidden rounded-2xl cursor-pointer`,style:{"background-color":`var(--bg-card)`}},[a(`div`,D,[a(`img`,{src:e.src,alt:e.alt,class:`absolute inset-0 w-full h-full object-contain transition-transform duration-700 group-hover:scale-105 opacity-80 group-hover:opacity-100`},null,8,O),F[4]||=a(`div`,{class:`absolute inset-0 bg-gradient-to-t from-black via-black/20 to-transparent opacity-90`},null,-1)]),a(`div`,k,[a(`div`,A,n(e.category),1),a(`h3`,j,n(e.title),1),a(`p`,M,n(e.desc),1)])])),64))])]),F[7]||=c(``,1)])]))}}),[[`__scopeId`,`data-v-f81f42f0`]]);export{N as default};
\ No newline at end of file
diff --git a/TempLate/assets/YuanZeView-DerCM5zY.css b/TempLate/assets/YuanZeView-DerCM5zY.css
new file mode 100644
index 00000000..e98c6aef
--- /dev/null
+++ b/TempLate/assets/YuanZeView-DerCM5zY.css
@@ -0,0 +1 @@
+.yuanze-root[data-v-f81f42f0]{--primary:#2487fe;--primary-hover:#1a6fd4;--bg-dark:#050505;--bg-card:#171717;--bg-card-hover:#1f1f1f;--text-main:#e5e5e5;--text-muted:#a3a3a3;--text-dark:#262626;background-color:var(--bg-dark);color:var(--text-main)}.yuanze-root[data-v-f81f42f0]:before,.yuanze-root[data-v-f81f42f0]:after{background:0 0;content:""!important;background-color:var(--bg-dark)!important;color:var(--text-main)!important;will-change:none!important;animation:none!important}.hero-overlay[data-v-f81f42f0]{background:linear-gradient(#05050500 0,#050505cc 70%,#050505 100%)}[data-v-f81f42f0]::-webkit-scrollbar{width:8px}[data-v-f81f42f0]::-webkit-scrollbar-track{background:#0a0a0a}[data-v-f81f42f0]::-webkit-scrollbar-thumb{background:#333;border-radius:4px}[data-v-f81f42f0]::-webkit-scrollbar-thumb:hover{background:var(--primary)}.hover-glow[data-v-f81f42f0]{transition:all .3s}.hover-glow[data-v-f81f42f0]:hover{border-color:#2487fe66;transform:translateY(-2px);box-shadow:0 0 15px #2487fe33}@keyframes fillBar-f81f42f0{0%{width:0}}.animate-fill[data-v-f81f42f0]{animation:1.5s ease-out forwards fillBar-f81f42f0}
diff --git a/TempLate/assets/_plugin-vue_export-helper-BDNMzG2s.js b/TempLate/assets/_plugin-vue_export-helper-BDNMzG2s.js
new file mode 100644
index 00000000..4374bdd0
--- /dev/null
+++ b/TempLate/assets/_plugin-vue_export-helper-BDNMzG2s.js
@@ -0,0 +1 @@
+var e=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n};export{e as t};
\ No newline at end of file
diff --git a/TempLate/assets/fa-brands-400-Bs6tcqqs.woff2 b/TempLate/assets/fa-brands-400-Bs6tcqqs.woff2
new file mode 100644
index 00000000..e5b3ce08
Binary files /dev/null and b/TempLate/assets/fa-brands-400-Bs6tcqqs.woff2 differ
diff --git a/TempLate/assets/fa-regular-400-DRN8N0d1.woff2 b/TempLate/assets/fa-regular-400-DRN8N0d1.woff2
new file mode 100644
index 00000000..d470bd17
Binary files /dev/null and b/TempLate/assets/fa-regular-400-DRN8N0d1.woff2 differ
diff --git a/TempLate/assets/fa-solid-900-IAB4Droh.woff2 b/TempLate/assets/fa-solid-900-IAB4Droh.woff2
new file mode 100644
index 00000000..3ffbb19e
Binary files /dev/null and b/TempLate/assets/fa-solid-900-IAB4Droh.woff2 differ
diff --git a/TempLate/assets/fa-v4compatibility-CErXDOsT.woff2 b/TempLate/assets/fa-v4compatibility-CErXDOsT.woff2
new file mode 100644
index 00000000..971a2b32
Binary files /dev/null and b/TempLate/assets/fa-v4compatibility-CErXDOsT.woff2 differ
diff --git a/TempLate/assets/index-Bd3SMxBK.css b/TempLate/assets/index-Bd3SMxBK.css
new file mode 100644
index 00000000..221a83cc
--- /dev/null
+++ b/TempLate/assets/index-Bd3SMxBK.css
@@ -0,0 +1,2 @@
+/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
+@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-orange-50:oklch(98% .016 73.684);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-800:oklch(47.3% .137 46.201);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-900:oklch(42.1% .095 57.708);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-teal-50:oklch(98.4% .014 180.72);--color-teal-100:oklch(95.3% .051 180.801);--color-teal-600:oklch(60% .118 184.704);--color-cyan-50:oklch(98.4% .019 200.873);--color-cyan-100:oklch(95.6% .045 203.388);--color-cyan-200:oklch(91.7% .08 205.041);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-cyan-600:oklch(60.9% .126 221.723);--color-cyan-700:oklch(52% .105 223.128);--color-cyan-800:oklch(45% .085 224.283);--color-cyan-900:oklch(39.8% .07 227.392);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-100:oklch(95.1% .026 236.824);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-500:oklch(68.5% .169 237.323);--color-sky-600:oklch(58.8% .158 241.966);--color-sky-700:oklch(50% .134 242.749);--color-sky-900:oklch(39.1% .09 240.876);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-blue-950:oklch(28.2% .091 267.935);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-200:oklch(87% .065 274.039);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-800:oklch(39.8% .195 277.366);--color-violet-50:oklch(96.9% .016 293.756);--color-violet-100:oklch(94.3% .029 294.588);--color-violet-200:oklch(89.4% .057 293.283);--color-violet-300:oklch(81.1% .111 293.571);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-violet-600:oklch(54.1% .281 293.009);--color-violet-700:oklch(49.1% .27 292.581);--color-violet-800:oklch(43.2% .232 292.759);--color-violet-900:oklch(38% .189 293.745);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-900:oklch(38.1% .176 304.987);--color-pink-50:oklch(97.1% .014 343.198);--color-pink-100:oklch(94.8% .028 342.258);--color-pink-400:oklch(71.8% .202 349.761);--color-pink-500:oklch(65.6% .241 354.308);--color-pink-600:oklch(59.2% .249 .584);--color-rose-500:oklch(64.5% .246 16.439);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-gray-950:oklch(13% .028 261.692);--color-neutral-100:oklch(97% 0 none);--color-neutral-200:oklch(92.2% 0 none);--color-neutral-300:oklch(87% 0 none);--color-neutral-400:oklch(70.8% 0 none);--color-neutral-500:oklch(55.6% 0 none);--color-neutral-600:oklch(43.9% 0 none);--color-neutral-700:oklch(37.1% 0 none);--color-neutral-800:oklch(26.9% 0 none);--color-neutral-900:oklch(20.5% 0 none);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-8xl:6rem;--text-8xl--line-height:1;--text-9xl:8rem;--text-9xl--line-height:1;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--leading-loose:2;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--drop-shadow-lg:0 4px 4px #00000026;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-md:12px;--blur-3xl:64px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary:#1e40af;--color-secondary:#3b82f6;--color-sidebar:#f0f5ff;--color-win-light:silver;--color-tetris-blue:#06c;--color-tetris-light:#66b2ff;--color-tetris-dark:#036;--color-text-primary:#1a1a1a;--color-text-secondary:#666;--color-text-hint:#999;--color-neutral:#f3f4f6;--color-accent:#f59e0b}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,sans-serif;overflow-x:hidden}.nav-scrolled{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#000000f2;box-shadow:0 2px 10px #ffffff1a}.chart-container{width:100%;height:350px;position:relative}iframe{transition:opacity .5s}.group:hover iframe{opacity:1}html{scroll-behavior:smooth}button{transition:all .3s cubic-bezier(.4,0,.2,1)}button:hover{transform:translateY(-2px)}.card-hover{transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.card-hover:hover{transform:translateY(-6px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}@layer base{body{will-change:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;margin:0;padding:0;transform:none}}body:before{content:"";z-index:-2;pointer-events:none;will-change:background-position;background:linear-gradient(-45deg,#fff,#fcfeff,#eff6ff,#d9d9ff) 0 0/400% 400%;width:100vw;height:100vh;animation:20s infinite gradientFlow;position:fixed;top:0;left:0}body:after{content:"";z-index:-1;pointer-events:none;will-change:background-position;background-color:#0000;background-image:radial-gradient(circle at 20% 80%,#7877c633 0,#0000 50%),radial-gradient(circle at 80% 20%,#ff77c633 0,#0000 50%),radial-gradient(circle at 40% 40%,#78dbff33 0,#0000 50%);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:150% 150%;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;width:100vw;height:100vh;animation:20s infinite particleFlow;position:fixed;top:0;left:0}@keyframes gradientFlow{0%{background-position:0}25%{background-position:100%}50%{background-position:100% 100%}75%{background-position:0 100%}to{background-position:0}}@keyframes particleFlow{0%{background-position:0 0}25%{background-position:50% 100%}50%{background-position:100% 100%}75%{background-position:50% 0}to{background-position:0 0}}@layer utilities{.float-fix{backface-visibility:hidden;perspective:1000px;will-change:transform;position:relative;transform:translateZ(0)}}@property --angle{syntax:"";inherits:false;initial-value:0deg}@keyframes sendBtnGradientRotate{0%{--angle:0deg}7.14%{--angle:21.8deg}42.86%{--angle:158.2deg}57.14%{--angle:201.8deg}92.86%{--angle:338.2deg}to{--angle:360deg}}.sendBtn{background:linear-gradient(var(--angle),#47c0ff -18.45%,#0094ff 17.73%,#836cff 39.48%,#ff56f2 74.15%,#ffb75c 93.09%);animation:5s linear infinite sendBtnGradientRotate}@font-face{font-family:DIN Condensed;font-style:normal;font-weight:700;font-display:fallback;src:url(https://cdn.marmot-cloud.com/storage/zenmux/2025/09/03/XH4qEdP/DIN_Condensed-Bold.woff2)format("woff2"),local(DIN Condensed Bold),local(DINCondensed-Bold);unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Serif;font-style:normal;font-weight:300;font-display:fallback;src:url(https://cdn.marmot-cloud.com/storage/zenmux/2026/01/30/3TdWyBD/NotoSerif-Light.ttf)format("truetype")}@font-face{font-family:Noto Serif;font-style:normal;font-weight:500;font-display:fallback;src:url(https://cdn.marmot-cloud.com/storage/zenmux/2026/01/30/csSK6pH/NotoSerif-Regular.ttf)format("truetype")}@font-face{font-family:Noto Serif;font-style:normal;font-weight:700;font-display:fallback;src:url(https://cdn.marmot-cloud.com/storage/zenmux/2026/01/30/qSZwJRf/NotoSerif-SemiBold.ttf)format("truetype")}.noto-serif{font-feature-settings:"kern"1;text-rendering:optimizelegibility;font-family:Noto Serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.noto-serif-stable{font-size-adjust:.5;letter-spacing:.01em;font-family:Noto Serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.M-FlipCard{width:48px;height:68px;font-family:DIN Condensed,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:66px;font-weight:700;font-style:bold;letter-spacing:0%;text-align:center;color:#000;border-radius:5px;font-size:70px;line-height:1.23;display:inline-block;position:relative;box-shadow:0 1px 1px #0000001a}.M-FlipCard.flip-win{line-height:68px}.M-FlipCard.flip-win .digital:before{line-height:70px}.M-FlipCard.flip-win .digital:after{line-height:3px}.M-FlipCard .digital:before,.M-FlipCard .digital:after{content:"";box-sizing:border-box;font-family:inherit;font-weight:inherit;font-size:inherit;background:#fff;position:absolute;left:0;right:0;overflow:hidden}.M-FlipCard .digital:before{border-bottom:1px solid #e6e6e6;border-radius:5px 5px 0 0;top:0;bottom:50%}.M-FlipCard .digital:after{border-radius:0 0 5px 5px;line-height:.3;top:50%;bottom:0}.M-FlipCard.down .front:before{z-index:3}.M-FlipCard.down .back:after{z-index:2;transform-origin:50% 0;transform:perspective(160px)rotateX(180deg)}.M-FlipCard.down .front:after,.M-FlipCard.down .back:before{z-index:1}.M-FlipCard.down.go .front:before{transform-origin:50% 100%;-webkit-animation:frontFlipDown var(--flipduration)linear both;animation:frontFlipDown var(--flipduration)linear both;backface-visibility:hidden;box-shadow:0 -2px 6px #ffffff4d}.M-FlipCard.down.go .back:after{-webkit-animation:backFlipDown var(--flipduration)linear both;animation:backFlipDown var(--flipduration)linear both}.M-FlipCard.up .front:after{z-index:3}.M-FlipCard.up .back:before{z-index:2;transform-origin:50% 100%;transform:perspective(160px)rotateX(-180deg)}.M-FlipCard.up .front:before,.M-FlipCard.up .back:after{z-index:1}.M-FlipCard.up.go .front:after{transform-origin:50% 0;-webkit-animation:frontFlipUp var(--flipduration)linear both;animation:frontFlipUp var(--flipduration)linear both;backface-visibility:hidden;box-shadow:0 2px 6px #ffffff4d}.M-FlipCard.up.go .back:before{-webkit-animation:backFlipUp var(--flipduration)linear both;animation:backFlipUp var(--flipduration)linear both}@keyframes frontFlipDown{0%{background-color:#fff;transform:perspective(160px)rotateX(0)}50%{background-color:#f5f5f5;transform:perspective(160px)rotateX(-90deg)}to{background-color:#fff;transform:perspective(160px)rotateX(-180deg)}}@keyframes backFlipDown{0%{background-color:#fff;transform:perspective(160px)rotateX(180deg)}50%{background-color:#f5f5f5;transform:perspective(160px)rotateX(90deg)}to{background-color:#fff;transform:perspective(160px)rotateX(0)}}@keyframes frontFlipUp{0%{transform:perspective(160px)rotateX(0)}to{transform:perspective(160px)rotateX(180deg)}}@keyframes backFlipUp{0%{transform:perspective(160px)rotateX(-180deg)}to{transform:perspective(160px)rotateX(0)}}.M-FlipCard .number0:before,.M-FlipCard .number0:after{content:"0"}.M-FlipCard .number1:before,.M-FlipCard .number1:after{content:"1"}.M-FlipCard .number2:before,.M-FlipCard .number2:after{content:"2"}.M-FlipCard .number3:before,.M-FlipCard .number3:after{content:"3"}.M-FlipCard .number4:before,.M-FlipCard .number4:after{content:"4"}.M-FlipCard .number5:before,.M-FlipCard .number5:after{content:"5"}.M-FlipCard .number6:before,.M-FlipCard .number6:after{content:"6"}.M-FlipCard .number7:before,.M-FlipCard .number7:after{content:"7"}.M-FlipCard .number8:before,.M-FlipCard .number8:after{content:"8"}.M-FlipCard .number9:before,.M-FlipCard .number9:after{content:"9"}html[data-theme-mode=dark] .M-FlipCard{color:#fff}html[data-theme-mode=dark] .M-FlipCard .digital:before,html[data-theme-mode=dark] .M-FlipCard .digital:after{background:#333}html[data-theme-mode=dark] .M-FlipCard .digital:before{border-bottom-color:#444}@keyframes frontFlipDownDark{0%{background-color:#333;transform:perspective(160px)rotateX(0)}50%{background-color:#2a2a2a;transform:perspective(160px)rotateX(-90deg)}to{background-color:#333;transform:perspective(160px)rotateX(-180deg)}}@keyframes backFlipDownDark{0%{background-color:#333;transform:perspective(160px)rotateX(180deg)}50%{background-color:#2a2a2a;transform:perspective(160px)rotateX(90deg)}to{background-color:#333;transform:perspective(160px)rotateX(0)}}.blurry{-webkit-backdrop-filter:blur(6px);box-sizing:border-box;background:#00000047;border-radius:14px}@media (width<=767px){.hero-headline{-webkit-backdrop-filter:blur(6px);box-sizing:border-box;background:#00000047;border-radius:14px;width:calc(100vw - 32px);padding:14px 16px 12px}.hero-headline h1{padding-left:0!important;padding-right:0!important}.hero-input-wrap{box-sizing:border-box;width:100%}.sendBtn>div{white-space:nowrap}}@media (width<=639px){.hero-actions{position:relative}.hero-actions a{width:100%}.hero-actions a button{border-radius:10px;height:48px;font-size:15px}}@media (width<=767px){.hero-stats{display:none!important}}@media (width<=374px){.hero-headline{padding:10px 12px}.hero-actions a button{height:44px;font-size:14px}}html{--sb-size:6px;--sb-track:transparent;--sb-thumb-blend:difference;--sb-thumb-color:#c8c8c880;--sb-thumb-hover:#fffc}html,body,*{scrollbar-width:thin;scrollbar-color:#8080804d transparent}:root{--sb-size:6px;--sb-track:transparent;--sb-thumb-color:#9ca3af26;--sb-thumb-blend:overlay;--sb-thumb-hover:#9ca3af4d;--text-color:#323130;--card-bg:#ffffffd9;--border-color:#0000001a;--primary-color:#0078d4;--primary-hover:#106ebe;--secondary-bg:#e1dfdd;--secondary-hover:#d2d0ce;--font-family:"Segoe UI Variable", "Segoe UI", system-ui, -apple-system, sans-serif}.GCookie_MainContent{text-align:center}.GCookie_MainContent h1{font-size:2.5rem;font-weight:600}.GCookie_MainContent p{color:#605e5c;font-size:1.1rem}.c-furry.GCookie_Hidden{opacity:0;pointer-events:none;position:absolute;transform:scale(.95)}.GCookie_Btn{font-size:1rem;font-family:var(--font-family);cursor:pointer;border:none;border-radius:6px;padding:.6rem 1.2rem;transition:background-color .2s,transform .1s}.GCookie_Btn:hover{transform:translateY(-2px)}.GCookie_Btn:active{transform:translateY(0)}.GCookie_BtnPrimary{background-color:var(--primary-color);color:#fff}.GCookie_BtnPrimary:hover{background-color:var(--primary-hover)}.GCookie_BtnSecondary{background-color:var(--secondary-bg);color:var(--text-color)}.GCookie_BtnSecondary:hover{background-color:var(--secondary-hover)}#GCookie_CookieBanner{background-color:var(--card-bg);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border-color);z-index:1000;opacity:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 2rem;transition:transform .4s cubic-bezier(.25,.46,.45,.94),opacity .4s;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -8px 32px #0000001a}#GCookie_CookieBanner.GCookie_Show{opacity:1;transform:translateY(0)}#GCookie_CookieBanner .GCookie_BannerText{color:#000;flex-grow:1;margin-right:1rem}#GCookie_CookieBanner .GCookie_BannerButtons{flex-wrap:wrap;gap:.8rem;display:flex}#GCookie_CookieSettingsModal{z-index:2000;opacity:0;pointer-events:none;background-color:#00000080;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .3s;display:flex;position:fixed;top:0;left:0}#GCookie_CookieSettingsModal.GCookie_Show{opacity:1;pointer-events:auto}.GCookie_ModalContent{background-color:var(--card-bg);-webkit-backdrop-filter:blur(20px);border-radius:12px;width:90%;max-width:500px;max-height:80vh;padding:2rem;transition:transform .3s;overflow-y:auto;transform:scale(.9);box-shadow:0 12px 48px #0003}#GCookie_CookieSettingsModal.GCookie_Show .GCookie_ModalContent{transform:scale(1)}.GCookie_ModalHeader{color:#000;justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.GCookie_ModalHeader h2{margin:0;font-size:1.5rem;font-weight:600}.GCookie_ModalBody{color:#000}.GCookie_CloseBtn{color:#605e5c;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:1.5rem;transition:background-color .2s;display:flex}.GCookie_CloseBtn:hover{background-color:var(--secondary-bg)}.GCookie_SettingItem{margin-bottom:1.5rem}.GCookie_SettingItem label{cursor:pointer;align-items:center;font-size:1rem;display:flex}.GCookie_Switch{width:50px;height:24px;margin-left:1rem;display:inline-block;position:relative}.GCookie_Switch input{opacity:0;width:0;height:0}.GCookie_Slider{cursor:pointer;background-color:#ccc;border-radius:24px;transition:all .4s;position:absolute;inset:0}.GCookie_Slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .4s;position:absolute;bottom:3px;left:3px}input:checked+.GCookie_Slider{background-color:var(--primary-color)}input:checked+.GCookie_Slider:before{transform:translate(26px)}.GCookie_ModalFooter{justify-content:flex-end;margin-top:2rem;display:flex}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.-inset-4{inset:calc(var(--spacing) * -4)}.inset-0{inset:0}.inset-2{inset:calc(var(--spacing) * 2)}.inset-y-0{inset-block:0}.-top-3{top:calc(var(--spacing) * -3)}.-top-4{top:calc(var(--spacing) * -4)}.-top-10{top:calc(var(--spacing) * -10)}.-top-16{top:calc(var(--spacing) * -16)}.-top-20{top:calc(var(--spacing) * -20)}.-top-32{top:calc(var(--spacing) * -32)}.top-0{top:0}.top-1\/2{top:50%}.top-1\/3{top:33.3333%}.top-1\/4{top:25%}.top-2{top:calc(var(--spacing) * 2)}.top-2\/3{top:66.6667%}.top-3{top:calc(var(--spacing) * 3)}.top-3\/4{top:75%}.top-5{top:calc(var(--spacing) * 5)}.top-6{top:calc(var(--spacing) * 6)}.top-10{top:calc(var(--spacing) * 10)}.top-12{top:calc(var(--spacing) * 12)}.top-16{top:calc(var(--spacing) * 16)}.top-\[12\.5\%\]{top:12.5%}.top-\[20\%\]{top:20%}.top-full{top:100%}.-right-3{right:calc(var(--spacing) * -3)}.-right-4{right:calc(var(--spacing) * -4)}.-right-10{right:calc(var(--spacing) * -10)}.-right-20{right:calc(var(--spacing) * -20)}.-right-32{right:calc(var(--spacing) * -32)}.right-0{right:0}.right-1\/3{right:33.3333%}.right-1\/4{right:25%}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-6{right:calc(var(--spacing) * 6)}.right-8{right:calc(var(--spacing) * 8)}.right-10{right:calc(var(--spacing) * 10)}.right-12{right:calc(var(--spacing) * 12)}.right-\[5\%\]{right:5%}.right-\[8\%\]{right:8%}.right-\[15\%\]{right:15%}.right-\[20px\]{right:20px}.-bottom-2{bottom:calc(var(--spacing) * -2)}.-bottom-3{bottom:calc(var(--spacing) * -3)}.-bottom-4{bottom:calc(var(--spacing) * -4)}.-bottom-8{bottom:calc(var(--spacing) * -8)}.-bottom-10{bottom:calc(var(--spacing) * -10)}.-bottom-14{bottom:calc(var(--spacing) * -14)}.-bottom-16{bottom:calc(var(--spacing) * -16)}.-bottom-32{bottom:calc(var(--spacing) * -32)}.bottom-0{bottom:0}.bottom-1\/3{bottom:33.3333%}.bottom-1\/4{bottom:25%}.bottom-2{bottom:calc(var(--spacing) * 2)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-6{bottom:calc(var(--spacing) * 6)}.bottom-10{bottom:calc(var(--spacing) * 10)}.bottom-12{bottom:calc(var(--spacing) * 12)}.bottom-\[10px\]{bottom:10px}.bottom-\[20\%\]{bottom:20%}.-left-3{left:calc(var(--spacing) * -3)}.-left-4{left:calc(var(--spacing) * -4)}.-left-8{left:calc(var(--spacing) * -8)}.-left-16{left:calc(var(--spacing) * -16)}.-left-20{left:calc(var(--spacing) * -20)}.-left-32{left:calc(var(--spacing) * -32)}.left-0{left:0}.left-1\/2{left:50%}.left-1\/3{left:33.3333%}.left-1\/4{left:25%}.left-2\/3{left:66.6667%}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.left-6{left:calc(var(--spacing) * 6)}.left-8{left:calc(var(--spacing) * 8)}.left-10{left:calc(var(--spacing) * 10)}.left-12{left:calc(var(--spacing) * 12)}.left-\[5\%\]{left:5%}.left-\[8\%\]{left:8%}.left-\[15\%\]{left:15%}.-z-10{z-index:calc(10 * -1)}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[1\]{z-index:1}.order-1{order:1}.order-2{order:2}.order-3{order:3}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.col-start-4{grid-column-start:4}.col-start-5{grid-column-start:5}.col-start-6{grid-column-start:6}.col-start-7{grid-column-start:7}.col-start-8{grid-column-start:8}.row-span-1{grid-row:span 1/span 1}.row-span-2{grid-row:span 2/span 2}.row-span-4{grid-row:span 4/span 4}.row-start-1{grid-row-start:1}.row-start-3{grid-row-start:3}.row-start-5{grid-row-start:5}.row-start-6{grid-row-start:6}.row-start-7{grid-row-start:7}.row-start-8{grid-row-start:8}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-0{margin:0}.-mx-8{margin-inline:calc(var(--spacing) * -8)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.my-0{margin-block:0}.my-1{margin-block:var(--spacing)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-4{margin-block:calc(var(--spacing) * 4)}.my-6{margin-block:calc(var(--spacing) * 6)}.my-14{margin-block:calc(var(--spacing) * 14)}.-mt-20{margin-top:calc(var(--spacing) * -20)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mt-20{margin-top:calc(var(--spacing) * 20)}.mt-\[40px\]{margin-top:40px}.mt-auto{margin-top:auto}.-mr-20{margin-right:calc(var(--spacing) * -20)}.mr-1{margin-right:var(--spacing)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-3{margin-right:calc(var(--spacing) * 3)}.mr-4{margin-right:calc(var(--spacing) * 4)}.-mb-20{margin-bottom:calc(var(--spacing) * -20)}.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-7{margin-bottom:calc(var(--spacing) * 7)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.mb-14{margin-bottom:calc(var(--spacing) * 14)}.mb-16{margin-bottom:calc(var(--spacing) * 16)}.mb-20{margin-bottom:calc(var(--spacing) * 20)}.mb-32{margin-bottom:calc(var(--spacing) * 32)}.mb-\[8px\]{margin-bottom:8px}.\!ml-0{margin-left:0!important}.-ml-20{margin-left:calc(var(--spacing) * -20)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-6{margin-left:calc(var(--spacing) * 6)}.ml-8{margin-left:calc(var(--spacing) * 8)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.aspect-\[16\/9\]{aspect-ratio:16/9}.aspect-\[17\/22\]{aspect-ratio:17/22}.aspect-square{aspect-ratio:1}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-28{height:calc(var(--spacing) * 28)}.h-32{height:calc(var(--spacing) * 32)}.h-40{height:calc(var(--spacing) * 40)}.h-48{height:calc(var(--spacing) * 48)}.h-56{height:calc(var(--spacing) * 56)}.h-64{height:calc(var(--spacing) * 64)}.h-72{height:calc(var(--spacing) * 72)}.h-80{height:calc(var(--spacing) * 80)}.h-96{height:calc(var(--spacing) * 96)}.h-\[18px\]{height:18px}.h-\[22px\]{height:22px}.h-\[35vh\]{height:35vh}.h-\[40vh\]{height:40vh}.h-\[44px\]{height:44px}.h-\[60vh\]{height:60vh}.h-\[80vh\]{height:80vh}.h-\[85vh\]{height:85vh}.h-\[100px\]{height:100px}.h-\[100vh\]{height:100vh}.h-\[180px\]{height:180px}.h-\[400px\]{height:400px}.h-\[800px\]{height:800px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[70vh\]{max-height:70vh}.max-h-\[85vh\]{max-height:85vh}.min-h-\[60vh\]{min-height:60vh}.min-h-\[80vh\]{min-height:80vh}.min-h-\[300px\]{min-height:300px}.min-h-screen{min-height:100vh}.w-0{width:0}.w-0\.5{width:calc(var(--spacing) * .5)}.w-1{width:var(--spacing)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-1\/2{width:50%}.w-1\/3{width:33.3333%}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-4\/5{width:80%}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-40{width:calc(var(--spacing) * 40)}.w-48{width:calc(var(--spacing) * 48)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-96{width:calc(var(--spacing) * 96)}.w-\[1px\]{width:1px}.w-\[15\%\]{width:15%}.w-\[18px\]{width:18px}.w-\[35vh\]{width:35vh}.w-\[180px\]{width:180px}.w-\[260px\]{width:260px}.w-\[280px\]{width:280px}.w-\[320px\]{width:320px}.w-\[800px\]{width:800px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[24px\]{max-width:24px}.max-w-\[28px\]{max-width:28px}.max-w-\[40px\]{max-width:40px}.max-w-\[80\%\]{max-width:80%}.max-w-\[85\%\]{max-width:85%}.max-w-\[160px\]{max-width:160px}.max-w-\[240px\]{max-width:240px}.max-w-\[700px\]{max-width:700px}.max-w-\[800px\]{max-width:800px}.max-w-\[850px\]{max-width:850px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-\[150px\]{min-width:150px}.min-w-\[160px\]{min-width:160px}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.origin-left{transform-origin:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-1\/2{--tw-translate-x:calc(1 / 2 * 100%);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-2{--tw-translate-x:calc(var(--spacing) * 2);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[-20px\]{--tw-translate-x:-20px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[20px\]{--tw-translate-x:20px;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/4{--tw-translate-y:calc(calc(1 / 4 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-0{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-4{--tw-translate-y:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-full{--tw-translate-y:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-\[0\.65\]{scale:.65}.-rotate-90{rotate:-90deg}.rotate-1{rotate:1deg}.rotate-6{rotate:6deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\[gradientAnimation_15s_ease_infinite\]{animation:15s infinite gradientAnimation}.animate-\[spin_10s_linear_infinite\]{animation:10s linear infinite spin}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid-rows-8{grid-template-rows:repeat(8,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.content-center{align-content:center}.content-start{align-content:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-around{justify-content:space-around}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:0}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-12{gap:calc(var(--spacing) * 12)}.gap-16{gap:calc(var(--spacing) * 16)}.gap-\[3px\]{gap:3px}.gap-\[10px\]{gap:10px}.gap-px{gap:1px}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-32>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 32) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 32) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 6) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 8) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-x-reverse)))}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-5{row-gap:calc(var(--spacing) * 5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[12px\]{border-radius:12px}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.\!rounded-t-none{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.rounded-t-md{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.rounded-t-xl{border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}.rounded-l-lg{border-top-left-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.rounded-tl-lg{border-top-left-radius:var(--radius-lg)}.rounded-r-lg{border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.rounded-tr-lg{border-top-right-radius:var(--radius-lg)}.rounded-bl-3xl{border-bottom-left-radius:var(--radius-3xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-3{border-style:var(--tw-border-style);border-width:3px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.\!border-t-0{border-top-style:var(--tw-border-style)!important;border-top-width:0!important}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-t-4{border-top-style:var(--tw-border-style);border-top-width:4px}.border-r-2{border-right-style:var(--tw-border-style);border-right-width:2px}.border-r-4{border-right-style:var(--tw-border-style);border-right-width:4px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-b-4{border-bottom-style:var(--tw-border-style);border-bottom-width:4px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.\!border-none{--tw-border-style:none!important;border-style:none!important}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.\!border-transparent{border-color:#0000!important}.border-\[\#1F2329\]{border-color:#1f2329}.border-\[\#36CFC9\]{border-color:#36cfc9}.border-\[\#165DFF\]{border-color:#165dff}.border-\[\#722ED1\]{border-color:#722ed1}.border-\[\#E5E7EB\]{border-color:#e5e7eb}.border-\[\#d1c4ce\]{border-color:#d1c4ce}.border-\[\#d1c4ce\]\/30{border-color:oklab(83.3896% .0177608 -.00884682/.3)}.border-\[\#d1c4ce\]\/50{border-color:oklab(83.3896% .0177608 -.00884682/.5)}.border-amber-200\/60{border-color:#fee68599}@supports (color:color-mix(in lab, red, red)){.border-amber-200\/60{border-color:color-mix(in oklab, var(--color-amber-200) 60%, transparent)}}.border-blue-100{border-color:var(--color-blue-100)}.border-blue-300{border-color:var(--color-blue-300)}.border-blue-400{border-color:var(--color-blue-400)}.border-blue-400\/30{border-color:#54a2ff4d}@supports (color:color-mix(in lab, red, red)){.border-blue-400\/30{border-color:color-mix(in oklab, var(--color-blue-400) 30%, transparent)}}.border-blue-400\/50{border-color:#54a2ff80}@supports (color:color-mix(in lab, red, red)){.border-blue-400\/50{border-color:color-mix(in oklab, var(--color-blue-400) 50%, transparent)}}.border-blue-500{border-color:var(--color-blue-500)}.border-blue-500\/20{border-color:#3080ff33}@supports (color:color-mix(in lab, red, red)){.border-blue-500\/20{border-color:color-mix(in oklab, var(--color-blue-500) 20%, transparent)}}.border-blue-500\/50{border-color:#3080ff80}@supports (color:color-mix(in lab, red, red)){.border-blue-500\/50{border-color:color-mix(in oklab, var(--color-blue-500) 50%, transparent)}}.border-blue-600{border-color:var(--color-blue-600)}.border-cyan-100{border-color:var(--color-cyan-100)}.border-cyan-500{border-color:var(--color-cyan-500)}.border-cyan-600{border-color:var(--color-cyan-600)}.border-emerald-100{border-color:var(--color-emerald-100)}.border-emerald-300{border-color:var(--color-emerald-300)}.border-emerald-500\/20{border-color:#00bb7f33}@supports (color:color-mix(in lab, red, red)){.border-emerald-500\/20{border-color:color-mix(in oklab, var(--color-emerald-500) 20%, transparent)}}.border-emerald-600{border-color:var(--color-emerald-600)}.border-gray-50{border-color:var(--color-gray-50)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-200\/50{border-color:#e5e7eb80}@supports (color:color-mix(in lab, red, red)){.border-gray-200\/50{border-color:color-mix(in oklab, var(--color-gray-200) 50%, transparent)}}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-700{border-color:var(--color-gray-700)}.border-gray-900{border-color:var(--color-gray-900)}.border-green-100{border-color:var(--color-green-100)}.border-indigo-100{border-color:var(--color-indigo-100)}.border-indigo-500{border-color:var(--color-indigo-500)}.border-neutral-300{border-color:var(--color-neutral-300)}.border-neutral-600{border-color:var(--color-neutral-600)}.border-neutral-800{border-color:var(--color-neutral-800)}.border-orange-100{border-color:var(--color-orange-100)}.border-primary{border-color:var(--color-primary)}.border-primary\/30{border-color:#1e40af4d}@supports (color:color-mix(in lab, red, red)){.border-primary\/30{border-color:color-mix(in oklab, var(--color-primary) 30%, transparent)}}.border-purple-100{border-color:var(--color-purple-100)}.border-purple-500\/20{border-color:#ac4bff33}@supports (color:color-mix(in lab, red, red)){.border-purple-500\/20{border-color:color-mix(in oklab, var(--color-purple-500) 20%, transparent)}}.border-purple-600{border-color:var(--color-purple-600)}.border-red-100{border-color:var(--color-red-100)}.border-red-500{border-color:var(--color-red-500)}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.border-red-500\/20{border-color:color-mix(in oklab, var(--color-red-500) 20%, transparent)}}.border-red-600{border-color:var(--color-red-600)}.border-sky-100{border-color:var(--color-sky-100)}.border-sky-300{border-color:var(--color-sky-300)}.border-sky-500\/20{border-color:#00a5ef33}@supports (color:color-mix(in lab, red, red)){.border-sky-500\/20{border-color:color-mix(in oklab, var(--color-sky-500) 20%, transparent)}}.border-slate-50{border-color:var(--color-slate-50)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-300{border-color:var(--color-slate-300)}.border-slate-600{border-color:var(--color-slate-600)}.border-slate-700{border-color:var(--color-slate-700)}.border-slate-800{border-color:var(--color-slate-800)}.border-teal-100{border-color:var(--color-teal-100)}.border-transparent{border-color:#0000}.border-violet-100{border-color:var(--color-violet-100)}.border-violet-300{border-color:var(--color-violet-300)}.border-violet-400\/50{border-color:#a685ff80}@supports (color:color-mix(in lab, red, red)){.border-violet-400\/50{border-color:color-mix(in oklab, var(--color-violet-400) 50%, transparent)}}.border-violet-500\/20{border-color:#8d54ff33}@supports (color:color-mix(in lab, red, red)){.border-violet-500\/20{border-color:color-mix(in oklab, var(--color-violet-500) 20%, transparent)}}.border-white{border-color:var(--color-white)}.border-white\/5{border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.border-white\/5{border-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.border-white\/10{border-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.border-white\/20{border-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.border-yellow-100{border-color:var(--color-yellow-100)}.border-yellow-400{border-color:var(--color-yellow-400)}.border-yellow-500{border-color:var(--color-yellow-500)}.border-yellow-500\/20{border-color:#edb20033}@supports (color:color-mix(in lab, red, red)){.border-yellow-500\/20{border-color:color-mix(in oklab, var(--color-yellow-500) 20%, transparent)}}.border-t-\[\#678187\]{border-top-color:#678187}.\!bg-slate-900{background-color:var(--color-slate-900)!important}.\!bg-transparent{background-color:#0000!important}.bg-\[\#000\]{background-color:#000}.bg-\[\#1F2329\]\/5{background-color:oklab(25.4667% -.00257394 -.0125083/.05)}.bg-\[\#36CFC9\]\/5{background-color:oklab(77.6997% -.1204 -.0232725/.05)}.bg-\[\#165DFF\]\/5{background-color:oklab(54.9404% -.0301409 -.247179/.05)}.bg-\[\#722ED1\]\/5{background-color:oklab(49.4212% .0986064 -.205967/.05)}.bg-\[\#491400\]{background-color:#491400}.bg-\[\#678187\]{background-color:#678187}.bg-\[\#F9FAFB\]{background-color:#f9fafb}.bg-\[\#d1c4ce\]{background-color:#d1c4ce}.bg-\[\#eff6ff\]{background-color:#eff6ff}.bg-\[\#ffebed\]\/10{background-color:oklab(95.657% .0215345 .00402951/.1)}.bg-\[\#ffebed\]\/20{background-color:oklab(95.657% .0215345 .00402951/.2)}.bg-\[rgba\(242\,242\,242\,0\.92\)\]{background-color:#f2f2f2eb}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-400\/60{background-color:#fcbb0099}@supports (color:color-mix(in lab, red, red)){.bg-amber-400\/60{background-color:color-mix(in oklab, var(--color-amber-400) 60%, transparent)}}.bg-black{background-color:var(--color-black)}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab, red, red)){.bg-black\/40{background-color:color-mix(in oklab, var(--color-black) 40%, transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab, red, red)){.bg-black\/60{background-color:color-mix(in oklab, var(--color-black) 60%, transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-400{background-color:var(--color-blue-400)}.bg-blue-400\/30{background-color:#54a2ff4d}@supports (color:color-mix(in lab, red, red)){.bg-blue-400\/30{background-color:color-mix(in oklab, var(--color-blue-400) 30%, transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\/5{background-color:#3080ff0d}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\/5{background-color:color-mix(in oklab, var(--color-blue-500) 5%, transparent)}}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\/10{background-color:color-mix(in oklab, var(--color-blue-500) 10%, transparent)}}.bg-blue-500\/30{background-color:#3080ff4d}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\/30{background-color:color-mix(in oklab, var(--color-blue-500) 30%, transparent)}}.bg-blue-600{background-color:var(--color-blue-600)}.bg-blue-700{background-color:var(--color-blue-700)}.bg-blue-800\/10{background-color:#193cb81a}@supports (color:color-mix(in lab, red, red)){.bg-blue-800\/10{background-color:color-mix(in oklab, var(--color-blue-800) 10%, transparent)}}.bg-blue-800\/20{background-color:#193cb833}@supports (color:color-mix(in lab, red, red)){.bg-blue-800\/20{background-color:color-mix(in oklab, var(--color-blue-800) 20%, transparent)}}.bg-blue-900{background-color:var(--color-blue-900)}.bg-blue-900\/20{background-color:#1c398e33}@supports (color:color-mix(in lab, red, red)){.bg-blue-900\/20{background-color:color-mix(in oklab, var(--color-blue-900) 20%, transparent)}}.bg-blue-900\/40{background-color:#1c398e66}@supports (color:color-mix(in lab, red, red)){.bg-blue-900\/40{background-color:color-mix(in oklab, var(--color-blue-900) 40%, transparent)}}.bg-blue-950\/50{background-color:#16245680}@supports (color:color-mix(in lab, red, red)){.bg-blue-950\/50{background-color:color-mix(in oklab, var(--color-blue-950) 50%, transparent)}}.bg-cyan-50{background-color:var(--color-cyan-50)}.bg-cyan-100{background-color:var(--color-cyan-100)}.bg-cyan-200{background-color:var(--color-cyan-200)}.bg-cyan-400{background-color:var(--color-cyan-400)}.bg-cyan-500{background-color:var(--color-cyan-500)}.bg-cyan-500\/5{background-color:#00b7d70d}@supports (color:color-mix(in lab, red, red)){.bg-cyan-500\/5{background-color:color-mix(in oklab, var(--color-cyan-500) 5%, transparent)}}.bg-cyan-600{background-color:var(--color-cyan-600)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-50\/50{background-color:#ecfdf580}@supports (color:color-mix(in lab, red, red)){.bg-emerald-50\/50{background-color:color-mix(in oklab, var(--color-emerald-50) 50%, transparent)}}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-400\/60{background-color:#00d29499}@supports (color:color-mix(in lab, red, red)){.bg-emerald-400\/60{background-color:color-mix(in oklab, var(--color-emerald-400) 60%, transparent)}}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/5{background-color:#00bb7f0d}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/5{background-color:color-mix(in oklab, var(--color-emerald-500) 5%, transparent)}}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/10{background-color:color-mix(in oklab, var(--color-emerald-500) 10%, transparent)}}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-700{background-color:var(--color-gray-700)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-gray-950{background-color:var(--color-gray-950)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-400{background-color:var(--color-green-400)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab, red, red)){.bg-green-500\/10{background-color:color-mix(in oklab, var(--color-green-500) 10%, transparent)}}.bg-green-500\/30{background-color:#00c7584d}@supports (color:color-mix(in lab, red, red)){.bg-green-500\/30{background-color:color-mix(in oklab, var(--color-green-500) 30%, transparent)}}.bg-indigo-50{background-color:var(--color-indigo-50)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-indigo-200{background-color:var(--color-indigo-200)}.bg-indigo-500{background-color:var(--color-indigo-500)}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-neutral{background-color:var(--color-neutral)}.bg-neutral-100{background-color:var(--color-neutral-100)}.bg-neutral-200{background-color:var(--color-neutral-200)}.bg-neutral-700{background-color:var(--color-neutral-700)}.bg-neutral-800{background-color:var(--color-neutral-800)}.bg-neutral-900{background-color:var(--color-neutral-900)}.bg-neutral-900\/90{background-color:#171717e6}@supports (color:color-mix(in lab, red, red)){.bg-neutral-900\/90{background-color:color-mix(in oklab, var(--color-neutral-900) 90%, transparent)}}.bg-orange-50{background-color:var(--color-orange-50)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-orange-500\/10{background-color:#fe6e001a}@supports (color:color-mix(in lab, red, red)){.bg-orange-500\/10{background-color:color-mix(in oklab, var(--color-orange-500) 10%, transparent)}}.bg-orange-500\/30{background-color:#fe6e004d}@supports (color:color-mix(in lab, red, red)){.bg-orange-500\/30{background-color:color-mix(in oklab, var(--color-orange-500) 30%, transparent)}}.bg-pink-50{background-color:var(--color-pink-50)}.bg-pink-400\/60{background-color:#fb64b699}@supports (color:color-mix(in lab, red, red)){.bg-pink-400\/60{background-color:color-mix(in oklab, var(--color-pink-400) 60%, transparent)}}.bg-pink-500\/10{background-color:#f6339a1a}@supports (color:color-mix(in lab, red, red)){.bg-pink-500\/10{background-color:color-mix(in oklab, var(--color-pink-500) 10%, transparent)}}.bg-pink-500\/30{background-color:#f6339a4d}@supports (color:color-mix(in lab, red, red)){.bg-pink-500\/30{background-color:color-mix(in oklab, var(--color-pink-500) 30%, transparent)}}.bg-primary{background-color:var(--color-primary)}.bg-primary\/5{background-color:#1e40af0d}@supports (color:color-mix(in lab, red, red)){.bg-primary\/5{background-color:color-mix(in oklab, var(--color-primary) 5%, transparent)}}.bg-primary\/8{background-color:#1e40af14}@supports (color:color-mix(in lab, red, red)){.bg-primary\/8{background-color:color-mix(in oklab, var(--color-primary) 8%, transparent)}}.bg-primary\/10{background-color:#1e40af1a}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab, var(--color-primary) 10%, transparent)}}.bg-purple-50{background-color:var(--color-purple-50)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-purple-500{background-color:var(--color-purple-500)}.bg-purple-500\/5{background-color:#ac4bff0d}@supports (color:color-mix(in lab, red, red)){.bg-purple-500\/5{background-color:color-mix(in oklab, var(--color-purple-500) 5%, transparent)}}.bg-purple-500\/10{background-color:#ac4bff1a}@supports (color:color-mix(in lab, red, red)){.bg-purple-500\/10{background-color:color-mix(in oklab, var(--color-purple-500) 10%, transparent)}}.bg-purple-500\/30{background-color:#ac4bff4d}@supports (color:color-mix(in lab, red, red)){.bg-purple-500\/30{background-color:color-mix(in oklab, var(--color-purple-500) 30%, transparent)}}.bg-purple-600{background-color:var(--color-purple-600)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-400{background-color:var(--color-red-400)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/10{background-color:color-mix(in oklab, var(--color-red-500) 10%, transparent)}}.bg-secondary{background-color:var(--color-secondary)}.bg-secondary\/20{background-color:#3b82f633}@supports (color:color-mix(in lab, red, red)){.bg-secondary\/20{background-color:color-mix(in oklab, var(--color-secondary) 20%, transparent)}}.bg-sidebar{background-color:var(--color-sidebar)}.bg-sky-50{background-color:var(--color-sky-50)}.bg-sky-50\/50{background-color:#f0f9ff80}@supports (color:color-mix(in lab, red, red)){.bg-sky-50\/50{background-color:color-mix(in oklab, var(--color-sky-50) 50%, transparent)}}.bg-sky-100{background-color:var(--color-sky-100)}.bg-sky-300\/20{background-color:#77d4ff33}@supports (color:color-mix(in lab, red, red)){.bg-sky-300\/20{background-color:color-mix(in oklab, var(--color-sky-300) 20%, transparent)}}.bg-sky-400{background-color:var(--color-sky-400)}.bg-sky-400\/60{background-color:#00bcfe99}@supports (color:color-mix(in lab, red, red)){.bg-sky-400\/60{background-color:color-mix(in oklab, var(--color-sky-400) 60%, transparent)}}.bg-sky-500{background-color:var(--color-sky-500)}.bg-sky-500\/10{background-color:#00a5ef1a}@supports (color:color-mix(in lab, red, red)){.bg-sky-500\/10{background-color:color-mix(in oklab, var(--color-sky-500) 10%, transparent)}}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-50\/50{background-color:#f8fafc80}@supports (color:color-mix(in lab, red, red)){.bg-slate-50\/50{background-color:color-mix(in oklab, var(--color-slate-50) 50%, transparent)}}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-200{background-color:var(--color-slate-200)}.bg-slate-600{background-color:var(--color-slate-600)}.bg-slate-800{background-color:var(--color-slate-800)}.bg-slate-800\/50{background-color:#1d293d80}@supports (color:color-mix(in lab, red, red)){.bg-slate-800\/50{background-color:color-mix(in oklab, var(--color-slate-800) 50%, transparent)}}.bg-slate-900{background-color:var(--color-slate-900)}.bg-teal-50{background-color:var(--color-teal-50)}.bg-tetris-blue{background-color:var(--color-tetris-blue)}.bg-tetris-light{background-color:var(--color-tetris-light)}.bg-transparent{background-color:#0000}.bg-violet-50{background-color:var(--color-violet-50)}.bg-violet-50\/50{background-color:#f5f3ff80}@supports (color:color-mix(in lab, red, red)){.bg-violet-50\/50{background-color:color-mix(in oklab, var(--color-violet-50) 50%, transparent)}}.bg-violet-100{background-color:var(--color-violet-100)}.bg-violet-300\/20{background-color:#c4b4ff33}@supports (color:color-mix(in lab, red, red)){.bg-violet-300\/20{background-color:color-mix(in oklab, var(--color-violet-300) 20%, transparent)}}.bg-violet-400{background-color:var(--color-violet-400)}.bg-violet-400\/60{background-color:#a685ff99}@supports (color:color-mix(in lab, red, red)){.bg-violet-400\/60{background-color:color-mix(in oklab, var(--color-violet-400) 60%, transparent)}}.bg-violet-500{background-color:var(--color-violet-500)}.bg-violet-500\/10{background-color:#8d54ff1a}@supports (color:color-mix(in lab, red, red)){.bg-violet-500\/10{background-color:color-mix(in oklab, var(--color-violet-500) 10%, transparent)}}.bg-white{background-color:var(--color-white)}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\/10{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.bg-white\/15{background-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.bg-white\/15{background-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.bg-white\/30{background-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.bg-white\/30{background-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.bg-white\/60{background-color:#fff9}@supports (color:color-mix(in lab, red, red)){.bg-white\/60{background-color:color-mix(in oklab, var(--color-white) 60%, transparent)}}.bg-white\/70{background-color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.bg-white\/70{background-color:color-mix(in oklab, var(--color-white) 70%, transparent)}}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab, red, red)){.bg-white\/80{background-color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.bg-white\/90{background-color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.bg-win-light{background-color:var(--color-win-light)}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-yellow-400{background-color:var(--color-yellow-400)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-yellow-500\/5{background-color:#edb2000d}@supports (color:color-mix(in lab, red, red)){.bg-yellow-500\/5{background-color:color-mix(in oklab, var(--color-yellow-500) 5%, transparent)}}.bg-yellow-500\/10{background-color:#edb2001a}@supports (color:color-mix(in lab, red, red)){.bg-yellow-500\/10{background-color:color-mix(in oklab, var(--color-yellow-500) 10%, transparent)}}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-l{--tw-gradient-position:to left in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.\!bg-none{background-image:none!important}.bg-\[linear-gradient\(120deg\,\#ffffff\,\#f0f8ff\,\#f8f0ff\,\#ffffff\)\]{background-image:linear-gradient(120deg,#fff,#f0f8ff,#f8f0ff,#fff)}.bg-\[url\(\'data\:image\/svg\+xml\;base64\,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI\+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSIxIi8\+PC9nPjwvc3ZnPg\=\=\'\)\]{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSIxIi8+PC9nPjwvc3ZnPg==)}.bg-\[url\(\'https\:\/\/bing\.img\.run\/uhd\.php\'\)\]{background-image:url(https://bing.img.run/uhd.php)}.from-\[\#165DFF\]\/5{--tw-gradient-from:oklab(54.9404% -.0301409 -.247179/.05);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-\[\#2487FE\]{--tw-gradient-from:#2487fe;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-\[\#491400\]{--tw-gradient-from:#491400;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-amber-50{--tw-gradient-from:var(--color-amber-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-black{--tw-gradient-from:var(--color-black);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-black\/80{--tw-gradient-from:#000c}@supports (color:color-mix(in lab, red, red)){.from-black\/80{--tw-gradient-from:color-mix(in oklab, var(--color-black) 80%, transparent)}}.from-black\/80{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-blue-50{--tw-gradient-from:var(--color-blue-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-blue-500{--tw-gradient-from:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-blue-500\/10{--tw-gradient-from:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.from-blue-500\/10{--tw-gradient-from:color-mix(in oklab, var(--color-blue-500) 10%, transparent)}}.from-blue-500\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-blue-600{--tw-gradient-from:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-cyan-100{--tw-gradient-from:var(--color-cyan-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-cyan-500{--tw-gradient-from:var(--color-cyan-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-cyan-600{--tw-gradient-from:var(--color-cyan-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-emerald-500{--tw-gradient-from:var(--color-emerald-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-emerald-500\/10{--tw-gradient-from:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.from-emerald-500\/10{--tw-gradient-from:color-mix(in oklab, var(--color-emerald-500) 10%, transparent)}}.from-emerald-500\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-emerald-600{--tw-gradient-from:var(--color-emerald-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-gray-300{--tw-gradient-from:var(--color-gray-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-green-500{--tw-gradient-from:var(--color-green-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-indigo-50{--tw-gradient-from:var(--color-indigo-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-orange-500{--tw-gradient-from:var(--color-orange-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-pink-500{--tw-gradient-from:var(--color-pink-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-primary{--tw-gradient-from:var(--color-primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-primary\/90{--tw-gradient-from:#1e40afe6}@supports (color:color-mix(in lab, red, red)){.from-primary\/90{--tw-gradient-from:color-mix(in oklab, var(--color-primary) 90%, transparent)}}.from-primary\/90{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-purple-500\/10{--tw-gradient-from:#ac4bff1a}@supports (color:color-mix(in lab, red, red)){.from-purple-500\/10{--tw-gradient-from:color-mix(in oklab, var(--color-purple-500) 10%, transparent)}}.from-purple-500\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-purple-600{--tw-gradient-from:var(--color-purple-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-red-500{--tw-gradient-from:var(--color-red-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-slate-50{--tw-gradient-from:var(--color-slate-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-slate-900{--tw-gradient-from:var(--color-slate-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-violet-200\/40{--tw-gradient-from:#ddd6ff66}@supports (color:color-mix(in lab, red, red)){.from-violet-200\/40{--tw-gradient-from:color-mix(in oklab, var(--color-violet-200) 40%, transparent)}}.from-violet-200\/40{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-violet-500{--tw-gradient-from:var(--color-violet-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-violet-600{--tw-gradient-from:var(--color-violet-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-white{--tw-gradient-from:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-yellow-500\/10{--tw-gradient-from:#edb2001a}@supports (color:color-mix(in lab, red, red)){.from-yellow-500\/10{--tw-gradient-from:color-mix(in oklab, var(--color-yellow-500) 10%, transparent)}}.from-yellow-500\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-black\/20{--tw-gradient-via:#0003}@supports (color:color-mix(in lab, red, red)){.via-black\/20{--tw-gradient-via:color-mix(in oklab, var(--color-black) 20%, transparent)}}.via-black\/20{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-black\/30{--tw-gradient-via:#0000004d}@supports (color:color-mix(in lab, red, red)){.via-black\/30{--tw-gradient-via:color-mix(in oklab, var(--color-black) 30%, transparent)}}.via-black\/30{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-blue-50{--tw-gradient-via:var(--color-blue-50);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-blue-500{--tw-gradient-via:var(--color-blue-500);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-blue-700{--tw-gradient-via:var(--color-blue-700);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-blue-950{--tw-gradient-via:var(--color-blue-950);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-purple-400{--tw-gradient-via:var(--color-purple-400);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-secondary{--tw-gradient-via:var(--color-secondary);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-sky-500{--tw-gradient-via:var(--color-sky-500);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-\[\#36CFC9\]\/5{--tw-gradient-to:oklab(77.6997% -.1204 -.0232725/.05);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-\[\#d7aa66\]{--tw-gradient-to:#d7aa66;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-blue-100{--tw-gradient-to:var(--color-blue-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-blue-500{--tw-gradient-to:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-blue-600{--tw-gradient-to:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-cyan-400{--tw-gradient-to:var(--color-cyan-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-cyan-500{--tw-gradient-to:var(--color-cyan-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-cyan-600{--tw-gradient-to:var(--color-cyan-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-emerald-400{--tw-gradient-to:var(--color-emerald-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-emerald-500{--tw-gradient-to:var(--color-emerald-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-indigo-100{--tw-gradient-to:var(--color-indigo-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-indigo-600{--tw-gradient-to:var(--color-indigo-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-indigo-800{--tw-gradient-to:var(--color-indigo-800);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-orange-50{--tw-gradient-to:var(--color-orange-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-pink-400{--tw-gradient-to:var(--color-pink-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-primary{--tw-gradient-to:var(--color-primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-purple-50{--tw-gradient-to:var(--color-purple-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-purple-400{--tw-gradient-to:var(--color-purple-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-purple-500{--tw-gradient-to:var(--color-purple-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-purple-900{--tw-gradient-to:var(--color-purple-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-rose-500{--tw-gradient-to:var(--color-rose-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-sky-200\/40{--tw-gradient-to:#b8e6fe66}@supports (color:color-mix(in lab, red, red)){.to-sky-200\/40{--tw-gradient-to:color-mix(in oklab, var(--color-sky-200) 40%, transparent)}}.to-sky-200\/40{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-slate-50{--tw-gradient-to:var(--color-slate-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-slate-100{--tw-gradient-to:var(--color-slate-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-slate-900{--tw-gradient-to:var(--color-slate-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-white{--tw-gradient-to:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-yellow-400{--tw-gradient-to:var(--color-yellow-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-\[size\:400\%_400\%\]{background-size:400% 400%}.bg-cover{background-size:cover}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.bg-center{background-position:50%}.bg-no-repeat{background-repeat:no-repeat}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-left{object-position:left}.object-right{object-position:right}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-7{padding:calc(var(--spacing) * 7)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.p-12{padding:calc(var(--spacing) * 12)}.p-\[2\.5rem_2rem\]{padding:2.5rem 2rem}.p-\[2rem_1rem\]{padding:2rem 1rem}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.px-10{padding-inline:calc(var(--spacing) * 10)}.px-\[8\%\]{padding-inline:8%}.px-\[16px\]{padding-inline:16px}.px-\[32px\]{padding-inline:32px}.py-0{padding-block:0}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-14{padding-block:calc(var(--spacing) * 14)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.py-24{padding-block:calc(var(--spacing) * 24)}.py-32{padding-block:calc(var(--spacing) * 32)}.py-\[15px\]{padding-block:15px}.pt-0{padding-top:0}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-16{padding-top:calc(var(--spacing) * 16)}.pt-20{padding-top:calc(var(--spacing) * 20)}.pt-24{padding-top:calc(var(--spacing) * 24)}.pt-32{padding-top:calc(var(--spacing) * 32)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-\[16px\]{padding-right:16px}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-10{padding-left:calc(var(--spacing) * 10)}.pl-\[16px\]{padding-left:16px}.pl-\[24px\]{padding-left:24px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-\[\'DIN_Condensed\'\]{font-family:DIN Condensed}.font-\[\'PT_Sans\'\]{font-family:PT Sans}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-9xl{font-size:var(--text-9xl);line-height:var(--tw-leading,var(--text-9xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.9rem\]{font-size:.9rem}.text-\[0\.85rem\]{font-size:.85rem}.text-\[0\.95rem\]{font-size:.95rem}.text-\[1\.1rem\]{font-size:1.1rem}.text-\[1\.05rem\]{font-size:1.05rem}.text-\[1\.8rem\]{font-size:1.8rem}.text-\[1rem\]{font-size:1rem}.text-\[2\.7rem\]{font-size:2.7rem}.text-\[10px\]{font-size:10px}.text-\[14px\]{font-size:14px}.text-\[18px\]{font-size:18px}.text-\[20px\]{font-size:20px}.text-\[20vw\]{font-size:20vw}.text-\[24px\]{font-size:24px}.text-\[32px\]{font-size:32px}.text-\[clamp\(1\.5rem\,3vw\,2\.5rem\)\]{font-size:clamp(1.5rem,3vw,2.5rem)}.text-\[clamp\(1\.5rem\,4vw\,2\.5rem\)\]{font-size:clamp(1.5rem,4vw,2.5rem)}.text-\[clamp\(1\.8rem\,4vw\,3rem\)\]{font-size:clamp(1.8rem,4vw,3rem)}.text-\[clamp\(1rem\,2vw\,1\.5rem\)\]{font-size:clamp(1rem,2vw,1.5rem)}.text-\[clamp\(1rem\,2vw\,1\.25rem\)\]{font-size:clamp(1rem,2vw,1.25rem)}.text-\[clamp\(2rem\,5vw\,3\.5rem\)\]{font-size:clamp(2rem,5vw,3.5rem)}.text-\[clamp\(2rem\,5vw\,4rem\)\]{font-size:clamp(2rem,5vw,4rem)}.text-\[clamp\(5rem\,15vw\,10rem\)\]{font-size:clamp(5rem,15vw,10rem)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-8{--tw-leading:calc(var(--spacing) * 8);line-height:calc(var(--spacing) * 8)}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-\[1\.7\]{--tw-leading:1.7;line-height:1.7}.leading-\[1\.8\]{--tw-leading:1.8;line-height:1.8}.leading-\[1\.25\]{--tw-leading:1.25;line-height:1.25}.leading-\[1\.65\]{--tw-leading:1.65;line-height:1.65}.leading-\[40px\]{--tw-leading:40px;line-height:40px}.leading-loose{--tw-leading:var(--leading-loose);line-height:var(--leading-loose)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.3em\]{--tw-tracking:.3em;letter-spacing:.3em}.tracking-\[0\.3px\]{--tw-tracking:.3px;letter-spacing:.3px}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#000\]{color:#000}.text-\[\#1F2329\]{color:#1f2329}.text-\[\#4E5969\]{color:#4e5969}.text-\[\#36CFC9\]{color:#36cfc9}.text-\[\#165DFF\]{color:#165dff}.text-\[\#667eea\]{color:#667eea}.text-\[\#722ED1\]{color:#722ed1}.text-\[\#491400\]{color:#491400}.text-\[\#678187\]{color:#678187}.text-\[\#678187\]\/70{color:oklab(58.5007% -.0261306 -.0171754/.7)}.text-\[\#678187\]\/80{color:oklab(58.5007% -.0261306 -.0171754/.8)}.text-\[\#858585\]{color:#858585}.text-\[\#FFF\],.text-\[\#fff\]{color:#fff}.text-accent{color:var(--color-accent)}.text-amber-400{color:var(--color-amber-400)}.text-amber-600{color:var(--color-amber-600)}.text-black{color:var(--color-black)}.text-blue-100{color:var(--color-blue-100)}.text-blue-200{color:var(--color-blue-200)}.text-blue-300{color:var(--color-blue-300)}.text-blue-300\/30{color:#90c5ff4d}@supports (color:color-mix(in lab, red, red)){.text-blue-300\/30{color:color-mix(in oklab, var(--color-blue-300) 30%, transparent)}}.text-blue-300\/60{color:#90c5ff99}@supports (color:color-mix(in lab, red, red)){.text-blue-300\/60{color:color-mix(in oklab, var(--color-blue-300) 60%, transparent)}}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-blue-900{color:var(--color-blue-900)}.text-cyan-400{color:var(--color-cyan-400)}.text-cyan-600{color:var(--color-cyan-600)}.text-cyan-700{color:var(--color-cyan-700)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-gray-100{color:var(--color-gray-100)}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-green-900\/80{color:#0d542bcc}@supports (color:color-mix(in lab, red, red)){.text-green-900\/80{color:color-mix(in oklab, var(--color-green-900) 80%, transparent)}}.text-indigo-600{color:var(--color-indigo-600)}.text-neutral-200{color:var(--color-neutral-200)}.text-neutral-300{color:var(--color-neutral-300)}.text-neutral-400{color:var(--color-neutral-400)}.text-neutral-500{color:var(--color-neutral-500)}.text-neutral-600{color:var(--color-neutral-600)}.text-neutral-700{color:var(--color-neutral-700)}.text-neutral-800{color:var(--color-neutral-800)}.text-orange-400{color:var(--color-orange-400)}.text-orange-500{color:var(--color-orange-500)}.text-orange-600{color:var(--color-orange-600)}.text-pink-600{color:var(--color-pink-600)}.text-primary{color:var(--color-primary)}.text-primary\/70{color:#1e40afb3}@supports (color:color-mix(in lab, red, red)){.text-primary\/70{color:color-mix(in oklab, var(--color-primary) 70%, transparent)}}.text-primary\/90{color:#1e40afe6}@supports (color:color-mix(in lab, red, red)){.text-primary\/90{color:color-mix(in oklab, var(--color-primary) 90%, transparent)}}.text-purple-200{color:var(--color-purple-200)}.text-purple-400{color:var(--color-purple-400)}.text-purple-500{color:var(--color-purple-500)}.text-purple-600{color:var(--color-purple-600)}.text-purple-700{color:var(--color-purple-700)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-red-900\/80{color:#82181acc}@supports (color:color-mix(in lab, red, red)){.text-red-900\/80{color:color-mix(in oklab, var(--color-red-900) 80%, transparent)}}.text-rose-500{color:var(--color-rose-500)}.text-sky-400{color:var(--color-sky-400)}.text-sky-500{color:var(--color-sky-500)}.text-sky-600{color:var(--color-sky-600)}.text-sky-700{color:var(--color-sky-700)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-teal-600{color:var(--color-teal-600)}.text-tetris-dark{color:var(--color-tetris-dark)}.text-text-hint{color:var(--color-text-hint)}.text-text-primary{color:var(--color-text-primary)}.text-text-secondary{color:var(--color-text-secondary)}.text-transparent{color:#0000}.text-violet-400{color:var(--color-violet-400)}.text-violet-500{color:var(--color-violet-500)}.text-violet-600{color:var(--color-violet-600)}.text-violet-700{color:var(--color-violet-700)}.text-white{color:var(--color-white)}.text-white\/10{color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.text-white\/10{color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.text-white\/30{color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.text-white\/30{color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.text-white\/40{color:#fff6}@supports (color:color-mix(in lab, red, red)){.text-white\/40{color:color-mix(in oklab, var(--color-white) 40%, transparent)}}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab, red, red)){.text-white\/60{color:color-mix(in oklab, var(--color-white) 60%, transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.text-white\/70{color:color-mix(in oklab, var(--color-white) 70%, transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab, red, red)){.text-white\/80{color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.text-white\/90{color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.text-white\/\[0\.02\]{color:#ffffff05}@supports (color:color-mix(in lab, red, red)){.text-white\/\[0\.02\]{color:color-mix(in oklab, var(--color-white) 2%, transparent)}}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-500{color:var(--color-yellow-500)}.text-yellow-600{color:var(--color-yellow-600)}.text-yellow-900{color:var(--color-yellow-900)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-gray-400::placeholder{color:var(--color-gray-400)}.placeholder-gray-500::placeholder{color:var(--color-gray-500)}.opacity-0{opacity:0}.opacity-5{opacity:.05}.opacity-10{opacity:.1}.opacity-20{opacity:.2}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-100{opacity:1}.opacity-\[0\.03\]{opacity:.03}.\!shadow-none{--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)!important}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_15px_rgba\(36\,135\,254\,0\.3\)\]{--tw-shadow:0 0 15px var(--tw-shadow-color,#2487fe4d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_20px_rgba\(36\,135\,254\,0\.4\)\]{--tw-shadow:0 0 20px var(--tw-shadow-color,#2487fe66);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_30px_rgba\(0\,0\,0\,0\.08\)\]{--tw-shadow:0 0 30px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_1px_3px_rgba\(0\,0\,0\,0\.05\)\,0_1px_2px_rgba\(0\,0\,0\,0\.1\)\]{--tw-shadow:0 1px 3px var(--tw-shadow-color,#0000000d), 0 1px 2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_4px_20px_rgba\(0\,0\,0\,0\.05\)\]{--tw-shadow:0 4px 20px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-blue-100{--tw-shadow-color:oklch(93.2% .032 255.585)}@supports (color:color-mix(in lab, red, red)){.shadow-blue-100{--tw-shadow-color:color-mix(in oklab, var(--color-blue-100) var(--tw-shadow-alpha), transparent)}}.shadow-blue-900{--tw-shadow-color:oklch(37.9% .146 265.522)}@supports (color:color-mix(in lab, red, red)){.shadow-blue-900{--tw-shadow-color:color-mix(in oklab, var(--color-blue-900) var(--tw-shadow-alpha), transparent)}}.shadow-blue-900\/50{--tw-shadow-color:#1c398e80}@supports (color:color-mix(in lab, red, red)){.shadow-blue-900\/50{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-blue-900) 50%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-cyan-200{--tw-shadow-color:oklch(91.7% .08 205.041)}@supports (color:color-mix(in lab, red, red)){.shadow-cyan-200{--tw-shadow-color:color-mix(in oklab, var(--color-cyan-200) var(--tw-shadow-alpha), transparent)}}.shadow-emerald-500\/10{--tw-shadow-color:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.shadow-emerald-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-emerald-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-gray-200\/50{--tw-shadow-color:#e5e7eb80}@supports (color:color-mix(in lab, red, red)){.shadow-gray-200\/50{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-gray-200) 50%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-slate-900\/20{--tw-shadow-color:#0f172b33}@supports (color:color-mix(in lab, red, red)){.shadow-slate-900\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-slate-900) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-gray-100{--tw-ring-color:var(--color-gray-100)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur-3xl{--tw-blur:blur(var(--blur-3xl));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.blur-\[100px\]{--tw-blur:blur(100px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.blur-\[120px\]{--tw-blur:blur(120px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow-lg{--tw-drop-shadow-size:drop-shadow(0 4px 4px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-lg));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-100{transition-delay:.1s}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}.delay-400{transition-delay:.4s}.delay-500{transition-delay:.5s}.delay-700{transition-delay:.7s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.duration-1000{--tw-duration:1s;transition-duration:1s}.ease-\[cubic-bezier\(0\.25\,0\.8\,0\.25\,1\)\]{--tw-ease:cubic-bezier(.25,.8,.25,1);transition-timing-function:cubic-bezier(.25,.8,.25,1)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[text-shadow\:0_2px_8px_rgba\(0\,0\,0\,0\.6\)\]{text-shadow:0 2px 8px #0009}@media (hover:hover){.group-hover\:w-full:is(:where(.group):hover *){width:100%}.group-hover\:translate-x-1:is(:where(.group):hover *){--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:-translate-y-1:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:translate-y-0:is(:where(.group):hover *){--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:scale-100:is(:where(.group):hover *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:scale-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:scale-\[1\.02\]:is(:where(.group):hover *){scale:1.02}.group-hover\:rotate-12:is(:where(.group):hover *){rotate:12deg}.group-hover\:gap-2\.5:is(:where(.group):hover *){gap:calc(var(--spacing) * 2.5)}.group-hover\:border-violet-400:is(:where(.group):hover *){border-color:var(--color-violet-400)}.group-hover\:bg-amber-100:is(:where(.group):hover *){background-color:var(--color-amber-100)}.group-hover\:bg-blue-100:is(:where(.group):hover *){background-color:var(--color-blue-100)}.group-hover\:bg-blue-500:is(:where(.group):hover *){background-color:var(--color-blue-500)}.group-hover\:bg-cyan-100:is(:where(.group):hover *){background-color:var(--color-cyan-100)}.group-hover\:bg-orange-100:is(:where(.group):hover *){background-color:var(--color-orange-100)}.group-hover\:bg-pink-100:is(:where(.group):hover *){background-color:var(--color-pink-100)}.group-hover\:bg-teal-100:is(:where(.group):hover *){background-color:var(--color-teal-100)}.group-hover\:bg-violet-100:is(:where(.group):hover *){background-color:var(--color-violet-100)}.group-hover\:bg-violet-200:is(:where(.group):hover *){background-color:var(--color-violet-200)}.group-hover\:bg-violet-500\/20:is(:where(.group):hover *){background-color:#8d54ff33}@supports (color:color-mix(in lab, red, red)){.group-hover\:bg-violet-500\/20:is(:where(.group):hover *){background-color:color-mix(in oklab, var(--color-violet-500) 20%, transparent)}}.group-hover\:text-primary:is(:where(.group):hover *){color:var(--color-primary)}.group-hover\:text-violet-500\/30:is(:where(.group):hover *){color:#8d54ff4d}@supports (color:color-mix(in lab, red, red)){.group-hover\:text-violet-500\/30:is(:where(.group):hover *){color:color-mix(in oklab, var(--color-violet-500) 30%, transparent)}}.group-hover\:opacity-10:is(:where(.group):hover *){opacity:.1}.group-hover\:opacity-80:is(:where(.group):hover *){opacity:.8}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\/item\:scale-110:is(:where(.group\/item):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\/item\:text-slate-800:is(:where(.group\/item):hover *){color:var(--color-slate-800)}}.selection\:bg-\[\#2487FE\] ::selection{background-color:#2487fe}.selection\:bg-\[\#2487FE\]::selection{background-color:#2487fe}.selection\:bg-blue-100 ::selection{background-color:var(--color-blue-100)}.selection\:bg-blue-100::selection{background-color:var(--color-blue-100)}.selection\:bg-cyan-200 ::selection{background-color:var(--color-cyan-200)}.selection\:bg-cyan-200::selection{background-color:var(--color-cyan-200)}.selection\:bg-primary ::selection{background-color:var(--color-primary)}.selection\:bg-primary::selection{background-color:var(--color-primary)}.selection\:text-blue-900 ::selection{color:var(--color-blue-900)}.selection\:text-blue-900::selection{color:var(--color-blue-900)}.selection\:text-cyan-900 ::selection{color:var(--color-cyan-900)}.selection\:text-cyan-900::selection{color:var(--color-cyan-900)}.selection\:text-white ::selection{color:var(--color-white)}.selection\:text-white::selection{color:var(--color-white)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:bottom-\[-2px\]:after{content:var(--tw-content);bottom:-2px}.after\:left-0:after{content:var(--tw-content);left:0}.after\:h-\[2px\]:after{content:var(--tw-content);height:2px}.after\:w-0:after{content:var(--tw-content);width:0}.after\:bg-\[\#3b82f6\]:after{content:var(--tw-content);background-color:#3b82f6}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:duration-200:after{content:var(--tw-content);--tw-duration:.2s;transition-duration:.2s}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.checked\:scale-\[0\.95\]:checked{scale:.95}.focus-within\:border-\[\#3b82f6\]:focus-within{border-color:#3b82f6}.focus-within\:border-primary:focus-within{border-color:var(--color-primary)}.focus-within\:ring-1:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-within\:ring-\[\#3b82f6\]\/30:focus-within{--tw-ring-color:oklab(62.3083% -.0332476 -.185052/.3)}.focus-within\:ring-primary\/30:focus-within{--tw-ring-color:#1e40af4d}@supports (color:color-mix(in lab, red, red)){.focus-within\:ring-primary\/30:focus-within{--tw-ring-color:color-mix(in oklab, var(--color-primary) 30%, transparent)}}@media (hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:-translate-y-1\.5:hover{--tw-translate-y:calc(var(--spacing) * -1.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:scale-\[1\.02\]:hover{scale:1.02}.hover\:rotate-180:hover{rotate:180deg}.hover\:border-blue-500\/30:hover{border-color:#3080ff4d}@supports (color:color-mix(in lab, red, red)){.hover\:border-blue-500\/30:hover{border-color:color-mix(in oklab, var(--color-blue-500) 30%, transparent)}}.hover\:border-cyan-200:hover{border-color:var(--color-cyan-200)}.hover\:border-emerald-400:hover{border-color:var(--color-emerald-400)}.hover\:border-emerald-500\/30:hover{border-color:#00bb7f4d}@supports (color:color-mix(in lab, red, red)){.hover\:border-emerald-500\/30:hover{border-color:color-mix(in oklab, var(--color-emerald-500) 30%, transparent)}}.hover\:border-gray-400:hover{border-color:var(--color-gray-400)}.hover\:border-primary:hover{border-color:var(--color-primary)}.hover\:border-primary\/30:hover{border-color:#1e40af4d}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/30:hover{border-color:color-mix(in oklab, var(--color-primary) 30%, transparent)}}.hover\:border-purple-200:hover{border-color:var(--color-purple-200)}.hover\:border-purple-500\/30:hover{border-color:#ac4bff4d}@supports (color:color-mix(in lab, red, red)){.hover\:border-purple-500\/30:hover{border-color:color-mix(in oklab, var(--color-purple-500) 30%, transparent)}}.hover\:border-sky-400:hover{border-color:var(--color-sky-400)}.hover\:border-slate-300:hover{border-color:var(--color-slate-300)}.hover\:border-slate-400:hover{border-color:var(--color-slate-400)}.hover\:border-violet-400:hover{border-color:var(--color-violet-400)}.hover\:border-yellow-500\/30:hover{border-color:#edb2004d}@supports (color:color-mix(in lab, red, red)){.hover\:border-yellow-500\/30:hover{border-color:color-mix(in oklab, var(--color-yellow-500) 30%, transparent)}}.hover\:bg-\[\#1a6fd4\]:hover{background-color:#1a6fd4}.hover\:bg-\[\#333\]:hover{background-color:#333}.hover\:bg-\[\#d1c4ce\]\/90:hover{background-color:oklab(83.3896% .0177608 -.00884682/.9)}.hover\:bg-\[\#e6e6e6\]:hover{background-color:#e6e6e6}.hover\:bg-blue-50:hover{background-color:var(--color-blue-50)}.hover\:bg-blue-500:hover{background-color:var(--color-blue-500)}.hover\:bg-blue-600:hover{background-color:var(--color-blue-600)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-blue-900\/20:hover{background-color:#1c398e33}@supports (color:color-mix(in lab, red, red)){.hover\:bg-blue-900\/20:hover{background-color:color-mix(in oklab, var(--color-blue-900) 20%, transparent)}}.hover\:bg-blue-900\/30:hover{background-color:#1c398e4d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-blue-900\/30:hover{background-color:color-mix(in oklab, var(--color-blue-900) 30%, transparent)}}.hover\:bg-cyan-700:hover{background-color:var(--color-cyan-700)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-300:hover{background-color:var(--color-gray-300)}.hover\:bg-gray-800:hover{background-color:var(--color-gray-800)}.hover\:bg-neutral-100:hover{background-color:var(--color-neutral-100)}.hover\:bg-neutral-200:hover{background-color:var(--color-neutral-200)}.hover\:bg-neutral-700:hover{background-color:var(--color-neutral-700)}.hover\:bg-primary:hover{background-color:var(--color-primary)}.hover\:bg-primary\/90:hover{background-color:#1e40afe6}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--color-primary) 90%, transparent)}}.hover\:bg-purple-50:hover{background-color:var(--color-purple-50)}.hover\:bg-purple-600:hover{background-color:var(--color-purple-600)}.hover\:bg-sky-100:hover{background-color:var(--color-sky-100)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-800:hover{background-color:var(--color-slate-800)}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:bg-white\/5:hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/5:hover{background-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.hover\:from-blue-600:hover{--tw-gradient-from:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.hover\:from-emerald-600:hover{--tw-gradient-from:var(--color-emerald-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.hover\:to-cyan-600:hover{--tw-gradient-to:var(--color-cyan-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.hover\:text-\[\#3b82f6\]:hover{color:#3b82f6}.hover\:text-amber-800:hover{color:var(--color-amber-800)}.hover\:text-black:hover{color:var(--color-black)}.hover\:text-blue-400:hover{color:var(--color-blue-400)}.hover\:text-blue-700:hover{color:var(--color-blue-700)}.hover\:text-blue-800:hover{color:var(--color-blue-800)}.hover\:text-cyan-800:hover{color:var(--color-cyan-800)}.hover\:text-emerald-800:hover{color:var(--color-emerald-800)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-gray-900:hover{color:var(--color-gray-900)}.hover\:text-primary:hover{color:var(--color-primary)}.hover\:text-primary\/80:hover{color:#1e40afcc}@supports (color:color-mix(in lab, red, red)){.hover\:text-primary\/80:hover{color:color-mix(in oklab, var(--color-primary) 80%, transparent)}}.hover\:text-purple-500:hover{color:var(--color-purple-500)}.hover\:text-purple-600:hover{color:var(--color-purple-600)}.hover\:text-purple-700:hover{color:var(--color-purple-700)}.hover\:text-red-500:hover{color:var(--color-red-500)}.hover\:text-slate-900:hover{color:var(--color-slate-900)}.hover\:text-violet-800:hover{color:var(--color-violet-800)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-\[0_0_15px_rgba\(0\,0\,0\,0\.1\)\]:hover{--tw-shadow:0 0 15px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-\[0_8px_30px_rgba\(22\,93\,255\,0\.12\)\]:hover{--tw-shadow:0 8px 30px var(--tw-shadow-color,#165dff1f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-\[0_10px_15px_-3px_rgba\(0\,0\,0\,0\.08\)\,0_4px_6px_-2px_rgba\(0\,0\,0\,0\.04\)\]:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#00000014), 0 4px 6px -2px var(--tw-shadow-color,#0000000a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-\[0_20px_60px_rgba\(0\,0\,0\,0\.2\)\]:hover{--tw-shadow:0 20px 60px var(--tw-shadow-color,#0003);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-blue-200:hover{--tw-shadow-color:oklch(88.2% .059 254.128)}@supports (color:color-mix(in lab, red, red)){.hover\:shadow-blue-200:hover{--tw-shadow-color:color-mix(in oklab, var(--color-blue-200) var(--tw-shadow-alpha), transparent)}}.hover\:shadow-blue-300\/30:hover{--tw-shadow-color:#90c5ff4d}@supports (color:color-mix(in lab, red, red)){.hover\:shadow-blue-300\/30:hover{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-blue-300) 30%, transparent) var(--tw-shadow-alpha), transparent)}}.hover\:shadow-blue-500\/5:hover{--tw-shadow-color:#3080ff0d}@supports (color:color-mix(in lab, red, red)){.hover\:shadow-blue-500\/5:hover{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-blue-500) 5%, transparent) var(--tw-shadow-alpha), transparent)}}.hover\:shadow-blue-500\/10:hover{--tw-shadow-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.hover\:shadow-blue-500\/10:hover{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-blue-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.hover\:shadow-primary\/10:hover{--tw-shadow-color:#1e40af1a}@supports (color:color-mix(in lab, red, red)){.hover\:shadow-primary\/10:hover{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-primary) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.hover\:shadow-purple-500\/5:hover{--tw-shadow-color:#ac4bff0d}@supports (color:color-mix(in lab, red, red)){.hover\:shadow-purple-500\/5:hover{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-purple-500) 5%, transparent) var(--tw-shadow-alpha), transparent)}}.hover\:shadow-purple-500\/10:hover{--tw-shadow-color:#ac4bff1a}@supports (color:color-mix(in lab, red, red)){.hover\:shadow-purple-500\/10:hover{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-purple-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.hover\:shadow-slate-100:hover{--tw-shadow-color:oklch(96.8% .007 247.896)}@supports (color:color-mix(in lab, red, red)){.hover\:shadow-slate-100:hover{--tw-shadow-color:color-mix(in oklab, var(--color-slate-100) var(--tw-shadow-alpha), transparent)}}.hover\:shadow-violet-500\/10:hover{--tw-shadow-color:#8d54ff1a}@supports (color:color-mix(in lab, red, red)){.hover\:shadow-violet-500\/10:hover{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-violet-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.hover\:after\:w-full:hover:after{content:var(--tw-content);width:100%}}.focus\:scale-\[1\.01\]:focus{scale:1.01}.focus\:border-primary:focus{border-color:var(--color-primary)}.focus\:border-transparent:focus{border-color:#0000}.focus\:bg-white:focus{background-color:var(--color-white)}.focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:ring-primary:focus{--tw-ring-color:var(--color-primary)}.focus\:ring-primary\/30:focus{--tw-ring-color:#1e40af4d}@supports (color:color-mix(in lab, red, red)){.focus\:ring-primary\/30:focus{--tw-ring-color:color-mix(in oklab, var(--color-primary) 30%, transparent)}}.focus\:ring-purple-500:focus{--tw-ring-color:var(--color-purple-500)}.focus\:ring-white\/30:focus{--tw-ring-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.focus\:ring-white\/30:focus{--tw-ring-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-98:active{--tw-scale-x:98%;--tw-scale-y:98%;--tw-scale-z:98%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-\[0\.98\]:active{scale:.98}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-300:disabled{background-color:var(--color-gray-300)}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (width>=40rem){.sm\:mt-\[60px\]{margin-top:60px}.sm\:mb-12{margin-bottom:calc(var(--spacing) * 12)}.sm\:block{display:block}.sm\:hidden{display:none}.sm\:h-\[20px\]{height:20px}.sm\:h-\[48px\]{height:48px}.sm\:h-\[120px\]{height:120px}.sm\:h-\[500px\]{height:500px}.sm\:w-\[20px\]{width:20px}.sm\:w-fit{width:fit-content}.sm\:scale-\[0\.8\]{scale:.8}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:gap-1{gap:var(--spacing)}.sm\:gap-\[12px\]{gap:12px}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:px-\[32px\]{padding-inline:32px}.sm\:pr-\[30px\]{padding-right:30px}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-\[15px\]{font-size:15px}.sm\:text-\[23px\]{font-size:23px}.sm\:text-\[24px\]{font-size:24px}}@media (width>=48rem){.md\:-top-5{top:calc(var(--spacing) * -5)}.md\:-right-5{right:calc(var(--spacing) * -5)}.md\:-bottom-16{bottom:calc(var(--spacing) * -16)}.md\:left-1\/2{left:50%}.md\:left-8{left:calc(var(--spacing) * 8)}.md\:order-none{order:0}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-5{grid-column:span 5/span 5}.md\:col-span-7{grid-column:span 7/span 7}.md\:col-span-8{grid-column:span 8/span 8}.md\:mx-0{margin-inline:0}.md\:mt-0{margin-top:0}.md\:mt-6{margin-top:calc(var(--spacing) * 6)}.md\:mt-10{margin-top:calc(var(--spacing) * 10)}.md\:mt-\[90px\]{margin-top:90px}.md\:mr-4{margin-right:calc(var(--spacing) * 4)}.md\:mb-0{margin-bottom:0}.md\:mb-6{margin-bottom:calc(var(--spacing) * 6)}.md\:mb-8{margin-bottom:calc(var(--spacing) * 8)}.md\:mb-16{margin-bottom:calc(var(--spacing) * 16)}.md\:mb-\[4px\]{margin-bottom:4px}.md\:ml-0{margin-left:0}.md\:ml-12{margin-left:calc(var(--spacing) * 12)}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:inline{display:inline}.md\:h-32{height:calc(var(--spacing) * 32)}.md\:h-64{height:calc(var(--spacing) * 64)}.md\:h-80{height:calc(var(--spacing) * 80)}.md\:h-\[40vh\]{height:40vh}.md\:h-\[50vh\]{height:50vh}.md\:max-h-\[75vh\]{max-height:75vh}.md\:max-h-\[calc\(75vh-4rem\)\]{max-height:calc(75vh - 4rem)}.md\:min-h-\[400px\]{min-height:400px}.md\:w-1\/2{width:50%}.md\:w-1\/3{width:33.3333%}.md\:w-2\/3{width:66.6667%}.md\:w-32{width:calc(var(--spacing) * 32)}.md\:w-64{width:calc(var(--spacing) * 64)}.md\:w-80{width:calc(var(--spacing) * 80)}.md\:w-\[40vh\]{width:40vh}.md\:max-w-2xl{max-width:var(--container-2xl)}.md\:-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.md\:translate-x-4{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.md\:-translate-y-4{--tw-translate-y:calc(var(--spacing) * -4);translate:var(--tw-translate-x) var(--tw-translate-y)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:items-end{align-items:flex-end}.md\:justify-start{justify-content:flex-start}.md\:gap-4{gap:calc(var(--spacing) * 4)}.md\:gap-6{gap:calc(var(--spacing) * 6)}.md\:gap-8{gap:calc(var(--spacing) * 8)}.md\:gap-12{gap:calc(var(--spacing) * 12)}.md\:gap-16{gap:calc(var(--spacing) * 16)}.md\:gap-24{gap:calc(var(--spacing) * 24)}.md\:gap-\[80px\]{gap:80px}:where(.md\:space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.md\:gap-y-0{row-gap:0}.md\:p-4{padding:calc(var(--spacing) * 4)}.md\:p-6{padding:calc(var(--spacing) * 6)}.md\:p-8{padding:calc(var(--spacing) * 8)}.md\:p-10{padding:calc(var(--spacing) * 10)}.md\:p-12{padding:calc(var(--spacing) * 12)}.md\:px-0{padding-inline:0}.md\:px-6{padding-inline:calc(var(--spacing) * 6)}.md\:px-8{padding-inline:calc(var(--spacing) * 8)}.md\:px-10{padding-inline:calc(var(--spacing) * 10)}.md\:py-20{padding-block:calc(var(--spacing) * 20)}.md\:py-28{padding-block:calc(var(--spacing) * 28)}.md\:py-40{padding-block:calc(var(--spacing) * 40)}.md\:py-48{padding-block:calc(var(--spacing) * 48)}.md\:pt-20{padding-top:calc(var(--spacing) * 20)}.md\:pr-8{padding-right:calc(var(--spacing) * 8)}.md\:pr-12{padding-right:calc(var(--spacing) * 12)}.md\:pb-6{padding-bottom:calc(var(--spacing) * 6)}.md\:pb-12{padding-bottom:calc(var(--spacing) * 12)}.md\:pl-6{padding-left:calc(var(--spacing) * 6)}.md\:pl-12{padding-left:calc(var(--spacing) * 12)}.md\:pl-24{padding-left:calc(var(--spacing) * 24)}.md\:text-right{text-align:right}.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.md\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.md\:text-8xl{font-size:var(--text-8xl);line-height:var(--tw-leading,var(--text-8xl--line-height))}.md\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.md\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.md\:text-\[1\.8rem\]{font-size:1.8rem}.md\:text-\[18px\]{font-size:18px}.md\:text-\[24px\]{font-size:24px}.md\:text-\[32px\]{font-size:32px}.md\:text-\[42px\]{font-size:42px}.md\:leading-\[54px\]{--tw-leading:54px;line-height:54px}}@media (width>=64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:-mt-16{margin-top:calc(var(--spacing) * -16)}.lg\:block{display:block}.lg\:h-\[75vh\]{height:75vh}.lg\:h-\[700px\]{height:700px}.lg\:w-1\/2{width:50%}.lg\:w-1\/3{width:33.3333%}.lg\:w-2\/3{width:66.6667%}.lg\:w-80{width:calc(var(--spacing) * 80)}.lg\:max-w-\[60\%\]{max-width:60%}.lg\:max-w-\[70\%\]{max-width:70%}.lg\:max-w-\[75\%\]{max-width:75%}.lg\:max-w-\[85\%\]{max-width:85%}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:gap-\[160px\]{gap:160px}.lg\:p-8{padding:calc(var(--spacing) * 8)}.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}.lg\:px-16{padding-inline:calc(var(--spacing) * 16)}.lg\:pt-24{padding-top:calc(var(--spacing) * 24)}.lg\:pt-48{padding-top:calc(var(--spacing) * 48)}.lg\:pb-32{padding-bottom:calc(var(--spacing) * 32)}.lg\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.lg\:text-8xl{font-size:var(--text-8xl);line-height:var(--tw-leading,var(--text-8xl--line-height))}}@media (width>=80rem){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:px-\[60px\]{padding-inline:60px}.xl\:pr-\[100px\]{padding-right:100px}}@media (width>=96rem){.\32 xl\:mb-\[12px\]{margin-bottom:12px}.\32 xl\:h-\[56px\]{height:56px}.\32 xl\:h-\[198px\]{height:198px}.\32 xl\:scale-\[1\]{scale:1}.\32 xl\:justify-start{justify-content:flex-start}.\32 xl\:gap-\[267px\]{gap:267px}.\32 xl\:px-\[174px\]{padding-inline:174px}.\32 xl\:pr-\[174px\]{padding-right:174px}.\32 xl\:text-\[20px\]{font-size:20px}.\32 xl\:text-\[50px\]{font-size:50px}}@media (prefers-color-scheme:dark){.dark\:border-blue-500{border-color:var(--color-blue-500)}.dark\:border-blue-500\/30{border-color:#3080ff4d}@supports (color:color-mix(in lab, red, red)){.dark\:border-blue-500\/30{border-color:color-mix(in oklab, var(--color-blue-500) 30%, transparent)}}.dark\:border-emerald-600{border-color:var(--color-emerald-600)}.dark\:border-emerald-900\/50{border-color:#004e3b80}@supports (color:color-mix(in lab, red, red)){.dark\:border-emerald-900\/50{border-color:color-mix(in oklab, var(--color-emerald-900) 50%, transparent)}}.dark\:border-gray-800{border-color:var(--color-gray-800)}.dark\:border-sky-600{border-color:var(--color-sky-600)}.dark\:border-sky-900\/50{border-color:#024a7080}@supports (color:color-mix(in lab, red, red)){.dark\:border-sky-900\/50{border-color:color-mix(in oklab, var(--color-sky-900) 50%, transparent)}}.dark\:border-slate-600{border-color:var(--color-slate-600)}.dark\:border-slate-700{border-color:var(--color-slate-700)}.dark\:border-slate-700\/50{border-color:#31415880}@supports (color:color-mix(in lab, red, red)){.dark\:border-slate-700\/50{border-color:color-mix(in oklab, var(--color-slate-700) 50%, transparent)}}.dark\:border-slate-800{border-color:var(--color-slate-800)}.dark\:border-violet-600{border-color:var(--color-violet-600)}.dark\:border-violet-900\/50{border-color:#4d179a80}@supports (color:color-mix(in lab, red, red)){.dark\:border-violet-900\/50{border-color:color-mix(in oklab, var(--color-violet-900) 50%, transparent)}}.dark\:border-white{border-color:var(--color-white)}.dark\:bg-black{background-color:var(--color-black)}.dark\:bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.dark\:bg-black\/80{background-color:color-mix(in oklab, var(--color-black) 80%, transparent)}}.dark\:bg-blue-900\/10{background-color:#1c398e1a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-blue-900\/10{background-color:color-mix(in oklab, var(--color-blue-900) 10%, transparent)}}.dark\:bg-blue-900\/20{background-color:#1c398e33}@supports (color:color-mix(in lab, red, red)){.dark\:bg-blue-900\/20{background-color:color-mix(in oklab, var(--color-blue-900) 20%, transparent)}}.dark\:bg-emerald-900\/10{background-color:#004e3b1a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-emerald-900\/10{background-color:color-mix(in oklab, var(--color-emerald-900) 10%, transparent)}}.dark\:bg-emerald-900\/30{background-color:#004e3b4d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-emerald-900\/30{background-color:color-mix(in oklab, var(--color-emerald-900) 30%, transparent)}}.dark\:bg-gray-50{background-color:var(--color-gray-50)}.dark\:bg-gray-100{background-color:var(--color-gray-100)}.dark\:bg-gray-900{background-color:var(--color-gray-900)}.dark\:bg-sky-600\/10{background-color:#0084cc1a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-sky-600\/10{background-color:color-mix(in oklab, var(--color-sky-600) 10%, transparent)}}.dark\:bg-sky-900\/10{background-color:#024a701a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-sky-900\/10{background-color:color-mix(in oklab, var(--color-sky-900) 10%, transparent)}}.dark\:bg-sky-900\/30{background-color:#024a704d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-sky-900\/30{background-color:color-mix(in oklab, var(--color-sky-900) 30%, transparent)}}.dark\:bg-slate-700{background-color:var(--color-slate-700)}.dark\:bg-slate-700\/50{background-color:#31415880}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-700\/50{background-color:color-mix(in oklab, var(--color-slate-700) 50%, transparent)}}.dark\:bg-slate-800{background-color:var(--color-slate-800)}.dark\:bg-slate-800\/50{background-color:#1d293d80}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-800\/50{background-color:color-mix(in oklab, var(--color-slate-800) 50%, transparent)}}.dark\:bg-slate-800\/90{background-color:#1d293de6}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-800\/90{background-color:color-mix(in oklab, var(--color-slate-800) 90%, transparent)}}.dark\:bg-slate-900{background-color:var(--color-slate-900)}.dark\:bg-violet-600\/10{background-color:#7f22fe1a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-violet-600\/10{background-color:color-mix(in oklab, var(--color-violet-600) 10%, transparent)}}.dark\:bg-violet-900\/10{background-color:#4d179a1a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-violet-900\/10{background-color:color-mix(in oklab, var(--color-violet-900) 10%, transparent)}}.dark\:bg-violet-900\/30{background-color:#4d179a4d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-violet-900\/30{background-color:color-mix(in oklab, var(--color-violet-900) 30%, transparent)}}.dark\:bg-white{background-color:var(--color-white)}.dark\:from-gray-600{--tw-gradient-from:var(--color-gray-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:from-slate-900{--tw-gradient-from:var(--color-slate-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:from-violet-900\/20{--tw-gradient-from:#4d179a33}@supports (color:color-mix(in lab, red, red)){.dark\:from-violet-900\/20{--tw-gradient-from:color-mix(in oklab, var(--color-violet-900) 20%, transparent)}}.dark\:from-violet-900\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:to-sky-900\/20{--tw-gradient-to:#024a7033}@supports (color:color-mix(in lab, red, red)){.dark\:to-sky-900\/20{--tw-gradient-to:color-mix(in oklab, var(--color-sky-900) 20%, transparent)}}.dark\:to-sky-900\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:to-slate-800{--tw-gradient-to:var(--color-slate-800);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:text-blue-300{color:var(--color-blue-300)}.dark\:text-blue-400{color:var(--color-blue-400)}.dark\:text-gray-100{color:var(--color-gray-100)}.dark\:text-gray-200{color:var(--color-gray-200)}.dark\:text-gray-300{color:var(--color-gray-300)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-gray-500{color:var(--color-gray-500)}.dark\:text-gray-600{color:var(--color-gray-600)}.dark\:text-gray-900{color:var(--color-gray-900)}.dark\:text-purple-400{color:var(--color-purple-400)}.dark\:text-slate-800{color:var(--color-slate-800)}.dark\:text-violet-400{color:var(--color-violet-400)}.dark\:text-white{color:var(--color-white)}.dark\:opacity-40{opacity:.4}.dark\:opacity-\[0\.06\]{opacity:.06}.dark\:shadow-\[0_0_30px_rgba\(0\,0\,0\,0\.4\)\]{--tw-shadow:0 0 30px var(--tw-shadow-color,#0006);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.dark\:shadow-\[0_4px_20px_rgba\(0\,0\,0\,0\.3\)\]{--tw-shadow:0 4px 20px var(--tw-shadow-color,#0000004d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.dark\:shadow-black\/20{--tw-shadow-color:#0003}@supports (color:color-mix(in lab, red, red)){.dark\:shadow-black\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.dark\:shadow-black\/40{--tw-shadow-color:#0006}@supports (color:color-mix(in lab, red, red)){.dark\:shadow-black\/40{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 40%, transparent) var(--tw-shadow-alpha), transparent)}}@media (hover:hover){.dark\:hover\:border-emerald-500:hover{border-color:var(--color-emerald-500)}.dark\:hover\:border-sky-500:hover{border-color:var(--color-sky-500)}.dark\:hover\:border-violet-500:hover{border-color:var(--color-violet-500)}.dark\:hover\:bg-blue-600:hover{background-color:var(--color-blue-600)}.dark\:hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.dark\:hover\:bg-slate-600:hover{background-color:var(--color-slate-600)}.dark\:hover\:text-white:hover{color:var(--color-white)}.dark\:hover\:shadow-\[0_0_15px_rgba\(255\,255\,255\,0\.2\)\]:hover{--tw-shadow:0 0 15px var(--tw-shadow-color,#fff3);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.dark\:hover\:shadow-\[0_8px_30px_rgba\(59\,130\,246\,0\.2\)\]:hover{--tw-shadow:0 8px 30px var(--tw-shadow-color,#3b82f633);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.dark\:hover\:shadow-\[0_20px_60px_rgba\(255\,255\,255\,0\.15\)\]:hover{--tw-shadow:0 20px 60px var(--tw-shadow-color,#ffffff26);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.dark\:hover\:shadow-blue-500\/20:hover{--tw-shadow-color:#3080ff33}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:shadow-blue-500\/20:hover{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-blue-500) 20%, transparent) var(--tw-shadow-alpha), transparent)}}}}.menu-shadow{box-shadow:0 8px 16px #00000014}.tag-basic{color:#374151;background-color:#f3f4f6;border-radius:.25rem;padding:.125rem .375rem;font-size:.75rem}.tag-new{color:#00b42a;background-color:#e6f7e9;border-radius:.25rem;padding:.125rem .375rem;font-size:.75rem}.tag-hot{color:#ff7d00;background-color:#fff2e8;border-radius:.25rem;padding:.125rem .375rem;font-size:.75rem}.tag-preview{color:#06f;background-color:#e8f3ff;border-radius:.25rem;padding:.125rem .375rem;font-size:.75rem}.tag-feature{color:#06f;background-color:#f5faff;border-radius:.25rem;padding:.125rem .375rem;font-size:.75rem}.sidebar-submenu-active{color:#1e40af;background-color:#1e40af1a;border-left:2px solid #1e40af;font-weight:500}.card-shadow{box-shadow:0 4px 12px #00000014}.animate-float{animation:6s ease-in-out infinite float}.animate-pulse-slow{animation:4s cubic-bezier(.4,0,.6,1) infinite pulse}.scale-in{animation:.3s ease-out forwards scaleIn}.slide-up{animation:.4s ease-out forwards slideUp}.search-btn{color:#6b7280;border-radius:0 .375rem .375rem 0;justify-content:center;align-items:center;height:100%;padding:0 1rem;transition:all .2s ease-in-out;display:flex}.search-btn:hover{color:#1e40af}.search-icon{transition:transform .2s ease-in-out}.search-btn:hover .search-icon{transform:scale(1.03)}.search-btn:active .search-icon{transform:scale(.95)}.search-wrapper{transition:all .3s ease-in-out}.search-btn-focus{color:#1e40af;border-color:#1e40af}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-20px)}to{transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes gradientAnimation{0%{background-position:0}50%{background-position:100%}to{background-position:0}}#header[data-nav-theme=dark] nav a[data-menu]{color:#555867}#header[data-nav-theme=dark] nav a[data-menu]:hover{color:#111827}#header[data-nav-theme=light] nav a[data-menu]{color:#fff;text-shadow:0 1px 6px #000000a6}#header[data-nav-theme=light] nav a[data-menu]:hover{color:#dbeafe}#header[data-nav-theme=light] nav a[data-menu]:hover:after{background-color:#fff}section{position:relative}section .absolute.left-0,section .absolute.right-0{overflow:hidden}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}.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-synthesis:none;font-variant:normal;font-style:normal;font-weight:var(--fa-style,900);text-align:center;text-rendering:auto;width:var(--fa-width,1.25em);line-height:1}: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{vertical-align:.225em;font-size:.625em;line-height:.1em}.fa-xs{vertical-align:.125em;font-size:.75em;line-height:.08333em}.fa-sm{vertical-align:.05357em;font-size:.875em;line-height:.07143em}.fa-lg{vertical-align:-.075em;font-size:1.25em;line-height:.05em}.fa-xl{vertical-align:-.125em;font-size:1.5em;line-height:.04167em}.fa-2xl{vertical-align:-.1875em;font-size:2em;line-height:.03125em}.fa-width-auto{--fa-width:auto}.fa-fw,.fa-width-fixed{--fa-width:1.25em}.fa-canvas-square{margin-block-end:-.125em;padding-block:.125em}.fa-canvas-roomy{box-sizing:content-box;margin-block-end:-.25em;padding-block:.25em;padding-inline:.125em}.fa-ul{margin-inline-start:var(--fa-li-margin,2.5em);padding-inline-start:0;list-style-type:none}.fa-ul>li{position:relative}.fa-li{text-align:center;width:var(--fa-li-width,2em);line-height:inherit;position:absolute;inset-inline-start:calc(var(--fa-li-width,2em)*-1)}.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,ease-in-out)}.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,ease-in-out)}.fa-flip{animation-name:fa-flip;animation-duration:var(--fa-animation-duration,1.5s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-flip,.fa-flip-360{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-flip-360{animation-name:fa-flip-360;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-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,.75s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-spin{animation-name:fa-spin;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);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))}.fa-spin-snap{animation-name:fa-spin-snap;animation-duration:var(--fa-animation-duration,3s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-snap,.fa-spin-snap-4{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-spin-snap-4{animation-name:fa-spin-snap-4;animation-duration:var(--fa-animation-duration,2.4s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-snap-8{animation-name:fa-spin-snap-8;animation-duration:var(--fa-animation-duration,4s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-buzz,.fa-spin-snap-8{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-buzz{animation-name:fa-buzz;animation-duration:var(--fa-animation-duration,.6s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-wag{animation-name:fa-wag;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,.9s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-out);transform-origin:bottom}.fa-float{animation-name:fa-float;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,3s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out);will-change:transform}.fa-swing{animation-name:fa-swing;animation-duration:var(--fa-animation-duration,1.2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-out);transform-origin:top}.fa-jello,.fa-swing{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-jello{animation-name:fa-jello;animation-duration:var(--fa-animation-duration,.9s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-out)}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-buzz,.fa-fade,.fa-flip,.fa-flip-360,.fa-float,.fa-jello,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse,.fa-spin-snap,.fa-spin-snap-4,.fa-spin-snap-8,.fa-swing,.fa-wag{transition:none!important;animation:none!important}}@keyframes fa-beat{0%{transform:scale(1)}25%{transform:scale(calc(var(--fa-beat-scale,1.25)*1.25))}45%{transform:scale(calc(var(--fa-beat-scale,1.22)*1.22))}65%{transform:scale(calc(var(--fa-beat-scale,1.25)*1.25))}90%{transform:scale(1)}}@keyframes fa-bounce{0%{animation-timing-function:var(--fa-animation-timing);transform:scale(1)translateY(0)}14%{transform:scale(var(--fa-bounce-start-scale-x,1.06),var(--fa-bounce-start-scale-y,.94)) translateY(var(--fa-bounce-anticipation,3px));animation-timing-function:cubic-bezier(.33,0,.66,.33)}32%{transform:scale(var(--fa-bounce-jump-scale-x,.94),var(--fa-bounce-jump-scale-y,1.12)) translateY(calc(var(--fa-bounce-height,.5em)*-1));animation-timing-function:cubic-bezier(.33,.66,.66,1)}52%{transform:scale(1) translateY(calc(var(--fa-bounce-height,.5em)*-1*1.1));animation-timing-function:cubic-bezier(.5,0,1,.5)}70%{transform:scale(var(--fa-bounce-land-scale-x,1.06),var(--fa-bounce-land-scale-y,.92)) translateY(0);animation-timing-function:cubic-bezier(.33,.33,.66,1)}85%{transform:scale(.98,1.04) translateY(calc(-2px*var(--fa-bounce-rebound,1)));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:scale(1)translateY(0)}}@keyframes fa-fade{0%{opacity:1;animation-timing-function:cubic-bezier(.2,0,.4,1);transform:scale(1)}40%{opacity:var(--fa-fade-opacity,.4);animation-timing-function:cubic-bezier(.4,0,.6,1);transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes fa-beat-fade{0%{opacity:var(--fa-beat-fade-opacity,.4);animation-timing-function:cubic-bezier(.2,0,.4,1);transform:scale(1)}25%{opacity:calc(var(--fa-beat-fade-opacity,.4) + .4);transform:scale(var(--fa-beat-fade-scale,1.28));animation-timing-function:cubic-bezier(.4,0,.6,1)}45%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.25));animation-timing-function:cubic-bezier(.4,0,.2,1)}65%{opacity:calc(var(--fa-beat-fade-opacity,.4) + .4);transform:scale(var(--fa-beat-fade-scale,1.28));animation-timing-function:cubic-bezier(.4,0,.6,1)}to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}}@keyframes fa-flip{0%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),0deg);animation-timing-function:cubic-bezier(.2,0,.4,1)}8%{transform:perspective(2em) scale(var(--fa-flip-anticipation-scale,.95)) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),0deg);animation-timing-function:cubic-bezier(.33,0,.66,.33)}35%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),calc(var(--fa-flip-angle,-1turn)*.6));animation-timing-function:linear}65%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),calc(var(--fa-flip-angle,-1turn)*.5));animation-timing-function:cubic-bezier(.33,.66,.66,1)}92%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),calc(var(--fa-flip-angle,-1turn)*var(--fa-flip-overshoot,1.04)));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-1turn))}}@keyframes fa-flip-360{0%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),0deg);animation-timing-function:cubic-bezier(.2,0,.4,1)}8%{transform:perspective(2em) scale(var(--fa-flip-anticipation-scale,.95)) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),0deg);animation-timing-function:cubic-bezier(.33,0,.66,.33)}50%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),calc(var(--fa-flip-angle,-1turn)*.6));animation-timing-function:cubic-bezier(.33,.66,.66,1)}80%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),calc(var(--fa-flip-angle,-1turn)*var(--fa-flip-overshoot,1.04)));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-1turn))}}@keyframes fa-shake{0%{animation-timing-function:cubic-bezier(.2,0,.8,1);transform:rotate(0)}8%{animation-timing-function:cubic-bezier(.3,0,.7,1);transform:rotate(35deg)translate(1px)}20%{animation-timing-function:cubic-bezier(.3,0,.7,1);transform:rotate(-22deg)translate(-1px)}35%{animation-timing-function:cubic-bezier(.3,0,.7,1);transform:rotate(15deg)translate(1px)}50%{animation-timing-function:cubic-bezier(.4,0,.6,1);transform:rotate(-9deg)}65%{animation-timing-function:cubic-bezier(.4,0,.6,1);transform:rotate(5deg)}78%{animation-timing-function:cubic-bezier(.4,0,.6,1);transform:rotate(-3deg)}90%{animation-timing-function:cubic-bezier(.4,0,.2,1);transform:rotate(1deg)}to{transform:rotate(0)}}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes fa-spin-snap{0%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(0)}12%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(60deg)}16.67%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(60deg)}28.67%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(120deg)}33.33%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(120deg)}45.33%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(180deg)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(180deg)}62%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(240deg)}66.67%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(240deg)}78.67%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(300deg)}83.33%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(300deg)}95.33%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(1turn)}to{transform:rotate(1turn)}}@keyframes fa-spin-snap-4{0%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(0)}15%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(90deg)}25%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(90deg)}40%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(180deg)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(180deg)}65%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(270deg)}75%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(270deg)}90%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(1turn)}to{transform:rotate(1turn)}}@keyframes fa-spin-snap-8{0%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(0)}9%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(45deg)}12.5%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(45deg)}21.5%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(90deg)}25%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(90deg)}34%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(135deg)}37.5%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(135deg)}46.5%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(180deg)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(180deg)}59%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(225deg)}62.5%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(225deg)}71.5%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(270deg)}75%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(270deg)}84%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(315deg)}87.5%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(315deg)}96.5%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(1turn)}to{transform:rotate(1turn)}}@keyframes fa-buzz{0%{animation-timing-function:cubic-bezier(.1,0,.9,1);transform:translate(0)rotate(0)}5%{transform:translateX(var(--fa-buzz-distance,4px)) rotate(.5deg)}10%{transform:translateX(calc(var(--fa-buzz-distance,4px)*-1)) rotate(-.5deg)}15%{transform:translateX(var(--fa-buzz-distance,4px)) rotate(.3deg)}20%{transform:translateX(calc(var(--fa-buzz-distance,4px)*-1)) rotate(-.3deg)}25%{transform:translateX(calc(var(--fa-buzz-distance,4px)*.7)) rotate(.2deg)}30%{transform:translateX(calc(var(--fa-buzz-distance,4px)*-1*.7)) rotate(-.2deg)}35%{transform:translateX(calc(var(--fa-buzz-distance,4px)*.4)) rotate(.1deg)}40%{transform:translate(0)rotate(0)}to{transform:translate(0)rotate(0)}}@keyframes fa-wag{0%{animation-timing-function:cubic-bezier(.2,0,.6,1);transform:rotate(0)}12%{transform:rotate(var(--fa-wag-angle,12deg));animation-timing-function:cubic-bezier(.4,0,.2,1)}24%{animation-timing-function:cubic-bezier(.2,0,.6,1);transform:rotate(2deg)}36%{transform:rotate(calc(var(--fa-wag-angle,12deg)*.85));animation-timing-function:cubic-bezier(.4,0,.2,1)}48%{animation-timing-function:cubic-bezier(.2,0,.6,1);transform:rotate(1deg)}58%{transform:rotate(calc(var(--fa-wag-angle,12deg)*.6));animation-timing-function:cubic-bezier(.4,0,.2,1)}68%{transform:rotate(0)}to{transform:rotate(0)}}@keyframes fa-float{0%{transform:translateY(0) translateX(0) rotate(0deg) scale(var(--fa-float-squash-x,1.02),var(--fa-float-squash-y,.98));animation-timing-function:cubic-bezier(.33,0,.66,.33)}15%{transform:translateY(calc(var(--fa-float-height,6px)*-.4)) translateX(var(--fa-float-drift,1px)) rotate(var(--fa-float-tilt,1deg)) scale(1);animation-timing-function:cubic-bezier(.33,.66,.66,1)}35%{transform:translateY(calc(var(--fa-float-height,6px)*-1)) translateX(0) rotate(0deg) scale(var(--fa-float-stretch-x,.98),var(--fa-float-stretch-y,1.03));animation-timing-function:cubic-bezier(.5,0,.5,0)}50%{transform:translateY(calc(var(--fa-float-height,6px)*-.92)) translateX(calc(var(--fa-float-drift,1px)*-.5)) rotate(calc(var(--fa-float-tilt,1deg)*-.5)) scale(.995,1.01);animation-timing-function:cubic-bezier(.33,0,.66,.33)}70%{transform:translateY(calc(var(--fa-float-height,6px)*-.3)) translateX(calc(var(--fa-float-drift,1px)*-1)) rotate(calc(var(--fa-float-tilt,1deg)*-1)) scale(1);animation-timing-function:cubic-bezier(.33,.66,.66,1)}90%{transform:translateY(calc(var(--fa-float-height,6px)*.05)) translateX(0) rotate(0deg) scale(var(--fa-float-squash-x,1.02),var(--fa-float-squash-y,.98));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:translateY(0) translateX(0) rotate(0deg) scale(var(--fa-float-squash-x,1.02),var(--fa-float-squash-y,.98))}}@keyframes fa-swing{0%{animation-timing-function:cubic-bezier(.2,0,.8,1);transform:rotate(0)}8%{transform:rotate(var(--fa-swing-angle,22deg));animation-timing-function:cubic-bezier(.3,0,.7,1)}18%{transform:rotate(calc(var(--fa-swing-angle,22deg)*-1*.85));animation-timing-function:cubic-bezier(.3,0,.7,1)}28%{transform:rotate(calc(var(--fa-swing-angle,22deg)*.65));animation-timing-function:cubic-bezier(.35,0,.65,1)}38%{transform:rotate(calc(var(--fa-swing-angle,22deg)*-1*.45));animation-timing-function:cubic-bezier(.4,0,.6,1)}48%{transform:rotate(calc(var(--fa-swing-angle,22deg)*.25));animation-timing-function:cubic-bezier(.4,0,.6,1)}56%{transform:rotate(calc(var(--fa-swing-angle,22deg)*-1*.1));animation-timing-function:cubic-bezier(.4,0,.6,1)}64%{transform:rotate(0)}to{transform:rotate(0)}}@keyframes fa-jello{0%{animation-timing-function:cubic-bezier(.2,0,.8,1);transform:scale(1)}12%{transform:scale(var(--fa-jello-scale-x,1.15),calc(2 - var(--fa-jello-scale-x,1.15)));animation-timing-function:cubic-bezier(.3,0,.7,1)}24%{transform:scale(calc(2 - var(--fa-jello-scale-y,1.12)),var(--fa-jello-scale-y,1.12));animation-timing-function:cubic-bezier(.3,0,.7,1)}36%{transform:scale(calc(.5 + var(--fa-jello-scale-x,1.15)*.5),calc(1.5 - var(--fa-jello-scale-x,1.15)*.5));animation-timing-function:cubic-bezier(.4,0,.6,1)}48%{transform:scale(calc(1.3 - var(--fa-jello-scale-y,1.12)*.3),calc(.7 + var(--fa-jello-scale-y,1.12)*.3));animation-timing-function:cubic-bezier(.4,0,.6,1)}58%{animation-timing-function:cubic-bezier(.4,0,.2,1);transform:scale(1.02,.98)}68%{transform:scale(1)}to{transform:scale(1)}}.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{vertical-align:middle;width:2.5em;height:2em;line-height:2em;display:inline-block;position:relative}.fa-stack-1x,.fa-stack-2x{--fa-width:100%;text-align:center;width:var(--fa-width);z-index:var(--fa-stack-z-index,auto);position:absolute;inset:0}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}.fa-0{--fa:"0"}.fa-1{--fa:"1"}.fa-2{--fa:"2"}.fa-3{--fa:"3"}.fa-4{--fa:"4"}.fa-5{--fa:"5"}.fa-6{--fa:"6"}.fa-7{--fa:"7"}.fa-8{--fa:"8"}.fa-9{--fa:"9"}.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:""}.fa-faucet-drip{--fa:""}.fa-house-chimney-window{--fa:""}.fa-house-signal{--fa:""}.fa-temperature-arrow-down,.fa-temperature-down{--fa:""}.fa-temperature-arrow-up,.fa-temperature-up{--fa:""}.fa-trailer{--fa:""}.fa-bacteria{--fa:""}.fa-bacterium{--fa:""}.fa-box-tissue{--fa:""}.fa-hand-holding-medical{--fa:""}.fa-hand-sparkles{--fa:""}.fa-hands-bubbles,.fa-hands-wash{--fa:""}.fa-handshake-alt-slash,.fa-handshake-simple-slash,.fa-handshake-slash{--fa:""}.fa-head-side-cough{--fa:""}.fa-head-side-cough-slash{--fa:""}.fa-head-side-mask{--fa:""}.fa-head-side-virus{--fa:""}.fa-house-chimney-user{--fa:""}.fa-house-laptop,.fa-laptop-house{--fa:""}.fa-lungs-virus{--fa:""}.fa-people-arrows,.fa-people-arrows-left-right{--fa:""}.fa-plane-slash{--fa:""}.fa-pump-medical{--fa:""}.fa-pump-soap{--fa:""}.fa-shield-virus{--fa:""}.fa-sink{--fa:""}.fa-soap{--fa:""}.fa-stopwatch-20{--fa:""}.fa-shop-slash,.fa-store-alt-slash{--fa:""}.fa-store-slash{--fa:""}.fa-toilet-paper-slash{--fa:""}.fa-users-slash{--fa:""}.fa-virus{--fa:""}.fa-virus-slash{--fa:""}.fa-viruses{--fa:""}.fa-vest{--fa:""}.fa-vest-patches{--fa:""}.fa-arrow-trend-down{--fa:""}.fa-arrow-trend-up{--fa:""}.fa-arrow-up-from-bracket{--fa:""}.fa-austral-sign{--fa:""}.fa-baht-sign{--fa:""}.fa-bitcoin-sign{--fa:""}.fa-bolt-lightning{--fa:""}.fa-book-bookmark{--fa:""}.fa-camera-rotate{--fa:""}.fa-cedi-sign{--fa:""}.fa-chart-column{--fa:""}.fa-chart-gantt{--fa:""}.fa-clapperboard{--fa:""}.fa-closed-captioning-slash{--fa:""}.fa-clover{--fa:""}.fa-code-compare{--fa:""}.fa-code-fork{--fa:""}.fa-code-pull-request{--fa:""}.fa-colon-sign{--fa:""}.fa-cruzeiro-sign{--fa:""}.fa-display{--fa:""}.fa-dong-sign{--fa:""}.fa-elevator{--fa:""}.fa-filter-circle-xmark{--fa:""}.fa-florin-sign{--fa:""}.fa-folder-closed{--fa:""}.fa-franc-sign{--fa:""}.fa-guarani-sign{--fa:""}.fa-gun{--fa:""}.fa-hands-clapping{--fa:""}.fa-home-user,.fa-house-user{--fa:""}.fa-indian-rupee,.fa-indian-rupee-sign,.fa-inr{--fa:""}.fa-kip-sign{--fa:""}.fa-lari-sign{--fa:""}.fa-litecoin-sign{--fa:""}.fa-manat-sign{--fa:""}.fa-mask-face{--fa:""}.fa-mill-sign{--fa:""}.fa-money-bills{--fa:""}.fa-naira-sign{--fa:""}.fa-notdef{--fa:""}.fa-panorama{--fa:""}.fa-peseta-sign{--fa:""}.fa-peso-sign{--fa:""}.fa-plane-up{--fa:""}.fa-rupiah-sign{--fa:""}.fa-stairs{--fa:""}.fa-timeline{--fa:""}.fa-truck-front{--fa:""}.fa-try,.fa-turkish-lira,.fa-turkish-lira-sign{--fa:""}.fa-vault{--fa:""}.fa-magic-wand-sparkles,.fa-wand-magic-sparkles{--fa:""}.fa-wheat-alt,.fa-wheat-awn{--fa:""}.fa-wheelchair-alt,.fa-wheelchair-move{--fa:""}.fa-bangladeshi-taka-sign{--fa:""}.fa-bowl-rice{--fa:""}.fa-person-pregnant{--fa:""}.fa-home-lg,.fa-house-chimney{--fa:""}.fa-house-crack{--fa:""}.fa-house-medical{--fa:""}.fa-cent-sign{--fa:""}.fa-plus-minus{--fa:""}.fa-sailboat{--fa:""}.fa-section{--fa:""}.fa-shrimp{--fa:""}.fa-brazilian-real-sign{--fa:""}.fa-chart-simple{--fa:""}.fa-diagram-next{--fa:""}.fa-diagram-predecessor{--fa:""}.fa-diagram-successor{--fa:""}.fa-earth-oceania,.fa-globe-oceania{--fa:""}.fa-bug-slash{--fa:""}.fa-file-circle-plus{--fa:""}.fa-shop-lock{--fa:""}.fa-virus-covid{--fa:""}.fa-virus-covid-slash{--fa:""}.fa-anchor-circle-check{--fa:""}.fa-anchor-circle-exclamation{--fa:""}.fa-anchor-circle-xmark{--fa:""}.fa-anchor-lock{--fa:""}.fa-arrow-down-up-across-line{--fa:""}.fa-arrow-down-up-lock{--fa:""}.fa-arrow-right-to-city{--fa:""}.fa-arrow-up-from-ground-water{--fa:""}.fa-arrow-up-from-water-pump{--fa:""}.fa-arrow-up-right-dots{--fa:""}.fa-arrows-down-to-line{--fa:""}.fa-arrows-down-to-people{--fa:""}.fa-arrows-left-right-to-line{--fa:""}.fa-arrows-spin{--fa:""}.fa-arrows-split-up-and-left{--fa:""}.fa-arrows-to-circle{--fa:""}.fa-arrows-to-dot{--fa:""}.fa-arrows-to-eye{--fa:""}.fa-arrows-turn-right{--fa:""}.fa-arrows-turn-to-dots{--fa:""}.fa-arrows-up-to-line{--fa:""}.fa-bore-hole{--fa:""}.fa-bottle-droplet{--fa:""}.fa-bottle-water{--fa:""}.fa-bowl-food{--fa:""}.fa-boxes-packing{--fa:""}.fa-bridge{--fa:""}.fa-bridge-circle-check{--fa:""}.fa-bridge-circle-exclamation{--fa:""}.fa-bridge-circle-xmark{--fa:""}.fa-bridge-lock{--fa:""}.fa-bridge-water{--fa:""}.fa-bucket{--fa:""}.fa-bugs{--fa:""}.fa-building-circle-arrow-right{--fa:""}.fa-building-circle-check{--fa:""}.fa-building-circle-exclamation{--fa:""}.fa-building-circle-xmark{--fa:""}.fa-building-flag{--fa:""}.fa-building-lock{--fa:""}.fa-building-ngo{--fa:""}.fa-building-shield{--fa:""}.fa-building-un{--fa:""}.fa-building-user{--fa:""}.fa-building-wheat{--fa:""}.fa-burst{--fa:""}.fa-car-on{--fa:""}.fa-car-tunnel{--fa:""}.fa-child-combatant,.fa-child-rifle{--fa:""}.fa-children{--fa:""}.fa-circle-nodes{--fa:""}.fa-clipboard-question{--fa:""}.fa-cloud-showers-water{--fa:""}.fa-computer{--fa:""}.fa-cubes-stacked{--fa:""}.fa-envelope-circle-check{--fa:""}.fa-explosion{--fa:""}.fa-ferry{--fa:""}.fa-file-circle-exclamation{--fa:""}.fa-file-circle-minus{--fa:""}.fa-file-circle-question{--fa:""}.fa-file-shield{--fa:""}.fa-fire-burner{--fa:""}.fa-fish-fins{--fa:""}.fa-flask-vial{--fa:""}.fa-glass-water{--fa:""}.fa-glass-water-droplet{--fa:""}.fa-group-arrows-rotate{--fa:""}.fa-hand-holding-hand{--fa:""}.fa-handcuffs{--fa:""}.fa-hands-bound{--fa:""}.fa-hands-holding-child{--fa:""}.fa-hands-holding-circle{--fa:""}.fa-heart-circle-bolt{--fa:""}.fa-heart-circle-check{--fa:""}.fa-heart-circle-exclamation{--fa:""}.fa-heart-circle-minus{--fa:""}.fa-heart-circle-plus{--fa:""}.fa-heart-circle-xmark{--fa:""}.fa-helicopter-symbol{--fa:""}.fa-helmet-un{--fa:""}.fa-hill-avalanche{--fa:""}.fa-hill-rockslide{--fa:""}.fa-house-circle-check{--fa:""}.fa-house-circle-exclamation{--fa:""}.fa-house-circle-xmark{--fa:""}.fa-house-fire{--fa:""}.fa-house-flag{--fa:""}.fa-house-flood-water{--fa:""}.fa-house-flood-water-circle-arrow-right{--fa:""}.fa-house-lock{--fa:""}.fa-house-medical-circle-check{--fa:""}.fa-house-medical-circle-exclamation{--fa:""}.fa-house-medical-circle-xmark{--fa:""}.fa-house-medical-flag{--fa:""}.fa-house-tsunami{--fa:""}.fa-jar{--fa:""}.fa-jar-wheat{--fa:""}.fa-jet-fighter-up{--fa:""}.fa-jug-detergent{--fa:""}.fa-kitchen-set{--fa:""}.fa-land-mine-on{--fa:""}.fa-landmark-flag{--fa:""}.fa-laptop-file{--fa:""}.fa-lines-leaning{--fa:""}.fa-location-pin-lock{--fa:""}.fa-locust{--fa:""}.fa-magnifying-glass-arrow-right{--fa:""}.fa-magnifying-glass-chart{--fa:""}.fa-mars-and-venus-burst{--fa:""}.fa-mask-ventilator{--fa:""}.fa-mattress-pillow{--fa:""}.fa-mobile-retro{--fa:""}.fa-money-bill-transfer{--fa:""}.fa-money-bill-trend-up{--fa:""}.fa-money-bill-wheat{--fa:""}.fa-mosquito{--fa:""}.fa-mosquito-net{--fa:""}.fa-mound{--fa:""}.fa-mountain-city{--fa:""}.fa-mountain-sun{--fa:""}.fa-oil-well{--fa:""}.fa-people-group{--fa:""}.fa-people-line{--fa:""}.fa-people-pulling{--fa:""}.fa-people-robbery{--fa:""}.fa-people-roof{--fa:""}.fa-person-arrow-down-to-line{--fa:""}.fa-person-arrow-up-from-line{--fa:""}.fa-person-breastfeeding{--fa:""}.fa-person-burst{--fa:""}.fa-person-cane{--fa:""}.fa-person-chalkboard{--fa:""}.fa-person-circle-check{--fa:""}.fa-person-circle-exclamation{--fa:""}.fa-person-circle-minus{--fa:""}.fa-person-circle-plus{--fa:""}.fa-person-circle-question{--fa:""}.fa-person-circle-xmark{--fa:""}.fa-person-dress-burst{--fa:""}.fa-person-drowning{--fa:""}.fa-person-falling{--fa:""}.fa-person-falling-burst{--fa:""}.fa-person-half-dress{--fa:""}.fa-person-harassing{--fa:""}.fa-person-military-pointing{--fa:""}.fa-person-military-rifle{--fa:""}.fa-person-military-to-person{--fa:""}.fa-person-rays{--fa:""}.fa-person-rifle{--fa:""}.fa-person-shelter{--fa:""}.fa-person-walking-arrow-loop-left{--fa:""}.fa-person-walking-arrow-right{--fa:""}.fa-person-walking-dashed-line-arrow-right{--fa:""}.fa-person-walking-luggage{--fa:""}.fa-plane-circle-check{--fa:""}.fa-plane-circle-exclamation{--fa:""}.fa-plane-circle-xmark{--fa:""}.fa-plane-lock{--fa:""}.fa-plate-wheat{--fa:""}.fa-plug-circle-bolt{--fa:""}.fa-plug-circle-check{--fa:""}.fa-plug-circle-exclamation{--fa:""}.fa-plug-circle-minus{--fa:""}.fa-plug-circle-plus{--fa:""}.fa-plug-circle-xmark{--fa:""}.fa-ranking-star{--fa:""}.fa-road-barrier{--fa:""}.fa-road-bridge{--fa:""}.fa-road-circle-check{--fa:""}.fa-road-circle-exclamation{--fa:""}.fa-road-circle-xmark{--fa:""}.fa-road-lock{--fa:""}.fa-road-spikes{--fa:""}.fa-rug{--fa:""}.fa-sack-xmark{--fa:""}.fa-school-circle-check{--fa:""}.fa-school-circle-exclamation{--fa:""}.fa-school-circle-xmark{--fa:""}.fa-school-flag{--fa:""}.fa-school-lock{--fa:""}.fa-sheet-plastic{--fa:""}.fa-shield-cat{--fa:""}.fa-shield-dog{--fa:""}.fa-shield-heart{--fa:""}.fa-square-nfi{--fa:""}.fa-square-person-confined{--fa:""}.fa-square-virus{--fa:""}.fa-rod-asclepius,.fa-rod-snake,.fa-staff-aesculapius,.fa-staff-snake{--fa:""}.fa-sun-plant-wilt{--fa:""}.fa-tarp{--fa:""}.fa-tarp-droplet{--fa:""}.fa-tent{--fa:""}.fa-tent-arrow-down-to-line{--fa:""}.fa-tent-arrow-left-right{--fa:""}.fa-tent-arrow-turn-left{--fa:""}.fa-tent-arrows-down{--fa:""}.fa-tents{--fa:""}.fa-toilet-portable{--fa:""}.fa-toilets-portable{--fa:""}.fa-tower-cell{--fa:""}.fa-tower-observation{--fa:""}.fa-tree-city{--fa:""}.fa-trowel{--fa:""}.fa-trowel-bricks{--fa:""}.fa-truck-arrow-right{--fa:""}.fa-truck-droplet{--fa:""}.fa-truck-field{--fa:""}.fa-truck-field-un{--fa:""}.fa-truck-plane{--fa:""}.fa-users-between-lines{--fa:""}.fa-users-line{--fa:""}.fa-users-rays{--fa:""}.fa-users-rectangle{--fa:""}.fa-users-viewfinder{--fa:""}.fa-vial-circle-check{--fa:""}.fa-vial-virus{--fa:""}.fa-wheat-awn-circle-exclamation{--fa:""}.fa-worm{--fa:""}.fa-xmarks-lines{--fa:""}.fa-child-dress{--fa:""}.fa-child-reaching{--fa:""}.fa-file-circle-check{--fa:""}.fa-file-circle-xmark{--fa:""}.fa-person-through-window{--fa:""}.fa-plant-wilt{--fa:""}.fa-stapler{--fa:""}.fa-train-tram{--fa:""}.fa-table-cells-column-lock{--fa:""}.fa-table-cells-row-lock{--fa:""}.fa-thumb-tack-slash,.fa-thumbtack-slash{--fa:""}.fa-table-cells-row-unlock{--fa:""}.fa-chart-diagram{--fa:""}.fa-comment-nodes{--fa:""}.fa-file-fragment{--fa:""}.fa-file-half-dashed{--fa:""}.fa-hexagon-nodes{--fa:""}.fa-hexagon-nodes-bolt{--fa:""}.fa-square-binary{--fa:""}.fa-pentagon{--fa:""}.fa-non-binary{--fa:""}.fa-spiral{--fa:""}.fa-picture-in-picture{--fa:""}.fa-mobile-vibrate{--fa:""}.fa-single-quote-left{--fa:""}.fa-single-quote-right{--fa:""}.fa-bus-side{--fa:""}.fa-heptagon,.fa-septagon{--fa:""}.fa-aquarius{--fa:""}.fa-aries{--fa:""}.fa-cancer{--fa:""}.fa-capricorn{--fa:""}.fa-gemini{--fa:""}.fa-leo{--fa:""}.fa-libra{--fa:""}.fa-pisces{--fa:""}.fa-sagittarius{--fa:""}.fa-scorpio{--fa:""}.fa-taurus{--fa:""}.fa-virgo{--fa:""}.fa-glass-martini,.fa-martini-glass-empty{--fa:""}.fa-music{--fa:""}.fa-magnifying-glass,.fa-search{--fa:""}.fa-heart{--fa:""}.fa-star{--fa:""}.fa-user,.fa-user-alt,.fa-user-large{--fa:""}.fa-film,.fa-film-alt,.fa-film-simple{--fa:""}.fa-table-cells-large,.fa-th-large{--fa:""}.fa-table-cells,.fa-th{--fa:""}.fa-table-list,.fa-th-list{--fa:""}.fa-check{--fa:""}.fa-close,.fa-multiply,.fa-remove,.fa-times,.fa-xmark{--fa:""}.fa-magnifying-glass-plus,.fa-search-plus{--fa:""}.fa-magnifying-glass-minus,.fa-search-minus{--fa:""}.fa-power-off{--fa:""}.fa-signal,.fa-signal-5,.fa-signal-perfect{--fa:""}.fa-cog,.fa-gear{--fa:""}.fa-home,.fa-home-alt,.fa-home-lg-alt,.fa-house{--fa:""}.fa-clock,.fa-clock-four{--fa:""}.fa-road{--fa:""}.fa-download{--fa:""}.fa-inbox{--fa:""}.fa-arrow-right-rotate,.fa-arrow-rotate-forward,.fa-arrow-rotate-right,.fa-redo{--fa:""}.fa-arrows-rotate,.fa-refresh,.fa-sync{--fa:""}.fa-list-alt,.fa-rectangle-list{--fa:""}.fa-lock{--fa:""}.fa-flag{--fa:""}.fa-headphones,.fa-headphones-alt,.fa-headphones-simple{--fa:""}.fa-volume-off{--fa:""}.fa-volume-down,.fa-volume-low{--fa:""}.fa-volume-high,.fa-volume-up{--fa:""}.fa-qrcode{--fa:""}.fa-barcode{--fa:""}.fa-tag{--fa:""}.fa-tags{--fa:""}.fa-book{--fa:""}.fa-bookmark{--fa:""}.fa-print{--fa:""}.fa-camera,.fa-camera-alt{--fa:""}.fa-font{--fa:""}.fa-bold{--fa:""}.fa-italic{--fa:""}.fa-text-height{--fa:""}.fa-text-width{--fa:""}.fa-align-left{--fa:""}.fa-align-center{--fa:""}.fa-align-right{--fa:""}.fa-align-justify{--fa:""}.fa-list,.fa-list-squares{--fa:""}.fa-dedent,.fa-outdent{--fa:""}.fa-indent{--fa:""}.fa-video,.fa-video-camera{--fa:""}.fa-image{--fa:""}.fa-location-pin,.fa-map-marker{--fa:""}.fa-adjust,.fa-circle-half-stroke{--fa:""}.fa-droplet,.fa-tint{--fa:""}.fa-edit,.fa-pen-to-square{--fa:""}.fa-arrows,.fa-arrows-up-down-left-right{--fa:""}.fa-backward-step,.fa-step-backward{--fa:""}.fa-backward-fast,.fa-fast-backward{--fa:""}.fa-backward{--fa:""}.fa-play{--fa:""}.fa-pause{--fa:""}.fa-stop{--fa:""}.fa-forward{--fa:""}.fa-fast-forward,.fa-forward-fast{--fa:""}.fa-forward-step,.fa-step-forward{--fa:""}.fa-eject{--fa:""}.fa-chevron-left{--fa:""}.fa-chevron-right{--fa:""}.fa-circle-plus,.fa-plus-circle{--fa:""}.fa-circle-minus,.fa-minus-circle{--fa:""}.fa-circle-xmark,.fa-times-circle,.fa-xmark-circle{--fa:""}.fa-check-circle,.fa-circle-check{--fa:""}.fa-circle-question,.fa-question-circle{--fa:""}.fa-circle-info,.fa-info-circle{--fa:""}.fa-crosshairs{--fa:""}.fa-ban,.fa-cancel{--fa:""}.fa-arrow-left{--fa:""}.fa-arrow-right{--fa:""}.fa-arrow-up{--fa:""}.fa-arrow-down{--fa:""}.fa-mail-forward,.fa-share{--fa:""}.fa-expand{--fa:""}.fa-compress{--fa:""}.fa-minus,.fa-subtract{--fa:""}.fa-circle-exclamation,.fa-exclamation-circle{--fa:""}.fa-gift{--fa:""}.fa-leaf{--fa:""}.fa-fire{--fa:""}.fa-eye{--fa:""}.fa-eye-slash{--fa:""}.fa-exclamation-triangle,.fa-triangle-exclamation,.fa-warning{--fa:""}.fa-plane{--fa:""}.fa-calendar-alt,.fa-calendar-days{--fa:""}.fa-random,.fa-shuffle{--fa:""}.fa-comment{--fa:""}.fa-magnet{--fa:""}.fa-chevron-up{--fa:""}.fa-chevron-down{--fa:""}.fa-retweet{--fa:""}.fa-cart-shopping,.fa-shopping-cart{--fa:""}.fa-folder,.fa-folder-blank{--fa:""}.fa-folder-open{--fa:""}.fa-arrows-up-down,.fa-arrows-v{--fa:""}.fa-arrows-h,.fa-arrows-left-right{--fa:""}.fa-bar-chart,.fa-chart-bar{--fa:""}.fa-camera-retro{--fa:""}.fa-key{--fa:""}.fa-cogs,.fa-gears{--fa:""}.fa-comments{--fa:""}.fa-star-half{--fa:""}.fa-arrow-right-from-bracket,.fa-sign-out{--fa:""}.fa-thumb-tack,.fa-thumbtack{--fa:""}.fa-arrow-up-right-from-square,.fa-external-link{--fa:""}.fa-arrow-right-to-bracket,.fa-sign-in{--fa:""}.fa-trophy{--fa:""}.fa-upload{--fa:""}.fa-lemon{--fa:""}.fa-phone{--fa:""}.fa-phone-square,.fa-square-phone{--fa:""}.fa-unlock{--fa:""}.fa-credit-card,.fa-credit-card-alt{--fa:""}.fa-feed,.fa-rss{--fa:""}.fa-hard-drive,.fa-hdd{--fa:""}.fa-bullhorn{--fa:""}.fa-certificate{--fa:""}.fa-hand-point-right{--fa:""}.fa-hand-point-left{--fa:""}.fa-hand-point-up{--fa:""}.fa-hand-point-down{--fa:""}.fa-arrow-circle-left,.fa-circle-arrow-left{--fa:""}.fa-arrow-circle-right,.fa-circle-arrow-right{--fa:""}.fa-arrow-circle-up,.fa-circle-arrow-up{--fa:""}.fa-arrow-circle-down,.fa-circle-arrow-down{--fa:""}.fa-globe{--fa:""}.fa-wrench{--fa:""}.fa-list-check,.fa-tasks{--fa:""}.fa-filter{--fa:""}.fa-briefcase{--fa:""}.fa-arrows-alt,.fa-up-down-left-right{--fa:""}.fa-users{--fa:""}.fa-chain,.fa-link{--fa:""}.fa-cloud{--fa:""}.fa-flask{--fa:""}.fa-cut,.fa-scissors{--fa:""}.fa-copy{--fa:""}.fa-paperclip{--fa:""}.fa-floppy-disk,.fa-save{--fa:""}.fa-square{--fa:""}.fa-bars,.fa-navicon{--fa:""}.fa-list-dots,.fa-list-ul{--fa:""}.fa-list-1-2,.fa-list-numeric,.fa-list-ol{--fa:""}.fa-strikethrough{--fa:""}.fa-underline{--fa:""}.fa-table{--fa:""}.fa-magic,.fa-wand-magic{--fa:""}.fa-truck{--fa:""}.fa-money-bill{--fa:""}.fa-caret-down{--fa:""}.fa-caret-up{--fa:""}.fa-caret-left{--fa:""}.fa-caret-right{--fa:""}.fa-columns,.fa-table-columns{--fa:""}.fa-sort,.fa-unsorted{--fa:""}.fa-sort-desc,.fa-sort-down{--fa:""}.fa-sort-asc,.fa-sort-up{--fa:""}.fa-envelope{--fa:""}.fa-arrow-left-rotate,.fa-arrow-rotate-back,.fa-arrow-rotate-backward,.fa-arrow-rotate-left,.fa-undo{--fa:""}.fa-gavel,.fa-legal{--fa:""}.fa-bolt,.fa-zap{--fa:""}.fa-sitemap{--fa:""}.fa-umbrella{--fa:""}.fa-file-clipboard,.fa-paste{--fa:""}.fa-lightbulb{--fa:""}.fa-arrow-right-arrow-left,.fa-exchange{--fa:""}.fa-cloud-arrow-down,.fa-cloud-download,.fa-cloud-download-alt{--fa:""}.fa-cloud-arrow-up,.fa-cloud-upload,.fa-cloud-upload-alt{--fa:""}.fa-user-doctor,.fa-user-md{--fa:""}.fa-stethoscope{--fa:""}.fa-suitcase{--fa:""}.fa-bell{--fa:""}.fa-coffee,.fa-mug-saucer{--fa:""}.fa-hospital,.fa-hospital-alt,.fa-hospital-wide{--fa:""}.fa-ambulance,.fa-truck-medical{--fa:""}.fa-medkit,.fa-suitcase-medical{--fa:""}.fa-fighter-jet,.fa-jet-fighter{--fa:""}.fa-beer,.fa-beer-mug-empty{--fa:""}.fa-h-square,.fa-square-h{--fa:""}.fa-plus-square,.fa-square-plus{--fa:""}.fa-angle-double-left,.fa-angles-left{--fa:""}.fa-angle-double-right,.fa-angles-right{--fa:""}.fa-angle-double-up,.fa-angles-up{--fa:""}.fa-angle-double-down,.fa-angles-down{--fa:""}.fa-angle-left{--fa:""}.fa-angle-right{--fa:""}.fa-angle-up{--fa:""}.fa-angle-down{--fa:""}.fa-laptop{--fa:""}.fa-tablet-button{--fa:""}.fa-mobile-button{--fa:""}.fa-quote-left,.fa-quote-left-alt{--fa:""}.fa-quote-right,.fa-quote-right-alt{--fa:""}.fa-spinner{--fa:""}.fa-circle{--fa:""}.fa-face-smile,.fa-smile{--fa:""}.fa-face-frown,.fa-frown{--fa:""}.fa-face-meh,.fa-meh{--fa:""}.fa-gamepad{--fa:""}.fa-keyboard{--fa:""}.fa-flag-checkered{--fa:""}.fa-terminal{--fa:""}.fa-code{--fa:""}.fa-mail-reply-all,.fa-reply-all{--fa:""}.fa-location-arrow{--fa:""}.fa-crop{--fa:""}.fa-code-branch{--fa:""}.fa-chain-broken,.fa-chain-slash,.fa-link-slash,.fa-unlink{--fa:""}.fa-info{--fa:""}.fa-superscript{--fa:""}.fa-subscript{--fa:""}.fa-eraser{--fa:""}.fa-puzzle-piece{--fa:""}.fa-microphone{--fa:""}.fa-microphone-slash{--fa:""}.fa-shield,.fa-shield-blank{--fa:""}.fa-calendar{--fa:""}.fa-fire-extinguisher{--fa:""}.fa-rocket{--fa:""}.fa-chevron-circle-left,.fa-circle-chevron-left{--fa:""}.fa-chevron-circle-right,.fa-circle-chevron-right{--fa:""}.fa-chevron-circle-up,.fa-circle-chevron-up{--fa:""}.fa-chevron-circle-down,.fa-circle-chevron-down{--fa:""}.fa-anchor{--fa:""}.fa-unlock-alt,.fa-unlock-keyhole{--fa:""}.fa-bullseye{--fa:""}.fa-ellipsis,.fa-ellipsis-h{--fa:""}.fa-ellipsis-v,.fa-ellipsis-vertical{--fa:""}.fa-rss-square,.fa-square-rss{--fa:""}.fa-circle-play,.fa-play-circle{--fa:""}.fa-ticket{--fa:""}.fa-minus-square,.fa-square-minus{--fa:""}.fa-arrow-turn-up,.fa-level-up{--fa:""}.fa-arrow-turn-down,.fa-level-down{--fa:""}.fa-check-square,.fa-square-check{--fa:""}.fa-pen-square,.fa-pencil-square,.fa-square-pen{--fa:""}.fa-external-link-square,.fa-square-arrow-up-right{--fa:""}.fa-share-from-square,.fa-share-square{--fa:""}.fa-compass{--fa:""}.fa-caret-square-down,.fa-square-caret-down{--fa:""}.fa-caret-square-up,.fa-square-caret-up{--fa:""}.fa-caret-square-right,.fa-square-caret-right{--fa:""}.fa-eur,.fa-euro,.fa-euro-sign{--fa:""}.fa-gbp,.fa-pound-sign,.fa-sterling-sign{--fa:""}.fa-rupee,.fa-rupee-sign{--fa:""}.fa-cny,.fa-jpy,.fa-rmb,.fa-yen,.fa-yen-sign{--fa:""}.fa-rouble,.fa-rub,.fa-ruble,.fa-ruble-sign{--fa:""}.fa-krw,.fa-won,.fa-won-sign{--fa:""}.fa-file{--fa:""}.fa-file-alt,.fa-file-lines,.fa-file-text{--fa:""}.fa-arrow-down-a-z,.fa-sort-alpha-asc,.fa-sort-alpha-down{--fa:""}.fa-arrow-up-a-z,.fa-sort-alpha-up{--fa:""}.fa-arrow-down-wide-short,.fa-sort-amount-asc,.fa-sort-amount-down{--fa:""}.fa-arrow-up-wide-short,.fa-sort-amount-up{--fa:""}.fa-arrow-down-1-9,.fa-sort-numeric-asc,.fa-sort-numeric-down{--fa:""}.fa-arrow-up-1-9,.fa-sort-numeric-up{--fa:""}.fa-thumbs-up{--fa:""}.fa-thumbs-down{--fa:""}.fa-arrow-down-long,.fa-long-arrow-down{--fa:""}.fa-arrow-up-long,.fa-long-arrow-up{--fa:""}.fa-arrow-left-long,.fa-long-arrow-left{--fa:""}.fa-arrow-right-long,.fa-long-arrow-right{--fa:""}.fa-female,.fa-person-dress{--fa:""}.fa-male,.fa-person{--fa:""}.fa-sun{--fa:""}.fa-moon{--fa:""}.fa-archive,.fa-box-archive{--fa:""}.fa-bug{--fa:""}.fa-caret-square-left,.fa-square-caret-left{--fa:""}.fa-circle-dot,.fa-dot-circle{--fa:""}.fa-wheelchair{--fa:""}.fa-lira-sign{--fa:""}.fa-shuttle-space,.fa-space-shuttle{--fa:""}.fa-envelope-square,.fa-square-envelope{--fa:""}.fa-bank,.fa-building-columns,.fa-institution,.fa-museum,.fa-university{--fa:""}.fa-graduation-cap,.fa-mortar-board{--fa:""}.fa-language{--fa:""}.fa-fax{--fa:""}.fa-building{--fa:""}.fa-child{--fa:""}.fa-paw{--fa:""}.fa-cube{--fa:""}.fa-cubes{--fa:""}.fa-recycle{--fa:""}.fa-automobile,.fa-car{--fa:""}.fa-cab,.fa-taxi{--fa:""}.fa-tree{--fa:""}.fa-database{--fa:""}.fa-file-pdf{--fa:""}.fa-file-word{--fa:""}.fa-file-excel{--fa:""}.fa-file-powerpoint{--fa:""}.fa-file-image{--fa:""}.fa-file-archive,.fa-file-zipper{--fa:""}.fa-file-audio{--fa:""}.fa-file-video{--fa:""}.fa-file-code{--fa:""}.fa-life-ring{--fa:""}.fa-circle-notch{--fa:""}.fa-paper-plane{--fa:""}.fa-clock-rotate-left,.fa-history{--fa:""}.fa-header,.fa-heading{--fa:""}.fa-paragraph{--fa:""}.fa-sliders,.fa-sliders-h{--fa:""}.fa-share-alt,.fa-share-nodes{--fa:""}.fa-share-alt-square,.fa-square-share-nodes{--fa:""}.fa-bomb{--fa:""}.fa-futbol,.fa-futbol-ball,.fa-soccer-ball{--fa:""}.fa-teletype,.fa-tty{--fa:""}.fa-binoculars{--fa:""}.fa-plug{--fa:""}.fa-newspaper{--fa:""}.fa-wifi,.fa-wifi-3,.fa-wifi-strong{--fa:""}.fa-calculator{--fa:""}.fa-bell-slash{--fa:""}.fa-trash{--fa:""}.fa-copyright{--fa:""}.fa-eye-dropper,.fa-eye-dropper-empty,.fa-eyedropper{--fa:""}.fa-paint-brush,.fa-paintbrush{--fa:""}.fa-birthday-cake,.fa-cake,.fa-cake-candles{--fa:""}.fa-area-chart,.fa-chart-area{--fa:""}.fa-chart-pie,.fa-pie-chart{--fa:""}.fa-chart-line,.fa-line-chart{--fa:""}.fa-toggle-off{--fa:""}.fa-toggle-on{--fa:""}.fa-bicycle{--fa:""}.fa-bus{--fa:""}.fa-closed-captioning{--fa:""}.fa-ils,.fa-shekel,.fa-shekel-sign,.fa-sheqel,.fa-sheqel-sign{--fa:""}.fa-cart-plus{--fa:""}.fa-cart-arrow-down{--fa:""}.fa-diamond{--fa:""}.fa-ship{--fa:""}.fa-user-secret{--fa:""}.fa-motorcycle{--fa:""}.fa-street-view{--fa:""}.fa-heart-pulse,.fa-heartbeat{--fa:""}.fa-venus{--fa:""}.fa-mars{--fa:""}.fa-mercury{--fa:""}.fa-mars-and-venus{--fa:""}.fa-transgender,.fa-transgender-alt{--fa:""}.fa-venus-double{--fa:""}.fa-mars-double{--fa:""}.fa-venus-mars{--fa:""}.fa-mars-stroke{--fa:""}.fa-mars-stroke-up,.fa-mars-stroke-v{--fa:""}.fa-mars-stroke-h,.fa-mars-stroke-right{--fa:""}.fa-neuter{--fa:""}.fa-genderless{--fa:""}.fa-server{--fa:""}.fa-user-plus{--fa:""}.fa-user-times,.fa-user-xmark{--fa:""}.fa-bed{--fa:""}.fa-train{--fa:""}.fa-subway,.fa-train-subway{--fa:""}.fa-battery,.fa-battery-5,.fa-battery-full{--fa:""}.fa-battery-4,.fa-battery-three-quarters{--fa:""}.fa-battery-3,.fa-battery-half{--fa:""}.fa-battery-2,.fa-battery-quarter{--fa:""}.fa-battery-0,.fa-battery-empty{--fa:""}.fa-arrow-pointer,.fa-mouse-pointer{--fa:""}.fa-i-cursor{--fa:""}.fa-object-group{--fa:""}.fa-object-ungroup{--fa:""}.fa-note-sticky,.fa-sticky-note{--fa:""}.fa-clone{--fa:""}.fa-balance-scale,.fa-scale-balanced{--fa:""}.fa-hourglass-1,.fa-hourglass-start{--fa:""}.fa-hourglass-2,.fa-hourglass-half{--fa:""}.fa-hourglass-3,.fa-hourglass-end{--fa:""}.fa-hourglass,.fa-hourglass-empty{--fa:""}.fa-hand-back-fist,.fa-hand-rock{--fa:""}.fa-hand,.fa-hand-paper{--fa:""}.fa-hand-scissors{--fa:""}.fa-hand-lizard{--fa:""}.fa-hand-spock{--fa:""}.fa-hand-pointer{--fa:""}.fa-hand-peace{--fa:""}.fa-trademark{--fa:""}.fa-registered{--fa:""}.fa-television,.fa-tv,.fa-tv-alt{--fa:""}.fa-calendar-plus{--fa:""}.fa-calendar-minus{--fa:""}.fa-calendar-times,.fa-calendar-xmark{--fa:""}.fa-calendar-check{--fa:""}.fa-industry{--fa:""}.fa-map-pin{--fa:""}.fa-map-signs,.fa-signs-post{--fa:""}.fa-map{--fa:""}.fa-comment-alt,.fa-message{--fa:""}.fa-circle-pause,.fa-pause-circle{--fa:""}.fa-circle-stop,.fa-stop-circle{--fa:""}.fa-bag-shopping,.fa-shopping-bag{--fa:""}.fa-basket-shopping,.fa-shopping-basket{--fa:""}.fa-universal-access{--fa:""}.fa-blind,.fa-person-walking-with-cane{--fa:""}.fa-audio-description{--fa:""}.fa-phone-volume,.fa-volume-control-phone{--fa:""}.fa-braille{--fa:""}.fa-assistive-listening-systems,.fa-ear-listen{--fa:""}.fa-american-sign-language-interpreting,.fa-asl-interpreting,.fa-hands-american-sign-language-interpreting,.fa-hands-asl-interpreting{--fa:""}.fa-deaf,.fa-deafness,.fa-ear-deaf,.fa-hard-of-hearing{--fa:""}.fa-hands,.fa-sign-language,.fa-signing{--fa:""}.fa-eye-low-vision,.fa-low-vision{--fa:""}.fa-handshake,.fa-handshake-alt,.fa-handshake-simple{--fa:""}.fa-envelope-open{--fa:""}.fa-address-book,.fa-contact-book{--fa:""}.fa-address-card,.fa-contact-card,.fa-vcard{--fa:""}.fa-circle-user,.fa-user-circle{--fa:""}.fa-id-badge{--fa:""}.fa-drivers-license,.fa-id-card{--fa:""}.fa-temperature-4,.fa-temperature-full,.fa-thermometer-4,.fa-thermometer-full{--fa:""}.fa-temperature-3,.fa-temperature-three-quarters,.fa-thermometer-3,.fa-thermometer-three-quarters{--fa:""}.fa-temperature-2,.fa-temperature-half,.fa-thermometer-2,.fa-thermometer-half{--fa:""}.fa-temperature-1,.fa-temperature-quarter,.fa-thermometer-1,.fa-thermometer-quarter{--fa:""}.fa-temperature-0,.fa-temperature-empty,.fa-thermometer-0,.fa-thermometer-empty{--fa:""}.fa-shower{--fa:""}.fa-bath,.fa-bathtub{--fa:""}.fa-podcast{--fa:""}.fa-window-maximize{--fa:""}.fa-window-minimize{--fa:""}.fa-window-restore{--fa:""}.fa-square-xmark,.fa-times-square,.fa-xmark-square{--fa:""}.fa-microchip{--fa:""}.fa-snowflake{--fa:""}.fa-spoon,.fa-utensil-spoon{--fa:""}.fa-cutlery,.fa-utensils{--fa:""}.fa-rotate-back,.fa-rotate-backward,.fa-rotate-left,.fa-undo-alt{--fa:""}.fa-trash-alt,.fa-trash-can{--fa:""}.fa-rotate,.fa-sync-alt{--fa:""}.fa-stopwatch{--fa:""}.fa-right-from-bracket,.fa-sign-out-alt{--fa:""}.fa-right-to-bracket,.fa-sign-in-alt{--fa:""}.fa-redo-alt,.fa-rotate-forward,.fa-rotate-right{--fa:""}.fa-poo{--fa:""}.fa-images{--fa:""}.fa-pencil,.fa-pencil-alt{--fa:""}.fa-pen{--fa:""}.fa-pen-alt,.fa-pen-clip{--fa:""}.fa-octagon{--fa:""}.fa-down-long,.fa-long-arrow-alt-down{--fa:""}.fa-left-long,.fa-long-arrow-alt-left{--fa:""}.fa-long-arrow-alt-right,.fa-right-long{--fa:""}.fa-long-arrow-alt-up,.fa-up-long{--fa:""}.fa-hexagon{--fa:""}.fa-file-edit,.fa-file-pen{--fa:""}.fa-expand-arrows-alt,.fa-maximize{--fa:""}.fa-clipboard{--fa:""}.fa-arrows-alt-h,.fa-left-right{--fa:""}.fa-arrows-alt-v,.fa-up-down{--fa:""}.fa-alarm-clock{--fa:""}.fa-arrow-alt-circle-down,.fa-circle-down{--fa:""}.fa-arrow-alt-circle-left,.fa-circle-left{--fa:""}.fa-arrow-alt-circle-right,.fa-circle-right{--fa:""}.fa-arrow-alt-circle-up,.fa-circle-up{--fa:""}.fa-external-link-alt,.fa-up-right-from-square{--fa:""}.fa-external-link-square-alt,.fa-square-up-right{--fa:""}.fa-exchange-alt,.fa-right-left{--fa:""}.fa-repeat{--fa:""}.fa-code-commit{--fa:""}.fa-code-merge{--fa:""}.fa-desktop,.fa-desktop-alt{--fa:""}.fa-gem{--fa:""}.fa-level-down-alt,.fa-turn-down{--fa:""}.fa-level-up-alt,.fa-turn-up{--fa:""}.fa-lock-open{--fa:""}.fa-location-dot,.fa-map-marker-alt{--fa:""}.fa-microphone-alt,.fa-microphone-lines{--fa:""}.fa-mobile-alt,.fa-mobile-screen-button{--fa:""}.fa-mobile,.fa-mobile-android,.fa-mobile-phone{--fa:""}.fa-mobile-android-alt,.fa-mobile-screen{--fa:""}.fa-money-bill-1,.fa-money-bill-alt{--fa:""}.fa-phone-slash{--fa:""}.fa-image-portrait,.fa-portrait{--fa:""}.fa-mail-reply,.fa-reply{--fa:""}.fa-shield-alt,.fa-shield-halved{--fa:""}.fa-tablet-alt,.fa-tablet-screen-button{--fa:""}.fa-tablet,.fa-tablet-android{--fa:""}.fa-ticket-alt,.fa-ticket-simple{--fa:""}.fa-rectangle-times,.fa-rectangle-xmark,.fa-times-rectangle,.fa-window-close{--fa:""}.fa-compress-alt,.fa-down-left-and-up-right-to-center{--fa:""}.fa-expand-alt,.fa-up-right-and-down-left-from-center{--fa:""}.fa-baseball-bat-ball{--fa:""}.fa-baseball,.fa-baseball-ball{--fa:""}.fa-basketball,.fa-basketball-ball{--fa:""}.fa-bowling-ball{--fa:""}.fa-chess{--fa:""}.fa-chess-bishop{--fa:""}.fa-chess-board{--fa:""}.fa-chess-king{--fa:""}.fa-chess-knight{--fa:""}.fa-chess-pawn{--fa:""}.fa-chess-queen{--fa:""}.fa-chess-rook{--fa:""}.fa-dumbbell{--fa:""}.fa-football,.fa-football-ball{--fa:""}.fa-golf-ball,.fa-golf-ball-tee{--fa:""}.fa-hockey-puck{--fa:""}.fa-broom-ball,.fa-quidditch,.fa-quidditch-broom-ball{--fa:""}.fa-square-full{--fa:""}.fa-ping-pong-paddle-ball,.fa-table-tennis,.fa-table-tennis-paddle-ball{--fa:""}.fa-volleyball,.fa-volleyball-ball{--fa:""}.fa-allergies,.fa-hand-dots{--fa:""}.fa-band-aid,.fa-bandage{--fa:""}.fa-box{--fa:""}.fa-boxes,.fa-boxes-alt,.fa-boxes-stacked{--fa:""}.fa-briefcase-medical{--fa:""}.fa-burn,.fa-fire-flame-simple{--fa:""}.fa-capsules{--fa:""}.fa-clipboard-check{--fa:""}.fa-clipboard-list{--fa:""}.fa-diagnoses,.fa-person-dots-from-line{--fa:""}.fa-dna{--fa:""}.fa-dolly,.fa-dolly-box{--fa:""}.fa-cart-flatbed,.fa-dolly-flatbed{--fa:""}.fa-file-medical{--fa:""}.fa-file-medical-alt,.fa-file-waveform{--fa:""}.fa-first-aid,.fa-kit-medical{--fa:""}.fa-circle-h,.fa-hospital-symbol{--fa:""}.fa-id-card-alt,.fa-id-card-clip{--fa:""}.fa-notes-medical{--fa:""}.fa-pallet{--fa:""}.fa-pills{--fa:""}.fa-prescription-bottle{--fa:""}.fa-prescription-bottle-alt,.fa-prescription-bottle-medical{--fa:""}.fa-bed-pulse,.fa-procedures{--fa:""}.fa-shipping-fast,.fa-truck-fast{--fa:""}.fa-smoking{--fa:""}.fa-syringe{--fa:""}.fa-tablets{--fa:""}.fa-thermometer{--fa:""}.fa-vial{--fa:""}.fa-vials{--fa:""}.fa-warehouse{--fa:""}.fa-weight,.fa-weight-scale{--fa:""}.fa-x-ray{--fa:""}.fa-box-open{--fa:""}.fa-comment-dots,.fa-commenting{--fa:""}.fa-comment-slash{--fa:""}.fa-couch{--fa:""}.fa-circle-dollar-to-slot,.fa-donate{--fa:""}.fa-dove{--fa:""}.fa-hand-holding{--fa:""}.fa-hand-holding-heart{--fa:""}.fa-hand-holding-dollar,.fa-hand-holding-usd{--fa:""}.fa-hand-holding-droplet,.fa-hand-holding-water{--fa:""}.fa-hands-holding{--fa:""}.fa-hands-helping,.fa-handshake-angle{--fa:""}.fa-parachute-box{--fa:""}.fa-people-carry,.fa-people-carry-box{--fa:""}.fa-piggy-bank{--fa:""}.fa-ribbon{--fa:""}.fa-route{--fa:""}.fa-seedling,.fa-sprout{--fa:""}.fa-sign,.fa-sign-hanging{--fa:""}.fa-face-smile-wink,.fa-smile-wink{--fa:""}.fa-tape{--fa:""}.fa-truck-loading,.fa-truck-ramp-box{--fa:""}.fa-truck-moving{--fa:""}.fa-video-slash{--fa:""}.fa-wine-glass{--fa:""}.fa-user-astronaut{--fa:""}.fa-user-check{--fa:""}.fa-user-clock{--fa:""}.fa-user-cog,.fa-user-gear{--fa:""}.fa-user-edit,.fa-user-pen{--fa:""}.fa-user-friends,.fa-user-group{--fa:""}.fa-user-graduate{--fa:""}.fa-user-lock{--fa:""}.fa-user-minus{--fa:""}.fa-user-ninja{--fa:""}.fa-user-shield{--fa:""}.fa-user-alt-slash,.fa-user-large-slash,.fa-user-slash{--fa:""}.fa-user-tag{--fa:""}.fa-user-tie{--fa:""}.fa-users-cog,.fa-users-gear{--fa:""}.fa-balance-scale-left,.fa-scale-unbalanced{--fa:""}.fa-balance-scale-right,.fa-scale-unbalanced-flip{--fa:""}.fa-blender{--fa:""}.fa-book-open{--fa:""}.fa-broadcast-tower,.fa-tower-broadcast{--fa:""}.fa-broom{--fa:""}.fa-blackboard,.fa-chalkboard{--fa:""}.fa-chalkboard-teacher,.fa-chalkboard-user{--fa:""}.fa-church{--fa:""}.fa-coins{--fa:""}.fa-compact-disc{--fa:""}.fa-crow{--fa:""}.fa-crown{--fa:""}.fa-dice{--fa:""}.fa-dice-five{--fa:""}.fa-dice-four{--fa:""}.fa-dice-one{--fa:""}.fa-dice-six{--fa:""}.fa-dice-three{--fa:""}.fa-dice-two{--fa:""}.fa-divide{--fa:""}.fa-door-closed{--fa:""}.fa-door-open{--fa:""}.fa-feather{--fa:""}.fa-frog{--fa:""}.fa-gas-pump{--fa:""}.fa-glasses{--fa:""}.fa-greater-than-equal{--fa:""}.fa-helicopter{--fa:""}.fa-infinity{--fa:""}.fa-kiwi-bird{--fa:""}.fa-less-than-equal{--fa:""}.fa-memory{--fa:""}.fa-microphone-alt-slash,.fa-microphone-lines-slash{--fa:""}.fa-money-bill-wave{--fa:""}.fa-money-bill-1-wave,.fa-money-bill-wave-alt{--fa:""}.fa-money-check{--fa:""}.fa-money-check-alt,.fa-money-check-dollar{--fa:""}.fa-not-equal{--fa:""}.fa-palette{--fa:""}.fa-parking,.fa-square-parking{--fa:""}.fa-diagram-project,.fa-project-diagram{--fa:""}.fa-receipt{--fa:""}.fa-robot{--fa:""}.fa-ruler{--fa:""}.fa-ruler-combined{--fa:""}.fa-ruler-horizontal{--fa:""}.fa-ruler-vertical{--fa:""}.fa-school{--fa:""}.fa-screwdriver{--fa:""}.fa-shoe-prints{--fa:""}.fa-skull{--fa:""}.fa-ban-smoking,.fa-smoking-ban{--fa:""}.fa-store{--fa:""}.fa-shop,.fa-store-alt{--fa:""}.fa-bars-staggered,.fa-reorder,.fa-stream{--fa:""}.fa-stroopwafel{--fa:""}.fa-toolbox{--fa:""}.fa-shirt,.fa-t-shirt,.fa-tshirt{--fa:""}.fa-person-walking,.fa-walking{--fa:""}.fa-wallet{--fa:""}.fa-angry,.fa-face-angry{--fa:""}.fa-archway{--fa:""}.fa-atlas,.fa-book-atlas{--fa:""}.fa-award{--fa:""}.fa-backspace,.fa-delete-left{--fa:""}.fa-bezier-curve{--fa:""}.fa-bong{--fa:""}.fa-brush{--fa:""}.fa-bus-alt,.fa-bus-simple{--fa:""}.fa-cannabis{--fa:""}.fa-check-double{--fa:""}.fa-cocktail,.fa-martini-glass-citrus{--fa:""}.fa-bell-concierge,.fa-concierge-bell{--fa:""}.fa-cookie{--fa:""}.fa-cookie-bite{--fa:""}.fa-crop-alt,.fa-crop-simple{--fa:""}.fa-digital-tachograph,.fa-tachograph-digital{--fa:""}.fa-dizzy,.fa-face-dizzy{--fa:""}.fa-compass-drafting,.fa-drafting-compass{--fa:""}.fa-drum{--fa:""}.fa-drum-steelpan{--fa:""}.fa-feather-alt,.fa-feather-pointed{--fa:""}.fa-file-contract{--fa:""}.fa-file-arrow-down,.fa-file-download{--fa:""}.fa-arrow-right-from-file,.fa-file-export{--fa:""}.fa-arrow-right-to-file,.fa-file-import{--fa:""}.fa-file-invoice{--fa:""}.fa-file-invoice-dollar{--fa:""}.fa-file-prescription{--fa:""}.fa-file-signature{--fa:""}.fa-file-arrow-up,.fa-file-upload{--fa:""}.fa-fill{--fa:""}.fa-fill-drip{--fa:""}.fa-fingerprint{--fa:""}.fa-fish{--fa:""}.fa-face-flushed,.fa-flushed{--fa:""}.fa-face-frown-open,.fa-frown-open{--fa:""}.fa-glass-martini-alt,.fa-martini-glass{--fa:""}.fa-earth-africa,.fa-globe-africa{--fa:""}.fa-earth,.fa-earth-america,.fa-earth-americas,.fa-globe-americas{--fa:""}.fa-earth-asia,.fa-globe-asia{--fa:""}.fa-face-grimace,.fa-grimace{--fa:""}.fa-face-grin,.fa-grin{--fa:""}.fa-face-grin-wide,.fa-grin-alt{--fa:""}.fa-face-grin-beam,.fa-grin-beam{--fa:""}.fa-face-grin-beam-sweat,.fa-grin-beam-sweat{--fa:""}.fa-face-grin-hearts,.fa-grin-hearts{--fa:""}.fa-face-grin-squint,.fa-grin-squint{--fa:""}.fa-face-grin-squint-tears,.fa-grin-squint-tears{--fa:""}.fa-face-grin-stars,.fa-grin-stars{--fa:""}.fa-face-grin-tears,.fa-grin-tears{--fa:""}.fa-face-grin-tongue,.fa-grin-tongue{--fa:""}.fa-face-grin-tongue-squint,.fa-grin-tongue-squint{--fa:""}.fa-face-grin-tongue-wink,.fa-grin-tongue-wink{--fa:""}.fa-face-grin-wink,.fa-grin-wink{--fa:""}.fa-grid-horizontal,.fa-grip,.fa-grip-horizontal{--fa:""}.fa-grid-vertical,.fa-grip-vertical{--fa:""}.fa-headset{--fa:""}.fa-highlighter{--fa:""}.fa-hot-tub,.fa-hot-tub-person{--fa:""}.fa-hotel{--fa:""}.fa-joint{--fa:""}.fa-face-kiss,.fa-kiss{--fa:""}.fa-face-kiss-beam,.fa-kiss-beam{--fa:""}.fa-face-kiss-wink-heart,.fa-kiss-wink-heart{--fa:""}.fa-face-laugh,.fa-laugh{--fa:""}.fa-face-laugh-beam,.fa-laugh-beam{--fa:""}.fa-face-laugh-squint,.fa-laugh-squint{--fa:""}.fa-face-laugh-wink,.fa-laugh-wink{--fa:""}.fa-cart-flatbed-suitcase,.fa-luggage-cart{--fa:""}.fa-map-location,.fa-map-marked{--fa:""}.fa-map-location-dot,.fa-map-marked-alt{--fa:""}.fa-marker{--fa:""}.fa-medal{--fa:""}.fa-face-meh-blank,.fa-meh-blank{--fa:""}.fa-face-rolling-eyes,.fa-meh-rolling-eyes{--fa:""}.fa-monument{--fa:""}.fa-mortar-pestle{--fa:""}.fa-paint-roller{--fa:""}.fa-passport{--fa:""}.fa-pen-fancy{--fa:""}.fa-pen-nib{--fa:""}.fa-pen-ruler,.fa-pencil-ruler{--fa:""}.fa-plane-arrival{--fa:""}.fa-plane-departure{--fa:""}.fa-prescription{--fa:""}.fa-face-sad-cry,.fa-sad-cry{--fa:""}.fa-face-sad-tear,.fa-sad-tear{--fa:""}.fa-shuttle-van,.fa-van-shuttle{--fa:""}.fa-signature{--fa:""}.fa-face-smile-beam,.fa-smile-beam{--fa:""}.fa-solar-panel{--fa:""}.fa-lotus,.fa-spa{--fa:""}.fa-splotch{--fa:""}.fa-spray-can{--fa:""}.fa-stamp{--fa:""}.fa-star-half-alt,.fa-star-half-stroke{--fa:""}.fa-suitcase-rolling{--fa:""}.fa-face-surprise,.fa-surprise{--fa:""}.fa-swatchbook{--fa:""}.fa-person-swimming,.fa-swimmer{--fa:""}.fa-ladder-water,.fa-swimming-pool,.fa-water-ladder{--fa:""}.fa-droplet-slash,.fa-tint-slash{--fa:""}.fa-face-tired,.fa-tired{--fa:""}.fa-tooth{--fa:""}.fa-umbrella-beach{--fa:""}.fa-weight-hanging{--fa:""}.fa-wine-glass-alt,.fa-wine-glass-empty{--fa:""}.fa-air-freshener,.fa-spray-can-sparkles{--fa:""}.fa-apple-alt,.fa-apple-whole{--fa:""}.fa-atom{--fa:""}.fa-bone{--fa:""}.fa-book-open-reader,.fa-book-reader{--fa:""}.fa-brain{--fa:""}.fa-car-alt,.fa-car-rear{--fa:""}.fa-battery-car,.fa-car-battery{--fa:""}.fa-car-burst,.fa-car-crash{--fa:""}.fa-car-side{--fa:""}.fa-charging-station{--fa:""}.fa-diamond-turn-right,.fa-directions{--fa:""}.fa-draw-polygon,.fa-vector-polygon{--fa:""}.fa-laptop-code{--fa:""}.fa-layer-group{--fa:""}.fa-location,.fa-location-crosshairs{--fa:""}.fa-lungs{--fa:""}.fa-microscope{--fa:""}.fa-oil-can{--fa:""}.fa-poop{--fa:""}.fa-shapes,.fa-triangle-circle-square{--fa:""}.fa-star-of-life{--fa:""}.fa-dashboard,.fa-gauge,.fa-gauge-med,.fa-tachometer-alt-average{--fa:""}.fa-gauge-high,.fa-tachometer-alt,.fa-tachometer-alt-fast{--fa:""}.fa-gauge-simple,.fa-gauge-simple-med,.fa-tachometer-average{--fa:""}.fa-gauge-simple-high,.fa-tachometer,.fa-tachometer-fast{--fa:""}.fa-teeth{--fa:""}.fa-teeth-open{--fa:""}.fa-masks-theater,.fa-theater-masks{--fa:""}.fa-traffic-light{--fa:""}.fa-truck-monster{--fa:""}.fa-truck-pickup{--fa:""}.fa-ad,.fa-rectangle-ad{--fa:""}.fa-ankh{--fa:""}.fa-bible,.fa-book-bible{--fa:""}.fa-briefcase-clock,.fa-business-time{--fa:""}.fa-city{--fa:""}.fa-comment-dollar{--fa:""}.fa-comments-dollar{--fa:""}.fa-cross{--fa:""}.fa-dharmachakra{--fa:""}.fa-envelope-open-text{--fa:""}.fa-folder-minus{--fa:""}.fa-folder-plus{--fa:""}.fa-filter-circle-dollar,.fa-funnel-dollar{--fa:""}.fa-gopuram{--fa:""}.fa-hamsa{--fa:""}.fa-bahai,.fa-haykal{--fa:""}.fa-jedi{--fa:""}.fa-book-journal-whills,.fa-journal-whills{--fa:""}.fa-kaaba{--fa:""}.fa-khanda{--fa:""}.fa-landmark{--fa:""}.fa-envelopes-bulk,.fa-mail-bulk{--fa:""}.fa-menorah{--fa:""}.fa-mosque{--fa:""}.fa-om{--fa:""}.fa-pastafarianism,.fa-spaghetti-monster-flying{--fa:""}.fa-peace{--fa:""}.fa-place-of-worship{--fa:""}.fa-poll,.fa-square-poll-vertical{--fa:""}.fa-poll-h,.fa-square-poll-horizontal{--fa:""}.fa-person-praying,.fa-pray{--fa:""}.fa-hands-praying,.fa-praying-hands{--fa:""}.fa-book-quran,.fa-quran{--fa:""}.fa-magnifying-glass-dollar,.fa-search-dollar{--fa:""}.fa-magnifying-glass-location,.fa-search-location{--fa:""}.fa-socks{--fa:""}.fa-square-root-alt,.fa-square-root-variable{--fa:""}.fa-star-and-crescent{--fa:""}.fa-star-of-david{--fa:""}.fa-synagogue{--fa:""}.fa-scroll-torah,.fa-torah{--fa:""}.fa-torii-gate{--fa:""}.fa-vihara{--fa:""}.fa-volume,.fa-volume-medium{--fa:""}.fa-volume-mute,.fa-volume-times,.fa-volume-xmark{--fa:""}.fa-yin-yang{--fa:""}.fa-blender-phone{--fa:""}.fa-book-dead,.fa-book-skull{--fa:""}.fa-campground{--fa:""}.fa-cat{--fa:""}.fa-chair{--fa:""}.fa-cloud-moon{--fa:""}.fa-cloud-sun{--fa:""}.fa-cow{--fa:""}.fa-dice-d20{--fa:""}.fa-dice-d6{--fa:""}.fa-dog{--fa:""}.fa-dragon{--fa:""}.fa-drumstick-bite{--fa:""}.fa-dungeon{--fa:""}.fa-file-csv{--fa:""}.fa-fist-raised,.fa-hand-fist{--fa:""}.fa-ghost{--fa:""}.fa-hammer{--fa:""}.fa-hanukiah{--fa:""}.fa-hat-wizard{--fa:""}.fa-hiking,.fa-person-hiking{--fa:""}.fa-hippo{--fa:""}.fa-horse{--fa:""}.fa-house-chimney-crack,.fa-house-damage{--fa:""}.fa-hryvnia,.fa-hryvnia-sign{--fa:""}.fa-mask{--fa:""}.fa-mountain{--fa:""}.fa-network-wired{--fa:""}.fa-otter{--fa:""}.fa-ring{--fa:""}.fa-person-running,.fa-running{--fa:""}.fa-scroll{--fa:""}.fa-skull-crossbones{--fa:""}.fa-slash{--fa:""}.fa-spider{--fa:""}.fa-toilet-paper,.fa-toilet-paper-alt,.fa-toilet-paper-blank{--fa:""}.fa-tractor{--fa:""}.fa-user-injured{--fa:""}.fa-vr-cardboard{--fa:""}.fa-wand-sparkles{--fa:""}.fa-wind{--fa:""}.fa-wine-bottle{--fa:""}.fa-cloud-meatball{--fa:""}.fa-cloud-moon-rain{--fa:""}.fa-cloud-rain{--fa:""}.fa-cloud-showers-heavy{--fa:""}.fa-cloud-sun-rain{--fa:""}.fa-democrat{--fa:""}.fa-flag-usa{--fa:""}.fa-hurricane{--fa:""}.fa-landmark-alt,.fa-landmark-dome{--fa:""}.fa-meteor{--fa:""}.fa-person-booth{--fa:""}.fa-poo-bolt,.fa-poo-storm{--fa:""}.fa-rainbow{--fa:""}.fa-republican{--fa:""}.fa-smog{--fa:""}.fa-temperature-high{--fa:""}.fa-temperature-low{--fa:""}.fa-cloud-bolt,.fa-thunderstorm{--fa:""}.fa-tornado{--fa:""}.fa-volcano{--fa:""}.fa-check-to-slot,.fa-vote-yea{--fa:""}.fa-water{--fa:""}.fa-baby{--fa:""}.fa-baby-carriage,.fa-carriage-baby{--fa:""}.fa-biohazard{--fa:""}.fa-blog{--fa:""}.fa-calendar-day{--fa:""}.fa-calendar-week{--fa:""}.fa-candy-cane{--fa:""}.fa-carrot{--fa:""}.fa-cash-register{--fa:""}.fa-compress-arrows-alt,.fa-minimize{--fa:""}.fa-dumpster{--fa:""}.fa-dumpster-fire{--fa:""}.fa-ethernet{--fa:""}.fa-gifts{--fa:""}.fa-champagne-glasses,.fa-glass-cheers{--fa:""}.fa-glass-whiskey,.fa-whiskey-glass{--fa:""}.fa-earth-europe,.fa-globe-europe{--fa:""}.fa-grip-lines{--fa:""}.fa-grip-lines-vertical{--fa:""}.fa-guitar{--fa:""}.fa-heart-broken,.fa-heart-crack{--fa:""}.fa-holly-berry{--fa:""}.fa-horse-head{--fa:""}.fa-icicles{--fa:""}.fa-igloo{--fa:""}.fa-mitten{--fa:""}.fa-mug-hot{--fa:""}.fa-radiation{--fa:""}.fa-circle-radiation,.fa-radiation-alt{--fa:""}.fa-restroom{--fa:""}.fa-satellite{--fa:""}.fa-satellite-dish{--fa:""}.fa-sd-card{--fa:""}.fa-sim-card{--fa:""}.fa-person-skating,.fa-skating{--fa:""}.fa-person-skiing,.fa-skiing{--fa:""}.fa-person-skiing-nordic,.fa-skiing-nordic{--fa:""}.fa-sleigh{--fa:""}.fa-comment-sms,.fa-sms{--fa:""}.fa-person-snowboarding,.fa-snowboarding{--fa:""}.fa-snowman{--fa:""}.fa-snowplow{--fa:""}.fa-tenge,.fa-tenge-sign{--fa:""}.fa-toilet{--fa:""}.fa-screwdriver-wrench,.fa-tools{--fa:""}.fa-cable-car,.fa-tram{--fa:""}.fa-fire-alt,.fa-fire-flame-curved{--fa:""}.fa-bacon{--fa:""}.fa-book-medical{--fa:""}.fa-bread-slice{--fa:""}.fa-cheese{--fa:""}.fa-clinic-medical,.fa-house-chimney-medical{--fa:""}.fa-clipboard-user{--fa:""}.fa-comment-medical{--fa:""}.fa-crutch{--fa:""}.fa-disease{--fa:""}.fa-egg{--fa:""}.fa-folder-tree{--fa:""}.fa-burger,.fa-hamburger{--fa:""}.fa-hand-middle-finger{--fa:""}.fa-hard-hat,.fa-hat-hard,.fa-helmet-safety{--fa:""}.fa-hospital-user{--fa:""}.fa-hotdog{--fa:""}.fa-ice-cream{--fa:""}.fa-laptop-medical{--fa:""}.fa-pager{--fa:""}.fa-pepper-hot{--fa:""}.fa-pizza-slice{--fa:""}.fa-sack-dollar{--fa:""}.fa-book-tanakh,.fa-tanakh{--fa:""}.fa-bars-progress,.fa-tasks-alt{--fa:""}.fa-trash-arrow-up,.fa-trash-restore{--fa:""}.fa-trash-can-arrow-up,.fa-trash-restore-alt{--fa:""}.fa-user-nurse{--fa:""}.fa-wave-square{--fa:""}.fa-biking,.fa-person-biking{--fa:""}.fa-border-all{--fa:""}.fa-border-none{--fa:""}.fa-border-style,.fa-border-top-left{--fa:""}.fa-digging,.fa-person-digging{--fa:""}.fa-fan{--fa:""}.fa-heart-music-camera-bolt,.fa-icons{--fa:""}.fa-phone-alt,.fa-phone-flip{--fa:""}.fa-phone-square-alt,.fa-square-phone-flip{--fa:""}.fa-photo-film,.fa-photo-video{--fa:""}.fa-remove-format,.fa-text-slash{--fa:""}.fa-arrow-down-z-a,.fa-sort-alpha-desc,.fa-sort-alpha-down-alt{--fa:""}.fa-arrow-up-z-a,.fa-sort-alpha-up-alt{--fa:""}.fa-arrow-down-short-wide,.fa-sort-amount-desc,.fa-sort-amount-down-alt{--fa:""}.fa-arrow-up-short-wide,.fa-sort-amount-up-alt{--fa:""}.fa-arrow-down-9-1,.fa-sort-numeric-desc,.fa-sort-numeric-down-alt{--fa:""}.fa-arrow-up-9-1,.fa-sort-numeric-up-alt{--fa:""}.fa-spell-check{--fa:""}.fa-voicemail{--fa:""}.fa-hat-cowboy{--fa:""}.fa-hat-cowboy-side{--fa:""}.fa-computer-mouse,.fa-mouse{--fa:""}.fa-radio{--fa:""}.fa-record-vinyl{--fa:""}.fa-walkie-talkie{--fa:""}.fa-caravan{--fa:""}: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(/assets/fa-brands-400-Bs6tcqqs.woff2)}.fa-brands,.fa-classic.fa-brands,.fab{--fa-family:var(--fa-family-brands);--fa-style:400}.fa-firefox-browser{--fa:""}.fa-ideal{--fa:""}.fa-microblog{--fa:""}.fa-pied-piper-square,.fa-square-pied-piper{--fa:""}.fa-unity{--fa:""}.fa-dailymotion{--fa:""}.fa-instagram-square,.fa-square-instagram{--fa:""}.fa-mixer{--fa:""}.fa-shopify{--fa:""}.fa-deezer{--fa:""}.fa-edge-legacy{--fa:""}.fa-google-pay{--fa:""}.fa-rust{--fa:""}.fa-tiktok{--fa:""}.fa-unsplash{--fa:""}.fa-cloudflare{--fa:""}.fa-guilded{--fa:""}.fa-hive{--fa:""}.fa-42-group,.fa-innosoft{--fa:""}.fa-instalod{--fa:""}.fa-octopus-deploy{--fa:""}.fa-perbyte{--fa:""}.fa-uncharted{--fa:""}.fa-watchman-monitoring{--fa:""}.fa-wodu{--fa:""}.fa-wirsindhandwerk,.fa-wsh{--fa:""}.fa-bots{--fa:""}.fa-cmplid{--fa:""}.fa-bilibili{--fa:""}.fa-golang{--fa:""}.fa-pix{--fa:""}.fa-sitrox{--fa:""}.fa-hashnode{--fa:""}.fa-meta{--fa:""}.fa-padlet{--fa:""}.fa-nfc-directional{--fa:""}.fa-nfc-symbol{--fa:""}.fa-screenpal{--fa:""}.fa-space-awesome{--fa:""}.fa-square-font-awesome{--fa:""}.fa-gitlab-square,.fa-square-gitlab{--fa:""}.fa-odysee{--fa:""}.fa-stubber{--fa:""}.fa-debian{--fa:""}.fa-shoelace{--fa:""}.fa-threads{--fa:""}.fa-square-threads{--fa:""}.fa-square-x-twitter{--fa:""}.fa-x-twitter{--fa:""}.fa-opensuse{--fa:""}.fa-letterboxd{--fa:""}.fa-square-letterboxd{--fa:""}.fa-mintbit{--fa:""}.fa-google-scholar{--fa:""}.fa-brave{--fa:""}.fa-brave-reverse{--fa:""}.fa-pixiv{--fa:""}.fa-upwork{--fa:""}.fa-webflow{--fa:""}.fa-signal-messenger{--fa:""}.fa-bluesky{--fa:""}.fa-jxl{--fa:""}.fa-square-upwork{--fa:""}.fa-web-awesome{--fa:""}.fa-square-web-awesome{--fa:""}.fa-square-web-awesome-stroke{--fa:""}.fa-dart-lang{--fa:""}.fa-flutter{--fa:""}.fa-files-pinwheel{--fa:""}.fa-css{--fa:""}.fa-square-bluesky{--fa:""}.fa-openai{--fa:""}.fa-square-linkedin{--fa:""}.fa-cash-app{--fa:""}.fa-disqus{--fa:""}.fa-11ty,.fa-eleventy{--fa:""}.fa-kakao-talk{--fa:""}.fa-linktree{--fa:""}.fa-notion{--fa:""}.fa-pandora{--fa:""}.fa-pixelfed{--fa:""}.fa-tidal{--fa:""}.fa-vsco{--fa:""}.fa-w3c{--fa:""}.fa-lumon{--fa:""}.fa-lumon-drop{--fa:""}.fa-square-figma{--fa:""}.fa-tex{--fa:""}.fa-duolingo{--fa:""}.fa-supportnow{--fa:""}.fa-tor-browser{--fa:""}.fa-typescript{--fa:""}.fa-square-deskpro{--fa:""}.fa-circle-zulip{--fa:""}.fa-julia{--fa:""}.fa-zulip{--fa:""}.fa-unison{--fa:""}.fa-bgg,.fa-board-game-geek{--fa:""}.fa-ko-fi{--fa:""}.fa-kubernetes{--fa:""}.fa-postgresql{--fa:""}.fa-scaleway{--fa:""}.fa-venmo{--fa:""}.fa-venmo-v{--fa:""}.fa-unreal-engine{--fa:""}.fa-globaleaks{--fa:""}.fa-solana{--fa:""}.fa-threema{--fa:""}.fa-forgejo{--fa:""}.fa-claude{--fa:""}.fa-gitee{--fa:""}.fa-xmpp{--fa:""}.fa-fediverse{--fa:""}.fa-tailwind-css{--fa:""}.fa-arch-linux{--fa:""}.fa-svelte{--fa:""}.fa-hugging-face{--fa:""}.fa-leetcode{--fa:""}.fa-openstreetmap{--fa:""}.fa-ultralytics{--fa:""}.fa-ultralytics-hub{--fa:""}.fa-ultralytics-yolo{--fa:""}.fa-obsidian{--fa:""}.fa-zoom{--fa:""}.fa-vim{--fa:""}.fa-symfonycasts{--fa:""}.fa-build-awesome{--fa:""}.fa-codeberg{--fa:""}.fa-devpost{--fa:""}.fa-internet-archive{--fa:""}.fa-lets-encrypt{--fa:""}.fa-matrix{--fa:""}.fa-mattermost{--fa:""}.fa-nextcloud{--fa:""}.fa-roblox-creator-studio{--fa:""}.fa-square-build-awesome-stroke{--fa:""}.fa-substack{--fa:""}.fa-tesla{--fa:""}.fa-xrp{--fa:""}.fa-xrpl{--fa:""}.fa-youtube-shorts{--fa:""}.fa-ror{--fa:""}.fa-visual-studio{--fa:""}.fa-dolibarr{--fa:""}.fa-obs-studio{--fa:""}.fa-storybook{--fa:""}.fa-a11y-project{--fa:""}.fa-copilot{--fa:""}.fa-square-twitter,.fa-twitter-square{--fa:""}.fa-facebook-square,.fa-square-facebook{--fa:""}.fa-linkedin{--fa:""}.fa-github-square,.fa-square-github{--fa:""}.fa-twitter{--fa:""}.fa-facebook{--fa:""}.fa-github{--fa:""}.fa-pinterest{--fa:""}.fa-pinterest-square,.fa-square-pinterest{--fa:""}.fa-google-plus-square,.fa-square-google-plus{--fa:""}.fa-google-plus-g{--fa:""}.fa-linkedin-in{--fa:""}.fa-github-alt{--fa:""}.fa-maxcdn{--fa:""}.fa-html5{--fa:""}.fa-css3{--fa:""}.fa-btc{--fa:""}.fa-youtube{--fa:""}.fa-xing{--fa:""}.fa-square-xing,.fa-xing-square{--fa:""}.fa-dropbox{--fa:""}.fa-stack-overflow{--fa:""}.fa-instagram{--fa:""}.fa-flickr{--fa:""}.fa-adn{--fa:""}.fa-bitbucket{--fa:""}.fa-tumblr{--fa:""}.fa-square-tumblr,.fa-tumblr-square{--fa:""}.fa-apple{--fa:""}.fa-windows{--fa:""}.fa-android{--fa:""}.fa-linux{--fa:""}.fa-dribbble{--fa:""}.fa-skype{--fa:""}.fa-foursquare{--fa:""}.fa-trello{--fa:""}.fa-gratipay{--fa:""}.fa-vk{--fa:""}.fa-weibo{--fa:""}.fa-renren{--fa:""}.fa-pagelines{--fa:""}.fa-stack-exchange{--fa:""}.fa-square-vimeo,.fa-vimeo-square{--fa:""}.fa-slack,.fa-slack-hash{--fa:""}.fa-wordpress{--fa:""}.fa-openid{--fa:""}.fa-yahoo{--fa:""}.fa-google{--fa:""}.fa-reddit{--fa:""}.fa-reddit-square,.fa-square-reddit{--fa:""}.fa-stumbleupon-circle{--fa:""}.fa-stumbleupon{--fa:""}.fa-delicious{--fa:""}.fa-digg{--fa:""}.fa-pied-piper-pp{--fa:""}.fa-pied-piper-alt{--fa:""}.fa-drupal{--fa:""}.fa-joomla{--fa:""}.fa-behance{--fa:""}.fa-behance-square,.fa-square-behance{--fa:""}.fa-steam{--fa:""}.fa-square-steam,.fa-steam-square{--fa:""}.fa-spotify{--fa:""}.fa-deviantart{--fa:""}.fa-soundcloud{--fa:""}.fa-vine{--fa:""}.fa-codepen{--fa:""}.fa-jsfiddle{--fa:""}.fa-rebel{--fa:""}.fa-empire{--fa:""}.fa-git-square,.fa-square-git{--fa:""}.fa-git{--fa:""}.fa-hacker-news{--fa:""}.fa-tencent-weibo{--fa:""}.fa-qq{--fa:""}.fa-weixin{--fa:""}.fa-slideshare{--fa:""}.fa-twitch{--fa:""}.fa-yelp{--fa:""}.fa-paypal{--fa:""}.fa-google-wallet{--fa:""}.fa-cc-visa{--fa:""}.fa-cc-mastercard{--fa:""}.fa-cc-discover{--fa:""}.fa-cc-amex{--fa:""}.fa-cc-paypal{--fa:""}.fa-cc-stripe{--fa:""}.fa-lastfm{--fa:""}.fa-lastfm-square,.fa-square-lastfm{--fa:""}.fa-ioxhost{--fa:""}.fa-angellist{--fa:""}.fa-buysellads{--fa:""}.fa-connectdevelop{--fa:""}.fa-dashcube{--fa:""}.fa-forumbee{--fa:""}.fa-leanpub{--fa:""}.fa-sellsy{--fa:""}.fa-shirtsinbulk{--fa:""}.fa-simplybuilt{--fa:""}.fa-skyatlas{--fa:""}.fa-pinterest-p{--fa:""}.fa-whatsapp{--fa:""}.fa-viacoin{--fa:""}.fa-medium,.fa-medium-m{--fa:""}.fa-y-combinator{--fa:""}.fa-optin-monster{--fa:""}.fa-opencart{--fa:""}.fa-expeditedssl{--fa:""}.fa-cc-jcb{--fa:""}.fa-cc-diners-club{--fa:""}.fa-creative-commons{--fa:""}.fa-gg{--fa:""}.fa-gg-circle{--fa:""}.fa-odnoklassniki{--fa:""}.fa-odnoklassniki-square,.fa-square-odnoklassniki{--fa:""}.fa-get-pocket{--fa:""}.fa-wikipedia-w{--fa:""}.fa-safari{--fa:""}.fa-chrome{--fa:""}.fa-firefox{--fa:""}.fa-opera{--fa:""}.fa-internet-explorer{--fa:""}.fa-contao{--fa:""}.fa-500px{--fa:""}.fa-amazon{--fa:""}.fa-houzz{--fa:""}.fa-vimeo-v{--fa:""}.fa-black-tie{--fa:""}.fa-fonticons{--fa:""}.fa-reddit-alien{--fa:""}.fa-edge{--fa:""}.fa-codiepie{--fa:""}.fa-modx{--fa:""}.fa-fort-awesome{--fa:""}.fa-usb{--fa:""}.fa-product-hunt{--fa:""}.fa-mixcloud{--fa:""}.fa-scribd{--fa:""}.fa-bluetooth{--fa:""}.fa-bluetooth-b{--fa:""}.fa-gitlab{--fa:""}.fa-wpbeginner{--fa:""}.fa-wpforms{--fa:""}.fa-envira{--fa:""}.fa-glide{--fa:""}.fa-glide-g{--fa:""}.fa-viadeo{--fa:""}.fa-square-viadeo,.fa-viadeo-square{--fa:""}.fa-snapchat,.fa-snapchat-ghost{--fa:""}.fa-snapchat-square,.fa-square-snapchat{--fa:""}.fa-pied-piper{--fa:""}.fa-first-order{--fa:""}.fa-yoast{--fa:""}.fa-themeisle{--fa:""}.fa-google-plus{--fa:""}.fa-font-awesome,.fa-font-awesome-flag,.fa-font-awesome-logo-full{--fa:""}.fa-linode{--fa:""}.fa-quora{--fa:""}.fa-free-code-camp{--fa:""}.fa-telegram,.fa-telegram-plane{--fa:""}.fa-bandcamp{--fa:""}.fa-grav{--fa:""}.fa-etsy{--fa:""}.fa-imdb{--fa:""}.fa-ravelry{--fa:""}.fa-sellcast{--fa:""}.fa-superpowers{--fa:""}.fa-wpexplorer{--fa:""}.fa-meetup{--fa:""}.fa-font-awesome-alt,.fa-square-font-awesome-stroke{--fa:""}.fa-accessible-icon{--fa:""}.fa-accusoft{--fa:""}.fa-adversal{--fa:""}.fa-affiliatetheme{--fa:""}.fa-algolia{--fa:""}.fa-amilia{--fa:""}.fa-angrycreative{--fa:""}.fa-app-store{--fa:""}.fa-app-store-ios{--fa:""}.fa-apper{--fa:""}.fa-asymmetrik{--fa:""}.fa-audible{--fa:""}.fa-avianex{--fa:""}.fa-aws{--fa:""}.fa-bimobject{--fa:""}.fa-bitcoin{--fa:""}.fa-bity{--fa:""}.fa-blackberry{--fa:""}.fa-blogger{--fa:""}.fa-blogger-b{--fa:""}.fa-buromobelexperte{--fa:""}.fa-centercode{--fa:""}.fa-cloudscale{--fa:""}.fa-cloudsmith{--fa:""}.fa-cloudversify{--fa:""}.fa-cpanel{--fa:""}.fa-css3-alt{--fa:""}.fa-cuttlefish{--fa:""}.fa-d-and-d{--fa:""}.fa-deploydog{--fa:""}.fa-deskpro{--fa:""}.fa-digital-ocean{--fa:""}.fa-discord{--fa:""}.fa-discourse{--fa:""}.fa-dochub{--fa:""}.fa-docker{--fa:""}.fa-draft2digital{--fa:""}.fa-dribbble-square,.fa-square-dribbble{--fa:""}.fa-dyalog{--fa:""}.fa-earlybirds{--fa:""}.fa-erlang{--fa:""}.fa-facebook-f{--fa:""}.fa-facebook-messenger{--fa:""}.fa-firstdraft{--fa:""}.fa-fonticons-fi{--fa:""}.fa-fort-awesome-alt{--fa:""}.fa-freebsd{--fa:""}.fa-gitkraken{--fa:""}.fa-gofore{--fa:""}.fa-goodreads{--fa:""}.fa-goodreads-g{--fa:""}.fa-google-drive{--fa:""}.fa-google-play{--fa:""}.fa-gripfire{--fa:""}.fa-grunt{--fa:""}.fa-gulp{--fa:""}.fa-hacker-news-square,.fa-square-hacker-news{--fa:""}.fa-hire-a-helper{--fa:""}.fa-hotjar{--fa:""}.fa-hubspot{--fa:""}.fa-itunes{--fa:""}.fa-itunes-note{--fa:""}.fa-jenkins{--fa:""}.fa-joget{--fa:""}.fa-js{--fa:""}.fa-js-square,.fa-square-js{--fa:""}.fa-keycdn{--fa:""}.fa-kickstarter,.fa-square-kickstarter{--fa:""}.fa-kickstarter-k{--fa:""}.fa-laravel{--fa:""}.fa-line{--fa:""}.fa-lyft{--fa:""}.fa-magento{--fa:""}.fa-medapps{--fa:""}.fa-medrt{--fa:""}.fa-microsoft{--fa:""}.fa-mix{--fa:""}.fa-mizuni{--fa:""}.fa-monero{--fa:""}.fa-napster{--fa:""}.fa-node-js{--fa:""}.fa-npm{--fa:""}.fa-ns8{--fa:""}.fa-nutritionix{--fa:""}.fa-page4{--fa:""}.fa-palfed{--fa:""}.fa-patreon{--fa:""}.fa-periscope{--fa:""}.fa-phabricator{--fa:""}.fa-phoenix-framework{--fa:""}.fa-playstation{--fa:""}.fa-pushed{--fa:""}.fa-python{--fa:""}.fa-red-river{--fa:""}.fa-rendact,.fa-wpressr{--fa:""}.fa-replyd{--fa:""}.fa-resolving{--fa:""}.fa-rocketchat{--fa:""}.fa-rockrms{--fa:""}.fa-schlix{--fa:""}.fa-searchengin{--fa:""}.fa-servicestack{--fa:""}.fa-sistrix{--fa:""}.fa-speakap{--fa:""}.fa-staylinked{--fa:""}.fa-steam-symbol{--fa:""}.fa-sticker-mule{--fa:""}.fa-studiovinari{--fa:""}.fa-supple{--fa:""}.fa-uber{--fa:""}.fa-uikit{--fa:""}.fa-uniregistry{--fa:""}.fa-untappd{--fa:""}.fa-ussunnah{--fa:""}.fa-vaadin{--fa:""}.fa-viber{--fa:""}.fa-vimeo{--fa:""}.fa-vnv{--fa:""}.fa-square-whatsapp,.fa-whatsapp-square{--fa:""}.fa-whmcs{--fa:""}.fa-wordpress-simple{--fa:""}.fa-xbox{--fa:""}.fa-yandex{--fa:""}.fa-yandex-international{--fa:""}.fa-apple-pay{--fa:""}.fa-cc-apple-pay{--fa:""}.fa-fly{--fa:""}.fa-node{--fa:""}.fa-osi{--fa:""}.fa-react{--fa:""}.fa-autoprefixer{--fa:""}.fa-less{--fa:""}.fa-sass{--fa:""}.fa-vuejs{--fa:""}.fa-angular{--fa:""}.fa-aviato{--fa:""}.fa-ember{--fa:""}.fa-gitter{--fa:""}.fa-hooli{--fa:""}.fa-strava{--fa:""}.fa-stripe{--fa:""}.fa-stripe-s{--fa:""}.fa-typo3{--fa:""}.fa-amazon-pay{--fa:""}.fa-cc-amazon-pay{--fa:""}.fa-ethereum{--fa:""}.fa-korvue{--fa:""}.fa-elementor{--fa:""}.fa-square-youtube,.fa-youtube-square{--fa:""}.fa-flipboard{--fa:""}.fa-hips{--fa:""}.fa-php{--fa:""}.fa-quinscape{--fa:""}.fa-readme{--fa:""}.fa-java{--fa:""}.fa-pied-piper-hat{--fa:""}.fa-creative-commons-by{--fa:""}.fa-creative-commons-nc{--fa:""}.fa-creative-commons-nc-eu{--fa:""}.fa-creative-commons-nc-jp{--fa:""}.fa-creative-commons-nd{--fa:""}.fa-creative-commons-pd{--fa:""}.fa-creative-commons-pd-alt{--fa:""}.fa-creative-commons-remix{--fa:""}.fa-creative-commons-sa{--fa:""}.fa-creative-commons-sampling{--fa:""}.fa-creative-commons-sampling-plus{--fa:""}.fa-creative-commons-share{--fa:""}.fa-creative-commons-zero{--fa:""}.fa-ebay{--fa:""}.fa-keybase{--fa:""}.fa-mastodon{--fa:""}.fa-r-project{--fa:""}.fa-researchgate{--fa:""}.fa-teamspeak{--fa:""}.fa-first-order-alt{--fa:""}.fa-fulcrum{--fa:""}.fa-galactic-republic{--fa:""}.fa-galactic-senate{--fa:""}.fa-jedi-order{--fa:""}.fa-mandalorian{--fa:""}.fa-old-republic{--fa:""}.fa-phoenix-squadron{--fa:""}.fa-sith{--fa:""}.fa-trade-federation{--fa:""}.fa-wolf-pack-battalion{--fa:""}.fa-hornbill{--fa:""}.fa-mailchimp{--fa:""}.fa-megaport{--fa:""}.fa-nimblr{--fa:""}.fa-rev{--fa:""}.fa-shopware{--fa:""}.fa-squarespace{--fa:""}.fa-themeco{--fa:""}.fa-weebly{--fa:""}.fa-wix{--fa:""}.fa-ello{--fa:""}.fa-hackerrank{--fa:""}.fa-kaggle{--fa:""}.fa-markdown{--fa:""}.fa-neos{--fa:""}.fa-zhihu{--fa:""}.fa-alipay{--fa:""}.fa-the-red-yeti{--fa:""}.fa-critical-role{--fa:""}.fa-d-and-d-beyond{--fa:""}.fa-dev{--fa:""}.fa-fantasy-flight-games{--fa:""}.fa-wizards-of-the-coast{--fa:""}.fa-think-peaks{--fa:""}.fa-reacteurope{--fa:""}.fa-artstation{--fa:""}.fa-atlassian{--fa:""}.fa-canadian-maple-leaf{--fa:""}.fa-centos{--fa:""}.fa-confluence{--fa:""}.fa-dhl{--fa:""}.fa-diaspora{--fa:""}.fa-fedex{--fa:""}.fa-fedora{--fa:""}.fa-figma{--fa:""}.fa-intercom{--fa:""}.fa-invision{--fa:""}.fa-jira{--fa:""}.fa-mendeley{--fa:""}.fa-raspberry-pi{--fa:""}.fa-redhat{--fa:""}.fa-sketch{--fa:""}.fa-sourcetree{--fa:""}.fa-suse{--fa:""}.fa-ubuntu{--fa:""}.fa-ups{--fa:""}.fa-usps{--fa:""}.fa-yarn{--fa:""}.fa-airbnb{--fa:""}.fa-battle-net{--fa:""}.fa-bootstrap{--fa:""}.fa-buffer{--fa:""}.fa-chromecast{--fa:""}.fa-evernote{--fa:""}.fa-itch-io{--fa:""}.fa-salesforce{--fa:""}.fa-speaker-deck{--fa:""}.fa-symfony{--fa:""}.fa-waze{--fa:""}.fa-yammer{--fa:""}.fa-git-alt{--fa:""}.fa-stackpath{--fa:""}.fa-cotton-bureau{--fa:""}.fa-buy-n-large{--fa:""}.fa-mdb{--fa:""}.fa-orcid{--fa:""}.fa-swift{--fa:""}.fa-umbraco{--fa:""}: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(/assets/fa-regular-400-DRN8N0d1.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(/assets/fa-solid-900-IAB4Droh.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(/assets/fa-brands-400-Bs6tcqqs.woff2)format("woff2")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(/assets/fa-solid-900-IAB4Droh.woff2)format("woff2")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(/assets/fa-regular-400-DRN8N0d1.woff2)format("woff2")}@font-face{font-family:FontAwesome;font-display:block;src:url(/assets/fa-solid-900-IAB4Droh.woff2)format("woff2")}@font-face{font-family:FontAwesome;font-display:block;src:url(/assets/fa-brands-400-Bs6tcqqs.woff2)format("woff2")}@font-face{font-family:FontAwesome;font-display:block;src:url(/assets/fa-regular-400-DRN8N0d1.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(/assets/fa-v4compatibility-CErXDOsT.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}
diff --git a/TempLate/assets/index-Bhr7dwqt.css b/TempLate/assets/index-Bhr7dwqt.css
new file mode 100644
index 00000000..901a5265
--- /dev/null
+++ b/TempLate/assets/index-Bhr7dwqt.css
@@ -0,0 +1,2 @@
+/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
+@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-orange-50:oklch(98% .016 73.684);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-800:oklch(47.3% .137 46.201);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-900:oklch(42.1% .095 57.708);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-teal-50:oklch(98.4% .014 180.72);--color-teal-100:oklch(95.3% .051 180.801);--color-teal-600:oklch(60% .118 184.704);--color-cyan-50:oklch(98.4% .019 200.873);--color-cyan-100:oklch(95.6% .045 203.388);--color-cyan-200:oklch(91.7% .08 205.041);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-cyan-600:oklch(60.9% .126 221.723);--color-cyan-700:oklch(52% .105 223.128);--color-cyan-800:oklch(45% .085 224.283);--color-cyan-900:oklch(39.8% .07 227.392);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-100:oklch(95.1% .026 236.824);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-500:oklch(68.5% .169 237.323);--color-sky-600:oklch(58.8% .158 241.966);--color-sky-700:oklch(50% .134 242.749);--color-sky-900:oklch(39.1% .09 240.876);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-blue-950:oklch(28.2% .091 267.935);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-200:oklch(87% .065 274.039);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-800:oklch(39.8% .195 277.366);--color-violet-50:oklch(96.9% .016 293.756);--color-violet-100:oklch(94.3% .029 294.588);--color-violet-200:oklch(89.4% .057 293.283);--color-violet-300:oklch(81.1% .111 293.571);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-violet-600:oklch(54.1% .281 293.009);--color-violet-700:oklch(49.1% .27 292.581);--color-violet-800:oklch(43.2% .232 292.759);--color-violet-900:oklch(38% .189 293.745);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-900:oklch(38.1% .176 304.987);--color-pink-50:oklch(97.1% .014 343.198);--color-pink-100:oklch(94.8% .028 342.258);--color-pink-400:oklch(71.8% .202 349.761);--color-pink-500:oklch(65.6% .241 354.308);--color-pink-600:oklch(59.2% .249 .584);--color-rose-500:oklch(64.5% .246 16.439);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-gray-950:oklch(13% .028 261.692);--color-neutral-100:oklch(97% 0 none);--color-neutral-200:oklch(92.2% 0 none);--color-neutral-300:oklch(87% 0 none);--color-neutral-400:oklch(70.8% 0 none);--color-neutral-500:oklch(55.6% 0 none);--color-neutral-600:oklch(43.9% 0 none);--color-neutral-700:oklch(37.1% 0 none);--color-neutral-800:oklch(26.9% 0 none);--color-neutral-900:oklch(20.5% 0 none);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-8xl:6rem;--text-8xl--line-height:1;--text-9xl:8rem;--text-9xl--line-height:1;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--leading-loose:2;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--drop-shadow-lg:0 4px 4px #00000026;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-md:12px;--blur-3xl:64px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary:#1e40af;--color-secondary:#3b82f6;--color-sidebar:#f0f5ff;--color-win-light:silver;--color-tetris-blue:#06c;--color-tetris-light:#66b2ff;--color-tetris-dark:#036;--color-text-primary:#1a1a1a;--color-text-secondary:#666;--color-text-hint:#999;--color-neutral:#f3f4f6;--color-accent:#f59e0b}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,sans-serif;overflow-x:hidden}.nav-scrolled{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#000000f2;box-shadow:0 2px 10px #ffffff1a}.chart-container{width:100%;height:350px;position:relative}iframe{transition:opacity .5s}.group:hover iframe{opacity:1}html{scroll-behavior:smooth}button{transition:all .3s cubic-bezier(.4,0,.2,1)}button:hover{transform:translateY(-2px)}.card-hover{transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.card-hover:hover{transform:translateY(-6px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}@layer base{body{will-change:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;margin:0;padding:0;transform:none}}body:before{content:"";z-index:-2;pointer-events:none;will-change:background-position;background:linear-gradient(-45deg,#fff,#fcfeff,#eff6ff,#d9d9ff) 0 0/400% 400%;width:100vw;height:100vh;animation:20s infinite gradientFlow;position:fixed;top:0;left:0}body:after{content:"";z-index:-1;pointer-events:none;will-change:background-position;background-color:#0000;background-image:radial-gradient(circle at 20% 80%,#7877c633 0,#0000 50%),radial-gradient(circle at 80% 20%,#ff77c633 0,#0000 50%),radial-gradient(circle at 40% 40%,#78dbff33 0,#0000 50%);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:150% 150%;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;width:100vw;height:100vh;animation:20s infinite particleFlow;position:fixed;top:0;left:0}@keyframes gradientFlow{0%{background-position:0}25%{background-position:100%}50%{background-position:100% 100%}75%{background-position:0 100%}to{background-position:0}}@keyframes particleFlow{0%{background-position:0 0}25%{background-position:50% 100%}50%{background-position:100% 100%}75%{background-position:50% 0}to{background-position:0 0}}@layer utilities{.float-fix{backface-visibility:hidden;perspective:1000px;will-change:transform;position:relative;transform:translateZ(0)}}@property --angle{syntax:"";inherits:false;initial-value:0deg}@keyframes sendBtnGradientRotate{0%{--angle:0deg}7.14%{--angle:21.8deg}42.86%{--angle:158.2deg}57.14%{--angle:201.8deg}92.86%{--angle:338.2deg}to{--angle:360deg}}.sendBtn{background:linear-gradient(var(--angle),#47c0ff -18.45%,#0094ff 17.73%,#836cff 39.48%,#ff56f2 74.15%,#ffb75c 93.09%);animation:5s linear infinite sendBtnGradientRotate}@font-face{font-family:DIN Condensed;font-style:normal;font-weight:700;font-display:fallback;src:url(https://cdn.marmot-cloud.com/storage/zenmux/2025/09/03/XH4qEdP/DIN_Condensed-Bold.woff2)format("woff2"),local(DIN Condensed Bold),local(DINCondensed-Bold);unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Serif;font-style:normal;font-weight:300;font-display:fallback;src:url(https://cdn.marmot-cloud.com/storage/zenmux/2026/01/30/3TdWyBD/NotoSerif-Light.ttf)format("truetype")}@font-face{font-family:Noto Serif;font-style:normal;font-weight:500;font-display:fallback;src:url(https://cdn.marmot-cloud.com/storage/zenmux/2026/01/30/csSK6pH/NotoSerif-Regular.ttf)format("truetype")}@font-face{font-family:Noto Serif;font-style:normal;font-weight:700;font-display:fallback;src:url(https://cdn.marmot-cloud.com/storage/zenmux/2026/01/30/qSZwJRf/NotoSerif-SemiBold.ttf)format("truetype")}.noto-serif{font-feature-settings:"kern"1;text-rendering:optimizelegibility;font-family:Noto Serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.noto-serif-stable{font-size-adjust:.5;letter-spacing:.01em;font-family:Noto Serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.M-FlipCard{width:48px;height:68px;font-family:DIN Condensed,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:66px;font-weight:700;font-style:bold;letter-spacing:0%;text-align:center;color:#000;border-radius:5px;font-size:70px;line-height:1.23;display:inline-block;position:relative;box-shadow:0 1px 1px #0000001a}.M-FlipCard.flip-win{line-height:68px}.M-FlipCard.flip-win .digital:before{line-height:70px}.M-FlipCard.flip-win .digital:after{line-height:3px}.M-FlipCard .digital:before,.M-FlipCard .digital:after{content:"";box-sizing:border-box;font-family:inherit;font-weight:inherit;font-size:inherit;background:#fff;position:absolute;left:0;right:0;overflow:hidden}.M-FlipCard .digital:before{border-bottom:1px solid #e6e6e6;border-radius:5px 5px 0 0;top:0;bottom:50%}.M-FlipCard .digital:after{border-radius:0 0 5px 5px;line-height:.3;top:50%;bottom:0}.M-FlipCard.down .front:before{z-index:3}.M-FlipCard.down .back:after{z-index:2;transform-origin:50% 0;transform:perspective(160px)rotateX(180deg)}.M-FlipCard.down .front:after,.M-FlipCard.down .back:before{z-index:1}.M-FlipCard.down.go .front:before{transform-origin:50% 100%;-webkit-animation:frontFlipDown var(--flipduration)linear both;animation:frontFlipDown var(--flipduration)linear both;backface-visibility:hidden;box-shadow:0 -2px 6px #ffffff4d}.M-FlipCard.down.go .back:after{-webkit-animation:backFlipDown var(--flipduration)linear both;animation:backFlipDown var(--flipduration)linear both}.M-FlipCard.up .front:after{z-index:3}.M-FlipCard.up .back:before{z-index:2;transform-origin:50% 100%;transform:perspective(160px)rotateX(-180deg)}.M-FlipCard.up .front:before,.M-FlipCard.up .back:after{z-index:1}.M-FlipCard.up.go .front:after{transform-origin:50% 0;-webkit-animation:frontFlipUp var(--flipduration)linear both;animation:frontFlipUp var(--flipduration)linear both;backface-visibility:hidden;box-shadow:0 2px 6px #ffffff4d}.M-FlipCard.up.go .back:before{-webkit-animation:backFlipUp var(--flipduration)linear both;animation:backFlipUp var(--flipduration)linear both}@keyframes frontFlipDown{0%{background-color:#fff;transform:perspective(160px)rotateX(0)}50%{background-color:#f5f5f5;transform:perspective(160px)rotateX(-90deg)}to{background-color:#fff;transform:perspective(160px)rotateX(-180deg)}}@keyframes backFlipDown{0%{background-color:#fff;transform:perspective(160px)rotateX(180deg)}50%{background-color:#f5f5f5;transform:perspective(160px)rotateX(90deg)}to{background-color:#fff;transform:perspective(160px)rotateX(0)}}@keyframes frontFlipUp{0%{transform:perspective(160px)rotateX(0)}to{transform:perspective(160px)rotateX(180deg)}}@keyframes backFlipUp{0%{transform:perspective(160px)rotateX(-180deg)}to{transform:perspective(160px)rotateX(0)}}.M-FlipCard .number0:before,.M-FlipCard .number0:after{content:"0"}.M-FlipCard .number1:before,.M-FlipCard .number1:after{content:"1"}.M-FlipCard .number2:before,.M-FlipCard .number2:after{content:"2"}.M-FlipCard .number3:before,.M-FlipCard .number3:after{content:"3"}.M-FlipCard .number4:before,.M-FlipCard .number4:after{content:"4"}.M-FlipCard .number5:before,.M-FlipCard .number5:after{content:"5"}.M-FlipCard .number6:before,.M-FlipCard .number6:after{content:"6"}.M-FlipCard .number7:before,.M-FlipCard .number7:after{content:"7"}.M-FlipCard .number8:before,.M-FlipCard .number8:after{content:"8"}.M-FlipCard .number9:before,.M-FlipCard .number9:after{content:"9"}html[data-theme-mode=dark] .M-FlipCard{color:#fff}html[data-theme-mode=dark] .M-FlipCard .digital:before,html[data-theme-mode=dark] .M-FlipCard .digital:after{background:#333}html[data-theme-mode=dark] .M-FlipCard .digital:before{border-bottom-color:#444}@keyframes frontFlipDownDark{0%{background-color:#333;transform:perspective(160px)rotateX(0)}50%{background-color:#2a2a2a;transform:perspective(160px)rotateX(-90deg)}to{background-color:#333;transform:perspective(160px)rotateX(-180deg)}}@keyframes backFlipDownDark{0%{background-color:#333;transform:perspective(160px)rotateX(180deg)}50%{background-color:#2a2a2a;transform:perspective(160px)rotateX(90deg)}to{background-color:#333;transform:perspective(160px)rotateX(0)}}.blurry{-webkit-backdrop-filter:blur(6px);box-sizing:border-box;background:#00000047;border-radius:14px}@media (width<=767px){.hero-headline{-webkit-backdrop-filter:blur(6px);box-sizing:border-box;background:#00000047;border-radius:14px;width:calc(100vw - 32px);padding:14px 16px 12px}.hero-headline h1{padding-left:0!important;padding-right:0!important}.hero-input-wrap{box-sizing:border-box;width:100%}.sendBtn>div{white-space:nowrap}}@media (width<=639px){.hero-actions{position:relative}.hero-actions a{width:100%}.hero-actions a button{border-radius:10px;height:48px;font-size:15px}}@media (width<=767px){.hero-stats{display:none!important}}@media (width<=374px){.hero-headline{padding:10px 12px}.hero-actions a button{height:44px;font-size:14px}}html{--sb-size:6px;--sb-track:transparent;--sb-thumb-blend:difference;--sb-thumb-color:#c8c8c880;--sb-thumb-hover:#fffc}html,body,*{scrollbar-width:thin;scrollbar-color:#8080804d transparent}:root{--sb-size:6px;--sb-track:transparent;--sb-thumb-color:#9ca3af26;--sb-thumb-blend:overlay;--sb-thumb-hover:#9ca3af4d;--text-color:#323130;--card-bg:#ffffffd9;--border-color:#0000001a;--primary-color:#0078d4;--primary-hover:#106ebe;--secondary-bg:#e1dfdd;--secondary-hover:#d2d0ce;--font-family:"Segoe UI Variable", "Segoe UI", system-ui, -apple-system, sans-serif}.GCookie_MainContent{text-align:center}.GCookie_MainContent h1{font-size:2.5rem;font-weight:600}.GCookie_MainContent p{color:#605e5c;font-size:1.1rem}.c-furry.GCookie_Hidden{opacity:0;pointer-events:none;position:absolute;transform:scale(.95)}.GCookie_Btn{font-size:1rem;font-family:var(--font-family);cursor:pointer;border:none;border-radius:6px;padding:.6rem 1.2rem;transition:background-color .2s,transform .1s}.GCookie_Btn:hover{transform:translateY(-2px)}.GCookie_Btn:active{transform:translateY(0)}.GCookie_BtnPrimary{background-color:var(--primary-color);color:#fff}.GCookie_BtnPrimary:hover{background-color:var(--primary-hover)}.GCookie_BtnSecondary{background-color:var(--secondary-bg);color:var(--text-color)}.GCookie_BtnSecondary:hover{background-color:var(--secondary-hover)}#GCookie_CookieBanner{background-color:var(--card-bg);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border-color);z-index:1000;opacity:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 2rem;transition:transform .4s cubic-bezier(.25,.46,.45,.94),opacity .4s;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -8px 32px #0000001a}#GCookie_CookieBanner.GCookie_Show{opacity:1;transform:translateY(0)}#GCookie_CookieBanner .GCookie_BannerText{color:#000;flex-grow:1;margin-right:1rem}#GCookie_CookieBanner .GCookie_BannerButtons{flex-wrap:wrap;gap:.8rem;display:flex}#GCookie_CookieSettingsModal{z-index:2000;opacity:0;pointer-events:none;background-color:#00000080;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .3s;display:flex;position:fixed;top:0;left:0}#GCookie_CookieSettingsModal.GCookie_Show{opacity:1;pointer-events:auto}.GCookie_ModalContent{background-color:var(--card-bg);-webkit-backdrop-filter:blur(20px);border-radius:12px;width:90%;max-width:500px;max-height:80vh;padding:2rem;transition:transform .3s;overflow-y:auto;transform:scale(.9);box-shadow:0 12px 48px #0003}#GCookie_CookieSettingsModal.GCookie_Show .GCookie_ModalContent{transform:scale(1)}.GCookie_ModalHeader{color:#000;justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.GCookie_ModalHeader h2{margin:0;font-size:1.5rem;font-weight:600}.GCookie_ModalBody{color:#000}.GCookie_CloseBtn{color:#605e5c;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:1.5rem;transition:background-color .2s;display:flex}.GCookie_CloseBtn:hover{background-color:var(--secondary-bg)}.GCookie_SettingItem{margin-bottom:1.5rem}.GCookie_SettingItem label{cursor:pointer;align-items:center;font-size:1rem;display:flex}.GCookie_Switch{width:50px;height:24px;margin-left:1rem;display:inline-block;position:relative}.GCookie_Switch input{opacity:0;width:0;height:0}.GCookie_Slider{cursor:pointer;background-color:#ccc;border-radius:24px;transition:all .4s;position:absolute;inset:0}.GCookie_Slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .4s;position:absolute;bottom:3px;left:3px}input:checked+.GCookie_Slider{background-color:var(--primary-color)}input:checked+.GCookie_Slider:before{transform:translate(26px)}.GCookie_ModalFooter{justify-content:flex-end;margin-top:2rem;display:flex}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.-inset-4{inset:calc(var(--spacing) * -4)}.inset-0{inset:0}.inset-2{inset:calc(var(--spacing) * 2)}.inset-y-0{inset-block:0}.-top-3{top:calc(var(--spacing) * -3)}.-top-4{top:calc(var(--spacing) * -4)}.-top-10{top:calc(var(--spacing) * -10)}.-top-16{top:calc(var(--spacing) * -16)}.-top-20{top:calc(var(--spacing) * -20)}.-top-32{top:calc(var(--spacing) * -32)}.top-0{top:0}.top-1\/2{top:50%}.top-1\/3{top:33.3333%}.top-1\/4{top:25%}.top-2{top:calc(var(--spacing) * 2)}.top-2\/3{top:66.6667%}.top-3{top:calc(var(--spacing) * 3)}.top-3\/4{top:75%}.top-5{top:calc(var(--spacing) * 5)}.top-6{top:calc(var(--spacing) * 6)}.top-10{top:calc(var(--spacing) * 10)}.top-12{top:calc(var(--spacing) * 12)}.top-16{top:calc(var(--spacing) * 16)}.top-\[12\.5\%\]{top:12.5%}.top-\[20\%\]{top:20%}.top-full{top:100%}.-right-3{right:calc(var(--spacing) * -3)}.-right-4{right:calc(var(--spacing) * -4)}.-right-10{right:calc(var(--spacing) * -10)}.-right-20{right:calc(var(--spacing) * -20)}.-right-32{right:calc(var(--spacing) * -32)}.right-0{right:0}.right-1\/3{right:33.3333%}.right-1\/4{right:25%}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-6{right:calc(var(--spacing) * 6)}.right-8{right:calc(var(--spacing) * 8)}.right-10{right:calc(var(--spacing) * 10)}.right-12{right:calc(var(--spacing) * 12)}.right-\[5\%\]{right:5%}.right-\[8\%\]{right:8%}.right-\[15\%\]{right:15%}.right-\[20px\]{right:20px}.-bottom-2{bottom:calc(var(--spacing) * -2)}.-bottom-3{bottom:calc(var(--spacing) * -3)}.-bottom-4{bottom:calc(var(--spacing) * -4)}.-bottom-8{bottom:calc(var(--spacing) * -8)}.-bottom-10{bottom:calc(var(--spacing) * -10)}.-bottom-14{bottom:calc(var(--spacing) * -14)}.-bottom-16{bottom:calc(var(--spacing) * -16)}.-bottom-32{bottom:calc(var(--spacing) * -32)}.bottom-0{bottom:0}.bottom-1\/3{bottom:33.3333%}.bottom-1\/4{bottom:25%}.bottom-2{bottom:calc(var(--spacing) * 2)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-6{bottom:calc(var(--spacing) * 6)}.bottom-10{bottom:calc(var(--spacing) * 10)}.bottom-12{bottom:calc(var(--spacing) * 12)}.bottom-\[10px\]{bottom:10px}.bottom-\[20\%\]{bottom:20%}.-left-3{left:calc(var(--spacing) * -3)}.-left-4{left:calc(var(--spacing) * -4)}.-left-8{left:calc(var(--spacing) * -8)}.-left-16{left:calc(var(--spacing) * -16)}.-left-20{left:calc(var(--spacing) * -20)}.-left-32{left:calc(var(--spacing) * -32)}.left-0{left:0}.left-1\/2{left:50%}.left-1\/3{left:33.3333%}.left-1\/4{left:25%}.left-2\/3{left:66.6667%}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.left-6{left:calc(var(--spacing) * 6)}.left-8{left:calc(var(--spacing) * 8)}.left-10{left:calc(var(--spacing) * 10)}.left-12{left:calc(var(--spacing) * 12)}.left-\[5\%\]{left:5%}.left-\[8\%\]{left:8%}.left-\[15\%\]{left:15%}.-z-10{z-index:calc(10 * -1)}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[1\]{z-index:1}.order-1{order:1}.order-2{order:2}.order-3{order:3}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.col-start-4{grid-column-start:4}.col-start-5{grid-column-start:5}.col-start-6{grid-column-start:6}.col-start-7{grid-column-start:7}.col-start-8{grid-column-start:8}.row-span-1{grid-row:span 1/span 1}.row-span-2{grid-row:span 2/span 2}.row-span-4{grid-row:span 4/span 4}.row-start-1{grid-row-start:1}.row-start-3{grid-row-start:3}.row-start-5{grid-row-start:5}.row-start-6{grid-row-start:6}.row-start-7{grid-row-start:7}.row-start-8{grid-row-start:8}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-0{margin:0}.-mx-8{margin-inline:calc(var(--spacing) * -8)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.my-0{margin-block:0}.my-1{margin-block:var(--spacing)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-4{margin-block:calc(var(--spacing) * 4)}.my-6{margin-block:calc(var(--spacing) * 6)}.my-14{margin-block:calc(var(--spacing) * 14)}.-mt-20{margin-top:calc(var(--spacing) * -20)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mt-20{margin-top:calc(var(--spacing) * 20)}.mt-\[40px\]{margin-top:40px}.mt-auto{margin-top:auto}.-mr-20{margin-right:calc(var(--spacing) * -20)}.mr-1{margin-right:var(--spacing)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-3{margin-right:calc(var(--spacing) * 3)}.mr-4{margin-right:calc(var(--spacing) * 4)}.-mb-20{margin-bottom:calc(var(--spacing) * -20)}.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-7{margin-bottom:calc(var(--spacing) * 7)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.mb-14{margin-bottom:calc(var(--spacing) * 14)}.mb-16{margin-bottom:calc(var(--spacing) * 16)}.mb-20{margin-bottom:calc(var(--spacing) * 20)}.mb-32{margin-bottom:calc(var(--spacing) * 32)}.mb-\[8px\]{margin-bottom:8px}.\!ml-0{margin-left:0!important}.-ml-20{margin-left:calc(var(--spacing) * -20)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-6{margin-left:calc(var(--spacing) * 6)}.ml-8{margin-left:calc(var(--spacing) * 8)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.aspect-\[16\/9\]{aspect-ratio:16/9}.aspect-\[17\/22\]{aspect-ratio:17/22}.aspect-square{aspect-ratio:1}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-28{height:calc(var(--spacing) * 28)}.h-32{height:calc(var(--spacing) * 32)}.h-40{height:calc(var(--spacing) * 40)}.h-48{height:calc(var(--spacing) * 48)}.h-56{height:calc(var(--spacing) * 56)}.h-64{height:calc(var(--spacing) * 64)}.h-72{height:calc(var(--spacing) * 72)}.h-80{height:calc(var(--spacing) * 80)}.h-96{height:calc(var(--spacing) * 96)}.h-\[18px\]{height:18px}.h-\[22px\]{height:22px}.h-\[35vh\]{height:35vh}.h-\[40vh\]{height:40vh}.h-\[44px\]{height:44px}.h-\[60vh\]{height:60vh}.h-\[80vh\]{height:80vh}.h-\[85vh\]{height:85vh}.h-\[100px\]{height:100px}.h-\[100vh\]{height:100vh}.h-\[180px\]{height:180px}.h-\[400px\]{height:400px}.h-\[800px\]{height:800px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[70vh\]{max-height:70vh}.max-h-\[85vh\]{max-height:85vh}.min-h-\[60vh\]{min-height:60vh}.min-h-\[80vh\]{min-height:80vh}.min-h-\[300px\]{min-height:300px}.min-h-screen{min-height:100vh}.w-0{width:0}.w-0\.5{width:calc(var(--spacing) * .5)}.w-1{width:var(--spacing)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-1\/2{width:50%}.w-1\/3{width:33.3333%}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-4\/5{width:80%}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-40{width:calc(var(--spacing) * 40)}.w-48{width:calc(var(--spacing) * 48)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-96{width:calc(var(--spacing) * 96)}.w-\[1px\]{width:1px}.w-\[15\%\]{width:15%}.w-\[18px\]{width:18px}.w-\[35vh\]{width:35vh}.w-\[180px\]{width:180px}.w-\[260px\]{width:260px}.w-\[280px\]{width:280px}.w-\[320px\]{width:320px}.w-\[800px\]{width:800px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[24px\]{max-width:24px}.max-w-\[28px\]{max-width:28px}.max-w-\[40px\]{max-width:40px}.max-w-\[80\%\]{max-width:80%}.max-w-\[85\%\]{max-width:85%}.max-w-\[160px\]{max-width:160px}.max-w-\[240px\]{max-width:240px}.max-w-\[700px\]{max-width:700px}.max-w-\[800px\]{max-width:800px}.max-w-\[850px\]{max-width:850px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-\[150px\]{min-width:150px}.min-w-\[160px\]{min-width:160px}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.origin-left{transform-origin:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-1\/2{--tw-translate-x:calc(1 / 2 * 100%);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-2{--tw-translate-x:calc(var(--spacing) * 2);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[-20px\]{--tw-translate-x:-20px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[20px\]{--tw-translate-x:20px;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/4{--tw-translate-y:calc(calc(1 / 4 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-0{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-4{--tw-translate-y:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-full{--tw-translate-y:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-\[0\.65\]{scale:.65}.-rotate-90{rotate:-90deg}.rotate-1{rotate:1deg}.rotate-6{rotate:6deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\[gradientAnimation_15s_ease_infinite\]{animation:15s infinite gradientAnimation}.animate-\[spin_10s_linear_infinite\]{animation:10s linear infinite spin}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid-rows-8{grid-template-rows:repeat(8,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.content-center{align-content:center}.content-start{align-content:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-around{justify-content:space-around}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:0}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-12{gap:calc(var(--spacing) * 12)}.gap-16{gap:calc(var(--spacing) * 16)}.gap-\[3px\]{gap:3px}.gap-\[10px\]{gap:10px}.gap-px{gap:1px}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-32>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 32) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 32) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 6) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 8) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-x-reverse)))}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-5{row-gap:calc(var(--spacing) * 5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[12px\]{border-radius:12px}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.\!rounded-t-none{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.rounded-t-md{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.rounded-t-xl{border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}.rounded-l-lg{border-top-left-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.rounded-tl-lg{border-top-left-radius:var(--radius-lg)}.rounded-r-lg{border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.rounded-tr-lg{border-top-right-radius:var(--radius-lg)}.rounded-bl-3xl{border-bottom-left-radius:var(--radius-3xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-3{border-style:var(--tw-border-style);border-width:3px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.\!border-t-0{border-top-style:var(--tw-border-style)!important;border-top-width:0!important}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-t-4{border-top-style:var(--tw-border-style);border-top-width:4px}.border-r-2{border-right-style:var(--tw-border-style);border-right-width:2px}.border-r-4{border-right-style:var(--tw-border-style);border-right-width:4px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-b-4{border-bottom-style:var(--tw-border-style);border-bottom-width:4px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.\!border-none{--tw-border-style:none!important;border-style:none!important}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.\!border-transparent{border-color:#0000!important}.border-\[\#1F2329\]{border-color:#1f2329}.border-\[\#36CFC9\]{border-color:#36cfc9}.border-\[\#165DFF\]{border-color:#165dff}.border-\[\#722ED1\]{border-color:#722ed1}.border-\[\#E5E7EB\]{border-color:#e5e7eb}.border-\[\#d1c4ce\]{border-color:#d1c4ce}.border-\[\#d1c4ce\]\/30{border-color:oklab(83.3896% .0177608 -.00884682/.3)}.border-\[\#d1c4ce\]\/50{border-color:oklab(83.3896% .0177608 -.00884682/.5)}.border-amber-200\/60{border-color:#fee68599}@supports (color:color-mix(in lab, red, red)){.border-amber-200\/60{border-color:color-mix(in oklab, var(--color-amber-200) 60%, transparent)}}.border-blue-100{border-color:var(--color-blue-100)}.border-blue-300{border-color:var(--color-blue-300)}.border-blue-400{border-color:var(--color-blue-400)}.border-blue-400\/30{border-color:#54a2ff4d}@supports (color:color-mix(in lab, red, red)){.border-blue-400\/30{border-color:color-mix(in oklab, var(--color-blue-400) 30%, transparent)}}.border-blue-400\/50{border-color:#54a2ff80}@supports (color:color-mix(in lab, red, red)){.border-blue-400\/50{border-color:color-mix(in oklab, var(--color-blue-400) 50%, transparent)}}.border-blue-500{border-color:var(--color-blue-500)}.border-blue-500\/20{border-color:#3080ff33}@supports (color:color-mix(in lab, red, red)){.border-blue-500\/20{border-color:color-mix(in oklab, var(--color-blue-500) 20%, transparent)}}.border-blue-500\/50{border-color:#3080ff80}@supports (color:color-mix(in lab, red, red)){.border-blue-500\/50{border-color:color-mix(in oklab, var(--color-blue-500) 50%, transparent)}}.border-blue-600{border-color:var(--color-blue-600)}.border-cyan-100{border-color:var(--color-cyan-100)}.border-cyan-500{border-color:var(--color-cyan-500)}.border-cyan-600{border-color:var(--color-cyan-600)}.border-emerald-100{border-color:var(--color-emerald-100)}.border-emerald-300{border-color:var(--color-emerald-300)}.border-emerald-500\/20{border-color:#00bb7f33}@supports (color:color-mix(in lab, red, red)){.border-emerald-500\/20{border-color:color-mix(in oklab, var(--color-emerald-500) 20%, transparent)}}.border-emerald-600{border-color:var(--color-emerald-600)}.border-gray-50{border-color:var(--color-gray-50)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-200\/50{border-color:#e5e7eb80}@supports (color:color-mix(in lab, red, red)){.border-gray-200\/50{border-color:color-mix(in oklab, var(--color-gray-200) 50%, transparent)}}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-700{border-color:var(--color-gray-700)}.border-gray-900{border-color:var(--color-gray-900)}.border-green-100{border-color:var(--color-green-100)}.border-indigo-100{border-color:var(--color-indigo-100)}.border-indigo-500{border-color:var(--color-indigo-500)}.border-neutral-300{border-color:var(--color-neutral-300)}.border-neutral-600{border-color:var(--color-neutral-600)}.border-neutral-800{border-color:var(--color-neutral-800)}.border-orange-100{border-color:var(--color-orange-100)}.border-primary{border-color:var(--color-primary)}.border-primary\/30{border-color:#1e40af4d}@supports (color:color-mix(in lab, red, red)){.border-primary\/30{border-color:color-mix(in oklab, var(--color-primary) 30%, transparent)}}.border-purple-100{border-color:var(--color-purple-100)}.border-purple-500\/20{border-color:#ac4bff33}@supports (color:color-mix(in lab, red, red)){.border-purple-500\/20{border-color:color-mix(in oklab, var(--color-purple-500) 20%, transparent)}}.border-purple-600{border-color:var(--color-purple-600)}.border-red-100{border-color:var(--color-red-100)}.border-red-500{border-color:var(--color-red-500)}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.border-red-500\/20{border-color:color-mix(in oklab, var(--color-red-500) 20%, transparent)}}.border-red-600{border-color:var(--color-red-600)}.border-sky-100{border-color:var(--color-sky-100)}.border-sky-300{border-color:var(--color-sky-300)}.border-sky-500\/20{border-color:#00a5ef33}@supports (color:color-mix(in lab, red, red)){.border-sky-500\/20{border-color:color-mix(in oklab, var(--color-sky-500) 20%, transparent)}}.border-slate-50{border-color:var(--color-slate-50)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-300{border-color:var(--color-slate-300)}.border-slate-600{border-color:var(--color-slate-600)}.border-slate-700{border-color:var(--color-slate-700)}.border-slate-800{border-color:var(--color-slate-800)}.border-teal-100{border-color:var(--color-teal-100)}.border-transparent{border-color:#0000}.border-violet-100{border-color:var(--color-violet-100)}.border-violet-300{border-color:var(--color-violet-300)}.border-violet-400\/50{border-color:#a685ff80}@supports (color:color-mix(in lab, red, red)){.border-violet-400\/50{border-color:color-mix(in oklab, var(--color-violet-400) 50%, transparent)}}.border-violet-500\/20{border-color:#8d54ff33}@supports (color:color-mix(in lab, red, red)){.border-violet-500\/20{border-color:color-mix(in oklab, var(--color-violet-500) 20%, transparent)}}.border-white{border-color:var(--color-white)}.border-white\/5{border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.border-white\/5{border-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.border-white\/10{border-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.border-white\/20{border-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.border-yellow-100{border-color:var(--color-yellow-100)}.border-yellow-400{border-color:var(--color-yellow-400)}.border-yellow-500{border-color:var(--color-yellow-500)}.border-yellow-500\/20{border-color:#edb20033}@supports (color:color-mix(in lab, red, red)){.border-yellow-500\/20{border-color:color-mix(in oklab, var(--color-yellow-500) 20%, transparent)}}.border-t-\[\#678187\]{border-top-color:#678187}.\!bg-slate-900{background-color:var(--color-slate-900)!important}.\!bg-transparent{background-color:#0000!important}.bg-\[\#000\]{background-color:#000}.bg-\[\#1F2329\]\/5{background-color:oklab(25.4667% -.00257394 -.0125083/.05)}.bg-\[\#36CFC9\]\/5{background-color:oklab(77.6997% -.1204 -.0232725/.05)}.bg-\[\#165DFF\]\/5{background-color:oklab(54.9404% -.0301409 -.247179/.05)}.bg-\[\#722ED1\]\/5{background-color:oklab(49.4212% .0986064 -.205967/.05)}.bg-\[\#491400\]{background-color:#491400}.bg-\[\#678187\]{background-color:#678187}.bg-\[\#F9FAFB\]{background-color:#f9fafb}.bg-\[\#d1c4ce\]{background-color:#d1c4ce}.bg-\[\#eff6ff\]{background-color:#eff6ff}.bg-\[\#ffebed\]\/10{background-color:oklab(95.657% .0215345 .00402951/.1)}.bg-\[\#ffebed\]\/20{background-color:oklab(95.657% .0215345 .00402951/.2)}.bg-\[rgba\(242\,242\,242\,0\.92\)\]{background-color:#f2f2f2eb}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-400\/60{background-color:#fcbb0099}@supports (color:color-mix(in lab, red, red)){.bg-amber-400\/60{background-color:color-mix(in oklab, var(--color-amber-400) 60%, transparent)}}.bg-black{background-color:var(--color-black)}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab, red, red)){.bg-black\/40{background-color:color-mix(in oklab, var(--color-black) 40%, transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab, red, red)){.bg-black\/60{background-color:color-mix(in oklab, var(--color-black) 60%, transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-400{background-color:var(--color-blue-400)}.bg-blue-400\/30{background-color:#54a2ff4d}@supports (color:color-mix(in lab, red, red)){.bg-blue-400\/30{background-color:color-mix(in oklab, var(--color-blue-400) 30%, transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\/5{background-color:#3080ff0d}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\/5{background-color:color-mix(in oklab, var(--color-blue-500) 5%, transparent)}}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\/10{background-color:color-mix(in oklab, var(--color-blue-500) 10%, transparent)}}.bg-blue-500\/30{background-color:#3080ff4d}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\/30{background-color:color-mix(in oklab, var(--color-blue-500) 30%, transparent)}}.bg-blue-600{background-color:var(--color-blue-600)}.bg-blue-700{background-color:var(--color-blue-700)}.bg-blue-800\/10{background-color:#193cb81a}@supports (color:color-mix(in lab, red, red)){.bg-blue-800\/10{background-color:color-mix(in oklab, var(--color-blue-800) 10%, transparent)}}.bg-blue-800\/20{background-color:#193cb833}@supports (color:color-mix(in lab, red, red)){.bg-blue-800\/20{background-color:color-mix(in oklab, var(--color-blue-800) 20%, transparent)}}.bg-blue-900{background-color:var(--color-blue-900)}.bg-blue-900\/20{background-color:#1c398e33}@supports (color:color-mix(in lab, red, red)){.bg-blue-900\/20{background-color:color-mix(in oklab, var(--color-blue-900) 20%, transparent)}}.bg-blue-900\/40{background-color:#1c398e66}@supports (color:color-mix(in lab, red, red)){.bg-blue-900\/40{background-color:color-mix(in oklab, var(--color-blue-900) 40%, transparent)}}.bg-blue-950\/50{background-color:#16245680}@supports (color:color-mix(in lab, red, red)){.bg-blue-950\/50{background-color:color-mix(in oklab, var(--color-blue-950) 50%, transparent)}}.bg-cyan-50{background-color:var(--color-cyan-50)}.bg-cyan-100{background-color:var(--color-cyan-100)}.bg-cyan-200{background-color:var(--color-cyan-200)}.bg-cyan-400{background-color:var(--color-cyan-400)}.bg-cyan-500{background-color:var(--color-cyan-500)}.bg-cyan-500\/5{background-color:#00b7d70d}@supports (color:color-mix(in lab, red, red)){.bg-cyan-500\/5{background-color:color-mix(in oklab, var(--color-cyan-500) 5%, transparent)}}.bg-cyan-600{background-color:var(--color-cyan-600)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-50\/50{background-color:#ecfdf580}@supports (color:color-mix(in lab, red, red)){.bg-emerald-50\/50{background-color:color-mix(in oklab, var(--color-emerald-50) 50%, transparent)}}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-400\/60{background-color:#00d29499}@supports (color:color-mix(in lab, red, red)){.bg-emerald-400\/60{background-color:color-mix(in oklab, var(--color-emerald-400) 60%, transparent)}}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/5{background-color:#00bb7f0d}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/5{background-color:color-mix(in oklab, var(--color-emerald-500) 5%, transparent)}}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/10{background-color:color-mix(in oklab, var(--color-emerald-500) 10%, transparent)}}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-700{background-color:var(--color-gray-700)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-gray-950{background-color:var(--color-gray-950)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-400{background-color:var(--color-green-400)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab, red, red)){.bg-green-500\/10{background-color:color-mix(in oklab, var(--color-green-500) 10%, transparent)}}.bg-green-500\/30{background-color:#00c7584d}@supports (color:color-mix(in lab, red, red)){.bg-green-500\/30{background-color:color-mix(in oklab, var(--color-green-500) 30%, transparent)}}.bg-indigo-50{background-color:var(--color-indigo-50)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-indigo-200{background-color:var(--color-indigo-200)}.bg-indigo-500{background-color:var(--color-indigo-500)}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-neutral{background-color:var(--color-neutral)}.bg-neutral-100{background-color:var(--color-neutral-100)}.bg-neutral-200{background-color:var(--color-neutral-200)}.bg-neutral-700{background-color:var(--color-neutral-700)}.bg-neutral-800{background-color:var(--color-neutral-800)}.bg-neutral-900{background-color:var(--color-neutral-900)}.bg-neutral-900\/90{background-color:#171717e6}@supports (color:color-mix(in lab, red, red)){.bg-neutral-900\/90{background-color:color-mix(in oklab, var(--color-neutral-900) 90%, transparent)}}.bg-orange-50{background-color:var(--color-orange-50)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-orange-500\/10{background-color:#fe6e001a}@supports (color:color-mix(in lab, red, red)){.bg-orange-500\/10{background-color:color-mix(in oklab, var(--color-orange-500) 10%, transparent)}}.bg-orange-500\/30{background-color:#fe6e004d}@supports (color:color-mix(in lab, red, red)){.bg-orange-500\/30{background-color:color-mix(in oklab, var(--color-orange-500) 30%, transparent)}}.bg-pink-50{background-color:var(--color-pink-50)}.bg-pink-400\/60{background-color:#fb64b699}@supports (color:color-mix(in lab, red, red)){.bg-pink-400\/60{background-color:color-mix(in oklab, var(--color-pink-400) 60%, transparent)}}.bg-pink-500\/10{background-color:#f6339a1a}@supports (color:color-mix(in lab, red, red)){.bg-pink-500\/10{background-color:color-mix(in oklab, var(--color-pink-500) 10%, transparent)}}.bg-pink-500\/30{background-color:#f6339a4d}@supports (color:color-mix(in lab, red, red)){.bg-pink-500\/30{background-color:color-mix(in oklab, var(--color-pink-500) 30%, transparent)}}.bg-primary{background-color:var(--color-primary)}.bg-primary\/5{background-color:#1e40af0d}@supports (color:color-mix(in lab, red, red)){.bg-primary\/5{background-color:color-mix(in oklab, var(--color-primary) 5%, transparent)}}.bg-primary\/8{background-color:#1e40af14}@supports (color:color-mix(in lab, red, red)){.bg-primary\/8{background-color:color-mix(in oklab, var(--color-primary) 8%, transparent)}}.bg-primary\/10{background-color:#1e40af1a}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab, var(--color-primary) 10%, transparent)}}.bg-purple-50{background-color:var(--color-purple-50)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-purple-500{background-color:var(--color-purple-500)}.bg-purple-500\/5{background-color:#ac4bff0d}@supports (color:color-mix(in lab, red, red)){.bg-purple-500\/5{background-color:color-mix(in oklab, var(--color-purple-500) 5%, transparent)}}.bg-purple-500\/10{background-color:#ac4bff1a}@supports (color:color-mix(in lab, red, red)){.bg-purple-500\/10{background-color:color-mix(in oklab, var(--color-purple-500) 10%, transparent)}}.bg-purple-500\/30{background-color:#ac4bff4d}@supports (color:color-mix(in lab, red, red)){.bg-purple-500\/30{background-color:color-mix(in oklab, var(--color-purple-500) 30%, transparent)}}.bg-purple-600{background-color:var(--color-purple-600)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-400{background-color:var(--color-red-400)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/10{background-color:color-mix(in oklab, var(--color-red-500) 10%, transparent)}}.bg-secondary{background-color:var(--color-secondary)}.bg-secondary\/20{background-color:#3b82f633}@supports (color:color-mix(in lab, red, red)){.bg-secondary\/20{background-color:color-mix(in oklab, var(--color-secondary) 20%, transparent)}}.bg-sidebar{background-color:var(--color-sidebar)}.bg-sky-50{background-color:var(--color-sky-50)}.bg-sky-50\/50{background-color:#f0f9ff80}@supports (color:color-mix(in lab, red, red)){.bg-sky-50\/50{background-color:color-mix(in oklab, var(--color-sky-50) 50%, transparent)}}.bg-sky-100{background-color:var(--color-sky-100)}.bg-sky-300\/20{background-color:#77d4ff33}@supports (color:color-mix(in lab, red, red)){.bg-sky-300\/20{background-color:color-mix(in oklab, var(--color-sky-300) 20%, transparent)}}.bg-sky-400{background-color:var(--color-sky-400)}.bg-sky-400\/60{background-color:#00bcfe99}@supports (color:color-mix(in lab, red, red)){.bg-sky-400\/60{background-color:color-mix(in oklab, var(--color-sky-400) 60%, transparent)}}.bg-sky-500{background-color:var(--color-sky-500)}.bg-sky-500\/10{background-color:#00a5ef1a}@supports (color:color-mix(in lab, red, red)){.bg-sky-500\/10{background-color:color-mix(in oklab, var(--color-sky-500) 10%, transparent)}}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-50\/50{background-color:#f8fafc80}@supports (color:color-mix(in lab, red, red)){.bg-slate-50\/50{background-color:color-mix(in oklab, var(--color-slate-50) 50%, transparent)}}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-200{background-color:var(--color-slate-200)}.bg-slate-600{background-color:var(--color-slate-600)}.bg-slate-800{background-color:var(--color-slate-800)}.bg-slate-800\/50{background-color:#1d293d80}@supports (color:color-mix(in lab, red, red)){.bg-slate-800\/50{background-color:color-mix(in oklab, var(--color-slate-800) 50%, transparent)}}.bg-slate-900{background-color:var(--color-slate-900)}.bg-teal-50{background-color:var(--color-teal-50)}.bg-tetris-blue{background-color:var(--color-tetris-blue)}.bg-tetris-light{background-color:var(--color-tetris-light)}.bg-transparent{background-color:#0000}.bg-violet-50{background-color:var(--color-violet-50)}.bg-violet-50\/50{background-color:#f5f3ff80}@supports (color:color-mix(in lab, red, red)){.bg-violet-50\/50{background-color:color-mix(in oklab, var(--color-violet-50) 50%, transparent)}}.bg-violet-100{background-color:var(--color-violet-100)}.bg-violet-300\/20{background-color:#c4b4ff33}@supports (color:color-mix(in lab, red, red)){.bg-violet-300\/20{background-color:color-mix(in oklab, var(--color-violet-300) 20%, transparent)}}.bg-violet-400{background-color:var(--color-violet-400)}.bg-violet-400\/60{background-color:#a685ff99}@supports (color:color-mix(in lab, red, red)){.bg-violet-400\/60{background-color:color-mix(in oklab, var(--color-violet-400) 60%, transparent)}}.bg-violet-500{background-color:var(--color-violet-500)}.bg-violet-500\/10{background-color:#8d54ff1a}@supports (color:color-mix(in lab, red, red)){.bg-violet-500\/10{background-color:color-mix(in oklab, var(--color-violet-500) 10%, transparent)}}.bg-white{background-color:var(--color-white)}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\/10{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.bg-white\/15{background-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.bg-white\/15{background-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.bg-white\/30{background-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.bg-white\/30{background-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.bg-white\/60{background-color:#fff9}@supports (color:color-mix(in lab, red, red)){.bg-white\/60{background-color:color-mix(in oklab, var(--color-white) 60%, transparent)}}.bg-white\/70{background-color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.bg-white\/70{background-color:color-mix(in oklab, var(--color-white) 70%, transparent)}}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab, red, red)){.bg-white\/80{background-color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.bg-white\/90{background-color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.bg-win-light{background-color:var(--color-win-light)}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-yellow-400{background-color:var(--color-yellow-400)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-yellow-500\/5{background-color:#edb2000d}@supports (color:color-mix(in lab, red, red)){.bg-yellow-500\/5{background-color:color-mix(in oklab, var(--color-yellow-500) 5%, transparent)}}.bg-yellow-500\/10{background-color:#edb2001a}@supports (color:color-mix(in lab, red, red)){.bg-yellow-500\/10{background-color:color-mix(in oklab, var(--color-yellow-500) 10%, transparent)}}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-l{--tw-gradient-position:to left in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.\!bg-none{background-image:none!important}.bg-\[linear-gradient\(120deg\,\#ffffff\,\#f0f8ff\,\#f8f0ff\,\#ffffff\)\]{background-image:linear-gradient(120deg,#fff,#f0f8ff,#f8f0ff,#fff)}.bg-\[url\(\'data\:image\/svg\+xml\;base64\,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI\+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSIxIi8\+PC9nPjwvc3ZnPg\=\=\'\)\]{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSIxIi8+PC9nPjwvc3ZnPg==)}.bg-\[url\(\'https\:\/\/bing\.img\.run\/uhd\.php\'\)\]{background-image:url(https://bing.img.run/uhd.php)}.from-\[\#165DFF\]\/5{--tw-gradient-from:oklab(54.9404% -.0301409 -.247179/.05);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-\[\#2487FE\]{--tw-gradient-from:#2487fe;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-\[\#491400\]{--tw-gradient-from:#491400;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-amber-50{--tw-gradient-from:var(--color-amber-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-black{--tw-gradient-from:var(--color-black);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-black\/80{--tw-gradient-from:#000c}@supports (color:color-mix(in lab, red, red)){.from-black\/80{--tw-gradient-from:color-mix(in oklab, var(--color-black) 80%, transparent)}}.from-black\/80{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-blue-50{--tw-gradient-from:var(--color-blue-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-blue-500{--tw-gradient-from:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-blue-500\/10{--tw-gradient-from:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.from-blue-500\/10{--tw-gradient-from:color-mix(in oklab, var(--color-blue-500) 10%, transparent)}}.from-blue-500\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-blue-600{--tw-gradient-from:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-cyan-100{--tw-gradient-from:var(--color-cyan-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-cyan-500{--tw-gradient-from:var(--color-cyan-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-cyan-600{--tw-gradient-from:var(--color-cyan-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-emerald-500{--tw-gradient-from:var(--color-emerald-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-emerald-500\/10{--tw-gradient-from:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.from-emerald-500\/10{--tw-gradient-from:color-mix(in oklab, var(--color-emerald-500) 10%, transparent)}}.from-emerald-500\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-emerald-600{--tw-gradient-from:var(--color-emerald-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-gray-300{--tw-gradient-from:var(--color-gray-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-green-500{--tw-gradient-from:var(--color-green-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-indigo-50{--tw-gradient-from:var(--color-indigo-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-orange-500{--tw-gradient-from:var(--color-orange-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-pink-500{--tw-gradient-from:var(--color-pink-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-primary{--tw-gradient-from:var(--color-primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-primary\/90{--tw-gradient-from:#1e40afe6}@supports (color:color-mix(in lab, red, red)){.from-primary\/90{--tw-gradient-from:color-mix(in oklab, var(--color-primary) 90%, transparent)}}.from-primary\/90{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-purple-500\/10{--tw-gradient-from:#ac4bff1a}@supports (color:color-mix(in lab, red, red)){.from-purple-500\/10{--tw-gradient-from:color-mix(in oklab, var(--color-purple-500) 10%, transparent)}}.from-purple-500\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-purple-600{--tw-gradient-from:var(--color-purple-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-red-500{--tw-gradient-from:var(--color-red-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-slate-50{--tw-gradient-from:var(--color-slate-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-slate-900{--tw-gradient-from:var(--color-slate-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-violet-200\/40{--tw-gradient-from:#ddd6ff66}@supports (color:color-mix(in lab, red, red)){.from-violet-200\/40{--tw-gradient-from:color-mix(in oklab, var(--color-violet-200) 40%, transparent)}}.from-violet-200\/40{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-violet-500{--tw-gradient-from:var(--color-violet-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-violet-600{--tw-gradient-from:var(--color-violet-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-white{--tw-gradient-from:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-yellow-500\/10{--tw-gradient-from:#edb2001a}@supports (color:color-mix(in lab, red, red)){.from-yellow-500\/10{--tw-gradient-from:color-mix(in oklab, var(--color-yellow-500) 10%, transparent)}}.from-yellow-500\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-black\/20{--tw-gradient-via:#0003}@supports (color:color-mix(in lab, red, red)){.via-black\/20{--tw-gradient-via:color-mix(in oklab, var(--color-black) 20%, transparent)}}.via-black\/20{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-black\/30{--tw-gradient-via:#0000004d}@supports (color:color-mix(in lab, red, red)){.via-black\/30{--tw-gradient-via:color-mix(in oklab, var(--color-black) 30%, transparent)}}.via-black\/30{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-blue-50{--tw-gradient-via:var(--color-blue-50);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-blue-500{--tw-gradient-via:var(--color-blue-500);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-blue-700{--tw-gradient-via:var(--color-blue-700);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-blue-950{--tw-gradient-via:var(--color-blue-950);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-purple-400{--tw-gradient-via:var(--color-purple-400);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-secondary{--tw-gradient-via:var(--color-secondary);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-sky-500{--tw-gradient-via:var(--color-sky-500);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-\[\#36CFC9\]\/5{--tw-gradient-to:oklab(77.6997% -.1204 -.0232725/.05);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-\[\#d7aa66\]{--tw-gradient-to:#d7aa66;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-blue-100{--tw-gradient-to:var(--color-blue-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-blue-500{--tw-gradient-to:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-blue-600{--tw-gradient-to:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-cyan-400{--tw-gradient-to:var(--color-cyan-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-cyan-500{--tw-gradient-to:var(--color-cyan-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-cyan-600{--tw-gradient-to:var(--color-cyan-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-emerald-400{--tw-gradient-to:var(--color-emerald-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-emerald-500{--tw-gradient-to:var(--color-emerald-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-indigo-100{--tw-gradient-to:var(--color-indigo-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-indigo-600{--tw-gradient-to:var(--color-indigo-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-indigo-800{--tw-gradient-to:var(--color-indigo-800);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-orange-50{--tw-gradient-to:var(--color-orange-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-pink-400{--tw-gradient-to:var(--color-pink-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-primary{--tw-gradient-to:var(--color-primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-purple-50{--tw-gradient-to:var(--color-purple-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-purple-400{--tw-gradient-to:var(--color-purple-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-purple-500{--tw-gradient-to:var(--color-purple-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-purple-900{--tw-gradient-to:var(--color-purple-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-rose-500{--tw-gradient-to:var(--color-rose-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-sky-200\/40{--tw-gradient-to:#b8e6fe66}@supports (color:color-mix(in lab, red, red)){.to-sky-200\/40{--tw-gradient-to:color-mix(in oklab, var(--color-sky-200) 40%, transparent)}}.to-sky-200\/40{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-slate-50{--tw-gradient-to:var(--color-slate-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-slate-100{--tw-gradient-to:var(--color-slate-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-slate-900{--tw-gradient-to:var(--color-slate-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-white{--tw-gradient-to:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-yellow-400{--tw-gradient-to:var(--color-yellow-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-\[size\:400\%_400\%\]{background-size:400% 400%}.bg-cover{background-size:cover}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.bg-center{background-position:50%}.bg-no-repeat{background-repeat:no-repeat}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-left{object-position:left}.object-right{object-position:right}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-7{padding:calc(var(--spacing) * 7)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.p-12{padding:calc(var(--spacing) * 12)}.p-\[2\.5rem_2rem\]{padding:2.5rem 2rem}.p-\[2rem_1rem\]{padding:2rem 1rem}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.px-10{padding-inline:calc(var(--spacing) * 10)}.px-\[8\%\]{padding-inline:8%}.px-\[16px\]{padding-inline:16px}.px-\[32px\]{padding-inline:32px}.py-0{padding-block:0}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-14{padding-block:calc(var(--spacing) * 14)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.py-24{padding-block:calc(var(--spacing) * 24)}.py-32{padding-block:calc(var(--spacing) * 32)}.py-\[15px\]{padding-block:15px}.pt-0{padding-top:0}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-16{padding-top:calc(var(--spacing) * 16)}.pt-20{padding-top:calc(var(--spacing) * 20)}.pt-24{padding-top:calc(var(--spacing) * 24)}.pt-32{padding-top:calc(var(--spacing) * 32)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-\[16px\]{padding-right:16px}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-10{padding-left:calc(var(--spacing) * 10)}.pl-\[16px\]{padding-left:16px}.pl-\[24px\]{padding-left:24px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-\[\'DIN_Condensed\'\]{font-family:DIN Condensed}.font-\[\'PT_Sans\'\]{font-family:PT Sans}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-9xl{font-size:var(--text-9xl);line-height:var(--tw-leading,var(--text-9xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.9rem\]{font-size:.9rem}.text-\[0\.85rem\]{font-size:.85rem}.text-\[0\.95rem\]{font-size:.95rem}.text-\[1\.1rem\]{font-size:1.1rem}.text-\[1\.05rem\]{font-size:1.05rem}.text-\[1\.8rem\]{font-size:1.8rem}.text-\[1rem\]{font-size:1rem}.text-\[2\.7rem\]{font-size:2.7rem}.text-\[10px\]{font-size:10px}.text-\[14px\]{font-size:14px}.text-\[18px\]{font-size:18px}.text-\[20px\]{font-size:20px}.text-\[20vw\]{font-size:20vw}.text-\[24px\]{font-size:24px}.text-\[32px\]{font-size:32px}.text-\[clamp\(1\.5rem\,3vw\,2\.5rem\)\]{font-size:clamp(1.5rem,3vw,2.5rem)}.text-\[clamp\(1\.5rem\,4vw\,2\.5rem\)\]{font-size:clamp(1.5rem,4vw,2.5rem)}.text-\[clamp\(1\.8rem\,4vw\,3rem\)\]{font-size:clamp(1.8rem,4vw,3rem)}.text-\[clamp\(1rem\,2vw\,1\.5rem\)\]{font-size:clamp(1rem,2vw,1.5rem)}.text-\[clamp\(1rem\,2vw\,1\.25rem\)\]{font-size:clamp(1rem,2vw,1.25rem)}.text-\[clamp\(2rem\,5vw\,3\.5rem\)\]{font-size:clamp(2rem,5vw,3.5rem)}.text-\[clamp\(2rem\,5vw\,4rem\)\]{font-size:clamp(2rem,5vw,4rem)}.text-\[clamp\(5rem\,15vw\,10rem\)\]{font-size:clamp(5rem,15vw,10rem)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-8{--tw-leading:calc(var(--spacing) * 8);line-height:calc(var(--spacing) * 8)}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-\[1\.7\]{--tw-leading:1.7;line-height:1.7}.leading-\[1\.8\]{--tw-leading:1.8;line-height:1.8}.leading-\[1\.25\]{--tw-leading:1.25;line-height:1.25}.leading-\[1\.65\]{--tw-leading:1.65;line-height:1.65}.leading-\[40px\]{--tw-leading:40px;line-height:40px}.leading-loose{--tw-leading:var(--leading-loose);line-height:var(--leading-loose)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.3em\]{--tw-tracking:.3em;letter-spacing:.3em}.tracking-\[0\.3px\]{--tw-tracking:.3px;letter-spacing:.3px}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#000\]{color:#000}.text-\[\#1F2329\]{color:#1f2329}.text-\[\#4E5969\]{color:#4e5969}.text-\[\#36CFC9\]{color:#36cfc9}.text-\[\#165DFF\]{color:#165dff}.text-\[\#667eea\]{color:#667eea}.text-\[\#722ED1\]{color:#722ed1}.text-\[\#491400\]{color:#491400}.text-\[\#678187\]{color:#678187}.text-\[\#678187\]\/70{color:oklab(58.5007% -.0261306 -.0171754/.7)}.text-\[\#678187\]\/80{color:oklab(58.5007% -.0261306 -.0171754/.8)}.text-\[\#858585\]{color:#858585}.text-\[\#FFF\],.text-\[\#fff\]{color:#fff}.text-accent{color:var(--color-accent)}.text-amber-400{color:var(--color-amber-400)}.text-amber-600{color:var(--color-amber-600)}.text-black{color:var(--color-black)}.text-blue-100{color:var(--color-blue-100)}.text-blue-200{color:var(--color-blue-200)}.text-blue-300{color:var(--color-blue-300)}.text-blue-300\/30{color:#90c5ff4d}@supports (color:color-mix(in lab, red, red)){.text-blue-300\/30{color:color-mix(in oklab, var(--color-blue-300) 30%, transparent)}}.text-blue-300\/60{color:#90c5ff99}@supports (color:color-mix(in lab, red, red)){.text-blue-300\/60{color:color-mix(in oklab, var(--color-blue-300) 60%, transparent)}}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-blue-900{color:var(--color-blue-900)}.text-cyan-400{color:var(--color-cyan-400)}.text-cyan-600{color:var(--color-cyan-600)}.text-cyan-700{color:var(--color-cyan-700)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-gray-100{color:var(--color-gray-100)}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-green-900\/80{color:#0d542bcc}@supports (color:color-mix(in lab, red, red)){.text-green-900\/80{color:color-mix(in oklab, var(--color-green-900) 80%, transparent)}}.text-indigo-600{color:var(--color-indigo-600)}.text-neutral-200{color:var(--color-neutral-200)}.text-neutral-300{color:var(--color-neutral-300)}.text-neutral-400{color:var(--color-neutral-400)}.text-neutral-500{color:var(--color-neutral-500)}.text-neutral-600{color:var(--color-neutral-600)}.text-neutral-700{color:var(--color-neutral-700)}.text-neutral-800{color:var(--color-neutral-800)}.text-orange-400{color:var(--color-orange-400)}.text-orange-500{color:var(--color-orange-500)}.text-orange-600{color:var(--color-orange-600)}.text-pink-600{color:var(--color-pink-600)}.text-primary{color:var(--color-primary)}.text-primary\/70{color:#1e40afb3}@supports (color:color-mix(in lab, red, red)){.text-primary\/70{color:color-mix(in oklab, var(--color-primary) 70%, transparent)}}.text-primary\/90{color:#1e40afe6}@supports (color:color-mix(in lab, red, red)){.text-primary\/90{color:color-mix(in oklab, var(--color-primary) 90%, transparent)}}.text-purple-200{color:var(--color-purple-200)}.text-purple-400{color:var(--color-purple-400)}.text-purple-500{color:var(--color-purple-500)}.text-purple-600{color:var(--color-purple-600)}.text-purple-700{color:var(--color-purple-700)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-red-900\/80{color:#82181acc}@supports (color:color-mix(in lab, red, red)){.text-red-900\/80{color:color-mix(in oklab, var(--color-red-900) 80%, transparent)}}.text-rose-500{color:var(--color-rose-500)}.text-sky-400{color:var(--color-sky-400)}.text-sky-500{color:var(--color-sky-500)}.text-sky-600{color:var(--color-sky-600)}.text-sky-700{color:var(--color-sky-700)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-teal-600{color:var(--color-teal-600)}.text-tetris-dark{color:var(--color-tetris-dark)}.text-text-hint{color:var(--color-text-hint)}.text-text-primary{color:var(--color-text-primary)}.text-text-secondary{color:var(--color-text-secondary)}.text-transparent{color:#0000}.text-violet-400{color:var(--color-violet-400)}.text-violet-500{color:var(--color-violet-500)}.text-violet-600{color:var(--color-violet-600)}.text-violet-700{color:var(--color-violet-700)}.text-white{color:var(--color-white)}.text-white\/10{color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.text-white\/10{color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.text-white\/30{color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.text-white\/30{color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.text-white\/40{color:#fff6}@supports (color:color-mix(in lab, red, red)){.text-white\/40{color:color-mix(in oklab, var(--color-white) 40%, transparent)}}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab, red, red)){.text-white\/60{color:color-mix(in oklab, var(--color-white) 60%, transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.text-white\/70{color:color-mix(in oklab, var(--color-white) 70%, transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab, red, red)){.text-white\/80{color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.text-white\/90{color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.text-white\/\[0\.02\]{color:#ffffff05}@supports (color:color-mix(in lab, red, red)){.text-white\/\[0\.02\]{color:color-mix(in oklab, var(--color-white) 2%, transparent)}}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-500{color:var(--color-yellow-500)}.text-yellow-600{color:var(--color-yellow-600)}.text-yellow-900{color:var(--color-yellow-900)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-gray-400::placeholder{color:var(--color-gray-400)}.placeholder-gray-500::placeholder{color:var(--color-gray-500)}.opacity-0{opacity:0}.opacity-5{opacity:.05}.opacity-10{opacity:.1}.opacity-20{opacity:.2}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-100{opacity:1}.opacity-\[0\.03\]{opacity:.03}.\!shadow-none{--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)!important}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_15px_rgba\(36\,135\,254\,0\.3\)\]{--tw-shadow:0 0 15px var(--tw-shadow-color,#2487fe4d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_20px_rgba\(36\,135\,254\,0\.4\)\]{--tw-shadow:0 0 20px var(--tw-shadow-color,#2487fe66);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_30px_rgba\(0\,0\,0\,0\.08\)\]{--tw-shadow:0 0 30px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_1px_3px_rgba\(0\,0\,0\,0\.05\)\,0_1px_2px_rgba\(0\,0\,0\,0\.1\)\]{--tw-shadow:0 1px 3px var(--tw-shadow-color,#0000000d), 0 1px 2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_4px_20px_rgba\(0\,0\,0\,0\.05\)\]{--tw-shadow:0 4px 20px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-blue-100{--tw-shadow-color:oklch(93.2% .032 255.585)}@supports (color:color-mix(in lab, red, red)){.shadow-blue-100{--tw-shadow-color:color-mix(in oklab, var(--color-blue-100) var(--tw-shadow-alpha), transparent)}}.shadow-blue-900{--tw-shadow-color:oklch(37.9% .146 265.522)}@supports (color:color-mix(in lab, red, red)){.shadow-blue-900{--tw-shadow-color:color-mix(in oklab, var(--color-blue-900) var(--tw-shadow-alpha), transparent)}}.shadow-blue-900\/50{--tw-shadow-color:#1c398e80}@supports (color:color-mix(in lab, red, red)){.shadow-blue-900\/50{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-blue-900) 50%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-cyan-200{--tw-shadow-color:oklch(91.7% .08 205.041)}@supports (color:color-mix(in lab, red, red)){.shadow-cyan-200{--tw-shadow-color:color-mix(in oklab, var(--color-cyan-200) var(--tw-shadow-alpha), transparent)}}.shadow-emerald-500\/10{--tw-shadow-color:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.shadow-emerald-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-emerald-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-gray-200\/50{--tw-shadow-color:#e5e7eb80}@supports (color:color-mix(in lab, red, red)){.shadow-gray-200\/50{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-gray-200) 50%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-slate-900\/20{--tw-shadow-color:#0f172b33}@supports (color:color-mix(in lab, red, red)){.shadow-slate-900\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-slate-900) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-gray-100{--tw-ring-color:var(--color-gray-100)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur-3xl{--tw-blur:blur(var(--blur-3xl));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.blur-\[100px\]{--tw-blur:blur(100px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.blur-\[120px\]{--tw-blur:blur(120px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow-lg{--tw-drop-shadow-size:drop-shadow(0 4px 4px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-lg));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-100{transition-delay:.1s}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}.delay-400{transition-delay:.4s}.delay-500{transition-delay:.5s}.delay-700{transition-delay:.7s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.duration-1000{--tw-duration:1s;transition-duration:1s}.ease-\[cubic-bezier\(0\.25\,0\.8\,0\.25\,1\)\]{--tw-ease:cubic-bezier(.25,.8,.25,1);transition-timing-function:cubic-bezier(.25,.8,.25,1)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[text-shadow\:0_2px_8px_rgba\(0\,0\,0\,0\.6\)\]{text-shadow:0 2px 8px #0009}@media (hover:hover){.group-hover\:w-full:is(:where(.group):hover *){width:100%}.group-hover\:translate-x-1:is(:where(.group):hover *){--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:-translate-y-1:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:translate-y-0:is(:where(.group):hover *){--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:scale-100:is(:where(.group):hover *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:scale-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:scale-\[1\.02\]:is(:where(.group):hover *){scale:1.02}.group-hover\:rotate-12:is(:where(.group):hover *){rotate:12deg}.group-hover\:gap-2\.5:is(:where(.group):hover *){gap:calc(var(--spacing) * 2.5)}.group-hover\:border-violet-400:is(:where(.group):hover *){border-color:var(--color-violet-400)}.group-hover\:bg-amber-100:is(:where(.group):hover *){background-color:var(--color-amber-100)}.group-hover\:bg-blue-100:is(:where(.group):hover *){background-color:var(--color-blue-100)}.group-hover\:bg-blue-500:is(:where(.group):hover *){background-color:var(--color-blue-500)}.group-hover\:bg-cyan-100:is(:where(.group):hover *){background-color:var(--color-cyan-100)}.group-hover\:bg-orange-100:is(:where(.group):hover *){background-color:var(--color-orange-100)}.group-hover\:bg-pink-100:is(:where(.group):hover *){background-color:var(--color-pink-100)}.group-hover\:bg-teal-100:is(:where(.group):hover *){background-color:var(--color-teal-100)}.group-hover\:bg-violet-100:is(:where(.group):hover *){background-color:var(--color-violet-100)}.group-hover\:bg-violet-200:is(:where(.group):hover *){background-color:var(--color-violet-200)}.group-hover\:bg-violet-500\/20:is(:where(.group):hover *){background-color:#8d54ff33}@supports (color:color-mix(in lab, red, red)){.group-hover\:bg-violet-500\/20:is(:where(.group):hover *){background-color:color-mix(in oklab, var(--color-violet-500) 20%, transparent)}}.group-hover\:text-primary:is(:where(.group):hover *){color:var(--color-primary)}.group-hover\:text-violet-500\/30:is(:where(.group):hover *){color:#8d54ff4d}@supports (color:color-mix(in lab, red, red)){.group-hover\:text-violet-500\/30:is(:where(.group):hover *){color:color-mix(in oklab, var(--color-violet-500) 30%, transparent)}}.group-hover\:opacity-10:is(:where(.group):hover *){opacity:.1}.group-hover\:opacity-80:is(:where(.group):hover *){opacity:.8}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\/item\:scale-110:is(:where(.group\/item):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\/item\:text-slate-800:is(:where(.group\/item):hover *){color:var(--color-slate-800)}}.selection\:bg-\[\#2487FE\] ::selection{background-color:#2487fe}.selection\:bg-\[\#2487FE\]::selection{background-color:#2487fe}.selection\:bg-blue-100 ::selection{background-color:var(--color-blue-100)}.selection\:bg-blue-100::selection{background-color:var(--color-blue-100)}.selection\:bg-cyan-200 ::selection{background-color:var(--color-cyan-200)}.selection\:bg-cyan-200::selection{background-color:var(--color-cyan-200)}.selection\:bg-primary ::selection{background-color:var(--color-primary)}.selection\:bg-primary::selection{background-color:var(--color-primary)}.selection\:text-blue-900 ::selection{color:var(--color-blue-900)}.selection\:text-blue-900::selection{color:var(--color-blue-900)}.selection\:text-cyan-900 ::selection{color:var(--color-cyan-900)}.selection\:text-cyan-900::selection{color:var(--color-cyan-900)}.selection\:text-white ::selection{color:var(--color-white)}.selection\:text-white::selection{color:var(--color-white)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:bottom-\[-2px\]:after{content:var(--tw-content);bottom:-2px}.after\:left-0:after{content:var(--tw-content);left:0}.after\:h-\[2px\]:after{content:var(--tw-content);height:2px}.after\:w-0:after{content:var(--tw-content);width:0}.after\:bg-\[\#3b82f6\]:after{content:var(--tw-content);background-color:#3b82f6}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:duration-200:after{content:var(--tw-content);--tw-duration:.2s;transition-duration:.2s}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.checked\:scale-\[0\.95\]:checked{scale:.95}.focus-within\:border-\[\#3b82f6\]:focus-within{border-color:#3b82f6}.focus-within\:border-primary:focus-within{border-color:var(--color-primary)}.focus-within\:ring-1:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-within\:ring-\[\#3b82f6\]\/30:focus-within{--tw-ring-color:oklab(62.3083% -.0332476 -.185052/.3)}.focus-within\:ring-primary\/30:focus-within{--tw-ring-color:#1e40af4d}@supports (color:color-mix(in lab, red, red)){.focus-within\:ring-primary\/30:focus-within{--tw-ring-color:color-mix(in oklab, var(--color-primary) 30%, transparent)}}@media (hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:-translate-y-1\.5:hover{--tw-translate-y:calc(var(--spacing) * -1.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:scale-\[1\.02\]:hover{scale:1.02}.hover\:rotate-180:hover{rotate:180deg}.hover\:border-blue-500\/30:hover{border-color:#3080ff4d}@supports (color:color-mix(in lab, red, red)){.hover\:border-blue-500\/30:hover{border-color:color-mix(in oklab, var(--color-blue-500) 30%, transparent)}}.hover\:border-cyan-200:hover{border-color:var(--color-cyan-200)}.hover\:border-emerald-400:hover{border-color:var(--color-emerald-400)}.hover\:border-emerald-500\/30:hover{border-color:#00bb7f4d}@supports (color:color-mix(in lab, red, red)){.hover\:border-emerald-500\/30:hover{border-color:color-mix(in oklab, var(--color-emerald-500) 30%, transparent)}}.hover\:border-gray-400:hover{border-color:var(--color-gray-400)}.hover\:border-primary:hover{border-color:var(--color-primary)}.hover\:border-primary\/30:hover{border-color:#1e40af4d}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/30:hover{border-color:color-mix(in oklab, var(--color-primary) 30%, transparent)}}.hover\:border-purple-200:hover{border-color:var(--color-purple-200)}.hover\:border-purple-500\/30:hover{border-color:#ac4bff4d}@supports (color:color-mix(in lab, red, red)){.hover\:border-purple-500\/30:hover{border-color:color-mix(in oklab, var(--color-purple-500) 30%, transparent)}}.hover\:border-sky-400:hover{border-color:var(--color-sky-400)}.hover\:border-slate-300:hover{border-color:var(--color-slate-300)}.hover\:border-slate-400:hover{border-color:var(--color-slate-400)}.hover\:border-violet-400:hover{border-color:var(--color-violet-400)}.hover\:border-yellow-500\/30:hover{border-color:#edb2004d}@supports (color:color-mix(in lab, red, red)){.hover\:border-yellow-500\/30:hover{border-color:color-mix(in oklab, var(--color-yellow-500) 30%, transparent)}}.hover\:bg-\[\#1a6fd4\]:hover{background-color:#1a6fd4}.hover\:bg-\[\#333\]:hover{background-color:#333}.hover\:bg-\[\#d1c4ce\]\/90:hover{background-color:oklab(83.3896% .0177608 -.00884682/.9)}.hover\:bg-\[\#e6e6e6\]:hover{background-color:#e6e6e6}.hover\:bg-blue-50:hover{background-color:var(--color-blue-50)}.hover\:bg-blue-500:hover{background-color:var(--color-blue-500)}.hover\:bg-blue-600:hover{background-color:var(--color-blue-600)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-blue-900\/20:hover{background-color:#1c398e33}@supports (color:color-mix(in lab, red, red)){.hover\:bg-blue-900\/20:hover{background-color:color-mix(in oklab, var(--color-blue-900) 20%, transparent)}}.hover\:bg-blue-900\/30:hover{background-color:#1c398e4d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-blue-900\/30:hover{background-color:color-mix(in oklab, var(--color-blue-900) 30%, transparent)}}.hover\:bg-cyan-700:hover{background-color:var(--color-cyan-700)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-300:hover{background-color:var(--color-gray-300)}.hover\:bg-gray-800:hover{background-color:var(--color-gray-800)}.hover\:bg-neutral-100:hover{background-color:var(--color-neutral-100)}.hover\:bg-neutral-200:hover{background-color:var(--color-neutral-200)}.hover\:bg-neutral-700:hover{background-color:var(--color-neutral-700)}.hover\:bg-primary:hover{background-color:var(--color-primary)}.hover\:bg-primary\/90:hover{background-color:#1e40afe6}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--color-primary) 90%, transparent)}}.hover\:bg-purple-50:hover{background-color:var(--color-purple-50)}.hover\:bg-purple-600:hover{background-color:var(--color-purple-600)}.hover\:bg-sky-100:hover{background-color:var(--color-sky-100)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-800:hover{background-color:var(--color-slate-800)}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:bg-white\/5:hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/5:hover{background-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.hover\:from-blue-600:hover{--tw-gradient-from:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.hover\:from-emerald-600:hover{--tw-gradient-from:var(--color-emerald-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.hover\:to-cyan-600:hover{--tw-gradient-to:var(--color-cyan-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.hover\:text-\[\#3b82f6\]:hover{color:#3b82f6}.hover\:text-amber-800:hover{color:var(--color-amber-800)}.hover\:text-black:hover{color:var(--color-black)}.hover\:text-blue-400:hover{color:var(--color-blue-400)}.hover\:text-blue-700:hover{color:var(--color-blue-700)}.hover\:text-blue-800:hover{color:var(--color-blue-800)}.hover\:text-cyan-800:hover{color:var(--color-cyan-800)}.hover\:text-emerald-800:hover{color:var(--color-emerald-800)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-gray-900:hover{color:var(--color-gray-900)}.hover\:text-primary:hover{color:var(--color-primary)}.hover\:text-primary\/80:hover{color:#1e40afcc}@supports (color:color-mix(in lab, red, red)){.hover\:text-primary\/80:hover{color:color-mix(in oklab, var(--color-primary) 80%, transparent)}}.hover\:text-purple-500:hover{color:var(--color-purple-500)}.hover\:text-purple-600:hover{color:var(--color-purple-600)}.hover\:text-purple-700:hover{color:var(--color-purple-700)}.hover\:text-red-500:hover{color:var(--color-red-500)}.hover\:text-slate-900:hover{color:var(--color-slate-900)}.hover\:text-violet-800:hover{color:var(--color-violet-800)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-\[0_0_15px_rgba\(0\,0\,0\,0\.1\)\]:hover{--tw-shadow:0 0 15px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-\[0_8px_30px_rgba\(22\,93\,255\,0\.12\)\]:hover{--tw-shadow:0 8px 30px var(--tw-shadow-color,#165dff1f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-\[0_10px_15px_-3px_rgba\(0\,0\,0\,0\.08\)\,0_4px_6px_-2px_rgba\(0\,0\,0\,0\.04\)\]:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#00000014), 0 4px 6px -2px var(--tw-shadow-color,#0000000a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-\[0_20px_60px_rgba\(0\,0\,0\,0\.2\)\]:hover{--tw-shadow:0 20px 60px var(--tw-shadow-color,#0003);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-blue-200:hover{--tw-shadow-color:oklch(88.2% .059 254.128)}@supports (color:color-mix(in lab, red, red)){.hover\:shadow-blue-200:hover{--tw-shadow-color:color-mix(in oklab, var(--color-blue-200) var(--tw-shadow-alpha), transparent)}}.hover\:shadow-blue-300\/30:hover{--tw-shadow-color:#90c5ff4d}@supports (color:color-mix(in lab, red, red)){.hover\:shadow-blue-300\/30:hover{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-blue-300) 30%, transparent) var(--tw-shadow-alpha), transparent)}}.hover\:shadow-blue-500\/5:hover{--tw-shadow-color:#3080ff0d}@supports (color:color-mix(in lab, red, red)){.hover\:shadow-blue-500\/5:hover{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-blue-500) 5%, transparent) var(--tw-shadow-alpha), transparent)}}.hover\:shadow-blue-500\/10:hover{--tw-shadow-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.hover\:shadow-blue-500\/10:hover{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-blue-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.hover\:shadow-primary\/10:hover{--tw-shadow-color:#1e40af1a}@supports (color:color-mix(in lab, red, red)){.hover\:shadow-primary\/10:hover{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-primary) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.hover\:shadow-purple-500\/5:hover{--tw-shadow-color:#ac4bff0d}@supports (color:color-mix(in lab, red, red)){.hover\:shadow-purple-500\/5:hover{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-purple-500) 5%, transparent) var(--tw-shadow-alpha), transparent)}}.hover\:shadow-purple-500\/10:hover{--tw-shadow-color:#ac4bff1a}@supports (color:color-mix(in lab, red, red)){.hover\:shadow-purple-500\/10:hover{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-purple-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.hover\:shadow-slate-100:hover{--tw-shadow-color:oklch(96.8% .007 247.896)}@supports (color:color-mix(in lab, red, red)){.hover\:shadow-slate-100:hover{--tw-shadow-color:color-mix(in oklab, var(--color-slate-100) var(--tw-shadow-alpha), transparent)}}.hover\:shadow-violet-500\/10:hover{--tw-shadow-color:#8d54ff1a}@supports (color:color-mix(in lab, red, red)){.hover\:shadow-violet-500\/10:hover{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-violet-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.hover\:after\:w-full:hover:after{content:var(--tw-content);width:100%}}.focus\:scale-\[1\.01\]:focus{scale:1.01}.focus\:border-primary:focus{border-color:var(--color-primary)}.focus\:border-transparent:focus{border-color:#0000}.focus\:bg-white:focus{background-color:var(--color-white)}.focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:ring-primary:focus{--tw-ring-color:var(--color-primary)}.focus\:ring-primary\/30:focus{--tw-ring-color:#1e40af4d}@supports (color:color-mix(in lab, red, red)){.focus\:ring-primary\/30:focus{--tw-ring-color:color-mix(in oklab, var(--color-primary) 30%, transparent)}}.focus\:ring-purple-500:focus{--tw-ring-color:var(--color-purple-500)}.focus\:ring-white\/30:focus{--tw-ring-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.focus\:ring-white\/30:focus{--tw-ring-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-98:active{--tw-scale-x:98%;--tw-scale-y:98%;--tw-scale-z:98%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-\[0\.98\]:active{scale:.98}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-300:disabled{background-color:var(--color-gray-300)}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (width>=40rem){.sm\:mt-\[60px\]{margin-top:60px}.sm\:mb-12{margin-bottom:calc(var(--spacing) * 12)}.sm\:block{display:block}.sm\:hidden{display:none}.sm\:h-\[20px\]{height:20px}.sm\:h-\[48px\]{height:48px}.sm\:h-\[120px\]{height:120px}.sm\:h-\[500px\]{height:500px}.sm\:w-\[20px\]{width:20px}.sm\:w-fit{width:fit-content}.sm\:scale-\[0\.8\]{scale:.8}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:gap-1{gap:var(--spacing)}.sm\:gap-\[12px\]{gap:12px}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:px-\[32px\]{padding-inline:32px}.sm\:pr-\[30px\]{padding-right:30px}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-\[15px\]{font-size:15px}.sm\:text-\[23px\]{font-size:23px}.sm\:text-\[24px\]{font-size:24px}}@media (width>=48rem){.md\:-top-5{top:calc(var(--spacing) * -5)}.md\:-right-5{right:calc(var(--spacing) * -5)}.md\:-bottom-16{bottom:calc(var(--spacing) * -16)}.md\:left-1\/2{left:50%}.md\:left-8{left:calc(var(--spacing) * 8)}.md\:order-none{order:0}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-5{grid-column:span 5/span 5}.md\:col-span-7{grid-column:span 7/span 7}.md\:col-span-8{grid-column:span 8/span 8}.md\:mx-0{margin-inline:0}.md\:mt-0{margin-top:0}.md\:mt-6{margin-top:calc(var(--spacing) * 6)}.md\:mt-10{margin-top:calc(var(--spacing) * 10)}.md\:mt-\[90px\]{margin-top:90px}.md\:mr-4{margin-right:calc(var(--spacing) * 4)}.md\:mb-0{margin-bottom:0}.md\:mb-6{margin-bottom:calc(var(--spacing) * 6)}.md\:mb-8{margin-bottom:calc(var(--spacing) * 8)}.md\:mb-16{margin-bottom:calc(var(--spacing) * 16)}.md\:mb-\[4px\]{margin-bottom:4px}.md\:ml-0{margin-left:0}.md\:ml-12{margin-left:calc(var(--spacing) * 12)}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:inline{display:inline}.md\:h-32{height:calc(var(--spacing) * 32)}.md\:h-64{height:calc(var(--spacing) * 64)}.md\:h-80{height:calc(var(--spacing) * 80)}.md\:h-\[40vh\]{height:40vh}.md\:h-\[50vh\]{height:50vh}.md\:max-h-\[75vh\]{max-height:75vh}.md\:max-h-\[calc\(75vh-4rem\)\]{max-height:calc(75vh - 4rem)}.md\:min-h-\[400px\]{min-height:400px}.md\:w-1\/2{width:50%}.md\:w-1\/3{width:33.3333%}.md\:w-2\/3{width:66.6667%}.md\:w-32{width:calc(var(--spacing) * 32)}.md\:w-64{width:calc(var(--spacing) * 64)}.md\:w-80{width:calc(var(--spacing) * 80)}.md\:w-\[40vh\]{width:40vh}.md\:max-w-2xl{max-width:var(--container-2xl)}.md\:-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.md\:translate-x-4{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.md\:-translate-y-4{--tw-translate-y:calc(var(--spacing) * -4);translate:var(--tw-translate-x) var(--tw-translate-y)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:items-end{align-items:flex-end}.md\:justify-start{justify-content:flex-start}.md\:gap-4{gap:calc(var(--spacing) * 4)}.md\:gap-6{gap:calc(var(--spacing) * 6)}.md\:gap-8{gap:calc(var(--spacing) * 8)}.md\:gap-12{gap:calc(var(--spacing) * 12)}.md\:gap-16{gap:calc(var(--spacing) * 16)}.md\:gap-24{gap:calc(var(--spacing) * 24)}.md\:gap-\[80px\]{gap:80px}:where(.md\:space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.md\:gap-y-0{row-gap:0}.md\:p-4{padding:calc(var(--spacing) * 4)}.md\:p-6{padding:calc(var(--spacing) * 6)}.md\:p-8{padding:calc(var(--spacing) * 8)}.md\:p-10{padding:calc(var(--spacing) * 10)}.md\:p-12{padding:calc(var(--spacing) * 12)}.md\:px-0{padding-inline:0}.md\:px-6{padding-inline:calc(var(--spacing) * 6)}.md\:px-8{padding-inline:calc(var(--spacing) * 8)}.md\:px-10{padding-inline:calc(var(--spacing) * 10)}.md\:py-20{padding-block:calc(var(--spacing) * 20)}.md\:py-28{padding-block:calc(var(--spacing) * 28)}.md\:py-40{padding-block:calc(var(--spacing) * 40)}.md\:py-48{padding-block:calc(var(--spacing) * 48)}.md\:pt-20{padding-top:calc(var(--spacing) * 20)}.md\:pr-8{padding-right:calc(var(--spacing) * 8)}.md\:pr-12{padding-right:calc(var(--spacing) * 12)}.md\:pb-6{padding-bottom:calc(var(--spacing) * 6)}.md\:pb-12{padding-bottom:calc(var(--spacing) * 12)}.md\:pl-6{padding-left:calc(var(--spacing) * 6)}.md\:pl-12{padding-left:calc(var(--spacing) * 12)}.md\:pl-24{padding-left:calc(var(--spacing) * 24)}.md\:text-right{text-align:right}.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.md\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.md\:text-8xl{font-size:var(--text-8xl);line-height:var(--tw-leading,var(--text-8xl--line-height))}.md\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.md\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.md\:text-\[1\.8rem\]{font-size:1.8rem}.md\:text-\[18px\]{font-size:18px}.md\:text-\[24px\]{font-size:24px}.md\:text-\[32px\]{font-size:32px}.md\:text-\[42px\]{font-size:42px}.md\:leading-\[54px\]{--tw-leading:54px;line-height:54px}}@media (width>=64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:-mt-16{margin-top:calc(var(--spacing) * -16)}.lg\:block{display:block}.lg\:h-\[75vh\]{height:75vh}.lg\:h-\[700px\]{height:700px}.lg\:w-1\/2{width:50%}.lg\:w-1\/3{width:33.3333%}.lg\:w-2\/3{width:66.6667%}.lg\:w-80{width:calc(var(--spacing) * 80)}.lg\:max-w-\[60\%\]{max-width:60%}.lg\:max-w-\[70\%\]{max-width:70%}.lg\:max-w-\[75\%\]{max-width:75%}.lg\:max-w-\[85\%\]{max-width:85%}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:gap-\[160px\]{gap:160px}.lg\:p-8{padding:calc(var(--spacing) * 8)}.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}.lg\:px-16{padding-inline:calc(var(--spacing) * 16)}.lg\:pt-24{padding-top:calc(var(--spacing) * 24)}.lg\:pt-48{padding-top:calc(var(--spacing) * 48)}.lg\:pb-32{padding-bottom:calc(var(--spacing) * 32)}.lg\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.lg\:text-8xl{font-size:var(--text-8xl);line-height:var(--tw-leading,var(--text-8xl--line-height))}}@media (width>=80rem){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:px-\[60px\]{padding-inline:60px}.xl\:pr-\[100px\]{padding-right:100px}}@media (width>=96rem){.\32 xl\:mb-\[12px\]{margin-bottom:12px}.\32 xl\:h-\[56px\]{height:56px}.\32 xl\:h-\[198px\]{height:198px}.\32 xl\:scale-\[1\]{scale:1}.\32 xl\:justify-start{justify-content:flex-start}.\32 xl\:gap-\[267px\]{gap:267px}.\32 xl\:px-\[174px\]{padding-inline:174px}.\32 xl\:pr-\[174px\]{padding-right:174px}.\32 xl\:text-\[20px\]{font-size:20px}.\32 xl\:text-\[50px\]{font-size:50px}}@media (prefers-color-scheme:dark){.dark\:border-blue-500{border-color:var(--color-blue-500)}.dark\:border-blue-500\/30{border-color:#3080ff4d}@supports (color:color-mix(in lab, red, red)){.dark\:border-blue-500\/30{border-color:color-mix(in oklab, var(--color-blue-500) 30%, transparent)}}.dark\:border-emerald-600{border-color:var(--color-emerald-600)}.dark\:border-emerald-900\/50{border-color:#004e3b80}@supports (color:color-mix(in lab, red, red)){.dark\:border-emerald-900\/50{border-color:color-mix(in oklab, var(--color-emerald-900) 50%, transparent)}}.dark\:border-gray-800{border-color:var(--color-gray-800)}.dark\:border-sky-600{border-color:var(--color-sky-600)}.dark\:border-sky-900\/50{border-color:#024a7080}@supports (color:color-mix(in lab, red, red)){.dark\:border-sky-900\/50{border-color:color-mix(in oklab, var(--color-sky-900) 50%, transparent)}}.dark\:border-slate-600{border-color:var(--color-slate-600)}.dark\:border-slate-700{border-color:var(--color-slate-700)}.dark\:border-slate-700\/50{border-color:#31415880}@supports (color:color-mix(in lab, red, red)){.dark\:border-slate-700\/50{border-color:color-mix(in oklab, var(--color-slate-700) 50%, transparent)}}.dark\:border-slate-800{border-color:var(--color-slate-800)}.dark\:border-violet-600{border-color:var(--color-violet-600)}.dark\:border-violet-900\/50{border-color:#4d179a80}@supports (color:color-mix(in lab, red, red)){.dark\:border-violet-900\/50{border-color:color-mix(in oklab, var(--color-violet-900) 50%, transparent)}}.dark\:border-white{border-color:var(--color-white)}.dark\:bg-black{background-color:var(--color-black)}.dark\:bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.dark\:bg-black\/80{background-color:color-mix(in oklab, var(--color-black) 80%, transparent)}}.dark\:bg-blue-900\/10{background-color:#1c398e1a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-blue-900\/10{background-color:color-mix(in oklab, var(--color-blue-900) 10%, transparent)}}.dark\:bg-blue-900\/20{background-color:#1c398e33}@supports (color:color-mix(in lab, red, red)){.dark\:bg-blue-900\/20{background-color:color-mix(in oklab, var(--color-blue-900) 20%, transparent)}}.dark\:bg-emerald-900\/10{background-color:#004e3b1a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-emerald-900\/10{background-color:color-mix(in oklab, var(--color-emerald-900) 10%, transparent)}}.dark\:bg-emerald-900\/30{background-color:#004e3b4d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-emerald-900\/30{background-color:color-mix(in oklab, var(--color-emerald-900) 30%, transparent)}}.dark\:bg-gray-50{background-color:var(--color-gray-50)}.dark\:bg-gray-100{background-color:var(--color-gray-100)}.dark\:bg-gray-900{background-color:var(--color-gray-900)}.dark\:bg-sky-600\/10{background-color:#0084cc1a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-sky-600\/10{background-color:color-mix(in oklab, var(--color-sky-600) 10%, transparent)}}.dark\:bg-sky-900\/10{background-color:#024a701a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-sky-900\/10{background-color:color-mix(in oklab, var(--color-sky-900) 10%, transparent)}}.dark\:bg-sky-900\/30{background-color:#024a704d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-sky-900\/30{background-color:color-mix(in oklab, var(--color-sky-900) 30%, transparent)}}.dark\:bg-slate-700{background-color:var(--color-slate-700)}.dark\:bg-slate-700\/50{background-color:#31415880}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-700\/50{background-color:color-mix(in oklab, var(--color-slate-700) 50%, transparent)}}.dark\:bg-slate-800{background-color:var(--color-slate-800)}.dark\:bg-slate-800\/50{background-color:#1d293d80}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-800\/50{background-color:color-mix(in oklab, var(--color-slate-800) 50%, transparent)}}.dark\:bg-slate-800\/90{background-color:#1d293de6}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-800\/90{background-color:color-mix(in oklab, var(--color-slate-800) 90%, transparent)}}.dark\:bg-slate-900{background-color:var(--color-slate-900)}.dark\:bg-violet-600\/10{background-color:#7f22fe1a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-violet-600\/10{background-color:color-mix(in oklab, var(--color-violet-600) 10%, transparent)}}.dark\:bg-violet-900\/10{background-color:#4d179a1a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-violet-900\/10{background-color:color-mix(in oklab, var(--color-violet-900) 10%, transparent)}}.dark\:bg-violet-900\/30{background-color:#4d179a4d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-violet-900\/30{background-color:color-mix(in oklab, var(--color-violet-900) 30%, transparent)}}.dark\:bg-white{background-color:var(--color-white)}.dark\:from-gray-600{--tw-gradient-from:var(--color-gray-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:from-slate-800{--tw-gradient-from:var(--color-slate-800);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:from-slate-900{--tw-gradient-from:var(--color-slate-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:from-violet-900\/20{--tw-gradient-from:#4d179a33}@supports (color:color-mix(in lab, red, red)){.dark\:from-violet-900\/20{--tw-gradient-from:color-mix(in oklab, var(--color-violet-900) 20%, transparent)}}.dark\:from-violet-900\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:to-sky-900\/20{--tw-gradient-to:#024a7033}@supports (color:color-mix(in lab, red, red)){.dark\:to-sky-900\/20{--tw-gradient-to:color-mix(in oklab, var(--color-sky-900) 20%, transparent)}}.dark\:to-sky-900\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:to-slate-800{--tw-gradient-to:var(--color-slate-800);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:text-blue-300{color:var(--color-blue-300)}.dark\:text-blue-400{color:var(--color-blue-400)}.dark\:text-gray-100{color:var(--color-gray-100)}.dark\:text-gray-200{color:var(--color-gray-200)}.dark\:text-gray-300{color:var(--color-gray-300)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-gray-500{color:var(--color-gray-500)}.dark\:text-gray-600{color:var(--color-gray-600)}.dark\:text-gray-900{color:var(--color-gray-900)}.dark\:text-purple-400{color:var(--color-purple-400)}.dark\:text-slate-800{color:var(--color-slate-800)}.dark\:text-violet-400{color:var(--color-violet-400)}.dark\:text-white{color:var(--color-white)}.dark\:opacity-40{opacity:.4}.dark\:opacity-\[0\.06\]{opacity:.06}.dark\:shadow-\[0_0_30px_rgba\(0\,0\,0\,0\.4\)\]{--tw-shadow:0 0 30px var(--tw-shadow-color,#0006);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.dark\:shadow-\[0_4px_20px_rgba\(0\,0\,0\,0\.3\)\]{--tw-shadow:0 4px 20px var(--tw-shadow-color,#0000004d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.dark\:shadow-black\/20{--tw-shadow-color:#0003}@supports (color:color-mix(in lab, red, red)){.dark\:shadow-black\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.dark\:shadow-black\/40{--tw-shadow-color:#0006}@supports (color:color-mix(in lab, red, red)){.dark\:shadow-black\/40{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 40%, transparent) var(--tw-shadow-alpha), transparent)}}@media (hover:hover){.dark\:hover\:border-emerald-500:hover{border-color:var(--color-emerald-500)}.dark\:hover\:border-sky-500:hover{border-color:var(--color-sky-500)}.dark\:hover\:border-violet-500:hover{border-color:var(--color-violet-500)}.dark\:hover\:bg-blue-600:hover{background-color:var(--color-blue-600)}.dark\:hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.dark\:hover\:bg-slate-600:hover{background-color:var(--color-slate-600)}.dark\:hover\:text-white:hover{color:var(--color-white)}.dark\:hover\:shadow-\[0_0_15px_rgba\(255\,255\,255\,0\.2\)\]:hover{--tw-shadow:0 0 15px var(--tw-shadow-color,#fff3);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.dark\:hover\:shadow-\[0_8px_30px_rgba\(59\,130\,246\,0\.2\)\]:hover{--tw-shadow:0 8px 30px var(--tw-shadow-color,#3b82f633);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.dark\:hover\:shadow-\[0_20px_60px_rgba\(255\,255\,255\,0\.15\)\]:hover{--tw-shadow:0 20px 60px var(--tw-shadow-color,#ffffff26);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.dark\:hover\:shadow-blue-500\/20:hover{--tw-shadow-color:#3080ff33}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:shadow-blue-500\/20:hover{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-blue-500) 20%, transparent) var(--tw-shadow-alpha), transparent)}}}}.menu-shadow{box-shadow:0 8px 16px #00000014}.tag-basic{color:#374151;background-color:#f3f4f6;border-radius:.25rem;padding:.125rem .375rem;font-size:.75rem}.tag-new{color:#00b42a;background-color:#e6f7e9;border-radius:.25rem;padding:.125rem .375rem;font-size:.75rem}.tag-hot{color:#ff7d00;background-color:#fff2e8;border-radius:.25rem;padding:.125rem .375rem;font-size:.75rem}.tag-preview{color:#06f;background-color:#e8f3ff;border-radius:.25rem;padding:.125rem .375rem;font-size:.75rem}.tag-feature{color:#06f;background-color:#f5faff;border-radius:.25rem;padding:.125rem .375rem;font-size:.75rem}.sidebar-submenu-active{color:#1e40af;background-color:#1e40af1a;border-left:2px solid #1e40af;font-weight:500}.card-shadow{box-shadow:0 4px 12px #00000014}.animate-float{animation:6s ease-in-out infinite float}.animate-pulse-slow{animation:4s cubic-bezier(.4,0,.6,1) infinite pulse}.scale-in{animation:.3s ease-out forwards scaleIn}.slide-up{animation:.4s ease-out forwards slideUp}.search-btn{color:#6b7280;border-radius:0 .375rem .375rem 0;justify-content:center;align-items:center;height:100%;padding:0 1rem;transition:all .2s ease-in-out;display:flex}.search-btn:hover{color:#1e40af}.search-icon{transition:transform .2s ease-in-out}.search-btn:hover .search-icon{transform:scale(1.03)}.search-btn:active .search-icon{transform:scale(.95)}.search-wrapper{transition:all .3s ease-in-out}.search-btn-focus{color:#1e40af;border-color:#1e40af}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-20px)}to{transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes gradientAnimation{0%{background-position:0}50%{background-position:100%}to{background-position:0}}#header[data-nav-theme=dark] nav a[data-menu]{color:#555867}#header[data-nav-theme=dark] nav a[data-menu]:hover{color:#111827}#header[data-nav-theme=light] nav a[data-menu]{color:#fff;text-shadow:0 1px 6px #000000a6}#header[data-nav-theme=light] nav a[data-menu]:hover{color:#dbeafe}#header[data-nav-theme=light] nav a[data-menu]:hover:after{background-color:#fff}section{position:relative}section .absolute.left-0,section .absolute.right-0{overflow:hidden}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}.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-synthesis:none;font-variant:normal;font-style:normal;font-weight:var(--fa-style,900);text-align:center;text-rendering:auto;width:var(--fa-width,1.25em);line-height:1}: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{vertical-align:.225em;font-size:.625em;line-height:.1em}.fa-xs{vertical-align:.125em;font-size:.75em;line-height:.08333em}.fa-sm{vertical-align:.05357em;font-size:.875em;line-height:.07143em}.fa-lg{vertical-align:-.075em;font-size:1.25em;line-height:.05em}.fa-xl{vertical-align:-.125em;font-size:1.5em;line-height:.04167em}.fa-2xl{vertical-align:-.1875em;font-size:2em;line-height:.03125em}.fa-width-auto{--fa-width:auto}.fa-fw,.fa-width-fixed{--fa-width:1.25em}.fa-canvas-square{margin-block-end:-.125em;padding-block:.125em}.fa-canvas-roomy{box-sizing:content-box;margin-block-end:-.25em;padding-block:.25em;padding-inline:.125em}.fa-ul{margin-inline-start:var(--fa-li-margin,2.5em);padding-inline-start:0;list-style-type:none}.fa-ul>li{position:relative}.fa-li{text-align:center;width:var(--fa-li-width,2em);line-height:inherit;position:absolute;inset-inline-start:calc(var(--fa-li-width,2em)*-1)}.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,ease-in-out)}.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,ease-in-out)}.fa-flip{animation-name:fa-flip;animation-duration:var(--fa-animation-duration,1.5s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-flip,.fa-flip-360{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-flip-360{animation-name:fa-flip-360;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-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,.75s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-spin{animation-name:fa-spin;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);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))}.fa-spin-snap{animation-name:fa-spin-snap;animation-duration:var(--fa-animation-duration,3s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-snap,.fa-spin-snap-4{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-spin-snap-4{animation-name:fa-spin-snap-4;animation-duration:var(--fa-animation-duration,2.4s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-snap-8{animation-name:fa-spin-snap-8;animation-duration:var(--fa-animation-duration,4s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-buzz,.fa-spin-snap-8{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-buzz{animation-name:fa-buzz;animation-duration:var(--fa-animation-duration,.6s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-wag{animation-name:fa-wag;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,.9s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-out);transform-origin:bottom}.fa-float{animation-name:fa-float;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,3s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out);will-change:transform}.fa-swing{animation-name:fa-swing;animation-duration:var(--fa-animation-duration,1.2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-out);transform-origin:top}.fa-jello,.fa-swing{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-jello{animation-name:fa-jello;animation-duration:var(--fa-animation-duration,.9s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-out)}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-buzz,.fa-fade,.fa-flip,.fa-flip-360,.fa-float,.fa-jello,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse,.fa-spin-snap,.fa-spin-snap-4,.fa-spin-snap-8,.fa-swing,.fa-wag{transition:none!important;animation:none!important}}@keyframes fa-beat{0%{transform:scale(1)}25%{transform:scale(calc(var(--fa-beat-scale,1.25)*1.25))}45%{transform:scale(calc(var(--fa-beat-scale,1.22)*1.22))}65%{transform:scale(calc(var(--fa-beat-scale,1.25)*1.25))}90%{transform:scale(1)}}@keyframes fa-bounce{0%{animation-timing-function:var(--fa-animation-timing);transform:scale(1)translateY(0)}14%{transform:scale(var(--fa-bounce-start-scale-x,1.06),var(--fa-bounce-start-scale-y,.94)) translateY(var(--fa-bounce-anticipation,3px));animation-timing-function:cubic-bezier(.33,0,.66,.33)}32%{transform:scale(var(--fa-bounce-jump-scale-x,.94),var(--fa-bounce-jump-scale-y,1.12)) translateY(calc(var(--fa-bounce-height,.5em)*-1));animation-timing-function:cubic-bezier(.33,.66,.66,1)}52%{transform:scale(1) translateY(calc(var(--fa-bounce-height,.5em)*-1*1.1));animation-timing-function:cubic-bezier(.5,0,1,.5)}70%{transform:scale(var(--fa-bounce-land-scale-x,1.06),var(--fa-bounce-land-scale-y,.92)) translateY(0);animation-timing-function:cubic-bezier(.33,.33,.66,1)}85%{transform:scale(.98,1.04) translateY(calc(-2px*var(--fa-bounce-rebound,1)));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:scale(1)translateY(0)}}@keyframes fa-fade{0%{opacity:1;animation-timing-function:cubic-bezier(.2,0,.4,1);transform:scale(1)}40%{opacity:var(--fa-fade-opacity,.4);animation-timing-function:cubic-bezier(.4,0,.6,1);transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes fa-beat-fade{0%{opacity:var(--fa-beat-fade-opacity,.4);animation-timing-function:cubic-bezier(.2,0,.4,1);transform:scale(1)}25%{opacity:calc(var(--fa-beat-fade-opacity,.4) + .4);transform:scale(var(--fa-beat-fade-scale,1.28));animation-timing-function:cubic-bezier(.4,0,.6,1)}45%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.25));animation-timing-function:cubic-bezier(.4,0,.2,1)}65%{opacity:calc(var(--fa-beat-fade-opacity,.4) + .4);transform:scale(var(--fa-beat-fade-scale,1.28));animation-timing-function:cubic-bezier(.4,0,.6,1)}to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}}@keyframes fa-flip{0%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),0deg);animation-timing-function:cubic-bezier(.2,0,.4,1)}8%{transform:perspective(2em) scale(var(--fa-flip-anticipation-scale,.95)) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),0deg);animation-timing-function:cubic-bezier(.33,0,.66,.33)}35%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),calc(var(--fa-flip-angle,-1turn)*.6));animation-timing-function:linear}65%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),calc(var(--fa-flip-angle,-1turn)*.5));animation-timing-function:cubic-bezier(.33,.66,.66,1)}92%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),calc(var(--fa-flip-angle,-1turn)*var(--fa-flip-overshoot,1.04)));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-1turn))}}@keyframes fa-flip-360{0%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),0deg);animation-timing-function:cubic-bezier(.2,0,.4,1)}8%{transform:perspective(2em) scale(var(--fa-flip-anticipation-scale,.95)) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),0deg);animation-timing-function:cubic-bezier(.33,0,.66,.33)}50%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),calc(var(--fa-flip-angle,-1turn)*.6));animation-timing-function:cubic-bezier(.33,.66,.66,1)}80%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),calc(var(--fa-flip-angle,-1turn)*var(--fa-flip-overshoot,1.04)));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-1turn))}}@keyframes fa-shake{0%{animation-timing-function:cubic-bezier(.2,0,.8,1);transform:rotate(0)}8%{animation-timing-function:cubic-bezier(.3,0,.7,1);transform:rotate(35deg)translate(1px)}20%{animation-timing-function:cubic-bezier(.3,0,.7,1);transform:rotate(-22deg)translate(-1px)}35%{animation-timing-function:cubic-bezier(.3,0,.7,1);transform:rotate(15deg)translate(1px)}50%{animation-timing-function:cubic-bezier(.4,0,.6,1);transform:rotate(-9deg)}65%{animation-timing-function:cubic-bezier(.4,0,.6,1);transform:rotate(5deg)}78%{animation-timing-function:cubic-bezier(.4,0,.6,1);transform:rotate(-3deg)}90%{animation-timing-function:cubic-bezier(.4,0,.2,1);transform:rotate(1deg)}to{transform:rotate(0)}}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes fa-spin-snap{0%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(0)}12%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(60deg)}16.67%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(60deg)}28.67%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(120deg)}33.33%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(120deg)}45.33%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(180deg)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(180deg)}62%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(240deg)}66.67%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(240deg)}78.67%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(300deg)}83.33%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(300deg)}95.33%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(1turn)}to{transform:rotate(1turn)}}@keyframes fa-spin-snap-4{0%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(0)}15%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(90deg)}25%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(90deg)}40%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(180deg)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(180deg)}65%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(270deg)}75%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(270deg)}90%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(1turn)}to{transform:rotate(1turn)}}@keyframes fa-spin-snap-8{0%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(0)}9%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(45deg)}12.5%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(45deg)}21.5%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(90deg)}25%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(90deg)}34%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(135deg)}37.5%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(135deg)}46.5%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(180deg)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(180deg)}59%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(225deg)}62.5%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(225deg)}71.5%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(270deg)}75%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(270deg)}84%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(315deg)}87.5%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(315deg)}96.5%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(1turn)}to{transform:rotate(1turn)}}@keyframes fa-buzz{0%{animation-timing-function:cubic-bezier(.1,0,.9,1);transform:translate(0)rotate(0)}5%{transform:translateX(var(--fa-buzz-distance,4px)) rotate(.5deg)}10%{transform:translateX(calc(var(--fa-buzz-distance,4px)*-1)) rotate(-.5deg)}15%{transform:translateX(var(--fa-buzz-distance,4px)) rotate(.3deg)}20%{transform:translateX(calc(var(--fa-buzz-distance,4px)*-1)) rotate(-.3deg)}25%{transform:translateX(calc(var(--fa-buzz-distance,4px)*.7)) rotate(.2deg)}30%{transform:translateX(calc(var(--fa-buzz-distance,4px)*-1*.7)) rotate(-.2deg)}35%{transform:translateX(calc(var(--fa-buzz-distance,4px)*.4)) rotate(.1deg)}40%{transform:translate(0)rotate(0)}to{transform:translate(0)rotate(0)}}@keyframes fa-wag{0%{animation-timing-function:cubic-bezier(.2,0,.6,1);transform:rotate(0)}12%{transform:rotate(var(--fa-wag-angle,12deg));animation-timing-function:cubic-bezier(.4,0,.2,1)}24%{animation-timing-function:cubic-bezier(.2,0,.6,1);transform:rotate(2deg)}36%{transform:rotate(calc(var(--fa-wag-angle,12deg)*.85));animation-timing-function:cubic-bezier(.4,0,.2,1)}48%{animation-timing-function:cubic-bezier(.2,0,.6,1);transform:rotate(1deg)}58%{transform:rotate(calc(var(--fa-wag-angle,12deg)*.6));animation-timing-function:cubic-bezier(.4,0,.2,1)}68%{transform:rotate(0)}to{transform:rotate(0)}}@keyframes fa-float{0%{transform:translateY(0) translateX(0) rotate(0deg) scale(var(--fa-float-squash-x,1.02),var(--fa-float-squash-y,.98));animation-timing-function:cubic-bezier(.33,0,.66,.33)}15%{transform:translateY(calc(var(--fa-float-height,6px)*-.4)) translateX(var(--fa-float-drift,1px)) rotate(var(--fa-float-tilt,1deg)) scale(1);animation-timing-function:cubic-bezier(.33,.66,.66,1)}35%{transform:translateY(calc(var(--fa-float-height,6px)*-1)) translateX(0) rotate(0deg) scale(var(--fa-float-stretch-x,.98),var(--fa-float-stretch-y,1.03));animation-timing-function:cubic-bezier(.5,0,.5,0)}50%{transform:translateY(calc(var(--fa-float-height,6px)*-.92)) translateX(calc(var(--fa-float-drift,1px)*-.5)) rotate(calc(var(--fa-float-tilt,1deg)*-.5)) scale(.995,1.01);animation-timing-function:cubic-bezier(.33,0,.66,.33)}70%{transform:translateY(calc(var(--fa-float-height,6px)*-.3)) translateX(calc(var(--fa-float-drift,1px)*-1)) rotate(calc(var(--fa-float-tilt,1deg)*-1)) scale(1);animation-timing-function:cubic-bezier(.33,.66,.66,1)}90%{transform:translateY(calc(var(--fa-float-height,6px)*.05)) translateX(0) rotate(0deg) scale(var(--fa-float-squash-x,1.02),var(--fa-float-squash-y,.98));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:translateY(0) translateX(0) rotate(0deg) scale(var(--fa-float-squash-x,1.02),var(--fa-float-squash-y,.98))}}@keyframes fa-swing{0%{animation-timing-function:cubic-bezier(.2,0,.8,1);transform:rotate(0)}8%{transform:rotate(var(--fa-swing-angle,22deg));animation-timing-function:cubic-bezier(.3,0,.7,1)}18%{transform:rotate(calc(var(--fa-swing-angle,22deg)*-1*.85));animation-timing-function:cubic-bezier(.3,0,.7,1)}28%{transform:rotate(calc(var(--fa-swing-angle,22deg)*.65));animation-timing-function:cubic-bezier(.35,0,.65,1)}38%{transform:rotate(calc(var(--fa-swing-angle,22deg)*-1*.45));animation-timing-function:cubic-bezier(.4,0,.6,1)}48%{transform:rotate(calc(var(--fa-swing-angle,22deg)*.25));animation-timing-function:cubic-bezier(.4,0,.6,1)}56%{transform:rotate(calc(var(--fa-swing-angle,22deg)*-1*.1));animation-timing-function:cubic-bezier(.4,0,.6,1)}64%{transform:rotate(0)}to{transform:rotate(0)}}@keyframes fa-jello{0%{animation-timing-function:cubic-bezier(.2,0,.8,1);transform:scale(1)}12%{transform:scale(var(--fa-jello-scale-x,1.15),calc(2 - var(--fa-jello-scale-x,1.15)));animation-timing-function:cubic-bezier(.3,0,.7,1)}24%{transform:scale(calc(2 - var(--fa-jello-scale-y,1.12)),var(--fa-jello-scale-y,1.12));animation-timing-function:cubic-bezier(.3,0,.7,1)}36%{transform:scale(calc(.5 + var(--fa-jello-scale-x,1.15)*.5),calc(1.5 - var(--fa-jello-scale-x,1.15)*.5));animation-timing-function:cubic-bezier(.4,0,.6,1)}48%{transform:scale(calc(1.3 - var(--fa-jello-scale-y,1.12)*.3),calc(.7 + var(--fa-jello-scale-y,1.12)*.3));animation-timing-function:cubic-bezier(.4,0,.6,1)}58%{animation-timing-function:cubic-bezier(.4,0,.2,1);transform:scale(1.02,.98)}68%{transform:scale(1)}to{transform:scale(1)}}.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{vertical-align:middle;width:2.5em;height:2em;line-height:2em;display:inline-block;position:relative}.fa-stack-1x,.fa-stack-2x{--fa-width:100%;text-align:center;width:var(--fa-width);z-index:var(--fa-stack-z-index,auto);position:absolute;inset:0}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}.fa-0{--fa:"0"}.fa-1{--fa:"1"}.fa-2{--fa:"2"}.fa-3{--fa:"3"}.fa-4{--fa:"4"}.fa-5{--fa:"5"}.fa-6{--fa:"6"}.fa-7{--fa:"7"}.fa-8{--fa:"8"}.fa-9{--fa:"9"}.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:""}.fa-faucet-drip{--fa:""}.fa-house-chimney-window{--fa:""}.fa-house-signal{--fa:""}.fa-temperature-arrow-down,.fa-temperature-down{--fa:""}.fa-temperature-arrow-up,.fa-temperature-up{--fa:""}.fa-trailer{--fa:""}.fa-bacteria{--fa:""}.fa-bacterium{--fa:""}.fa-box-tissue{--fa:""}.fa-hand-holding-medical{--fa:""}.fa-hand-sparkles{--fa:""}.fa-hands-bubbles,.fa-hands-wash{--fa:""}.fa-handshake-alt-slash,.fa-handshake-simple-slash,.fa-handshake-slash{--fa:""}.fa-head-side-cough{--fa:""}.fa-head-side-cough-slash{--fa:""}.fa-head-side-mask{--fa:""}.fa-head-side-virus{--fa:""}.fa-house-chimney-user{--fa:""}.fa-house-laptop,.fa-laptop-house{--fa:""}.fa-lungs-virus{--fa:""}.fa-people-arrows,.fa-people-arrows-left-right{--fa:""}.fa-plane-slash{--fa:""}.fa-pump-medical{--fa:""}.fa-pump-soap{--fa:""}.fa-shield-virus{--fa:""}.fa-sink{--fa:""}.fa-soap{--fa:""}.fa-stopwatch-20{--fa:""}.fa-shop-slash,.fa-store-alt-slash{--fa:""}.fa-store-slash{--fa:""}.fa-toilet-paper-slash{--fa:""}.fa-users-slash{--fa:""}.fa-virus{--fa:""}.fa-virus-slash{--fa:""}.fa-viruses{--fa:""}.fa-vest{--fa:""}.fa-vest-patches{--fa:""}.fa-arrow-trend-down{--fa:""}.fa-arrow-trend-up{--fa:""}.fa-arrow-up-from-bracket{--fa:""}.fa-austral-sign{--fa:""}.fa-baht-sign{--fa:""}.fa-bitcoin-sign{--fa:""}.fa-bolt-lightning{--fa:""}.fa-book-bookmark{--fa:""}.fa-camera-rotate{--fa:""}.fa-cedi-sign{--fa:""}.fa-chart-column{--fa:""}.fa-chart-gantt{--fa:""}.fa-clapperboard{--fa:""}.fa-closed-captioning-slash{--fa:""}.fa-clover{--fa:""}.fa-code-compare{--fa:""}.fa-code-fork{--fa:""}.fa-code-pull-request{--fa:""}.fa-colon-sign{--fa:""}.fa-cruzeiro-sign{--fa:""}.fa-display{--fa:""}.fa-dong-sign{--fa:""}.fa-elevator{--fa:""}.fa-filter-circle-xmark{--fa:""}.fa-florin-sign{--fa:""}.fa-folder-closed{--fa:""}.fa-franc-sign{--fa:""}.fa-guarani-sign{--fa:""}.fa-gun{--fa:""}.fa-hands-clapping{--fa:""}.fa-home-user,.fa-house-user{--fa:""}.fa-indian-rupee,.fa-indian-rupee-sign,.fa-inr{--fa:""}.fa-kip-sign{--fa:""}.fa-lari-sign{--fa:""}.fa-litecoin-sign{--fa:""}.fa-manat-sign{--fa:""}.fa-mask-face{--fa:""}.fa-mill-sign{--fa:""}.fa-money-bills{--fa:""}.fa-naira-sign{--fa:""}.fa-notdef{--fa:""}.fa-panorama{--fa:""}.fa-peseta-sign{--fa:""}.fa-peso-sign{--fa:""}.fa-plane-up{--fa:""}.fa-rupiah-sign{--fa:""}.fa-stairs{--fa:""}.fa-timeline{--fa:""}.fa-truck-front{--fa:""}.fa-try,.fa-turkish-lira,.fa-turkish-lira-sign{--fa:""}.fa-vault{--fa:""}.fa-magic-wand-sparkles,.fa-wand-magic-sparkles{--fa:""}.fa-wheat-alt,.fa-wheat-awn{--fa:""}.fa-wheelchair-alt,.fa-wheelchair-move{--fa:""}.fa-bangladeshi-taka-sign{--fa:""}.fa-bowl-rice{--fa:""}.fa-person-pregnant{--fa:""}.fa-home-lg,.fa-house-chimney{--fa:""}.fa-house-crack{--fa:""}.fa-house-medical{--fa:""}.fa-cent-sign{--fa:""}.fa-plus-minus{--fa:""}.fa-sailboat{--fa:""}.fa-section{--fa:""}.fa-shrimp{--fa:""}.fa-brazilian-real-sign{--fa:""}.fa-chart-simple{--fa:""}.fa-diagram-next{--fa:""}.fa-diagram-predecessor{--fa:""}.fa-diagram-successor{--fa:""}.fa-earth-oceania,.fa-globe-oceania{--fa:""}.fa-bug-slash{--fa:""}.fa-file-circle-plus{--fa:""}.fa-shop-lock{--fa:""}.fa-virus-covid{--fa:""}.fa-virus-covid-slash{--fa:""}.fa-anchor-circle-check{--fa:""}.fa-anchor-circle-exclamation{--fa:""}.fa-anchor-circle-xmark{--fa:""}.fa-anchor-lock{--fa:""}.fa-arrow-down-up-across-line{--fa:""}.fa-arrow-down-up-lock{--fa:""}.fa-arrow-right-to-city{--fa:""}.fa-arrow-up-from-ground-water{--fa:""}.fa-arrow-up-from-water-pump{--fa:""}.fa-arrow-up-right-dots{--fa:""}.fa-arrows-down-to-line{--fa:""}.fa-arrows-down-to-people{--fa:""}.fa-arrows-left-right-to-line{--fa:""}.fa-arrows-spin{--fa:""}.fa-arrows-split-up-and-left{--fa:""}.fa-arrows-to-circle{--fa:""}.fa-arrows-to-dot{--fa:""}.fa-arrows-to-eye{--fa:""}.fa-arrows-turn-right{--fa:""}.fa-arrows-turn-to-dots{--fa:""}.fa-arrows-up-to-line{--fa:""}.fa-bore-hole{--fa:""}.fa-bottle-droplet{--fa:""}.fa-bottle-water{--fa:""}.fa-bowl-food{--fa:""}.fa-boxes-packing{--fa:""}.fa-bridge{--fa:""}.fa-bridge-circle-check{--fa:""}.fa-bridge-circle-exclamation{--fa:""}.fa-bridge-circle-xmark{--fa:""}.fa-bridge-lock{--fa:""}.fa-bridge-water{--fa:""}.fa-bucket{--fa:""}.fa-bugs{--fa:""}.fa-building-circle-arrow-right{--fa:""}.fa-building-circle-check{--fa:""}.fa-building-circle-exclamation{--fa:""}.fa-building-circle-xmark{--fa:""}.fa-building-flag{--fa:""}.fa-building-lock{--fa:""}.fa-building-ngo{--fa:""}.fa-building-shield{--fa:""}.fa-building-un{--fa:""}.fa-building-user{--fa:""}.fa-building-wheat{--fa:""}.fa-burst{--fa:""}.fa-car-on{--fa:""}.fa-car-tunnel{--fa:""}.fa-child-combatant,.fa-child-rifle{--fa:""}.fa-children{--fa:""}.fa-circle-nodes{--fa:""}.fa-clipboard-question{--fa:""}.fa-cloud-showers-water{--fa:""}.fa-computer{--fa:""}.fa-cubes-stacked{--fa:""}.fa-envelope-circle-check{--fa:""}.fa-explosion{--fa:""}.fa-ferry{--fa:""}.fa-file-circle-exclamation{--fa:""}.fa-file-circle-minus{--fa:""}.fa-file-circle-question{--fa:""}.fa-file-shield{--fa:""}.fa-fire-burner{--fa:""}.fa-fish-fins{--fa:""}.fa-flask-vial{--fa:""}.fa-glass-water{--fa:""}.fa-glass-water-droplet{--fa:""}.fa-group-arrows-rotate{--fa:""}.fa-hand-holding-hand{--fa:""}.fa-handcuffs{--fa:""}.fa-hands-bound{--fa:""}.fa-hands-holding-child{--fa:""}.fa-hands-holding-circle{--fa:""}.fa-heart-circle-bolt{--fa:""}.fa-heart-circle-check{--fa:""}.fa-heart-circle-exclamation{--fa:""}.fa-heart-circle-minus{--fa:""}.fa-heart-circle-plus{--fa:""}.fa-heart-circle-xmark{--fa:""}.fa-helicopter-symbol{--fa:""}.fa-helmet-un{--fa:""}.fa-hill-avalanche{--fa:""}.fa-hill-rockslide{--fa:""}.fa-house-circle-check{--fa:""}.fa-house-circle-exclamation{--fa:""}.fa-house-circle-xmark{--fa:""}.fa-house-fire{--fa:""}.fa-house-flag{--fa:""}.fa-house-flood-water{--fa:""}.fa-house-flood-water-circle-arrow-right{--fa:""}.fa-house-lock{--fa:""}.fa-house-medical-circle-check{--fa:""}.fa-house-medical-circle-exclamation{--fa:""}.fa-house-medical-circle-xmark{--fa:""}.fa-house-medical-flag{--fa:""}.fa-house-tsunami{--fa:""}.fa-jar{--fa:""}.fa-jar-wheat{--fa:""}.fa-jet-fighter-up{--fa:""}.fa-jug-detergent{--fa:""}.fa-kitchen-set{--fa:""}.fa-land-mine-on{--fa:""}.fa-landmark-flag{--fa:""}.fa-laptop-file{--fa:""}.fa-lines-leaning{--fa:""}.fa-location-pin-lock{--fa:""}.fa-locust{--fa:""}.fa-magnifying-glass-arrow-right{--fa:""}.fa-magnifying-glass-chart{--fa:""}.fa-mars-and-venus-burst{--fa:""}.fa-mask-ventilator{--fa:""}.fa-mattress-pillow{--fa:""}.fa-mobile-retro{--fa:""}.fa-money-bill-transfer{--fa:""}.fa-money-bill-trend-up{--fa:""}.fa-money-bill-wheat{--fa:""}.fa-mosquito{--fa:""}.fa-mosquito-net{--fa:""}.fa-mound{--fa:""}.fa-mountain-city{--fa:""}.fa-mountain-sun{--fa:""}.fa-oil-well{--fa:""}.fa-people-group{--fa:""}.fa-people-line{--fa:""}.fa-people-pulling{--fa:""}.fa-people-robbery{--fa:""}.fa-people-roof{--fa:""}.fa-person-arrow-down-to-line{--fa:""}.fa-person-arrow-up-from-line{--fa:""}.fa-person-breastfeeding{--fa:""}.fa-person-burst{--fa:""}.fa-person-cane{--fa:""}.fa-person-chalkboard{--fa:""}.fa-person-circle-check{--fa:""}.fa-person-circle-exclamation{--fa:""}.fa-person-circle-minus{--fa:""}.fa-person-circle-plus{--fa:""}.fa-person-circle-question{--fa:""}.fa-person-circle-xmark{--fa:""}.fa-person-dress-burst{--fa:""}.fa-person-drowning{--fa:""}.fa-person-falling{--fa:""}.fa-person-falling-burst{--fa:""}.fa-person-half-dress{--fa:""}.fa-person-harassing{--fa:""}.fa-person-military-pointing{--fa:""}.fa-person-military-rifle{--fa:""}.fa-person-military-to-person{--fa:""}.fa-person-rays{--fa:""}.fa-person-rifle{--fa:""}.fa-person-shelter{--fa:""}.fa-person-walking-arrow-loop-left{--fa:""}.fa-person-walking-arrow-right{--fa:""}.fa-person-walking-dashed-line-arrow-right{--fa:""}.fa-person-walking-luggage{--fa:""}.fa-plane-circle-check{--fa:""}.fa-plane-circle-exclamation{--fa:""}.fa-plane-circle-xmark{--fa:""}.fa-plane-lock{--fa:""}.fa-plate-wheat{--fa:""}.fa-plug-circle-bolt{--fa:""}.fa-plug-circle-check{--fa:""}.fa-plug-circle-exclamation{--fa:""}.fa-plug-circle-minus{--fa:""}.fa-plug-circle-plus{--fa:""}.fa-plug-circle-xmark{--fa:""}.fa-ranking-star{--fa:""}.fa-road-barrier{--fa:""}.fa-road-bridge{--fa:""}.fa-road-circle-check{--fa:""}.fa-road-circle-exclamation{--fa:""}.fa-road-circle-xmark{--fa:""}.fa-road-lock{--fa:""}.fa-road-spikes{--fa:""}.fa-rug{--fa:""}.fa-sack-xmark{--fa:""}.fa-school-circle-check{--fa:""}.fa-school-circle-exclamation{--fa:""}.fa-school-circle-xmark{--fa:""}.fa-school-flag{--fa:""}.fa-school-lock{--fa:""}.fa-sheet-plastic{--fa:""}.fa-shield-cat{--fa:""}.fa-shield-dog{--fa:""}.fa-shield-heart{--fa:""}.fa-square-nfi{--fa:""}.fa-square-person-confined{--fa:""}.fa-square-virus{--fa:""}.fa-rod-asclepius,.fa-rod-snake,.fa-staff-aesculapius,.fa-staff-snake{--fa:""}.fa-sun-plant-wilt{--fa:""}.fa-tarp{--fa:""}.fa-tarp-droplet{--fa:""}.fa-tent{--fa:""}.fa-tent-arrow-down-to-line{--fa:""}.fa-tent-arrow-left-right{--fa:""}.fa-tent-arrow-turn-left{--fa:""}.fa-tent-arrows-down{--fa:""}.fa-tents{--fa:""}.fa-toilet-portable{--fa:""}.fa-toilets-portable{--fa:""}.fa-tower-cell{--fa:""}.fa-tower-observation{--fa:""}.fa-tree-city{--fa:""}.fa-trowel{--fa:""}.fa-trowel-bricks{--fa:""}.fa-truck-arrow-right{--fa:""}.fa-truck-droplet{--fa:""}.fa-truck-field{--fa:""}.fa-truck-field-un{--fa:""}.fa-truck-plane{--fa:""}.fa-users-between-lines{--fa:""}.fa-users-line{--fa:""}.fa-users-rays{--fa:""}.fa-users-rectangle{--fa:""}.fa-users-viewfinder{--fa:""}.fa-vial-circle-check{--fa:""}.fa-vial-virus{--fa:""}.fa-wheat-awn-circle-exclamation{--fa:""}.fa-worm{--fa:""}.fa-xmarks-lines{--fa:""}.fa-child-dress{--fa:""}.fa-child-reaching{--fa:""}.fa-file-circle-check{--fa:""}.fa-file-circle-xmark{--fa:""}.fa-person-through-window{--fa:""}.fa-plant-wilt{--fa:""}.fa-stapler{--fa:""}.fa-train-tram{--fa:""}.fa-table-cells-column-lock{--fa:""}.fa-table-cells-row-lock{--fa:""}.fa-thumb-tack-slash,.fa-thumbtack-slash{--fa:""}.fa-table-cells-row-unlock{--fa:""}.fa-chart-diagram{--fa:""}.fa-comment-nodes{--fa:""}.fa-file-fragment{--fa:""}.fa-file-half-dashed{--fa:""}.fa-hexagon-nodes{--fa:""}.fa-hexagon-nodes-bolt{--fa:""}.fa-square-binary{--fa:""}.fa-pentagon{--fa:""}.fa-non-binary{--fa:""}.fa-spiral{--fa:""}.fa-picture-in-picture{--fa:""}.fa-mobile-vibrate{--fa:""}.fa-single-quote-left{--fa:""}.fa-single-quote-right{--fa:""}.fa-bus-side{--fa:""}.fa-heptagon,.fa-septagon{--fa:""}.fa-aquarius{--fa:""}.fa-aries{--fa:""}.fa-cancer{--fa:""}.fa-capricorn{--fa:""}.fa-gemini{--fa:""}.fa-leo{--fa:""}.fa-libra{--fa:""}.fa-pisces{--fa:""}.fa-sagittarius{--fa:""}.fa-scorpio{--fa:""}.fa-taurus{--fa:""}.fa-virgo{--fa:""}.fa-glass-martini,.fa-martini-glass-empty{--fa:""}.fa-music{--fa:""}.fa-magnifying-glass,.fa-search{--fa:""}.fa-heart{--fa:""}.fa-star{--fa:""}.fa-user,.fa-user-alt,.fa-user-large{--fa:""}.fa-film,.fa-film-alt,.fa-film-simple{--fa:""}.fa-table-cells-large,.fa-th-large{--fa:""}.fa-table-cells,.fa-th{--fa:""}.fa-table-list,.fa-th-list{--fa:""}.fa-check{--fa:""}.fa-close,.fa-multiply,.fa-remove,.fa-times,.fa-xmark{--fa:""}.fa-magnifying-glass-plus,.fa-search-plus{--fa:""}.fa-magnifying-glass-minus,.fa-search-minus{--fa:""}.fa-power-off{--fa:""}.fa-signal,.fa-signal-5,.fa-signal-perfect{--fa:""}.fa-cog,.fa-gear{--fa:""}.fa-home,.fa-home-alt,.fa-home-lg-alt,.fa-house{--fa:""}.fa-clock,.fa-clock-four{--fa:""}.fa-road{--fa:""}.fa-download{--fa:""}.fa-inbox{--fa:""}.fa-arrow-right-rotate,.fa-arrow-rotate-forward,.fa-arrow-rotate-right,.fa-redo{--fa:""}.fa-arrows-rotate,.fa-refresh,.fa-sync{--fa:""}.fa-list-alt,.fa-rectangle-list{--fa:""}.fa-lock{--fa:""}.fa-flag{--fa:""}.fa-headphones,.fa-headphones-alt,.fa-headphones-simple{--fa:""}.fa-volume-off{--fa:""}.fa-volume-down,.fa-volume-low{--fa:""}.fa-volume-high,.fa-volume-up{--fa:""}.fa-qrcode{--fa:""}.fa-barcode{--fa:""}.fa-tag{--fa:""}.fa-tags{--fa:""}.fa-book{--fa:""}.fa-bookmark{--fa:""}.fa-print{--fa:""}.fa-camera,.fa-camera-alt{--fa:""}.fa-font{--fa:""}.fa-bold{--fa:""}.fa-italic{--fa:""}.fa-text-height{--fa:""}.fa-text-width{--fa:""}.fa-align-left{--fa:""}.fa-align-center{--fa:""}.fa-align-right{--fa:""}.fa-align-justify{--fa:""}.fa-list,.fa-list-squares{--fa:""}.fa-dedent,.fa-outdent{--fa:""}.fa-indent{--fa:""}.fa-video,.fa-video-camera{--fa:""}.fa-image{--fa:""}.fa-location-pin,.fa-map-marker{--fa:""}.fa-adjust,.fa-circle-half-stroke{--fa:""}.fa-droplet,.fa-tint{--fa:""}.fa-edit,.fa-pen-to-square{--fa:""}.fa-arrows,.fa-arrows-up-down-left-right{--fa:""}.fa-backward-step,.fa-step-backward{--fa:""}.fa-backward-fast,.fa-fast-backward{--fa:""}.fa-backward{--fa:""}.fa-play{--fa:""}.fa-pause{--fa:""}.fa-stop{--fa:""}.fa-forward{--fa:""}.fa-fast-forward,.fa-forward-fast{--fa:""}.fa-forward-step,.fa-step-forward{--fa:""}.fa-eject{--fa:""}.fa-chevron-left{--fa:""}.fa-chevron-right{--fa:""}.fa-circle-plus,.fa-plus-circle{--fa:""}.fa-circle-minus,.fa-minus-circle{--fa:""}.fa-circle-xmark,.fa-times-circle,.fa-xmark-circle{--fa:""}.fa-check-circle,.fa-circle-check{--fa:""}.fa-circle-question,.fa-question-circle{--fa:""}.fa-circle-info,.fa-info-circle{--fa:""}.fa-crosshairs{--fa:""}.fa-ban,.fa-cancel{--fa:""}.fa-arrow-left{--fa:""}.fa-arrow-right{--fa:""}.fa-arrow-up{--fa:""}.fa-arrow-down{--fa:""}.fa-mail-forward,.fa-share{--fa:""}.fa-expand{--fa:""}.fa-compress{--fa:""}.fa-minus,.fa-subtract{--fa:""}.fa-circle-exclamation,.fa-exclamation-circle{--fa:""}.fa-gift{--fa:""}.fa-leaf{--fa:""}.fa-fire{--fa:""}.fa-eye{--fa:""}.fa-eye-slash{--fa:""}.fa-exclamation-triangle,.fa-triangle-exclamation,.fa-warning{--fa:""}.fa-plane{--fa:""}.fa-calendar-alt,.fa-calendar-days{--fa:""}.fa-random,.fa-shuffle{--fa:""}.fa-comment{--fa:""}.fa-magnet{--fa:""}.fa-chevron-up{--fa:""}.fa-chevron-down{--fa:""}.fa-retweet{--fa:""}.fa-cart-shopping,.fa-shopping-cart{--fa:""}.fa-folder,.fa-folder-blank{--fa:""}.fa-folder-open{--fa:""}.fa-arrows-up-down,.fa-arrows-v{--fa:""}.fa-arrows-h,.fa-arrows-left-right{--fa:""}.fa-bar-chart,.fa-chart-bar{--fa:""}.fa-camera-retro{--fa:""}.fa-key{--fa:""}.fa-cogs,.fa-gears{--fa:""}.fa-comments{--fa:""}.fa-star-half{--fa:""}.fa-arrow-right-from-bracket,.fa-sign-out{--fa:""}.fa-thumb-tack,.fa-thumbtack{--fa:""}.fa-arrow-up-right-from-square,.fa-external-link{--fa:""}.fa-arrow-right-to-bracket,.fa-sign-in{--fa:""}.fa-trophy{--fa:""}.fa-upload{--fa:""}.fa-lemon{--fa:""}.fa-phone{--fa:""}.fa-phone-square,.fa-square-phone{--fa:""}.fa-unlock{--fa:""}.fa-credit-card,.fa-credit-card-alt{--fa:""}.fa-feed,.fa-rss{--fa:""}.fa-hard-drive,.fa-hdd{--fa:""}.fa-bullhorn{--fa:""}.fa-certificate{--fa:""}.fa-hand-point-right{--fa:""}.fa-hand-point-left{--fa:""}.fa-hand-point-up{--fa:""}.fa-hand-point-down{--fa:""}.fa-arrow-circle-left,.fa-circle-arrow-left{--fa:""}.fa-arrow-circle-right,.fa-circle-arrow-right{--fa:""}.fa-arrow-circle-up,.fa-circle-arrow-up{--fa:""}.fa-arrow-circle-down,.fa-circle-arrow-down{--fa:""}.fa-globe{--fa:""}.fa-wrench{--fa:""}.fa-list-check,.fa-tasks{--fa:""}.fa-filter{--fa:""}.fa-briefcase{--fa:""}.fa-arrows-alt,.fa-up-down-left-right{--fa:""}.fa-users{--fa:""}.fa-chain,.fa-link{--fa:""}.fa-cloud{--fa:""}.fa-flask{--fa:""}.fa-cut,.fa-scissors{--fa:""}.fa-copy{--fa:""}.fa-paperclip{--fa:""}.fa-floppy-disk,.fa-save{--fa:""}.fa-square{--fa:""}.fa-bars,.fa-navicon{--fa:""}.fa-list-dots,.fa-list-ul{--fa:""}.fa-list-1-2,.fa-list-numeric,.fa-list-ol{--fa:""}.fa-strikethrough{--fa:""}.fa-underline{--fa:""}.fa-table{--fa:""}.fa-magic,.fa-wand-magic{--fa:""}.fa-truck{--fa:""}.fa-money-bill{--fa:""}.fa-caret-down{--fa:""}.fa-caret-up{--fa:""}.fa-caret-left{--fa:""}.fa-caret-right{--fa:""}.fa-columns,.fa-table-columns{--fa:""}.fa-sort,.fa-unsorted{--fa:""}.fa-sort-desc,.fa-sort-down{--fa:""}.fa-sort-asc,.fa-sort-up{--fa:""}.fa-envelope{--fa:""}.fa-arrow-left-rotate,.fa-arrow-rotate-back,.fa-arrow-rotate-backward,.fa-arrow-rotate-left,.fa-undo{--fa:""}.fa-gavel,.fa-legal{--fa:""}.fa-bolt,.fa-zap{--fa:""}.fa-sitemap{--fa:""}.fa-umbrella{--fa:""}.fa-file-clipboard,.fa-paste{--fa:""}.fa-lightbulb{--fa:""}.fa-arrow-right-arrow-left,.fa-exchange{--fa:""}.fa-cloud-arrow-down,.fa-cloud-download,.fa-cloud-download-alt{--fa:""}.fa-cloud-arrow-up,.fa-cloud-upload,.fa-cloud-upload-alt{--fa:""}.fa-user-doctor,.fa-user-md{--fa:""}.fa-stethoscope{--fa:""}.fa-suitcase{--fa:""}.fa-bell{--fa:""}.fa-coffee,.fa-mug-saucer{--fa:""}.fa-hospital,.fa-hospital-alt,.fa-hospital-wide{--fa:""}.fa-ambulance,.fa-truck-medical{--fa:""}.fa-medkit,.fa-suitcase-medical{--fa:""}.fa-fighter-jet,.fa-jet-fighter{--fa:""}.fa-beer,.fa-beer-mug-empty{--fa:""}.fa-h-square,.fa-square-h{--fa:""}.fa-plus-square,.fa-square-plus{--fa:""}.fa-angle-double-left,.fa-angles-left{--fa:""}.fa-angle-double-right,.fa-angles-right{--fa:""}.fa-angle-double-up,.fa-angles-up{--fa:""}.fa-angle-double-down,.fa-angles-down{--fa:""}.fa-angle-left{--fa:""}.fa-angle-right{--fa:""}.fa-angle-up{--fa:""}.fa-angle-down{--fa:""}.fa-laptop{--fa:""}.fa-tablet-button{--fa:""}.fa-mobile-button{--fa:""}.fa-quote-left,.fa-quote-left-alt{--fa:""}.fa-quote-right,.fa-quote-right-alt{--fa:""}.fa-spinner{--fa:""}.fa-circle{--fa:""}.fa-face-smile,.fa-smile{--fa:""}.fa-face-frown,.fa-frown{--fa:""}.fa-face-meh,.fa-meh{--fa:""}.fa-gamepad{--fa:""}.fa-keyboard{--fa:""}.fa-flag-checkered{--fa:""}.fa-terminal{--fa:""}.fa-code{--fa:""}.fa-mail-reply-all,.fa-reply-all{--fa:""}.fa-location-arrow{--fa:""}.fa-crop{--fa:""}.fa-code-branch{--fa:""}.fa-chain-broken,.fa-chain-slash,.fa-link-slash,.fa-unlink{--fa:""}.fa-info{--fa:""}.fa-superscript{--fa:""}.fa-subscript{--fa:""}.fa-eraser{--fa:""}.fa-puzzle-piece{--fa:""}.fa-microphone{--fa:""}.fa-microphone-slash{--fa:""}.fa-shield,.fa-shield-blank{--fa:""}.fa-calendar{--fa:""}.fa-fire-extinguisher{--fa:""}.fa-rocket{--fa:""}.fa-chevron-circle-left,.fa-circle-chevron-left{--fa:""}.fa-chevron-circle-right,.fa-circle-chevron-right{--fa:""}.fa-chevron-circle-up,.fa-circle-chevron-up{--fa:""}.fa-chevron-circle-down,.fa-circle-chevron-down{--fa:""}.fa-anchor{--fa:""}.fa-unlock-alt,.fa-unlock-keyhole{--fa:""}.fa-bullseye{--fa:""}.fa-ellipsis,.fa-ellipsis-h{--fa:""}.fa-ellipsis-v,.fa-ellipsis-vertical{--fa:""}.fa-rss-square,.fa-square-rss{--fa:""}.fa-circle-play,.fa-play-circle{--fa:""}.fa-ticket{--fa:""}.fa-minus-square,.fa-square-minus{--fa:""}.fa-arrow-turn-up,.fa-level-up{--fa:""}.fa-arrow-turn-down,.fa-level-down{--fa:""}.fa-check-square,.fa-square-check{--fa:""}.fa-pen-square,.fa-pencil-square,.fa-square-pen{--fa:""}.fa-external-link-square,.fa-square-arrow-up-right{--fa:""}.fa-share-from-square,.fa-share-square{--fa:""}.fa-compass{--fa:""}.fa-caret-square-down,.fa-square-caret-down{--fa:""}.fa-caret-square-up,.fa-square-caret-up{--fa:""}.fa-caret-square-right,.fa-square-caret-right{--fa:""}.fa-eur,.fa-euro,.fa-euro-sign{--fa:""}.fa-gbp,.fa-pound-sign,.fa-sterling-sign{--fa:""}.fa-rupee,.fa-rupee-sign{--fa:""}.fa-cny,.fa-jpy,.fa-rmb,.fa-yen,.fa-yen-sign{--fa:""}.fa-rouble,.fa-rub,.fa-ruble,.fa-ruble-sign{--fa:""}.fa-krw,.fa-won,.fa-won-sign{--fa:""}.fa-file{--fa:""}.fa-file-alt,.fa-file-lines,.fa-file-text{--fa:""}.fa-arrow-down-a-z,.fa-sort-alpha-asc,.fa-sort-alpha-down{--fa:""}.fa-arrow-up-a-z,.fa-sort-alpha-up{--fa:""}.fa-arrow-down-wide-short,.fa-sort-amount-asc,.fa-sort-amount-down{--fa:""}.fa-arrow-up-wide-short,.fa-sort-amount-up{--fa:""}.fa-arrow-down-1-9,.fa-sort-numeric-asc,.fa-sort-numeric-down{--fa:""}.fa-arrow-up-1-9,.fa-sort-numeric-up{--fa:""}.fa-thumbs-up{--fa:""}.fa-thumbs-down{--fa:""}.fa-arrow-down-long,.fa-long-arrow-down{--fa:""}.fa-arrow-up-long,.fa-long-arrow-up{--fa:""}.fa-arrow-left-long,.fa-long-arrow-left{--fa:""}.fa-arrow-right-long,.fa-long-arrow-right{--fa:""}.fa-female,.fa-person-dress{--fa:""}.fa-male,.fa-person{--fa:""}.fa-sun{--fa:""}.fa-moon{--fa:""}.fa-archive,.fa-box-archive{--fa:""}.fa-bug{--fa:""}.fa-caret-square-left,.fa-square-caret-left{--fa:""}.fa-circle-dot,.fa-dot-circle{--fa:""}.fa-wheelchair{--fa:""}.fa-lira-sign{--fa:""}.fa-shuttle-space,.fa-space-shuttle{--fa:""}.fa-envelope-square,.fa-square-envelope{--fa:""}.fa-bank,.fa-building-columns,.fa-institution,.fa-museum,.fa-university{--fa:""}.fa-graduation-cap,.fa-mortar-board{--fa:""}.fa-language{--fa:""}.fa-fax{--fa:""}.fa-building{--fa:""}.fa-child{--fa:""}.fa-paw{--fa:""}.fa-cube{--fa:""}.fa-cubes{--fa:""}.fa-recycle{--fa:""}.fa-automobile,.fa-car{--fa:""}.fa-cab,.fa-taxi{--fa:""}.fa-tree{--fa:""}.fa-database{--fa:""}.fa-file-pdf{--fa:""}.fa-file-word{--fa:""}.fa-file-excel{--fa:""}.fa-file-powerpoint{--fa:""}.fa-file-image{--fa:""}.fa-file-archive,.fa-file-zipper{--fa:""}.fa-file-audio{--fa:""}.fa-file-video{--fa:""}.fa-file-code{--fa:""}.fa-life-ring{--fa:""}.fa-circle-notch{--fa:""}.fa-paper-plane{--fa:""}.fa-clock-rotate-left,.fa-history{--fa:""}.fa-header,.fa-heading{--fa:""}.fa-paragraph{--fa:""}.fa-sliders,.fa-sliders-h{--fa:""}.fa-share-alt,.fa-share-nodes{--fa:""}.fa-share-alt-square,.fa-square-share-nodes{--fa:""}.fa-bomb{--fa:""}.fa-futbol,.fa-futbol-ball,.fa-soccer-ball{--fa:""}.fa-teletype,.fa-tty{--fa:""}.fa-binoculars{--fa:""}.fa-plug{--fa:""}.fa-newspaper{--fa:""}.fa-wifi,.fa-wifi-3,.fa-wifi-strong{--fa:""}.fa-calculator{--fa:""}.fa-bell-slash{--fa:""}.fa-trash{--fa:""}.fa-copyright{--fa:""}.fa-eye-dropper,.fa-eye-dropper-empty,.fa-eyedropper{--fa:""}.fa-paint-brush,.fa-paintbrush{--fa:""}.fa-birthday-cake,.fa-cake,.fa-cake-candles{--fa:""}.fa-area-chart,.fa-chart-area{--fa:""}.fa-chart-pie,.fa-pie-chart{--fa:""}.fa-chart-line,.fa-line-chart{--fa:""}.fa-toggle-off{--fa:""}.fa-toggle-on{--fa:""}.fa-bicycle{--fa:""}.fa-bus{--fa:""}.fa-closed-captioning{--fa:""}.fa-ils,.fa-shekel,.fa-shekel-sign,.fa-sheqel,.fa-sheqel-sign{--fa:""}.fa-cart-plus{--fa:""}.fa-cart-arrow-down{--fa:""}.fa-diamond{--fa:""}.fa-ship{--fa:""}.fa-user-secret{--fa:""}.fa-motorcycle{--fa:""}.fa-street-view{--fa:""}.fa-heart-pulse,.fa-heartbeat{--fa:""}.fa-venus{--fa:""}.fa-mars{--fa:""}.fa-mercury{--fa:""}.fa-mars-and-venus{--fa:""}.fa-transgender,.fa-transgender-alt{--fa:""}.fa-venus-double{--fa:""}.fa-mars-double{--fa:""}.fa-venus-mars{--fa:""}.fa-mars-stroke{--fa:""}.fa-mars-stroke-up,.fa-mars-stroke-v{--fa:""}.fa-mars-stroke-h,.fa-mars-stroke-right{--fa:""}.fa-neuter{--fa:""}.fa-genderless{--fa:""}.fa-server{--fa:""}.fa-user-plus{--fa:""}.fa-user-times,.fa-user-xmark{--fa:""}.fa-bed{--fa:""}.fa-train{--fa:""}.fa-subway,.fa-train-subway{--fa:""}.fa-battery,.fa-battery-5,.fa-battery-full{--fa:""}.fa-battery-4,.fa-battery-three-quarters{--fa:""}.fa-battery-3,.fa-battery-half{--fa:""}.fa-battery-2,.fa-battery-quarter{--fa:""}.fa-battery-0,.fa-battery-empty{--fa:""}.fa-arrow-pointer,.fa-mouse-pointer{--fa:""}.fa-i-cursor{--fa:""}.fa-object-group{--fa:""}.fa-object-ungroup{--fa:""}.fa-note-sticky,.fa-sticky-note{--fa:""}.fa-clone{--fa:""}.fa-balance-scale,.fa-scale-balanced{--fa:""}.fa-hourglass-1,.fa-hourglass-start{--fa:""}.fa-hourglass-2,.fa-hourglass-half{--fa:""}.fa-hourglass-3,.fa-hourglass-end{--fa:""}.fa-hourglass,.fa-hourglass-empty{--fa:""}.fa-hand-back-fist,.fa-hand-rock{--fa:""}.fa-hand,.fa-hand-paper{--fa:""}.fa-hand-scissors{--fa:""}.fa-hand-lizard{--fa:""}.fa-hand-spock{--fa:""}.fa-hand-pointer{--fa:""}.fa-hand-peace{--fa:""}.fa-trademark{--fa:""}.fa-registered{--fa:""}.fa-television,.fa-tv,.fa-tv-alt{--fa:""}.fa-calendar-plus{--fa:""}.fa-calendar-minus{--fa:""}.fa-calendar-times,.fa-calendar-xmark{--fa:""}.fa-calendar-check{--fa:""}.fa-industry{--fa:""}.fa-map-pin{--fa:""}.fa-map-signs,.fa-signs-post{--fa:""}.fa-map{--fa:""}.fa-comment-alt,.fa-message{--fa:""}.fa-circle-pause,.fa-pause-circle{--fa:""}.fa-circle-stop,.fa-stop-circle{--fa:""}.fa-bag-shopping,.fa-shopping-bag{--fa:""}.fa-basket-shopping,.fa-shopping-basket{--fa:""}.fa-universal-access{--fa:""}.fa-blind,.fa-person-walking-with-cane{--fa:""}.fa-audio-description{--fa:""}.fa-phone-volume,.fa-volume-control-phone{--fa:""}.fa-braille{--fa:""}.fa-assistive-listening-systems,.fa-ear-listen{--fa:""}.fa-american-sign-language-interpreting,.fa-asl-interpreting,.fa-hands-american-sign-language-interpreting,.fa-hands-asl-interpreting{--fa:""}.fa-deaf,.fa-deafness,.fa-ear-deaf,.fa-hard-of-hearing{--fa:""}.fa-hands,.fa-sign-language,.fa-signing{--fa:""}.fa-eye-low-vision,.fa-low-vision{--fa:""}.fa-handshake,.fa-handshake-alt,.fa-handshake-simple{--fa:""}.fa-envelope-open{--fa:""}.fa-address-book,.fa-contact-book{--fa:""}.fa-address-card,.fa-contact-card,.fa-vcard{--fa:""}.fa-circle-user,.fa-user-circle{--fa:""}.fa-id-badge{--fa:""}.fa-drivers-license,.fa-id-card{--fa:""}.fa-temperature-4,.fa-temperature-full,.fa-thermometer-4,.fa-thermometer-full{--fa:""}.fa-temperature-3,.fa-temperature-three-quarters,.fa-thermometer-3,.fa-thermometer-three-quarters{--fa:""}.fa-temperature-2,.fa-temperature-half,.fa-thermometer-2,.fa-thermometer-half{--fa:""}.fa-temperature-1,.fa-temperature-quarter,.fa-thermometer-1,.fa-thermometer-quarter{--fa:""}.fa-temperature-0,.fa-temperature-empty,.fa-thermometer-0,.fa-thermometer-empty{--fa:""}.fa-shower{--fa:""}.fa-bath,.fa-bathtub{--fa:""}.fa-podcast{--fa:""}.fa-window-maximize{--fa:""}.fa-window-minimize{--fa:""}.fa-window-restore{--fa:""}.fa-square-xmark,.fa-times-square,.fa-xmark-square{--fa:""}.fa-microchip{--fa:""}.fa-snowflake{--fa:""}.fa-spoon,.fa-utensil-spoon{--fa:""}.fa-cutlery,.fa-utensils{--fa:""}.fa-rotate-back,.fa-rotate-backward,.fa-rotate-left,.fa-undo-alt{--fa:""}.fa-trash-alt,.fa-trash-can{--fa:""}.fa-rotate,.fa-sync-alt{--fa:""}.fa-stopwatch{--fa:""}.fa-right-from-bracket,.fa-sign-out-alt{--fa:""}.fa-right-to-bracket,.fa-sign-in-alt{--fa:""}.fa-redo-alt,.fa-rotate-forward,.fa-rotate-right{--fa:""}.fa-poo{--fa:""}.fa-images{--fa:""}.fa-pencil,.fa-pencil-alt{--fa:""}.fa-pen{--fa:""}.fa-pen-alt,.fa-pen-clip{--fa:""}.fa-octagon{--fa:""}.fa-down-long,.fa-long-arrow-alt-down{--fa:""}.fa-left-long,.fa-long-arrow-alt-left{--fa:""}.fa-long-arrow-alt-right,.fa-right-long{--fa:""}.fa-long-arrow-alt-up,.fa-up-long{--fa:""}.fa-hexagon{--fa:""}.fa-file-edit,.fa-file-pen{--fa:""}.fa-expand-arrows-alt,.fa-maximize{--fa:""}.fa-clipboard{--fa:""}.fa-arrows-alt-h,.fa-left-right{--fa:""}.fa-arrows-alt-v,.fa-up-down{--fa:""}.fa-alarm-clock{--fa:""}.fa-arrow-alt-circle-down,.fa-circle-down{--fa:""}.fa-arrow-alt-circle-left,.fa-circle-left{--fa:""}.fa-arrow-alt-circle-right,.fa-circle-right{--fa:""}.fa-arrow-alt-circle-up,.fa-circle-up{--fa:""}.fa-external-link-alt,.fa-up-right-from-square{--fa:""}.fa-external-link-square-alt,.fa-square-up-right{--fa:""}.fa-exchange-alt,.fa-right-left{--fa:""}.fa-repeat{--fa:""}.fa-code-commit{--fa:""}.fa-code-merge{--fa:""}.fa-desktop,.fa-desktop-alt{--fa:""}.fa-gem{--fa:""}.fa-level-down-alt,.fa-turn-down{--fa:""}.fa-level-up-alt,.fa-turn-up{--fa:""}.fa-lock-open{--fa:""}.fa-location-dot,.fa-map-marker-alt{--fa:""}.fa-microphone-alt,.fa-microphone-lines{--fa:""}.fa-mobile-alt,.fa-mobile-screen-button{--fa:""}.fa-mobile,.fa-mobile-android,.fa-mobile-phone{--fa:""}.fa-mobile-android-alt,.fa-mobile-screen{--fa:""}.fa-money-bill-1,.fa-money-bill-alt{--fa:""}.fa-phone-slash{--fa:""}.fa-image-portrait,.fa-portrait{--fa:""}.fa-mail-reply,.fa-reply{--fa:""}.fa-shield-alt,.fa-shield-halved{--fa:""}.fa-tablet-alt,.fa-tablet-screen-button{--fa:""}.fa-tablet,.fa-tablet-android{--fa:""}.fa-ticket-alt,.fa-ticket-simple{--fa:""}.fa-rectangle-times,.fa-rectangle-xmark,.fa-times-rectangle,.fa-window-close{--fa:""}.fa-compress-alt,.fa-down-left-and-up-right-to-center{--fa:""}.fa-expand-alt,.fa-up-right-and-down-left-from-center{--fa:""}.fa-baseball-bat-ball{--fa:""}.fa-baseball,.fa-baseball-ball{--fa:""}.fa-basketball,.fa-basketball-ball{--fa:""}.fa-bowling-ball{--fa:""}.fa-chess{--fa:""}.fa-chess-bishop{--fa:""}.fa-chess-board{--fa:""}.fa-chess-king{--fa:""}.fa-chess-knight{--fa:""}.fa-chess-pawn{--fa:""}.fa-chess-queen{--fa:""}.fa-chess-rook{--fa:""}.fa-dumbbell{--fa:""}.fa-football,.fa-football-ball{--fa:""}.fa-golf-ball,.fa-golf-ball-tee{--fa:""}.fa-hockey-puck{--fa:""}.fa-broom-ball,.fa-quidditch,.fa-quidditch-broom-ball{--fa:""}.fa-square-full{--fa:""}.fa-ping-pong-paddle-ball,.fa-table-tennis,.fa-table-tennis-paddle-ball{--fa:""}.fa-volleyball,.fa-volleyball-ball{--fa:""}.fa-allergies,.fa-hand-dots{--fa:""}.fa-band-aid,.fa-bandage{--fa:""}.fa-box{--fa:""}.fa-boxes,.fa-boxes-alt,.fa-boxes-stacked{--fa:""}.fa-briefcase-medical{--fa:""}.fa-burn,.fa-fire-flame-simple{--fa:""}.fa-capsules{--fa:""}.fa-clipboard-check{--fa:""}.fa-clipboard-list{--fa:""}.fa-diagnoses,.fa-person-dots-from-line{--fa:""}.fa-dna{--fa:""}.fa-dolly,.fa-dolly-box{--fa:""}.fa-cart-flatbed,.fa-dolly-flatbed{--fa:""}.fa-file-medical{--fa:""}.fa-file-medical-alt,.fa-file-waveform{--fa:""}.fa-first-aid,.fa-kit-medical{--fa:""}.fa-circle-h,.fa-hospital-symbol{--fa:""}.fa-id-card-alt,.fa-id-card-clip{--fa:""}.fa-notes-medical{--fa:""}.fa-pallet{--fa:""}.fa-pills{--fa:""}.fa-prescription-bottle{--fa:""}.fa-prescription-bottle-alt,.fa-prescription-bottle-medical{--fa:""}.fa-bed-pulse,.fa-procedures{--fa:""}.fa-shipping-fast,.fa-truck-fast{--fa:""}.fa-smoking{--fa:""}.fa-syringe{--fa:""}.fa-tablets{--fa:""}.fa-thermometer{--fa:""}.fa-vial{--fa:""}.fa-vials{--fa:""}.fa-warehouse{--fa:""}.fa-weight,.fa-weight-scale{--fa:""}.fa-x-ray{--fa:""}.fa-box-open{--fa:""}.fa-comment-dots,.fa-commenting{--fa:""}.fa-comment-slash{--fa:""}.fa-couch{--fa:""}.fa-circle-dollar-to-slot,.fa-donate{--fa:""}.fa-dove{--fa:""}.fa-hand-holding{--fa:""}.fa-hand-holding-heart{--fa:""}.fa-hand-holding-dollar,.fa-hand-holding-usd{--fa:""}.fa-hand-holding-droplet,.fa-hand-holding-water{--fa:""}.fa-hands-holding{--fa:""}.fa-hands-helping,.fa-handshake-angle{--fa:""}.fa-parachute-box{--fa:""}.fa-people-carry,.fa-people-carry-box{--fa:""}.fa-piggy-bank{--fa:""}.fa-ribbon{--fa:""}.fa-route{--fa:""}.fa-seedling,.fa-sprout{--fa:""}.fa-sign,.fa-sign-hanging{--fa:""}.fa-face-smile-wink,.fa-smile-wink{--fa:""}.fa-tape{--fa:""}.fa-truck-loading,.fa-truck-ramp-box{--fa:""}.fa-truck-moving{--fa:""}.fa-video-slash{--fa:""}.fa-wine-glass{--fa:""}.fa-user-astronaut{--fa:""}.fa-user-check{--fa:""}.fa-user-clock{--fa:""}.fa-user-cog,.fa-user-gear{--fa:""}.fa-user-edit,.fa-user-pen{--fa:""}.fa-user-friends,.fa-user-group{--fa:""}.fa-user-graduate{--fa:""}.fa-user-lock{--fa:""}.fa-user-minus{--fa:""}.fa-user-ninja{--fa:""}.fa-user-shield{--fa:""}.fa-user-alt-slash,.fa-user-large-slash,.fa-user-slash{--fa:""}.fa-user-tag{--fa:""}.fa-user-tie{--fa:""}.fa-users-cog,.fa-users-gear{--fa:""}.fa-balance-scale-left,.fa-scale-unbalanced{--fa:""}.fa-balance-scale-right,.fa-scale-unbalanced-flip{--fa:""}.fa-blender{--fa:""}.fa-book-open{--fa:""}.fa-broadcast-tower,.fa-tower-broadcast{--fa:""}.fa-broom{--fa:""}.fa-blackboard,.fa-chalkboard{--fa:""}.fa-chalkboard-teacher,.fa-chalkboard-user{--fa:""}.fa-church{--fa:""}.fa-coins{--fa:""}.fa-compact-disc{--fa:""}.fa-crow{--fa:""}.fa-crown{--fa:""}.fa-dice{--fa:""}.fa-dice-five{--fa:""}.fa-dice-four{--fa:""}.fa-dice-one{--fa:""}.fa-dice-six{--fa:""}.fa-dice-three{--fa:""}.fa-dice-two{--fa:""}.fa-divide{--fa:""}.fa-door-closed{--fa:""}.fa-door-open{--fa:""}.fa-feather{--fa:""}.fa-frog{--fa:""}.fa-gas-pump{--fa:""}.fa-glasses{--fa:""}.fa-greater-than-equal{--fa:""}.fa-helicopter{--fa:""}.fa-infinity{--fa:""}.fa-kiwi-bird{--fa:""}.fa-less-than-equal{--fa:""}.fa-memory{--fa:""}.fa-microphone-alt-slash,.fa-microphone-lines-slash{--fa:""}.fa-money-bill-wave{--fa:""}.fa-money-bill-1-wave,.fa-money-bill-wave-alt{--fa:""}.fa-money-check{--fa:""}.fa-money-check-alt,.fa-money-check-dollar{--fa:""}.fa-not-equal{--fa:""}.fa-palette{--fa:""}.fa-parking,.fa-square-parking{--fa:""}.fa-diagram-project,.fa-project-diagram{--fa:""}.fa-receipt{--fa:""}.fa-robot{--fa:""}.fa-ruler{--fa:""}.fa-ruler-combined{--fa:""}.fa-ruler-horizontal{--fa:""}.fa-ruler-vertical{--fa:""}.fa-school{--fa:""}.fa-screwdriver{--fa:""}.fa-shoe-prints{--fa:""}.fa-skull{--fa:""}.fa-ban-smoking,.fa-smoking-ban{--fa:""}.fa-store{--fa:""}.fa-shop,.fa-store-alt{--fa:""}.fa-bars-staggered,.fa-reorder,.fa-stream{--fa:""}.fa-stroopwafel{--fa:""}.fa-toolbox{--fa:""}.fa-shirt,.fa-t-shirt,.fa-tshirt{--fa:""}.fa-person-walking,.fa-walking{--fa:""}.fa-wallet{--fa:""}.fa-angry,.fa-face-angry{--fa:""}.fa-archway{--fa:""}.fa-atlas,.fa-book-atlas{--fa:""}.fa-award{--fa:""}.fa-backspace,.fa-delete-left{--fa:""}.fa-bezier-curve{--fa:""}.fa-bong{--fa:""}.fa-brush{--fa:""}.fa-bus-alt,.fa-bus-simple{--fa:""}.fa-cannabis{--fa:""}.fa-check-double{--fa:""}.fa-cocktail,.fa-martini-glass-citrus{--fa:""}.fa-bell-concierge,.fa-concierge-bell{--fa:""}.fa-cookie{--fa:""}.fa-cookie-bite{--fa:""}.fa-crop-alt,.fa-crop-simple{--fa:""}.fa-digital-tachograph,.fa-tachograph-digital{--fa:""}.fa-dizzy,.fa-face-dizzy{--fa:""}.fa-compass-drafting,.fa-drafting-compass{--fa:""}.fa-drum{--fa:""}.fa-drum-steelpan{--fa:""}.fa-feather-alt,.fa-feather-pointed{--fa:""}.fa-file-contract{--fa:""}.fa-file-arrow-down,.fa-file-download{--fa:""}.fa-arrow-right-from-file,.fa-file-export{--fa:""}.fa-arrow-right-to-file,.fa-file-import{--fa:""}.fa-file-invoice{--fa:""}.fa-file-invoice-dollar{--fa:""}.fa-file-prescription{--fa:""}.fa-file-signature{--fa:""}.fa-file-arrow-up,.fa-file-upload{--fa:""}.fa-fill{--fa:""}.fa-fill-drip{--fa:""}.fa-fingerprint{--fa:""}.fa-fish{--fa:""}.fa-face-flushed,.fa-flushed{--fa:""}.fa-face-frown-open,.fa-frown-open{--fa:""}.fa-glass-martini-alt,.fa-martini-glass{--fa:""}.fa-earth-africa,.fa-globe-africa{--fa:""}.fa-earth,.fa-earth-america,.fa-earth-americas,.fa-globe-americas{--fa:""}.fa-earth-asia,.fa-globe-asia{--fa:""}.fa-face-grimace,.fa-grimace{--fa:""}.fa-face-grin,.fa-grin{--fa:""}.fa-face-grin-wide,.fa-grin-alt{--fa:""}.fa-face-grin-beam,.fa-grin-beam{--fa:""}.fa-face-grin-beam-sweat,.fa-grin-beam-sweat{--fa:""}.fa-face-grin-hearts,.fa-grin-hearts{--fa:""}.fa-face-grin-squint,.fa-grin-squint{--fa:""}.fa-face-grin-squint-tears,.fa-grin-squint-tears{--fa:""}.fa-face-grin-stars,.fa-grin-stars{--fa:""}.fa-face-grin-tears,.fa-grin-tears{--fa:""}.fa-face-grin-tongue,.fa-grin-tongue{--fa:""}.fa-face-grin-tongue-squint,.fa-grin-tongue-squint{--fa:""}.fa-face-grin-tongue-wink,.fa-grin-tongue-wink{--fa:""}.fa-face-grin-wink,.fa-grin-wink{--fa:""}.fa-grid-horizontal,.fa-grip,.fa-grip-horizontal{--fa:""}.fa-grid-vertical,.fa-grip-vertical{--fa:""}.fa-headset{--fa:""}.fa-highlighter{--fa:""}.fa-hot-tub,.fa-hot-tub-person{--fa:""}.fa-hotel{--fa:""}.fa-joint{--fa:""}.fa-face-kiss,.fa-kiss{--fa:""}.fa-face-kiss-beam,.fa-kiss-beam{--fa:""}.fa-face-kiss-wink-heart,.fa-kiss-wink-heart{--fa:""}.fa-face-laugh,.fa-laugh{--fa:""}.fa-face-laugh-beam,.fa-laugh-beam{--fa:""}.fa-face-laugh-squint,.fa-laugh-squint{--fa:""}.fa-face-laugh-wink,.fa-laugh-wink{--fa:""}.fa-cart-flatbed-suitcase,.fa-luggage-cart{--fa:""}.fa-map-location,.fa-map-marked{--fa:""}.fa-map-location-dot,.fa-map-marked-alt{--fa:""}.fa-marker{--fa:""}.fa-medal{--fa:""}.fa-face-meh-blank,.fa-meh-blank{--fa:""}.fa-face-rolling-eyes,.fa-meh-rolling-eyes{--fa:""}.fa-monument{--fa:""}.fa-mortar-pestle{--fa:""}.fa-paint-roller{--fa:""}.fa-passport{--fa:""}.fa-pen-fancy{--fa:""}.fa-pen-nib{--fa:""}.fa-pen-ruler,.fa-pencil-ruler{--fa:""}.fa-plane-arrival{--fa:""}.fa-plane-departure{--fa:""}.fa-prescription{--fa:""}.fa-face-sad-cry,.fa-sad-cry{--fa:""}.fa-face-sad-tear,.fa-sad-tear{--fa:""}.fa-shuttle-van,.fa-van-shuttle{--fa:""}.fa-signature{--fa:""}.fa-face-smile-beam,.fa-smile-beam{--fa:""}.fa-solar-panel{--fa:""}.fa-lotus,.fa-spa{--fa:""}.fa-splotch{--fa:""}.fa-spray-can{--fa:""}.fa-stamp{--fa:""}.fa-star-half-alt,.fa-star-half-stroke{--fa:""}.fa-suitcase-rolling{--fa:""}.fa-face-surprise,.fa-surprise{--fa:""}.fa-swatchbook{--fa:""}.fa-person-swimming,.fa-swimmer{--fa:""}.fa-ladder-water,.fa-swimming-pool,.fa-water-ladder{--fa:""}.fa-droplet-slash,.fa-tint-slash{--fa:""}.fa-face-tired,.fa-tired{--fa:""}.fa-tooth{--fa:""}.fa-umbrella-beach{--fa:""}.fa-weight-hanging{--fa:""}.fa-wine-glass-alt,.fa-wine-glass-empty{--fa:""}.fa-air-freshener,.fa-spray-can-sparkles{--fa:""}.fa-apple-alt,.fa-apple-whole{--fa:""}.fa-atom{--fa:""}.fa-bone{--fa:""}.fa-book-open-reader,.fa-book-reader{--fa:""}.fa-brain{--fa:""}.fa-car-alt,.fa-car-rear{--fa:""}.fa-battery-car,.fa-car-battery{--fa:""}.fa-car-burst,.fa-car-crash{--fa:""}.fa-car-side{--fa:""}.fa-charging-station{--fa:""}.fa-diamond-turn-right,.fa-directions{--fa:""}.fa-draw-polygon,.fa-vector-polygon{--fa:""}.fa-laptop-code{--fa:""}.fa-layer-group{--fa:""}.fa-location,.fa-location-crosshairs{--fa:""}.fa-lungs{--fa:""}.fa-microscope{--fa:""}.fa-oil-can{--fa:""}.fa-poop{--fa:""}.fa-shapes,.fa-triangle-circle-square{--fa:""}.fa-star-of-life{--fa:""}.fa-dashboard,.fa-gauge,.fa-gauge-med,.fa-tachometer-alt-average{--fa:""}.fa-gauge-high,.fa-tachometer-alt,.fa-tachometer-alt-fast{--fa:""}.fa-gauge-simple,.fa-gauge-simple-med,.fa-tachometer-average{--fa:""}.fa-gauge-simple-high,.fa-tachometer,.fa-tachometer-fast{--fa:""}.fa-teeth{--fa:""}.fa-teeth-open{--fa:""}.fa-masks-theater,.fa-theater-masks{--fa:""}.fa-traffic-light{--fa:""}.fa-truck-monster{--fa:""}.fa-truck-pickup{--fa:""}.fa-ad,.fa-rectangle-ad{--fa:""}.fa-ankh{--fa:""}.fa-bible,.fa-book-bible{--fa:""}.fa-briefcase-clock,.fa-business-time{--fa:""}.fa-city{--fa:""}.fa-comment-dollar{--fa:""}.fa-comments-dollar{--fa:""}.fa-cross{--fa:""}.fa-dharmachakra{--fa:""}.fa-envelope-open-text{--fa:""}.fa-folder-minus{--fa:""}.fa-folder-plus{--fa:""}.fa-filter-circle-dollar,.fa-funnel-dollar{--fa:""}.fa-gopuram{--fa:""}.fa-hamsa{--fa:""}.fa-bahai,.fa-haykal{--fa:""}.fa-jedi{--fa:""}.fa-book-journal-whills,.fa-journal-whills{--fa:""}.fa-kaaba{--fa:""}.fa-khanda{--fa:""}.fa-landmark{--fa:""}.fa-envelopes-bulk,.fa-mail-bulk{--fa:""}.fa-menorah{--fa:""}.fa-mosque{--fa:""}.fa-om{--fa:""}.fa-pastafarianism,.fa-spaghetti-monster-flying{--fa:""}.fa-peace{--fa:""}.fa-place-of-worship{--fa:""}.fa-poll,.fa-square-poll-vertical{--fa:""}.fa-poll-h,.fa-square-poll-horizontal{--fa:""}.fa-person-praying,.fa-pray{--fa:""}.fa-hands-praying,.fa-praying-hands{--fa:""}.fa-book-quran,.fa-quran{--fa:""}.fa-magnifying-glass-dollar,.fa-search-dollar{--fa:""}.fa-magnifying-glass-location,.fa-search-location{--fa:""}.fa-socks{--fa:""}.fa-square-root-alt,.fa-square-root-variable{--fa:""}.fa-star-and-crescent{--fa:""}.fa-star-of-david{--fa:""}.fa-synagogue{--fa:""}.fa-scroll-torah,.fa-torah{--fa:""}.fa-torii-gate{--fa:""}.fa-vihara{--fa:""}.fa-volume,.fa-volume-medium{--fa:""}.fa-volume-mute,.fa-volume-times,.fa-volume-xmark{--fa:""}.fa-yin-yang{--fa:""}.fa-blender-phone{--fa:""}.fa-book-dead,.fa-book-skull{--fa:""}.fa-campground{--fa:""}.fa-cat{--fa:""}.fa-chair{--fa:""}.fa-cloud-moon{--fa:""}.fa-cloud-sun{--fa:""}.fa-cow{--fa:""}.fa-dice-d20{--fa:""}.fa-dice-d6{--fa:""}.fa-dog{--fa:""}.fa-dragon{--fa:""}.fa-drumstick-bite{--fa:""}.fa-dungeon{--fa:""}.fa-file-csv{--fa:""}.fa-fist-raised,.fa-hand-fist{--fa:""}.fa-ghost{--fa:""}.fa-hammer{--fa:""}.fa-hanukiah{--fa:""}.fa-hat-wizard{--fa:""}.fa-hiking,.fa-person-hiking{--fa:""}.fa-hippo{--fa:""}.fa-horse{--fa:""}.fa-house-chimney-crack,.fa-house-damage{--fa:""}.fa-hryvnia,.fa-hryvnia-sign{--fa:""}.fa-mask{--fa:""}.fa-mountain{--fa:""}.fa-network-wired{--fa:""}.fa-otter{--fa:""}.fa-ring{--fa:""}.fa-person-running,.fa-running{--fa:""}.fa-scroll{--fa:""}.fa-skull-crossbones{--fa:""}.fa-slash{--fa:""}.fa-spider{--fa:""}.fa-toilet-paper,.fa-toilet-paper-alt,.fa-toilet-paper-blank{--fa:""}.fa-tractor{--fa:""}.fa-user-injured{--fa:""}.fa-vr-cardboard{--fa:""}.fa-wand-sparkles{--fa:""}.fa-wind{--fa:""}.fa-wine-bottle{--fa:""}.fa-cloud-meatball{--fa:""}.fa-cloud-moon-rain{--fa:""}.fa-cloud-rain{--fa:""}.fa-cloud-showers-heavy{--fa:""}.fa-cloud-sun-rain{--fa:""}.fa-democrat{--fa:""}.fa-flag-usa{--fa:""}.fa-hurricane{--fa:""}.fa-landmark-alt,.fa-landmark-dome{--fa:""}.fa-meteor{--fa:""}.fa-person-booth{--fa:""}.fa-poo-bolt,.fa-poo-storm{--fa:""}.fa-rainbow{--fa:""}.fa-republican{--fa:""}.fa-smog{--fa:""}.fa-temperature-high{--fa:""}.fa-temperature-low{--fa:""}.fa-cloud-bolt,.fa-thunderstorm{--fa:""}.fa-tornado{--fa:""}.fa-volcano{--fa:""}.fa-check-to-slot,.fa-vote-yea{--fa:""}.fa-water{--fa:""}.fa-baby{--fa:""}.fa-baby-carriage,.fa-carriage-baby{--fa:""}.fa-biohazard{--fa:""}.fa-blog{--fa:""}.fa-calendar-day{--fa:""}.fa-calendar-week{--fa:""}.fa-candy-cane{--fa:""}.fa-carrot{--fa:""}.fa-cash-register{--fa:""}.fa-compress-arrows-alt,.fa-minimize{--fa:""}.fa-dumpster{--fa:""}.fa-dumpster-fire{--fa:""}.fa-ethernet{--fa:""}.fa-gifts{--fa:""}.fa-champagne-glasses,.fa-glass-cheers{--fa:""}.fa-glass-whiskey,.fa-whiskey-glass{--fa:""}.fa-earth-europe,.fa-globe-europe{--fa:""}.fa-grip-lines{--fa:""}.fa-grip-lines-vertical{--fa:""}.fa-guitar{--fa:""}.fa-heart-broken,.fa-heart-crack{--fa:""}.fa-holly-berry{--fa:""}.fa-horse-head{--fa:""}.fa-icicles{--fa:""}.fa-igloo{--fa:""}.fa-mitten{--fa:""}.fa-mug-hot{--fa:""}.fa-radiation{--fa:""}.fa-circle-radiation,.fa-radiation-alt{--fa:""}.fa-restroom{--fa:""}.fa-satellite{--fa:""}.fa-satellite-dish{--fa:""}.fa-sd-card{--fa:""}.fa-sim-card{--fa:""}.fa-person-skating,.fa-skating{--fa:""}.fa-person-skiing,.fa-skiing{--fa:""}.fa-person-skiing-nordic,.fa-skiing-nordic{--fa:""}.fa-sleigh{--fa:""}.fa-comment-sms,.fa-sms{--fa:""}.fa-person-snowboarding,.fa-snowboarding{--fa:""}.fa-snowman{--fa:""}.fa-snowplow{--fa:""}.fa-tenge,.fa-tenge-sign{--fa:""}.fa-toilet{--fa:""}.fa-screwdriver-wrench,.fa-tools{--fa:""}.fa-cable-car,.fa-tram{--fa:""}.fa-fire-alt,.fa-fire-flame-curved{--fa:""}.fa-bacon{--fa:""}.fa-book-medical{--fa:""}.fa-bread-slice{--fa:""}.fa-cheese{--fa:""}.fa-clinic-medical,.fa-house-chimney-medical{--fa:""}.fa-clipboard-user{--fa:""}.fa-comment-medical{--fa:""}.fa-crutch{--fa:""}.fa-disease{--fa:""}.fa-egg{--fa:""}.fa-folder-tree{--fa:""}.fa-burger,.fa-hamburger{--fa:""}.fa-hand-middle-finger{--fa:""}.fa-hard-hat,.fa-hat-hard,.fa-helmet-safety{--fa:""}.fa-hospital-user{--fa:""}.fa-hotdog{--fa:""}.fa-ice-cream{--fa:""}.fa-laptop-medical{--fa:""}.fa-pager{--fa:""}.fa-pepper-hot{--fa:""}.fa-pizza-slice{--fa:""}.fa-sack-dollar{--fa:""}.fa-book-tanakh,.fa-tanakh{--fa:""}.fa-bars-progress,.fa-tasks-alt{--fa:""}.fa-trash-arrow-up,.fa-trash-restore{--fa:""}.fa-trash-can-arrow-up,.fa-trash-restore-alt{--fa:""}.fa-user-nurse{--fa:""}.fa-wave-square{--fa:""}.fa-biking,.fa-person-biking{--fa:""}.fa-border-all{--fa:""}.fa-border-none{--fa:""}.fa-border-style,.fa-border-top-left{--fa:""}.fa-digging,.fa-person-digging{--fa:""}.fa-fan{--fa:""}.fa-heart-music-camera-bolt,.fa-icons{--fa:""}.fa-phone-alt,.fa-phone-flip{--fa:""}.fa-phone-square-alt,.fa-square-phone-flip{--fa:""}.fa-photo-film,.fa-photo-video{--fa:""}.fa-remove-format,.fa-text-slash{--fa:""}.fa-arrow-down-z-a,.fa-sort-alpha-desc,.fa-sort-alpha-down-alt{--fa:""}.fa-arrow-up-z-a,.fa-sort-alpha-up-alt{--fa:""}.fa-arrow-down-short-wide,.fa-sort-amount-desc,.fa-sort-amount-down-alt{--fa:""}.fa-arrow-up-short-wide,.fa-sort-amount-up-alt{--fa:""}.fa-arrow-down-9-1,.fa-sort-numeric-desc,.fa-sort-numeric-down-alt{--fa:""}.fa-arrow-up-9-1,.fa-sort-numeric-up-alt{--fa:""}.fa-spell-check{--fa:""}.fa-voicemail{--fa:""}.fa-hat-cowboy{--fa:""}.fa-hat-cowboy-side{--fa:""}.fa-computer-mouse,.fa-mouse{--fa:""}.fa-radio{--fa:""}.fa-record-vinyl{--fa:""}.fa-walkie-talkie{--fa:""}.fa-caravan{--fa:""}: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(/assets/fa-brands-400-Bs6tcqqs.woff2)}.fa-brands,.fa-classic.fa-brands,.fab{--fa-family:var(--fa-family-brands);--fa-style:400}.fa-firefox-browser{--fa:""}.fa-ideal{--fa:""}.fa-microblog{--fa:""}.fa-pied-piper-square,.fa-square-pied-piper{--fa:""}.fa-unity{--fa:""}.fa-dailymotion{--fa:""}.fa-instagram-square,.fa-square-instagram{--fa:""}.fa-mixer{--fa:""}.fa-shopify{--fa:""}.fa-deezer{--fa:""}.fa-edge-legacy{--fa:""}.fa-google-pay{--fa:""}.fa-rust{--fa:""}.fa-tiktok{--fa:""}.fa-unsplash{--fa:""}.fa-cloudflare{--fa:""}.fa-guilded{--fa:""}.fa-hive{--fa:""}.fa-42-group,.fa-innosoft{--fa:""}.fa-instalod{--fa:""}.fa-octopus-deploy{--fa:""}.fa-perbyte{--fa:""}.fa-uncharted{--fa:""}.fa-watchman-monitoring{--fa:""}.fa-wodu{--fa:""}.fa-wirsindhandwerk,.fa-wsh{--fa:""}.fa-bots{--fa:""}.fa-cmplid{--fa:""}.fa-bilibili{--fa:""}.fa-golang{--fa:""}.fa-pix{--fa:""}.fa-sitrox{--fa:""}.fa-hashnode{--fa:""}.fa-meta{--fa:""}.fa-padlet{--fa:""}.fa-nfc-directional{--fa:""}.fa-nfc-symbol{--fa:""}.fa-screenpal{--fa:""}.fa-space-awesome{--fa:""}.fa-square-font-awesome{--fa:""}.fa-gitlab-square,.fa-square-gitlab{--fa:""}.fa-odysee{--fa:""}.fa-stubber{--fa:""}.fa-debian{--fa:""}.fa-shoelace{--fa:""}.fa-threads{--fa:""}.fa-square-threads{--fa:""}.fa-square-x-twitter{--fa:""}.fa-x-twitter{--fa:""}.fa-opensuse{--fa:""}.fa-letterboxd{--fa:""}.fa-square-letterboxd{--fa:""}.fa-mintbit{--fa:""}.fa-google-scholar{--fa:""}.fa-brave{--fa:""}.fa-brave-reverse{--fa:""}.fa-pixiv{--fa:""}.fa-upwork{--fa:""}.fa-webflow{--fa:""}.fa-signal-messenger{--fa:""}.fa-bluesky{--fa:""}.fa-jxl{--fa:""}.fa-square-upwork{--fa:""}.fa-web-awesome{--fa:""}.fa-square-web-awesome{--fa:""}.fa-square-web-awesome-stroke{--fa:""}.fa-dart-lang{--fa:""}.fa-flutter{--fa:""}.fa-files-pinwheel{--fa:""}.fa-css{--fa:""}.fa-square-bluesky{--fa:""}.fa-openai{--fa:""}.fa-square-linkedin{--fa:""}.fa-cash-app{--fa:""}.fa-disqus{--fa:""}.fa-11ty,.fa-eleventy{--fa:""}.fa-kakao-talk{--fa:""}.fa-linktree{--fa:""}.fa-notion{--fa:""}.fa-pandora{--fa:""}.fa-pixelfed{--fa:""}.fa-tidal{--fa:""}.fa-vsco{--fa:""}.fa-w3c{--fa:""}.fa-lumon{--fa:""}.fa-lumon-drop{--fa:""}.fa-square-figma{--fa:""}.fa-tex{--fa:""}.fa-duolingo{--fa:""}.fa-supportnow{--fa:""}.fa-tor-browser{--fa:""}.fa-typescript{--fa:""}.fa-square-deskpro{--fa:""}.fa-circle-zulip{--fa:""}.fa-julia{--fa:""}.fa-zulip{--fa:""}.fa-unison{--fa:""}.fa-bgg,.fa-board-game-geek{--fa:""}.fa-ko-fi{--fa:""}.fa-kubernetes{--fa:""}.fa-postgresql{--fa:""}.fa-scaleway{--fa:""}.fa-venmo{--fa:""}.fa-venmo-v{--fa:""}.fa-unreal-engine{--fa:""}.fa-globaleaks{--fa:""}.fa-solana{--fa:""}.fa-threema{--fa:""}.fa-forgejo{--fa:""}.fa-claude{--fa:""}.fa-gitee{--fa:""}.fa-xmpp{--fa:""}.fa-fediverse{--fa:""}.fa-tailwind-css{--fa:""}.fa-arch-linux{--fa:""}.fa-svelte{--fa:""}.fa-hugging-face{--fa:""}.fa-leetcode{--fa:""}.fa-openstreetmap{--fa:""}.fa-ultralytics{--fa:""}.fa-ultralytics-hub{--fa:""}.fa-ultralytics-yolo{--fa:""}.fa-obsidian{--fa:""}.fa-zoom{--fa:""}.fa-vim{--fa:""}.fa-symfonycasts{--fa:""}.fa-build-awesome{--fa:""}.fa-codeberg{--fa:""}.fa-devpost{--fa:""}.fa-internet-archive{--fa:""}.fa-lets-encrypt{--fa:""}.fa-matrix{--fa:""}.fa-mattermost{--fa:""}.fa-nextcloud{--fa:""}.fa-roblox-creator-studio{--fa:""}.fa-square-build-awesome-stroke{--fa:""}.fa-substack{--fa:""}.fa-tesla{--fa:""}.fa-xrp{--fa:""}.fa-xrpl{--fa:""}.fa-youtube-shorts{--fa:""}.fa-ror{--fa:""}.fa-visual-studio{--fa:""}.fa-dolibarr{--fa:""}.fa-obs-studio{--fa:""}.fa-storybook{--fa:""}.fa-a11y-project{--fa:""}.fa-copilot{--fa:""}.fa-square-twitter,.fa-twitter-square{--fa:""}.fa-facebook-square,.fa-square-facebook{--fa:""}.fa-linkedin{--fa:""}.fa-github-square,.fa-square-github{--fa:""}.fa-twitter{--fa:""}.fa-facebook{--fa:""}.fa-github{--fa:""}.fa-pinterest{--fa:""}.fa-pinterest-square,.fa-square-pinterest{--fa:""}.fa-google-plus-square,.fa-square-google-plus{--fa:""}.fa-google-plus-g{--fa:""}.fa-linkedin-in{--fa:""}.fa-github-alt{--fa:""}.fa-maxcdn{--fa:""}.fa-html5{--fa:""}.fa-css3{--fa:""}.fa-btc{--fa:""}.fa-youtube{--fa:""}.fa-xing{--fa:""}.fa-square-xing,.fa-xing-square{--fa:""}.fa-dropbox{--fa:""}.fa-stack-overflow{--fa:""}.fa-instagram{--fa:""}.fa-flickr{--fa:""}.fa-adn{--fa:""}.fa-bitbucket{--fa:""}.fa-tumblr{--fa:""}.fa-square-tumblr,.fa-tumblr-square{--fa:""}.fa-apple{--fa:""}.fa-windows{--fa:""}.fa-android{--fa:""}.fa-linux{--fa:""}.fa-dribbble{--fa:""}.fa-skype{--fa:""}.fa-foursquare{--fa:""}.fa-trello{--fa:""}.fa-gratipay{--fa:""}.fa-vk{--fa:""}.fa-weibo{--fa:""}.fa-renren{--fa:""}.fa-pagelines{--fa:""}.fa-stack-exchange{--fa:""}.fa-square-vimeo,.fa-vimeo-square{--fa:""}.fa-slack,.fa-slack-hash{--fa:""}.fa-wordpress{--fa:""}.fa-openid{--fa:""}.fa-yahoo{--fa:""}.fa-google{--fa:""}.fa-reddit{--fa:""}.fa-reddit-square,.fa-square-reddit{--fa:""}.fa-stumbleupon-circle{--fa:""}.fa-stumbleupon{--fa:""}.fa-delicious{--fa:""}.fa-digg{--fa:""}.fa-pied-piper-pp{--fa:""}.fa-pied-piper-alt{--fa:""}.fa-drupal{--fa:""}.fa-joomla{--fa:""}.fa-behance{--fa:""}.fa-behance-square,.fa-square-behance{--fa:""}.fa-steam{--fa:""}.fa-square-steam,.fa-steam-square{--fa:""}.fa-spotify{--fa:""}.fa-deviantart{--fa:""}.fa-soundcloud{--fa:""}.fa-vine{--fa:""}.fa-codepen{--fa:""}.fa-jsfiddle{--fa:""}.fa-rebel{--fa:""}.fa-empire{--fa:""}.fa-git-square,.fa-square-git{--fa:""}.fa-git{--fa:""}.fa-hacker-news{--fa:""}.fa-tencent-weibo{--fa:""}.fa-qq{--fa:""}.fa-weixin{--fa:""}.fa-slideshare{--fa:""}.fa-twitch{--fa:""}.fa-yelp{--fa:""}.fa-paypal{--fa:""}.fa-google-wallet{--fa:""}.fa-cc-visa{--fa:""}.fa-cc-mastercard{--fa:""}.fa-cc-discover{--fa:""}.fa-cc-amex{--fa:""}.fa-cc-paypal{--fa:""}.fa-cc-stripe{--fa:""}.fa-lastfm{--fa:""}.fa-lastfm-square,.fa-square-lastfm{--fa:""}.fa-ioxhost{--fa:""}.fa-angellist{--fa:""}.fa-buysellads{--fa:""}.fa-connectdevelop{--fa:""}.fa-dashcube{--fa:""}.fa-forumbee{--fa:""}.fa-leanpub{--fa:""}.fa-sellsy{--fa:""}.fa-shirtsinbulk{--fa:""}.fa-simplybuilt{--fa:""}.fa-skyatlas{--fa:""}.fa-pinterest-p{--fa:""}.fa-whatsapp{--fa:""}.fa-viacoin{--fa:""}.fa-medium,.fa-medium-m{--fa:""}.fa-y-combinator{--fa:""}.fa-optin-monster{--fa:""}.fa-opencart{--fa:""}.fa-expeditedssl{--fa:""}.fa-cc-jcb{--fa:""}.fa-cc-diners-club{--fa:""}.fa-creative-commons{--fa:""}.fa-gg{--fa:""}.fa-gg-circle{--fa:""}.fa-odnoklassniki{--fa:""}.fa-odnoklassniki-square,.fa-square-odnoklassniki{--fa:""}.fa-get-pocket{--fa:""}.fa-wikipedia-w{--fa:""}.fa-safari{--fa:""}.fa-chrome{--fa:""}.fa-firefox{--fa:""}.fa-opera{--fa:""}.fa-internet-explorer{--fa:""}.fa-contao{--fa:""}.fa-500px{--fa:""}.fa-amazon{--fa:""}.fa-houzz{--fa:""}.fa-vimeo-v{--fa:""}.fa-black-tie{--fa:""}.fa-fonticons{--fa:""}.fa-reddit-alien{--fa:""}.fa-edge{--fa:""}.fa-codiepie{--fa:""}.fa-modx{--fa:""}.fa-fort-awesome{--fa:""}.fa-usb{--fa:""}.fa-product-hunt{--fa:""}.fa-mixcloud{--fa:""}.fa-scribd{--fa:""}.fa-bluetooth{--fa:""}.fa-bluetooth-b{--fa:""}.fa-gitlab{--fa:""}.fa-wpbeginner{--fa:""}.fa-wpforms{--fa:""}.fa-envira{--fa:""}.fa-glide{--fa:""}.fa-glide-g{--fa:""}.fa-viadeo{--fa:""}.fa-square-viadeo,.fa-viadeo-square{--fa:""}.fa-snapchat,.fa-snapchat-ghost{--fa:""}.fa-snapchat-square,.fa-square-snapchat{--fa:""}.fa-pied-piper{--fa:""}.fa-first-order{--fa:""}.fa-yoast{--fa:""}.fa-themeisle{--fa:""}.fa-google-plus{--fa:""}.fa-font-awesome,.fa-font-awesome-flag,.fa-font-awesome-logo-full{--fa:""}.fa-linode{--fa:""}.fa-quora{--fa:""}.fa-free-code-camp{--fa:""}.fa-telegram,.fa-telegram-plane{--fa:""}.fa-bandcamp{--fa:""}.fa-grav{--fa:""}.fa-etsy{--fa:""}.fa-imdb{--fa:""}.fa-ravelry{--fa:""}.fa-sellcast{--fa:""}.fa-superpowers{--fa:""}.fa-wpexplorer{--fa:""}.fa-meetup{--fa:""}.fa-font-awesome-alt,.fa-square-font-awesome-stroke{--fa:""}.fa-accessible-icon{--fa:""}.fa-accusoft{--fa:""}.fa-adversal{--fa:""}.fa-affiliatetheme{--fa:""}.fa-algolia{--fa:""}.fa-amilia{--fa:""}.fa-angrycreative{--fa:""}.fa-app-store{--fa:""}.fa-app-store-ios{--fa:""}.fa-apper{--fa:""}.fa-asymmetrik{--fa:""}.fa-audible{--fa:""}.fa-avianex{--fa:""}.fa-aws{--fa:""}.fa-bimobject{--fa:""}.fa-bitcoin{--fa:""}.fa-bity{--fa:""}.fa-blackberry{--fa:""}.fa-blogger{--fa:""}.fa-blogger-b{--fa:""}.fa-buromobelexperte{--fa:""}.fa-centercode{--fa:""}.fa-cloudscale{--fa:""}.fa-cloudsmith{--fa:""}.fa-cloudversify{--fa:""}.fa-cpanel{--fa:""}.fa-css3-alt{--fa:""}.fa-cuttlefish{--fa:""}.fa-d-and-d{--fa:""}.fa-deploydog{--fa:""}.fa-deskpro{--fa:""}.fa-digital-ocean{--fa:""}.fa-discord{--fa:""}.fa-discourse{--fa:""}.fa-dochub{--fa:""}.fa-docker{--fa:""}.fa-draft2digital{--fa:""}.fa-dribbble-square,.fa-square-dribbble{--fa:""}.fa-dyalog{--fa:""}.fa-earlybirds{--fa:""}.fa-erlang{--fa:""}.fa-facebook-f{--fa:""}.fa-facebook-messenger{--fa:""}.fa-firstdraft{--fa:""}.fa-fonticons-fi{--fa:""}.fa-fort-awesome-alt{--fa:""}.fa-freebsd{--fa:""}.fa-gitkraken{--fa:""}.fa-gofore{--fa:""}.fa-goodreads{--fa:""}.fa-goodreads-g{--fa:""}.fa-google-drive{--fa:""}.fa-google-play{--fa:""}.fa-gripfire{--fa:""}.fa-grunt{--fa:""}.fa-gulp{--fa:""}.fa-hacker-news-square,.fa-square-hacker-news{--fa:""}.fa-hire-a-helper{--fa:""}.fa-hotjar{--fa:""}.fa-hubspot{--fa:""}.fa-itunes{--fa:""}.fa-itunes-note{--fa:""}.fa-jenkins{--fa:""}.fa-joget{--fa:""}.fa-js{--fa:""}.fa-js-square,.fa-square-js{--fa:""}.fa-keycdn{--fa:""}.fa-kickstarter,.fa-square-kickstarter{--fa:""}.fa-kickstarter-k{--fa:""}.fa-laravel{--fa:""}.fa-line{--fa:""}.fa-lyft{--fa:""}.fa-magento{--fa:""}.fa-medapps{--fa:""}.fa-medrt{--fa:""}.fa-microsoft{--fa:""}.fa-mix{--fa:""}.fa-mizuni{--fa:""}.fa-monero{--fa:""}.fa-napster{--fa:""}.fa-node-js{--fa:""}.fa-npm{--fa:""}.fa-ns8{--fa:""}.fa-nutritionix{--fa:""}.fa-page4{--fa:""}.fa-palfed{--fa:""}.fa-patreon{--fa:""}.fa-periscope{--fa:""}.fa-phabricator{--fa:""}.fa-phoenix-framework{--fa:""}.fa-playstation{--fa:""}.fa-pushed{--fa:""}.fa-python{--fa:""}.fa-red-river{--fa:""}.fa-rendact,.fa-wpressr{--fa:""}.fa-replyd{--fa:""}.fa-resolving{--fa:""}.fa-rocketchat{--fa:""}.fa-rockrms{--fa:""}.fa-schlix{--fa:""}.fa-searchengin{--fa:""}.fa-servicestack{--fa:""}.fa-sistrix{--fa:""}.fa-speakap{--fa:""}.fa-staylinked{--fa:""}.fa-steam-symbol{--fa:""}.fa-sticker-mule{--fa:""}.fa-studiovinari{--fa:""}.fa-supple{--fa:""}.fa-uber{--fa:""}.fa-uikit{--fa:""}.fa-uniregistry{--fa:""}.fa-untappd{--fa:""}.fa-ussunnah{--fa:""}.fa-vaadin{--fa:""}.fa-viber{--fa:""}.fa-vimeo{--fa:""}.fa-vnv{--fa:""}.fa-square-whatsapp,.fa-whatsapp-square{--fa:""}.fa-whmcs{--fa:""}.fa-wordpress-simple{--fa:""}.fa-xbox{--fa:""}.fa-yandex{--fa:""}.fa-yandex-international{--fa:""}.fa-apple-pay{--fa:""}.fa-cc-apple-pay{--fa:""}.fa-fly{--fa:""}.fa-node{--fa:""}.fa-osi{--fa:""}.fa-react{--fa:""}.fa-autoprefixer{--fa:""}.fa-less{--fa:""}.fa-sass{--fa:""}.fa-vuejs{--fa:""}.fa-angular{--fa:""}.fa-aviato{--fa:""}.fa-ember{--fa:""}.fa-gitter{--fa:""}.fa-hooli{--fa:""}.fa-strava{--fa:""}.fa-stripe{--fa:""}.fa-stripe-s{--fa:""}.fa-typo3{--fa:""}.fa-amazon-pay{--fa:""}.fa-cc-amazon-pay{--fa:""}.fa-ethereum{--fa:""}.fa-korvue{--fa:""}.fa-elementor{--fa:""}.fa-square-youtube,.fa-youtube-square{--fa:""}.fa-flipboard{--fa:""}.fa-hips{--fa:""}.fa-php{--fa:""}.fa-quinscape{--fa:""}.fa-readme{--fa:""}.fa-java{--fa:""}.fa-pied-piper-hat{--fa:""}.fa-creative-commons-by{--fa:""}.fa-creative-commons-nc{--fa:""}.fa-creative-commons-nc-eu{--fa:""}.fa-creative-commons-nc-jp{--fa:""}.fa-creative-commons-nd{--fa:""}.fa-creative-commons-pd{--fa:""}.fa-creative-commons-pd-alt{--fa:""}.fa-creative-commons-remix{--fa:""}.fa-creative-commons-sa{--fa:""}.fa-creative-commons-sampling{--fa:""}.fa-creative-commons-sampling-plus{--fa:""}.fa-creative-commons-share{--fa:""}.fa-creative-commons-zero{--fa:""}.fa-ebay{--fa:""}.fa-keybase{--fa:""}.fa-mastodon{--fa:""}.fa-r-project{--fa:""}.fa-researchgate{--fa:""}.fa-teamspeak{--fa:""}.fa-first-order-alt{--fa:""}.fa-fulcrum{--fa:""}.fa-galactic-republic{--fa:""}.fa-galactic-senate{--fa:""}.fa-jedi-order{--fa:""}.fa-mandalorian{--fa:""}.fa-old-republic{--fa:""}.fa-phoenix-squadron{--fa:""}.fa-sith{--fa:""}.fa-trade-federation{--fa:""}.fa-wolf-pack-battalion{--fa:""}.fa-hornbill{--fa:""}.fa-mailchimp{--fa:""}.fa-megaport{--fa:""}.fa-nimblr{--fa:""}.fa-rev{--fa:""}.fa-shopware{--fa:""}.fa-squarespace{--fa:""}.fa-themeco{--fa:""}.fa-weebly{--fa:""}.fa-wix{--fa:""}.fa-ello{--fa:""}.fa-hackerrank{--fa:""}.fa-kaggle{--fa:""}.fa-markdown{--fa:""}.fa-neos{--fa:""}.fa-zhihu{--fa:""}.fa-alipay{--fa:""}.fa-the-red-yeti{--fa:""}.fa-critical-role{--fa:""}.fa-d-and-d-beyond{--fa:""}.fa-dev{--fa:""}.fa-fantasy-flight-games{--fa:""}.fa-wizards-of-the-coast{--fa:""}.fa-think-peaks{--fa:""}.fa-reacteurope{--fa:""}.fa-artstation{--fa:""}.fa-atlassian{--fa:""}.fa-canadian-maple-leaf{--fa:""}.fa-centos{--fa:""}.fa-confluence{--fa:""}.fa-dhl{--fa:""}.fa-diaspora{--fa:""}.fa-fedex{--fa:""}.fa-fedora{--fa:""}.fa-figma{--fa:""}.fa-intercom{--fa:""}.fa-invision{--fa:""}.fa-jira{--fa:""}.fa-mendeley{--fa:""}.fa-raspberry-pi{--fa:""}.fa-redhat{--fa:""}.fa-sketch{--fa:""}.fa-sourcetree{--fa:""}.fa-suse{--fa:""}.fa-ubuntu{--fa:""}.fa-ups{--fa:""}.fa-usps{--fa:""}.fa-yarn{--fa:""}.fa-airbnb{--fa:""}.fa-battle-net{--fa:""}.fa-bootstrap{--fa:""}.fa-buffer{--fa:""}.fa-chromecast{--fa:""}.fa-evernote{--fa:""}.fa-itch-io{--fa:""}.fa-salesforce{--fa:""}.fa-speaker-deck{--fa:""}.fa-symfony{--fa:""}.fa-waze{--fa:""}.fa-yammer{--fa:""}.fa-git-alt{--fa:""}.fa-stackpath{--fa:""}.fa-cotton-bureau{--fa:""}.fa-buy-n-large{--fa:""}.fa-mdb{--fa:""}.fa-orcid{--fa:""}.fa-swift{--fa:""}.fa-umbraco{--fa:""}: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(/assets/fa-regular-400-DRN8N0d1.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(/assets/fa-solid-900-IAB4Droh.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(/assets/fa-brands-400-Bs6tcqqs.woff2)format("woff2")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(/assets/fa-solid-900-IAB4Droh.woff2)format("woff2")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(/assets/fa-regular-400-DRN8N0d1.woff2)format("woff2")}@font-face{font-family:FontAwesome;font-display:block;src:url(/assets/fa-solid-900-IAB4Droh.woff2)format("woff2")}@font-face{font-family:FontAwesome;font-display:block;src:url(/assets/fa-brands-400-Bs6tcqqs.woff2)format("woff2")}@font-face{font-family:FontAwesome;font-display:block;src:url(/assets/fa-regular-400-DRN8N0d1.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(/assets/fa-v4compatibility-CErXDOsT.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}
diff --git a/TempLate/assets/index-CUry87of.js b/TempLate/assets/index-CUry87of.js
new file mode 100644
index 00000000..bc24300d
--- /dev/null
+++ b/TempLate/assets/index-CUry87of.js
@@ -0,0 +1,2 @@
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/SiteLayout-bJqyVgoV.js","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/SiteLayout-PZk_dEk9.css","assets/HomeView-BxGAqNiv.js","assets/Ying_Right-BWic5Lsp.js","assets/AboutView-B-o_IVyN.js","assets/AboutView-oUsSOYHZ.css","assets/MembersView-C4aLTWuO.js","assets/MembersView-TWAq4XJo.css","assets/IntegrityReportView-CF0mFL5h.js","assets/IntegrityReportView-CW7dAKXr.css","assets/LoginView-6s1eigcY.js","assets/LoginView-CP4jdIuW.css","assets/RegisterView-B5UdoQw7.js","assets/RegisterView-rhcQynlu.css","assets/ServiceView-qqBPM9px.js","assets/ServiceView-BM-4lmdv.css","assets/ResourceShareView-g8ZPFK6i.js","assets/ResourceShareView-C1-lVgLR.css","assets/BSmoothView-wFFs0EDU.js","assets/BSmoothView-D8Nv_ZVa.css","assets/TermiNexusView-_4hm5BLZ.js","assets/TermiNexusView-BJY9zcMD.css","assets/YuanZeView-1VrVL_R1.js","assets/YuanZeView-DerCM5zY.css","assets/CollaborativeCodingView-XPlXiD8j.js","assets/CollaborativeCodingView-DKvQ7OzR.css","assets/DocumentView-CS0MX7Pj.js","assets/DocumentView-DVJxLGqJ.css","assets/UserCardView-BS1OfWYd.js","assets/UserCardView-CMoBYk8q.css","assets/InviteIndexView-Bq4H386d.js","assets/InviteIndexView-DEzeGpCU.css","assets/ApplyView-BT2SZps1.js","assets/ApplyView-ba7JvyTo.css"])))=>i.map(i=>d[i]);
+(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();function e(e){let t=Object.create(null);for(let n of e.split(`,`))t[n]=1;return e=>e in t}var t={},n=[],r=()=>{},i=()=>!1,a=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),o=e=>e.startsWith(`onUpdate:`),s=Object.assign,c=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},l=Object.prototype.hasOwnProperty,u=(e,t)=>l.call(e,t),d=Array.isArray,f=e=>x(e)===`[object Map]`,p=e=>x(e)===`[object Set]`,m=e=>x(e)===`[object Date]`,h=e=>typeof e==`function`,g=e=>typeof e==`string`,_=e=>typeof e==`symbol`,v=e=>typeof e==`object`&&!!e,y=e=>(v(e)||h(e))&&h(e.then)&&h(e.catch),b=Object.prototype.toString,x=e=>b.call(e),S=e=>x(e).slice(8,-1),C=e=>x(e)===`[object Object]`,w=e=>g(e)&&e!==`NaN`&&e[0]!==`-`&&``+parseInt(e,10)===e,ee=e(`,key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted`),te=e=>{let t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},ne=/-\w/g,T=te(e=>e.replace(ne,e=>e.slice(1).toUpperCase())),re=/\B([A-Z])/g,E=te(e=>e.replace(re,`-$1`).toLowerCase()),D=te(e=>e.charAt(0).toUpperCase()+e.slice(1)),ie=te(e=>e?`on${D(e)}`:``),O=(e,t)=>!Object.is(e,t),ae=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},oe=e=>{let t=parseFloat(e);return isNaN(t)?e:t},se,ce=()=>se||=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{};function le(e){if(d(e)){let t={};for(let n=0;n{if(e){let n=e.split(de);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function A(e){let t=``;if(g(e))t=e;else if(d(e))for(let n=0;nj(e,t))}var ye=e=>!!(e&&e.__v_isRef===!0),be=e=>g(e)?e:e==null?``:d(e)||v(e)&&(e.toString===b||!h(e.toString))?ye(e)?be(e.value):JSON.stringify(e,xe,2):String(e),xe=(e,t)=>ye(t)?xe(e,t.value):f(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[Se(t,r)+` =>`]=n,e),{})}:p(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>Se(e))}:_(t)?Se(t):v(t)&&!d(t)&&!C(t)?String(t):t,Se=(e,t=``)=>_(e)?`Symbol(${e.description??t})`:e,M,Ce=class{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!e&&M&&(M.active?(this.parent=M,this.index=(M.scopes||(M.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,t;if(this.scopes){let n=this.scopes.slice();for(e=0,t=n.length;e0&&--this._on===0){if(M===this)M=this.prevScope;else{let e=M;for(;e;){if(e.prevScope===this){e.prevScope=this.prevScope;break}e=e.prevScope}}this.prevScope=void 0}}stop(e){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t0)return;if(je){let e=je;for(je=void 0;e;){let t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;Ae;){let t=Ae;for(Ae=void 0;t;){let n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(t){e||=t}t=n}}if(e)throw e}function Fe(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Ie(e){let t,n=e.depsTail,r=n;for(;r;){let e=r.prevDep;r.version===-1?(r===n&&(n=e),ze(r),Be(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=e}e.deps=t,e.depsTail=n}function Le(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Re(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Re(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Ge)||(e.globalVersion=Ge,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Le(e))))return;e.flags|=2;let t=e.dep,n=N,r=P;N=e,P=!0;try{Fe(e);let n=e.fn(e._value);(t.version===0||O(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(e){throw t.version++,e}finally{N=n,P=r,Ie(e),e.flags&=-3}}function ze(e,t=!1){let{dep:n,prevSub:r,nextSub:i}=e;if(r&&(r.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)ze(e,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Be(e){let{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}var P=!0,Ve=[];function He(){Ve.push(P),P=!1}function Ue(){let e=Ve.pop();P=e===void 0||e}function We(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=N;N=void 0;try{t()}finally{N=e}}}var Ge=0,Ke=class{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},qe=class{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!N||!P||N===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==N)t=this.activeLink=new Ke(N,this),N.deps?(t.prevDep=N.depsTail,N.depsTail.nextDep=t,N.depsTail=t):N.deps=N.depsTail=t,Je(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){let e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=N.depsTail,t.nextDep=void 0,N.depsTail.nextDep=t,N.depsTail=t,N.deps===t&&(N.deps=e)}return t}trigger(e){this.version++,Ge++,this.notify(e)}notify(e){Ne();try{for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{Pe()}}};function Je(e){if(e.dep.sc++,e.sub.flags&4){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)Je(e)}let n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}var Ye=new WeakMap,Xe=Symbol(``),Ze=Symbol(``),Qe=Symbol(``);function F(e,t,n){if(P&&N){let t=Ye.get(e);t||Ye.set(e,t=new Map);let r=t.get(n);r||(t.set(n,r=new qe),r.map=t,r.key=n),r.track()}}function $e(e,t,n,r,i,a){let o=Ye.get(e);if(!o){Ge++;return}let s=e=>{e&&e.trigger()};if(Ne(),t===`clear`)o.forEach(s);else{let i=d(e),a=i&&w(n);if(i&&n===`length`){let e=Number(r);o.forEach((t,n)=>{(n===`length`||n===Qe||!_(n)&&n>=e)&&s(t)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),a&&s(o.get(Qe)),t){case`add`:i?a&&s(o.get(`length`)):(s(o.get(Xe)),f(e)&&s(o.get(Ze)));break;case`delete`:i||(s(o.get(Xe)),f(e)&&s(o.get(Ze)));break;case`set`:f(e)&&s(o.get(Xe))}}Pe()}function et(e,t){let n=Ye.get(e);return n&&n.get(t)}function tt(e){let t=L(e);return t===e?t:(F(t,`iterate`,Qe),I(e)?t:t.map(R))}function nt(e){return F(e=L(e),`iterate`,Qe),e}function rt(e,t){return zt(e)?Ht(Rt(e)?R(t):t):R(t)}var it={__proto__:null,[Symbol.iterator](){return at(this,Symbol.iterator,e=>rt(this,e))},concat(...e){return tt(this).concat(...e.map(e=>d(e)?tt(e):e))},entries(){return at(this,`entries`,e=>(e[1]=rt(this,e[1]),e))},every(e,t){return st(this,`every`,e,t,void 0,arguments)},filter(e,t){return st(this,`filter`,e,t,e=>e.map(e=>rt(this,e)),arguments)},find(e,t){return st(this,`find`,e,t,e=>rt(this,e),arguments)},findIndex(e,t){return st(this,`findIndex`,e,t,void 0,arguments)},findLast(e,t){return st(this,`findLast`,e,t,e=>rt(this,e),arguments)},findLastIndex(e,t){return st(this,`findLastIndex`,e,t,void 0,arguments)},forEach(e,t){return st(this,`forEach`,e,t,void 0,arguments)},includes(...e){return lt(this,`includes`,e)},indexOf(...e){return lt(this,`indexOf`,e)},join(e){return tt(this).join(e)},lastIndexOf(...e){return lt(this,`lastIndexOf`,e)},map(e,t){return st(this,`map`,e,t,void 0,arguments)},pop(){return ut(this,`pop`)},push(...e){return ut(this,`push`,e)},reduce(e,...t){return ct(this,`reduce`,e,t)},reduceRight(e,...t){return ct(this,`reduceRight`,e,t)},shift(){return ut(this,`shift`)},some(e,t){return st(this,`some`,e,t,void 0,arguments)},splice(...e){return ut(this,`splice`,e)},toReversed(){return tt(this).toReversed()},toSorted(e){return tt(this).toSorted(e)},toSpliced(...e){return tt(this).toSpliced(...e)},unshift(...e){return ut(this,`unshift`,e)},values(){return at(this,`values`,e=>rt(this,e))}};function at(e,t,n){let r=nt(e),i=r[t]();return r!==e&&!I(e)&&(i._next=i.next,i.next=()=>{let e=i._next();return e.done||(e.value=n(e.value)),e}),i}var ot=Array.prototype;function st(e,t,n,r,i,a){let o=nt(e),s=o!==e&&!I(e),c=o[t];if(c!==ot[t]){let t=c.apply(e,a);return s?R(t):t}let l=n;o!==e&&(s?l=function(t,r){return n.call(this,rt(e,t),r,e)}:n.length>2&&(l=function(t,r){return n.call(this,t,r,e)}));let u=c.call(o,l,r);return s&&i?i(u):u}function ct(e,t,n,r){let i=nt(e),a=i!==e&&!I(e),o=n,s=!1;i!==e&&(a?(s=r.length===0,o=function(t,r,i){return s&&(s=!1,t=rt(e,t)),n.call(this,t,rt(e,r),i,e)}):n.length>3&&(o=function(t,r,i){return n.call(this,t,r,i,e)}));let c=i[t](o,...r);return s?rt(e,c):c}function lt(e,t,n){let r=L(e);F(r,`iterate`,Qe);let i=r[t](...n);return(i===-1||i===!1)&&Bt(n[0])?(n[0]=L(n[0]),r[t](...n)):i}function ut(e,t,n=[]){He(),Ne();let r=L(e)[t].apply(e,n);return Pe(),Ue(),r}var dt=e(`__proto__,__v_isRef,__isVue`),ft=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!==`arguments`&&e!==`caller`).map(e=>Symbol[e]).filter(_));function pt(e){_(e)||(e=String(e));let t=L(this);return F(t,`has`,e),t.hasOwnProperty(e)}var mt=class{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if(t===`__v_skip`)return e.__v_skip;let r=this._isReadonly,i=this._isShallow;if(t===`__v_isReactive`)return!r;if(t===`__v_isReadonly`)return r;if(t===`__v_isShallow`)return i;if(t===`__v_raw`)return n===(r?i?Mt:jt:i?At:kt).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let a=d(e);if(!r){let e;if(a&&(e=it[t]))return e;if(t===`hasOwnProperty`)return pt}let o=Reflect.get(e,t,z(e)?e:n);if((_(t)?ft.has(t):dt(t))||(r||F(e,`get`,t),i))return o;if(z(o)){let e=a&&w(t)?o:o.value;return r&&v(e)?It(e):e}return v(o)?r?It(o):Pt(o):o}},ht=class extends mt{constructor(e=!1){super(!1,e)}set(e,t,n,r){let i=e[t],a=d(e)&&w(t);if(!this._isShallow){let e=zt(i);if(!I(n)&&!zt(n)&&(i=L(i),n=L(n)),!a&&z(i)&&!z(n))return e||(i.value=n),!0}let o=a?Number(t)e,xt=e=>Reflect.getPrototypeOf(e);function St(e,t,n){return function(...r){let i=this.__v_raw,a=L(i),o=f(a),c=e===`entries`||e===Symbol.iterator&&o,l=e===`keys`&&o,u=i[e](...r),d=n?bt:t?Ht:R;return!t&&F(a,`iterate`,l?Ze:Xe),s(Object.create(u),{next(){let{value:e,done:t}=u.next();return t?{value:e,done:t}:{value:c?[d(e[0]),d(e[1])]:d(e),done:t}}})}}function Ct(e){return function(...t){return e===`delete`?!1:e===`clear`?void 0:this}}function wt(e,t){let n={get(n){let r=this.__v_raw,i=L(r),a=L(n);e||(O(n,a)&&F(i,`get`,n),F(i,`get`,a));let{has:o}=xt(i),s=t?bt:e?Ht:R;if(o.call(i,n))return s(r.get(n));if(o.call(i,a))return s(r.get(a));r!==i&&r.get(n)},get size(){let t=this.__v_raw;return!e&&F(L(t),`iterate`,Xe),t.size},has(t){let n=this.__v_raw,r=L(n),i=L(t);return e||(O(t,i)&&F(r,`has`,t),F(r,`has`,i)),t===i?n.has(t):n.has(t)||n.has(i)},forEach(n,r){let i=this,a=i.__v_raw,o=L(a),s=t?bt:e?Ht:R;return!e&&F(o,`iterate`,Xe),a.forEach((e,t)=>n.call(r,s(e),s(t),i))}};return s(n,e?{add:Ct(`add`),set:Ct(`set`),delete:Ct(`delete`),clear:Ct(`clear`)}:{add(e){let n=L(this),r=xt(n),i=L(e),a=!t&&!I(e)&&!zt(e)?i:e;return r.has.call(n,a)||O(e,a)&&r.has.call(n,e)||O(i,a)&&r.has.call(n,i)||(n.add(a),$e(n,`add`,a,a)),this},set(e,n){!t&&!I(n)&&!zt(n)&&(n=L(n));let r=L(this),{has:i,get:a}=xt(r),o=i.call(r,e);o||=(e=L(e),i.call(r,e));let s=a.call(r,e);return r.set(e,n),o?O(n,s)&&$e(r,`set`,e,n,s):$e(r,`add`,e,n),this},delete(e){let t=L(this),{has:n,get:r}=xt(t),i=n.call(t,e);i||=(e=L(e),n.call(t,e));let a=r?r.call(t,e):void 0,o=t.delete(e);return i&&$e(t,`delete`,e,void 0,a),o},clear(){let e=L(this),t=e.size!==0,n=e.clear();return t&&$e(e,`clear`,void 0,void 0,void 0),n}}),[`keys`,`values`,`entries`,Symbol.iterator].forEach(r=>{n[r]=St(r,e,t)}),n}function Tt(e,t){let n=wt(e,t);return(t,r,i)=>r===`__v_isReactive`?!e:r===`__v_isReadonly`?e:r===`__v_raw`?t:Reflect.get(u(n,r)&&r in t?n:t,r,i)}var Et={get:Tt(!1,!1)},Dt={get:Tt(!1,!0)},Ot={get:Tt(!0,!1)},kt=new WeakMap,At=new WeakMap,jt=new WeakMap,Mt=new WeakMap;function Nt(e){switch(e){case`Object`:case`Array`:return 1;case`Map`:case`Set`:case`WeakMap`:case`WeakSet`:return 2;default:return 0}}function Pt(e){return zt(e)?e:Lt(e,!1,_t,Et,kt)}function Ft(e){return Lt(e,!1,yt,Dt,At)}function It(e){return Lt(e,!0,vt,Ot,jt)}function Lt(e,t,n,r,i){if(!v(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;let a=i.get(e);if(a)return a;let o=Nt(S(e));if(o===0)return e;let s=new Proxy(e,o===2?r:n);return i.set(e,s),s}function Rt(e){return zt(e)?Rt(e.__v_raw):!!(e&&e.__v_isReactive)}function zt(e){return!!(e&&e.__v_isReadonly)}function I(e){return!!(e&&e.__v_isShallow)}function Bt(e){return e?!!e.__v_raw:!1}function L(e){let t=e&&e.__v_raw;return t?L(t):e}function Vt(e){return!u(e,`__v_skip`)&&Object.isExtensible(e)&&k(e,`__v_skip`,!0),e}var R=e=>v(e)?Pt(e):e,Ht=e=>v(e)?It(e):e;function z(e){return e?e.__v_isRef===!0:!1}function Ut(e){return Gt(e,!1)}function Wt(e){return Gt(e,!0)}function Gt(e,t){return z(e)?e:new Kt(e,t)}var Kt=class{constructor(e,t){this.dep=new qe,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:L(e),this._value=t?e:R(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){let t=this._rawValue,n=this.__v_isShallow||I(e)||zt(e);e=n?e:L(e),O(e,t)&&(this._rawValue=e,this._value=n?e:R(e),this.dep.trigger())}};function qt(e){return z(e)?e.value:e}var Jt={get:(e,t,n)=>t===`__v_raw`?e:qt(Reflect.get(e,t,n)),set:(e,t,n,r)=>{let i=e[t];return z(i)&&!z(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function Yt(e){return Rt(e)?e:new Proxy(e,Jt)}function Xt(e){let t=d(e)?Array(e.length):{};for(let n in e)t[n]=Qt(e,n);return t}var Zt=class{constructor(e,t,n){this._object=e,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=_(t)?t:String(t),this._raw=L(e);let r=!0,i=e;if(!d(e)||_(this._key)||!w(this._key))do r=!Bt(i)||I(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let e=this._object[this._key];return this._shallow&&(e=qt(e)),this._value=e===void 0?this._defaultValue:e}set value(e){if(this._shallow&&z(this._raw[this._key])){let t=this._object[this._key];if(z(t)){t.value=e;return}}this._object[this._key]=e}get dep(){return et(this._raw,this._key)}};function Qt(e,t,n){return new Zt(e,t,n)}var $t=class{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new qe(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Ge-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&N!==this)return Me(this,!0),!0}get value(){let e=this.dep.track();return Re(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}};function en(e,t,n=!1){let r,i;return h(e)?r=e:(r=e.get,i=e.set),new $t(r,i,n)}var tn={},nn=new WeakMap,rn=void 0;function an(e,t=!1,n=rn){if(n){let t=nn.get(n);t||nn.set(n,t=[]),t.push(e)}}function on(e,n,i=t){let{immediate:a,deep:o,once:s,scheduler:l,augmentJob:u,call:f}=i,p=e=>o?e:I(e)||o===!1||o===0?sn(e,1):sn(e),m,g,_,v,y=!1,b=!1;if(z(e)?(g=()=>e.value,y=I(e)):Rt(e)?(g=()=>p(e),y=!0):d(e)?(b=!0,y=e.some(e=>Rt(e)||I(e)),g=()=>e.map(e=>{if(z(e))return e.value;if(Rt(e))return p(e);if(h(e))return f?f(e,2):e()})):g=h(e)?n?f?()=>f(e,2):e:()=>{if(_){He();try{_()}finally{Ue()}}let t=rn;rn=m;try{return f?f(e,3,[v]):e(v)}finally{rn=t}}:r,n&&o){let e=g,t=o===!0?1/0:o;g=()=>sn(e(),t)}let x=Te(),S=()=>{m.stop(),x&&x.active&&c(x.effects,m)};if(s&&n){let e=n;n=(...t)=>{let n=e(...t);return S(),n}}let C=b?Array(e.length).fill(tn):tn,w=e=>{if(!(!(m.flags&1)||!m.dirty&&!e))if(n){let t=m.run();if(e||o||y||(b?t.some((e,t)=>O(e,C[t])):O(t,C))){_&&_();let e=rn;rn=m;try{let e=[t,C===tn?void 0:b&&C[0]===tn?[]:C,v];C=t,f?f(n,3,e):n(...e)}finally{rn=e}}}else m.run()};return u&&u(w),m=new Oe(g),m.scheduler=l?()=>l(w,!1):w,v=e=>an(e,!1,m),_=m.onStop=()=>{let e=nn.get(m);if(e){if(f)f(e,4);else for(let t of e)t();nn.delete(m)}},n?a?w(!0):C=m.run():l?l(w.bind(null,!0),!0):m.run(),S.pause=m.pause.bind(m),S.resume=m.resume.bind(m),S.stop=S,S}function sn(e,t=1/0,n){if(t<=0||!v(e)||e.__v_skip||(n||=new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,z(e))sn(e.value,t,n);else if(d(e))for(let r=0;r{sn(e,t,n)});else if(C(e)){for(let r in e)sn(e[r],t,n);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&sn(e[r],t,n)}return e}function cn(e,t,n,r){try{return r?e(...r):e()}catch(e){ln(e,t,n)}}function B(e,t,n,r){if(h(e)){let i=cn(e,t,n,r);return i&&y(i)&&i.catch(e=>{ln(e,t,n)}),i}if(d(e)){let i=[];for(let a=0;a>>1,i=V[r],a=wn(i);a=wn(n)?V.push(e):V.splice(vn(t),0,e),e.flags|=1,bn()}}function bn(){gn||=hn.then(Tn)}function xn(e){d(e)?fn.push(...e):pn&&e.id===-1?pn.splice(mn+1,0,e):e.flags&1||(fn.push(e),e.flags|=1),bn()}function Sn(e,t,n=dn+1){for(;nwn(e)-wn(t));if(fn.length=0,pn){pn.push(...e);return}for(pn=e,mn=0;mne.id==null?e.flags&2?-1:1/0:e.id;function Tn(e){try{for(dn=0;dn{r._d&&Ri(-1);let i=Dn(t),a=Pi.length,o;try{o=e(...n)}finally{for(let e=Pi.length;e>a;e--)Ii();Dn(i),r._d&&Ri(1)}return o};return r._n=!0,r._c=!0,r._d=!0,r}function kn(e,n){if(H===null)return e;let r=Sa(H),i=e.dirs||=[];for(let e=0;e1)return n&&h(t)?t.call(r&&r.proxy):t}}function Mn(){return!!(sa()||Vr)}var Nn=Symbol.for(`v-scx`),Pn=()=>U(Nn);function Fn(e,t,n){return In(e,t,n)}function In(e,n,i=t){let{immediate:a,deep:o,flush:c,once:l}=i,u=s({},i),d=n&&a||!n&&c!==`post`,f;if(pa){if(c===`sync`){let e=Pn();f=e.__watcherHandles||=[]}else if(!d){let e=()=>{};return e.stop=r,e.resume=r,e.pause=r,e}}let p=J;u.call=(e,t,n)=>B(e,p,t,n);let m=!1;c===`post`?u.scheduler=e=>{G(e,p&&p.suspense)}:c!==`sync`&&(m=!0,u.scheduler=(e,t)=>{t?e():yn(e)}),u.augmentJob=e=>{n&&(e.flags|=4),m&&(e.flags|=2,p&&(e.id=p.uid,e.i=p))};let h=on(e,n,u);return pa&&(f?f.push(h):d&&h()),h}function Ln(e,t,n){let r=this.proxy,i=g(e)?e.includes(`.`)?Rn(r,e):()=>r[e]:e.bind(r,r),a;h(t)?a=t:(a=t.handler,n=t);let o=ua(this),s=In(i,a.bind(r),n);return o(),s}function Rn(e,t){let n=t.split(`.`);return()=>{let t=e;for(let e=0;ee.__isTeleport,Vn=Symbol(`_leaveCb`);function Hn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Hn(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Un(e,t){return h(e)?s({name:e.name},t,{setup:e}):e}function Wn(e){e.ids=[e.ids[0]+e.ids[2]+++`-`,0,0]}function Gn(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}var Kn=new WeakMap;function qn(e,n,r,a,o=!1){if(d(e)){e.forEach((e,t)=>qn(e,n&&(d(n)?n[t]:n),r,a,o));return}if(Yn(a)&&!o){a.shapeFlag&512&&a.type.__asyncResolved&&a.component.subTree.component&&qn(e,n,r,a.component.subTree);return}let s=a.shapeFlag&4?Sa(a.component):a.el,l=o?null:s,{i:f,r:p}=e,m=n&&n.r,_=f.refs===t?f.refs={}:f.refs,v=f.setupState,y=L(v),b=v===t?i:e=>!Gn(_,e)&&u(y,e),x=(e,t)=>!(t&&Gn(_,t));if(m!=null&&m!==p){if(Jn(n),g(m))_[m]=null,b(m)&&(v[m]=null);else if(z(m)){let e=n;x(m,e.k)&&(m.value=null),e.k&&(_[e.k]=null)}}if(h(p))cn(p,f,12,[l,_]);else{let t=g(p),n=z(p);if(t||n){let i=()=>{if(e.f){let n=t?b(p)?v[p]:_[p]:x(p)||!e.k?p.value:_[e.k];if(o)d(n)&&c(n,s);else if(d(n))n.includes(s)||n.push(s);else if(t)_[p]=[s],b(p)&&(v[p]=_[p]);else{let t=[s];x(p,e.k)&&(p.value=t),e.k&&(_[e.k]=t)}}else t?(_[p]=l,b(p)&&(v[p]=l)):n&&(x(p,e.k)&&(p.value=l),e.k&&(_[e.k]=l))};if(l){let t=()=>{i(),Kn.delete(e)};t.id=-1,Kn.set(e,t),G(t,r)}else Jn(e),i()}}}function Jn(e){let t=Kn.get(e);t&&(t.flags|=8,Kn.delete(e))}ce().requestIdleCallback,ce().cancelIdleCallback;var Yn=e=>!!e.type.__asyncLoader,Xn=e=>e.type.__isKeepAlive;function Zn(e,t){$n(e,`a`,t)}function Qn(e,t){$n(e,`da`,t)}function $n(e,t,n=J){let r=e.__wdc||=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()};if(tr(t,r,n),n){let e=n.parent;for(;e&&e.parent;)Xn(e.parent.vnode)&&er(r,t,n,e),e=e.parent}}function er(e,t,n,r){let i=tr(t,e,r,!0);cr(()=>{c(r[t],i)},n)}function tr(e,t,n=J,r=!1){if(n){let i=n[e]||(n[e]=[]),a=t.__weh||=(...r)=>{He();let i=ua(n),a=B(t,n,e,r);return i(),Ue(),a};return r?i.unshift(a):i.push(a),a}}var nr=e=>(t,n=J)=>{(!pa||e===`sp`)&&tr(e,(...e)=>t(...e),n)},rr=nr(`bm`),ir=nr(`m`),ar=nr(`bu`),or=nr(`u`),sr=nr(`bum`),cr=nr(`um`),lr=nr(`sp`),ur=nr(`rtg`),dr=nr(`rtc`);function fr(e,t=J){tr(`ec`,e,t)}var pr=`components`;function mr(e,t){return gr(pr,e,!0,t)||e}var hr=Symbol.for(`v-ndc`);function gr(e,t,n=!0,r=!1){let i=H||J;if(i){let n=i.type;if(e===pr){let e=Ca(n,!1);if(e&&(e===t||e===T(t)||e===D(T(t))))return n}let a=_r(i[e]||n[e],t)||_r(i.appContext[e],t);return!a&&r?n:a}}function _r(e,t){return e&&(e[t]||e[T(t)]||e[D(T(t))])}function vr(e,t,n,r){let i,a=n&&n[r],o=d(e);if(o||g(e)){let n=o&&Rt(e),r=!1,s=!1;n&&(r=!I(e),s=zt(e),e=nt(e)),i=Array(e.length);for(let n=0,o=e.length;nt(e,n,void 0,a&&a[n]));else{let n=Object.keys(e);i=Array(n.length);for(let r=0,o=n.length;re?fa(e)?Sa(e):yr(e.parent):null,br=s(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>yr(e.parent),$root:e=>yr(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>kr(e),$forceUpdate:e=>e.f||=()=>{yn(e.update)},$nextTick:e=>e.n||=_n.bind(e.proxy),$watch:e=>Ln.bind(e)}),xr=(e,n)=>e!==t&&!e.__isScriptSetup&&u(e,n),Sr={get({_:e},n){if(n===`__v_skip`)return!0;let{ctx:r,setupState:i,data:a,props:o,accessCache:s,type:c,appContext:l}=e;if(n[0]!==`$`){let e=s[n];if(e!==void 0)switch(e){case 1:return i[n];case 2:return a[n];case 4:return r[n];case 3:return o[n]}else if(xr(i,n))return s[n]=1,i[n];else if(a!==t&&u(a,n))return s[n]=2,a[n];else if(u(o,n))return s[n]=3,o[n];else if(r!==t&&u(r,n))return s[n]=4,r[n];else wr&&(s[n]=0)}let d=br[n],f,p;if(d)return n===`$attrs`&&F(e.attrs,`get`,``),d(e);if((f=c.__cssModules)&&(f=f[n]))return f;if(r!==t&&u(r,n))return s[n]=4,r[n];if(p=l.config.globalProperties,u(p,n))return p[n]},set({_:e},n,r){let{data:i,setupState:a,ctx:o}=e;return xr(a,n)?(a[n]=r,!0):i!==t&&u(i,n)?(i[n]=r,!0):u(e.props,n)||n[0]===`$`&&n.slice(1)in e?!1:(o[n]=r,!0)},has({_:{data:e,setupState:n,accessCache:r,ctx:i,appContext:a,props:o,type:s}},c){let l;return!!(r[c]||e!==t&&c[0]!==`$`&&u(e,c)||xr(n,c)||u(o,c)||u(i,c)||u(br,c)||u(a.config.globalProperties,c)||(l=s.__cssModules)&&l[c])},defineProperty(e,t,n){return n.get==null?u(n,`value`)&&this.set(e,t,n.value,null):e._.accessCache[t]=0,Reflect.defineProperty(e,t,n)}};function Cr(e){return d(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}var wr=!0;function Tr(e){let t=kr(e),n=e.proxy,i=e.ctx;wr=!1,t.beforeCreate&&Dr(t.beforeCreate,e,`bc`);let{data:a,computed:o,methods:s,watch:c,provide:l,inject:u,created:f,beforeMount:p,mounted:m,beforeUpdate:g,updated:_,activated:y,deactivated:b,beforeDestroy:x,beforeUnmount:S,destroyed:C,unmounted:w,render:ee,renderTracked:te,renderTriggered:ne,errorCaptured:T,serverPrefetch:re,expose:E,inheritAttrs:D,components:ie,directives:O,filters:ae}=t;if(u&&Er(u,i,null),s)for(let e in s){let t=s[e];h(t)&&(i[e]=t.bind(n))}if(a){let t=a.call(n,n);v(t)&&(e.data=Pt(t))}if(wr=!0,o)for(let e in o){let t=o[e],a=Y({get:h(t)?t.bind(n,n):h(t.get)?t.get.bind(n,n):r,set:!h(t)&&h(t.set)?t.set.bind(n):r});Object.defineProperty(i,e,{enumerable:!0,configurable:!0,get:()=>a.value,set:e=>a.value=e})}if(c)for(let e in c)Or(c[e],i,n,e);if(l){let e=h(l)?l.call(n):l;Reflect.ownKeys(e).forEach(t=>{jn(t,e[t])})}f&&Dr(f,e,`c`);function k(e,t){d(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(k(rr,p),k(ir,m),k(ar,g),k(or,_),k(Zn,y),k(Qn,b),k(fr,T),k(dr,te),k(ur,ne),k(sr,S),k(cr,w),k(lr,re),d(E))if(E.length){let t=e.exposed||={};E.forEach(e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t,enumerable:!0})})}else e.exposed||={};ee&&e.render===r&&(e.render=ee),D!=null&&(e.inheritAttrs=D),ie&&(e.components=ie),O&&(e.directives=O),re&&Wn(e)}function Er(e,t,n=r){d(e)&&(e=Pr(e));for(let n in e){let r=e[n],i;i=v(r)?`default`in r?U(r.from||n,r.default,!0):U(r.from||n):U(r),z(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e}):t[n]=i}}function Dr(e,t,n){B(d(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function Or(e,t,n,r){let i=r.includes(`.`)?Rn(n,r):()=>n[r];if(g(e)){let n=t[e];h(n)&&Fn(i,n)}else if(h(e))Fn(i,e.bind(n));else if(v(e))if(d(e))e.forEach(e=>Or(e,t,n,r));else{let r=h(e.handler)?e.handler.bind(n):t[e.handler];h(r)&&Fn(i,r,e)}}function kr(e){let t=e.type,{mixins:n,extends:r}=t,{mixins:i,optionsCache:a,config:{optionMergeStrategies:o}}=e.appContext,s=a.get(t),c;return s?c=s:!i.length&&!n&&!r?c=t:(c={},i.length&&i.forEach(e=>Ar(c,e,o,!0)),Ar(c,t,o)),v(t)&&a.set(t,c),c}function Ar(e,t,n,r=!1){let{mixins:i,extends:a}=t;a&&Ar(e,a,n,!0),i&&i.forEach(t=>Ar(e,t,n,!0));for(let i in t)if(!(r&&i===`expose`)){let r=jr[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}var jr={data:Mr,props:Ir,emits:Ir,methods:Fr,computed:Fr,beforeCreate:W,created:W,beforeMount:W,mounted:W,beforeUpdate:W,updated:W,beforeDestroy:W,beforeUnmount:W,destroyed:W,unmounted:W,activated:W,deactivated:W,errorCaptured:W,serverPrefetch:W,components:Fr,directives:Fr,watch:Lr,provide:Mr,inject:Nr};function Mr(e,t){return t?e?function(){return s(h(e)?e.call(this,this):e,h(t)?t.call(this,this):t)}:t:e}function Nr(e,t){return Fr(Pr(e),Pr(t))}function Pr(e){if(d(e)){let t={};for(let n=0;nt===`modelValue`||t===`model-value`?e.modelModifiers:e[`${t}Modifiers`]||e[`${T(t)}Modifiers`]||e[`${E(t)}Modifiers`];function Ur(e,n,...r){if(e.isUnmounted)return;let i=e.vnode.props||t,a=r,o=n.startsWith(`update:`),s=o&&Hr(i,n.slice(7));s&&(s.trim&&(a=r.map(e=>g(e)?e.trim():e)),s.number&&(a=r.map(oe)));let c,l=i[c=ie(n)]||i[c=ie(T(n))];!l&&o&&(l=i[c=ie(E(n))]),l&&B(l,e,6,a);let u=i[c+`Once`];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,B(u,e,6,a)}}var Wr=new WeakMap;function Gr(e,t,n=!1){let r=n?Wr:t.emitsCache,i=r.get(e);if(i!==void 0)return i;let a=e.emits,o={},c=!1;if(!h(e)){let r=e=>{let n=Gr(e,t,!0);n&&(c=!0,s(o,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return!a&&!c?(v(e)&&r.set(e,null),null):(d(a)?a.forEach(e=>o[e]=null):s(o,a),v(e)&&r.set(e,o),o)}function Kr(e,t){return!e||!a(t)?!1:(t=t.slice(2),t=t===`Once`?t:t.replace(/Once$/,``),u(e,t[0].toLowerCase()+t.slice(1))||u(e,E(t))||u(e,t))}function qr(e){let{type:t,vnode:n,proxy:r,withProxy:i,propsOptions:[a],slots:s,attrs:c,emit:l,render:u,renderCache:d,props:f,data:p,setupState:m,ctx:h,inheritAttrs:g}=e,_=Dn(e),v,y;try{if(n.shapeFlag&4){let e=i||r,t=e;v=$i(u.call(t,e,d,f,m,p,h)),y=c}else{let e=t;v=$i(e.length>1?e(f,{attrs:c,slots:s,emit:l}):e(f,null)),y=t.props?c:Jr(c)}}catch(t){Pi.length=0,ln(t,e,1),v=q(Mi)}let b=v;if(y&&g!==!1){let e=Object.keys(y),{shapeFlag:t}=b;e.length&&t&7&&(a&&e.some(o)&&(y=Yr(y,a)),b=Yi(b,y,!1,!0))}return n.dirs&&(b=Yi(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&Hn(b,n.transition),v=b,Dn(_),v}var Jr=e=>{let t;for(let n in e)(n===`class`||n===`style`||a(n))&&((t||={})[n]=e[n]);return t},Yr=(e,t)=>{let n={};for(let r in e)(!o(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Xr(e,t,n){let{props:r,children:i,component:a}=e,{props:o,children:s,patchFlag:c}=t,l=a.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?Zr(r,o,l):!!o;if(c&8){let e=t.dynamicProps;for(let t=0;tObject.create(ei),ni=e=>Object.getPrototypeOf(e)===ei;function ri(e,t,n,r=!1){let i={},a=ti();e.propsDefaults=Object.create(null),ai(e,t,i,a);for(let t in e.propsOptions[0])t in i||(i[t]=void 0);e.props=n?r?i:Ft(i):e.type.props?i:a,e.attrs=a}function ii(e,t,n,r){let{props:i,attrs:a,vnode:{patchFlag:o}}=e,s=L(i),[c]=e.propsOptions,l=!1;if((r||o>0)&&!(o&16)){if(o&8){let n=e.vnode.dynamicProps;for(let r=0;r{p=!0;let[t,n]=ci(e,r,!0);s(l,t),n&&f.push(...n)};!i&&r.mixins.length&&r.mixins.forEach(t),e.extends&&t(e.extends),e.mixins&&e.mixins.forEach(t)}if(!c&&!p)return v(e)&&a.set(e,n),n;if(d(c))for(let e=0;ee===`_`||e===`_ctx`||e===`$stable`,di=e=>d(e)?e.map($i):[$i(e)],fi=(e,t,n)=>{if(t._n)return t;let r=On((...e)=>di(t(...e)),n);return r._c=!1,r},pi=(e,t,n)=>{let r=e._ctx;for(let n in e){if(ui(n))continue;let i=e[n];if(h(i))t[n]=fi(n,i,r);else if(i!=null){let e=di(i);t[n]=()=>e}}},mi=(e,t)=>{let n=di(t);e.slots.default=()=>n},hi=(e,t,n)=>{for(let r in t)(n||!ui(r))&&(e[r]=t[r])},gi=(e,t,n)=>{let r=e.slots=ti();if(e.vnode.shapeFlag&32){let e=t._;e?(hi(r,t,n),n&&k(r,`_`,e,!0)):pi(t,r)}else t&&mi(e,t)},_i=(e,n,r)=>{let{vnode:i,slots:a}=e,o=!0,s=t;if(i.shapeFlag&32){let e=n._;e?r&&e===1?o=!1:hi(a,n,r):(o=!n.$stable,pi(n,a)),s=n}else n&&(mi(e,n),s={default:1});if(o)for(let e in a)!ui(e)&&s[e]==null&&delete a[e]},G=ki;function vi(e){return yi(e)}function yi(e,i){let a=ce();a.__VUE__=!0;let{insert:o,remove:s,patchProp:c,createElement:l,createText:u,createComment:d,setText:f,setElementText:p,parentNode:m,nextSibling:h,setScopeId:g=r,insertStaticContent:_}=e,v=(e,t,n,r=null,i=null,a=null,o=void 0,s=null,c=!!t.dynamicChildren)=>{if(e===t)return;e&&!Ui(e,t)&&(r=j(e),A(e,i,a,!0),e=null),t.patchFlag===-2&&(c=!1,t.dynamicChildren=null);let{type:l,ref:u,shapeFlag:d}=t;switch(l){case ji:y(e,t,n,r);break;case Mi:b(e,t,n,r);break;case Ni:e??x(t,n,r,o);break;case Ai:ie(e,t,n,r,i,a,o,s,c);break;default:d&1?w(e,t,n,r,i,a,o,s,c):d&6?O(e,t,n,r,i,a,o,s,c):(d&64||d&128)&&l.process(e,t,n,r,i,a,o,s,c,be)}u!=null&&i?qn(u,e&&e.ref,a,t||e,!t):u==null&&e&&e.ref!=null&&qn(e.ref,null,a,e,!0)},y=(e,t,n,r)=>{if(e==null)o(t.el=u(t.children),n,r);else{let n=t.el=e.el;t.children!==e.children&&f(n,t.children)}},b=(e,t,n,r)=>{e==null?o(t.el=d(t.children||``),n,r):t.el=e.el},x=(e,t,n,r)=>{[e.el,e.anchor]=_(e.children,t,n,r,e.el,e.anchor)},S=({el:e,anchor:t},n,r)=>{let i;for(;e&&e!==t;)i=h(e),o(e,n,r),e=i;o(t,n,r)},C=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=h(e),s(e),e=n;s(t)},w=(e,t,n,r,i,a,o,s,c)=>{if(t.type===`svg`?o=`svg`:t.type===`math`&&(o=`mathml`),e==null)te(t,n,r,i,a,o,s,c);else{let n=e.el&&e.el._isVueCE?e.el:null;try{n&&n._beginPatch(),re(e,t,i,a,o,s,c)}finally{n&&n._endPatch()}}},te=(e,t,n,r,i,a,s,u)=>{let d,f,{props:m,shapeFlag:h,transition:g,dirs:_}=e;if(d=e.el=l(e.type,a,m&&m.is,m),h&8?p(d,e.children):h&16&&T(e.children,d,null,r,i,bi(e,a),s,u),_&&An(e,null,r,`created`),ne(d,e,e.scopeId,s,r),m){for(let e in m)e!==`value`&&!ee(e)&&c(d,e,null,m[e],a,r);`value`in m&&c(d,`value`,null,m.value,a),(f=m.onVnodeBeforeMount)&&ra(f,r,e)}_&&An(e,null,r,`beforeMount`);let v=Si(i,g);v&&g.beforeEnter(d),o(d,t,n),((f=m&&m.onVnodeMounted)||v||_)&&G(()=>{try{f&&ra(f,r,e),v&&g.enter(d),_&&An(e,null,r,`mounted`)}finally{}},i)},ne=(e,t,n,r,i)=>{if(n&&g(e,n),r)for(let t=0;t{for(let l=c;l{let l=n.el=e.el,{patchFlag:u,dynamicChildren:d,dirs:f}=n;u|=e.patchFlag&16;let m=e.props||t,h=n.props||t,g;if(r&&xi(r,!1),(g=h.onVnodeBeforeUpdate)&&ra(g,r,n,e),f&&An(n,e,r,`beforeUpdate`),r&&xi(r,!0),d&&(!e.dynamicChildren||e.dynamicChildren.length!==d.length)&&(u=0,s=!1,d=null),(m.innerHTML&&h.innerHTML==null||m.textContent&&h.textContent==null)&&p(l,``),d?E(e.dynamicChildren,d,l,r,i,bi(n,a),o):s||ue(e,n,l,null,r,i,bi(n,a),o,!1),u>0){if(u&16)D(l,m,h,r,a);else if(u&2&&m.class!==h.class&&c(l,`class`,null,h.class,a),u&4&&c(l,`style`,m.style,h.style,a),u&8){let e=n.dynamicProps;for(let t=0;t{g&&ra(g,r,n,e),f&&An(n,e,r,`updated`)},i)},E=(e,t,n,r,i,a,o)=>{for(let s=0;s{if(n!==r){if(n!==t)for(let t in n)!ee(t)&&!(t in r)&&c(e,t,n[t],null,a,i);for(let t in r){if(ee(t))continue;let o=r[t],s=n[t];o!==s&&t!==`value`&&c(e,t,s,o,a,i)}`value`in r&&c(e,`value`,n.value,r.value,a)}},ie=(e,t,n,r,i,a,s,c,l)=>{let d=t.el=e?e.el:u(``),f=t.anchor=e?e.anchor:u(``),{patchFlag:p,dynamicChildren:m,slotScopeIds:h}=t;h&&(c=c?c.concat(h):h),e==null?(o(d,n,r),o(f,n,r),T(t.children||[],n,f,i,a,s,c,l)):p>0&&p&64&&m&&e.dynamicChildren&&e.dynamicChildren.length===m.length?(E(e.dynamicChildren,m,n,i,a,s,c),(t.key!=null||i&&t===i.subTree)&&Ci(e,t,!0)):ue(e,t,n,f,i,a,s,c,l)},O=(e,t,n,r,i,a,o,s,c)=>{t.slotScopeIds=s,e==null?t.shapeFlag&512?i.ctx.activate(t,n,r,o,c):k(t,n,r,i,a,o,c):oe(e,t,c)},k=(e,t,n,r,i,a,o)=>{let s=e.component=oa(e,r,i);if(Xn(e)&&(s.ctx.renderer=be),ma(s,!1,o),s.asyncDep){if(i&&i.registerDep(s,se,o),!e.el){let r=s.subTree=q(Mi);b(null,r,t,n),e.placeholder=r.el}}else se(s,e,t,n,i,a,o)},oe=(e,t,n)=>{let r=t.component=e.component;if(Xr(e,t,n))if(r.asyncDep&&!r.asyncResolved){le(r,t,n);return}else r.next=t,r.update();else t.el=e.el,r.vnode=t},se=(e,t,n,r,i,a,o)=>{let s=()=>{if(e.isMounted){let{next:t,bu:n,u:r,parent:s,vnode:c}=e;{let n=Ti(e);if(n){t&&(t.el=c.el,le(e,t,o)),n.asyncDep.then(()=>{G(()=>{e.isUnmounted||l()},i)});return}}let u=t,d;xi(e,!1),t?(t.el=c.el,le(e,t,o)):t=c,n&&ae(n),(d=t.props&&t.props.onVnodeBeforeUpdate)&&ra(d,s,t,c),xi(e,!0);let f=qr(e),p=e.subTree;e.subTree=f,v(p,f,m(p.el),j(p),e,i,a),t.el=f.el,u===null&&$r(e,f.el),r&&G(r,i),(d=t.props&&t.props.onVnodeUpdated)&&G(()=>ra(d,s,t,c),i)}else{let o,{el:s,props:c}=t,{bm:l,m:u,parent:d,root:f,type:p}=e,m=Yn(t);if(xi(e,!1),l&&ae(l),!m&&(o=c&&c.onVnodeBeforeMount)&&ra(o,d,t),xi(e,!0),s&&Se){let t=()=>{e.subTree=qr(e),Se(s,e.subTree,e,i,null)};m&&p.__asyncHydrate?p.__asyncHydrate(s,e,t):t()}else{f.ce&&f.ce._hasShadowRoot()&&f.ce._injectChildStyle(p,e.parent?e.parent.type:void 0);let o=e.subTree=qr(e);v(null,o,n,r,e,i,a),t.el=o.el}if(u&&G(u,i),!m&&(o=c&&c.onVnodeMounted)){let e=t;G(()=>ra(o,d,e),i)}(t.shapeFlag&256||d&&Yn(d.vnode)&&d.vnode.shapeFlag&256)&&e.a&&G(e.a,i),e.isMounted=!0,t=n=r=null}};e.scope.on();let c=e.effect=new Oe(s);e.scope.off();let l=e.update=c.run.bind(c),u=e.job=c.runIfDirty.bind(c);u.i=e,u.id=e.uid,c.scheduler=()=>yn(u),xi(e,!0),l()},le=(e,t,n)=>{t.component=e;let r=e.vnode.props;e.vnode=t,e.next=null,ii(e,t.props,r,n),_i(e,t.children,n),He(),Sn(e),Ue()},ue=(e,t,n,r,i,a,o,s,c=!1)=>{let l=e&&e.children,u=e?e.shapeFlag:0,d=t.children,{patchFlag:f,shapeFlag:m}=t;if(f>0){if(f&128){fe(l,d,n,r,i,a,o,s,c);return}if(f&256){de(l,d,n,r,i,a,o,s,c);return}}m&8?(u&16&&_e(l,i,a),d!==l&&p(n,d)):u&16?m&16?fe(l,d,n,r,i,a,o,s,c):_e(l,i,a,!0):(u&8&&p(n,``),m&16&&T(d,n,r,i,a,o,s,c))},de=(e,t,r,i,a,o,s,c,l)=>{e||=n,t||=n;let u=e.length,d=t.length,f=Math.min(u,d),p;for(p=0;pd?_e(e,a,o,!0,!1,f):T(t,r,i,a,o,s,c,l,f)},fe=(e,t,r,i,a,o,s,c,l)=>{let u=0,d=t.length,f=e.length-1,p=d-1;for(;u<=f&&u<=p;){let n=e[u],i=t[u]=l?ea(t[u]):$i(t[u]);if(Ui(n,i))v(n,i,r,null,a,o,s,c,l);else break;u++}for(;u<=f&&u<=p;){let n=e[f],i=t[p]=l?ea(t[p]):$i(t[p]);if(Ui(n,i))v(n,i,r,null,a,o,s,c,l);else break;f--,p--}if(u>f){if(u<=p){let e=p+1,n=ep)for(;u<=f;)A(e[u],a,o,!0),u++;else{let m=u,h=u,g=new Map;for(u=h;u<=p;u++){let e=t[u]=l?ea(t[u]):$i(t[u]);e.key!=null&&g.set(e.key,u)}let _,y=0,b=p-h+1,x=!1,S=0,C=Array(b);for(u=0;u=b){A(n,a,o,!0);continue}let i;if(n.key!=null)i=g.get(n.key);else for(_=h;_<=p;_++)if(C[_-h]===0&&Ui(n,t[_])){i=_;break}i===void 0?A(n,a,o,!0):(C[i-h]=u+1,i>=S?S=i:x=!0,v(n,t[i],r,null,a,o,s,c,l),y++)}let w=x?wi(C):n;for(_=w.length-1,u=b-1;u>=0;u--){let e=h+u,n=t[e],f=t[e+1],p=e+1{let{el:a,type:c,transition:l,children:u,shapeFlag:d}=e;if(d&6){pe(e.component.subTree,t,n,r);return}if(d&128){e.suspense.move(t,n,r);return}if(d&64){c.move(e,t,n,be);return}if(c===Ai){o(a,t,n);for(let e=0;el.enter(a),i));else{let{leave:r,delayLeave:i,afterLeave:c}=l,u=()=>{e.ctx.isUnmounted?s(a):o(a,t,n)},d=()=>{let e=a._isLeaving||!!a[Vn];a._isLeaving&&a[Vn](!0),l.persisted&&!e?u():r(a,()=>{u(),c&&c()})};i?i(a,u,d):d()}else o(a,t,n)},A=(e,t,n,r=!1,i=!1)=>{let{type:a,props:o,ref:s,children:c,dynamicChildren:l,shapeFlag:u,patchFlag:d,dirs:f,cacheIndex:p,memo:m}=e;if(d===-2&&(i=!1),s!=null&&(He(),qn(s,null,n,e,!0),Ue()),p!=null&&(t.renderCache[p]=void 0),u&256){t.ctx.deactivate(e);return}let h=u&1&&f,g=!Yn(e),_;if(g&&(_=o&&o.onVnodeBeforeUnmount)&&ra(_,t,e),u&6)ge(e.component,n,r);else{if(u&128){e.suspense.unmount(n,r);return}h&&An(e,null,t,`beforeUnmount`),u&64?e.type.remove(e,t,n,be,r):l&&!l.hasOnce&&(a!==Ai||d>0&&d&64)?_e(l,t,n,!1,!0):(a===Ai&&d&384||!i&&u&16)&&_e(c,t,n),r&&me(e)}let v=m!=null&&p==null;(g&&(_=o&&o.onVnodeUnmounted)||h||v)&&G(()=>{_&&ra(_,t,e),h&&An(e,null,t,`unmounted`),v&&(e.el=null)},n)},me=e=>{let{type:t,el:n,anchor:r,transition:i}=e;if(t===Ai){he(n,r);return}if(t===Ni){C(e);return}let a=()=>{s(n),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(e.shapeFlag&1&&i&&!i.persisted){let{leave:t,delayLeave:r}=i,o=()=>t(n,a);r?r(e.el,a,o):o()}else a()},he=(e,t)=>{let n;for(;e!==t;)n=h(e),s(e),e=n;s(t)},ge=(e,t,n)=>{let{bum:r,scope:i,job:a,subTree:o,um:s,m:c,a:l}=e;Ei(c),Ei(l),r&&ae(r),i.stop(),a&&(a.flags|=8,A(o,e,t,n)),s&&G(s,t),G(()=>{e.isUnmounted=!0},t)},_e=(e,t,n,r=!1,i=!1,a=0)=>{for(let o=a;o{if(e.shapeFlag&6)return j(e.component.subTree);if(e.shapeFlag&128)return e.suspense.next();let t=h(e.anchor||e.el),n=t&&t[zn];return n?h(n):t},ve=!1,ye=(e,t,n)=>{let r;e==null?t._vnode&&(A(t._vnode,null,null,!0),r=t._vnode.component):v(t._vnode||null,e,t,null,null,null,n),t._vnode=e,ve||=(ve=!0,Sn(r),Cn(),!1)},be={p:v,um:A,m:pe,r:me,mt:k,mc:T,pc:ue,pbc:E,n:j,o:e},xe,Se;return i&&([xe,Se]=i(be)),{render:ye,hydrate:xe,createApp:Br(ye,xe)}}function bi({type:e,props:t},n){return n===`svg`&&e===`foreignObject`||n===`mathml`&&e===`annotation-xml`&&t&&t.encoding&&t.encoding.includes(`html`)?void 0:n}function xi({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Si(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ci(e,t,n=!1){let r=e.children,i=t.children;if(d(r)&&d(i))for(let e=0;e>1,e[n[s]]0&&(t[r]=n[a-1]),n[a]=r)}}for(a=n.length,o=n[a-1];a-->0;)n[a]=o,o=t[o];return n}function Ti(e){let t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Ti(t)}function Ei(e){if(e)for(let t=0;te.__isSuspense;function ki(e,t){t&&t.pendingBranch?d(e)?t.effects.push(...e):t.effects.push(e):xn(e)}var Ai=Symbol.for(`v-fgt`),ji=Symbol.for(`v-txt`),Mi=Symbol.for(`v-cmt`),Ni=Symbol.for(`v-stc`),Pi=[],K=null;function Fi(e=!1){Pi.push(K=e?null:[])}function Ii(){Pi.pop(),K=Pi[Pi.length-1]||null}var Li=1;function Ri(e,t=!1){Li+=e,e<0&&K&&t&&(K.hasOnce=!0)}function zi(e){return e.dynamicChildren=Li>0?K||n:null,Ii(),Li>0&&K&&K.push(e),e}function Bi(e,t,n,r,i,a){return zi(Ki(e,t,n,r,i,a,!0))}function Vi(e,t,n,r,i){return zi(q(e,t,n,r,i,!0))}function Hi(e){return e?e.__v_isVNode===!0:!1}function Ui(e,t){return e.type===t.type&&e.key===t.key}var Wi=({key:e})=>e??null,Gi=({ref:e,ref_key:t,ref_for:n})=>(typeof e==`number`&&(e=``+e),e==null?null:g(e)||z(e)||h(e)?{i:H,r:e,k:t,f:!!n}:e);function Ki(e,t=null,n=null,r=0,i=null,a=e===Ai?0:1,o=!1,s=!1){let c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Wi(t),ref:t&&Gi(t),scopeId:En,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:H};return s?(ta(c,n),a&128&&e.normalize(c)):n&&(c.shapeFlag|=g(n)?8:16),Li>0&&!o&&K&&(c.patchFlag>0||a&6)&&c.patchFlag!==32&&K.push(c),c}var q=qi;function qi(e,t=null,n=null,r=0,i=null,a=!1){if((!e||e===hr)&&(e=Mi),Hi(e)){let r=Yi(e,t,!0);return n&&ta(r,n),Li>0&&!a&&K&&(r.shapeFlag&6?K[K.indexOf(e)]=r:K.push(r)),r.patchFlag=-2,r}if(wa(e)&&(e=e.__vccOpts),t){t=Ji(t);let{class:e,style:n}=t;e&&!g(e)&&(t.class=A(e)),v(n)&&(Bt(n)&&!d(n)&&(n=s({},n)),t.style=le(n))}let o=g(e)?1:Oi(e)?128:Bn(e)?64:v(e)?4:h(e)?2:0;return Ki(e,t,n,r,i,o,a,!0)}function Ji(e){return e?Bt(e)||ni(e)?s({},e):e:null}function Yi(e,t,n=!1,r=!1){let{props:i,ref:a,patchFlag:o,children:s,transition:c}=e,l=t?na(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Wi(l),ref:t&&t.ref?n&&a?d(a)?a.concat(Gi(t)):[a,Gi(t)]:Gi(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ai?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Yi(e.ssContent),ssFallback:e.ssFallback&&Yi(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&Hn(u,c.clone(u)),u}function Xi(e=` `,t=0){return q(ji,null,e,t)}function Zi(e,t){let n=q(Ni,null,e);return n.staticCount=t,n}function Qi(e=``,t=!1){return t?(Fi(),Vi(Mi,null,e)):q(Mi,null,e)}function $i(e){return e==null||typeof e==`boolean`?q(Mi):d(e)?q(Ai,null,e.slice()):Hi(e)?ea(e):q(ji,null,String(e))}function ea(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Yi(e)}function ta(e,t){let n=0,{shapeFlag:r}=e;if(t==null)t=null;else if(d(t))n=16;else if(typeof t==`object`)if(r&65){let n=t.default;n&&(n._c&&(n._d=!1),ta(e,n()),n._c&&(n._d=!0));return}else{n=32;let r=t._;!r&&!ni(t)?t._ctx=H:r===3&&H&&(H.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(h(t)){if(r&65){ta(e,{default:t});return}t={default:t,_ctx:H},n=32}else t=String(t),r&64?(n=16,t=[Xi(t)]):n=8;e.children=t,e.shapeFlag|=n}function na(...e){let t={};for(let n=0;nJ||H,ca,la;{let e=ce(),t=(t,n)=>{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach(t=>t(e)):r[0](e)}};ca=t(`__VUE_INSTANCE_SETTERS__`,e=>J=e),la=t(`__VUE_SSR_SETTERS__`,e=>pa=e)}var ua=e=>{let t=J;return ca(e),e.scope.on(),()=>{e.scope.off(),ca(t)}},da=()=>{J&&J.scope.off(),ca(null)};function fa(e){return e.vnode.shapeFlag&4}var pa=!1;function ma(e,t=!1,n=!1){t&&la(t);let{props:r,children:i}=e.vnode,a=fa(e);ri(e,r,a,t),gi(e,i,n||t);let o=a?ha(e,t):void 0;return t&&la(!1),o}function ha(e,t){let n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Sr);let{setup:r}=n;if(r){He();let n=e.setupContext=r.length>1?xa(e):null,i=ua(e),a=cn(r,e,0,[e.props,n]),o=y(a);if(Ue(),i(),(o||e.sp)&&!Yn(e)&&Wn(e),o){if(a.then(da,da),t)return a.then(n=>{ga(e,n,t)}).catch(t=>{ln(t,e,0)});e.asyncDep=a}else ga(e,a,t)}else ya(e,t)}function ga(e,t,n){h(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:v(t)&&(e.setupState=Yt(t)),ya(e,n)}var _a,va;function ya(e,t,n){let i=e.type;if(!e.render){if(!t&&_a&&!i.render){let t=i.template||kr(e).template;if(t){let{isCustomElement:n,compilerOptions:r}=e.appContext.config,{delimiters:a,compilerOptions:o}=i;i.render=_a(t,s(s({isCustomElement:n,delimiters:a},r),o))}}e.render=i.render||r,va&&va(e)}{let t=ua(e);He();try{Tr(e)}finally{Ue(),t()}}}var ba={get(e,t){return F(e,`get`,``),e[t]}};function xa(e){return{attrs:new Proxy(e.attrs,ba),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}function Sa(e){return e.exposed?e.exposeProxy||=new Proxy(Yt(Vt(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in br)return br[n](e)},has(e,t){return t in e||t in br}}):e.proxy}function Ca(e,t=!0){return h(e)?e.displayName||e.name:e.name||t&&e.__name}function wa(e){return h(e)&&`__vccOpts`in e}var Y=(e,t)=>en(e,t,pa);function Ta(e,t,n){try{Ri(-1);let r=arguments.length;return r===2?v(t)&&!d(t)?Hi(t)?q(e,null,[t]):q(e,t):q(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Hi(n)&&(n=[n]),q(e,t,n))}finally{Ri(1)}}var Ea=`3.5.40`,Da=void 0,Oa=typeof window<`u`&&window.trustedTypes;if(Oa)try{Da=Oa.createPolicy(`vue`,{createHTML:e=>e})}catch{}var ka=Da?e=>Da.createHTML(e):e=>e,Aa=`http://www.w3.org/2000/svg`,ja=`http://www.w3.org/1998/Math/MathML`,Ma=typeof document<`u`?document:null,Na=Ma&&Ma.createElement(`template`),Pa={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{let i=t===`svg`?Ma.createElementNS(Aa,e):t===`mathml`?Ma.createElementNS(ja,e):n?Ma.createElement(e,{is:n}):Ma.createElement(e);return e===`select`&&r&&r.multiple!=null&&i.setAttribute(`multiple`,r.multiple),i},createText:e=>Ma.createTextNode(e),createComment:e=>Ma.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ma.querySelector(e),setScopeId(e,t){e.setAttribute(t,``)},insertStaticContent(e,t,n,r,i,a){let o=n?n.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===a||!(i=i.nextSibling)););else{Na.innerHTML=ka(r===`svg`?`${e} `:r===`mathml`?`${e} `:e);let i=Na.content;if(r===`svg`||r===`mathml`){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Fa=Symbol(`_vtc`);function Ia(e,t,n){let r=e[Fa];r&&(t=(t?[t,...r]:[...r]).join(` `)),t==null?e.removeAttribute(`class`):n?e.setAttribute(`class`,t):e.className=t}var La=Symbol(`_vod`),Ra=Symbol(`_vsh`),za={name:`show`,beforeMount(e,{value:t},{transition:n}){e[La]=e.style.display===`none`?``:e.style.display,n&&t?n.beforeEnter(e):Ba(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),Ba(e,!0),r.enter(e)):r.leave(e,()=>{Ba(e,!1)}):Ba(e,t))},beforeUnmount(e,{value:t}){Ba(e,t)}};function Ba(e,t){e.style.display=t?e[La]:`none`,e[Ra]=!t}var Va=Symbol(``),Ha=/(?:^|;)\s*display\s*:/;function Ua(e,t,n){let r=e.style,i=g(n),a=!1;if(n&&!i){if(t)if(g(t))for(let e of t.split(`;`)){let t=e.slice(0,e.indexOf(`:`)).trim();n[t]??Ga(r,t,``)}else for(let e in t)n[e]??Ga(r,e,``);for(let i in n){i===`display`&&(a=!0);let o=n[i];o==null?Ga(r,i,``):Ya(e,i,!g(t)&&t?t[i]:void 0,o)||Ga(r,i,o)}}else if(i){if(t!==n){let e=r[Va];e&&(n+=`;`+e),r.cssText=n,a=Ha.test(n)}}else t&&e.removeAttribute(`style`);La in e&&(e[La]=a?r.display:``,e[Ra]&&(r.display=`none`))}var Wa=/\s*!important$/;function Ga(e,t,n){if(d(n))n.forEach(n=>Ga(e,t,n));else if(n??=``,t.startsWith(`--`))e.setProperty(t,n);else{let r=Ja(e,t);Wa.test(n)?e.setProperty(E(r),n.replace(Wa,``),`important`):e[r]=n}}var Ka=[`Webkit`,`Moz`,`ms`],qa={};function Ja(e,t){let n=qa[t];if(n)return n;let r=T(t);if(r!==`filter`&&r in e)return qa[t]=r;r=D(r);for(let n=0;noo||=(so.then(()=>oo=0),Date.now());function lo(e,t){let n=e=>{if(!e._vts)e._vts=Date.now();else if(e._vts<=n.attached)return;let r=n.value;if(d(r)){let n=e.stopImmediatePropagation;e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0};let i=r.slice(),a=[e];for(let n=0;ne.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,fo=(e,t,n,r,i,s)=>{let c=i===`svg`;t===`class`?Ia(e,r,c):t===`style`?Ua(e,n,r):a(t)?o(t)||no(e,t,n,r,s):(t[0]===`.`?(t=t.slice(1),!0):t[0]===`^`?(t=t.slice(1),!1):po(e,t,r,c))?(Qa(e,t,r),!e.tagName.includes(`-`)&&(t===`value`||t===`checked`||t===`selected`)&&Za(e,t,r,c,s,t!==`value`)):e._isVueCE&&(mo(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!g(r)))?Qa(e,T(t),r,s,t):(t===`true-value`?e._trueValue=r:t===`false-value`&&(e._falseValue=r),Za(e,t,r,c))};function po(e,t,n,r){if(r)return!!(t===`innerHTML`||t===`textContent`||t in e&&uo(t)&&h(n));if(t===`spellcheck`||t===`draggable`||t===`translate`||t===`autocorrect`||t===`sandbox`&&e.tagName===`IFRAME`||t===`form`||t===`list`&&e.tagName===`INPUT`||t===`type`&&e.tagName===`TEXTAREA`)return!1;if(t===`width`||t===`height`){let t=e.tagName;if(t===`IMG`||t===`VIDEO`||t===`CANVAS`||t===`SOURCE`)return!1}return uo(t)&&g(n)?!1:t in e}function mo(e,t){let n=e._def.props;if(!n)return!1;let r=T(t);return Array.isArray(n)?n.some(e=>T(e)===r):Object.keys(n).some(e=>T(e)===r)}var ho=e=>{let t=e.props[`onUpdate:modelValue`]||!1;return d(t)?e=>ae(t,e):t};function go(e){e.target.composing=!0}function _o(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event(`input`)))}var X=Symbol(`_assign`);function vo(e,t,n){return t&&(e=e.trim()),n&&(e=oe(e)),e}var yo={created(e,{modifiers:{lazy:t,trim:n,number:r}},i){e[X]=ho(i);let a=r||i.props&&i.props.type===`number`;$a(e,t?`change`:`input`,t=>{t.target.composing||e[X](vo(e.value,n,a))}),(n||a)&&$a(e,`change`,()=>{e.value=vo(e.value,n,a)}),t||($a(e,`compositionstart`,go),$a(e,`compositionend`,_o),$a(e,`change`,_o))},mounted(e,{value:t}){e.value=t??``},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:i,number:a}},o){if(e[X]=ho(o),e.composing)return;let s=(a||e.type===`number`)&&!/^0\d/.test(e.value)?oe(e.value):e.value,c=t??``;if(s===c)return;let l=e.getRootNode();(l instanceof Document||l instanceof ShadowRoot)&&l.activeElement===e&&e.type!==`range`&&(r&&t===n||i&&e.value.trim()===c)||(e.value=c)}},bo={deep:!0,created(e,t,n){e[X]=ho(n),$a(e,`change`,()=>{let t=e._modelValue,n=To(e),r=e.checked,i=e[X];if(d(t)){let e=ve(t,n),a=e!==-1;if(r&&!a)i(t.concat(n));else if(!r&&a){let n=[...t];n.splice(e,1),i(n)}}else if(p(t)){let e=new Set(t);r?e.add(n):e.delete(n),i(e)}else i(Eo(e,r))})},mounted:xo,beforeUpdate(e,t,n){e[X]=ho(n),xo(e,t,n)}};function xo(e,{value:t,oldValue:n},r){e._modelValue=t;let i;if(d(t))i=ve(t,r.props.value)>-1;else if(p(t))i=t.has(r.props.value);else{if(t===n)return;i=j(t,Eo(e,!0))}e.checked!==i&&(e.checked=i)}var So={created(e,{value:t},n){e.checked=j(t,n.props.value),e[X]=ho(n),$a(e,`change`,()=>{e[X](To(e))})},beforeUpdate(e,{value:t,oldValue:n},r){e[X]=ho(r),t!==n&&(e.checked=j(t,r.props.value))}},Co={deep:!0,created(e,{value:t,modifiers:{number:n}},r){e._modelValue=t,$a(e,`change`,()=>{let t=Array.prototype.filter.call(e.options,e=>e.selected).map(e=>n?oe(To(e)):To(e));e[X](e.multiple?p(e._modelValue)?new Set(t):t:t[0]),e._assigning=!0,_n(()=>{e._assigning=!1})}),e[X]=ho(r)},mounted(e,{value:t}){wo(e,t)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[X]=ho(n)},updated(e,{value:t}){e._assigning||wo(e,t)}};function wo(e,t){let n=e.multiple,r=d(t);if(!(n&&!r&&!p(t))){for(let i=0,a=e.options.length;iString(e)===String(o)):ve(t,o)>-1}else a.selected=t.has(o);else if(j(To(a),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function To(e){return`_value`in e?e._value:e.value}function Eo(e,t){let n=t?`_trueValue`:`_falseValue`;return n in e?e[n]:t}var Do=[`ctrl`,`shift`,`alt`,`meta`],Oo={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>`button`in e&&e.button!==0,middle:e=>`button`in e&&e.button!==1,right:e=>`button`in e&&e.button!==2,exact:(e,t)=>Do.some(n=>e[`${n}Key`]&&!t.includes(n))},ko=(e,t)=>{if(!e)return e;let n=e._withMods||={},r=t.join(`.`);return n[r]||(n[r]=((n,...r)=>{for(let e=0;e{let t=Mo().createApp(...e),{mount:n}=t;return t.mount=e=>{let r=Fo(e);if(!r)return;let i=t._component;!h(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent=``);let a=n(r,!1,Po(r));return r instanceof Element&&(r.removeAttribute(`v-cloak`),r.setAttribute(`data-v-app`,``)),a},t});function Po(e){if(e instanceof SVGElement)return`svg`;if(typeof MathMLElement==`function`&&e instanceof MathMLElement)return`mathml`}function Fo(e){return g(e)?document.querySelector(e):e}var Io=typeof window<`u`,Lo,Ro=e=>Lo=e,zo=Symbol();function Bo(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var Vo=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:typeof globalThis==`object`?globalThis:{HTMLElement:null};function Ho(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function Uo(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){Jo(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function Wo(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function Go(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=new MouseEvent(`click`,{bubbles:!0,cancelable:!0,view:window,detail:0,screenX:80,screenY:20,clientX:80,clientY:20,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null});e.dispatchEvent(t)}}var Ko=typeof navigator==`object`?navigator:{userAgent:``},qo=/Macintosh/.test(Ko.userAgent)&&/AppleWebKit/.test(Ko.userAgent)&&!/Safari/.test(Ko.userAgent),Jo=Io?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!qo?Yo:`msSaveOrOpenBlob`in Ko?Xo:Zo:()=>{};function Yo(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?Go(r):Wo(r.href)?Uo(e,t,n):(r.target=`_blank`,Go(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){Go(r)},0))}function Xo(e,t=`download`,n){if(typeof e==`string`)if(Wo(e))Uo(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){Go(t)})}else navigator.msSaveOrOpenBlob(Ho(e,n),t)}function Zo(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return Uo(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(Vo.HTMLElement))||`safari`in Vo,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||qo)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:Qo}=Object;function $o(){let e=we(!0),t=e.run(()=>Ut({})),n=[],r=[],i=Vt({install(e){Ro(i),i._a=e,e.provide(zo,i),e.config.globalProperties.$pinia=i,r.forEach(e=>n.push(e)),r=[]},use(e){return this._a?n.push(e):r.push(e),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return i}var es=()=>{};function ts(e,t,n,r=es){e.add(t);let i=()=>{e.delete(t)&&r()};return!n&&Te()&&Ee(i),i}function ns(e,...t){e.forEach(e=>{e(...t)})}var rs=e=>e(),is=Symbol(),as=Symbol();function os(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(let n in t){if(!Object.hasOwn(t,n))continue;let r=t[n],i=e[n];e[n]=Bo(i)&&Bo(r)&&Object.hasOwn(e,n)&&!z(r)&&!Rt(r)?os(i,r):r}return e}var ss=Symbol();function cs(e){return!e||typeof e!=`object`||!Object.hasOwn(e,ss)}var{assign:ls}=Object;function us(e){return!!(z(e)&&e.effect)}function ds(e,t,n,r){let{state:i,actions:a,getters:o}=t,s=n.state.value[e],c;function l(){return s||(n.state.value[e]=i?i():{}),ls(Xt(n.state.value[e]),a,Object.keys(o||{}).reduce((t,r)=>(t[r]=Vt(Y(()=>{Ro(n);let t=n._s.get(e);return o[r].call(t,t)})),t),{}))}return c=fs(e,l,t,n,r,!0),c}function fs(e,t,n={},r,i,a){let o,s=ls({actions:{}},n),c={deep:!0},l,u,d=new Set,f=new Set,p,m=r.state.value[e];!a&&!m&&(r.state.value[e]={});let h;function g(t){let n;l=u=!1,typeof t==`function`?(t(r.state.value[e]),n={type:`patch function`,storeId:e,events:p}):(os(r.state.value[e],t),n={type:`patch object`,payload:t,storeId:e,events:p});let i=h=Symbol();_n().then(()=>{h===i&&(l=!0)}),u=!0,ns(d,n,r.state.value[e])}let _=a?function(){let{state:e}=n,t=e?e():{};this.$patch(e=>{ls(e,t)})}:es;function v(){o.stop(),d.clear(),f.clear(),r._s.delete(e)}let y=(t,n=``)=>{if(is in t)return t[as]=n,t;let i=function(){Ro(r);let n=Array.from(arguments),a=new Set,o=new Set;function s(e){a.add(e)}function c(e){o.add(e)}ns(f,{args:n,name:i[as],store:b,after:s,onError:c});let l;try{l=t.apply(this&&this.$id===e?this:b,n)}catch(e){throw ns(o,e),e}return l instanceof Promise?l.then(e=>(ns(a,e),e)).catch(e=>(ns(o,e),Promise.reject(e))):(ns(a,l),l)};return i[is]=!0,i[as]=n,i},b=Pt({_p:r,$id:e,$onAction:ts.bind(null,f),$patch:g,$reset:_,$subscribe(t,n={}){if(d.has(t))return es;let i=ts(d,t,n.detached,()=>a()),a=o.run(()=>Fn(()=>r.state.value[e],r=>{(n.flush===`sync`?u:l)&&t({storeId:e,type:`direct`,events:p},r)},ls({},c,n)));return i},$dispose:v});r._s.set(e,b);let x=(r._a&&r._a.runWithContext||rs)(()=>r._e.run(()=>(o=we()).run(()=>t({action:y}))));for(let t in x){let n=x[t];z(n)&&!us(n)||Rt(n)?a||(m&&cs(n)&&(z(n)?n.value=m[t]:os(n,m[t])),r.state.value[e][t]=n):typeof n==`function`&&(x[t]=y(n,t),s.actions[t]=n)}return ls(b,x),ls(L(b),x),Object.defineProperty(b,"$state",{get:()=>r.state.value[e],set:e=>{g(t=>{ls(t,e)})}}),r._p.forEach(e=>{let t=o.run(()=>e({store:b,app:r._a,pinia:r,options:s}));ls(b,t)}),m&&a&&n.hydrate&&n.hydrate(b.$state,m),l=!0,u=!0,b}function ps(e,t,n){let r,i=typeof t==`function`;r=i?n:t;function a(n,a){let o=Mn();return n||=o?U(zo,null):null,n&&Ro(n),n=Lo,n._s.has(e)||(i?fs(e,t,r,n):ds(e,r,n)),n._s.get(e)}return a.$id=e,a}var ms=Un({__name:`App`,setup(e){return(e,t)=>{let n=mr(`router-view`);return Fi(),Vi(n)}}});function hs(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function gs(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&hs(e.default)}var Z=Object.assign;function _s(e,t){let n={};for(let r in t){let i=t[r];n[r]=Q(i)?i.map(e):e(i)}return n}var vs=()=>{},Q=Array.isArray;function ys(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var bs=Symbol(``);function xs(e,t){return Z(Error(),{type:e,[bs]:!0},t)}function Ss(e,t){return e instanceof Error&&bs in e&&(t==null||!!(e.type&t))}var Cs=Symbol(``),ws=Symbol(``),Ts=Symbol(``),Es=Symbol(``),Ds=Symbol(``);function Os(){return U(Ts)}var ks=typeof document<`u`,As=/#/g,js=/&/g,Ms=/\//g,Ns=/=/g,Ps=/\?/g,Fs=/\+/g,Is=/%5B/g,Ls=/%5D/g,Rs=/%5E/g,zs=/%60/g,Bs=/%7B/g,Vs=/%7C/g,Hs=/%7D/g,Us=/%20/g;function Ws(e){return e==null?``:encodeURI(``+e).replace(Vs,`|`).replace(Is,`[`).replace(Ls,`]`)}function Gs(e){return Ws(e).replace(Bs,`{`).replace(Hs,`}`).replace(Rs,`^`)}function Ks(e){return Ws(e).replace(Fs,`%2B`).replace(Us,`+`).replace(As,`%23`).replace(js,`%26`).replace(zs,"`").replace(Bs,`{`).replace(Hs,`}`).replace(Rs,`^`)}function qs(e){return Ks(e).replace(Ns,`%3D`)}function Js(e){return Ws(e).replace(As,`%23`).replace(Ps,`%3F`)}function Ys(e){return Js(e).replace(Ms,`%2F`)}function Xs(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var Zs=/\/$/,Qs=e=>e.replace(Zs,``);function $s(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=sc(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:Xs(o)}}function ec(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function tc(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function nc(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&rc(t.matched[r],n.matched[i])&&ic(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function rc(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function ic(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!ac(e[n],t[n]))return!1;return!0}function ac(e,t){return Q(e)?oc(e,t):Q(t)?oc(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function oc(e,t){return Q(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function sc(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o1&&a--;else break;return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var cc={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0};function lc(e){if(!e)if(ks){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),Qs(e)}var uc=/^[^#]+#/;function dc(e,t){return e.replace(uc,`#`)+t}function fc(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var pc=()=>({left:window.scrollX,top:window.scrollY});function mc(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=fc(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function hc(e,t){return(history.state?history.state.position-t:-1)+e}var gc=new Map;function _c(e,t){gc.set(e,t)}function vc(e){let t=gc.get(e);return gc.delete(e),t}function yc(e){return typeof e==`string`||e&&typeof e==`object`}function bc(e){return typeof e==`string`||typeof e==`symbol`}function xc(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;ee&&Ks(e)):[r&&Ks(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function Cc(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=Q(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}function wc(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Tc(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(xs(4,{from:n,to:t})):e instanceof Error?c(e):yc(e)?c(xs(2,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function Ec(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e]))if(hs(s)){let c=(s.__vccOpts||s)[t];c&&a.push(Tc(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=gs(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&Tc(c,n,r,o,e,i)()}))}}return a}function Dc(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;orc(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>rc(e,s))||i.push(s))}return[n,r,i]}var Oc=()=>location.protocol+`//`+location.host;function kc(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),tc(n,``)}return tc(n,e)+r+i}function Ac(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=kc(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:`pop`,direction:u?u>0?`forward`:`back`:``})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){if(document.visibilityState===`hidden`){let{history:e}=window;if(!e.state)return;e.replaceState(Z({},e.state,{scroll:pc()}),``)}}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u),document.removeEventListener(`visibilitychange`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),document.addEventListener(`visibilitychange`,u),{pauseListeners:c,listen:l,destroy:d}}function jc(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?pc():null}}function Mc(e){let{history:t,location:n}=window,r={value:kc(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:Oc()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,Z({},t.state,jc(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=Z({},i.value,t.state,{forward:e,scroll:pc()});a(o.current,o,!0),a(e,Z({},jc(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function Nc(e){e=lc(e);let t=Mc(e),n=Ac(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=Z({location:``,base:e,go:r,createHref:dc.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}var Pc={type:0,value:``},Fc=/[a-zA-Z0-9_]/;function Ic(e){if(!e)return[[]];if(e===`/`)return[[Pc]];if(!e.startsWith(`/`))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=0,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===0?a.push({type:0,value:l}):n===1||n===2||n===3?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:1,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;st.length?t.length===1&&t[0]===80?1:-1:0}function Hc(e,t){let n=0,r=e.score,i=t.score;for(;n0&&t[t.length-1]<0}var Wc={strict:!1,end:!0,sensitive:!1};function Gc(e,t,n){let r=Z(Bc(Ic(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Kc(e,t){let n=[],r=new Map;t=ys(Wc,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=Jc(e);s.aliasOf=r&&r.record;let l=ys(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(Jc(Z({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&u[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=Gc(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!Xc(d)&&o(e.name)),el(d)&&c(d),s.children){let e=s.children;for(let t=0;t{o(f)}:vs}function o(e){if(bc(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=Qc(e,n);n.splice(t,0,e),e.record.name&&!Xc(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw xs(1,{location:e});s=i.record.name,a=Z(qc(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&qc(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name,i.keys.forEach(e=>{e.optional&&!a[e.name]&&delete a[e.name]}));else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw xs(1,{location:e,currentLocation:t});s=i.record.name,a=Z({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:Zc(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function qc(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function Jc(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Yc(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Yc(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function Xc(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Zc(e){return e.reduce((e,t)=>Z(e,t.meta),{})}function Qc(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;Hc(e,t[i])<0?r=i:n=i+1}let i=$c(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function $c(e){let t=e;for(;t=t.parent;)if(el(t)&&Hc(e,t)===0)return t}function el({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function tl(e){let t=U(Ts),n=U(Es),r=Y(()=>{let n=qt(e.to);return t.resolve(n)}),i=Y(()=>{let{matched:e}=r.value,{length:t}=e,i=e[t-1],a=n.matched;if(!i||!a.length)return-1;let o=a.findIndex(rc.bind(null,i));if(o>-1)return o;let s=ol(e[t-2]);return t>1&&ol(i)===s&&a[a.length-1].path!==s?a.findIndex(rc.bind(null,e[t-2])):o}),a=Y(()=>i.value>-1&&al(n.params,r.value.params)),o=Y(()=>i.value>-1&&i.value===n.matched.length-1&&ic(n.params,r.value.params));function s(n={}){if(il(n)){let n=t[qt(e.replace)?`replace`:`push`](qt(e.to)).catch(vs);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:r,href:Y(()=>r.value.href),isActive:a,isExactActive:o,navigate:s}}function nl(e){return e.length===1?e[0]:e}var rl=Un({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:tl,setup(e,{slots:t}){let n=Pt(tl(e)),{options:r}=U(Ts),i=Y(()=>({[sl(e.activeClass,r.linkActiveClass,`router-link-active`)]:n.isActive,[sl(e.exactActiveClass,r.linkExactActiveClass,`router-link-exact-active`)]:n.isExactActive}));return()=>{let r=t.default&&nl(t.default(n));return e.custom?r:Ta(`a`,{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},r)}}});function il(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&(e.button===void 0||e.button===0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function al(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!Q(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function ol(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var sl=(e,t,n)=>e??t??n,cl=Un({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){let r=U(Ds),i=Y(()=>e.route||r.value),a=U(ws,0),o=Y(()=>{let e=qt(a),{matched:t}=i.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),s=Y(()=>i.value.matched[o.value]);jn(ws,Y(()=>o.value+1)),jn(Cs,s),jn(Ds,i);let c=Ut();return Fn(()=>[c.value,s.value,e.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!rc(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let r=i.value,a=e.name,o=s.value,l=o&&o.components[a];if(!l)return ll(n.default,{Component:l,route:r});let u=o.props[a],d=Ta(l,Z({},u?u===!0?r.params:typeof u==`function`?u(r):u:null,t,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(o.instances[a]=null)},ref:c}));return ll(n.default,{Component:d,route:r})||d}}});function ll(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var ul=cl;function dl(e){let t=Kc(e.routes,e),n=e.parseQuery||xc,r=e.stringifyQuery||Sc,i=e.history,a=wc(),o=wc(),s=wc(),c=Wt(cc),l=cc;ks&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let u=_s.bind(null,e=>``+e),d=_s.bind(null,Ys),f=_s.bind(null,Xs);function p(e,n){let r,i;return bc(e)?(r=t.getRecordMatcher(e),i=n):i=e,t.addRoute(i,r)}function m(e){let n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function h(){return t.getRoutes().map(e=>e.record)}function g(e){return!!t.getRecordMatcher(e)}function _(e,a){if(a=Z({},a||c.value),typeof e==`string`){let r=$s(n,e,a.path),o=t.resolve({path:r.path},a),s=i.createHref(r.fullPath);return Z(r,o,{params:f(o.params),redirectedFrom:void 0,href:s})}let o;if(e.path!=null)o=Z({},e,{path:$s(n,e.path,a.path).path});else{let t=Z({},e.params);for(let e in t)t[e]??delete t[e];o=Z({},e,{params:d(t)}),a.params=d(a.params)}let s=t.resolve(o,a),l=e.hash||``;s.params=u(f(s.params));let p=ec(r,Z({},e,{hash:Gs(l),path:s.path})),m=i.createHref(p);return Z({fullPath:p,hash:l,query:r===Sc?Cc(e.query):e.query||{}},s,{redirectedFrom:void 0,href:m})}function v(e){return typeof e==`string`?$s(n,e,c.value.path):Z({},e)}function y(e,t){if(l!==e)return xs(8,{from:t,to:e})}function b(e){return C(e)}function x(e){return b(Z(v(e),{replace:!0}))}function S(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=v(i):{path:i},i.params={}),Z({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function C(e,t){let n=l=_(e),i=c.value,a=e.state,o=e.force,s=e.replace===!0,u=S(n,i);if(u)return C(Z(v(u),{state:typeof u==`object`?Z({},a,u.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&nc(r,i,n)&&(f=xs(16,{to:d,from:i}),se(i,i,!0,!1)),(f?Promise.resolve(f):te(d,i)).catch(e=>Ss(e)?Ss(e,2)?e:oe(e):ae(e,d,i)).then(e=>{if(e){if(Ss(e,2))return C(Z({replace:s},v(e.to),{state:typeof e.to==`object`?Z({},a,e.to.state):a,force:o}),t||d)}else e=T(d,i,!0,s,a);return ne(d,i,e),e})}function w(e,t){let n=y(e,t);return n?Promise.reject(n):Promise.resolve()}function ee(e){let t=ue.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function te(e,t){let n,[r,i,s]=Dc(e,t);n=Ec(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(Tc(r,e,t))});let c=w.bind(null,e,t);return n.push(c),fe(n).then(()=>{n=[];for(let r of a.list())n.push(Tc(r,e,t));return n.push(c),fe(n)}).then(()=>{n=Ec(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(Tc(r,e,t))});return n.push(c),fe(n)}).then(()=>{n=[];for(let r of s)if(r.beforeEnter)if(Q(r.beforeEnter))for(let i of r.beforeEnter)n.push(Tc(i,e,t));else n.push(Tc(r.beforeEnter,e,t));return n.push(c),fe(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=Ec(s,`beforeRouteEnter`,e,t,ee),n.push(c),fe(n))).then(()=>{n=[];for(let r of o.list())n.push(Tc(r,e,t));return n.push(c),fe(n)}).catch(e=>Ss(e,8)?e:Promise.reject(e))}function ne(e,t,n){s.list().forEach(r=>ee(()=>r(e,t,n)))}function T(e,t,n,r,a){let o=y(e,t);if(o)return o;let s=t===cc,l=ks?history.state:{};n&&(r||s?i.replace(e.fullPath,Z({scroll:s&&l&&l.scroll},a)):i.push(e.fullPath,a)),c.value=e,se(e,t,n,s),oe()}let re;function E(){re||=i.listen((e,t,n)=>{if(!de.listening)return;let r=_(e),a=S(r,de.currentRoute.value);if(a){C(Z(a,{replace:!0,force:!0}),r).catch(vs);return}l=r;let o=c.value;ks&&_c(hc(o.fullPath,n.delta),pc()),te(r,o).catch(e=>Ss(e,12)?e:Ss(e,2)?(C(Z(v(e.to),{force:!0}),r).then(e=>{Ss(e,20)&&!n.delta&&n.type===`pop`&&i.go(-1,!1)}).catch(vs),Promise.reject()):(n.delta&&i.go(-n.delta,!1),ae(e,r,o))).then(e=>{e||=T(r,o,!1),e&&(n.delta&&!Ss(e,8)?i.go(-n.delta,!1):n.type===`pop`&&Ss(e,20)&&i.go(-1,!1)),ne(r,o,e)}).catch(vs)})}let D=wc(),ie=wc(),O;function ae(e,t,n){oe(e);let r=ie.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function k(){return O&&c.value!==cc?Promise.resolve():new Promise((e,t)=>{D.add([e,t])})}function oe(e){return O||(O=!e,E(),D.list().forEach(([t,n])=>e?n(e):t()),D.reset()),e}function se(t,n,r,i){let{scrollBehavior:a}=e;if(!ks||!a)return Promise.resolve();let o=!r&&vc(hc(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return _n().then(()=>a(t,n,o)).then(e=>t===c.value&&e&&mc(e)).catch(e=>t===c.value&&ae(e,t,n))}let ce=e=>i.go(e),le,ue=new Set,de={currentRoute:c,listening:!0,addRoute:p,removeRoute:m,clearRoutes:t.clearRoutes,hasRoute:g,getRoutes:h,resolve:_,options:e,push:b,replace:x,go:ce,back:()=>ce(-1),forward:()=>ce(1),beforeEach:a.add,beforeResolve:o.add,afterEach:s.add,onError:ie.add,isReady:k,install(e){e.component(`RouterLink`,rl),e.component(`RouterView`,ul),e.config.globalProperties.$router=de,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>qt(c)}),ks&&!le&&c.value===cc&&(le=!0,b(i.location).catch(e=>{}));let t={};for(let e in cc)Object.defineProperty(t,e,{get:()=>c.value[e],enumerable:!0});e.provide(Ts,de),e.provide(Es,Ft(t)),e.provide(Ds,c);let n=e.unmount;ue.add(e),e.unmount=function(){ue.delete(e),ue.size<1&&(l=cc,re&&re(),re=null,c.value=cc,le=!1,O=!1),n()}}};function fe(e){return e.reduce((e,t)=>e.then(()=>ee(t)),Promise.resolve())}return de}var fl=`modulepreload`,pl=function(e){return`/`+e},ml={},$=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=pl(t,n),t=s(t),t in ml)return;ml[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:fl,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},hl=dl({history:Nc(),routes:[{path:`/`,component:()=>$(()=>import(`./SiteLayout-bJqyVgoV.js`),__vite__mapDeps([0,1,2])),children:[{path:``,name:`Home`,component:()=>$(()=>import(`./HomeView-BxGAqNiv.js`),__vite__mapDeps([3,4])),meta:{title:`首页`}},{path:`about`,name:`About`,component:()=>$(()=>import(`./AboutView-B-o_IVyN.js`),__vite__mapDeps([5,1,4,6])),meta:{title:`关于我们`}},{path:`gallery`,name:`Gallery`,component:()=>$(()=>import(`./GalleryView-6Pif8Jbr.js`),[]),meta:{title:`画廊`}},{path:`members`,name:`Members`,component:()=>$(()=>import(`./MembersView-C4aLTWuO.js`),__vite__mapDeps([7,1,8])),meta:{title:`成员`}},{path:`ContactUS`,name:`Contact`,component:()=>$(()=>import(`./ContactView-d5VCgd2D.js`),[]),meta:{title:`联系我们`}},{path:`IntegrityReport`,name:`IntegrityReport`,component:()=>$(()=>import(`./IntegrityReportView-CF0mFL5h.js`),__vite__mapDeps([9,1,10])),meta:{title:`廉政举报`}},{path:`login`,name:`Login`,component:()=>$(()=>import(`./LoginView-6s1eigcY.js`),__vite__mapDeps([11,1,12])),meta:{title:`登录`}},{path:`register`,name:`Register`,component:()=>$(()=>import(`./RegisterView-B5UdoQw7.js`),__vite__mapDeps([13,1,14])),meta:{title:`注册`}},{path:`ProJect/SMANAGE`,name:`ProJectSmanage`,component:()=>$(()=>import(`./SmanageView-xEmtKD0j.js`),[]),meta:{title:`SMANAGE`}},{path:`ProJect/Service/Service`,name:`ProJectService`,component:()=>$(()=>import(`./ServiceView-qqBPM9px.js`),__vite__mapDeps([15,1,16])),meta:{title:`定制开发服务`}},{path:`ProJect/Service/Quotation`,name:`ProJectQuotation`,component:()=>$(()=>import(`./QuotationView-Bc9hHjyx.js`),[]),meta:{title:`咨询报价`}},{path:`ProJect/ResourceShare`,name:`ProJectResourceShare`,component:()=>$(()=>import(`./ResourceShareView-g8ZPFK6i.js`),__vite__mapDeps([17,1,18])),meta:{title:`资源分享`}},{path:`Members/B-Smooth`,name:`MemberBSmooth`,component:()=>$(()=>import(`./BSmoothView-wFFs0EDU.js`),__vite__mapDeps([19,1,20])),meta:{title:`B-Smooth`}},{path:`Members/TermiNexus`,name:`MemberTermiNexus`,component:()=>$(()=>import(`./TermiNexusView-_4hm5BLZ.js`),__vite__mapDeps([21,1,22])),meta:{title:`TermiNexus`}},{path:`Members/YuanZe`,name:`MemberYuanZe`,component:()=>$(()=>import(`./YuanZeView-1VrVL_R1.js`),__vite__mapDeps([23,1,24])),meta:{title:`渊泽`}},{path:`Methodology/CollaborativeCoding-WM`,name:`MethodologyCollaborativeCoding`,component:()=>$(()=>import(`./CollaborativeCodingView-XPlXiD8j.js`),__vite__mapDeps([25,1,26])),meta:{title:`协作编码方法论`}},{path:`Document`,name:`Document`,component:()=>$(()=>import(`./DocumentView-CS0MX7Pj.js`),__vite__mapDeps([27,1,28])),meta:{title:`文档中心`}},{path:`ProJect/Unauthorized`,name:`ProJectUnauthorized`,component:()=>$(()=>import(`./UnauthorizedView-CGw59obT.js`),[]),meta:{title:`访问受限`}},{path:`UserCard`,name:`UserCard`,component:()=>$(()=>import(`./UserCardView-BS1OfWYd.js`),__vite__mapDeps([29,1,30])),meta:{title:`个人名片`}},{path:`errors/404`,name:`Error404`,component:()=>$(()=>import(`./Error404View-DGYkhcld.js`),[]),meta:{title:`404 - 页面未找到`}},{path:`errors/500`,name:`Error500`,component:()=>$(()=>import(`./Error500View-Dm4Rw3Uo.js`),[]),meta:{title:`500 - 服务器错误`}},{path:`errors/503`,name:`Error503`,component:()=>$(()=>import(`./Error503View-DtfGigJF.js`),[]),meta:{title:`503 - 服务不可用`}},{path:`errors/403`,name:`Error403`,component:()=>$(()=>import(`./Error403View-st0AE6PI.js`),[]),meta:{title:`403 - 访问被拒绝`}},{path:`Invite`,name:`Invite`,component:()=>$(()=>import(`./InviteIndexView-Bq4H386d.js`),__vite__mapDeps([31,1,32])),meta:{title:`加入我们`}},{path:`Invite/RecruitingTalentedIndividuals`,name:`InviteRecruiting`,component:()=>$(()=>import(`./RecruitingView-Dxgo-sGr.js`),[]),meta:{title:`招贤纳士`}},{path:`Invite/Apply`,name:`InviteApply`,component:()=>$(()=>import(`./ApplyView-BT2SZps1.js`),__vite__mapDeps([33,1,34])),meta:{title:`提交简历`}},{path:`Invite/interview`,name:`InviteInterview`,component:()=>$(()=>import(`./InterviewView-DwRhMlaD.js`),[]),meta:{title:`AI 面试`}}]},{path:`/:pathMatch(.*)*`,name:`NotFound`,component:()=>$(()=>import(`./Error404View-DGYkhcld.js`),[]),meta:{title:`404 - 页面未找到`}}],scrollBehavior(){return{top:0}}});hl.beforeEach(e=>{let t=window.location.hostname||``;return(t===`invite.gvsds.com`||t.startsWith(`invite.`))&&e.path===`/`?{path:`/Invite`,replace:!0}:!0});var gl=No(ms);gl.use($o()),gl.use(hl),gl.mount(`#app`);export{qt as A,vr as C,kn as D,On as E,le as M,be as N,Pt as O,Fi as S,Fn as T,Un as _,Co as a,ir as b,ko as c,Ki as d,Qi as f,q as g,Xi as h,So as i,A as j,Ut as k,Ai as l,Zi as m,ps as n,yo as o,Bi as p,bo as r,za as s,Os as t,Y as u,_n as v,mr as w,cr as x,sr as y};
\ No newline at end of file
diff --git a/TempLate/assets/js/tetris.js b/TempLate/assets/js/tetris.js
index 2c9c8e89..cf2a46a0 100644
--- a/TempLate/assets/js/tetris.js
+++ b/TempLate/assets/js/tetris.js
@@ -58,7 +58,6 @@ let nextPiece = null;
let score = 0;
let gameSpeed = 500; // 默认中等难度
let dropInterval = null;
-console.log(isPaused);
window.isPaused = false;
let gameOver = false;
diff --git a/TempLate/index.html b/TempLate/index.html
index 95b2fd1e..712dfe93 100644
--- a/TempLate/index.html
+++ b/TempLate/index.html
@@ -1,812 +1,14 @@
-银河锋锐软件开发工作室 - Galactic Vorpal
-一站式解决所有项目问题。
-
-
-
-
-
-
-
-
- 你好 2026! 部署项目:
- 一站式解决所有项目问题。
- 结果不佳? 我们补偿!
-
-
-
-
-
-
-
-
Total Code Size (characters)
-
-
-
-
Maximum Insurance Amount (CNY)
-
-
-
-
-
-
-
-
-
-
-
-
银河锋锐
-
SOFTWARE DEVELOPMENT STUDIO
-
下一世代的年轻开发团队
-
-
-
-
-
-
- Our Belief
-
-
- 每一份对技术的热爱 , 都能汇聚成改变 的力量。
-
-
无论你是刚踏入技术领域的新手,还是深耕行业的资深开发者—— 只要怀揣好奇,这里就是你的地方。
-
- 技术的力量源于共同探索,成长的价值在于「成就彼此」
-
-
-
-
-
- CORE
-
-
-
-
-
-
01
-
-
-
-
-
和而不同
-
尊重每一位开发者独特的风格与思路,在差异中寻求最优解。
-
-
-
-
-
02
-
-
-
-
-
创新为主
-
不满足于已知的边界,持续叩响未知领域的大门,让每一行代码都充满可能。
-
-
-
-
-
03
-
-
-
-
-
以人为本
-
技术服务于人,成长成就彼此,让每个人都能在这里找到属于自己的位置。
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Who We Are
-
我们是一群
- 热爱技术的人
-
-
-
-
-
-
-
自成立以来,始终以开源精神驱动前行,在 GitHub 等平台分享项目、文章与经验,让技术的价值触达更多人。
-
我们不追逐商业利益,通过编程兼职保障基本运转,让这里永远是一片纯粹的技术沃土。
-
这里不只是写代码的地方,更是结识同好、分享日常的温暖港湾。
-
-
-
- 开源
- 协作
- 非营利
- 创新
- 年轻
- 分享
- 成长
- 技术探索
- 热爱
- GitHub
- 彼此成就
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Join Us
-
期待与你同行
-
我们欢迎画师 、 程序员 、 测试人员 , 以及所有愿意与我们一起探索技术边界的你。
-
-
-
-
-
-
-
-
-
程序员
-
用代码构建无限可能
-
-
-
-
-
-
测试人员
-
用严谨保障每个细节
-
-
-
-
-
-
-
-
-
-
-
-
-
-
开源成果
-
我们做过什么
-
沉淀技术,开放共享 — 探索我们的核心开源项目与工程实践
-
-
-
-
-
-
-
-
-
-
-
FastProxyX
- Network Infrastructure
-
-
-
Python 实现的轻量级 Frp 反向代理工具,支持 TCP 端口转发,体积小巧,配置简单,可无缝嵌入 Python 工程项目。
-
- Python
- TCP
- 网络代理
-
-
- 查看项目
-
-
-
-
-
-
-
-
-
-
-
-
ResourceShare
- Web Performance
-
-
-
高性能跨资源共享系统,支持跨 iframe / 页面资源共享、智能缓存与加载顺序控制,全面解决 Web 应用资源管理难题。
-
- JavaScript
- 资源管理
- Web
-
-
- 查看项目
-
-
-
-
-
-
-
-
-
-
-
-
PyFabricLoader
- Game Modding
-
-
-
Minecraft Fabric 的 Python 模组加载器,基于 Jython 实现,支持 Python 模组开发,兼容 1.18.1 – 1.21.10 全版本区间。
-
- Python
- Minecraft
- Java
-
-
- 查看项目
-
-
-
-
-
-
-
-
-
-
-
-
TransPyC
- Compiler Toolchain
-
-
-
作为自制语言 “Viper” 的编译器,其以类似 Python 的语法进行 AOT,性能和 C 相当,但可读性更高。
-
- Python
- Viper
- 编译器
-
-
- 查看项目
-
-
-
-
-
-
-
-
-
-
-
-
CreateE SpaceCCL
- Spatial Computing
-
-
-
专注于空间计算与创意工程的前沿技术探索项目,融合工程实践与创意思维,持续拓展技术边界。
-
- 空间计算
- 创意工程
-
-
- 查看项目
-
-
-
-
-
-
-
-
-
-
更多开源项目
-
持续构建中 — 探索我们在 GitHub 上的完整工程仓库
-
-
-
-
- 访问 GitHub
-
-
-
-
-
-
-
-
-
-
-
美术设计
-
- 我们拥有专业的美术设计团队,涵盖UI/UX设计、品牌视觉、插画创作、3D建模等多个领域。
- 每一件作品都凝聚着创意与匠心,为您的项目注入独特的视觉魅力。
-
-
-
-
-
-
-
-
-
-
-
UI/UX设计
-
打造直观、美观的用户界面,提升用户体验与产品价值
-
-
-
-
个人艺术
-
来自画师本身独特的艺术风格
-
-
-
-
3D建模
-
高质量3D模型制作,适用于游戏、动画与产品展示
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 查看模式:
-
-
-
- 缩略图
-
-
-
- 原图
-
-
-
-
- 初稿1
-
-
- 初稿2
-
-
- 完稿
-
-
- 材质优化
-
-
- 背景成图
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Silver Frost · Wind Fiend
-
-
-
- 工作室吉祥物
-
- 银霜 · 风獠
-
-
-
-
-
-
-
- Furry
-
-
- 贴合吉祥物特征的基本合理样式
-
-
-
-
-
-
-
- 画师原话
-
-
- 我相信,优秀的画作不仅要有好看的人设,更需要经得起推敲的结构。我致力于在二次元的风格中融入严谨的透视逻辑,同时用富有感染力的色彩传达角色的情绪。
-
-
-
-
-
-
-
- 含义
-
-
- 银霜是工作室精神的具象化体现。它代表着B-Smooth对画面"凌厉线条"与"清透质感"的追求。是对画师结构理解力的极致考验。
-
-
-
-
-
-
- © 2025 Silver Frost · Wind Fiend · 版权归品牌方(组织)所有,作品权属原画师 B-Smooth,任何第三方未授权窃图皆为违法行为。
-
-
-
-
-
-
-
-
-
-
-
-
-
-
战略合作
-
值得信赖的技术合作伙伴
-
携手同行,共建技术生态
-
-
-
-
-
- Starfield Studio
- 软件开发子工作室
-
-
-
-
-
- CodeCrafter Studio
- 代码工匠工作室
-
-
-
-
-
- May Dev-Community
- 开发者社区
-
-
-
-
-
- MHD Community
- 技术社区
-
-
-
-
-
- XINGJI Studio
- 软件开发工作室
-
-
-
-
-
- N.R.C. Plan
- 10 Years 计划项目
-
-
-
-
-
- Sunny Studio
- 晴天工作室
-
-
-
-
-
- 373 [VP Studio]
- 视频制作工作室
-
-
-
-
-
-
-
-
-
-
致谢名录
-
工程谢幕
-
感谢每一位参与者的贡献与支持
-
-
-
-
- TermiNexus
-
-
- 悠然自得
-
-
- Chindows
-
-
- iamgyc
-
-
- DevZylo
-
-
- Mendelevium
-
-
- 红叶鸣秋
-
-
- 渊泽
-
-
- B-Smooth
-
-
- 羊村哲学家
-
-
- 剑来
-
-
- CodeyZhang
-
-
- Markstollr_8651
-
-
- Minecraft_2v
-
-
- Microhard_1724
-
-
- 好运莲莲
-
-
- dyjsgwist
-
-
- 李
-
-
-
-
-
-
-
-
-
-
Studio
-
不仅仅是代码。
-
- GVSDS 是一个汇聚了设计师、开发者和程序员的工作室。我们拒绝平庸的模板,致力于为合作者打造独一无二的体验。
-
-
-
-
Contact
-
-
support@gvsds.com
-
+86 182 2215 2539
-
-
-
-
-
-
-
-
\ No newline at end of file
+
+
+
+
+
+ 银河锋锐软件开发工作室
+
+
+
+
+
+
+
+
diff --git a/Version/__pycache__/__init__.cpython-312.pyc b/Version/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index b1080537..00000000
Binary files a/Version/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/TempLate/Manage/2.html b/backup/Manage/2.html
similarity index 100%
rename from TempLate/Manage/2.html
rename to backup/Manage/2.html
diff --git a/TempLate/Manage/CAP/SubMemCAPComputers.html b/backup/Manage/CAP/SubMemCAPComputers.html
similarity index 100%
rename from TempLate/Manage/CAP/SubMemCAPComputers.html
rename to backup/Manage/CAP/SubMemCAPComputers.html
diff --git a/TempLate/Manage/CAP/SubMemCAPOnline.html b/backup/Manage/CAP/SubMemCAPOnline.html
similarity index 100%
rename from TempLate/Manage/CAP/SubMemCAPOnline.html
rename to backup/Manage/CAP/SubMemCAPOnline.html
diff --git a/TempLate/Manage/CAP/Version.html b/backup/Manage/CAP/Version.html
similarity index 100%
rename from TempLate/Manage/CAP/Version.html
rename to backup/Manage/CAP/Version.html
diff --git a/TempLate/Manage/CAP/VersionUpload.html b/backup/Manage/CAP/VersionUpload.html
similarity index 100%
rename from TempLate/Manage/CAP/VersionUpload.html
rename to backup/Manage/CAP/VersionUpload.html
diff --git a/TempLate/Manage/CAP/setting.html b/backup/Manage/CAP/setting.html
similarity index 100%
rename from TempLate/Manage/CAP/setting.html
rename to backup/Manage/CAP/setting.html
diff --git a/TempLate/Manage/CAP/update.html b/backup/Manage/CAP/update.html
similarity index 100%
rename from TempLate/Manage/CAP/update.html
rename to backup/Manage/CAP/update.html
diff --git a/TempLate/Manage/DevTools/UItest.html b/backup/Manage/DevTools/UItest.html
similarity index 100%
rename from TempLate/Manage/DevTools/UItest.html
rename to backup/Manage/DevTools/UItest.html
diff --git a/TempLate/Manage/DevTools/unicode.html b/backup/Manage/DevTools/unicode.html
similarity index 100%
rename from TempLate/Manage/DevTools/unicode.html
rename to backup/Manage/DevTools/unicode.html
diff --git a/TempLate/Manage/Head.html b/backup/Manage/Head.html
similarity index 100%
rename from TempLate/Manage/Head.html
rename to backup/Manage/Head.html
diff --git a/TempLate/Manage/PersonalCenter.html b/backup/Manage/PersonalCenter.html
similarity index 100%
rename from TempLate/Manage/PersonalCenter.html
rename to backup/Manage/PersonalCenter.html
diff --git a/TempLate/Manage/ProJect/API.html b/backup/Manage/ProJect/API.html
similarity index 100%
rename from TempLate/Manage/ProJect/API.html
rename to backup/Manage/ProJect/API.html
diff --git a/TempLate/Manage/ProJect/APIShop.html b/backup/Manage/ProJect/APIShop.html
similarity index 100%
rename from TempLate/Manage/ProJect/APIShop.html
rename to backup/Manage/ProJect/APIShop.html
diff --git a/TempLate/Manage/Server/ServerStatus.html b/backup/Manage/Server/ServerStatus.html
similarity index 100%
rename from TempLate/Manage/Server/ServerStatus.html
rename to backup/Manage/Server/ServerStatus.html
diff --git a/TempLate/Manage/Studio/CheckIn copy.html b/backup/Manage/Studio/CheckIn copy.html
similarity index 100%
rename from TempLate/Manage/Studio/CheckIn copy.html
rename to backup/Manage/Studio/CheckIn copy.html
diff --git a/TempLate/Manage/Studio/CheckIn.html b/backup/Manage/Studio/CheckIn.html
similarity index 100%
rename from TempLate/Manage/Studio/CheckIn.html
rename to backup/Manage/Studio/CheckIn.html
diff --git a/TempLate/Manage/Studio/Culture.html b/backup/Manage/Studio/Culture.html
similarity index 100%
rename from TempLate/Manage/Studio/Culture.html
rename to backup/Manage/Studio/Culture.html
diff --git a/TempLate/Manage/Studio/Notify.html b/backup/Manage/Studio/Notify.html
similarity index 100%
rename from TempLate/Manage/Studio/Notify.html
rename to backup/Manage/Studio/Notify.html
diff --git a/TempLate/Manage/Studio/PAH.html b/backup/Manage/Studio/PAH.html
similarity index 100%
rename from TempLate/Manage/Studio/PAH.html
rename to backup/Manage/Studio/PAH.html
diff --git a/TempLate/Manage/Studio/help.html b/backup/Manage/Studio/help.html
similarity index 100%
rename from TempLate/Manage/Studio/help.html
rename to backup/Manage/Studio/help.html
diff --git a/TempLate/Manage/SubMem/Archives.html b/backup/Manage/SubMem/Archives.html
similarity index 100%
rename from TempLate/Manage/SubMem/Archives.html
rename to backup/Manage/SubMem/Archives.html
diff --git a/TempLate/Manage/SubMem/SubMem.html b/backup/Manage/SubMem/SubMem.html
similarity index 100%
rename from TempLate/Manage/SubMem/SubMem.html
rename to backup/Manage/SubMem/SubMem.html
diff --git a/TempLate/Manage/SubMem/SubMemAll.html b/backup/Manage/SubMem/SubMemAll.html
similarity index 100%
rename from TempLate/Manage/SubMem/SubMemAll.html
rename to backup/Manage/SubMem/SubMemAll.html
diff --git a/TempLate/Manage/SubMem/SubMemIdCard.html b/backup/Manage/SubMem/SubMemIdCard.html
similarity index 100%
rename from TempLate/Manage/SubMem/SubMemIdCard.html
rename to backup/Manage/SubMem/SubMemIdCard.html
diff --git a/TempLate/Manage/T4/Files/assets/css/style.css b/backup/Manage/T4/Files/assets/css/style.css
similarity index 100%
rename from TempLate/Manage/T4/Files/assets/css/style.css
rename to backup/Manage/T4/Files/assets/css/style.css
diff --git a/TempLate/Manage/T4/Files/assets/js/System.js b/backup/Manage/T4/Files/assets/js/System.js
similarity index 100%
rename from TempLate/Manage/T4/Files/assets/js/System.js
rename to backup/Manage/T4/Files/assets/js/System.js
diff --git a/TempLate/Manage/T4/Files/assets/js/jquery/dynatreeplugin.js b/backup/Manage/T4/Files/assets/js/jquery/dynatreeplugin.js
similarity index 100%
rename from TempLate/Manage/T4/Files/assets/js/jquery/dynatreeplugin.js
rename to backup/Manage/T4/Files/assets/js/jquery/dynatreeplugin.js
diff --git a/TempLate/Manage/T4/Files/assets/js/jquery/effects.core.js b/backup/Manage/T4/Files/assets/js/jquery/effects.core.js
similarity index 100%
rename from TempLate/Manage/T4/Files/assets/js/jquery/effects.core.js
rename to backup/Manage/T4/Files/assets/js/jquery/effects.core.js
diff --git a/TempLate/Manage/T4/Files/assets/js/jquery/effects.transfer.js b/backup/Manage/T4/Files/assets/js/jquery/effects.transfer.js
similarity index 100%
rename from TempLate/Manage/T4/Files/assets/js/jquery/effects.transfer.js
rename to backup/Manage/T4/Files/assets/js/jquery/effects.transfer.js
diff --git a/TempLate/Manage/T4/Files/assets/js/jquery/main.js b/backup/Manage/T4/Files/assets/js/jquery/main.js
similarity index 100%
rename from TempLate/Manage/T4/Files/assets/js/jquery/main.js
rename to backup/Manage/T4/Files/assets/js/jquery/main.js
diff --git a/TempLate/Manage/T4/Files/assets/js/jquery/splitter.js b/backup/Manage/T4/Files/assets/js/jquery/splitter.js
similarity index 100%
rename from TempLate/Manage/T4/Files/assets/js/jquery/splitter.js
rename to backup/Manage/T4/Files/assets/js/jquery/splitter.js
diff --git a/TempLate/Manage/T4/Files/assets/js/jquery/tablesorter.js b/backup/Manage/T4/Files/assets/js/jquery/tablesorter.js
similarity index 100%
rename from TempLate/Manage/T4/Files/assets/js/jquery/tablesorter.js
rename to backup/Manage/T4/Files/assets/js/jquery/tablesorter.js
diff --git a/TempLate/Manage/T4/Files/assets/js/jquery/ui.js b/backup/Manage/T4/Files/assets/js/jquery/ui.js
similarity index 100%
rename from TempLate/Manage/T4/Files/assets/js/jquery/ui.js
rename to backup/Manage/T4/Files/assets/js/jquery/ui.js
diff --git a/TempLate/Manage/T4/Files/assets/js/jquery/ui.widget.js b/backup/Manage/T4/Files/assets/js/jquery/ui.widget.js
similarity index 100%
rename from TempLate/Manage/T4/Files/assets/js/jquery/ui.widget.js
rename to backup/Manage/T4/Files/assets/js/jquery/ui.widget.js
diff --git a/TempLate/Manage/T4/Files/download.html b/backup/Manage/T4/Files/download.html
similarity index 100%
rename from TempLate/Manage/T4/Files/download.html
rename to backup/Manage/T4/Files/download.html
diff --git a/TempLate/Manage/T4/Files/index.html b/backup/Manage/T4/Files/index.html
similarity index 100%
rename from TempLate/Manage/T4/Files/index.html
rename to backup/Manage/T4/Files/index.html
diff --git a/TempLate/Manage/T4/RealTimeScreen.html b/backup/Manage/T4/RealTimeScreen.html
similarity index 100%
rename from TempLate/Manage/T4/RealTimeScreen.html
rename to backup/Manage/T4/RealTimeScreen.html
diff --git a/TempLate/Manage/T4/Screenshot.html b/backup/Manage/T4/Screenshot.html
similarity index 100%
rename from TempLate/Manage/T4/Screenshot.html
rename to backup/Manage/T4/Screenshot.html
diff --git a/TempLate/Manage/T4/TDINFO.html b/backup/Manage/T4/TDINFO.html
similarity index 100%
rename from TempLate/Manage/T4/TDINFO.html
rename to backup/Manage/T4/TDINFO.html
diff --git a/TempLate/Manage/T4/TLog.html b/backup/Manage/T4/TLog.html
similarity index 100%
rename from TempLate/Manage/T4/TLog.html
rename to backup/Manage/T4/TLog.html
diff --git a/TempLate/Manage/T4/WL3T.html b/backup/Manage/T4/WL3T.html
similarity index 100%
rename from TempLate/Manage/T4/WL3T.html
rename to backup/Manage/T4/WL3T.html
diff --git a/TempLate/Manage/T4/card.html b/backup/Manage/T4/card.html
similarity index 100%
rename from TempLate/Manage/T4/card.html
rename to backup/Manage/T4/card.html
diff --git a/TempLate/Manage/T4/computers copy.html b/backup/Manage/T4/computers copy.html
similarity index 100%
rename from TempLate/Manage/T4/computers copy.html
rename to backup/Manage/T4/computers copy.html
diff --git a/TempLate/Manage/T4/computers.html b/backup/Manage/T4/computers.html
similarity index 100%
rename from TempLate/Manage/T4/computers.html
rename to backup/Manage/T4/computers.html
diff --git a/TempLate/Manage/T4/css/UComputer.png b/backup/Manage/T4/css/UComputer.png
similarity index 100%
rename from TempLate/Manage/T4/css/UComputer.png
rename to backup/Manage/T4/css/UComputer.png
diff --git a/TempLate/Manage/T4/css/chart.css b/backup/Manage/T4/css/chart.css
similarity index 100%
rename from TempLate/Manage/T4/css/chart.css
rename to backup/Manage/T4/css/chart.css
diff --git a/TempLate/Manage/T4/css/cmd.css b/backup/Manage/T4/css/cmd.css
similarity index 100%
rename from TempLate/Manage/T4/css/cmd.css
rename to backup/Manage/T4/css/cmd.css
diff --git a/TempLate/Manage/T4/css/font.css b/backup/Manage/T4/css/font.css
similarity index 100%
rename from TempLate/Manage/T4/css/font.css
rename to backup/Manage/T4/css/font.css
diff --git a/TempLate/Manage/T4/css/hardware.css b/backup/Manage/T4/css/hardware.css
similarity index 100%
rename from TempLate/Manage/T4/css/hardware.css
rename to backup/Manage/T4/css/hardware.css
diff --git a/TempLate/Manage/T4/css/t4commandbg.png b/backup/Manage/T4/css/t4commandbg.png
similarity index 100%
rename from TempLate/Manage/T4/css/t4commandbg.png
rename to backup/Manage/T4/css/t4commandbg.png
diff --git a/TempLate/Manage/T4/css/task.css b/backup/Manage/T4/css/task.css
similarity index 100%
rename from TempLate/Manage/T4/css/task.css
rename to backup/Manage/T4/css/task.css
diff --git a/TempLate/Manage/T4/css/tools-icon-btn.css b/backup/Manage/T4/css/tools-icon-btn.css
similarity index 100%
rename from TempLate/Manage/T4/css/tools-icon-btn.css
rename to backup/Manage/T4/css/tools-icon-btn.css
diff --git a/TempLate/Manage/T4/font/CaskaydiaMonoNerdFontMono-Regular.ttf b/backup/Manage/T4/font/CaskaydiaMonoNerdFontMono-Regular.ttf
similarity index 100%
rename from TempLate/Manage/T4/font/CaskaydiaMonoNerdFontMono-Regular.ttf
rename to backup/Manage/T4/font/CaskaydiaMonoNerdFontMono-Regular.ttf
diff --git a/TempLate/Manage/T4/font/UbuntuMonoDerivativePowerline.ttf b/backup/Manage/T4/font/UbuntuMonoDerivativePowerline.ttf
similarity index 100%
rename from TempLate/Manage/T4/font/UbuntuMonoDerivativePowerline.ttf
rename to backup/Manage/T4/font/UbuntuMonoDerivativePowerline.ttf
diff --git a/TempLate/Manage/T4/js/ansi_up/ansi_up.js b/backup/Manage/T4/js/ansi_up/ansi_up.js
similarity index 100%
rename from TempLate/Manage/T4/js/ansi_up/ansi_up.js
rename to backup/Manage/T4/js/ansi_up/ansi_up.js
diff --git a/TempLate/Manage/T4/key.html b/backup/Manage/T4/key.html
similarity index 100%
rename from TempLate/Manage/T4/key.html
rename to backup/Manage/T4/key.html
diff --git a/TempLate/Manage/T4/plans/A.html b/backup/Manage/T4/plans/A.html
similarity index 100%
rename from TempLate/Manage/T4/plans/A.html
rename to backup/Manage/T4/plans/A.html
diff --git a/TempLate/Manage/T4/plans/B.html b/backup/Manage/T4/plans/B.html
similarity index 100%
rename from TempLate/Manage/T4/plans/B.html
rename to backup/Manage/T4/plans/B.html
diff --git a/TempLate/Manage/T4/plans/TECW.html b/backup/Manage/T4/plans/TECW.html
similarity index 100%
rename from TempLate/Manage/T4/plans/TECW.html
rename to backup/Manage/T4/plans/TECW.html
diff --git a/TempLate/Manage/T4/plans/THEND.html b/backup/Manage/T4/plans/THEND.html
similarity index 100%
rename from TempLate/Manage/T4/plans/THEND.html
rename to backup/Manage/T4/plans/THEND.html
diff --git a/TempLate/Manage/T4/test.html b/backup/Manage/T4/test.html
similarity index 100%
rename from TempLate/Manage/T4/test.html
rename to backup/Manage/T4/test.html
diff --git a/TempLate/Manage/TalentPlan/IdCard.html b/backup/Manage/TalentPlan/IdCard.html
similarity index 100%
rename from TempLate/Manage/TalentPlan/IdCard.html
rename to backup/Manage/TalentPlan/IdCard.html
diff --git a/TempLate/Manage/TalentPlan/TalentPlan.html b/backup/Manage/TalentPlan/TalentPlan.html
similarity index 100%
rename from TempLate/Manage/TalentPlan/TalentPlan.html
rename to backup/Manage/TalentPlan/TalentPlan.html
diff --git a/TempLate/Manage/TalentPlan/TalentPlanEcho.html b/backup/Manage/TalentPlan/TalentPlanEcho.html
similarity index 100%
rename from TempLate/Manage/TalentPlan/TalentPlanEcho.html
rename to backup/Manage/TalentPlan/TalentPlanEcho.html
diff --git a/TempLate/Manage/TalentPlan/TalentPlanSubCard.html b/backup/Manage/TalentPlan/TalentPlanSubCard.html
similarity index 100%
rename from TempLate/Manage/TalentPlan/TalentPlanSubCard.html
rename to backup/Manage/TalentPlan/TalentPlanSubCard.html
diff --git a/TempLate/Manage/Tasks/NewTasks.html b/backup/Manage/Tasks/NewTasks.html
similarity index 100%
rename from TempLate/Manage/Tasks/NewTasks.html
rename to backup/Manage/Tasks/NewTasks.html
diff --git a/TempLate/Manage/Tasks/TaskAdd.html b/backup/Manage/Tasks/TaskAdd.html
similarity index 100%
rename from TempLate/Manage/Tasks/TaskAdd.html
rename to backup/Manage/Tasks/TaskAdd.html
diff --git a/TempLate/Manage/Tasks/TaskFinish.html b/backup/Manage/Tasks/TaskFinish.html
similarity index 100%
rename from TempLate/Manage/Tasks/TaskFinish.html
rename to backup/Manage/Tasks/TaskFinish.html
diff --git a/TempLate/Manage/Tasks/TaskToDo.html b/backup/Manage/Tasks/TaskToDo.html
similarity index 100%
rename from TempLate/Manage/Tasks/TaskToDo.html
rename to backup/Manage/Tasks/TaskToDo.html
diff --git a/TempLate/Manage/Tasks/Tasks.html b/backup/Manage/Tasks/Tasks.html
similarity index 100%
rename from TempLate/Manage/Tasks/Tasks.html
rename to backup/Manage/Tasks/Tasks.html
diff --git a/TempLate/Manage/User/ChangePasswd.html b/backup/Manage/User/ChangePasswd.html
similarity index 100%
rename from TempLate/Manage/User/ChangePasswd.html
rename to backup/Manage/User/ChangePasswd.html
diff --git a/TempLate/Manage/User/checkin.html b/backup/Manage/User/checkin.html
similarity index 100%
rename from TempLate/Manage/User/checkin.html
rename to backup/Manage/User/checkin.html
diff --git a/TempLate/Manage/User/config.html b/backup/Manage/User/config.html
similarity index 100%
rename from TempLate/Manage/User/config.html
rename to backup/Manage/User/config.html
diff --git a/TempLate/Manage/User/home.html b/backup/Manage/User/home.html
similarity index 100%
rename from TempLate/Manage/User/home.html
rename to backup/Manage/User/home.html
diff --git a/TempLate/Manage/User/idcard.html b/backup/Manage/User/idcard.html
similarity index 100%
rename from TempLate/Manage/User/idcard.html
rename to backup/Manage/User/idcard.html
diff --git a/TempLate/Manage/User/personalconfig.html b/backup/Manage/User/personalconfig.html
similarity index 100%
rename from TempLate/Manage/User/personalconfig.html
rename to backup/Manage/User/personalconfig.html
diff --git a/TempLate/Manage/User/theme.html b/backup/Manage/User/theme.html
similarity index 100%
rename from TempLate/Manage/User/theme.html
rename to backup/Manage/User/theme.html
diff --git a/TempLate/Manage/WebSite/Members.html b/backup/Manage/WebSite/Members.html
similarity index 100%
rename from TempLate/Manage/WebSite/Members.html
rename to backup/Manage/WebSite/Members.html
diff --git a/TempLate/Manage/Welcome.html b/backup/Manage/Welcome.html
similarity index 100%
rename from TempLate/Manage/Welcome.html
rename to backup/Manage/Welcome.html
diff --git a/TempLate/Manage/WorkGroup/Archives.html b/backup/Manage/WorkGroup/Archives.html
similarity index 100%
rename from TempLate/Manage/WorkGroup/Archives.html
rename to backup/Manage/WorkGroup/Archives.html
diff --git a/TempLate/Manage/WorkGroup/AssessmentCenter.html b/backup/Manage/WorkGroup/AssessmentCenter.html
similarity index 100%
rename from TempLate/Manage/WorkGroup/AssessmentCenter.html
rename to backup/Manage/WorkGroup/AssessmentCenter.html
diff --git a/TempLate/Manage/WorkGroup/TaskShop.html b/backup/Manage/WorkGroup/TaskShop.html
similarity index 100%
rename from TempLate/Manage/WorkGroup/TaskShop.html
rename to backup/Manage/WorkGroup/TaskShop.html
diff --git a/TempLate/Manage/assets/fonts/Mojangles.ttf b/backup/Manage/assets/fonts/Mojangles.ttf
similarity index 100%
rename from TempLate/Manage/assets/fonts/Mojangles.ttf
rename to backup/Manage/assets/fonts/Mojangles.ttf
diff --git a/TempLate/Manage/assets/fonts/iconfont.eot b/backup/Manage/assets/fonts/iconfont.eot
similarity index 100%
rename from TempLate/Manage/assets/fonts/iconfont.eot
rename to backup/Manage/assets/fonts/iconfont.eot
diff --git a/TempLate/Manage/assets/fonts/iconfont.svg b/backup/Manage/assets/fonts/iconfont.svg
similarity index 100%
rename from TempLate/Manage/assets/fonts/iconfont.svg
rename to backup/Manage/assets/fonts/iconfont.svg
diff --git a/TempLate/Manage/assets/fonts/iconfont.ttf b/backup/Manage/assets/fonts/iconfont.ttf
similarity index 100%
rename from TempLate/Manage/assets/fonts/iconfont.ttf
rename to backup/Manage/assets/fonts/iconfont.ttf
diff --git a/TempLate/Manage/assets/fonts/iconfont.woff b/backup/Manage/assets/fonts/iconfont.woff
similarity index 100%
rename from TempLate/Manage/assets/fonts/iconfont.woff
rename to backup/Manage/assets/fonts/iconfont.woff
diff --git a/TempLate/Manage/assets/fonts/nucleo.eot b/backup/Manage/assets/fonts/nucleo.eot
similarity index 100%
rename from TempLate/Manage/assets/fonts/nucleo.eot
rename to backup/Manage/assets/fonts/nucleo.eot
diff --git a/TempLate/Manage/assets/fonts/nucleo.ttf b/backup/Manage/assets/fonts/nucleo.ttf
similarity index 100%
rename from TempLate/Manage/assets/fonts/nucleo.ttf
rename to backup/Manage/assets/fonts/nucleo.ttf
diff --git a/TempLate/Manage/assets/fonts/nucleo.woff b/backup/Manage/assets/fonts/nucleo.woff
similarity index 100%
rename from TempLate/Manage/assets/fonts/nucleo.woff
rename to backup/Manage/assets/fonts/nucleo.woff
diff --git a/TempLate/Manage/assets/fonts/nucleo.woff2 b/backup/Manage/assets/fonts/nucleo.woff2
similarity index 100%
rename from TempLate/Manage/assets/fonts/nucleo.woff2
rename to backup/Manage/assets/fonts/nucleo.woff2
diff --git a/TempLate/Manage/assets/img/517be394571ebaa472641662e957b9f.jpg b/backup/Manage/assets/img/517be394571ebaa472641662e957b9f.jpg
similarity index 100%
rename from TempLate/Manage/assets/img/517be394571ebaa472641662e957b9f.jpg
rename to backup/Manage/assets/img/517be394571ebaa472641662e957b9f.jpg
diff --git a/TempLate/Manage/assets/img/7a7daf795b420a3821f5e7c03bb26c6.png b/backup/Manage/assets/img/7a7daf795b420a3821f5e7c03bb26c6.png
similarity index 100%
rename from TempLate/Manage/assets/img/7a7daf795b420a3821f5e7c03bb26c6.png
rename to backup/Manage/assets/img/7a7daf795b420a3821f5e7c03bb26c6.png
diff --git a/TempLate/Manage/assets/img/CenterICON - Copy.png b/backup/Manage/assets/img/CenterICON - Copy.png
similarity index 100%
rename from TempLate/Manage/assets/img/CenterICON - Copy.png
rename to backup/Manage/assets/img/CenterICON - Copy.png
diff --git a/TempLate/Manage/assets/img/CenterICON.png b/backup/Manage/assets/img/CenterICON.png
similarity index 100%
rename from TempLate/Manage/assets/img/CenterICON.png
rename to backup/Manage/assets/img/CenterICON.png
diff --git a/TempLate/Manage/assets/img/UserDefaultImg.png b/backup/Manage/assets/img/UserDefaultImg.png
similarity index 100%
rename from TempLate/Manage/assets/img/UserDefaultImg.png
rename to backup/Manage/assets/img/UserDefaultImg.png
diff --git a/TempLate/Manage/assets/js/core/bootstrap.min.js b/backup/Manage/assets/js/core/bootstrap.min.js
similarity index 100%
rename from TempLate/Manage/assets/js/core/bootstrap.min.js
rename to backup/Manage/assets/js/core/bootstrap.min.js
diff --git a/TempLate/Manage/assets/js/core/echarts.min.js b/backup/Manage/assets/js/core/echarts.min.js
similarity index 100%
rename from TempLate/Manage/assets/js/core/echarts.min.js
rename to backup/Manage/assets/js/core/echarts.min.js
diff --git a/TempLate/Manage/assets/js/core/echarts.world.js b/backup/Manage/assets/js/core/echarts.world.js
similarity index 100%
rename from TempLate/Manage/assets/js/core/echarts.world.js
rename to backup/Manage/assets/js/core/echarts.world.js
diff --git a/TempLate/Manage/assets/js/core/jquery.min.js b/backup/Manage/assets/js/core/jquery.min.js
similarity index 100%
rename from TempLate/Manage/assets/js/core/jquery.min.js
rename to backup/Manage/assets/js/core/jquery.min.js
diff --git a/TempLate/Manage/assets/js/core/popper.min.js b/backup/Manage/assets/js/core/popper.min.js
similarity index 100%
rename from TempLate/Manage/assets/js/core/popper.min.js
rename to backup/Manage/assets/js/core/popper.min.js
diff --git a/TempLate/Manage/assets/js/core/scrollreveal.min.js b/backup/Manage/assets/js/core/scrollreveal.min.js
similarity index 100%
rename from TempLate/Manage/assets/js/core/scrollreveal.min.js
rename to backup/Manage/assets/js/core/scrollreveal.min.js
diff --git a/TempLate/Manage/assets/js/socket/socket.io.esm.min.js b/backup/Manage/assets/js/socket/socket.io.esm.min.js
similarity index 100%
rename from TempLate/Manage/assets/js/socket/socket.io.esm.min.js
rename to backup/Manage/assets/js/socket/socket.io.esm.min.js
diff --git a/TempLate/Manage/assets/js/socket/socket.io.esm.min.js.map b/backup/Manage/assets/js/socket/socket.io.esm.min.js.map
similarity index 100%
rename from TempLate/Manage/assets/js/socket/socket.io.esm.min.js.map
rename to backup/Manage/assets/js/socket/socket.io.esm.min.js.map
diff --git a/TempLate/Manage/assets/js/socket/socket.io.js b/backup/Manage/assets/js/socket/socket.io.js
similarity index 100%
rename from TempLate/Manage/assets/js/socket/socket.io.js
rename to backup/Manage/assets/js/socket/socket.io.js
diff --git a/TempLate/Manage/assets/js/socket/socket.io.js.map b/backup/Manage/assets/js/socket/socket.io.js.map
similarity index 100%
rename from TempLate/Manage/assets/js/socket/socket.io.js.map
rename to backup/Manage/assets/js/socket/socket.io.js.map
diff --git a/TempLate/Manage/assets/js/socket/socket.io.min.js b/backup/Manage/assets/js/socket/socket.io.min.js
similarity index 100%
rename from TempLate/Manage/assets/js/socket/socket.io.min.js
rename to backup/Manage/assets/js/socket/socket.io.min.js
diff --git a/TempLate/Manage/assets/js/socket/socket.io.min.js.map b/backup/Manage/assets/js/socket/socket.io.min.js.map
similarity index 100%
rename from TempLate/Manage/assets/js/socket/socket.io.min.js.map
rename to backup/Manage/assets/js/socket/socket.io.min.js.map
diff --git a/TempLate/Manage/assets/js/socket/socket.io.msgpack.min.js b/backup/Manage/assets/js/socket/socket.io.msgpack.min.js
similarity index 100%
rename from TempLate/Manage/assets/js/socket/socket.io.msgpack.min.js
rename to backup/Manage/assets/js/socket/socket.io.msgpack.min.js
diff --git a/TempLate/Manage/assets/js/socket/socket.io.msgpack.min.js.map b/backup/Manage/assets/js/socket/socket.io.msgpack.min.js.map
similarity index 100%
rename from TempLate/Manage/assets/js/socket/socket.io.msgpack.min.js.map
rename to backup/Manage/assets/js/socket/socket.io.msgpack.min.js.map
diff --git a/TempLate/Manage/css/FinishTaskDo.css b/backup/Manage/css/FinishTaskDo.css
similarity index 100%
rename from TempLate/Manage/css/FinishTaskDo.css
rename to backup/Manage/css/FinishTaskDo.css
diff --git a/TempLate/Manage/css/api.css b/backup/Manage/css/api.css
similarity index 100%
rename from TempLate/Manage/css/api.css
rename to backup/Manage/css/api.css
diff --git a/TempLate/Manage/css/chunk.css b/backup/Manage/css/chunk.css
similarity index 100%
rename from TempLate/Manage/css/chunk.css
rename to backup/Manage/css/chunk.css
diff --git a/TempLate/Manage/css/fold.css b/backup/Manage/css/fold.css
similarity index 100%
rename from TempLate/Manage/css/fold.css
rename to backup/Manage/css/fold.css
diff --git a/TempLate/Manage/css/font.css b/backup/Manage/css/font.css
similarity index 100%
rename from TempLate/Manage/css/font.css
rename to backup/Manage/css/font.css
diff --git a/TempLate/Manage/css/idcard.css b/backup/Manage/css/idcard.css
similarity index 100%
rename from TempLate/Manage/css/idcard.css
rename to backup/Manage/css/idcard.css
diff --git a/TempLate/Manage/css/login.css b/backup/Manage/css/login.css
similarity index 100%
rename from TempLate/Manage/css/login.css
rename to backup/Manage/css/login.css
diff --git a/TempLate/Manage/css/notice.css b/backup/Manage/css/notice.css
similarity index 100%
rename from TempLate/Manage/css/notice.css
rename to backup/Manage/css/notice.css
diff --git a/TempLate/Manage/css/notify.old.css b/backup/Manage/css/notify.old.css
similarity index 100%
rename from TempLate/Manage/css/notify.old.css
rename to backup/Manage/css/notify.old.css
diff --git a/TempLate/Manage/css/oldwin10.css b/backup/Manage/css/oldwin10.css
similarity index 100%
rename from TempLate/Manage/css/oldwin10.css
rename to backup/Manage/css/oldwin10.css
diff --git a/TempLate/Manage/css/theme1.css b/backup/Manage/css/theme1.css
similarity index 100%
rename from TempLate/Manage/css/theme1.css
rename to backup/Manage/css/theme1.css
diff --git a/TempLate/Manage/css/theme2.css b/backup/Manage/css/theme2.css
similarity index 100%
rename from TempLate/Manage/css/theme2.css
rename to backup/Manage/css/theme2.css
diff --git a/TempLate/Manage/css/theme3.css b/backup/Manage/css/theme3.css
similarity index 100%
rename from TempLate/Manage/css/theme3.css
rename to backup/Manage/css/theme3.css
diff --git a/TempLate/Manage/css/theme4.css b/backup/Manage/css/theme4.css
similarity index 100%
rename from TempLate/Manage/css/theme4.css
rename to backup/Manage/css/theme4.css
diff --git a/TempLate/Manage/css/theme5.css b/backup/Manage/css/theme5.css
similarity index 100%
rename from TempLate/Manage/css/theme5.css
rename to backup/Manage/css/theme5.css
diff --git a/TempLate/Manage/css/theme6.css b/backup/Manage/css/theme6.css
similarity index 100%
rename from TempLate/Manage/css/theme6.css
rename to backup/Manage/css/theme6.css
diff --git a/TempLate/Manage/css/win10ui.css b/backup/Manage/css/win10ui.css
similarity index 100%
rename from TempLate/Manage/css/win10ui.css
rename to backup/Manage/css/win10ui.css
diff --git a/TempLate/Manage/css/xadmin.css b/backup/Manage/css/xadmin.css
similarity index 100%
rename from TempLate/Manage/css/xadmin.css
rename to backup/Manage/css/xadmin.css
diff --git a/TempLate/Manage/img/1.png b/backup/Manage/img/1.png
similarity index 100%
rename from TempLate/Manage/img/1.png
rename to backup/Manage/img/1.png
diff --git a/TempLate/Manage/img/2.png b/backup/Manage/img/2.png
similarity index 100%
rename from TempLate/Manage/img/2.png
rename to backup/Manage/img/2.png
diff --git a/TempLate/Manage/img/3.png b/backup/Manage/img/3.png
similarity index 100%
rename from TempLate/Manage/img/3.png
rename to backup/Manage/img/3.png
diff --git a/TempLate/Manage/img/yes.png b/backup/Manage/img/yes.png
similarity index 100%
rename from TempLate/Manage/img/yes.png
rename to backup/Manage/img/yes.png
diff --git a/TempLate/Manage/index.html b/backup/Manage/index.html
similarity index 100%
rename from TempLate/Manage/index.html
rename to backup/Manage/index.html
diff --git a/TempLate/Manage/js/address.bar.js b/backup/Manage/js/address.bar.js
similarity index 100%
rename from TempLate/Manage/js/address.bar.js
rename to backup/Manage/js/address.bar.js
diff --git a/TempLate/Manage/js/fold.js b/backup/Manage/js/fold.js
similarity index 100%
rename from TempLate/Manage/js/fold.js
rename to backup/Manage/js/fold.js
diff --git a/TempLate/Manage/js/i18n.js b/backup/Manage/js/i18n.js
similarity index 100%
rename from TempLate/Manage/js/i18n.js
rename to backup/Manage/js/i18n.js
diff --git a/TempLate/Manage/js/i18n.t4.js b/backup/Manage/js/i18n.t4.js
similarity index 100%
rename from TempLate/Manage/js/i18n.t4.js
rename to backup/Manage/js/i18n.t4.js
diff --git a/TempLate/Manage/js/jquery.min.js b/backup/Manage/js/jquery.min.js
similarity index 100%
rename from TempLate/Manage/js/jquery.min.js
rename to backup/Manage/js/jquery.min.js
diff --git a/TempLate/Manage/js/tables.js b/backup/Manage/js/tables.js
similarity index 100%
rename from TempLate/Manage/js/tables.js
rename to backup/Manage/js/tables.js
diff --git a/TempLate/Manage/js/xadmin copy.js b/backup/Manage/js/xadmin copy.js
similarity index 100%
rename from TempLate/Manage/js/xadmin copy.js
rename to backup/Manage/js/xadmin copy.js
diff --git a/TempLate/Manage/js/xadmin.css.txt b/backup/Manage/js/xadmin.css.txt
similarity index 100%
rename from TempLate/Manage/js/xadmin.css.txt
rename to backup/Manage/js/xadmin.css.txt
diff --git a/TempLate/Manage/js/xadmin.js b/backup/Manage/js/xadmin.js
similarity index 100%
rename from TempLate/Manage/js/xadmin.js
rename to backup/Manage/js/xadmin.js
diff --git a/TempLate/Manage/js/xadmin.js.txt b/backup/Manage/js/xadmin.js.txt
similarity index 100%
rename from TempLate/Manage/js/xadmin.js.txt
rename to backup/Manage/js/xadmin.js.txt
diff --git a/TempLate/Manage/js/xcity.js b/backup/Manage/js/xcity.js
similarity index 100%
rename from TempLate/Manage/js/xcity.js
rename to backup/Manage/js/xcity.js
diff --git a/TempLate/Manage/lib/layui/css/layui.css b/backup/Manage/lib/layui/css/layui.css
similarity index 100%
rename from TempLate/Manage/lib/layui/css/layui.css
rename to backup/Manage/lib/layui/css/layui.css
diff --git a/TempLate/Manage/lib/layui/css/layui.mobile.css b/backup/Manage/lib/layui/css/layui.mobile.css
similarity index 100%
rename from TempLate/Manage/lib/layui/css/layui.mobile.css
rename to backup/Manage/lib/layui/css/layui.mobile.css
diff --git a/TempLate/Manage/lib/layui/css/layuia.css b/backup/Manage/lib/layui/css/layuia.css
similarity index 100%
rename from TempLate/Manage/lib/layui/css/layuia.css
rename to backup/Manage/lib/layui/css/layuia.css
diff --git a/TempLate/Manage/lib/layui/css/modules/code.css b/backup/Manage/lib/layui/css/modules/code.css
similarity index 100%
rename from TempLate/Manage/lib/layui/css/modules/code.css
rename to backup/Manage/lib/layui/css/modules/code.css
diff --git a/TempLate/Manage/lib/layui/css/modules/laydate/default/laydate.css b/backup/Manage/lib/layui/css/modules/laydate/default/laydate.css
similarity index 100%
rename from TempLate/Manage/lib/layui/css/modules/laydate/default/laydate.css
rename to backup/Manage/lib/layui/css/modules/laydate/default/laydate.css
diff --git a/TempLate/Manage/lib/layui/css/modules/layer/default/icon-ext.png b/backup/Manage/lib/layui/css/modules/layer/default/icon-ext.png
similarity index 100%
rename from TempLate/Manage/lib/layui/css/modules/layer/default/icon-ext.png
rename to backup/Manage/lib/layui/css/modules/layer/default/icon-ext.png
diff --git a/TempLate/Manage/lib/layui/css/modules/layer/default/icon.png b/backup/Manage/lib/layui/css/modules/layer/default/icon.png
similarity index 100%
rename from TempLate/Manage/lib/layui/css/modules/layer/default/icon.png
rename to backup/Manage/lib/layui/css/modules/layer/default/icon.png
diff --git a/TempLate/Manage/lib/layui/css/modules/layer/default/layer.css b/backup/Manage/lib/layui/css/modules/layer/default/layer.css
similarity index 100%
rename from TempLate/Manage/lib/layui/css/modules/layer/default/layer.css
rename to backup/Manage/lib/layui/css/modules/layer/default/layer.css
diff --git a/TempLate/Manage/lib/layui/css/modules/layer/default/loading-0.gif b/backup/Manage/lib/layui/css/modules/layer/default/loading-0.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/css/modules/layer/default/loading-0.gif
rename to backup/Manage/lib/layui/css/modules/layer/default/loading-0.gif
diff --git a/TempLate/Manage/lib/layui/css/modules/layer/default/loading-1.gif b/backup/Manage/lib/layui/css/modules/layer/default/loading-1.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/css/modules/layer/default/loading-1.gif
rename to backup/Manage/lib/layui/css/modules/layer/default/loading-1.gif
diff --git a/TempLate/Manage/lib/layui/css/modules/layer/default/loading-2.gif b/backup/Manage/lib/layui/css/modules/layer/default/loading-2.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/css/modules/layer/default/loading-2.gif
rename to backup/Manage/lib/layui/css/modules/layer/default/loading-2.gif
diff --git a/TempLate/Manage/lib/layui/font/iconfont.eot b/backup/Manage/lib/layui/font/iconfont.eot
similarity index 100%
rename from TempLate/Manage/lib/layui/font/iconfont.eot
rename to backup/Manage/lib/layui/font/iconfont.eot
diff --git a/TempLate/Manage/lib/layui/font/iconfont.svg b/backup/Manage/lib/layui/font/iconfont.svg
similarity index 100%
rename from TempLate/Manage/lib/layui/font/iconfont.svg
rename to backup/Manage/lib/layui/font/iconfont.svg
diff --git a/TempLate/Manage/lib/layui/font/iconfont.ttf b/backup/Manage/lib/layui/font/iconfont.ttf
similarity index 100%
rename from TempLate/Manage/lib/layui/font/iconfont.ttf
rename to backup/Manage/lib/layui/font/iconfont.ttf
diff --git a/TempLate/Manage/lib/layui/font/iconfont.woff b/backup/Manage/lib/layui/font/iconfont.woff
similarity index 100%
rename from TempLate/Manage/lib/layui/font/iconfont.woff
rename to backup/Manage/lib/layui/font/iconfont.woff
diff --git a/TempLate/Manage/lib/layui/font/iconfont.woff2 b/backup/Manage/lib/layui/font/iconfont.woff2
similarity index 100%
rename from TempLate/Manage/lib/layui/font/iconfont.woff2
rename to backup/Manage/lib/layui/font/iconfont.woff2
diff --git a/TempLate/Manage/lib/layui/images/face/0.gif b/backup/Manage/lib/layui/images/face/0.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/0.gif
rename to backup/Manage/lib/layui/images/face/0.gif
diff --git a/TempLate/Manage/lib/layui/images/face/1.gif b/backup/Manage/lib/layui/images/face/1.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/1.gif
rename to backup/Manage/lib/layui/images/face/1.gif
diff --git a/TempLate/Manage/lib/layui/images/face/10.gif b/backup/Manage/lib/layui/images/face/10.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/10.gif
rename to backup/Manage/lib/layui/images/face/10.gif
diff --git a/TempLate/Manage/lib/layui/images/face/11.gif b/backup/Manage/lib/layui/images/face/11.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/11.gif
rename to backup/Manage/lib/layui/images/face/11.gif
diff --git a/TempLate/Manage/lib/layui/images/face/12.gif b/backup/Manage/lib/layui/images/face/12.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/12.gif
rename to backup/Manage/lib/layui/images/face/12.gif
diff --git a/TempLate/Manage/lib/layui/images/face/13.gif b/backup/Manage/lib/layui/images/face/13.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/13.gif
rename to backup/Manage/lib/layui/images/face/13.gif
diff --git a/TempLate/Manage/lib/layui/images/face/14.gif b/backup/Manage/lib/layui/images/face/14.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/14.gif
rename to backup/Manage/lib/layui/images/face/14.gif
diff --git a/TempLate/Manage/lib/layui/images/face/15.gif b/backup/Manage/lib/layui/images/face/15.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/15.gif
rename to backup/Manage/lib/layui/images/face/15.gif
diff --git a/TempLate/Manage/lib/layui/images/face/16.gif b/backup/Manage/lib/layui/images/face/16.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/16.gif
rename to backup/Manage/lib/layui/images/face/16.gif
diff --git a/TempLate/Manage/lib/layui/images/face/17.gif b/backup/Manage/lib/layui/images/face/17.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/17.gif
rename to backup/Manage/lib/layui/images/face/17.gif
diff --git a/TempLate/Manage/lib/layui/images/face/18.gif b/backup/Manage/lib/layui/images/face/18.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/18.gif
rename to backup/Manage/lib/layui/images/face/18.gif
diff --git a/TempLate/Manage/lib/layui/images/face/19.gif b/backup/Manage/lib/layui/images/face/19.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/19.gif
rename to backup/Manage/lib/layui/images/face/19.gif
diff --git a/TempLate/Manage/lib/layui/images/face/2.gif b/backup/Manage/lib/layui/images/face/2.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/2.gif
rename to backup/Manage/lib/layui/images/face/2.gif
diff --git a/TempLate/Manage/lib/layui/images/face/20.gif b/backup/Manage/lib/layui/images/face/20.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/20.gif
rename to backup/Manage/lib/layui/images/face/20.gif
diff --git a/TempLate/Manage/lib/layui/images/face/21.gif b/backup/Manage/lib/layui/images/face/21.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/21.gif
rename to backup/Manage/lib/layui/images/face/21.gif
diff --git a/TempLate/Manage/lib/layui/images/face/22.gif b/backup/Manage/lib/layui/images/face/22.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/22.gif
rename to backup/Manage/lib/layui/images/face/22.gif
diff --git a/TempLate/Manage/lib/layui/images/face/23.gif b/backup/Manage/lib/layui/images/face/23.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/23.gif
rename to backup/Manage/lib/layui/images/face/23.gif
diff --git a/TempLate/Manage/lib/layui/images/face/24.gif b/backup/Manage/lib/layui/images/face/24.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/24.gif
rename to backup/Manage/lib/layui/images/face/24.gif
diff --git a/TempLate/Manage/lib/layui/images/face/25.gif b/backup/Manage/lib/layui/images/face/25.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/25.gif
rename to backup/Manage/lib/layui/images/face/25.gif
diff --git a/TempLate/Manage/lib/layui/images/face/26.gif b/backup/Manage/lib/layui/images/face/26.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/26.gif
rename to backup/Manage/lib/layui/images/face/26.gif
diff --git a/TempLate/Manage/lib/layui/images/face/27.gif b/backup/Manage/lib/layui/images/face/27.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/27.gif
rename to backup/Manage/lib/layui/images/face/27.gif
diff --git a/TempLate/Manage/lib/layui/images/face/28.gif b/backup/Manage/lib/layui/images/face/28.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/28.gif
rename to backup/Manage/lib/layui/images/face/28.gif
diff --git a/TempLate/Manage/lib/layui/images/face/29.gif b/backup/Manage/lib/layui/images/face/29.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/29.gif
rename to backup/Manage/lib/layui/images/face/29.gif
diff --git a/TempLate/Manage/lib/layui/images/face/3.gif b/backup/Manage/lib/layui/images/face/3.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/3.gif
rename to backup/Manage/lib/layui/images/face/3.gif
diff --git a/TempLate/Manage/lib/layui/images/face/30.gif b/backup/Manage/lib/layui/images/face/30.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/30.gif
rename to backup/Manage/lib/layui/images/face/30.gif
diff --git a/TempLate/Manage/lib/layui/images/face/31.gif b/backup/Manage/lib/layui/images/face/31.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/31.gif
rename to backup/Manage/lib/layui/images/face/31.gif
diff --git a/TempLate/Manage/lib/layui/images/face/32.gif b/backup/Manage/lib/layui/images/face/32.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/32.gif
rename to backup/Manage/lib/layui/images/face/32.gif
diff --git a/TempLate/Manage/lib/layui/images/face/33.gif b/backup/Manage/lib/layui/images/face/33.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/33.gif
rename to backup/Manage/lib/layui/images/face/33.gif
diff --git a/TempLate/Manage/lib/layui/images/face/34.gif b/backup/Manage/lib/layui/images/face/34.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/34.gif
rename to backup/Manage/lib/layui/images/face/34.gif
diff --git a/TempLate/Manage/lib/layui/images/face/35.gif b/backup/Manage/lib/layui/images/face/35.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/35.gif
rename to backup/Manage/lib/layui/images/face/35.gif
diff --git a/TempLate/Manage/lib/layui/images/face/36.gif b/backup/Manage/lib/layui/images/face/36.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/36.gif
rename to backup/Manage/lib/layui/images/face/36.gif
diff --git a/TempLate/Manage/lib/layui/images/face/37.gif b/backup/Manage/lib/layui/images/face/37.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/37.gif
rename to backup/Manage/lib/layui/images/face/37.gif
diff --git a/TempLate/Manage/lib/layui/images/face/38.gif b/backup/Manage/lib/layui/images/face/38.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/38.gif
rename to backup/Manage/lib/layui/images/face/38.gif
diff --git a/TempLate/Manage/lib/layui/images/face/39.gif b/backup/Manage/lib/layui/images/face/39.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/39.gif
rename to backup/Manage/lib/layui/images/face/39.gif
diff --git a/TempLate/Manage/lib/layui/images/face/4.gif b/backup/Manage/lib/layui/images/face/4.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/4.gif
rename to backup/Manage/lib/layui/images/face/4.gif
diff --git a/TempLate/Manage/lib/layui/images/face/40.gif b/backup/Manage/lib/layui/images/face/40.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/40.gif
rename to backup/Manage/lib/layui/images/face/40.gif
diff --git a/TempLate/Manage/lib/layui/images/face/41.gif b/backup/Manage/lib/layui/images/face/41.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/41.gif
rename to backup/Manage/lib/layui/images/face/41.gif
diff --git a/TempLate/Manage/lib/layui/images/face/42.gif b/backup/Manage/lib/layui/images/face/42.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/42.gif
rename to backup/Manage/lib/layui/images/face/42.gif
diff --git a/TempLate/Manage/lib/layui/images/face/43.gif b/backup/Manage/lib/layui/images/face/43.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/43.gif
rename to backup/Manage/lib/layui/images/face/43.gif
diff --git a/TempLate/Manage/lib/layui/images/face/44.gif b/backup/Manage/lib/layui/images/face/44.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/44.gif
rename to backup/Manage/lib/layui/images/face/44.gif
diff --git a/TempLate/Manage/lib/layui/images/face/45.gif b/backup/Manage/lib/layui/images/face/45.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/45.gif
rename to backup/Manage/lib/layui/images/face/45.gif
diff --git a/TempLate/Manage/lib/layui/images/face/46.gif b/backup/Manage/lib/layui/images/face/46.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/46.gif
rename to backup/Manage/lib/layui/images/face/46.gif
diff --git a/TempLate/Manage/lib/layui/images/face/47.gif b/backup/Manage/lib/layui/images/face/47.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/47.gif
rename to backup/Manage/lib/layui/images/face/47.gif
diff --git a/TempLate/Manage/lib/layui/images/face/48.gif b/backup/Manage/lib/layui/images/face/48.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/48.gif
rename to backup/Manage/lib/layui/images/face/48.gif
diff --git a/TempLate/Manage/lib/layui/images/face/49.gif b/backup/Manage/lib/layui/images/face/49.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/49.gif
rename to backup/Manage/lib/layui/images/face/49.gif
diff --git a/TempLate/Manage/lib/layui/images/face/5.gif b/backup/Manage/lib/layui/images/face/5.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/5.gif
rename to backup/Manage/lib/layui/images/face/5.gif
diff --git a/TempLate/Manage/lib/layui/images/face/50.gif b/backup/Manage/lib/layui/images/face/50.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/50.gif
rename to backup/Manage/lib/layui/images/face/50.gif
diff --git a/TempLate/Manage/lib/layui/images/face/51.gif b/backup/Manage/lib/layui/images/face/51.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/51.gif
rename to backup/Manage/lib/layui/images/face/51.gif
diff --git a/TempLate/Manage/lib/layui/images/face/52.gif b/backup/Manage/lib/layui/images/face/52.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/52.gif
rename to backup/Manage/lib/layui/images/face/52.gif
diff --git a/TempLate/Manage/lib/layui/images/face/53.gif b/backup/Manage/lib/layui/images/face/53.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/53.gif
rename to backup/Manage/lib/layui/images/face/53.gif
diff --git a/TempLate/Manage/lib/layui/images/face/54.gif b/backup/Manage/lib/layui/images/face/54.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/54.gif
rename to backup/Manage/lib/layui/images/face/54.gif
diff --git a/TempLate/Manage/lib/layui/images/face/55.gif b/backup/Manage/lib/layui/images/face/55.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/55.gif
rename to backup/Manage/lib/layui/images/face/55.gif
diff --git a/TempLate/Manage/lib/layui/images/face/56.gif b/backup/Manage/lib/layui/images/face/56.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/56.gif
rename to backup/Manage/lib/layui/images/face/56.gif
diff --git a/TempLate/Manage/lib/layui/images/face/57.gif b/backup/Manage/lib/layui/images/face/57.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/57.gif
rename to backup/Manage/lib/layui/images/face/57.gif
diff --git a/TempLate/Manage/lib/layui/images/face/58.gif b/backup/Manage/lib/layui/images/face/58.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/58.gif
rename to backup/Manage/lib/layui/images/face/58.gif
diff --git a/TempLate/Manage/lib/layui/images/face/59.gif b/backup/Manage/lib/layui/images/face/59.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/59.gif
rename to backup/Manage/lib/layui/images/face/59.gif
diff --git a/TempLate/Manage/lib/layui/images/face/6.gif b/backup/Manage/lib/layui/images/face/6.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/6.gif
rename to backup/Manage/lib/layui/images/face/6.gif
diff --git a/TempLate/Manage/lib/layui/images/face/60.gif b/backup/Manage/lib/layui/images/face/60.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/60.gif
rename to backup/Manage/lib/layui/images/face/60.gif
diff --git a/TempLate/Manage/lib/layui/images/face/61.gif b/backup/Manage/lib/layui/images/face/61.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/61.gif
rename to backup/Manage/lib/layui/images/face/61.gif
diff --git a/TempLate/Manage/lib/layui/images/face/62.gif b/backup/Manage/lib/layui/images/face/62.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/62.gif
rename to backup/Manage/lib/layui/images/face/62.gif
diff --git a/TempLate/Manage/lib/layui/images/face/63.gif b/backup/Manage/lib/layui/images/face/63.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/63.gif
rename to backup/Manage/lib/layui/images/face/63.gif
diff --git a/TempLate/Manage/lib/layui/images/face/64.gif b/backup/Manage/lib/layui/images/face/64.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/64.gif
rename to backup/Manage/lib/layui/images/face/64.gif
diff --git a/TempLate/Manage/lib/layui/images/face/65.gif b/backup/Manage/lib/layui/images/face/65.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/65.gif
rename to backup/Manage/lib/layui/images/face/65.gif
diff --git a/TempLate/Manage/lib/layui/images/face/66.gif b/backup/Manage/lib/layui/images/face/66.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/66.gif
rename to backup/Manage/lib/layui/images/face/66.gif
diff --git a/TempLate/Manage/lib/layui/images/face/67.gif b/backup/Manage/lib/layui/images/face/67.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/67.gif
rename to backup/Manage/lib/layui/images/face/67.gif
diff --git a/TempLate/Manage/lib/layui/images/face/68.gif b/backup/Manage/lib/layui/images/face/68.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/68.gif
rename to backup/Manage/lib/layui/images/face/68.gif
diff --git a/TempLate/Manage/lib/layui/images/face/69.gif b/backup/Manage/lib/layui/images/face/69.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/69.gif
rename to backup/Manage/lib/layui/images/face/69.gif
diff --git a/TempLate/Manage/lib/layui/images/face/7.gif b/backup/Manage/lib/layui/images/face/7.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/7.gif
rename to backup/Manage/lib/layui/images/face/7.gif
diff --git a/TempLate/Manage/lib/layui/images/face/70.gif b/backup/Manage/lib/layui/images/face/70.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/70.gif
rename to backup/Manage/lib/layui/images/face/70.gif
diff --git a/TempLate/Manage/lib/layui/images/face/71.gif b/backup/Manage/lib/layui/images/face/71.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/71.gif
rename to backup/Manage/lib/layui/images/face/71.gif
diff --git a/TempLate/Manage/lib/layui/images/face/8.gif b/backup/Manage/lib/layui/images/face/8.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/8.gif
rename to backup/Manage/lib/layui/images/face/8.gif
diff --git a/TempLate/Manage/lib/layui/images/face/9.gif b/backup/Manage/lib/layui/images/face/9.gif
similarity index 100%
rename from TempLate/Manage/lib/layui/images/face/9.gif
rename to backup/Manage/lib/layui/images/face/9.gif
diff --git a/TempLate/Manage/lib/layui/lay/modules/carousel.js b/backup/Manage/lib/layui/lay/modules/carousel.js
similarity index 100%
rename from TempLate/Manage/lib/layui/lay/modules/carousel.js
rename to backup/Manage/lib/layui/lay/modules/carousel.js
diff --git a/TempLate/Manage/lib/layui/lay/modules/code.js b/backup/Manage/lib/layui/lay/modules/code.js
similarity index 100%
rename from TempLate/Manage/lib/layui/lay/modules/code.js
rename to backup/Manage/lib/layui/lay/modules/code.js
diff --git a/TempLate/Manage/lib/layui/lay/modules/colorpicker.js b/backup/Manage/lib/layui/lay/modules/colorpicker.js
similarity index 100%
rename from TempLate/Manage/lib/layui/lay/modules/colorpicker.js
rename to backup/Manage/lib/layui/lay/modules/colorpicker.js
diff --git a/TempLate/Manage/lib/layui/lay/modules/console.js b/backup/Manage/lib/layui/lay/modules/console.js
similarity index 100%
rename from TempLate/Manage/lib/layui/lay/modules/console.js
rename to backup/Manage/lib/layui/lay/modules/console.js
diff --git a/TempLate/Manage/lib/layui/lay/modules/element.js b/backup/Manage/lib/layui/lay/modules/element.js
similarity index 100%
rename from TempLate/Manage/lib/layui/lay/modules/element.js
rename to backup/Manage/lib/layui/lay/modules/element.js
diff --git a/TempLate/Manage/lib/layui/lay/modules/flow.js b/backup/Manage/lib/layui/lay/modules/flow.js
similarity index 100%
rename from TempLate/Manage/lib/layui/lay/modules/flow.js
rename to backup/Manage/lib/layui/lay/modules/flow.js
diff --git a/TempLate/Manage/lib/layui/lay/modules/form.js b/backup/Manage/lib/layui/lay/modules/form.js
similarity index 100%
rename from TempLate/Manage/lib/layui/lay/modules/form.js
rename to backup/Manage/lib/layui/lay/modules/form.js
diff --git a/TempLate/Manage/lib/layui/lay/modules/jquery.js b/backup/Manage/lib/layui/lay/modules/jquery.js
similarity index 100%
rename from TempLate/Manage/lib/layui/lay/modules/jquery.js
rename to backup/Manage/lib/layui/lay/modules/jquery.js
diff --git a/TempLate/Manage/lib/layui/lay/modules/laydate.js b/backup/Manage/lib/layui/lay/modules/laydate.js
similarity index 100%
rename from TempLate/Manage/lib/layui/lay/modules/laydate.js
rename to backup/Manage/lib/layui/lay/modules/laydate.js
diff --git a/TempLate/Manage/lib/layui/lay/modules/layedit.js b/backup/Manage/lib/layui/lay/modules/layedit.js
similarity index 100%
rename from TempLate/Manage/lib/layui/lay/modules/layedit.js
rename to backup/Manage/lib/layui/lay/modules/layedit.js
diff --git a/TempLate/Manage/lib/layui/lay/modules/layer.js b/backup/Manage/lib/layui/lay/modules/layer.js
similarity index 100%
rename from TempLate/Manage/lib/layui/lay/modules/layer.js
rename to backup/Manage/lib/layui/lay/modules/layer.js
diff --git a/TempLate/Manage/lib/layui/lay/modules/laypage.js b/backup/Manage/lib/layui/lay/modules/laypage.js
similarity index 100%
rename from TempLate/Manage/lib/layui/lay/modules/laypage.js
rename to backup/Manage/lib/layui/lay/modules/laypage.js
diff --git a/TempLate/Manage/lib/layui/lay/modules/laytpl.js b/backup/Manage/lib/layui/lay/modules/laytpl.js
similarity index 100%
rename from TempLate/Manage/lib/layui/lay/modules/laytpl.js
rename to backup/Manage/lib/layui/lay/modules/laytpl.js
diff --git a/TempLate/Manage/lib/layui/lay/modules/mobile.js b/backup/Manage/lib/layui/lay/modules/mobile.js
similarity index 100%
rename from TempLate/Manage/lib/layui/lay/modules/mobile.js
rename to backup/Manage/lib/layui/lay/modules/mobile.js
diff --git a/TempLate/Manage/lib/layui/lay/modules/rate.js b/backup/Manage/lib/layui/lay/modules/rate.js
similarity index 100%
rename from TempLate/Manage/lib/layui/lay/modules/rate.js
rename to backup/Manage/lib/layui/lay/modules/rate.js
diff --git a/TempLate/Manage/lib/layui/lay/modules/slider.js b/backup/Manage/lib/layui/lay/modules/slider.js
similarity index 100%
rename from TempLate/Manage/lib/layui/lay/modules/slider.js
rename to backup/Manage/lib/layui/lay/modules/slider.js
diff --git a/TempLate/Manage/lib/layui/lay/modules/table.js b/backup/Manage/lib/layui/lay/modules/table.js
similarity index 100%
rename from TempLate/Manage/lib/layui/lay/modules/table.js
rename to backup/Manage/lib/layui/lay/modules/table.js
diff --git a/TempLate/Manage/lib/layui/lay/modules/tree.js b/backup/Manage/lib/layui/lay/modules/tree.js
similarity index 100%
rename from TempLate/Manage/lib/layui/lay/modules/tree.js
rename to backup/Manage/lib/layui/lay/modules/tree.js
diff --git a/TempLate/Manage/lib/layui/lay/modules/upload.js b/backup/Manage/lib/layui/lay/modules/upload.js
similarity index 100%
rename from TempLate/Manage/lib/layui/lay/modules/upload.js
rename to backup/Manage/lib/layui/lay/modules/upload.js
diff --git a/TempLate/Manage/lib/layui/lay/modules/util.js b/backup/Manage/lib/layui/lay/modules/util.js
similarity index 100%
rename from TempLate/Manage/lib/layui/lay/modules/util.js
rename to backup/Manage/lib/layui/lay/modules/util.js
diff --git a/TempLate/Manage/lib/layui/layui.all.js b/backup/Manage/lib/layui/layui.all.js
similarity index 100%
rename from TempLate/Manage/lib/layui/layui.all.js
rename to backup/Manage/lib/layui/layui.all.js
diff --git a/TempLate/Manage/lib/layui/layui.js b/backup/Manage/lib/layui/layui.js
similarity index 100%
rename from TempLate/Manage/lib/layui/layui.js
rename to backup/Manage/lib/layui/layui.js
diff --git a/TempLate/Manage/lib/toast/index.html b/backup/Manage/lib/toast/index.html
similarity index 100%
rename from TempLate/Manage/lib/toast/index.html
rename to backup/Manage/lib/toast/index.html
diff --git a/TempLate/Manage/lib/toast/s.html b/backup/Manage/lib/toast/s.html
similarity index 100%
rename from TempLate/Manage/lib/toast/s.html
rename to backup/Manage/lib/toast/s.html
diff --git a/TempLate/Manage/lib/toast/script copy.js b/backup/Manage/lib/toast/script copy.js
similarity index 100%
rename from TempLate/Manage/lib/toast/script copy.js
rename to backup/Manage/lib/toast/script copy.js
diff --git a/TempLate/Manage/lib/toast/script.js b/backup/Manage/lib/toast/script.js
similarity index 100%
rename from TempLate/Manage/lib/toast/script.js
rename to backup/Manage/lib/toast/script.js
diff --git a/TempLate/Manage/lib/toast/style.css b/backup/Manage/lib/toast/style.css
similarity index 100%
rename from TempLate/Manage/lib/toast/style.css
rename to backup/Manage/lib/toast/style.css
diff --git a/TempLate/Manage/test.html b/backup/Manage/test.html
similarity index 100%
rename from TempLate/Manage/test.html
rename to backup/Manage/test.html
diff --git a/TempLate/Manage/tip.html b/backup/Manage/tip.html
similarity index 100%
rename from TempLate/Manage/tip.html
rename to backup/Manage/tip.html
diff --git a/TempLate/Manage/workonit.html b/backup/Manage/workonit.html
similarity index 100%
rename from TempLate/Manage/workonit.html
rename to backup/Manage/workonit.html
diff --git a/TempLate/Manage/write/contract.html b/backup/Manage/write/contract.html
similarity index 100%
rename from TempLate/Manage/write/contract.html
rename to backup/Manage/write/contract.html
diff --git a/TempLate/Manage/write/css/layout.css b/backup/Manage/write/css/layout.css
similarity index 100%
rename from TempLate/Manage/write/css/layout.css
rename to backup/Manage/write/css/layout.css
diff --git a/TempLate/Manage/write/css/normalize.min.css b/backup/Manage/write/css/normalize.min.css
similarity index 100%
rename from TempLate/Manage/write/css/normalize.min.css
rename to backup/Manage/write/css/normalize.min.css
diff --git a/TempLate/Manage/write/css/normalize.min.css.map b/backup/Manage/write/css/normalize.min.css.map
similarity index 100%
rename from TempLate/Manage/write/css/normalize.min.css.map
rename to backup/Manage/write/css/normalize.min.css.map
diff --git a/TempLate/Manage/write/css/style.css b/backup/Manage/write/css/style.css
similarity index 100%
rename from TempLate/Manage/write/css/style.css
rename to backup/Manage/write/css/style.css
diff --git a/TempLate/Manage/write/css/view.css b/backup/Manage/write/css/view.css
similarity index 100%
rename from TempLate/Manage/write/css/view.css
rename to backup/Manage/write/css/view.css
diff --git a/TempLate/Manage/write/doces.html b/backup/Manage/write/doces.html
similarity index 100%
rename from TempLate/Manage/write/doces.html
rename to backup/Manage/write/doces.html
diff --git a/TempLate/Manage/write/js/custom-elem.js b/backup/Manage/write/js/custom-elem.js
similarity index 100%
rename from TempLate/Manage/write/js/custom-elem.js
rename to backup/Manage/write/js/custom-elem.js
diff --git a/TempLate/Manage/write/js/huge-content.js b/backup/Manage/write/js/huge-content.js
similarity index 100%
rename from TempLate/Manage/write/js/huge-content.js
rename to backup/Manage/write/js/huge-content.js
diff --git a/TempLate/Manage/write/js/index.js b/backup/Manage/write/js/index.js
similarity index 100%
rename from TempLate/Manage/write/js/index.js
rename to backup/Manage/write/js/index.js
diff --git a/TempLate/Manage/write/series.html b/backup/Manage/write/series.html
similarity index 100%
rename from TempLate/Manage/write/series.html
rename to backup/Manage/write/series.html
diff --git a/TempLate/Manage/write/write.html b/backup/Manage/write/write.html
similarity index 100%
rename from TempLate/Manage/write/write.html
rename to backup/Manage/write/write.html
diff --git a/TempLate/PyWeb/main.js b/backup/PyWeb/main.js
similarity index 100%
rename from TempLate/PyWeb/main.js
rename to backup/PyWeb/main.js
diff --git a/TempLate/PyWeb/npro/npro.css b/backup/PyWeb/npro/npro.css
similarity index 100%
rename from TempLate/PyWeb/npro/npro.css
rename to backup/PyWeb/npro/npro.css
diff --git a/TempLate/PyWeb/npro/npro.js b/backup/PyWeb/npro/npro.js
similarity index 100%
rename from TempLate/PyWeb/npro/npro.js
rename to backup/PyWeb/npro/npro.js
diff --git a/TempLate/PyWeb/nprogress copy/.gitignore b/backup/PyWeb/nprogress copy/.gitignore
similarity index 100%
rename from TempLate/PyWeb/nprogress copy/.gitignore
rename to backup/PyWeb/nprogress copy/.gitignore
diff --git a/TempLate/PyWeb/nprogress copy/.npmignore b/backup/PyWeb/nprogress copy/.npmignore
similarity index 100%
rename from TempLate/PyWeb/nprogress copy/.npmignore
rename to backup/PyWeb/nprogress copy/.npmignore
diff --git a/TempLate/PyWeb/nprogress copy/.travis.yml b/backup/PyWeb/nprogress copy/.travis.yml
similarity index 100%
rename from TempLate/PyWeb/nprogress copy/.travis.yml
rename to backup/PyWeb/nprogress copy/.travis.yml
diff --git a/TempLate/PyWeb/nprogress copy/History.md b/backup/PyWeb/nprogress copy/History.md
similarity index 100%
rename from TempLate/PyWeb/nprogress copy/History.md
rename to backup/PyWeb/nprogress copy/History.md
diff --git a/TempLate/PyWeb/nprogress copy/License.md b/backup/PyWeb/nprogress copy/License.md
similarity index 100%
rename from TempLate/PyWeb/nprogress copy/License.md
rename to backup/PyWeb/nprogress copy/License.md
diff --git a/TempLate/PyWeb/nprogress copy/Notes.md b/backup/PyWeb/nprogress copy/Notes.md
similarity index 100%
rename from TempLate/PyWeb/nprogress copy/Notes.md
rename to backup/PyWeb/nprogress copy/Notes.md
diff --git a/TempLate/PyWeb/nprogress copy/Readme.md b/backup/PyWeb/nprogress copy/Readme.md
similarity index 100%
rename from TempLate/PyWeb/nprogress copy/Readme.md
rename to backup/PyWeb/nprogress copy/Readme.md
diff --git a/TempLate/PyWeb/nprogress copy/bower.json b/backup/PyWeb/nprogress copy/bower.json
similarity index 100%
rename from TempLate/PyWeb/nprogress copy/bower.json
rename to backup/PyWeb/nprogress copy/bower.json
diff --git a/TempLate/PyWeb/nprogress copy/component.json b/backup/PyWeb/nprogress copy/component.json
similarity index 100%
rename from TempLate/PyWeb/nprogress copy/component.json
rename to backup/PyWeb/nprogress copy/component.json
diff --git a/TempLate/PyWeb/nprogress copy/index.html b/backup/PyWeb/nprogress copy/index.html
similarity index 100%
rename from TempLate/PyWeb/nprogress copy/index.html
rename to backup/PyWeb/nprogress copy/index.html
diff --git a/TempLate/PyWeb/nprogress copy/nprogress.css b/backup/PyWeb/nprogress copy/nprogress.css
similarity index 100%
rename from TempLate/PyWeb/nprogress copy/nprogress.css
rename to backup/PyWeb/nprogress copy/nprogress.css
diff --git a/TempLate/PyWeb/nprogress copy/nprogress.js b/backup/PyWeb/nprogress copy/nprogress.js
similarity index 100%
rename from TempLate/PyWeb/nprogress copy/nprogress.js
rename to backup/PyWeb/nprogress copy/nprogress.js
diff --git a/TempLate/PyWeb/nprogress copy/package.json b/backup/PyWeb/nprogress copy/package.json
similarity index 100%
rename from TempLate/PyWeb/nprogress copy/package.json
rename to backup/PyWeb/nprogress copy/package.json
diff --git a/TempLate/PyWeb/nprogress copy/support/extras.css b/backup/PyWeb/nprogress copy/support/extras.css
similarity index 100%
rename from TempLate/PyWeb/nprogress copy/support/extras.css
rename to backup/PyWeb/nprogress copy/support/extras.css
diff --git a/TempLate/PyWeb/nprogress copy/support/style.css b/backup/PyWeb/nprogress copy/support/style.css
similarity index 100%
rename from TempLate/PyWeb/nprogress copy/support/style.css
rename to backup/PyWeb/nprogress copy/support/style.css
diff --git a/TempLate/PyWeb/nprogress copy/test/component.html b/backup/PyWeb/nprogress copy/test/component.html
similarity index 100%
rename from TempLate/PyWeb/nprogress copy/test/component.html
rename to backup/PyWeb/nprogress copy/test/component.html
diff --git a/TempLate/PyWeb/nprogress copy/test/index.html b/backup/PyWeb/nprogress copy/test/index.html
similarity index 100%
rename from TempLate/PyWeb/nprogress copy/test/index.html
rename to backup/PyWeb/nprogress copy/test/index.html
diff --git a/TempLate/PyWeb/nprogress copy/test/test.js b/backup/PyWeb/nprogress copy/test/test.js
similarity index 100%
rename from TempLate/PyWeb/nprogress copy/test/test.js
rename to backup/PyWeb/nprogress copy/test/test.js
diff --git a/TempLate/PyWeb/nprogress/.gitignore b/backup/PyWeb/nprogress/.gitignore
similarity index 100%
rename from TempLate/PyWeb/nprogress/.gitignore
rename to backup/PyWeb/nprogress/.gitignore
diff --git a/TempLate/PyWeb/nprogress/.npmignore b/backup/PyWeb/nprogress/.npmignore
similarity index 100%
rename from TempLate/PyWeb/nprogress/.npmignore
rename to backup/PyWeb/nprogress/.npmignore
diff --git a/TempLate/PyWeb/nprogress/.travis.yml b/backup/PyWeb/nprogress/.travis.yml
similarity index 100%
rename from TempLate/PyWeb/nprogress/.travis.yml
rename to backup/PyWeb/nprogress/.travis.yml
diff --git a/TempLate/PyWeb/nprogress/History.md b/backup/PyWeb/nprogress/History.md
similarity index 100%
rename from TempLate/PyWeb/nprogress/History.md
rename to backup/PyWeb/nprogress/History.md
diff --git a/TempLate/PyWeb/nprogress/License.md b/backup/PyWeb/nprogress/License.md
similarity index 100%
rename from TempLate/PyWeb/nprogress/License.md
rename to backup/PyWeb/nprogress/License.md
diff --git a/TempLate/PyWeb/nprogress/Notes.md b/backup/PyWeb/nprogress/Notes.md
similarity index 100%
rename from TempLate/PyWeb/nprogress/Notes.md
rename to backup/PyWeb/nprogress/Notes.md
diff --git a/TempLate/PyWeb/nprogress/Readme.md b/backup/PyWeb/nprogress/Readme.md
similarity index 100%
rename from TempLate/PyWeb/nprogress/Readme.md
rename to backup/PyWeb/nprogress/Readme.md
diff --git a/TempLate/PyWeb/nprogress/bower.json b/backup/PyWeb/nprogress/bower.json
similarity index 100%
rename from TempLate/PyWeb/nprogress/bower.json
rename to backup/PyWeb/nprogress/bower.json
diff --git a/TempLate/PyWeb/nprogress/component.json b/backup/PyWeb/nprogress/component.json
similarity index 100%
rename from TempLate/PyWeb/nprogress/component.json
rename to backup/PyWeb/nprogress/component.json
diff --git a/TempLate/PyWeb/nprogress/index.html b/backup/PyWeb/nprogress/index.html
similarity index 100%
rename from TempLate/PyWeb/nprogress/index.html
rename to backup/PyWeb/nprogress/index.html
diff --git a/TempLate/PyWeb/nprogress/nprogress.css b/backup/PyWeb/nprogress/nprogress.css
similarity index 100%
rename from TempLate/PyWeb/nprogress/nprogress.css
rename to backup/PyWeb/nprogress/nprogress.css
diff --git a/TempLate/PyWeb/nprogress/nprogress.js b/backup/PyWeb/nprogress/nprogress.js
similarity index 100%
rename from TempLate/PyWeb/nprogress/nprogress.js
rename to backup/PyWeb/nprogress/nprogress.js
diff --git a/TempLate/PyWeb/nprogress/package.json b/backup/PyWeb/nprogress/package.json
similarity index 100%
rename from TempLate/PyWeb/nprogress/package.json
rename to backup/PyWeb/nprogress/package.json
diff --git a/TempLate/PyWeb/nprogress/support/extras.css b/backup/PyWeb/nprogress/support/extras.css
similarity index 100%
rename from TempLate/PyWeb/nprogress/support/extras.css
rename to backup/PyWeb/nprogress/support/extras.css
diff --git a/TempLate/PyWeb/nprogress/support/style.css b/backup/PyWeb/nprogress/support/style.css
similarity index 100%
rename from TempLate/PyWeb/nprogress/support/style.css
rename to backup/PyWeb/nprogress/support/style.css
diff --git a/TempLate/PyWeb/nprogress/test/component.html b/backup/PyWeb/nprogress/test/component.html
similarity index 100%
rename from TempLate/PyWeb/nprogress/test/component.html
rename to backup/PyWeb/nprogress/test/component.html
diff --git a/TempLate/PyWeb/nprogress/test/index.html b/backup/PyWeb/nprogress/test/index.html
similarity index 100%
rename from TempLate/PyWeb/nprogress/test/index.html
rename to backup/PyWeb/nprogress/test/index.html
diff --git a/TempLate/PyWeb/nprogress/test/test.js b/backup/PyWeb/nprogress/test/test.js
similarity index 100%
rename from TempLate/PyWeb/nprogress/test/test.js
rename to backup/PyWeb/nprogress/test/test.js
diff --git a/TempLate/PyWeb/style.css b/backup/PyWeb/style.css
similarity index 100%
rename from TempLate/PyWeb/style.css
rename to backup/PyWeb/style.css
diff --git a/TempLate/SSCSWeb/.gitignore b/backup/SSCSWeb/.gitignore
similarity index 100%
rename from TempLate/SSCSWeb/.gitignore
rename to backup/SSCSWeb/.gitignore
diff --git a/TempLate/SSCSWeb/about.html b/backup/SSCSWeb/about.html
similarity index 100%
rename from TempLate/SSCSWeb/about.html
rename to backup/SSCSWeb/about.html
diff --git a/TempLate/SSCSWeb/assets/css/footer.css b/backup/SSCSWeb/assets/css/footer.css
similarity index 100%
rename from TempLate/SSCSWeb/assets/css/footer.css
rename to backup/SSCSWeb/assets/css/footer.css
diff --git a/TempLate/SSCSWeb/assets/css/navigator.css b/backup/SSCSWeb/assets/css/navigator.css
similarity index 100%
rename from TempLate/SSCSWeb/assets/css/navigator.css
rename to backup/SSCSWeb/assets/css/navigator.css
diff --git a/TempLate/SSCSWeb/index.html b/backup/SSCSWeb/index.html
similarity index 100%
rename from TempLate/SSCSWeb/index.html
rename to backup/SSCSWeb/index.html
diff --git a/TempLate/SSCSWeb/main.py b/backup/SSCSWeb/main.py
similarity index 100%
rename from TempLate/SSCSWeb/main.py
rename to backup/SSCSWeb/main.py
diff --git a/TempLate/SSCSWeb/posts.html b/backup/SSCSWeb/posts.html
similarity index 100%
rename from TempLate/SSCSWeb/posts.html
rename to backup/SSCSWeb/posts.html
diff --git a/TempLate/Tools/SCLDS/SCL90.html b/backup/Tools/SCLDS/SCL90.html
similarity index 100%
rename from TempLate/Tools/SCLDS/SCL90.html
rename to backup/Tools/SCLDS/SCL90.html
diff --git a/TempLate/Tools/SCLDS/SDS20.html b/backup/Tools/SCLDS/SDS20.html
similarity index 100%
rename from TempLate/Tools/SCLDS/SDS20.html
rename to backup/Tools/SCLDS/SDS20.html
diff --git a/TempLate/Tools/SCLDS/SDSCLF.html b/backup/Tools/SCLDS/SDSCLF.html
similarity index 100%
rename from TempLate/Tools/SCLDS/SDSCLF.html
rename to backup/Tools/SCLDS/SDSCLF.html
diff --git a/TempLate/Tools/SCLDS/img/hmlogo.png b/backup/Tools/SCLDS/img/hmlogo.png
similarity index 100%
rename from TempLate/Tools/SCLDS/img/hmlogo.png
rename to backup/Tools/SCLDS/img/hmlogo.png
diff --git a/TempLate/Web.Py.Test/test.web.html b/backup/Web.Py.Test/test.web.html
similarity index 100%
rename from TempLate/Web.Py.Test/test.web.html
rename to backup/Web.Py.Test/test.web.html
diff --git a/TempLate/Web.Py.Test/test.web.py b/backup/Web.Py.Test/test.web.py
similarity index 100%
rename from TempLate/Web.Py.Test/test.web.py
rename to backup/Web.Py.Test/test.web.py
diff --git a/backup/_api_backup/TempLateAPI/GERP/API/FormAPI/__pycache__/FormData.cpython-312.pyc b/backup/_api_backup/TempLateAPI/GERP/API/FormAPI/__pycache__/FormData.cpython-312.pyc
deleted file mode 100644
index 1a574948..00000000
Binary files a/backup/_api_backup/TempLateAPI/GERP/API/FormAPI/__pycache__/FormData.cpython-312.pyc and /dev/null differ
diff --git a/backup/_api_backup/TempLateAPI/GERP/API/FormAPI/__pycache__/Get.cpython-312.pyc b/backup/_api_backup/TempLateAPI/GERP/API/FormAPI/__pycache__/Get.cpython-312.pyc
deleted file mode 100644
index 18f46c7c..00000000
Binary files a/backup/_api_backup/TempLateAPI/GERP/API/FormAPI/__pycache__/Get.cpython-312.pyc and /dev/null differ
diff --git a/backup/_api_backup/TempLateAPI/GERP/API/FormAPI/__pycache__/__init__.cpython-312.pyc b/backup/_api_backup/TempLateAPI/GERP/API/FormAPI/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 9b088672..00000000
Binary files a/backup/_api_backup/TempLateAPI/GERP/API/FormAPI/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/backup/_api_backup/TempLateAPI/GERP/API/FormAPI/__pycache__/i18n.cpython-312.pyc b/backup/_api_backup/TempLateAPI/GERP/API/FormAPI/__pycache__/i18n.cpython-312.pyc
deleted file mode 100644
index 8c1ee953..00000000
Binary files a/backup/_api_backup/TempLateAPI/GERP/API/FormAPI/__pycache__/i18n.cpython-312.pyc and /dev/null differ
diff --git a/backup/_api_backup/TempLateAPI/GERP/API/FormAPI/plugins/__pycache__/company_info_plugin.cpython-312.pyc b/backup/_api_backup/TempLateAPI/GERP/API/FormAPI/plugins/__pycache__/company_info_plugin.cpython-312.pyc
deleted file mode 100644
index 9b9d99bf..00000000
Binary files a/backup/_api_backup/TempLateAPI/GERP/API/FormAPI/plugins/__pycache__/company_info_plugin.cpython-312.pyc and /dev/null differ
diff --git a/backup/_api_backup/TempLateAPI/GERP/API/FormAPI/plugins/__pycache__/menu_plugin.cpython-312.pyc b/backup/_api_backup/TempLateAPI/GERP/API/FormAPI/plugins/__pycache__/menu_plugin.cpython-312.pyc
deleted file mode 100644
index cd5ab045..00000000
Binary files a/backup/_api_backup/TempLateAPI/GERP/API/FormAPI/plugins/__pycache__/menu_plugin.cpython-312.pyc and /dev/null differ
diff --git a/backup/_api_backup/TempLateAPI/GERP/API/FormAPI/plugins/__pycache__/permission_batch.cpython-312.pyc b/backup/_api_backup/TempLateAPI/GERP/API/FormAPI/plugins/__pycache__/permission_batch.cpython-312.pyc
deleted file mode 100644
index a99c2380..00000000
Binary files a/backup/_api_backup/TempLateAPI/GERP/API/FormAPI/plugins/__pycache__/permission_batch.cpython-312.pyc and /dev/null differ
diff --git a/backup/_api_backup/TempLateAPI/GERP/API/FormAPI/plugins/__pycache__/tenant_company_plugin.cpython-312.pyc b/backup/_api_backup/TempLateAPI/GERP/API/FormAPI/plugins/__pycache__/tenant_company_plugin.cpython-312.pyc
deleted file mode 100644
index 82d24781..00000000
Binary files a/backup/_api_backup/TempLateAPI/GERP/API/FormAPI/plugins/__pycache__/tenant_company_plugin.cpython-312.pyc and /dev/null differ
diff --git a/backup/_api_backup/TempLateAPI/GERP/API/FormAPI/plugins/__pycache__/workorder.cpython-312.pyc b/backup/_api_backup/TempLateAPI/GERP/API/FormAPI/plugins/__pycache__/workorder.cpython-312.pyc
deleted file mode 100644
index beea0fc8..00000000
Binary files a/backup/_api_backup/TempLateAPI/GERP/API/FormAPI/plugins/__pycache__/workorder.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/TempLateModule/GErp/__pycache__/AccountActivation.cpython-312.pyc b/backup/_flask_backup/TempLateModule/GErp/__pycache__/AccountActivation.cpython-312.pyc
deleted file mode 100644
index bbaaa90e..00000000
Binary files a/backup/_flask_backup/TempLateModule/GErp/__pycache__/AccountActivation.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/TempLateModule/GErp/__pycache__/G2FA.cpython-312.pyc b/backup/_flask_backup/TempLateModule/GErp/__pycache__/G2FA.cpython-312.pyc
deleted file mode 100644
index 9728137d..00000000
Binary files a/backup/_flask_backup/TempLateModule/GErp/__pycache__/G2FA.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/TempLateModule/GErp/__pycache__/GERP.cpython-312.pyc b/backup/_flask_backup/TempLateModule/GErp/__pycache__/GERP.cpython-312.pyc
deleted file mode 100644
index 8d7ebb76..00000000
Binary files a/backup/_flask_backup/TempLateModule/GErp/__pycache__/GERP.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/TempLateModule/GErp/__pycache__/__init__.cpython-312.pyc b/backup/_flask_backup/TempLateModule/GErp/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 3c8a6fd9..00000000
Binary files a/backup/_flask_backup/TempLateModule/GErp/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/TempLateModule/__pycache__/API.cpython-312.pyc b/backup/_flask_backup/TempLateModule/__pycache__/API.cpython-312.pyc
deleted file mode 100644
index 35c5cb2d..00000000
Binary files a/backup/_flask_backup/TempLateModule/__pycache__/API.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/TempLateModule/__pycache__/CCGO.cpython-312.pyc b/backup/_flask_backup/TempLateModule/__pycache__/CCGO.cpython-312.pyc
deleted file mode 100644
index 4db90110..00000000
Binary files a/backup/_flask_backup/TempLateModule/__pycache__/CCGO.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/TempLateModule/__pycache__/Document.cpython-312.pyc b/backup/_flask_backup/TempLateModule/__pycache__/Document.cpython-312.pyc
deleted file mode 100644
index 305de2eb..00000000
Binary files a/backup/_flask_backup/TempLateModule/__pycache__/Document.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/TempLateModule/__pycache__/FastTemp.cpython-312.pyc b/backup/_flask_backup/TempLateModule/__pycache__/FastTemp.cpython-312.pyc
deleted file mode 100644
index 4e9fd4b2..00000000
Binary files a/backup/_flask_backup/TempLateModule/__pycache__/FastTemp.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/TempLateModule/__pycache__/FileSystemRoute.cpython-312.pyc b/backup/_flask_backup/TempLateModule/__pycache__/FileSystemRoute.cpython-312.pyc
deleted file mode 100644
index 78fed416..00000000
Binary files a/backup/_flask_backup/TempLateModule/__pycache__/FileSystemRoute.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/TempLateModule/__pycache__/GERP.cpython-312.pyc b/backup/_flask_backup/TempLateModule/__pycache__/GERP.cpython-312.pyc
deleted file mode 100644
index e1df6d54..00000000
Binary files a/backup/_flask_backup/TempLateModule/__pycache__/GERP.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/TempLateModule/__pycache__/Invite.cpython-312.pyc b/backup/_flask_backup/TempLateModule/__pycache__/Invite.cpython-312.pyc
deleted file mode 100644
index c85acc6f..00000000
Binary files a/backup/_flask_backup/TempLateModule/__pycache__/Invite.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/TempLateModule/__pycache__/Links.cpython-312.pyc b/backup/_flask_backup/TempLateModule/__pycache__/Links.cpython-312.pyc
deleted file mode 100644
index a2030921..00000000
Binary files a/backup/_flask_backup/TempLateModule/__pycache__/Links.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/TempLateModule/__pycache__/Main.cpython-312.pyc b/backup/_flask_backup/TempLateModule/__pycache__/Main.cpython-312.pyc
deleted file mode 100644
index 6f71e779..00000000
Binary files a/backup/_flask_backup/TempLateModule/__pycache__/Main.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/TempLateModule/__pycache__/T4.cpython-312.pyc b/backup/_flask_backup/TempLateModule/__pycache__/T4.cpython-312.pyc
deleted file mode 100644
index 619cfc44..00000000
Binary files a/backup/_flask_backup/TempLateModule/__pycache__/T4.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/TempLateModule/__pycache__/UGM.cpython-312.pyc b/backup/_flask_backup/TempLateModule/__pycache__/UGM.cpython-312.pyc
deleted file mode 100644
index 1dce2c14..00000000
Binary files a/backup/_flask_backup/TempLateModule/__pycache__/UGM.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/TempLateModule/__pycache__/Verifox.cpython-312.pyc b/backup/_flask_backup/TempLateModule/__pycache__/Verifox.cpython-312.pyc
deleted file mode 100644
index 42b07ecf..00000000
Binary files a/backup/_flask_backup/TempLateModule/__pycache__/Verifox.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/TempLateModule/__pycache__/Verify.cpython-312.pyc b/backup/_flask_backup/TempLateModule/__pycache__/Verify.cpython-312.pyc
deleted file mode 100644
index 50c10de4..00000000
Binary files a/backup/_flask_backup/TempLateModule/__pycache__/Verify.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/TempLateModule/__pycache__/mc.cpython-312.pyc b/backup/_flask_backup/TempLateModule/__pycache__/mc.cpython-312.pyc
deleted file mode 100644
index 134f7605..00000000
Binary files a/backup/_flask_backup/TempLateModule/__pycache__/mc.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/TempLateModule/__pycache__/static.cpython-312.pyc b/backup/_flask_backup/TempLateModule/__pycache__/static.cpython-312.pyc
deleted file mode 100644
index f9b17571..00000000
Binary files a/backup/_flask_backup/TempLateModule/__pycache__/static.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/TempLateModule/__pycache__/sve.cpython-312.pyc b/backup/_flask_backup/TempLateModule/__pycache__/sve.cpython-312.pyc
deleted file mode 100644
index d1b8e8ee..00000000
Binary files a/backup/_flask_backup/TempLateModule/__pycache__/sve.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/TempLateModule/__pycache__/vu.cpython-312.pyc b/backup/_flask_backup/TempLateModule/__pycache__/vu.cpython-312.pyc
deleted file mode 100644
index 3ea15fb7..00000000
Binary files a/backup/_flask_backup/TempLateModule/__pycache__/vu.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/Utils/__pycache__/Browser.cpython-312.pyc b/backup/_flask_backup/Utils/__pycache__/Browser.cpython-312.pyc
deleted file mode 100644
index 9375b1c3..00000000
Binary files a/backup/_flask_backup/Utils/__pycache__/Browser.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/Utils/__pycache__/Config.cpython-312.pyc b/backup/_flask_backup/Utils/__pycache__/Config.cpython-312.pyc
deleted file mode 100644
index bb015df9..00000000
Binary files a/backup/_flask_backup/Utils/__pycache__/Config.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/Utils/__pycache__/Form.cpython-312.pyc b/backup/_flask_backup/Utils/__pycache__/Form.cpython-312.pyc
deleted file mode 100644
index 86f8e9c5..00000000
Binary files a/backup/_flask_backup/Utils/__pycache__/Form.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/Utils/__pycache__/Lib.cpython-312.pyc b/backup/_flask_backup/Utils/__pycache__/Lib.cpython-312.pyc
deleted file mode 100644
index 630e72bb..00000000
Binary files a/backup/_flask_backup/Utils/__pycache__/Lib.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/Utils/__pycache__/Models.cpython-312.pyc b/backup/_flask_backup/Utils/__pycache__/Models.cpython-312.pyc
deleted file mode 100644
index 87942866..00000000
Binary files a/backup/_flask_backup/Utils/__pycache__/Models.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/Utils/__pycache__/Object.cpython-312.pyc b/backup/_flask_backup/Utils/__pycache__/Object.cpython-312.pyc
deleted file mode 100644
index fe4a5bf2..00000000
Binary files a/backup/_flask_backup/Utils/__pycache__/Object.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/Utils/__pycache__/Safe.cpython-312.pyc b/backup/_flask_backup/Utils/__pycache__/Safe.cpython-312.pyc
deleted file mode 100644
index 4b8a164b..00000000
Binary files a/backup/_flask_backup/Utils/__pycache__/Safe.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/Utils/__pycache__/Secrets.cpython-312.pyc b/backup/_flask_backup/Utils/__pycache__/Secrets.cpython-312.pyc
deleted file mode 100644
index 4cd2194b..00000000
Binary files a/backup/_flask_backup/Utils/__pycache__/Secrets.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/Utils/__pycache__/UGM.cpython-312.pyc b/backup/_flask_backup/Utils/__pycache__/UGM.cpython-312.pyc
deleted file mode 100644
index 7ab20ae6..00000000
Binary files a/backup/_flask_backup/Utils/__pycache__/UGM.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/Utils/__pycache__/UGMLib.cpython-312.pyc b/backup/_flask_backup/Utils/__pycache__/UGMLib.cpython-312.pyc
deleted file mode 100644
index 63a36415..00000000
Binary files a/backup/_flask_backup/Utils/__pycache__/UGMLib.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/_ftd/GERP/API/FormAPI/__pycache__/FormData.cpython-312.pyc b/backup/_flask_backup/_ftd/GERP/API/FormAPI/__pycache__/FormData.cpython-312.pyc
deleted file mode 100644
index aa8318ab..00000000
Binary files a/backup/_flask_backup/_ftd/GERP/API/FormAPI/__pycache__/FormData.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/_ftd/GERP/API/FormAPI/__pycache__/Get.cpython-312.pyc b/backup/_flask_backup/_ftd/GERP/API/FormAPI/__pycache__/Get.cpython-312.pyc
deleted file mode 100644
index 18f46c7c..00000000
Binary files a/backup/_flask_backup/_ftd/GERP/API/FormAPI/__pycache__/Get.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/_ftd/GERP/API/FormAPI/__pycache__/__init__.cpython-312.pyc b/backup/_flask_backup/_ftd/GERP/API/FormAPI/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 9b088672..00000000
Binary files a/backup/_flask_backup/_ftd/GERP/API/FormAPI/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/_ftd/TempLateAPI/GERP/API/FormAPI/__pycache__/FormData.cpython-312.pyc b/backup/_flask_backup/_ftd/TempLateAPI/GERP/API/FormAPI/__pycache__/FormData.cpython-312.pyc
deleted file mode 100644
index 1a574948..00000000
Binary files a/backup/_flask_backup/_ftd/TempLateAPI/GERP/API/FormAPI/__pycache__/FormData.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/_ftd/TempLateAPI/GERP/API/FormAPI/__pycache__/Get.cpython-312.pyc b/backup/_flask_backup/_ftd/TempLateAPI/GERP/API/FormAPI/__pycache__/Get.cpython-312.pyc
deleted file mode 100644
index 18f46c7c..00000000
Binary files a/backup/_flask_backup/_ftd/TempLateAPI/GERP/API/FormAPI/__pycache__/Get.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/_ftd/TempLateAPI/GERP/API/FormAPI/__pycache__/__init__.cpython-312.pyc b/backup/_flask_backup/_ftd/TempLateAPI/GERP/API/FormAPI/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 9b088672..00000000
Binary files a/backup/_flask_backup/_ftd/TempLateAPI/GERP/API/FormAPI/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/_ftd/TempLateAPI/GERP/API/FormAPI/__pycache__/i18n.cpython-312.pyc b/backup/_flask_backup/_ftd/TempLateAPI/GERP/API/FormAPI/__pycache__/i18n.cpython-312.pyc
deleted file mode 100644
index 8c1ee953..00000000
Binary files a/backup/_flask_backup/_ftd/TempLateAPI/GERP/API/FormAPI/__pycache__/i18n.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/_ftd/TempLateAPI/GERP/API/FormAPI/plugins/__pycache__/company_info_plugin.cpython-312.pyc b/backup/_flask_backup/_ftd/TempLateAPI/GERP/API/FormAPI/plugins/__pycache__/company_info_plugin.cpython-312.pyc
deleted file mode 100644
index 9b9d99bf..00000000
Binary files a/backup/_flask_backup/_ftd/TempLateAPI/GERP/API/FormAPI/plugins/__pycache__/company_info_plugin.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/_ftd/TempLateAPI/GERP/API/FormAPI/plugins/__pycache__/menu_plugin.cpython-312.pyc b/backup/_flask_backup/_ftd/TempLateAPI/GERP/API/FormAPI/plugins/__pycache__/menu_plugin.cpython-312.pyc
deleted file mode 100644
index cd5ab045..00000000
Binary files a/backup/_flask_backup/_ftd/TempLateAPI/GERP/API/FormAPI/plugins/__pycache__/menu_plugin.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/_ftd/TempLateAPI/GERP/API/FormAPI/plugins/__pycache__/permission_batch.cpython-312.pyc b/backup/_flask_backup/_ftd/TempLateAPI/GERP/API/FormAPI/plugins/__pycache__/permission_batch.cpython-312.pyc
deleted file mode 100644
index a99c2380..00000000
Binary files a/backup/_flask_backup/_ftd/TempLateAPI/GERP/API/FormAPI/plugins/__pycache__/permission_batch.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/_ftd/TempLateAPI/GERP/API/FormAPI/plugins/__pycache__/tenant_company_plugin.cpython-312.pyc b/backup/_flask_backup/_ftd/TempLateAPI/GERP/API/FormAPI/plugins/__pycache__/tenant_company_plugin.cpython-312.pyc
deleted file mode 100644
index 82d24781..00000000
Binary files a/backup/_flask_backup/_ftd/TempLateAPI/GERP/API/FormAPI/plugins/__pycache__/tenant_company_plugin.cpython-312.pyc and /dev/null differ
diff --git a/backup/_flask_backup/_ftd/TempLateAPI/GERP/API/FormAPI/plugins/__pycache__/workorder.cpython-312.pyc b/backup/_flask_backup/_ftd/TempLateAPI/GERP/API/FormAPI/plugins/__pycache__/workorder.cpython-312.pyc
deleted file mode 100644
index beea0fc8..00000000
Binary files a/backup/_flask_backup/_ftd/TempLateAPI/GERP/API/FormAPI/plugins/__pycache__/workorder.cpython-312.pyc and /dev/null differ
diff --git a/backup/pages/private/CreateE/Recharge.html b/backup/pages/private/CreateE/Recharge.html
new file mode 100644
index 00000000..358750b2
--- /dev/null
+++ b/backup/pages/private/CreateE/Recharge.html
@@ -0,0 +1,635 @@
+
+
+
+
+
+
+
+
+
+ 选择储值方案并输入金额,提交后将从您的 GC 钱包扣除相应金额并存入定期,按日计息。
+ 1 游戏日 = 20 现实分钟;活期随时可取,定期需满存期方可取款。
+
+
+
+
+
已选方案
+
+
+
+ 新增方案金额(GC)
+
+
+
添加到方案
+
提交充值
+
清空
+
+
合计扣除:0 GC
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/pages/private/CreateE/StoreValue.html b/backup/pages/private/CreateE/StoreValue.html
new file mode 100644
index 00000000..d66eee2a
--- /dev/null
+++ b/backup/pages/private/CreateE/StoreValue.html
@@ -0,0 +1,305 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 玩家名称
+ 储值类型
+ 创建时间
+ 最短取出时间
+ 已存日期
+ 日利率
+ 储值金额
+ 累计利息
+ 生效长度
+ 操作
+
+
+
+ 加载中...
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/pages/private/CreateE/enterprise.html b/backup/pages/private/CreateE/enterprise.html
new file mode 100644
index 00000000..069f0d16
--- /dev/null
+++ b/backup/pages/private/CreateE/enterprise.html
@@ -0,0 +1,1348 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
企业管理列表
+
管理所有注册企业信息,支持查看、编辑和刷新操作
+
+
+
+
+
+
+
+
+
+ 企业UUID
+ 企业名称
+ 企业类型
+ 状态
+ 法人
+ 注册资本
+ 创建时间
+ 操作
+
+
+
+
+
+
+
+
+
暂无企业数据,请点击"添加企业"按钮创建
+
+
+
+
+
+
+
+
+
+
+ 显示 0-0 条,共 0 条
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 注销后将由系统审核,你不可再次操作这个企业,管理员审核后将会完全删除数据,如有需要请第一时间联系管理员
+
+
+ 企业名称:
+
+
+
+ 企业UUID:
+
+
+
+
+
+ 取消
+
+
+ 确认注销
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
枢机信用储备银行
+
银河锋锐软件开发工作室
+
+
+
+
+
© 2025 枢机信用储备银行. 保留所有权利.
+
+
+
+
+
+
+
+
diff --git a/backup/pages/private/CreateE/enterprisecard.html b/backup/pages/private/CreateE/enterprisecard.html
new file mode 100644
index 00000000..838109b5
--- /dev/null
+++ b/backup/pages/private/CreateE/enterprisecard.html
@@ -0,0 +1,1115 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
企业详情
+
枢机信用储备银行附属红光证券
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
基本信息
+
+
+
企业UUID
+
+
+
+
上级企业
+
+
+
+
注册资本
+
+
+
+
资本币种
+
+
+
+
创建时间
+
+
+
+
营业期限
+
+
+
+
核准日期
+
+
+
+
+
+
+
+
联系信息
+
+
+
联系电话
+
+
+
+
电子邮箱
+
+
+
+
企业网站
+
+
+
+
企业地址
+
+
+
+
行政区划
+
+
+
+
许可证号
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
企业成员
+
+
+ 刷新列表
+
+
+ 添加成员
+
+
+
+
+
+
+
+
+
+
+
+
+ 玩家名
+ 用户名
+ 用户UUID
+ 玩家UUID
+ 用户类型
+ 操作
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 保存
+
+
+ 取消
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 确认删除
+
+
+
+ 您确定要删除该成员吗?此操作无法撤销。
+
+
+ 用户UUID:
+
+
+
+
+
+
+
+ 确认删除
+
+
+ 取消
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/pages/private/CreateE/shop.html b/backup/pages/private/CreateE/shop.html
new file mode 100644
index 00000000..ac0d6412
--- /dev/null
+++ b/backup/pages/private/CreateE/shop.html
@@ -0,0 +1,1687 @@
+
+
+
+
+
+ 枢机协律商店
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ home 首页
+
+
+ receipt_long 订单
+
+
+ shopping_cart 购物车
+ 0
+
+
+ store 卖家
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/pages/private/CreateE/wallet.html b/backup/pages/private/CreateE/wallet.html
new file mode 100644
index 00000000..3109c40c
--- /dev/null
+++ b/backup/pages/private/CreateE/wallet.html
@@ -0,0 +1,691 @@
+
+
+
+
+
枢机信用储备银行 钱包
+
中心化数字资产钱包
+
+
+ 账户未绑定玩家
+
+
+
+
+
+
玩家地址
+
等待请求...
+
账户地址
+
等待请求...
+
+
+
+
+
生成分享码中...
+
+
+ 扫描二维码查看余额
+
+ 刷新
+
+
+
+
+
+
+
币种兑换
+
+ 源币种
+
+
+
+ 目标币种
+
+
+
+ 兑换金额
+
+
+
+
+ 汇率
+ —
+
+
+ 预计到账
+ —
+
+
+
+ 取消
+ 确认兑换
+
+
+
+
+
diff --git a/TempLate/1.html b/backup/www/1.html
similarity index 100%
rename from TempLate/1.html
rename to backup/www/1.html
diff --git a/TempLate/ContactUS.html b/backup/www/ContactUS.html
similarity index 100%
rename from TempLate/ContactUS.html
rename to backup/www/ContactUS.html
diff --git a/backup/www/Errors/404.html b/backup/www/Errors/404.html
new file mode 100644
index 00000000..8fe24934
--- /dev/null
+++ b/backup/www/Errors/404.html
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backup/www/Errors/500.html b/backup/www/Errors/500.html
new file mode 100644
index 00000000..b4d4eaad
--- /dev/null
+++ b/backup/www/Errors/500.html
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backup/www/Errors/503.html b/backup/www/Errors/503.html
new file mode 100644
index 00000000..7268e6d2
--- /dev/null
+++ b/backup/www/Errors/503.html
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backup/www/Errors/_403_HOST.html b/backup/www/Errors/_403_HOST.html
new file mode 100644
index 00000000..4c300b40
--- /dev/null
+++ b/backup/www/Errors/_403_HOST.html
@@ -0,0 +1,360 @@
+
+
+
+
+
+
+ 403 Forbidden
+
+
+
+
+
+
+
⛔ 403 Forbidden
+
+
+
+ 服务器已拒绝您对当前 URL 的访问请求。
+ 您应当通过我们的官方域名
+ www.gvsds.com
+ 访问网站,而非当前使用的
+ [HostName]
+
+ 出于安全考虑,我们已启用host白名单策略。
+
+
+
+
+
+
+
请求基本信息
+
+
+
+ 请求URL
+ [正在加载...]
+
+
+ 请求方法
+ [正在加载...]
+
+
+ 协议版本
+ [正在加载...]
+
+
+ 请求时间
+ [正在加载...]
+
+
+
+
+
+
请求头 (Headers)
+
+
+
+
+
+
服务器信息
+
+
+
+ 服务器名称
+ GVSDS Web Server
+
+
+ 安全策略
+ Host白名单验证
+
+
+ 拒绝原因
+ [正在加载...]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TempLate/IntegrityReport.html b/backup/www/IntegrityReport.html
similarity index 100%
rename from TempLate/IntegrityReport.html
rename to backup/www/IntegrityReport.html
diff --git a/backup/www/Invite/index.html b/backup/www/Invite/index.html
new file mode 100644
index 00000000..fbca32f5
--- /dev/null
+++ b/backup/www/Invite/index.html
@@ -0,0 +1,49 @@
+
+
+
+
+
加入我们,创造未来
+
我们正在寻找充满激情、创意和才华的你。 加入我们,与我们一同创作。
+
+ 提交简历
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backup/www/Invite/interview.html b/backup/www/Invite/interview.html
new file mode 100644
index 00000000..a474992e
--- /dev/null
+++ b/backup/www/Invite/interview.html
@@ -0,0 +1,358 @@
+
+
+
AI-HR 审核对话
+
+
+
+
+ 发送
+
+
+
+
+
+
当前输入:0 字(最多 2048 字)
+
对话数量:0/50
+
+
+
+
+
\ No newline at end of file
diff --git a/backup/www/ProJect/Unauthorized.html b/backup/www/ProJect/Unauthorized.html
new file mode 100644
index 00000000..953c0e6f
--- /dev/null
+++ b/backup/www/ProJect/Unauthorized.html
@@ -0,0 +1,35 @@
+
+
+
+
+
+ 根据《保密条例》第 3.1 条规定,关于该项目的信息暂时不对外公开。
+
+
+ 本项目涉及机密,暂不予以公开
+
+
+ 该项目包含敏感信息和内部数据,仅限授权人员访问。
+
+
+
+ 如需访问,请联系项目负责人获取授权
+
+
+ 所有访问操作均受安全审计监控
+
+
+ 违反保密规定将按相关制度处理
+
+
+
+ © 2025 GVSDS | 机密
+
+
+
+{{ UseBase }}
\ No newline at end of file
diff --git a/TempLate/about.html b/backup/www/about.html
similarity index 100%
rename from TempLate/about.html
rename to backup/www/about.html
diff --git a/TempLate/gallery.html b/backup/www/gallery.html
similarity index 100%
rename from TempLate/gallery.html
rename to backup/www/gallery.html
diff --git a/backup/www/index.html b/backup/www/index.html
new file mode 100644
index 00000000..ca1f54c6
--- /dev/null
+++ b/backup/www/index.html
@@ -0,0 +1,14 @@
+
+
+
+
+
+ 银河锋锐软件开发工作室
+
+
+
+
+
+
+
+
diff --git a/TempLate/login.html b/backup/www/login.html
similarity index 100%
rename from TempLate/login.html
rename to backup/www/login.html
diff --git a/TempLate/members.html b/backup/www/members.html
similarity index 100%
rename from TempLate/members.html
rename to backup/www/members.html
diff --git a/TempLate/register.html b/backup/www/register.html
similarity index 100%
rename from TempLate/register.html
rename to backup/www/register.html
diff --git a/TempLate/usercard.html b/backup/www/usercard.html
similarity index 100%
rename from TempLate/usercard.html
rename to backup/www/usercard.html
diff --git a/gvsds/__pycache__/__init__.cpython-312.pyc b/gvsds/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 91599b9d..00000000
Binary files a/gvsds/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/__pycache__/app_config.cpython-312.pyc b/gvsds/__pycache__/app_config.cpython-312.pyc
deleted file mode 100644
index 8401f345..00000000
Binary files a/gvsds/__pycache__/app_config.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/__pycache__/auth.cpython-312.pyc b/gvsds/__pycache__/auth.cpython-312.pyc
deleted file mode 100644
index d946b8ed..00000000
Binary files a/gvsds/__pycache__/auth.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/__pycache__/authentication.cpython-312.pyc b/gvsds/__pycache__/authentication.cpython-312.pyc
deleted file mode 100644
index d142d98c..00000000
Binary files a/gvsds/__pycache__/authentication.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/__pycache__/celery_utils.cpython-312.pyc b/gvsds/__pycache__/celery_utils.cpython-312.pyc
deleted file mode 100644
index 134a741e..00000000
Binary files a/gvsds/__pycache__/celery_utils.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/__pycache__/db_router.cpython-312.pyc b/gvsds/__pycache__/db_router.cpython-312.pyc
deleted file mode 100644
index d799e412..00000000
Binary files a/gvsds/__pycache__/db_router.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/__pycache__/exception_handler.cpython-312.pyc b/gvsds/__pycache__/exception_handler.cpython-312.pyc
deleted file mode 100644
index 53d91a2d..00000000
Binary files a/gvsds/__pycache__/exception_handler.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/__pycache__/fluent.cpython-312.pyc b/gvsds/__pycache__/fluent.cpython-312.pyc
deleted file mode 100644
index 9f29618b..00000000
Binary files a/gvsds/__pycache__/fluent.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/__pycache__/ip_filter.cpython-312.pyc b/gvsds/__pycache__/ip_filter.cpython-312.pyc
deleted file mode 100644
index c9ab7557..00000000
Binary files a/gvsds/__pycache__/ip_filter.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/__pycache__/json_encoder.cpython-312.pyc b/gvsds/__pycache__/json_encoder.cpython-312.pyc
deleted file mode 100644
index e5dba161..00000000
Binary files a/gvsds/__pycache__/json_encoder.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/__pycache__/middleware.cpython-312.pyc b/gvsds/__pycache__/middleware.cpython-312.pyc
deleted file mode 100644
index fd11556a..00000000
Binary files a/gvsds/__pycache__/middleware.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/__pycache__/model_base.cpython-312.pyc b/gvsds/__pycache__/model_base.cpython-312.pyc
deleted file mode 100644
index 2e64fc23..00000000
Binary files a/gvsds/__pycache__/model_base.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/__pycache__/model_utils.cpython-312.pyc b/gvsds/__pycache__/model_utils.cpython-312.pyc
deleted file mode 100644
index aae426c7..00000000
Binary files a/gvsds/__pycache__/model_utils.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/__pycache__/money.cpython-312.pyc b/gvsds/__pycache__/money.cpython-312.pyc
deleted file mode 100644
index aed0c06c..00000000
Binary files a/gvsds/__pycache__/money.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/__pycache__/redis_lock.cpython-312.pyc b/gvsds/__pycache__/redis_lock.cpython-312.pyc
deleted file mode 100644
index 3e7351ec..00000000
Binary files a/gvsds/__pycache__/redis_lock.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/__pycache__/secrets.cpython-312.pyc b/gvsds/__pycache__/secrets.cpython-312.pyc
deleted file mode 100644
index 802308f9..00000000
Binary files a/gvsds/__pycache__/secrets.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/__pycache__/settings.cpython-312.pyc b/gvsds/__pycache__/settings.cpython-312.pyc
deleted file mode 100644
index 587dec25..00000000
Binary files a/gvsds/__pycache__/settings.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/__pycache__/storage.cpython-312.pyc b/gvsds/__pycache__/storage.cpython-312.pyc
deleted file mode 100644
index f5b3b1f6..00000000
Binary files a/gvsds/__pycache__/storage.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/__pycache__/template_engine.cpython-312.pyc b/gvsds/__pycache__/template_engine.cpython-312.pyc
deleted file mode 100644
index f73784fd..00000000
Binary files a/gvsds/__pycache__/template_engine.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/__pycache__/urls.cpython-312.pyc b/gvsds/__pycache__/urls.cpython-312.pyc
deleted file mode 100644
index 20e5da69..00000000
Binary files a/gvsds/__pycache__/urls.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/__pycache__/wsgi.cpython-312.pyc b/gvsds/__pycache__/wsgi.cpython-312.pyc
deleted file mode 100644
index 573fc65e..00000000
Binary files a/gvsds/__pycache__/wsgi.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/api/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/api/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 39c18b23..00000000
Binary files a/gvsds/apps/api/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/api/__pycache__/apps.cpython-312.pyc b/gvsds/apps/api/__pycache__/apps.cpython-312.pyc
deleted file mode 100644
index 7f95690d..00000000
Binary files a/gvsds/apps/api/__pycache__/apps.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/api/__pycache__/models.cpython-312.pyc b/gvsds/apps/api/__pycache__/models.cpython-312.pyc
deleted file mode 100644
index da95a51a..00000000
Binary files a/gvsds/apps/api/__pycache__/models.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/api/__pycache__/urls.cpython-312.pyc b/gvsds/apps/api/__pycache__/urls.cpython-312.pyc
deleted file mode 100644
index 4538777e..00000000
Binary files a/gvsds/apps/api/__pycache__/urls.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/api/__pycache__/views.cpython-312.pyc b/gvsds/apps/api/__pycache__/views.cpython-312.pyc
deleted file mode 100644
index 00c1c25d..00000000
Binary files a/gvsds/apps/api/__pycache__/views.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/api/migrations/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/api/migrations/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index c5570f85..00000000
Binary files a/gvsds/apps/api/migrations/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/ccgo/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/ccgo/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 9b8279ab..00000000
Binary files a/gvsds/apps/ccgo/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/ccgo/__pycache__/admin.cpython-312.pyc b/gvsds/apps/ccgo/__pycache__/admin.cpython-312.pyc
deleted file mode 100644
index d70df566..00000000
Binary files a/gvsds/apps/ccgo/__pycache__/admin.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/ccgo/__pycache__/apps.cpython-312.pyc b/gvsds/apps/ccgo/__pycache__/apps.cpython-312.pyc
deleted file mode 100644
index 34952e10..00000000
Binary files a/gvsds/apps/ccgo/__pycache__/apps.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/ccgo/__pycache__/models.cpython-312.pyc b/gvsds/apps/ccgo/__pycache__/models.cpython-312.pyc
deleted file mode 100644
index 0d47b13c..00000000
Binary files a/gvsds/apps/ccgo/__pycache__/models.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/ccgo/__pycache__/serializers.cpython-312.pyc b/gvsds/apps/ccgo/__pycache__/serializers.cpython-312.pyc
deleted file mode 100644
index b0151d10..00000000
Binary files a/gvsds/apps/ccgo/__pycache__/serializers.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/ccgo/__pycache__/urls.cpython-312.pyc b/gvsds/apps/ccgo/__pycache__/urls.cpython-312.pyc
deleted file mode 100644
index 68eb75c2..00000000
Binary files a/gvsds/apps/ccgo/__pycache__/urls.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/ccgo/__pycache__/views.cpython-312.pyc b/gvsds/apps/ccgo/__pycache__/views.cpython-312.pyc
deleted file mode 100644
index 79217cb3..00000000
Binary files a/gvsds/apps/ccgo/__pycache__/views.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/ccgo/migrations/__pycache__/0001_initial.cpython-312.pyc b/gvsds/apps/ccgo/migrations/__pycache__/0001_initial.cpython-312.pyc
deleted file mode 100644
index 6ffb10a2..00000000
Binary files a/gvsds/apps/ccgo/migrations/__pycache__/0001_initial.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/ccgo/migrations/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/ccgo/migrations/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index a6e2f56e..00000000
Binary files a/gvsds/apps/ccgo/migrations/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/commission/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/commission/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index c0aeec94..00000000
Binary files a/gvsds/apps/commission/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/commission/__pycache__/admin.cpython-312.pyc b/gvsds/apps/commission/__pycache__/admin.cpython-312.pyc
deleted file mode 100644
index d383c8e6..00000000
Binary files a/gvsds/apps/commission/__pycache__/admin.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/commission/__pycache__/apps.cpython-312.pyc b/gvsds/apps/commission/__pycache__/apps.cpython-312.pyc
deleted file mode 100644
index be19e287..00000000
Binary files a/gvsds/apps/commission/__pycache__/apps.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/commission/__pycache__/manager.cpython-312.pyc b/gvsds/apps/commission/__pycache__/manager.cpython-312.pyc
deleted file mode 100644
index 1c22192c..00000000
Binary files a/gvsds/apps/commission/__pycache__/manager.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/commission/__pycache__/models.cpython-312.pyc b/gvsds/apps/commission/__pycache__/models.cpython-312.pyc
deleted file mode 100644
index c5d59258..00000000
Binary files a/gvsds/apps/commission/__pycache__/models.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/commission/__pycache__/serializers.cpython-312.pyc b/gvsds/apps/commission/__pycache__/serializers.cpython-312.pyc
deleted file mode 100644
index fe05f073..00000000
Binary files a/gvsds/apps/commission/__pycache__/serializers.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/commission/__pycache__/urls.cpython-312.pyc b/gvsds/apps/commission/__pycache__/urls.cpython-312.pyc
deleted file mode 100644
index 8815c167..00000000
Binary files a/gvsds/apps/commission/__pycache__/urls.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/commission/__pycache__/views.cpython-312.pyc b/gvsds/apps/commission/__pycache__/views.cpython-312.pyc
deleted file mode 100644
index f046d0ec..00000000
Binary files a/gvsds/apps/commission/__pycache__/views.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/commission/migrations/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/commission/migrations/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 8a5f625d..00000000
Binary files a/gvsds/apps/commission/migrations/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/commission/strategies/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/commission/strategies/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index e0337f04..00000000
Binary files a/gvsds/apps/commission/strategies/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/commission/strategies/__pycache__/engine.cpython-312.pyc b/gvsds/apps/commission/strategies/__pycache__/engine.cpython-312.pyc
deleted file mode 100644
index 22742942..00000000
Binary files a/gvsds/apps/commission/strategies/__pycache__/engine.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/core/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/core/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index bac5f6c7..00000000
Binary files a/gvsds/apps/core/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/core/__pycache__/admin.cpython-312.pyc b/gvsds/apps/core/__pycache__/admin.cpython-312.pyc
deleted file mode 100644
index a6ebea16..00000000
Binary files a/gvsds/apps/core/__pycache__/admin.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/core/__pycache__/apps.cpython-312.pyc b/gvsds/apps/core/__pycache__/apps.cpython-312.pyc
deleted file mode 100644
index 19277241..00000000
Binary files a/gvsds/apps/core/__pycache__/apps.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/core/__pycache__/models.cpython-312.pyc b/gvsds/apps/core/__pycache__/models.cpython-312.pyc
deleted file mode 100644
index 3cfe5727..00000000
Binary files a/gvsds/apps/core/__pycache__/models.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/core/__pycache__/views.cpython-312.pyc b/gvsds/apps/core/__pycache__/views.cpython-312.pyc
deleted file mode 100644
index ca4c87fb..00000000
Binary files a/gvsds/apps/core/__pycache__/views.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/core/migrations/__pycache__/0001_initial.cpython-312.pyc b/gvsds/apps/core/migrations/__pycache__/0001_initial.cpython-312.pyc
deleted file mode 100644
index f3b73e4d..00000000
Binary files a/gvsds/apps/core/migrations/__pycache__/0001_initial.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/core/migrations/__pycache__/0002_user_is_staff_user_is_superuser.cpython-312.pyc b/gvsds/apps/core/migrations/__pycache__/0002_user_is_staff_user_is_superuser.cpython-312.pyc
deleted file mode 100644
index 82f472df..00000000
Binary files a/gvsds/apps/core/migrations/__pycache__/0002_user_is_staff_user_is_superuser.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/core/migrations/__pycache__/0003_remove_ephemeraltoken.cpython-312.pyc b/gvsds/apps/core/migrations/__pycache__/0003_remove_ephemeraltoken.cpython-312.pyc
deleted file mode 100644
index 809a782c..00000000
Binary files a/gvsds/apps/core/migrations/__pycache__/0003_remove_ephemeraltoken.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/core/migrations/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/core/migrations/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index af9a8d53..00000000
Binary files a/gvsds/apps/core/migrations/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/core/views.py b/gvsds/apps/core/views.py
index 97db763d..03efaddb 100644
--- a/gvsds/apps/core/views.py
+++ b/gvsds/apps/core/views.py
@@ -35,14 +35,14 @@ MIME_TYPES = {
}
SUBDOMAIN_CONFIG = {
- 'www': {'dir': '', 'root_is_index': True, 'use_base': True},
+ 'www': {'dir': '', 'root_is_index': True},
'gerp': {'dir': 'GERP', 'root_is_index': True},
'ugm': {'dir': '', 'root_is_index': True},
'api': {'dir': None, 'root_is_index': False},
'mc': {'dir': 'MC', 'root_is_index': True},
'3crb': {'dir': 'CCCRB', 'root_is_index': True},
'ccgo': {'dir': 'CCGO', 'root_is_index': True},
- 'invite': {'dir': 'Invite', 'root_is_index': True, 'use_base': True},
+ 'invite': {'dir': '', 'root_is_index': True},
'doc': {'dir': 'Document', 'root_is_index': True},
't4': {'dir': None, 'root_is_index': False},
'verify': {'dir': 'Verify', 'root_is_index': True},
@@ -139,10 +139,10 @@ class SubdomainView(View):
if not has_jwt:
# 未登录 → 跳转 www 登录页
if file_path and file_path not in ('/', 'login.html', 'register.html'):
- login_url = f"https://www.gvsds.com/login.html?redirect=https://gerp.gvsds.com/"
+ login_url = f"https://www.gvsds.com/login?redirect=https://gerp.gvsds.com/"
return HttpResponseRedirect(login_url)
if not file_path or file_path == '/':
- return HttpResponseRedirect('https://www.gvsds.com/login.html')
+ return HttpResponseRedirect('https://www.gvsds.com/login')
else:
# 已登录 → 跳转 gerp
if not file_path or file_path == '/' or file_path == 'index.html':
@@ -170,6 +170,15 @@ class SubdomainView(View):
if resolved:
return _serve_file(resolved, subdomain)
+ # www/invite 子域:旧 .html 页面已被 Vue SPA 取代,去掉后缀重定向到 Vue 路由
+ # 兼容历史链接(如 /login.html、/gallery.html 等被外部页面/脚本引用的旧地址)
+ if subdomain in ('www', 'invite') and file_path.endswith('.html'):
+ new_path = file_path[:-5] or '/'
+ redirect_url = new_path
+ if request.META.get('QUERY_STRING'):
+ redirect_url += '?' + request.META['QUERY_STRING']
+ return HttpResponseRedirect(redirect_url)
+
# SPA fallback:前端单页应用(如 GERP Vue)的客户端路由路径(无扩展名)
# 找不到对应文件时,回退到 index.html,由前端路由处理
if config.get('root_is_index') and '.' not in os.path.basename(file_path):
diff --git a/gvsds/apps/crb/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/crb/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 02c2e47e..00000000
Binary files a/gvsds/apps/crb/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/crb/__pycache__/admin.cpython-312.pyc b/gvsds/apps/crb/__pycache__/admin.cpython-312.pyc
deleted file mode 100644
index b57b9f44..00000000
Binary files a/gvsds/apps/crb/__pycache__/admin.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/crb/__pycache__/apps.cpython-312.pyc b/gvsds/apps/crb/__pycache__/apps.cpython-312.pyc
deleted file mode 100644
index c561eace..00000000
Binary files a/gvsds/apps/crb/__pycache__/apps.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/crb/__pycache__/business.cpython-312.pyc b/gvsds/apps/crb/__pycache__/business.cpython-312.pyc
deleted file mode 100644
index 2bf9a8c9..00000000
Binary files a/gvsds/apps/crb/__pycache__/business.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/crb/__pycache__/models.cpython-312.pyc b/gvsds/apps/crb/__pycache__/models.cpython-312.pyc
deleted file mode 100644
index 09b35d39..00000000
Binary files a/gvsds/apps/crb/__pycache__/models.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/crb/__pycache__/serializers.cpython-312.pyc b/gvsds/apps/crb/__pycache__/serializers.cpython-312.pyc
deleted file mode 100644
index cde49e9b..00000000
Binary files a/gvsds/apps/crb/__pycache__/serializers.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/crb/__pycache__/urls.cpython-312.pyc b/gvsds/apps/crb/__pycache__/urls.cpython-312.pyc
deleted file mode 100644
index c04840c3..00000000
Binary files a/gvsds/apps/crb/__pycache__/urls.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/crb/__pycache__/views.cpython-312.pyc b/gvsds/apps/crb/__pycache__/views.cpython-312.pyc
deleted file mode 100644
index 66bae94d..00000000
Binary files a/gvsds/apps/crb/__pycache__/views.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/crb/migrations/__pycache__/0001_initial.cpython-312.pyc b/gvsds/apps/crb/migrations/__pycache__/0001_initial.cpython-312.pyc
deleted file mode 100644
index 67a2be9d..00000000
Binary files a/gvsds/apps/crb/migrations/__pycache__/0001_initial.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/crb/migrations/__pycache__/0002_shop.cpython-312.pyc b/gvsds/apps/crb/migrations/__pycache__/0002_shop.cpython-312.pyc
deleted file mode 100644
index adb22148..00000000
Binary files a/gvsds/apps/crb/migrations/__pycache__/0002_shop.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/crb/migrations/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/crb/migrations/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index d6eed26b..00000000
Binary files a/gvsds/apps/crb/migrations/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/doc/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/doc/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index d359818b..00000000
Binary files a/gvsds/apps/doc/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/doc/__pycache__/admin.cpython-312.pyc b/gvsds/apps/doc/__pycache__/admin.cpython-312.pyc
deleted file mode 100644
index e84b5927..00000000
Binary files a/gvsds/apps/doc/__pycache__/admin.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/doc/__pycache__/apps.cpython-312.pyc b/gvsds/apps/doc/__pycache__/apps.cpython-312.pyc
deleted file mode 100644
index 0672419b..00000000
Binary files a/gvsds/apps/doc/__pycache__/apps.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/doc/__pycache__/models.cpython-312.pyc b/gvsds/apps/doc/__pycache__/models.cpython-312.pyc
deleted file mode 100644
index d137c596..00000000
Binary files a/gvsds/apps/doc/__pycache__/models.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/doc/__pycache__/serializers.cpython-312.pyc b/gvsds/apps/doc/__pycache__/serializers.cpython-312.pyc
deleted file mode 100644
index 3181fce1..00000000
Binary files a/gvsds/apps/doc/__pycache__/serializers.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/doc/__pycache__/urls.cpython-312.pyc b/gvsds/apps/doc/__pycache__/urls.cpython-312.pyc
deleted file mode 100644
index fb4d1923..00000000
Binary files a/gvsds/apps/doc/__pycache__/urls.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/doc/__pycache__/views.cpython-312.pyc b/gvsds/apps/doc/__pycache__/views.cpython-312.pyc
deleted file mode 100644
index 4133bd01..00000000
Binary files a/gvsds/apps/doc/__pycache__/views.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/doc/migrations/__pycache__/0001_initial.cpython-312.pyc b/gvsds/apps/doc/migrations/__pycache__/0001_initial.cpython-312.pyc
deleted file mode 100644
index 0a153979..00000000
Binary files a/gvsds/apps/doc/migrations/__pycache__/0001_initial.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/doc/migrations/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/doc/migrations/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index c70be974..00000000
Binary files a/gvsds/apps/doc/migrations/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/gerp/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 331e777a..00000000
Binary files a/gvsds/apps/gerp/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/__pycache__/admin.cpython-312.pyc b/gvsds/apps/gerp/__pycache__/admin.cpython-312.pyc
deleted file mode 100644
index a9ba89c0..00000000
Binary files a/gvsds/apps/gerp/__pycache__/admin.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/__pycache__/apps.cpython-312.pyc b/gvsds/apps/gerp/__pycache__/apps.cpython-312.pyc
deleted file mode 100644
index 992ecd0c..00000000
Binary files a/gvsds/apps/gerp/__pycache__/apps.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/__pycache__/form_service.cpython-312.pyc b/gvsds/apps/gerp/__pycache__/form_service.cpython-312.pyc
deleted file mode 100644
index 3966e101..00000000
Binary files a/gvsds/apps/gerp/__pycache__/form_service.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/__pycache__/i18n.cpython-312.pyc b/gvsds/apps/gerp/__pycache__/i18n.cpython-312.pyc
deleted file mode 100644
index 416ff520..00000000
Binary files a/gvsds/apps/gerp/__pycache__/i18n.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/__pycache__/models.cpython-312.pyc b/gvsds/apps/gerp/__pycache__/models.cpython-312.pyc
deleted file mode 100644
index 2ed25ba4..00000000
Binary files a/gvsds/apps/gerp/__pycache__/models.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/__pycache__/role_scope.cpython-312.pyc b/gvsds/apps/gerp/__pycache__/role_scope.cpython-312.pyc
deleted file mode 100644
index d9f97b0f..00000000
Binary files a/gvsds/apps/gerp/__pycache__/role_scope.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/__pycache__/serializers.cpython-312.pyc b/gvsds/apps/gerp/__pycache__/serializers.cpython-312.pyc
deleted file mode 100644
index a36770c6..00000000
Binary files a/gvsds/apps/gerp/__pycache__/serializers.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/__pycache__/urls.cpython-312.pyc b/gvsds/apps/gerp/__pycache__/urls.cpython-312.pyc
deleted file mode 100644
index df9afa6e..00000000
Binary files a/gvsds/apps/gerp/__pycache__/urls.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/management/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/gerp/management/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 419f5b03..00000000
Binary files a/gvsds/apps/gerp/management/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/management/commands/__pycache__/CleanAuditLogs.cpython-312.pyc b/gvsds/apps/gerp/management/commands/__pycache__/CleanAuditLogs.cpython-312.pyc
deleted file mode 100644
index 8b510641..00000000
Binary files a/gvsds/apps/gerp/management/commands/__pycache__/CleanAuditLogs.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/management/commands/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/gerp/management/commands/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 51aaee08..00000000
Binary files a/gvsds/apps/gerp/management/commands/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/migrations/__pycache__/0001_initial.cpython-312.pyc b/gvsds/apps/gerp/migrations/__pycache__/0001_initial.cpython-312.pyc
deleted file mode 100644
index 59bbe83e..00000000
Binary files a/gvsds/apps/gerp/migrations/__pycache__/0001_initial.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/migrations/__pycache__/0002_personalpage_useridcard.cpython-312.pyc b/gvsds/apps/gerp/migrations/__pycache__/0002_personalpage_useridcard.cpython-312.pyc
deleted file mode 100644
index 12c9c084..00000000
Binary files a/gvsds/apps/gerp/migrations/__pycache__/0002_personalpage_useridcard.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/migrations/__pycache__/0003_usersettings.cpython-312.pyc b/gvsds/apps/gerp/migrations/__pycache__/0003_usersettings.cpython-312.pyc
deleted file mode 100644
index 8be1e723..00000000
Binary files a/gvsds/apps/gerp/migrations/__pycache__/0003_usersettings.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/migrations/__pycache__/0004_remove_tenant_code.cpython-312.pyc b/gvsds/apps/gerp/migrations/__pycache__/0004_remove_tenant_code.cpython-312.pyc
deleted file mode 100644
index 6870a363..00000000
Binary files a/gvsds/apps/gerp/migrations/__pycache__/0004_remove_tenant_code.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/migrations/__pycache__/0005_rolepermission_companyuuid.cpython-312.pyc b/gvsds/apps/gerp/migrations/__pycache__/0005_rolepermission_companyuuid.cpython-312.pyc
deleted file mode 100644
index 5ea4462e..00000000
Binary files a/gvsds/apps/gerp/migrations/__pycache__/0005_rolepermission_companyuuid.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/migrations/__pycache__/0006_userrole_dept_workgroup.cpython-312.pyc b/gvsds/apps/gerp/migrations/__pycache__/0006_userrole_dept_workgroup.cpython-312.pyc
deleted file mode 100644
index cc35892a..00000000
Binary files a/gvsds/apps/gerp/migrations/__pycache__/0006_userrole_dept_workgroup.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/migrations/__pycache__/0007_userrole_roletype.cpython-312.pyc b/gvsds/apps/gerp/migrations/__pycache__/0007_userrole_roletype.cpython-312.pyc
deleted file mode 100644
index c2b0b6c6..00000000
Binary files a/gvsds/apps/gerp/migrations/__pycache__/0007_userrole_roletype.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/migrations/__pycache__/0008_workgroup_companyuuid.cpython-312.pyc b/gvsds/apps/gerp/migrations/__pycache__/0008_workgroup_companyuuid.cpython-312.pyc
deleted file mode 100644
index c3f6c43a..00000000
Binary files a/gvsds/apps/gerp/migrations/__pycache__/0008_workgroup_companyuuid.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/migrations/__pycache__/0009_remove_roleadmin.cpython-312.pyc b/gvsds/apps/gerp/migrations/__pycache__/0009_remove_roleadmin.cpython-312.pyc
deleted file mode 100644
index 1fffb772..00000000
Binary files a/gvsds/apps/gerp/migrations/__pycache__/0009_remove_roleadmin.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/migrations/__pycache__/0010_auditlog.cpython-312.pyc b/gvsds/apps/gerp/migrations/__pycache__/0010_auditlog.cpython-312.pyc
deleted file mode 100644
index effa1844..00000000
Binary files a/gvsds/apps/gerp/migrations/__pycache__/0010_auditlog.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/migrations/__pycache__/0011_abnormaluserlog.cpython-312.pyc b/gvsds/apps/gerp/migrations/__pycache__/0011_abnormaluserlog.cpython-312.pyc
deleted file mode 100644
index b137da98..00000000
Binary files a/gvsds/apps/gerp/migrations/__pycache__/0011_abnormaluserlog.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/migrations/__pycache__/0012_doc_editor_menu.cpython-312.pyc b/gvsds/apps/gerp/migrations/__pycache__/0012_doc_editor_menu.cpython-312.pyc
deleted file mode 100644
index a382a56a..00000000
Binary files a/gvsds/apps/gerp/migrations/__pycache__/0012_doc_editor_menu.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/migrations/__pycache__/0013_workgroup_role.cpython-312.pyc b/gvsds/apps/gerp/migrations/__pycache__/0013_workgroup_role.cpython-312.pyc
deleted file mode 100644
index 4daaaa35..00000000
Binary files a/gvsds/apps/gerp/migrations/__pycache__/0013_workgroup_role.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/migrations/__pycache__/0014_shop_menu.cpython-312.pyc b/gvsds/apps/gerp/migrations/__pycache__/0014_shop_menu.cpython-312.pyc
deleted file mode 100644
index 708f0014..00000000
Binary files a/gvsds/apps/gerp/migrations/__pycache__/0014_shop_menu.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/migrations/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/gerp/migrations/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 4ebdf9bc..00000000
Binary files a/gvsds/apps/gerp/migrations/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/views/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/gerp/views/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 6e7ad964..00000000
Binary files a/gvsds/apps/gerp/views/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/views/__pycache__/account.cpython-312.pyc b/gvsds/apps/gerp/views/__pycache__/account.cpython-312.pyc
deleted file mode 100644
index 7322516a..00000000
Binary files a/gvsds/apps/gerp/views/__pycache__/account.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/views/__pycache__/asset.cpython-312.pyc b/gvsds/apps/gerp/views/__pycache__/asset.cpython-312.pyc
deleted file mode 100644
index 5993c4f6..00000000
Binary files a/gvsds/apps/gerp/views/__pycache__/asset.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/views/__pycache__/dashboard.cpython-312.pyc b/gvsds/apps/gerp/views/__pycache__/dashboard.cpython-312.pyc
deleted file mode 100644
index 6e33822b..00000000
Binary files a/gvsds/apps/gerp/views/__pycache__/dashboard.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/views/__pycache__/doc.cpython-312.pyc b/gvsds/apps/gerp/views/__pycache__/doc.cpython-312.pyc
deleted file mode 100644
index ed1c103e..00000000
Binary files a/gvsds/apps/gerp/views/__pycache__/doc.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/views/__pycache__/form_api.cpython-312.pyc b/gvsds/apps/gerp/views/__pycache__/form_api.cpython-312.pyc
deleted file mode 100644
index 7c6f7ae1..00000000
Binary files a/gvsds/apps/gerp/views/__pycache__/form_api.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/views/__pycache__/i18n_api.cpython-312.pyc b/gvsds/apps/gerp/views/__pycache__/i18n_api.cpython-312.pyc
deleted file mode 100644
index f698c35e..00000000
Binary files a/gvsds/apps/gerp/views/__pycache__/i18n_api.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/views/__pycache__/menu.cpython-312.pyc b/gvsds/apps/gerp/views/__pycache__/menu.cpython-312.pyc
deleted file mode 100644
index 6c4b8da0..00000000
Binary files a/gvsds/apps/gerp/views/__pycache__/menu.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/views/__pycache__/message.cpython-312.pyc b/gvsds/apps/gerp/views/__pycache__/message.cpython-312.pyc
deleted file mode 100644
index bf2d2be6..00000000
Binary files a/gvsds/apps/gerp/views/__pycache__/message.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/views/__pycache__/msync_admin.cpython-312.pyc b/gvsds/apps/gerp/views/__pycache__/msync_admin.cpython-312.pyc
deleted file mode 100644
index a570c9bc..00000000
Binary files a/gvsds/apps/gerp/views/__pycache__/msync_admin.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/views/__pycache__/order_flow.cpython-312.pyc b/gvsds/apps/gerp/views/__pycache__/order_flow.cpython-312.pyc
deleted file mode 100644
index 255a35bf..00000000
Binary files a/gvsds/apps/gerp/views/__pycache__/order_flow.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/views/__pycache__/payment_config.cpython-312.pyc b/gvsds/apps/gerp/views/__pycache__/payment_config.cpython-312.pyc
deleted file mode 100644
index e91cb6ca..00000000
Binary files a/gvsds/apps/gerp/views/__pycache__/payment_config.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/views/__pycache__/position.cpython-312.pyc b/gvsds/apps/gerp/views/__pycache__/position.cpython-312.pyc
deleted file mode 100644
index e22dfecf..00000000
Binary files a/gvsds/apps/gerp/views/__pycache__/position.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/views/__pycache__/role_permission.cpython-312.pyc b/gvsds/apps/gerp/views/__pycache__/role_permission.cpython-312.pyc
deleted file mode 100644
index 4aa98ce7..00000000
Binary files a/gvsds/apps/gerp/views/__pycache__/role_permission.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/views/__pycache__/settings_api.cpython-312.pyc b/gvsds/apps/gerp/views/__pycache__/settings_api.cpython-312.pyc
deleted file mode 100644
index 4b7f1901..00000000
Binary files a/gvsds/apps/gerp/views/__pycache__/settings_api.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/views/__pycache__/site_user.cpython-312.pyc b/gvsds/apps/gerp/views/__pycache__/site_user.cpython-312.pyc
deleted file mode 100644
index 7a423921..00000000
Binary files a/gvsds/apps/gerp/views/__pycache__/site_user.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/views/__pycache__/tenant_review.cpython-312.pyc b/gvsds/apps/gerp/views/__pycache__/tenant_review.cpython-312.pyc
deleted file mode 100644
index 8693a563..00000000
Binary files a/gvsds/apps/gerp/views/__pycache__/tenant_review.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/views/__pycache__/twofa.cpython-312.pyc b/gvsds/apps/gerp/views/__pycache__/twofa.cpython-312.pyc
deleted file mode 100644
index d17db2a4..00000000
Binary files a/gvsds/apps/gerp/views/__pycache__/twofa.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/views/__pycache__/user.cpython-312.pyc b/gvsds/apps/gerp/views/__pycache__/user.cpython-312.pyc
deleted file mode 100644
index 440f54ad..00000000
Binary files a/gvsds/apps/gerp/views/__pycache__/user.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/views/__pycache__/user_detail.cpython-312.pyc b/gvsds/apps/gerp/views/__pycache__/user_detail.cpython-312.pyc
deleted file mode 100644
index e79a09d6..00000000
Binary files a/gvsds/apps/gerp/views/__pycache__/user_detail.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/views/__pycache__/viewsets.cpython-312.pyc b/gvsds/apps/gerp/views/__pycache__/viewsets.cpython-312.pyc
deleted file mode 100644
index 0140d49e..00000000
Binary files a/gvsds/apps/gerp/views/__pycache__/viewsets.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/gerp/views/site_user.py b/gvsds/apps/gerp/views/site_user.py
index 24173561..a70a3aab 100644
--- a/gvsds/apps/gerp/views/site_user.py
+++ b/gvsds/apps/gerp/views/site_user.py
@@ -26,15 +26,9 @@ class SiteUserManagementView(ELTAuthenticatedAPIView):
qs = User.objects.all()
if keyword:
qs = qs.filter(UserName__icontains=keyword)
- limit = int(request.query_params.get('limit', 0))
- page = 1
- if limit > 0:
- users = qs[:limit]
- else:
- page = int(request.query_params.get('page', 1))
- PageSize = int(request.query_params.get('PageSize', 20))
- start = (page - 1) * PageSize
- users = qs[start:start + PageSize]
+ offset = int(request.query_params.get('offset', 0))
+ page_size = int(request.query_params.get('PageSize', 20))
+ users = qs[offset:offset + page_size]
total = qs.count()
data = []
for u in users:
@@ -42,11 +36,17 @@ class SiteUserManagementView(ELTAuthenticatedAPIView):
'UserUUID': UUIDObj(u.UserUUID).str,
'UserName': u.UserName,
'UserEmail': u.UserEmail,
+ 'UserEmailVerify': u.UserEmailVerify,
'UserGender': u.UserGender,
'UserAccountLicense': u.UserAccountLicense,
'UserPositionStatus': u.UserPositionStatus,
})
- return Response({'code': 0, 'data': data, 'total': total, 'page': page})
+ return Response({
+ 'code': 0,
+ 'data': data,
+ 'total': total,
+ 'has_more': total > offset + page_size,
+ })
class SiteUserResetPasswordView(ELTAuthenticatedAPIView):
diff --git a/gvsds/apps/gerp/views/user_detail.py b/gvsds/apps/gerp/views/user_detail.py
index 31ac3f0a..090a6ffa 100644
--- a/gvsds/apps/gerp/views/user_detail.py
+++ b/gvsds/apps/gerp/views/user_detail.py
@@ -59,6 +59,7 @@ class UserDetailView(ELTAuthenticatedAPIView):
'UserUUID': user_uuid_str,
'UserName': user.UserName,
'UserEmail': user.UserEmail or '',
+ 'UserEmailVerify': user.UserEmailVerify,
'UserTele': user.UserTele or '',
'UserGender': user.UserGender,
'UserAccountLicense': user.UserAccountLicense,
@@ -177,7 +178,7 @@ class UserDetailView(ELTAuthenticatedAPIView):
with conn.cursor() as cursor:
# 查用户基本信息
cursor.execute(
- "SELECT UserUUID, UserName, UserEmail, UserTele, UserGender, "
+ "SELECT UserUUID, UserName, UserEmail, UserEmailVerify, UserTele, UserGender, "
"UserAccountLicense, UserPositionStatus, UserCreateTime, UserLastLoginDate, "
"IsStaff, IsSuperuser FROM `User` WHERE UserUUID = %s",
[user_uuid_bytes]
@@ -321,6 +322,7 @@ class UserListAPIView(ELTAuthenticatedAPIView):
'UserUUID': UUIDObj(u.UserUUID).str if u.UserUUID else '',
'UserName': u.UserName or '',
'UserEmail': u.UserEmail or '',
+ 'UserEmailVerify': u.UserEmailVerify,
'UserTele': u.UserTele or '',
'UserGender': u.UserGender,
'UserAccountLicense': u.UserAccountLicense,
@@ -368,7 +370,7 @@ class UserListAPIView(ELTAuthenticatedAPIView):
# 分页
offset = (page_index - 1) * page_size
cursor.execute(
- f"SELECT UserUUID, UserName, UserEmail, UserTele, UserGender, "
+ f"SELECT UserUUID, UserName, UserEmail, UserEmailVerify, UserTele, UserGender, "
f"UserAccountLicense, UserPositionStatus, UserCreateTime, UserLastLoginDate, "
f"IsStaff, IsSuperuser FROM `User` {where} "
f"ORDER BY UserCreateTime DESC LIMIT %s OFFSET %s",
@@ -378,7 +380,7 @@ class UserListAPIView(ELTAuthenticatedAPIView):
records = []
for row in cursor.fetchall():
record = {}
- cols = ['UserUUID', 'UserName', 'UserEmail', 'UserTele', 'UserGender',
+ cols = ['UserUUID', 'UserName', 'UserEmail', 'UserEmailVerify', 'UserTele', 'UserGender',
'UserAccountLicense', 'UserPositionStatus', 'UserCreateTime',
'UserLastLoginDate', 'IsStaff', 'IsSuperuser']
for i, col in enumerate(cols):
diff --git a/gvsds/apps/gerp/views/viewsets.py b/gvsds/apps/gerp/views/viewsets.py
index 528071c8..1836989c 100644
--- a/gvsds/apps/gerp/views/viewsets.py
+++ b/gvsds/apps/gerp/views/viewsets.py
@@ -53,8 +53,10 @@ class TenantViewSet(TenantScopedMixin, viewsets.ModelViewSet):
qs = self.get_queryset()
if keyword:
qs = qs.filter(TenantName__icontains=keyword)
- serializer = self.get_serializer(qs[:20], many=True)
- return Response({'code': 0, 'data': serializer.data})
+ offset = int(request.query_params.get('offset', 0))
+ page = qs[offset:offset + 20]
+ serializer = self.get_serializer(page, many=True)
+ return Response({'code': 0, 'data': serializer.data, 'has_more': qs.count() > offset + 20})
class CompanyInfoViewSet(TenantScopedMixin, viewsets.ModelViewSet):
@@ -85,13 +87,14 @@ class CompanyViewSet(TenantScopedMixin, viewsets.ModelViewSet):
Q(CompanyShort__icontains=keyword)
)
data = []
- for c in qs[:20]:
+ offset = int(request.query_params.get('offset', 0))
+ for c in qs[offset:offset + 20]:
data.append({
'CompanyUUID': UUIDObj(c.CompanyUUID).str if c.CompanyUUID else '',
'CompanyName': c.CompanyName,
'CompanyShort': c.CompanyShort,
})
- return Response({'code': 0, 'data': data})
+ return Response({'code': 0, 'data': data, 'has_more': qs.count() > offset + 20})
class DepartmentViewSet(CompanyScopedMixin, viewsets.ModelViewSet):
@@ -106,8 +109,9 @@ class DepartmentViewSet(CompanyScopedMixin, viewsets.ModelViewSet):
qs = self.get_queryset()
if keyword:
qs = qs.filter(DeptName__icontains=keyword)
- serializer = self.get_serializer(qs[:20], many=True)
- return Response({'code': 0, 'data': serializer.data})
+ offset = int(request.query_params.get('offset', 0))
+ serializer = self.get_serializer(qs[offset:offset + 20], many=True)
+ return Response({'code': 0, 'data': serializer.data, 'has_more': qs.count() > offset + 20})
@action(detail=False, methods=['post'])
def set_person_in_charge(self, request):
@@ -157,8 +161,9 @@ class RoleViewSet(TenantScopedMixin, viewsets.ModelViewSet):
qs = self.get_queryset()
if keyword:
qs = qs.filter(RoleName__icontains=keyword)
- serializer = self.get_serializer(qs[:20], many=True)
- return Response({'code': 0, 'data': serializer.data})
+ offset = int(request.query_params.get('offset', 0))
+ serializer = self.get_serializer(qs[offset:offset + 20], many=True)
+ return Response({'code': 0, 'data': serializer.data, 'has_more': qs.count() > offset + 20})
class WorkgroupViewSet(CompanyScopedMixin, viewsets.ModelViewSet):
@@ -172,12 +177,13 @@ class WorkgroupViewSet(CompanyScopedMixin, viewsets.ModelViewSet):
if keyword:
qs = qs.filter(WorkgroupName__icontains=keyword)
data = []
- for w in qs[:20]:
+ offset = int(request.query_params.get('offset', 0))
+ for w in qs[offset:offset + 20]:
data.append({
'WorkgroupUUID': UUIDObj(w.WorkgroupUUID).str if w.WorkgroupUUID else '',
'WorkgroupName': w.WorkgroupName,
})
- return Response({'code': 0, 'data': data})
+ return Response({'code': 0, 'data': data, 'has_more': qs.count() > offset + 20})
class UserRoleViewSet(CompanyScopedMixin, viewsets.ModelViewSet):
@@ -270,8 +276,9 @@ class PermissionViewSet(TenantScopedMixin, viewsets.ModelViewSet):
if keyword:
from django.db.models import Q
qs = qs.filter(Q(PermName__icontains=keyword) | Q(PermCode__icontains=keyword))
- serializer = self.get_serializer(qs[:20], many=True)
- return Response({'code': 0, 'data': serializer.data})
+ offset = int(request.query_params.get('offset', 0))
+ serializer = self.get_serializer(qs[offset:offset + 20], many=True)
+ return Response({'code': 0, 'data': serializer.data, 'has_more': qs.count() > offset + 20})
@action(detail=False, methods=['post'])
def batch_create(self, request):
diff --git a/gvsds/apps/invite/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/invite/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 45d00bd0..00000000
Binary files a/gvsds/apps/invite/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/invite/__pycache__/admin.cpython-312.pyc b/gvsds/apps/invite/__pycache__/admin.cpython-312.pyc
deleted file mode 100644
index 22e05e6d..00000000
Binary files a/gvsds/apps/invite/__pycache__/admin.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/invite/__pycache__/apps.cpython-312.pyc b/gvsds/apps/invite/__pycache__/apps.cpython-312.pyc
deleted file mode 100644
index e1cff635..00000000
Binary files a/gvsds/apps/invite/__pycache__/apps.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/invite/__pycache__/models.cpython-312.pyc b/gvsds/apps/invite/__pycache__/models.cpython-312.pyc
deleted file mode 100644
index 2f167d49..00000000
Binary files a/gvsds/apps/invite/__pycache__/models.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/invite/__pycache__/serializers.cpython-312.pyc b/gvsds/apps/invite/__pycache__/serializers.cpython-312.pyc
deleted file mode 100644
index 9007c95f..00000000
Binary files a/gvsds/apps/invite/__pycache__/serializers.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/invite/__pycache__/urls.cpython-312.pyc b/gvsds/apps/invite/__pycache__/urls.cpython-312.pyc
deleted file mode 100644
index 7ea18de0..00000000
Binary files a/gvsds/apps/invite/__pycache__/urls.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/invite/__pycache__/views.cpython-312.pyc b/gvsds/apps/invite/__pycache__/views.cpython-312.pyc
deleted file mode 100644
index 06ed759f..00000000
Binary files a/gvsds/apps/invite/__pycache__/views.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/invite/migrations/__pycache__/0001_initial.cpython-312.pyc b/gvsds/apps/invite/migrations/__pycache__/0001_initial.cpython-312.pyc
deleted file mode 100644
index 792a3272..00000000
Binary files a/gvsds/apps/invite/migrations/__pycache__/0001_initial.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/invite/migrations/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/invite/migrations/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index b07f1488..00000000
Binary files a/gvsds/apps/invite/migrations/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/mc/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/mc/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index ef456862..00000000
Binary files a/gvsds/apps/mc/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/mc/__pycache__/admin.cpython-312.pyc b/gvsds/apps/mc/__pycache__/admin.cpython-312.pyc
deleted file mode 100644
index a7b443a8..00000000
Binary files a/gvsds/apps/mc/__pycache__/admin.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/mc/__pycache__/apps.cpython-312.pyc b/gvsds/apps/mc/__pycache__/apps.cpython-312.pyc
deleted file mode 100644
index fce69f7a..00000000
Binary files a/gvsds/apps/mc/__pycache__/apps.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/mc/__pycache__/models.cpython-312.pyc b/gvsds/apps/mc/__pycache__/models.cpython-312.pyc
deleted file mode 100644
index 0e35a855..00000000
Binary files a/gvsds/apps/mc/__pycache__/models.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/mc/__pycache__/serializers.cpython-312.pyc b/gvsds/apps/mc/__pycache__/serializers.cpython-312.pyc
deleted file mode 100644
index 5f5c1475..00000000
Binary files a/gvsds/apps/mc/__pycache__/serializers.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/mc/__pycache__/urls.cpython-312.pyc b/gvsds/apps/mc/__pycache__/urls.cpython-312.pyc
deleted file mode 100644
index 6b3837fe..00000000
Binary files a/gvsds/apps/mc/__pycache__/urls.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/mc/__pycache__/views.cpython-312.pyc b/gvsds/apps/mc/__pycache__/views.cpython-312.pyc
deleted file mode 100644
index 16ee7e68..00000000
Binary files a/gvsds/apps/mc/__pycache__/views.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/mc/migrations/__pycache__/0001_initial.cpython-312.pyc b/gvsds/apps/mc/migrations/__pycache__/0001_initial.cpython-312.pyc
deleted file mode 100644
index a71e6f28..00000000
Binary files a/gvsds/apps/mc/migrations/__pycache__/0001_initial.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/mc/migrations/__pycache__/0002_drop_mcuser.cpython-312.pyc b/gvsds/apps/mc/migrations/__pycache__/0002_drop_mcuser.cpython-312.pyc
deleted file mode 100644
index 22b8295e..00000000
Binary files a/gvsds/apps/mc/migrations/__pycache__/0002_drop_mcuser.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/mc/migrations/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/mc/migrations/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 2c05934e..00000000
Binary files a/gvsds/apps/mc/migrations/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/msync/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/msync/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index b178e7c6..00000000
Binary files a/gvsds/apps/msync/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/msync/__pycache__/admin.cpython-312.pyc b/gvsds/apps/msync/__pycache__/admin.cpython-312.pyc
deleted file mode 100644
index e67fe722..00000000
Binary files a/gvsds/apps/msync/__pycache__/admin.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/msync/__pycache__/apps.cpython-312.pyc b/gvsds/apps/msync/__pycache__/apps.cpython-312.pyc
deleted file mode 100644
index 522ce8b0..00000000
Binary files a/gvsds/apps/msync/__pycache__/apps.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/msync/__pycache__/auth.cpython-312.pyc b/gvsds/apps/msync/__pycache__/auth.cpython-312.pyc
deleted file mode 100644
index 136ca33d..00000000
Binary files a/gvsds/apps/msync/__pycache__/auth.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/msync/__pycache__/local_tx.cpython-312.pyc b/gvsds/apps/msync/__pycache__/local_tx.cpython-312.pyc
deleted file mode 100644
index 4fb7b7be..00000000
Binary files a/gvsds/apps/msync/__pycache__/local_tx.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/msync/__pycache__/middleware.cpython-312.pyc b/gvsds/apps/msync/__pycache__/middleware.cpython-312.pyc
deleted file mode 100644
index 1e3b95d7..00000000
Binary files a/gvsds/apps/msync/__pycache__/middleware.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/msync/__pycache__/models.cpython-312.pyc b/gvsds/apps/msync/__pycache__/models.cpython-312.pyc
deleted file mode 100644
index 9f5fed42..00000000
Binary files a/gvsds/apps/msync/__pycache__/models.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/msync/__pycache__/ogm.cpython-312.pyc b/gvsds/apps/msync/__pycache__/ogm.cpython-312.pyc
deleted file mode 100644
index 46146e4a..00000000
Binary files a/gvsds/apps/msync/__pycache__/ogm.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/msync/__pycache__/registry.cpython-312.pyc b/gvsds/apps/msync/__pycache__/registry.cpython-312.pyc
deleted file mode 100644
index a90cfdfb..00000000
Binary files a/gvsds/apps/msync/__pycache__/registry.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/msync/__pycache__/serializers.cpython-312.pyc b/gvsds/apps/msync/__pycache__/serializers.cpython-312.pyc
deleted file mode 100644
index 215370d1..00000000
Binary files a/gvsds/apps/msync/__pycache__/serializers.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/msync/__pycache__/sio.cpython-312.pyc b/gvsds/apps/msync/__pycache__/sio.cpython-312.pyc
deleted file mode 100644
index dd0f5356..00000000
Binary files a/gvsds/apps/msync/__pycache__/sio.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/msync/__pycache__/transaction.cpython-312.pyc b/gvsds/apps/msync/__pycache__/transaction.cpython-312.pyc
deleted file mode 100644
index f4d65a13..00000000
Binary files a/gvsds/apps/msync/__pycache__/transaction.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/msync/__pycache__/urls.cpython-312.pyc b/gvsds/apps/msync/__pycache__/urls.cpython-312.pyc
deleted file mode 100644
index 7bb8b66b..00000000
Binary files a/gvsds/apps/msync/__pycache__/urls.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/msync/__pycache__/views.cpython-312.pyc b/gvsds/apps/msync/__pycache__/views.cpython-312.pyc
deleted file mode 100644
index dfda3e2b..00000000
Binary files a/gvsds/apps/msync/__pycache__/views.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/msync/migrations/__pycache__/0001_initial.cpython-312.pyc b/gvsds/apps/msync/migrations/__pycache__/0001_initial.cpython-312.pyc
deleted file mode 100644
index 0b6c2f50..00000000
Binary files a/gvsds/apps/msync/migrations/__pycache__/0001_initial.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/msync/migrations/__pycache__/0002_add_service_secret_encrypted.cpython-312.pyc b/gvsds/apps/msync/migrations/__pycache__/0002_add_service_secret_encrypted.cpython-312.pyc
deleted file mode 100644
index 6bd6fe02..00000000
Binary files a/gvsds/apps/msync/migrations/__pycache__/0002_add_service_secret_encrypted.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/msync/migrations/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/msync/migrations/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index a76931bc..00000000
Binary files a/gvsds/apps/msync/migrations/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/payment/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/payment/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 36290d2f..00000000
Binary files a/gvsds/apps/payment/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/payment/__pycache__/admin.cpython-312.pyc b/gvsds/apps/payment/__pycache__/admin.cpython-312.pyc
deleted file mode 100644
index 87e21eee..00000000
Binary files a/gvsds/apps/payment/__pycache__/admin.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/payment/__pycache__/apps.cpython-312.pyc b/gvsds/apps/payment/__pycache__/apps.cpython-312.pyc
deleted file mode 100644
index 8ffe612f..00000000
Binary files a/gvsds/apps/payment/__pycache__/apps.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/payment/__pycache__/manager.cpython-312.pyc b/gvsds/apps/payment/__pycache__/manager.cpython-312.pyc
deleted file mode 100644
index c1a357fa..00000000
Binary files a/gvsds/apps/payment/__pycache__/manager.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/payment/__pycache__/models.cpython-312.pyc b/gvsds/apps/payment/__pycache__/models.cpython-312.pyc
deleted file mode 100644
index 1c446d52..00000000
Binary files a/gvsds/apps/payment/__pycache__/models.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/payment/__pycache__/serializers.cpython-312.pyc b/gvsds/apps/payment/__pycache__/serializers.cpython-312.pyc
deleted file mode 100644
index d83db5de..00000000
Binary files a/gvsds/apps/payment/__pycache__/serializers.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/payment/__pycache__/urls.cpython-312.pyc b/gvsds/apps/payment/__pycache__/urls.cpython-312.pyc
deleted file mode 100644
index b157d94d..00000000
Binary files a/gvsds/apps/payment/__pycache__/urls.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/payment/__pycache__/views.cpython-312.pyc b/gvsds/apps/payment/__pycache__/views.cpython-312.pyc
deleted file mode 100644
index c5e6c740..00000000
Binary files a/gvsds/apps/payment/__pycache__/views.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/payment/gateways/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/payment/gateways/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index a7a40814..00000000
Binary files a/gvsds/apps/payment/gateways/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/payment/gateways/__pycache__/alipay.cpython-312.pyc b/gvsds/apps/payment/gateways/__pycache__/alipay.cpython-312.pyc
deleted file mode 100644
index d0de135e..00000000
Binary files a/gvsds/apps/payment/gateways/__pycache__/alipay.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/payment/gateways/__pycache__/bank.cpython-312.pyc b/gvsds/apps/payment/gateways/__pycache__/bank.cpython-312.pyc
deleted file mode 100644
index 1a6b6a0d..00000000
Binary files a/gvsds/apps/payment/gateways/__pycache__/bank.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/payment/gateways/__pycache__/base.cpython-312.pyc b/gvsds/apps/payment/gateways/__pycache__/base.cpython-312.pyc
deleted file mode 100644
index 9db3eaf2..00000000
Binary files a/gvsds/apps/payment/gateways/__pycache__/base.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/payment/gateways/__pycache__/registry.cpython-312.pyc b/gvsds/apps/payment/gateways/__pycache__/registry.cpython-312.pyc
deleted file mode 100644
index 1b4156f1..00000000
Binary files a/gvsds/apps/payment/gateways/__pycache__/registry.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/payment/gateways/__pycache__/wechat.cpython-312.pyc b/gvsds/apps/payment/gateways/__pycache__/wechat.cpython-312.pyc
deleted file mode 100644
index 05c8d36f..00000000
Binary files a/gvsds/apps/payment/gateways/__pycache__/wechat.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/payment/migrations/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/payment/migrations/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index eb8b169f..00000000
Binary files a/gvsds/apps/payment/migrations/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/stats/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/stats/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index a75b0844..00000000
Binary files a/gvsds/apps/stats/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/stats/__pycache__/admin.cpython-312.pyc b/gvsds/apps/stats/__pycache__/admin.cpython-312.pyc
deleted file mode 100644
index bb36ffe4..00000000
Binary files a/gvsds/apps/stats/__pycache__/admin.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/stats/__pycache__/apps.cpython-312.pyc b/gvsds/apps/stats/__pycache__/apps.cpython-312.pyc
deleted file mode 100644
index 1d750c90..00000000
Binary files a/gvsds/apps/stats/__pycache__/apps.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/stats/__pycache__/engine.cpython-312.pyc b/gvsds/apps/stats/__pycache__/engine.cpython-312.pyc
deleted file mode 100644
index fee5b39f..00000000
Binary files a/gvsds/apps/stats/__pycache__/engine.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/stats/__pycache__/manager.cpython-312.pyc b/gvsds/apps/stats/__pycache__/manager.cpython-312.pyc
deleted file mode 100644
index c9c1004e..00000000
Binary files a/gvsds/apps/stats/__pycache__/manager.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/stats/__pycache__/models.cpython-312.pyc b/gvsds/apps/stats/__pycache__/models.cpython-312.pyc
deleted file mode 100644
index a8fc4c72..00000000
Binary files a/gvsds/apps/stats/__pycache__/models.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/stats/__pycache__/serializers.cpython-312.pyc b/gvsds/apps/stats/__pycache__/serializers.cpython-312.pyc
deleted file mode 100644
index 3a80b12f..00000000
Binary files a/gvsds/apps/stats/__pycache__/serializers.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/stats/__pycache__/urls.cpython-312.pyc b/gvsds/apps/stats/__pycache__/urls.cpython-312.pyc
deleted file mode 100644
index 80c65bb7..00000000
Binary files a/gvsds/apps/stats/__pycache__/urls.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/stats/__pycache__/views.cpython-312.pyc b/gvsds/apps/stats/__pycache__/views.cpython-312.pyc
deleted file mode 100644
index f75fc8ce..00000000
Binary files a/gvsds/apps/stats/__pycache__/views.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/stats/migrations/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/stats/migrations/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 049998e0..00000000
Binary files a/gvsds/apps/stats/migrations/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/sve/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/sve/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index e9c97384..00000000
Binary files a/gvsds/apps/sve/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/sve/__pycache__/admin.cpython-312.pyc b/gvsds/apps/sve/__pycache__/admin.cpython-312.pyc
deleted file mode 100644
index 5439edbb..00000000
Binary files a/gvsds/apps/sve/__pycache__/admin.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/sve/__pycache__/apps.cpython-312.pyc b/gvsds/apps/sve/__pycache__/apps.cpython-312.pyc
deleted file mode 100644
index da5d2f41..00000000
Binary files a/gvsds/apps/sve/__pycache__/apps.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/sve/__pycache__/models.cpython-312.pyc b/gvsds/apps/sve/__pycache__/models.cpython-312.pyc
deleted file mode 100644
index 09725666..00000000
Binary files a/gvsds/apps/sve/__pycache__/models.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/sve/__pycache__/serializers.cpython-312.pyc b/gvsds/apps/sve/__pycache__/serializers.cpython-312.pyc
deleted file mode 100644
index 60c5fb05..00000000
Binary files a/gvsds/apps/sve/__pycache__/serializers.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/sve/__pycache__/urls.cpython-312.pyc b/gvsds/apps/sve/__pycache__/urls.cpython-312.pyc
deleted file mode 100644
index 4adb0c58..00000000
Binary files a/gvsds/apps/sve/__pycache__/urls.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/sve/__pycache__/views.cpython-312.pyc b/gvsds/apps/sve/__pycache__/views.cpython-312.pyc
deleted file mode 100644
index 1f507b58..00000000
Binary files a/gvsds/apps/sve/__pycache__/views.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/sve/migrations/__pycache__/0001_initial.cpython-312.pyc b/gvsds/apps/sve/migrations/__pycache__/0001_initial.cpython-312.pyc
deleted file mode 100644
index 17307747..00000000
Binary files a/gvsds/apps/sve/migrations/__pycache__/0001_initial.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/sve/migrations/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/sve/migrations/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 89f9809b..00000000
Binary files a/gvsds/apps/sve/migrations/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/t4/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/t4/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 1b107c50..00000000
Binary files a/gvsds/apps/t4/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/t4/__pycache__/admin.cpython-312.pyc b/gvsds/apps/t4/__pycache__/admin.cpython-312.pyc
deleted file mode 100644
index 30f94bb1..00000000
Binary files a/gvsds/apps/t4/__pycache__/admin.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/t4/__pycache__/apps.cpython-312.pyc b/gvsds/apps/t4/__pycache__/apps.cpython-312.pyc
deleted file mode 100644
index aec2d893..00000000
Binary files a/gvsds/apps/t4/__pycache__/apps.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/t4/__pycache__/models.cpython-312.pyc b/gvsds/apps/t4/__pycache__/models.cpython-312.pyc
deleted file mode 100644
index 9ecda3df..00000000
Binary files a/gvsds/apps/t4/__pycache__/models.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/t4/__pycache__/serializers.cpython-312.pyc b/gvsds/apps/t4/__pycache__/serializers.cpython-312.pyc
deleted file mode 100644
index 8e36a90f..00000000
Binary files a/gvsds/apps/t4/__pycache__/serializers.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/t4/__pycache__/urls.cpython-312.pyc b/gvsds/apps/t4/__pycache__/urls.cpython-312.pyc
deleted file mode 100644
index a16dbf75..00000000
Binary files a/gvsds/apps/t4/__pycache__/urls.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/t4/__pycache__/views.cpython-312.pyc b/gvsds/apps/t4/__pycache__/views.cpython-312.pyc
deleted file mode 100644
index edace92c..00000000
Binary files a/gvsds/apps/t4/__pycache__/views.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/t4/migrations/__pycache__/0001_initial.cpython-312.pyc b/gvsds/apps/t4/migrations/__pycache__/0001_initial.cpython-312.pyc
deleted file mode 100644
index 2a0a9c31..00000000
Binary files a/gvsds/apps/t4/migrations/__pycache__/0001_initial.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/t4/migrations/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/t4/migrations/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index d253b695..00000000
Binary files a/gvsds/apps/t4/migrations/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/ugm/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/ugm/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 28f9e95a..00000000
Binary files a/gvsds/apps/ugm/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/ugm/__pycache__/apps.cpython-312.pyc b/gvsds/apps/ugm/__pycache__/apps.cpython-312.pyc
deleted file mode 100644
index 4150fa52..00000000
Binary files a/gvsds/apps/ugm/__pycache__/apps.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/ugm/__pycache__/serializers.cpython-312.pyc b/gvsds/apps/ugm/__pycache__/serializers.cpython-312.pyc
deleted file mode 100644
index 6223c871..00000000
Binary files a/gvsds/apps/ugm/__pycache__/serializers.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/ugm/__pycache__/urls.cpython-312.pyc b/gvsds/apps/ugm/__pycache__/urls.cpython-312.pyc
deleted file mode 100644
index b94fbb6e..00000000
Binary files a/gvsds/apps/ugm/__pycache__/urls.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/ugm/__pycache__/views.cpython-312.pyc b/gvsds/apps/ugm/__pycache__/views.cpython-312.pyc
deleted file mode 100644
index 30d38f80..00000000
Binary files a/gvsds/apps/ugm/__pycache__/views.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/ugm/migrations/__pycache__/__init__.cpython-312.pyc b/gvsds/apps/ugm/migrations/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 3033de75..00000000
Binary files a/gvsds/apps/ugm/migrations/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/apps/ugm/views.py b/gvsds/apps/ugm/views.py
index f1c951bf..8f72ca7a 100644
--- a/gvsds/apps/ugm/views.py
+++ b/gvsds/apps/ugm/views.py
@@ -502,7 +502,7 @@ class LogoutView(APIView):
def get(self, request):
"""GET 请求登出后重定向到登录页"""
- response = HttpResponseRedirect('https://www.gvsds.com/login.html')
+ response = HttpResponseRedirect('https://www.gvsds.com/login')
_ClearJwtCookies(response)
response.delete_cookie('CurrentRoleUUID', domain=settings.SESSION_COOKIE_DOMAIN)
return response
diff --git a/gvsds/common/__pycache__/Cookie.cpython-312.pyc b/gvsds/common/__pycache__/Cookie.cpython-312.pyc
deleted file mode 100644
index 1f48b4c6..00000000
Binary files a/gvsds/common/__pycache__/Cookie.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/common/__pycache__/Crypto.cpython-312.pyc b/gvsds/common/__pycache__/Crypto.cpython-312.pyc
deleted file mode 100644
index f8ef4aff..00000000
Binary files a/gvsds/common/__pycache__/Crypto.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/common/__pycache__/DateTime.cpython-312.pyc b/gvsds/common/__pycache__/DateTime.cpython-312.pyc
deleted file mode 100644
index 3a26169b..00000000
Binary files a/gvsds/common/__pycache__/DateTime.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/common/__pycache__/Naming.cpython-312.pyc b/gvsds/common/__pycache__/Naming.cpython-312.pyc
deleted file mode 100644
index 115b7a85..00000000
Binary files a/gvsds/common/__pycache__/Naming.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/common/__pycache__/Permission.cpython-312.pyc b/gvsds/common/__pycache__/Permission.cpython-312.pyc
deleted file mode 100644
index 990a769f..00000000
Binary files a/gvsds/common/__pycache__/Permission.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/common/__pycache__/Serializer.cpython-312.pyc b/gvsds/common/__pycache__/Serializer.cpython-312.pyc
deleted file mode 100644
index 614df540..00000000
Binary files a/gvsds/common/__pycache__/Serializer.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/common/__pycache__/String.cpython-312.pyc b/gvsds/common/__pycache__/String.cpython-312.pyc
deleted file mode 100644
index 22812532..00000000
Binary files a/gvsds/common/__pycache__/String.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/common/__pycache__/UUID.cpython-312.pyc b/gvsds/common/__pycache__/UUID.cpython-312.pyc
deleted file mode 100644
index e59fbf81..00000000
Binary files a/gvsds/common/__pycache__/UUID.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/common/__pycache__/__init__.cpython-312.pyc b/gvsds/common/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 7b19d384..00000000
Binary files a/gvsds/common/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/template_engine.py b/gvsds/template_engine.py
index 62448daf..9b8690cb 100644
--- a/gvsds/template_engine.py
+++ b/gvsds/template_engine.py
@@ -24,7 +24,7 @@ def openr(filepath):
def _resolve_url_for(endpoint):
endpoint_map = {
'UGM.UGM_Query_GetELTUserAvatar': '/Query/GetELTUserAvatar',
- 'MainLoginHTML': 'https://ugm.gvsds.com/login.html',
+ 'MainLoginHTML': 'https://ugm.gvsds.com/login',
'GERP.GERPIndex': 'https://gerp.gvsds.com/',
'UGM.Index': 'https://ugm.gvsds.com/',
}
diff --git a/gvsds/tests/__pycache__/__init__.cpython-312.pyc b/gvsds/tests/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 74359f0b..00000000
Binary files a/gvsds/tests/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/tests/__pycache__/test_attack_detect.cpython-312.pyc b/gvsds/tests/__pycache__/test_attack_detect.cpython-312.pyc
deleted file mode 100644
index eafaa62e..00000000
Binary files a/gvsds/tests/__pycache__/test_attack_detect.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/tests/__pycache__/test_celery_utils.cpython-312.pyc b/gvsds/tests/__pycache__/test_celery_utils.cpython-312.pyc
deleted file mode 100644
index 3577b568..00000000
Binary files a/gvsds/tests/__pycache__/test_celery_utils.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/tests/__pycache__/test_ip_filter.cpython-312.pyc b/gvsds/tests/__pycache__/test_ip_filter.cpython-312.pyc
deleted file mode 100644
index 0428cdca..00000000
Binary files a/gvsds/tests/__pycache__/test_ip_filter.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/tests/__pycache__/test_money.cpython-312.pyc b/gvsds/tests/__pycache__/test_money.cpython-312.pyc
deleted file mode 100644
index 99d3ad37..00000000
Binary files a/gvsds/tests/__pycache__/test_money.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/tests/__pycache__/test_redis_lock.cpython-312.pyc b/gvsds/tests/__pycache__/test_redis_lock.cpython-312.pyc
deleted file mode 100644
index c3277882..00000000
Binary files a/gvsds/tests/__pycache__/test_redis_lock.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/tests/__pycache__/test_storage.cpython-312.pyc b/gvsds/tests/__pycache__/test_storage.cpython-312.pyc
deleted file mode 100644
index 0b81f95f..00000000
Binary files a/gvsds/tests/__pycache__/test_storage.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/wechat/__pycache__/__init__.cpython-312.pyc b/gvsds/wechat/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 42acf0fd..00000000
Binary files a/gvsds/wechat/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/wechat/__pycache__/broadcast.cpython-312.pyc b/gvsds/wechat/__pycache__/broadcast.cpython-312.pyc
deleted file mode 100644
index 8641e606..00000000
Binary files a/gvsds/wechat/__pycache__/broadcast.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/wechat/__pycache__/sms.cpython-312.pyc b/gvsds/wechat/__pycache__/sms.cpython-312.pyc
deleted file mode 100644
index c10c921b..00000000
Binary files a/gvsds/wechat/__pycache__/sms.cpython-312.pyc and /dev/null differ
diff --git a/gvsds/wechat/__pycache__/token.cpython-312.pyc b/gvsds/wechat/__pycache__/token.cpython-312.pyc
deleted file mode 100644
index 946eec9a..00000000
Binary files a/gvsds/wechat/__pycache__/token.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/__pycache__/__init__.cpython-312.pyc b/gvsdsdk/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index d4782ed5..00000000
Binary files a/gvsdsdk/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/__pycache__/__main__.cpython-312.pyc b/gvsdsdk/__pycache__/__main__.cpython-312.pyc
deleted file mode 100644
index 083e942f..00000000
Binary files a/gvsdsdk/__pycache__/__main__.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/__pycache__/apps.cpython-312.pyc b/gvsdsdk/__pycache__/apps.cpython-312.pyc
deleted file mode 100644
index ada57a95..00000000
Binary files a/gvsdsdk/__pycache__/apps.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/__pycache__/business_models.cpython-312.pyc b/gvsdsdk/__pycache__/business_models.cpython-312.pyc
deleted file mode 100644
index dc38fda4..00000000
Binary files a/gvsdsdk/__pycache__/business_models.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/__pycache__/db_router.cpython-312.pyc b/gvsdsdk/__pycache__/db_router.cpython-312.pyc
deleted file mode 100644
index a7c91809..00000000
Binary files a/gvsdsdk/__pycache__/db_router.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/__pycache__/fluent.cpython-312.pyc b/gvsdsdk/__pycache__/fluent.cpython-312.pyc
deleted file mode 100644
index 9b892b9e..00000000
Binary files a/gvsdsdk/__pycache__/fluent.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/__pycache__/form_service.cpython-312.pyc b/gvsdsdk/__pycache__/form_service.cpython-312.pyc
deleted file mode 100644
index a8e392b5..00000000
Binary files a/gvsdsdk/__pycache__/form_service.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/__pycache__/model_base.cpython-312.pyc b/gvsdsdk/__pycache__/model_base.cpython-312.pyc
deleted file mode 100644
index 6cf5b562..00000000
Binary files a/gvsdsdk/__pycache__/model_base.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/__pycache__/model_utils.cpython-312.pyc b/gvsdsdk/__pycache__/model_utils.cpython-312.pyc
deleted file mode 100644
index ff05aff6..00000000
Binary files a/gvsdsdk/__pycache__/model_utils.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/__pycache__/models.cpython-312.pyc b/gvsdsdk/__pycache__/models.cpython-312.pyc
deleted file mode 100644
index 1570c2be..00000000
Binary files a/gvsdsdk/__pycache__/models.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/auth/__pycache__/__init__.cpython-312.pyc b/gvsdsdk/auth/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 113e3b6a..00000000
Binary files a/gvsdsdk/auth/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/auth/__pycache__/admin_service.cpython-312.pyc b/gvsdsdk/auth/__pycache__/admin_service.cpython-312.pyc
deleted file mode 100644
index 81a9d68a..00000000
Binary files a/gvsdsdk/auth/__pycache__/admin_service.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/auth/__pycache__/cookie.cpython-312.pyc b/gvsdsdk/auth/__pycache__/cookie.cpython-312.pyc
deleted file mode 100644
index bd11f534..00000000
Binary files a/gvsdsdk/auth/__pycache__/cookie.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/auth/__pycache__/crypto.cpython-312.pyc b/gvsdsdk/auth/__pycache__/crypto.cpython-312.pyc
deleted file mode 100644
index e2152718..00000000
Binary files a/gvsdsdk/auth/__pycache__/crypto.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/auth/__pycache__/elt_auth.cpython-312.pyc b/gvsdsdk/auth/__pycache__/elt_auth.cpython-312.pyc
deleted file mode 100644
index d3fd43fb..00000000
Binary files a/gvsdsdk/auth/__pycache__/elt_auth.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/auth/__pycache__/jwt_auth.cpython-312.pyc b/gvsdsdk/auth/__pycache__/jwt_auth.cpython-312.pyc
deleted file mode 100644
index a71adca1..00000000
Binary files a/gvsdsdk/auth/__pycache__/jwt_auth.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/auth/__pycache__/managers.cpython-312.pyc b/gvsdsdk/auth/__pycache__/managers.cpython-312.pyc
deleted file mode 100644
index e8e16901..00000000
Binary files a/gvsdsdk/auth/__pycache__/managers.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/auth/__pycache__/middleware.cpython-312.pyc b/gvsdsdk/auth/__pycache__/middleware.cpython-312.pyc
deleted file mode 100644
index a370565b..00000000
Binary files a/gvsdsdk/auth/__pycache__/middleware.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/auth/__pycache__/permissions.cpython-312.pyc b/gvsdsdk/auth/__pycache__/permissions.cpython-312.pyc
deleted file mode 100644
index b1e544f0..00000000
Binary files a/gvsdsdk/auth/__pycache__/permissions.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/commission/__pycache__/__init__.cpython-312.pyc b/gvsdsdk/commission/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index a01f051c..00000000
Binary files a/gvsdsdk/commission/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/commission/__pycache__/manager.cpython-312.pyc b/gvsdsdk/commission/__pycache__/manager.cpython-312.pyc
deleted file mode 100644
index 4dadfd09..00000000
Binary files a/gvsdsdk/commission/__pycache__/manager.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/commission/__pycache__/models.cpython-312.pyc b/gvsdsdk/commission/__pycache__/models.cpython-312.pyc
deleted file mode 100644
index 68483a1c..00000000
Binary files a/gvsdsdk/commission/__pycache__/models.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/commission/strategies/__pycache__/__init__.cpython-312.pyc b/gvsdsdk/commission/strategies/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 2d00351c..00000000
Binary files a/gvsdsdk/commission/strategies/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/commission/strategies/__pycache__/engine.cpython-312.pyc b/gvsdsdk/commission/strategies/__pycache__/engine.cpython-312.pyc
deleted file mode 100644
index 061c4f58..00000000
Binary files a/gvsdsdk/commission/strategies/__pycache__/engine.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/management/__pycache__/__init__.cpython-312.pyc b/gvsdsdk/management/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index c2dbcbd4..00000000
Binary files a/gvsdsdk/management/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/management/commands/__pycache__/__init__.cpython-312.pyc b/gvsdsdk/management/commands/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 2183615c..00000000
Binary files a/gvsdsdk/management/commands/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/management/commands/__pycache__/gvsdsdk_init.cpython-312.pyc b/gvsdsdk/management/commands/__pycache__/gvsdsdk_init.cpython-312.pyc
deleted file mode 100644
index 86df49c9..00000000
Binary files a/gvsdsdk/management/commands/__pycache__/gvsdsdk_init.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/management/commands/__pycache__/hash_passwords.cpython-312.pyc b/gvsdsdk/management/commands/__pycache__/hash_passwords.cpython-312.pyc
deleted file mode 100644
index f777eb20..00000000
Binary files a/gvsdsdk/management/commands/__pycache__/hash_passwords.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/migrations/__pycache__/0001_drop_userdept.cpython-312.pyc b/gvsdsdk/migrations/__pycache__/0001_drop_userdept.cpython-312.pyc
deleted file mode 100644
index e89ddd02..00000000
Binary files a/gvsdsdk/migrations/__pycache__/0001_drop_userdept.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/migrations/__pycache__/__init__.cpython-312.pyc b/gvsdsdk/migrations/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 9e130ab4..00000000
Binary files a/gvsdsdk/migrations/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/minecraft/__pycache__/__init__.cpython-312.pyc b/gvsdsdk/minecraft/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index ac00e420..00000000
Binary files a/gvsdsdk/minecraft/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/minecraft/__pycache__/auth.cpython-312.pyc b/gvsdsdk/minecraft/__pycache__/auth.cpython-312.pyc
deleted file mode 100644
index 9efa3fba..00000000
Binary files a/gvsdsdk/minecraft/__pycache__/auth.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/minecraft/__pycache__/models.cpython-312.pyc b/gvsdsdk/minecraft/__pycache__/models.cpython-312.pyc
deleted file mode 100644
index 1def8033..00000000
Binary files a/gvsdsdk/minecraft/__pycache__/models.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/msync/__pycache__/__init__.cpython-312.pyc b/gvsdsdk/msync/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 8157c4ad..00000000
Binary files a/gvsdsdk/msync/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/msync/__pycache__/auth.cpython-312.pyc b/gvsdsdk/msync/__pycache__/auth.cpython-312.pyc
deleted file mode 100644
index 5a0b70e1..00000000
Binary files a/gvsdsdk/msync/__pycache__/auth.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/msync/__pycache__/client.cpython-312.pyc b/gvsdsdk/msync/__pycache__/client.cpython-312.pyc
deleted file mode 100644
index 78db8b91..00000000
Binary files a/gvsdsdk/msync/__pycache__/client.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/msync/__pycache__/local_tx.cpython-312.pyc b/gvsdsdk/msync/__pycache__/local_tx.cpython-312.pyc
deleted file mode 100644
index 866cd054..00000000
Binary files a/gvsdsdk/msync/__pycache__/local_tx.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/msync/__pycache__/ogm.cpython-312.pyc b/gvsdsdk/msync/__pycache__/ogm.cpython-312.pyc
deleted file mode 100644
index c2721064..00000000
Binary files a/gvsdsdk/msync/__pycache__/ogm.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/msync/__pycache__/orm_handler.cpython-312.pyc b/gvsdsdk/msync/__pycache__/orm_handler.cpython-312.pyc
deleted file mode 100644
index b0dc1d85..00000000
Binary files a/gvsdsdk/msync/__pycache__/orm_handler.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/msync/__pycache__/registry.cpython-312.pyc b/gvsdsdk/msync/__pycache__/registry.cpython-312.pyc
deleted file mode 100644
index 690241ce..00000000
Binary files a/gvsdsdk/msync/__pycache__/registry.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/msync/__pycache__/transaction.cpython-312.pyc b/gvsdsdk/msync/__pycache__/transaction.cpython-312.pyc
deleted file mode 100644
index ee435a45..00000000
Binary files a/gvsdsdk/msync/__pycache__/transaction.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/order/__pycache__/__init__.cpython-312.pyc b/gvsdsdk/order/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index dfd530c0..00000000
Binary files a/gvsdsdk/order/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/order/__pycache__/manager.cpython-312.pyc b/gvsdsdk/order/__pycache__/manager.cpython-312.pyc
deleted file mode 100644
index bb40736f..00000000
Binary files a/gvsdsdk/order/__pycache__/manager.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/order/__pycache__/models.cpython-312.pyc b/gvsdsdk/order/__pycache__/models.cpython-312.pyc
deleted file mode 100644
index 3d3eb950..00000000
Binary files a/gvsdsdk/order/__pycache__/models.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/payment/__pycache__/__init__.cpython-312.pyc b/gvsdsdk/payment/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 8ab7b5dc..00000000
Binary files a/gvsdsdk/payment/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/payment/__pycache__/manager.cpython-312.pyc b/gvsdsdk/payment/__pycache__/manager.cpython-312.pyc
deleted file mode 100644
index 740bea7c..00000000
Binary files a/gvsdsdk/payment/__pycache__/manager.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/payment/__pycache__/models.cpython-312.pyc b/gvsdsdk/payment/__pycache__/models.cpython-312.pyc
deleted file mode 100644
index a58e7e48..00000000
Binary files a/gvsdsdk/payment/__pycache__/models.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/payment/gateways/__pycache__/__init__.cpython-312.pyc b/gvsdsdk/payment/gateways/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index bec670c2..00000000
Binary files a/gvsdsdk/payment/gateways/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/payment/gateways/__pycache__/alipay.cpython-312.pyc b/gvsdsdk/payment/gateways/__pycache__/alipay.cpython-312.pyc
deleted file mode 100644
index 866db141..00000000
Binary files a/gvsdsdk/payment/gateways/__pycache__/alipay.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/payment/gateways/__pycache__/bank.cpython-312.pyc b/gvsdsdk/payment/gateways/__pycache__/bank.cpython-312.pyc
deleted file mode 100644
index 926f6530..00000000
Binary files a/gvsdsdk/payment/gateways/__pycache__/bank.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/payment/gateways/__pycache__/base.cpython-312.pyc b/gvsdsdk/payment/gateways/__pycache__/base.cpython-312.pyc
deleted file mode 100644
index edf9745b..00000000
Binary files a/gvsdsdk/payment/gateways/__pycache__/base.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/payment/gateways/__pycache__/registry.cpython-312.pyc b/gvsdsdk/payment/gateways/__pycache__/registry.cpython-312.pyc
deleted file mode 100644
index 669d45d8..00000000
Binary files a/gvsdsdk/payment/gateways/__pycache__/registry.cpython-312.pyc and /dev/null differ
diff --git a/gvsdsdk/payment/gateways/__pycache__/wechat.cpython-312.pyc b/gvsdsdk/payment/gateways/__pycache__/wechat.cpython-312.pyc
deleted file mode 100644
index 91191f51..00000000
Binary files a/gvsdsdk/payment/gateways/__pycache__/wechat.cpython-312.pyc and /dev/null differ
diff --git a/service.log b/service.log
index a67943bd..7d2e9cad 100644
--- a/service.log
+++ b/service.log
@@ -1 +1,42 @@
[EXCEPTION] CmeBalancesViewSet: 身份认证信息未提供。
+[EXCEPTION] MenuListCompatView: 身份认证信息未提供。
+[EXCEPTION] GetUserInfoView: 身份认证信息未提供。
+[EXCEPTION] GetUserInfoView: 身份认证信息未提供。
+[EXCEPTION] GetUserInfoView: 身份认证信息未提供。
+[EXCEPTION] GetUserInfoView: 身份认证信息未提供。
+[EXCEPTION] GetUserInfoView: 身份认证信息未提供。
+[EXCEPTION] GetUserInfoView: 身份认证信息未提供。
+[EXCEPTION] GetUserInfoView: 身份认证信息未提供。
+[EXCEPTION] GetUserInfoView: 身份认证信息未提供。
+[EXCEPTION] GetUserAvatarView: 身份认证信息未提供。
+[EXCEPTION] GetUserAvatarView: 身份认证信息未提供。
+[EXCEPTION] GetUserAvatarView: 身份认证信息未提供。
+[EXCEPTION] GetUserAvatarView: 身份认证信息未提供。
+[EXCEPTION] GetUserAvatarView: 身份认证信息未提供。
+[EXCEPTION] GetUserAvatarView: 身份认证信息未提供。
+[EXCEPTION] GetUserAvatarView: 身份认证信息未提供。
+[EXCEPTION] GetUserAvatarView: 身份认证信息未提供。
+[EXCEPTION] GetUserAvatarView: 身份认证信息未提供。
+[EXCEPTION] GetUserAvatarView: 身份认证信息未提供。
+[EXCEPTION] GetUserAvatarView: 身份认证信息未提供。
+[EXCEPTION] GetUserInfoView: 身份认证信息未提供。
+[EXCEPTION] GetUserInfoView: 身份认证信息未提供。
+[EXCEPTION] GetUserInfoView: 身份认证信息未提供。
+[EXCEPTION] GetUserInfoView: 身份认证信息未提供。
+[EXCEPTION] GetUserInfoView: 身份认证信息未提供。
+[EXCEPTION] GetUserInfoView: 身份认证信息未提供。
+[EXCEPTION] GetUserInfoView: 身份认证信息未提供。
+[EXCEPTION] GetUserInfoView: 身份认证信息未提供。
+[EXCEPTION] GetUserRolesView: 身份认证信息未提供。
+[EXCEPTION] GetUserAvatarView: 身份认证信息未提供。
+[EXCEPTION] DashboardStatsView: 身份认证信息未提供。
+[EXCEPTION] GetUserInfoView: 身份认证信息未提供。
+[EXCEPTION] GetUserAvatarView: 身份认证信息未提供。
+[EXCEPTION] GetUserAvatarView: 身份认证信息未提供。
+[EXCEPTION] GetUserAvatarView: 身份认证信息未提供。
+[EXCEPTION] GetUserAvatarView: 身份认证信息未提供。
+[EXCEPTION] FormAPICompatView: 身份认证信息未提供。
+[EXCEPTION] FormAPICompatView: 身份认证信息未提供。
+[EXCEPTION] GetUserRolesView: 身份认证信息未提供。
+[EXCEPTION] GetUserInfoView: 身份认证信息未提供。
+[EXCEPTION] GetUserInfoView: 身份认证信息未提供。
diff --git a/service_err.log b/service_err.log
index e609b1dc..35fba126 100644
--- a/service_err.log
+++ b/service_err.log
@@ -41,3 +41,4912 @@ django.http.response.Http404
[2026-08-02 22:44:27,318] [WARNING] Not Found: /assets/links/GDEV.jpg
[2026-08-02 22:44:27] [WARNING] [域:www.gvsds.com ] [404] [GET ] [105.76.188.247 ] [0.193609s] /assets/links/GDEV.jpg
[2026-08-02 22:44:46] [INFO ] [域:www.gvsds.com ] [200] [GET ] [180.178.48.66 ] [0.013619s] /
+[2026-08-02 22:46:01] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.070259s] /
+[2026-08-02 22:46:02] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032585s] /assets/index-DwuP2m3e.js
+[2026-08-02 22:46:02] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.007180s] /assets/runtime-dom.esm-bundler-YxjRGSuG.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004429s] /assets/button-CPx9BSuo.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005543s] /assets/useApi-CROJJdhE-mMpa5RAf.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004778s] /assets/numbers-cik3maFd.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003725s] /assets/omit-zqi_K1DB.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004289s] /assets/debounce-DcxdqJyS.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004060s] /assets/click-outside-bcMsT2om.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003724s] /assets/use-global-config-D-dPcPvU.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003200s] /assets/repeat-click-BatRPHhN.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003708s] /assets/serverScope-O8Rw8SFk.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003733s] /assets/date-picker-CM_15T0u.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004269s] /assets/vnode-SMLE-MKY.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.006160s] /assets/descriptions-Cq_aE9sg.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003558s] /assets/router-lhgEEoBs.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003244s] /assets/castArray-CpgoCob_.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002542s] /assets/image-HD4q5QFa.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.006277s] /assets/tag-BSnLMVgs.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002515s] /assets/strings-B6ImqFWg.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004206s] /assets/select-C6bKVB-D.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003334s] /assets/isArrayLikeObject-Bo9Xnvp4.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003035s] /assets/table-BMMHIZYf.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003032s] /assets/skeleton-DGDficlh.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003656s] /assets/checkbox-CdKclTX1.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002530s] /assets/time-picker-TCWcdl6M.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003524s] /assets/alert-BpFV-0dO.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004269s] /assets/form-F--u6XQJ.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.007089s] /assets/avatar-DXM6bmhO.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004606s] /assets/drawer-Cu-arLgK.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002009s] /assets/use-ordered-children-DGQ-CQup.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002534s] /assets/card-Dj_UeWcA.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003179s] /assets/pagination-DjMzc_Tw.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002600s] /assets/refs-Cc5FwKWV.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002291s] /assets/menu-BLdj5hCm.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003570s] /assets/use-dialog-BxrOdCc2.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003028s] /assets/tree-DqeBDBpX.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003026s] /assets/radio-Cb0vAm4I.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002030s] /assets/steps-C4-7Ybf-.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004659s] /assets/progress-CJYzD9Cp.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004557s] /assets/empty-CnQTxkvl.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003049s] /assets/input-number-CiNOxXL6.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004031s] /assets/col-BXlaMgkQ.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002521s] /assets/result-gkzjWpF7.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003094s] /assets/tabs-CprxXUdp.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003870s] /assets/dialog-HOUKmN79.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003030s] /assets/collapse-transition-D5PfF1iI.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004040s] /assets/index-CHOuvNKI.css
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002569s] /assets/switch-BF4Q1eKX.js
+[2026-08-02 22:46:03] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003566s] /assets/directive-CY41a6pJ.js
+[2026-08-02 22:46:05] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.023875s] /assets/css-CY4c3_XL.js
+[2026-08-02 22:46:05] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.011190s] /assets/css-C8-vPSoj.css
+[2026-08-02 22:46:05] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.007572s] /assets/css-1VV9QMa7.css
+[2026-08-02 22:46:05] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.008033s] /assets/CompanyDetail-x1XGuNl0.css
+[2026-08-02 22:46:05] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004367s] /assets/css-DsD2Typt.js
+[2026-08-02 22:46:05] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005123s] /assets/css-cyJZB4WD.css
+[2026-08-02 22:46:05] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004114s] /assets/css-yeo4Q6aC.js
+[2026-08-02 22:46:05] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004089s] /assets/css-ZSOkJyjJ.css
+[2026-08-02 22:46:05] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003548s] /assets/css-DJFxnum_.css
+[2026-08-02 22:46:05] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.006092s] /assets/DefaultLayout-BRPOjqiU.js
+[2026-08-02 22:46:05] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004047s] /assets/css-BEipSTAx.js
+[2026-08-02 22:46:05] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005564s] /assets/NotFound-_zjM8TYv.css
+[2026-08-02 22:46:05] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.006584s] /assets/css-6qaeDme6.js
+[2026-08-02 22:46:05] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003851s] /assets/DefaultLayout-C0yp82k_.css
+[2026-08-02 22:46:05] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.006167s] /assets/css-CttyGzET.js
+[2026-08-02 22:46:05] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.008895s] /assets/app-Bd_X_OS1.js
+[2026-08-02 22:46:05] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004235s] /assets/favicon-CjgOoDgN.js
+[2026-08-02 22:46:05] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.010612s] /assets/NotFound-k9CGTX-B.js
+[2026-08-02 22:46:06] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003530s] /favicon.svg
+[2026-08-02 22:46:07] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003522s] /assets/css-BAyktVMS.css
+[2026-08-02 22:46:07] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.009099s] /assets/css-Dq8WDDkr.css
+[2026-08-02 22:46:07] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003560s] /assets/Dashboard-BDAUnF14.js
+[2026-08-02 22:46:07] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004751s] /assets/css-D-a1H3t1.js
+[2026-08-02 22:46:07] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003514s] /assets/css-Cy-4mdDD.js
+[2026-08-02 22:46:07] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004586s] /assets/Dashboard-BikaeE2A.css
+[2026-08-02 22:46:10] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003941s] /favicon.svg
+[2026-08-02 22:46:10,854] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 22:46:10] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.462507s] /Query/GetELTUserAvatar
+[2026-08-02 22:46:11] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003579s] /favicon.svg
+[2026-08-02 22:48:06] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.114537s] /
+[2026-08-02 22:48:10] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.051589s] /login?redirect=/private/CreateE/wallet
+[2026-08-02 22:48:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005805s] /
+[2026-08-02 22:49:08] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.031648s] /
+[2026-08-02 22:49:09,925] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 22:49:10] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.309373s] /Auth/GetUserRoles
+[2026-08-02 22:49:10,067] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 22:49:10] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.045542s] /Query/GetELTUserAvatar
+[2026-08-02 22:49:10,121] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 22:49:10] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.185619s] /API/Dashboard/Stats
+[2026-08-02 22:49:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003045s] /
+[2026-08-02 22:49:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.007172s] /
+[2026-08-02 22:49:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.029094s] /assets/useApi-CROJJdhE-mMpa5RAf.js
+[2026-08-02 22:49:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004037s] /assets/runtime-dom.esm-bundler-YxjRGSuG.js
+[2026-08-02 22:49:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.006779s] /assets/index-DwuP2m3e.js
+[2026-08-02 22:49:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.006034s] /assets/serverScope-O8Rw8SFk.js
+[2026-08-02 22:49:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005219s] /assets/omit-zqi_K1DB.js
+[2026-08-02 22:49:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004560s] /assets/use-global-config-D-dPcPvU.js
+[2026-08-02 22:49:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004941s] /assets/numbers-cik3maFd.js
+[2026-08-02 22:49:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005706s] /assets/strings-B6ImqFWg.js
+[2026-08-02 22:49:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.006486s] /assets/tag-BSnLMVgs.js
+[2026-08-02 22:49:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.010335s] /assets/vnode-SMLE-MKY.js
+[2026-08-02 22:49:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.007054s] /assets/click-outside-bcMsT2om.js
+[2026-08-02 22:49:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005764s] /assets/button-CPx9BSuo.js
+[2026-08-02 22:49:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004273s] /assets/router-lhgEEoBs.js
+[2026-08-02 22:49:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.007671s] /assets/index-CHOuvNKI.css
+[2026-08-02 22:49:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.014623s] /assets/castArray-CpgoCob_.js
+[2026-08-02 22:49:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.016426s] /assets/debounce-DcxdqJyS.js
+[2026-08-02 22:49:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.008601s] /assets/repeat-click-BatRPHhN.js
+[2026-08-02 22:49:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004553s] /assets/date-picker-CM_15T0u.js
+[2026-08-02 22:49:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004046s] /assets/descriptions-Cq_aE9sg.js
+[2026-08-02 22:49:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004361s] /assets/use-ordered-children-DGQ-CQup.js
+[2026-08-02 22:49:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004527s] /assets/checkbox-CdKclTX1.js
+[2026-08-02 22:49:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004098s] /assets/isArrayLikeObject-Bo9Xnvp4.js
+[2026-08-02 22:49:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004070s] /assets/select-C6bKVB-D.js
+[2026-08-02 22:49:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005029s] /assets/time-picker-TCWcdl6M.js
+[2026-08-02 22:49:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004538s] /assets/form-F--u6XQJ.js
+[2026-08-02 22:49:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005353s] /assets/avatar-DXM6bmhO.js
+[2026-08-02 22:49:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003168s] /assets/skeleton-DGDficlh.js
+[2026-08-02 22:49:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.006235s] /assets/alert-BpFV-0dO.js
+[2026-08-02 22:49:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003796s] /assets/radio-Cb0vAm4I.js
+[2026-08-02 22:49:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004845s] /assets/empty-CnQTxkvl.js
+[2026-08-02 22:49:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004425s] /assets/refs-Cc5FwKWV.js
+[2026-08-02 22:49:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003786s] /assets/collapse-transition-D5PfF1iI.js
+[2026-08-02 22:49:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003762s] /assets/col-BXlaMgkQ.js
+[2026-08-02 22:49:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003771s] /assets/dialog-HOUKmN79.js
+[2026-08-02 22:49:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.006659s] /assets/table-BMMHIZYf.js
+[2026-08-02 22:49:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002443s] /assets/tabs-CprxXUdp.js
+[2026-08-02 22:49:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003571s] /assets/progress-CJYzD9Cp.js
+[2026-08-02 22:49:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003184s] /assets/card-Dj_UeWcA.js
+[2026-08-02 22:49:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003670s] /assets/use-dialog-BxrOdCc2.js
+[2026-08-02 22:49:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003849s] /assets/menu-BLdj5hCm.js
+[2026-08-02 22:49:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004042s] /assets/drawer-Cu-arLgK.js
+[2026-08-02 22:49:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005235s] /assets/image-HD4q5QFa.js
+[2026-08-02 22:49:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003838s] /assets/result-gkzjWpF7.js
+[2026-08-02 22:49:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003232s] /assets/input-number-CiNOxXL6.js
+[2026-08-02 22:49:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004409s] /assets/switch-BF4Q1eKX.js
+[2026-08-02 22:49:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003185s] /assets/pagination-DjMzc_Tw.js
+[2026-08-02 22:49:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003830s] /assets/directive-CY41a6pJ.js
+[2026-08-02 22:49:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003144s] /assets/steps-C4-7Ybf-.js
+[2026-08-02 22:49:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004011s] /assets/tree-DqeBDBpX.js
+[2026-08-02 22:49:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005309s] /assets/DefaultLayout-BRPOjqiU.js
+[2026-08-02 22:49:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003808s] /assets/css-CY4c3_XL.js
+[2026-08-02 22:49:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004314s] /assets/CompanyDetail-x1XGuNl0.css
+[2026-08-02 22:49:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003336s] /assets/css-DJFxnum_.css
+[2026-08-02 22:49:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003383s] /assets/css-yeo4Q6aC.js
+[2026-08-02 22:49:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003612s] /assets/css-cyJZB4WD.css
+[2026-08-02 22:49:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003897s] /assets/css-C8-vPSoj.css
+[2026-08-02 22:49:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002847s] /assets/css-DsD2Typt.js
+[2026-08-02 22:49:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003763s] /assets/css-1VV9QMa7.css
+[2026-08-02 22:49:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004591s] /assets/css-ZSOkJyjJ.css
+[2026-08-02 22:49:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002598s] /assets/DefaultLayout-C0yp82k_.css
+[2026-08-02 22:49:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004579s] /assets/css-BEipSTAx.js
+[2026-08-02 22:49:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004058s] /assets/favicon-CjgOoDgN.js
+[2026-08-02 22:49:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004626s] /assets/NotFound-_zjM8TYv.css
+[2026-08-02 22:49:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004065s] /assets/css-6qaeDme6.js
+[2026-08-02 22:49:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003052s] /assets/NotFound-k9CGTX-B.js
+[2026-08-02 22:49:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004674s] /assets/app-Bd_X_OS1.js
+[2026-08-02 22:49:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003569s] /assets/css-CttyGzET.js
+[2026-08-02 22:49:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.006677s] /assets/css-Dq8WDDkr.css
+[2026-08-02 22:49:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005601s] /assets/Dashboard-BDAUnF14.js
+[2026-08-02 22:49:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004193s] /assets/css-Cy-4mdDD.js
+[2026-08-02 22:49:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.006441s] /assets/css-D-a1H3t1.js
+[2026-08-02 22:49:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005353s] /assets/css-BAyktVMS.css
+[2026-08-02 22:49:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004660s] /assets/Dashboard-BikaeE2A.css
+[2026-08-02 22:49:45,412] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 22:49:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.057377s] /Query/GetELTUserAvatar
+[2026-08-02 22:49:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004531s] /favicon.svg
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-02 22:51:26,791] [WARNING] Unauthorized: /API/MenuList
+[2026-08-02 22:51:26] [WARNING] [域:gerp.gvsds.com ] [401] [GET ] [127.0.0.1 ] [0.152392s] /API/MenuList
+[2026-08-02 22:52:17] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.016453s] /
+[2026-08-02 22:52:18] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.007990s] /assets/useApi-CROJJdhE-mMpa5RAf.js
+[2026-08-02 22:52:18] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002232s] /assets/runtime-dom.esm-bundler-YxjRGSuG.js
+[2026-08-02 22:52:18] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003204s] /assets/index-DwuP2m3e.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002746s] /assets/use-global-config-D-dPcPvU.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003303s] /assets/omit-zqi_K1DB.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001655s] /assets/numbers-cik3maFd.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001784s] /assets/debounce-DcxdqJyS.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002737s] /assets/serverScope-O8Rw8SFk.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002579s] /assets/click-outside-bcMsT2om.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002825s] /assets/button-CPx9BSuo.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002349s] /assets/date-picker-CM_15T0u.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001675s] /assets/repeat-click-BatRPHhN.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003076s] /assets/descriptions-Cq_aE9sg.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002568s] /assets/isArrayLikeObject-Bo9Xnvp4.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002643s] /assets/tag-BSnLMVgs.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002655s] /assets/select-C6bKVB-D.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003307s] /assets/castArray-CpgoCob_.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002146s] /assets/router-lhgEEoBs.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003676s] /assets/form-F--u6XQJ.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001753s] /assets/vnode-SMLE-MKY.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002731s] /assets/strings-B6ImqFWg.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003885s] /assets/time-picker-TCWcdl6M.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001585s] /assets/use-ordered-children-DGQ-CQup.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002140s] /assets/table-BMMHIZYf.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001518s] /assets/skeleton-DGDficlh.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001527s] /assets/card-Dj_UeWcA.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.000517s] /assets/avatar-DXM6bmhO.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004078s] /assets/image-HD4q5QFa.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001539s] /assets/checkbox-CdKclTX1.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003013s] /assets/alert-BpFV-0dO.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002805s] /assets/tabs-CprxXUdp.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001635s] /assets/steps-C4-7Ybf-.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003028s] /assets/dialog-HOUKmN79.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004296s] /assets/menu-BLdj5hCm.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001546s] /assets/pagination-DjMzc_Tw.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002006s] /assets/switch-BF4Q1eKX.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003033s] /assets/collapse-transition-D5PfF1iI.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002011s] /assets/empty-CnQTxkvl.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002536s] /assets/refs-Cc5FwKWV.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001509s] /assets/index-CHOuvNKI.css
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002612s] /assets/directive-CY41a6pJ.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002207s] /assets/radio-Cb0vAm4I.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001536s] /assets/result-gkzjWpF7.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002283s] /assets/drawer-Cu-arLgK.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001533s] /assets/progress-CJYzD9Cp.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002019s] /assets/input-number-CiNOxXL6.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001543s] /assets/col-BXlaMgkQ.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002096s] /assets/tree-DqeBDBpX.js
+[2026-08-02 22:52:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001523s] /assets/use-dialog-BxrOdCc2.js
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-02 22:52:22,150] [WARNING] Unauthorized: /Query/GetELTUserInfo
+[2026-08-02 22:52:22] [WARNING] [域:gerp.gvsds.com ] [401] [GET ] [111.32.65.68 ] [0.012361s] /Query/GetELTUserInfo
+[2026-08-02 22:52:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.010961s] /@vite/client
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-02 22:52:22,414] [WARNING] Unauthorized: /Query/GetELTUserInfo
+[2026-08-02 22:52:22] [WARNING] [域:gerp.gvsds.com ] [401] [GET ] [111.32.65.68 ] [0.007543s] /Query/GetELTUserInfo
+[2026-08-02 22:52:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003035s] /assets/css-CzNtyWdF.css
+[2026-08-02 22:52:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002531s] /assets/css-cyJZB4WD.css
+[2026-08-02 22:52:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003531s] /assets/Login-Bz_ZuhmP.js
+[2026-08-02 22:52:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003903s] /assets/css-BtQxgKdl.css
+[2026-08-02 22:52:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001663s] /assets/favicon-CjgOoDgN.js
+[2026-08-02 22:52:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002615s] /assets/css-ZSOkJyjJ.css
+[2026-08-02 22:52:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004098s] /assets/css-BrTRgFS7.css
+[2026-08-02 22:52:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001554s] /assets/css-DsD2Typt.js
+[2026-08-02 22:52:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002522s] /assets/css-DMLZMbB9.js
+[2026-08-02 22:52:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002536s] /assets/css-49fsIjk3.js
+[2026-08-02 22:52:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003561s] /assets/Login-Cx6fJYVq.css
+[2026-08-02 22:52:23] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004533s] /assets/css-DmmbJMxg.js
+[2026-08-02 22:52:23] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003004s] /favicon.svg
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-02 22:53:00,574] [WARNING] Unauthorized: /Query/GetELTUserInfo
+[2026-08-02 22:53:00] [WARNING] [域:gerp.gvsds.com ] [401] [GET ] [111.32.65.68 ] [0.011594s] /Query/GetELTUserInfo
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-02 22:53:00,883] [WARNING] Unauthorized: /Query/GetELTUserInfo
+[2026-08-02 22:53:00] [WARNING] [域:gerp.gvsds.com ] [401] [GET ] [111.32.65.68 ] [0.005989s] /Query/GetELTUserInfo
+[2026-08-02 22:57:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.042880s] /
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-02 22:57:25,272] [WARNING] Unauthorized: /Query/GetELTUserInfo
+[2026-08-02 22:57:25] [WARNING] [域:gerp.gvsds.com ] [401] [GET ] [111.32.65.68 ] [0.020621s] /Query/GetELTUserInfo
+[2026-08-02 22:57:25] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.007945s] /@vite/client
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-02 22:57:25,960] [WARNING] Unauthorized: /Query/GetELTUserInfo
+[2026-08-02 22:57:25] [WARNING] [域:gerp.gvsds.com ] [401] [GET ] [111.32.65.68 ] [0.009814s] /Query/GetELTUserInfo
+[2026-08-02 22:57:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [183.217.4.74 ] [0.003511s] /favicon.ico
+[2026-08-02 22:57:39] [INFO ] [域:ugm.gvsds.com ] [302] [GET ] [124.225.132.166] [0.010414s] /
+[2026-08-02 22:57:39] [INFO ] [域:tailwind.gvsds.com ] [302] [GET ] [183.221.10.150 ] [0.001046s] /
+[2026-08-02 22:57:39] [INFO ] [域:www.gvsds.com ] [200] [GET ] [124.225.132.166] [0.007329s] /login.html
+[2026-08-02 22:57:39] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [120.232.94.26 ] [0.005584s] /favicon.ico
+[2026-08-02 22:57:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.002097s] /
+[2026-08-02 22:57:40] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [183.221.10.150 ] [0.004316s] /3.4.17
+[2026-08-02 22:57:40] [INFO ] [域:www.gvsds.com ] [200] [GET ] [124.225.132.166] [0.003553s] /assets/js/MegaMenus.js
+[2026-08-02 22:57:40] [INFO ] [域:www.gvsds.com ] [200] [GET ] [124.225.132.166] [0.004698s] /assets/js/tetris.js
+[2026-08-02 22:57:40] [INFO ] [域:ugm.gvsds.com ] [302] [GET ] [218.60.174.31 ] [0.001892s] /favicon.ico
+[2026-08-02 22:57:40] [INFO ] [域:tailwind.gvsds.com ] [302] [GET ] [124.225.132.166] [0.001010s] /
+[2026-08-02 22:57:40] [INFO ] [域:www.gvsds.com ] [200] [GET ] [124.225.132.166] [0.002200s] /assets/js/tailwind.config.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.003965s] /assets/omit-zqi_K1DB.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.003461s] /assets/useApi-CROJJdhE-mMpa5RAf.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.002005s] /assets/runtime-dom.esm-bundler-YxjRGSuG.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.003055s] /assets/index-DwuP2m3e.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.004026s] /assets/use-global-config-D-dPcPvU.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.005739s] /assets/serverScope-O8Rw8SFk.js
+[2026-08-02 22:57:41] [INFO ] [域:tailwind.gvsds.com ] [302] [GET ] [180.105.36.80 ] [0.001520s] /
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.002507s] /assets/debounce-DcxdqJyS.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.002521s] /assets/repeat-click-BatRPHhN.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.002624s] /assets/descriptions-Cq_aE9sg.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.002301s] /assets/click-outside-bcMsT2om.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.002896s] /assets/table-BMMHIZYf.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.002813s] /assets/vnode-SMLE-MKY.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.002020s] /assets/numbers-cik3maFd.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.002008s] /assets/button-CPx9BSuo.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.002665s] /assets/date-picker-CM_15T0u.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.001005s] /assets/castArray-CpgoCob_.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.002517s] /assets/strings-B6ImqFWg.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.001519s] /assets/router-lhgEEoBs.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.002005s] /assets/tag-BSnLMVgs.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.002903s] /assets/image-HD4q5QFa.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.003138s] /assets/time-picker-TCWcdl6M.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.002525s] /assets/radio-Cb0vAm4I.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.001508s] /assets/drawer-Cu-arLgK.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.001683s] /assets/skeleton-DGDficlh.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.003263s] /assets/select-C6bKVB-D.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.002058s] /assets/tabs-CprxXUdp.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.002042s] /assets/use-ordered-children-DGQ-CQup.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.002014s] /assets/checkbox-CdKclTX1.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.001758s] /assets/isArrayLikeObject-Bo9Xnvp4.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.001513s] /assets/use-dialog-BxrOdCc2.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.002528s] /assets/card-Dj_UeWcA.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.003197s] /assets/form-F--u6XQJ.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.003515s] /assets/avatar-DXM6bmhO.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.002733s] /assets/refs-Cc5FwKWV.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.002541s] /assets/collapse-transition-D5PfF1iI.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.002511s] /assets/alert-BpFV-0dO.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.002089s] /assets/progress-CJYzD9Cp.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.003170s] /assets/tree-DqeBDBpX.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.002518s] /assets/directive-CY41a6pJ.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.002009s] /assets/input-number-CiNOxXL6.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.001026s] /assets/menu-BLdj5hCm.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.002285s] /assets/steps-C4-7Ybf-.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.001524s] /assets/empty-CnQTxkvl.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.002516s] /assets/switch-BF4Q1eKX.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.001646s] /assets/dialog-HOUKmN79.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.001512s] /assets/col-BXlaMgkQ.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.002057s] /assets/result-gkzjWpF7.js
+[2026-08-02 22:57:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [61.189.2.212 ] [0.002010s] /assets/pagination-DjMzc_Tw.js
+[2026-08-02 22:57:41] [INFO ] [域:www.gvsds.com ] [200] [GET ] [124.225.132.166] [0.002660s] /assets/js/nav.js
+[2026-08-02 22:57:41] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [124.225.132.166] [0.002240s] /3.4.17
+[2026-08-02 22:57:41] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [183.221.10.150 ] [0.002511s] /favicon.ico
+[2026-08-02 22:57:41] [INFO ] [域:www.gvsds.com ] [200] [GET ] [124.225.132.166] [0.003683s] /assets/config/Megas.js
+[2026-08-02 22:57:41] [INFO ] [域:www.gvsds.com ] [200] [GET ] [218.60.174.31 ] [0.003006s] /login.html?redirect=https://gerp.gvsds.com/
+[2026-08-02 22:57:42] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [180.105.36.80 ] [0.002854s] /3.4.17
+[2026-08-02 22:57:43] [INFO ] [域:www.gvsds.com ] [200] [GET ] [124.225.132.166] [0.003215s] /assets/js/cookie.js
+[2026-08-02 22:57:43] [INFO ] [域:www.gvsds.com ] [200] [GET ] [124.225.132.166] [0.002101s] /assets/js/main.js
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-02 22:57:43,761] [WARNING] Unauthorized: /Query/GetELTUserInfo
+[2026-08-02 22:57:43] [WARNING] [域:gerp.gvsds.com ] [401] [GET ] [111.32.65.68 ] [0.008064s] /Query/GetELTUserInfo
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-02 22:57:44,120] [WARNING] Unauthorized: /Query/GetELTUserInfo
+[2026-08-02 22:57:44] [WARNING] [域:gerp.gvsds.com ] [401] [GET ] [111.32.65.68 ] [0.007022s] /Query/GetELTUserInfo
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-02 22:57:44,408] [WARNING] Unauthorized: /Query/GetELTUserAvatar
+[2026-08-02 22:57:44] [WARNING] [域:ugm.gvsds.com ] [401] [GET ] [124.225.132.166] [0.006534s] /Query/GetELTUserAvatar
+[2026-08-02 22:57:44] [INFO ] [域:www.gvsds.com ] [200] [GET ] [124.225.132.166] [0.001531s] /favicon.ico
+[2026-08-02 22:57:45] [INFO ] [域:ugm.gvsds.com ] [302] [GET ] [120.209.88.74 ] [0.003017s] /
+[2026-08-02 22:57:45] [INFO ] [域:www.gvsds.com ] [200] [GET ] [120.209.88.72 ] [0.004051s] /login.html
+[2026-08-02 22:57:46] [INFO ] [域:www.gvsds.com ] [200] [GET ] [120.209.88.72 ] [0.001548s] /assets/js/MegaMenus.js
+[2026-08-02 22:57:46] [INFO ] [域:www.gvsds.com ] [200] [GET ] [120.209.88.72 ] [0.001511s] /assets/js/tailwind.config.js
+[2026-08-02 22:57:46] [INFO ] [域:www.gvsds.com ] [200] [GET ] [120.209.88.72 ] [0.001504s] /assets/js/tetris.js
+[2026-08-02 22:57:46] [INFO ] [域:tailwind.gvsds.com ] [302] [GET ] [120.209.88.63 ] [0.001036s] /
+[2026-08-02 22:57:47] [INFO ] [域:www.gvsds.com ] [200] [GET ] [120.209.88.72 ] [0.002482s] /assets/config/Megas.js
+[2026-08-02 22:57:47] [INFO ] [域:www.gvsds.com ] [200] [GET ] [120.209.88.72 ] [0.003007s] /assets/js/nav.js
+[2026-08-02 22:57:47] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [120.209.88.63 ] [0.001006s] /3.4.17
+[2026-08-02 22:57:47] [INFO ] [域:www.gvsds.com ] [200] [GET ] [120.209.88.72 ] [0.001856s] /assets/js/main.js
+[2026-08-02 22:57:47] [INFO ] [域:www.gvsds.com ] [200] [GET ] [120.209.88.72 ] [0.001563s] /assets/js/cookie.js
+[2026-08-02 22:57:48] [INFO ] [域:www.gvsds.com ] [200] [GET ] [120.209.88.72 ] [0.001008s] /favicon.ico
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-02 22:57:48,945] [WARNING] Unauthorized: /Query/GetELTUserAvatar
+[2026-08-02 22:57:48] [WARNING] [域:ugm.gvsds.com ] [401] [GET ] [120.209.88.74 ] [0.003525s] /Query/GetELTUserAvatar
+[2026-08-02 22:57:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.003195s] /
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.002749s] /assets/debounce-DcxdqJyS.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.003050s] /assets/useApi-CROJJdhE-mMpa5RAf.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.004653s] /assets/index-DwuP2m3e.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.003383s] /assets/omit-zqi_K1DB.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.002119s] /assets/serverScope-O8Rw8SFk.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.002203s] /assets/runtime-dom.esm-bundler-YxjRGSuG.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.002126s] /assets/click-outside-bcMsT2om.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.002673s] /assets/numbers-cik3maFd.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.002859s] /assets/use-global-config-D-dPcPvU.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.004563s] /assets/repeat-click-BatRPHhN.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.002651s] /assets/vnode-SMLE-MKY.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.003318s] /assets/button-CPx9BSuo.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.001551s] /assets/date-picker-CM_15T0u.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.002112s] /assets/descriptions-Cq_aE9sg.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.002036s] /assets/router-lhgEEoBs.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.002113s] /assets/image-HD4q5QFa.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.001632s] /assets/strings-B6ImqFWg.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.001714s] /assets/alert-BpFV-0dO.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.002089s] /assets/tag-BSnLMVgs.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.001011s] /assets/isArrayLikeObject-Bo9Xnvp4.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.001529s] /assets/castArray-CpgoCob_.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.002642s] /assets/select-C6bKVB-D.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.000507s] /assets/form-F--u6XQJ.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.001604s] /assets/progress-CJYzD9Cp.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.000510s] /assets/skeleton-DGDficlh.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.003067s] /assets/use-ordered-children-DGQ-CQup.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.002284s] /assets/time-picker-TCWcdl6M.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.001448s] /assets/tree-DqeBDBpX.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.002232s] /assets/menu-BLdj5hCm.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.002370s] /assets/directive-CY41a6pJ.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.002560s] /assets/table-BMMHIZYf.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.001520s] /assets/avatar-DXM6bmhO.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.001698s] /assets/tabs-CprxXUdp.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.002147s] /assets/refs-Cc5FwKWV.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.001511s] /assets/result-gkzjWpF7.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.002052s] /assets/collapse-transition-D5PfF1iI.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.001566s] /assets/dialog-HOUKmN79.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.001023s] /assets/col-BXlaMgkQ.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.001772s] /assets/steps-C4-7Ybf-.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.002146s] /assets/drawer-Cu-arLgK.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.001184s] /assets/use-dialog-BxrOdCc2.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.002028s] /assets/switch-BF4Q1eKX.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.001037s] /assets/empty-CnQTxkvl.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.002012s] /assets/checkbox-CdKclTX1.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.001517s] /assets/pagination-DjMzc_Tw.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.001563s] /assets/input-number-CiNOxXL6.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.005970s] /assets/index-CHOuvNKI.css
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.002600s] /assets/radio-Cb0vAm4I.js
+[2026-08-02 22:57:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [175.146.71.115 ] [0.002045s] /assets/card-Dj_UeWcA.js
+[2026-08-02 22:57:52] [INFO ] [域:ugm.gvsds.com ] [302] [GET ] [1.194.192.20 ] [0.001662s] /
+[2026-08-02 22:57:52] [INFO ] [域:www.gvsds.com ] [200] [GET ] [1.194.192.20 ] [0.004915s] /login.html
+[2026-08-02 22:57:53] [INFO ] [域:www.gvsds.com ] [200] [GET ] [1.194.192.20 ] [0.003251s] /assets/js/tailwind.config.js
+[2026-08-02 22:57:53] [INFO ] [域:www.gvsds.com ] [200] [GET ] [1.194.192.20 ] [0.003310s] /assets/js/MegaMenus.js
+[2026-08-02 22:57:53] [INFO ] [域:www.gvsds.com ] [200] [GET ] [1.194.192.20 ] [0.002234s] /assets/js/tetris.js
+[2026-08-02 22:57:54] [INFO ] [域:www.gvsds.com ] [200] [GET ] [1.194.192.20 ] [0.002117s] /assets/config/Megas.js
+[2026-08-02 22:57:54] [INFO ] [域:tailwind.gvsds.com ] [302] [GET ] [1.194.192.20 ] [0.002819s] /
+[2026-08-02 22:57:54] [INFO ] [域:www.gvsds.com ] [200] [GET ] [1.194.192.20 ] [0.003037s] /assets/js/nav.js
+[2026-08-02 22:57:54] [INFO ] [域:www.gvsds.com ] [200] [GET ] [1.194.192.20 ] [0.001636s] /assets/js/main.js
+[2026-08-02 22:57:54] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [1.194.192.20 ] [0.001246s] /3.4.17
+[2026-08-02 22:57:54] [INFO ] [域:www.gvsds.com ] [200] [GET ] [1.194.192.20 ] [0.001634s] /assets/js/cookie.js
+[2026-08-02 22:57:56] [INFO ] [域:www.gvsds.com ] [200] [GET ] [1.194.192.20 ] [0.002518s] /favicon.ico
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-02 22:57:56,897] [WARNING] Unauthorized: /Query/GetELTUserAvatar
+[2026-08-02 22:57:56] [WARNING] [域:ugm.gvsds.com ] [401] [GET ] [1.194.192.20 ] [0.003798s] /Query/GetELTUserAvatar
+[2026-08-02 22:58:20] [INFO ] [域:www.gvsds.com ] [200] [GET ] [180.163.29.234 ] [0.009008s] /
+[2026-08-02 22:58:20] [INFO ] [域:tailwind.gvsds.com ] [302] [GET ] [180.163.29.79 ] [0.001534s] /
+[2026-08-02 22:58:21] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [180.163.28.114 ] [0.002043s] /3.4.17
+[2026-08-02 22:58:41] [INFO ] [域:ugm.gvsds.com ] [302] [GET ] [223.114.193.68 ] [0.001581s] /favicon.ico
+[2026-08-02 22:58:41] [INFO ] [域:ugm.gvsds.com ] [302] [GET ] [120.240.29.156 ] [0.000504s] /
+[2026-08-02 22:58:41] [INFO ] [域:doc.gvsds.com ] [200] [GET ] [36.104.132.82 ] [0.094116s] /favicon.ico
+[2026-08-02 22:58:42] [INFO ] [域:www.gvsds.com ] [200] [GET ] [120.240.29.156 ] [0.107225s] /login.html
+[2026-08-02 22:58:42] [INFO ] [域:www.gvsds.com ] [200] [GET ] [223.114.193.68 ] [0.016976s] /login.html?redirect=https://gerp.gvsds.com/
+[2026-08-02 22:58:42] [INFO ] [域:doc.gvsds.com ] [200] [GET ] [111.23.14.35 ] [0.003695s] /
+[2026-08-02 22:58:42] [INFO ] [域:cdn.gvsds.com ] [200] [GET ] [111.62.162.144 ] [0.005069s] /favicon.ico
+[2026-08-02 22:58:42] [INFO ] [域:www.gvsds.com ] [200] [GET ] [120.240.29.156 ] [0.002609s] /assets/js/MegaMenus.js
+[2026-08-02 22:58:42] [INFO ] [域:www.gvsds.com ] [200] [GET ] [120.240.29.156 ] [0.003011s] /assets/js/tailwind.config.js
+[2026-08-02 22:58:42] [INFO ] [域:www.gvsds.com ] [200] [GET ] [120.240.29.156 ] [0.002740s] /assets/js/tetris.js
+[2026-08-02 22:58:42] [INFO ] [域:tailwind.gvsds.com ] [302] [GET ] [120.240.29.156 ] [0.000518s] /
+[2026-08-02 22:58:43] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [120.240.29.156 ] [0.002055s] /3.4.17
+[2026-08-02 22:58:43] [INFO ] [域:www.gvsds.com ] [200] [GET ] [120.240.29.156 ] [0.010653s] /assets/js/nav.js
+[2026-08-02 22:58:43] [INFO ] [域:www.gvsds.com ] [200] [GET ] [120.240.29.156 ] [0.007577s] /assets/config/Megas.js
+[2026-08-02 22:58:44] [INFO ] [域:www.gvsds.com ] [200] [GET ] [120.240.29.156 ] [0.002013s] /assets/js/cookie.js
+[2026-08-02 22:58:44] [INFO ] [域:www.gvsds.com ] [200] [GET ] [120.240.29.156 ] [0.002622s] /assets/js/main.js
+[2026-08-02 22:58:44] [INFO ] [域:doc.gvsds.com ] [200] [GET ] [111.23.14.35 ] [0.002784s] /favicon.ico
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-02 22:58:45,041] [WARNING] Unauthorized: /Query/GetELTUserAvatar
+[2026-08-02 22:58:45] [WARNING] [域:ugm.gvsds.com ] [401] [GET ] [120.240.29.156 ] [0.054723s] /Query/GetELTUserAvatar
+[2026-08-02 22:58:45] [INFO ] [域:www.gvsds.com ] [200] [GET ] [120.240.29.156 ] [0.003670s] /favicon.ico
+[2026-08-02 22:58:46] [INFO ] [域:cdn.gvsds.com ] [200] [GET ] [117.137.232.11 ] [0.000516s] /
+[2026-08-02 22:58:46] [INFO ] [域:cdn.gvsds.com ] [200] [GET ] [117.137.232.11 ] [0.002521s] /favicon.ico
+[2026-08-02 22:58:47] [INFO ] [域:ugm.gvsds.com ] [302] [GET ] [117.172.179.144] [0.001014s] /
+[2026-08-02 22:58:49] [INFO ] [域:www.gvsds.com ] [200] [GET ] [117.172.179.144] [0.002243s] /login.html
+[2026-08-02 22:58:49] [INFO ] [域:www.gvsds.com ] [200] [GET ] [117.172.179.144] [0.002536s] /assets/js/tetris.js
+[2026-08-02 22:58:49] [INFO ] [域:www.gvsds.com ] [200] [GET ] [117.172.179.144] [0.001530s] /assets/js/tailwind.config.js
+[2026-08-02 22:58:49] [INFO ] [域:www.gvsds.com ] [200] [GET ] [117.172.179.144] [0.002103s] /assets/js/MegaMenus.js
+[2026-08-02 22:58:49] [INFO ] [域:tailwind.gvsds.com ] [302] [GET ] [117.172.179.144] [0.001075s] /
+[2026-08-02 22:58:50] [INFO ] [域:www.gvsds.com ] [200] [GET ] [117.172.179.144] [0.002596s] /assets/config/Megas.js
+[2026-08-02 22:58:50] [INFO ] [域:www.gvsds.com ] [200] [GET ] [117.172.179.144] [0.003105s] /assets/js/nav.js
+[2026-08-02 22:58:50] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [117.172.179.144] [0.001323s] /3.4.17
+[2026-08-02 22:58:50] [INFO ] [域:www.gvsds.com ] [200] [GET ] [117.172.179.144] [0.002007s] /assets/js/cookie.js
+[2026-08-02 22:58:50] [INFO ] [域:www.gvsds.com ] [200] [GET ] [117.172.179.144] [0.003058s] /assets/js/main.js
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-02 22:58:51,375] [WARNING] Unauthorized: /Query/GetELTUserAvatar
+[2026-08-02 22:58:51] [WARNING] [域:ugm.gvsds.com ] [401] [GET ] [117.172.179.144] [0.002509s] /Query/GetELTUserAvatar
+[2026-08-02 22:58:51] [INFO ] [域:www.gvsds.com ] [200] [GET ] [117.172.179.144] [0.002552s] /favicon.ico
+[2026-08-02 22:58:52] [INFO ] [域:www.gvsds.com ] [200] [GET ] [52.167.144.172 ] [0.004512s] /Project/Service/Service.html
+[2026-08-02 22:58:52] [INFO ] [域:doc.gvsds.com ] [200] [GET ] [111.227.120.71 ] [0.009688s] /
+[2026-08-02 22:58:53] [INFO ] [域:ugm.gvsds.com ] [302] [GET ] [116.196.140.75 ] [0.000537s] /
+[2026-08-02 22:58:53] [INFO ] [域:www.gvsds.com ] [200] [GET ] [116.196.140.75 ] [0.002624s] /login.html
+[2026-08-02 22:58:54] [INFO ] [域:www.gvsds.com ] [200] [GET ] [116.196.140.75 ] [0.001704s] /assets/js/tetris.js
+[2026-08-02 22:58:54] [INFO ] [域:www.gvsds.com ] [200] [GET ] [116.196.140.75 ] [0.001514s] /assets/js/tailwind.config.js
+[2026-08-02 22:58:54] [INFO ] [域:www.gvsds.com ] [200] [GET ] [116.196.140.75 ] [0.001004s] /assets/js/MegaMenus.js
+[2026-08-02 22:58:54] [INFO ] [域:tailwind.gvsds.com ] [302] [GET ] [116.196.140.75 ] [0.001799s] /
+[2026-08-02 22:58:54] [INFO ] [域:www.gvsds.com ] [200] [GET ] [116.196.140.75 ] [0.000525s] /assets/config/Megas.js
+[2026-08-02 22:58:54] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [116.196.140.75 ] [0.002048s] /3.4.17
+[2026-08-02 22:58:54] [INFO ] [域:www.gvsds.com ] [200] [GET ] [116.196.140.75 ] [0.001612s] /assets/js/nav.js
+[2026-08-02 22:58:55] [INFO ] [域:www.gvsds.com ] [200] [GET ] [116.196.140.75 ] [0.001563s] /assets/js/main.js
+[2026-08-02 22:58:55] [INFO ] [域:www.gvsds.com ] [200] [GET ] [116.196.140.75 ] [0.002017s] /assets/js/cookie.js
+[2026-08-02 22:58:55] [INFO ] [域:www.gvsds.com ] [200] [GET ] [116.196.140.75 ] [0.002521s] /favicon.ico
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-02 22:58:56,082] [WARNING] Unauthorized: /Query/GetELTUserAvatar
+[2026-08-02 22:58:56] [WARNING] [域:ugm.gvsds.com ] [401] [GET ] [116.196.140.75 ] [0.004062s] /Query/GetELTUserAvatar
+[2026-08-02 22:59:10] [INFO ] [域:www.gvsds.com ] [200] [GET ] [223.109.211.64 ] [0.003023s] /
+[2026-08-02 22:59:12] [INFO ] [域:yc8z.gvsds.com ] [200] [GET ] [113.240.96.15 ] [0.002828s] /
+[2026-08-02 22:59:12] [INFO ] [域:yc8z.gvsds.com ] [200] [GET ] [221.204.217.18 ] [0.003072s] /favicon.ico
+[2026-08-02 22:59:13] [INFO ] [域:cdn.gvsds.com ] [200] [GET ] [113.240.96.15 ] [0.003038s] /chart.js/dist/chart.umd.js
+[2026-08-02 22:59:14] [INFO ] [域:yc8z.gvsds.com ] [200] [GET ] [175.154.138.40 ] [0.002202s] /
+[2026-08-02 22:59:15] [INFO ] [域:yc8z.gvsds.com ] [200] [GET ] [175.154.138.40 ] [0.044985s] /assets/image/h.png
+[2026-08-02 22:59:15] [INFO ] [域:yc8z.gvsds.com ] [200] [GET ] [175.154.138.40 ] [0.008068s] /assets/image/hub.png
+[2026-08-02 22:59:16] [INFO ] [域:cdn.gvsds.com ] [200] [GET ] [171.93.35.168 ] [0.002122s] /chart.js/dist/chart.umd.js
+[2026-08-02 22:59:16] [INFO ] [域:cdn.gvsds.com ] [200] [GET ] [171.93.35.168 ] [0.003779s] /font-awesome/css/fontawesome.min.css
+[2026-08-02 22:59:16] [INFO ] [域:cdn.gvsds.com ] [200] [GET ] [171.93.35.168 ] [0.002665s] /font-awesome/css/all.min.css
+[2026-08-02 22:59:16] [INFO ] [域:yc8z.gvsds.com ] [200] [GET ] [113.240.96.15 ] [0.003827s] /favicon.svg
+[2026-08-02 22:59:16] [INFO ] [域:yc8z.gvsds.com ] [200] [GET ] [175.154.138.40 ] [0.003178s] /assets/image/l.png
+[2026-08-02 22:59:17] [INFO ] [域:yc8z.gvsds.com ] [200] [GET ] [113.240.96.15 ] [0.002012s] /favicon.ico
+[2026-08-02 22:59:21] [INFO ] [域:yc8z.gvsds.com ] [200] [GET ] [175.154.138.40 ] [0.003032s] /assets/image/lq.png
+[2026-08-02 22:59:21] [INFO ] [域:yc8z.gvsds.com ] [200] [GET ] [175.154.138.40 ] [0.002146s] /assets/schoolrule/fly.png
+[2026-08-02 22:59:23] [INFO ] [域:yc8z.gvsds.com ] [200] [GET ] [175.154.138.40 ] [0.002557s] /assets/schoolrule/teach.png
+[2026-08-02 22:59:23] [INFO ] [域:yc8z.gvsds.com ] [200] [GET ] [175.154.138.40 ] [0.059310s] /assets/schoolrule/rule.png
+[2026-08-02 22:59:24] [INFO ] [域:yc8z.gvsds.com ] [200] [GET ] [175.154.138.40 ] [0.009253s] /assets/teachers/zhangrui.png
+[2026-08-02 22:59:24] [INFO ] [域:yc8z.gvsds.com ] [200] [GET ] [175.154.138.40 ] [0.002849s] /assets/schoolrule/learn.jpg
+[2026-08-02 22:59:24] [INFO ] [域:yc8z.gvsds.com ] [200] [GET ] [175.154.138.40 ] [0.003537s] /assets/teachers/zhanglili.png
+[2026-08-02 22:59:24] [INFO ] [域:yc8z.gvsds.com ] [200] [GET ] [175.154.138.40 ] [0.002053s] /assets/teachers/houliansheng.png
+[2026-08-02 22:59:25] [INFO ] [域:yc8z.gvsds.com ] [200] [GET ] [175.154.138.40 ] [0.005054s] /assets/teachers/liujianqi.png
+[2026-08-02 22:59:26] [INFO ] [域:cdn.gvsds.com ] [200] [GET ] [144.52.159.62 ] [0.015449s] /font-awesome/webfonts/fa-solid-900.woff2
+[2026-08-02 22:59:27] [INFO ] [域:yc8z.gvsds.com ] [200] [GET ] [175.154.138.40 ] [0.004563s] /assets/teachers/zhaokuo.png
+[2026-08-02 22:59:34] [INFO ] [域:invite.gvsds.com ] [200] [GET ] [183.249.21.22 ] [0.005140s] /
+[2026-08-02 22:59:34] [INFO ] [域:ugm.gvsds.com ] [302] [GET ] [120.223.193.82 ] [0.000000s] /favicon.ico
+[2026-08-02 22:59:34] [INFO ] [域:ugm.gvsds.com ] [302] [GET ] [39.173.71.73 ] [0.002008s] /
+[2026-08-02 22:59:34] [INFO ] [域:www.gvsds.com ] [200] [GET ] [183.249.21.22 ] [0.001049s] /assets/js/tetris.js
+[2026-08-02 22:59:34] [INFO ] [域:www.gvsds.com ] [200] [GET ] [183.249.21.22 ] [0.002050s] /assets/js/tailwind.config.js
+[2026-08-02 22:59:34] [INFO ] [域:www.gvsds.com ] [200] [GET ] [183.249.21.22 ] [0.002534s] /assets/js/MegaMenus.js
+[2026-08-02 22:59:34] [INFO ] [域:www.gvsds.com ] [200] [GET ] [39.173.71.73 ] [0.002006s] /login.html
+[2026-08-02 22:59:34] [INFO ] [域:tailwind.gvsds.com ] [302] [GET ] [183.249.21.22 ] [0.000000s] /
+[2026-08-02 22:59:34] [INFO ] [域:www.gvsds.com ] [200] [GET ] [120.223.193.82 ] [0.002341s] /login.html?redirect=https://gerp.gvsds.com/
+[2026-08-02 22:59:35] [INFO ] [域:www.gvsds.com ] [200] [GET ] [183.249.21.22 ] [0.001131s] /assets/config/Megas.js
+[2026-08-02 22:59:35] [INFO ] [域:www.gvsds.com ] [200] [GET ] [39.173.71.73 ] [0.001794s] /assets/js/MegaMenus.js
+[2026-08-02 22:59:35] [INFO ] [域:www.gvsds.com ] [200] [GET ] [39.173.71.73 ] [0.001068s] /assets/js/tetris.js
+[2026-08-02 22:59:35] [INFO ] [域:tailwind.gvsds.com ] [302] [GET ] [39.173.71.73 ] [0.001067s] /
+[2026-08-02 22:59:35] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [183.249.21.22 ] [0.001604s] /3.4.17
+[2026-08-02 22:59:35] [INFO ] [域:www.gvsds.com ] [200] [GET ] [183.249.21.22 ] [0.001587s] /assets/js/nav.js
+[2026-08-02 22:59:35] [INFO ] [域:www.gvsds.com ] [200] [GET ] [39.173.71.73 ] [0.001058s] /assets/js/tailwind.config.js
+[2026-08-02 22:59:35] [INFO ] [域:www.gvsds.com ] [200] [GET ] [183.249.21.22 ] [0.001531s] /assets/js/main.js
+[2026-08-02 22:59:35] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [39.173.71.73 ] [0.002671s] /3.4.17
+[2026-08-02 22:59:35] [INFO ] [域:www.gvsds.com ] [200] [GET ] [39.173.71.73 ] [0.001040s] /assets/config/Megas.js
+[2026-08-02 22:59:35] [INFO ] [域:www.gvsds.com ] [200] [GET ] [39.173.71.73 ] [0.001589s] /assets/js/nav.js
+[2026-08-02 22:59:35] [INFO ] [域:www.gvsds.com ] [200] [GET ] [183.249.21.22 ] [0.001610s] /assets/js/cookie.js
+[2026-08-02 22:59:36] [INFO ] [域:www.gvsds.com ] [200] [GET ] [39.173.71.73 ] [0.001062s] /assets/js/main.js
+[2026-08-02 22:59:36] [INFO ] [域:www.gvsds.com ] [200] [GET ] [39.173.71.73 ] [0.002117s] /assets/js/cookie.js
+[2026-08-02 22:59:36] [INFO ] [域:invite.gvsds.com ] [200] [GET ] [183.249.21.22 ] [0.002145s] /favicon.ico
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-02 22:59:36,876] [WARNING] Unauthorized: /Query/GetELTUserAvatar
+[2026-08-02 22:59:36] [WARNING] [域:ugm.gvsds.com ] [401] [GET ] [183.249.21.22 ] [0.005398s] /Query/GetELTUserAvatar
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-02 22:59:37,049] [WARNING] Unauthorized: /Query/GetELTUserAvatar
+[2026-08-02 22:59:37] [WARNING] [域:ugm.gvsds.com ] [401] [GET ] [39.173.71.73 ] [0.011086s] /Query/GetELTUserAvatar
+[2026-08-02 22:59:37] [INFO ] [域:www.gvsds.com ] [200] [GET ] [39.173.71.73 ] [0.001525s] /favicon.ico
+[2026-08-02 22:59:38] [INFO ] [域:ugm.gvsds.com ] [302] [GET ] [123.117.132.83 ] [0.001349s] /
+[2026-08-02 22:59:39] [INFO ] [域:www.gvsds.com ] [200] [GET ] [123.117.132.83 ] [0.003626s] /login.html
+[2026-08-02 22:59:39] [INFO ] [域:invite.gvsds.com ] [200] [GET ] [180.112.64.228 ] [0.001030s] /
+[2026-08-02 22:59:39] [INFO ] [域:www.gvsds.com ] [200] [GET ] [123.117.132.83 ] [0.001691s] /assets/js/tailwind.config.js
+[2026-08-02 22:59:39] [INFO ] [域:tailwind.gvsds.com ] [302] [GET ] [123.117.132.83 ] [0.000541s] /
+[2026-08-02 22:59:39] [INFO ] [域:www.gvsds.com ] [200] [GET ] [123.117.132.83 ] [0.001148s] /assets/js/MegaMenus.js
+[2026-08-02 22:59:39] [INFO ] [域:www.gvsds.com ] [200] [GET ] [123.117.132.83 ] [0.002021s] /assets/js/tetris.js
+[2026-08-02 22:59:40] [INFO ] [域:www.gvsds.com ] [200] [GET ] [123.117.132.83 ] [0.001511s] /assets/js/nav.js
+[2026-08-02 22:59:40] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [123.117.132.83 ] [0.002311s] /3.4.17
+[2026-08-02 22:59:40] [INFO ] [域:www.gvsds.com ] [200] [GET ] [123.117.132.83 ] [0.001525s] /assets/config/Megas.js
+[2026-08-02 22:59:40] [INFO ] [域:www.gvsds.com ] [200] [GET ] [123.117.132.83 ] [0.002100s] /assets/js/main.js
+[2026-08-02 22:59:40] [INFO ] [域:www.gvsds.com ] [200] [GET ] [123.117.132.83 ] [0.001008s] /assets/js/cookie.js
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-02 22:59:41,258] [WARNING] Unauthorized: /Query/GetELTUserAvatar
+[2026-08-02 22:59:41] [WARNING] [域:ugm.gvsds.com ] [401] [GET ] [123.117.132.83 ] [0.003745s] /Query/GetELTUserAvatar
+[2026-08-02 22:59:41] [INFO ] [域:www.gvsds.com ] [200] [GET ] [123.117.132.83 ] [0.003328s] /favicon.ico
+[2026-08-02 23:00:04] [INFO ] [域:ugm.gvsds.com ] [302] [GET ] [120.225.228.58 ] [0.001605s] /
+[2026-08-02 23:00:05] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.60.132.107 ] [0.002472s] /login.html
+[2026-08-02 23:00:05] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.60.132.107 ] [0.002117s] /assets/css/cookie.css
+[2026-08-02 23:00:06] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.60.132.107 ] [0.001700s] /assets/js/tailwind.config.js
+[2026-08-02 23:00:06] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.60.132.107 ] [0.001599s] /assets/css/gvsds-page.css
+[2026-08-02 23:00:06] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.60.132.107 ] [0.004623s] /assets/hlogos/gnobg.png
+[2026-08-02 23:00:07] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.60.132.107 ] [0.002134s] /assets/js/tetris.js
+[2026-08-02 23:00:07] [INFO ] [域:tailwind.gvsds.com ] [302] [GET ] [220.200.231.162] [0.000540s] /
+[2026-08-02 23:00:07] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.60.132.107 ] [0.002804s] /assets/js/MegaMenus.js
+[2026-08-02 23:00:08] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [220.200.231.162] [0.002878s] /3.4.17
+[2026-08-02 23:00:08] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.60.132.107 ] [0.002217s] /assets/js/nav.js
+[2026-08-02 23:00:08] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.60.132.107 ] [0.001007s] /assets/config/Megas.js
+[2026-08-02 23:00:09] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.60.132.107 ] [0.001295s] /assets/js/main.js
+[2026-08-02 23:00:09] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.60.132.107 ] [0.002028s] /assets/js/cookie.js
+[2026-08-02 23:00:09] [INFO ] [域:ugm.gvsds.com ] [302] [GET ] [120.244.235.172] [0.000589s] /favicon.ico
+[2026-08-02 23:00:11] [INFO ] [域:ugm.gvsds.com ] [302] [GET ] [182.204.178.141] [0.001037s] /
+[2026-08-02 23:00:14] [INFO ] [域:ugm.gvsds.com ] [302] [GET ] [116.178.135.5 ] [0.001068s] /
+[2026-08-02 23:00:14] [INFO ] [域:www.gvsds.com ] [200] [GET ] [116.178.135.5 ] [0.003330s] /login.html
+[2026-08-02 23:00:15] [INFO ] [域:www.gvsds.com ] [200] [GET ] [116.178.135.5 ] [0.004362s] /assets/js/tailwind.config.js
+[2026-08-02 23:00:15] [INFO ] [域:tailwind.gvsds.com ] [302] [GET ] [116.178.135.5 ] [0.001803s] /
+[2026-08-02 23:00:15] [INFO ] [域:www.gvsds.com ] [200] [GET ] [116.178.135.5 ] [0.003390s] /assets/js/tetris.js
+[2026-08-02 23:00:15] [INFO ] [域:www.gvsds.com ] [200] [GET ] [116.178.135.5 ] [0.002655s] /assets/js/MegaMenus.js
+[2026-08-02 23:00:15] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [116.178.135.5 ] [0.003643s] /3.4.17
+[2026-08-02 23:00:15] [INFO ] [域:www.gvsds.com ] [200] [GET ] [116.178.135.5 ] [0.002932s] /assets/config/Megas.js
+[2026-08-02 23:00:15] [INFO ] [域:www.gvsds.com ] [200] [GET ] [116.178.135.5 ] [0.004990s] /assets/js/nav.js
+[2026-08-02 23:00:16] [INFO ] [域:www.gvsds.com ] [200] [GET ] [116.178.135.5 ] [0.002690s] /assets/js/main.js
+[2026-08-02 23:00:16] [INFO ] [域:www.gvsds.com ] [200] [GET ] [116.178.135.5 ] [0.001517s] /assets/js/cookie.js
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-02 23:00:18,078] [WARNING] Unauthorized: /Query/GetELTUserAvatar
+[2026-08-02 23:00:18] [WARNING] [域:ugm.gvsds.com ] [401] [GET ] [116.178.135.5 ] [0.010546s] /Query/GetELTUserAvatar
+[2026-08-02 23:00:18] [INFO ] [域:www.gvsds.com ] [200] [GET ] [116.178.135.5 ] [0.002134s] /favicon.ico
+[2026-08-02 23:00:19] [INFO ] [域:ugm.gvsds.com ] [302] [GET ] [113.59.32.134 ] [0.000503s] /
+[2026-08-02 23:00:19] [INFO ] [域:www.gvsds.com ] [200] [GET ] [113.59.32.134 ] [0.005875s] /login.html
+[2026-08-02 23:00:19] [INFO ] [域:www.gvsds.com ] [200] [GET ] [113.59.32.134 ] [0.003351s] /assets/js/tailwind.config.js
+[2026-08-02 23:00:19] [INFO ] [域:www.gvsds.com ] [200] [GET ] [113.59.32.134 ] [0.001679s] /assets/js/tetris.js
+[2026-08-02 23:00:19] [INFO ] [域:www.gvsds.com ] [200] [GET ] [113.59.32.134 ] [0.001596s] /assets/js/MegaMenus.js
+[2026-08-02 23:00:20] [INFO ] [域:tailwind.gvsds.com ] [302] [GET ] [113.59.32.134 ] [0.001524s] /
+[2026-08-02 23:00:20] [INFO ] [域:www.gvsds.com ] [200] [GET ] [113.59.32.134 ] [0.001044s] /assets/js/nav.js
+[2026-08-02 23:00:20] [INFO ] [域:www.gvsds.com ] [200] [GET ] [113.59.32.134 ] [0.002123s] /assets/config/Megas.js
+[2026-08-02 23:00:20] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [113.59.32.134 ] [0.002921s] /3.4.17
+[2026-08-02 23:00:20] [INFO ] [域:www.gvsds.com ] [200] [GET ] [113.59.32.134 ] [0.002016s] /assets/js/main.js
+[2026-08-02 23:00:21] [INFO ] [域:www.gvsds.com ] [200] [GET ] [113.59.32.134 ] [0.002024s] /assets/js/cookie.js
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-02 23:00:21,872] [WARNING] Unauthorized: /Query/GetELTUserAvatar
+[2026-08-02 23:00:21] [WARNING] [域:ugm.gvsds.com ] [401] [GET ] [113.59.32.134 ] [0.006966s] /Query/GetELTUserAvatar
+[2026-08-02 23:00:21] [INFO ] [域:www.gvsds.com ] [200] [GET ] [113.59.32.134 ] [0.001687s] /favicon.ico
+[2026-08-02 23:01:18] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001518s] /
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-02 23:01:19,432] [WARNING] Unauthorized: /Query/GetELTUserInfo
+[2026-08-02 23:01:19] [WARNING] [域:gerp.gvsds.com ] [401] [GET ] [111.32.65.68 ] [0.005737s] /Query/GetELTUserInfo
+[2026-08-02 23:01:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004041s] /@vite/client
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-02 23:01:25,842] [WARNING] Unauthorized: /Query/GetELTUserInfo
+[2026-08-02 23:01:25] [WARNING] [域:gerp.gvsds.com ] [401] [GET ] [111.32.65.68 ] [0.005809s] /Query/GetELTUserInfo
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-02 23:01:26,042] [WARNING] Unauthorized: /Query/GetELTUserInfo
+[2026-08-02 23:01:26] [WARNING] [域:gerp.gvsds.com ] [401] [GET ] [111.32.65.68 ] [0.006775s] /Query/GetELTUserInfo
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-02 23:01:48,989] [WARNING] Unauthorized: /Query/GetELTUserInfo
+[2026-08-02 23:01:48] [WARNING] [域:gerp.gvsds.com ] [401] [GET ] [111.32.65.68 ] [0.011169s] /Query/GetELTUserInfo
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-02 23:01:49,885] [WARNING] Unauthorized: /Query/GetELTUserInfo
+[2026-08-02 23:01:49] [WARNING] [域:gerp.gvsds.com ] [401] [GET ] [111.32.65.68 ] [0.015190s] /Query/GetELTUserInfo
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-02 23:01:58,701] [WARNING] Unauthorized: /Query/GetELTUserInfo
+[2026-08-02 23:01:58] [WARNING] [域:gerp.gvsds.com ] [401] [GET ] [111.32.65.68 ] [0.006116s] /Query/GetELTUserInfo
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-02 23:01:59,056] [WARNING] Unauthorized: /Query/GetELTUserInfo
+[2026-08-02 23:01:59] [WARNING] [域:gerp.gvsds.com ] [401] [GET ] [111.32.65.68 ] [0.006720s] /Query/GetELTUserInfo
+[2026-08-02 23:04:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.008292s] /
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-02 23:04:30,950] [WARNING] Unauthorized: /Query/GetELTUserInfo
+[2026-08-02 23:04:30] [WARNING] [域:gerp.gvsds.com ] [401] [GET ] [111.32.65.68 ] [0.010160s] /Query/GetELTUserInfo
+[2026-08-02 23:04:30] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004027s] /@vite/client
+[2026-08-02 23:04:43,800] [WARNING] Unauthorized: /Auth/Login
+[2026-08-02 23:04:43] [WARNING] [域:gerp.gvsds.com ] [401] [POST] [111.32.65.68 ] [0.325427s] /Auth/Login
+[2026-08-02 23:04:48] [INFO ] [域:gerp.gvsds.com ] [200] [POST] [111.32.65.68 ] [0.291242s] /Auth/Login
+[2026-08-02 23:04:48,598] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:04:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.022634s] /Query/GetELTUserInfo
+[2026-08-02 23:04:48,930] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:04:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.272947s] /API/MenuList
+[2026-08-02 23:04:49,503] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:04:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.053533s] /Auth/GetUserRoles
+[2026-08-02 23:04:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005050s] /assets/css-C8-vPSoj.css
+[2026-08-02 23:04:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003668s] /assets/css-CY4c3_XL.js
+[2026-08-02 23:04:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003670s] /assets/css-1VV9QMa7.css
+[2026-08-02 23:04:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002008s] /assets/css-BAyktVMS.css
+[2026-08-02 23:04:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003074s] /assets/DefaultLayout-BRPOjqiU.js
+[2026-08-02 23:04:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002648s] /assets/CompanyDetail-x1XGuNl0.css
+[2026-08-02 23:04:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001005s] /assets/css-DJFxnum_.css
+[2026-08-02 23:04:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001745s] /assets/css-yeo4Q6aC.js
+[2026-08-02 23:04:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.000517s] /assets/css-Dq8WDDkr.css
+[2026-08-02 23:04:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002512s] /assets/css-BEipSTAx.js
+[2026-08-02 23:04:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002663s] /assets/DefaultLayout-C0yp82k_.css
+[2026-08-02 23:04:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002129s] /assets/app-Bd_X_OS1.js
+[2026-08-02 23:04:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002085s] /assets/Dashboard-BikaeE2A.css
+[2026-08-02 23:04:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002901s] /assets/Dashboard-BDAUnF14.js
+[2026-08-02 23:04:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002886s] /assets/css-Cy-4mdDD.js
+[2026-08-02 23:04:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003208s] /assets/css-CttyGzET.js
+[2026-08-02 23:04:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002589s] /assets/css-D-a1H3t1.js
+[2026-08-02 23:04:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001555s] /assets/css-6qaeDme6.js
+[2026-08-02 23:04:51,639] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:04:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.042315s] /API/Dashboard/Stats
+[2026-08-02 23:04:51,759] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:04:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.026218s] /Auth/GetUserRoles
+[2026-08-02 23:04:51,786] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:04:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017895s] /Query/GetELTUserAvatar
+[2026-08-02 23:04:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004163s] /assets/fa-solid-900-IAB4Droh.woff2
+[2026-08-02 23:05:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001512s] /assets/NotFound-k9CGTX-B.js
+[2026-08-02 23:05:22,499] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.030686s] /API/Dashboard/Stats
+[2026-08-02 23:05:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002511s] /assets/NotFound-_zjM8TYv.css
+[2026-08-02 23:05:22,943] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.036766s] /API/Dashboard/Stats
+[2026-08-02 23:05:23,642] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:23] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.049232s] /API/Dashboard/Stats
+[2026-08-02 23:05:24,058] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.038527s] /API/Dashboard/Stats
+[2026-08-02 23:05:24,826] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.052059s] /API/Dashboard/Stats
+[2026-08-02 23:05:25,147] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:25] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.037595s] /API/Dashboard/Stats
+[2026-08-02 23:05:25,499] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:25] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.020666s] /API/Dashboard/Stats
+[2026-08-02 23:05:25,879] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:25] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.034885s] /API/Dashboard/Stats
+[2026-08-02 23:05:26,118] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.026108s] /API/Dashboard/Stats
+[2026-08-02 23:05:26,748] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.020622s] /API/Dashboard/Stats
+[2026-08-02 23:05:27,136] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:27] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028371s] /API/Dashboard/Stats
+[2026-08-02 23:05:28,015] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.053577s] /API/Dashboard/Stats
+[2026-08-02 23:05:28,400] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.051731s] /API/Dashboard/Stats
+[2026-08-02 23:05:28,758] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.033888s] /API/Dashboard/Stats
+[2026-08-02 23:05:29,463] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.042437s] /API/Dashboard/Stats
+[2026-08-02 23:05:30,389] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:30] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.186998s] /API/Dashboard/Stats
+[2026-08-02 23:05:30,756] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:30] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.045080s] /API/Dashboard/Stats
+[2026-08-02 23:05:31,108] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:31] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.036874s] /API/Dashboard/Stats
+[2026-08-02 23:05:31,492] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:31] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.023751s] /API/Dashboard/Stats
+[2026-08-02 23:05:32,151] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.027801s] /API/Dashboard/Stats
+[2026-08-02 23:05:32,433] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028675s] /API/Dashboard/Stats
+[2026-08-02 23:05:32,776] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.026927s] /API/Dashboard/Stats
+[2026-08-02 23:05:35,035] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.035096s] /API/Dashboard/Stats
+[2026-08-02 23:05:35,250] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.033950s] /API/Dashboard/Stats
+[2026-08-02 23:05:35,640] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028069s] /API/Dashboard/Stats
+[2026-08-02 23:05:36,011] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.029395s] /API/Dashboard/Stats
+[2026-08-02 23:05:36,235] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.019040s] /API/Dashboard/Stats
+[2026-08-02 23:05:36,619] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.031280s] /API/Dashboard/Stats
+[2026-08-02 23:05:36,890] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028867s] /API/Dashboard/Stats
+[2026-08-02 23:05:37,213] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017959s] /API/Dashboard/Stats
+[2026-08-02 23:05:37,576] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.018887s] /API/Dashboard/Stats
+[2026-08-02 23:05:37,870] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017789s] /API/Dashboard/Stats
+[2026-08-02 23:05:38,391] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017274s] /API/Dashboard/Stats
+[2026-08-02 23:05:38,623] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.035253s] /API/Dashboard/Stats
+[2026-08-02 23:05:38,919] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.021660s] /API/Dashboard/Stats
+[2026-08-02 23:05:39,243] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.019202s] /API/Dashboard/Stats
+[2026-08-02 23:05:39,632] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017070s] /API/Dashboard/Stats
+[2026-08-02 23:05:40,034] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:40] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.020733s] /API/Dashboard/Stats
+[2026-08-02 23:05:40,348] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:40] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.020665s] /API/Dashboard/Stats
+[2026-08-02 23:05:40,998] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.023261s] /API/Dashboard/Stats
+[2026-08-02 23:05:41,319] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.021216s] /API/Dashboard/Stats
+[2026-08-02 23:05:41,601] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025363s] /API/Dashboard/Stats
+[2026-08-02 23:05:42,065] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025204s] /API/Dashboard/Stats
+[2026-08-02 23:05:42,118] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025211s] /API/Dashboard/Stats
+[2026-08-02 23:05:42,141] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.021509s] /API/Dashboard/Stats
+[2026-08-02 23:05:42,167] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.022632s] /API/Dashboard/Stats
+[2026-08-02 23:05:42,191] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.022239s] /API/Dashboard/Stats
+[2026-08-02 23:05:42,217] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025083s] /API/Dashboard/Stats
+[2026-08-02 23:05:42,254] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.024124s] /API/Dashboard/Stats
+[2026-08-02 23:05:42,294] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028165s] /API/Dashboard/Stats
+[2026-08-02 23:05:42,342] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.020631s] /API/Dashboard/Stats
+[2026-08-02 23:05:42,365] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.021433s] /API/Dashboard/Stats
+[2026-08-02 23:05:42,571] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.024171s] /API/Dashboard/Stats
+[2026-08-02 23:05:44,446] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [1.562254s] /API/Dashboard/Stats
+[2026-08-02 23:05:44,499] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.049851s] /API/Dashboard/Stats
+[2026-08-02 23:05:44,702] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.198814s] /API/Dashboard/Stats
+[2026-08-02 23:05:44,752] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.041848s] /API/Dashboard/Stats
+[2026-08-02 23:05:44,803] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.034149s] /API/Dashboard/Stats
+[2026-08-02 23:05:44,842] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.031266s] /API/Dashboard/Stats
+[2026-08-02 23:05:44,875] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.036203s] /API/Dashboard/Stats
+[2026-08-02 23:05:44,910] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025685s] /API/Dashboard/Stats
+[2026-08-02 23:05:44,942] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.030790s] /API/Dashboard/Stats
+[2026-08-02 23:05:44,980] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.037991s] /API/Dashboard/Stats
+[2026-08-02 23:05:45,018] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028465s] /API/Dashboard/Stats
+[2026-08-02 23:05:45,050] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.033113s] /API/Dashboard/Stats
+[2026-08-02 23:05:45,082] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.031745s] /API/Dashboard/Stats
+[2026-08-02 23:05:45,125] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.034966s] /API/Dashboard/Stats
+[2026-08-02 23:05:45,159] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.027302s] /API/Dashboard/Stats
+[2026-08-02 23:05:45,191] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032952s] /API/Dashboard/Stats
+[2026-08-02 23:05:45,224] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.029990s] /API/Dashboard/Stats
+[2026-08-02 23:05:45,257] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.024879s] /API/Dashboard/Stats
+[2026-08-02 23:05:45,287] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028711s] /API/Dashboard/Stats
+[2026-08-02 23:05:45,321] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.031398s] /API/Dashboard/Stats
+[2026-08-02 23:05:45,354] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.027224s] /API/Dashboard/Stats
+[2026-08-02 23:05:45,387] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.029891s] /API/Dashboard/Stats
+[2026-08-02 23:05:45,416] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.022174s] /API/Dashboard/Stats
+[2026-08-02 23:05:45,462] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.038282s] /API/Dashboard/Stats
+[2026-08-02 23:05:45,494] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.030746s] /API/Dashboard/Stats
+[2026-08-02 23:05:45,531] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.042196s] /API/Dashboard/Stats
+[2026-08-02 23:05:45,582] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.045178s] /API/Dashboard/Stats
+[2026-08-02 23:05:45,626] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.033487s] /API/Dashboard/Stats
+[2026-08-02 23:05:45,666] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.035590s] /API/Dashboard/Stats
+[2026-08-02 23:05:45,703] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.033689s] /API/Dashboard/Stats
+[2026-08-02 23:05:45,743] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032498s] /API/Dashboard/Stats
+[2026-08-02 23:05:45,781] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032166s] /API/Dashboard/Stats
+[2026-08-02 23:05:45,828] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.052520s] /API/Dashboard/Stats
+[2026-08-02 23:05:45,873] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.031540s] /API/Dashboard/Stats
+[2026-08-02 23:05:45,912] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.034289s] /API/Dashboard/Stats
+[2026-08-02 23:05:45,949] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032268s] /API/Dashboard/Stats
+[2026-08-02 23:05:45,986] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.037845s] /API/Dashboard/Stats
+[2026-08-02 23:05:46,024] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.034952s] /API/Dashboard/Stats
+[2026-08-02 23:05:46,067] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.039091s] /API/Dashboard/Stats
+[2026-08-02 23:05:46,114] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.040104s] /API/Dashboard/Stats
+[2026-08-02 23:05:46,155] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.037958s] /API/Dashboard/Stats
+[2026-08-02 23:05:46,206] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.045619s] /API/Dashboard/Stats
+[2026-08-02 23:05:46,246] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.042272s] /API/Dashboard/Stats
+[2026-08-02 23:05:46,293] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.038507s] /API/Dashboard/Stats
+[2026-08-02 23:05:46,335] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.034664s] /API/Dashboard/Stats
+[2026-08-02 23:05:46,374] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.036962s] /API/Dashboard/Stats
+[2026-08-02 23:05:46,422] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.041928s] /API/Dashboard/Stats
+[2026-08-02 23:05:46,467] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.036969s] /API/Dashboard/Stats
+[2026-08-02 23:05:46,514] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.036684s] /API/Dashboard/Stats
+[2026-08-02 23:05:46,558] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.051830s] /API/Dashboard/Stats
+[2026-08-02 23:05:46,612] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.045239s] /API/Dashboard/Stats
+[2026-08-02 23:05:46,658] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.030974s] /API/Dashboard/Stats
+[2026-08-02 23:05:46,694] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.041192s] /API/Dashboard/Stats
+[2026-08-02 23:05:46,739] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028669s] /API/Dashboard/Stats
+[2026-08-02 23:05:46,771] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032073s] /API/Dashboard/Stats
+[2026-08-02 23:05:46,812] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032386s] /API/Dashboard/Stats
+[2026-08-02 23:05:46,849] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.036234s] /API/Dashboard/Stats
+[2026-08-02 23:05:46,891] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.042616s] /API/Dashboard/Stats
+[2026-08-02 23:05:46,940] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.037781s] /API/Dashboard/Stats
+[2026-08-02 23:05:46,985] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.042034s] /API/Dashboard/Stats
+[2026-08-02 23:05:47,025] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.034647s] /API/Dashboard/Stats
+[2026-08-02 23:05:47,065] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.035680s] /API/Dashboard/Stats
+[2026-08-02 23:05:47,109] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.042617s] /API/Dashboard/Stats
+[2026-08-02 23:05:47,153] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.036584s] /API/Dashboard/Stats
+[2026-08-02 23:05:47,193] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.033539s] /API/Dashboard/Stats
+[2026-08-02 23:05:47,228] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032400s] /API/Dashboard/Stats
+[2026-08-02 23:05:47,265] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.031253s] /API/Dashboard/Stats
+[2026-08-02 23:05:47,303] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.031678s] /API/Dashboard/Stats
+[2026-08-02 23:05:47,340] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.035258s] /API/Dashboard/Stats
+[2026-08-02 23:05:47,386] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.040033s] /API/Dashboard/Stats
+[2026-08-02 23:05:47,426] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.033428s] /API/Dashboard/Stats
+[2026-08-02 23:05:47,464] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.034785s] /API/Dashboard/Stats
+[2026-08-02 23:05:47,499] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.030636s] /API/Dashboard/Stats
+[2026-08-02 23:05:47,536] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.044383s] /API/Dashboard/Stats
+[2026-08-02 23:05:47,585] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.045115s] /API/Dashboard/Stats
+[2026-08-02 23:05:47,634] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.036092s] /API/Dashboard/Stats
+[2026-08-02 23:05:47,675] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.043281s] /API/Dashboard/Stats
+[2026-08-02 23:05:47,723] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.036282s] /API/Dashboard/Stats
+[2026-08-02 23:05:47,762] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.041314s] /API/Dashboard/Stats
+[2026-08-02 23:05:47,805] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.033025s] /API/Dashboard/Stats
+[2026-08-02 23:05:47,842] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032217s] /API/Dashboard/Stats
+[2026-08-02 23:05:47,874] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.033497s] /API/Dashboard/Stats
+[2026-08-02 23:05:47,915] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.034684s] /API/Dashboard/Stats
+[2026-08-02 23:05:47,953] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.038872s] /API/Dashboard/Stats
+[2026-08-02 23:05:47,999] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.037385s] /API/Dashboard/Stats
+[2026-08-02 23:05:48,037] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032711s] /API/Dashboard/Stats
+[2026-08-02 23:05:48,071] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.034012s] /API/Dashboard/Stats
+[2026-08-02 23:05:48,110] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032234s] /API/Dashboard/Stats
+[2026-08-02 23:05:48,143] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.036468s] /API/Dashboard/Stats
+[2026-08-02 23:05:48,183] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.027348s] /API/Dashboard/Stats
+[2026-08-02 23:05:48,212] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.030935s] /API/Dashboard/Stats
+[2026-08-02 23:05:48,247] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025945s] /API/Dashboard/Stats
+[2026-08-02 23:05:48,280] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.034948s] /API/Dashboard/Stats
+[2026-08-02 23:05:48,317] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028006s] /API/Dashboard/Stats
+[2026-08-02 23:05:48,348] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.029151s] /API/Dashboard/Stats
+[2026-08-02 23:05:48,383] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.029908s] /API/Dashboard/Stats
+[2026-08-02 23:05:48,416] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.031746s] /API/Dashboard/Stats
+[2026-08-02 23:05:48,451] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.027682s] /API/Dashboard/Stats
+[2026-08-02 23:05:48,486] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.033585s] /API/Dashboard/Stats
+[2026-08-02 23:05:48,520] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.035795s] /API/Dashboard/Stats
+[2026-08-02 23:05:48,564] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.033996s] /API/Dashboard/Stats
+[2026-08-02 23:05:48,602] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.038678s] /API/Dashboard/Stats
+[2026-08-02 23:05:48,643] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.035331s] /API/Dashboard/Stats
+[2026-08-02 23:05:48,681] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.030730s] /API/Dashboard/Stats
+[2026-08-02 23:05:48,715] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.031544s] /API/Dashboard/Stats
+[2026-08-02 23:05:48,754] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.031677s] /API/Dashboard/Stats
+[2026-08-02 23:05:48,790] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.039145s] /API/Dashboard/Stats
+[2026-08-02 23:05:48,831] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.033361s] /API/Dashboard/Stats
+[2026-08-02 23:05:48,867] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.036349s] /API/Dashboard/Stats
+[2026-08-02 23:05:48,910] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.029619s] /API/Dashboard/Stats
+[2026-08-02 23:05:48,941] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.027953s] /API/Dashboard/Stats
+[2026-08-02 23:05:48,972] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032278s] /API/Dashboard/Stats
+[2026-08-02 23:05:49,007] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.034500s] /API/Dashboard/Stats
+[2026-08-02 23:05:49,045] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.029197s] /API/Dashboard/Stats
+[2026-08-02 23:05:49,078] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.034627s] /API/Dashboard/Stats
+[2026-08-02 23:05:49,115] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.030252s] /API/Dashboard/Stats
+[2026-08-02 23:05:49,163] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.031232s] /API/Dashboard/Stats
+[2026-08-02 23:05:49,503] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.023012s] /API/Dashboard/Stats
+[2026-08-02 23:05:49,542] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.041082s] /API/Dashboard/Stats
+[2026-08-02 23:05:49,579] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028917s] /API/Dashboard/Stats
+[2026-08-02 23:05:49,611] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.026422s] /API/Dashboard/Stats
+[2026-08-02 23:05:49,639] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.026263s] /API/Dashboard/Stats
+[2026-08-02 23:05:49,671] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.027079s] /API/Dashboard/Stats
+[2026-08-02 23:05:49,700] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.022033s] /API/Dashboard/Stats
+[2026-08-02 23:05:49,728] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.029834s] /API/Dashboard/Stats
+[2026-08-02 23:05:49,759] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.027462s] /API/Dashboard/Stats
+[2026-08-02 23:05:49,790] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.029916s] /API/Dashboard/Stats
+[2026-08-02 23:05:49,831] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.038519s] /API/Dashboard/Stats
+[2026-08-02 23:05:49,873] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028405s] /API/Dashboard/Stats
+[2026-08-02 23:05:49,901] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.022642s] /API/Dashboard/Stats
+[2026-08-02 23:05:49,931] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.029690s] /API/Dashboard/Stats
+[2026-08-02 23:05:49,961] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025574s] /API/Dashboard/Stats
+[2026-08-02 23:05:49,990] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.023368s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,025] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.036083s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,057] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.031951s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,094] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028509s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,126] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.033383s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,161] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.023322s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,190] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028743s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,219] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.023137s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,249] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025126s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,275] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.024942s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,303] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.030377s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,339] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.027262s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,371] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.027076s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,396] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.022303s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,429] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.027096s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,455] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.020598s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,482] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.027032s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,513] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.026938s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,545] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017935s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,564] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.016234s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,582] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.021207s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,608] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.021570s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,633] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.020745s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,656] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.020206s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,680] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.018520s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,705] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.023272s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,726] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.026588s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,754] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017719s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,774] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.018093s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,797] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.018750s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,816] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.015686s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,836] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017433s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,858] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017643s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,879] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.026423s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,906] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.019712s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,930] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.020453s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,951] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017389s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,971] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.018618s] /API/Dashboard/Stats
+[2026-08-02 23:05:50,997] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.021149s] /API/Dashboard/Stats
+[2026-08-02 23:05:51,020] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.018240s] /API/Dashboard/Stats
+[2026-08-02 23:05:51,042] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.020128s] /API/Dashboard/Stats
+[2026-08-02 23:05:51,062] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.016478s] /API/Dashboard/Stats
+[2026-08-02 23:05:51,084] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.019935s] /API/Dashboard/Stats
+[2026-08-02 23:05:51,105] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.027701s] /API/Dashboard/Stats
+[2026-08-02 23:05:51,141] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.020478s] /API/Dashboard/Stats
+[2026-08-02 23:05:51,200] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.053706s] /API/Dashboard/Stats
+[2026-08-02 23:05:51,218] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.019234s] /API/Dashboard/Stats
+[2026-08-02 23:05:51,239] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017646s] /API/Dashboard/Stats
+[2026-08-02 23:05:51,261] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.023016s] /API/Dashboard/Stats
+[2026-08-02 23:05:51,290] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.019271s] /API/Dashboard/Stats
+[2026-08-02 23:05:51,309] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017421s] /API/Dashboard/Stats
+[2026-08-02 23:05:51,329] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.024086s] /API/Dashboard/Stats
+[2026-08-02 23:05:51,356] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.018568s] /API/Dashboard/Stats
+[2026-08-02 23:05:51,376] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.024383s] /API/Dashboard/Stats
+[2026-08-02 23:05:51,405] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017066s] /API/Dashboard/Stats
+[2026-08-02 23:05:51,425] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.020681s] /API/Dashboard/Stats
+[2026-08-02 23:05:51,448] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.019717s] /API/Dashboard/Stats
+[2026-08-02 23:05:51,471] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.018324s] /API/Dashboard/Stats
+[2026-08-02 23:05:51,492] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017102s] /API/Dashboard/Stats
+[2026-08-02 23:05:51,508] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017448s] /API/Dashboard/Stats
+[2026-08-02 23:05:51,531] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:05:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.019311s] /API/Dashboard/Stats
+[2026-08-02 23:07:53] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.063231s] /
+[2026-08-02 23:07:53] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.013481s] /assets/useApi-CROJJdhE-mMpa5RAf.js
+[2026-08-02 23:07:53] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003576s] /assets/runtime-dom.esm-bundler-YxjRGSuG.js
+[2026-08-02 23:07:54] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004058s] /assets/index-DwuP2m3e.js
+[2026-08-02 23:07:54] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002158s] /assets/debounce-DcxdqJyS.js
+[2026-08-02 23:07:54] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002050s] /assets/serverScope-O8Rw8SFk.js
+[2026-08-02 23:07:54] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003257s] /assets/use-global-config-D-dPcPvU.js
+[2026-08-02 23:07:54] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003142s] /assets/omit-zqi_K1DB.js
+[2026-08-02 23:07:54] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001575s] /assets/numbers-cik3maFd.js
+[2026-08-02 23:07:54] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002225s] /assets/button-CPx9BSuo.js
+[2026-08-02 23:07:54] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003532s] /assets/castArray-CpgoCob_.js
+[2026-08-02 23:07:54] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003804s] /assets/time-picker-TCWcdl6M.js
+[2026-08-02 23:07:54] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002403s] /assets/repeat-click-BatRPHhN.js
+[2026-08-02 23:07:54] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002823s] /assets/form-F--u6XQJ.js
+[2026-08-02 23:07:54] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004256s] /assets/descriptions-Cq_aE9sg.js
+[2026-08-02 23:07:54] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002522s] /assets/tag-BSnLMVgs.js
+[2026-08-02 23:07:54] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001517s] /assets/checkbox-CdKclTX1.js
+[2026-08-02 23:07:54] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003049s] /assets/image-HD4q5QFa.js
+[2026-08-02 23:07:54] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003647s] /assets/router-lhgEEoBs.js
+[2026-08-02 23:07:54] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002204s] /assets/date-picker-CM_15T0u.js
+[2026-08-02 23:07:54] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.007622s] /assets/click-outside-bcMsT2om.js
+[2026-08-02 23:07:54] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002598s] /assets/table-BMMHIZYf.js
+[2026-08-02 23:07:54] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002625s] /assets/select-C6bKVB-D.js
+[2026-08-02 23:07:54] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002536s] /assets/vnode-SMLE-MKY.js
+[2026-08-02 23:07:54] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001518s] /assets/isArrayLikeObject-Bo9Xnvp4.js
+[2026-08-02 23:07:54] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001796s] /assets/strings-B6ImqFWg.js
+[2026-08-02 23:07:54] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003226s] /assets/use-dialog-BxrOdCc2.js
+[2026-08-02 23:07:54] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002584s] /assets/card-Dj_UeWcA.js
+[2026-08-02 23:07:54] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002039s] /assets/use-ordered-children-DGQ-CQup.js
+[2026-08-02 23:07:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004580s] /assets/index-CHOuvNKI.css
+[2026-08-02 23:07:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003226s] /assets/skeleton-DGDficlh.js
+[2026-08-02 23:07:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003535s] /assets/avatar-DXM6bmhO.js
+[2026-08-02 23:07:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002172s] /assets/alert-BpFV-0dO.js
+[2026-08-02 23:07:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002511s] /assets/result-gkzjWpF7.js
+[2026-08-02 23:07:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003537s] /assets/empty-CnQTxkvl.js
+[2026-08-02 23:07:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002716s] /assets/directive-CY41a6pJ.js
+[2026-08-02 23:07:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005187s] /assets/menu-BLdj5hCm.js
+[2026-08-02 23:07:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001693s] /assets/col-BXlaMgkQ.js
+[2026-08-02 23:07:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002552s] /assets/tree-DqeBDBpX.js
+[2026-08-02 23:07:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003598s] /assets/radio-Cb0vAm4I.js
+[2026-08-02 23:07:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002074s] /assets/steps-C4-7Ybf-.js
+[2026-08-02 23:07:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003523s] /assets/pagination-DjMzc_Tw.js
+[2026-08-02 23:07:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003141s] /assets/tabs-CprxXUdp.js
+[2026-08-02 23:07:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002205s] /assets/switch-BF4Q1eKX.js
+[2026-08-02 23:07:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003540s] /assets/drawer-Cu-arLgK.js
+[2026-08-02 23:07:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002662s] /assets/dialog-HOUKmN79.js
+[2026-08-02 23:07:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002697s] /assets/input-number-CiNOxXL6.js
+[2026-08-02 23:07:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001805s] /assets/progress-CJYzD9Cp.js
+[2026-08-02 23:07:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002415s] /assets/collapse-transition-D5PfF1iI.js
+[2026-08-02 23:07:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002110s] /assets/refs-Cc5FwKWV.js
+[2026-08-02 23:07:57] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002760s] /assets/css-ZSOkJyjJ.css
+[2026-08-02 23:07:57] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002082s] /assets/css-cyJZB4WD.css
+[2026-08-02 23:07:57] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001663s] /assets/css-DsD2Typt.js
+[2026-08-02 23:07:57] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001533s] /assets/favicon-CjgOoDgN.js
+[2026-08-02 23:07:58] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004046s] /@vite/client
+[2026-08-02 23:07:58,593] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:07:58] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.070313s] /Auth/GetUserRoles
+[2026-08-02 23:07:58,631] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:07:58] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017801s] /Query/GetELTUserAvatar
+[2026-08-02 23:07:58] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002020s] /favicon.svg
+[2026-08-02 23:07:58,656] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:07:58] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028270s] /API/Dashboard/Stats
+[2026-08-02 23:08:11,806] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:11] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.033814s] /API/Dashboard/Stats
+[2026-08-02 23:08:12,174] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.033743s] /API/Dashboard/Stats
+[2026-08-02 23:08:12,445] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.030001s] /API/Dashboard/Stats
+[2026-08-02 23:08:12,707] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032788s] /API/Dashboard/Stats
+[2026-08-02 23:08:12,954] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028344s] /API/Dashboard/Stats
+[2026-08-02 23:08:14,170] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:14] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.052800s] /API/Dashboard/Stats
+[2026-08-02 23:08:14,755] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:14] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.041999s] /API/Dashboard/Stats
+[2026-08-02 23:08:15,070] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028110s] /API/Dashboard/Stats
+[2026-08-02 23:08:15,567] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.057851s] /API/Dashboard/Stats
+[2026-08-02 23:08:16,024] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:16] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.059642s] /API/Dashboard/Stats
+[2026-08-02 23:08:16,789] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:16] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.043403s] /API/Dashboard/Stats
+[2026-08-02 23:08:17,149] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:17] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.045117s] /API/Dashboard/Stats
+[2026-08-02 23:08:17,506] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:17] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.041924s] /API/Dashboard/Stats
+[2026-08-02 23:08:17,946] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:17] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.037169s] /API/Dashboard/Stats
+[2026-08-02 23:08:18,360] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:18] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.052435s] /API/Dashboard/Stats
+[2026-08-02 23:08:18,799] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:18] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.029175s] /API/Dashboard/Stats
+[2026-08-02 23:08:19,015] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028606s] /API/Dashboard/Stats
+[2026-08-02 23:08:19,235] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.036847s] /API/Dashboard/Stats
+[2026-08-02 23:08:19,659] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:19] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.037852s] /API/Dashboard/Stats
+[2026-08-02 23:08:20,304] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:20] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.020491s] /API/Dashboard/Stats
+[2026-08-02 23:08:20,888] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:20] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.024204s] /API/Dashboard/Stats
+[2026-08-02 23:08:21,254] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:21] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.029827s] /API/Dashboard/Stats
+[2026-08-02 23:08:21,683] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:21] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.016143s] /API/Dashboard/Stats
+[2026-08-02 23:08:23,398] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:23] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.021452s] /API/Dashboard/Stats
+[2026-08-02 23:08:23,813] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:23] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.020717s] /API/Dashboard/Stats
+[2026-08-02 23:08:24,443] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017292s] /API/Dashboard/Stats
+[2026-08-02 23:08:24,726] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025504s] /API/Dashboard/Stats
+[2026-08-02 23:08:24,994] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:25] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.023142s] /API/Dashboard/Stats
+[2026-08-02 23:08:25,508] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:25] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.019122s] /API/Dashboard/Stats
+[2026-08-02 23:08:25,797] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:25] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.024958s] /API/Dashboard/Stats
+[2026-08-02 23:08:26,344] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.019573s] /API/Dashboard/Stats
+[2026-08-02 23:08:26,616] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.024529s] /API/Dashboard/Stats
+[2026-08-02 23:08:26,960] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.020714s] /API/Dashboard/Stats
+[2026-08-02 23:08:27,807] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:27] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.021612s] /API/Dashboard/Stats
+[2026-08-02 23:08:28,421] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017281s] /API/Dashboard/Stats
+[2026-08-02 23:08:28,843] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032681s] /API/Dashboard/Stats
+[2026-08-02 23:08:29,249] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025589s] /API/Dashboard/Stats
+[2026-08-02 23:08:29,814] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.021429s] /API/Dashboard/Stats
+[2026-08-02 23:08:30,029] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:30] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.015958s] /API/Dashboard/Stats
+[2026-08-02 23:08:30,310] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:30] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.019254s] /API/Dashboard/Stats
+[2026-08-02 23:08:30,565] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:30] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.014115s] /API/Dashboard/Stats
+[2026-08-02 23:08:30,844] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:30] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.016689s] /API/Dashboard/Stats
+[2026-08-02 23:08:31,073] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:31] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.015754s] /API/Dashboard/Stats
+[2026-08-02 23:08:32,246] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.038140s] /API/Dashboard/Stats
+[2026-08-02 23:08:32,281] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.031237s] /API/Dashboard/Stats
+[2026-08-02 23:08:32,314] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.027304s] /API/Dashboard/Stats
+[2026-08-02 23:08:32,351] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028385s] /API/Dashboard/Stats
+[2026-08-02 23:08:32,381] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.022220s] /API/Dashboard/Stats
+[2026-08-02 23:08:32,410] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.029013s] /API/Dashboard/Stats
+[2026-08-02 23:08:32,439] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017900s] /API/Dashboard/Stats
+[2026-08-02 23:08:32,458] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.014926s] /API/Dashboard/Stats
+[2026-08-02 23:08:32,659] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.037698s] /API/Dashboard/Stats
+[2026-08-02 23:08:32,697] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032498s] /API/Dashboard/Stats
+[2026-08-02 23:08:32,733] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.033956s] /API/Dashboard/Stats
+[2026-08-02 23:08:32,824] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028007s] /API/Dashboard/Stats
+[2026-08-02 23:08:32,854] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.024471s] /API/Dashboard/Stats
+[2026-08-02 23:08:32,882] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.022502s] /API/Dashboard/Stats
+[2026-08-02 23:08:32,905] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.019958s] /API/Dashboard/Stats
+[2026-08-02 23:08:32,930] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.019292s] /API/Dashboard/Stats
+[2026-08-02 23:08:32,951] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.016298s] /API/Dashboard/Stats
+[2026-08-02 23:08:32,971] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017406s] /API/Dashboard/Stats
+[2026-08-02 23:08:32,990] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.016079s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,009] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.023394s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,036] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.018647s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,055] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.018230s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,076] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.018896s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,097] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.016767s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,117] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017768s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,137] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.019062s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,163] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.031086s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,197] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028362s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,233] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.027746s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,255] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017239s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,273] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.013993s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,293] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.015286s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,308] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.013056s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,325] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.015189s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,356] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.016373s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,373] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.013094s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,390] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.014850s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,406] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.012795s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,423] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.018248s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,445] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017343s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,462] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.014680s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,478] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.014635s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,497] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.015325s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,514] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.013546s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,530] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.018931s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,554] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.019470s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,576] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017536s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,595] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.014768s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,612] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.014352s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,629] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.014232s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,647] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.016986s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,670] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.020666s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,692] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.019042s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,712] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.018288s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,735] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.020085s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,756] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.018258s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,778] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.022377s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,805] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025864s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,831] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.027129s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,868] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.035190s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,906] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028624s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,933] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.022736s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,961] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.022688s] /API/Dashboard/Stats
+[2026-08-02 23:08:33,988] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.021645s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,011] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.020069s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,033] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.020954s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,059] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.024513s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,096] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.033590s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,126] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.020376s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,147] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.019113s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,168] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017834s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,191] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017691s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,212] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.020429s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,238] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.024709s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,264] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017308s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,281] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.015652s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,298] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.013344s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,317] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017234s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,339] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.021887s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,361] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017941s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,382] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.018925s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,403] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.015707s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,422] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.015971s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,441] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.018042s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,462] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017789s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,482] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.016834s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,501] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.014712s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,519] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.014517s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,536] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.016803s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,555] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.015959s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,575] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017102s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,597] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017722s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,614] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.016328s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,634] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.021384s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,659] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017848s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,680] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017295s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,701] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.019150s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,721] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.016543s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,744] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.020644s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,765] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.020609s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,788] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.019006s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,809] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017696s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,829] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017356s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,854] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025786s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,879] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.018911s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,900] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.018552s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,922] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.016628s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,943] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.020936s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,964] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.018086s] /API/Dashboard/Stats
+[2026-08-02 23:08:34,985] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.023040s] /API/Dashboard/Stats
+[2026-08-02 23:08:35,011] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.022491s] /API/Dashboard/Stats
+[2026-08-02 23:08:35,037] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.026413s] /API/Dashboard/Stats
+[2026-08-02 23:08:35,064] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.020388s] /API/Dashboard/Stats
+[2026-08-02 23:08:35,087] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.020480s] /API/Dashboard/Stats
+[2026-08-02 23:08:35,113] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.023050s] /API/Dashboard/Stats
+[2026-08-02 23:08:35,151] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.012537s] /API/Dashboard/Stats
+[2026-08-02 23:08:35,167] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.015685s] /API/Dashboard/Stats
+[2026-08-02 23:08:35,188] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.016911s] /API/Dashboard/Stats
+[2026-08-02 23:08:35,206] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.015698s] /API/Dashboard/Stats
+[2026-08-02 23:08:35,224] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.016285s] /API/Dashboard/Stats
+[2026-08-02 23:08:35,246] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.018658s] /API/Dashboard/Stats
+[2026-08-02 23:08:35,264] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.016829s] /API/Dashboard/Stats
+[2026-08-02 23:08:35,286] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.018626s] /API/Dashboard/Stats
+[2026-08-02 23:08:35,309] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.019030s] /API/Dashboard/Stats
+[2026-08-02 23:08:35,328] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017758s] /API/Dashboard/Stats
+[2026-08-02 23:08:35,347] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.016134s] /API/Dashboard/Stats
+[2026-08-02 23:08:35,369] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.021643s] /API/Dashboard/Stats
+[2026-08-02 23:08:35,392] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.016392s] /API/Dashboard/Stats
+[2026-08-02 23:08:35,413] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.016290s] /API/Dashboard/Stats
+[2026-08-02 23:08:35,431] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.015645s] /API/Dashboard/Stats
+[2026-08-02 23:08:35,450] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.017413s] /API/Dashboard/Stats
+[2026-08-02 23:08:35,470] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.018164s] /API/Dashboard/Stats
+[2026-08-02 23:08:35,491] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.015649s] /API/Dashboard/Stats
+[2026-08-02 23:08:35,508] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.013875s] /API/Dashboard/Stats
+[2026-08-02 23:08:35,525] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.014476s] /API/Dashboard/Stats
+[2026-08-02 23:08:35,546] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:08:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.016781s] /API/Dashboard/Stats
+[2026-08-02 23:19:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.155262s] /
+[2026-08-02 23:19:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.023928s] /assets/useApi-CROJJdhE-mMpa5RAf.js
+[2026-08-02 23:19:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.011501s] /assets/index-DwuP2m3e.js
+[2026-08-02 23:19:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.007181s] /assets/runtime-dom.esm-bundler-YxjRGSuG.js
+[2026-08-02 23:19:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.009106s] /assets/use-global-config-D-dPcPvU.js
+[2026-08-02 23:19:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004261s] /assets/repeat-click-BatRPHhN.js
+[2026-08-02 23:19:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004030s] /assets/button-CPx9BSuo.js
+[2026-08-02 23:19:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.006209s] /assets/omit-zqi_K1DB.js
+[2026-08-02 23:19:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.007209s] /assets/click-outside-bcMsT2om.js
+[2026-08-02 23:19:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003668s] /assets/debounce-DcxdqJyS.js
+[2026-08-02 23:19:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005550s] /assets/serverScope-O8Rw8SFk.js
+[2026-08-02 23:19:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002509s] /assets/numbers-cik3maFd.js
+[2026-08-02 23:19:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.011453s] /assets/vnode-SMLE-MKY.js
+[2026-08-02 23:19:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.006320s] /assets/date-picker-CM_15T0u.js
+[2026-08-02 23:19:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.012557s] /assets/castArray-CpgoCob_.js
+[2026-08-02 23:19:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.007442s] /assets/descriptions-Cq_aE9sg.js
+[2026-08-02 23:19:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.006776s] /assets/strings-B6ImqFWg.js
+[2026-08-02 23:19:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.018756s] /assets/router-lhgEEoBs.js
+[2026-08-02 23:19:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005941s] /assets/form-F--u6XQJ.js
+[2026-08-02 23:19:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.006656s] /assets/tag-BSnLMVgs.js
+[2026-08-02 23:19:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004555s] /assets/table-BMMHIZYf.js
+[2026-08-02 23:19:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004565s] /assets/isArrayLikeObject-Bo9Xnvp4.js
+[2026-08-02 23:19:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005061s] /assets/checkbox-CdKclTX1.js
+[2026-08-02 23:19:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.039770s] /assets/select-C6bKVB-D.js
+[2026-08-02 23:19:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.009700s] /assets/time-picker-TCWcdl6M.js
+[2026-08-02 23:19:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.006089s] /assets/skeleton-DGDficlh.js
+[2026-08-02 23:19:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.014541s] /assets/image-HD4q5QFa.js
+[2026-08-02 23:19:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.019055s] /assets/use-ordered-children-DGQ-CQup.js
+[2026-08-02 23:19:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.057680s] /assets/card-Dj_UeWcA.js
+[2026-08-02 23:19:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003105s] /assets/col-BXlaMgkQ.js
+[2026-08-02 23:19:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003007s] /assets/alert-BpFV-0dO.js
+[2026-08-02 23:19:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003237s] /assets/use-dialog-BxrOdCc2.js
+[2026-08-02 23:19:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.010452s] /assets/index-CHOuvNKI.css
+[2026-08-02 23:19:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004803s] /assets/menu-BLdj5hCm.js
+[2026-08-02 23:19:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.024439s] /assets/radio-Cb0vAm4I.js
+[2026-08-02 23:19:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003725s] /assets/drawer-Cu-arLgK.js
+[2026-08-02 23:19:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005071s] /assets/avatar-DXM6bmhO.js
+[2026-08-02 23:19:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003439s] /assets/tabs-CprxXUdp.js
+[2026-08-02 23:19:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.008584s] /assets/refs-Cc5FwKWV.js
+[2026-08-02 23:19:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005082s] /assets/dialog-HOUKmN79.js
+[2026-08-02 23:19:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003732s] /assets/steps-C4-7Ybf-.js
+[2026-08-02 23:19:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002531s] /assets/collapse-transition-D5PfF1iI.js
+[2026-08-02 23:19:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005052s] /assets/switch-BF4Q1eKX.js
+[2026-08-02 23:19:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005275s] /assets/empty-CnQTxkvl.js
+[2026-08-02 23:19:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005587s] /assets/tree-DqeBDBpX.js
+[2026-08-02 23:19:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003045s] /assets/pagination-DjMzc_Tw.js
+[2026-08-02 23:19:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004596s] /assets/result-gkzjWpF7.js
+[2026-08-02 23:19:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004103s] /assets/directive-CY41a6pJ.js
+[2026-08-02 23:19:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004029s] /assets/progress-CJYzD9Cp.js
+[2026-08-02 23:19:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003032s] /assets/input-number-CiNOxXL6.js
+[2026-08-02 23:19:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.006767s] /assets/css-CY4c3_XL.js
+[2026-08-02 23:19:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003582s] /assets/DefaultLayout-BRPOjqiU.js
+[2026-08-02 23:19:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.007849s] /assets/css-C8-vPSoj.css
+[2026-08-02 23:19:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003314s] /assets/css-cyJZB4WD.css
+[2026-08-02 23:19:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.007501s] /assets/CompanyDetail-x1XGuNl0.css
+[2026-08-02 23:19:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.012226s] /assets/css-yeo4Q6aC.js
+[2026-08-02 23:19:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004318s] /assets/css-ZSOkJyjJ.css
+[2026-08-02 23:19:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.006163s] /assets/DefaultLayout-C0yp82k_.css
+[2026-08-02 23:19:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.007172s] /assets/css-Dq8WDDkr.css
+[2026-08-02 23:19:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.006595s] /assets/css-1VV9QMa7.css
+[2026-08-02 23:19:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005089s] /assets/css-DJFxnum_.css
+[2026-08-02 23:19:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005086s] /assets/css-BAyktVMS.css
+[2026-08-02 23:19:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003582s] /assets/Dashboard-BikaeE2A.css
+[2026-08-02 23:19:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004011s] /assets/css-DsD2Typt.js
+[2026-08-02 23:19:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004033s] /assets/css-CttyGzET.js
+[2026-08-02 23:19:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003010s] /assets/css-BEipSTAx.js
+[2026-08-02 23:19:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.006549s] /assets/css-6qaeDme6.js
+[2026-08-02 23:19:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003588s] /assets/app-Bd_X_OS1.js
+[2026-08-02 23:19:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004580s] /assets/Dashboard-BDAUnF14.js
+[2026-08-02 23:19:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.031171s] /assets/favicon-CjgOoDgN.js
+[2026-08-02 23:19:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.018115s] /assets/css-Cy-4mdDD.js
+[2026-08-02 23:19:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.012954s] /assets/css-D-a1H3t1.js
+[2026-08-02 23:19:39,097] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:19:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.325863s] /Query/GetELTUserAvatar
+[2026-08-02 23:19:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.007109s] /assets/fa-solid-900-IAB4Droh.woff2
+[2026-08-02 23:19:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004027s] /favicon.svg
+[2026-08-02 23:19:39,362] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:19:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.069208s] /API/Dashboard/Stats
+[2026-08-02 23:19:39,436] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:19:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.057889s] /Auth/GetUserRoles
+[2026-08-02 23:43:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.067114s] /
+[2026-08-02 23:43:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.009255s] /assets/index-DwuP2m3e.js
+[2026-08-02 23:43:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003512s] /assets/runtime-dom.esm-bundler-YxjRGSuG.js
+[2026-08-02 23:43:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005027s] /assets/useApi-CROJJdhE-mMpa5RAf.js
+[2026-08-02 23:43:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.019575s] /assets/debounce-DcxdqJyS.js
+[2026-08-02 23:43:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.007838s] /assets/serverScope-O8Rw8SFk.js
+[2026-08-02 23:43:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005556s] /assets/numbers-cik3maFd.js
+[2026-08-02 23:43:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.009554s] /assets/use-global-config-D-dPcPvU.js
+[2026-08-02 23:43:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005641s] /assets/click-outside-bcMsT2om.js
+[2026-08-02 23:43:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.008135s] /assets/omit-zqi_K1DB.js
+[2026-08-02 23:43:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005930s] /assets/button-CPx9BSuo.js
+[2026-08-02 23:43:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.006432s] /assets/vnode-SMLE-MKY.js
+[2026-08-02 23:43:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.013997s] /assets/repeat-click-BatRPHhN.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.006367s] /assets/descriptions-Cq_aE9sg.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.007065s] /assets/castArray-CpgoCob_.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004033s] /assets/checkbox-CdKclTX1.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.006080s] /assets/date-picker-CM_15T0u.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005596s] /assets/router-lhgEEoBs.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004534s] /assets/strings-B6ImqFWg.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004246s] /assets/select-C6bKVB-D.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005522s] /assets/avatar-DXM6bmhO.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.007075s] /assets/use-ordered-children-DGQ-CQup.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.006610s] /assets/card-Dj_UeWcA.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004011s] /assets/isArrayLikeObject-Bo9Xnvp4.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004883s] /assets/use-dialog-BxrOdCc2.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.008613s] /assets/tag-BSnLMVgs.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003011s] /assets/tabs-CprxXUdp.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005715s] /assets/radio-Cb0vAm4I.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.009844s] /assets/image-HD4q5QFa.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005224s] /assets/table-BMMHIZYf.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003572s] /assets/form-F--u6XQJ.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005278s] /assets/time-picker-TCWcdl6M.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004007s] /assets/alert-BpFV-0dO.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002967s] /assets/skeleton-DGDficlh.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003564s] /assets/refs-Cc5FwKWV.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005752s] /assets/col-BXlaMgkQ.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003519s] /assets/index-CHOuvNKI.css
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004319s] /assets/collapse-transition-D5PfF1iI.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.006346s] /assets/drawer-Cu-arLgK.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005118s] /assets/input-number-CiNOxXL6.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005557s] /assets/empty-CnQTxkvl.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003977s] /assets/dialog-HOUKmN79.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002328s] /assets/menu-BLdj5hCm.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005019s] /assets/steps-C4-7Ybf-.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004178s] /assets/directive-CY41a6pJ.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004671s] /assets/pagination-DjMzc_Tw.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005838s] /assets/switch-BF4Q1eKX.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003959s] /assets/tree-DqeBDBpX.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002516s] /assets/result-gkzjWpF7.js
+[2026-08-02 23:43:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003544s] /assets/progress-CJYzD9Cp.js
+[2026-08-02 23:43:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002521s] /assets/css-cyJZB4WD.css
+[2026-08-02 23:43:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002009s] /assets/css-C8-vPSoj.css
+[2026-08-02 23:43:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004025s] /assets/DefaultLayout-BRPOjqiU.js
+[2026-08-02 23:43:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005815s] /assets/css-yeo4Q6aC.js
+[2026-08-02 23:43:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002471s] /assets/css-CY4c3_XL.js
+[2026-08-02 23:43:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003059s] /assets/css-BAyktVMS.css
+[2026-08-02 23:43:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004609s] /assets/css-1VV9QMa7.css
+[2026-08-02 23:43:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003344s] /assets/css-ZSOkJyjJ.css
+[2026-08-02 23:43:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002007s] /assets/css-6qaeDme6.js
+[2026-08-02 23:43:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004227s] /assets/css-Dq8WDDkr.css
+[2026-08-02 23:43:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003573s] /assets/css-DJFxnum_.css
+[2026-08-02 23:43:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003100s] /assets/css-DsD2Typt.js
+[2026-08-02 23:43:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004018s] /assets/Dashboard-BikaeE2A.css
+[2026-08-02 23:43:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003019s] /assets/DefaultLayout-C0yp82k_.css
+[2026-08-02 23:43:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004041s] /assets/css-BEipSTAx.js
+[2026-08-02 23:43:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002549s] /assets/CompanyDetail-x1XGuNl0.css
+[2026-08-02 23:43:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002792s] /assets/favicon-CjgOoDgN.js
+[2026-08-02 23:43:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004028s] /assets/Dashboard-BDAUnF14.js
+[2026-08-02 23:43:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002626s] /assets/css-CttyGzET.js
+[2026-08-02 23:43:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003094s] /assets/css-Cy-4mdDD.js
+[2026-08-02 23:43:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003558s] /assets/app-Bd_X_OS1.js
+[2026-08-02 23:43:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003579s] /assets/css-D-a1H3t1.js
+[2026-08-02 23:43:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003035s] /favicon.svg
+[2026-08-02 23:43:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004535s] /assets/fa-solid-900-IAB4Droh.woff2
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-02 23:43:39,174] [WARNING] Unauthorized: /Auth/GetUserRoles
+[2026-08-02 23:43:39] [WARNING] [域:gerp.gvsds.com ] [401] [GET ] [111.32.65.68 ] [0.049508s] /Auth/GetUserRoles
+[2026-08-02 23:43:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003185s] /favicon.svg
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-02 23:43:39,344] [WARNING] Unauthorized: /Query/GetELTUserAvatar
+[2026-08-02 23:43:39] [WARNING] [域:gerp.gvsds.com ] [401] [GET ] [111.32.65.68 ] [0.005779s] /Query/GetELTUserAvatar
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-02 23:43:39,356] [WARNING] Unauthorized: /API/Dashboard/Stats
+[2026-08-02 23:43:39] [WARNING] [域:gerp.gvsds.com ] [401] [GET ] [111.32.65.68 ] [0.008231s] /API/Dashboard/Stats
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-02 23:43:45,189] [WARNING] Unauthorized: /Query/GetELTUserInfo
+[2026-08-02 23:43:45] [WARNING] [域:gerp.gvsds.com ] [401] [GET ] [111.32.65.68 ] [0.008064s] /Query/GetELTUserInfo
+[2026-08-02 23:43:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005515s] /assets/css-DmmbJMxg.js
+[2026-08-02 23:43:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005030s] /assets/css-CzNtyWdF.css
+[2026-08-02 23:43:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004281s] /assets/Login-Bz_ZuhmP.js
+[2026-08-02 23:43:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003520s] /assets/css-49fsIjk3.js
+[2026-08-02 23:43:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002456s] /assets/Login-Cx6fJYVq.css
+[2026-08-02 23:43:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003580s] /assets/css-DMLZMbB9.js
+[2026-08-02 23:43:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004786s] /assets/css-BtQxgKdl.css
+[2026-08-02 23:43:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005037s] /assets/css-BrTRgFS7.css
+[2026-08-02 23:44:11] [INFO ] [域:gerp.gvsds.com ] [200] [POST] [111.32.65.68 ] [0.437929s] /Auth/Login
+[2026-08-02 23:44:11,876] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:11] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.023058s] /Query/GetELTUserInfo
+[2026-08-02 23:44:12,236] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.064274s] /API/MenuList
+[2026-08-02 23:44:13,102] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:13] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.030139s] /Auth/GetUserRoles
+[2026-08-02 23:44:13,587] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:13] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.019417s] /Query/GetELTUserAvatar
+[2026-08-02 23:44:13,612] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:13] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.027605s] /Auth/GetUserRoles
+[2026-08-02 23:44:13,644] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:13] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.036262s] /API/Dashboard/Stats
+[2026-08-02 23:44:17,687] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:17] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.026552s] /Auth/GetUserRoles
+[2026-08-02 23:44:39,261] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.048392s] /API/Dashboard/Stats
+[2026-08-02 23:44:39,308] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.036335s] /API/Dashboard/Stats
+[2026-08-02 23:44:39,341] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.034009s] /API/Dashboard/Stats
+[2026-08-02 23:44:39,379] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032326s] /API/Dashboard/Stats
+[2026-08-02 23:44:39,439] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032154s] /API/Dashboard/Stats
+[2026-08-02 23:44:39,479] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.037969s] /API/Dashboard/Stats
+[2026-08-02 23:44:39,519] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.039142s] /API/Dashboard/Stats
+[2026-08-02 23:44:39,560] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032495s] /API/Dashboard/Stats
+[2026-08-02 23:44:39,599] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.029957s] /API/Dashboard/Stats
+[2026-08-02 23:44:39,632] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.023558s] /API/Dashboard/Stats
+[2026-08-02 23:44:39,875] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.037594s] /API/Dashboard/Stats
+[2026-08-02 23:44:39,914] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032471s] /API/Dashboard/Stats
+[2026-08-02 23:44:40,166] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:40] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.037029s] /API/Dashboard/Stats
+[2026-08-02 23:44:40,209] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:40] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.036602s] /API/Dashboard/Stats
+[2026-08-02 23:44:40,250] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:40] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.034382s] /API/Dashboard/Stats
+[2026-08-02 23:44:40,291] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:40] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.039600s] /API/Dashboard/Stats
+[2026-08-02 23:44:40,336] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:40] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.045112s] /API/Dashboard/Stats
+[2026-08-02 23:44:40,384] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:40] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.037297s] /API/Dashboard/Stats
+[2026-08-02 23:44:40,429] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:40] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.049159s] /API/Dashboard/Stats
+[2026-08-02 23:44:40,491] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:40] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.045696s] /API/Dashboard/Stats
+[2026-08-02 23:44:40,547] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:40] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.057318s] /API/Dashboard/Stats
+[2026-08-02 23:44:40,619] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:40] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.045158s] /API/Dashboard/Stats
+[2026-08-02 23:44:40,666] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:40] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.037617s] /API/Dashboard/Stats
+[2026-08-02 23:44:40,709] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:40] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.056338s] /API/Dashboard/Stats
+[2026-08-02 23:44:40,772] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:40] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.035905s] /API/Dashboard/Stats
+[2026-08-02 23:44:40,822] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:40] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.038255s] /API/Dashboard/Stats
+[2026-08-02 23:44:40,867] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:40] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.040775s] /API/Dashboard/Stats
+[2026-08-02 23:44:40,909] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:40] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.039528s] /API/Dashboard/Stats
+[2026-08-02 23:44:40,951] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:40] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.040053s] /API/Dashboard/Stats
+[2026-08-02 23:44:40,998] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.037640s] /API/Dashboard/Stats
+[2026-08-02 23:44:41,044] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.039859s] /API/Dashboard/Stats
+[2026-08-02 23:44:41,081] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.034677s] /API/Dashboard/Stats
+[2026-08-02 23:44:41,123] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.035053s] /API/Dashboard/Stats
+[2026-08-02 23:44:41,165] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.031324s] /API/Dashboard/Stats
+[2026-08-02 23:44:41,196] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.029239s] /API/Dashboard/Stats
+[2026-08-02 23:44:41,232] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.037990s] /API/Dashboard/Stats
+[2026-08-02 23:44:41,276] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.039348s] /API/Dashboard/Stats
+[2026-08-02 23:44:41,318] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.030174s] /API/Dashboard/Stats
+[2026-08-02 23:44:41,355] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.033148s] /API/Dashboard/Stats
+[2026-08-02 23:44:41,393] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.034483s] /API/Dashboard/Stats
+[2026-08-02 23:44:41,429] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.048541s] /API/Dashboard/Stats
+[2026-08-02 23:44:41,482] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.034212s] /API/Dashboard/Stats
+[2026-08-02 23:44:41,523] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.035214s] /API/Dashboard/Stats
+[2026-08-02 23:44:41,563] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.033075s] /API/Dashboard/Stats
+[2026-08-02 23:44:41,598] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.030697s] /API/Dashboard/Stats
+[2026-08-02 23:44:42,564] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.952176s] /API/Dashboard/Stats
+[2026-08-02 23:44:42,591] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.027992s] /API/Dashboard/Stats
+[2026-08-02 23:44:42,624] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.030131s] /API/Dashboard/Stats
+[2026-08-02 23:44:42,655] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.030059s] /API/Dashboard/Stats
+[2026-08-02 23:44:42,697] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.040105s] /API/Dashboard/Stats
+[2026-08-02 23:44:42,744] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.033735s] /API/Dashboard/Stats
+[2026-08-02 23:44:42,786] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.061264s] /API/Dashboard/Stats
+[2026-08-02 23:44:42,847] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025151s] /API/Dashboard/Stats
+[2026-08-02 23:44:42,876] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.034173s] /API/Dashboard/Stats
+[2026-08-02 23:44:42,919] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.030537s] /API/Dashboard/Stats
+[2026-08-02 23:44:42,949] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.022433s] /API/Dashboard/Stats
+[2026-08-02 23:44:42,976] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.019909s] /API/Dashboard/Stats
+[2026-08-02 23:44:42,999] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.023845s] /API/Dashboard/Stats
+[2026-08-02 23:44:43,027] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.026668s] /API/Dashboard/Stats
+[2026-08-02 23:44:43,068] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.040287s] /API/Dashboard/Stats
+[2026-08-02 23:44:43,102] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025691s] /API/Dashboard/Stats
+[2026-08-02 23:44:43,131] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025966s] /API/Dashboard/Stats
+[2026-08-02 23:44:43,162] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.023226s] /API/Dashboard/Stats
+[2026-08-02 23:44:43,189] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025708s] /API/Dashboard/Stats
+[2026-08-02 23:44:43,217] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.027141s] /API/Dashboard/Stats
+[2026-08-02 23:44:43,247] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.023341s] /API/Dashboard/Stats
+[2026-08-02 23:44:43,276] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.024799s] /API/Dashboard/Stats
+[2026-08-02 23:44:43,304] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028795s] /API/Dashboard/Stats
+[2026-08-02 23:44:43,335] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.022713s] /API/Dashboard/Stats
+[2026-08-02 23:44:43,364] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.023559s] /API/Dashboard/Stats
+[2026-08-02 23:44:43,395] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.027037s] /API/Dashboard/Stats
+[2026-08-02 23:44:43,421] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.023316s] /API/Dashboard/Stats
+[2026-08-02 23:44:43,449] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.027472s] /API/Dashboard/Stats
+[2026-08-02 23:44:43,511] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.053988s] /API/Dashboard/Stats
+[2026-08-02 23:44:43,541] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028808s] /API/Dashboard/Stats
+[2026-08-02 23:44:43,570] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032533s] /API/Dashboard/Stats
+[2026-08-02 23:44:43,610] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.029843s] /API/Dashboard/Stats
+[2026-08-02 23:44:43,644] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.030000s] /API/Dashboard/Stats
+[2026-08-02 23:44:43,675] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.026911s] /API/Dashboard/Stats
+[2026-08-02 23:44:43,709] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.029792s] /API/Dashboard/Stats
+[2026-08-02 23:44:43,743] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.027588s] /API/Dashboard/Stats
+[2026-08-02 23:44:43,777] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.027665s] /API/Dashboard/Stats
+[2026-08-02 23:44:43,807] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025725s] /API/Dashboard/Stats
+[2026-08-02 23:44:43,841] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028532s] /API/Dashboard/Stats
+[2026-08-02 23:44:43,872] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025890s] /API/Dashboard/Stats
+[2026-08-02 23:44:43,902] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.023446s] /API/Dashboard/Stats
+[2026-08-02 23:44:43,928] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028240s] /API/Dashboard/Stats
+[2026-08-02 23:44:43,961] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.029967s] /API/Dashboard/Stats
+[2026-08-02 23:44:43,996] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.029206s] /API/Dashboard/Stats
+[2026-08-02 23:44:44,029] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.043559s] /API/Dashboard/Stats
+[2026-08-02 23:44:44,084] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.039917s] /API/Dashboard/Stats
+[2026-08-02 23:44:44,129] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.037184s] /API/Dashboard/Stats
+[2026-08-02 23:44:44,169] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.034053s] /API/Dashboard/Stats
+[2026-08-02 23:44:44,210] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032784s] /API/Dashboard/Stats
+[2026-08-02 23:44:44,247] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.031825s] /API/Dashboard/Stats
+[2026-08-02 23:44:44,282] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.029949s] /API/Dashboard/Stats
+[2026-08-02 23:44:44,315] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.037239s] /API/Dashboard/Stats
+[2026-08-02 23:44:44,356] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.036567s] /API/Dashboard/Stats
+[2026-08-02 23:44:44,399] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.034480s] /API/Dashboard/Stats
+[2026-08-02 23:44:44,436] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.027683s] /API/Dashboard/Stats
+[2026-08-02 23:44:44,469] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032136s] /API/Dashboard/Stats
+[2026-08-02 23:44:44,508] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032107s] /API/Dashboard/Stats
+[2026-08-02 23:44:44,542] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.031567s] /API/Dashboard/Stats
+[2026-08-02 23:44:44,578] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.024901s] /API/Dashboard/Stats
+[2026-08-02 23:44:44,606] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.023293s] /API/Dashboard/Stats
+[2026-08-02 23:44:44,636] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028668s] /API/Dashboard/Stats
+[2026-08-02 23:44:44,666] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025968s] /API/Dashboard/Stats
+[2026-08-02 23:44:44,697] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.023051s] /API/Dashboard/Stats
+[2026-08-02 23:44:44,725] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.022241s] /API/Dashboard/Stats
+[2026-08-02 23:44:44,752] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.023386s] /API/Dashboard/Stats
+[2026-08-02 23:44:44,777] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.022819s] /API/Dashboard/Stats
+[2026-08-02 23:44:44,804] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.021253s] /API/Dashboard/Stats
+[2026-08-02 23:44:44,829] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.021957s] /API/Dashboard/Stats
+[2026-08-02 23:44:44,854] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.021796s] /API/Dashboard/Stats
+[2026-08-02 23:44:44,879] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.030334s] /API/Dashboard/Stats
+[2026-08-02 23:44:44,915] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.026294s] /API/Dashboard/Stats
+[2026-08-02 23:44:44,944] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025417s] /API/Dashboard/Stats
+[2026-08-02 23:44:44,973] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:44] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028721s] /API/Dashboard/Stats
+[2026-08-02 23:44:45,005] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025422s] /API/Dashboard/Stats
+[2026-08-02 23:44:45,033] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025033s] /API/Dashboard/Stats
+[2026-08-02 23:44:45,061] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.026660s] /API/Dashboard/Stats
+[2026-08-02 23:44:45,091] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.022174s] /API/Dashboard/Stats
+[2026-08-02 23:44:45,116] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.023081s] /API/Dashboard/Stats
+[2026-08-02 23:44:45,143] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.033212s] /API/Dashboard/Stats
+[2026-08-02 23:44:45,182] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.030000s] /API/Dashboard/Stats
+[2026-08-02 23:44:45,214] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.023449s] /API/Dashboard/Stats
+[2026-08-02 23:44:45,242] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.023480s] /API/Dashboard/Stats
+[2026-08-02 23:44:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004010s] /assets/NotFound-_zjM8TYv.css
+[2026-08-02 23:44:45,334] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.026100s] /API/Dashboard/Stats
+[2026-08-02 23:44:45,486] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.027479s] /API/Dashboard/Stats
+[2026-08-02 23:44:45,515] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.021980s] /API/Dashboard/Stats
+[2026-08-02 23:44:45,541] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.023319s] /API/Dashboard/Stats
+[2026-08-02 23:44:45,566] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.022367s] /API/Dashboard/Stats
+[2026-08-02 23:44:45,593] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.023341s] /API/Dashboard/Stats
+[2026-08-02 23:44:45,619] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.027415s] /API/Dashboard/Stats
+[2026-08-02 23:44:45,654] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.030000s] /API/Dashboard/Stats
+[2026-08-02 23:44:45,685] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.020909s] /API/Dashboard/Stats
+[2026-08-02 23:44:45,706] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.021262s] /API/Dashboard/Stats
+[2026-08-02 23:44:45,728] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.024772s] /API/Dashboard/Stats
+[2026-08-02 23:44:45,757] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.022252s] /API/Dashboard/Stats
+[2026-08-02 23:44:45,787] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.023625s] /API/Dashboard/Stats
+[2026-08-02 23:44:45,812] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.022316s] /API/Dashboard/Stats
+[2026-08-02 23:44:45,837] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.024632s] /API/Dashboard/Stats
+[2026-08-02 23:44:45,866] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.020346s] /API/Dashboard/Stats
+[2026-08-02 23:44:45,892] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.022503s] /API/Dashboard/Stats
+[2026-08-02 23:44:45,918] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.022129s] /API/Dashboard/Stats
+[2026-08-02 23:44:45,944] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025129s] /API/Dashboard/Stats
+[2026-08-02 23:44:45,969] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.027935s] /API/Dashboard/Stats
+[2026-08-02 23:44:46,001] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025276s] /API/Dashboard/Stats
+[2026-08-02 23:44:46,029] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.022745s] /API/Dashboard/Stats
+[2026-08-02 23:44:46,054] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.020601s] /API/Dashboard/Stats
+[2026-08-02 23:44:46,079] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.029027s] /API/Dashboard/Stats
+[2026-08-02 23:44:46,110] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.020414s] /API/Dashboard/Stats
+[2026-08-02 23:44:46,134] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.020266s] /API/Dashboard/Stats
+[2026-08-02 23:44:46,158] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.024453s] /API/Dashboard/Stats
+[2026-08-02 23:44:46,187] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.022755s] /API/Dashboard/Stats
+[2026-08-02 23:44:46,212] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.019957s] /API/Dashboard/Stats
+[2026-08-02 23:44:46,235] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.020436s] /API/Dashboard/Stats
+[2026-08-02 23:44:46,259] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.021044s] /API/Dashboard/Stats
+[2026-08-02 23:44:46,285] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.027117s] /API/Dashboard/Stats
+[2026-08-02 23:44:46,317] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.030302s] /API/Dashboard/Stats
+[2026-08-02 23:44:46,358] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.058082s] /API/Dashboard/Stats
+[2026-08-02 23:44:46,422] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.040893s] /API/Dashboard/Stats
+[2026-08-02 23:44:46,465] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.040501s] /API/Dashboard/Stats
+[2026-08-02 23:44:46,507] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032333s] /API/Dashboard/Stats
+[2026-08-02 23:44:46,545] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032678s] /API/Dashboard/Stats
+[2026-08-02 23:44:46,578] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.036180s] /API/Dashboard/Stats
+[2026-08-02 23:44:46,619] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.036206s] /API/Dashboard/Stats
+[2026-08-02 23:44:46,658] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.030401s] /API/Dashboard/Stats
+[2026-08-02 23:44:46,692] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.030007s] /API/Dashboard/Stats
+[2026-08-02 23:44:46,727] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.034221s] /API/Dashboard/Stats
+[2026-08-02 23:44:46,764] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.026838s] /API/Dashboard/Stats
+[2026-08-02 23:44:46,795] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028678s] /API/Dashboard/Stats
+[2026-08-02 23:44:46,833] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032661s] /API/Dashboard/Stats
+[2026-08-02 23:44:46,862] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.024843s] /API/Dashboard/Stats
+[2026-08-02 23:44:46,892] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.026049s] /API/Dashboard/Stats
+[2026-08-02 23:44:46,921] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.033075s] /API/Dashboard/Stats
+[2026-08-02 23:44:46,958] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025957s] /API/Dashboard/Stats
+[2026-08-02 23:44:46,987] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.026583s] /API/Dashboard/Stats
+[2026-08-02 23:44:47,020] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.035663s] /API/Dashboard/Stats
+[2026-08-02 23:44:47,057] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028090s] /API/Dashboard/Stats
+[2026-08-02 23:44:47,088] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025595s] /API/Dashboard/Stats
+[2026-08-02 23:44:47,119] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028678s] /API/Dashboard/Stats
+[2026-08-02 23:44:47,153] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028306s] /API/Dashboard/Stats
+[2026-08-02 23:44:47,183] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025034s] /API/Dashboard/Stats
+[2026-08-02 23:44:47,219] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.039397s] /API/Dashboard/Stats
+[2026-08-02 23:44:47,257] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.030484s] /API/Dashboard/Stats
+[2026-08-02 23:44:47,290] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.029015s] /API/Dashboard/Stats
+[2026-08-02 23:44:47,322] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025785s] /API/Dashboard/Stats
+[2026-08-02 23:44:47,354] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.031826s] /API/Dashboard/Stats
+[2026-08-02 23:44:47,389] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025033s] /API/Dashboard/Stats
+[2026-08-02 23:44:47,418] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.026794s] /API/Dashboard/Stats
+[2026-08-02 23:44:47,450] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.053046s] /API/Dashboard/Stats
+[2026-08-02 23:44:47,560] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.097632s] /API/Dashboard/Stats
+[2026-08-02 23:44:47,650] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.038407s] /API/Dashboard/Stats
+[2026-08-02 23:44:47,695] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.041355s] /API/Dashboard/Stats
+[2026-08-02 23:44:47,740] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.038073s] /API/Dashboard/Stats
+[2026-08-02 23:44:47,793] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.035772s] /API/Dashboard/Stats
+[2026-08-02 23:44:47,830] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.029918s] /API/Dashboard/Stats
+[2026-08-02 23:44:47,863] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.031143s] /API/Dashboard/Stats
+[2026-08-02 23:44:47,898] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.030107s] /API/Dashboard/Stats
+[2026-08-02 23:44:47,933] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028771s] /API/Dashboard/Stats
+[2026-08-02 23:44:47,963] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.030090s] /API/Dashboard/Stats
+[2026-08-02 23:44:48,000] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.026597s] /API/Dashboard/Stats
+[2026-08-02 23:44:48,033] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.030018s] /API/Dashboard/Stats
+[2026-08-02 23:44:48,070] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032579s] /API/Dashboard/Stats
+[2026-08-02 23:44:48,101] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.030224s] /API/Dashboard/Stats
+[2026-08-02 23:44:48,134] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.027041s] /API/Dashboard/Stats
+[2026-08-02 23:44:48,165] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.031146s] /API/Dashboard/Stats
+[2026-08-02 23:44:48,200] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032029s] /API/Dashboard/Stats
+[2026-08-02 23:44:48,234] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.036017s] /API/Dashboard/Stats
+[2026-08-02 23:44:48,273] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.034268s] /API/Dashboard/Stats
+[2026-08-02 23:44:48,310] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.026847s] /API/Dashboard/Stats
+[2026-08-02 23:44:48,339] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025771s] /API/Dashboard/Stats
+[2026-08-02 23:44:48,383] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025715s] /API/Dashboard/Stats
+[2026-08-02 23:44:48,412] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.030848s] /API/Dashboard/Stats
+[2026-08-02 23:44:48,449] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.030887s] /API/Dashboard/Stats
+[2026-08-02 23:44:48,480] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.029347s] /API/Dashboard/Stats
+[2026-08-02 23:44:48,517] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.037706s] /API/Dashboard/Stats
+[2026-08-02 23:44:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005908s] /assets/NotFound-k9CGTX-B.js
+[2026-08-02 23:44:48,577] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.040018s] /API/Dashboard/Stats
+[2026-08-02 23:44:48,616] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.034825s] /API/Dashboard/Stats
+[2026-08-02 23:44:48,655] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.038533s] /API/Dashboard/Stats
+[2026-08-02 23:44:48,703] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.030672s] /API/Dashboard/Stats
+[2026-08-02 23:44:48,738] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.029621s] /API/Dashboard/Stats
+[2026-08-02 23:44:48,773] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032187s] /API/Dashboard/Stats
+[2026-08-02 23:44:48,843] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032956s] /API/Dashboard/Stats
+[2026-08-02 23:44:48,887] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032829s] /API/Dashboard/Stats
+[2026-08-02 23:44:48,921] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032271s] /API/Dashboard/Stats
+[2026-08-02 23:44:48,958] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.033303s] /API/Dashboard/Stats
+[2026-08-02 23:44:49,003] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.069468s] /API/Dashboard/Stats
+[2026-08-02 23:44:49,075] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.036544s] /API/Dashboard/Stats
+[2026-08-02 23:44:49,115] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.034244s] /API/Dashboard/Stats
+[2026-08-02 23:44:49,150] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.031696s] /API/Dashboard/Stats
+[2026-08-02 23:44:49,186] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028999s] /API/Dashboard/Stats
+[2026-08-02 23:44:49,228] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.035802s] /API/Dashboard/Stats
+[2026-08-02 23:44:49,262] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032649s] /API/Dashboard/Stats
+[2026-08-02 23:44:49,298] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028849s] /API/Dashboard/Stats
+[2026-08-02 23:44:49,336] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.048219s] /API/Dashboard/Stats
+[2026-08-02 23:44:49,387] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.035268s] /API/Dashboard/Stats
+[2026-08-02 23:44:49,425] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032391s] /API/Dashboard/Stats
+[2026-08-02 23:44:49,462] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032225s] /API/Dashboard/Stats
+[2026-08-02 23:44:49,499] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.040904s] /API/Dashboard/Stats
+[2026-08-02 23:44:49,545] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.029747s] /API/Dashboard/Stats
+[2026-08-02 23:44:49,575] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025998s] /API/Dashboard/Stats
+[2026-08-02 23:44:49,607] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.029762s] /API/Dashboard/Stats
+[2026-08-02 23:44:49,643] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.035499s] /API/Dashboard/Stats
+[2026-08-02 23:44:49,680] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.041110s] /API/Dashboard/Stats
+[2026-08-02 23:44:49,731] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.032906s] /API/Dashboard/Stats
+[2026-08-02 23:44:49,769] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.030252s] /API/Dashboard/Stats
+[2026-08-02 23:44:49,801] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028415s] /API/Dashboard/Stats
+[2026-08-02 23:44:49,832] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:44:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.025762s] /API/Dashboard/Stats
+[2026-08-02 23:44:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.006002s] /assets/css-DExoAqKP.css
+[2026-08-02 23:44:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003113s] /assets/Orders-DtYBcpln.js
+[2026-08-02 23:44:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004272s] /assets/AdminBadge-B-j0OYky.css
+[2026-08-02 23:44:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004669s] /assets/css-OVWuLPuT.css
+[2026-08-02 23:44:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004055s] /assets/css-B7gvwdWB.css
+[2026-08-02 23:44:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004041s] /assets/css-DUbGnqO_.css
+[2026-08-02 23:44:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003572s] /assets/AdminBadge-Z72F8Boy.js
+[2026-08-02 23:44:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004064s] /assets/css-BLJI5-W_.js
+[2026-08-02 23:44:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003876s] /assets/css-DMOjom7l.js
+[2026-08-02 23:44:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004274s] /assets/css-w8-s2aei.js
+[2026-08-02 23:44:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003543s] /assets/css-ByqxgOA-.js
+[2026-08-02 23:44:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002715s] /assets/css-Dmy6QwIc.js
+[2026-08-02 23:44:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004845s] /assets/CrudTable-D4-BOvxj.js
+[2026-08-02 23:44:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002709s] /assets/css-Wv38huFO.css
+[2026-08-02 23:44:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.007600s] /assets/css-4sOBTGxz.css
+[2026-08-02 23:44:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003818s] /assets/css-CM8IHeeM.js
+[2026-08-02 23:44:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003993s] /assets/css-BNmWJdpO.css
+[2026-08-02 23:44:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002814s] /assets/css-fhPIiYtD.js
+[2026-08-02 23:44:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003577s] /assets/css-hrelhGmJ.css
+[2026-08-02 23:44:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003238s] /assets/form-wsJq08Io.js
+[2026-08-02 23:44:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003519s] /assets/Orders-DLa-h2zy.css
+[2026-08-02 23:44:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003153s] /assets/css-0wcCNliC.js
+[2026-08-02 23:44:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003680s] /assets/CrudTable-DK-IJ6GQ.css
+[2026-08-02 23:44:57] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004520s] /
+[2026-08-02 23:55:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.043407s] /
+[2026-08-02 23:55:25] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.013755s] /assets/index-DqyR0-_q.js
+[2026-08-02 23:55:25] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.007718s] /assets/use-global-config-D-dPcPvU.js
+[2026-08-02 23:55:25] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005022s] /assets/serverScope-O8Rw8SFk.js
+[2026-08-02 23:55:25] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005590s] /assets/runtime-dom.esm-bundler-YxjRGSuG.js
+[2026-08-02 23:55:25] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.006550s] /assets/useApi-CROJJdhE-mMpa5RAf.js
+[2026-08-02 23:55:25] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002509s] /assets/numbers-cik3maFd.js
+[2026-08-02 23:55:25] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001815s] /assets/debounce-DcxdqJyS.js
+[2026-08-02 23:55:25] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005903s] /assets/click-outside-bcMsT2om.js
+[2026-08-02 23:55:25] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003049s] /assets/omit-zqi_K1DB.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003053s] /assets/vnode-SMLE-MKY.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003199s] /assets/button-CPx9BSuo.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003437s] /assets/date-picker-CM_15T0u.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002624s] /assets/router-BZhP6IDQ.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003021s] /assets/descriptions-Cq_aE9sg.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002529s] /assets/repeat-click-BatRPHhN.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002716s] /assets/table-CHVYWwjg.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002051s] /assets/castArray-CpgoCob_.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004089s] /assets/tag-BSnLMVgs.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003403s] /assets/strings-B6ImqFWg.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003149s] /assets/select-CVMQcbXJ.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003838s] /assets/form-F--u6XQJ.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002766s] /assets/alert-BpFV-0dO.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003059s] /assets/isArrayLikeObject-Bo9Xnvp4.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005139s] /assets/time-picker-DrmXNOOO.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003186s] /assets/checkbox-CdKclTX1.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002620s] /assets/use-ordered-children-DGQ-CQup.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002742s] /assets/skeleton-DGDficlh.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003509s] /assets/image-HD4q5QFa.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003581s] /assets/avatar-DXM6bmhO.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005253s] /assets/tabs-DWrDF5Um.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004287s] /assets/drawer-Cu-arLgK.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002631s] /assets/use-dialog-BxrOdCc2.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002079s] /assets/refs-Cc5FwKWV.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003749s] /assets/pagination-CPaFnzZw.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003725s] /assets/steps-C4-7Ybf-.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002762s] /assets/card-Dj_UeWcA.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003116s] /assets/col-BXlaMgkQ.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003235s] /assets/radio-Cb0vAm4I.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.006088s] /assets/index-CHOuvNKI.css
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003141s] /assets/switch-DdHBelVN.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002638s] /assets/menu-BLdj5hCm.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003514s] /assets/collapse-transition-D5PfF1iI.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002893s] /assets/input-number-CiNOxXL6.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003857s] /assets/empty-CnQTxkvl.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002645s] /assets/dialog-0G0GCuDJ.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003132s] /assets/directive-CY41a6pJ.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001513s] /assets/tree-DqeBDBpX.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002532s] /assets/result-gkzjWpF7.js
+[2026-08-02 23:55:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003423s] /assets/progress-CJYzD9Cp.js
+[2026-08-02 23:55:30] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002018s] /assets/css-CY4c3_XL.js
+[2026-08-02 23:55:30] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003062s] /assets/css-C8-vPSoj.css
+[2026-08-02 23:55:30] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.005030s] /assets/DefaultLayout-B0V58MSG.js
+[2026-08-02 23:55:31] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003528s] /assets/css-cyJZB4WD.css
+[2026-08-02 23:55:31] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003024s] /assets/CompanyDetail-x1XGuNl0.css
+[2026-08-02 23:55:31] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002458s] /assets/css-ZSOkJyjJ.css
+[2026-08-02 23:55:31] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003208s] /assets/css-1VV9QMa7.css
+[2026-08-02 23:55:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003119s] /assets/css-DJFxnum_.css
+[2026-08-02 23:55:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003408s] /assets/css-Dq8WDDkr.css
+[2026-08-02 23:55:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002649s] /assets/DefaultLayout-C0yp82k_.css
+[2026-08-02 23:55:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003297s] /assets/css-BAyktVMS.css
+[2026-08-02 23:55:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004107s] /assets/Dashboard-BikaeE2A.css
+[2026-08-02 23:55:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003526s] /assets/css-yeo4Q6aC.js
+[2026-08-02 23:55:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002732s] /assets/css-DsD2Typt.js
+[2026-08-02 23:55:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003252s] /assets/css-BEipSTAx.js
+[2026-08-02 23:55:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002098s] /assets/css-6qaeDme6.js
+[2026-08-02 23:55:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003137s] /assets/css-CttyGzET.js
+[2026-08-02 23:55:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003178s] /assets/favicon-CjgOoDgN.js
+[2026-08-02 23:55:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003383s] /assets/css-Cy-4mdDD.js
+[2026-08-02 23:55:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004030s] /assets/app-CDmCwDrK.js
+[2026-08-02 23:55:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003517s] /assets/Dashboard-C7n3oIbk.js
+[2026-08-02 23:55:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003732s] /favicon.svg
+[2026-08-02 23:55:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.002517s] /assets/css-D-a1H3t1.js
+[2026-08-02 23:55:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003764s] /assets/fa-solid-900-IAB4Droh.woff2
+[2026-08-02 23:55:35,405] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:55:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.084119s] /Query/GetELTUserAvatar
+[2026-08-02 23:55:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.001529s] /favicon.svg
+[2026-08-02 23:55:35,513] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:55:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.034901s] /API/Dashboard/Stats
+[2026-08-02 23:55:35,548] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:55:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.038036s] /Auth/GetUserRoles
+[2026-08-02 23:55:50,113] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:55:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.028111s] /Auth/GetUserRoles
+[2026-08-02 23:55:51,467] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-02 23:55:51] [INFO ] [域:gerp.gvsds.com ] [200] [POST] [111.32.65.68 ] [0.042736s] /Auth/SwitchRole
+[2026-08-02 23:55:51,742] [INFO] [ResolveRoleContext] cookie=ff9857fe-8ddc-48b6-9056-a645efa766db, role=枢机协律玩家, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=ef67bb82-a590-402e-a893-81ae6127fb08
+[2026-08-02 23:55:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.014190s] /Query/GetELTUserInfo
+[2026-08-02 23:55:52,199] [INFO] [ResolveRoleContext] cookie=ff9857fe-8ddc-48b6-9056-a645efa766db, role=枢机协律玩家, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=ef67bb82-a590-402e-a893-81ae6127fb08
+[2026-08-02 23:55:52] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.078485s] /API/MenuList
+[2026-08-02 23:55:52,669] [INFO] [ResolveRoleContext] cookie=ff9857fe-8ddc-48b6-9056-a645efa766db, role=枢机协律玩家, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=ef67bb82-a590-402e-a893-81ae6127fb08
+[2026-08-02 23:55:52] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.024504s] /Auth/GetUserRoles
+[2026-08-02 23:55:54] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.003044s] /assets/LegacyPage-B0rqaVN_.js
+[2026-08-02 23:55:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.68 ] [0.004424s] /assets/LegacyPage-CHyzjLyy.css
+[2026-08-02 23:55:55,460] [ERROR] [gerp.gvsds.com] [500] [GET] [127.0.0.1] /pages/private/CreateE/wallet.html
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-02 23:55:55,507] [WARNING] Not Found: /pages/private/CreateE/wallet.html
+[2026-08-02 23:55:55] [WARNING] [域:gerp.gvsds.com ] [404] [GET ] [111.32.65.68 ] [0.061249s] /pages/private/CreateE/wallet.html
+[2026-08-02 23:55:57,581] [ERROR] [gerp.gvsds.com] [500] [GET] [127.0.0.1] /pages/private/CreateE/enterprise.html
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-02 23:55:57,584] [WARNING] Not Found: /pages/private/CreateE/enterprise.html
+[2026-08-02 23:55:57] [WARNING] [域:gerp.gvsds.com ] [404] [GET ] [111.32.65.68 ] [0.007974s] /pages/private/CreateE/enterprise.html
+[2026-08-02 23:55:57,592] [ERROR] [gerp.gvsds.com] [500] [GET] [127.0.0.1] /pages/private/CreateE/enterprise.html
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-02 23:55:57,593] [WARNING] Not Found: /pages/private/CreateE/enterprise.html
+[2026-08-02 23:55:57] [WARNING] [域:gerp.gvsds.com ] [404] [GET ] [111.32.65.68 ] [0.006574s] /pages/private/CreateE/enterprise.html
+[2026-08-02 23:55:58,926] [ERROR] [gerp.gvsds.com] [500] [GET] [127.0.0.1] /pages/private/CreateE/wallet.html
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-02 23:55:58,929] [WARNING] Not Found: /pages/private/CreateE/wallet.html
+[2026-08-02 23:55:58] [WARNING] [域:gerp.gvsds.com ] [404] [GET ] [111.32.65.68 ] [0.006037s] /pages/private/CreateE/wallet.html
+[2026-08-02 23:55:58,936] [ERROR] [gerp.gvsds.com] [500] [GET] [127.0.0.1] /pages/private/CreateE/wallet.html
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-02 23:55:58,938] [WARNING] Not Found: /pages/private/CreateE/wallet.html
+[2026-08-02 23:55:58] [WARNING] [域:gerp.gvsds.com ] [404] [GET ] [111.32.65.68 ] [0.006659s] /pages/private/CreateE/wallet.html
+[2026-08-02 23:57:06] [INFO ] [域:cdn.gvsds.com ] [200] [GET ] [103.236.88.31 ] [0.019344s] /
+[2026-08-02 23:57:58,015] [ERROR] [gerp.gvsds.com] [500] [GET] [127.0.0.1] /pages/private/CreateE/wallet.html
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-02 23:57:58,030] [WARNING] Not Found: /pages/private/CreateE/wallet.html
+[2026-08-02 23:57:58] [WARNING] [域:gerp.gvsds.com ] [404] [GET ] [111.32.65.68 ] [0.029577s] /pages/private/CreateE/wallet.html
+[2026-08-02 23:57:58,055] [ERROR] [gerp.gvsds.com] [500] [GET] [127.0.0.1] /pages/private/CreateE/wallet.html
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-02 23:57:58,058] [WARNING] Not Found: /pages/private/CreateE/wallet.html
+[2026-08-02 23:57:58] [WARNING] [域:gerp.gvsds.com ] [404] [GET ] [111.32.65.68 ] [0.021252s] /pages/private/CreateE/wallet.html
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 1111, in handle_one_response
+ self.run_application()
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 1058, in run_application
+ self.process_result()
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 1044, in process_result
+ self.write(data)
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 892, in write
+ self._write_with_headers(data)
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 913, in _write_with_headers
+ self._write(data)
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 875, in _write
+ self._sendall(data)
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 849, in _sendall
+ self.socket.sendall(data)
+ File "D:\Python312\Lib\site-packages\gevent\ssl.py", line 597, in sendall
+ return socket.sendall(self, data, flags)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\gevent\_socketcommon.py", line 693, in sendall
+ return _sendall(self, data_memory, flags)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\gevent\_socketcommon.py", line 382, in _sendall
+ timeleft = __send_chunk(socket, chunk, flags, timeleft, end)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\gevent\_socketcommon.py", line 311, in __send_chunk
+ data_sent += socket.send(chunk, flags)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\gevent\ssl.py", line 561, in send
+ return self._sslobj.write(data)
+ ^^^^^^^^^^^^^^^^^^^^^^^^
+ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:2406)
+2026-08-02T15:57:58Z {'REMOTE_ADDR': '127.0.0.1', 'REMOTE_PORT': '60068', 'HTTP_HOST': 'gerp.gvsds.com', (hidden keys: 39)} failed with SSLEOFError
+
+[2026-08-02 23:57:58,331] [ERROR] [gerp.gvsds.com] [500] [GET] [127.0.0.1] /pages/private/CreateE/enterprise.html
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-02 23:57:58,333] [WARNING] Not Found: /pages/private/CreateE/enterprise.html
+[2026-08-02 23:57:58] [WARNING] [域:gerp.gvsds.com ] [404] [GET ] [111.32.65.68 ] [0.006719s] /pages/private/CreateE/enterprise.html
+[2026-08-02 23:57:59,158] [ERROR] [gerp.gvsds.com] [500] [GET] [127.0.0.1] /pages/private/CreateE/wallet.html
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-02 23:57:59,163] [WARNING] Not Found: /pages/private/CreateE/wallet.html
+[2026-08-02 23:57:59] [WARNING] [域:gerp.gvsds.com ] [404] [GET ] [111.32.65.68 ] [0.008813s] /pages/private/CreateE/wallet.html
+[2026-08-02 23:57:59,256] [ERROR] [gerp.gvsds.com] [500] [GET] [127.0.0.1] /pages/private/CreateE/wallet.html
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-02 23:57:59,258] [WARNING] Not Found: /pages/private/CreateE/wallet.html
+[2026-08-02 23:57:59] [WARNING] [域:gerp.gvsds.com ] [404] [GET ] [111.32.65.68 ] [0.010578s] /pages/private/CreateE/wallet.html
+[2026-08-03 00:08:48] [INFO ] [域:www.gvsds.com ] [200] [GET ] [117.136.55.18 ] [0.056702s] /assets/hlogos/logo.jpg
+[2026-08-03 00:09:01] [INFO ] [域:www.gvsds.com ] [200] [GET ] [52.167.144.172 ] [0.026856s] /login.html
+[2026-08-03 00:09:03,926] [ERROR] [gerp.gvsds.com] [500] [GET] [127.0.0.1] /pages/private/CreateE/enterprise.html
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-03 00:09:03,940] [WARNING] Not Found: /pages/private/CreateE/enterprise.html
+[2026-08-03 00:09:03] [WARNING] [域:gerp.gvsds.com ] [404] [GET ] [127.0.0.1 ] [0.020995s] /pages/private/CreateE/enterprise.html
+[2026-08-03 00:09:03,992] [ERROR] [gerp.gvsds.com] [500] [GET] [127.0.0.1] /pages/private/CreateE/wallet.html
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-03 00:09:03,997] [WARNING] Not Found: /pages/private/CreateE/wallet.html
+[2026-08-03 00:09:03] [WARNING] [域:gerp.gvsds.com ] [404] [GET ] [127.0.0.1 ] [0.009781s] /pages/private/CreateE/wallet.html
+[2026-08-03 00:09:04,043] [ERROR] [gerp.gvsds.com] [500] [GET] [127.0.0.1] /pages/private/CreateE/shop.html
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-03 00:09:04,045] [WARNING] Not Found: /pages/private/CreateE/shop.html
+[2026-08-03 00:09:04] [WARNING] [域:gerp.gvsds.com ] [404] [GET ] [127.0.0.1 ] [0.006557s] /pages/private/CreateE/shop.html
+[2026-08-03 00:09:04,089] [ERROR] [gerp.gvsds.com] [500] [GET] [127.0.0.1] /pages/private/CreateE/StoreValue.html
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-03 00:09:04,091] [WARNING] Not Found: /pages/private/CreateE/StoreValue.html
+[2026-08-03 00:09:04] [WARNING] [域:gerp.gvsds.com ] [404] [GET ] [127.0.0.1 ] [0.008314s] /pages/private/CreateE/StoreValue.html
+[2026-08-03 00:09:04,138] [ERROR] [gerp.gvsds.com] [500] [GET] [127.0.0.1] /pages/private/CreateE/Recharge.html
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-03 00:09:04,140] [WARNING] Not Found: /pages/private/CreateE/Recharge.html
+[2026-08-03 00:09:04] [WARNING] [域:gerp.gvsds.com ] [404] [GET ] [127.0.0.1 ] [0.005535s] /pages/private/CreateE/Recharge.html
+[2026-08-03 00:10:22,004] [ERROR] [www.gvsds.com] [500] [GET] [127.0.0.1] /wei/Public/Home/css/weiphp.css
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-03 00:10:22,015] [WARNING] Not Found: /wei/Public/Home/css/weiphp.css
+[2026-08-03 00:10:22] [WARNING] [域:www.gvsds.com ] [404] [GET ] [180.178.48.66 ] [0.028690s] /wei/Public/Home/css/weiphp.css
+[2026-08-03 00:10:22,074] [ERROR] [www.gvsds.com] [500] [GET] [127.0.0.1] /ftp/Home/css/weiphp.css
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-03 00:10:22,077] [WARNING] Not Found: /ftp/Home/css/weiphp.css
+[2026-08-03 00:10:22] [WARNING] [域:www.gvsds.com ] [404] [GET ] [180.178.48.66 ] [0.010661s] /ftp/Home/css/weiphp.css
+[2026-08-03 00:10:22,176] [ERROR] [www.gvsds.com] [500] [GET] [127.0.0.1] /app/Public/Home/css/weiphp.css
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-03 00:10:22,182] [WARNING] Not Found: /app/Public/Home/css/weiphp.css
+[2026-08-03 00:10:22] [WARNING] [域:www.gvsds.com ] [404] [GET ] [180.178.48.66 ] [0.013894s] /app/Public/Home/css/weiphp.css
+[2026-08-03 00:10:22,193] [ERROR] [www.gvsds.com] [500] [GET] [127.0.0.1] /we/Public/Home/css/weiphp.css
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-03 00:10:22,197] [WARNING] Not Found: /we/Public/Home/css/weiphp.css
+[2026-08-03 00:10:22] [WARNING] [域:www.gvsds.com ] [404] [GET ] [180.178.48.66 ] [0.008789s] /we/Public/Home/css/weiphp.css
+[2026-08-03 00:10:22,228] [ERROR] [www.gvsds.com] [500] [GET] [127.0.0.1] /wx/Public/Home/css/weiphp.css
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-03 00:10:22,233] [WARNING] Not Found: /wx/Public/Home/css/weiphp.css
+[2026-08-03 00:10:22] [WARNING] [域:www.gvsds.com ] [404] [GET ] [180.178.48.66 ] [0.017898s] /wx/Public/Home/css/weiphp.css
+[2026-08-03 00:10:22,244] [ERROR] [www.gvsds.com] [500] [GET] [127.0.0.1] /test/Public/Home/css/weiphp.css
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-03 00:10:22,248] [WARNING] Not Found: /test/Public/Home/css/weiphp.css
+[2026-08-03 00:10:22] [WARNING] [域:www.gvsds.com ] [404] [GET ] [180.178.48.66 ] [0.007111s] /test/Public/Home/css/weiphp.css
+[2026-08-03 00:10:22,257] [ERROR] [www.gvsds.com] [500] [GET] [127.0.0.1] /weixin/Public/Home/css/weiphp.css
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-03 00:10:22,259] [WARNING] Not Found: /weixin/Public/Home/css/weiphp.css
+[2026-08-03 00:10:22] [WARNING] [域:www.gvsds.com ] [404] [GET ] [180.178.48.66 ] [0.006003s] /weixin/Public/Home/css/weiphp.css
+[2026-08-03 00:10:23] [INFO ] [域:www.gvsds.com ] [302] [GET ] [180.178.48.66 ] [1.162757s] /admin/Public/Home/css/weiphp.css
+[2026-08-03 00:22:52] [INFO ] [域:192.0.2.1 ] [301] [GET] / - 127.0.0.1 - 0.000000s
+[2026-08-03 00:22:59] [INFO ] [域:64.90.1.201 ] [301] [GET] / - 127.0.0.1 - 0.000000s
+[2026-08-03 00:23:10] [INFO ] [域:64.90.1.201 ] [301] [GET] / - 127.0.0.1 - 0.000000s
+[2026-08-03 00:23:20] [INFO ] [域:64.90.1.201 ] [301] [GET] /sse - 127.0.0.1 - 0.000000s
+[2026-08-03 00:25:04] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [127.0.0.1 ] [0.104393s] /pages/private/CreateE/enterprise.html
+[2026-08-03 00:25:04] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [127.0.0.1 ] [0.005560s] /pages/private/CreateE/wallet.html
+[2026-08-03 00:25:04] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [127.0.0.1 ] [0.018633s] /pages/private/CreateE/shop.html
+[2026-08-03 00:32:54] [INFO ] [域:ugm.gvsds.com ] [302] [GET ] [81.71.94.236 ] [0.035695s] /
+[2026-08-03 00:32:55] [INFO ] [域:www.gvsds.com ] [200] [GET ] [81.71.94.236 ] [0.021426s] /login.html
+[2026-08-03 00:32:55] [INFO ] [域:www.gvsds.com ] [200] [GET ] [81.71.94.236 ] [0.009689s] /assets/js/tailwind.config.js
+[2026-08-03 00:32:55] [INFO ] [域:www.gvsds.com ] [200] [GET ] [81.71.94.236 ] [0.005200s] /assets/css/cookie.css
+[2026-08-03 00:32:55] [INFO ] [域:tailwind.gvsds.com ] [302] [GET ] [183.60.225.196 ] [0.002002s] /
+[2026-08-03 00:32:55] [INFO ] [域:www.gvsds.com ] [200] [GET ] [81.71.94.236 ] [0.004562s] /assets/css/gvsds-page.css
+[2026-08-03 00:32:55] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [183.60.225.196 ] [0.006095s] /3.4.17
+[2026-08-03 00:32:56] [INFO ] [域:www.gvsds.com ] [200] [GET ] [81.71.94.236 ] [0.005660s] /assets/js/tetris.js
+[2026-08-03 00:32:56] [INFO ] [域:www.gvsds.com ] [200] [GET ] [81.71.94.236 ] [0.002758s] /assets/js/MegaMenus.js
+[2026-08-03 00:32:56] [INFO ] [域:www.gvsds.com ] [200] [GET ] [81.71.94.236 ] [0.003720s] /assets/js/nav.js
+[2026-08-03 00:32:56] [INFO ] [域:www.gvsds.com ] [200] [GET ] [81.71.94.236 ] [0.019628s] /assets/js/cookie.js
+[2026-08-03 00:32:56] [INFO ] [域:www.gvsds.com ] [200] [GET ] [81.71.94.236 ] [0.003746s] /assets/config/Megas.js
+[2026-08-03 00:32:56] [INFO ] [域:www.gvsds.com ] [200] [GET ] [81.71.94.236 ] [0.005486s] /assets/js/main.js
+[2026-08-03 00:32:56] [INFO ] [域:www.gvsds.com ] [200] [GET ] [81.71.94.236 ] [0.005495s] /assets/hlogos/gnobg.png
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-03 00:33:11,549] [WARNING] Unauthorized: /Query/GetELTUserAvatar
+[2026-08-03 00:33:11] [WARNING] [域:ugm.gvsds.com ] [401] [GET ] [81.71.94.236 ] [0.114533s] /Query/GetELTUserAvatar
+[2026-08-03 00:34:27] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [1.184339s] /
+[2026-08-03 00:34:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.014675s] /assets/runtime-dom.esm-bundler-YxjRGSuG.js
+[2026-08-03 00:34:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.014165s] /assets/index-DqyR0-_q.js
+[2026-08-03 00:34:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.016737s] /assets/useApi-CROJJdhE-mMpa5RAf.js
+[2026-08-03 00:34:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [1.079633s] /assets/index-CHOuvNKI.css
+[2026-08-03 00:34:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.012299s] /assets/serverScope-O8Rw8SFk.js
+[2026-08-03 00:34:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.007789s] /assets/use-global-config-D-dPcPvU.js
+[2026-08-03 00:34:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.036664s] /assets/omit-zqi_K1DB.js
+[2026-08-03 00:34:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.038359s] /assets/numbers-cik3maFd.js
+[2026-08-03 00:34:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.006258s] /assets/debounce-DcxdqJyS.js
+[2026-08-03 00:34:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.006233s] /assets/button-CPx9BSuo.js
+[2026-08-03 00:34:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.211513s] /assets/click-outside-bcMsT2om.js
+[2026-08-03 00:34:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.039248s] /assets/repeat-click-BatRPHhN.js
+[2026-08-03 00:34:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.004102s] /assets/date-picker-CM_15T0u.js
+[2026-08-03 00:34:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.083192s] /assets/descriptions-Cq_aE9sg.js
+[2026-08-03 00:34:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.024783s] /assets/vnode-SMLE-MKY.js
+[2026-08-03 00:34:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.005694s] /assets/router-BZhP6IDQ.js
+[2026-08-03 00:34:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.007245s] /assets/strings-B6ImqFWg.js
+[2026-08-03 00:34:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.004057s] /assets/castArray-CpgoCob_.js
+[2026-08-03 00:34:40] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.044326s] /assets/select-CVMQcbXJ.js
+[2026-08-03 00:34:40] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.008561s] /assets/tag-BSnLMVgs.js
+[2026-08-03 00:34:40] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.003999s] /assets/isArrayLikeObject-Bo9Xnvp4.js
+[2026-08-03 00:34:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.008671s] /assets/time-picker-DrmXNOOO.js
+[2026-08-03 00:34:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.006524s] /assets/table-CHVYWwjg.js
+[2026-08-03 00:34:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.006075s] /assets/checkbox-CdKclTX1.js
+[2026-08-03 00:34:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.005411s] /assets/form-F--u6XQJ.js
+[2026-08-03 00:34:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.007849s] /assets/image-HD4q5QFa.js
+[2026-08-03 00:34:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.004364s] /assets/skeleton-DGDficlh.js
+[2026-08-03 00:34:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.005291s] /assets/use-ordered-children-DGQ-CQup.js
+[2026-08-03 00:34:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.006046s] /assets/alert-BpFV-0dO.js
+[2026-08-03 00:34:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.006001s] /assets/avatar-DXM6bmhO.js
+[2026-08-03 00:34:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.008117s] /assets/use-dialog-BxrOdCc2.js
+[2026-08-03 00:34:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.005202s] /assets/card-Dj_UeWcA.js
+[2026-08-03 00:34:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.005337s] /assets/drawer-Cu-arLgK.js
+[2026-08-03 00:34:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.007109s] /assets/radio-Cb0vAm4I.js
+[2026-08-03 00:34:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.015129s] /assets/tabs-DWrDF5Um.js
+[2026-08-03 00:34:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.009765s] /assets/col-BXlaMgkQ.js
+[2026-08-03 00:34:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.064896s] /assets/refs-Cc5FwKWV.js
+[2026-08-03 00:34:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.008356s] /assets/collapse-transition-D5PfF1iI.js
+[2026-08-03 00:34:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.007059s] /assets/dialog-0G0GCuDJ.js
+[2026-08-03 00:34:45] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.007037s] /assets/menu-BLdj5hCm.js
+[2026-08-03 00:34:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.011973s] /assets/empty-CnQTxkvl.js
+[2026-08-03 00:34:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.007707s] /assets/input-number-CiNOxXL6.js
+[2026-08-03 00:34:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.009072s] /assets/pagination-CPaFnzZw.js
+[2026-08-03 00:34:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.043785s] /assets/result-gkzjWpF7.js
+[2026-08-03 00:34:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.033743s] /assets/progress-CJYzD9Cp.js
+[2026-08-03 00:34:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.057088s] /assets/steps-C4-7Ybf-.js
+[2026-08-03 00:34:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.003227s] /assets/switch-DdHBelVN.js
+[2026-08-03 00:34:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.007998s] /assets/tree-DqeBDBpX.js
+[2026-08-03 00:34:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.019936s] /assets/directive-CY41a6pJ.js
+[2026-08-03 00:34:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.007520s] /assets/DefaultLayout-B0V58MSG.js
+[2026-08-03 00:34:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.014542s] /assets/css-C8-vPSoj.css
+[2026-08-03 00:34:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.007311s] /assets/css-CY4c3_XL.js
+[2026-08-03 00:34:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.124503s] /assets/css-cyJZB4WD.css
+[2026-08-03 00:34:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.033665s] /assets/css-ZSOkJyjJ.css
+[2026-08-03 00:34:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.024091s] /assets/CompanyDetail-x1XGuNl0.css
+[2026-08-03 00:34:52] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.054195s] /assets/css-1VV9QMa7.css
+[2026-08-03 00:34:52] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.058904s] /assets/css-DJFxnum_.css
+[2026-08-03 00:34:52] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.005280s] /assets/DefaultLayout-C0yp82k_.css
+[2026-08-03 00:34:53] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.012580s] /assets/css-BAyktVMS.css
+[2026-08-03 00:34:53] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.006991s] /assets/css-Dq8WDDkr.css
+[2026-08-03 00:34:53] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.011714s] /assets/Dashboard-BikaeE2A.css
+[2026-08-03 00:34:54] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.003855s] /assets/css-yeo4Q6aC.js
+[2026-08-03 00:34:54] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.003082s] /assets/css-DsD2Typt.js
+[2026-08-03 00:34:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.004238s] /assets/css-BEipSTAx.js
+[2026-08-03 00:34:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.009583s] /assets/css-6qaeDme6.js
+[2026-08-03 00:34:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.007754s] /assets/css-CttyGzET.js
+[2026-08-03 00:34:57] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.006625s] /assets/favicon-CjgOoDgN.js
+[2026-08-03 00:34:57] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.007824s] /assets/Dashboard-C7n3oIbk.js
+[2026-08-03 00:34:57] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.008426s] /assets/app-CDmCwDrK.js
+[2026-08-03 00:35:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.024331s] /assets/css-Cy-4mdDD.js
+[2026-08-03 00:35:27] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.014153s] /assets/css-D-a1H3t1.js
+[2026-08-03 00:35:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.080468s] /@vite/client
+[2026-08-03 00:35:53,905] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 00:35:53] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.624477s] /Query/GetELTUserAvatar
+[2026-08-03 00:35:54] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.044302s] /favicon.svg
+[2026-08-03 00:35:54,064] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 00:35:54] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.118451s] /Auth/GetUserRoles
+[2026-08-03 00:35:54,206] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 00:35:54] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.181190s] /API/Dashboard/Stats
+[2026-08-03 00:38:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [127.0.0.1 ] [0.142317s] /
+[2026-08-03 00:38:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [127.0.0.1 ] [0.027873s] /pages/private/CreateE/wallet.html
+[2026-08-03 00:38:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [127.0.0.1 ] [0.003515s] /assets/gerp/GERPThemeSync.js
+[2026-08-03 00:38:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [127.0.0.1 ] [0.003887s] /assets/css/GERP.css
+[2026-08-03 00:38:47] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.006793s] /pages/private/CreateE/wallet.html
+[2026-08-03 00:38:48] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.005974s] /pages/private/CreateE/wallet.html
+[2026-08-03 00:38:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002593s] /assets/css/GERP.css
+[2026-08-03 00:38:49] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.004632s] /assets/gerp/GERPThemeSync.js
+[2026-08-03 00:38:50,072] [INFO] [ResolveRoleContext] cookie=ff9857fe-8ddc-48b6-9056-a645efa766db, role=枢机协律玩家, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=ef67bb82-a590-402e-a893-81ae6127fb08
+[2026-08-03 00:38:50] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.374457s] /API/wallet
+[2026-08-03 00:38:50,494] [INFO] [ResolveRoleContext] cookie=ff9857fe-8ddc-48b6-9056-a645efa766db, role=枢机协律玩家, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=ef67bb82-a590-402e-a893-81ae6127fb08
+[2026-08-03 00:38:50] [INFO ] [域:gerp.gvsds.com ] [200] [POST] [111.32.65.107 ] [0.083768s] /API/Wallet/GenerateShareToken
+[2026-08-03 00:38:50,843] [INFO] [ResolveRoleContext] cookie=ff9857fe-8ddc-48b6-9056-a645efa766db, role=枢机协律玩家, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=ef67bb82-a590-402e-a893-81ae6127fb08
+[2026-08-03 00:38:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.614071s] /API/Wallet/ShareQRCode?token=WCVNQDNW_k_YmJtAr3ArV9CXXVo1SfS9U2t4_YsV7lE
+[2026-08-03 00:39:27] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.245176s] /pages/private/CreateE/Recharge.html
+[2026-08-03 00:39:27] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.018313s] /pages/private/CreateE/Recharge.html
+[2026-08-03 00:39:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.007894s] /assets/css/GERP.css
+[2026-08-03 00:39:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.007460s] /assets/css/GERP.css
+[2026-08-03 00:39:29,923] [INFO] [ResolveRoleContext] cookie=ff9857fe-8ddc-48b6-9056-a645efa766db, role=枢机协律玩家, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=ef67bb82-a590-402e-a893-81ae6127fb08
+[2026-08-03 00:39:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [1.018656s] /API/StoredValue/GetRules
+[2026-08-03 00:39:30] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.020052s] /pages/private/CreateE/shop.html
+[2026-08-03 00:39:30] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.010372s] /pages/private/CreateE/shop.html
+[2026-08-03 00:39:30] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.006978s] /pages/private/CreateE/shop.html
+[2026-08-03 00:39:35,817] [INFO] [ResolveRoleContext] cookie=ff9857fe-8ddc-48b6-9056-a645efa766db, role=枢机协律玩家, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=ef67bb82-a590-402e-a893-81ae6127fb08
+[2026-08-03 00:39:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.108675s] /API/Shop/CartList
+[2026-08-03 00:39:35,968] [INFO] [ResolveRoleContext] cookie=ff9857fe-8ddc-48b6-9056-a645efa766db, role=枢机协律玩家, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=ef67bb82-a590-402e-a893-81ae6127fb08
+[2026-08-03 00:39:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.067042s] /API/wallet
+[2026-08-03 00:39:36,041] [INFO] [ResolveRoleContext] cookie=ff9857fe-8ddc-48b6-9056-a645efa766db, role=枢机协律玩家, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=ef67bb82-a590-402e-a893-81ae6127fb08
+[2026-08-03 00:39:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.058202s] /API/Shop/ProductList?Keyword=&Category=&Tag=&Page=1&PageSize=20
+[2026-08-03 00:43:23] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.277244s] /assets/hlogos/logo.jpg
+[2026-08-03 00:49:13,624] [ERROR] [www.gvsds.com] [500] [GET] [127.0.0.1] /views-50.html
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-03 00:49:13,885] [WARNING] Not Found: /views-50.html
+[2026-08-03 00:49:13] [WARNING] [域:www.gvsds.com ] [404] [GET ] [216.244.66.250 ] [0.370694s] /views-50.html
+[2026-08-03 00:51:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.052285s] /assets/Company-IcHivBEf.css
+[2026-08-03 00:51:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.006879s] /assets/css-BrTRgFS7.css
+[2026-08-03 00:51:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.007071s] /assets/CrudTable-DK-IJ6GQ.css
+[2026-08-03 00:51:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.005144s] /assets/css-CzNtyWdF.css
+[2026-08-03 00:51:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.005154s] /assets/css-BtQxgKdl.css
+[2026-08-03 00:51:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.004554s] /assets/css-DExoAqKP.css
+[2026-08-03 00:51:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.003591s] /assets/css-DUbGnqO_.css
+[2026-08-03 00:51:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.005291s] /assets/css-4sOBTGxz.css
+[2026-08-03 00:51:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.003665s] /assets/css-Wv38huFO.css
+[2026-08-03 00:51:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.003982s] /assets/css-B7gvwdWB.css
+[2026-08-03 00:51:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.004550s] /assets/css-BNmWJdpO.css
+[2026-08-03 00:51:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.005622s] /assets/css-OVWuLPuT.css
+[2026-08-03 00:51:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.004082s] /assets/css-hrelhGmJ.css
+[2026-08-03 00:51:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.005876s] /assets/css-49fsIjk3.js
+[2026-08-03 00:51:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.003487s] /assets/AdminBadge-B-j0OYky.css
+[2026-08-03 00:51:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002580s] /assets/AdminBadge-Z72F8Boy.js
+[2026-08-03 00:51:12,749] [ERROR] [gerp.gvsds.com] [500] [GET] [127.0.0.1] /assets/form-B_apKyn6.js
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-03 00:51:12,758] [WARNING] Not Found: /assets/form-B_apKyn6.js
+[2026-08-03 00:51:12] [WARNING] [域:gerp.gvsds.com ] [404] [GET ] [111.32.65.107 ] [0.017143s] /assets/form-B_apKyn6.js
+[2026-08-03 00:51:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002013s] /assets/css-DMLZMbB9.js
+[2026-08-03 00:51:12,773] [ERROR] [gerp.gvsds.com] [500] [GET] [127.0.0.1] /assets/CrudTable-Bqi4AzCw.js
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-03 00:51:12,776] [WARNING] Not Found: /assets/CrudTable-Bqi4AzCw.js
+[2026-08-03 00:51:12] [WARNING] [域:gerp.gvsds.com ] [404] [GET ] [111.32.65.107 ] [0.006201s] /assets/CrudTable-Bqi4AzCw.js
+[2026-08-03 00:51:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.003031s] /assets/css-w8-s2aei.js
+[2026-08-03 00:51:12,790] [ERROR] [gerp.gvsds.com] [500] [GET] [127.0.0.1] /assets/Company-BbUQPl1E.js
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-03 00:51:12,792] [WARNING] Not Found: /assets/Company-BbUQPl1E.js
+[2026-08-03 00:51:12] [WARNING] [域:gerp.gvsds.com ] [404] [GET ] [111.32.65.107 ] [0.006717s] /assets/Company-BbUQPl1E.js
+[2026-08-03 00:51:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002522s] /assets/css-DmmbJMxg.js
+[2026-08-03 00:51:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.003067s] /assets/css-fhPIiYtD.js
+[2026-08-03 00:51:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.003735s] /assets/css-0wcCNliC.js
+[2026-08-03 00:51:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.004295s] /assets/css-DMOjom7l.js
+[2026-08-03 00:51:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.005081s] /assets/css-BLJI5-W_.js
+[2026-08-03 00:51:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002516s] /assets/css-ByqxgOA-.js
+[2026-08-03 00:51:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.004485s] /assets/css-Dmy6QwIc.js
+[2026-08-03 00:51:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002553s] /assets/css-CM8IHeeM.js
+[2026-08-03 00:51:20] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.004028s] /
+[2026-08-03 00:51:21] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002182s] /assets/useApi-CROJJdhE-mMpa5RAf.js
+[2026-08-03 00:51:21] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.005063s] /assets/index-BhmfZHuZ.js
+[2026-08-03 00:51:21] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.003263s] /assets/use-global-config-D-dPcPvU.js
+[2026-08-03 00:51:21] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002367s] /assets/runtime-dom.esm-bundler-YxjRGSuG.js
+[2026-08-03 00:51:21] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002094s] /assets/omit-zqi_K1DB.js
+[2026-08-03 00:51:21] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002055s] /assets/debounce-DcxdqJyS.js
+[2026-08-03 00:51:21] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.003519s] /assets/serverScope-O8Rw8SFk.js
+[2026-08-03 00:51:21] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.003034s] /assets/numbers-cik3maFd.js
+[2026-08-03 00:51:21] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002007s] /assets/click-outside-bcMsT2om.js
+[2026-08-03 00:51:21] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002632s] /assets/repeat-click-BatRPHhN.js
+[2026-08-03 00:51:21] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.003035s] /assets/button-CPx9BSuo.js
+[2026-08-03 00:51:21] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.003077s] /assets/descriptions-Cq_aE9sg.js
+[2026-08-03 00:51:21] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002048s] /assets/castArray-CpgoCob_.js
+[2026-08-03 00:51:21] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.032721s] /assets/date-picker-CM_15T0u.js
+[2026-08-03 00:51:21] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.004202s] /assets/router-5ztK67jt.js
+[2026-08-03 00:51:21] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.003529s] /assets/select-BBjngLeY.js
+[2026-08-03 00:51:21] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.005351s] /assets/tag-BSnLMVgs.js
+[2026-08-03 00:51:21] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.003684s] /assets/strings-B6ImqFWg.js
+[2026-08-03 00:51:21] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002591s] /assets/isArrayLikeObject-Bo9Xnvp4.js
+[2026-08-03 00:51:21] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.003634s] /assets/vnode-SMLE-MKY.js
+[2026-08-03 00:51:21] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002511s] /assets/time-picker-Ch5F3HNk.js
+[2026-08-03 00:51:21] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.001558s] /assets/table-BcRfUhjm.js
+[2026-08-03 00:51:21] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.001512s] /assets/form-F--u6XQJ.js
+[2026-08-03 00:51:21] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002956s] /assets/checkbox-CdKclTX1.js
+[2026-08-03 00:51:21] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.003041s] /assets/alert-BpFV-0dO.js
+[2026-08-03 00:51:21] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.001513s] /assets/skeleton-DGDficlh.js
+[2026-08-03 00:51:21] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.001514s] /assets/image-HD4q5QFa.js
+[2026-08-03 00:51:21] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002571s] /assets/use-ordered-children-DGQ-CQup.js
+[2026-08-03 00:51:21] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002042s] /assets/card-Dj_UeWcA.js
+[2026-08-03 00:51:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002087s] /assets/use-dialog-BxrOdCc2.js
+[2026-08-03 00:51:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.003020s] /assets/drawer-Cu-arLgK.js
+[2026-08-03 00:51:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002033s] /assets/tabs-CNiId5aJ.js
+[2026-08-03 00:51:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002544s] /assets/collapse-transition-D5PfF1iI.js
+[2026-08-03 00:51:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.001515s] /assets/avatar-DXM6bmhO.js
+[2026-08-03 00:51:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002098s] /assets/dialog-BRbvQEfh.js
+[2026-08-03 00:51:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.001006s] /assets/menu-BLdj5hCm.js
+[2026-08-03 00:51:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.001516s] /assets/input-number-CiNOxXL6.js
+[2026-08-03 00:51:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002683s] /assets/empty-CnQTxkvl.js
+[2026-08-03 00:51:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.001518s] /assets/tree-DqeBDBpX.js
+[2026-08-03 00:51:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.001515s] /assets/radio-Cb0vAm4I.js
+[2026-08-03 00:51:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.003523s] /assets/col-BXlaMgkQ.js
+[2026-08-03 00:51:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.001389s] /assets/refs-Cc5FwKWV.js
+[2026-08-03 00:51:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.001516s] /assets/pagination-C0zHNKif.js
+[2026-08-03 00:51:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.001518s] /assets/directive-CY41a6pJ.js
+[2026-08-03 00:51:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.001519s] /assets/progress-CJYzD9Cp.js
+[2026-08-03 00:51:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.003227s] /assets/switch-DyCEoB_D.js
+[2026-08-03 00:51:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.003369s] /assets/steps-C4-7Ybf-.js
+[2026-08-03 00:51:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.004580s] /assets/index-CHOuvNKI.css
+[2026-08-03 00:51:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002151s] /assets/result-gkzjWpF7.js
+[2026-08-03 00:51:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002069s] /assets/DefaultLayout-BlOl8qH5.js
+[2026-08-03 00:51:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002059s] /assets/css-CY4c3_XL.js
+[2026-08-03 00:51:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002762s] /assets/CompanyDetail-x1XGuNl0.css
+[2026-08-03 00:51:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002022s] /assets/css-C8-vPSoj.css
+[2026-08-03 00:51:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.001678s] /assets/css-DsD2Typt.js
+[2026-08-03 00:51:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.003039s] /assets/css-cyJZB4WD.css
+[2026-08-03 00:51:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.001775s] /assets/css-yeo4Q6aC.js
+[2026-08-03 00:51:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.003142s] /assets/LegacyPage-CHyzjLyy.css
+[2026-08-03 00:51:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.001690s] /assets/css-ZSOkJyjJ.css
+[2026-08-03 00:51:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002502s] /assets/DefaultLayout-C0yp82k_.css
+[2026-08-03 00:51:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.001807s] /assets/css-1VV9QMa7.css
+[2026-08-03 00:51:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002517s] /assets/css-DJFxnum_.css
+[2026-08-03 00:51:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002008s] /assets/LegacyPage-B0rqaVN_.js
+[2026-08-03 00:51:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002009s] /assets/favicon-CjgOoDgN.js
+[2026-08-03 00:51:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.001509s] /assets/css-6qaeDme6.js
+[2026-08-03 00:51:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.001559s] /assets/css-BEipSTAx.js
+[2026-08-03 00:51:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002081s] /assets/app-DTno9DOn.js
+[2026-08-03 00:51:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.001596s] /assets/css-CttyGzET.js
+[2026-08-03 00:51:25] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002398s] /assets/css-Cy-4mdDD.js
+[2026-08-03 00:51:25] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002062s] /assets/css-BAyktVMS.css
+[2026-08-03 00:51:25] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002574s] /assets/Dashboard-BikaeE2A.css
+[2026-08-03 00:51:25,314] [INFO] [ResolveRoleContext] cookie=ff9857fe-8ddc-48b6-9056-a645efa766db, role=枢机协律玩家, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=ef67bb82-a590-402e-a893-81ae6127fb08
+[2026-08-03 00:51:25] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.089897s] /Auth/GetUserRoles
+[2026-08-03 00:51:25] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.004533s] /pages/private/CreateE/shop.html
+[2026-08-03 00:51:25] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002102s] /favicon.svg
+[2026-08-03 00:51:25] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.001588s] /assets/css-Dq8WDDkr.css
+[2026-08-03 00:51:25] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002510s] /assets/fa-solid-900-IAB4Droh.woff2
+[2026-08-03 00:51:25] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.003032s] /assets/Dashboard-D1OPo96x.js
+[2026-08-03 00:51:25] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.001022s] /assets/css-D-a1H3t1.js
+[2026-08-03 00:51:25] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002022s] /favicon.svg
+[2026-08-03 00:51:26,013] [INFO] [ResolveRoleContext] cookie=ff9857fe-8ddc-48b6-9056-a645efa766db, role=枢机协律玩家, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=ef67bb82-a590-402e-a893-81ae6127fb08
+[2026-08-03 00:51:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.023112s] /Query/GetELTUserAvatar
+[2026-08-03 00:51:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.001756s] /assets/gerp/GERPThemeSync.js
+[2026-08-03 00:51:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002522s] /assets/css/GERP.css
+[2026-08-03 00:51:29,039] [INFO] [ResolveRoleContext] cookie=ff9857fe-8ddc-48b6-9056-a645efa766db, role=枢机协律玩家, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=ef67bb82-a590-402e-a893-81ae6127fb08
+[2026-08-03 00:51:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.039455s] /API/Shop/ProductList?Keyword=&Category=&Tag=&Page=1&PageSize=20
+[2026-08-03 00:51:29,082] [INFO] [ResolveRoleContext] cookie=ff9857fe-8ddc-48b6-9056-a645efa766db, role=枢机协律玩家, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=ef67bb82-a590-402e-a893-81ae6127fb08
+[2026-08-03 00:51:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.035714s] /API/Shop/CartList
+[2026-08-03 00:51:29,120] [INFO] [ResolveRoleContext] cookie=ff9857fe-8ddc-48b6-9056-a645efa766db, role=枢机协律玩家, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=ef67bb82-a590-402e-a893-81ae6127fb08
+[2026-08-03 00:51:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.052768s] /API/wallet
+[2026-08-03 00:51:31,749] [INFO] [ResolveRoleContext] cookie=ff9857fe-8ddc-48b6-9056-a645efa766db, role=枢机协律玩家, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=ef67bb82-a590-402e-a893-81ae6127fb08
+[2026-08-03 00:51:31] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.036372s] /API/Dashboard/Stats
+[2026-08-03 00:51:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002073s] /assets/Orders-A8uI_IoT.js
+[2026-08-03 00:51:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002520s] /assets/AdminBadge-Z72F8Boy.js
+[2026-08-03 00:51:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002691s] /assets/AdminBadge-B-j0OYky.css
+[2026-08-03 00:51:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002194s] /assets/CrudTable-C9ltlLfF.js
+[2026-08-03 00:51:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002060s] /assets/css-CzNtyWdF.css
+[2026-08-03 00:51:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002453s] /assets/css-BrTRgFS7.css
+[2026-08-03 00:51:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002121s] /assets/css-49fsIjk3.js
+[2026-08-03 00:51:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002049s] /assets/css-BtQxgKdl.css
+[2026-08-03 00:51:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002656s] /assets/css-DMLZMbB9.js
+[2026-08-03 00:51:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.001533s] /assets/css-DmmbJMxg.js
+[2026-08-03 00:51:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002026s] /assets/css-DExoAqKP.css
+[2026-08-03 00:51:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.001010s] /assets/css-Wv38huFO.css
+[2026-08-03 00:51:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.001752s] /assets/css-w8-s2aei.js
+[2026-08-03 00:51:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.001566s] /assets/css-DUbGnqO_.css
+[2026-08-03 00:51:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002672s] /assets/css-ByqxgOA-.js
+[2026-08-03 00:51:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002625s] /assets/css-OVWuLPuT.css
+[2026-08-03 00:51:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002952s] /assets/css-BNmWJdpO.css
+[2026-08-03 00:51:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.001511s] /assets/css-4sOBTGxz.css
+[2026-08-03 00:51:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.001633s] /assets/css-B7gvwdWB.css
+[2026-08-03 00:51:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.003039s] /assets/css-Dmy6QwIc.js
+[2026-08-03 00:51:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.001858s] /assets/css-DMOjom7l.js
+[2026-08-03 00:51:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002269s] /assets/css-fhPIiYtD.js
+[2026-08-03 00:51:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002309s] /assets/css-CM8IHeeM.js
+[2026-08-03 00:51:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002079s] /assets/css-BLJI5-W_.js
+[2026-08-03 00:51:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.001620s] /assets/form-Cf8udaio.js
+[2026-08-03 00:51:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.001535s] /assets/css-hrelhGmJ.css
+[2026-08-03 00:51:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.003830s] /assets/CrudTable-DK-IJ6GQ.css
+[2026-08-03 00:51:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.003042s] /assets/Orders-DLa-h2zy.css
+[2026-08-03 00:51:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.002008s] /assets/css-0wcCNliC.js
+[2026-08-03 00:51:34,069] [INFO] [ResolveRoleContext] cookie=ff9857fe-8ddc-48b6-9056-a645efa766db, role=枢机协律玩家, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=ef67bb82-a590-402e-a893-81ae6127fb08
+[2026-08-03 00:51:34,085] [INFO] [FormService] __init__: user=TermiNexus, company_scope=True, tenant_scope=True, current_role_uuid=ff9857fe8ddc48b69056a645efa766db, current_company_uuid=ef67bb82a590402ea89381ae6127fb08, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 00:51:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.037182s] /API/FormAPI/Columns/Order
+[2026-08-03 00:51:34,164] [INFO] [ResolveRoleContext] cookie=ff9857fe-8ddc-48b6-9056-a645efa766db, role=枢机协律玩家, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=ef67bb82-a590-402e-a893-81ae6127fb08
+[2026-08-03 00:51:34,178] [INFO] [FormService] __init__: user=TermiNexus, company_scope=True, tenant_scope=True, current_role_uuid=ff9857fe8ddc48b69056a645efa766db, current_company_uuid=ef67bb82a590402ea89381ae6127fb08, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 00:51:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.107 ] [0.041732s] /API/FormAPI/Get/Order?page=1&pageSize=20&sortOrder=asc
+[2026-08-03 09:46:35] [INFO ] [域:invite.gvsds.com ] [200] [GET ] [42.84.232.146 ] [0.087390s] /
+[2026-08-03 09:46:37] [INFO ] [域:tailwind.gvsds.com ] [302] [GET ] [42.84.232.146 ] [0.003476s] /
+[2026-08-03 09:46:39] [INFO ] [域:www.gvsds.com ] [200] [GET ] [42.84.232.146 ] [0.004540s] /assets/css/gvsds-page.css
+[2026-08-03 09:47:17] [INFO ] [域:invite.gvsds.com ] [200] [GET ] [42.84.232.146 ] [0.003006s] /
+[2026-08-03 09:47:20] [INFO ] [域:www.gvsds.com ] [200] [GET ] [42.84.232.146 ] [0.004519s] /assets/js/tailwind.config.js
+[2026-08-03 09:47:38] [INFO ] [域:www.gvsds.com ] [200] [GET ] [42.84.232.146 ] [0.001005s] /assets/css/gvsds-page.css
+[2026-08-03 09:51:54] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.225.148.148] [0.013560s] /
+[2026-08-03 09:51:55] [INFO ] [域:tailwind.gvsds.com ] [302] [GET ] [111.225.148.33 ] [0.000504s] /
+[2026-08-03 09:51:55] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [111.225.148.33 ] [0.005533s] /3.4.17
+[2026-08-03 09:53:57] [INFO ] [域:ugm.gvsds.com ] [302] [GET ] [43.165.198.224 ] [0.002004s] /
+[2026-08-03 09:53:58] [INFO ] [域:www.gvsds.com ] [200] [GET ] [43.165.198.224 ] [0.008062s] /login.html
+[2026-08-03 09:56:28] [INFO ] [域:www.gvsds.com ] [200] [GET ] [49.51.50.147 ] [0.011532s] /assets/fonts/MilkyHanTermJHeavy.woff2
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 1111, in handle_one_response
+ self.run_application()
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 1058, in run_application
+ self.process_result()
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 1044, in process_result
+ self.write(data)
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 892, in write
+ self._write_with_headers(data)
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 913, in _write_with_headers
+ self._write(data)
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 875, in _write
+ self._sendall(data)
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 849, in _sendall
+ self.socket.sendall(data)
+ File "D:\Python312\Lib\site-packages\gevent\ssl.py", line 597, in sendall
+ return socket.sendall(self, data, flags)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\gevent\_socketcommon.py", line 693, in sendall
+ return _sendall(self, data_memory, flags)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\gevent\_socketcommon.py", line 382, in _sendall
+ timeleft = __send_chunk(socket, chunk, flags, timeleft, end)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\gevent\_socketcommon.py", line 311, in __send_chunk
+ data_sent += socket.send(chunk, flags)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\gevent\ssl.py", line 561, in send
+ return self._sslobj.write(data)
+ ^^^^^^^^^^^^^^^^^^^^^^^^
+ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:2406)
+2026-08-03T01:56:42Z {'REMOTE_ADDR': '127.0.0.1', 'REMOTE_PORT': '64871', 'HTTP_HOST': 'www.gvsds.com', (hidden keys: 30)} failed with SSLEOFError
+
+[2026-08-03 09:57:57] [INFO ] [域:www.gvsds.com ] [200] [GET ] [52.167.144.160 ] [0.002787s] /
+[2026-08-03 09:59:54] [INFO ] [域:www.gvsds.com ] [200] [GET ] [110.249.201.17 ] [0.004261s] /login.html
+[2026-08-03 09:59:54] [INFO ] [域:tailwind.gvsds.com ] [302] [GET ] [110.249.201.174] [0.001016s] /
+[2026-08-03 10:07:10] [INFO ] [域:doc.gvsds.com ] [200] [GET ] [43.135.133.241 ] [0.008767s] /9bc298e9c1d03ed3bd4777181bf7411d
+[2026-08-03 10:16:18] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [221.229.53.162 ] [0.004000s] /
+[2026-08-03 10:16:18] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [221.229.53.162 ] [0.011542s] /assets/index-BhmfZHuZ.js
+[2026-08-03 10:17:54] [INFO ] [域:www.gvsds.com ] [200] [GET ] [43.166.255.122 ] [0.004517s] /members.html?Type=Members
+[2026-08-03 10:18:04,364] [ERROR] [www.gvsds.com] [500] [GET] [127.0.0.1] /FTP/resource_pack.zip
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-03 10:18:04,395] [WARNING] Not Found: /FTP/resource_pack.zip
+[2026-08-03 10:18:04] [WARNING] [域:www.gvsds.com ] [404] [GET ] [223.89.146.87 ] [0.075164s] /FTP/resource_pack.zip
+[2026-08-03 10:19:09,838] [ERROR] [www.gvsds.com] [500] [GET] [127.0.0.1] /FTP/resource_pack.zip
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-03 10:19:09,841] [WARNING] Not Found: /FTP/resource_pack.zip
+[2026-08-03 10:19:09] [WARNING] [域:www.gvsds.com ] [404] [GET ] [223.89.146.87 ] [0.005760s] /FTP/resource_pack.zip
+[2026-08-03 10:20:25,368] [ERROR] [www.gvsds.com] [500] [GET] [127.0.0.1] /FTP/resource_pack.zip
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-03 10:20:25,370] [WARNING] Not Found: /FTP/resource_pack.zip
+[2026-08-03 10:20:25] [WARNING] [域:www.gvsds.com ] [404] [GET ] [223.89.146.87 ] [0.004513s] /FTP/resource_pack.zip
+[2026-08-03 10:26:25] [INFO ] [域:www.gvsds.com ] [200] [GET ] [180.163.28.180 ] [0.010915s] /
+[2026-08-03 10:26:25] [INFO ] [域:tailwind.gvsds.com ] [302] [GET ] [180.163.28.109 ] [0.001008s] /
+[2026-08-03 10:26:26] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [180.163.28.143 ] [0.004033s] /3.4.17
+[2026-08-03 10:26:27] [INFO ] [域:doc.gvsds.com ] [200] [GET ] [43.133.91.48 ] [0.006555s] /42be05d96dc33dd781930925fba827c7
+[2026-08-03 11:01:52] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [183.134.40.82 ] [0.044477s] /favicon.ico
+[2026-08-03 11:25:58] [INFO ] [域:tailwind.gvsds.com ] [302] [GET ] [183.134.40.82 ] [0.012036s] /
+[2026-08-03 11:25:58] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [183.134.40.82 ] [0.007532s] /3.4.17
+[2026-08-03 11:33:24] [INFO ] [域:www.gvsds.com ] [200] [GET ] [180.163.29.206 ] [0.044862s] /
+[2026-08-03 15:18:37] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.30.41.18 ] [0.054080s] /
+[2026-08-03 15:20:35] [INFO ] [域:www.gvsds.com ] [200] [GET ] [180.163.29.234 ] [0.006331s] /
+[2026-08-03 15:20:36] [INFO ] [域:tailwind.gvsds.com ] [302] [GET ] [180.163.29.212 ] [0.004200s] /
+[2026-08-03 15:20:37] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [180.163.30.27 ] [0.003524s] /3.4.17
+[2026-08-03 15:31:25] [INFO ] [域:ugm.gvsds.com ] [302] [GET ] [183.134.40.82 ] [0.027934s] /
+[2026-08-03 15:31:26] [INFO ] [域:www.gvsds.com ] [200] [GET ] [183.134.40.82 ] [0.018695s] /login.html
+[2026-08-03 15:34:43] [INFO ] [域:ugm.gvsds.com ] [302] [GET ] [183.134.40.82 ] [0.020382s] /favicon.ico
+[2026-08-03 15:35:19,797] [ERROR] [ugm.gvsds.com] [500] [GET] [127.0.0.1] /GetArgsUserHeadPng.api?UserUUID=2b851d2d570031c2b08ab9912364a94e
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-03 15:35:19,856] [WARNING] Not Found: /GetArgsUserHeadPng.api
+[2026-08-03 15:35:19] [WARNING] [域:ugm.gvsds.com ] [404] [GET ] [117.136.55.18 ] [0.084404s] /GetArgsUserHeadPng.api?UserUUID=2b851d2d570031c2b08ab9912364a94e
+[2026-08-03 15:37:29] [INFO ] [域:ugm.gvsds.com ] [302] [GET ] [183.134.40.82 ] [0.004440s] /
+[2026-08-03 15:37:42] [INFO ] [域:www.gvsds.com ] [200] [GET ] [183.134.40.82 ] [0.013240s] /login.html
+[2026-08-03 15:39:43] [INFO ] [域:yc8z.gvsds.com ] [200] [GET ] [116.132.138.194] [0.028770s] /
+[2026-08-03 15:39:44] [INFO ] [域:cdn.gvsds.com ] [200] [GET ] [116.132.254.68 ] [0.005774s] /chart.js/dist/chart.umd.js
+[2026-08-03 15:39:44] [INFO ] [域:cdn.gvsds.com ] [200] [GET ] [116.132.218.20 ] [0.010140s] /font-awesome/css/fontawesome.min.css
+[2026-08-03 15:39:46] [INFO ] [域:cdn.gvsds.com ] [200] [GET ] [106.8.136.82 ] [0.003048s] /font-awesome/css/all.min.css
+[2026-08-03 15:39:48] [INFO ] [域:cdn.gvsds.com ] [200] [GET ] [123.182.48.229 ] [0.007524s] /font-awesome/webfonts/fa-solid-900.woff2
+[2026-08-03 15:41:18] [INFO ] [域:yc8z.gvsds.com ] [200] [GET ] [106.8.136.177 ] [0.002011s] /
+[2026-08-03 15:41:19] [INFO ] [域:cdn.gvsds.com ] [200] [GET ] [106.8.136.247 ] [0.002526s] /font-awesome/css/all.min.css
+[2026-08-03 15:41:19] [INFO ] [域:cdn.gvsds.com ] [200] [GET ] [106.8.136.110 ] [0.002508s] /font-awesome/css/fontawesome.min.css
+[2026-08-03 15:41:30] [INFO ] [域:cdn.gvsds.com ] [200] [GET ] [106.8.137.71 ] [0.002514s] /font-awesome/webfonts/fa-solid-900.woff2
+[2026-08-03 15:42:29] [INFO ] [域:www.gvsds.com ] [200] [GET ] [120.48.71.226 ] [0.009134s] /assets/img/Mascot/resize/5.png
+[2026-08-03 15:50:09] [INFO ] [域:www.gvsds.com ] [200] [GET ] [43.131.39.179 ] [0.038997s] /
+[2026-08-03 15:52:42] [INFO ] [域:doc.gvsds.com ] [200] [GET ] [36.152.7.63 ] [0.005024s] /
+[2026-08-03 15:52:48,519] [ERROR] [cdn.gvsds.com] [500] [GET] [127.0.0.1] /font-awesome/css/font-awesome.min.css
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-03 15:52:48,543] [WARNING] Not Found: /font-awesome/css/font-awesome.min.css
+[2026-08-03 15:52:48] [WARNING] [域:cdn.gvsds.com ] [404] [GET ] [36.152.7.63 ] [0.038669s] /font-awesome/css/font-awesome.min.css
+[2026-08-03 15:52:48] [INFO ] [域:cdn.gvsds.com ] [200] [GET ] [36.152.7.63 ] [0.002509s] /font-awesome/css/all.min.css
+[2026-08-03 15:53:39] [INFO ] [域:www.gvsds.com ] [200] [GET ] [49.51.73.183 ] [0.010083s] /Project/Service/Service.html
+[2026-08-03 15:58:30] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.054989s] /
+[2026-08-03 15:58:31] [INFO ] [域:tailwind.gvsds.com ] [302] [GET ] [111.32.65.119 ] [0.004014s] /
+[2026-08-03 15:58:31] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006538s] /assets/css/gvsds-page.css
+[2026-08-03 15:58:31] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003170s] /assets/css/cookie.css
+[2026-08-03 15:58:31] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.010381s] /assets/img/Heroes/copyright.png
+[2026-08-03 15:58:31] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004029s] /assets/js/tailwind.config.js
+[2026-08-03 15:58:31] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007164s] /assets/hlogos/gnobg.png
+[2026-08-03 15:58:31] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004600s] /3.4.17
+[2026-08-03 15:58:32] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008594s] /assets/img/Background/ChiSha_Left.png
+[2026-08-03 15:58:32] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003516s] /assets/img/Background/Ying_Right.png
+[2026-08-03 15:58:32] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.015311s] /assets/js/tetris.js
+[2026-08-03 15:58:32] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003059s] /assets/js/page/index.js
+[2026-08-03 15:58:32] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006398s] /assets/img/Mascot/resize/5.png
+[2026-08-03 15:58:32] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003010s] /assets/js/MegaMenus.js
+[2026-08-03 15:58:32] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003412s] /assets/config/Megas.js
+[2026-08-03 15:58:32] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002741s] /assets/js/main.js
+[2026-08-03 15:58:32] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003083s] /assets/img/Cooperation/what.jpg
+[2026-08-03 15:58:32] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004577s] /assets/js/nav.js
+[2026-08-03 15:58:32] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004385s] /assets/js/cookie.js
+[2026-08-03 15:58:32] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004952s] /assets/img/Cooperation/XINGJI.png
+[2026-08-03 15:58:32] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.010547s] /assets/img/Cooperation/CodeCrafterStudio.jpg
+[2026-08-03 15:58:32] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005906s] /assets/img/Cooperation/MHD.jpg
+[2026-08-03 15:58:32] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.016746s] /assets/img/Heroes/FUBG_R.png
+[2026-08-03 15:58:32] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005135s] /assets/img/Cooperation/May.png
+[2026-08-03 15:58:32] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003241s] /assets/img/Cooperation/373.jpg
+[2026-08-03 15:58:32] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003861s] /assets/img/Cooperation/SunnyStudio.jpg
+[2026-08-03 15:58:33] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008218s] /Members/B-Smooth/assets/img/3.jpg
+[2026-08-03 15:58:33] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008590s] /Members/YuanZe/assets/img/C.jpg
+[2026-08-03 15:58:33] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004582s] /Members/B-Smooth/assets/img/2.jpg
+[2026-08-03 15:58:33] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005405s] /Members/YuanZe/assets/img/B.jpg
+[2026-08-03 15:58:33] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004540s] /Members/B-Smooth/assets/img/6.jpg
+[2026-08-03 15:58:33] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003910s] /Members/YuanZe/assets/img/E.jpg
+[2026-08-03 15:58:33] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006818s] /Members/YuanZe/assets/img/A.jpg
+[2026-08-03 15:58:33] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004659s] /Members/B-Smooth/assets/img/1.jpg
+[2026-08-03 15:58:33] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006756s] /Members/YuanZe/assets/img/F.jpg
+[2026-08-03 15:58:33] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002587s] /Members/B-Smooth/assets/img/4.jpg
+[2026-08-03 15:58:33] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005035s] /Members/YuanZe/assets/img/D.png
+[2026-08-03 15:58:33] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003009s] /Members/B-Smooth/assets/img/5.jpg
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-03 15:58:39,048] [WARNING] Unauthorized: /Query/GetELTUserAvatar
+[2026-08-03 15:58:39] [WARNING] [域:ugm.gvsds.com ] [401] [GET ] [111.32.65.119 ] [0.076521s] /Query/GetELTUserAvatar
+[2026-08-03 15:58:39] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004652s] /favicon.ico
+[2026-08-03 16:03:47] [INFO ] [域:www.gvsds.com ] [200] [GET ] [106.63.26.6 ] [0.032471s] /
+[2026-08-03 16:37:38] [INFO ] [域:64.90.1.101 ] [301] [GET] / - 127.0.0.1 - 0.000000s
+[2026-08-03 17:24:16,092] [ERROR] [ugm.gvsds.com] [500] [GET] [127.0.0.1] /GetArgsUserHeadPng.api?UserUUID=2b851d2d570031c2b08ab9912364a94e
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-03 17:24:16,135] [WARNING] Not Found: /GetArgsUserHeadPng.api
+[2026-08-03 17:24:16] [WARNING] [域:ugm.gvsds.com ] [404] [GET ] [111.32.65.119 ] [0.131510s] /GetArgsUserHeadPng.api?UserUUID=2b851d2d570031c2b08ab9912364a94e
+[2026-08-03 17:24:20,728] [ERROR] [ugm.gvsds.com] [500] [GET] [127.0.0.1] /GetArgsUserHeadPng.api?UserUUID=2b851d2d570031c2b08ab9912364a94e
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-03 17:24:20,732] [WARNING] Not Found: /GetArgsUserHeadPng.api
+[2026-08-03 17:24:20] [WARNING] [域:ugm.gvsds.com ] [404] [GET ] [111.32.65.119 ] [0.016214s] /GetArgsUserHeadPng.api?UserUUID=2b851d2d570031c2b08ab9912364a94e
+[2026-08-03 17:31:16] [INFO ] [域:www.gvsds.com ] [200] [GET ] [64.90.1.101 ] [0.056930s] /
+[2026-08-03 17:31:28] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007013s] /
+[2026-08-03 17:31:28] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008313s] /assets/css/cookie.css
+[2026-08-03 17:31:28] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005679s] /assets/js/tailwind.config.js
+[2026-08-03 17:31:28] [INFO ] [域:tailwind.gvsds.com ] [302] [GET ] [111.32.65.119 ] [0.005644s] /
+[2026-08-03 17:31:28] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003574s] /assets/css/gvsds-page.css
+[2026-08-03 17:31:28] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.025048s] /assets/hlogos/gnobg.png
+[2026-08-03 17:31:28] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004548s] /assets/img/Heroes/copyright.png
+[2026-08-03 17:31:29] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005015s] /3.4.17
+[2026-08-03 17:31:29] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004537s] /assets/img/Background/ChiSha_Left.png
+[2026-08-03 17:31:29] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003594s] /assets/img/Background/Ying_Right.png
+[2026-08-03 17:31:30] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005865s] /assets/js/page/index.js
+[2026-08-03 17:31:30] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006432s] /assets/img/Mascot/resize/5.png
+[2026-08-03 17:31:30] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008199s] /assets/js/tetris.js
+[2026-08-03 17:31:30] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004316s] /assets/js/MegaMenus.js
+[2026-08-03 17:31:30] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003715s] /assets/config/Megas.js
+[2026-08-03 17:31:30] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004933s] /assets/img/Cooperation/what.jpg
+[2026-08-03 17:31:30] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005458s] /assets/js/nav.js
+[2026-08-03 17:31:30] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003163s] /assets/img/Cooperation/MHD.jpg
+[2026-08-03 17:31:30] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003514s] /assets/js/cookie.js
+[2026-08-03 17:31:30] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002554s] /assets/js/main.js
+[2026-08-03 17:31:30] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004514s] /assets/img/Cooperation/XINGJI.png
+[2026-08-03 17:31:30] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003721s] /assets/img/Cooperation/373.jpg
+[2026-08-03 17:31:30] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003063s] /assets/img/Cooperation/May.png
+[2026-08-03 17:31:30] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006340s] /assets/img/Cooperation/CodeCrafterStudio.jpg
+[2026-08-03 17:31:30] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004260s] /assets/img/Cooperation/SunnyStudio.jpg
+[2026-08-03 17:31:30] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.012204s] /assets/img/Heroes/FUBG_R.png
+[2026-08-03 17:31:30] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006561s] /Members/B-Smooth/assets/img/3.jpg
+[2026-08-03 17:31:31] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002745s] /Members/B-Smooth/assets/img/2.jpg
+[2026-08-03 17:31:31] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002606s] /Members/B-Smooth/assets/img/6.jpg
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 1111, in handle_one_response
+ self.run_application()
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 1058, in run_application
+ self.process_result()
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 1044, in process_result
+ self.write(data)
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 892, in write
+ self._write_with_headers(data)
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 913, in _write_with_headers
+ self._write(data)
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 875, in _write
+ self._sendall(data)
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 849, in _sendall
+ self.socket.sendall(data)
+ File "D:\Python312\Lib\site-packages\gevent\ssl.py", line 597, in sendall
+ return socket.sendall(self, data, flags)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\gevent\_socketcommon.py", line 693, in sendall
+ return _sendall(self, data_memory, flags)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\gevent\_socketcommon.py", line 382, in _sendall
+ timeleft = __send_chunk(socket, chunk, flags, timeleft, end)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\gevent\_socketcommon.py", line 311, in __send_chunk
+ data_sent += socket.send(chunk, flags)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\gevent\ssl.py", line 561, in send
+ return self._sslobj.write(data)
+ ^^^^^^^^^^^^^^^^^^^^^^^^
+ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:2406)
+2026-08-03T09:31:31Z {'REMOTE_ADDR': '127.0.0.1', 'REMOTE_PORT': '60275', 'HTTP_HOST': 'www.gvsds.com', (hidden keys: 37)} failed with SSLEOFError
+
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-03 17:31:32,794] [WARNING] Unauthorized: /Query/GetELTUserAvatar
+[2026-08-03 17:31:32] [WARNING] [域:ugm.gvsds.com ] [401] [GET ] [111.32.65.119 ] [0.048064s] /Query/GetELTUserAvatar
+[2026-08-03 17:31:32] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005330s] /favicon.ico
+[2026-08-03 17:31:47,778] [ERROR] [ugm.gvsds.com] [500] [GET] [127.0.0.1] /GetArgsUserHeadPng.api?UserUUID=2b851d2d570031c2b08ab9912364a94e
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-03 17:31:47,782] [WARNING] Not Found: /GetArgsUserHeadPng.api
+[2026-08-03 17:31:47] [WARNING] [域:ugm.gvsds.com ] [404] [GET ] [111.32.65.119 ] [0.010407s] /GetArgsUserHeadPng.api?UserUUID=2b851d2d570031c2b08ab9912364a94e
+[2026-08-03 17:34:12,078] [ERROR] [ugm.gvsds.com] [500] [GET] [127.0.0.1] /GetArgsUserHeadPng.api?UserUUID=2b851d2d570031c2b08ab9912364a94e
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-03 17:34:12,092] [WARNING] Not Found: /GetArgsUserHeadPng.api
+[2026-08-03 17:34:12] [WARNING] [域:ugm.gvsds.com ] [404] [GET ] [111.32.65.119 ] [0.039302s] /GetArgsUserHeadPng.api?UserUUID=2b851d2d570031c2b08ab9912364a94e
+[2026-08-03 17:35:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.298968s] /
+[2026-08-03 17:35:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.195355s] /assets/index-BhmfZHuZ.js
+[2026-08-03 17:35:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.244401s] /assets/runtime-dom.esm-bundler-YxjRGSuG.js
+[2026-08-03 17:35:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.017728s] /assets/click-outside-bcMsT2om.js
+[2026-08-03 17:35:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.022817s] /assets/useApi-CROJJdhE-mMpa5RAf.js
+[2026-08-03 17:35:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.011390s] /assets/debounce-DcxdqJyS.js
+[2026-08-03 17:35:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.009970s] /assets/serverScope-O8Rw8SFk.js
+[2026-08-03 17:35:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.009979s] /assets/button-CPx9BSuo.js
+[2026-08-03 17:35:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.012607s] /assets/use-global-config-D-dPcPvU.js
+[2026-08-03 17:35:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.125041s] /assets/time-picker-Ch5F3HNk.js
+[2026-08-03 17:35:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.011197s] /assets/table-BcRfUhjm.js
+[2026-08-03 17:35:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.015626s] /assets/descriptions-Cq_aE9sg.js
+[2026-08-03 17:35:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.013071s] /assets/omit-zqi_K1DB.js
+[2026-08-03 17:35:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.011864s] /assets/alert-BpFV-0dO.js
+[2026-08-03 17:35:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.012524s] /assets/castArray-CpgoCob_.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.018532s] /assets/index-CHOuvNKI.css
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.014826s] /assets/refs-Cc5FwKWV.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.011863s] /assets/pagination-C0zHNKif.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.012688s] /assets/skeleton-DGDficlh.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.011677s] /assets/menu-BLdj5hCm.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006923s] /assets/result-gkzjWpF7.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.011973s] /assets/empty-CnQTxkvl.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007072s] /assets/form-F--u6XQJ.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.010243s] /assets/input-number-CiNOxXL6.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.009417s] /assets/repeat-click-BatRPHhN.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004097s] /assets/numbers-cik3maFd.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007577s] /assets/strings-B6ImqFWg.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004814s] /assets/select-BBjngLeY.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008677s] /assets/col-BXlaMgkQ.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008627s] /assets/collapse-transition-D5PfF1iI.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006986s] /assets/use-dialog-BxrOdCc2.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.022778s] /assets/card-Dj_UeWcA.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.017709s] /assets/date-picker-CM_15T0u.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.010766s] /assets/tabs-CNiId5aJ.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007748s] /assets/radio-Cb0vAm4I.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008556s] /assets/drawer-Cu-arLgK.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005751s] /assets/tree-DqeBDBpX.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.011881s] /assets/steps-C4-7Ybf-.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.012537s] /assets/directive-CY41a6pJ.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.012003s] /assets/tag-BSnLMVgs.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.009665s] /assets/switch-DyCEoB_D.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.011885s] /assets/vnode-SMLE-MKY.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.010387s] /assets/dialog-BRbvQEfh.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.012103s] /assets/progress-CJYzD9Cp.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.009733s] /assets/router-5ztK67jt.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.013307s] /assets/image-HD4q5QFa.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.014894s] /assets/checkbox-CdKclTX1.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.012386s] /assets/use-ordered-children-DGQ-CQup.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.014337s] /assets/avatar-DXM6bmhO.js
+[2026-08-03 17:35:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.010349s] /assets/isArrayLikeObject-Bo9Xnvp4.js
+[2026-08-03 17:35:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007156s] /assets/DefaultLayout-BlOl8qH5.js
+[2026-08-03 17:35:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007309s] /assets/css-C8-vPSoj.css
+[2026-08-03 17:35:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007648s] /assets/css-CY4c3_XL.js
+[2026-08-03 17:35:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.039522s] /assets/css-cyJZB4WD.css
+[2026-08-03 17:35:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007055s] /assets/css-yeo4Q6aC.js
+[2026-08-03 17:35:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008796s] /assets/css-1VV9QMa7.css
+[2026-08-03 17:35:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007767s] /assets/CompanyDetail-x1XGuNl0.css
+[2026-08-03 17:35:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004498s] /assets/css-ZSOkJyjJ.css
+[2026-08-03 17:35:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.033115s] /assets/css-DJFxnum_.css
+[2026-08-03 17:35:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.010706s] /assets/css-DsD2Typt.js
+[2026-08-03 17:35:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006659s] /assets/DefaultLayout-C0yp82k_.css
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008727s] /assets/AdminBadge-B-j0OYky.css
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004523s] /assets/css-Dq8WDDkr.css
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.021307s] /assets/css-DExoAqKP.css
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008125s] /assets/css-DmmbJMxg.js
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.009146s] /assets/css-BtQxgKdl.css
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.012162s] /assets/css-DUbGnqO_.css
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004732s] /assets/css-BEipSTAx.js
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002412s] /assets/favicon-CjgOoDgN.js
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.018102s] /assets/app-DTno9DOn.js
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006798s] /assets/css-Wv38huFO.css
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.014294s] /assets/css-6qaeDme6.js
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.014064s] /assets/css-CttyGzET.js
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007879s] /assets/Orders-A8uI_IoT.js
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005476s] /assets/AdminBadge-Z72F8Boy.js
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005133s] /assets/css-CzNtyWdF.css
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.012850s] /assets/css-BrTRgFS7.css
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008741s] /assets/css-BAyktVMS.css
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.009929s] /assets/CrudTable-C9ltlLfF.js
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.032708s] /assets/css-D-a1H3t1.js
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004305s] /assets/css-DMLZMbB9.js
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007104s] /assets/css-49fsIjk3.js
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007755s] /assets/css-OVWuLPuT.css
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005939s] /assets/css-BNmWJdpO.css
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.017083s] /assets/css-hrelhGmJ.css
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003465s] /assets/css-Cy-4mdDD.js
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.010687s] /assets/css-fhPIiYtD.js
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.012646s] /assets/css-B7gvwdWB.css
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.021790s] /assets/css-4sOBTGxz.css
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.014566s] /assets/css-w8-s2aei.js
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004973s] /assets/css-CM8IHeeM.js
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.010380s] /assets/css-DMOjom7l.js
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005480s] /assets/css-Dmy6QwIc.js
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006469s] /assets/css-ByqxgOA-.js
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008105s] /assets/CrudTable-DK-IJ6GQ.css
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008692s] /assets/css-BLJI5-W_.js
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007056s] /assets/form-Cf8udaio.js
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004707s] /assets/css-0wcCNliC.js
+[2026-08-03 17:35:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007823s] /assets/Orders-DLa-h2zy.css
+[2026-08-03 17:35:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.013154s] /favicon.svg
+[2026-08-03 17:35:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005313s] /assets/Dashboard-D1OPo96x.js
+[2026-08-03 17:35:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005828s] /assets/Dashboard-BikaeE2A.css
+[2026-08-03 17:35:43] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007162s] /assets/fa-solid-900-IAB4Droh.woff2
+[2026-08-03 17:35:46] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004201s] /favicon.svg
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-03 17:35:46,899] [WARNING] Unauthorized: /Query/GetELTUserAvatar
+[2026-08-03 17:35:46] [WARNING] [域:gerp.gvsds.com ] [401] [GET ] [111.32.65.119 ] [0.079705s] /Query/GetELTUserAvatar
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-03 17:35:46,928] [WARNING] Unauthorized: /API/FormAPI/Get/Order
+[2026-08-03 17:35:46] [WARNING] [域:gerp.gvsds.com ] [401] [GET ] [111.32.65.119 ] [0.020501s] /API/FormAPI/Get/Order?page=1&pageSize=20&sortOrder=asc
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-03 17:35:46,944] [WARNING] Unauthorized: /API/FormAPI/Columns/Order
+[2026-08-03 17:35:46] [WARNING] [域:gerp.gvsds.com ] [401] [GET ] [111.32.65.119 ] [0.011812s] /API/FormAPI/Columns/Order
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-03 17:35:46,963] [WARNING] Unauthorized: /Auth/GetUserRoles
+[2026-08-03 17:35:46] [WARNING] [域:gerp.gvsds.com ] [401] [GET ] [111.32.65.119 ] [0.012819s] /Auth/GetUserRoles
+[2026-08-03 17:36:59] [INFO ] [域:mc.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.121344s] /
+[2026-08-03 17:37:00] [INFO ] [域:mc.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.010978s] /assets/mien_notresize/10.png
+[2026-08-03 17:37:00] [INFO ] [域:mc.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.009414s] /assets/mien/3.png
+[2026-08-03 17:37:03] [INFO ] [域:mc.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.009139s] /assets/mien/13.png
+[2026-08-03 17:37:03] [INFO ] [域:mc.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006596s] /assets/mien/4.png
+[2026-08-03 17:37:04] [INFO ] [域:mc.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007439s] /assets/mien/14.png
+[2026-08-03 17:37:04] [INFO ] [域:mc.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005244s] /assets/mien/16.png
+[2026-08-03 17:37:04] [INFO ] [域:mc.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008950s] /assets/mien/11.png
+[2026-08-03 17:37:04] [INFO ] [域:mc.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006711s] /assets/mien/7.png
+[2026-08-03 17:37:04] [INFO ] [域:mc.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004611s] /assets/mien/10.png
+[2026-08-03 17:37:04] [INFO ] [域:mc.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007786s] /assets/mien/15.png
+[2026-08-03 17:37:04] [INFO ] [域:mc.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003523s] /assets/mien/8.png
+[2026-08-03 17:37:04] [INFO ] [域:mc.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005116s] /assets/mien/9.png
+[2026-08-03 17:37:04] [INFO ] [域:mc.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004548s] /assets/mien/2.png
+[2026-08-03 17:37:04] [INFO ] [域:mc.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003231s] /assets/mien/19.png
+[2026-08-03 17:37:04] [INFO ] [域:mc.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002545s] /assets/mien/17.png
+[2026-08-03 17:37:04] [INFO ] [域:mc.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005568s] /assets/mien/12.png
+[2026-08-03 17:37:04] [INFO ] [域:mc.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002292s] /assets/mien/18.png
+[2026-08-03 17:37:04] [INFO ] [域:mc.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006573s] /assets/mien/1.png
+[2026-08-03 17:37:04] [INFO ] [域:mc.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002515s] /assets/mien/5.png
+[2026-08-03 17:37:04] [INFO ] [域:mc.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003011s] /assets/mien/20.png
+[2026-08-03 17:37:07] [INFO ] [域:3c.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.023669s] /
+[2026-08-03 17:37:14] [INFO ] [域:cdn.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.021506s] /font-awesome/css/all.min.css
+[2026-08-03 17:37:15] [INFO ] [域:cdn.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.011129s] /font-awesome/webfonts/fa-solid-900.woff2
+[2026-08-03 17:37:15] [INFO ] [域:3c.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007867s] /favicon.ico
+[2026-08-03 17:37:16] [INFO ] [域:3crb.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.012327s] /
+[2026-08-03 17:37:17] [INFO ] [域:3crb.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006053s] /BANK.jpg
+[2026-08-03 17:37:17] [INFO ] [域:cdn.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003133s] /font-awesome/webfonts/fa-solid-900.woff2
+[2026-08-03 17:37:17] [INFO ] [域:3crb.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005179s] /favicon.ico
+[2026-08-03 17:37:58] [INFO ] [域:doc.gvsds.com ] [200] [GET ] [43.165.167.69 ] [0.099682s] /
+[2026-08-03 17:39:39] [INFO ] [域:www.gvsds.com ] [200] [GET ] [210.16.166.108 ] [0.034205s] /
+[2026-08-03 17:40:26] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.083225s] /assets/hlogos/logo.jpg
+[2026-08-03 17:42:26] [INFO ] [域:www.gvsds.com ] [200] [GET ] [180.163.29.234 ] [0.122862s] /
+[2026-08-03 17:42:27] [INFO ] [域:tailwind.gvsds.com ] [302] [GET ] [180.163.29.212 ] [0.005564s] /
+[2026-08-03 17:42:28] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [180.163.29.212 ] [0.007713s] /3.4.17
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-03 17:46:24,086] [WARNING] Unauthorized: /Query/GetELTUserInfo
+[2026-08-03 17:46:24] [WARNING] [域:gerp.gvsds.com ] [401] [GET ] [111.32.65.119 ] [0.770189s] /Query/GetELTUserInfo
+[2026-08-03 17:46:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.078950s] /assets/Login-Cx6fJYVq.css
+[2026-08-03 17:46:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.023869s] /assets/Login-DCzazs20.js
+[2026-08-03 17:46:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006009s] /favicon.svg
+[2026-08-03 17:49:42] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [127.0.0.1 ] [0.579160s] /
+[2026-08-03 17:50:20] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.232010s] /
+[2026-08-03 17:50:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.039654s] /assets/index-DGSJhQX0.js
+[2026-08-03 17:50:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.014963s] /assets/use-global-config-D-dPcPvU.js
+[2026-08-03 17:50:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.009027s] /assets/runtime-dom.esm-bundler-YxjRGSuG.js
+[2026-08-03 17:50:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006198s] /assets/date-picker-CM_15T0u.js
+[2026-08-03 17:50:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.011242s] /assets/useApi-CROJJdhE-mMpa5RAf.js
+[2026-08-03 17:50:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008459s] /assets/debounce-DcxdqJyS.js
+[2026-08-03 17:50:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008161s] /assets/descriptions-Cq_aE9sg.js
+[2026-08-03 17:50:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006991s] /assets/button-CPx9BSuo.js
+[2026-08-03 17:50:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008601s] /assets/time-picker-DHIwyTbX.js
+[2026-08-03 17:50:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008070s] /assets/select-CgVQmhF_.js
+[2026-08-03 17:50:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005044s] /assets/numbers-cik3maFd.js
+[2026-08-03 17:50:22] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004966s] /assets/isArrayLikeObject-Bo9Xnvp4.js
+[2026-08-03 17:50:23] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005528s] /assets/router-D05cCUGF.js
+[2026-08-03 17:50:23] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005809s] /assets/vnode-SMLE-MKY.js
+[2026-08-03 17:50:23] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003540s] /assets/table-B2D5QY0L.js
+[2026-08-03 17:50:23] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006249s] /assets/use-ordered-children-DGQ-CQup.js
+[2026-08-03 17:50:23] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.011877s] /assets/tag-BSnLMVgs.js
+[2026-08-03 17:50:23] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004143s] /assets/castArray-CpgoCob_.js
+[2026-08-03 17:50:23] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006658s] /assets/click-outside-bcMsT2om.js
+[2026-08-03 17:50:23] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.021182s] /assets/checkbox-CdKclTX1.js
+[2026-08-03 17:50:23] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.013997s] /assets/serverScope-O8Rw8SFk.js
+[2026-08-03 17:50:23] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005766s] /assets/repeat-click-BatRPHhN.js
+[2026-08-03 17:50:23] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007209s] /assets/skeleton-DGDficlh.js
+[2026-08-03 17:50:23] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006990s] /assets/strings-B6ImqFWg.js
+[2026-08-03 17:50:23] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007890s] /assets/omit-zqi_K1DB.js
+[2026-08-03 17:50:23] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006295s] /assets/alert-BpFV-0dO.js
+[2026-08-03 17:50:23] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006012s] /assets/tabs-Qb-5t-hE.js
+[2026-08-03 17:50:23] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006941s] /assets/form-F--u6XQJ.js
+[2026-08-03 17:50:23] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.019250s] /assets/index-CHOuvNKI.css
+[2026-08-03 17:50:23] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.009289s] /assets/refs-Cc5FwKWV.js
+[2026-08-03 17:50:23] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005487s] /assets/use-dialog-BxrOdCc2.js
+[2026-08-03 17:50:23] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.014807s] /assets/card-Dj_UeWcA.js
+[2026-08-03 17:50:23] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004107s] /assets/image-HD4q5QFa.js
+[2026-08-03 17:50:23] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004028s] /assets/col-BXlaMgkQ.js
+[2026-08-03 17:50:23] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003133s] /assets/avatar-DXM6bmhO.js
+[2026-08-03 17:50:23] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004542s] /assets/collapse-transition-D5PfF1iI.js
+[2026-08-03 17:50:23] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005942s] /assets/drawer-Cu-arLgK.js
+[2026-08-03 17:50:23] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007030s] /assets/radio-Cb0vAm4I.js
+[2026-08-03 17:50:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004154s] /assets/steps-C4-7Ybf-.js
+[2026-08-03 17:50:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003857s] /assets/input-number-CiNOxXL6.js
+[2026-08-03 17:50:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002855s] /assets/menu-BLdj5hCm.js
+[2026-08-03 17:50:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008070s] /assets/empty-CnQTxkvl.js
+[2026-08-03 17:50:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005912s] /assets/progress-CJYzD9Cp.js
+[2026-08-03 17:50:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004773s] /assets/directive-CY41a6pJ.js
+[2026-08-03 17:50:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003958s] /assets/dialog-BR7J2jDn.js
+[2026-08-03 17:50:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006603s] /assets/switch-CEjVBrjL.js
+[2026-08-03 17:50:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006038s] /assets/pagination-CRU6dRnn.js
+[2026-08-03 17:50:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005879s] /assets/tree-DqeBDBpX.js
+[2026-08-03 17:50:24] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005174s] /assets/result-gkzjWpF7.js
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 503, in dispatch
+ self.initial(request, *args, **kwargs)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 421, in initial
+ self.check_permissions(request)
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 339, in check_permissions
+ self.permission_denied(
+ File "D:\Python312\Lib\site-packages\rest_framework\views.py", line 180, in permission_denied
+ raise exceptions.NotAuthenticated()
+rest_framework.exceptions.NotAuthenticated: 身份认证信息未提供。
+[2026-08-03 17:50:26,919] [WARNING] Unauthorized: /Query/GetELTUserInfo
+[2026-08-03 17:50:26] [WARNING] [域:gerp.gvsds.com ] [401] [GET ] [111.32.65.119 ] [0.052599s] /Query/GetELTUserInfo
+[2026-08-03 17:50:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005593s] /favicon.svg
+[2026-08-03 17:50:27] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003781s] /assets/Login-L87QvA3o.js
+[2026-08-03 17:50:27] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004125s] /assets/favicon-CjgOoDgN.js
+[2026-08-03 17:50:27] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005758s] /assets/css-ZSOkJyjJ.css
+[2026-08-03 17:50:27] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004487s] /assets/css-DsD2Typt.js
+[2026-08-03 17:50:27] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005531s] /assets/css-cyJZB4WD.css
+[2026-08-03 17:50:27] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006703s] /assets/css-CzNtyWdF.css
+[2026-08-03 17:50:27] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004561s] /assets/css-BrTRgFS7.css
+[2026-08-03 17:50:27] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004389s] /assets/css-49fsIjk3.js
+[2026-08-03 17:50:27] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005734s] /assets/css-BtQxgKdl.css
+[2026-08-03 17:50:27] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006015s] /assets/Login-ixparGKk.css
+[2026-08-03 17:50:27] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004789s] /assets/css-DMLZMbB9.js
+[2026-08-03 17:50:27] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004958s] /assets/css-DmmbJMxg.js
+[2026-08-03 17:50:27] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004076s] /favicon.svg
+[2026-08-03 17:50:37] [INFO ] [域:gerp.gvsds.com ] [200] [POST] [111.32.65.119 ] [0.667230s] /Auth/Login
+[2026-08-03 17:50:38,133] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 17:50:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.037646s] /Query/GetELTUserInfo
+[2026-08-03 17:50:38,875] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 17:50:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.102936s] /API/MenuList
+[2026-08-03 17:50:39,162] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.048903s] /Auth/GetUserRoles
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003143s] /assets/DefaultLayout-qmIrJPmD.js
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002533s] /assets/css-C8-vPSoj.css
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002522s] /assets/css-BEipSTAx.js
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002067s] /assets/css-CY4c3_XL.js
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004998s] /assets/css-yeo4Q6aC.js
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002513s] /assets/CompanyDetail-x1XGuNl0.css
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002136s] /assets/css-1VV9QMa7.css
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.001596s] /assets/css-CttyGzET.js
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002523s] /assets/css-DJFxnum_.css
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.001657s] /assets/css-6qaeDme6.js
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003099s] /assets/app-BvseRdrA.js
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003963s] /assets/Orders-yyZ32d2k.js
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003343s] /assets/DefaultLayout-C0yp82k_.css
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004128s] /assets/AdminBadge-Z72F8Boy.js
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004087s] /assets/css-Cy-4mdDD.js
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004959s] /assets/AdminBadge-B-j0OYky.css
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004969s] /assets/CrudTable-C-kEyyqS.js
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004051s] /assets/css-Dq8WDDkr.css
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.001449s] /assets/css-BAyktVMS.css
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003135s] /assets/css-w8-s2aei.js
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.001812s] /assets/css-D-a1H3t1.js
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003046s] /assets/css-DExoAqKP.css
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004037s] /assets/css-Wv38huFO.css
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005240s] /assets/css-4sOBTGxz.css
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004160s] /assets/css-DUbGnqO_.css
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006620s] /assets/css-OVWuLPuT.css
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005777s] /assets/css-B7gvwdWB.css
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003118s] /assets/css-DMOjom7l.js
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004043s] /assets/css-BNmWJdpO.css
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004355s] /assets/Orders-DLa-h2zy.css
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003404s] /assets/CrudTable-DK-IJ6GQ.css
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003012s] /assets/css-hrelhGmJ.css
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002535s] /assets/css-CM8IHeeM.js
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002026s] /assets/css-fhPIiYtD.js
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003116s] /assets/css-Dmy6QwIc.js
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002788s] /assets/css-ByqxgOA-.js
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003796s] /assets/css-BLJI5-W_.js
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003053s] /assets/css-0wcCNliC.js
+[2026-08-03 17:50:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002733s] /assets/form-DmzIzxZb.js
+[2026-08-03 17:50:40] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003455s] /assets/Dashboard-B9R-yFu8.js
+[2026-08-03 17:50:40] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004039s] /assets/Dashboard-BikaeE2A.css
+[2026-08-03 17:50:40] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004531s] /assets/fa-solid-900-IAB4Droh.woff2
+[2026-08-03 17:50:40,105] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 17:50:40] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.039769s] /Query/GetELTUserAvatar
+[2026-08-03 17:50:40,166] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 17:50:40,196] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 17:50:40] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.106990s] /API/FormAPI/Get/Order?page=1&pageSize=20&sortOrder=asc
+[2026-08-03 17:50:40,269] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 17:50:40] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.062297s] /Auth/GetUserRoles
+[2026-08-03 17:50:40,331] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 17:50:40,353] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 17:50:40] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.057810s] /API/FormAPI/Columns/Order
+[2026-08-03 17:50:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005565s] /assets/Company-C2Gn-rbs.js
+[2026-08-03 17:50:51] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006380s] /assets/Company-IcHivBEf.css
+[2026-08-03 17:50:52,192] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 17:50:52,216] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 17:50:52] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.117083s] /API/FormAPI/Get/Company?page=1&pageSize=20&sortOrder=asc
+[2026-08-03 17:50:52,299] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 17:50:52,316] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 17:50:52] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.048174s] /API/FormAPI/Columns/Company
+[2026-08-03 17:50:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003614s] /assets/CompanyDetail-Cio6Qz2W.js
+[2026-08-03 17:50:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.001895s] /assets/css-CysIl0tz.js
+[2026-08-03 17:50:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003552s] /assets/DetailPage-m11wfvkM.js
+[2026-08-03 17:50:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002599s] /assets/css-BpDzfuC8.css
+[2026-08-03 17:50:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004323s] /assets/InfoGrid-BY8rlZVK.css
+[2026-08-03 17:50:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.001510s] /assets/DetailPage-B9od5Isl.css
+[2026-08-03 17:50:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002290s] /assets/useResolveUUIDs-uuOlqGKr.js
+[2026-08-03 17:50:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003312s] /assets/InfoGrid-C1it9Z2Y.js
+[2026-08-03 17:50:55,422] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 17:50:55,435] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 17:50:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.057857s] /API/FormAPI/Get/Company?CompanyUUID=b78783e2-2e9d-4ccf-aa7e-56fa3a6db0eb&pageSize=1
+[2026-08-03 17:50:55,783] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 17:50:55,801] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 17:50:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.064119s] /API/FormAPI/Get/Company?CompanyUUID=2328c005-151f-4c05-a6ea-eecffd234063&pageSize=1
+[2026-08-03 17:50:55,847] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 17:50:55,883] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 17:50:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.060216s] /API/FormAPI/Columns/Department
+[2026-08-03 17:50:55,909] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 17:50:55,926] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 17:50:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.037084s] /API/FormAPI/Columns/Workgroup
+[2026-08-03 17:50:55,946] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 17:50:55,963] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 17:50:55] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.051861s] /API/FormAPI/Get/Workgroup?page=1&pageSize=20&sortOrder=asc&CompanyUUID=b78783e2-2e9d-4ccf-aa7e-56fa3a6db0eb
+[2026-08-03 17:50:56,004] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 17:50:56,023] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 17:50:56] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.073485s] /API/FormAPI/Get/UserRole?page=1&pageSize=20&sortOrder=asc&CompanyUUID=b78783e2-2e9d-4ccf-aa7e-56fa3a6db0eb
+[2026-08-03 17:50:56,092] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 17:50:56,108] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 17:50:56] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.041614s] /API/FormAPI/Columns/UserRole
+[2026-08-03 17:50:56,130] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 17:50:56,144] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 17:50:56] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.050084s] /API/FormAPI/Get/Department?page=1&pageSize=20&sortOrder=asc&CompanyUUID=b78783e2-2e9d-4ccf-aa7e-56fa3a6db0eb
+[2026-08-03 17:50:56,236] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 17:50:56,250] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 17:50:56] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.035184s] /API/FormAPI/Get/Tenant?TenantUUID=a58f128b-9005-44cd-a4e4-c57ff3eaeb68&pageSize=1
+[2026-08-03 17:52:43] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [2.130787s] /Project/termination.html
+[2026-08-03 17:52:44] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.349641s] /assets/css/cookie.css
+[2026-08-03 17:52:44] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.015054s] /assets/css/gvsds-page.css
+[2026-08-03 17:52:45] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.016865s] /assets/hlogos/gnobg.png
+[2026-08-03 17:52:45] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.011061s] /assets/js/tailwind.config.js
+[2026-08-03 17:52:45] [INFO ] [域:tailwind.gvsds.com ] [302] [GET ] [111.32.65.119 ] [0.019932s] /
+[2026-08-03 17:52:45] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.020568s] /3.4.17
+[2026-08-03 17:52:46] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.013000s] /assets/config/Megas.js
+[2026-08-03 17:52:46] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006460s] /assets/js/nav.js
+[2026-08-03 17:52:46] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.009030s] /assets/js/tetris.js
+[2026-08-03 17:52:46] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.010756s] /assets/js/cookie.js
+[2026-08-03 17:52:46] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006145s] /assets/js/MegaMenus.js
+[2026-08-03 17:52:46] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.009175s] /assets/js/main.js
+[2026-08-03 17:52:50,800] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 17:52:50] [INFO ] [域:ugm.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.874146s] /Query/GetELTUserAvatar
+[2026-08-03 17:57:21] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.161171s] /
+[2026-08-03 17:57:22] [INFO ] [域:tailwind.gvsds.com ] [302] [GET ] [111.32.65.119 ] [0.128347s] /
+[2026-08-03 17:57:22] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007706s] /assets/css/cookie.css
+[2026-08-03 17:57:22] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.010437s] /assets/css/gvsds-page.css
+[2026-08-03 17:57:22] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.015947s] /assets/hlogos/gnobg.png
+[2026-08-03 17:57:22] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005969s] /assets/js/tailwind.config.js
+[2026-08-03 17:57:22] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.016082s] /assets/img/Heroes/copyright.png
+[2026-08-03 17:57:22] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005050s] /3.4.17
+[2026-08-03 17:57:22] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006993s] /assets/img/Background/ChiSha_Left.png
+[2026-08-03 17:57:22] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003535s] /assets/img/Background/Ying_Right.png
+[2026-08-03 17:57:23] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005699s] /assets/js/page/index.js
+[2026-08-03 17:57:23] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.009741s] /assets/js/tetris.js
+[2026-08-03 17:57:23] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007045s] /assets/img/Mascot/resize/5.png
+[2026-08-03 17:57:23] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004556s] /assets/config/Megas.js
+[2026-08-03 17:57:23] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005592s] /assets/js/MegaMenus.js
+[2026-08-03 17:57:23] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004536s] /assets/js/nav.js
+[2026-08-03 17:57:23] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.029039s] /assets/img/Cooperation/CodeCrafterStudio.jpg
+[2026-08-03 17:57:23] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.012998s] /assets/img/Cooperation/what.jpg
+[2026-08-03 17:57:23] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.009239s] /assets/js/cookie.js
+[2026-08-03 17:57:23] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007356s] /assets/js/main.js
+[2026-08-03 17:57:23] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005901s] /assets/img/Cooperation/May.png
+[2026-08-03 17:57:23] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007033s] /assets/img/Cooperation/XINGJI.png
+[2026-08-03 17:57:23] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008595s] /assets/img/Cooperation/MHD.jpg
+[2026-08-03 17:57:24] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005168s] /assets/img/Cooperation/373.jpg
+[2026-08-03 17:57:24] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005697s] /assets/img/Cooperation/SunnyStudio.jpg
+[2026-08-03 17:57:24] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.018612s] /assets/img/Heroes/FUBG_R.png
+[2026-08-03 17:57:24] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.009537s] /Members/B-Smooth/assets/img/1.jpg
+[2026-08-03 17:57:24] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003515s] /Members/B-Smooth/assets/img/2.jpg
+[2026-08-03 17:57:24] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006506s] /Members/YuanZe/assets/img/B.jpg
+[2026-08-03 17:57:24] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007227s] /Members/B-Smooth/assets/img/3.jpg
+[2026-08-03 17:57:24] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006530s] /Members/B-Smooth/assets/img/4.jpg
+[2026-08-03 17:57:24] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006728s] /Members/B-Smooth/assets/img/5.jpg
+[2026-08-03 17:57:24] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005298s] /Members/B-Smooth/assets/img/6.jpg
+[2026-08-03 17:57:24] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.010326s] /Members/YuanZe/assets/img/E.jpg
+[2026-08-03 17:57:24] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008992s] /Members/YuanZe/assets/img/A.jpg
+[2026-08-03 17:57:24] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.009011s] /Members/YuanZe/assets/img/C.jpg
+[2026-08-03 17:57:24] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005524s] /Members/YuanZe/assets/img/D.png
+[2026-08-03 17:57:24] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.011301s] /Members/YuanZe/assets/img/F.jpg
+[2026-08-03 17:57:26] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.011764s] /
+[2026-08-03 17:57:27] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.022730s] /assets/useApi-CROJJdhE-mMpa5RAf.js
+[2026-08-03 17:57:27] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004534s] /assets/serverScope-O8Rw8SFk.js
+[2026-08-03 17:57:27] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004045s] /assets/use-global-config-D-dPcPvU.js
+[2026-08-03 17:57:27] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.009569s] /assets/index-PYod47p_.js
+[2026-08-03 17:57:27] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008136s] /assets/omit-zqi_K1DB.js
+[2026-08-03 17:57:27] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005662s] /assets/debounce-DcxdqJyS.js
+[2026-08-03 17:57:27] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004427s] /assets/runtime-dom.esm-bundler-YxjRGSuG.js
+[2026-08-03 17:57:27] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005341s] /assets/numbers-cik3maFd.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007613s] /assets/click-outside-bcMsT2om.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006366s] /assets/repeat-click-BatRPHhN.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004428s] /assets/button-CPx9BSuo.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006538s] /assets/descriptions-Cq_aE9sg.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003218s] /assets/castArray-CpgoCob_.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005798s] /assets/date-picker-CM_15T0u.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004563s] /assets/vnode-SMLE-MKY.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005531s] /assets/isArrayLikeObject-Bo9Xnvp4.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003366s] /assets/select-DLsGyyxh.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003557s] /assets/time-picker-Vvy2bAgZ.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003571s] /assets/strings-B6ImqFWg.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004548s] /assets/table-Dr1nXtew.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008868s] /assets/index-CHOuvNKI.css
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004061s] /assets/checkbox-CdKclTX1.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004537s] /assets/router-6S21C3Uf.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.009015s] /assets/tag-BSnLMVgs.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004718s] /assets/image-HD4q5QFa.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003530s] /assets/form-F--u6XQJ.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003546s] /assets/use-dialog-BxrOdCc2.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004376s] /assets/radio-Cb0vAm4I.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007564s] /assets/collapse-transition-D5PfF1iI.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006648s] /assets/tabs-CYsMN3ZE.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004046s] /assets/card-Dj_UeWcA.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002097s] /assets/col-BXlaMgkQ.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003527s] /assets/refs-Cc5FwKWV.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005119s] /assets/dialog-CnlyiaMm.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003570s] /assets/use-ordered-children-DGQ-CQup.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003528s] /assets/drawer-Cu-arLgK.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003054s] /assets/skeleton-DGDficlh.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003030s] /assets/avatar-DXM6bmhO.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003044s] /assets/alert-BpFV-0dO.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003794s] /assets/pagination-nJ2C9TUb.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005434s] /assets/input-number-CiNOxXL6.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005149s] /assets/empty-CnQTxkvl.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005092s] /assets/progress-CJYzD9Cp.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005103s] /assets/menu-BLdj5hCm.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002527s] /assets/result-gkzjWpF7.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005063s] /assets/directive-CY41a6pJ.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002023s] /assets/switch-CXqKjqYk.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004039s] /assets/steps-C4-7Ybf-.js
+[2026-08-03 17:57:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003002s] /assets/tree-DqeBDBpX.js
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 1111, in handle_one_response
+ self.run_application()
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 1058, in run_application
+ self.process_result()
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 1044, in process_result
+ self.write(data)
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 892, in write
+ self._write_with_headers(data)
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 913, in _write_with_headers
+ self._write(data)
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 875, in _write
+ self._sendall(data)
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 849, in _sendall
+ self.socket.sendall(data)
+ File "D:\Python312\Lib\site-packages\gevent\ssl.py", line 597, in sendall
+ return socket.sendall(self, data, flags)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\gevent\_socketcommon.py", line 693, in sendall
+ return _sendall(self, data_memory, flags)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\gevent\_socketcommon.py", line 382, in _sendall
+ timeleft = __send_chunk(socket, chunk, flags, timeleft, end)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\gevent\_socketcommon.py", line 311, in __send_chunk
+ data_sent += socket.send(chunk, flags)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\gevent\ssl.py", line 561, in send
+ return self._sslobj.write(data)
+ ^^^^^^^^^^^^^^^^^^^^^^^^
+ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:2406)
+2026-08-03T09:57:32Z {'REMOTE_ADDR': '127.0.0.1', 'REMOTE_PORT': '51146', 'HTTP_HOST': 'www.gvsds.com', (hidden keys: 37)} failed with SSLEOFError
+
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 1111, in handle_one_response
+ self.run_application()
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 1058, in run_application
+ self.process_result()
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 1044, in process_result
+ self.write(data)
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 892, in write
+ self._write_with_headers(data)
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 913, in _write_with_headers
+ self._write(data)
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 875, in _write
+ self._sendall(data)
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 849, in _sendall
+ self.socket.sendall(data)
+ File "D:\Python312\Lib\site-packages\gevent\ssl.py", line 597, in sendall
+ return socket.sendall(self, data, flags)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\gevent\_socketcommon.py", line 693, in sendall
+ return _sendall(self, data_memory, flags)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\gevent\_socketcommon.py", line 382, in _sendall
+ timeleft = __send_chunk(socket, chunk, flags, timeleft, end)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\gevent\_socketcommon.py", line 311, in __send_chunk
+ data_sent += socket.send(chunk, flags)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\gevent\ssl.py", line 561, in send
+ return self._sslobj.write(data)
+ ^^^^^^^^^^^^^^^^^^^^^^^^
+ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:2406)
+2026-08-03T09:57:32Z {'REMOTE_ADDR': '127.0.0.1', 'REMOTE_PORT': '51138', 'HTTP_HOST': 'www.gvsds.com', (hidden keys: 37)} failed with SSLEOFError
+
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 1111, in handle_one_response
+ self.run_application()
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 1058, in run_application
+ self.process_result()
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 1044, in process_result
+ self.write(data)
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 892, in write
+ self._write_with_headers(data)
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 913, in _write_with_headers
+ self._write(data)
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 875, in _write
+ self._sendall(data)
+ File "D:\Python312\Lib\site-packages\gevent\pywsgi.py", line 849, in _sendall
+ self.socket.sendall(data)
+ File "D:\Python312\Lib\site-packages\gevent\ssl.py", line 597, in sendall
+ return socket.sendall(self, data, flags)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\gevent\_socketcommon.py", line 693, in sendall
+ return _sendall(self, data_memory, flags)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\gevent\_socketcommon.py", line 382, in _sendall
+ timeleft = __send_chunk(socket, chunk, flags, timeleft, end)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\gevent\_socketcommon.py", line 311, in __send_chunk
+ data_sent += socket.send(chunk, flags)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\gevent\ssl.py", line 561, in send
+ return self._sslobj.write(data)
+ ^^^^^^^^^^^^^^^^^^^^^^^^
+ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:2406)
+2026-08-03T09:57:32Z {'REMOTE_ADDR': '127.0.0.1', 'REMOTE_PORT': '49203', 'HTTP_HOST': 'gerp.gvsds.com', (hidden keys: 38)} failed with SSLEOFError
+
+[2026-08-03 17:57:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007115s] /favicon.svg
+[2026-08-03 17:57:33,843] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 17:57:33] [INFO ] [域:ugm.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.320972s] /Query/GetELTUserAvatar
+[2026-08-03 18:00:13] [INFO ] [域:www.gvsds.com ] [200] [GET ] [180.163.30.85 ] [0.077071s] /
+[2026-08-03 18:00:13] [INFO ] [域:tailwind.gvsds.com ] [302] [GET ] [180.163.28.180 ] [0.015241s] /
+[2026-08-03 18:00:14] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [180.163.29.79 ] [0.006067s] /3.4.17
+[2026-08-03 18:05:03] [INFO ] [域:doc.gvsds.com ] [200] [GET ] [40.77.167.8 ] [0.194882s] /9bc298e9c1d03ed3bd4777181bf7411d
+[2026-08-03 18:08:15] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.119304s] /
+[2026-08-03 18:08:15] [INFO ] [域:tailwind.gvsds.com ] [302] [GET ] [111.32.65.119 ] [0.010652s] /
+[2026-08-03 18:08:16] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.026672s] /assets/css/cookie.css
+[2026-08-03 18:08:16] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.026023s] /assets/index-C5SSzDu1.js
+[2026-08-03 18:08:16] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.010428s] /assets/css/gvsds-page.css
+[2026-08-03 18:08:16] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.011623s] /assets/index-DjWoMvd6.css
+[2026-08-03 18:08:16] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006159s] /assets/hlogos/gnobg.png
+[2026-08-03 18:08:16] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.009486s] /assets/js/tailwind.config.js
+[2026-08-03 18:08:16] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003735s] /3.4.17
+[2026-08-03 18:08:17] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004278s] /assets/js/tetris.js
+[2026-08-03 18:08:17] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002609s] /assets/js/MegaMenus.js
+[2026-08-03 18:08:17] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002010s] /assets/config/Megas.js
+[2026-08-03 18:08:17] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003517s] /assets/js/nav.js
+[2026-08-03 18:08:17] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002839s] /assets/js/main.js
+[2026-08-03 18:08:17] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.017372s] /assets/js/cookie.js
+[2026-08-03 18:08:18] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003414s] /assets/fa-brands-400-Bs6tcqqs.woff2
+[2026-08-03 18:08:18] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002012s] /assets/fa-solid-900-IAB4Droh.woff2
+[2026-08-03 18:08:18] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004921s] /assets/SiteLayout-BslmXmWl.js
+[2026-08-03 18:08:18] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003088s] /assets/_plugin-vue_export-helper-BDNMzG2s.js
+[2026-08-03 18:08:18] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004123s] /assets/SiteLayout-Ce1FrjXG.css
+[2026-08-03 18:08:18] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004015s] /assets/HomeView-CXIg6n-a.js
+[2026-08-03 18:08:18] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003059s] /assets/Ying_Right-BWic5Lsp.js
+[2026-08-03 18:08:18] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007304s] /assets/img/Heroes/FUBG_R.png
+[2026-08-03 18:08:19] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007042s] /assets/img/Heroes/copyright.png
+[2026-08-03 18:08:19,311] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 18:08:19] [INFO ] [域:ugm.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.195651s] /Query/GetELTUserAvatar
+[2026-08-03 18:08:19] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003929s] /Members/B-Smooth/assets/img/2.jpg
+[2026-08-03 18:08:19] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003020s] /assets/img/Background/Ying_Right.png
+[2026-08-03 18:08:19] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003326s] /assets/img/Background/ChiSha_Left.png
+[2026-08-03 18:08:19] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.001514s] /Members/B-Smooth/assets/img/1.jpg
+[2026-08-03 18:08:19] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002306s] /Members/B-Smooth/assets/img/3.jpg
+[2026-08-03 18:08:19] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004294s] /Members/YuanZe/assets/img/D.png
+[2026-08-03 18:08:19] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002588s] /Members/B-Smooth/assets/img/4.jpg
+[2026-08-03 18:08:19] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002021s] /Members/B-Smooth/assets/img/6.jpg
+[2026-08-03 18:08:19] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002527s] /Members/B-Smooth/assets/img/5.jpg
+[2026-08-03 18:08:19] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.001566s] /assets/img/Cooperation/what.jpg
+[2026-08-03 18:08:19] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002517s] /Members/YuanZe/assets/img/B.jpg
+[2026-08-03 18:08:19] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002603s] /assets/img/Cooperation/MHD.jpg
+[2026-08-03 18:08:19] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002781s] /Members/YuanZe/assets/img/E.jpg
+[2026-08-03 18:08:19] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003377s] /assets/img/Cooperation/May.png
+[2026-08-03 18:08:19] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006323s] /assets/img/Mascot/resize/5.png
+[2026-08-03 18:08:19] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002124s] /Members/YuanZe/assets/img/F.jpg
+[2026-08-03 18:08:19] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003558s] /Members/YuanZe/assets/img/C.jpg
+[2026-08-03 18:08:19] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002640s] /Members/YuanZe/assets/img/A.jpg
+[2026-08-03 18:08:19] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003956s] /assets/img/Cooperation/CodeCrafterStudio.jpg
+[2026-08-03 18:08:19] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003846s] /assets/img/Cooperation/XINGJI.png
+[2026-08-03 18:08:19] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003118s] /assets/img/Cooperation/373.jpg
+[2026-08-03 18:08:19] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002013s] /assets/img/Cooperation/SunnyStudio.jpg
+[2026-08-03 18:08:27] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003547s] /favicon.ico
+[2026-08-03 18:08:27,175] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 18:08:27] [INFO ] [域:ugm.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.029366s] /Query/GetELTUserAvatar
+[2026-08-03 18:10:46] [INFO ] [域:192.0.2.1 ] [301] [GET] / - 127.0.0.1 - 0.000000s
+[2026-08-03 18:11:13] [INFO ] [域:64.90.1.101 ] [301] [GET] / - 127.0.0.1 - 0.000000s
+[2026-08-03 18:11:14] [INFO ] [域:64.90.1.101 ] [301] [GET] /favicon.ico - 127.0.0.1 - 0.000000s
+[2026-08-03 18:11:15] [INFO ] [域:64.90.1.101 ] [301] [GET] / - 127.0.0.1 - 0.000000s
+[2026-08-03 18:11:15] [INFO ] [域:64.90.1.101 ] [301] [GET] /mcp - 127.0.0.1 - 0.000000s
+[2026-08-03 18:11:15] [INFO ] [域:64.90.1.101 ] [301] [GET] /sse - 127.0.0.1 - 0.000000s
+[2026-08-03 18:11:28] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.102318s] /
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.011360s] /assets/index-PYod47p_.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007083s] /assets/useApi-CROJJdhE-mMpa5RAf.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003015s] /assets/runtime-dom.esm-bundler-YxjRGSuG.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005539s] /assets/serverScope-O8Rw8SFk.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004047s] /assets/use-global-config-D-dPcPvU.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003886s] /assets/numbers-cik3maFd.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004119s] /assets/debounce-DcxdqJyS.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005588s] /assets/click-outside-bcMsT2om.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003759s] /assets/repeat-click-BatRPHhN.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004979s] /assets/omit-zqi_K1DB.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003714s] /assets/button-CPx9BSuo.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005850s] /assets/descriptions-Cq_aE9sg.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003583s] /assets/strings-B6ImqFWg.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005508s] /assets/tag-BSnLMVgs.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004005s] /assets/date-picker-CM_15T0u.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003922s] /assets/castArray-CpgoCob_.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003297s] /assets/router-6S21C3Uf.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005747s] /assets/vnode-SMLE-MKY.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003005s] /assets/isArrayLikeObject-Bo9Xnvp4.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004983s] /assets/checkbox-CdKclTX1.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003166s] /assets/select-DLsGyyxh.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003013s] /assets/time-picker-Vvy2bAgZ.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005531s] /assets/form-F--u6XQJ.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004591s] /assets/table-Dr1nXtew.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003850s] /assets/image-HD4q5QFa.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004823s] /assets/use-ordered-children-DGQ-CQup.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004028s] /assets/skeleton-DGDficlh.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006545s] /assets/alert-BpFV-0dO.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005743s] /assets/radio-Cb0vAm4I.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003636s] /assets/use-dialog-BxrOdCc2.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003554s] /assets/avatar-DXM6bmhO.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004777s] /assets/tabs-CYsMN3ZE.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003566s] /assets/card-Dj_UeWcA.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003509s] /assets/drawer-Cu-arLgK.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008285s] /assets/menu-BLdj5hCm.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005046s] /assets/collapse-transition-D5PfF1iI.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003218s] /assets/col-BXlaMgkQ.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004201s] /assets/index-CHOuvNKI.css
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003407s] /assets/refs-Cc5FwKWV.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005140s] /assets/input-number-CiNOxXL6.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004414s] /assets/progress-CJYzD9Cp.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004707s] /assets/switch-CXqKjqYk.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004369s] /assets/dialog-CnlyiaMm.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004309s] /assets/empty-CnQTxkvl.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.018409s] /assets/pagination-nJ2C9TUb.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004260s] /assets/steps-C4-7Ybf-.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004401s] /assets/result-gkzjWpF7.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005417s] /assets/tree-DqeBDBpX.js
+[2026-08-03 18:11:29] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006769s] /assets/directive-CY41a6pJ.js
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002561s] /assets/css-CY4c3_XL.js
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002604s] /assets/DefaultLayout-CXsm7aM5.js
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005973s] /assets/CompanyDetail-x1XGuNl0.css
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003409s] /assets/css-cyJZB4WD.css
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003206s] /assets/css-C8-vPSoj.css
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003121s] /assets/css-DJFxnum_.css
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.001566s] /assets/css-yeo4Q6aC.js
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005377s] /assets/css-DsD2Typt.js
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003347s] /assets/app-CsXEx-XH.js
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004587s] /assets/css-6qaeDme6.js
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003551s] /assets/css-BEipSTAx.js
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006498s] /assets/css-1VV9QMa7.css
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004344s] /assets/css-ZSOkJyjJ.css
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002743s] /assets/favicon-CjgOoDgN.js
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004848s] /assets/DefaultLayout-C0yp82k_.css
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004288s] /assets/Company-DH2AHIDA.js
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003454s] /assets/css-CttyGzET.js
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006627s] /assets/css-BrTRgFS7.css
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004085s] /assets/AdminBadge-B-j0OYky.css
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002103s] /assets/css-BAyktVMS.css
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002674s] /assets/css-Dq8WDDkr.css
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006635s] /assets/Company-IcHivBEf.css
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002561s] /assets/css-DUbGnqO_.css
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003453s] /assets/css-4sOBTGxz.css
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002491s] /assets/css-CzNtyWdF.css
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003231s] /assets/CrudTable-BhQdCCjJ.js
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002687s] /assets/AdminBadge-Z72F8Boy.js
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002659s] /assets/css-w8-s2aei.js
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002111s] /assets/css-DMLZMbB9.js
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002073s] /assets/css-Cy-4mdDD.js
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002251s] /assets/form-5ZD8sCyX.js
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002603s] /assets/css-OVWuLPuT.css
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002527s] /assets/css-DMOjom7l.js
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004380s] /assets/css-DExoAqKP.css
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003885s] /assets/css-B7gvwdWB.css
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004373s] /assets/css-CM8IHeeM.js
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003695s] /assets/css-fhPIiYtD.js
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003379s] /assets/css-BtQxgKdl.css
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003288s] /assets/css-Wv38huFO.css
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003056s] /assets/css-hrelhGmJ.css
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002020s] /assets/css-BLJI5-W_.js
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002805s] /assets/css-BNmWJdpO.css
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002956s] /assets/css-Dmy6QwIc.js
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005029s] /assets/CrudTable-9eXdWheP.css
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003908s] /assets/css-DmmbJMxg.js
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003432s] /assets/css-0wcCNliC.js
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005163s] /assets/css-49fsIjk3.js
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004380s] /assets/css-D-a1H3t1.js
+[2026-08-03 18:11:32] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003659s] /assets/css-ByqxgOA-.js
+[2026-08-03 18:11:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005815s] /assets/Dashboard-bCAPPtqB.js
+[2026-08-03 18:11:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006210s] /favicon.svg
+[2026-08-03 18:11:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.013955s] /assets/Dashboard-BikaeE2A.css
+[2026-08-03 18:11:33] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.033790s] /assets/fa-solid-900-IAB4Droh.woff2
+[2026-08-03 18:11:33,914] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 18:11:34,024] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 18:11:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.547670s] /API/FormAPI/Get/Company?page=1&pageSize=20&sortOrder=asc
+[2026-08-03 18:11:34,139] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 18:11:34,163] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 18:11:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.066338s] /API/FormAPI/Columns/Company
+[2026-08-03 18:11:34,201] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 18:11:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.056422s] /Auth/GetUserRoles
+[2026-08-03 18:11:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004459s] /favicon.svg
+[2026-08-03 18:11:34,349] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 18:11:34] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.041620s] /Query/GetELTUserAvatar
+[2026-08-03 18:11:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005755s] /assets/DetailPage-m11wfvkM.js
+[2026-08-03 18:11:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002677s] /assets/css-BpDzfuC8.css
+[2026-08-03 18:11:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003717s] /assets/css-CysIl0tz.js
+[2026-08-03 18:11:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002693s] /assets/CompanyDetail-Dr8D7tua.js
+[2026-08-03 18:11:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003044s] /assets/DetailPage-B9od5Isl.css
+[2026-08-03 18:11:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002516s] /assets/InfoGrid-C1it9Z2Y.js
+[2026-08-03 18:11:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004381s] /assets/useResolveUUIDs-BsxpEMXB.js
+[2026-08-03 18:11:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003524s] /assets/InfoGrid-BY8rlZVK.css
+[2026-08-03 18:11:38,248] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 18:11:38,257] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 18:11:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.038325s] /API/FormAPI/Get/Company?CompanyUUID=b78783e2-2e9d-4ccf-aa7e-56fa3a6db0eb&pageSize=1
+[2026-08-03 18:11:38,587] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 18:11:38,608] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 18:11:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.064616s] /API/FormAPI/Columns/Workgroup
+[2026-08-03 18:11:38,655] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 18:11:38,667] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 18:11:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.067371s] /API/FormAPI/Get/Company?CompanyUUID=2328c005-151f-4c05-a6ea-eecffd234063&pageSize=1
+[2026-08-03 18:11:38,711] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 18:11:38,724] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 18:11:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.038686s] /API/FormAPI/Columns/Department
+[2026-08-03 18:11:38,754] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 18:11:38,774] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 18:11:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.043057s] /API/FormAPI/Columns/UserRole
+[2026-08-03 18:11:38,802] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 18:11:38,816] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 18:11:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.080968s] /API/FormAPI/Get/Workgroup?page=1&pageSize=20&sortOrder=asc&CompanyUUID=b78783e2-2e9d-4ccf-aa7e-56fa3a6db0eb
+[2026-08-03 18:11:38,884] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 18:11:38,900] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 18:11:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.055492s] /API/FormAPI/Get/Department?page=1&pageSize=20&sortOrder=asc&CompanyUUID=b78783e2-2e9d-4ccf-aa7e-56fa3a6db0eb
+[2026-08-03 18:11:38,953] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 18:11:38,968] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 18:11:38] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.062970s] /API/FormAPI/Get/UserRole?page=1&pageSize=20&sortOrder=asc&CompanyUUID=b78783e2-2e9d-4ccf-aa7e-56fa3a6db0eb
+[2026-08-03 18:11:39,077] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 18:11:39,101] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 18:11:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.078084s] /API/FormAPI/Get/Tenant?TenantUUID=a58f128b-9005-44cd-a4e4-c57ff3eaeb68&pageSize=1
+[2026-08-03 18:20:10] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.084951s] /
+[2026-08-03 18:20:11] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.023187s] /assets/index-D0iWj_Nq.js
+[2026-08-03 18:20:11] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006024s] /assets/runtime-dom.esm-bundler-YxjRGSuG.js
+[2026-08-03 18:20:11] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.011524s] /assets/useApi-CROJJdhE-mMpa5RAf.js
+[2026-08-03 18:20:11] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006281s] /assets/use-global-config-D-dPcPvU.js
+[2026-08-03 18:20:11] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006782s] /assets/serverScope-O8Rw8SFk.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003844s] /assets/click-outside-bcMsT2om.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004152s] /assets/descriptions-Cq_aE9sg.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003137s] /assets/omit-zqi_K1DB.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003208s] /assets/button-CPx9BSuo.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003054s] /assets/date-picker-CM_15T0u.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002531s] /assets/vnode-SMLE-MKY.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002509s] /assets/numbers-cik3maFd.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002650s] /assets/debounce-DcxdqJyS.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002510s] /assets/strings-B6ImqFWg.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002804s] /assets/repeat-click-BatRPHhN.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003051s] /assets/router-_U2BtSgv.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002022s] /assets/castArray-CpgoCob_.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004981s] /assets/tag-BSnLMVgs.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003655s] /assets/table-B0c0Fwtq.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003637s] /assets/select-kGC9KdPU.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003763s] /assets/isArrayLikeObject-Bo9Xnvp4.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003128s] /assets/use-ordered-children-DGQ-CQup.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004614s] /assets/skeleton-DGDficlh.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004583s] /assets/checkbox-CdKclTX1.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003675s] /assets/form-F--u6XQJ.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004452s] /assets/image-HD4q5QFa.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004020s] /assets/time-picker-CFX9Ag4A.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002163s] /assets/card-Dj_UeWcA.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005440s] /assets/alert-BpFV-0dO.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004720s] /assets/drawer-Cu-arLgK.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005331s] /assets/use-dialog-BxrOdCc2.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004966s] /assets/avatar-DXM6bmhO.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004849s] /assets/tabs-BYSmX4B5.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008123s] /assets/radio-Cb0vAm4I.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004655s] /assets/col-BXlaMgkQ.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003488s] /assets/refs-Cc5FwKWV.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002762s] /assets/input-number-CiNOxXL6.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005007s] /assets/collapse-transition-D5PfF1iI.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005332s] /assets/menu-BLdj5hCm.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003829s] /assets/index-CHOuvNKI.css
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005172s] /assets/empty-CnQTxkvl.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004661s] /assets/dialog-CB1cM8pz.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005291s] /assets/pagination-BAeD_aqB.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003547s] /assets/progress-CJYzD9Cp.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003191s] /assets/steps-C4-7Ybf-.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002640s] /assets/result-gkzjWpF7.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003605s] /assets/directive-CY41a6pJ.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005117s] /assets/switch-BJwHSYT5.js
+[2026-08-03 18:20:12] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004077s] /assets/tree-DqeBDBpX.js
+[2026-08-03 18:20:14] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003342s] /assets/DefaultLayout-c03HnWLL.js
+[2026-08-03 18:20:14] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002659s] /assets/css-CY4c3_XL.js
+[2026-08-03 18:20:14] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003157s] /assets/css-C8-vPSoj.css
+[2026-08-03 18:20:14] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002410s] /assets/css-cyJZB4WD.css
+[2026-08-03 18:20:14] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002626s] /assets/UserDetail-x1XGuNl0.css
+[2026-08-03 18:20:14] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002141s] /assets/css-DngKwA3t.js
+[2026-08-03 18:20:14] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003810s] /assets/css-DsD2Typt.js
+[2026-08-03 18:20:14] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003188s] /assets/css-1VV9QMa7.css
+[2026-08-03 18:20:14] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.036289s] /assets/css-ZSOkJyjJ.css
+[2026-08-03 18:20:14] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004275s] /assets/CompanyDetail-CPM35Ljn.js
+[2026-08-03 18:20:14] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004721s] /assets/app-ByjXLe5p.js
+[2026-08-03 18:20:14] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003723s] /assets/css-BEipSTAx.js
+[2026-08-03 18:20:14] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004482s] /assets/css-DJFxnum_.css
+[2026-08-03 18:20:14] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005420s] /assets/DefaultLayout-C0yp82k_.css
+[2026-08-03 18:20:14] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002828s] /assets/css-49fsIjk3.js
+[2026-08-03 18:20:14] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002551s] /assets/favicon-CjgOoDgN.js
+[2026-08-03 18:20:14] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004319s] /assets/css-DExoAqKP.css
+[2026-08-03 18:20:14] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004023s] /assets/css-D-a1H3t1.js
+[2026-08-03 18:20:14] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004092s] /assets/css-DUbGnqO_.css
+[2026-08-03 18:20:14] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004512s] /assets/css-BAyktVMS.css
+[2026-08-03 18:20:14] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005192s] /assets/css-BtQxgKdl.css
+[2026-08-03 18:20:14] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006305s] /assets/css-BrTRgFS7.css
+[2026-08-03 18:20:14] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004580s] /assets/css-DmmbJMxg.js
+[2026-08-03 18:20:14] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003893s] /assets/css-CttyGzET.js
+[2026-08-03 18:20:14] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006380s] /assets/css-6qaeDme6.js
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003609s] /assets/css-Wv38huFO.css
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004200s] /assets/css-BpDzfuC8.css
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003536s] /assets/css-CysIl0tz.js
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003437s] /assets/css-DMOjom7l.js
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006104s] /assets/css-OVWuLPuT.css
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004038s] /assets/AdminBadge-Z72F8Boy.js
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003158s] /assets/css-4sOBTGxz.css
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003558s] /assets/css-CzNtyWdF.css
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005283s] /assets/AdminBadge-B-j0OYky.css
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003849s] /assets/css-B7gvwdWB.css
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005379s] /assets/css-w8-s2aei.js
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004367s] /assets/css-CM8IHeeM.js
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004981s] /assets/CompanyDetail-D-rkAfLA.css
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002039s] /assets/css-hrelhGmJ.css
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004393s] /assets/CrudTable-9eXdWheP.css
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004448s] /assets/css-Dq8WDDkr.css
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004147s] /assets/css-BNmWJdpO.css
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003932s] /assets/DetailPage-B9od5Isl.css
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003081s] /assets/css-Dmy6QwIc.js
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003592s] /assets/useResolveUUIDs-C51CBHww.js
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003518s] /assets/css-Cy-4mdDD.js
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003603s] /assets/css-fhPIiYtD.js
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004498s] /assets/css-BLJI5-W_.js
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008096s] /assets/CrudTable-mFuxjKNE.js
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003722s] /assets/css-ByqxgOA-.js
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004508s] /assets/form-wGc4gwf3.js
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004065s] /assets/css-0wcCNliC.js
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004608s] /assets/DetailPage-m11wfvkM.js
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004286s] /assets/css-DMLZMbB9.js
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003121s] /favicon.svg
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002509s] /assets/fa-solid-900-IAB4Droh.woff2
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004005s] /assets/Dashboard-b7ynbJTk.js
+[2026-08-03 18:20:15,843] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.122738s] /Auth/GetUserRoles
+[2026-08-03 18:20:15,886] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 18:20:15,901] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.044991s] /API/FormAPI/Get/Company?CompanyUUID=b78783e2-2e9d-4ccf-aa7e-56fa3a6db0eb&pageSize=1
+[2026-08-03 18:20:15,933] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 18:20:15] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.022235s] /Query/GetELTUserAvatar
+[2026-08-03 18:20:16,225] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 18:20:16,235] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 18:20:16] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.040165s] /API/FormAPI/Get/Company?CompanyUUID=2328c005-151f-4c05-a6ea-eecffd234063&pageSize=1
+[2026-08-03 18:20:16,267] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 18:20:16,279] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 18:20:16] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.050783s] /API/FormAPI/Get/Department?page=1&pageSize=20&sortOrder=asc&CompanyUUID=b78783e2-2e9d-4ccf-aa7e-56fa3a6db0eb
+[2026-08-03 18:20:16,321] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 18:20:16,329] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 18:20:16] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.024092s] /API/FormAPI/Columns/Workgroup
+[2026-08-03 18:20:16,347] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 18:20:16,355] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 18:20:16] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.023432s] /API/FormAPI/Columns/Department
+[2026-08-03 18:20:16,377] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 18:20:16,388] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 18:20:16] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.040490s] /API/FormAPI/Get/Workgroup?page=1&pageSize=20&sortOrder=asc&CompanyUUID=b78783e2-2e9d-4ccf-aa7e-56fa3a6db0eb
+[2026-08-03 18:20:16,416] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 18:20:16,427] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 18:20:16] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.024859s] /API/FormAPI/Columns/UserRole
+[2026-08-03 18:20:16,446] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 18:20:16,465] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 18:20:16] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.049031s] /API/FormAPI/Get/UserRole?page=1&pageSize=20&sortOrder=asc&CompanyUUID=b78783e2-2e9d-4ccf-aa7e-56fa3a6db0eb
+[2026-08-03 18:20:16,567] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 18:20:16,581] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 18:20:16] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.047850s] /API/FormAPI/Get/Tenant?TenantUUID=a58f128b-9005-44cd-a4e4-c57ff3eaeb68&pageSize=1
+[2026-08-03 18:20:23,753] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 18:20:23,770] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 18:20:23] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.039792s] /API/FormAPI/Columns/Company
+[2026-08-03 18:25:48,597] [ERROR] [www.gvsds.com] [500] [GET] [127.0.0.1] /Members/ChiSha/assets/img/C.jpg
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-03 18:25:48,665] [WARNING] Not Found: /Members/ChiSha/assets/img/C.jpg
+[2026-08-03 18:25:48] [WARNING] [域:www.gvsds.com ] [404] [GET ] [173.252.82.31 ] [0.191062s] /Members/ChiSha/assets/img/C.jpg
+[2026-08-03 18:31:23] [INFO ] [域:ugm.gvsds.com ] [302] [GET ] [43.166.134.47 ] [0.033536s] /
+[2026-08-03 18:31:26] [INFO ] [域:www.gvsds.com ] [200] [GET ] [43.166.134.47 ] [0.022541s] /login.html
+[2026-08-03 18:33:18] [INFO ] [域:www.gvsds.com ] [200] [GET ] [47.79.200.41 ] [0.017109s] /assets/fonts/PlaylistScript.otf
+[2026-08-03 18:42:24] [INFO ] [域:mc.gvsds.com ] [200] [GET ] [120.239.136.116] [0.079734s] /
+[2026-08-03 18:42:25] [INFO ] [域:mc.gvsds.com ] [200] [GET ] [120.239.136.116] [0.014981s] /favicon.ico
+[2026-08-03 18:50:15] [INFO ] [域:www.gvsds.com ] [200] [GET ] [57.141.18.82 ] [0.033734s] /assets/hlogos/logo.jpg
+[2026-08-03 18:50:23] [INFO ] [域:www.gvsds.com ] [200] [GET ] [57.141.18.89 ] [0.023382s] /assets/hlogos/logo.jpg
+[2026-08-03 19:04:28] [INFO ] [域:invite.gvsds.com ] [200] [GET ] [111.225.214.150] [0.042927s] /
+[2026-08-03 19:06:27,831] [ERROR] [www.gvsds.com] [500] [GET] [127.0.0.1] /sitemap.xml
+Traceback (most recent call last):
+ File "D:\Python312\Lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
+ response = wrapped_callback(request, *callback_args, **callback_kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 106, in view
+ return self.dispatch(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "D:\Python312\Lib\site-packages\django\views\generic\base.py", line 145, in dispatch
+ return handler(request, *args, **kwargs)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "d:\SMANAGE\gvsds\apps\core\views.py", line 180, in get
+ raise Http404
+django.http.response.Http404
+[2026-08-03 19:06:28,312] [WARNING] Not Found: /sitemap.xml
+[2026-08-03 19:06:28] [WARNING] [域:www.gvsds.com ] [404] [GET ] [57.141.18.41 ] [4.282061s] /sitemap.xml
+[2026-08-03 19:06:35] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.030390s] /
+[2026-08-03 19:06:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.077737s] /assets/index-ClR6qpvZ.js
+[2026-08-03 19:06:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.022973s] /assets/router-CUECP1L-.js
+[2026-08-03 19:06:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.019207s] /assets/time-picker-BCY2rMZ0.js
+[2026-08-03 19:06:36] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.011494s] /assets/select-Cicbdies.js
+[2026-08-03 19:06:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.010079s] /assets/table-DVUx-wh3.js
+[2026-08-03 19:06:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.012974s] /assets/switch-Cc-yWuYJ.js
+[2026-08-03 19:06:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.011225s] /assets/dialog-C9NVhs_W.js
+[2026-08-03 19:06:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.009057s] /assets/pagination-BUFLl-1N.js
+[2026-08-03 19:06:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004117s] /assets/tabs-CRB22dGe.js
+[2026-08-03 19:06:37] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.011251s] /assets/index-DIZw8r_d.css
+[2026-08-03 19:06:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006327s] /assets/CompanyDetail-CwCjGNGQ.css
+[2026-08-03 19:06:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006834s] /assets/DefaultLayout-C1KoWJ4m.js
+[2026-08-03 19:06:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007979s] /assets/app-CoDzrHhl.js
+[2026-08-03 19:06:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004768s] /assets/CrudTable-Cu2VvAiS.js
+[2026-08-03 19:06:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.010350s] /assets/CompanyDetail-DMDPkQca.js
+[2026-08-03 19:06:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006243s] /assets/useResolveUUIDs-CzdkZLIU.js
+[2026-08-03 19:06:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005707s] /assets/form-DeGOAh8V.js
+[2026-08-03 19:06:39] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.010718s] /assets/Dashboard-BhfOrP1D.js
+[2026-08-03 19:06:40,307] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 19:06:40,403] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 19:06:40] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.741226s] /API/FormAPI/Get/Company?CompanyUUID=b78783e2-2e9d-4ccf-aa7e-56fa3a6db0eb&pageSize=1
+[2026-08-03 19:06:40,537] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 19:06:40] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.063978s] /Query/GetELTUserAvatar
+[2026-08-03 19:06:40,609] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 19:06:40] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.084552s] /Auth/GetUserRoles
+[2026-08-03 19:06:41,022] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 19:06:41,043] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 19:06:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.160453s] /API/FormAPI/Get/Company?CompanyUUID=2328c005-151f-4c05-a6ea-eecffd234063&pageSize=1
+[2026-08-03 19:06:41,160] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 19:06:41,184] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 19:06:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.108815s] /API/FormAPI/Get/UserRole?page=1&pageSize=20&sortOrder=asc&CompanyUUID=b78783e2-2e9d-4ccf-aa7e-56fa3a6db0eb
+[2026-08-03 19:06:41,262] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 19:06:41,289] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 19:06:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.074076s] /API/FormAPI/Columns/Workgroup
+[2026-08-03 19:06:41,334] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 19:06:41,365] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 19:06:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.096139s] /API/FormAPI/Get/Department?page=1&pageSize=20&sortOrder=asc&CompanyUUID=b78783e2-2e9d-4ccf-aa7e-56fa3a6db0eb
+[2026-08-03 19:06:41,443] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 19:06:41,460] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 19:06:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.080193s] /API/FormAPI/Get/Workgroup?page=1&pageSize=20&sortOrder=asc&CompanyUUID=b78783e2-2e9d-4ccf-aa7e-56fa3a6db0eb
+[2026-08-03 19:06:41,521] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 19:06:41,540] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 19:06:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.056273s] /API/FormAPI/Columns/Department
+[2026-08-03 19:06:41,585] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 19:06:41,605] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 19:06:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.053763s] /API/FormAPI/Columns/UserRole
+[2026-08-03 19:06:41,718] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 19:06:41,736] [INFO] [FormService] __init__: user=TermiNexus, company_scope=False, tenant_scope=True, current_role_uuid=a9b6d7b014694702b84bf80cce50b466, current_company_uuid=2328c005151f4c05a6eaeecffd234063, current_tenant_uuid=a58f128b900544cda4e4c57ff3eaeb68
+[2026-08-03 19:06:41] [INFO ] [域:gerp.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.075033s] /API/FormAPI/Get/Tenant?TenantUUID=a58f128b-9005-44cd-a4e4-c57ff3eaeb68&pageSize=1
+[2026-08-03 19:10:13] [INFO ] [域:invite.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.183571s] /
+[2026-08-03 19:10:13] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.034632s] /assets/css/gvsds-page.css
+[2026-08-03 19:10:13] [INFO ] [域:tailwind.gvsds.com ] [302] [GET ] [111.32.65.119 ] [0.010317s] /
+[2026-08-03 19:10:14] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.012537s] /assets/js/tailwind.config.js
+[2026-08-03 19:10:14] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007061s] /assets/css/cookie.css
+[2026-08-03 19:10:14] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.010418s] /assets/js/tetris.js
+[2026-08-03 19:10:14] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002617s] /assets/js/MegaMenus.js
+[2026-08-03 19:10:14] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.015959s] /3.4.17
+[2026-08-03 19:10:14] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007122s] /assets/config/Megas.js
+[2026-08-03 19:10:14] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005189s] /assets/js/nav.js
+[2026-08-03 19:10:15] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003072s] /assets/js/main.js
+[2026-08-03 19:10:15] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004801s] /assets/js/cookie.js
+[2026-08-03 19:10:16] [INFO ] [域:invite.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.025493s] /favicon.ico
+[2026-08-03 19:10:16,643] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 19:10:16] [INFO ] [域:ugm.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.187536s] /Query/GetELTUserAvatar
+[2026-08-03 19:10:29] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006539s] /
+[2026-08-03 19:10:30] [INFO ] [域:tailwind.gvsds.com ] [302] [GET ] [111.32.65.119 ] [0.002588s] /
+[2026-08-03 19:10:30] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008056s] /assets/css/gvsds-page.css
+[2026-08-03 19:10:30] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003011s] /assets/css/cookie.css
+[2026-08-03 19:10:30] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005060s] /assets/index-CaLJ-CGl.js
+[2026-08-03 19:10:30] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003001s] /assets/js/tailwind.config.js
+[2026-08-03 19:10:30] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003727s] /3.4.17
+[2026-08-03 19:10:30] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008138s] /assets/hlogos/gnobg.png
+[2026-08-03 19:10:30] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005727s] /assets/index-DjWoMvd6.css
+[2026-08-03 19:10:31] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005835s] /assets/js/tetris.js
+[2026-08-03 19:10:31] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003269s] /assets/js/MegaMenus.js
+[2026-08-03 19:10:31] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004049s] /assets/config/Megas.js
+[2026-08-03 19:10:31] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004887s] /assets/js/main.js
+[2026-08-03 19:10:31] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004066s] /assets/js/cookie.js
+[2026-08-03 19:10:31] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006659s] /assets/js/nav.js
+[2026-08-03 19:10:31] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008600s] /assets/fa-solid-900-IAB4Droh.woff2
+[2026-08-03 19:10:31] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006621s] /assets/fa-brands-400-Bs6tcqqs.woff2
+[2026-08-03 19:10:32] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.009816s] /assets/_plugin-vue_export-helper-BDNMzG2s.js
+[2026-08-03 19:10:32] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005317s] /assets/Ying_Right-BWic5Lsp.js
+[2026-08-03 19:10:32] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006243s] /assets/HomeView-6B6tlpk2.js
+[2026-08-03 19:10:32] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006413s] /assets/SiteLayout-CFh_8_FZ.js
+[2026-08-03 19:10:32] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.020590s] /assets/SiteLayout-Ce1FrjXG.css
+[2026-08-03 19:10:32] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.015321s] /assets/img/Heroes/FUBG_R.png
+[2026-08-03 19:10:32,797] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 19:10:32] [INFO ] [域:ugm.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.072611s] /Query/GetELTUserAvatar
+[2026-08-03 19:10:33] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.011264s] /assets/img/Background/ChiSha_Left.png
+[2026-08-03 19:10:33] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.012044s] /assets/img/Background/Ying_Right.png
+[2026-08-03 19:10:33] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008605s] /assets/img/Heroes/copyright.png
+[2026-08-03 19:10:33] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008667s] /Members/B-Smooth/assets/img/2.jpg
+[2026-08-03 19:10:33] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005419s] /Members/B-Smooth/assets/img/1.jpg
+[2026-08-03 19:10:33] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008577s] /Members/B-Smooth/assets/img/3.jpg
+[2026-08-03 19:10:33] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007766s] /Members/B-Smooth/assets/img/4.jpg
+[2026-08-03 19:10:33] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005600s] /Members/B-Smooth/assets/img/5.jpg
+[2026-08-03 19:10:33] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005383s] /Members/B-Smooth/assets/img/6.jpg
+[2026-08-03 19:10:34] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.010577s] /Members/YuanZe/assets/img/A.jpg
+[2026-08-03 19:10:34] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007929s] /Members/YuanZe/assets/img/B.jpg
+[2026-08-03 19:10:34] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004559s] /Members/YuanZe/assets/img/C.jpg
+[2026-08-03 19:10:34] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006141s] /Members/YuanZe/assets/img/D.png
+[2026-08-03 19:10:35] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005419s] /Members/YuanZe/assets/img/E.jpg
+[2026-08-03 19:10:35] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004310s] /Members/YuanZe/assets/img/F.jpg
+[2026-08-03 19:10:35] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.008474s] /assets/img/Mascot/resize/5.png
+[2026-08-03 19:10:35] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003877s] /assets/img/Cooperation/what.jpg
+[2026-08-03 19:10:35] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004181s] /assets/img/Cooperation/CodeCrafterStudio.jpg
+[2026-08-03 19:10:35] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007624s] /assets/img/Cooperation/May.png
+[2026-08-03 19:10:35] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006419s] /assets/img/Cooperation/XINGJI.png
+[2026-08-03 19:10:35] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003052s] /assets/img/Cooperation/MHD.jpg
+[2026-08-03 19:10:35] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007038s] /assets/img/Cooperation/373.jpg
+[2026-08-03 19:10:36] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004306s] /assets/img/Cooperation/SunnyStudio.jpg
+[2026-08-03 19:10:39] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005065s] /favicon.ico
+[2026-08-03 19:10:39,890] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 19:10:39] [INFO ] [域:ugm.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.032796s] /Query/GetELTUserAvatar
+[2026-08-03 19:10:48] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004035s] /
+[2026-08-03 19:10:48] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003718s] /assets/css/cookie.css
+[2026-08-03 19:10:48] [INFO ] [域:tailwind.gvsds.com ] [302] [GET ] [111.32.65.119 ] [0.001061s] /
+[2026-08-03 19:10:48] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002533s] /assets/css/gvsds-page.css
+[2026-08-03 19:10:48] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002087s] /assets/js/tailwind.config.js
+[2026-08-03 19:10:48] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003182s] /assets/index-CaLJ-CGl.js
+[2026-08-03 19:10:49] [INFO ] [域:tailwind.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003213s] /3.4.17
+[2026-08-03 19:10:49] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005470s] /assets/hlogos/gnobg.png
+[2026-08-03 19:10:49] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003461s] /assets/index-DjWoMvd6.css
+[2026-08-03 19:10:49] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003204s] /assets/js/tetris.js
+[2026-08-03 19:10:50] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003825s] /assets/js/MegaMenus.js
+[2026-08-03 19:10:50] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007869s] /assets/config/Megas.js
+[2026-08-03 19:10:50] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004235s] /assets/js/nav.js
+[2026-08-03 19:10:50] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004591s] /assets/js/main.js
+[2026-08-03 19:10:50] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006619s] /assets/js/cookie.js
+[2026-08-03 19:10:50] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003136s] /assets/fa-solid-900-IAB4Droh.woff2
+[2026-08-03 19:10:50] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004128s] /assets/fa-brands-400-Bs6tcqqs.woff2
+[2026-08-03 19:10:50] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003141s] /assets/SiteLayout-CFh_8_FZ.js
+[2026-08-03 19:10:50] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002701s] /assets/SiteLayout-Ce1FrjXG.css
+[2026-08-03 19:10:50] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003423s] /assets/HomeView-6B6tlpk2.js
+[2026-08-03 19:10:50] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004375s] /assets/_plugin-vue_export-helper-BDNMzG2s.js
+[2026-08-03 19:10:50] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004078s] /assets/Ying_Right-BWic5Lsp.js
+[2026-08-03 19:10:51] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006287s] /assets/img/Heroes/FUBG_R.png
+[2026-08-03 19:10:51,718] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 19:10:51] [INFO ] [域:ugm.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.142966s] /Query/GetELTUserAvatar
+[2026-08-03 19:10:51] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.009162s] /assets/img/Background/ChiSha_Left.png
+[2026-08-03 19:10:51] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004532s] /assets/img/Heroes/copyright.png
+[2026-08-03 19:10:52] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004466s] /assets/img/Background/Ying_Right.png
+[2026-08-03 19:10:52] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.007369s] /Members/B-Smooth/assets/img/3.jpg
+[2026-08-03 19:10:52] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004192s] /Members/B-Smooth/assets/img/1.jpg
+[2026-08-03 19:10:52] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005347s] /Members/B-Smooth/assets/img/2.jpg
+[2026-08-03 19:10:53] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005870s] /Members/B-Smooth/assets/img/4.jpg
+[2026-08-03 19:10:53] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004817s] /Members/B-Smooth/assets/img/5.jpg
+[2026-08-03 19:10:53] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005564s] /Members/B-Smooth/assets/img/6.jpg
+[2026-08-03 19:10:53] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004054s] /Members/YuanZe/assets/img/A.jpg
+[2026-08-03 19:10:54] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004219s] /Members/YuanZe/assets/img/D.png
+[2026-08-03 19:10:54] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002803s] /Members/YuanZe/assets/img/C.jpg
+[2026-08-03 19:10:54] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004073s] /Members/YuanZe/assets/img/B.jpg
+[2026-08-03 19:10:54] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003010s] /Members/YuanZe/assets/img/F.jpg
+[2026-08-03 19:10:54] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.002050s] /Members/YuanZe/assets/img/E.jpg
+[2026-08-03 19:10:54] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004046s] /assets/img/Mascot/resize/5.png
+[2026-08-03 19:10:54] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.004027s] /assets/img/Cooperation/what.jpg
+[2026-08-03 19:10:54] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003611s] /assets/img/Cooperation/CodeCrafterStudio.jpg
+[2026-08-03 19:10:55] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.003626s] /assets/img/Cooperation/May.png
+[2026-08-03 19:10:55] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005273s] /assets/img/Cooperation/MHD.jpg
+[2026-08-03 19:10:55] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.005125s] /assets/img/Cooperation/XINGJI.png
+[2026-08-03 19:10:55] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.009204s] /assets/img/Cooperation/SunnyStudio.jpg
+[2026-08-03 19:10:56] [INFO ] [域:www.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.006366s] /assets/img/Cooperation/373.jpg
+[2026-08-03 19:11:02,314] [INFO] [ResolveRoleContext] cookie=a9b6d7b0-1469-4702-b84b-f80cce50b466, role=银河锋锐负责人, tenant=a58f128b-9005-44cd-a4e4-c57ff3eaeb68, company=2328c005-151f-4c05-a6ea-eecffd234063
+[2026-08-03 19:11:02] [INFO ] [域:ugm.gvsds.com ] [200] [GET ] [111.32.65.119 ] [0.054910s] /Query/GetELTUserAvatar