From 15190d2957121f388e660ef76b1ef53dc4396b9e Mon Sep 17 00:00:00 2001 From: Sunwuyuan Date: Tue, 3 Mar 2026 13:17:43 +0000 Subject: [PATCH] deploy: cf3412db6a1c2986ce5f8fb455a38229da000cac --- assets/404-C7Ce-VYe.js | 1 - assets/404-CFrnywFw.js | 1 + .../AttendanceManagementDialog-B_Clb251.css | 1 + assets/AttendanceManagementDialog-CIJpfYKx.js | 1 + assets/AttendanceSidebar-Tp52ZTpl.js | 1 + assets/CacheManagement-BY7T1F66.js | 1 - assets/CacheManagement-qEZ3gyiz.js | 1 + assets/ChatWidget-BmQ7IWQ8.js | 3 + assets/ChatWidget-DT8kwi-O.css | 1 + assets/ExamConfigEditor-C3cHfqxx.js | 3 - assets/ExamConfigEditor-DV8lOLSp.css | 1 + assets/ExamConfigEditor-giorLija.css | 1 - assets/ExamConfigEditor-sH7Cpbyw.js | 2 + assets/ExamScheduleCard-B03q7hf4.css | 1 + assets/ExamScheduleCard-B4npxxbW.js | 1 + assets/FloatingToolbar-Cgd04mIk.js | 1 + assets/FloatingToolbar-DbFL4asY.css | 1 + assets/HomeworkEditDialog-BYeU7sR3.css | 1 + assets/HomeworkEditDialog-pWq_RaKu.js | 9 + assets/InitServiceChooser-CJilcHuq.css | 1 + assets/InitServiceChooser-jlKUfspi.js | 1 + assets/MessageLog-BGkFwivK.css | 1 + assets/MessageLog-Bk_BSM_5.js | 1 + assets/PwaInstallCard-DX5CpgAU.js | 1 + assets/RandomPicker-CFzd4pLS.css | 1 + assets/RandomPicker-D9wYBCNM.js | 1 + assets/StudentNameManager-C1pk_k0J.js | 1 + assets/StudentNameManager-tn0RQdqM.css | 0 assets/UrgentTestDialog-BdqUELUV.css | 1 + assets/UrgentTestDialog-UNAdXolu.js | 1 + assets/VAlert-B7dotCy7.js | 1 - assets/VAlert-b5nBlHgx.js | 1 + assets/VAppBarTitle-CKv90Z6x.js | 1 + assets/VAppBarTitle-CczdD-Q2.css | 1 + assets/VAppBarTitle-DHaTV8xv.css | 1 - assets/VAppBarTitle-P_aLwYn3.js | 1 - assets/VAutocomplete-Buofo9XU.js | 1 + assets/VAutocomplete-Ygy_KjMW.css | 1 + assets/VBadge-B7gMUs96.js | 1 + assets/VBadge-BGqjJnM0.css | 1 + assets/VCheckbox-DHAqPlv1.js | 1 + assets/VCheckbox-ZL-u1kGB.css | 1 + assets/VCheckboxBtn-L9oezRC0.js | 1 - assets/VCheckboxBtn-nWqvYDIO.js | 1 + assets/VChip-B02B673U.js | 1 - assets/VChip-CPVASmWt.js | 1 + assets/VCombobox-BhMWB5Rk.css | 1 - assets/VCombobox-CmqRIcRE.js | 2 + assets/VCombobox-DuoJlmmF.js | 2 - assets/VCombobox-r6cc1Iy_.css | 1 + assets/VContainer-BHAiZEWc.js | 1 + assets/VContainer-x94CJ7kH.js | 1 - assets/VDatePicker-CyfBxTLk.js | 2 + assets/VDatePicker-X4Ryb5EN.css | 1 + assets/VExpansionPanels-C1X8gcBr.js | 1 + assets/VExpansionPanels-DmHhDpJu.js | 1 - assets/VForm-CLdG1sH8.js | 1 + assets/VForm-ovineFXC.js | 1 - assets/VPagination-BF2MZmld.css | 1 + assets/VPagination-DEEAIfju.js | 1 - assets/VPagination-DNe_r2rg.css | 1 - assets/VPagination-Dj4se6cS.js | 1 + assets/VRow-7L_239rt.js | 1 - assets/VRow-C2iyFaHv.js | 1 + assets/VSelect-B5ZKU6ZJ.js | 1 - assets/VSelect-Cw72qNvy.css | 1 - assets/VSelect-DC96rbwz.js | 1 + assets/VSelect-DHZViySU.css | 1 + assets/VSheet-DHN9xqm_.js | 1 + assets/VSheet-DxsDksIw.css | 1 + assets/VSkeletonLoader-Bcvvvbke.js | 1 - assets/VSkeletonLoader-D5uB8vy5.js | 1 + assets/VSwitch-C77LDPed.js | 1 + assets/VSwitch-CsrhG2o9.js | 1 - assets/VTabsWindowItem-2AwayTty.js | 1 - assets/VTabsWindowItem-D3P2Hofy.js | 1 + assets/VTextField-B7edjjhw.js | 1 + assets/VTextField-BmfQXFFg.js | 1 - assets/VTextarea-DiXZJMiq.js | 1 + assets/VTextarea-uYG2fN8H.js | 1 - assets/VTooltip-C168gwPH.js | 1 - assets/VTooltip-D7EaNDeY.css | 1 - assets/VTooltip-DNuxJ6UK.css | 1 + assets/VTooltip-UMclv3tZ.js | 1 + assets/_id_-BqyJqePz.js | 1 + assets/_id_-DIwIy-nN.js | 1 - assets/_id_-DZ6mw6z2.js | 1 + assets/_id_-d28sCpy1.js | 1 - assets/authorize-B3-irupf.js | 1 + assets/authorize-CL9LOs4t.js | 1 - ...ld-D1VSzmed.css => autofocus-D1VSzmed.css} | 0 assets/autofocus-Dh4QPNon.js | 1 + assets/core-IlBOtVFl.js | 2 + assets/cses2wakeup-Bgb2szvb.js | 7 + assets/cses2wakeup-Y-ZBCCNd.js | 7 - assets/dataProvider-B62Oym03.js | 6 - assets/dataProvider-Dty8Zh7m.js | 1 + assets/debug-1sG7GG2I.js | 1 + assets/debug-C73Oop6R.js | 1 - assets/debug-init-BJiHfLeM.js | 1 + assets/debug-init-qEmxm5BC.js | 1 - assets/debug-socket-TPDi_m6Y.js | 1 + assets/debug-socket-gX5zuEJb.js | 1 - assets/default-BeYWhc3q.js | 1 - assets/default-Jxvz9VCH.js | 1 + ...s-BFCOw6Nh.js => deviceEvents-BIvMKD-7.js} | 2 +- ...e-CWlyTxDY.js => examschedule-TpcQJRWX.js} | 6 +- assets/index-BBzZrCva.js | 1 - assets/index-Bqe1gKo7.js | 2 + assets/index-BqspaPWT.css | 1 + assets/index-CHEqx3ZK.js | 544 ------------------ assets/index-CWRRKaNU.js | 1 + ...{index-DIf6pzHS.css => index-CXKF55qP.css} | 2 +- assets/index-Ct5Llh5_.js | 16 - assets/index-DBBDlRhV.css | 1 - assets/index-DQBDs7lF.js | 6 + assets/index-fer6T-lk.js | 1 + assets/sentry-BmncddYq.js | 1 + ...D840vVDL.js => serverRotation-CLP7smnN.js} | 2 +- assets/settings-CJNzJrPW.js | 24 + assets/settings-DjYY_dPH.js | 25 - ...ngs-BuoTKm8j.css => settings-cNI4NbxC.css} | 2 +- assets/socket-debugger-56kW4wD8.js | 4 + assets/socket-debugger-BstARi-S.js | 4 - assets/socketClient-BXJ0f21_.js | 1 - assets/socketClient-DM3fpE4o.js | 1 + assets/soundList-BZnE47k0.js | 1 + assets/vendor-sentry-lCQUUJMT.js | 501 ++++++++++++++++ assets/vendor-socket-CyTcV1HU.js | 1 + assets/vendor-utils-DDRLRfsI.js | 6 + assets/vendor-vue-H0jQBZ7T.js | 29 + assets/vendor-vuetify-ChAgIwn2.js | 15 + assets/visitorId-CSigcYRT.js | 1 + index.html | 73 +-- sw.js | 2 +- 135 files changed, 697 insertions(+), 716 deletions(-) delete mode 100644 assets/404-C7Ce-VYe.js create mode 100644 assets/404-CFrnywFw.js create mode 100644 assets/AttendanceManagementDialog-B_Clb251.css create mode 100644 assets/AttendanceManagementDialog-CIJpfYKx.js create mode 100644 assets/AttendanceSidebar-Tp52ZTpl.js delete mode 100644 assets/CacheManagement-BY7T1F66.js create mode 100644 assets/CacheManagement-qEZ3gyiz.js create mode 100644 assets/ChatWidget-BmQ7IWQ8.js create mode 100644 assets/ChatWidget-DT8kwi-O.css delete mode 100644 assets/ExamConfigEditor-C3cHfqxx.js create mode 100644 assets/ExamConfigEditor-DV8lOLSp.css delete mode 100644 assets/ExamConfigEditor-giorLija.css create mode 100644 assets/ExamConfigEditor-sH7Cpbyw.js create mode 100644 assets/ExamScheduleCard-B03q7hf4.css create mode 100644 assets/ExamScheduleCard-B4npxxbW.js create mode 100644 assets/FloatingToolbar-Cgd04mIk.js create mode 100644 assets/FloatingToolbar-DbFL4asY.css create mode 100644 assets/HomeworkEditDialog-BYeU7sR3.css create mode 100644 assets/HomeworkEditDialog-pWq_RaKu.js create mode 100644 assets/InitServiceChooser-CJilcHuq.css create mode 100644 assets/InitServiceChooser-jlKUfspi.js create mode 100644 assets/MessageLog-BGkFwivK.css create mode 100644 assets/MessageLog-Bk_BSM_5.js create mode 100644 assets/PwaInstallCard-DX5CpgAU.js create mode 100644 assets/RandomPicker-CFzd4pLS.css create mode 100644 assets/RandomPicker-D9wYBCNM.js create mode 100644 assets/StudentNameManager-C1pk_k0J.js create mode 100644 assets/StudentNameManager-tn0RQdqM.css create mode 100644 assets/UrgentTestDialog-BdqUELUV.css create mode 100644 assets/UrgentTestDialog-UNAdXolu.js delete mode 100644 assets/VAlert-B7dotCy7.js create mode 100644 assets/VAlert-b5nBlHgx.js create mode 100644 assets/VAppBarTitle-CKv90Z6x.js create mode 100644 assets/VAppBarTitle-CczdD-Q2.css delete mode 100644 assets/VAppBarTitle-DHaTV8xv.css delete mode 100644 assets/VAppBarTitle-P_aLwYn3.js create mode 100644 assets/VAutocomplete-Buofo9XU.js create mode 100644 assets/VAutocomplete-Ygy_KjMW.css create mode 100644 assets/VBadge-B7gMUs96.js create mode 100644 assets/VBadge-BGqjJnM0.css create mode 100644 assets/VCheckbox-DHAqPlv1.js create mode 100644 assets/VCheckbox-ZL-u1kGB.css delete mode 100644 assets/VCheckboxBtn-L9oezRC0.js create mode 100644 assets/VCheckboxBtn-nWqvYDIO.js delete mode 100644 assets/VChip-B02B673U.js create mode 100644 assets/VChip-CPVASmWt.js delete mode 100644 assets/VCombobox-BhMWB5Rk.css create mode 100644 assets/VCombobox-CmqRIcRE.js delete mode 100644 assets/VCombobox-DuoJlmmF.js create mode 100644 assets/VCombobox-r6cc1Iy_.css create mode 100644 assets/VContainer-BHAiZEWc.js delete mode 100644 assets/VContainer-x94CJ7kH.js create mode 100644 assets/VDatePicker-CyfBxTLk.js create mode 100644 assets/VDatePicker-X4Ryb5EN.css create mode 100644 assets/VExpansionPanels-C1X8gcBr.js delete mode 100644 assets/VExpansionPanels-DmHhDpJu.js create mode 100644 assets/VForm-CLdG1sH8.js delete mode 100644 assets/VForm-ovineFXC.js create mode 100644 assets/VPagination-BF2MZmld.css delete mode 100644 assets/VPagination-DEEAIfju.js delete mode 100644 assets/VPagination-DNe_r2rg.css create mode 100644 assets/VPagination-Dj4se6cS.js delete mode 100644 assets/VRow-7L_239rt.js create mode 100644 assets/VRow-C2iyFaHv.js delete mode 100644 assets/VSelect-B5ZKU6ZJ.js delete mode 100644 assets/VSelect-Cw72qNvy.css create mode 100644 assets/VSelect-DC96rbwz.js create mode 100644 assets/VSelect-DHZViySU.css create mode 100644 assets/VSheet-DHN9xqm_.js create mode 100644 assets/VSheet-DxsDksIw.css delete mode 100644 assets/VSkeletonLoader-Bcvvvbke.js create mode 100644 assets/VSkeletonLoader-D5uB8vy5.js create mode 100644 assets/VSwitch-C77LDPed.js delete mode 100644 assets/VSwitch-CsrhG2o9.js delete mode 100644 assets/VTabsWindowItem-2AwayTty.js create mode 100644 assets/VTabsWindowItem-D3P2Hofy.js create mode 100644 assets/VTextField-B7edjjhw.js delete mode 100644 assets/VTextField-BmfQXFFg.js create mode 100644 assets/VTextarea-DiXZJMiq.js delete mode 100644 assets/VTextarea-uYG2fN8H.js delete mode 100644 assets/VTooltip-C168gwPH.js delete mode 100644 assets/VTooltip-D7EaNDeY.css create mode 100644 assets/VTooltip-DNuxJ6UK.css create mode 100644 assets/VTooltip-UMclv3tZ.js create mode 100644 assets/_id_-BqyJqePz.js delete mode 100644 assets/_id_-DIwIy-nN.js create mode 100644 assets/_id_-DZ6mw6z2.js delete mode 100644 assets/_id_-d28sCpy1.js create mode 100644 assets/authorize-B3-irupf.js delete mode 100644 assets/authorize-CL9LOs4t.js rename assets/{VTextField-D1VSzmed.css => autofocus-D1VSzmed.css} (100%) create mode 100644 assets/autofocus-Dh4QPNon.js create mode 100644 assets/core-IlBOtVFl.js create mode 100644 assets/cses2wakeup-Bgb2szvb.js delete mode 100644 assets/cses2wakeup-Y-ZBCCNd.js delete mode 100644 assets/dataProvider-B62Oym03.js create mode 100644 assets/dataProvider-Dty8Zh7m.js create mode 100644 assets/debug-1sG7GG2I.js delete mode 100644 assets/debug-C73Oop6R.js create mode 100644 assets/debug-init-BJiHfLeM.js delete mode 100644 assets/debug-init-qEmxm5BC.js create mode 100644 assets/debug-socket-TPDi_m6Y.js delete mode 100644 assets/debug-socket-gX5zuEJb.js delete mode 100644 assets/default-BeYWhc3q.js create mode 100644 assets/default-Jxvz9VCH.js rename assets/{deviceEvents-BFCOw6Nh.js => deviceEvents-BIvMKD-7.js} (97%) rename assets/{examschedule-CWlyTxDY.js => examschedule-TpcQJRWX.js} (90%) delete mode 100644 assets/index-BBzZrCva.js create mode 100644 assets/index-Bqe1gKo7.js create mode 100644 assets/index-BqspaPWT.css delete mode 100644 assets/index-CHEqx3ZK.js create mode 100644 assets/index-CWRRKaNU.js rename assets/{index-DIf6pzHS.css => index-CXKF55qP.css} (98%) delete mode 100644 assets/index-Ct5Llh5_.js delete mode 100644 assets/index-DBBDlRhV.css create mode 100644 assets/index-DQBDs7lF.js create mode 100644 assets/index-fer6T-lk.js create mode 100644 assets/sentry-BmncddYq.js rename assets/{serverRotation-D840vVDL.js => serverRotation-CLP7smnN.js} (93%) create mode 100644 assets/settings-CJNzJrPW.js delete mode 100644 assets/settings-DjYY_dPH.js rename assets/{settings-BuoTKm8j.css => settings-cNI4NbxC.css} (87%) create mode 100644 assets/socket-debugger-56kW4wD8.js delete mode 100644 assets/socket-debugger-BstARi-S.js delete mode 100644 assets/socketClient-BXJ0f21_.js create mode 100644 assets/socketClient-DM3fpE4o.js create mode 100644 assets/soundList-BZnE47k0.js create mode 100644 assets/vendor-sentry-lCQUUJMT.js create mode 100644 assets/vendor-socket-CyTcV1HU.js create mode 100644 assets/vendor-utils-DDRLRfsI.js create mode 100644 assets/vendor-vue-H0jQBZ7T.js create mode 100644 assets/vendor-vuetify-ChAgIwn2.js create mode 100644 assets/visitorId-CSigcYRT.js diff --git a/assets/404-C7Ce-VYe.js b/assets/404-C7Ce-VYe.js deleted file mode 100644 index ec26d41..0000000 --- a/assets/404-C7Ce-VYe.js +++ /dev/null @@ -1 +0,0 @@ -import{o as c,j as n,w as e,c as t,al as C,am as o,i as a,l as i,an as s}from"./index-CHEqx3ZK.js";import{V as L,a as r}from"./VRow-7L_239rt.js";import{V as h}from"./VContainer-x94CJ7kH.js";const f="data:image/svg+xml,%3csvg%20xmlns:xlink='http://www.w3.org/1999/xlink'%20xmlns='http://www.w3.org/2000/svg'%20width='256'%20height='256'%20viewBox='0%200%20256%20256'%20fill='none'%3e%3cg%20clip-path='url(%23clip-path-74_1)'%3e%3cpath%20fill='%23FFFFFF'%20d='M0%20256L256%20256L256%200L0%200L0%20256Z'%3e%3c/path%3e%3crect%20x='0'%20y='0'%20width='256'%20height='128'%20fill='%23D8C4A0'%3e%3c/rect%3e%3crect%20x='0'%20y='128'%20width='256'%20height='128'%20fill='%23F5E0BB'%3e%3c/rect%3e%3cpath%20d='M28%20228L128%20128L228%20128L128%20228L28%20228Z'%20fill-rule='evenodd'%20fill='%23241A04'%3e%3c/path%3e%3cpath%20d='M28%20128L128%2028L228%2028L128%20128L28%20128Z'%20fill-rule='evenodd'%20fill='%2352452A'%3e%3c/path%3e%3cg%3e%3cpath%20fill='%23000000'%20d='M-3049.01%202467.94L-3043.48%202467.94L-3043.48%202466.99L-3045.92%202466.99C-3046.36%202466.99%20-3046.9%202467.04%20-3047.36%202467.08C-3045.29%202465.12%20-3043.9%202463.33%20-3043.9%202461.57C-3043.9%202460.01%20-3044.9%202458.99%20-3046.47%202458.99C-3047.58%202458.99%20-3048.35%202459.49%20-3049.06%202460.27L-3048.43%202460.9C-3047.93%202460.31%20-3047.32%202459.88%20-3046.6%202459.88C-3045.51%202459.88%20-3044.98%202460.61%20-3044.98%202461.62C-3044.98%202463.13%20-3046.25%202464.88%20-3049.01%202467.29L-3049.01%202467.94ZM-3039.27%202468.1C-3037.9%202468.1%20-3036.74%202466.95%20-3036.74%202465.24C-3036.74%202463.39%20-3037.7%202462.48%20-3039.19%202462.48C-3039.87%202462.48%20-3040.64%202462.88%20-3041.18%202463.54C-3041.13%202460.81%20-3040.13%202459.89%20-3038.91%202459.89C-3038.38%202459.89%20-3037.85%202460.15%20-3037.52%202460.56L-3036.89%202459.89C-3037.39%202459.36%20-3038.04%202458.99%20-3038.96%202458.99C-3040.66%202458.99%20-3042.21%202460.3%20-3042.21%202463.74C-3042.21%202466.65%20-3040.95%202468.1%20-3039.27%202468.1ZM-3041.15%202464.41C-3040.58%202463.6%20-3039.91%202463.3%20-3039.36%202463.3C-3038.3%202463.3%20-3037.78%202464.05%20-3037.78%202465.24C-3037.78%202466.44%20-3038.43%202467.23%20-3039.27%202467.23C-3040.37%202467.23%20-3041.03%202466.24%20-3041.15%202464.41ZM-3035.17%202467.94L-3030.34%202467.94L-3030.34%202467.03L-3032.1%202467.03L-3032.1%202459.15L-3032.95%202459.15C-3033.43%202459.42%20-3033.99%202459.62%20-3034.77%202459.77L-3034.77%202460.47L-3033.2%202460.47L-3033.2%202467.03L-3035.17%202467.03L-3035.17%202467.94ZM-3029.51%202467.94L-3028.4%202467.94L-3027.54%202465.25L-3024.33%202465.25L-3023.49%202467.94L-3022.31%202467.94L-3025.3%202459.15L-3026.54%202459.15L-3029.51%202467.94ZM-3027.27%202464.38L-3026.84%202463.02C-3026.52%202462.02%20-3026.24%202461.08%20-3025.96%202460.04L-3025.91%202460.04C-3025.62%202461.06%20-3025.35%202462.02%20-3025.02%202463.02L-3024.6%202464.38L-3027.27%202464.38ZM-3018.93%202468.1C-3017.26%202468.1%20-3016.19%202466.58%20-3016.19%202463.51C-3016.19%202460.47%20-3017.26%202458.99%20-3018.93%202458.99C-3020.61%202458.99%20-3021.67%202460.47%20-3021.67%202463.51C-3021.67%202466.58%20-3020.61%202468.1%20-3018.93%202468.1ZM-3018.93%202467.21C-3019.93%202467.21%20-3020.61%202466.09%20-3020.61%202463.51C-3020.61%202460.95%20-3019.93%202459.85%20-3018.93%202459.85C-3017.93%202459.85%20-3017.25%202460.95%20-3017.25%202463.51C-3017.25%202466.09%20-3017.93%202467.21%20-3018.93%202467.21ZM-3012.27%202468.1C-3010.6%202468.1%20-3009.53%202466.58%20-3009.53%202463.51C-3009.53%202460.47%20-3010.6%202458.99%20-3012.27%202458.99C-3013.95%202458.99%20-3015.01%202460.47%20-3015.01%202463.51C-3015.01%202466.58%20-3013.95%202468.1%20-3012.27%202468.1ZM-3012.27%202467.21C-3013.27%202467.21%20-3013.95%202466.09%20-3013.95%202463.51C-3013.95%202460.95%20-3013.27%202459.85%20-3012.27%202459.85C-3011.27%202459.85%20-3010.59%202460.95%20-3010.59%202463.51C-3010.59%202466.09%20-3011.27%202467.21%20-3012.27%202467.21Z'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip-path-74_1'%3e%3cpath%20d='M0%20256L256%20256L256%200L0%200L0%20256Z'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",m={__name:"404",setup(d){return(p,l)=>(c(),n(h,{class:"fill-height"},{default:e(()=>[t(C,{class:"align-centerfill-height mx-auto","max-width":"900"},{default:e(()=>[t(o,{class:"mb-4",height:"150",src:f}),l[3]||(l[3]=a("div",{class:"text-center"},[a("div",{class:"text-body-2 font-weight-light mb-n1"},"出现了错误"),a("h1",{class:"text-h2 font-weight-bold"},"404")],-1)),l[4]||(l[4]=a("div",{class:"py-4"},null,-1)),t(L,null,{default:e(()=>[t(r,{cols:"12"},{default:e(()=>[t(i,{class:"py-4",color:"surface-variant","prepend-icon":"mdi-help",rounded:"lg",variant:"outlined"},{image:e(()=>[t(o,{position:"top right"})]),title:e(()=>[...l[1]||(l[1]=[a("h2",{class:"text-h5 font-weight-bold"},"为什么会出现此错误?",-1)])]),subtitle:e(()=>[...l[2]||(l[2]=[a("div",{class:"text-subtitle-1"},"大概是页面未找到",-1)])]),default:e(()=>[t(s,{contained:"","model-value":"",opacity:".12",persistent:"",scrim:"primary"})]),_:1})]),_:1}),t(r,{cols:"6"},{default:e(()=>[t(i,{class:"py-4",color:"surface-variant","prepend-icon":"mdi-home",rounded:"lg",title:"返回首页",to:"/",variant:"text"},{default:e(()=>[t(s,{contained:"","model-value":"",opacity:".06",persistent:"",scrim:"primary"})]),_:1})]),_:1}),t(r,{cols:"6"},{default:e(()=>[t(i,{class:"py-4",color:"surface-variant","prepend-icon":"mdi-arrow-left-drop-circle",rounded:"lg",title:"返回上一页",variant:"text",onClick:l[0]||(l[0]=u=>this.$router.back())},{default:e(()=>[t(s,{contained:"","model-value":"",opacity:".06",persistent:"",scrim:"primary"})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}))}},x={__name:"404",setup(d){return(p,l)=>(c(),n(m))}};export{x as default}; diff --git a/assets/404-CFrnywFw.js b/assets/404-CFrnywFw.js new file mode 100644 index 0000000..7da9ed9 --- /dev/null +++ b/assets/404-CFrnywFw.js @@ -0,0 +1 @@ +import{y as C,z as o,e as a,A as s}from"./index-Bqe1gKo7.js";import{V as L,a as r}from"./VRow-C2iyFaHv.js";import{V as h}from"./VContainer-BHAiZEWc.js";import{X as c,Y as n,Z as e,j as t,k as i}from"./vendor-vue-H0jQBZ7T.js";import"./vendor-vuetify-ChAgIwn2.js";const f="data:image/svg+xml,%3csvg%20xmlns:xlink='http://www.w3.org/1999/xlink'%20xmlns='http://www.w3.org/2000/svg'%20width='256'%20height='256'%20viewBox='0%200%20256%20256'%20fill='none'%3e%3cg%20clip-path='url(%23clip-path-74_1)'%3e%3cpath%20fill='%23FFFFFF'%20d='M0%20256L256%20256L256%200L0%200L0%20256Z'%3e%3c/path%3e%3crect%20x='0'%20y='0'%20width='256'%20height='128'%20fill='%23D8C4A0'%3e%3c/rect%3e%3crect%20x='0'%20y='128'%20width='256'%20height='128'%20fill='%23F5E0BB'%3e%3c/rect%3e%3cpath%20d='M28%20228L128%20128L228%20128L128%20228L28%20228Z'%20fill-rule='evenodd'%20fill='%23241A04'%3e%3c/path%3e%3cpath%20d='M28%20128L128%2028L228%2028L128%20128L28%20128Z'%20fill-rule='evenodd'%20fill='%2352452A'%3e%3c/path%3e%3cg%3e%3cpath%20fill='%23000000'%20d='M-3049.01%202467.94L-3043.48%202467.94L-3043.48%202466.99L-3045.92%202466.99C-3046.36%202466.99%20-3046.9%202467.04%20-3047.36%202467.08C-3045.29%202465.12%20-3043.9%202463.33%20-3043.9%202461.57C-3043.9%202460.01%20-3044.9%202458.99%20-3046.47%202458.99C-3047.58%202458.99%20-3048.35%202459.49%20-3049.06%202460.27L-3048.43%202460.9C-3047.93%202460.31%20-3047.32%202459.88%20-3046.6%202459.88C-3045.51%202459.88%20-3044.98%202460.61%20-3044.98%202461.62C-3044.98%202463.13%20-3046.25%202464.88%20-3049.01%202467.29L-3049.01%202467.94ZM-3039.27%202468.1C-3037.9%202468.1%20-3036.74%202466.95%20-3036.74%202465.24C-3036.74%202463.39%20-3037.7%202462.48%20-3039.19%202462.48C-3039.87%202462.48%20-3040.64%202462.88%20-3041.18%202463.54C-3041.13%202460.81%20-3040.13%202459.89%20-3038.91%202459.89C-3038.38%202459.89%20-3037.85%202460.15%20-3037.52%202460.56L-3036.89%202459.89C-3037.39%202459.36%20-3038.04%202458.99%20-3038.96%202458.99C-3040.66%202458.99%20-3042.21%202460.3%20-3042.21%202463.74C-3042.21%202466.65%20-3040.95%202468.1%20-3039.27%202468.1ZM-3041.15%202464.41C-3040.58%202463.6%20-3039.91%202463.3%20-3039.36%202463.3C-3038.3%202463.3%20-3037.78%202464.05%20-3037.78%202465.24C-3037.78%202466.44%20-3038.43%202467.23%20-3039.27%202467.23C-3040.37%202467.23%20-3041.03%202466.24%20-3041.15%202464.41ZM-3035.17%202467.94L-3030.34%202467.94L-3030.34%202467.03L-3032.1%202467.03L-3032.1%202459.15L-3032.95%202459.15C-3033.43%202459.42%20-3033.99%202459.62%20-3034.77%202459.77L-3034.77%202460.47L-3033.2%202460.47L-3033.2%202467.03L-3035.17%202467.03L-3035.17%202467.94ZM-3029.51%202467.94L-3028.4%202467.94L-3027.54%202465.25L-3024.33%202465.25L-3023.49%202467.94L-3022.31%202467.94L-3025.3%202459.15L-3026.54%202459.15L-3029.51%202467.94ZM-3027.27%202464.38L-3026.84%202463.02C-3026.52%202462.02%20-3026.24%202461.08%20-3025.96%202460.04L-3025.91%202460.04C-3025.62%202461.06%20-3025.35%202462.02%20-3025.02%202463.02L-3024.6%202464.38L-3027.27%202464.38ZM-3018.93%202468.1C-3017.26%202468.1%20-3016.19%202466.58%20-3016.19%202463.51C-3016.19%202460.47%20-3017.26%202458.99%20-3018.93%202458.99C-3020.61%202458.99%20-3021.67%202460.47%20-3021.67%202463.51C-3021.67%202466.58%20-3020.61%202468.1%20-3018.93%202468.1ZM-3018.93%202467.21C-3019.93%202467.21%20-3020.61%202466.09%20-3020.61%202463.51C-3020.61%202460.95%20-3019.93%202459.85%20-3018.93%202459.85C-3017.93%202459.85%20-3017.25%202460.95%20-3017.25%202463.51C-3017.25%202466.09%20-3017.93%202467.21%20-3018.93%202467.21ZM-3012.27%202468.1C-3010.6%202468.1%20-3009.53%202466.58%20-3009.53%202463.51C-3009.53%202460.47%20-3010.6%202458.99%20-3012.27%202458.99C-3013.95%202458.99%20-3015.01%202460.47%20-3015.01%202463.51C-3015.01%202466.58%20-3013.95%202468.1%20-3012.27%202468.1ZM-3012.27%202467.21C-3013.27%202467.21%20-3013.95%202466.09%20-3013.95%202463.51C-3013.95%202460.95%20-3013.27%202459.85%20-3012.27%202459.85C-3011.27%202459.85%20-3010.59%202460.95%20-3010.59%202463.51C-3010.59%202466.09%20-3011.27%202467.21%20-3012.27%202467.21Z'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip-path-74_1'%3e%3cpath%20d='M0%20256L256%20256L256%200L0%200L0%20256Z'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",m={__name:"404",setup(d){return(p,l)=>(c(),n(h,{class:"fill-height"},{default:e(()=>[t(C,{class:"align-centerfill-height mx-auto","max-width":"900"},{default:e(()=>[t(o,{class:"mb-4",height:"150",src:f}),l[3]||(l[3]=i("div",{class:"text-center"},[i("div",{class:"text-body-2 font-weight-light mb-n1"},"出现了错误"),i("h1",{class:"text-h2 font-weight-bold"},"404")],-1)),l[4]||(l[4]=i("div",{class:"py-4"},null,-1)),t(L,null,{default:e(()=>[t(r,{cols:"12"},{default:e(()=>[t(a,{class:"py-4",color:"surface-variant","prepend-icon":"mdi-help",rounded:"lg",variant:"outlined"},{image:e(()=>[t(o,{position:"top right"})]),title:e(()=>[...l[1]||(l[1]=[i("h2",{class:"text-h5 font-weight-bold"},"为什么会出现此错误?",-1)])]),subtitle:e(()=>[...l[2]||(l[2]=[i("div",{class:"text-subtitle-1"},"大概是页面未找到",-1)])]),default:e(()=>[t(s,{contained:"","model-value":"",opacity:".12",persistent:"",scrim:"primary"})]),_:1})]),_:1}),t(r,{cols:"6"},{default:e(()=>[t(a,{class:"py-4",color:"surface-variant","prepend-icon":"mdi-home",rounded:"lg",title:"返回首页",to:"/",variant:"text"},{default:e(()=>[t(s,{contained:"","model-value":"",opacity:".06",persistent:"",scrim:"primary"})]),_:1})]),_:1}),t(r,{cols:"6"},{default:e(()=>[t(a,{class:"py-4",color:"surface-variant","prepend-icon":"mdi-arrow-left-drop-circle",rounded:"lg",title:"返回上一页",variant:"text",onClick:l[0]||(l[0]=u=>this.$router.back())},{default:e(()=>[t(s,{contained:"","model-value":"",opacity:".06",persistent:"",scrim:"primary"})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}))}},y={__name:"404",setup(d){return(p,l)=>(c(),n(m))}};export{y as default}; diff --git a/assets/AttendanceManagementDialog-B_Clb251.css b/assets/AttendanceManagementDialog-B_Clb251.css new file mode 100644 index 0000000..b6088c1 --- /dev/null +++ b/assets/AttendanceManagementDialog-B_Clb251.css @@ -0,0 +1 @@ +.gap-1[data-v-c09d5574]{gap:4px}.gap-2[data-v-c09d5574]{gap:8px} diff --git a/assets/AttendanceManagementDialog-CIJpfYKx.js b/assets/AttendanceManagementDialog-CIJpfYKx.js new file mode 100644 index 0000000..d689c1a --- /dev/null +++ b/assets/AttendanceManagementDialog-CIJpfYKx.js @@ -0,0 +1 @@ +import{_ as L,e as x,c as w,h as v,o as F,l as d,d as k,L as M,i as z,q as _,p as E,g as P}from"./index-Bqe1gKo7.js";import{V as f}from"./VChip-CPVASmWt.js";import{V as b,a as C}from"./VRow-C2iyFaHv.js";import{V as D}from"./VTextField-B7edjjhw.js";import{X as u,Y as h,Z as a,j as l,a1 as c,S as p,$ as A,k as o,_ as V,F as S,a2 as y}from"./vendor-vue-H0jQBZ7T.js";import{a0 as B}from"./vendor-vuetify-ChAgIwn2.js";import"./autofocus-Dh4QPNon.js";const N={name:"AttendanceManagementDialog",props:{modelValue:{type:Boolean,required:!0},studentList:{type:Array,required:!0},attendance:{type:Object,required:!0},dateString:{type:String,default:""}},emits:["update:modelValue","save","change"],setup(){const{mobile:t}=B();return{mobile:t}},data(){return{attendanceSearch:"",attendanceFilter:[]}},computed:{isMobile(){return P("display.forceDesktopMode")?!1:this.mobile},filteredStudents(){let t=[...this.studentList];if(this.attendanceSearch){const e=this.attendanceSearch.toLowerCase();t=t.filter(r=>r.toLowerCase().includes(e))}return this.attendanceFilter&&this.attendanceFilter.length>0&&(t=t.filter(e=>!!(this.attendanceFilter.includes("present")&&this.isPresent(e)||this.attendanceFilter.includes("absent")&&this.isAbsent(e)||this.attendanceFilter.includes("late")&&this.isLate(e)||this.attendanceFilter.includes("exclude")&&this.isExclude(e)))),t},extractedSurnames(){if(!this.studentList||this.studentList.length===0)return[];const t=new Map;return this.studentList.forEach(e=>{if(e&&e.length>0){const r=e.charAt(0);t.set(r,(t.get(r)||0)+1)}}),Array.from(t.entries()).map(([e,r])=>({name:e,count:r})).sort((e,r)=>e.name.localeCompare(r.name,"zh-CN"))}},methods:{toggleFilter(t){const e=this.attendanceFilter.indexOf(t);e===-1?this.attendanceFilter.push(t):this.attendanceFilter.splice(e,1)},isPresent(t){const{absent:e,late:r,exclude:m}=this.attendance;return!e.includes(t)&&!r.includes(t)&&!m.includes(t)},isAbsent(t){return this.attendance.absent.includes(t)},isLate(t){return this.attendance.late.includes(t)},isExclude(t){return this.attendance.exclude.includes(t)},getStudentStatusColor(t){return this.attendance.absent.includes(t)?"error":this.attendance.late.includes(t)?"warning":this.attendance.exclude.includes(t)?"grey":"success"},getStudentStatusIcon(t){return this.attendance.absent.includes(t)?"mdi-account-off":this.attendance.late.includes(t)?"mdi-clock-alert":this.attendance.exclude.includes(t)?"mdi-account-cancel":"mdi-account-check"},removeFromAll(t){const e=this.attendance.absent.indexOf(t);e>-1&&this.attendance.absent.splice(e,1);const r=this.attendance.late.indexOf(t);r>-1&&this.attendance.late.splice(r,1);const m=this.attendance.exclude.indexOf(t);m>-1&&this.attendance.exclude.splice(m,1)},setPresent(t){this.removeFromAll(t),this.$emit("change")},setAbsent(t){this.removeFromAll(t),this.attendance.absent.push(t),this.$emit("change")},setLate(t){this.removeFromAll(t),this.attendance.late.push(t),this.$emit("change")},setExclude(t){this.removeFromAll(t),this.attendance.exclude.push(t),this.$emit("change")},setAllPresent(){this.attendance.absent.splice(0,this.attendance.absent.length),this.attendance.late.splice(0,this.attendance.late.length),this.attendance.exclude.splice(0,this.attendance.exclude.length),this.$emit("change")},setAllAbsent(){this.setAllPresent(),this.attendance.absent.push(...this.studentList),this.$emit("change")},setAllLate(){this.setAllPresent(),this.attendance.late.push(...this.studentList),this.$emit("change")},setAllExclude(){this.setAllPresent(),this.attendance.exclude.push(...this.studentList),this.$emit("change")}}},O={class:"d-flex flex-wrap mt-2 gap-1"},T={class:"d-flex flex-wrap mb-4 gap-2"},q={class:"flex-grow-1"},I={class:"d-flex align-center"},j={class:"text-subtitle-1"},U={class:"attendance-actions"},R={class:"d-flex flex-wrap gap-2"};function X(t,e,r,m,s,i){return u(),h(E,{"model-value":r.modelValue,fullscreen:i.isMobile,"fullscreen-breakpoint":"sm","max-width":"900","onUpdate:modelValue":e[7]||(e[7]=n=>t.$emit("update:modelValue",n))},{default:a(()=>[l(x,null,{default:a(()=>[l(w,{class:"d-flex align-center"},{default:a(()=>[l(v,{class:"mr-2",icon:"mdi-account-group"}),e[8]||(e[8]=c(" 考勤 ",-1)),l(F),i.isMobile?A("",!0):(u(),h(f,{key:0,class:"ml-2",color:"primary",size:"small"},{default:a(()=>[c(p(r.dateString),1)]),_:1})),i.isMobile?(u(),h(d,{key:1,icon:"mdi-close",variant:"text",onClick:e[0]||(e[0]=n=>t.$emit("update:modelValue",!1))})):A("",!0)]),_:1}),l(k,null,{default:a(()=>[l(b,{class:"mb-4"},{default:a(()=>[l(C,{cols:"12",md:"12"},{default:a(()=>[l(D,{modelValue:s.attendanceSearch,"onUpdate:modelValue":e[1]||(e[1]=n=>s.attendanceSearch=n),clearable:"",hint:"支持筛选姓氏,如输入'孙'可筛选所有姓孙的学生",label:"搜索学生","prepend-inner-icon":"mdi-magnify",variant:"outlined"},null,8,["modelValue"]),o("div",O,[(u(!0),V(S,null,y(i.extractedSurnames,n=>(u(),h(d,{key:n.name,color:s.attendanceSearch===n.name?"primary":"",variant:s.attendanceSearch===n.name?"elevated":"text",onClick:g=>s.attendanceSearch=s.attendanceSearch===n.name?"":n.name},{default:a(()=>[c(p(n.name)+" ("+p(n.count)+") ",1)]),_:2},1032,["color","variant","onClick"]))),128))])]),_:1})]),_:1}),o("div",T,[o("div",null,[l(f,{"append-icon":s.attendanceFilter.includes("present")?"mdi-check":"",color:s.attendanceFilter.includes("present")?"success":"",variant:s.attendanceFilter.includes("present")?"elevated":"tonal",class:"px-2 filter-chip","prepend-icon":"mdi-account-check",value:"present",onClick:e[2]||(e[2]=n=>i.toggleFilter("present"))},{default:a(()=>[...e[9]||(e[9]=[c(" 到课 ",-1)])]),_:1},8,["append-icon","color","variant"]),l(f,{"append-icon":s.attendanceFilter.includes("absent")?"mdi-check":"",color:s.attendanceFilter.includes("absent")?"error":"",variant:s.attendanceFilter.includes("absent")?"elevated":"tonal",class:"px-2 filter-chip","prepend-icon":"mdi-account-off",value:"absent",onClick:e[3]||(e[3]=n=>i.toggleFilter("absent"))},{default:a(()=>[...e[10]||(e[10]=[c(" 请假 ",-1)])]),_:1},8,["append-icon","color","variant"]),l(f,{"append-icon":s.attendanceFilter.includes("late")?"mdi-check":"",color:s.attendanceFilter.includes("late")?"warning":"",variant:s.attendanceFilter.includes("late")?"elevated":"tonal",class:"px-2 filter-chip","prepend-icon":"mdi-clock-alert",value:"late",onClick:e[4]||(e[4]=n=>i.toggleFilter("late"))},{default:a(()=>[...e[11]||(e[11]=[c(" 迟到 ",-1)])]),_:1},8,["append-icon","color","variant"]),l(f,{"append-icon":s.attendanceFilter.includes("exclude")?"mdi-check":"",color:s.attendanceFilter.includes("exclude")?"grey":"",variant:s.attendanceFilter.includes("exclude")?"elevated":"tonal",class:"px-2 filter-chip","prepend-icon":"mdi-account-cancel",value:"exclude",onClick:e[5]||(e[5]=n=>i.toggleFilter("exclude"))},{default:a(()=>[...e[12]||(e[12]=[c(" 不参与 ",-1)])]),_:1},8,["append-icon","color","variant"])])]),l(b,null,{default:a(()=>[(u(!0),V(S,null,y(i.filteredStudents,n=>(u(),h(C,{key:n,cols:"12",lg:"4",md:"6",sm:"6"},{default:a(()=>[l(x,{border:"",class:"student-card"},{default:a(()=>[l(k,{class:"d-flex align-center pa-2"},{default:a(()=>[o("div",q,[o("div",I,[l(M,{color:i.getStudentStatusColor(n),class:"mr-2",size:"24"},{default:a(()=>[l(v,{size:"small"},{default:a(()=>[c(p(i.getStudentStatusIcon(n)),1)]),_:2},1024)]),_:2},1032,["color"]),o("div",j,p(n),1)])]),o("div",U,[l(d,{color:i.isPresent(n)?"success":"",title:"设为到课",icon:"mdi-account-check",size:i.isMobile?"default":"small",variant:"text",onClick:g=>i.setPresent(n)},null,8,["color","size","onClick"]),l(d,{color:i.isAbsent(n)?"error":"",title:"设为请假",icon:"mdi-account-off",size:i.isMobile?"default":"small",variant:"text",onClick:g=>i.setAbsent(n)},null,8,["color","size","onClick"]),l(d,{color:i.isLate(n)?"warning":"",title:"设为迟到",icon:"mdi-clock-alert",size:i.isMobile?"default":"small",variant:"text",onClick:g=>i.setLate(n)},null,8,["color","size","onClick"]),l(d,{color:i.isExclude(n)?"grey":"",title:"设为不参与",icon:"mdi-account-cancel",size:i.isMobile?"default":"small",variant:"text",onClick:g=>i.setExclude(n)},null,8,["color","size","onClick"])])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1}),l(b,null,{default:a(()=>[l(C,{cols:"12",md:"12"},{default:a(()=>[l(x,{class:"mb-4",color:"primary",variant:"tonal"},{default:a(()=>[l(k,null,{default:a(()=>[e[17]||(e[17]=o("div",{class:"text-subtitle-2 mb-2"},"批量操作",-1)),o("div",R,[l(d,{class:"flex-grow-1",color:"success","prepend-icon":"mdi-account-check",onClick:i.setAllPresent},{default:a(()=>[...e[13]||(e[13]=[c(" 全部到齐 ",-1)])]),_:1},8,["onClick"]),l(d,{class:"flex-grow-1",color:"error","prepend-icon":"mdi-account-off",onClick:i.setAllAbsent},{default:a(()=>[...e[14]||(e[14]=[c(" 全部请假 ",-1)])]),_:1},8,["onClick"]),l(d,{class:"flex-grow-1",color:"warning","prepend-icon":"mdi-clock-alert",onClick:i.setAllLate},{default:a(()=>[...e[15]||(e[15]=[c(" 全部迟到 ",-1)])]),_:1},8,["onClick"]),l(d,{class:"flex-grow-1",color:"grey","prepend-icon":"mdi-account-cancel",onClick:i.setAllExclude},{default:a(()=>[...e[16]||(e[16]=[c(" 全部不参与 ",-1)])]),_:1},8,["onClick"])])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),l(z),l(_,null,{default:a(()=>[l(F),l(d,{color:"primary",onClick:e[6]||(e[6]=n=>t.$emit("save"))},{default:a(()=>[l(v,{start:""},{default:a(()=>[...e[18]||(e[18]=[c("mdi-content-save",-1)])]),_:1}),e[19]||(e[19]=c(" 保存 ",-1))]),_:1})]),_:1})]),_:1})]),_:1},8,["model-value","fullscreen"])}const W=L(N,[["render",X],["__scopeId","data-v-c09d5574"]]);export{W as default}; diff --git a/assets/AttendanceSidebar-Tp52ZTpl.js b/assets/AttendanceSidebar-Tp52ZTpl.js new file mode 100644 index 0000000..65614fd --- /dev/null +++ b/assets/AttendanceSidebar-Tp52ZTpl.js @@ -0,0 +1 @@ +import{_ as w,g,am as m}from"./index-Bqe1gKo7.js";import{a as k}from"./VRow-C2iyFaHv.js";import{R as f,X as n,Y as b,Z as _,k as t,a1 as r,S as s,_ as l,F as c,a2 as p,$ as o,n as x}from"./vendor-vue-H0jQBZ7T.js";import{a0 as C}from"./vendor-vuetify-ChAgIwn2.js";const A={name:"AttendanceSidebar",props:{studentList:{type:Array,required:!0},attendance:{type:Object,required:!0},isEditingDisabled:{type:Boolean,default:!1}},emits:["click","disabled-click"],setup(){return{display:C()}},methods:{getSetting:g,handleClick(){this.isEditingDisabled?this.$emit("disabled-click"):this.$emit("click")}}},D={style:{"white-space":"nowrap"}},S={style:{"white-space":"nowrap"}},L={style:{"white-space":"nowrap"}},v={key:0},B={style:{"white-space":"nowrap"}},E={style:{"white-space":"nowrap"}},V={key:0},N={style:{"white-space":"nowrap"}},U={style:{"white-space":"nowrap"}},q={key:0},F={style:{"white-space":"nowrap"}};function M(h,e,a,u,R,y){return a.studentList&&a.studentList.length?f((n(),b(k,{key:0,class:x([{"cursor-not-allowed":a.isEditingDisabled},"attendance-area no-select"]),cols:"1",onClick:y.handleClick},{default:_(()=>[e[10]||(e[10]=t("h1",null,"出勤",-1)),t("h2",null,[e[0]||(e[0]=t("span",{style:{"white-space":"nowrap"}}," 应到",-1)),e[1]||(e[1]=r(" : ",-1)),t("span",D,s(a.studentList.length-a.attendance.exclude.length)+"人 ",1)]),t("h2",null,[e[2]||(e[2]=t("span",{style:{"white-space":"nowrap"}}," 实到",-1)),e[3]||(e[3]=r(" : ",-1)),t("span",S,s(a.studentList.length-a.attendance.absent.length-!y.getSetting("display.lateStudentsArePresent")*a.attendance.late.length-a.attendance.exclude.length)+"人 ",1)]),t("h2",null,[e[4]||(e[4]=t("span",{style:{"white-space":"nowrap"}}," 请假",-1)),e[5]||(e[5]=r(" : ",-1)),t("span",L,s(a.attendance.absent.length)+"人 ",1)]),(n(!0),l(c,null,p(a.attendance.absent,(d,i)=>(n(),l("h3",{key:"absent-"+i,class:"gray-text"},[u.display.lgAndUp.value?(n(),l("span",v,s(`${i+1}. `),1)):o("",!0),t("span",B,s(d),1)]))),128)),t("h2",null,[e[6]||(e[6]=t("span",{style:{"white-space":"nowrap"}},"迟到",-1)),e[7]||(e[7]=r(" : ",-1)),t("span",E,s(a.attendance.late.length)+"人 ",1)]),(n(!0),l(c,null,p(a.attendance.late,(d,i)=>(n(),l("h3",{key:"late-"+i,class:"gray-text"},[u.display.lgAndUp.value?(n(),l("span",V,s(`${i+1}. `),1)):o("",!0),t("span",N,s(d),1)]))),128)),t("h2",null,[e[8]||(e[8]=t("span",{style:{"white-space":"nowrap"}},"不参与",-1)),e[9]||(e[9]=r(" : ",-1)),t("span",U,s(a.attendance.exclude.length)+"人 ",1)]),(n(!0),l(c,null,p(a.attendance.exclude,(d,i)=>(n(),l("h3",{key:"exclude-"+i,class:"gray-text"},[u.display.lgAndUp.value?(n(),l("span",q,s(`${i+1}. `),1)):o("",!0),t("span",F,s(d),1)]))),128))]),_:1},8,["class","onClick"])),[[m,a.isEditingDisabled?!1:{class:`text-${["primary","secondary","info","success","warning","error"][Math.floor(Math.random()*6)]}`}]]):o("",!0)}const P=w(A,[["render",M],["__scopeId","data-v-5a7eaf6a"]]);export{P as default}; diff --git a/assets/CacheManagement-BY7T1F66.js b/assets/CacheManagement-BY7T1F66.js deleted file mode 100644 index d5a4e03..0000000 --- a/assets/CacheManagement-BY7T1F66.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as W,o,j as c,w as s,c as a,q as A,i as r,x as b,y as p,v as l,t as m,z as C,D as k,A as f,C as w,F as x,G as V,P as E,Q as N,a0 as L,a1 as P,l as y}from"./index-CHEqx3ZK.js";import{V as _}from"./VAlert-B7dotCy7.js";import{V as R,a as z,b as B,c as F}from"./VExpansionPanels-DmHhDpJu.js";import{V as H}from"./VChip-B02B673U.js";import{V as I}from"./VSkeletonLoader-Bcvvvbke.js";import{V as M,a as v}from"./VRow-7L_239rt.js";import{V as U}from"./VContainer-x94CJ7kH.js";const j={name:"CacheManager",data(){return{caches:[],loading:!1,serviceWorkerActive:!1,message:"",messageType:"info"}},mounted(){this.checkServiceWorker()},methods:{checkServiceWorker(){"serviceWorker"in navigator?navigator.serviceWorker.ready.then(()=>{this.serviceWorkerActive=!0,this.refreshCaches()}).catch(()=>{this.serviceWorkerActive=!1}):this.serviceWorkerActive=!1},async refreshCaches(){if(this.serviceWorkerActive){this.loading=!0,this.message="",this.caches=[];try{const t=await this.sendMessageToSW({type:"CACHE_KEYS"});for(const e of t.cacheNames){const n=await this.sendMessageToSW({type:"CACHE_CONTENT",cacheName:e});this.caches.push({name:e,urls:n.urls||[]})}}catch(t){this.showMessage("获取缓存信息失败: "+t.message,"error")}finally{this.loading=!1}}},async clearCache(t){this.loading=!0;try{(await this.sendMessageToSW({type:"CLEAR_CACHE",cacheName:t})).success?(this.showMessage(`已清除缓存: ${this.formatCacheName(t)}`,"success"),await this.refreshCaches()):this.showMessage("清除缓存失败","error")}catch(e){this.showMessage("清除缓存失败: "+e.message,"error")}finally{this.loading=!1}},async clearUrl(t,e){this.loading=!0;try{(await this.sendMessageToSW({type:"CLEAR_URL",cacheName:t,url:e})).success?(this.showMessage(`已从缓存中删除: ${this.getFileName(e)}`,"success"),await this.refreshCaches()):this.showMessage("删除缓存项失败","error")}catch(n){this.showMessage("删除缓存项失败: "+n.message,"error")}finally{this.loading=!1}},async clearAllCaches(){if(confirm("确定要清除所有缓存吗?这可能会导致应用需要重新下载资源。")){this.loading=!0;try{(await this.sendMessageToSW({type:"CLEAR_ALL_CACHES"})).success?(this.showMessage("已清除所有缓存","success"),await this.refreshCaches()):this.showMessage("清除所有缓存失败","error")}catch(t){this.showMessage("清除所有缓存失败: "+t.message,"error")}finally{this.loading=!1}}},sendMessageToSW(t){return new Promise((e,n)=>{if(!navigator.serviceWorker.controller){n(new Error("Service Worker 未控制页面"));return}const g=new MessageChannel;g.port1.onmessage=i=>{e(i.data)},navigator.serviceWorker.controller.postMessage(t,[g.port2]),setTimeout(()=>{n(new Error("Service Worker 响应超时"))},5e3)})},formatCacheName(t){return t.replace("workbox-precache-","预缓存-").replace("-cache","").replace("js","JS").replace("css","CSS").replace("html","HTML").replace("images","图片").replace("external-resources","外部资源").replace("cdn-cgi","CDN")},getFileName(t){try{const e=new URL(t),n=e.pathname.split("/");return n[n.length-1]||e.hostname}catch(e){return console.error("获取文件名失败:",e),t}},showMessage(t,e="info"){this.message=t,this.messageType=e,setTimeout(()=>{this.message===t&&(this.message="")},5e3)}}},D={class:"d-flex align-center"},O={class:"d-flex justify-end mb-2"};function q(t,e,n,g,i,d){return o(),c(y,null,{default:s(()=>[a(A,{class:"d-flex align-center"},{default:s(()=>[e[2]||(e[2]=r("span",null,"缓存管理",-1)),a(b),a(p,{loading:i.loading,color:"error",onClick:d.clearAllCaches},{default:s(()=>[...e[0]||(e[0]=[l(" 清除所有缓存 ",-1)])]),_:1},8,["loading","onClick"]),a(p,{class:"ml-2",icon:"",onClick:d.refreshCaches},{default:s(()=>[a(m,null,{default:s(()=>[...e[1]||(e[1]=[l("mdi-refresh",-1)])]),_:1})]),_:1},8,["onClick"])]),_:1}),a(C,null,{default:s(()=>[i.serviceWorkerActive?k("",!0):(o(),c(_,{key:0,class:"mb-4",type:"warning"},{default:s(()=>[...e[3]||(e[3]=[l(" Service Worker 未激活,缓存管理功能不可用。 ",-1)])]),_:1})),i.message?(o(),c(_,{key:1,type:i.messageType,class:"mb-4"},{default:s(()=>[l(f(i.message),1)]),_:1},8,["type"])):k("",!0),i.caches.length>0?(o(),c(R,{key:2},{default:s(()=>[(o(!0),w(x,null,V(i.caches,u=>(o(),c(z,{key:u.name},{default:s(()=>[a(B,null,{default:s(()=>[r("div",D,[r("span",null,f(d.formatCacheName(u.name)),1),a(H,{class:"ml-2",size:"small"},{default:s(()=>[l(f(u.urls.length)+" 个文件",1)]),_:2},1024)])]),_:2},1024),a(F,null,{default:s(()=>[r("div",O,[a(p,{loading:i.loading,color:"error",size:"small",onClick:h=>d.clearCache(u.name)},{default:s(()=>[...e[4]||(e[4]=[l(" 清除此缓存 ",-1)])]),_:1},8,["loading","onClick"])]),a(E,{lines:"two"},{default:s(()=>[(o(!0),w(x,null,V(u.urls,(h,T)=>(o(),c(N,{key:T},{append:s(()=>[a(p,{color:"error",icon:"",size:"small",onClick:$=>d.clearUrl(u.name,h)},{default:s(()=>[a(m,null,{default:s(()=>[...e[5]||(e[5]=[l("mdi-delete",-1)])]),_:1})]),_:1},8,["onClick"])]),default:s(()=>[a(L,{class:"text-truncate"},{default:s(()=>[l(f(d.getFileName(h)),1)]),_:2},1024),a(P,{class:"text-truncate"},{default:s(()=>[l(f(h),1)]),_:2},1024)]),_:2},1024))),128))]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})):i.loading?(o(),c(I,{key:3,type:"article"})):(o(),c(_,{key:4,type:"info"},{default:s(()=>[...e[6]||(e[6]=[l(" 没有找到缓存数据。 ",-1)])]),_:1}))]),_:1})]),_:1})}const S=W(j,[["render",q]]),G={name:"CacheManagementPage",components:{CacheManager:S},metaInfo:{title:"缓存管理"}},J={class:"d-flex align-center mb-6"},K={class:"d-flex align-center mb-2"},Q={class:"d-flex align-center mb-2"};function Y(t,e,n,g,i,d){const u=S;return o(),c(U,null,{default:s(()=>[a(M,null,{default:s(()=>[a(v,{cols:"12"},{default:s(()=>[r("div",J,[a(m,{class:"mr-3",color:"primary",size:"x-large"},{default:s(()=>[...e[0]||(e[0]=[l("mdi-database-cog-outline",-1)])]),_:1}),e[1]||(e[1]=r("div",null,[r("h1",{class:"text-h4"},"缓存管理"),r("div",{class:"text-subtitle-1 text-grey"},"管理应用的本地缓存资源")],-1))]),a(y,{class:"mb-6",color:"info",density:"compact",variant:"tonal"},{default:s(()=>[a(C,{class:"d-flex align-center"},{default:s(()=>[a(m,{class:"mr-2",color:"info"},{default:s(()=>[...e[2]||(e[2]=[l("mdi-information-outline",-1)])]),_:1}),e[3]||(e[3]=r("span",null,"在这里您可以查看和管理应用的缓存文件。清除缓存可能会导致应用需要重新下载资源,但有助于解决某些显示问题。",-1))]),_:1})]),_:1}),a(M,null,{default:s(()=>[a(v,{cols:"12",md:"8"},{default:s(()=>[a(y,{class:"mb-4",variant:"tonal"},{default:s(()=>[a(C,null,{default:s(()=>[r("div",K,[a(m,{class:"mr-2",color:"primary"},{default:s(()=>[...e[4]||(e[4]=[l("mdi-information",-1)])]),_:1}),e[5]||(e[5]=r("span",{class:"text-h6"},"什么是缓存?",-1))]),e[6]||(e[6]=r("p",null," 缓存是浏览器在本地存储的网站资源副本,如图片、脚本和样式表等。这些缓存可以加快页面加载速度,减少数据使用,并在离线时提供基本功能。",-1))]),_:1})]),_:1})]),_:1}),a(v,{cols:"12",md:"4"},{default:s(()=>[a(y,{class:"mb-4",variant:"tonal"},{default:s(()=>[a(C,null,{default:s(()=>[r("div",Q,[a(m,{class:"mr-2",color:"warning"},{default:s(()=>[...e[7]||(e[7]=[l("mdi-lightbulb-outline",-1)])]),_:1}),e[8]||(e[8]=r("span",{class:"text-h6"},"何时清除缓存?",-1))]),e[9]||(e[9]=r("ul",{class:"pl-4"},[r("li",null,"应用显示过时的内容"),r("li",null,"界面出现异常"),r("li",null,"应用功能不正常")],-1))]),_:1})]),_:1})]),_:1})]),_:1}),a(u)]),_:1})]),_:1})]),_:1})}const le=W(G,[["render",Y]]);export{le as default}; diff --git a/assets/CacheManagement-qEZ3gyiz.js b/assets/CacheManagement-qEZ3gyiz.js new file mode 100644 index 0000000..85e7ff7 --- /dev/null +++ b/assets/CacheManagement-qEZ3gyiz.js @@ -0,0 +1 @@ +import{_ as S,c as b,o as A,l as p,h as d,d as C,j as E,k as N,s as L,t as P,e as _}from"./index-Bqe1gKo7.js";import{V as y}from"./VAlert-b5nBlHgx.js";import{V as R,a as B,b as F,c as H}from"./VExpansionPanels-C1X8gcBr.js";import{V as I}from"./VChip-CPVASmWt.js";import{V as j}from"./VSkeletonLoader-D5uB8vy5.js";import{X as i,Y as c,Z as s,j as t,k as r,a1 as l,$ as v,S as f,_ as w,F as V,a2 as x}from"./vendor-vue-H0jQBZ7T.js";import{V as M,a as k}from"./VRow-C2iyFaHv.js";import{V as z}from"./VContainer-BHAiZEWc.js";import"./vendor-vuetify-ChAgIwn2.js";const U={name:"CacheManager",data(){return{caches:[],loading:!1,serviceWorkerActive:!1,message:"",messageType:"info"}},mounted(){this.checkServiceWorker()},methods:{checkServiceWorker(){"serviceWorker"in navigator?navigator.serviceWorker.ready.then(()=>{this.serviceWorkerActive=!0,this.refreshCaches()}).catch(()=>{this.serviceWorkerActive=!1}):this.serviceWorkerActive=!1},async refreshCaches(){if(this.serviceWorkerActive){this.loading=!0,this.message="",this.caches=[];try{const a=await this.sendMessageToSW({type:"CACHE_KEYS"});for(const e of a.cacheNames){const n=await this.sendMessageToSW({type:"CACHE_CONTENT",cacheName:e});this.caches.push({name:e,urls:n.urls||[]})}}catch(a){this.showMessage("获取缓存信息失败: "+a.message,"error")}finally{this.loading=!1}}},async clearCache(a){this.loading=!0;try{(await this.sendMessageToSW({type:"CLEAR_CACHE",cacheName:a})).success?(this.showMessage(`已清除缓存: ${this.formatCacheName(a)}`,"success"),await this.refreshCaches()):this.showMessage("清除缓存失败","error")}catch(e){this.showMessage("清除缓存失败: "+e.message,"error")}finally{this.loading=!1}},async clearUrl(a,e){this.loading=!0;try{(await this.sendMessageToSW({type:"CLEAR_URL",cacheName:a,url:e})).success?(this.showMessage(`已从缓存中删除: ${this.getFileName(e)}`,"success"),await this.refreshCaches()):this.showMessage("删除缓存项失败","error")}catch(n){this.showMessage("删除缓存项失败: "+n.message,"error")}finally{this.loading=!1}},async clearAllCaches(){if(confirm("确定要清除所有缓存吗?这可能会导致应用需要重新下载资源。")){this.loading=!0;try{(await this.sendMessageToSW({type:"CLEAR_ALL_CACHES"})).success?(this.showMessage("已清除所有缓存","success"),await this.refreshCaches()):this.showMessage("清除所有缓存失败","error")}catch(a){this.showMessage("清除所有缓存失败: "+a.message,"error")}finally{this.loading=!1}}},sendMessageToSW(a){return new Promise((e,n)=>{if(!navigator.serviceWorker.controller){n(new Error("Service Worker 未控制页面"));return}const g=new MessageChannel;g.port1.onmessage=o=>{e(o.data)},navigator.serviceWorker.controller.postMessage(a,[g.port2]),setTimeout(()=>{n(new Error("Service Worker 响应超时"))},5e3)})},formatCacheName(a){return a.replace("workbox-precache-","预缓存-").replace("-cache","").replace("js","JS").replace("css","CSS").replace("html","HTML").replace("images","图片").replace("external-resources","外部资源").replace("cdn-cgi","CDN")},getFileName(a){try{const e=new URL(a),n=e.pathname.split("/");return n[n.length-1]||e.hostname}catch(e){return console.error("获取文件名失败:",e),a}},showMessage(a,e="info"){this.message=a,this.messageType=e,setTimeout(()=>{this.message===a&&(this.message="")},5e3)}}},D={class:"d-flex align-center"},O={class:"d-flex justify-end mb-2"};function Y(a,e,n,g,o,m){return i(),c(_,null,{default:s(()=>[t(b,{class:"d-flex align-center"},{default:s(()=>[e[2]||(e[2]=r("span",null,"缓存管理",-1)),t(A),t(p,{loading:o.loading,color:"error",onClick:m.clearAllCaches},{default:s(()=>[...e[0]||(e[0]=[l(" 清除所有缓存 ",-1)])]),_:1},8,["loading","onClick"]),t(p,{class:"ml-2",icon:"",onClick:m.refreshCaches},{default:s(()=>[t(d,null,{default:s(()=>[...e[1]||(e[1]=[l("mdi-refresh",-1)])]),_:1})]),_:1},8,["onClick"])]),_:1}),t(C,null,{default:s(()=>[o.serviceWorkerActive?v("",!0):(i(),c(y,{key:0,class:"mb-4",type:"warning"},{default:s(()=>[...e[3]||(e[3]=[l(" Service Worker 未激活,缓存管理功能不可用。 ",-1)])]),_:1})),o.message?(i(),c(y,{key:1,type:o.messageType,class:"mb-4"},{default:s(()=>[l(f(o.message),1)]),_:1},8,["type"])):v("",!0),o.caches.length>0?(i(),c(R,{key:2},{default:s(()=>[(i(!0),w(V,null,x(o.caches,u=>(i(),c(B,{key:u.name},{default:s(()=>[t(F,null,{default:s(()=>[r("div",D,[r("span",null,f(m.formatCacheName(u.name)),1),t(I,{class:"ml-2",size:"small"},{default:s(()=>[l(f(u.urls.length)+" 个文件",1)]),_:2},1024)])]),_:2},1024),t(H,null,{default:s(()=>[r("div",O,[t(p,{loading:o.loading,color:"error",size:"small",onClick:h=>m.clearCache(u.name)},{default:s(()=>[...e[4]||(e[4]=[l(" 清除此缓存 ",-1)])]),_:1},8,["loading","onClick"])]),t(E,{lines:"two"},{default:s(()=>[(i(!0),w(V,null,x(u.urls,(h,T)=>(i(),c(N,{key:T},{append:s(()=>[t(p,{color:"error",icon:"",size:"small",onClick:q=>m.clearUrl(u.name,h)},{default:s(()=>[t(d,null,{default:s(()=>[...e[5]||(e[5]=[l("mdi-delete",-1)])]),_:1})]),_:1},8,["onClick"])]),default:s(()=>[t(L,{class:"text-truncate"},{default:s(()=>[l(f(m.getFileName(h)),1)]),_:2},1024),t(P,{class:"text-truncate"},{default:s(()=>[l(f(h),1)]),_:2},1024)]),_:2},1024))),128))]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})):o.loading?(i(),c(j,{key:3,type:"article"})):(i(),c(y,{key:4,type:"info"},{default:s(()=>[...e[6]||(e[6]=[l(" 没有找到缓存数据。 ",-1)])]),_:1}))]),_:1})]),_:1})}const W=S(U,[["render",Y]]),$={name:"CacheManagementPage",components:{CacheManager:W},metaInfo:{title:"缓存管理"}},J={class:"d-flex align-center mb-6"},K={class:"d-flex align-center mb-2"},X={class:"d-flex align-center mb-2"};function Z(a,e,n,g,o,m){const u=W;return i(),c(z,null,{default:s(()=>[t(M,null,{default:s(()=>[t(k,{cols:"12"},{default:s(()=>[r("div",J,[t(d,{class:"mr-3",color:"primary",size:"x-large"},{default:s(()=>[...e[0]||(e[0]=[l("mdi-database-cog-outline",-1)])]),_:1}),e[1]||(e[1]=r("div",null,[r("h1",{class:"text-h4"},"缓存管理"),r("div",{class:"text-subtitle-1 text-grey"},"管理应用的本地缓存资源")],-1))]),t(_,{class:"mb-6",color:"info",density:"compact",variant:"tonal"},{default:s(()=>[t(C,{class:"d-flex align-center"},{default:s(()=>[t(d,{class:"mr-2",color:"info"},{default:s(()=>[...e[2]||(e[2]=[l("mdi-information-outline",-1)])]),_:1}),e[3]||(e[3]=r("span",null,"在这里您可以查看和管理应用的缓存文件。清除缓存可能会导致应用需要重新下载资源,但有助于解决某些显示问题。",-1))]),_:1})]),_:1}),t(M,null,{default:s(()=>[t(k,{cols:"12",md:"8"},{default:s(()=>[t(_,{class:"mb-4",variant:"tonal"},{default:s(()=>[t(C,null,{default:s(()=>[r("div",K,[t(d,{class:"mr-2",color:"primary"},{default:s(()=>[...e[4]||(e[4]=[l("mdi-information",-1)])]),_:1}),e[5]||(e[5]=r("span",{class:"text-h6"},"什么是缓存?",-1))]),e[6]||(e[6]=r("p",null," 缓存是浏览器在本地存储的网站资源副本,如图片、脚本和样式表等。这些缓存可以加快页面加载速度,减少数据使用,并在离线时提供基本功能。",-1))]),_:1})]),_:1})]),_:1}),t(k,{cols:"12",md:"4"},{default:s(()=>[t(_,{class:"mb-4",variant:"tonal"},{default:s(()=>[t(C,null,{default:s(()=>[r("div",X,[t(d,{class:"mr-2",color:"warning"},{default:s(()=>[...e[7]||(e[7]=[l("mdi-lightbulb-outline",-1)])]),_:1}),e[8]||(e[8]=r("span",{class:"text-h6"},"何时清除缓存?",-1))]),e[9]||(e[9]=r("ul",{class:"pl-4"},[r("li",null,"应用显示过时的内容"),r("li",null,"界面出现异常"),r("li",null,"应用功能不正常")],-1))]),_:1})]),_:1})]),_:1})]),_:1}),t(u)]),_:1})]),_:1})]),_:1})}const oe=S($,[["render",Z]]);export{oe as default}; diff --git a/assets/ChatWidget-BmQ7IWQ8.js b/assets/ChatWidget-BmQ7IWQ8.js new file mode 100644 index 0000000..973633b --- /dev/null +++ b/assets/ChatWidget-BmQ7IWQ8.js @@ -0,0 +1,3 @@ +import{s as Q,g as F,j as D,a as x}from"./socketClient-DM3fpE4o.js";import{_ as V,g as N,e as S,d as w,l as _,h as p,p as K,c as W,o as E,K as j,i as b,L as q,q as H}from"./index-Bqe1gKo7.js";import{X as u,_ as m,j as i,Z as a,k as c,S as f,a1 as g,$ as y,F as k,N as M,R as L,V as G,m as J,a2 as U,n as X,Y as $,ac as R,ad as B}from"./vendor-vue-H0jQBZ7T.js";import{p as O,s as Y}from"./soundList-BZnE47k0.js";import{V as C}from"./VChip-CPVASmWt.js";import{f as Z,s as ee,c as te}from"./deviceEvents-BIvMKD-7.js";import{V as se}from"./VBadge-B7gMUs96.js";import{V as ie}from"./VTooltip-UMclv3tZ.js";import{V as ne,a as T}from"./VRow-C2iyFaHv.js";import{V as oe}from"./VPagination-Dj4se6cS.js";import{V as re}from"./VTextarea-DiXZJMiq.js";const ae={name:"EventSender",emits:["sent","error"],methods:{async sendEvent(e,t={}){try{return Q(e,t),this.$emit("sent",{eventName:e,content:t,timestamp:new Date().toISOString(),success:!0}),{success:!0,eventId:(t==null?void 0:t.eventId)||null,notificationId:(t==null?void 0:t.notificationId)||null}}catch(o){return console.error("发送事件失败:",o),this.$emit("error",{eventName:e,content:t,error:o.message,timestamp:new Date().toISOString(),success:!1}),{success:!1,error:o.message}}},async sendNotification(e,t=!1,o=[],d={},l=null){const r=`evt-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;return this.sendEvent("notification",{eventId:r,notificationId:l,message:e,isUrgent:t,targetDevices:o,senderInfo:d})},async sendReceipt(e,t,o={},d=null){const l=`rcpt-${Date.now()}-${Math.random().toString(36).slice(2,6)}`;return this.sendEvent("notification-receipt",{eventId:l,originalEventId:e,notificationId:d,status:t,deviceInfo:o})},async sendDisplayedReceipt(e={},t=null){const o=`disp-${Date.now()}-${Math.random().toString(36).slice(2,6)}`;return this.sendEvent("notification-displayed",{eventId:o,notificationId:t,deviceInfo:e})},async sendReadReceipt(e={},t=null){const o=`read-${Date.now()}-${Math.random().toString(36).slice(2,6)}`;return this.sendEvent("notification-read",{eventId:o,notificationId:t,deviceInfo:e})}}},le={style:{display:"none"}};function de(e,t,o,d,l,r){return u(),m("div",le)}const P=V(ae,[["render",de]]),ce={name:"UrgentNotification",components:{EventSender:P},data(){return{visible:!1,notificationQueue:[],currentIndex:0,autoCloseTimer:null,urgentSoundTimer:null,currentAudio:null}},computed:{currentNotification(){return this.notificationQueue[this.currentIndex]||null},hasNotifications(){return this.notificationQueue.length>0},hasMultipleNotifications(){return this.notificationQueue.length>1},notificationCountText(){return this.hasMultipleNotifications?`${this.currentIndex+1} / ${this.notificationQueue.length}`:""},isUrgent(){var e,t;return((t=(e=this.currentNotification)==null?void 0:e.content)==null?void 0:t.isUrgent)||!1},urgencyColor(){return this.isUrgent?"red darken-2":"blue darken-2"},iconColor(){return"white"},urgencyIcon(){return this.isUrgent?"mdi-alert-circle-outline":"mdi-information-outline"},urgencyTitle(){return this.isUrgent?"🚨 紧急通知":"📢 通知消息"},senderName(){var t,o,d;const e=((t=this.currentNotification)==null?void 0:t.senderInfo)||((d=(o=this.currentNotification)==null?void 0:o.content)==null?void 0:d.senderInfo);return e?e.deviceName||e.deviceType||"未知设备":"未知发送者"},deviceType(){var t,o,d;const e=((t=this.currentNotification)==null?void 0:t.senderInfo)||((d=(o=this.currentNotification)==null?void 0:o.content)==null?void 0:d.senderInfo);return(e==null?void 0:e.deviceType)=="teacher"?"教师":(e==null?void 0:e.deviceType)=="student"?"学生":(e==null?void 0:e.deviceType)=="classroom"?"教室":(e==null?void 0:e.deviceType)||"未知类型"},targetDevices(){var e,t;return((t=(e=this.currentNotification)==null?void 0:e.content)==null?void 0:t.targetDevices)||[]}},beforeUnmount(){this.autoCloseTimer&&clearTimeout(this.autoCloseTimer),this.urgentSoundTimer&&clearInterval(this.urgentSoundTimer),this.stopNotificationSound()},methods:{show(e){var o;if(this.notificationQueue.findIndex(d=>{var l,r;return((l=d.content)==null?void 0:l.notificationId)===((r=e.content)==null?void 0:r.notificationId)})!==-1){console.log("通知已存在,跳过添加");return}this.notificationQueue.push(e),this.visible?(o=e.content)!=null&&o.isUrgent&&!this.isUrgent?(this.currentIndex=this.notificationQueue.length-1,this.sendDisplayedReceipt(),this.playNotificationSound(),this.sendBrowserNotification(e),this.startUrgentSound()):this.sendBrowserNotification(e):(this.currentIndex=this.notificationQueue.length-1,this.visible=!0,this.sendDisplayedReceipt(),this.playNotificationSound(),this.sendBrowserNotification(e),this.isUrgent&&this.startUrgentSound())},close(){var e,t,o,d;try{this.sendReadReceipt(),console.log("已发送已读回执")}catch(l){console.warn("发送已读回执失败:",l)}if((t=(e=this.currentNotification)==null?void 0:e.content)!=null&&t.message){const l=this.isUrgent?"紧急通知":"通知";this.isUrgent?(o=this.$message)==null||o.error(l,`${this.currentNotification.content.message}`):(d=this.$message)==null||d.info(l,`${this.currentNotification.content.message}`)}this.notificationQueue.length>0&&(this.notificationQueue.splice(this.currentIndex,1),this.currentIndex>=this.notificationQueue.length&&(this.currentIndex=Math.max(0,this.notificationQueue.length-1)),this.notificationQueue.length>0?(this.sendDisplayedReceipt(),this.isUrgent?this.startUrgentSound():this.stopUrgentSound()):this.closeWithoutRead())},closeWithoutRead(){this.visible=!1,this.notificationQueue=[],this.currentIndex=0,this.autoCloseTimer&&(clearTimeout(this.autoCloseTimer),this.autoCloseTimer=null),this.stopUrgentSound()},formatTime(e){if(!e)return"";try{const t=new Date(e);if(new Date-t<24*60*60*1e3){const l=String(t.getHours()).padStart(2,"0"),r=String(t.getMinutes()).padStart(2,"0");return`${l}:${r}`}else{const l=String(t.getMonth()+1).padStart(2,"0"),r=String(t.getDate()).padStart(2,"0");return`${l}/${r}`}}catch{return"无效时间"}},getDeviceTypeLabel(e){return{classroom:"教室设备",student:"学生设备",teacher:"教师设备",admin:"管理员设备",system:"系统设备"}[e]||e},playNotificationSound(){try{this.stopNotificationSound();const e=this.isUrgent?N("notification.urgentSound"):N("notification.singleSound");this.currentAudio=O(e,!1),this.currentAudio||this.playFallbackSound()}catch(e){console.warn("无法播放通知音效:",e),this.playFallbackSound()}},playFallbackSound(){try{const e=new(window.AudioContext||window.webkitAudioContext),t=e.createOscillator(),o=e.createGain();t.connect(o),o.connect(e.destination),t.frequency.value=1e3,t.type="sine",o.gain.value=.3,t.start(),t.stop(e.currentTime+.3)}catch(e){console.warn("无法播放备用音效:",e)}},stopNotificationSound(){this.currentAudio&&(Y(this.currentAudio),this.currentAudio=null)},sendDisplayedReceipt(){var e;try{this.$refs.eventSender&&((e=this.currentNotification)!=null&&e.eventId)&&(this.$refs.eventSender.sendDisplayedReceipt({},this.currentNotification.content.notificationId),console.log("已发送显示回执:",this.currentNotification.eventId))}catch(t){console.warn("发送显示回执失败:",t)}},sendReadReceipt(){var e;try{this.$refs.eventSender&&((e=this.currentNotification)!=null&&e.eventId)&&(this.$refs.eventSender.sendReadReceipt({},this.currentNotification.content.notificationId),console.log("已发送已读回执:",this.currentNotification.eventId))}catch(t){console.warn("发送已读回执失败:",t)}},previousNotification(){this.currentIndex>0&&(this.currentIndex--,this.sendDisplayedReceipt(),this.isUrgent?this.startUrgentSound():this.stopUrgentSound())},nextNotification(){this.currentIndex{this.visible&&this.isUrgent?this.playFallbackSound():this.stopUrgentSound()},1e3))},stopUrgentSound(){this.urgentSoundTimer&&(clearInterval(this.urgentSoundTimer),this.urgentSoundTimer=null),this.stopNotificationSound()},async sendBrowserNotification(e){var t,o,d,l;if(!("Notification"in window)){console.warn("浏览器不支持通知API");return}try{let r=Notification.permission;if(r==="default"&&(r=await Notification.requestPermission()),r!=="granted"){console.warn("用户未授予通知权限");return}const I=((t=e.content)==null?void 0:t.message)||"新通知",n=e.senderInfo||((o=e.content)==null?void 0:o.senderInfo),v=(n==null?void 0:n.deviceName)||(n==null?void 0:n.deviceType)||"未知发送者",s=((d=e.content)==null?void 0:d.isUrgent)||!1,h=new Notification(s?"🚨 紧急通知":"📢 通知消息",{body:`${I} + +来自: ${v}`,icon:"/pwa/image/icon-192.png",badge:"/pwa/image/icon-192.png",tag:((l=e.content)==null?void 0:l.notificationId)||`notification-${Date.now()}`,requireInteraction:s,silent:!1,vibrate:s?[200,100,200,100,200]:[200],timestamp:e.timestamp||Date.now()});h.onclick=()=>{window.focus(),h.close()},s||setTimeout(()=>{h.close()},1e4)}catch(r){console.error("发送浏览器通知失败:",r)}}}},ue={class:"urgent-title mb-6"},he={class:"urgent-subtitle mb-6"},fe={key:0,class:"navigation-controls mt-6"},me={class:"notification-counter mb-3"},ge={class:"navigation-buttons"},pe={class:"mt-8"};function ve(e,t,o,d,l,r){const I=P;return u(),m(k,null,[i(K,{modelValue:l.visible,"onUpdate:modelValue":t[0]||(t[0]=n=>l.visible=n),"max-width":"800",persistent:"",transition:"dialog-transition",class:"urgent-notification-dialog"},{default:a(()=>[i(S,{class:"urgent-notification-card",color:r.urgencyColor,elevation:"24"},{default:a(()=>[i(w,null,{default:a(()=>{var n,v,s;return[c("div",ue,f(((v=(n=r.currentNotification)==null?void 0:n.content)==null?void 0:v.message)||"无内容"),1),c("div",he,f(r.senderName)+" "+f(r.deviceType)+" "+f(r.formatTime((s=r.currentNotification)==null?void 0:s.timestamp)),1),r.hasMultipleNotifications?(u(),m("div",fe,[i(S,{variant:"flat",color:"rgba(255,255,255,0.1)"},{default:a(()=>[i(w,{class:"text-center"},{default:a(()=>[c("div",me,[i(C,{color:"white",variant:"flat",size:"small"},{default:a(()=>[g(f(r.notificationCountText),1)]),_:1})]),c("div",ge,[i(_,{disabled:l.currentIndex===0,color:"white",variant:"outlined",size:"small",onClick:r.previousNotification},{default:a(()=>[i(p,null,{default:a(()=>[...t[1]||(t[1]=[g(" mdi-chevron-left ",-1)])]),_:1}),t[2]||(t[2]=g(" 上一个 ",-1))]),_:1},8,["disabled","onClick"]),i(_,{disabled:l.currentIndex===l.notificationQueue.length-1,color:"white",variant:"outlined",size:"small",class:"ml-2",onClick:r.nextNotification},{default:a(()=>[t[4]||(t[4]=g(" 下一个 ",-1)),i(p,null,{default:a(()=>[...t[3]||(t[3]=[g(" mdi-chevron-right ",-1)])]),_:1})]),_:1},8,["disabled","onClick"])])]),_:1})]),_:1})])):y("",!0),c("div",pe,[i(_,{color:"white",size:"large",variant:"flat",onClick:r.close},{default:a(()=>[i(p,{left:""},{default:a(()=>[...t[5]||(t[5]=[g(" mdi-check ",-1)])]),_:1}),t[6]||(t[6]=g(" 我知道了 ",-1))]),_:1},8,["onClick"])])]}),_:1})]),_:1},8,["color"])]),_:1},8,["modelValue"]),i(I,{ref:"eventSender"},null,512)],64)}const z=V(ce,[["render",ve],["__scopeId","data-v-6190a823"]]),ye={name:"ChatWidget",components:{UrgentNotification:z},props:{modelValue:{type:Boolean,default:!1},showButton:{type:Boolean,default:!0},offset:{type:Number,default:16},width:{type:Number,default:380},height:{type:Number,default:520}},emits:["update:modelValue"],data(){return{visible:this.modelValue,text:"",messages:[],allEvents:[],lastVisit:null,unreadCount:0,connected:!1,socketId:"",currentMode:"chat",currentPage:1,itemsPerPage:20,loading:!1,isDestroying:!1,eventStats:{chat:0,kvChanged:0,other:0},cleanupFunctions:[]}},computed:{panelStyle(){return{right:this.offset+"px",bottom:this.offset+"px",width:this.width+"px",height:this.height+"px"}},toggleStyle(){return{right:this.offset+"px",bottom:this.offset+"px"}},canSend(){return!!(N("server.kvToken")&&this.text.trim())},showToggleButton(){return this.$props.showButton&&!this.visible},decoratedMessages(){if(!this.lastVisit)return this.messages;const e=this.messages.findIndex(d=>d.at&&new Date(d.at).getTime()>=new Date(this.lastVisit).getTime());if(e<=0)return this.messages;const t=this.messages.slice(0,e),o=this.messages.slice(e);return[...t,{_id:"divider",_type:"divider"},...o]},currentDisplayItems(){return this.currentMode==="chat"?this.decoratedMessages:this.paginatedEvents},paginatedEvents(){if(this.isDestroying||!this.allEvents)return[];const e=(this.currentPage-1)*this.itemsPerPage,t=e+this.itemsPerPage;return this.allEvents.slice(e,t)},totalPages(){return this.isDestroying||!this.allEvents?1:Math.ceil(this.allEvents.length/this.itemsPerPage)},modeTitle(){return this.currentMode==="chat"?"设备聊天室":"所有事件"}},watch:{modelValue(e){this.visible=e,e&&this.onOpen()}},mounted(){try{const s=localStorage.getItem("chat.lastVisit");s&&(this.lastVisit=s)}catch{}const e=F();this.connected=!!e.connected,this.socketId=e.id||"",e.on("connect",()=>{this.connected=!0,this.socketId=e.id||""}),e.on("disconnect",()=>{this.connected=!1});const t=N("server.kvToken");t&&D(t);const o=s=>(...h)=>{if(!this.isDestroying)try{s(...h)}catch(A){console.error("ChatWidget 事件处理错误:",A)}},d=x("chat:message",o(s=>{this.pushMessage(s),this.addEvent({_id:`legacy-chat-${Date.now()}-${Math.random()}`,type:"chat:message",content:s,timestamp:s.at||new Date().toISOString(),senderId:s.senderId,uuid:s.uuid,senderInfo:s.senderInfo})})),l=x("chat",o(s=>{if(s&&s.content&&s.content.text){const h={text:s.content.text,senderId:s.senderId,at:s.timestamp,uuid:s.senderId,senderInfo:s.senderInfo};this.pushMessage(h),this.addEvent({_id:s.eventId||`chat-${Date.now()}-${Math.random()}`,type:"chat",content:s.content,timestamp:s.timestamp,eventId:s.eventId,senderId:s.senderId,senderInfo:s.senderInfo})}}));this.deviceEventHandler=te({onChat:o((s,h)=>{this.pushMessage(s),this.addEvent(h)}),onKvChanged:o((s,h)=>{this.addEvent(h)}),onUrgentNotice:o((s,h)=>{this.addEvent(h),this.showUrgentNotification(h)}),onNotification:o((s,h)=>{console.log("收到通知事件:",s,h),this.addEvent(h),this.showUrgentNotification(h)}),onOtherEvent:o(s=>{(s.type==="urgent-notice"||s.type==="notification")&&this.showUrgentNotification(s),this.addEvent(s)}),enableLegacySupport:!0});const r=x("device-event",this.deviceEventHandler),I=x("kv-key-changed",o(s=>{s.content&&s.timestamp?this.addEvent({_id:`kv-${Date.now()}-${Math.random()}`,type:"kv-key-changed",content:s.content,timestamp:s.timestamp,eventId:s.eventId,senderId:s.senderId,senderInfo:s.senderInfo}):this.addEvent({_id:`legacy-kv-${Date.now()}-${Math.random()}`,type:"kv-key-changed",content:s,timestamp:s.updatedAt||new Date().toISOString(),uuid:s.uuid})})),n=x("urgent-notice",o(s=>{console.log("收到紧急通知:",s),this.addEvent({_id:`urgent-${Date.now()}-${Math.random()}`,type:"urgent-notice",content:s.content||s,timestamp:s.timestamp||new Date().toISOString(),eventId:s.eventId,senderId:s.senderId,senderInfo:s.senderInfo}),this.showUrgentNotification(s)})),v=x("notification",o(s=>{var h;console.log("收到通知事件:",s),this.addEvent({_id:`notification-${Date.now()}-${Math.random()}`,type:"notification",content:s.content||s,timestamp:s.timestamp||new Date().toISOString(),eventId:s.eventId,senderId:s.senderId,senderInfo:s.senderInfo||((h=s.content)==null?void 0:h.senderInfo)}),this.showUrgentNotification(s)}));this.cleanupFunctions=[d,l,n,v,r,I],this.visible&&this.onOpen()},beforeUnmount(){this.isDestroying=!0,this.cleanupFunctions&&Array.isArray(this.cleanupFunctions)&&this.cleanupFunctions.forEach(e=>{try{typeof e=="function"&&e()}catch(t){console.warn("ChatWidget 清理函数执行失败:",t)}});try{this.offMessage&&this.offMessage(),this.offDeviceEvent&&this.offDeviceEvent(),this.offKvChanged&&this.offKvChanged()}catch(e){console.warn("ChatWidget 旧清理函数执行失败:",e)}this.cleanupFunctions=[],this.messages=[],this.allEvents=[]},methods:{open(){this.visible=!0,this.$emit("update:modelValue",!0),this.onOpen()},close(){this.visible=!1,this.$emit("update:modelValue",!1);try{localStorage.setItem("chat.lastVisit",new Date().toISOString())}catch{}this.unreadCount=0},onOpen(){this.$nextTick(()=>this.scrollToBottom())},insertEmoji(e){this.text+=e,this.$nextTick(()=>{var t,o;if((o=(t=this.$refs.inputRef)==null?void 0:t.$el)!=null&&o.querySelector){const d=this.$refs.inputRef.$el.querySelector("textarea");d==null||d.focus()}})},handleEnter(e){e.shiftKey||this.send()},send(){const e=this.text.trim();if(!e)return;const t={_id:`self-${Date.now()}-${Math.random()}`,text:e,at:new Date().toISOString(),senderId:this.socketId,self:!0,senderInfo:{deviceName:"我",deviceType:"client",isReadOnly:!1}};this.pushMessage(t),this.addEvent({_id:`self-event-${Date.now()}-${Math.random()}`,type:"chat",content:{text:e},timestamp:new Date().toISOString(),senderId:this.socketId,senderInfo:{deviceName:"本设备",deviceType:"client",isReadOnly:!1}}),ee(e),this.text=""},pushMessage(e){if(!(this.isDestroying||!e))try{const t={_id:`${e.at||Date.now()}-${Math.random()}`,text:typeof(e==null?void 0:e.text)=="string"?e.text:(e==null?void 0:e.text)||"",at:e.at||new Date().toISOString(),senderId:e.senderId,self:!!(e.senderId&&e.senderId===this.socketId),senderInfo:e.senderInfo||null,deviceName:this.getDeviceName(e.senderInfo,e.senderId===this.socketId)};if(!t.text)return;this.messages.push(t),this.visible||this.unreadCount++,this.$nextTick(()=>{this.isDestroying||this.scrollToBottom()}),this.messages.length>500&&this.messages.shift()}catch(t){console.error("ChatWidget pushMessage 错误:",t)}},formatTime(e){try{const t=new Date(e),o=String(t.getHours()).padStart(2,"0"),d=String(t.getMinutes()).padStart(2,"0");return`${o}:${d}`}catch{return""}},scrollToBottom(){if(!this.isDestroying)try{const e=this.$refs.listRef;if(!e)return;requestAnimationFrame(()=>{!this.isDestroying&&e&&(e.scrollTop=e.scrollHeight)})}catch(e){console.warn("ChatWidget scrollToBottom 错误:",e)}},addEvent(e){if(!(this.isDestroying||!e))try{this.allEvents.unshift(e),e.type==="chat"||e.type==="chat:message"?this.eventStats.chat++:e.type==="kv-key-changed"?this.eventStats.kvChanged++:this.eventStats.other++,this.allEvents.length>200&&(this.allEvents=this.allEvents.slice(0,200))}catch(t){console.error("ChatWidget addEvent 错误:",t)}},getEventColor(e){switch(e){case"chat":case"chat:message":return"success";case"kv-key-changed":return"info";default:return"warning"}},getEventTypeLabel(e){switch(e){case"chat":case"chat:message":return"聊天";case"kv-key-changed":return"KV变化";default:return e}},formatDeviceInfo(e){return Z(e)},getDeviceName(e,t=!1){return t?"我":e?e.deviceName==="realtime"?"系统":e.deviceName||e.deviceType||"未知设备":"未知设备"},showUrgentNotification(e){try{this.$refs.urgentNotification?this.$refs.urgentNotification.show(e):console.warn("紧急通知组件未找到")}catch(t){console.error("显示紧急通知失败:",t)}}}},_e={class:"text-subtitle-1"},Ie={key:0,ref:"listRef",class:"messages"},Se={key:0,class:"divider-row"},we={class:"avatar"},xe={class:"bubble"},ke={key:0,class:"sender-name"},Ne={class:"text"},be={class:"meta"},Te={key:0,class:"device-name"},Ce={key:1,class:"events-container"},Ve={class:"event-stats mb-3"},Ee={class:"text-h6"},Me={class:"text-h6"},Ue={class:"text-h6"},$e={class:"events-list"},Re={class:"d-flex align-center mb-1"},Be={class:"text-caption"},Oe={key:0,class:"mb-1 text-caption"},Pe={class:"event-content"},ze={key:0,class:"chat-content"},Ae={key:1,class:"text-caption event-data"},Qe={key:0,class:"text-center text-grey pa-4"},Fe={key:0,class:"pagination mt-2"};function De(e,t,o,d,l,r){const I=z;return u(),m(k,null,[r.showToggleButton?(u(),m("div",{key:0,style:M(r.toggleStyle),class:"chat-toggle"},[i(_,{color:"primary",icon:"",variant:"flat",onClick:t[0]||(t[0]=n=>r.open())},{default:a(()=>[i(se,{content:l.unreadCount||void 0,"model-value":l.unreadCount>0,color:"error",overlap:""},{default:a(()=>[i(p,null,{default:a(()=>[...t[7]||(t[7]=[g(" mdi-chat ",-1)])]),_:1})]),_:1},8,["content","model-value"])]),_:1})],4)):y("",!0),L(c("div",{style:M(r.panelStyle),class:"chat-panel"},[i(S,{border:"",class:"chat-card",elevation:"8"},{default:a(()=>[i(W,{class:"d-flex align-center"},{default:a(()=>[i(p,{class:"mr-2"},{default:a(()=>[...t[8]||(t[8]=[g(" mdi-chat-processing ",-1)])]),_:1}),c("span",_e,f(r.modeTitle),1),i(E),i(j,{modelValue:l.currentMode,"onUpdate:modelValue":t[1]||(t[1]=n=>l.currentMode=n),class:"mr-2",mandatory:"",size:"small",variant:"outlined"},{default:a(()=>[i(_,{value:"chat",size:"small"},{default:a(()=>[i(p,null,{default:a(()=>[...t[9]||(t[9]=[g("mdi-chat",-1)])]),_:1})]),_:1}),i(_,{value:"events",size:"small"},{default:a(()=>[i(p,null,{default:a(()=>[...t[10]||(t[10]=[g("mdi-format-list-bulleted",-1)])]),_:1})]),_:1})]),_:1},8,["modelValue"]),i(ie,{location:"top"},{activator:a(({props:n})=>[i(C,J({color:l.connected?"success":"grey",size:"x-small"},n,{variant:"tonal"}),{default:a(()=>[g(f(l.connected?"已连接":"未连接"),1)]),_:1},16,["color"])]),default:a(()=>[c("span",null,"Socket "+f(l.socketId||"-"),1)]),_:1}),i(_,{icon:"",variant:"text",onClick:t[2]||(t[2]=n=>r.close())},{default:a(()=>[i(p,null,{default:a(()=>[...t[11]||(t[11]=[g("mdi-close",-1)])]),_:1})]),_:1})]),_:1}),i(b),i(w,{class:"chat-body"},{default:a(()=>[l.currentMode==="chat"?(u(),m("div",Ie,[(u(!0),m(k,null,U(r.decoratedMessages,n=>(u(),m(k,{key:n._id},[n._type==="divider"?(u(),m("div",Se,[i(b,{class:"my-2"}),t[12]||(t[12]=c("div",{class:"divider-text"}," 今天 - 上次访问 ",-1)),i(b,{class:"my-2"})])):(u(),m("div",{key:1,class:X([{self:n.self},"message-row"])},[c("div",we,[i(q,{color:n.self?"primary":"grey",size:"24"},{default:a(()=>[i(p,{size:"small"},{default:a(()=>[g(f(n.self?"mdi-account":"mdi-account-outline"),1)]),_:2},1024)]),_:2},1032,["color"])]),c("div",xe,[!n.self&&n.deviceName?(u(),m("div",ke,f(n.deviceName),1)):y("",!0),c("div",Ne,f(n.text),1),c("div",be,[n.self&&n.deviceName?(u(),m("span",Te,f(n.deviceName)+" • ",1)):y("",!0),g(" "+f(r.formatTime(n.at)),1)])])],2))],64))),128))],512)):(u(),m("div",Ce,[c("div",Ve,[i(ne,{dense:""},{default:a(()=>[i(T,{cols:"4"},{default:a(()=>[i(S,{color:"success",dark:"",size:"small"},{default:a(()=>[i(w,{class:"text-center pa-2"},{default:a(()=>[c("div",Ee,f(l.eventStats.chat),1),t[13]||(t[13]=c("div",{class:"text-caption"}," 聊天 ",-1))]),_:1})]),_:1})]),_:1}),i(T,{cols:"4"},{default:a(()=>[i(S,{color:"info",dark:"",size:"small"},{default:a(()=>[i(w,{class:"text-center pa-2"},{default:a(()=>[c("div",Me,f(l.eventStats.kvChanged),1),t[14]||(t[14]=c("div",{class:"text-caption"}," KV变化 ",-1))]),_:1})]),_:1})]),_:1}),i(T,{cols:"4"},{default:a(()=>[i(S,{color:"warning",dark:"",size:"small"},{default:a(()=>[i(w,{class:"text-center pa-2"},{default:a(()=>[c("div",Ue,f(l.eventStats.other),1),t[15]||(t[15]=c("div",{class:"text-caption"}," 其他 ",-1))]),_:1})]),_:1})]),_:1})]),_:1})]),c("div",$e,[(u(!0),m(k,null,U(r.paginatedEvents,n=>(u(),m("div",{key:n._id,class:"event-item mb-2"},[i(S,{color:r.getEventColor(n.type),size:"small",variant:"outlined"},{default:a(()=>[i(w,{class:"pa-2"},{default:a(()=>{var v;return[c("div",Re,[i(C,{color:r.getEventColor(n.type),size:"x-small"},{default:a(()=>[g(f(r.getEventTypeLabel(n.type)),1)]),_:2},1032,["color"]),i(E),c("span",Be,f(r.formatTime(n.timestamp||n.at)),1)]),n.senderInfo?(u(),m("div",Oe,[t[16]||(t[16]=c("strong",null,"发送者:",-1)),g(" "+f(r.formatDeviceInfo(n.senderInfo)),1)])):y("",!0),c("div",Pe,[n.type==="chat"||n.type==="chat:message"?(u(),m("div",ze,f(((v=n.content)==null?void 0:v.text)||n.text),1)):(u(),m("pre",Ae,f(JSON.stringify(n.content||n,null,1)),1))])]}),_:2},1024)]),_:2},1032,["color"])]))),128)),l.allEvents.length===0?(u(),m("div",Qe," 暂无事件 ")):y("",!0)]),r.totalPages>1?(u(),m("div",Fe,[i(oe,{modelValue:l.currentPage,"onUpdate:modelValue":t[3]||(t[3]=n=>l.currentPage=n),length:r.totalPages,"total-visible":3,size:"small"},null,8,["modelValue","length"])])):y("",!0)]))]),_:1}),l.currentMode==="chat"?(u(),$(b,{key:0})):y("",!0),l.currentMode==="chat"?(u(),$(H,{key:1,class:"chat-input"},{default:a(()=>[i(_,{class:"mr-1",icon:"",variant:"text",onClick:t[4]||(t[4]=n=>r.insertEmoji("😄"))},{default:a(()=>[i(p,null,{default:a(()=>[...t[17]||(t[17]=[g("mdi-emoticon-outline",-1)])]),_:1})]),_:1}),i(re,{ref:"inputRef",modelValue:l.text,"onUpdate:modelValue":t[5]||(t[5]=n=>l.text=n),"auto-grow":"",class:"flex-grow-1","hide-details":"",placeholder:"输入消息",rows:"1",variant:"solo",onKeydown:[R(B(r.handleEnter,["prevent"]),["enter"]),t[6]||(t[6]=R(B(()=>{},["shift","stop"]),["enter"]))]},null,8,["modelValue","onKeydown"]),i(_,{disabled:!r.canSend,class:"ml-2",color:"primary",onClick:r.send},{default:a(()=>[i(p,{start:""},{default:a(()=>[...t[18]||(t[18]=[g(" mdi-send ",-1)])]),_:1}),t[19]||(t[19]=g(" 发送 ",-1))]),_:1},8,["disabled","onClick"])]),_:1})):y("",!0)]),_:1})],4),[[G,l.visible]]),i(I,{ref:"urgentNotification"},null,512)],64)}const Ke=V(ye,[["render",De],["__scopeId","data-v-1a62ac2a"]]),tt=Object.freeze(Object.defineProperty({__proto__:null,default:Ke},Symbol.toStringTag,{value:"Module"}));export{tt as C,P as _,Ke as a}; diff --git a/assets/ChatWidget-DT8kwi-O.css b/assets/ChatWidget-DT8kwi-O.css new file mode 100644 index 0000000..a1a99a0 --- /dev/null +++ b/assets/ChatWidget-DT8kwi-O.css @@ -0,0 +1 @@ +[data-v-6190a823] .v-dialog{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}[data-v-6190a823] .v-overlay__scrim{background:#000c!important}.urgent-notification-card[data-v-6190a823]{position:relative;animation:urgentPulse-6190a823 2s infinite,slideIn-6190a823 .5s ease-out;border:3px solid rgba(255,255,255,.3)}.close-btn[data-v-6190a823]{position:absolute;top:16px;right:16px;z-index:1}.urgency-icon[data-v-6190a823]{animation:iconPulse-6190a823 1.5s infinite;filter:drop-shadow(0 0 10px rgba(255,255,255,.5))}.urgent-title[data-v-6190a823]{font-size:2.5rem;font-weight:700;color:#fff;line-height:1.2}.urgent-subtitle[data-v-6190a823]{font-size:2rem;font-weight:700;color:#fff;line-height:1.2}.notification-content[data-v-6190a823]{font-size:1.4rem;color:#fffffff2;line-height:1.6;padding:0 20px}.sender-label[data-v-6190a823],.target-label[data-v-6190a823]{font-size:.9rem;color:#fffc;font-weight:600;text-transform:uppercase;letter-spacing:1px}.sender-details[data-v-6190a823],.target-devices[data-v-6190a823]{display:flex;flex-wrap:wrap;gap:8px}.actions[data-v-6190a823]{display:flex;justify-content:center;gap:16px}.navigation-controls[data-v-6190a823]{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.notification-counter[data-v-6190a823]{color:#fff;font-weight:600}.navigation-buttons[data-v-6190a823]{display:flex;justify-content:center;gap:8px}@keyframes urgentPulse-6190a823{0%,to{box-shadow:0 0 30px #ffffff4d}50%{box-shadow:0 0 50px #fff9}}@keyframes iconPulse-6190a823{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes slideIn-6190a823{0%{opacity:0;transform:translateY(-50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 600px){.urgent-title[data-v-6190a823]{font-size:2rem}.notification-content[data-v-6190a823]{font-size:1.2rem;padding:0 10px}.urgent-notification-card[data-v-6190a823]{width:95%!important;margin:20px}}.chat-toggle[data-v-1a62ac2a]{position:fixed;z-index:1100}.chat-panel[data-v-1a62ac2a]{position:fixed;z-index:1101}.chat-card[data-v-1a62ac2a]{width:100%;height:100%;display:flex;flex-direction:column}.chat-body[data-v-1a62ac2a]{padding:8px 12px;height:calc(100% - 120px)}.messages[data-v-1a62ac2a]{height:100%;overflow:auto}.message-row[data-v-1a62ac2a]{display:flex;align-items:flex-end;margin:8px 0}.message-row.self[data-v-1a62ac2a]{flex-direction:row-reverse}.message-row .avatar[data-v-1a62ac2a]{width:28px;display:flex;justify-content:center}.message-row .bubble[data-v-1a62ac2a]{max-width:70%;background:#ffffff0f;border-radius:10px;padding:6px 10px;margin:0 8px}.message-row.self .bubble[data-v-1a62ac2a]{background:#2196f326}.bubble .text[data-v-1a62ac2a]{white-space:pre-wrap;word-break:break-word}.bubble .meta[data-v-1a62ac2a]{font-size:12px;opacity:.6;margin-top:2px;text-align:right}.bubble .sender-name[data-v-1a62ac2a]{font-size:11px;color:#fffc;margin-bottom:2px;font-weight:500}.message-row.self .bubble .sender-name[data-v-1a62ac2a]{color:#2196f3cc}.device-name[data-v-1a62ac2a]{font-weight:500;opacity:.8}.divider-row[data-v-1a62ac2a]{text-align:center;color:#fff9;font-size:12px}.divider-text[data-v-1a62ac2a]{margin:4px 0}.chat-input[data-v-1a62ac2a]{padding:8px}.events-container[data-v-1a62ac2a]{height:100%;display:flex;flex-direction:column}.events-list[data-v-1a62ac2a]{flex-grow:1;overflow-y:auto;max-height:calc(100% - 120px)}.event-item[data-v-1a62ac2a]{transition:all .2s ease}.event-item[data-v-1a62ac2a]:hover{transform:translate(2px)}.event-content[data-v-1a62ac2a]{max-width:100%}.chat-content[data-v-1a62ac2a]{background:#0000000d;padding:4px 8px;border-radius:4px;word-break:break-word}.event-data[data-v-1a62ac2a]{background:#0000000d;padding:4px;border-radius:4px;font-size:10px;max-height:100px;overflow-y:auto;white-space:pre-wrap;word-break:break-all}.pagination[data-v-1a62ac2a]{display:flex;justify-content:center}.event-stats[data-v-1a62ac2a]{flex-shrink:0} diff --git a/assets/ExamConfigEditor-C3cHfqxx.js b/assets/ExamConfigEditor-C3cHfqxx.js deleted file mode 100644 index fa0a4ad..0000000 --- a/assets/ExamConfigEditor-C3cHfqxx.js +++ /dev/null @@ -1,3 +0,0 @@ -import{d as Re}from"./dataProvider-B62Oym03.js";import{g as De,aq as ze,aR as Qt,aB as vt,ar as ne,as as Be,ae as ke,aw as lt,aS as ea,b as Ce,c as i,i as m,t as K,aT as ta,F as be,E as G,P as ct,Q as Ke,K as Et,aU as aa,L as na,aV as la,n as je,d as ce,aW as Xe,v as C,au as Ot,az as we,a3 as _,a2 as W,aX as wt,aY as ra,av as Ne,aZ as Dt,p as me,aA as Te,y as Y,x as Ye,aJ as it,a_ as nt,aC as ht,a$ as Yt,b0 as ia,b1 as We,b2 as oa,b3 as Bt,b4 as Ut,b5 as Ct,b6 as Vt,I as Rt,aO as sa,b7 as ua,b8 as da,b9 as ca,ba as ma,bb as fa,bc as xt,aG as va,Z as ha,aK as ga,_ as ya,o as $,C as pe,j as ie,w as d,A as se,D as ue,G as tt,a0 as ka,z as Oe,l as Pe,B as ba,q as Le,O as pa,bd as wa,J as Da,M as st,H as Ca}from"./index-CHEqx3ZK.js";import{V as ut}from"./VAlert-B7dotCy7.js";import{V as Va}from"./VSkeletonLoader-Bcvvvbke.js";import{a as xa,V as at}from"./VTooltip-C168gwPH.js";import{V as qe,b as Ta}from"./VChip-B02B673U.js";import{a as ge,V as $e}from"./VRow-7L_239rt.js";import{e as Sa,f as Ma,V as Ae,g as _a}from"./VTextField-BmfQXFFg.js";import{V as Ia}from"./VTextarea-uYG2fN8H.js";import{V as Pa}from"./VSwitch-CsrhG2o9.js";import{u as Na,a as Aa,V as mt,b as ft,c as Fa,h as Ea,d as Oa,m as Ya,e as Ba,f as Ua,g as Ra}from"./VSelect-B5ZKU6ZJ.js";import{V as La}from"./VCheckboxBtn-L9oezRC0.js";const Ha=me({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:Boolean,search:String,...Ba({filterKeys:["title"]}),...Ya(),...Te(_a({modelValue:null,role:"combobox"}),["validationValue","dirty"])},"VAutocomplete"),$a=De()({name:"VAutocomplete",props:Ha(),emits:{"update:focused":e=>!0,"update:search":e=>!0,"update:modelValue":e=>!0,"update:menu":e=>!0},setup(e,t){let{slots:n}=t;const{t:r}=ze(),a=W(),s=we(!1),l=we(!0),u=we(!1),o=W(),v=W(),g=we(-1),T=we(null),{items:k,transformIn:y,transformOut:F}=Qt(e),{textColorClasses:c,textColorStyles:D}=vt(()=>{var h;return(h=a.value)==null?void 0:h.color}),{InputIcon:p}=Sa(e),N=ne(e,"search",""),I=ne(e,"modelValue",[],h=>y(h===null?[null]:Be(h)),h=>{const O=F(h);return e.multiple?O:O[0]??null}),q=_(()=>typeof e.counterValue=="function"?e.counterValue(I.value):typeof e.counterValue=="number"?e.counterValue:I.value.length),j=Ma(e),{filteredItems:S,getMatches:w}=Na(e,k,()=>T.value??(l.value?"":N.value)),P=_(()=>e.hideSelected&&T.value===null?S.value.filter(h=>!I.value.some(O=>O.value===h.value)):S.value),H=Ne(()=>e.closableChips&&!j.isReadonly.value&&!j.isDisabled.value),M=_(()=>!!(e.chips||n.chip)),z=_(()=>M.value||!!n.selection),oe=_(()=>I.value.map(h=>h.props.value)),f=_(()=>P.value.find(h=>h.type==="item"&&!h.props.disabled)),V=_(()=>{var O;return(e.autoSelectFirst===!0||e.autoSelectFirst==="exact"&&N.value===((O=f.value)==null?void 0:O.title))&&P.value.length>0&&!l.value&&!u.value}),ee=_(()=>e.hideNoData&&!P.value.length||j.isReadonly.value||j.isDisabled.value),R=ne(e,"menu"),B=_({get:()=>R.value,set:h=>{var O;R.value&&!h&&((O=o.value)!=null&&O.ΨopenChildren.size)||h&&ee.value||(R.value=h)}}),{menuId:fe,ariaExpanded:Se,ariaControls:b}=Aa(e,B),A=W(),U=W(),ae=W(),x=Oa(A,a),{onTabKeydown:E}=Ua({groups:[{type:"element",contentRef:U},{type:"list",contentRef:A,displayItemsCount:()=>P.value.length},{type:"element",contentRef:ae}],onLeave:()=>{var h;B.value=!1,(h=a.value)==null||h.focus()}});function Q(h){e.openOnClear&&(B.value=!0),N.value=""}function le(){ee.value||(B.value=!0)}function ve(h){ee.value||(s.value&&(h.preventDefault(),h.stopPropagation()),B.value=!B.value)}function Ve(h){var O,L;h.key==="Tab"&&E(h),(O=A.value)!=null&&O.$el.contains(h.target)&&(wt(h)||h.key==="Backspace")&&((L=a.value)==null||L.focus())}function xe(h){var Me,re,Ee,J,de;if(j.isReadonly.value)return;const O=(Me=a.value)==null?void 0:Me.selectionStart,L=I.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(h.key)&&h.preventDefault(),["Enter","ArrowDown"].includes(h.key)&&(B.value=!0),["Escape"].includes(h.key)&&(B.value=!1),V.value&&["Enter","Tab"].includes(h.key)&&f.value&&!I.value.some(te=>{let{value:Ie}=te;return Ie===f.value.value})&&Ue(f.value),h.key==="ArrowDown"&&V.value&&((re=A.value)==null||re.focus("next")),["Backspace","Delete"].includes(h.key)){if(!e.multiple&&z.value&&I.value.length>0&&!N.value)return Ue(I.value[0],!1);if(~g.value){h.preventDefault();const te=g.value;Ue(I.value[g.value],!1),g.value=te>=L-1?L-2:te}else h.key==="Backspace"&&!N.value&&(g.value=L-1);return}if(e.multiple)if(h.key==="ArrowLeft"){if(g.value<0&&O&&O>0)return;const te=g.value>-1?g.value-1:L-1;if(I.value[te])g.value=te;else{const Ie=((Ee=N.value)==null?void 0:Ee.length)??null;g.value=-1,(J=a.value)==null||J.setSelectionRange(Ie,Ie)}}else if(h.key==="ArrowRight"){if(g.value<0)return;const te=g.value+1;I.value[te]?g.value=te:(g.value=-1,(de=a.value)==null||de.setSelectionRange(0,0))}else~g.value&&wt(h)&&(g.value=-1)}function X(h){if(Dt(a.value,":autofill")||Dt(a.value,":-webkit-autofill")){const O=k.value.find(L=>L.title===h.target.value);O&&Ue(O)}}function Fe(){var h;e.eager&&((h=v.value)==null||h.calculateVisibleItems())}function Ze(){var h;s.value&&(l.value=!0,(h=a.value)==null||h.focus()),T.value=null}function Qe(h){s.value=!0,setTimeout(()=>{u.value=!0})}function He(h){u.value=!1}function qt(h){(h==null||h===""&&!e.multiple&&!z.value)&&(I.value=[])}function Gt(h){var L;const O=(L=o.value)==null?void 0:L.contentEl;O!=null&&O.contains(h.relatedTarget)&&(s.value=!0)}const ot=we(!1);function Ue(h){let O=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!(!h||h.props.disabled))if(e.multiple){const L=I.value.findIndex(re=>(e.valueComparator||ra)(re.value,h.value)),Me=O??!~L;if(~L){const re=Me?[...I.value,h]:[...I.value];re.splice(L,1),I.value=re}else Me&&(I.value=[...I.value,h]);e.clearOnSelect&&(N.value="")}else{const L=O!==!1;I.value=L?[h]:[],T.value=l.value?"":N.value??"",N.value=L&&!z.value?h.title:"",lt(()=>{B.value=!1,l.value=!0})}}return ke(s,(h,O)=>{var L;h!==O&&(h?(ot.value=!0,N.value=e.multiple||z.value?"":String(((L=I.value.at(-1))==null?void 0:L.props.title)??""),l.value=!0,lt(()=>ot.value=!1)):(!e.multiple&&N.value==null&&(I.value=[]),B.value=!1,!l.value&&N.value&&(T.value=N.value),N.value="",g.value=-1))}),ke(N,h=>{!s.value||ot.value||(h&&(B.value=!0),l.value=!h)}),ke(B,h=>{if(!e.hideSelected&&h&&I.value.length&&l.value){const O=P.value.findIndex(L=>I.value.some(Me=>L.value===Me.value));ea&&window.requestAnimationFrame(()=>{var L;O>=0&&((L=v.value)==null||L.scrollToIndex(O))})}h&&(T.value=null)}),ke(k,(h,O)=>{B.value||s.value&&!O.length&&h.length&&(B.value=!0)}),Ce(()=>{const h=!!(!e.hideNoData||P.value.length||n["prepend-item"]||n["append-item"]||n["no-data"]),O=I.value.length>0,L=Ae.filterProps(e),Me={search:N,filteredItems:S.value};return i(Ae,G({ref:a},L,{modelValue:N.value,"onUpdate:modelValue":[re=>N.value=re,qt],focused:s.value,"onUpdate:focused":re=>s.value=re,validationValue:I.externalValue,counterValue:q.value,dirty:O,onChange:X,class:["v-autocomplete",`v-autocomplete--${e.multiple?"multiple":"single"}`,{"v-autocomplete--active-menu":B.value,"v-autocomplete--chips":!!e.chips,"v-autocomplete--selection-slot":!!z.value,"v-autocomplete--selecting-index":g.value>-1},e.class],style:e.style,readonly:j.isReadonly.value,placeholder:O?void 0:e.placeholder,"onClick:clear":Q,"onMousedown:control":le,onKeydown:xe,onBlur:Gt,"aria-expanded":Se.value,"aria-controls":b.value}),{...n,default:re=>{let{id:Ee}=re;return m(be,null,[i(mt,G({id:fe.value,ref:o,modelValue:B.value,"onUpdate:modelValue":J=>B.value=J,activator:"parent",contentClass:"v-autocomplete__content",disabled:ee.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,onAfterEnter:Fe,onAfterLeave:Ze},e.menuProps),{default:()=>[i(ft,{onFocusin:Qe,onKeydown:Ve},{default:()=>[n["menu-header"]&&m("header",{ref:U},[n["menu-header"](Me)]),h&&i(ct,G({key:"autocomplete-list",ref:A,filterable:!0,selected:oe.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:J=>J.preventDefault(),onFocusout:He,tabindex:"-1",selectable:!!P.value.length,"aria-live":"polite","aria-labelledby":`${Ee.value}-label`,"aria-multiselectable":e.multiple,color:e.itemColor??e.color},x,e.listProps),{default:()=>{var J,de,te;return[(J=n["prepend-item"])==null?void 0:J.call(n),!P.value.length&&!e.hideNoData&&(((de=n["no-data"])==null?void 0:de.call(n))??i(Ke,{key:"no-data",title:r(e.noDataText)},null)),i(Fa,{ref:v,renderless:!0,items:P.value,itemKey:"value"},{default:Ie=>{var kt,bt,pt;let{item:Z,index:_e,itemRef:he}=Ie;const yt=G(Z.props,{ref:he,key:Z.value,active:V.value&&Z===f.value?!0:void 0,onClick:()=>Ue(Z,null),"aria-posinset":_e+1,"aria-setsize":P.value.length});return Z.type==="divider"?((kt=n.divider)==null?void 0:kt.call(n,{props:Z.raw,index:_e}))??i(Et,G(Z.props,{key:`divider-${_e}`}),null):Z.type==="subheader"?((bt=n.subheader)==null?void 0:bt.call(n,{props:Z.raw,index:_e}))??i(aa,G(Z.props,{key:`subheader-${_e}`}),null):((pt=n.item)==null?void 0:pt.call(n,{item:Z,index:_e,props:yt}))??i(Ke,G(yt,{role:"option"}),{prepend:et=>{let{isSelected:Xt}=et;return m(be,null,[e.multiple&&!e.hideSelected?i(La,{key:Z.value,modelValue:Xt,ripple:!1,tabindex:"-1","aria-hidden":!0,onClick:Zt=>Zt.preventDefault()},null):void 0,Z.props.prependAvatar&&i(na,{image:Z.props.prependAvatar},null),Z.props.prependIcon&&i(K,{icon:Z.props.prependIcon},null)])},title:()=>{var et;return l.value?Z.title:Ea("v-autocomplete",Z.title,(et=w(Z))==null?void 0:et.title)}})}}),(te=n["append-item"])==null?void 0:te.call(n)]}}),n["menu-footer"]&&m("footer",{ref:ae},[n["menu-footer"](Me)])]})]}),I.value.map((J,de)=>{function te(he){he.stopPropagation(),he.preventDefault(),Ue(J,!1)}const Ie=G(qe.filterProps(J.props),{"onClick:close":te,onKeydown(he){he.key!=="Enter"&&he.key!==" "||(he.preventDefault(),he.stopPropagation(),te(he))},onMousedown(he){he.preventDefault(),he.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0}),Z=M.value?!!n.chip:!!n.selection,_e=Z?la(M.value?n.chip({item:J,index:de,props:Ie}):n.selection({item:J,index:de})):void 0;if(!(Z&&!_e))return m("div",{key:J.value,class:ce(["v-autocomplete__selection",de===g.value&&["v-autocomplete__selection--selected",c.value]]),style:je(de===g.value?D.value:{})},[M.value?n.chip?i(Xe,{key:"chip-defaults",defaults:{VChip:{closable:H.value,size:"small",text:J.title}}},{default:()=>[_e]}):i(qe,G({key:"chip",closable:H.value,size:"small",text:J.title,disabled:J.props.disabled},Ie),null):_e??m("span",{class:"v-autocomplete__selection-text"},[J.title,e.multiple&&de!0,"click:month":()=>!0,"click:prev":()=>!0,"click:next":()=>!0,"click:prev-year":()=>!0,"click:next-year":()=>!0},setup(e,t){let{emit:n,slots:r}=t;const{t:a}=ze(),s=_(()=>Array.isArray(e.disabled)?e.disabled.includes("text"):!!e.disabled),l=_(()=>Array.isArray(e.disabled)?e.disabled.includes("mode"):!!e.disabled),u=_(()=>Array.isArray(e.disabled)?e.disabled.includes("prev-month"):!!e.disabled),o=_(()=>Array.isArray(e.disabled)?e.disabled.includes("next-month"):!!e.disabled),v=_(()=>Array.isArray(e.disabled)?e.disabled.includes("prev-year"):!!e.disabled),g=_(()=>Array.isArray(e.disabled)?e.disabled.includes("next-year"):!!e.disabled);function T(){n("click:prev")}function k(){n("click:next")}function y(){n("click:prev-year")}function F(){n("click:next-year")}function c(){n("click:year")}function D(){n("click:month")}return Ce(()=>{const p={VBtn:{density:"comfortable",variant:"text"}},N=i(Y,{"data-testid":"prev-month",disabled:u.value,icon:e.prevIcon,"aria-label":a("$vuetify.datePicker.ariaLabel.previousMonth"),onClick:T},null),I=i(Y,{"data-testid":"next-month",disabled:o.value,icon:e.nextIcon,"aria-label":a("$vuetify.datePicker.ariaLabel.nextMonth"),onClick:k},null),q=i(Y,{"data-testid":"prev-year",disabled:v.value,icon:e.prevIcon,"aria-label":a("$vuetify.datePicker.ariaLabel.previousYear"),onClick:y},null),j=i(Y,{"data-testid":"next-year",disabled:g.value,icon:e.nextIcon,"aria-label":a("$vuetify.datePicker.ariaLabel.nextYear"),onClick:F},null),S=i(Y,{class:"v-date-picker-controls__only-month-btn","data-testid":"month-btn",density:"default",disabled:s.value,text:e.monthText,appendIcon:e.modeIcon,rounded:!0,"aria-label":a("$vuetify.datePicker.ariaLabel.selectMonth"),onClick:D},null),w=i(Y,{class:"v-date-picker-controls__only-year-btn","data-testid":"year-btn",density:"default",disabled:l.value,text:e.yearText,appendIcon:e.modeIcon,rounded:!0,"aria-label":a("$vuetify.datePicker.ariaLabel.selectYear"),onClick:c},null),P=i(Y,{class:"v-date-picker-controls__year-btn","data-testid":"year-btn",density:"default",disabled:l.value,text:e.text,appendIcon:e.modeIcon,rounded:!0,"aria-label":a("$vuetify.datePicker.ariaLabel.selectYear"),onClick:c},null),H=m(be,null,[i(Y,{class:"v-date-picker-controls__month-btn","data-testid":"month-btn",height:"36",disabled:s.value,text:e.text,rounded:!0,"aria-label":a("$vuetify.datePicker.ariaLabel.selectMonth"),onClick:D},null),i(Y,{class:"v-date-picker-controls__mode-btn","data-testid":"year-btn",disabled:l.value,icon:e.modeIcon,"aria-label":a("$vuetify.datePicker.ariaLabel.selectYear"),onClick:c},null)]),M={viewMode:e.viewMode,disabled:Array.isArray(e.disabled)?e.disabled:[],monthYearText:e.text??"",monthText:e.monthText??"",yearText:e.yearText??"",openMonths:D,openYears:c,prevMonth:T,nextMonth:k,prevYear:y,nextYear:F},z=m(be,null,[e.noMonthPicker?P:H,i(Ye,null,null),m("div",{class:"v-date-picker-controls__month"},[N,I])]),oe=m(be,null,[m("div",{class:"v-date-picker-controls__month"},[N,S,I]),i(Ye,null,null),m("div",{class:"v-date-picker-controls__year"},[q,w,j])]);return i(Xe,{defaults:p},{default:()=>{var f;return[m("div",{class:ce(["v-date-picker-controls",`v-date-picker-controls--variant-${e.controlVariant}`]),style:{"--v-date-picker-controls-height":it(e.controlHeight)}},[((f=r.default)==null?void 0:f.call(r,M))??m(be,null,[e.controlVariant==="modal"&&z,e.controlVariant==="docked"&&oe])])]}})}),{}}}),ja=me({appendIcon:nt,color:String,header:String,transition:String,onClick:ia()},"VDatePickerHeader"),St=De()({name:"VDatePickerHeader",props:ja(),emits:{click:()=>!0,"click:append":()=>!0},setup(e,t){let{emit:n,slots:r}=t;const{backgroundColorClasses:a,backgroundColorStyles:s}=ht(()=>e.color);function l(){n("click")}function u(){n("click:append")}return Ce(()=>{const o=!!(r.default||e.header),v=!!(r.append||e.appendIcon);return m("div",{class:ce(["v-date-picker-header",{"v-date-picker-header--clickable":!!e.onClick},a.value]),style:je(s.value),onClick:l},[r.prepend&&m("div",{key:"prepend",class:"v-date-picker-header__prepend"},[r.prepend()]),o&&i(Yt,{key:"content",name:e.transition},{default:()=>{var g;return[m("div",{key:e.header,class:"v-date-picker-header__content"},[((g=r.default)==null?void 0:g.call(r))??e.header])]}}),v&&m("div",{class:"v-date-picker-header__append"},[r.append?i(Xe,{key:"append-defaults",disabled:!e.appendIcon,defaults:{VBtn:{icon:e.appendIcon,variant:"text"}}},{default:()=>{var g;return[(g=r.append)==null?void 0:g.call(r)]}}):i(Y,{key:"append-btn",icon:e.appendIcon,variant:"text",onClick:u},null)])])}),{}}}),za=me({allowedDates:[Array,Function],disabled:{type:Boolean,default:null},displayValue:null,modelValue:Array,month:[Number,String],max:null,min:null,showAdjacentMonths:Boolean,year:[Number,String],weekdays:{type:Array,default:()=>[0,1,2,3,4,5,6]},weeksInMonth:{type:String,default:"dynamic"},firstDayOfWeek:{type:[Number,String],default:void 0},firstDayOfYear:{type:[Number,String],default:void 0},weekdayFormat:String},"calendar");function Wa(e){const t=We(),n=ne(e,"modelValue",[],c=>Be(c).map(D=>t.date(D))),r=_(()=>e.displayValue?t.date(e.displayValue):n.value.length>0?t.date(n.value[0]):e.min?t.date(e.min):Array.isArray(e.allowedDates)?t.date(e.allowedDates[0]):t.date()),a=ne(e,"year",void 0,c=>{const D=c!=null?Number(c):t.getYear(r.value);return t.startOfYear(t.setYear(t.date(),D))},c=>t.getYear(c)),s=ne(e,"month",void 0,c=>{const D=c!=null?Number(c):t.getMonth(r.value),p=t.setYear(t.startOfMonth(t.date()),t.getYear(a.value));return t.setMonth(p,D)},c=>t.getMonth(c)),l=_(()=>{const c=t.toJsDate(t.startOfWeek(t.date(),e.firstDayOfWeek)).getDay();return t.getWeekdays(e.firstDayOfWeek,e.weekdayFormat).filter((D,p)=>e.weekdays.includes((p+c)%7))}),u=_(()=>{const c=t.getWeekArray(s.value,e.firstDayOfWeek),D=c.flat(),p=6*7;if(e.weeksInMonth==="static"&&D.lengthe.weekdays.includes(t.toJsDate(p).getDay())).map((p,N)=>{const I=t.toISO(p),q=!t.isSameMonth(p,s.value),j=t.isSameDay(p,t.startOfMonth(s.value)),S=t.isSameDay(p,t.endOfMonth(s.value)),w=t.isSameDay(p,s.value),P=e.weekdays.length;return{date:p,formatted:t.format(p,"keyboardDate"),isAdjacent:q,isDisabled:F(p),isEnd:S,isHidden:q&&!e.showAdjacentMonths,isSame:w,isSelected:n.value.some(H=>t.isSameDay(p,H)),isStart:j,isToday:t.isSameDay(p,D),isWeekEnd:N%P===P-1,isWeekStart:N%P===0,isoDate:I,localized:t.format(p,"dayOfMonth"),month:t.getMonth(p),year:t.getYear(p)}})}const v=_(()=>{const c=t.startOfWeek(r.value,e.firstDayOfWeek),D=[];for(let N=0;N<=6;N++)D.push(t.addDays(c,N));const p=t.date();return o(D,p)}),g=_(()=>{const c=u.value.flat(),D=t.date();return o(c,D)}),T=_(()=>u.value.map(c=>c.length?t.getWeek(c[0],e.firstDayOfWeek,e.firstDayOfYear):null)),{minDate:k,maxDate:y}=Ht(e);function F(c){if(e.disabled)return!0;const D=t.date(c);return k.value&&t.isBefore(t.endOfDay(D),k.value)||y.value&&t.isAfter(D,y.value)?!0:Array.isArray(e.allowedDates)&&e.allowedDates.length>0?!e.allowedDates.some(p=>t.isSameDay(t.date(p),D)):typeof e.allowedDates=="function"?!e.allowedDates(D):!1}return{displayValue:r,daysInMonth:g,daysInWeek:v,genDays:o,model:n,weeksInMonth:u,weekdayLabels:l,weekNumbers:T}}function Ht(e){const t=We(),n=_(()=>{if(!e.min)return null;const l=t.date(e.min);return t.isValid(l)?l:null}),r=_(()=>{if(!e.max)return null;const l=t.date(e.max);return t.isValid(l)?l:null});function a(l){return n.value&&t.isBefore(l,n.value)?n.value:r.value&&t.isAfter(l,r.value)?r.value:l}function s(l){return(!n.value||t.isAfter(l,n.value))&&(!r.value||t.isBefore(l,r.value))}return{minDate:n,maxDate:r,clampDate:a,isInAllowedRange:s}}const $t=me({color:String,hideWeekdays:Boolean,multiple:[Boolean,Number,String],showWeek:Boolean,readonly:Boolean,transition:{type:String,default:"picker-transition"},reverseTransition:{type:String,default:"picker-reverse-transition"},events:{type:[Array,Function,Object],default:()=>null},eventColor:{type:[Array,Function,Object,String],default:()=>null},...Te(za(),["displayValue"])},"VDatePickerMonth"),Mt=De()({name:"VDatePickerMonth",props:$t(),emits:{"update:modelValue":e=>!0,"update:month":e=>!0,"update:year":e=>!0},setup(e,t){let{emit:n,slots:r}=t;const a=W(),{t:s}=ze(),{daysInMonth:l,model:u,weekNumbers:o,weekdayLabels:v}=Wa(e),g=We(),T=we(),k=we(),y=we(!1),F=Ne(()=>y.value?e.reverseTransition:e.transition);e.multiple==="range"&&u.value.length>0&&(T.value=u.value[0],u.value.length>1&&(k.value=u.value[u.value.length-1]));const c=_(()=>{const S=["number","string"].includes(typeof e.multiple)?Number(e.multiple):1/0;return u.value.length>=S});ke(l,(S,w)=>{w&&(y.value=g.isBefore(S[0].date,w[0].date))});function D(S){const w=g.startOfDay(S);if(u.value.length===0?T.value=void 0:u.value.length===1&&(T.value=u.value[0],k.value=void 0),!T.value)T.value=w,u.value=[T.value];else if(k.value)T.value=S,k.value=void 0,u.value=[T.value];else{if(g.isSameDay(w,T.value)){T.value=void 0,u.value=[];return}else g.isBefore(w,T.value)?(k.value=g.endOfDay(T.value),T.value=w):k.value=g.endOfDay(w);u.value=oa(g,T.value,k.value)}}function p(S){const w=g.format(S.date,"fullDateWithWeekday"),P=S.isToday?"currentDate":"selectDate";return s(`$vuetify.datePicker.ariaLabel.${P}`,w)}function N(S){const w=u.value.findIndex(P=>g.isSameDay(P,S));if(w===-1)u.value=[...u.value,S];else{const P=[...u.value];P.splice(w,1),u.value=P}}function I(S){e.multiple==="range"?D(S):e.multiple?N(S):u.value=[S]}function q(S){const{events:w,eventColor:P}=e;let H,M=[];if(Array.isArray(w)?H=w.includes(S):w instanceof Function?H=w(S)||!1:w?H=w[S]||!1:H=!1,H)H!==!0?M=Be(H):typeof P=="string"?M=[P]:typeof P=="function"?M=Be(P(S)):Array.isArray(P)?M=P:typeof P=="object"&&P!==null&&(M=Be(P[S]));else return[];return M.length?M.filter(Boolean).map(z=>typeof z=="string"?z:"surface-variant"):["surface-variant"]}function j(S){const w=q(S);return w.length?m("div",{class:"v-date-picker-month__events"},[w.map(P=>i(xa,{dot:!0,color:P},null))]):null}Ce(()=>m("div",{class:"v-date-picker-month",style:{"--v-date-picker-days-in-week":e.weekdays.length}},[e.showWeek&&m("div",{key:"weeks",class:"v-date-picker-month__weeks"},[!e.hideWeekdays&&m("div",{key:"hide-week-days",class:"v-date-picker-month__day"},[C(" ")]),o.value.map(S=>m("div",{class:ce(["v-date-picker-month__day","v-date-picker-month__day--adjacent"])},[S]))]),i(Yt,{name:F.value},{default:()=>{var S;return[m("div",{ref:a,key:(S=l.value[0].date)==null?void 0:S.toString(),class:"v-date-picker-month__days"},[!e.hideWeekdays&&v.value.map(w=>m("div",{class:ce(["v-date-picker-month__day","v-date-picker-month__weekday"])},[w])),l.value.map((w,P)=>{var M;const H={props:{class:"v-date-picker-month__day-btn",color:w.isSelected||w.isToday?e.color:void 0,disabled:w.isDisabled,readonly:e.readonly,icon:!0,ripple:!1,variant:w.isSelected?"flat":w.isToday?"outlined":"text","aria-label":p(w),"aria-current":w.isToday?"date":void 0,onClick:()=>I(w.date)},item:w,i:P};return c.value&&!w.isSelected&&(w.isDisabled=!0),m("div",{class:ce(["v-date-picker-month__day",{"v-date-picker-month__day--adjacent":w.isAdjacent,"v-date-picker-month__day--hide-adjacent":w.isHidden,"v-date-picker-month__day--selected":w.isSelected,"v-date-picker-month__day--week-end":w.isWeekEnd,"v-date-picker-month__day--week-start":w.isWeekStart}]),"data-v-date":w.isDisabled?void 0:w.isoDate},[(e.showAdjacentMonths||!w.isAdjacent)&&(((M=r.day)==null?void 0:M.call(r,H))??i(Y,H.props,{default:()=>[w.localized,j(w.isoDate)]}))])})])]}})]))}}),jt=me({color:String,height:[String,Number],min:null,max:null,modelValue:Number,year:Number,allowedMonths:[Array,Function]},"VDatePickerMonths"),_t=De()({name:"VDatePickerMonths",props:jt(),emits:{"update:modelValue":e=>!0},setup(e,t){let{emit:n,slots:r}=t;const a=We(),s=ne(e,"modelValue"),l=_(()=>{let o=a.startOfYear(a.date());return e.year&&(o=a.setYear(o,e.year)),Ut(12).map(v=>{const g=a.format(o,"monthShort"),T=a.format(o,"month"),k=!!(!u(v)||e.min&&a.isAfter(a.startOfMonth(a.date(e.min)),o)||e.max&&a.isAfter(o,a.startOfMonth(a.date(e.max))));return o=a.getNextMonth(o),{isDisabled:k,text:g,label:T,value:v}})});Bt(()=>{s.value=s.value??a.getMonth(a.date())});function u(o){return Array.isArray(e.allowedMonths)&&e.allowedMonths.length?e.allowedMonths.includes(o):typeof e.allowedMonths=="function"?e.allowedMonths(o):!0}return Ce(()=>m("div",{class:"v-date-picker-months",style:{height:it(e.height)}},[m("div",{class:"v-date-picker-months__content"},[l.value.map((o,v)=>{var k;const g={active:s.value===v,ariaLabel:o.label,color:s.value===v?e.color:void 0,disabled:o.isDisabled,rounded:!0,text:o.text,variant:s.value===o.value?"flat":"text",onClick:()=>T(v)};function T(y){if(s.value===y){n("update:modelValue",s.value);return}s.value=y}return((k=r.month)==null?void 0:k.call(r,{month:o,i:v,props:g}))??i(Y,G({key:"month"},g),null)})])])),{}}}),zt=me({color:String,height:[String,Number],min:null,max:null,modelValue:Number,allowedYears:[Array,Function]},"VDatePickerYears"),It=De()({name:"VDatePickerYears",props:zt(),directives:{vIntersect:Ct},emits:{"update:modelValue":e=>!0},setup(e,t){let{emit:n,slots:r}=t;const a=We(),s=ne(e,"modelValue"),l=we(!1),u=_(()=>{const k=a.getYear(a.date());let y=k-100,F=k+52;e.min&&(y=a.getYear(a.date(e.min))),e.max&&(F=a.getYear(a.date(e.max)));let c=a.startOfYear(a.date());return c=a.setYear(c,y),Ut(F-y+1,y).map(D=>{const p=a.format(c,"year");return c=a.setYear(c,a.getYear(c)+1),{text:p,value:D,isDisabled:!T(D)}})});Bt(()=>{s.value=s.value??a.getYear(a.date())});const o=Vt(),v=Vt();function g(){const k=o.el,y=v.el;if(!k||!y)return;const F=k.getBoundingClientRect(),c=y.getBoundingClientRect();k.scrollTop+=c.top-F.top-k.clientHeight/2+c.height/2}function T(k){return Array.isArray(e.allowedYears)&&e.allowedYears.length?e.allowedYears.includes(k):typeof e.allowedYears=="function"?e.allowedYears(k):!0}return Ce(()=>Rt(m("div",{class:"v-date-picker-years",ref:o,style:{height:it(e.height)}},[m("div",{class:"v-date-picker-years__content",onFocus:()=>{var k;return(k=v.el)==null?void 0:k.focus()},onFocusin:()=>l.value=!0,onFocusout:()=>l.value=!1,tabindex:l.value?-1:0},[u.value.map((k,y)=>{var c;const F={ref:s.value===k.value?v:void 0,active:s.value===k.value,color:s.value===k.value?e.color:void 0,rounded:!0,text:k.text,disabled:k.isDisabled,variant:s.value===k.value?"flat":"text",onClick:()=>{if(s.value===k.value){n("update:modelValue",s.value);return}s.value=k.value}};return((c=r.year)==null?void 0:c.call(r,{year:k,i:y,props:F}))??i(Y,G({key:"month"},F),null)})])]),[[Ct,{handler:g},null,{once:!0}]])),{}}}),Ja=sa("v-picker-title"),gt=me({bgColor:String,divided:Boolean,landscape:Boolean,title:String,hideHeader:Boolean,hideTitle:Boolean,...Ra()},"VPicker"),rt=De()({name:"VPicker",props:gt(),setup(e,t){let{slots:n}=t;const{backgroundColorClasses:r,backgroundColorStyles:a}=ht(()=>e.color);return Ce(()=>{const s=ft.filterProps(e),l=!e.hideTitle&&!!(e.title||n.title);return i(ft,G(s,{color:e.bgColor,class:["v-picker",{"v-picker--divided":e.divided,"v-picker--landscape":e.landscape,"v-picker--with-actions":!!n.actions},e.class],style:e.style}),{default:()=>{var u;return[!e.hideHeader&&m("div",{key:"header",class:ce(["v-picker__header-wrapper",r.value]),style:je([a.value])},[l&&i(Ja,{key:"picker-title"},{default:()=>{var o;return[((o=n.title)==null?void 0:o.call(n))??e.title]}}),n.header&&m("div",{class:"v-picker__header"},[n.header()])]),m("div",{class:"v-picker__body"},[(u=n.default)==null?void 0:u.call(n)]),n.actions&&i(Xe,{defaults:{VBtn:{slim:!0,variant:"text"}}},{default:()=>[m("div",{class:"v-picker__actions"},[n.actions()])]})]}})}),{}}}),Ka=me({header:{type:String,default:"$vuetify.datePicker.header"},headerColor:String,headerDateFormat:{type:String,default:"normalDateWithWeekday"},landscapeHeaderWidth:[Number,String],...Te(Lt(),["active","monthText","yearText"]),...$t({weeksInMonth:"static"}),...Te(jt(),["modelValue"]),...Te(zt(),["modelValue"]),...gt({title:"$vuetify.datePicker.title"}),modelValue:null},"VDatePicker"),Pt=De()({name:"VDatePicker",props:Ka(),emits:{"update:modelValue":e=>!0,"update:month":e=>!0,"update:year":e=>!0,"update:viewMode":e=>!0},setup(e,t){let{emit:n,slots:r}=t;const a=We(),{t:s}=ze(),{rtlClasses:l}=ua(),u=ne(e,"modelValue",void 0,x=>Be(x).map(E=>a.date(E)),x=>e.multiple?x:x[0]),o=ne(e,"viewMode"),{minDate:v,maxDate:g,clampDate:T}=Ht(e),k=_(()=>{var Q;const x=a.date(),E=(Q=u.value)!=null&&Q[0]?a.date(u.value[0]):T(x);return E&&a.isValid(E)?E:x}),y=Ne(()=>e.headerColor??e.color),F=ne(e,"month"),c=_({get:()=>Number(F.value??a.getMonth(a.startOfMonth(k.value))),set:x=>F.value=x}),D=ne(e,"year"),p=_({get:()=>Number(D.value??a.getYear(a.startOfYear(a.setMonth(k.value,c.value)))),set:x=>D.value=x}),N=we(!1),I=_(()=>{if(e.multiple&&u.value.length>1)return s("$vuetify.datePicker.itemsSelected",u.value.length);const x=u.value[0]&&a.isValid(u.value[0])?a.format(a.date(u.value[0]),e.headerDateFormat):s(e.header);return e.landscape&&x.split(" ").length===3?x.replace(" ",` -`):x}),q=Ne(()=>{let x=a.date();return x=a.setDate(x,1),x=a.setMonth(x,c.value),x=a.setYear(x,p.value),x}),j=Ne(()=>a.format(q.value,"monthAndYear")),S=Ne(()=>a.format(q.value,"monthShort")),w=Ne(()=>a.format(q.value,"year")),P=Ne(()=>`date-picker-header${N.value?"-reverse":""}-transition`),H=_(()=>{if(e.disabled)return!0;const x=[];if(o.value!=="month")x.push("prev-month","next-month","prev-year","next-year");else{let E=a.date();if(E=a.startOfMonth(E),E=a.setMonth(E,c.value),E=a.setYear(E,p.value),v.value){const Q=a.addDays(a.startOfMonth(E),-1),le=a.addDays(a.startOfYear(E),-1);a.isAfter(v.value,Q)&&x.push("prev-month"),a.isAfter(v.value,le)&&x.push("prev-year")}if(g.value){const Q=a.addDays(a.endOfMonth(E),1),le=a.addDays(a.endOfYear(E),1);a.isAfter(Q,g.value)&&x.push("next-month"),a.isAfter(le,g.value)&&x.push("next-year")}}return x}),M=_(()=>e.allowedYears||f),z=_(()=>e.allowedMonths||V);function oe(x,E){const Q=e.allowedDates;if(typeof Q!="function")return!0;const le=1+ca(a,x,E);for(let ve=0;ve0?c.value--:(p.value--,c.value=11,ae()),U()}function B(){if(p.value++,g.value){const x=String(c.value+1).padStart(2,"0"),E=a.parseISO(`${p.value}-${x}-01`);a.isAfter(E,g.value)&&(c.value=a.getMonth(g.value))}ae()}function fe(){if(p.value--,v.value){const x=String(c.value+1).padStart(2,"0"),E=a.endOfMonth(a.parseISO(`${p.value}-${x}-01`));a.isAfter(v.value,E)&&(c.value=a.getMonth(v.value))}ae()}function Se(){o.value="month"}function b(){o.value=o.value==="months"?"month":"months"}function A(){o.value=o.value==="year"?"month":"year"}function U(){o.value==="months"&&b()}function ae(){o.value==="year"&&A()}return ke(u,(x,E)=>{const Q=Be(E),le=Be(x);if(!le.length)return;const ve=a.date(Q[Q.length-1]),Ve=a.date(le[le.length-1]);if(a.isSameDay(ve,Ve))return;const xe=a.getMonth(Ve),X=a.getYear(Ve);xe!==c.value&&(c.value=xe,U()),X!==p.value&&(p.value=X,ae()),N.value=a.isBefore(ve,Ve)}),Ce(()=>{const x=rt.filterProps(e),E=Te(Tt.filterProps(e),["viewMode"]),Q=St.filterProps(e),le=Mt.filterProps(e),ve=Te(_t.filterProps(e),["modelValue"]),Ve=Te(It.filterProps(e),["modelValue"]),xe={color:y.value,header:I.value,transition:P.value};return i(rt,G(x,{color:y.value,class:["v-date-picker",`v-date-picker--${o.value}`,{"v-date-picker--show-week":e.showWeek},l.value,e.class],style:[{"--v-date-picker-landscape-header-width":it(e.landscapeHeaderWidth)},e.style]}),{title:()=>{var X;return((X=r.title)==null?void 0:X.call(r))??m("div",{class:"v-date-picker__title"},[s(e.title)])},header:()=>r.header?i(Xe,{defaults:{VDatePickerHeader:{...xe}}},{default:()=>{var X;return[(X=r.header)==null?void 0:X.call(r,xe)]}}):i(St,G({key:"header"},Q,xe,{onClick:o.value!=="month"?Se:void 0}),{prepend:r.prepend,append:r.append}),default:()=>m(be,null,[i(Tt,G(E,{disabled:H.value,viewMode:o.value,text:j.value,monthText:S.value,yearText:w.value,"onClick:next":ee,"onClick:prev":R,"onClick:nextYear":B,"onClick:prevYear":fe,"onClick:month":b,"onClick:year":A}),{default:r.controls}),i(da,{hideOnLeave:!0},{default:()=>[o.value==="months"?i(_t,G({key:"date-picker-months"},ve,{modelValue:c.value,"onUpdate:modelValue":[X=>c.value=X,U],min:v.value,max:g.value,year:p.value,allowedMonths:z.value}),{month:r.month}):o.value==="year"?i(It,G({key:"date-picker-years"},Ve,{modelValue:p.value,"onUpdate:modelValue":[X=>p.value=X,ae],min:v.value,max:g.value,allowedYears:M.value}),{year:r.year}):i(Mt,G({key:"date-picker-month"},le,{modelValue:u.value,"onUpdate:modelValue":X=>u.value=X,month:c.value,"onUpdate:month":[X=>c.value=X,U],year:p.value,"onUpdate:year":[X=>p.value=X,ae],min:v.value,max:g.value}),{day:r.day})]})]),actions:r.actions})}),{}}}),qa=me({allowedValues:Function,ampm:Boolean,color:String,disabled:Boolean,displayedValue:null,double:Boolean,format:{type:Function,default:e=>e},max:{type:Number,required:!0},min:{type:Number,required:!0},scrollable:Boolean,readonly:Boolean,rotate:{type:Number,default:0},step:{type:Number,default:1},modelValue:{type:Number}},"VTimePickerClock"),Nt=De()({name:"VTimePickerClock",props:qa(),emits:{change:e=>!0,input:e=>!0},setup(e,t){let{emit:n}=t;const r=W(null),a=W(null),s=W(void 0),l=W(!1),u=W(null),o=W(null),v=fa(b=>n("change",b),750),{textColorClasses:g,textColorStyles:T}=vt(()=>e.color),{backgroundColorClasses:k,backgroundColorStyles:y}=ht(()=>e.color),F=_(()=>e.max-e.min+1),c=_(()=>e.double?F.value/2:F.value),D=_(()=>360/c.value),p=_(()=>D.value*Math.PI/180),N=_(()=>e.modelValue==null?e.min:e.modelValue),I=_(()=>.62),q=_(()=>{const b=[];for(let A=e.min;A<=e.max;A=A+e.step)b.push(A);return b});ke(()=>e.modelValue,b=>{s.value=b});function j(b){s.value!==b&&(s.value=b),n("input",b)}function S(b){return!e.allowedValues||e.allowedValues(b)}function w(b){if(!e.scrollable||e.disabled)return;b.preventDefault();const A=Math.sign(-b.deltaY||1);let U=N.value;do U=U+A,U=(U-e.min+F.value)%F.value+e.min;while(!S(U)&&U!==N.value);U!==e.displayedValue&&j(U),v(U)}function P(b){return e.double&&b-e.min>=c.value}function H(b){return P(b)?I.value:1}function M(b){const A=e.rotate*Math.PI/180;return{x:Math.sin((b-e.min)*p.value+A)*H(b),y:-Math.cos((b-e.min)*p.value+A)*H(b)}}function z(b,A){const U=(Math.round(b/D.value)+(A?c.value:0))%F.value+e.min;return b<360-D.value/2?U:A?e.max-c.value+1:e.min}function oe(b){const{x:A,y:U}=M(b);return{left:`${Math.round(50+A*50)}%`,top:`${Math.round(50+U*50)}%`}}function f(b,A){const U=A.x-b.x,ae=A.y-b.y;return Math.sqrt(U*U+ae*ae)}function V(b,A){const U=2*Math.atan2(A.y-b.y-f(b,A),A.x-b.x);return Math.abs(U*180/Math.PI)}function ee(b){u.value===null&&(u.value=b),o.value=b,j(b)}function R(b){var Ze,Qe;if(b.preventDefault(),!l.value&&b.type!=="click"||!r.value)return;const{width:A,top:U,left:ae}=(Ze=r.value)==null?void 0:Ze.getBoundingClientRect(),{width:x}=((Qe=a.value)==null?void 0:Qe.getBoundingClientRect())??{width:0},{clientX:E,clientY:Q}="touches"in b?b.touches[0]:b,le={x:A/2,y:-A/2},ve={x:E-ae,y:U-Q},Ve=Math.round(V(le,ve)-e.rotate+360)%360,xe=e.double&&f(le,ve)<(x+x*I.value)/4,X=Math.ceil(15/D.value);let Fe;for(let He=0;Hem("div",{class:ce([{"v-time-picker-clock":!0,"v-time-picker-clock--indeterminate":e.modelValue==null,"v-time-picker-clock--readonly":e.readonly}]),onMousedown:B,onTouchstart:B,onWheel:w,ref:r},[m("div",{class:"v-time-picker-clock__inner",ref:a},[m("div",{class:ce([{"v-time-picker-clock__hand":!0,"v-time-picker-clock__hand--inner":P(e.modelValue)},g.value]),style:je([{transform:`rotate(${e.rotate+D.value*(N.value-e.min)}deg) scaleY(${H(N.value)})`},T.value])},null),q.value.map(b=>{const A=b===N.value;return m("div",{class:ce([{"v-time-picker-clock__item":!0,"v-time-picker-clock__item--active":A,"v-time-picker-clock__item--disabled":e.disabled||!S(b)},A&&k.value]),style:je([oe(b),A&&y.value])},[m("span",null,[e.format(b)])])})])]))}}),Ga=me({active:Boolean,color:String,disabled:Boolean,label:String,modelValue:String,error:String,showHint:Boolean,readonly:Boolean},"VTimePickerField"),dt=De()({name:"VTimePickerField",props:Ga(),emits:{"update:modelValue":e=>!0},setup(e,t){let{emit:n}=t;const{textColorClasses:r,textColorStyles:a}=vt(()=>e.color),s=W(),l=we(!1);function u(o){if(["Backspace","Delete"].includes(o.key)){o.preventDefault();const v=o.target;v.value="",n("update:modelValue",null)}}return Ce(()=>i(Ae,{ref:s,_as:"VTimePickerField",autocomplete:"off",class:ce(["v-time-picker-controls__time__field",{"v-time-picker-controls__time__field--active":e.active},e.active?r.value:[]]),style:je(e.active?a.value:[]),disabled:e.disabled,variant:"solo-filled",inputmode:"numeric",hideDetails:"auto","aria-label":e.label,"aria-invalid":!!e.error,"aria-errormessage":e.error,error:!!e.error,hint:e.showHint?e.label:void 0,persistentHint:!0,flat:!0,modelValue:e.modelValue??(l.value?"":"--"),"onUpdate:modelValue":o=>n("update:modelValue",o),onKeydown:u,onFocus:()=>l.value=!0,onBlur:()=>l.value=!1},null)),Ot({},s)}});function ye(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;return String(e).padStart(t,"0")}function Wt(e){return e?(e-1)%12+1:12}function Ge(e,t){return e%12+(t==="pm"?12:0)}function Je(e){const t=e.replaceAll(/\D/g,"");return t.length>0?Number(t):null}function Xa(e,t,n){{if(e===23&&t)return{value:0};if(e===0&&!t)return{value:23}}return{value:e+(t?1:-1)}}function Za(e,t){return e===59&&t?0:e===0&&!t?59:e+(t?1:-1)}const Jt=me({allowedHours:[Function,Array],allowedMinutes:[Function,Array],allowedSeconds:[Function,Array],max:String,min:String},"time-validation");function Kt(e){const t=_(()=>{const s=e.min?Number(e.min.split(":")[0]):0,l=e.max?Number(e.max.split(":")[0]):23;return u=>ul?!1:Array.isArray(e.allowedHours)?e.allowedHours.includes(u):typeof e.allowedHours=="function"?e.allowedHours(u):!0}),n=_(()=>{const[s,l]=e.min?e.min.split(":").map(Number):[0,0],[u,o]=e.max?e.max.split(":").map(Number):[23,59],v=s*60+l,g=u*60+o;return(T,k)=>{if(T!==null){const y=60*T+k;if(yg)return!1}return Array.isArray(e.allowedMinutes)?e.allowedMinutes.includes(k):typeof e.allowedMinutes=="function"?e.allowedMinutes(k):!0}}),r=_(()=>{const[s,l,u]=e.min?e.min.split(":").map(Number):[0,0,0],[o,v,g]=e.max?e.max.split(":").map(Number):[23,59,59],T=s*3600+l*60+(u||0),k=o*3600+v*60+(g||0);return(y,F,c)=>{if(y!==null&&F!==null){const D=3600*y+60*F+c;if(Dk)return!1}return Array.isArray(e.allowedSeconds)?e.allowedSeconds.includes(c):typeof e.allowedSeconds=="function"?e.allowedSeconds(c):!0}});function a(s,l,u){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,v=arguments.length>4&&arguments[4]!==void 0?arguments[4]:null;const g=s==="hour"?t.value:s==="minute"?y=>n.value(o,y):y=>r.value(o,v,y),T=s==="hour"?y=>Xa(y,u).value:y=>Za(y,u),k=s==="hour"?24:60;for(let y=1;y<=k&&(l=T(l),!g(l));y++);return l}return{isAllowedHour:t,isAllowedMinute:n,isAllowedSecond:r,findNextAllowed:a}}const Qa=me({ampm:Boolean,color:String,disabled:Boolean,inputHints:Boolean,hour:[Number,String],minute:[Number,String],second:[Number,String],period:String,readonly:Boolean,useSeconds:Boolean,value:Number,viewMode:String,...Jt()},"VTimePickerControls"),At=De()({name:"VTimePickerControls",props:Qa(),emits:{"update:period":e=>!0,"update:viewMode":e=>!0,"update:hour":e=>!0,"update:minute":e=>!0,"update:second":e=>!0},setup(e,t){let{emit:n}=t;const{t:r}=ze(),{isAllowedHour:a,isAllowedMinute:s,isAllowedSecond:l,findNextAllowed:u}=Kt(e),o=_(()=>e.hour!==null?e.ampm?Ge(Number(e.hour),e.period??"am"):Number(e.hour):null),v=_(()=>e.minute!==null?Number(e.minute):null),g=_(()=>{var f;return e.hour===null?!0:((f=a.value)==null?void 0:f.call(a,Number(o.value)))??!0}),T=_(()=>{var f;return e.minute===null?!0:((f=s.value)==null?void 0:f.call(s,o.value,Number(e.minute)))??!0}),k=_(()=>{var f;return e.second===null?!0:((f=l.value)==null?void 0:f.call(l,o.value,v.value,Number(e.second)))??!0}),y={in:f=>{if(f==null||isNaN(Number(f)))return null;const V=Number(f);return e.ampm?ye(Wt(V)):ye(V)},out:f=>{if(isNaN(Number(f))||f==null||f==="")return null;const V=typeof f=="string"?Je(f):Number(f);return V===null?null:e.ampm?Ge(V,e.period??"am"):xt(V,0,23)}},F=ne(e,"hour",void 0,y.in,y.out),c={in:f=>f!=null&&!isNaN(Number(f))?ye(`${f}`):null,out:f=>{if(isNaN(Number(f))||f==null||f==="")return null;const V=typeof f=="string"?Je(f):Number(f);return V!==null?xt(V,0,59):null}},D=ne(e,"minute",void 0,c.in,c.out),p=ne(e,"second",void 0,c.in,c.out);function N(f){if(!["ArrowUp","ArrowDown"].includes(f.key))return;f.preventDefault(),f.stopPropagation();const V=e.period==="am",ee=e.ampm?Ge(Number(F.value??0),V?"am":"pm"):Number(F.value??0),R=u("hour",ee,f.key==="ArrowUp"),B=V&&R>=12||!V&&R<12;e.ampm&&B?(n("update:period",e.period==="am"?"pm":"am"),lt(()=>F.value=ye(R))):F.value=ye(R)}function I(f){if(!["ArrowUp","ArrowDown"].includes(f.key))return;f.preventDefault(),f.stopPropagation();const V=Number(D.value??0),ee=u("minute",V,f.key==="ArrowUp",o.value);D.value=ye(ee)}function q(f){if(!["ArrowUp","ArrowDown"].includes(f.key))return;f.preventDefault(),f.stopPropagation();const V=Number(p.value??0),ee=u("second",V,f.key==="ArrowUp",o.value,v.value);p.value=ye(ee)}function j(f,V,ee){return R=>{if(!R.data)return;const B=R.target,{value:fe,selectionStart:Se,selectionEnd:b}=B??{};if(Je(R.data)===null){R.preventDefault();return}const A=fe?fe.slice(0,Se)+R.data+fe.slice(b):R.data;if(A.length>2){if(Se===b&&b===0&&R.data.trim().startsWith("0")){R.preventDefault(),B.value=A.trim().substring(0,2),ee(B.value),R.data.trim().length===1&&B.setSelectionRange(1,1);return}if(Se===b&&b===1&&fe.startsWith("0")){R.preventDefault(),B.value=A.trim().substring(0,2),ee(B.value);return}const ae=e.viewMode==="hour"?e.ampm?12:23:59;if(Je(A)>ae){R.preventDefault(),B.value=ye(String(Je(R.data)).substring(0,2)),ee(B.value);return}}const U=f(A);V(U)&&R.preventDefault()}}function S(f){n("update:period",f);const V=u("hour",f==="am"?23:11,!0);lt(()=>F.value=ye(V))}const w=W(),P=W(),H=W();ke(()=>e.viewMode,(f,V)=>{switch(V){case"hour":w.value.blur();break;case"minute":P.value.blur();break;case"second":H.value.blur();break}});const M=j(y.out,f=>y.in(f)===F.value,f=>F.value=f),z=j(c.out,f=>c.in(f)===D.value,f=>D.value=f),oe=j(c.out,f=>c.in(f)===p.value,f=>p.value=f);return Ce(()=>m("div",{class:"v-time-picker-controls"},[m("div",{class:ce({"v-time-picker-controls__time":!0,"v-time-picker-controls__time--with-ampm":e.ampm,"v-time-picker-controls__time--with-seconds":e.useSeconds})},[i(dt,{ref:w,active:e.viewMode==="hour",color:e.color,disabled:e.disabled,label:r("$vuetify.timePicker.hour"),showHint:e.inputHints,error:g.value?void 0:r("$vuetify.timePicker.notAllowed"),modelValue:F.value,"onUpdate:modelValue":f=>F.value=f,onKeydown:N,onBeforeinput:M,onFocus:()=>n("update:viewMode","hour")},null),m("span",{class:"v-time-picker-controls__time__separator"},[C(":")]),i(dt,{ref:P,active:e.viewMode==="minute",color:e.color,disabled:e.disabled,label:r("$vuetify.timePicker.minute"),showHint:e.inputHints,error:T.value?void 0:r("$vuetify.timePicker.notAllowed"),modelValue:D.value,"onUpdate:modelValue":f=>D.value=f,onKeydown:I,onBeforeinput:z,onFocus:()=>n("update:viewMode","minute")},null),e.useSeconds&&m("span",{key:"secondsDivider",class:"v-time-picker-controls__time__separator"},[C(":")]),e.useSeconds&&m(be,null,[i(dt,{key:"secondsVal",ref:H,active:e.viewMode==="second",color:e.color,disabled:e.disabled,label:r("$vuetify.timePicker.second"),showHint:e.inputHints,error:k.value?void 0:r("$vuetify.timePicker.notAllowed"),modelValue:p.value,"onUpdate:modelValue":f=>p.value=f,onKeydown:q,onBeforeinput:oe,onFocus:()=>n("update:viewMode","second")},null)]),e.ampm&&m("div",{class:"v-time-picker-controls__ampm"},[i(Y,{active:e.period==="am",color:e.period==="am"?e.color:void 0,class:ce({"v-time-picker-controls__ampm__am":!0,"v-time-picker-controls__ampm__btn":!0,"v-time-picker-controls__ampm__btn__active":e.period==="am"}),disabled:e.disabled,text:r("$vuetify.timePicker.am"),variant:e.disabled&&e.period==="am"?"elevated":"tonal",onClick:()=>e.period!=="am"?S("am"):null},null),i(Y,{active:e.period==="pm",color:e.period==="pm"?e.color:void 0,class:ce({"v-time-picker-controls__ampm__pm":!0,"v-time-picker-controls__ampm__btn":!0,"v-time-picker-controls__ampm__btn__active":e.period==="pm"}),disabled:e.disabled,text:r("$vuetify.timePicker.pm"),variant:e.disabled&&e.period==="pm"?"elevated":"tonal",onClick:()=>e.period!=="pm"?S("pm"):null},null)])])])),{}}}),en=me({disabled:Boolean,format:{type:String,default:"ampm"},viewMode:{type:String,default:"hour"},period:{type:String,default:"am",validator:e=>["am","pm"].includes(e)},modelValue:null,readonly:Boolean,scrollable:Boolean,useSeconds:Boolean,variant:{type:String,default:"dial"},...Jt(),...Te(gt({title:"$vuetify.timePicker.title"}),["landscape"]),...ga()},"VTimePicker"),Ft=De()({name:"VTimePicker",props:en(),emits:{"update:hour":e=>!0,"update:minute":e=>!0,"update:period":e=>!0,"update:second":e=>!0,"update:modelValue":e=>!0,"update:viewMode":e=>!0},setup(e,t){let{emit:n,slots:r}=t;const{t:a}=ze(),{densityClasses:s}=va(e),l=W(null),u=W(null),o=W(null),v=W(null),g=W(null),T=W(null),k=ne(e,"period","am"),y=ne(e,"viewMode","hour"),F=W(null),c=W(null),D=_(()=>e.format==="ampm"),{isAllowedHour:p,isAllowedMinute:N,isAllowedSecond:I}=Kt(e),q=Ne(()=>e.modelValue!==null&&l.value===null&&u.value===null&&(!e.useSeconds||o.value===null));function j(){const M=S();M!==null&&M!==e.modelValue&&n("update:modelValue",M),q.value&&n("update:modelValue",null)}ke(l,j),ke(u,j),ke(o,j),ke(()=>e.modelValue,M=>w(M)),ke(()=>e.useSeconds,(M,z)=>{z&&!M&&y.value==="second"&&(y.value="minute"),!M&&o.value!==null&&(o.value=null)}),ha(()=>{w(e.modelValue)});function S(){return l.value!=null&&u.value!=null&&(!e.useSeconds||o.value!=null)?`${ye(l.value)}:${ye(u.value)}`+(e.useSeconds?`:${ye(o.value)}`:""):null}function w(M){if(M==null||M==="")l.value=null,u.value=null,o.value=null;else if(M instanceof Date)l.value=M.getHours(),u.value=M.getMinutes(),o.value=M.getSeconds();else{const[z,,oe,,f,V]=M.trim().toLowerCase().match(/^(\d+):(\d+)(:(\d+))?([ap]m)?$/)||new Array(6);l.value=V?Ge(parseInt(z,10),V):parseInt(z,10),u.value=parseInt(oe,10),o.value=parseInt(f||0,10)}k.value=l.value==null||l.value<12?"am":"pm"}function P(M){y.value==="hour"?l.value=D.value?Ge(M,k.value):M:y.value==="minute"?u.value=M:o.value=M}function H(M){switch(y.value||"hour"){case"hour":n("update:hour",M);break;case"minute":n("update:minute",M);break;case"second":n("update:second",M);break}const z=l.value!==null&&u.value!==null&&(e.useSeconds?o.value!==null:!0);y.value==="hour"?y.value="minute":e.useSeconds&&y.value==="minute"&&(y.value="second"),!(l.value===v.value&&u.value===g.value&&(!e.useSeconds||o.value===T.value)||S()===null)&&(v.value=l.value,g.value=u.value,e.useSeconds&&(T.value=o.value),z&&j())}Ce(()=>{const M=Te(rt.filterProps(e),["hideHeader"]),z=At.filterProps(e),oe=Nt.filterProps(Te(e,["format","modelValue","min","max"])),f=y.value==="hour"?p.value:y.value==="minute"?V=>N.value(l.value,V):V=>I.value(l.value,u.value,V);return i(rt,G(M,{color:void 0,class:["v-time-picker",`v-time-picker--variant-${e.variant}`,e.class,s.value],hideHeader:e.hideHeader&&e.variant!=="input",style:e.style}),{title:()=>{var V;return((V=r.title)==null?void 0:V.call(r))??m("div",{class:"v-time-picker__title"},[a(e.title)])},header:()=>i(At,G(z,{ampm:D.value,hour:l.value,minute:u.value,period:k.value,second:o.value,viewMode:y.value,inputHints:e.variant==="input","onUpdate:hour":V=>l.value=V,"onUpdate:minute":V=>u.value=V,"onUpdate:second":V=>o.value=V,"onUpdate:period":V=>k.value=V,"onUpdate:viewMode":V=>y.value=V,ref:F}),null),default:()=>i(Nt,G(oe,{allowedValues:f,double:y.value==="hour"&&!D.value,format:y.value==="hour"?D.value?Wt:V=>V:V=>ye(V,2),max:y.value==="hour"?D.value&&k.value==="am"?11:23:59,min:y.value==="hour"&&D.value&&k.value==="pm"?12:0,size:20,step:y.value==="hour"?1:5,modelValue:y.value==="hour"?l.value:y.value==="minute"?u.value:o.value,onChange:H,onInput:P,ref:c}),null),actions:r.actions})})}}),tn={name:"ExamConfigEditor",props:{configId:{type:String,required:!0},dialogMode:{type:Boolean,default:!1}},emits:["saved","error","opened","deleted"],data(){return{localConfig:{examName:"",message:"",room:"",examInfos:[]},loading:!1,saving:!1,deleting:!1,deleteDialog:!1,error:"",success:"",isEditMode:!1,showJsonPreview:!1,availableSubjects:[],customSubjectInput:"",enableCustomAlertTime:!1,defaultExamTips:["请保持卷面整洁,字迹清晰,诚信应考。在听到终考铃时立刻起立,停止作答。","沉着 冷静 细心 守记","答题不守记,自己两行泪。"]}},computed:{formattedJson(){try{return JSON.stringify(this.localConfig,null,2)}catch(e){return console.error("格式化JSON时出错:",e),"无效的JSON格式"}},formattedStorageJson(){try{const e={examName:this.localConfig.examName,message:this.localConfig.message,room:this.localConfig.room,examInfos:this.localConfig.examInfos.map(t=>({name:t.name,start:this.formatDisplayDateTime(t.start),end:this.formatDisplayDateTime(t.end),alertTime:parseInt(t.alertTime)||15}))};return JSON.stringify(e,null,2)}catch(e){return console.error("格式化存储JSON时出错:",e),"无效的JSON格式"}},isValidConfig(){return this.localConfig.examName&&this.localConfig.message&&this.localConfig.examInfos&&this.localConfig.examInfos.length>0&&this.localConfig.examInfos.every(e=>e.name&&e.start&&e.end)},validationErrors(){const e=[];if((!this.localConfig.examName||this.localConfig.examName.trim()==="")&&e.push("考试名称不能为空"),(!this.localConfig.message||this.localConfig.message.trim()==="")&&e.push("考试提示不能为空"),!this.localConfig.examInfos||this.localConfig.examInfos.length===0)e.push("至少需要添加一个考试科目");else{this.localConfig.examInfos.forEach((t,n)=>{const r=`第${n+1}个科目`;if((!t.name||t.name.trim()==="")&&e.push(`${r}的名称不能为空`),t.start||e.push(`${r}的开始时间不能为空`),t.end||e.push(`${r}的结束时间不能为空`),t.start&&t.end){const a=new Date(t.start),s=new Date(t.end);isNaN(a.getTime())&&e.push(`${r}的开始时间格式不正确`),isNaN(s.getTime())&&e.push(`${r}的结束时间格式不正确`),!isNaN(a.getTime())&&!isNaN(s.getTime())&&(s<=a&&e.push(`${r}的结束时间必须晚于开始时间`),(s-a)/(1e3*60*60)>24&&e.push(`${r}的考试时长不能超过24小时`))}});for(let t=0;tu&&e.push(`第${t+1}个科目与第${n+1}个科目的时间有重叠`)}}}return e},hasValidationErrors(){return this.validationErrors.length>0}},watch:{configId:{immediate:!0,handler(e){e&&this.loadConfig()}}},created(){this.loadSubjects()},methods:{async loadSubjects(){try{const e=await Re.loadData("classworks-config-subject");e&&Array.isArray(e)?this.availableSubjects=e.sort((t,n)=>(t.order??0)-(n.order??0)).map(t=>({name:t.name,order:t.order??0})):this.availableSubjects=[{name:"语文",order:0},{name:"数学",order:1},{name:"英语",order:2},{name:"物理",order:3},{name:"化学",order:4},{name:"生物",order:5},{name:"政治",order:6},{name:"历史",order:7},{name:"地理",order:8}]}catch(e){console.warn("加载科目列表失败,使用默认列表:",e),this.availableSubjects=[{name:"语文",order:0},{name:"数学",order:1},{name:"英语",order:2},{name:"物理",order:3},{name:"化学",order:4},{name:"生物",order:5},{name:"政治",order:6},{name:"历史",order:7},{name:"地理",order:8}]}},autoFillRemaining(){if(this.localConfig.examInfos.length===0)return;let e=null;for(let t=this.localConfig.examInfos.length-1;t>=0;t--)if(this.localConfig.examInfos[t].end){e=new Date(this.localConfig.examInfos[t].end);break}e||(e=new Date);for(let t=0;t12)return`${t}月份不合法(1-12)`;if(g<1||g>31)return`${t}日期不合法(1-31)`;if(T<0||T>23)return`${t}小时不合法(0-23)`;if(k<0||k>59)return`${t}分钟不合法(0-59)`;const y=new Date(o,v-1,g,T,k);return isNaN(y.getTime())?`${t}日期不存在`:y.getMonth()!==v-1||y.getDate()!==g?`${t}日期不存在`:!0},validateEndAfterStart(e){if(!e.startFormatted||!e.endFormatted)return!0;try{const t=new Date(e.start||e.startFormatted.replace(/\//g,"-")),n=new Date(e.end||e.endFormatted.replace(/\//g,"-"));return isNaN(t.getTime())||isNaN(n.getTime())?!0:n<=t?"结束时间必须晚于开始时间":(n.getTime()-t.getTime())/(1e3*60*60)>24?"考试时长不能超过24小时":!0}catch{return!0}},validateNoTimeOverlap(e,t){if(!e.startFormatted||!e.endFormatted)return!0;try{const n=new Date(e.start||e.startFormatted.replace(/\//g,"-")),r=new Date(e.end||e.endFormatted.replace(/\//g,"-"));if(isNaN(n.getTime())||isNaN(r.getTime()))return!0;for(let a=0;a=l&&nl&&r<=u||n<=l&&r>=u)return`时间与"${s.name||`第${a+1}个科目`}"重叠`}return!0}catch{return!0}},toggleAlertTimeMode(){this.enableCustomAlertTime||this.localConfig.examInfos.forEach(e=>{e.alertTime=15})},getExamDuration(e){if(!e.start||!e.end)return"";try{const t=new Date(e.start),n=new Date(e.end);if(isNaN(t.getTime())||isNaN(n.getTime()))return"";const r=n.getTime()-t.getTime(),a=Math.round(r/(1e3*60));if(a<60)return`${a}分钟`;const s=Math.floor(a/60),l=a%60;return l===0?`${s}小时`:`${s}小时${l}分钟`}catch{return""}},updateStartDateTimeFromInput(e){if(e===void 0||!this.localConfig.examInfos[e])return;const t=this.localConfig.examInfos[e],n=t.startFormatted;if(!n)return;const r=n.match(/(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})\s+(\d{1,2}):(\d{1,2})/);if(!r)return;const[,a,s,l,u,o]=r,v=new Date(parseInt(a),parseInt(s)-1,parseInt(l),parseInt(u),parseInt(o));isNaN(v.getTime())||(t.startDate=v,t.startTime=this.formatTimeOnly(v),t.start=this.formatDateTimeLocal(v),this.updateStartDateTime(e))},updateEndDateTimeFromInput(e){if(e===void 0||!this.localConfig.examInfos[e])return;const t=this.localConfig.examInfos[e],n=t.endFormatted;if(!n)return;const r=n.match(/(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})\s+(\d{1,2}):(\d{1,2})/);if(!r)return;const[,a,s,l,u,o]=r,v=new Date(parseInt(a),parseInt(s)-1,parseInt(l),parseInt(u),parseInt(o));isNaN(v.getTime())||(t.endDate=v,t.endTime=this.formatTimeOnly(v),t.end=this.formatDateTimeLocal(v),this.updateEndDateTime(e))},async loadConfig(){var e;this.loading=!0,this.error="";try{const t=await Re.loadData(`es_${this.configId}`);if(t){this.localConfig={examName:"",message:"",room:"",examInfos:[],...t},Array.isArray(this.localConfig.examInfos)||(this.localConfig.examInfos=[]),this.localConfig.examInfos.forEach(r=>{if(r.start){const a=this.parseDateTime(r.start);r.start=this.formatDateTimeLocal(a),r.startDate=a,r.startTime=this.formatTimeOnly(a),r.startFormatted=this.formatDisplayDateTime(a),r.startDateMenu=!1}if(r.end){const a=this.parseDateTime(r.end);r.end=this.formatDateTimeLocal(a),r.endDate=a,r.endTime=this.formatTimeOnly(a),r.endFormatted=this.formatDisplayDateTime(a),r.endDateMenu=!1}try{if(r.start&&r.end){const a=new Date(r.start),s=new Date(r.end),l=Math.round((s.getTime()-a.getTime())/(1e3*60));l>0&&l<=24*60?r.durationMinutes=l:r.durationMinutes=120}else r.durationMinutes=120}catch{r.durationMinutes=120}r.alertTime===void 0||r.alertTime===null?r.alertTime=15:r.alertTime=parseInt(r.alertTime)||15});const n=this.localConfig.examInfos.some(r=>r.alertTime!==15);this.enableCustomAlertTime=n}else console.error("加载配置失败:",t),this.error="加载配置失败: "+(((e=t.error)==null?void 0:e.message)||"未知错误"),this.$emit("error",this.error)}catch(t){console.error(t),this.error="加载配置失败: "+t.message,this.$emit("error",this.error)}finally{this.loading=!1}},async saveConfig(){var e;if(!this.isValidConfig){const t=this.validationErrors;return t.length>0?this.error=`配置验证失败:${t.join(";")}`:this.error="请填写完整的配置信息",!1}this.saving=!0,this.error="";try{const t={examName:this.localConfig.examName,message:this.localConfig.message,room:this.localConfig.room,examInfos:this.localConfig.examInfos.map(r=>({name:r.name,start:this.formatDisplayDateTime(r.start),end:this.formatDisplayDateTime(r.end),alertTime:parseInt(r.alertTime)||15}))},n=await Re.saveData(`es_${this.configId}`,t);return n?(this.success="配置保存成功",this.$emit("saved",t),!0):(this.error="保存配置失败: "+(((e=n.error)==null?void 0:e.message)||"未知错误"),this.$emit("error",this.error),!1)}catch(t){return this.error="保存配置失败: "+t,this.$emit("error",this.error),!1}finally{this.saving=!1}},addExamInfo(){let e=new Date;if(this.localConfig.examInfos.length>0){const a=this.localConfig.examInfos[this.localConfig.examInfos.length-1];a.end&&(e=new Date(a.end))}const t=new Date(e.getTime()+10*60*1e3),n=new Date(t.getTime()+2*60*60*1e3),r={name:"",start:this.formatDateTimeLocal(t),end:this.formatDateTimeLocal(n),durationMinutes:120,alertTime:15,startDate:t,startTime:this.formatTimeOnly(t),startFormatted:this.formatDisplayDateTime(t),startDateMenu:!1,endDate:n,endTime:this.formatTimeOnly(n),endFormatted:this.formatDisplayDateTime(n),endDateMenu:!1};this.localConfig.examInfos.push(r)},removeExamInfo(e){this.localConfig.examInfos.splice(e,1)},moveExamInfo(e,t){const n=e+t;if(n>=0&&n24*60&&(n=24*60),t.durationMinutes=n,(!t.startDate||!t.startTime)&&t.start){const r=new Date(t.start);isNaN(r.getTime())||(t.startDate=r,t.startTime=this.formatTimeOnly(r))}if(t.startDate&&t.startTime){const r=new Date(t.startDate),[a,s]=String(t.startTime).split(":");r.setHours(parseInt(a),parseInt(s),0,0);const l=new Date(r.getTime()+n*60*1e3);t.endDate=l,t.endTime=this.formatTimeOnly(l),t.end=this.formatDateTimeLocal(l),t.endFormatted=this.formatDisplayDateTime(l)}},formatDateTimeLocal(e){if(!e)return"";let t;if(typeof e=="string"?e.includes("/")?t=new Date(e.replace(/\//g,"-")):t=new Date(e):t=new Date(e),isNaN(t.getTime()))return"";const n=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0"),s=String(t.getHours()).padStart(2,"0"),l=String(t.getMinutes()).padStart(2,"0");return`${n}-${r}-${a}T${s}:${l}`},formatDisplayDateTime(e){if(!e)return"";const t=new Date(e);if(isNaN(t.getTime()))return e;const n=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0"),s=String(t.getHours()).padStart(2,"0"),l=String(t.getMinutes()).padStart(2,"0");return`${n}/${r}/${a} ${s}:${l}`},parseDateTime(e){return e?typeof e=="string"?e.includes("/")?new Date(e.replace(/\//g,"-")):new Date(e):new Date(e):new Date},formatTimeOnly(e){if(!e)return"00:00";const t=new Date(e);if(isNaN(t.getTime()))return"00:00";const n=String(t.getHours()).padStart(2,"0"),r=String(t.getMinutes()).padStart(2,"0");return`${n}:${r}`},updateStartDateTime(e){const t=this.localConfig.examInfos[e];if(!t.startDate||!t.startTime)return;const n=new Date(t.startDate),[r,a]=t.startTime.split(":");n.setHours(parseInt(r),parseInt(a),0,0),t.start=this.formatDateTimeLocal(n),t.startFormatted=this.formatDisplayDateTime(n);let s=parseInt(t.durationMinutes);if(isNaN(s)||s<=0||s>24*60)try{let u=null;if(t.endDate&&t.endTime){u=new Date(t.endDate);const[o,v]=String(t.endTime).split(":");u.setHours(parseInt(o),parseInt(v),0,0)}else t.end&&(u=new Date(t.end));if(u&&!isNaN(u.getTime())){const o=Math.round((u.getTime()-n.getTime())/6e4);o>0&&o<=24*60&&(s=o)}}catch{}(isNaN(s)||s<=0||s>24*60)&&(s=120);const l=new Date(n.getTime()+s*60*1e3);t.endDate=l,t.endTime=this.formatTimeOnly(l),t.end=this.formatDateTimeLocal(l),t.endFormatted=this.formatDisplayDateTime(l),t.durationMinutes=s},updateEndDateTime(e){const t=this.localConfig.examInfos[e];if(!t.endDate||!t.endTime)return;const n=new Date(t.endDate),[r,a]=t.endTime.split(":");n.setHours(parseInt(r),parseInt(a),0,0),t.end=this.formatDateTimeLocal(n),t.endFormatted=this.formatDisplayDateTime(n);try{if(t.startDate&&t.startTime){const s=new Date(t.startDate),[l,u]=String(t.startTime).split(":");s.setHours(parseInt(l),parseInt(u),0,0);const o=Math.round((n.getTime()-s.getTime())/(1e3*60));o>0&&o<=24*60&&(t.durationMinutes=o)}}catch{}},async openConfig(){try{const e=await Re.getKeyCloudUrl(`es_${this.configId}`,{autoMigrate:!0,autoConfig:!0});if(e.success&&e.url){const t=`https://es.examaware.cn/exam/?configUrl=${encodeURIComponent(e.url)}`;window.open(t,"_blank"),this.success="配置已在新窗口中打开",this.$emit("opened",{configId:this.configId,url:e.url})}else throw new Error(e.error||"获取云端地址失败")}catch(e){this.error="打开配置失败: "+e.message,this.$emit("error","打开配置失败: "+e.message)}},confirmDelete(){this.deleteDialog=!0},async deleteConfig(){this.deleting=!0;try{const n=(await Re.loadData("es_list")||[]).filter(a=>a.id!==this.configId);if(!await Re.saveData("es_list",n))throw new Error("更新云端列表失败");this.deleteDialog=!1,this.$emit("deleted",{success:!0,message:"配置删除成功",configId:this.configId})}catch(e){console.error("删除配置失败:",e),this.$emit("deleted",{success:!1,message:"删除失败: "+e.message})}finally{this.deleting=!1}},openInEa2Player(){var e;try{const t={examName:this.localConfig.examName,message:this.localConfig.message,room:this.localConfig.room,examInfos:this.localConfig.examInfos.map(s=>({name:s.name,start:this.formatDisplayDateTime(s.start),end:this.formatDisplayDateTime(s.end),alertTime:parseInt(s.alertTime)||15}))},n=JSON.stringify(t),r=btoa(unescape(encodeURIComponent(n))),a=`examaware://player?data=${encodeURIComponent(r)}`;window.location.href=a,(e=this.$message)==null||e.success("正在拉起 ExamAware2 播放器...")}catch(t){this.error="拉起播放器失败: "+t.message}}}},an={class:"d-flex align-center"},nn={class:"d-flex align-center"},ln={key:4,class:"d-flex justify-space-between align-center mb-4"},rn={class:"d-flex align-center gap-2"},on={key:5},sn={class:"mb-8"},un={class:"text-h3 font-weight-bold",style:{"line-height":"1.2"}},dn={class:"text-subtitle-1 text-grey",style:{"white-space":"pre-wrap","line-height":"1.8"}},cn={key:0,class:"mb-8"},mn={class:"d-flex align-center"},fn={class:""},vn={class:"mb-3"},hn={class:"d-flex align-center mb-1"},gn={class:"text-h6 font-weight-medium text-success"},yn={class:"d-flex align-center mb-1"},kn={class:"text-h6 font-weight-medium text-error"},bn={key:1,class:"text-center py-12"},pn={class:"json-preview"},wn={key:6},Dn={class:"text-subtitle-2 font-weight-bold d-block mb-2"},Cn={key:0,class:"mt-3"},Vn={class:"text-caption text-medium-emphasis mt-2 ml-2"},xn={class:"d-flex align-center mr-4"},Tn={class:"w-100"},Sn={class:"d-flex align-center mb-3"},Mn={class:"d-flex gap-1"},_n={class:"text-primary font-weight-bold"},In={key:1,class:"text-center py-12"};function Pn(e,t,n,r,a,s){return $(),pe("div",null,[a.error?($(),ie(ut,{key:0,border:"start",class:"mb-4 mt-3 mx-2",closable:"",type:"error",variant:"tonal","onClick:close":t[0]||(t[0]=l=>a.error="")},{default:d(()=>[m("div",an,[i(K,{class:"mr-2"},{default:d(()=>[...t[10]||(t[10]=[C("mdi-alert-circle",-1)])]),_:1}),C(" "+se(a.error),1)])]),_:1})):ue("",!0),a.success?($(),ie(ut,{key:1,border:"start",class:"mb-4 mt-3 mx-2",closable:"",type:"success",variant:"tonal","onClick:close":t[1]||(t[1]=l=>a.success="")},{default:d(()=>[m("div",nn,[i(K,{class:"mr-2"},{default:d(()=>[...t[11]||(t[11]=[C("mdi-check-circle",-1)])]),_:1}),C(" "+se(a.success),1)])]),_:1})):ue("",!0),s.hasValidationErrors&&!a.loading?($(),ie(ut,{key:2,border:"start",class:"mb-4 mt-3 mx-2",type:"warning",variant:"tonal"},{default:d(()=>[t[13]||(t[13]=m("div",{class:"d-flex align-center"},[m("span",{class:"font-weight-bold"},"配置验证失败,请检查以下问题:")],-1)),i(ct,{class:"bg-transparent",density:"compact"},{default:d(()=>[($(!0),pe(be,null,tt(s.validationErrors,(l,u)=>($(),ie(Ke,{key:u,class:"px-0 py-0"},{prepend:d(()=>[i(K,{color:"warning",size:"small"},{default:d(()=>[...t[12]||(t[12]=[C("mdi-circle-small",-1)])]),_:1})]),default:d(()=>[i(ka,{class:"text-body-2"},{default:d(()=>[C(se(l),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})):ue("",!0),a.loading?($(),ie(Pe,{key:3,class:"my-4",outlined:""},{default:d(()=>[i(Oe,null,{default:d(()=>[i(Va,{class:"mx-auto",type:"article"})]),_:1})]),_:1})):ue("",!0),a.loading?ue("",!0):($(),pe("div",ln,[m("div",rn,[i(Y,{disabled:!s.isValidConfig,class:"text-none",color:"success","prepend-icon":"mdi-open-in-new",variant:"elevated",onClick:s.openConfig},{default:d(()=>[...t[14]||(t[14]=[C(" 打开 ExamSchedule ",-1)])]),_:1},8,["disabled","onClick"]),i(Y,{disabled:!s.isValidConfig,class:"text-none",color:"primary","prepend-icon":"mdi-link-variant",variant:"elevated",onClick:s.copyConfigUrl},{default:d(()=>[...t[15]||(t[15]=[C(" 复制远程链接 ",-1)])]),_:1},8,["disabled","onClick"]),i(Y,{disabled:!s.isValidConfig,class:"text-none",color:"primary","prepend-icon":"mdi-download",variant:"elevated",onClick:s.downloadAsJson},{default:d(()=>[...t[16]||(t[16]=[C(" JSON 文件 ",-1)])]),_:1},8,["disabled","onClick"]),i(Y,{disabled:!s.isValidConfig,class:"text-none",color:"primary","prepend-icon":"mdi-download",variant:"elevated",onClick:s.downloadAsEa2},{default:d(()=>[...t[17]||(t[17]=[C(" .ea2 文件 ",-1)])]),_:1},8,["disabled","onClick"]),i(Y,{disabled:!s.isValidConfig,class:"text-none",color:"secondary","prepend-icon":"mdi-play-circle",variant:"elevated",onClick:s.openInEa2Player},{default:d(()=>[...t[18]||(t[18]=[C(" 拉起EA2播放器 ",-1)])]),_:1},8,["disabled","onClick"]),s.isValidConfig?ue("",!0):($(),ie(at,{key:0,activator:"parent",location:"bottom"},{default:d(()=>[...t[19]||(t[19]=[m("span",null,"请先完善配置信息后再操作",-1)])]),_:1}))]),i(ba,{modelValue:a.isEditMode,"onUpdate:modelValue":t[2]||(t[2]=l=>a.isEditMode=l),color:"primary",divided:"",variant:"outlined"},{default:d(()=>[i(Y,{class:"text-error","prepend-icon":"mdi-delete",onClick:s.confirmDelete},{default:d(()=>[...t[20]||(t[20]=[C(" 删除配置 ",-1)])]),_:1},8,["onClick"]),i(Y,{value:!1,"prepend-icon":"mdi-eye"},{default:d(()=>[...t[21]||(t[21]=[C(" 预览",-1)])]),_:1}),i(Y,{value:!0,"prepend-icon":"mdi-pencil"},{default:d(()=>[...t[22]||(t[22]=[C(" 编辑",-1)])]),_:1})]),_:1},8,["modelValue"])])),!a.loading&&!a.isEditMode?($(),pe("div",on,[m("div",sn,[m("div",un,se(a.localConfig.examName||"未设置考试名称"),1),m("div",dn,se(a.localConfig.message||"未设置考试提示"),1),a.localConfig.room?($(),ie(qe,{key:0,class:"px-4 py-2",size:"large"},{default:d(()=>[i(K,{start:""},{default:d(()=>[...t[23]||(t[23]=[C("mdi-home",-1)])]),_:1}),C(" 考场:"+se(a.localConfig.room),1)]),_:1})):ue("",!0)]),a.localConfig.examInfos&&a.localConfig.examInfos.length>0?($(),pe("div",cn,[i($e,null,{default:d(()=>[($(!0),pe(be,null,tt(a.localConfig.examInfos,(l,u)=>($(),ie(ge,{key:u,cols:"12",lg:"4",md:"6"},{default:d(()=>[i(Pe,{class:"h-100",hover:"",variant:"tonal"},{default:d(()=>[i(Le,{class:"bg-primary-lighten-5 pa-4"},{default:d(()=>[m("div",mn,[i(K,{class:"mr-2"},{default:d(()=>[...t[24]||(t[24]=[C("mdi-book-open-page-variant",-1)])]),_:1}),m("span",fn,se(l.name||"未设置科目"),1)])]),_:2},1024),i(Oe,{class:"pa-4"},{default:d(()=>[m("div",vn,[m("div",hn,[i(K,{class:"mr-2",color:"success",size:"small"},{default:d(()=>[...t[25]||(t[25]=[C("mdi-clock-start ",-1)])]),_:1}),t[26]||(t[26]=m("span",{class:"text-body-2 text-grey-darken-1"},"开始时间",-1))]),m("div",gn,se(l.startFormatted||l.start||"未设置"),1)]),m("div",null,[m("div",yn,[i(K,{class:"mr-2",color:"error",size:"small"},{default:d(()=>[...t[27]||(t[27]=[C("mdi-clock-end ",-1)])]),_:1}),t[28]||(t[28]=m("span",{class:"text-body-2 text-grey-darken-1"},"结束时间",-1))]),m("div",kn,se(l.endFormatted||l.end||"未设置"),1)])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})])):($(),pe("div",bn,[i(K,{class:"mb-4",color:"grey-lighten-2",size:"80"},{default:d(()=>[...t[29]||(t[29]=[C(" mdi-calendar-blank ",-1)])]),_:1}),t[32]||(t[32]=m("div",{class:"text-h5 text-grey-darken-1 mb-2"},"暂无考试科目安排",-1)),t[33]||(t[33]=m("div",{class:"text-body-1 text-grey mb-4"},' 点击上方"添加科目"按钮开始配置考试时间表 ',-1)),i(Y,{color:"primary",variant:"outlined",onClick:s.quickEdit},{default:d(()=>[i(K,{start:""},{default:d(()=>[...t[30]||(t[30]=[C("mdi-plus",-1)])]),_:1}),t[31]||(t[31]=C(" 立即添加 ",-1))]),_:1},8,["onClick"])])),i(Pe,{border:"",class:"mb-4",elevation:"2"},{default:d(()=>[i(Le,{class:"d-flex align-center text-white cursor-pointer",onClick:t[3]||(t[3]=l=>a.showJsonPreview=!a.showJsonPreview)},{default:d(()=>[i(K,{class:"mr-2"},{default:d(()=>[...t[34]||(t[34]=[C("mdi-code-json",-1)])]),_:1}),t[36]||(t[36]=C(" 配置预览 ",-1)),i(Ye),i(Y,{color:"white","prepend-icon":"mdi-content-copy",size:"small",variant:"outlined",onClick:pa(s.copyToClipboard,["stop"])},{default:d(()=>[...t[35]||(t[35]=[C(" 复制 ",-1)])]),_:1},8,["onClick"]),i(Y,{icon:a.showJsonPreview?"mdi-chevron-up":"mdi-chevron-down",class:"ml-2",color:"white",size:"small",variant:"text"},null,8,["icon"])]),_:1}),i(wa,null,{default:d(()=>[Rt(i(Oe,{class:"pa-4"},{default:d(()=>[i(Pe,{class:"pa-4",variant:"tonal"},{default:d(()=>[m("pre",pn,[m("code",null,se(s.formattedStorageJson),1)])]),_:1})]),_:1},512),[[Da,a.showJsonPreview]])]),_:1})]),_:1})])):ue("",!0),!a.loading&&a.isEditMode?($(),pe("div",wn,[i(Pe,{border:"",class:"mb-4",elevation:"1"},{default:d(()=>[i(Le,{class:"d-flex align-center bg-primary-lighten-5 pa-4"},{default:d(()=>[i(K,{class:"mr-2"},{default:d(()=>[...t[37]||(t[37]=[C("mdi-information",-1)])]),_:1}),t[38]||(t[38]=m("span",{class:"font-weight-bold"},"基本信息",-1))]),_:1}),i(Oe,{class:"pa-6"},{default:d(()=>[i($e,null,{default:d(()=>[i(ge,{cols:"12",md:"6"},{default:d(()=>[i(Ae,{modelValue:a.localConfig.examName,"onUpdate:modelValue":t[4]||(t[4]=l=>a.localConfig.examName=l),rules:[l=>!!l||"考试名称不能为空",l=>l&&l.trim().length>0||"考试名称不能为空白字符",l=>!l||l.length<=100||"考试名称不能超过100个字符"],clearable:"",density:"comfortable",label:"考试名称",placeholder:"如:2025年高考模拟考试","prepend-inner-icon":"mdi-calendar-text",required:"",variant:"outlined"},null,8,["modelValue","rules"])]),_:1}),i(ge,{cols:"12",md:"6"},{default:d(()=>[i(Ae,{modelValue:a.localConfig.room,"onUpdate:modelValue":t[5]||(t[5]=l=>a.localConfig.room=l),clearable:"",density:"comfortable",label:"考场号(仅 ExamSchedule-Management 支持此配置)",placeholder:"如:一号考场","prepend-inner-icon":"mdi-home",variant:"outlined"},null,8,["modelValue"])]),_:1})]),_:1}),i($e,null,{default:d(()=>[i(ge,{cols:"12"},{default:d(()=>[m("span",Dn,[i(K,{size:"small",class:"mr-1"},{default:d(()=>[...t[39]||(t[39]=[C("mdi-message-text",-1)])]),_:1}),t[40]||(t[40]=C(" 考试提示 ",-1))]),i(Ia,{modelValue:a.localConfig.message,"onUpdate:modelValue":t[6]||(t[6]=l=>a.localConfig.message=l),rules:[l=>!!l||"考试提示不能为空",l=>l&&l.trim().length>0||"考试提示不能为空白字符"],clearable:"",density:"comfortable",label:"输入考试相关的提示信息...","no-resize":"",placeholder:"例如:请保持卷面整洁,诚信应考。在听到终考铃时立刻停止作答。",rows:"3",variant:"outlined"},null,8,["modelValue","rules"]),!a.localConfig.message||a.localConfig.message.trim()===""?($(),pe("div",Cn,[i(Ta,{class:"d-flex gap-2",column:""},{default:d(()=>[($(!0),pe(be,null,tt(a.defaultExamTips,(l,u)=>($(),ie(qe,{key:u,class:"cursor-pointer",color:"primary",size:"small",variant:"outlined",onClick:o=>s.selectDefaultTip(l)},{default:d(()=>[i(K,{size:"small",start:""},{default:d(()=>[...t[41]||(t[41]=[C("mdi-plus",-1)])]),_:1}),C(" "+se(l.substring(0,20))+"... ",1)]),_:2},1032,["onClick"]))),128))]),_:1}),m("div",Vn,[i(K,{class:"mr-1",size:"x-small"},{default:d(()=>[...t[42]||(t[42]=[C("mdi-lightbulb-outline",-1)])]),_:1}),t[43]||(t[43]=C(" 点击上方选项快速添加常用考试提示 ",-1))])])):ue("",!0)]),_:1})]),_:1})]),_:1})]),_:1}),i(Pe,{border:"",class:"mb-4",elevation:"1"},{default:d(()=>[i(Le,{class:"d-flex align-center bg-success-lighten-5 pa-4"},{default:d(()=>[i(K,{class:"mr-2"},{default:d(()=>[...t[44]||(t[44]=[C("mdi-format-list-bulleted",-1)])]),_:1}),t[47]||(t[47]=m("span",{class:"font-weight-bold"},"考试科目安排",-1)),i(Ye),m("div",xn,[i(Pa,{modelValue:a.enableCustomAlertTime,"onUpdate:modelValue":t[7]||(t[7]=l=>a.enableCustomAlertTime=l),color:"primary",density:"compact","hide-details":"",onChange:s.toggleAlertTimeMode},{label:d(()=>[...t[45]||(t[45]=[m("span",{class:"text-body-2"},"自定义提醒时间",-1)])]),_:1},8,["modelValue","onChange"])]),i(Y,{color:"success","prepend-icon":"mdi-plus",size:"small",variant:"elevated",onClick:s.addExamInfo},{default:d(()=>[...t[46]||(t[46]=[C(" 添加科目 ",-1)])]),_:1},8,["onClick"])]),_:1}),i(Oe,{class:"pa-0"},{default:d(()=>[a.localConfig.examInfos&&a.localConfig.examInfos.length>0?($(),ie(ct,{key:0,class:"py-0"},{default:d(()=>[($(!0),pe(be,null,tt(a.localConfig.examInfos,(l,u)=>($(),ie(Ke,{key:u,class:"border-b pa-4 hover-highlight"},{default:d(()=>[m("div",Tn,[m("div",Sn,[i(qe,{color:u%2===0?"primary":"secondary",size:"small",variant:"tonal",class:"mr-3"},{default:d(()=>[i(K,{start:"",size:"small"},{default:d(()=>[C("mdi-numeric-"+se(u+1)+"-circle",1)]),_:2},1024),C(" 第 "+se(u+1)+" 科目 ",1)]),_:2},1032,["color"]),i(Ye),m("div",Mn,[u>0?($(),ie(Y,{key:0,color:"primary",icon:"mdi-arrow-up",size:"x-small",variant:"text",onClick:o=>s.moveExamInfo(u,-1)},{default:d(()=>[i(at,{activator:"parent",location:"bottom"},{default:d(()=>[...t[48]||(t[48]=[C("上移",-1)])]),_:1})]),_:1},8,["onClick"])):ue("",!0),us.moveExamInfo(u,1)},{default:d(()=>[i(at,{activator:"parent",location:"bottom"},{default:d(()=>[...t[49]||(t[49]=[C("下移",-1)])]),_:1})]),_:1},8,["onClick"])):ue("",!0),i(Y,{color:"error",icon:"mdi-delete",size:"x-small",variant:"text",onClick:o=>s.removeExamInfo(u)},{default:d(()=>[i(at,{activator:"parent",location:"bottom"},{default:d(()=>[...t[50]||(t[50]=[C("删除",-1)])]),_:1})]),_:1},8,["onClick"])])]),i($e,{class:"align-start"},{default:d(()=>[i(ge,{cols:"12",md:"4"},{default:d(()=>[i($a,{modelValue:l.name,"onUpdate:modelValue":o=>l.name=o,items:a.availableSubjects,rules:[o=>!!o||"科目名称不能为空",o=>o&&o.trim().length>0||"科目名称不能为空白字符"],clearable:"",density:"comfortable","item-title":"name",label:"科目名称","no-data-text":"没有可用科目,请输入自定义名称","prepend-inner-icon":"mdi-book",variant:"outlined"},{"prepend-item":d(()=>[a.customSubjectInput?($(),ie(Ke,{key:0,title:"自定义:"},{append:d(()=>[m("span",_n,se(a.customSubjectInput),1)]),_:1})):ue("",!0),a.customSubjectInput?($(),ie(Et,{key:1})):ue("",!0)]),_:1},8,["modelValue","onUpdate:modelValue","items","rules"])]),_:2},1024),i(ge,{cols:"12",md:"3"},{default:d(()=>[i(mt,{modelValue:l.startDateMenu,"onUpdate:modelValue":o=>l.startDateMenu=o,"close-on-content-click":!1,"min-width":"auto","offset-y":"",transition:"scale-transition"},{activator:d(({props:o})=>[i(Ae,G({modelValue:l.startFormatted,"onUpdate:modelValue":v=>l.startFormatted=v,rules:[v=>!!v||"开始时间不能为空",v=>s.validateTimeFormat(v,"开始时间"),()=>s.validateNoTimeOverlap(l,u)],density:"comfortable",label:"开始时间",placeholder:"2025/01/01 09:00","prepend-inner-icon":"mdi-clock-start"},{ref_for:!0},o,{variant:"outlined",onBlur:v=>s.updateStartDateTimeFromInput(u)}),{append:d(()=>[i(K,null,{default:d(()=>[...t[51]||(t[51]=[C("mdi-calendar-clock",-1)])]),_:1})]),_:1},16,["modelValue","onUpdate:modelValue","rules","onBlur"])]),default:d(()=>[i(Pe,{"min-width":"500"},{default:d(()=>[i(Le,{class:"text-center py-3 bg-primary-lighten-5"},{default:d(()=>[i(K,{class:"mr-2",color:"primary"},{default:d(()=>[...t[52]||(t[52]=[C("mdi-clock-start",-1)])]),_:1}),t[53]||(t[53]=C(" 选择开始时间 ",-1))]),_:1}),i(Oe,{class:"pa-0"},{default:d(()=>[i($e,{"no-gutters":""},{default:d(()=>[i(ge,{class:"border-e",cols:"6"},{default:d(()=>[i(Pt,{modelValue:l.startDate,"onUpdate:modelValue":[o=>l.startDate=o,o=>s.updateStartDateTime(u)],color:"primary",elevation:"0",locale:"zh-cn","show-adjacent-months":""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),i(ge,{cols:"6"},{default:d(()=>[i(Ft,{modelValue:l.startTime,"onUpdate:modelValue":[o=>l.startTime=o,o=>s.updateStartDateTime(u)],color:"primary",elevation:"0",format:"24hr",scrollable:""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024)]),_:2},1024),i(st,null,{default:d(()=>[i(Ye),i(Y,{color:"grey",variant:"text",onClick:o=>l.startDateMenu=!1},{default:d(()=>[...t[54]||(t[54]=[C(" 关闭 ",-1)])]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1024),i(ge,{cols:"12",md:"3"},{default:d(()=>[i(mt,{modelValue:l.endDateMenu,"onUpdate:modelValue":o=>l.endDateMenu=o,"close-on-content-click":!1,"min-width":"auto","offset-y":"",transition:"scale-transition"},{activator:d(({props:o})=>[i(Ae,G({modelValue:l.endFormatted,"onUpdate:modelValue":v=>l.endFormatted=v,rules:[v=>!!v||"结束时间不能为空",v=>s.validateTimeFormat(v,"结束时间"),()=>s.validateEndAfterStart(l),()=>s.validateNoTimeOverlap(l,u)],density:"comfortable",label:"结束时间",placeholder:"2025/01/01 11:00","prepend-inner-icon":"mdi-clock-end"},{ref_for:!0},o,{variant:"outlined",onBlur:v=>s.updateEndDateTimeFromInput(u)}),{append:d(()=>[i(K,null,{default:d(()=>[...t[55]||(t[55]=[C("mdi-calendar-clock",-1)])]),_:1})]),_:1},16,["modelValue","onUpdate:modelValue","rules","onBlur"])]),default:d(()=>[i(Pe,{"min-width":"500"},{default:d(()=>[i(Le,{class:"text-center py-3 bg-error-lighten-5"},{default:d(()=>[i(K,{class:"mr-2",color:"error"},{default:d(()=>[...t[56]||(t[56]=[C("mdi-clock-end",-1)])]),_:1}),t[57]||(t[57]=C(" 选择结束时间 ",-1))]),_:1}),i(Oe,{class:"pa-0"},{default:d(()=>[i($e,{"no-gutters":""},{default:d(()=>[i(ge,{class:"border-e",cols:"6"},{default:d(()=>[i(Pt,{modelValue:l.endDate,"onUpdate:modelValue":[o=>l.endDate=o,o=>s.updateEndDateTime(u)],color:"error",elevation:"0",locale:"zh-cn","show-adjacent-months":""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),i(ge,{cols:"6"},{default:d(()=>[i(Ft,{modelValue:l.endTime,"onUpdate:modelValue":[o=>l.endTime=o,o=>s.updateEndDateTime(u)],color:"error",elevation:"0",format:"24hr",scrollable:""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024)]),_:2},1024),i(st,null,{default:d(()=>[i(Ye),i(Y,{color:"grey",variant:"text",onClick:o=>l.endDateMenu=!1},{default:d(()=>[...t[58]||(t[58]=[C(" 关闭 ",-1)])]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1024),i(ge,{cols:"12",md:"2"},{default:d(()=>[i(Ae,{modelValue:l.durationMinutes,"onUpdate:modelValue":o=>l.durationMinutes=o,rules:[o=>!!o||"时长不能为空",o=>!isNaN(o)||"时长必须是数字",o=>parseInt(o)>0||"时长必须大于0",o=>parseInt(o)<=1440||"时长不能超过1440分钟(24小时)"],type:"number",min:"1",max:"1440",density:"comfortable",label:"时长(分钟)",placeholder:"例如:120","prepend-inner-icon":"mdi-timer",variant:"outlined",hint:s.durationHint(l),"persistent-hint":"",onBlur:o=>s.updateDurationFromInput(u)},null,8,["modelValue","onUpdate:modelValue","rules","hint","onBlur"])]),_:2},1024),a.enableCustomAlertTime?($(),ie(ge,{key:0,cols:"12",md:"2"},{default:d(()=>[i(Ae,{modelValue:l.alertTime,"onUpdate:modelValue":o=>l.alertTime=o,rules:[o=>!!o||"提醒时间不能为空",o=>!isNaN(o)||"提醒时间必须是数字",o=>parseInt(o)>=0||"提醒时间不能为负数",o=>parseInt(o)<=120||"提醒时间不能超过120分钟"],type:"number",min:"0",max:"120",density:"comfortable",label:"提醒时间(分钟)",placeholder:"例如:15","prepend-inner-icon":"mdi-bell-ring",variant:"outlined",hint:"考试结束前提醒","persistent-hint":""},null,8,["modelValue","onUpdate:modelValue","rules"])]),_:2},1024)):ue("",!0)]),_:2},1024)])]),_:2},1024))),128))]),_:1})):($(),pe("div",In,[i(K,{class:"mb-4",color:"grey-lighten-2",size:"80"},{default:d(()=>[...t[59]||(t[59]=[C(" mdi-calendar-blank ",-1)])]),_:1}),t[61]||(t[61]=m("div",{class:"text-h5 text-grey-darken-1 mb-2"},"暂无考试科目安排",-1)),t[62]||(t[62]=m("div",{class:"text-body-1 text-grey mb-4"},' 点击上方"添加科目"按钮开始配置 ',-1)),i(Y,{color:"success","prepend-icon":"mdi-plus",size:"large",variant:"elevated",onClick:s.addExamInfo},{default:d(()=>[...t[60]||(t[60]=[C(" 立即添加科目 ",-1)])]),_:1},8,["onClick"])]))]),_:1})]),_:1})])):ue("",!0),i(Ca,{modelValue:a.deleteDialog,"onUpdate:modelValue":t[9]||(t[9]=l=>a.deleteDialog=l),"max-width":"400"},{default:d(()=>[i(Pe,null,{default:d(()=>[i(Le,{class:"d-flex align-center"},{default:d(()=>[i(K,{class:"mr-2",color:"error"},{default:d(()=>[...t[63]||(t[63]=[C("mdi-delete-alert",-1)])]),_:1}),t[64]||(t[64]=C(" 确认删除配置 ",-1))]),_:1}),i(Oe,null,{default:d(()=>[t[65]||(t[65]=C(" 确定要删除配置 ",-1)),m("strong",null,se(a.localConfig.examName||`配置 ${n.configId}`),1),t[66]||(t[66]=C(" 吗? ",-1)),t[67]||(t[67]=m("br",null,null,-1)),t[68]||(t[68]=m("small",{class:"text-grey"},"此操作不可撤销,将会删除所有相关数据",-1))]),_:1}),i(st,null,{default:d(()=>[i(Ye),i(Y,{color:"grey",variant:"text",onClick:t[8]||(t[8]=l=>a.deleteDialog=!1)},{default:d(()=>[...t[69]||(t[69]=[C(" 取消 ",-1)])]),_:1}),i(Y,{loading:a.deleting,color:"error",variant:"outlined",onClick:s.deleteConfig},{default:d(()=>[...t[70]||(t[70]=[C(" 删除 ",-1)])]),_:1},8,["loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}const jn=ya(tn,[["render",Pn],["__scopeId","data-v-415c7c7f"]]);export{Pt as V,jn as _,$a as a}; diff --git a/assets/ExamConfigEditor-DV8lOLSp.css b/assets/ExamConfigEditor-DV8lOLSp.css new file mode 100644 index 0000000..65c537c --- /dev/null +++ b/assets/ExamConfigEditor-DV8lOLSp.css @@ -0,0 +1 @@ +.border-b[data-v-415c7c7f]{border-bottom:1px solid rgba(0,0,0,.12)}.json-preview[data-v-415c7c7f]{border-radius:8px;font-family:Fira Code,Courier New,monospace;font-size:13px;line-height:1.5;max-height:400px;overflow-y:auto;padding:16px}.json-preview code[data-v-415c7c7f]{font-weight:400}.border-b[data-v-415c7c7f]{border-bottom:1px solid rgba(0,0,0,.08)}.border-b[data-v-415c7c7f]:last-child{border-bottom:none}.border-e[data-v-415c7c7f]{border-right:1px solid rgba(0,0,0,.12)}.datetime-picker-header[data-v-415c7c7f]{background-color:#f5f5f5;border-bottom:1px solid rgba(0,0,0,.12)}.v-card--variant-elevated[data-v-415c7c7f]{box-shadow:0 2px 8px #0000001a!important}.v-btn-toggle[data-v-415c7c7f]{border-radius:8px;overflow:hidden}.v-btn-toggle .v-btn[data-v-415c7c7f]{border-radius:0!important}.cursor-pointer[data-v-415c7c7f]{cursor:pointer}.v-card.hover[data-v-415c7c7f]:hover{transform:translateY(-2px);transition:transform .2s ease-in-out;box-shadow:0 4px 12px #00000026!important}.bg-primary-lighten-5[data-v-415c7c7f]{background-color:rgba(var(--v-theme-primary),.08)!important}.bg-success-lighten-5[data-v-415c7c7f]{background-color:rgba(var(--v-theme-success),.08)!important}.bg-error-lighten-5[data-v-415c7c7f]{background-color:rgba(var(--v-theme-error),.08)!important}.hover-highlight[data-v-415c7c7f]{transition:background-color .2s ease}.hover-highlight[data-v-415c7c7f]:hover{background-color:rgba(var(--v-theme-primary),.05)}.v-btn-toggle .v-btn[data-v-415c7c7f]:first-child{border-top-left-radius:8px;border-bottom-left-radius:8px}.v-btn-toggle .v-btn[data-v-415c7c7f]:last-child{border-top-right-radius:8px;border-bottom-right-radius:8px}.v-time-picker.v-picker{min-width:328px}.v-time-picker .v-picker__body,.v-time-picker-controls__field-label,.v-time-picker .v-field{transition-duration:.25s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:transform,max-height,opacity,font-size}@media (prefers-reduced-motion: reduce){.v-time-picker .v-picker__body,.v-time-picker-controls__field-label,.v-time-picker .v-field{transition:none}}.v-time-picker .v-picker__body{transition-behavior:allow-discrete;max-height:calc-size(max-content,size)}.v-time-picker--variant-input .v-picker__body{transform:scale(0);max-height:0}.v-time-picker-clock{background:rgb(var(--v-theme-background));color:rgb(var(--v-theme-on-background))}.v-time-picker-clock:after{color:rgb(var(--v-theme-primary))}.v-time-picker-clock .v-time-picker-clock__item--active{background-color:rgb(var(--v-theme-surface-variant));color:rgb(var(--v-theme-on-surface-variant))}.v-time-picker-clock{margin:24px;background:rgb(var(--v-theme-surface-light));border-radius:50%;position:relative;transition:none;-webkit-user-select:none;user-select:none;max-width:256px;aspect-ratio:1;flex:100%}.v-time-picker-clock__container{display:flex;flex-direction:column;flex-basis:290px;justify-content:center;padding:10px}.v-time-picker-clock__hand{background-color:currentColor;height:calc(50% - 4px);width:2px;bottom:50%;left:calc(50% - 1px);transform-origin:center bottom;position:absolute;will-change:transform;z-index:1}.v-time-picker-clock__hand:before{background:transparent;border-width:2px;border-style:solid;border-color:currentColor;border-radius:100%;width:10px;height:10px;content:"";position:absolute;top:-4px;left:50%;transform:translate(-50%,-50%)}.v-time-picker-clock__hand:after{content:"";position:absolute;height:8px;width:8px;top:100%;left:50%;border-radius:100%;background-color:currentColor;transform:translate(-50%,-50%)}.v-time-picker-clock__hand--inner:after{height:14px}.v-time-picker-clock--readonly{pointer-events:none}.v-time-picker-clock .v-time-picker-clock__item--disabled{opacity:var(--v-disabled-opacity)}.v-picker--full-width .v-time-picker-clock__container{max-width:290px}.v-time-picker-clock__inner{position:absolute;bottom:27px;left:27px;right:27px;top:27px}.v-time-picker-clock__item{align-items:center;border-radius:100%;cursor:default;display:flex;font-size:16px;justify-content:center;height:40px;position:absolute;text-align:center;width:40px;-webkit-user-select:none;user-select:none;transform:translate(-50%,-50%)}.v-time-picker-clock__item>span{z-index:1}.v-time-picker-clock__item:before,.v-time-picker-clock__item:after{content:"";border-radius:100%;position:absolute;top:50%;left:50%;height:14px;width:14px;transform:translate(-50%,-50%)}.v-time-picker-clock__item:after,.v-time-picker-clock__item:before{height:40px;width:40px}.v-time-picker-clock__item--active{cursor:default;z-index:2}.v-time-picker-clock__item--disabled{pointer-events:none}.v-picker--landscape .v-time-picker-clock__container{flex-direction:row}@media (forced-colors: active){.v-time-picker-clock__hand{background-color:highlight}.v-time-picker-clock__hand:before{border-color:highlight}.v-time-picker-clock__hand:after{background-color:highlight}.v-time-picker-clock__item--active{outline:2px solid highlight!important}}.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}@media only print{.hidden-print-only{display:none!important}}@media only screen{.hidden-screen-only{display:none!important}}@media (max-width: 599.98px){.hidden-xs{display:none!important}}@media (min-width: 600px) and (max-width: 959.98px){.hidden-sm{display:none!important}}@media (min-width: 960px) and (max-width: 1279.98px){.hidden-md{display:none!important}}@media (min-width: 1280px) and (max-width: 1919.98px){.hidden-lg{display:none!important}}@media (min-width: 1920px) and (max-width: 2559.98px){.hidden-xl{display:none!important}}@media (min-width: 2560px){.hidden-xxl{display:none!important}}@media (min-width: 600px){.hidden-sm-and-up{display:none!important}}@media (min-width: 960px){.hidden-md-and-up{display:none!important}}@media (min-width: 1280px){.hidden-lg-and-up{display:none!important}}@media (min-width: 1920px){.hidden-xl-and-up{display:none!important}}@media (max-width: 959.98px){.hidden-sm-and-down{display:none!important}}@media (max-width: 1279.98px){.hidden-md-and-down{display:none!important}}@media (max-width: 1919.98px){.hidden-lg-and-down{display:none!important}}@media (max-width: 2559.98px){.hidden-xl-and-down{display:none!important}}.elevation-24{box-shadow:0 11px 15px -7px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 24px 38px 3px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 9px 46px 8px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-23{box-shadow:0 11px 14px -7px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 23px 36px 3px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 9px 44px 8px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-22{box-shadow:0 10px 14px -6px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 22px 35px 3px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 8px 42px 7px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-21{box-shadow:0 10px 13px -6px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 21px 33px 3px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 8px 40px 7px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-20{box-shadow:0 10px 13px -6px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 20px 31px 3px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 8px 38px 7px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-19{box-shadow:0 9px 12px -6px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 19px 29px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 7px 36px 6px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-18{box-shadow:0 9px 11px -5px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 18px 28px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 7px 34px 6px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-17{box-shadow:0 8px 11px -5px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 17px 26px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 6px 32px 5px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-16{box-shadow:0 8px 10px -5px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 16px 24px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 6px 30px 5px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-15{box-shadow:0 8px 9px -5px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 15px 22px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 6px 28px 5px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-14{box-shadow:0 7px 9px -4px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 14px 21px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 5px 26px 4px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-13{box-shadow:0 7px 8px -4px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 13px 19px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 5px 24px 4px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-12{box-shadow:0 7px 8px -4px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 12px 17px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 5px 22px 4px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-11{box-shadow:0 6px 7px -4px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 11px 15px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 4px 20px 3px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-10{box-shadow:0 6px 6px -3px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 10px 14px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 4px 18px 3px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-9{box-shadow:0 5px 6px -3px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 9px 12px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 3px 16px 2px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-8{box-shadow:0 5px 5px -3px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 8px 10px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 3px 14px 2px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-7{box-shadow:0 4px 5px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 7px 10px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 2px 16px 1px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-6{box-shadow:0 3px 5px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 6px 10px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 18px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-5{box-shadow:0 3px 5px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 5px 8px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 14px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-4{box-shadow:0 2px 4px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 4px 5px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 10px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-3{box-shadow:0 3px 3px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 3px 4px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 8px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-2{box-shadow:0 3px 1px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 2px 2px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 5px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-1{box-shadow:0 2px 1px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 1px 1px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 3px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-0{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.pointer-events-none{pointer-events:none!important}.pointer-events-auto{pointer-events:auto!important}.pointer-pass-through{pointer-events:none!important}.pointer-pass-through>*{pointer-events:auto!important}.d-sr-only,.d-sr-only-focusable:not(:focus){border:0!important;clip:rect(0,0,0,0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-scroll{overflow-y:scroll!important}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.float-none{float:none!important}.float-left{float:left!important}.float-right{float:right!important}.v-locale--is-rtl .float-end{float:left!important}.v-locale--is-rtl .float-start,.v-locale--is-ltr .float-end{float:right!important}.v-locale--is-ltr .float-start{float:left!important}.flex-fill,.flex-1-1{flex:1 1 auto!important}.flex-1-0{flex:1 0 auto!important}.flex-0-1{flex:0 1 auto!important}.flex-0-0{flex:0 0 auto!important}.flex-1-1-100{flex:1 1 100%!important}.flex-1-0-100{flex:1 0 100%!important}.flex-0-1-100{flex:0 1 100%!important}.flex-0-0-100{flex:0 0 100%!important}.flex-1-1-0{flex:1 1 0!important}.flex-1-0-0{flex:1 0 0!important}.flex-0-1-0{flex:0 1 0!important}.flex-0-0-0{flex:0 0 0!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-start{justify-content:flex-start!important}.justify-end{justify-content:flex-end!important}.justify-center{justify-content:center!important}.justify-space-between{justify-content:space-between!important}.justify-space-around{justify-content:space-around!important}.justify-space-evenly{justify-content:space-evenly!important}.justify-items-start{justify-items:flex-start!important}.justify-items-end{justify-items:flex-end!important}.justify-items-center{justify-items:center!important}.justify-items-stretch{justify-items:stretch!important}.align-start{align-items:flex-start!important}.align-end{align-items:flex-end!important}.align-center{align-items:center!important}.align-baseline{align-items:baseline!important}.align-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-space-between{align-content:space-between!important}.align-content-space-around{align-content:space-around!important}.align-content-space-evenly{align-content:space-evenly!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-6{order:6!important}.order-7{order:7!important}.order-8{order:8!important}.order-9{order:9!important}.order-10{order:10!important}.order-11{order:11!important}.order-12{order:12!important}.order-last{order:13!important}.ga-0{gap:0px!important}.ga-1{gap:4px!important}.ga-2{gap:8px!important}.ga-3{gap:12px!important}.ga-4{gap:16px!important}.ga-5{gap:20px!important}.ga-6{gap:24px!important}.ga-7{gap:28px!important}.ga-8{gap:32px!important}.ga-9{gap:36px!important}.ga-10{gap:40px!important}.ga-11{gap:44px!important}.ga-12{gap:48px!important}.ga-13{gap:52px!important}.ga-14{gap:56px!important}.ga-15{gap:60px!important}.ga-16{gap:64px!important}.ga-auto{gap:auto!important}.gr-0{row-gap:0px!important}.gr-1{row-gap:4px!important}.gr-2{row-gap:8px!important}.gr-3{row-gap:12px!important}.gr-4{row-gap:16px!important}.gr-5{row-gap:20px!important}.gr-6{row-gap:24px!important}.gr-7{row-gap:28px!important}.gr-8{row-gap:32px!important}.gr-9{row-gap:36px!important}.gr-10{row-gap:40px!important}.gr-11{row-gap:44px!important}.gr-12{row-gap:48px!important}.gr-13{row-gap:52px!important}.gr-14{row-gap:56px!important}.gr-15{row-gap:60px!important}.gr-16{row-gap:64px!important}.gr-auto{row-gap:auto!important}.gc-0{column-gap:0px!important}.gc-1{column-gap:4px!important}.gc-2{column-gap:8px!important}.gc-3{column-gap:12px!important}.gc-4{column-gap:16px!important}.gc-5{column-gap:20px!important}.gc-6{column-gap:24px!important}.gc-7{column-gap:28px!important}.gc-8{column-gap:32px!important}.gc-9{column-gap:36px!important}.gc-10{column-gap:40px!important}.gc-11{column-gap:44px!important}.gc-12{column-gap:48px!important}.gc-13{column-gap:52px!important}.gc-14{column-gap:56px!important}.gc-15{column-gap:60px!important}.gc-16{column-gap:64px!important}.gc-auto{column-gap:auto!important}.ma-0{margin:0!important}.ma-1{margin:4px!important}.ma-2{margin:8px!important}.ma-3{margin:12px!important}.ma-4{margin:16px!important}.ma-5{margin:20px!important}.ma-6{margin:24px!important}.ma-7{margin:28px!important}.ma-8{margin:32px!important}.ma-9{margin:36px!important}.ma-10{margin:40px!important}.ma-11{margin:44px!important}.ma-12{margin:48px!important}.ma-13{margin:52px!important}.ma-14{margin:56px!important}.ma-15{margin:60px!important}.ma-16{margin:64px!important}.ma-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:4px!important;margin-left:4px!important}.mx-2{margin-right:8px!important;margin-left:8px!important}.mx-3{margin-right:12px!important;margin-left:12px!important}.mx-4{margin-right:16px!important;margin-left:16px!important}.mx-5{margin-right:20px!important;margin-left:20px!important}.mx-6{margin-right:24px!important;margin-left:24px!important}.mx-7{margin-right:28px!important;margin-left:28px!important}.mx-8{margin-right:32px!important;margin-left:32px!important}.mx-9{margin-right:36px!important;margin-left:36px!important}.mx-10{margin-right:40px!important;margin-left:40px!important}.mx-11{margin-right:44px!important;margin-left:44px!important}.mx-12{margin-right:48px!important;margin-left:48px!important}.mx-13{margin-right:52px!important;margin-left:52px!important}.mx-14{margin-right:56px!important;margin-left:56px!important}.mx-15{margin-right:60px!important;margin-left:60px!important}.mx-16{margin-right:64px!important;margin-left:64px!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:4px!important;margin-bottom:4px!important}.my-2{margin-top:8px!important;margin-bottom:8px!important}.my-3{margin-top:12px!important;margin-bottom:12px!important}.my-4{margin-top:16px!important;margin-bottom:16px!important}.my-5{margin-top:20px!important;margin-bottom:20px!important}.my-6{margin-top:24px!important;margin-bottom:24px!important}.my-7{margin-top:28px!important;margin-bottom:28px!important}.my-8{margin-top:32px!important;margin-bottom:32px!important}.my-9{margin-top:36px!important;margin-bottom:36px!important}.my-10{margin-top:40px!important;margin-bottom:40px!important}.my-11{margin-top:44px!important;margin-bottom:44px!important}.my-12{margin-top:48px!important;margin-bottom:48px!important}.my-13{margin-top:52px!important;margin-bottom:52px!important}.my-14{margin-top:56px!important;margin-bottom:56px!important}.my-15{margin-top:60px!important;margin-bottom:60px!important}.my-16{margin-top:64px!important;margin-bottom:64px!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:4px!important}.mt-2{margin-top:8px!important}.mt-3{margin-top:12px!important}.mt-4{margin-top:16px!important}.mt-5{margin-top:20px!important}.mt-6{margin-top:24px!important}.mt-7{margin-top:28px!important}.mt-8{margin-top:32px!important}.mt-9{margin-top:36px!important}.mt-10{margin-top:40px!important}.mt-11{margin-top:44px!important}.mt-12{margin-top:48px!important}.mt-13{margin-top:52px!important}.mt-14{margin-top:56px!important}.mt-15{margin-top:60px!important}.mt-16{margin-top:64px!important}.mt-auto{margin-top:auto!important}.mr-0{margin-right:0!important}.mr-1{margin-right:4px!important}.mr-2{margin-right:8px!important}.mr-3{margin-right:12px!important}.mr-4{margin-right:16px!important}.mr-5{margin-right:20px!important}.mr-6{margin-right:24px!important}.mr-7{margin-right:28px!important}.mr-8{margin-right:32px!important}.mr-9{margin-right:36px!important}.mr-10{margin-right:40px!important}.mr-11{margin-right:44px!important}.mr-12{margin-right:48px!important}.mr-13{margin-right:52px!important}.mr-14{margin-right:56px!important}.mr-15{margin-right:60px!important}.mr-16{margin-right:64px!important}.mr-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:4px!important}.mb-2{margin-bottom:8px!important}.mb-3{margin-bottom:12px!important}.mb-4{margin-bottom:16px!important}.mb-5{margin-bottom:20px!important}.mb-6{margin-bottom:24px!important}.mb-7{margin-bottom:28px!important}.mb-8{margin-bottom:32px!important}.mb-9{margin-bottom:36px!important}.mb-10{margin-bottom:40px!important}.mb-11{margin-bottom:44px!important}.mb-12{margin-bottom:48px!important}.mb-13{margin-bottom:52px!important}.mb-14{margin-bottom:56px!important}.mb-15{margin-bottom:60px!important}.mb-16{margin-bottom:64px!important}.mb-auto{margin-bottom:auto!important}.ml-0{margin-left:0!important}.ml-1{margin-left:4px!important}.ml-2{margin-left:8px!important}.ml-3{margin-left:12px!important}.ml-4{margin-left:16px!important}.ml-5{margin-left:20px!important}.ml-6{margin-left:24px!important}.ml-7{margin-left:28px!important}.ml-8{margin-left:32px!important}.ml-9{margin-left:36px!important}.ml-10{margin-left:40px!important}.ml-11{margin-left:44px!important}.ml-12{margin-left:48px!important}.ml-13{margin-left:52px!important}.ml-14{margin-left:56px!important}.ml-15{margin-left:60px!important}.ml-16{margin-left:64px!important}.ml-auto{margin-left:auto!important}.ms-0{margin-inline-start:0px!important}.ms-1{margin-inline-start:4px!important}.ms-2{margin-inline-start:8px!important}.ms-3{margin-inline-start:12px!important}.ms-4{margin-inline-start:16px!important}.ms-5{margin-inline-start:20px!important}.ms-6{margin-inline-start:24px!important}.ms-7{margin-inline-start:28px!important}.ms-8{margin-inline-start:32px!important}.ms-9{margin-inline-start:36px!important}.ms-10{margin-inline-start:40px!important}.ms-11{margin-inline-start:44px!important}.ms-12{margin-inline-start:48px!important}.ms-13{margin-inline-start:52px!important}.ms-14{margin-inline-start:56px!important}.ms-15{margin-inline-start:60px!important}.ms-16{margin-inline-start:64px!important}.ms-auto{margin-inline-start:auto!important}.me-0{margin-inline-end:0px!important}.me-1{margin-inline-end:4px!important}.me-2{margin-inline-end:8px!important}.me-3{margin-inline-end:12px!important}.me-4{margin-inline-end:16px!important}.me-5{margin-inline-end:20px!important}.me-6{margin-inline-end:24px!important}.me-7{margin-inline-end:28px!important}.me-8{margin-inline-end:32px!important}.me-9{margin-inline-end:36px!important}.me-10{margin-inline-end:40px!important}.me-11{margin-inline-end:44px!important}.me-12{margin-inline-end:48px!important}.me-13{margin-inline-end:52px!important}.me-14{margin-inline-end:56px!important}.me-15{margin-inline-end:60px!important}.me-16{margin-inline-end:64px!important}.me-auto{margin-inline-end:auto!important}.ma-n1{margin:-4px!important}.ma-n2{margin:-8px!important}.ma-n3{margin:-12px!important}.ma-n4{margin:-16px!important}.ma-n5{margin:-20px!important}.ma-n6{margin:-24px!important}.ma-n7{margin:-28px!important}.ma-n8{margin:-32px!important}.ma-n9{margin:-36px!important}.ma-n10{margin:-40px!important}.ma-n11{margin:-44px!important}.ma-n12{margin:-48px!important}.ma-n13{margin:-52px!important}.ma-n14{margin:-56px!important}.ma-n15{margin:-60px!important}.ma-n16{margin:-64px!important}.mx-n1{margin-right:-4px!important;margin-left:-4px!important}.mx-n2{margin-right:-8px!important;margin-left:-8px!important}.mx-n3{margin-right:-12px!important;margin-left:-12px!important}.mx-n4{margin-right:-16px!important;margin-left:-16px!important}.mx-n5{margin-right:-20px!important;margin-left:-20px!important}.mx-n6{margin-right:-24px!important;margin-left:-24px!important}.mx-n7{margin-right:-28px!important;margin-left:-28px!important}.mx-n8{margin-right:-32px!important;margin-left:-32px!important}.mx-n9{margin-right:-36px!important;margin-left:-36px!important}.mx-n10{margin-right:-40px!important;margin-left:-40px!important}.mx-n11{margin-right:-44px!important;margin-left:-44px!important}.mx-n12{margin-right:-48px!important;margin-left:-48px!important}.mx-n13{margin-right:-52px!important;margin-left:-52px!important}.mx-n14{margin-right:-56px!important;margin-left:-56px!important}.mx-n15{margin-right:-60px!important;margin-left:-60px!important}.mx-n16{margin-right:-64px!important;margin-left:-64px!important}.my-n1{margin-top:-4px!important;margin-bottom:-4px!important}.my-n2{margin-top:-8px!important;margin-bottom:-8px!important}.my-n3{margin-top:-12px!important;margin-bottom:-12px!important}.my-n4{margin-top:-16px!important;margin-bottom:-16px!important}.my-n5{margin-top:-20px!important;margin-bottom:-20px!important}.my-n6{margin-top:-24px!important;margin-bottom:-24px!important}.my-n7{margin-top:-28px!important;margin-bottom:-28px!important}.my-n8{margin-top:-32px!important;margin-bottom:-32px!important}.my-n9{margin-top:-36px!important;margin-bottom:-36px!important}.my-n10{margin-top:-40px!important;margin-bottom:-40px!important}.my-n11{margin-top:-44px!important;margin-bottom:-44px!important}.my-n12{margin-top:-48px!important;margin-bottom:-48px!important}.my-n13{margin-top:-52px!important;margin-bottom:-52px!important}.my-n14{margin-top:-56px!important;margin-bottom:-56px!important}.my-n15{margin-top:-60px!important;margin-bottom:-60px!important}.my-n16{margin-top:-64px!important;margin-bottom:-64px!important}.mt-n1{margin-top:-4px!important}.mt-n2{margin-top:-8px!important}.mt-n3{margin-top:-12px!important}.mt-n4{margin-top:-16px!important}.mt-n5{margin-top:-20px!important}.mt-n6{margin-top:-24px!important}.mt-n7{margin-top:-28px!important}.mt-n8{margin-top:-32px!important}.mt-n9{margin-top:-36px!important}.mt-n10{margin-top:-40px!important}.mt-n11{margin-top:-44px!important}.mt-n12{margin-top:-48px!important}.mt-n13{margin-top:-52px!important}.mt-n14{margin-top:-56px!important}.mt-n15{margin-top:-60px!important}.mt-n16{margin-top:-64px!important}.mr-n1{margin-right:-4px!important}.mr-n2{margin-right:-8px!important}.mr-n3{margin-right:-12px!important}.mr-n4{margin-right:-16px!important}.mr-n5{margin-right:-20px!important}.mr-n6{margin-right:-24px!important}.mr-n7{margin-right:-28px!important}.mr-n8{margin-right:-32px!important}.mr-n9{margin-right:-36px!important}.mr-n10{margin-right:-40px!important}.mr-n11{margin-right:-44px!important}.mr-n12{margin-right:-48px!important}.mr-n13{margin-right:-52px!important}.mr-n14{margin-right:-56px!important}.mr-n15{margin-right:-60px!important}.mr-n16{margin-right:-64px!important}.mb-n1{margin-bottom:-4px!important}.mb-n2{margin-bottom:-8px!important}.mb-n3{margin-bottom:-12px!important}.mb-n4{margin-bottom:-16px!important}.mb-n5{margin-bottom:-20px!important}.mb-n6{margin-bottom:-24px!important}.mb-n7{margin-bottom:-28px!important}.mb-n8{margin-bottom:-32px!important}.mb-n9{margin-bottom:-36px!important}.mb-n10{margin-bottom:-40px!important}.mb-n11{margin-bottom:-44px!important}.mb-n12{margin-bottom:-48px!important}.mb-n13{margin-bottom:-52px!important}.mb-n14{margin-bottom:-56px!important}.mb-n15{margin-bottom:-60px!important}.mb-n16{margin-bottom:-64px!important}.ml-n1{margin-left:-4px!important}.ml-n2{margin-left:-8px!important}.ml-n3{margin-left:-12px!important}.ml-n4{margin-left:-16px!important}.ml-n5{margin-left:-20px!important}.ml-n6{margin-left:-24px!important}.ml-n7{margin-left:-28px!important}.ml-n8{margin-left:-32px!important}.ml-n9{margin-left:-36px!important}.ml-n10{margin-left:-40px!important}.ml-n11{margin-left:-44px!important}.ml-n12{margin-left:-48px!important}.ml-n13{margin-left:-52px!important}.ml-n14{margin-left:-56px!important}.ml-n15{margin-left:-60px!important}.ml-n16{margin-left:-64px!important}.ms-n1{margin-inline-start:-4px!important}.ms-n2{margin-inline-start:-8px!important}.ms-n3{margin-inline-start:-12px!important}.ms-n4{margin-inline-start:-16px!important}.ms-n5{margin-inline-start:-20px!important}.ms-n6{margin-inline-start:-24px!important}.ms-n7{margin-inline-start:-28px!important}.ms-n8{margin-inline-start:-32px!important}.ms-n9{margin-inline-start:-36px!important}.ms-n10{margin-inline-start:-40px!important}.ms-n11{margin-inline-start:-44px!important}.ms-n12{margin-inline-start:-48px!important}.ms-n13{margin-inline-start:-52px!important}.ms-n14{margin-inline-start:-56px!important}.ms-n15{margin-inline-start:-60px!important}.ms-n16{margin-inline-start:-64px!important}.me-n1{margin-inline-end:-4px!important}.me-n2{margin-inline-end:-8px!important}.me-n3{margin-inline-end:-12px!important}.me-n4{margin-inline-end:-16px!important}.me-n5{margin-inline-end:-20px!important}.me-n6{margin-inline-end:-24px!important}.me-n7{margin-inline-end:-28px!important}.me-n8{margin-inline-end:-32px!important}.me-n9{margin-inline-end:-36px!important}.me-n10{margin-inline-end:-40px!important}.me-n11{margin-inline-end:-44px!important}.me-n12{margin-inline-end:-48px!important}.me-n13{margin-inline-end:-52px!important}.me-n14{margin-inline-end:-56px!important}.me-n15{margin-inline-end:-60px!important}.me-n16{margin-inline-end:-64px!important}.pa-0{padding:0!important}.pa-1{padding:4px!important}.pa-2{padding:8px!important}.pa-3{padding:12px!important}.pa-4{padding:16px!important}.pa-5{padding:20px!important}.pa-6{padding:24px!important}.pa-7{padding:28px!important}.pa-8{padding:32px!important}.pa-9{padding:36px!important}.pa-10{padding:40px!important}.pa-11{padding:44px!important}.pa-12{padding:48px!important}.pa-13{padding:52px!important}.pa-14{padding:56px!important}.pa-15{padding:60px!important}.pa-16{padding:64px!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:4px!important;padding-left:4px!important}.px-2{padding-right:8px!important;padding-left:8px!important}.px-3{padding-right:12px!important;padding-left:12px!important}.px-4{padding-right:16px!important;padding-left:16px!important}.px-5{padding-right:20px!important;padding-left:20px!important}.px-6{padding-right:24px!important;padding-left:24px!important}.px-7{padding-right:28px!important;padding-left:28px!important}.px-8{padding-right:32px!important;padding-left:32px!important}.px-9{padding-right:36px!important;padding-left:36px!important}.px-10{padding-right:40px!important;padding-left:40px!important}.px-11{padding-right:44px!important;padding-left:44px!important}.px-12{padding-right:48px!important;padding-left:48px!important}.px-13{padding-right:52px!important;padding-left:52px!important}.px-14{padding-right:56px!important;padding-left:56px!important}.px-15{padding-right:60px!important;padding-left:60px!important}.px-16{padding-right:64px!important;padding-left:64px!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:4px!important;padding-bottom:4px!important}.py-2{padding-top:8px!important;padding-bottom:8px!important}.py-3{padding-top:12px!important;padding-bottom:12px!important}.py-4{padding-top:16px!important;padding-bottom:16px!important}.py-5{padding-top:20px!important;padding-bottom:20px!important}.py-6{padding-top:24px!important;padding-bottom:24px!important}.py-7{padding-top:28px!important;padding-bottom:28px!important}.py-8{padding-top:32px!important;padding-bottom:32px!important}.py-9{padding-top:36px!important;padding-bottom:36px!important}.py-10{padding-top:40px!important;padding-bottom:40px!important}.py-11{padding-top:44px!important;padding-bottom:44px!important}.py-12{padding-top:48px!important;padding-bottom:48px!important}.py-13{padding-top:52px!important;padding-bottom:52px!important}.py-14{padding-top:56px!important;padding-bottom:56px!important}.py-15{padding-top:60px!important;padding-bottom:60px!important}.py-16{padding-top:64px!important;padding-bottom:64px!important}.pt-0{padding-top:0!important}.pt-1{padding-top:4px!important}.pt-2{padding-top:8px!important}.pt-3{padding-top:12px!important}.pt-4{padding-top:16px!important}.pt-5{padding-top:20px!important}.pt-6{padding-top:24px!important}.pt-7{padding-top:28px!important}.pt-8{padding-top:32px!important}.pt-9{padding-top:36px!important}.pt-10{padding-top:40px!important}.pt-11{padding-top:44px!important}.pt-12{padding-top:48px!important}.pt-13{padding-top:52px!important}.pt-14{padding-top:56px!important}.pt-15{padding-top:60px!important}.pt-16{padding-top:64px!important}.pr-0{padding-right:0!important}.pr-1{padding-right:4px!important}.pr-2{padding-right:8px!important}.pr-3{padding-right:12px!important}.pr-4{padding-right:16px!important}.pr-5{padding-right:20px!important}.pr-6{padding-right:24px!important}.pr-7{padding-right:28px!important}.pr-8{padding-right:32px!important}.pr-9{padding-right:36px!important}.pr-10{padding-right:40px!important}.pr-11{padding-right:44px!important}.pr-12{padding-right:48px!important}.pr-13{padding-right:52px!important}.pr-14{padding-right:56px!important}.pr-15{padding-right:60px!important}.pr-16{padding-right:64px!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:4px!important}.pb-2{padding-bottom:8px!important}.pb-3{padding-bottom:12px!important}.pb-4{padding-bottom:16px!important}.pb-5{padding-bottom:20px!important}.pb-6{padding-bottom:24px!important}.pb-7{padding-bottom:28px!important}.pb-8{padding-bottom:32px!important}.pb-9{padding-bottom:36px!important}.pb-10{padding-bottom:40px!important}.pb-11{padding-bottom:44px!important}.pb-12{padding-bottom:48px!important}.pb-13{padding-bottom:52px!important}.pb-14{padding-bottom:56px!important}.pb-15{padding-bottom:60px!important}.pb-16{padding-bottom:64px!important}.pl-0{padding-left:0!important}.pl-1{padding-left:4px!important}.pl-2{padding-left:8px!important}.pl-3{padding-left:12px!important}.pl-4{padding-left:16px!important}.pl-5{padding-left:20px!important}.pl-6{padding-left:24px!important}.pl-7{padding-left:28px!important}.pl-8{padding-left:32px!important}.pl-9{padding-left:36px!important}.pl-10{padding-left:40px!important}.pl-11{padding-left:44px!important}.pl-12{padding-left:48px!important}.pl-13{padding-left:52px!important}.pl-14{padding-left:56px!important}.pl-15{padding-left:60px!important}.pl-16{padding-left:64px!important}.ps-0{padding-inline-start:0px!important}.ps-1{padding-inline-start:4px!important}.ps-2{padding-inline-start:8px!important}.ps-3{padding-inline-start:12px!important}.ps-4{padding-inline-start:16px!important}.ps-5{padding-inline-start:20px!important}.ps-6{padding-inline-start:24px!important}.ps-7{padding-inline-start:28px!important}.ps-8{padding-inline-start:32px!important}.ps-9{padding-inline-start:36px!important}.ps-10{padding-inline-start:40px!important}.ps-11{padding-inline-start:44px!important}.ps-12{padding-inline-start:48px!important}.ps-13{padding-inline-start:52px!important}.ps-14{padding-inline-start:56px!important}.ps-15{padding-inline-start:60px!important}.ps-16{padding-inline-start:64px!important}.pe-0{padding-inline-end:0px!important}.pe-1{padding-inline-end:4px!important}.pe-2{padding-inline-end:8px!important}.pe-3{padding-inline-end:12px!important}.pe-4{padding-inline-end:16px!important}.pe-5{padding-inline-end:20px!important}.pe-6{padding-inline-end:24px!important}.pe-7{padding-inline-end:28px!important}.pe-8{padding-inline-end:32px!important}.pe-9{padding-inline-end:36px!important}.pe-10{padding-inline-end:40px!important}.pe-11{padding-inline-end:44px!important}.pe-12{padding-inline-end:48px!important}.pe-13{padding-inline-end:52px!important}.pe-14{padding-inline-end:56px!important}.pe-15{padding-inline-end:60px!important}.pe-16{padding-inline-end:64px!important}.rounded-0{border-radius:0!important}.rounded-sm{border-radius:2px!important}.rounded{border-radius:4px!important}.rounded-lg{border-radius:8px!important}.rounded-xl{border-radius:24px!important}.rounded-pill{border-radius:9999px!important}.rounded-circle{border-radius:50%!important}.rounded-shaped{border-radius:24px 0!important}.rounded-t-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-t-sm{border-top-left-radius:2px!important;border-top-right-radius:2px!important}.rounded-t{border-top-left-radius:4px!important;border-top-right-radius:4px!important}.rounded-t-lg{border-top-left-radius:8px!important;border-top-right-radius:8px!important}.rounded-t-xl{border-top-left-radius:24px!important;border-top-right-radius:24px!important}.rounded-t-pill{border-top-left-radius:9999px!important;border-top-right-radius:9999px!important}.rounded-t-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-t-shaped{border-top-left-radius:24px!important;border-top-right-radius:0!important}.v-locale--is-ltr .rounded-e-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.v-locale--is-rtl .rounded-e-0{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.v-locale--is-ltr .rounded-e-sm{border-top-right-radius:2px!important;border-bottom-right-radius:2px!important}.v-locale--is-rtl .rounded-e-sm{border-top-left-radius:2px!important;border-bottom-left-radius:2px!important}.v-locale--is-ltr .rounded-e{border-top-right-radius:4px!important;border-bottom-right-radius:4px!important}.v-locale--is-rtl .rounded-e{border-top-left-radius:4px!important;border-bottom-left-radius:4px!important}.v-locale--is-ltr .rounded-e-lg{border-top-right-radius:8px!important;border-bottom-right-radius:8px!important}.v-locale--is-rtl .rounded-e-lg{border-top-left-radius:8px!important;border-bottom-left-radius:8px!important}.v-locale--is-ltr .rounded-e-xl{border-top-right-radius:24px!important;border-bottom-right-radius:24px!important}.v-locale--is-rtl .rounded-e-xl{border-top-left-radius:24px!important;border-bottom-left-radius:24px!important}.v-locale--is-ltr .rounded-e-pill{border-top-right-radius:9999px!important;border-bottom-right-radius:9999px!important}.v-locale--is-rtl .rounded-e-pill{border-top-left-radius:9999px!important;border-bottom-left-radius:9999px!important}.v-locale--is-ltr .rounded-e-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.v-locale--is-rtl .rounded-e-circle{border-top-left-radius:50%!important;border-bottom-left-radius:50%!important}.v-locale--is-ltr .rounded-e-shaped{border-top-right-radius:24px!important;border-bottom-right-radius:0!important}.v-locale--is-rtl .rounded-e-shaped{border-top-left-radius:24px!important;border-bottom-left-radius:0!important}.rounded-b-0{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.rounded-b-sm{border-bottom-left-radius:2px!important;border-bottom-right-radius:2px!important}.rounded-b{border-bottom-left-radius:4px!important;border-bottom-right-radius:4px!important}.rounded-b-lg{border-bottom-left-radius:8px!important;border-bottom-right-radius:8px!important}.rounded-b-xl{border-bottom-left-radius:24px!important;border-bottom-right-radius:24px!important}.rounded-b-pill{border-bottom-left-radius:9999px!important;border-bottom-right-radius:9999px!important}.rounded-b-circle{border-bottom-left-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-b-shaped{border-bottom-left-radius:24px!important;border-bottom-right-radius:0!important}.v-locale--is-ltr .rounded-s-0{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.v-locale--is-rtl .rounded-s-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.v-locale--is-ltr .rounded-s-sm{border-top-left-radius:2px!important;border-bottom-left-radius:2px!important}.v-locale--is-rtl .rounded-s-sm{border-top-right-radius:2px!important;border-bottom-right-radius:2px!important}.v-locale--is-ltr .rounded-s{border-top-left-radius:4px!important;border-bottom-left-radius:4px!important}.v-locale--is-rtl .rounded-s{border-top-right-radius:4px!important;border-bottom-right-radius:4px!important}.v-locale--is-ltr .rounded-s-lg{border-top-left-radius:8px!important;border-bottom-left-radius:8px!important}.v-locale--is-rtl .rounded-s-lg{border-top-right-radius:8px!important;border-bottom-right-radius:8px!important}.v-locale--is-ltr .rounded-s-xl{border-top-left-radius:24px!important;border-bottom-left-radius:24px!important}.v-locale--is-rtl .rounded-s-xl{border-top-right-radius:24px!important;border-bottom-right-radius:24px!important}.v-locale--is-ltr .rounded-s-pill{border-top-left-radius:9999px!important;border-bottom-left-radius:9999px!important}.v-locale--is-rtl .rounded-s-pill{border-top-right-radius:9999px!important;border-bottom-right-radius:9999px!important}.v-locale--is-ltr .rounded-s-circle{border-top-left-radius:50%!important;border-bottom-left-radius:50%!important}.v-locale--is-rtl .rounded-s-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.v-locale--is-ltr .rounded-s-shaped{border-top-left-radius:24px!important;border-bottom-left-radius:0!important}.v-locale--is-rtl .rounded-s-shaped{border-top-right-radius:24px!important;border-bottom-right-radius:0!important}.v-locale--is-ltr .rounded-ts-0{border-top-left-radius:0!important}.v-locale--is-rtl .rounded-ts-0{border-top-right-radius:0!important}.v-locale--is-ltr .rounded-ts-sm{border-top-left-radius:2px!important}.v-locale--is-rtl .rounded-ts-sm{border-top-right-radius:2px!important}.v-locale--is-ltr .rounded-ts{border-top-left-radius:4px!important}.v-locale--is-rtl .rounded-ts{border-top-right-radius:4px!important}.v-locale--is-ltr .rounded-ts-lg{border-top-left-radius:8px!important}.v-locale--is-rtl .rounded-ts-lg{border-top-right-radius:8px!important}.v-locale--is-ltr .rounded-ts-xl{border-top-left-radius:24px!important}.v-locale--is-rtl .rounded-ts-xl{border-top-right-radius:24px!important}.v-locale--is-ltr .rounded-ts-pill{border-top-left-radius:9999px!important}.v-locale--is-rtl .rounded-ts-pill{border-top-right-radius:9999px!important}.v-locale--is-ltr .rounded-ts-circle{border-top-left-radius:50%!important}.v-locale--is-rtl .rounded-ts-circle{border-top-right-radius:50%!important}.v-locale--is-ltr .rounded-ts-shaped{border-top-left-radius:24px 0!important}.v-locale--is-rtl .rounded-ts-shaped{border-top-right-radius:24px 0!important}.v-locale--is-ltr .rounded-te-0{border-top-right-radius:0!important}.v-locale--is-rtl .rounded-te-0{border-top-left-radius:0!important}.v-locale--is-ltr .rounded-te-sm{border-top-right-radius:2px!important}.v-locale--is-rtl .rounded-te-sm{border-top-left-radius:2px!important}.v-locale--is-ltr .rounded-te{border-top-right-radius:4px!important}.v-locale--is-rtl .rounded-te{border-top-left-radius:4px!important}.v-locale--is-ltr .rounded-te-lg{border-top-right-radius:8px!important}.v-locale--is-rtl .rounded-te-lg{border-top-left-radius:8px!important}.v-locale--is-ltr .rounded-te-xl{border-top-right-radius:24px!important}.v-locale--is-rtl .rounded-te-xl{border-top-left-radius:24px!important}.v-locale--is-ltr .rounded-te-pill{border-top-right-radius:9999px!important}.v-locale--is-rtl .rounded-te-pill{border-top-left-radius:9999px!important}.v-locale--is-ltr .rounded-te-circle{border-top-right-radius:50%!important}.v-locale--is-rtl .rounded-te-circle{border-top-left-radius:50%!important}.v-locale--is-ltr .rounded-te-shaped{border-top-right-radius:24px 0!important}.v-locale--is-rtl .rounded-te-shaped{border-top-left-radius:24px 0!important}.v-locale--is-ltr .rounded-be-0{border-bottom-right-radius:0!important}.v-locale--is-rtl .rounded-be-0{border-bottom-left-radius:0!important}.v-locale--is-ltr .rounded-be-sm{border-bottom-right-radius:2px!important}.v-locale--is-rtl .rounded-be-sm{border-bottom-left-radius:2px!important}.v-locale--is-ltr .rounded-be{border-bottom-right-radius:4px!important}.v-locale--is-rtl .rounded-be{border-bottom-left-radius:4px!important}.v-locale--is-ltr .rounded-be-lg{border-bottom-right-radius:8px!important}.v-locale--is-rtl .rounded-be-lg{border-bottom-left-radius:8px!important}.v-locale--is-ltr .rounded-be-xl{border-bottom-right-radius:24px!important}.v-locale--is-rtl .rounded-be-xl{border-bottom-left-radius:24px!important}.v-locale--is-ltr .rounded-be-pill{border-bottom-right-radius:9999px!important}.v-locale--is-rtl .rounded-be-pill{border-bottom-left-radius:9999px!important}.v-locale--is-ltr .rounded-be-circle{border-bottom-right-radius:50%!important}.v-locale--is-rtl .rounded-be-circle{border-bottom-left-radius:50%!important}.v-locale--is-ltr .rounded-be-shaped{border-bottom-right-radius:24px 0!important}.v-locale--is-rtl .rounded-be-shaped{border-bottom-left-radius:24px 0!important}.v-locale--is-ltr .rounded-bs-0{border-bottom-left-radius:0!important}.v-locale--is-rtl .rounded-bs-0{border-bottom-right-radius:0!important}.v-locale--is-ltr .rounded-bs-sm{border-bottom-left-radius:2px!important}.v-locale--is-rtl .rounded-bs-sm{border-bottom-right-radius:2px!important}.v-locale--is-ltr .rounded-bs{border-bottom-left-radius:4px!important}.v-locale--is-rtl .rounded-bs{border-bottom-right-radius:4px!important}.v-locale--is-ltr .rounded-bs-lg{border-bottom-left-radius:8px!important}.v-locale--is-rtl .rounded-bs-lg{border-bottom-right-radius:8px!important}.v-locale--is-ltr .rounded-bs-xl{border-bottom-left-radius:24px!important}.v-locale--is-rtl .rounded-bs-xl{border-bottom-right-radius:24px!important}.v-locale--is-ltr .rounded-bs-pill{border-bottom-left-radius:9999px!important}.v-locale--is-rtl .rounded-bs-pill{border-bottom-right-radius:9999px!important}.v-locale--is-ltr .rounded-bs-circle{border-bottom-left-radius:50%!important}.v-locale--is-rtl .rounded-bs-circle{border-bottom-right-radius:50%!important}.v-locale--is-ltr .rounded-bs-shaped{border-bottom-left-radius:24px 0!important}.v-locale--is-rtl .rounded-bs-shaped{border-bottom-right-radius:24px 0!important}.border-0{border-width:0!important;border-style:solid!important;border-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border,.border-thin{border-width:thin!important;border-style:solid!important;border-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-sm{border-width:1px!important;border-style:solid!important;border-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-md{border-width:2px!important;border-style:solid!important;border-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-lg{border-width:4px!important;border-style:solid!important;border-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-xl{border-width:8px!important;border-style:solid!important;border-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-current{border-color:currentColor!important}.border-opacity-0{--v-border-opacity: 0 !important}.border-opacity{--v-border-opacity: .12 !important}.border-opacity-25{--v-border-opacity: .25 !important}.border-opacity-50{--v-border-opacity: .5 !important}.border-opacity-75{--v-border-opacity: .75 !important}.border-opacity-100{--v-border-opacity: 1 !important}.border-t-0{border-block-start-width:0!important;border-block-start-style:solid!important;border-block-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-t,.border-t-thin{border-block-start-width:thin!important;border-block-start-style:solid!important;border-block-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-t-sm{border-block-start-width:1px!important;border-block-start-style:solid!important;border-block-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-t-md{border-block-start-width:2px!important;border-block-start-style:solid!important;border-block-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-t-lg{border-block-start-width:4px!important;border-block-start-style:solid!important;border-block-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-t-xl{border-block-start-width:8px!important;border-block-start-style:solid!important;border-block-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-e-0{border-inline-end-width:0!important;border-inline-end-style:solid!important;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-e,.border-e-thin{border-inline-end-width:thin!important;border-inline-end-style:solid!important;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-e-sm{border-inline-end-width:1px!important;border-inline-end-style:solid!important;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-e-md{border-inline-end-width:2px!important;border-inline-end-style:solid!important;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-e-lg{border-inline-end-width:4px!important;border-inline-end-style:solid!important;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-e-xl{border-inline-end-width:8px!important;border-inline-end-style:solid!important;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-b-0{border-block-end-width:0!important;border-block-end-style:solid!important;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-b,.border-b-thin{border-block-end-width:thin!important;border-block-end-style:solid!important;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-b-sm{border-block-end-width:1px!important;border-block-end-style:solid!important;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-b-md{border-block-end-width:2px!important;border-block-end-style:solid!important;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-b-lg{border-block-end-width:4px!important;border-block-end-style:solid!important;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-b-xl{border-block-end-width:8px!important;border-block-end-style:solid!important;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-s-0{border-inline-start-width:0!important;border-inline-start-style:solid!important;border-inline-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-s,.border-s-thin{border-inline-start-width:thin!important;border-inline-start-style:solid!important;border-inline-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-s-sm{border-inline-start-width:1px!important;border-inline-start-style:solid!important;border-inline-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-s-md{border-inline-start-width:2px!important;border-inline-start-style:solid!important;border-inline-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-s-lg{border-inline-start-width:4px!important;border-inline-start-style:solid!important;border-inline-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-s-xl{border-inline-start-width:8px!important;border-inline-start-style:solid!important;border-inline-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-solid{border-style:solid!important}.border-dashed{border-style:dashed!important}.border-dotted{border-style:dotted!important}.border-double{border-style:double!important}.border-none{border-style:none!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}.text-justify{text-align:justify!important}.text-start{text-align:start!important}.text-end{text-align:end!important}.text-decoration-line-through{text-decoration:line-through!important}.text-decoration-none{text-decoration:none!important}.text-decoration-overline{text-decoration:overline!important}.text-decoration-underline{text-decoration:underline!important}.text-wrap{white-space:normal!important}.text-no-wrap{white-space:nowrap!important}.text-pre{white-space:pre!important}.text-pre-line{white-space:pre-line!important}.text-pre-wrap{white-space:pre-wrap!important}.text-break{overflow-wrap:break-word!important;word-break:break-word!important}.opacity-hover{opacity:var(--v-hover-opacity)!important}.opacity-focus{opacity:var(--v-focus-opacity)!important}.opacity-selected{opacity:var(--v-selected-opacity)!important}.opacity-activated{opacity:var(--v-activated-opacity)!important}.opacity-pressed{opacity:var(--v-pressed-opacity)!important}.opacity-dragged{opacity:var(--v-dragged-opacity)!important}.opacity-0{opacity:0!important}.opacity-10{opacity:.1!important}.opacity-20{opacity:.2!important}.opacity-30{opacity:.3!important}.opacity-40{opacity:.4!important}.opacity-50{opacity:.5!important}.opacity-60{opacity:.6!important}.opacity-70{opacity:.7!important}.opacity-80{opacity:.8!important}.opacity-90{opacity:.9!important}.opacity-100{opacity:1!important}.text-high-emphasis{color:rgba(var(--v-theme-on-background),var(--v-high-emphasis-opacity))!important}.text-medium-emphasis{color:rgba(var(--v-theme-on-background),var(--v-medium-emphasis-opacity))!important}.text-disabled{color:rgba(var(--v-theme-on-background),var(--v-disabled-opacity))!important}.text-truncate{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.text-h1{font-size:6rem!important;font-weight:300;line-height:1;letter-spacing:-.015625em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-h2{font-size:3.75rem!important;font-weight:300;line-height:1;letter-spacing:-.0083333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-h3{font-size:3rem!important;font-weight:400;line-height:1.05;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-h4{font-size:2.125rem!important;font-weight:400;line-height:1.175;letter-spacing:.0073529412em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-h5{font-size:1.5rem!important;font-weight:400;line-height:1.333;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-h6{font-size:1.25rem!important;font-weight:500;line-height:1.6;letter-spacing:.0125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-subtitle-1{font-size:1rem!important;font-weight:400;line-height:1.75;letter-spacing:.009375em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-subtitle-2{font-size:.875rem!important;font-weight:500;line-height:1.6;letter-spacing:.0071428571em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-body-1{font-size:1rem!important;font-weight:400;line-height:1.5;letter-spacing:.03125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-body-2{font-size:.875rem!important;font-weight:400;line-height:1.425;letter-spacing:.0178571429em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-button{font-size:.875rem!important;font-weight:500;line-height:2.6;letter-spacing:.0892857143em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.text-caption{font-size:.75rem!important;font-weight:400;line-height:1.667;letter-spacing:.0333333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-overline{font-size:.75rem!important;font-weight:500;line-height:2.667;letter-spacing:.1666666667em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.text-none{text-transform:none!important}.text-capitalize{text-transform:capitalize!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.font-weight-thin{font-weight:100!important}.font-weight-light{font-weight:300!important}.font-weight-regular{font-weight:400!important}.font-weight-medium{font-weight:500!important}.font-weight-semibold{font-weight:600!important}.font-weight-bold{font-weight:700!important}.font-weight-black{font-weight:900!important}.font-italic{font-style:italic!important}.text-mono{font-family:monospace!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-fixed{position:fixed!important}.position-absolute{position:absolute!important}.position-sticky{position:sticky!important}.top-0{top:0!important}.right-0{right:0!important}.bottom-0{bottom:0!important}.left-0{left:0!important}.cursor-auto{cursor:auto!important}.cursor-default{cursor:default!important}.cursor-pointer{cursor:pointer!important}.cursor-wait{cursor:wait!important}.cursor-text{cursor:text!important}.cursor-move{cursor:move!important}.cursor-help{cursor:help!important}.cursor-not-allowed{cursor:not-allowed!important}.cursor-progress{cursor:progress!important}.cursor-grab{cursor:grab!important}.cursor-grabbing{cursor:grabbing!important}.cursor-none{cursor:none!important}.fill-height{height:100%!important}.h-auto{height:auto!important}.h-screen{height:100vh!important}.h-0{height:0!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-screen{height:100dvh!important}.w-auto{width:auto!important}.w-0{width:0!important}.w-25{width:25%!important}.w-33{width:33%!important}.w-50{width:50%!important}.w-66{width:66%!important}.w-75{width:75%!important}.w-100{width:100%!important}@media (min-width: 600px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.float-sm-none{float:none!important}.float-sm-left{float:left!important}.float-sm-right{float:right!important}.v-locale--is-rtl .float-sm-end{float:left!important}.v-locale--is-rtl .float-sm-start,.v-locale--is-ltr .float-sm-end{float:right!important}.v-locale--is-ltr .float-sm-start{float:left!important}.flex-sm-fill,.flex-sm-1-1{flex:1 1 auto!important}.flex-sm-1-0{flex:1 0 auto!important}.flex-sm-0-1{flex:0 1 auto!important}.flex-sm-0-0{flex:0 0 auto!important}.flex-sm-1-1-100{flex:1 1 100%!important}.flex-sm-1-0-100{flex:1 0 100%!important}.flex-sm-0-1-100{flex:0 1 100%!important}.flex-sm-0-0-100{flex:0 0 100%!important}.flex-sm-1-1-0{flex:1 1 0!important}.flex-sm-1-0-0{flex:1 0 0!important}.flex-sm-0-1-0{flex:0 1 0!important}.flex-sm-0-0-0{flex:0 0 0!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-sm-start{justify-content:flex-start!important}.justify-sm-end{justify-content:flex-end!important}.justify-sm-center{justify-content:center!important}.justify-sm-space-between{justify-content:space-between!important}.justify-sm-space-around{justify-content:space-around!important}.justify-sm-space-evenly{justify-content:space-evenly!important}.justify-items-sm-start{justify-items:flex-start!important}.justify-items-sm-end{justify-items:flex-end!important}.justify-items-sm-center{justify-items:center!important}.justify-items-sm-stretch{justify-items:stretch!important}.align-sm-start{align-items:flex-start!important}.align-sm-end{align-items:flex-end!important}.align-sm-center{align-items:center!important}.align-sm-baseline{align-items:baseline!important}.align-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-space-between{align-content:space-between!important}.align-content-sm-space-around{align-content:space-around!important}.align-content-sm-space-evenly{align-content:space-evenly!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-6{order:6!important}.order-sm-7{order:7!important}.order-sm-8{order:8!important}.order-sm-9{order:9!important}.order-sm-10{order:10!important}.order-sm-11{order:11!important}.order-sm-12{order:12!important}.order-sm-last{order:13!important}.ga-sm-0{gap:0px!important}.ga-sm-1{gap:4px!important}.ga-sm-2{gap:8px!important}.ga-sm-3{gap:12px!important}.ga-sm-4{gap:16px!important}.ga-sm-5{gap:20px!important}.ga-sm-6{gap:24px!important}.ga-sm-7{gap:28px!important}.ga-sm-8{gap:32px!important}.ga-sm-9{gap:36px!important}.ga-sm-10{gap:40px!important}.ga-sm-11{gap:44px!important}.ga-sm-12{gap:48px!important}.ga-sm-13{gap:52px!important}.ga-sm-14{gap:56px!important}.ga-sm-15{gap:60px!important}.ga-sm-16{gap:64px!important}.ga-sm-auto{gap:auto!important}.gr-sm-0{row-gap:0px!important}.gr-sm-1{row-gap:4px!important}.gr-sm-2{row-gap:8px!important}.gr-sm-3{row-gap:12px!important}.gr-sm-4{row-gap:16px!important}.gr-sm-5{row-gap:20px!important}.gr-sm-6{row-gap:24px!important}.gr-sm-7{row-gap:28px!important}.gr-sm-8{row-gap:32px!important}.gr-sm-9{row-gap:36px!important}.gr-sm-10{row-gap:40px!important}.gr-sm-11{row-gap:44px!important}.gr-sm-12{row-gap:48px!important}.gr-sm-13{row-gap:52px!important}.gr-sm-14{row-gap:56px!important}.gr-sm-15{row-gap:60px!important}.gr-sm-16{row-gap:64px!important}.gr-sm-auto{row-gap:auto!important}.gc-sm-0{column-gap:0px!important}.gc-sm-1{column-gap:4px!important}.gc-sm-2{column-gap:8px!important}.gc-sm-3{column-gap:12px!important}.gc-sm-4{column-gap:16px!important}.gc-sm-5{column-gap:20px!important}.gc-sm-6{column-gap:24px!important}.gc-sm-7{column-gap:28px!important}.gc-sm-8{column-gap:32px!important}.gc-sm-9{column-gap:36px!important}.gc-sm-10{column-gap:40px!important}.gc-sm-11{column-gap:44px!important}.gc-sm-12{column-gap:48px!important}.gc-sm-13{column-gap:52px!important}.gc-sm-14{column-gap:56px!important}.gc-sm-15{column-gap:60px!important}.gc-sm-16{column-gap:64px!important}.gc-sm-auto{column-gap:auto!important}.ma-sm-0{margin:0!important}.ma-sm-1{margin:4px!important}.ma-sm-2{margin:8px!important}.ma-sm-3{margin:12px!important}.ma-sm-4{margin:16px!important}.ma-sm-5{margin:20px!important}.ma-sm-6{margin:24px!important}.ma-sm-7{margin:28px!important}.ma-sm-8{margin:32px!important}.ma-sm-9{margin:36px!important}.ma-sm-10{margin:40px!important}.ma-sm-11{margin:44px!important}.ma-sm-12{margin:48px!important}.ma-sm-13{margin:52px!important}.ma-sm-14{margin:56px!important}.ma-sm-15{margin:60px!important}.ma-sm-16{margin:64px!important}.ma-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:4px!important;margin-left:4px!important}.mx-sm-2{margin-right:8px!important;margin-left:8px!important}.mx-sm-3{margin-right:12px!important;margin-left:12px!important}.mx-sm-4{margin-right:16px!important;margin-left:16px!important}.mx-sm-5{margin-right:20px!important;margin-left:20px!important}.mx-sm-6{margin-right:24px!important;margin-left:24px!important}.mx-sm-7{margin-right:28px!important;margin-left:28px!important}.mx-sm-8{margin-right:32px!important;margin-left:32px!important}.mx-sm-9{margin-right:36px!important;margin-left:36px!important}.mx-sm-10{margin-right:40px!important;margin-left:40px!important}.mx-sm-11{margin-right:44px!important;margin-left:44px!important}.mx-sm-12{margin-right:48px!important;margin-left:48px!important}.mx-sm-13{margin-right:52px!important;margin-left:52px!important}.mx-sm-14{margin-right:56px!important;margin-left:56px!important}.mx-sm-15{margin-right:60px!important;margin-left:60px!important}.mx-sm-16{margin-right:64px!important;margin-left:64px!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:4px!important;margin-bottom:4px!important}.my-sm-2{margin-top:8px!important;margin-bottom:8px!important}.my-sm-3{margin-top:12px!important;margin-bottom:12px!important}.my-sm-4{margin-top:16px!important;margin-bottom:16px!important}.my-sm-5{margin-top:20px!important;margin-bottom:20px!important}.my-sm-6{margin-top:24px!important;margin-bottom:24px!important}.my-sm-7{margin-top:28px!important;margin-bottom:28px!important}.my-sm-8{margin-top:32px!important;margin-bottom:32px!important}.my-sm-9{margin-top:36px!important;margin-bottom:36px!important}.my-sm-10{margin-top:40px!important;margin-bottom:40px!important}.my-sm-11{margin-top:44px!important;margin-bottom:44px!important}.my-sm-12{margin-top:48px!important;margin-bottom:48px!important}.my-sm-13{margin-top:52px!important;margin-bottom:52px!important}.my-sm-14{margin-top:56px!important;margin-bottom:56px!important}.my-sm-15{margin-top:60px!important;margin-bottom:60px!important}.my-sm-16{margin-top:64px!important;margin-bottom:64px!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:4px!important}.mt-sm-2{margin-top:8px!important}.mt-sm-3{margin-top:12px!important}.mt-sm-4{margin-top:16px!important}.mt-sm-5{margin-top:20px!important}.mt-sm-6{margin-top:24px!important}.mt-sm-7{margin-top:28px!important}.mt-sm-8{margin-top:32px!important}.mt-sm-9{margin-top:36px!important}.mt-sm-10{margin-top:40px!important}.mt-sm-11{margin-top:44px!important}.mt-sm-12{margin-top:48px!important}.mt-sm-13{margin-top:52px!important}.mt-sm-14{margin-top:56px!important}.mt-sm-15{margin-top:60px!important}.mt-sm-16{margin-top:64px!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-0{margin-right:0!important}.mr-sm-1{margin-right:4px!important}.mr-sm-2{margin-right:8px!important}.mr-sm-3{margin-right:12px!important}.mr-sm-4{margin-right:16px!important}.mr-sm-5{margin-right:20px!important}.mr-sm-6{margin-right:24px!important}.mr-sm-7{margin-right:28px!important}.mr-sm-8{margin-right:32px!important}.mr-sm-9{margin-right:36px!important}.mr-sm-10{margin-right:40px!important}.mr-sm-11{margin-right:44px!important}.mr-sm-12{margin-right:48px!important}.mr-sm-13{margin-right:52px!important}.mr-sm-14{margin-right:56px!important}.mr-sm-15{margin-right:60px!important}.mr-sm-16{margin-right:64px!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:4px!important}.mb-sm-2{margin-bottom:8px!important}.mb-sm-3{margin-bottom:12px!important}.mb-sm-4{margin-bottom:16px!important}.mb-sm-5{margin-bottom:20px!important}.mb-sm-6{margin-bottom:24px!important}.mb-sm-7{margin-bottom:28px!important}.mb-sm-8{margin-bottom:32px!important}.mb-sm-9{margin-bottom:36px!important}.mb-sm-10{margin-bottom:40px!important}.mb-sm-11{margin-bottom:44px!important}.mb-sm-12{margin-bottom:48px!important}.mb-sm-13{margin-bottom:52px!important}.mb-sm-14{margin-bottom:56px!important}.mb-sm-15{margin-bottom:60px!important}.mb-sm-16{margin-bottom:64px!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-0{margin-left:0!important}.ml-sm-1{margin-left:4px!important}.ml-sm-2{margin-left:8px!important}.ml-sm-3{margin-left:12px!important}.ml-sm-4{margin-left:16px!important}.ml-sm-5{margin-left:20px!important}.ml-sm-6{margin-left:24px!important}.ml-sm-7{margin-left:28px!important}.ml-sm-8{margin-left:32px!important}.ml-sm-9{margin-left:36px!important}.ml-sm-10{margin-left:40px!important}.ml-sm-11{margin-left:44px!important}.ml-sm-12{margin-left:48px!important}.ml-sm-13{margin-left:52px!important}.ml-sm-14{margin-left:56px!important}.ml-sm-15{margin-left:60px!important}.ml-sm-16{margin-left:64px!important}.ml-sm-auto{margin-left:auto!important}.ms-sm-0{margin-inline-start:0px!important}.ms-sm-1{margin-inline-start:4px!important}.ms-sm-2{margin-inline-start:8px!important}.ms-sm-3{margin-inline-start:12px!important}.ms-sm-4{margin-inline-start:16px!important}.ms-sm-5{margin-inline-start:20px!important}.ms-sm-6{margin-inline-start:24px!important}.ms-sm-7{margin-inline-start:28px!important}.ms-sm-8{margin-inline-start:32px!important}.ms-sm-9{margin-inline-start:36px!important}.ms-sm-10{margin-inline-start:40px!important}.ms-sm-11{margin-inline-start:44px!important}.ms-sm-12{margin-inline-start:48px!important}.ms-sm-13{margin-inline-start:52px!important}.ms-sm-14{margin-inline-start:56px!important}.ms-sm-15{margin-inline-start:60px!important}.ms-sm-16{margin-inline-start:64px!important}.ms-sm-auto{margin-inline-start:auto!important}.me-sm-0{margin-inline-end:0px!important}.me-sm-1{margin-inline-end:4px!important}.me-sm-2{margin-inline-end:8px!important}.me-sm-3{margin-inline-end:12px!important}.me-sm-4{margin-inline-end:16px!important}.me-sm-5{margin-inline-end:20px!important}.me-sm-6{margin-inline-end:24px!important}.me-sm-7{margin-inline-end:28px!important}.me-sm-8{margin-inline-end:32px!important}.me-sm-9{margin-inline-end:36px!important}.me-sm-10{margin-inline-end:40px!important}.me-sm-11{margin-inline-end:44px!important}.me-sm-12{margin-inline-end:48px!important}.me-sm-13{margin-inline-end:52px!important}.me-sm-14{margin-inline-end:56px!important}.me-sm-15{margin-inline-end:60px!important}.me-sm-16{margin-inline-end:64px!important}.me-sm-auto{margin-inline-end:auto!important}.ma-sm-n1{margin:-4px!important}.ma-sm-n2{margin:-8px!important}.ma-sm-n3{margin:-12px!important}.ma-sm-n4{margin:-16px!important}.ma-sm-n5{margin:-20px!important}.ma-sm-n6{margin:-24px!important}.ma-sm-n7{margin:-28px!important}.ma-sm-n8{margin:-32px!important}.ma-sm-n9{margin:-36px!important}.ma-sm-n10{margin:-40px!important}.ma-sm-n11{margin:-44px!important}.ma-sm-n12{margin:-48px!important}.ma-sm-n13{margin:-52px!important}.ma-sm-n14{margin:-56px!important}.ma-sm-n15{margin:-60px!important}.ma-sm-n16{margin:-64px!important}.mx-sm-n1{margin-right:-4px!important;margin-left:-4px!important}.mx-sm-n2{margin-right:-8px!important;margin-left:-8px!important}.mx-sm-n3{margin-right:-12px!important;margin-left:-12px!important}.mx-sm-n4{margin-right:-16px!important;margin-left:-16px!important}.mx-sm-n5{margin-right:-20px!important;margin-left:-20px!important}.mx-sm-n6{margin-right:-24px!important;margin-left:-24px!important}.mx-sm-n7{margin-right:-28px!important;margin-left:-28px!important}.mx-sm-n8{margin-right:-32px!important;margin-left:-32px!important}.mx-sm-n9{margin-right:-36px!important;margin-left:-36px!important}.mx-sm-n10{margin-right:-40px!important;margin-left:-40px!important}.mx-sm-n11{margin-right:-44px!important;margin-left:-44px!important}.mx-sm-n12{margin-right:-48px!important;margin-left:-48px!important}.mx-sm-n13{margin-right:-52px!important;margin-left:-52px!important}.mx-sm-n14{margin-right:-56px!important;margin-left:-56px!important}.mx-sm-n15{margin-right:-60px!important;margin-left:-60px!important}.mx-sm-n16{margin-right:-64px!important;margin-left:-64px!important}.my-sm-n1{margin-top:-4px!important;margin-bottom:-4px!important}.my-sm-n2{margin-top:-8px!important;margin-bottom:-8px!important}.my-sm-n3{margin-top:-12px!important;margin-bottom:-12px!important}.my-sm-n4{margin-top:-16px!important;margin-bottom:-16px!important}.my-sm-n5{margin-top:-20px!important;margin-bottom:-20px!important}.my-sm-n6{margin-top:-24px!important;margin-bottom:-24px!important}.my-sm-n7{margin-top:-28px!important;margin-bottom:-28px!important}.my-sm-n8{margin-top:-32px!important;margin-bottom:-32px!important}.my-sm-n9{margin-top:-36px!important;margin-bottom:-36px!important}.my-sm-n10{margin-top:-40px!important;margin-bottom:-40px!important}.my-sm-n11{margin-top:-44px!important;margin-bottom:-44px!important}.my-sm-n12{margin-top:-48px!important;margin-bottom:-48px!important}.my-sm-n13{margin-top:-52px!important;margin-bottom:-52px!important}.my-sm-n14{margin-top:-56px!important;margin-bottom:-56px!important}.my-sm-n15{margin-top:-60px!important;margin-bottom:-60px!important}.my-sm-n16{margin-top:-64px!important;margin-bottom:-64px!important}.mt-sm-n1{margin-top:-4px!important}.mt-sm-n2{margin-top:-8px!important}.mt-sm-n3{margin-top:-12px!important}.mt-sm-n4{margin-top:-16px!important}.mt-sm-n5{margin-top:-20px!important}.mt-sm-n6{margin-top:-24px!important}.mt-sm-n7{margin-top:-28px!important}.mt-sm-n8{margin-top:-32px!important}.mt-sm-n9{margin-top:-36px!important}.mt-sm-n10{margin-top:-40px!important}.mt-sm-n11{margin-top:-44px!important}.mt-sm-n12{margin-top:-48px!important}.mt-sm-n13{margin-top:-52px!important}.mt-sm-n14{margin-top:-56px!important}.mt-sm-n15{margin-top:-60px!important}.mt-sm-n16{margin-top:-64px!important}.mr-sm-n1{margin-right:-4px!important}.mr-sm-n2{margin-right:-8px!important}.mr-sm-n3{margin-right:-12px!important}.mr-sm-n4{margin-right:-16px!important}.mr-sm-n5{margin-right:-20px!important}.mr-sm-n6{margin-right:-24px!important}.mr-sm-n7{margin-right:-28px!important}.mr-sm-n8{margin-right:-32px!important}.mr-sm-n9{margin-right:-36px!important}.mr-sm-n10{margin-right:-40px!important}.mr-sm-n11{margin-right:-44px!important}.mr-sm-n12{margin-right:-48px!important}.mr-sm-n13{margin-right:-52px!important}.mr-sm-n14{margin-right:-56px!important}.mr-sm-n15{margin-right:-60px!important}.mr-sm-n16{margin-right:-64px!important}.mb-sm-n1{margin-bottom:-4px!important}.mb-sm-n2{margin-bottom:-8px!important}.mb-sm-n3{margin-bottom:-12px!important}.mb-sm-n4{margin-bottom:-16px!important}.mb-sm-n5{margin-bottom:-20px!important}.mb-sm-n6{margin-bottom:-24px!important}.mb-sm-n7{margin-bottom:-28px!important}.mb-sm-n8{margin-bottom:-32px!important}.mb-sm-n9{margin-bottom:-36px!important}.mb-sm-n10{margin-bottom:-40px!important}.mb-sm-n11{margin-bottom:-44px!important}.mb-sm-n12{margin-bottom:-48px!important}.mb-sm-n13{margin-bottom:-52px!important}.mb-sm-n14{margin-bottom:-56px!important}.mb-sm-n15{margin-bottom:-60px!important}.mb-sm-n16{margin-bottom:-64px!important}.ml-sm-n1{margin-left:-4px!important}.ml-sm-n2{margin-left:-8px!important}.ml-sm-n3{margin-left:-12px!important}.ml-sm-n4{margin-left:-16px!important}.ml-sm-n5{margin-left:-20px!important}.ml-sm-n6{margin-left:-24px!important}.ml-sm-n7{margin-left:-28px!important}.ml-sm-n8{margin-left:-32px!important}.ml-sm-n9{margin-left:-36px!important}.ml-sm-n10{margin-left:-40px!important}.ml-sm-n11{margin-left:-44px!important}.ml-sm-n12{margin-left:-48px!important}.ml-sm-n13{margin-left:-52px!important}.ml-sm-n14{margin-left:-56px!important}.ml-sm-n15{margin-left:-60px!important}.ml-sm-n16{margin-left:-64px!important}.ms-sm-n1{margin-inline-start:-4px!important}.ms-sm-n2{margin-inline-start:-8px!important}.ms-sm-n3{margin-inline-start:-12px!important}.ms-sm-n4{margin-inline-start:-16px!important}.ms-sm-n5{margin-inline-start:-20px!important}.ms-sm-n6{margin-inline-start:-24px!important}.ms-sm-n7{margin-inline-start:-28px!important}.ms-sm-n8{margin-inline-start:-32px!important}.ms-sm-n9{margin-inline-start:-36px!important}.ms-sm-n10{margin-inline-start:-40px!important}.ms-sm-n11{margin-inline-start:-44px!important}.ms-sm-n12{margin-inline-start:-48px!important}.ms-sm-n13{margin-inline-start:-52px!important}.ms-sm-n14{margin-inline-start:-56px!important}.ms-sm-n15{margin-inline-start:-60px!important}.ms-sm-n16{margin-inline-start:-64px!important}.me-sm-n1{margin-inline-end:-4px!important}.me-sm-n2{margin-inline-end:-8px!important}.me-sm-n3{margin-inline-end:-12px!important}.me-sm-n4{margin-inline-end:-16px!important}.me-sm-n5{margin-inline-end:-20px!important}.me-sm-n6{margin-inline-end:-24px!important}.me-sm-n7{margin-inline-end:-28px!important}.me-sm-n8{margin-inline-end:-32px!important}.me-sm-n9{margin-inline-end:-36px!important}.me-sm-n10{margin-inline-end:-40px!important}.me-sm-n11{margin-inline-end:-44px!important}.me-sm-n12{margin-inline-end:-48px!important}.me-sm-n13{margin-inline-end:-52px!important}.me-sm-n14{margin-inline-end:-56px!important}.me-sm-n15{margin-inline-end:-60px!important}.me-sm-n16{margin-inline-end:-64px!important}.pa-sm-0{padding:0!important}.pa-sm-1{padding:4px!important}.pa-sm-2{padding:8px!important}.pa-sm-3{padding:12px!important}.pa-sm-4{padding:16px!important}.pa-sm-5{padding:20px!important}.pa-sm-6{padding:24px!important}.pa-sm-7{padding:28px!important}.pa-sm-8{padding:32px!important}.pa-sm-9{padding:36px!important}.pa-sm-10{padding:40px!important}.pa-sm-11{padding:44px!important}.pa-sm-12{padding:48px!important}.pa-sm-13{padding:52px!important}.pa-sm-14{padding:56px!important}.pa-sm-15{padding:60px!important}.pa-sm-16{padding:64px!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:4px!important;padding-left:4px!important}.px-sm-2{padding-right:8px!important;padding-left:8px!important}.px-sm-3{padding-right:12px!important;padding-left:12px!important}.px-sm-4{padding-right:16px!important;padding-left:16px!important}.px-sm-5{padding-right:20px!important;padding-left:20px!important}.px-sm-6{padding-right:24px!important;padding-left:24px!important}.px-sm-7{padding-right:28px!important;padding-left:28px!important}.px-sm-8{padding-right:32px!important;padding-left:32px!important}.px-sm-9{padding-right:36px!important;padding-left:36px!important}.px-sm-10{padding-right:40px!important;padding-left:40px!important}.px-sm-11{padding-right:44px!important;padding-left:44px!important}.px-sm-12{padding-right:48px!important;padding-left:48px!important}.px-sm-13{padding-right:52px!important;padding-left:52px!important}.px-sm-14{padding-right:56px!important;padding-left:56px!important}.px-sm-15{padding-right:60px!important;padding-left:60px!important}.px-sm-16{padding-right:64px!important;padding-left:64px!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:4px!important;padding-bottom:4px!important}.py-sm-2{padding-top:8px!important;padding-bottom:8px!important}.py-sm-3{padding-top:12px!important;padding-bottom:12px!important}.py-sm-4{padding-top:16px!important;padding-bottom:16px!important}.py-sm-5{padding-top:20px!important;padding-bottom:20px!important}.py-sm-6{padding-top:24px!important;padding-bottom:24px!important}.py-sm-7{padding-top:28px!important;padding-bottom:28px!important}.py-sm-8{padding-top:32px!important;padding-bottom:32px!important}.py-sm-9{padding-top:36px!important;padding-bottom:36px!important}.py-sm-10{padding-top:40px!important;padding-bottom:40px!important}.py-sm-11{padding-top:44px!important;padding-bottom:44px!important}.py-sm-12{padding-top:48px!important;padding-bottom:48px!important}.py-sm-13{padding-top:52px!important;padding-bottom:52px!important}.py-sm-14{padding-top:56px!important;padding-bottom:56px!important}.py-sm-15{padding-top:60px!important;padding-bottom:60px!important}.py-sm-16{padding-top:64px!important;padding-bottom:64px!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:4px!important}.pt-sm-2{padding-top:8px!important}.pt-sm-3{padding-top:12px!important}.pt-sm-4{padding-top:16px!important}.pt-sm-5{padding-top:20px!important}.pt-sm-6{padding-top:24px!important}.pt-sm-7{padding-top:28px!important}.pt-sm-8{padding-top:32px!important}.pt-sm-9{padding-top:36px!important}.pt-sm-10{padding-top:40px!important}.pt-sm-11{padding-top:44px!important}.pt-sm-12{padding-top:48px!important}.pt-sm-13{padding-top:52px!important}.pt-sm-14{padding-top:56px!important}.pt-sm-15{padding-top:60px!important}.pt-sm-16{padding-top:64px!important}.pr-sm-0{padding-right:0!important}.pr-sm-1{padding-right:4px!important}.pr-sm-2{padding-right:8px!important}.pr-sm-3{padding-right:12px!important}.pr-sm-4{padding-right:16px!important}.pr-sm-5{padding-right:20px!important}.pr-sm-6{padding-right:24px!important}.pr-sm-7{padding-right:28px!important}.pr-sm-8{padding-right:32px!important}.pr-sm-9{padding-right:36px!important}.pr-sm-10{padding-right:40px!important}.pr-sm-11{padding-right:44px!important}.pr-sm-12{padding-right:48px!important}.pr-sm-13{padding-right:52px!important}.pr-sm-14{padding-right:56px!important}.pr-sm-15{padding-right:60px!important}.pr-sm-16{padding-right:64px!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:4px!important}.pb-sm-2{padding-bottom:8px!important}.pb-sm-3{padding-bottom:12px!important}.pb-sm-4{padding-bottom:16px!important}.pb-sm-5{padding-bottom:20px!important}.pb-sm-6{padding-bottom:24px!important}.pb-sm-7{padding-bottom:28px!important}.pb-sm-8{padding-bottom:32px!important}.pb-sm-9{padding-bottom:36px!important}.pb-sm-10{padding-bottom:40px!important}.pb-sm-11{padding-bottom:44px!important}.pb-sm-12{padding-bottom:48px!important}.pb-sm-13{padding-bottom:52px!important}.pb-sm-14{padding-bottom:56px!important}.pb-sm-15{padding-bottom:60px!important}.pb-sm-16{padding-bottom:64px!important}.pl-sm-0{padding-left:0!important}.pl-sm-1{padding-left:4px!important}.pl-sm-2{padding-left:8px!important}.pl-sm-3{padding-left:12px!important}.pl-sm-4{padding-left:16px!important}.pl-sm-5{padding-left:20px!important}.pl-sm-6{padding-left:24px!important}.pl-sm-7{padding-left:28px!important}.pl-sm-8{padding-left:32px!important}.pl-sm-9{padding-left:36px!important}.pl-sm-10{padding-left:40px!important}.pl-sm-11{padding-left:44px!important}.pl-sm-12{padding-left:48px!important}.pl-sm-13{padding-left:52px!important}.pl-sm-14{padding-left:56px!important}.pl-sm-15{padding-left:60px!important}.pl-sm-16{padding-left:64px!important}.ps-sm-0{padding-inline-start:0px!important}.ps-sm-1{padding-inline-start:4px!important}.ps-sm-2{padding-inline-start:8px!important}.ps-sm-3{padding-inline-start:12px!important}.ps-sm-4{padding-inline-start:16px!important}.ps-sm-5{padding-inline-start:20px!important}.ps-sm-6{padding-inline-start:24px!important}.ps-sm-7{padding-inline-start:28px!important}.ps-sm-8{padding-inline-start:32px!important}.ps-sm-9{padding-inline-start:36px!important}.ps-sm-10{padding-inline-start:40px!important}.ps-sm-11{padding-inline-start:44px!important}.ps-sm-12{padding-inline-start:48px!important}.ps-sm-13{padding-inline-start:52px!important}.ps-sm-14{padding-inline-start:56px!important}.ps-sm-15{padding-inline-start:60px!important}.ps-sm-16{padding-inline-start:64px!important}.pe-sm-0{padding-inline-end:0px!important}.pe-sm-1{padding-inline-end:4px!important}.pe-sm-2{padding-inline-end:8px!important}.pe-sm-3{padding-inline-end:12px!important}.pe-sm-4{padding-inline-end:16px!important}.pe-sm-5{padding-inline-end:20px!important}.pe-sm-6{padding-inline-end:24px!important}.pe-sm-7{padding-inline-end:28px!important}.pe-sm-8{padding-inline-end:32px!important}.pe-sm-9{padding-inline-end:36px!important}.pe-sm-10{padding-inline-end:40px!important}.pe-sm-11{padding-inline-end:44px!important}.pe-sm-12{padding-inline-end:48px!important}.pe-sm-13{padding-inline-end:52px!important}.pe-sm-14{padding-inline-end:56px!important}.pe-sm-15{padding-inline-end:60px!important}.pe-sm-16{padding-inline-end:64px!important}.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}.text-sm-justify{text-align:justify!important}.text-sm-start{text-align:start!important}.text-sm-end{text-align:end!important}.text-sm-h1{font-size:6rem!important;font-weight:300;line-height:1;letter-spacing:-.015625em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-h2{font-size:3.75rem!important;font-weight:300;line-height:1;letter-spacing:-.0083333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-h3{font-size:3rem!important;font-weight:400;line-height:1.05;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-h4{font-size:2.125rem!important;font-weight:400;line-height:1.175;letter-spacing:.0073529412em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-h5{font-size:1.5rem!important;font-weight:400;line-height:1.333;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-h6{font-size:1.25rem!important;font-weight:500;line-height:1.6;letter-spacing:.0125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-subtitle-1{font-size:1rem!important;font-weight:400;line-height:1.75;letter-spacing:.009375em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-subtitle-2{font-size:.875rem!important;font-weight:500;line-height:1.6;letter-spacing:.0071428571em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-body-1{font-size:1rem!important;font-weight:400;line-height:1.5;letter-spacing:.03125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-body-2{font-size:.875rem!important;font-weight:400;line-height:1.425;letter-spacing:.0178571429em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-button{font-size:.875rem!important;font-weight:500;line-height:2.6;letter-spacing:.0892857143em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.text-sm-caption{font-size:.75rem!important;font-weight:400;line-height:1.667;letter-spacing:.0333333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-overline{font-size:.75rem!important;font-weight:500;line-height:2.667;letter-spacing:.1666666667em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.h-sm-auto{height:auto!important}.h-sm-screen{height:100vh!important}.h-sm-0{height:0!important}.h-sm-25{height:25%!important}.h-sm-50{height:50%!important}.h-sm-75{height:75%!important}.h-sm-100{height:100%!important}.w-sm-auto{width:auto!important}.w-sm-0{width:0!important}.w-sm-25{width:25%!important}.w-sm-33{width:33%!important}.w-sm-50{width:50%!important}.w-sm-66{width:66%!important}.w-sm-75{width:75%!important}.w-sm-100{width:100%!important}}@media (min-width: 960px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.float-md-none{float:none!important}.float-md-left{float:left!important}.float-md-right{float:right!important}.v-locale--is-rtl .float-md-end{float:left!important}.v-locale--is-rtl .float-md-start,.v-locale--is-ltr .float-md-end{float:right!important}.v-locale--is-ltr .float-md-start{float:left!important}.flex-md-fill,.flex-md-1-1{flex:1 1 auto!important}.flex-md-1-0{flex:1 0 auto!important}.flex-md-0-1{flex:0 1 auto!important}.flex-md-0-0{flex:0 0 auto!important}.flex-md-1-1-100{flex:1 1 100%!important}.flex-md-1-0-100{flex:1 0 100%!important}.flex-md-0-1-100{flex:0 1 100%!important}.flex-md-0-0-100{flex:0 0 100%!important}.flex-md-1-1-0{flex:1 1 0!important}.flex-md-1-0-0{flex:1 0 0!important}.flex-md-0-1-0{flex:0 1 0!important}.flex-md-0-0-0{flex:0 0 0!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-md-start{justify-content:flex-start!important}.justify-md-end{justify-content:flex-end!important}.justify-md-center{justify-content:center!important}.justify-md-space-between{justify-content:space-between!important}.justify-md-space-around{justify-content:space-around!important}.justify-md-space-evenly{justify-content:space-evenly!important}.justify-items-md-start{justify-items:flex-start!important}.justify-items-md-end{justify-items:flex-end!important}.justify-items-md-center{justify-items:center!important}.justify-items-md-stretch{justify-items:stretch!important}.align-md-start{align-items:flex-start!important}.align-md-end{align-items:flex-end!important}.align-md-center{align-items:center!important}.align-md-baseline{align-items:baseline!important}.align-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-space-between{align-content:space-between!important}.align-content-md-space-around{align-content:space-around!important}.align-content-md-space-evenly{align-content:space-evenly!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-6{order:6!important}.order-md-7{order:7!important}.order-md-8{order:8!important}.order-md-9{order:9!important}.order-md-10{order:10!important}.order-md-11{order:11!important}.order-md-12{order:12!important}.order-md-last{order:13!important}.ga-md-0{gap:0px!important}.ga-md-1{gap:4px!important}.ga-md-2{gap:8px!important}.ga-md-3{gap:12px!important}.ga-md-4{gap:16px!important}.ga-md-5{gap:20px!important}.ga-md-6{gap:24px!important}.ga-md-7{gap:28px!important}.ga-md-8{gap:32px!important}.ga-md-9{gap:36px!important}.ga-md-10{gap:40px!important}.ga-md-11{gap:44px!important}.ga-md-12{gap:48px!important}.ga-md-13{gap:52px!important}.ga-md-14{gap:56px!important}.ga-md-15{gap:60px!important}.ga-md-16{gap:64px!important}.ga-md-auto{gap:auto!important}.gr-md-0{row-gap:0px!important}.gr-md-1{row-gap:4px!important}.gr-md-2{row-gap:8px!important}.gr-md-3{row-gap:12px!important}.gr-md-4{row-gap:16px!important}.gr-md-5{row-gap:20px!important}.gr-md-6{row-gap:24px!important}.gr-md-7{row-gap:28px!important}.gr-md-8{row-gap:32px!important}.gr-md-9{row-gap:36px!important}.gr-md-10{row-gap:40px!important}.gr-md-11{row-gap:44px!important}.gr-md-12{row-gap:48px!important}.gr-md-13{row-gap:52px!important}.gr-md-14{row-gap:56px!important}.gr-md-15{row-gap:60px!important}.gr-md-16{row-gap:64px!important}.gr-md-auto{row-gap:auto!important}.gc-md-0{column-gap:0px!important}.gc-md-1{column-gap:4px!important}.gc-md-2{column-gap:8px!important}.gc-md-3{column-gap:12px!important}.gc-md-4{column-gap:16px!important}.gc-md-5{column-gap:20px!important}.gc-md-6{column-gap:24px!important}.gc-md-7{column-gap:28px!important}.gc-md-8{column-gap:32px!important}.gc-md-9{column-gap:36px!important}.gc-md-10{column-gap:40px!important}.gc-md-11{column-gap:44px!important}.gc-md-12{column-gap:48px!important}.gc-md-13{column-gap:52px!important}.gc-md-14{column-gap:56px!important}.gc-md-15{column-gap:60px!important}.gc-md-16{column-gap:64px!important}.gc-md-auto{column-gap:auto!important}.ma-md-0{margin:0!important}.ma-md-1{margin:4px!important}.ma-md-2{margin:8px!important}.ma-md-3{margin:12px!important}.ma-md-4{margin:16px!important}.ma-md-5{margin:20px!important}.ma-md-6{margin:24px!important}.ma-md-7{margin:28px!important}.ma-md-8{margin:32px!important}.ma-md-9{margin:36px!important}.ma-md-10{margin:40px!important}.ma-md-11{margin:44px!important}.ma-md-12{margin:48px!important}.ma-md-13{margin:52px!important}.ma-md-14{margin:56px!important}.ma-md-15{margin:60px!important}.ma-md-16{margin:64px!important}.ma-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:4px!important;margin-left:4px!important}.mx-md-2{margin-right:8px!important;margin-left:8px!important}.mx-md-3{margin-right:12px!important;margin-left:12px!important}.mx-md-4{margin-right:16px!important;margin-left:16px!important}.mx-md-5{margin-right:20px!important;margin-left:20px!important}.mx-md-6{margin-right:24px!important;margin-left:24px!important}.mx-md-7{margin-right:28px!important;margin-left:28px!important}.mx-md-8{margin-right:32px!important;margin-left:32px!important}.mx-md-9{margin-right:36px!important;margin-left:36px!important}.mx-md-10{margin-right:40px!important;margin-left:40px!important}.mx-md-11{margin-right:44px!important;margin-left:44px!important}.mx-md-12{margin-right:48px!important;margin-left:48px!important}.mx-md-13{margin-right:52px!important;margin-left:52px!important}.mx-md-14{margin-right:56px!important;margin-left:56px!important}.mx-md-15{margin-right:60px!important;margin-left:60px!important}.mx-md-16{margin-right:64px!important;margin-left:64px!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:4px!important;margin-bottom:4px!important}.my-md-2{margin-top:8px!important;margin-bottom:8px!important}.my-md-3{margin-top:12px!important;margin-bottom:12px!important}.my-md-4{margin-top:16px!important;margin-bottom:16px!important}.my-md-5{margin-top:20px!important;margin-bottom:20px!important}.my-md-6{margin-top:24px!important;margin-bottom:24px!important}.my-md-7{margin-top:28px!important;margin-bottom:28px!important}.my-md-8{margin-top:32px!important;margin-bottom:32px!important}.my-md-9{margin-top:36px!important;margin-bottom:36px!important}.my-md-10{margin-top:40px!important;margin-bottom:40px!important}.my-md-11{margin-top:44px!important;margin-bottom:44px!important}.my-md-12{margin-top:48px!important;margin-bottom:48px!important}.my-md-13{margin-top:52px!important;margin-bottom:52px!important}.my-md-14{margin-top:56px!important;margin-bottom:56px!important}.my-md-15{margin-top:60px!important;margin-bottom:60px!important}.my-md-16{margin-top:64px!important;margin-bottom:64px!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:4px!important}.mt-md-2{margin-top:8px!important}.mt-md-3{margin-top:12px!important}.mt-md-4{margin-top:16px!important}.mt-md-5{margin-top:20px!important}.mt-md-6{margin-top:24px!important}.mt-md-7{margin-top:28px!important}.mt-md-8{margin-top:32px!important}.mt-md-9{margin-top:36px!important}.mt-md-10{margin-top:40px!important}.mt-md-11{margin-top:44px!important}.mt-md-12{margin-top:48px!important}.mt-md-13{margin-top:52px!important}.mt-md-14{margin-top:56px!important}.mt-md-15{margin-top:60px!important}.mt-md-16{margin-top:64px!important}.mt-md-auto{margin-top:auto!important}.mr-md-0{margin-right:0!important}.mr-md-1{margin-right:4px!important}.mr-md-2{margin-right:8px!important}.mr-md-3{margin-right:12px!important}.mr-md-4{margin-right:16px!important}.mr-md-5{margin-right:20px!important}.mr-md-6{margin-right:24px!important}.mr-md-7{margin-right:28px!important}.mr-md-8{margin-right:32px!important}.mr-md-9{margin-right:36px!important}.mr-md-10{margin-right:40px!important}.mr-md-11{margin-right:44px!important}.mr-md-12{margin-right:48px!important}.mr-md-13{margin-right:52px!important}.mr-md-14{margin-right:56px!important}.mr-md-15{margin-right:60px!important}.mr-md-16{margin-right:64px!important}.mr-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:4px!important}.mb-md-2{margin-bottom:8px!important}.mb-md-3{margin-bottom:12px!important}.mb-md-4{margin-bottom:16px!important}.mb-md-5{margin-bottom:20px!important}.mb-md-6{margin-bottom:24px!important}.mb-md-7{margin-bottom:28px!important}.mb-md-8{margin-bottom:32px!important}.mb-md-9{margin-bottom:36px!important}.mb-md-10{margin-bottom:40px!important}.mb-md-11{margin-bottom:44px!important}.mb-md-12{margin-bottom:48px!important}.mb-md-13{margin-bottom:52px!important}.mb-md-14{margin-bottom:56px!important}.mb-md-15{margin-bottom:60px!important}.mb-md-16{margin-bottom:64px!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-0{margin-left:0!important}.ml-md-1{margin-left:4px!important}.ml-md-2{margin-left:8px!important}.ml-md-3{margin-left:12px!important}.ml-md-4{margin-left:16px!important}.ml-md-5{margin-left:20px!important}.ml-md-6{margin-left:24px!important}.ml-md-7{margin-left:28px!important}.ml-md-8{margin-left:32px!important}.ml-md-9{margin-left:36px!important}.ml-md-10{margin-left:40px!important}.ml-md-11{margin-left:44px!important}.ml-md-12{margin-left:48px!important}.ml-md-13{margin-left:52px!important}.ml-md-14{margin-left:56px!important}.ml-md-15{margin-left:60px!important}.ml-md-16{margin-left:64px!important}.ml-md-auto{margin-left:auto!important}.ms-md-0{margin-inline-start:0px!important}.ms-md-1{margin-inline-start:4px!important}.ms-md-2{margin-inline-start:8px!important}.ms-md-3{margin-inline-start:12px!important}.ms-md-4{margin-inline-start:16px!important}.ms-md-5{margin-inline-start:20px!important}.ms-md-6{margin-inline-start:24px!important}.ms-md-7{margin-inline-start:28px!important}.ms-md-8{margin-inline-start:32px!important}.ms-md-9{margin-inline-start:36px!important}.ms-md-10{margin-inline-start:40px!important}.ms-md-11{margin-inline-start:44px!important}.ms-md-12{margin-inline-start:48px!important}.ms-md-13{margin-inline-start:52px!important}.ms-md-14{margin-inline-start:56px!important}.ms-md-15{margin-inline-start:60px!important}.ms-md-16{margin-inline-start:64px!important}.ms-md-auto{margin-inline-start:auto!important}.me-md-0{margin-inline-end:0px!important}.me-md-1{margin-inline-end:4px!important}.me-md-2{margin-inline-end:8px!important}.me-md-3{margin-inline-end:12px!important}.me-md-4{margin-inline-end:16px!important}.me-md-5{margin-inline-end:20px!important}.me-md-6{margin-inline-end:24px!important}.me-md-7{margin-inline-end:28px!important}.me-md-8{margin-inline-end:32px!important}.me-md-9{margin-inline-end:36px!important}.me-md-10{margin-inline-end:40px!important}.me-md-11{margin-inline-end:44px!important}.me-md-12{margin-inline-end:48px!important}.me-md-13{margin-inline-end:52px!important}.me-md-14{margin-inline-end:56px!important}.me-md-15{margin-inline-end:60px!important}.me-md-16{margin-inline-end:64px!important}.me-md-auto{margin-inline-end:auto!important}.ma-md-n1{margin:-4px!important}.ma-md-n2{margin:-8px!important}.ma-md-n3{margin:-12px!important}.ma-md-n4{margin:-16px!important}.ma-md-n5{margin:-20px!important}.ma-md-n6{margin:-24px!important}.ma-md-n7{margin:-28px!important}.ma-md-n8{margin:-32px!important}.ma-md-n9{margin:-36px!important}.ma-md-n10{margin:-40px!important}.ma-md-n11{margin:-44px!important}.ma-md-n12{margin:-48px!important}.ma-md-n13{margin:-52px!important}.ma-md-n14{margin:-56px!important}.ma-md-n15{margin:-60px!important}.ma-md-n16{margin:-64px!important}.mx-md-n1{margin-right:-4px!important;margin-left:-4px!important}.mx-md-n2{margin-right:-8px!important;margin-left:-8px!important}.mx-md-n3{margin-right:-12px!important;margin-left:-12px!important}.mx-md-n4{margin-right:-16px!important;margin-left:-16px!important}.mx-md-n5{margin-right:-20px!important;margin-left:-20px!important}.mx-md-n6{margin-right:-24px!important;margin-left:-24px!important}.mx-md-n7{margin-right:-28px!important;margin-left:-28px!important}.mx-md-n8{margin-right:-32px!important;margin-left:-32px!important}.mx-md-n9{margin-right:-36px!important;margin-left:-36px!important}.mx-md-n10{margin-right:-40px!important;margin-left:-40px!important}.mx-md-n11{margin-right:-44px!important;margin-left:-44px!important}.mx-md-n12{margin-right:-48px!important;margin-left:-48px!important}.mx-md-n13{margin-right:-52px!important;margin-left:-52px!important}.mx-md-n14{margin-right:-56px!important;margin-left:-56px!important}.mx-md-n15{margin-right:-60px!important;margin-left:-60px!important}.mx-md-n16{margin-right:-64px!important;margin-left:-64px!important}.my-md-n1{margin-top:-4px!important;margin-bottom:-4px!important}.my-md-n2{margin-top:-8px!important;margin-bottom:-8px!important}.my-md-n3{margin-top:-12px!important;margin-bottom:-12px!important}.my-md-n4{margin-top:-16px!important;margin-bottom:-16px!important}.my-md-n5{margin-top:-20px!important;margin-bottom:-20px!important}.my-md-n6{margin-top:-24px!important;margin-bottom:-24px!important}.my-md-n7{margin-top:-28px!important;margin-bottom:-28px!important}.my-md-n8{margin-top:-32px!important;margin-bottom:-32px!important}.my-md-n9{margin-top:-36px!important;margin-bottom:-36px!important}.my-md-n10{margin-top:-40px!important;margin-bottom:-40px!important}.my-md-n11{margin-top:-44px!important;margin-bottom:-44px!important}.my-md-n12{margin-top:-48px!important;margin-bottom:-48px!important}.my-md-n13{margin-top:-52px!important;margin-bottom:-52px!important}.my-md-n14{margin-top:-56px!important;margin-bottom:-56px!important}.my-md-n15{margin-top:-60px!important;margin-bottom:-60px!important}.my-md-n16{margin-top:-64px!important;margin-bottom:-64px!important}.mt-md-n1{margin-top:-4px!important}.mt-md-n2{margin-top:-8px!important}.mt-md-n3{margin-top:-12px!important}.mt-md-n4{margin-top:-16px!important}.mt-md-n5{margin-top:-20px!important}.mt-md-n6{margin-top:-24px!important}.mt-md-n7{margin-top:-28px!important}.mt-md-n8{margin-top:-32px!important}.mt-md-n9{margin-top:-36px!important}.mt-md-n10{margin-top:-40px!important}.mt-md-n11{margin-top:-44px!important}.mt-md-n12{margin-top:-48px!important}.mt-md-n13{margin-top:-52px!important}.mt-md-n14{margin-top:-56px!important}.mt-md-n15{margin-top:-60px!important}.mt-md-n16{margin-top:-64px!important}.mr-md-n1{margin-right:-4px!important}.mr-md-n2{margin-right:-8px!important}.mr-md-n3{margin-right:-12px!important}.mr-md-n4{margin-right:-16px!important}.mr-md-n5{margin-right:-20px!important}.mr-md-n6{margin-right:-24px!important}.mr-md-n7{margin-right:-28px!important}.mr-md-n8{margin-right:-32px!important}.mr-md-n9{margin-right:-36px!important}.mr-md-n10{margin-right:-40px!important}.mr-md-n11{margin-right:-44px!important}.mr-md-n12{margin-right:-48px!important}.mr-md-n13{margin-right:-52px!important}.mr-md-n14{margin-right:-56px!important}.mr-md-n15{margin-right:-60px!important}.mr-md-n16{margin-right:-64px!important}.mb-md-n1{margin-bottom:-4px!important}.mb-md-n2{margin-bottom:-8px!important}.mb-md-n3{margin-bottom:-12px!important}.mb-md-n4{margin-bottom:-16px!important}.mb-md-n5{margin-bottom:-20px!important}.mb-md-n6{margin-bottom:-24px!important}.mb-md-n7{margin-bottom:-28px!important}.mb-md-n8{margin-bottom:-32px!important}.mb-md-n9{margin-bottom:-36px!important}.mb-md-n10{margin-bottom:-40px!important}.mb-md-n11{margin-bottom:-44px!important}.mb-md-n12{margin-bottom:-48px!important}.mb-md-n13{margin-bottom:-52px!important}.mb-md-n14{margin-bottom:-56px!important}.mb-md-n15{margin-bottom:-60px!important}.mb-md-n16{margin-bottom:-64px!important}.ml-md-n1{margin-left:-4px!important}.ml-md-n2{margin-left:-8px!important}.ml-md-n3{margin-left:-12px!important}.ml-md-n4{margin-left:-16px!important}.ml-md-n5{margin-left:-20px!important}.ml-md-n6{margin-left:-24px!important}.ml-md-n7{margin-left:-28px!important}.ml-md-n8{margin-left:-32px!important}.ml-md-n9{margin-left:-36px!important}.ml-md-n10{margin-left:-40px!important}.ml-md-n11{margin-left:-44px!important}.ml-md-n12{margin-left:-48px!important}.ml-md-n13{margin-left:-52px!important}.ml-md-n14{margin-left:-56px!important}.ml-md-n15{margin-left:-60px!important}.ml-md-n16{margin-left:-64px!important}.ms-md-n1{margin-inline-start:-4px!important}.ms-md-n2{margin-inline-start:-8px!important}.ms-md-n3{margin-inline-start:-12px!important}.ms-md-n4{margin-inline-start:-16px!important}.ms-md-n5{margin-inline-start:-20px!important}.ms-md-n6{margin-inline-start:-24px!important}.ms-md-n7{margin-inline-start:-28px!important}.ms-md-n8{margin-inline-start:-32px!important}.ms-md-n9{margin-inline-start:-36px!important}.ms-md-n10{margin-inline-start:-40px!important}.ms-md-n11{margin-inline-start:-44px!important}.ms-md-n12{margin-inline-start:-48px!important}.ms-md-n13{margin-inline-start:-52px!important}.ms-md-n14{margin-inline-start:-56px!important}.ms-md-n15{margin-inline-start:-60px!important}.ms-md-n16{margin-inline-start:-64px!important}.me-md-n1{margin-inline-end:-4px!important}.me-md-n2{margin-inline-end:-8px!important}.me-md-n3{margin-inline-end:-12px!important}.me-md-n4{margin-inline-end:-16px!important}.me-md-n5{margin-inline-end:-20px!important}.me-md-n6{margin-inline-end:-24px!important}.me-md-n7{margin-inline-end:-28px!important}.me-md-n8{margin-inline-end:-32px!important}.me-md-n9{margin-inline-end:-36px!important}.me-md-n10{margin-inline-end:-40px!important}.me-md-n11{margin-inline-end:-44px!important}.me-md-n12{margin-inline-end:-48px!important}.me-md-n13{margin-inline-end:-52px!important}.me-md-n14{margin-inline-end:-56px!important}.me-md-n15{margin-inline-end:-60px!important}.me-md-n16{margin-inline-end:-64px!important}.pa-md-0{padding:0!important}.pa-md-1{padding:4px!important}.pa-md-2{padding:8px!important}.pa-md-3{padding:12px!important}.pa-md-4{padding:16px!important}.pa-md-5{padding:20px!important}.pa-md-6{padding:24px!important}.pa-md-7{padding:28px!important}.pa-md-8{padding:32px!important}.pa-md-9{padding:36px!important}.pa-md-10{padding:40px!important}.pa-md-11{padding:44px!important}.pa-md-12{padding:48px!important}.pa-md-13{padding:52px!important}.pa-md-14{padding:56px!important}.pa-md-15{padding:60px!important}.pa-md-16{padding:64px!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:4px!important;padding-left:4px!important}.px-md-2{padding-right:8px!important;padding-left:8px!important}.px-md-3{padding-right:12px!important;padding-left:12px!important}.px-md-4{padding-right:16px!important;padding-left:16px!important}.px-md-5{padding-right:20px!important;padding-left:20px!important}.px-md-6{padding-right:24px!important;padding-left:24px!important}.px-md-7{padding-right:28px!important;padding-left:28px!important}.px-md-8{padding-right:32px!important;padding-left:32px!important}.px-md-9{padding-right:36px!important;padding-left:36px!important}.px-md-10{padding-right:40px!important;padding-left:40px!important}.px-md-11{padding-right:44px!important;padding-left:44px!important}.px-md-12{padding-right:48px!important;padding-left:48px!important}.px-md-13{padding-right:52px!important;padding-left:52px!important}.px-md-14{padding-right:56px!important;padding-left:56px!important}.px-md-15{padding-right:60px!important;padding-left:60px!important}.px-md-16{padding-right:64px!important;padding-left:64px!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:4px!important;padding-bottom:4px!important}.py-md-2{padding-top:8px!important;padding-bottom:8px!important}.py-md-3{padding-top:12px!important;padding-bottom:12px!important}.py-md-4{padding-top:16px!important;padding-bottom:16px!important}.py-md-5{padding-top:20px!important;padding-bottom:20px!important}.py-md-6{padding-top:24px!important;padding-bottom:24px!important}.py-md-7{padding-top:28px!important;padding-bottom:28px!important}.py-md-8{padding-top:32px!important;padding-bottom:32px!important}.py-md-9{padding-top:36px!important;padding-bottom:36px!important}.py-md-10{padding-top:40px!important;padding-bottom:40px!important}.py-md-11{padding-top:44px!important;padding-bottom:44px!important}.py-md-12{padding-top:48px!important;padding-bottom:48px!important}.py-md-13{padding-top:52px!important;padding-bottom:52px!important}.py-md-14{padding-top:56px!important;padding-bottom:56px!important}.py-md-15{padding-top:60px!important;padding-bottom:60px!important}.py-md-16{padding-top:64px!important;padding-bottom:64px!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:4px!important}.pt-md-2{padding-top:8px!important}.pt-md-3{padding-top:12px!important}.pt-md-4{padding-top:16px!important}.pt-md-5{padding-top:20px!important}.pt-md-6{padding-top:24px!important}.pt-md-7{padding-top:28px!important}.pt-md-8{padding-top:32px!important}.pt-md-9{padding-top:36px!important}.pt-md-10{padding-top:40px!important}.pt-md-11{padding-top:44px!important}.pt-md-12{padding-top:48px!important}.pt-md-13{padding-top:52px!important}.pt-md-14{padding-top:56px!important}.pt-md-15{padding-top:60px!important}.pt-md-16{padding-top:64px!important}.pr-md-0{padding-right:0!important}.pr-md-1{padding-right:4px!important}.pr-md-2{padding-right:8px!important}.pr-md-3{padding-right:12px!important}.pr-md-4{padding-right:16px!important}.pr-md-5{padding-right:20px!important}.pr-md-6{padding-right:24px!important}.pr-md-7{padding-right:28px!important}.pr-md-8{padding-right:32px!important}.pr-md-9{padding-right:36px!important}.pr-md-10{padding-right:40px!important}.pr-md-11{padding-right:44px!important}.pr-md-12{padding-right:48px!important}.pr-md-13{padding-right:52px!important}.pr-md-14{padding-right:56px!important}.pr-md-15{padding-right:60px!important}.pr-md-16{padding-right:64px!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:4px!important}.pb-md-2{padding-bottom:8px!important}.pb-md-3{padding-bottom:12px!important}.pb-md-4{padding-bottom:16px!important}.pb-md-5{padding-bottom:20px!important}.pb-md-6{padding-bottom:24px!important}.pb-md-7{padding-bottom:28px!important}.pb-md-8{padding-bottom:32px!important}.pb-md-9{padding-bottom:36px!important}.pb-md-10{padding-bottom:40px!important}.pb-md-11{padding-bottom:44px!important}.pb-md-12{padding-bottom:48px!important}.pb-md-13{padding-bottom:52px!important}.pb-md-14{padding-bottom:56px!important}.pb-md-15{padding-bottom:60px!important}.pb-md-16{padding-bottom:64px!important}.pl-md-0{padding-left:0!important}.pl-md-1{padding-left:4px!important}.pl-md-2{padding-left:8px!important}.pl-md-3{padding-left:12px!important}.pl-md-4{padding-left:16px!important}.pl-md-5{padding-left:20px!important}.pl-md-6{padding-left:24px!important}.pl-md-7{padding-left:28px!important}.pl-md-8{padding-left:32px!important}.pl-md-9{padding-left:36px!important}.pl-md-10{padding-left:40px!important}.pl-md-11{padding-left:44px!important}.pl-md-12{padding-left:48px!important}.pl-md-13{padding-left:52px!important}.pl-md-14{padding-left:56px!important}.pl-md-15{padding-left:60px!important}.pl-md-16{padding-left:64px!important}.ps-md-0{padding-inline-start:0px!important}.ps-md-1{padding-inline-start:4px!important}.ps-md-2{padding-inline-start:8px!important}.ps-md-3{padding-inline-start:12px!important}.ps-md-4{padding-inline-start:16px!important}.ps-md-5{padding-inline-start:20px!important}.ps-md-6{padding-inline-start:24px!important}.ps-md-7{padding-inline-start:28px!important}.ps-md-8{padding-inline-start:32px!important}.ps-md-9{padding-inline-start:36px!important}.ps-md-10{padding-inline-start:40px!important}.ps-md-11{padding-inline-start:44px!important}.ps-md-12{padding-inline-start:48px!important}.ps-md-13{padding-inline-start:52px!important}.ps-md-14{padding-inline-start:56px!important}.ps-md-15{padding-inline-start:60px!important}.ps-md-16{padding-inline-start:64px!important}.pe-md-0{padding-inline-end:0px!important}.pe-md-1{padding-inline-end:4px!important}.pe-md-2{padding-inline-end:8px!important}.pe-md-3{padding-inline-end:12px!important}.pe-md-4{padding-inline-end:16px!important}.pe-md-5{padding-inline-end:20px!important}.pe-md-6{padding-inline-end:24px!important}.pe-md-7{padding-inline-end:28px!important}.pe-md-8{padding-inline-end:32px!important}.pe-md-9{padding-inline-end:36px!important}.pe-md-10{padding-inline-end:40px!important}.pe-md-11{padding-inline-end:44px!important}.pe-md-12{padding-inline-end:48px!important}.pe-md-13{padding-inline-end:52px!important}.pe-md-14{padding-inline-end:56px!important}.pe-md-15{padding-inline-end:60px!important}.pe-md-16{padding-inline-end:64px!important}.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}.text-md-justify{text-align:justify!important}.text-md-start{text-align:start!important}.text-md-end{text-align:end!important}.text-md-h1{font-size:6rem!important;font-weight:300;line-height:1;letter-spacing:-.015625em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-h2{font-size:3.75rem!important;font-weight:300;line-height:1;letter-spacing:-.0083333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-h3{font-size:3rem!important;font-weight:400;line-height:1.05;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-h4{font-size:2.125rem!important;font-weight:400;line-height:1.175;letter-spacing:.0073529412em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-h5{font-size:1.5rem!important;font-weight:400;line-height:1.333;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-h6{font-size:1.25rem!important;font-weight:500;line-height:1.6;letter-spacing:.0125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-subtitle-1{font-size:1rem!important;font-weight:400;line-height:1.75;letter-spacing:.009375em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-subtitle-2{font-size:.875rem!important;font-weight:500;line-height:1.6;letter-spacing:.0071428571em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-body-1{font-size:1rem!important;font-weight:400;line-height:1.5;letter-spacing:.03125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-body-2{font-size:.875rem!important;font-weight:400;line-height:1.425;letter-spacing:.0178571429em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-button{font-size:.875rem!important;font-weight:500;line-height:2.6;letter-spacing:.0892857143em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.text-md-caption{font-size:.75rem!important;font-weight:400;line-height:1.667;letter-spacing:.0333333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-overline{font-size:.75rem!important;font-weight:500;line-height:2.667;letter-spacing:.1666666667em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.h-md-auto{height:auto!important}.h-md-screen{height:100vh!important}.h-md-0{height:0!important}.h-md-25{height:25%!important}.h-md-50{height:50%!important}.h-md-75{height:75%!important}.h-md-100{height:100%!important}.w-md-auto{width:auto!important}.w-md-0{width:0!important}.w-md-25{width:25%!important}.w-md-33{width:33%!important}.w-md-50{width:50%!important}.w-md-66{width:66%!important}.w-md-75{width:75%!important}.w-md-100{width:100%!important}}@media (min-width: 1280px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.float-lg-none{float:none!important}.float-lg-left{float:left!important}.float-lg-right{float:right!important}.v-locale--is-rtl .float-lg-end{float:left!important}.v-locale--is-rtl .float-lg-start,.v-locale--is-ltr .float-lg-end{float:right!important}.v-locale--is-ltr .float-lg-start{float:left!important}.flex-lg-fill,.flex-lg-1-1{flex:1 1 auto!important}.flex-lg-1-0{flex:1 0 auto!important}.flex-lg-0-1{flex:0 1 auto!important}.flex-lg-0-0{flex:0 0 auto!important}.flex-lg-1-1-100{flex:1 1 100%!important}.flex-lg-1-0-100{flex:1 0 100%!important}.flex-lg-0-1-100{flex:0 1 100%!important}.flex-lg-0-0-100{flex:0 0 100%!important}.flex-lg-1-1-0{flex:1 1 0!important}.flex-lg-1-0-0{flex:1 0 0!important}.flex-lg-0-1-0{flex:0 1 0!important}.flex-lg-0-0-0{flex:0 0 0!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-lg-start{justify-content:flex-start!important}.justify-lg-end{justify-content:flex-end!important}.justify-lg-center{justify-content:center!important}.justify-lg-space-between{justify-content:space-between!important}.justify-lg-space-around{justify-content:space-around!important}.justify-lg-space-evenly{justify-content:space-evenly!important}.justify-items-lg-start{justify-items:flex-start!important}.justify-items-lg-end{justify-items:flex-end!important}.justify-items-lg-center{justify-items:center!important}.justify-items-lg-stretch{justify-items:stretch!important}.align-lg-start{align-items:flex-start!important}.align-lg-end{align-items:flex-end!important}.align-lg-center{align-items:center!important}.align-lg-baseline{align-items:baseline!important}.align-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-space-between{align-content:space-between!important}.align-content-lg-space-around{align-content:space-around!important}.align-content-lg-space-evenly{align-content:space-evenly!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-6{order:6!important}.order-lg-7{order:7!important}.order-lg-8{order:8!important}.order-lg-9{order:9!important}.order-lg-10{order:10!important}.order-lg-11{order:11!important}.order-lg-12{order:12!important}.order-lg-last{order:13!important}.ga-lg-0{gap:0px!important}.ga-lg-1{gap:4px!important}.ga-lg-2{gap:8px!important}.ga-lg-3{gap:12px!important}.ga-lg-4{gap:16px!important}.ga-lg-5{gap:20px!important}.ga-lg-6{gap:24px!important}.ga-lg-7{gap:28px!important}.ga-lg-8{gap:32px!important}.ga-lg-9{gap:36px!important}.ga-lg-10{gap:40px!important}.ga-lg-11{gap:44px!important}.ga-lg-12{gap:48px!important}.ga-lg-13{gap:52px!important}.ga-lg-14{gap:56px!important}.ga-lg-15{gap:60px!important}.ga-lg-16{gap:64px!important}.ga-lg-auto{gap:auto!important}.gr-lg-0{row-gap:0px!important}.gr-lg-1{row-gap:4px!important}.gr-lg-2{row-gap:8px!important}.gr-lg-3{row-gap:12px!important}.gr-lg-4{row-gap:16px!important}.gr-lg-5{row-gap:20px!important}.gr-lg-6{row-gap:24px!important}.gr-lg-7{row-gap:28px!important}.gr-lg-8{row-gap:32px!important}.gr-lg-9{row-gap:36px!important}.gr-lg-10{row-gap:40px!important}.gr-lg-11{row-gap:44px!important}.gr-lg-12{row-gap:48px!important}.gr-lg-13{row-gap:52px!important}.gr-lg-14{row-gap:56px!important}.gr-lg-15{row-gap:60px!important}.gr-lg-16{row-gap:64px!important}.gr-lg-auto{row-gap:auto!important}.gc-lg-0{column-gap:0px!important}.gc-lg-1{column-gap:4px!important}.gc-lg-2{column-gap:8px!important}.gc-lg-3{column-gap:12px!important}.gc-lg-4{column-gap:16px!important}.gc-lg-5{column-gap:20px!important}.gc-lg-6{column-gap:24px!important}.gc-lg-7{column-gap:28px!important}.gc-lg-8{column-gap:32px!important}.gc-lg-9{column-gap:36px!important}.gc-lg-10{column-gap:40px!important}.gc-lg-11{column-gap:44px!important}.gc-lg-12{column-gap:48px!important}.gc-lg-13{column-gap:52px!important}.gc-lg-14{column-gap:56px!important}.gc-lg-15{column-gap:60px!important}.gc-lg-16{column-gap:64px!important}.gc-lg-auto{column-gap:auto!important}.ma-lg-0{margin:0!important}.ma-lg-1{margin:4px!important}.ma-lg-2{margin:8px!important}.ma-lg-3{margin:12px!important}.ma-lg-4{margin:16px!important}.ma-lg-5{margin:20px!important}.ma-lg-6{margin:24px!important}.ma-lg-7{margin:28px!important}.ma-lg-8{margin:32px!important}.ma-lg-9{margin:36px!important}.ma-lg-10{margin:40px!important}.ma-lg-11{margin:44px!important}.ma-lg-12{margin:48px!important}.ma-lg-13{margin:52px!important}.ma-lg-14{margin:56px!important}.ma-lg-15{margin:60px!important}.ma-lg-16{margin:64px!important}.ma-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:4px!important;margin-left:4px!important}.mx-lg-2{margin-right:8px!important;margin-left:8px!important}.mx-lg-3{margin-right:12px!important;margin-left:12px!important}.mx-lg-4{margin-right:16px!important;margin-left:16px!important}.mx-lg-5{margin-right:20px!important;margin-left:20px!important}.mx-lg-6{margin-right:24px!important;margin-left:24px!important}.mx-lg-7{margin-right:28px!important;margin-left:28px!important}.mx-lg-8{margin-right:32px!important;margin-left:32px!important}.mx-lg-9{margin-right:36px!important;margin-left:36px!important}.mx-lg-10{margin-right:40px!important;margin-left:40px!important}.mx-lg-11{margin-right:44px!important;margin-left:44px!important}.mx-lg-12{margin-right:48px!important;margin-left:48px!important}.mx-lg-13{margin-right:52px!important;margin-left:52px!important}.mx-lg-14{margin-right:56px!important;margin-left:56px!important}.mx-lg-15{margin-right:60px!important;margin-left:60px!important}.mx-lg-16{margin-right:64px!important;margin-left:64px!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:4px!important;margin-bottom:4px!important}.my-lg-2{margin-top:8px!important;margin-bottom:8px!important}.my-lg-3{margin-top:12px!important;margin-bottom:12px!important}.my-lg-4{margin-top:16px!important;margin-bottom:16px!important}.my-lg-5{margin-top:20px!important;margin-bottom:20px!important}.my-lg-6{margin-top:24px!important;margin-bottom:24px!important}.my-lg-7{margin-top:28px!important;margin-bottom:28px!important}.my-lg-8{margin-top:32px!important;margin-bottom:32px!important}.my-lg-9{margin-top:36px!important;margin-bottom:36px!important}.my-lg-10{margin-top:40px!important;margin-bottom:40px!important}.my-lg-11{margin-top:44px!important;margin-bottom:44px!important}.my-lg-12{margin-top:48px!important;margin-bottom:48px!important}.my-lg-13{margin-top:52px!important;margin-bottom:52px!important}.my-lg-14{margin-top:56px!important;margin-bottom:56px!important}.my-lg-15{margin-top:60px!important;margin-bottom:60px!important}.my-lg-16{margin-top:64px!important;margin-bottom:64px!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:4px!important}.mt-lg-2{margin-top:8px!important}.mt-lg-3{margin-top:12px!important}.mt-lg-4{margin-top:16px!important}.mt-lg-5{margin-top:20px!important}.mt-lg-6{margin-top:24px!important}.mt-lg-7{margin-top:28px!important}.mt-lg-8{margin-top:32px!important}.mt-lg-9{margin-top:36px!important}.mt-lg-10{margin-top:40px!important}.mt-lg-11{margin-top:44px!important}.mt-lg-12{margin-top:48px!important}.mt-lg-13{margin-top:52px!important}.mt-lg-14{margin-top:56px!important}.mt-lg-15{margin-top:60px!important}.mt-lg-16{margin-top:64px!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-0{margin-right:0!important}.mr-lg-1{margin-right:4px!important}.mr-lg-2{margin-right:8px!important}.mr-lg-3{margin-right:12px!important}.mr-lg-4{margin-right:16px!important}.mr-lg-5{margin-right:20px!important}.mr-lg-6{margin-right:24px!important}.mr-lg-7{margin-right:28px!important}.mr-lg-8{margin-right:32px!important}.mr-lg-9{margin-right:36px!important}.mr-lg-10{margin-right:40px!important}.mr-lg-11{margin-right:44px!important}.mr-lg-12{margin-right:48px!important}.mr-lg-13{margin-right:52px!important}.mr-lg-14{margin-right:56px!important}.mr-lg-15{margin-right:60px!important}.mr-lg-16{margin-right:64px!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:4px!important}.mb-lg-2{margin-bottom:8px!important}.mb-lg-3{margin-bottom:12px!important}.mb-lg-4{margin-bottom:16px!important}.mb-lg-5{margin-bottom:20px!important}.mb-lg-6{margin-bottom:24px!important}.mb-lg-7{margin-bottom:28px!important}.mb-lg-8{margin-bottom:32px!important}.mb-lg-9{margin-bottom:36px!important}.mb-lg-10{margin-bottom:40px!important}.mb-lg-11{margin-bottom:44px!important}.mb-lg-12{margin-bottom:48px!important}.mb-lg-13{margin-bottom:52px!important}.mb-lg-14{margin-bottom:56px!important}.mb-lg-15{margin-bottom:60px!important}.mb-lg-16{margin-bottom:64px!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-0{margin-left:0!important}.ml-lg-1{margin-left:4px!important}.ml-lg-2{margin-left:8px!important}.ml-lg-3{margin-left:12px!important}.ml-lg-4{margin-left:16px!important}.ml-lg-5{margin-left:20px!important}.ml-lg-6{margin-left:24px!important}.ml-lg-7{margin-left:28px!important}.ml-lg-8{margin-left:32px!important}.ml-lg-9{margin-left:36px!important}.ml-lg-10{margin-left:40px!important}.ml-lg-11{margin-left:44px!important}.ml-lg-12{margin-left:48px!important}.ml-lg-13{margin-left:52px!important}.ml-lg-14{margin-left:56px!important}.ml-lg-15{margin-left:60px!important}.ml-lg-16{margin-left:64px!important}.ml-lg-auto{margin-left:auto!important}.ms-lg-0{margin-inline-start:0px!important}.ms-lg-1{margin-inline-start:4px!important}.ms-lg-2{margin-inline-start:8px!important}.ms-lg-3{margin-inline-start:12px!important}.ms-lg-4{margin-inline-start:16px!important}.ms-lg-5{margin-inline-start:20px!important}.ms-lg-6{margin-inline-start:24px!important}.ms-lg-7{margin-inline-start:28px!important}.ms-lg-8{margin-inline-start:32px!important}.ms-lg-9{margin-inline-start:36px!important}.ms-lg-10{margin-inline-start:40px!important}.ms-lg-11{margin-inline-start:44px!important}.ms-lg-12{margin-inline-start:48px!important}.ms-lg-13{margin-inline-start:52px!important}.ms-lg-14{margin-inline-start:56px!important}.ms-lg-15{margin-inline-start:60px!important}.ms-lg-16{margin-inline-start:64px!important}.ms-lg-auto{margin-inline-start:auto!important}.me-lg-0{margin-inline-end:0px!important}.me-lg-1{margin-inline-end:4px!important}.me-lg-2{margin-inline-end:8px!important}.me-lg-3{margin-inline-end:12px!important}.me-lg-4{margin-inline-end:16px!important}.me-lg-5{margin-inline-end:20px!important}.me-lg-6{margin-inline-end:24px!important}.me-lg-7{margin-inline-end:28px!important}.me-lg-8{margin-inline-end:32px!important}.me-lg-9{margin-inline-end:36px!important}.me-lg-10{margin-inline-end:40px!important}.me-lg-11{margin-inline-end:44px!important}.me-lg-12{margin-inline-end:48px!important}.me-lg-13{margin-inline-end:52px!important}.me-lg-14{margin-inline-end:56px!important}.me-lg-15{margin-inline-end:60px!important}.me-lg-16{margin-inline-end:64px!important}.me-lg-auto{margin-inline-end:auto!important}.ma-lg-n1{margin:-4px!important}.ma-lg-n2{margin:-8px!important}.ma-lg-n3{margin:-12px!important}.ma-lg-n4{margin:-16px!important}.ma-lg-n5{margin:-20px!important}.ma-lg-n6{margin:-24px!important}.ma-lg-n7{margin:-28px!important}.ma-lg-n8{margin:-32px!important}.ma-lg-n9{margin:-36px!important}.ma-lg-n10{margin:-40px!important}.ma-lg-n11{margin:-44px!important}.ma-lg-n12{margin:-48px!important}.ma-lg-n13{margin:-52px!important}.ma-lg-n14{margin:-56px!important}.ma-lg-n15{margin:-60px!important}.ma-lg-n16{margin:-64px!important}.mx-lg-n1{margin-right:-4px!important;margin-left:-4px!important}.mx-lg-n2{margin-right:-8px!important;margin-left:-8px!important}.mx-lg-n3{margin-right:-12px!important;margin-left:-12px!important}.mx-lg-n4{margin-right:-16px!important;margin-left:-16px!important}.mx-lg-n5{margin-right:-20px!important;margin-left:-20px!important}.mx-lg-n6{margin-right:-24px!important;margin-left:-24px!important}.mx-lg-n7{margin-right:-28px!important;margin-left:-28px!important}.mx-lg-n8{margin-right:-32px!important;margin-left:-32px!important}.mx-lg-n9{margin-right:-36px!important;margin-left:-36px!important}.mx-lg-n10{margin-right:-40px!important;margin-left:-40px!important}.mx-lg-n11{margin-right:-44px!important;margin-left:-44px!important}.mx-lg-n12{margin-right:-48px!important;margin-left:-48px!important}.mx-lg-n13{margin-right:-52px!important;margin-left:-52px!important}.mx-lg-n14{margin-right:-56px!important;margin-left:-56px!important}.mx-lg-n15{margin-right:-60px!important;margin-left:-60px!important}.mx-lg-n16{margin-right:-64px!important;margin-left:-64px!important}.my-lg-n1{margin-top:-4px!important;margin-bottom:-4px!important}.my-lg-n2{margin-top:-8px!important;margin-bottom:-8px!important}.my-lg-n3{margin-top:-12px!important;margin-bottom:-12px!important}.my-lg-n4{margin-top:-16px!important;margin-bottom:-16px!important}.my-lg-n5{margin-top:-20px!important;margin-bottom:-20px!important}.my-lg-n6{margin-top:-24px!important;margin-bottom:-24px!important}.my-lg-n7{margin-top:-28px!important;margin-bottom:-28px!important}.my-lg-n8{margin-top:-32px!important;margin-bottom:-32px!important}.my-lg-n9{margin-top:-36px!important;margin-bottom:-36px!important}.my-lg-n10{margin-top:-40px!important;margin-bottom:-40px!important}.my-lg-n11{margin-top:-44px!important;margin-bottom:-44px!important}.my-lg-n12{margin-top:-48px!important;margin-bottom:-48px!important}.my-lg-n13{margin-top:-52px!important;margin-bottom:-52px!important}.my-lg-n14{margin-top:-56px!important;margin-bottom:-56px!important}.my-lg-n15{margin-top:-60px!important;margin-bottom:-60px!important}.my-lg-n16{margin-top:-64px!important;margin-bottom:-64px!important}.mt-lg-n1{margin-top:-4px!important}.mt-lg-n2{margin-top:-8px!important}.mt-lg-n3{margin-top:-12px!important}.mt-lg-n4{margin-top:-16px!important}.mt-lg-n5{margin-top:-20px!important}.mt-lg-n6{margin-top:-24px!important}.mt-lg-n7{margin-top:-28px!important}.mt-lg-n8{margin-top:-32px!important}.mt-lg-n9{margin-top:-36px!important}.mt-lg-n10{margin-top:-40px!important}.mt-lg-n11{margin-top:-44px!important}.mt-lg-n12{margin-top:-48px!important}.mt-lg-n13{margin-top:-52px!important}.mt-lg-n14{margin-top:-56px!important}.mt-lg-n15{margin-top:-60px!important}.mt-lg-n16{margin-top:-64px!important}.mr-lg-n1{margin-right:-4px!important}.mr-lg-n2{margin-right:-8px!important}.mr-lg-n3{margin-right:-12px!important}.mr-lg-n4{margin-right:-16px!important}.mr-lg-n5{margin-right:-20px!important}.mr-lg-n6{margin-right:-24px!important}.mr-lg-n7{margin-right:-28px!important}.mr-lg-n8{margin-right:-32px!important}.mr-lg-n9{margin-right:-36px!important}.mr-lg-n10{margin-right:-40px!important}.mr-lg-n11{margin-right:-44px!important}.mr-lg-n12{margin-right:-48px!important}.mr-lg-n13{margin-right:-52px!important}.mr-lg-n14{margin-right:-56px!important}.mr-lg-n15{margin-right:-60px!important}.mr-lg-n16{margin-right:-64px!important}.mb-lg-n1{margin-bottom:-4px!important}.mb-lg-n2{margin-bottom:-8px!important}.mb-lg-n3{margin-bottom:-12px!important}.mb-lg-n4{margin-bottom:-16px!important}.mb-lg-n5{margin-bottom:-20px!important}.mb-lg-n6{margin-bottom:-24px!important}.mb-lg-n7{margin-bottom:-28px!important}.mb-lg-n8{margin-bottom:-32px!important}.mb-lg-n9{margin-bottom:-36px!important}.mb-lg-n10{margin-bottom:-40px!important}.mb-lg-n11{margin-bottom:-44px!important}.mb-lg-n12{margin-bottom:-48px!important}.mb-lg-n13{margin-bottom:-52px!important}.mb-lg-n14{margin-bottom:-56px!important}.mb-lg-n15{margin-bottom:-60px!important}.mb-lg-n16{margin-bottom:-64px!important}.ml-lg-n1{margin-left:-4px!important}.ml-lg-n2{margin-left:-8px!important}.ml-lg-n3{margin-left:-12px!important}.ml-lg-n4{margin-left:-16px!important}.ml-lg-n5{margin-left:-20px!important}.ml-lg-n6{margin-left:-24px!important}.ml-lg-n7{margin-left:-28px!important}.ml-lg-n8{margin-left:-32px!important}.ml-lg-n9{margin-left:-36px!important}.ml-lg-n10{margin-left:-40px!important}.ml-lg-n11{margin-left:-44px!important}.ml-lg-n12{margin-left:-48px!important}.ml-lg-n13{margin-left:-52px!important}.ml-lg-n14{margin-left:-56px!important}.ml-lg-n15{margin-left:-60px!important}.ml-lg-n16{margin-left:-64px!important}.ms-lg-n1{margin-inline-start:-4px!important}.ms-lg-n2{margin-inline-start:-8px!important}.ms-lg-n3{margin-inline-start:-12px!important}.ms-lg-n4{margin-inline-start:-16px!important}.ms-lg-n5{margin-inline-start:-20px!important}.ms-lg-n6{margin-inline-start:-24px!important}.ms-lg-n7{margin-inline-start:-28px!important}.ms-lg-n8{margin-inline-start:-32px!important}.ms-lg-n9{margin-inline-start:-36px!important}.ms-lg-n10{margin-inline-start:-40px!important}.ms-lg-n11{margin-inline-start:-44px!important}.ms-lg-n12{margin-inline-start:-48px!important}.ms-lg-n13{margin-inline-start:-52px!important}.ms-lg-n14{margin-inline-start:-56px!important}.ms-lg-n15{margin-inline-start:-60px!important}.ms-lg-n16{margin-inline-start:-64px!important}.me-lg-n1{margin-inline-end:-4px!important}.me-lg-n2{margin-inline-end:-8px!important}.me-lg-n3{margin-inline-end:-12px!important}.me-lg-n4{margin-inline-end:-16px!important}.me-lg-n5{margin-inline-end:-20px!important}.me-lg-n6{margin-inline-end:-24px!important}.me-lg-n7{margin-inline-end:-28px!important}.me-lg-n8{margin-inline-end:-32px!important}.me-lg-n9{margin-inline-end:-36px!important}.me-lg-n10{margin-inline-end:-40px!important}.me-lg-n11{margin-inline-end:-44px!important}.me-lg-n12{margin-inline-end:-48px!important}.me-lg-n13{margin-inline-end:-52px!important}.me-lg-n14{margin-inline-end:-56px!important}.me-lg-n15{margin-inline-end:-60px!important}.me-lg-n16{margin-inline-end:-64px!important}.pa-lg-0{padding:0!important}.pa-lg-1{padding:4px!important}.pa-lg-2{padding:8px!important}.pa-lg-3{padding:12px!important}.pa-lg-4{padding:16px!important}.pa-lg-5{padding:20px!important}.pa-lg-6{padding:24px!important}.pa-lg-7{padding:28px!important}.pa-lg-8{padding:32px!important}.pa-lg-9{padding:36px!important}.pa-lg-10{padding:40px!important}.pa-lg-11{padding:44px!important}.pa-lg-12{padding:48px!important}.pa-lg-13{padding:52px!important}.pa-lg-14{padding:56px!important}.pa-lg-15{padding:60px!important}.pa-lg-16{padding:64px!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:4px!important;padding-left:4px!important}.px-lg-2{padding-right:8px!important;padding-left:8px!important}.px-lg-3{padding-right:12px!important;padding-left:12px!important}.px-lg-4{padding-right:16px!important;padding-left:16px!important}.px-lg-5{padding-right:20px!important;padding-left:20px!important}.px-lg-6{padding-right:24px!important;padding-left:24px!important}.px-lg-7{padding-right:28px!important;padding-left:28px!important}.px-lg-8{padding-right:32px!important;padding-left:32px!important}.px-lg-9{padding-right:36px!important;padding-left:36px!important}.px-lg-10{padding-right:40px!important;padding-left:40px!important}.px-lg-11{padding-right:44px!important;padding-left:44px!important}.px-lg-12{padding-right:48px!important;padding-left:48px!important}.px-lg-13{padding-right:52px!important;padding-left:52px!important}.px-lg-14{padding-right:56px!important;padding-left:56px!important}.px-lg-15{padding-right:60px!important;padding-left:60px!important}.px-lg-16{padding-right:64px!important;padding-left:64px!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:4px!important;padding-bottom:4px!important}.py-lg-2{padding-top:8px!important;padding-bottom:8px!important}.py-lg-3{padding-top:12px!important;padding-bottom:12px!important}.py-lg-4{padding-top:16px!important;padding-bottom:16px!important}.py-lg-5{padding-top:20px!important;padding-bottom:20px!important}.py-lg-6{padding-top:24px!important;padding-bottom:24px!important}.py-lg-7{padding-top:28px!important;padding-bottom:28px!important}.py-lg-8{padding-top:32px!important;padding-bottom:32px!important}.py-lg-9{padding-top:36px!important;padding-bottom:36px!important}.py-lg-10{padding-top:40px!important;padding-bottom:40px!important}.py-lg-11{padding-top:44px!important;padding-bottom:44px!important}.py-lg-12{padding-top:48px!important;padding-bottom:48px!important}.py-lg-13{padding-top:52px!important;padding-bottom:52px!important}.py-lg-14{padding-top:56px!important;padding-bottom:56px!important}.py-lg-15{padding-top:60px!important;padding-bottom:60px!important}.py-lg-16{padding-top:64px!important;padding-bottom:64px!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:4px!important}.pt-lg-2{padding-top:8px!important}.pt-lg-3{padding-top:12px!important}.pt-lg-4{padding-top:16px!important}.pt-lg-5{padding-top:20px!important}.pt-lg-6{padding-top:24px!important}.pt-lg-7{padding-top:28px!important}.pt-lg-8{padding-top:32px!important}.pt-lg-9{padding-top:36px!important}.pt-lg-10{padding-top:40px!important}.pt-lg-11{padding-top:44px!important}.pt-lg-12{padding-top:48px!important}.pt-lg-13{padding-top:52px!important}.pt-lg-14{padding-top:56px!important}.pt-lg-15{padding-top:60px!important}.pt-lg-16{padding-top:64px!important}.pr-lg-0{padding-right:0!important}.pr-lg-1{padding-right:4px!important}.pr-lg-2{padding-right:8px!important}.pr-lg-3{padding-right:12px!important}.pr-lg-4{padding-right:16px!important}.pr-lg-5{padding-right:20px!important}.pr-lg-6{padding-right:24px!important}.pr-lg-7{padding-right:28px!important}.pr-lg-8{padding-right:32px!important}.pr-lg-9{padding-right:36px!important}.pr-lg-10{padding-right:40px!important}.pr-lg-11{padding-right:44px!important}.pr-lg-12{padding-right:48px!important}.pr-lg-13{padding-right:52px!important}.pr-lg-14{padding-right:56px!important}.pr-lg-15{padding-right:60px!important}.pr-lg-16{padding-right:64px!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:4px!important}.pb-lg-2{padding-bottom:8px!important}.pb-lg-3{padding-bottom:12px!important}.pb-lg-4{padding-bottom:16px!important}.pb-lg-5{padding-bottom:20px!important}.pb-lg-6{padding-bottom:24px!important}.pb-lg-7{padding-bottom:28px!important}.pb-lg-8{padding-bottom:32px!important}.pb-lg-9{padding-bottom:36px!important}.pb-lg-10{padding-bottom:40px!important}.pb-lg-11{padding-bottom:44px!important}.pb-lg-12{padding-bottom:48px!important}.pb-lg-13{padding-bottom:52px!important}.pb-lg-14{padding-bottom:56px!important}.pb-lg-15{padding-bottom:60px!important}.pb-lg-16{padding-bottom:64px!important}.pl-lg-0{padding-left:0!important}.pl-lg-1{padding-left:4px!important}.pl-lg-2{padding-left:8px!important}.pl-lg-3{padding-left:12px!important}.pl-lg-4{padding-left:16px!important}.pl-lg-5{padding-left:20px!important}.pl-lg-6{padding-left:24px!important}.pl-lg-7{padding-left:28px!important}.pl-lg-8{padding-left:32px!important}.pl-lg-9{padding-left:36px!important}.pl-lg-10{padding-left:40px!important}.pl-lg-11{padding-left:44px!important}.pl-lg-12{padding-left:48px!important}.pl-lg-13{padding-left:52px!important}.pl-lg-14{padding-left:56px!important}.pl-lg-15{padding-left:60px!important}.pl-lg-16{padding-left:64px!important}.ps-lg-0{padding-inline-start:0px!important}.ps-lg-1{padding-inline-start:4px!important}.ps-lg-2{padding-inline-start:8px!important}.ps-lg-3{padding-inline-start:12px!important}.ps-lg-4{padding-inline-start:16px!important}.ps-lg-5{padding-inline-start:20px!important}.ps-lg-6{padding-inline-start:24px!important}.ps-lg-7{padding-inline-start:28px!important}.ps-lg-8{padding-inline-start:32px!important}.ps-lg-9{padding-inline-start:36px!important}.ps-lg-10{padding-inline-start:40px!important}.ps-lg-11{padding-inline-start:44px!important}.ps-lg-12{padding-inline-start:48px!important}.ps-lg-13{padding-inline-start:52px!important}.ps-lg-14{padding-inline-start:56px!important}.ps-lg-15{padding-inline-start:60px!important}.ps-lg-16{padding-inline-start:64px!important}.pe-lg-0{padding-inline-end:0px!important}.pe-lg-1{padding-inline-end:4px!important}.pe-lg-2{padding-inline-end:8px!important}.pe-lg-3{padding-inline-end:12px!important}.pe-lg-4{padding-inline-end:16px!important}.pe-lg-5{padding-inline-end:20px!important}.pe-lg-6{padding-inline-end:24px!important}.pe-lg-7{padding-inline-end:28px!important}.pe-lg-8{padding-inline-end:32px!important}.pe-lg-9{padding-inline-end:36px!important}.pe-lg-10{padding-inline-end:40px!important}.pe-lg-11{padding-inline-end:44px!important}.pe-lg-12{padding-inline-end:48px!important}.pe-lg-13{padding-inline-end:52px!important}.pe-lg-14{padding-inline-end:56px!important}.pe-lg-15{padding-inline-end:60px!important}.pe-lg-16{padding-inline-end:64px!important}.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}.text-lg-justify{text-align:justify!important}.text-lg-start{text-align:start!important}.text-lg-end{text-align:end!important}.text-lg-h1{font-size:6rem!important;font-weight:300;line-height:1;letter-spacing:-.015625em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-h2{font-size:3.75rem!important;font-weight:300;line-height:1;letter-spacing:-.0083333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-h3{font-size:3rem!important;font-weight:400;line-height:1.05;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-h4{font-size:2.125rem!important;font-weight:400;line-height:1.175;letter-spacing:.0073529412em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-h5{font-size:1.5rem!important;font-weight:400;line-height:1.333;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-h6{font-size:1.25rem!important;font-weight:500;line-height:1.6;letter-spacing:.0125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-subtitle-1{font-size:1rem!important;font-weight:400;line-height:1.75;letter-spacing:.009375em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-subtitle-2{font-size:.875rem!important;font-weight:500;line-height:1.6;letter-spacing:.0071428571em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-body-1{font-size:1rem!important;font-weight:400;line-height:1.5;letter-spacing:.03125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-body-2{font-size:.875rem!important;font-weight:400;line-height:1.425;letter-spacing:.0178571429em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-button{font-size:.875rem!important;font-weight:500;line-height:2.6;letter-spacing:.0892857143em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.text-lg-caption{font-size:.75rem!important;font-weight:400;line-height:1.667;letter-spacing:.0333333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-overline{font-size:.75rem!important;font-weight:500;line-height:2.667;letter-spacing:.1666666667em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.h-lg-auto{height:auto!important}.h-lg-screen{height:100vh!important}.h-lg-0{height:0!important}.h-lg-25{height:25%!important}.h-lg-50{height:50%!important}.h-lg-75{height:75%!important}.h-lg-100{height:100%!important}.w-lg-auto{width:auto!important}.w-lg-0{width:0!important}.w-lg-25{width:25%!important}.w-lg-33{width:33%!important}.w-lg-50{width:50%!important}.w-lg-66{width:66%!important}.w-lg-75{width:75%!important}.w-lg-100{width:100%!important}}@media (min-width: 1920px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.float-xl-none{float:none!important}.float-xl-left{float:left!important}.float-xl-right{float:right!important}.v-locale--is-rtl .float-xl-end{float:left!important}.v-locale--is-rtl .float-xl-start,.v-locale--is-ltr .float-xl-end{float:right!important}.v-locale--is-ltr .float-xl-start{float:left!important}.flex-xl-fill,.flex-xl-1-1{flex:1 1 auto!important}.flex-xl-1-0{flex:1 0 auto!important}.flex-xl-0-1{flex:0 1 auto!important}.flex-xl-0-0{flex:0 0 auto!important}.flex-xl-1-1-100{flex:1 1 100%!important}.flex-xl-1-0-100{flex:1 0 100%!important}.flex-xl-0-1-100{flex:0 1 100%!important}.flex-xl-0-0-100{flex:0 0 100%!important}.flex-xl-1-1-0{flex:1 1 0!important}.flex-xl-1-0-0{flex:1 0 0!important}.flex-xl-0-1-0{flex:0 1 0!important}.flex-xl-0-0-0{flex:0 0 0!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-xl-start{justify-content:flex-start!important}.justify-xl-end{justify-content:flex-end!important}.justify-xl-center{justify-content:center!important}.justify-xl-space-between{justify-content:space-between!important}.justify-xl-space-around{justify-content:space-around!important}.justify-xl-space-evenly{justify-content:space-evenly!important}.justify-items-xl-start{justify-items:flex-start!important}.justify-items-xl-end{justify-items:flex-end!important}.justify-items-xl-center{justify-items:center!important}.justify-items-xl-stretch{justify-items:stretch!important}.align-xl-start{align-items:flex-start!important}.align-xl-end{align-items:flex-end!important}.align-xl-center{align-items:center!important}.align-xl-baseline{align-items:baseline!important}.align-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-space-between{align-content:space-between!important}.align-content-xl-space-around{align-content:space-around!important}.align-content-xl-space-evenly{align-content:space-evenly!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-6{order:6!important}.order-xl-7{order:7!important}.order-xl-8{order:8!important}.order-xl-9{order:9!important}.order-xl-10{order:10!important}.order-xl-11{order:11!important}.order-xl-12{order:12!important}.order-xl-last{order:13!important}.ga-xl-0{gap:0px!important}.ga-xl-1{gap:4px!important}.ga-xl-2{gap:8px!important}.ga-xl-3{gap:12px!important}.ga-xl-4{gap:16px!important}.ga-xl-5{gap:20px!important}.ga-xl-6{gap:24px!important}.ga-xl-7{gap:28px!important}.ga-xl-8{gap:32px!important}.ga-xl-9{gap:36px!important}.ga-xl-10{gap:40px!important}.ga-xl-11{gap:44px!important}.ga-xl-12{gap:48px!important}.ga-xl-13{gap:52px!important}.ga-xl-14{gap:56px!important}.ga-xl-15{gap:60px!important}.ga-xl-16{gap:64px!important}.ga-xl-auto{gap:auto!important}.gr-xl-0{row-gap:0px!important}.gr-xl-1{row-gap:4px!important}.gr-xl-2{row-gap:8px!important}.gr-xl-3{row-gap:12px!important}.gr-xl-4{row-gap:16px!important}.gr-xl-5{row-gap:20px!important}.gr-xl-6{row-gap:24px!important}.gr-xl-7{row-gap:28px!important}.gr-xl-8{row-gap:32px!important}.gr-xl-9{row-gap:36px!important}.gr-xl-10{row-gap:40px!important}.gr-xl-11{row-gap:44px!important}.gr-xl-12{row-gap:48px!important}.gr-xl-13{row-gap:52px!important}.gr-xl-14{row-gap:56px!important}.gr-xl-15{row-gap:60px!important}.gr-xl-16{row-gap:64px!important}.gr-xl-auto{row-gap:auto!important}.gc-xl-0{column-gap:0px!important}.gc-xl-1{column-gap:4px!important}.gc-xl-2{column-gap:8px!important}.gc-xl-3{column-gap:12px!important}.gc-xl-4{column-gap:16px!important}.gc-xl-5{column-gap:20px!important}.gc-xl-6{column-gap:24px!important}.gc-xl-7{column-gap:28px!important}.gc-xl-8{column-gap:32px!important}.gc-xl-9{column-gap:36px!important}.gc-xl-10{column-gap:40px!important}.gc-xl-11{column-gap:44px!important}.gc-xl-12{column-gap:48px!important}.gc-xl-13{column-gap:52px!important}.gc-xl-14{column-gap:56px!important}.gc-xl-15{column-gap:60px!important}.gc-xl-16{column-gap:64px!important}.gc-xl-auto{column-gap:auto!important}.ma-xl-0{margin:0!important}.ma-xl-1{margin:4px!important}.ma-xl-2{margin:8px!important}.ma-xl-3{margin:12px!important}.ma-xl-4{margin:16px!important}.ma-xl-5{margin:20px!important}.ma-xl-6{margin:24px!important}.ma-xl-7{margin:28px!important}.ma-xl-8{margin:32px!important}.ma-xl-9{margin:36px!important}.ma-xl-10{margin:40px!important}.ma-xl-11{margin:44px!important}.ma-xl-12{margin:48px!important}.ma-xl-13{margin:52px!important}.ma-xl-14{margin:56px!important}.ma-xl-15{margin:60px!important}.ma-xl-16{margin:64px!important}.ma-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:4px!important;margin-left:4px!important}.mx-xl-2{margin-right:8px!important;margin-left:8px!important}.mx-xl-3{margin-right:12px!important;margin-left:12px!important}.mx-xl-4{margin-right:16px!important;margin-left:16px!important}.mx-xl-5{margin-right:20px!important;margin-left:20px!important}.mx-xl-6{margin-right:24px!important;margin-left:24px!important}.mx-xl-7{margin-right:28px!important;margin-left:28px!important}.mx-xl-8{margin-right:32px!important;margin-left:32px!important}.mx-xl-9{margin-right:36px!important;margin-left:36px!important}.mx-xl-10{margin-right:40px!important;margin-left:40px!important}.mx-xl-11{margin-right:44px!important;margin-left:44px!important}.mx-xl-12{margin-right:48px!important;margin-left:48px!important}.mx-xl-13{margin-right:52px!important;margin-left:52px!important}.mx-xl-14{margin-right:56px!important;margin-left:56px!important}.mx-xl-15{margin-right:60px!important;margin-left:60px!important}.mx-xl-16{margin-right:64px!important;margin-left:64px!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:4px!important;margin-bottom:4px!important}.my-xl-2{margin-top:8px!important;margin-bottom:8px!important}.my-xl-3{margin-top:12px!important;margin-bottom:12px!important}.my-xl-4{margin-top:16px!important;margin-bottom:16px!important}.my-xl-5{margin-top:20px!important;margin-bottom:20px!important}.my-xl-6{margin-top:24px!important;margin-bottom:24px!important}.my-xl-7{margin-top:28px!important;margin-bottom:28px!important}.my-xl-8{margin-top:32px!important;margin-bottom:32px!important}.my-xl-9{margin-top:36px!important;margin-bottom:36px!important}.my-xl-10{margin-top:40px!important;margin-bottom:40px!important}.my-xl-11{margin-top:44px!important;margin-bottom:44px!important}.my-xl-12{margin-top:48px!important;margin-bottom:48px!important}.my-xl-13{margin-top:52px!important;margin-bottom:52px!important}.my-xl-14{margin-top:56px!important;margin-bottom:56px!important}.my-xl-15{margin-top:60px!important;margin-bottom:60px!important}.my-xl-16{margin-top:64px!important;margin-bottom:64px!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:4px!important}.mt-xl-2{margin-top:8px!important}.mt-xl-3{margin-top:12px!important}.mt-xl-4{margin-top:16px!important}.mt-xl-5{margin-top:20px!important}.mt-xl-6{margin-top:24px!important}.mt-xl-7{margin-top:28px!important}.mt-xl-8{margin-top:32px!important}.mt-xl-9{margin-top:36px!important}.mt-xl-10{margin-top:40px!important}.mt-xl-11{margin-top:44px!important}.mt-xl-12{margin-top:48px!important}.mt-xl-13{margin-top:52px!important}.mt-xl-14{margin-top:56px!important}.mt-xl-15{margin-top:60px!important}.mt-xl-16{margin-top:64px!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-0{margin-right:0!important}.mr-xl-1{margin-right:4px!important}.mr-xl-2{margin-right:8px!important}.mr-xl-3{margin-right:12px!important}.mr-xl-4{margin-right:16px!important}.mr-xl-5{margin-right:20px!important}.mr-xl-6{margin-right:24px!important}.mr-xl-7{margin-right:28px!important}.mr-xl-8{margin-right:32px!important}.mr-xl-9{margin-right:36px!important}.mr-xl-10{margin-right:40px!important}.mr-xl-11{margin-right:44px!important}.mr-xl-12{margin-right:48px!important}.mr-xl-13{margin-right:52px!important}.mr-xl-14{margin-right:56px!important}.mr-xl-15{margin-right:60px!important}.mr-xl-16{margin-right:64px!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:4px!important}.mb-xl-2{margin-bottom:8px!important}.mb-xl-3{margin-bottom:12px!important}.mb-xl-4{margin-bottom:16px!important}.mb-xl-5{margin-bottom:20px!important}.mb-xl-6{margin-bottom:24px!important}.mb-xl-7{margin-bottom:28px!important}.mb-xl-8{margin-bottom:32px!important}.mb-xl-9{margin-bottom:36px!important}.mb-xl-10{margin-bottom:40px!important}.mb-xl-11{margin-bottom:44px!important}.mb-xl-12{margin-bottom:48px!important}.mb-xl-13{margin-bottom:52px!important}.mb-xl-14{margin-bottom:56px!important}.mb-xl-15{margin-bottom:60px!important}.mb-xl-16{margin-bottom:64px!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-0{margin-left:0!important}.ml-xl-1{margin-left:4px!important}.ml-xl-2{margin-left:8px!important}.ml-xl-3{margin-left:12px!important}.ml-xl-4{margin-left:16px!important}.ml-xl-5{margin-left:20px!important}.ml-xl-6{margin-left:24px!important}.ml-xl-7{margin-left:28px!important}.ml-xl-8{margin-left:32px!important}.ml-xl-9{margin-left:36px!important}.ml-xl-10{margin-left:40px!important}.ml-xl-11{margin-left:44px!important}.ml-xl-12{margin-left:48px!important}.ml-xl-13{margin-left:52px!important}.ml-xl-14{margin-left:56px!important}.ml-xl-15{margin-left:60px!important}.ml-xl-16{margin-left:64px!important}.ml-xl-auto{margin-left:auto!important}.ms-xl-0{margin-inline-start:0px!important}.ms-xl-1{margin-inline-start:4px!important}.ms-xl-2{margin-inline-start:8px!important}.ms-xl-3{margin-inline-start:12px!important}.ms-xl-4{margin-inline-start:16px!important}.ms-xl-5{margin-inline-start:20px!important}.ms-xl-6{margin-inline-start:24px!important}.ms-xl-7{margin-inline-start:28px!important}.ms-xl-8{margin-inline-start:32px!important}.ms-xl-9{margin-inline-start:36px!important}.ms-xl-10{margin-inline-start:40px!important}.ms-xl-11{margin-inline-start:44px!important}.ms-xl-12{margin-inline-start:48px!important}.ms-xl-13{margin-inline-start:52px!important}.ms-xl-14{margin-inline-start:56px!important}.ms-xl-15{margin-inline-start:60px!important}.ms-xl-16{margin-inline-start:64px!important}.ms-xl-auto{margin-inline-start:auto!important}.me-xl-0{margin-inline-end:0px!important}.me-xl-1{margin-inline-end:4px!important}.me-xl-2{margin-inline-end:8px!important}.me-xl-3{margin-inline-end:12px!important}.me-xl-4{margin-inline-end:16px!important}.me-xl-5{margin-inline-end:20px!important}.me-xl-6{margin-inline-end:24px!important}.me-xl-7{margin-inline-end:28px!important}.me-xl-8{margin-inline-end:32px!important}.me-xl-9{margin-inline-end:36px!important}.me-xl-10{margin-inline-end:40px!important}.me-xl-11{margin-inline-end:44px!important}.me-xl-12{margin-inline-end:48px!important}.me-xl-13{margin-inline-end:52px!important}.me-xl-14{margin-inline-end:56px!important}.me-xl-15{margin-inline-end:60px!important}.me-xl-16{margin-inline-end:64px!important}.me-xl-auto{margin-inline-end:auto!important}.ma-xl-n1{margin:-4px!important}.ma-xl-n2{margin:-8px!important}.ma-xl-n3{margin:-12px!important}.ma-xl-n4{margin:-16px!important}.ma-xl-n5{margin:-20px!important}.ma-xl-n6{margin:-24px!important}.ma-xl-n7{margin:-28px!important}.ma-xl-n8{margin:-32px!important}.ma-xl-n9{margin:-36px!important}.ma-xl-n10{margin:-40px!important}.ma-xl-n11{margin:-44px!important}.ma-xl-n12{margin:-48px!important}.ma-xl-n13{margin:-52px!important}.ma-xl-n14{margin:-56px!important}.ma-xl-n15{margin:-60px!important}.ma-xl-n16{margin:-64px!important}.mx-xl-n1{margin-right:-4px!important;margin-left:-4px!important}.mx-xl-n2{margin-right:-8px!important;margin-left:-8px!important}.mx-xl-n3{margin-right:-12px!important;margin-left:-12px!important}.mx-xl-n4{margin-right:-16px!important;margin-left:-16px!important}.mx-xl-n5{margin-right:-20px!important;margin-left:-20px!important}.mx-xl-n6{margin-right:-24px!important;margin-left:-24px!important}.mx-xl-n7{margin-right:-28px!important;margin-left:-28px!important}.mx-xl-n8{margin-right:-32px!important;margin-left:-32px!important}.mx-xl-n9{margin-right:-36px!important;margin-left:-36px!important}.mx-xl-n10{margin-right:-40px!important;margin-left:-40px!important}.mx-xl-n11{margin-right:-44px!important;margin-left:-44px!important}.mx-xl-n12{margin-right:-48px!important;margin-left:-48px!important}.mx-xl-n13{margin-right:-52px!important;margin-left:-52px!important}.mx-xl-n14{margin-right:-56px!important;margin-left:-56px!important}.mx-xl-n15{margin-right:-60px!important;margin-left:-60px!important}.mx-xl-n16{margin-right:-64px!important;margin-left:-64px!important}.my-xl-n1{margin-top:-4px!important;margin-bottom:-4px!important}.my-xl-n2{margin-top:-8px!important;margin-bottom:-8px!important}.my-xl-n3{margin-top:-12px!important;margin-bottom:-12px!important}.my-xl-n4{margin-top:-16px!important;margin-bottom:-16px!important}.my-xl-n5{margin-top:-20px!important;margin-bottom:-20px!important}.my-xl-n6{margin-top:-24px!important;margin-bottom:-24px!important}.my-xl-n7{margin-top:-28px!important;margin-bottom:-28px!important}.my-xl-n8{margin-top:-32px!important;margin-bottom:-32px!important}.my-xl-n9{margin-top:-36px!important;margin-bottom:-36px!important}.my-xl-n10{margin-top:-40px!important;margin-bottom:-40px!important}.my-xl-n11{margin-top:-44px!important;margin-bottom:-44px!important}.my-xl-n12{margin-top:-48px!important;margin-bottom:-48px!important}.my-xl-n13{margin-top:-52px!important;margin-bottom:-52px!important}.my-xl-n14{margin-top:-56px!important;margin-bottom:-56px!important}.my-xl-n15{margin-top:-60px!important;margin-bottom:-60px!important}.my-xl-n16{margin-top:-64px!important;margin-bottom:-64px!important}.mt-xl-n1{margin-top:-4px!important}.mt-xl-n2{margin-top:-8px!important}.mt-xl-n3{margin-top:-12px!important}.mt-xl-n4{margin-top:-16px!important}.mt-xl-n5{margin-top:-20px!important}.mt-xl-n6{margin-top:-24px!important}.mt-xl-n7{margin-top:-28px!important}.mt-xl-n8{margin-top:-32px!important}.mt-xl-n9{margin-top:-36px!important}.mt-xl-n10{margin-top:-40px!important}.mt-xl-n11{margin-top:-44px!important}.mt-xl-n12{margin-top:-48px!important}.mt-xl-n13{margin-top:-52px!important}.mt-xl-n14{margin-top:-56px!important}.mt-xl-n15{margin-top:-60px!important}.mt-xl-n16{margin-top:-64px!important}.mr-xl-n1{margin-right:-4px!important}.mr-xl-n2{margin-right:-8px!important}.mr-xl-n3{margin-right:-12px!important}.mr-xl-n4{margin-right:-16px!important}.mr-xl-n5{margin-right:-20px!important}.mr-xl-n6{margin-right:-24px!important}.mr-xl-n7{margin-right:-28px!important}.mr-xl-n8{margin-right:-32px!important}.mr-xl-n9{margin-right:-36px!important}.mr-xl-n10{margin-right:-40px!important}.mr-xl-n11{margin-right:-44px!important}.mr-xl-n12{margin-right:-48px!important}.mr-xl-n13{margin-right:-52px!important}.mr-xl-n14{margin-right:-56px!important}.mr-xl-n15{margin-right:-60px!important}.mr-xl-n16{margin-right:-64px!important}.mb-xl-n1{margin-bottom:-4px!important}.mb-xl-n2{margin-bottom:-8px!important}.mb-xl-n3{margin-bottom:-12px!important}.mb-xl-n4{margin-bottom:-16px!important}.mb-xl-n5{margin-bottom:-20px!important}.mb-xl-n6{margin-bottom:-24px!important}.mb-xl-n7{margin-bottom:-28px!important}.mb-xl-n8{margin-bottom:-32px!important}.mb-xl-n9{margin-bottom:-36px!important}.mb-xl-n10{margin-bottom:-40px!important}.mb-xl-n11{margin-bottom:-44px!important}.mb-xl-n12{margin-bottom:-48px!important}.mb-xl-n13{margin-bottom:-52px!important}.mb-xl-n14{margin-bottom:-56px!important}.mb-xl-n15{margin-bottom:-60px!important}.mb-xl-n16{margin-bottom:-64px!important}.ml-xl-n1{margin-left:-4px!important}.ml-xl-n2{margin-left:-8px!important}.ml-xl-n3{margin-left:-12px!important}.ml-xl-n4{margin-left:-16px!important}.ml-xl-n5{margin-left:-20px!important}.ml-xl-n6{margin-left:-24px!important}.ml-xl-n7{margin-left:-28px!important}.ml-xl-n8{margin-left:-32px!important}.ml-xl-n9{margin-left:-36px!important}.ml-xl-n10{margin-left:-40px!important}.ml-xl-n11{margin-left:-44px!important}.ml-xl-n12{margin-left:-48px!important}.ml-xl-n13{margin-left:-52px!important}.ml-xl-n14{margin-left:-56px!important}.ml-xl-n15{margin-left:-60px!important}.ml-xl-n16{margin-left:-64px!important}.ms-xl-n1{margin-inline-start:-4px!important}.ms-xl-n2{margin-inline-start:-8px!important}.ms-xl-n3{margin-inline-start:-12px!important}.ms-xl-n4{margin-inline-start:-16px!important}.ms-xl-n5{margin-inline-start:-20px!important}.ms-xl-n6{margin-inline-start:-24px!important}.ms-xl-n7{margin-inline-start:-28px!important}.ms-xl-n8{margin-inline-start:-32px!important}.ms-xl-n9{margin-inline-start:-36px!important}.ms-xl-n10{margin-inline-start:-40px!important}.ms-xl-n11{margin-inline-start:-44px!important}.ms-xl-n12{margin-inline-start:-48px!important}.ms-xl-n13{margin-inline-start:-52px!important}.ms-xl-n14{margin-inline-start:-56px!important}.ms-xl-n15{margin-inline-start:-60px!important}.ms-xl-n16{margin-inline-start:-64px!important}.me-xl-n1{margin-inline-end:-4px!important}.me-xl-n2{margin-inline-end:-8px!important}.me-xl-n3{margin-inline-end:-12px!important}.me-xl-n4{margin-inline-end:-16px!important}.me-xl-n5{margin-inline-end:-20px!important}.me-xl-n6{margin-inline-end:-24px!important}.me-xl-n7{margin-inline-end:-28px!important}.me-xl-n8{margin-inline-end:-32px!important}.me-xl-n9{margin-inline-end:-36px!important}.me-xl-n10{margin-inline-end:-40px!important}.me-xl-n11{margin-inline-end:-44px!important}.me-xl-n12{margin-inline-end:-48px!important}.me-xl-n13{margin-inline-end:-52px!important}.me-xl-n14{margin-inline-end:-56px!important}.me-xl-n15{margin-inline-end:-60px!important}.me-xl-n16{margin-inline-end:-64px!important}.pa-xl-0{padding:0!important}.pa-xl-1{padding:4px!important}.pa-xl-2{padding:8px!important}.pa-xl-3{padding:12px!important}.pa-xl-4{padding:16px!important}.pa-xl-5{padding:20px!important}.pa-xl-6{padding:24px!important}.pa-xl-7{padding:28px!important}.pa-xl-8{padding:32px!important}.pa-xl-9{padding:36px!important}.pa-xl-10{padding:40px!important}.pa-xl-11{padding:44px!important}.pa-xl-12{padding:48px!important}.pa-xl-13{padding:52px!important}.pa-xl-14{padding:56px!important}.pa-xl-15{padding:60px!important}.pa-xl-16{padding:64px!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:4px!important;padding-left:4px!important}.px-xl-2{padding-right:8px!important;padding-left:8px!important}.px-xl-3{padding-right:12px!important;padding-left:12px!important}.px-xl-4{padding-right:16px!important;padding-left:16px!important}.px-xl-5{padding-right:20px!important;padding-left:20px!important}.px-xl-6{padding-right:24px!important;padding-left:24px!important}.px-xl-7{padding-right:28px!important;padding-left:28px!important}.px-xl-8{padding-right:32px!important;padding-left:32px!important}.px-xl-9{padding-right:36px!important;padding-left:36px!important}.px-xl-10{padding-right:40px!important;padding-left:40px!important}.px-xl-11{padding-right:44px!important;padding-left:44px!important}.px-xl-12{padding-right:48px!important;padding-left:48px!important}.px-xl-13{padding-right:52px!important;padding-left:52px!important}.px-xl-14{padding-right:56px!important;padding-left:56px!important}.px-xl-15{padding-right:60px!important;padding-left:60px!important}.px-xl-16{padding-right:64px!important;padding-left:64px!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:4px!important;padding-bottom:4px!important}.py-xl-2{padding-top:8px!important;padding-bottom:8px!important}.py-xl-3{padding-top:12px!important;padding-bottom:12px!important}.py-xl-4{padding-top:16px!important;padding-bottom:16px!important}.py-xl-5{padding-top:20px!important;padding-bottom:20px!important}.py-xl-6{padding-top:24px!important;padding-bottom:24px!important}.py-xl-7{padding-top:28px!important;padding-bottom:28px!important}.py-xl-8{padding-top:32px!important;padding-bottom:32px!important}.py-xl-9{padding-top:36px!important;padding-bottom:36px!important}.py-xl-10{padding-top:40px!important;padding-bottom:40px!important}.py-xl-11{padding-top:44px!important;padding-bottom:44px!important}.py-xl-12{padding-top:48px!important;padding-bottom:48px!important}.py-xl-13{padding-top:52px!important;padding-bottom:52px!important}.py-xl-14{padding-top:56px!important;padding-bottom:56px!important}.py-xl-15{padding-top:60px!important;padding-bottom:60px!important}.py-xl-16{padding-top:64px!important;padding-bottom:64px!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:4px!important}.pt-xl-2{padding-top:8px!important}.pt-xl-3{padding-top:12px!important}.pt-xl-4{padding-top:16px!important}.pt-xl-5{padding-top:20px!important}.pt-xl-6{padding-top:24px!important}.pt-xl-7{padding-top:28px!important}.pt-xl-8{padding-top:32px!important}.pt-xl-9{padding-top:36px!important}.pt-xl-10{padding-top:40px!important}.pt-xl-11{padding-top:44px!important}.pt-xl-12{padding-top:48px!important}.pt-xl-13{padding-top:52px!important}.pt-xl-14{padding-top:56px!important}.pt-xl-15{padding-top:60px!important}.pt-xl-16{padding-top:64px!important}.pr-xl-0{padding-right:0!important}.pr-xl-1{padding-right:4px!important}.pr-xl-2{padding-right:8px!important}.pr-xl-3{padding-right:12px!important}.pr-xl-4{padding-right:16px!important}.pr-xl-5{padding-right:20px!important}.pr-xl-6{padding-right:24px!important}.pr-xl-7{padding-right:28px!important}.pr-xl-8{padding-right:32px!important}.pr-xl-9{padding-right:36px!important}.pr-xl-10{padding-right:40px!important}.pr-xl-11{padding-right:44px!important}.pr-xl-12{padding-right:48px!important}.pr-xl-13{padding-right:52px!important}.pr-xl-14{padding-right:56px!important}.pr-xl-15{padding-right:60px!important}.pr-xl-16{padding-right:64px!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:4px!important}.pb-xl-2{padding-bottom:8px!important}.pb-xl-3{padding-bottom:12px!important}.pb-xl-4{padding-bottom:16px!important}.pb-xl-5{padding-bottom:20px!important}.pb-xl-6{padding-bottom:24px!important}.pb-xl-7{padding-bottom:28px!important}.pb-xl-8{padding-bottom:32px!important}.pb-xl-9{padding-bottom:36px!important}.pb-xl-10{padding-bottom:40px!important}.pb-xl-11{padding-bottom:44px!important}.pb-xl-12{padding-bottom:48px!important}.pb-xl-13{padding-bottom:52px!important}.pb-xl-14{padding-bottom:56px!important}.pb-xl-15{padding-bottom:60px!important}.pb-xl-16{padding-bottom:64px!important}.pl-xl-0{padding-left:0!important}.pl-xl-1{padding-left:4px!important}.pl-xl-2{padding-left:8px!important}.pl-xl-3{padding-left:12px!important}.pl-xl-4{padding-left:16px!important}.pl-xl-5{padding-left:20px!important}.pl-xl-6{padding-left:24px!important}.pl-xl-7{padding-left:28px!important}.pl-xl-8{padding-left:32px!important}.pl-xl-9{padding-left:36px!important}.pl-xl-10{padding-left:40px!important}.pl-xl-11{padding-left:44px!important}.pl-xl-12{padding-left:48px!important}.pl-xl-13{padding-left:52px!important}.pl-xl-14{padding-left:56px!important}.pl-xl-15{padding-left:60px!important}.pl-xl-16{padding-left:64px!important}.ps-xl-0{padding-inline-start:0px!important}.ps-xl-1{padding-inline-start:4px!important}.ps-xl-2{padding-inline-start:8px!important}.ps-xl-3{padding-inline-start:12px!important}.ps-xl-4{padding-inline-start:16px!important}.ps-xl-5{padding-inline-start:20px!important}.ps-xl-6{padding-inline-start:24px!important}.ps-xl-7{padding-inline-start:28px!important}.ps-xl-8{padding-inline-start:32px!important}.ps-xl-9{padding-inline-start:36px!important}.ps-xl-10{padding-inline-start:40px!important}.ps-xl-11{padding-inline-start:44px!important}.ps-xl-12{padding-inline-start:48px!important}.ps-xl-13{padding-inline-start:52px!important}.ps-xl-14{padding-inline-start:56px!important}.ps-xl-15{padding-inline-start:60px!important}.ps-xl-16{padding-inline-start:64px!important}.pe-xl-0{padding-inline-end:0px!important}.pe-xl-1{padding-inline-end:4px!important}.pe-xl-2{padding-inline-end:8px!important}.pe-xl-3{padding-inline-end:12px!important}.pe-xl-4{padding-inline-end:16px!important}.pe-xl-5{padding-inline-end:20px!important}.pe-xl-6{padding-inline-end:24px!important}.pe-xl-7{padding-inline-end:28px!important}.pe-xl-8{padding-inline-end:32px!important}.pe-xl-9{padding-inline-end:36px!important}.pe-xl-10{padding-inline-end:40px!important}.pe-xl-11{padding-inline-end:44px!important}.pe-xl-12{padding-inline-end:48px!important}.pe-xl-13{padding-inline-end:52px!important}.pe-xl-14{padding-inline-end:56px!important}.pe-xl-15{padding-inline-end:60px!important}.pe-xl-16{padding-inline-end:64px!important}.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}.text-xl-justify{text-align:justify!important}.text-xl-start{text-align:start!important}.text-xl-end{text-align:end!important}.text-xl-h1{font-size:6rem!important;font-weight:300;line-height:1;letter-spacing:-.015625em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-h2{font-size:3.75rem!important;font-weight:300;line-height:1;letter-spacing:-.0083333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-h3{font-size:3rem!important;font-weight:400;line-height:1.05;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-h4{font-size:2.125rem!important;font-weight:400;line-height:1.175;letter-spacing:.0073529412em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-h5{font-size:1.5rem!important;font-weight:400;line-height:1.333;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-h6{font-size:1.25rem!important;font-weight:500;line-height:1.6;letter-spacing:.0125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-subtitle-1{font-size:1rem!important;font-weight:400;line-height:1.75;letter-spacing:.009375em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-subtitle-2{font-size:.875rem!important;font-weight:500;line-height:1.6;letter-spacing:.0071428571em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-body-1{font-size:1rem!important;font-weight:400;line-height:1.5;letter-spacing:.03125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-body-2{font-size:.875rem!important;font-weight:400;line-height:1.425;letter-spacing:.0178571429em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-button{font-size:.875rem!important;font-weight:500;line-height:2.6;letter-spacing:.0892857143em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.text-xl-caption{font-size:.75rem!important;font-weight:400;line-height:1.667;letter-spacing:.0333333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-overline{font-size:.75rem!important;font-weight:500;line-height:2.667;letter-spacing:.1666666667em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.h-xl-auto{height:auto!important}.h-xl-screen{height:100vh!important}.h-xl-0{height:0!important}.h-xl-25{height:25%!important}.h-xl-50{height:50%!important}.h-xl-75{height:75%!important}.h-xl-100{height:100%!important}.w-xl-auto{width:auto!important}.w-xl-0{width:0!important}.w-xl-25{width:25%!important}.w-xl-33{width:33%!important}.w-xl-50{width:50%!important}.w-xl-66{width:66%!important}.w-xl-75{width:75%!important}.w-xl-100{width:100%!important}}@media (min-width: 2560px){.d-xxl-none{display:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.float-xxl-none{float:none!important}.float-xxl-left{float:left!important}.float-xxl-right{float:right!important}.v-locale--is-rtl .float-xxl-end{float:left!important}.v-locale--is-rtl .float-xxl-start,.v-locale--is-ltr .float-xxl-end{float:right!important}.v-locale--is-ltr .float-xxl-start{float:left!important}.flex-xxl-fill,.flex-xxl-1-1{flex:1 1 auto!important}.flex-xxl-1-0{flex:1 0 auto!important}.flex-xxl-0-1{flex:0 1 auto!important}.flex-xxl-0-0{flex:0 0 auto!important}.flex-xxl-1-1-100{flex:1 1 100%!important}.flex-xxl-1-0-100{flex:1 0 100%!important}.flex-xxl-0-1-100{flex:0 1 100%!important}.flex-xxl-0-0-100{flex:0 0 100%!important}.flex-xxl-1-1-0{flex:1 1 0!important}.flex-xxl-1-0-0{flex:1 0 0!important}.flex-xxl-0-1-0{flex:0 1 0!important}.flex-xxl-0-0-0{flex:0 0 0!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-xxl-start{justify-content:flex-start!important}.justify-xxl-end{justify-content:flex-end!important}.justify-xxl-center{justify-content:center!important}.justify-xxl-space-between{justify-content:space-between!important}.justify-xxl-space-around{justify-content:space-around!important}.justify-xxl-space-evenly{justify-content:space-evenly!important}.justify-items-xxl-start{justify-items:flex-start!important}.justify-items-xxl-end{justify-items:flex-end!important}.justify-items-xxl-center{justify-items:center!important}.justify-items-xxl-stretch{justify-items:stretch!important}.align-xxl-start{align-items:flex-start!important}.align-xxl-end{align-items:flex-end!important}.align-xxl-center{align-items:center!important}.align-xxl-baseline{align-items:baseline!important}.align-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-space-between{align-content:space-between!important}.align-content-xxl-space-around{align-content:space-around!important}.align-content-xxl-space-evenly{align-content:space-evenly!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-6{order:6!important}.order-xxl-7{order:7!important}.order-xxl-8{order:8!important}.order-xxl-9{order:9!important}.order-xxl-10{order:10!important}.order-xxl-11{order:11!important}.order-xxl-12{order:12!important}.order-xxl-last{order:13!important}.ga-xxl-0{gap:0px!important}.ga-xxl-1{gap:4px!important}.ga-xxl-2{gap:8px!important}.ga-xxl-3{gap:12px!important}.ga-xxl-4{gap:16px!important}.ga-xxl-5{gap:20px!important}.ga-xxl-6{gap:24px!important}.ga-xxl-7{gap:28px!important}.ga-xxl-8{gap:32px!important}.ga-xxl-9{gap:36px!important}.ga-xxl-10{gap:40px!important}.ga-xxl-11{gap:44px!important}.ga-xxl-12{gap:48px!important}.ga-xxl-13{gap:52px!important}.ga-xxl-14{gap:56px!important}.ga-xxl-15{gap:60px!important}.ga-xxl-16{gap:64px!important}.ga-xxl-auto{gap:auto!important}.gr-xxl-0{row-gap:0px!important}.gr-xxl-1{row-gap:4px!important}.gr-xxl-2{row-gap:8px!important}.gr-xxl-3{row-gap:12px!important}.gr-xxl-4{row-gap:16px!important}.gr-xxl-5{row-gap:20px!important}.gr-xxl-6{row-gap:24px!important}.gr-xxl-7{row-gap:28px!important}.gr-xxl-8{row-gap:32px!important}.gr-xxl-9{row-gap:36px!important}.gr-xxl-10{row-gap:40px!important}.gr-xxl-11{row-gap:44px!important}.gr-xxl-12{row-gap:48px!important}.gr-xxl-13{row-gap:52px!important}.gr-xxl-14{row-gap:56px!important}.gr-xxl-15{row-gap:60px!important}.gr-xxl-16{row-gap:64px!important}.gr-xxl-auto{row-gap:auto!important}.gc-xxl-0{column-gap:0px!important}.gc-xxl-1{column-gap:4px!important}.gc-xxl-2{column-gap:8px!important}.gc-xxl-3{column-gap:12px!important}.gc-xxl-4{column-gap:16px!important}.gc-xxl-5{column-gap:20px!important}.gc-xxl-6{column-gap:24px!important}.gc-xxl-7{column-gap:28px!important}.gc-xxl-8{column-gap:32px!important}.gc-xxl-9{column-gap:36px!important}.gc-xxl-10{column-gap:40px!important}.gc-xxl-11{column-gap:44px!important}.gc-xxl-12{column-gap:48px!important}.gc-xxl-13{column-gap:52px!important}.gc-xxl-14{column-gap:56px!important}.gc-xxl-15{column-gap:60px!important}.gc-xxl-16{column-gap:64px!important}.gc-xxl-auto{column-gap:auto!important}.ma-xxl-0{margin:0!important}.ma-xxl-1{margin:4px!important}.ma-xxl-2{margin:8px!important}.ma-xxl-3{margin:12px!important}.ma-xxl-4{margin:16px!important}.ma-xxl-5{margin:20px!important}.ma-xxl-6{margin:24px!important}.ma-xxl-7{margin:28px!important}.ma-xxl-8{margin:32px!important}.ma-xxl-9{margin:36px!important}.ma-xxl-10{margin:40px!important}.ma-xxl-11{margin:44px!important}.ma-xxl-12{margin:48px!important}.ma-xxl-13{margin:52px!important}.ma-xxl-14{margin:56px!important}.ma-xxl-15{margin:60px!important}.ma-xxl-16{margin:64px!important}.ma-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:4px!important;margin-left:4px!important}.mx-xxl-2{margin-right:8px!important;margin-left:8px!important}.mx-xxl-3{margin-right:12px!important;margin-left:12px!important}.mx-xxl-4{margin-right:16px!important;margin-left:16px!important}.mx-xxl-5{margin-right:20px!important;margin-left:20px!important}.mx-xxl-6{margin-right:24px!important;margin-left:24px!important}.mx-xxl-7{margin-right:28px!important;margin-left:28px!important}.mx-xxl-8{margin-right:32px!important;margin-left:32px!important}.mx-xxl-9{margin-right:36px!important;margin-left:36px!important}.mx-xxl-10{margin-right:40px!important;margin-left:40px!important}.mx-xxl-11{margin-right:44px!important;margin-left:44px!important}.mx-xxl-12{margin-right:48px!important;margin-left:48px!important}.mx-xxl-13{margin-right:52px!important;margin-left:52px!important}.mx-xxl-14{margin-right:56px!important;margin-left:56px!important}.mx-xxl-15{margin-right:60px!important;margin-left:60px!important}.mx-xxl-16{margin-right:64px!important;margin-left:64px!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:4px!important;margin-bottom:4px!important}.my-xxl-2{margin-top:8px!important;margin-bottom:8px!important}.my-xxl-3{margin-top:12px!important;margin-bottom:12px!important}.my-xxl-4{margin-top:16px!important;margin-bottom:16px!important}.my-xxl-5{margin-top:20px!important;margin-bottom:20px!important}.my-xxl-6{margin-top:24px!important;margin-bottom:24px!important}.my-xxl-7{margin-top:28px!important;margin-bottom:28px!important}.my-xxl-8{margin-top:32px!important;margin-bottom:32px!important}.my-xxl-9{margin-top:36px!important;margin-bottom:36px!important}.my-xxl-10{margin-top:40px!important;margin-bottom:40px!important}.my-xxl-11{margin-top:44px!important;margin-bottom:44px!important}.my-xxl-12{margin-top:48px!important;margin-bottom:48px!important}.my-xxl-13{margin-top:52px!important;margin-bottom:52px!important}.my-xxl-14{margin-top:56px!important;margin-bottom:56px!important}.my-xxl-15{margin-top:60px!important;margin-bottom:60px!important}.my-xxl-16{margin-top:64px!important;margin-bottom:64px!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:4px!important}.mt-xxl-2{margin-top:8px!important}.mt-xxl-3{margin-top:12px!important}.mt-xxl-4{margin-top:16px!important}.mt-xxl-5{margin-top:20px!important}.mt-xxl-6{margin-top:24px!important}.mt-xxl-7{margin-top:28px!important}.mt-xxl-8{margin-top:32px!important}.mt-xxl-9{margin-top:36px!important}.mt-xxl-10{margin-top:40px!important}.mt-xxl-11{margin-top:44px!important}.mt-xxl-12{margin-top:48px!important}.mt-xxl-13{margin-top:52px!important}.mt-xxl-14{margin-top:56px!important}.mt-xxl-15{margin-top:60px!important}.mt-xxl-16{margin-top:64px!important}.mt-xxl-auto{margin-top:auto!important}.mr-xxl-0{margin-right:0!important}.mr-xxl-1{margin-right:4px!important}.mr-xxl-2{margin-right:8px!important}.mr-xxl-3{margin-right:12px!important}.mr-xxl-4{margin-right:16px!important}.mr-xxl-5{margin-right:20px!important}.mr-xxl-6{margin-right:24px!important}.mr-xxl-7{margin-right:28px!important}.mr-xxl-8{margin-right:32px!important}.mr-xxl-9{margin-right:36px!important}.mr-xxl-10{margin-right:40px!important}.mr-xxl-11{margin-right:44px!important}.mr-xxl-12{margin-right:48px!important}.mr-xxl-13{margin-right:52px!important}.mr-xxl-14{margin-right:56px!important}.mr-xxl-15{margin-right:60px!important}.mr-xxl-16{margin-right:64px!important}.mr-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:4px!important}.mb-xxl-2{margin-bottom:8px!important}.mb-xxl-3{margin-bottom:12px!important}.mb-xxl-4{margin-bottom:16px!important}.mb-xxl-5{margin-bottom:20px!important}.mb-xxl-6{margin-bottom:24px!important}.mb-xxl-7{margin-bottom:28px!important}.mb-xxl-8{margin-bottom:32px!important}.mb-xxl-9{margin-bottom:36px!important}.mb-xxl-10{margin-bottom:40px!important}.mb-xxl-11{margin-bottom:44px!important}.mb-xxl-12{margin-bottom:48px!important}.mb-xxl-13{margin-bottom:52px!important}.mb-xxl-14{margin-bottom:56px!important}.mb-xxl-15{margin-bottom:60px!important}.mb-xxl-16{margin-bottom:64px!important}.mb-xxl-auto{margin-bottom:auto!important}.ml-xxl-0{margin-left:0!important}.ml-xxl-1{margin-left:4px!important}.ml-xxl-2{margin-left:8px!important}.ml-xxl-3{margin-left:12px!important}.ml-xxl-4{margin-left:16px!important}.ml-xxl-5{margin-left:20px!important}.ml-xxl-6{margin-left:24px!important}.ml-xxl-7{margin-left:28px!important}.ml-xxl-8{margin-left:32px!important}.ml-xxl-9{margin-left:36px!important}.ml-xxl-10{margin-left:40px!important}.ml-xxl-11{margin-left:44px!important}.ml-xxl-12{margin-left:48px!important}.ml-xxl-13{margin-left:52px!important}.ml-xxl-14{margin-left:56px!important}.ml-xxl-15{margin-left:60px!important}.ml-xxl-16{margin-left:64px!important}.ml-xxl-auto{margin-left:auto!important}.ms-xxl-0{margin-inline-start:0px!important}.ms-xxl-1{margin-inline-start:4px!important}.ms-xxl-2{margin-inline-start:8px!important}.ms-xxl-3{margin-inline-start:12px!important}.ms-xxl-4{margin-inline-start:16px!important}.ms-xxl-5{margin-inline-start:20px!important}.ms-xxl-6{margin-inline-start:24px!important}.ms-xxl-7{margin-inline-start:28px!important}.ms-xxl-8{margin-inline-start:32px!important}.ms-xxl-9{margin-inline-start:36px!important}.ms-xxl-10{margin-inline-start:40px!important}.ms-xxl-11{margin-inline-start:44px!important}.ms-xxl-12{margin-inline-start:48px!important}.ms-xxl-13{margin-inline-start:52px!important}.ms-xxl-14{margin-inline-start:56px!important}.ms-xxl-15{margin-inline-start:60px!important}.ms-xxl-16{margin-inline-start:64px!important}.ms-xxl-auto{margin-inline-start:auto!important}.me-xxl-0{margin-inline-end:0px!important}.me-xxl-1{margin-inline-end:4px!important}.me-xxl-2{margin-inline-end:8px!important}.me-xxl-3{margin-inline-end:12px!important}.me-xxl-4{margin-inline-end:16px!important}.me-xxl-5{margin-inline-end:20px!important}.me-xxl-6{margin-inline-end:24px!important}.me-xxl-7{margin-inline-end:28px!important}.me-xxl-8{margin-inline-end:32px!important}.me-xxl-9{margin-inline-end:36px!important}.me-xxl-10{margin-inline-end:40px!important}.me-xxl-11{margin-inline-end:44px!important}.me-xxl-12{margin-inline-end:48px!important}.me-xxl-13{margin-inline-end:52px!important}.me-xxl-14{margin-inline-end:56px!important}.me-xxl-15{margin-inline-end:60px!important}.me-xxl-16{margin-inline-end:64px!important}.me-xxl-auto{margin-inline-end:auto!important}.ma-xxl-n1{margin:-4px!important}.ma-xxl-n2{margin:-8px!important}.ma-xxl-n3{margin:-12px!important}.ma-xxl-n4{margin:-16px!important}.ma-xxl-n5{margin:-20px!important}.ma-xxl-n6{margin:-24px!important}.ma-xxl-n7{margin:-28px!important}.ma-xxl-n8{margin:-32px!important}.ma-xxl-n9{margin:-36px!important}.ma-xxl-n10{margin:-40px!important}.ma-xxl-n11{margin:-44px!important}.ma-xxl-n12{margin:-48px!important}.ma-xxl-n13{margin:-52px!important}.ma-xxl-n14{margin:-56px!important}.ma-xxl-n15{margin:-60px!important}.ma-xxl-n16{margin:-64px!important}.mx-xxl-n1{margin-right:-4px!important;margin-left:-4px!important}.mx-xxl-n2{margin-right:-8px!important;margin-left:-8px!important}.mx-xxl-n3{margin-right:-12px!important;margin-left:-12px!important}.mx-xxl-n4{margin-right:-16px!important;margin-left:-16px!important}.mx-xxl-n5{margin-right:-20px!important;margin-left:-20px!important}.mx-xxl-n6{margin-right:-24px!important;margin-left:-24px!important}.mx-xxl-n7{margin-right:-28px!important;margin-left:-28px!important}.mx-xxl-n8{margin-right:-32px!important;margin-left:-32px!important}.mx-xxl-n9{margin-right:-36px!important;margin-left:-36px!important}.mx-xxl-n10{margin-right:-40px!important;margin-left:-40px!important}.mx-xxl-n11{margin-right:-44px!important;margin-left:-44px!important}.mx-xxl-n12{margin-right:-48px!important;margin-left:-48px!important}.mx-xxl-n13{margin-right:-52px!important;margin-left:-52px!important}.mx-xxl-n14{margin-right:-56px!important;margin-left:-56px!important}.mx-xxl-n15{margin-right:-60px!important;margin-left:-60px!important}.mx-xxl-n16{margin-right:-64px!important;margin-left:-64px!important}.my-xxl-n1{margin-top:-4px!important;margin-bottom:-4px!important}.my-xxl-n2{margin-top:-8px!important;margin-bottom:-8px!important}.my-xxl-n3{margin-top:-12px!important;margin-bottom:-12px!important}.my-xxl-n4{margin-top:-16px!important;margin-bottom:-16px!important}.my-xxl-n5{margin-top:-20px!important;margin-bottom:-20px!important}.my-xxl-n6{margin-top:-24px!important;margin-bottom:-24px!important}.my-xxl-n7{margin-top:-28px!important;margin-bottom:-28px!important}.my-xxl-n8{margin-top:-32px!important;margin-bottom:-32px!important}.my-xxl-n9{margin-top:-36px!important;margin-bottom:-36px!important}.my-xxl-n10{margin-top:-40px!important;margin-bottom:-40px!important}.my-xxl-n11{margin-top:-44px!important;margin-bottom:-44px!important}.my-xxl-n12{margin-top:-48px!important;margin-bottom:-48px!important}.my-xxl-n13{margin-top:-52px!important;margin-bottom:-52px!important}.my-xxl-n14{margin-top:-56px!important;margin-bottom:-56px!important}.my-xxl-n15{margin-top:-60px!important;margin-bottom:-60px!important}.my-xxl-n16{margin-top:-64px!important;margin-bottom:-64px!important}.mt-xxl-n1{margin-top:-4px!important}.mt-xxl-n2{margin-top:-8px!important}.mt-xxl-n3{margin-top:-12px!important}.mt-xxl-n4{margin-top:-16px!important}.mt-xxl-n5{margin-top:-20px!important}.mt-xxl-n6{margin-top:-24px!important}.mt-xxl-n7{margin-top:-28px!important}.mt-xxl-n8{margin-top:-32px!important}.mt-xxl-n9{margin-top:-36px!important}.mt-xxl-n10{margin-top:-40px!important}.mt-xxl-n11{margin-top:-44px!important}.mt-xxl-n12{margin-top:-48px!important}.mt-xxl-n13{margin-top:-52px!important}.mt-xxl-n14{margin-top:-56px!important}.mt-xxl-n15{margin-top:-60px!important}.mt-xxl-n16{margin-top:-64px!important}.mr-xxl-n1{margin-right:-4px!important}.mr-xxl-n2{margin-right:-8px!important}.mr-xxl-n3{margin-right:-12px!important}.mr-xxl-n4{margin-right:-16px!important}.mr-xxl-n5{margin-right:-20px!important}.mr-xxl-n6{margin-right:-24px!important}.mr-xxl-n7{margin-right:-28px!important}.mr-xxl-n8{margin-right:-32px!important}.mr-xxl-n9{margin-right:-36px!important}.mr-xxl-n10{margin-right:-40px!important}.mr-xxl-n11{margin-right:-44px!important}.mr-xxl-n12{margin-right:-48px!important}.mr-xxl-n13{margin-right:-52px!important}.mr-xxl-n14{margin-right:-56px!important}.mr-xxl-n15{margin-right:-60px!important}.mr-xxl-n16{margin-right:-64px!important}.mb-xxl-n1{margin-bottom:-4px!important}.mb-xxl-n2{margin-bottom:-8px!important}.mb-xxl-n3{margin-bottom:-12px!important}.mb-xxl-n4{margin-bottom:-16px!important}.mb-xxl-n5{margin-bottom:-20px!important}.mb-xxl-n6{margin-bottom:-24px!important}.mb-xxl-n7{margin-bottom:-28px!important}.mb-xxl-n8{margin-bottom:-32px!important}.mb-xxl-n9{margin-bottom:-36px!important}.mb-xxl-n10{margin-bottom:-40px!important}.mb-xxl-n11{margin-bottom:-44px!important}.mb-xxl-n12{margin-bottom:-48px!important}.mb-xxl-n13{margin-bottom:-52px!important}.mb-xxl-n14{margin-bottom:-56px!important}.mb-xxl-n15{margin-bottom:-60px!important}.mb-xxl-n16{margin-bottom:-64px!important}.ml-xxl-n1{margin-left:-4px!important}.ml-xxl-n2{margin-left:-8px!important}.ml-xxl-n3{margin-left:-12px!important}.ml-xxl-n4{margin-left:-16px!important}.ml-xxl-n5{margin-left:-20px!important}.ml-xxl-n6{margin-left:-24px!important}.ml-xxl-n7{margin-left:-28px!important}.ml-xxl-n8{margin-left:-32px!important}.ml-xxl-n9{margin-left:-36px!important}.ml-xxl-n10{margin-left:-40px!important}.ml-xxl-n11{margin-left:-44px!important}.ml-xxl-n12{margin-left:-48px!important}.ml-xxl-n13{margin-left:-52px!important}.ml-xxl-n14{margin-left:-56px!important}.ml-xxl-n15{margin-left:-60px!important}.ml-xxl-n16{margin-left:-64px!important}.ms-xxl-n1{margin-inline-start:-4px!important}.ms-xxl-n2{margin-inline-start:-8px!important}.ms-xxl-n3{margin-inline-start:-12px!important}.ms-xxl-n4{margin-inline-start:-16px!important}.ms-xxl-n5{margin-inline-start:-20px!important}.ms-xxl-n6{margin-inline-start:-24px!important}.ms-xxl-n7{margin-inline-start:-28px!important}.ms-xxl-n8{margin-inline-start:-32px!important}.ms-xxl-n9{margin-inline-start:-36px!important}.ms-xxl-n10{margin-inline-start:-40px!important}.ms-xxl-n11{margin-inline-start:-44px!important}.ms-xxl-n12{margin-inline-start:-48px!important}.ms-xxl-n13{margin-inline-start:-52px!important}.ms-xxl-n14{margin-inline-start:-56px!important}.ms-xxl-n15{margin-inline-start:-60px!important}.ms-xxl-n16{margin-inline-start:-64px!important}.me-xxl-n1{margin-inline-end:-4px!important}.me-xxl-n2{margin-inline-end:-8px!important}.me-xxl-n3{margin-inline-end:-12px!important}.me-xxl-n4{margin-inline-end:-16px!important}.me-xxl-n5{margin-inline-end:-20px!important}.me-xxl-n6{margin-inline-end:-24px!important}.me-xxl-n7{margin-inline-end:-28px!important}.me-xxl-n8{margin-inline-end:-32px!important}.me-xxl-n9{margin-inline-end:-36px!important}.me-xxl-n10{margin-inline-end:-40px!important}.me-xxl-n11{margin-inline-end:-44px!important}.me-xxl-n12{margin-inline-end:-48px!important}.me-xxl-n13{margin-inline-end:-52px!important}.me-xxl-n14{margin-inline-end:-56px!important}.me-xxl-n15{margin-inline-end:-60px!important}.me-xxl-n16{margin-inline-end:-64px!important}.pa-xxl-0{padding:0!important}.pa-xxl-1{padding:4px!important}.pa-xxl-2{padding:8px!important}.pa-xxl-3{padding:12px!important}.pa-xxl-4{padding:16px!important}.pa-xxl-5{padding:20px!important}.pa-xxl-6{padding:24px!important}.pa-xxl-7{padding:28px!important}.pa-xxl-8{padding:32px!important}.pa-xxl-9{padding:36px!important}.pa-xxl-10{padding:40px!important}.pa-xxl-11{padding:44px!important}.pa-xxl-12{padding:48px!important}.pa-xxl-13{padding:52px!important}.pa-xxl-14{padding:56px!important}.pa-xxl-15{padding:60px!important}.pa-xxl-16{padding:64px!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:4px!important;padding-left:4px!important}.px-xxl-2{padding-right:8px!important;padding-left:8px!important}.px-xxl-3{padding-right:12px!important;padding-left:12px!important}.px-xxl-4{padding-right:16px!important;padding-left:16px!important}.px-xxl-5{padding-right:20px!important;padding-left:20px!important}.px-xxl-6{padding-right:24px!important;padding-left:24px!important}.px-xxl-7{padding-right:28px!important;padding-left:28px!important}.px-xxl-8{padding-right:32px!important;padding-left:32px!important}.px-xxl-9{padding-right:36px!important;padding-left:36px!important}.px-xxl-10{padding-right:40px!important;padding-left:40px!important}.px-xxl-11{padding-right:44px!important;padding-left:44px!important}.px-xxl-12{padding-right:48px!important;padding-left:48px!important}.px-xxl-13{padding-right:52px!important;padding-left:52px!important}.px-xxl-14{padding-right:56px!important;padding-left:56px!important}.px-xxl-15{padding-right:60px!important;padding-left:60px!important}.px-xxl-16{padding-right:64px!important;padding-left:64px!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:4px!important;padding-bottom:4px!important}.py-xxl-2{padding-top:8px!important;padding-bottom:8px!important}.py-xxl-3{padding-top:12px!important;padding-bottom:12px!important}.py-xxl-4{padding-top:16px!important;padding-bottom:16px!important}.py-xxl-5{padding-top:20px!important;padding-bottom:20px!important}.py-xxl-6{padding-top:24px!important;padding-bottom:24px!important}.py-xxl-7{padding-top:28px!important;padding-bottom:28px!important}.py-xxl-8{padding-top:32px!important;padding-bottom:32px!important}.py-xxl-9{padding-top:36px!important;padding-bottom:36px!important}.py-xxl-10{padding-top:40px!important;padding-bottom:40px!important}.py-xxl-11{padding-top:44px!important;padding-bottom:44px!important}.py-xxl-12{padding-top:48px!important;padding-bottom:48px!important}.py-xxl-13{padding-top:52px!important;padding-bottom:52px!important}.py-xxl-14{padding-top:56px!important;padding-bottom:56px!important}.py-xxl-15{padding-top:60px!important;padding-bottom:60px!important}.py-xxl-16{padding-top:64px!important;padding-bottom:64px!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:4px!important}.pt-xxl-2{padding-top:8px!important}.pt-xxl-3{padding-top:12px!important}.pt-xxl-4{padding-top:16px!important}.pt-xxl-5{padding-top:20px!important}.pt-xxl-6{padding-top:24px!important}.pt-xxl-7{padding-top:28px!important}.pt-xxl-8{padding-top:32px!important}.pt-xxl-9{padding-top:36px!important}.pt-xxl-10{padding-top:40px!important}.pt-xxl-11{padding-top:44px!important}.pt-xxl-12{padding-top:48px!important}.pt-xxl-13{padding-top:52px!important}.pt-xxl-14{padding-top:56px!important}.pt-xxl-15{padding-top:60px!important}.pt-xxl-16{padding-top:64px!important}.pr-xxl-0{padding-right:0!important}.pr-xxl-1{padding-right:4px!important}.pr-xxl-2{padding-right:8px!important}.pr-xxl-3{padding-right:12px!important}.pr-xxl-4{padding-right:16px!important}.pr-xxl-5{padding-right:20px!important}.pr-xxl-6{padding-right:24px!important}.pr-xxl-7{padding-right:28px!important}.pr-xxl-8{padding-right:32px!important}.pr-xxl-9{padding-right:36px!important}.pr-xxl-10{padding-right:40px!important}.pr-xxl-11{padding-right:44px!important}.pr-xxl-12{padding-right:48px!important}.pr-xxl-13{padding-right:52px!important}.pr-xxl-14{padding-right:56px!important}.pr-xxl-15{padding-right:60px!important}.pr-xxl-16{padding-right:64px!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:4px!important}.pb-xxl-2{padding-bottom:8px!important}.pb-xxl-3{padding-bottom:12px!important}.pb-xxl-4{padding-bottom:16px!important}.pb-xxl-5{padding-bottom:20px!important}.pb-xxl-6{padding-bottom:24px!important}.pb-xxl-7{padding-bottom:28px!important}.pb-xxl-8{padding-bottom:32px!important}.pb-xxl-9{padding-bottom:36px!important}.pb-xxl-10{padding-bottom:40px!important}.pb-xxl-11{padding-bottom:44px!important}.pb-xxl-12{padding-bottom:48px!important}.pb-xxl-13{padding-bottom:52px!important}.pb-xxl-14{padding-bottom:56px!important}.pb-xxl-15{padding-bottom:60px!important}.pb-xxl-16{padding-bottom:64px!important}.pl-xxl-0{padding-left:0!important}.pl-xxl-1{padding-left:4px!important}.pl-xxl-2{padding-left:8px!important}.pl-xxl-3{padding-left:12px!important}.pl-xxl-4{padding-left:16px!important}.pl-xxl-5{padding-left:20px!important}.pl-xxl-6{padding-left:24px!important}.pl-xxl-7{padding-left:28px!important}.pl-xxl-8{padding-left:32px!important}.pl-xxl-9{padding-left:36px!important}.pl-xxl-10{padding-left:40px!important}.pl-xxl-11{padding-left:44px!important}.pl-xxl-12{padding-left:48px!important}.pl-xxl-13{padding-left:52px!important}.pl-xxl-14{padding-left:56px!important}.pl-xxl-15{padding-left:60px!important}.pl-xxl-16{padding-left:64px!important}.ps-xxl-0{padding-inline-start:0px!important}.ps-xxl-1{padding-inline-start:4px!important}.ps-xxl-2{padding-inline-start:8px!important}.ps-xxl-3{padding-inline-start:12px!important}.ps-xxl-4{padding-inline-start:16px!important}.ps-xxl-5{padding-inline-start:20px!important}.ps-xxl-6{padding-inline-start:24px!important}.ps-xxl-7{padding-inline-start:28px!important}.ps-xxl-8{padding-inline-start:32px!important}.ps-xxl-9{padding-inline-start:36px!important}.ps-xxl-10{padding-inline-start:40px!important}.ps-xxl-11{padding-inline-start:44px!important}.ps-xxl-12{padding-inline-start:48px!important}.ps-xxl-13{padding-inline-start:52px!important}.ps-xxl-14{padding-inline-start:56px!important}.ps-xxl-15{padding-inline-start:60px!important}.ps-xxl-16{padding-inline-start:64px!important}.pe-xxl-0{padding-inline-end:0px!important}.pe-xxl-1{padding-inline-end:4px!important}.pe-xxl-2{padding-inline-end:8px!important}.pe-xxl-3{padding-inline-end:12px!important}.pe-xxl-4{padding-inline-end:16px!important}.pe-xxl-5{padding-inline-end:20px!important}.pe-xxl-6{padding-inline-end:24px!important}.pe-xxl-7{padding-inline-end:28px!important}.pe-xxl-8{padding-inline-end:32px!important}.pe-xxl-9{padding-inline-end:36px!important}.pe-xxl-10{padding-inline-end:40px!important}.pe-xxl-11{padding-inline-end:44px!important}.pe-xxl-12{padding-inline-end:48px!important}.pe-xxl-13{padding-inline-end:52px!important}.pe-xxl-14{padding-inline-end:56px!important}.pe-xxl-15{padding-inline-end:60px!important}.pe-xxl-16{padding-inline-end:64px!important}.text-xxl-left{text-align:left!important}.text-xxl-right{text-align:right!important}.text-xxl-center{text-align:center!important}.text-xxl-justify{text-align:justify!important}.text-xxl-start{text-align:start!important}.text-xxl-end{text-align:end!important}.text-xxl-h1{font-size:6rem!important;font-weight:300;line-height:1;letter-spacing:-.015625em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-h2{font-size:3.75rem!important;font-weight:300;line-height:1;letter-spacing:-.0083333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-h3{font-size:3rem!important;font-weight:400;line-height:1.05;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-h4{font-size:2.125rem!important;font-weight:400;line-height:1.175;letter-spacing:.0073529412em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-h5{font-size:1.5rem!important;font-weight:400;line-height:1.333;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-h6{font-size:1.25rem!important;font-weight:500;line-height:1.6;letter-spacing:.0125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-subtitle-1{font-size:1rem!important;font-weight:400;line-height:1.75;letter-spacing:.009375em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-subtitle-2{font-size:.875rem!important;font-weight:500;line-height:1.6;letter-spacing:.0071428571em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-body-1{font-size:1rem!important;font-weight:400;line-height:1.5;letter-spacing:.03125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-body-2{font-size:.875rem!important;font-weight:400;line-height:1.425;letter-spacing:.0178571429em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-button{font-size:.875rem!important;font-weight:500;line-height:2.6;letter-spacing:.0892857143em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.text-xxl-caption{font-size:.75rem!important;font-weight:400;line-height:1.667;letter-spacing:.0333333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-overline{font-size:.75rem!important;font-weight:500;line-height:2.667;letter-spacing:.1666666667em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.h-xxl-auto{height:auto!important}.h-xxl-screen{height:100vh!important}.h-xxl-0{height:0!important}.h-xxl-25{height:25%!important}.h-xxl-50{height:50%!important}.h-xxl-75{height:75%!important}.h-xxl-100{height:100%!important}.w-xxl-auto{width:auto!important}.w-xxl-0{width:0!important}.w-xxl-25{width:25%!important}.w-xxl-33{width:33%!important}.w-xxl-50{width:50%!important}.w-xxl-66{width:66%!important}.w-xxl-75{width:75%!important}.w-xxl-100{width:100%!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.float-print-none{float:none!important}.float-print-left{float:left!important}.float-print-right{float:right!important}.v-locale--is-rtl .float-print-end{float:left!important}.v-locale--is-rtl .float-print-start,.v-locale--is-ltr .float-print-end{float:right!important}.v-locale--is-ltr .float-print-start{float:left!important}}.v-time-picker-controls{display:flex;align-items:center;justify-content:center;font-size:.875rem;margin-inline:24px;margin-bottom:12px}.v-time-picker-controls__text{padding-bottom:12px}.v-time-picker-controls__time{display:flex;white-space:nowrap;direction:ltr;justify-content:center;align-items:start}.v-time-picker-controls__time__separator{width:24px;text-align:center}.v-time-picker--density-compact .v-time-picker-controls__time__separator{font-weight:700}.v-time-picker--density-default .v-time-picker-controls__time__separator{font-size:56px;line-height:74px}.v-time-picker--variant-input .v-time-picker--density-default .v-time-picker-controls__time__separator{line-height:64px}.v-time-picker-controls__time--with-seconds .v-time-picker--density-default .v-time-picker-controls__time__separator{height:80px;font-size:56px}.v-time-picker--density-comfortable .v-time-picker-controls__time__separator{font-size:40px;line-height:58px}.v-time-picker--variant-input .v-time-picker--density-comfortable .v-time-picker-controls__time__separator{line-height:48px}.v-time-picker-controls__time--with-seconds .v-time-picker--density-comfortable .v-time-picker-controls__time__separator{height:64px;font-size:40px}.v-time-picker--density-compact .v-time-picker-controls__time__separator{font-size:32px;line-height:50px}.v-time-picker--variant-input .v-time-picker--density-compact .v-time-picker-controls__time__separator{line-height:40px}.v-time-picker-controls__time--with-seconds .v-time-picker--density-compact .v-time-picker-controls__time__separator{height:56px;font-size:32px}.v-time-picker-controls__time__field{width:96px}.v-time-picker-controls__time__field .v-field{width:96px;background-color:rgb(var(--v-theme-surface-light));color:inherit;transition:color .25s cubic-bezier(.4,0,.2,1)}.v-time-picker-controls__time__field .v-field>.v-field__overlay{opacity:.04}.v-time-picker-controls__time__field--active .v-field>.v-field__overlay{opacity:calc((.04 + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}.v-time-picker--variant-input .v-time-picker-controls__time__field,.v-time-picker--variant-input .v-time-picker-controls__time__field .v-field{width:96px}.v-time-picker-controls__time--with-seconds .v-time-picker-controls__time__field,.v-time-picker--variant-input .v-time-picker-controls__time--with-seconds .v-time-picker-controls__time__field{width:64px}.v-time-picker-controls__time__field .v-field__input{padding:0;font-weight:500;text-align:center;line-height:1;align-self:center}.v-time-picker-controls__time__field .v-field__input:focus::placeholder{opacity:0}.v-time-picker-controls__time__field.v-input>.v-input__details{font-size:12px;letter-spacing:.0333333333em;padding-inline:0;white-space:normal}.v-time-picker-controls__time__field.v-input>.v-input__details>.v-messages{opacity:1}.v-time-picker-controls__time__field.v-input--error .v-field__input{color:rgb(var(--v-theme-error))}.v-time-picker-controls__ampm{margin-left:12px;display:flex;flex-direction:column;text-transform:uppercase}.v-time-picker-controls__ampm--readonly{pointer-events:none}.v-time-picker-controls__ampm--readonly .v-picker__title__btn.v-picker__title__btn--active{opacity:.6}.v-time-picker-controls__ampm__btn.v-btn{min-width:52px;padding:0 8px}.v-time-picker-controls__ampm__btn.v-btn.v-time-picker-controls__ampm__am{border-radius:4px 4px 0 0;border:1px solid}.v-time-picker-controls__ampm__btn.v-btn.v-time-picker-controls__ampm__pm{border-radius:0 0 4px 4px;border:1px solid;border-top:none}.v-time-picker-controls__ampm__btn.v-btn__active{background:rgb(var(--v-theme-primary))}.v-time-picker--density-default .v-time-picker-controls__time__field .v-input__control{height:80px}.v-time-picker--density-default .v-time-picker-controls__time__field .v-input__control .v-field{font-size:56px}.v-time-picker--density-default .v-time-picker-controls__time__field .v-input__control .v-field .v-field__input{min-height:80px}.v-time-picker--density-default.v-time-picker--variant-input .v-time-picker-controls__time__field .v-input__control{height:72px}.v-time-picker--density-default.v-time-picker--variant-input .v-time-picker-controls__time__field .v-input__control .v-field{font-size:44px}.v-time-picker--density-default.v-time-picker--variant-input .v-time-picker-controls__time__field .v-input__control .v-field .v-field__input{min-height:72px}.v-time-picker--density-default .v-time-picker-controls__time--with-seconds .v-time-picker-controls__time__field .v-field{font-size:40px}.v-time-picker--density-default .v-time-picker-controls__ampm__btn.v-btn{font-size:18px;height:40px}.v-time-picker--density-default.v-time-picker--variant-input .v-time-picker-controls__ampm__btn.v-btn{height:36px}.v-time-picker--density-comfortable .v-time-picker-controls__time__field .v-input__control{height:64px}.v-time-picker--density-comfortable .v-time-picker-controls__time__field .v-input__control .v-field{font-size:40px}.v-time-picker--density-comfortable .v-time-picker-controls__time__field .v-input__control .v-field .v-field__input{min-height:64px}.v-time-picker--density-comfortable.v-time-picker--variant-input .v-time-picker-controls__time__field .v-input__control{height:56px}.v-time-picker--density-comfortable.v-time-picker--variant-input .v-time-picker-controls__time__field .v-input__control .v-field{font-size:32px}.v-time-picker--density-comfortable.v-time-picker--variant-input .v-time-picker-controls__time__field .v-input__control .v-field .v-field__input{min-height:56px}.v-time-picker--density-comfortable .v-time-picker-controls__time--with-seconds .v-time-picker-controls__time__field .v-field{font-size:32px}.v-time-picker--density-comfortable .v-time-picker-controls__ampm__btn.v-btn{font-size:14px;height:32px}.v-time-picker--density-comfortable.v-time-picker--variant-input .v-time-picker-controls__ampm__btn.v-btn{height:28px}.v-time-picker--density-compact .v-time-picker-controls__time__field .v-input__control{height:56px}.v-time-picker--density-compact .v-time-picker-controls__time__field .v-input__control .v-field{font-size:32px}.v-time-picker--density-compact .v-time-picker-controls__time__field .v-input__control .v-field .v-field__input{min-height:56px}.v-time-picker--density-compact.v-time-picker--variant-input .v-time-picker-controls__time__field .v-input__control{height:48px}.v-time-picker--density-compact.v-time-picker--variant-input .v-time-picker-controls__time__field .v-input__control .v-field{font-size:26px}.v-time-picker--density-compact.v-time-picker--variant-input .v-time-picker-controls__time__field .v-input__control .v-field .v-field__input{min-height:48px}.v-time-picker--density-compact .v-time-picker-controls__time--with-seconds .v-time-picker-controls__time__field .v-field{font-size:28px}.v-time-picker--density-compact .v-time-picker-controls__ampm__btn.v-btn{font-size:12px;height:28px}.v-time-picker--density-compact.v-time-picker--variant-input .v-time-picker-controls__ampm__btn.v-btn{height:24px}.v-picker__title--landscape .v-time-picker-controls{flex-direction:column;justify-content:center;height:100%}.v-picker__title--landscape .v-time-picker-controls__time{text-align:right}.v-picker__title--landscape .v-time-picker-controls__time .v-picker__title__btn,.v-picker__title--landscape .v-time-picker-controls__time span{height:55px;font-size:55px}.v-picker__title--landscape .v-time-picker-controls__ampm{margin:16px 0 0;align-self:initial;text-align:center}.v-picker--time .v-picker__title--landscape{padding:0}.v-picker--time .v-picker__title--landscape .v-time-picker-controls__time{text-align:center}@media (forced-colors: active){.v-time-picker-controls .v-time-picker-controls__time__field:has(input:focus-visible){outline:2px solid highlight;outline-offset:2px}.v-time-picker-controls .v-time-picker-controls__ampm__btn.v-btn--active{color:highlight!important;forced-color-adjust:preserve-parent-color}} diff --git a/assets/ExamConfigEditor-giorLija.css b/assets/ExamConfigEditor-giorLija.css deleted file mode 100644 index d82d39e..0000000 --- a/assets/ExamConfigEditor-giorLija.css +++ /dev/null @@ -1 +0,0 @@ -.border-b[data-v-415c7c7f]{border-bottom:1px solid rgba(0,0,0,.12)}.json-preview[data-v-415c7c7f]{border-radius:8px;font-family:Fira Code,Courier New,monospace;font-size:13px;line-height:1.5;max-height:400px;overflow-y:auto;padding:16px}.json-preview code[data-v-415c7c7f]{font-weight:400}.border-b[data-v-415c7c7f]{border-bottom:1px solid rgba(0,0,0,.08)}.border-b[data-v-415c7c7f]:last-child{border-bottom:none}.border-e[data-v-415c7c7f]{border-right:1px solid rgba(0,0,0,.12)}.datetime-picker-header[data-v-415c7c7f]{background-color:#f5f5f5;border-bottom:1px solid rgba(0,0,0,.12)}.v-card--variant-elevated[data-v-415c7c7f]{box-shadow:0 2px 8px #0000001a!important}.v-btn-toggle[data-v-415c7c7f]{border-radius:8px;overflow:hidden}.v-btn-toggle .v-btn[data-v-415c7c7f]{border-radius:0!important}.cursor-pointer[data-v-415c7c7f]{cursor:pointer}.v-card.hover[data-v-415c7c7f]:hover{transform:translateY(-2px);transition:transform .2s ease-in-out;box-shadow:0 4px 12px #00000026!important}.bg-primary-lighten-5[data-v-415c7c7f]{background-color:rgba(var(--v-theme-primary),.08)!important}.bg-success-lighten-5[data-v-415c7c7f]{background-color:rgba(var(--v-theme-success),.08)!important}.bg-error-lighten-5[data-v-415c7c7f]{background-color:rgba(var(--v-theme-error),.08)!important}.hover-highlight[data-v-415c7c7f]{transition:background-color .2s ease}.hover-highlight[data-v-415c7c7f]:hover{background-color:rgba(var(--v-theme-primary),.05)}.v-btn-toggle .v-btn[data-v-415c7c7f]:first-child{border-top-left-radius:8px;border-bottom-left-radius:8px}.v-btn-toggle .v-btn[data-v-415c7c7f]:last-child{border-top-right-radius:8px;border-bottom-right-radius:8px}.v-autocomplete--chips.v-input--density-compact .v-field--variant-solo .v-label.v-field-label--floating,.v-autocomplete--chips.v-input--density-compact .v-field--variant-solo-inverted .v-label.v-field-label--floating,.v-autocomplete--chips.v-input--density-compact .v-field--variant-filled .v-label.v-field-label--floating,.v-autocomplete--chips.v-input--density-compact .v-field--variant-solo-filled .v-label.v-field-label--floating{top:0}.v-autocomplete .v-field .v-text-field__prefix,.v-autocomplete .v-field .v-text-field__suffix,.v-autocomplete .v-field .v-field__input,.v-autocomplete .v-field .v-field__input>input,.v-autocomplete .v-field.v-field{cursor:text}.v-autocomplete .v-field .v-field__input>input{flex:1 1}.v-autocomplete .v-field input{min-width:64px}.v-autocomplete .v-field:not(.v-field--focused) input{min-width:0}.v-autocomplete .v-field--dirty .v-autocomplete__selection{margin-inline-end:2px}.v-autocomplete .v-autocomplete__selection-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v-autocomplete__content{overflow:hidden}.v-autocomplete__content{box-shadow:0 2px 4px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 4px 5px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 10px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-menu>.v-overlay__content.v-autocomplete__content{border-radius:4px}.v-autocomplete__content>.v-sheet{display:flex;flex-direction:column}.v-autocomplete__mask{background:rgb(var(--v-theme-surface-light))}.v-autocomplete__selection{display:inline-flex;align-items:center;height:1.5rem;letter-spacing:inherit;line-height:inherit;max-width:calc(100% - 4px)}.v-autocomplete__selection:first-child{margin-inline-start:0}.v-autocomplete--selecting-index .v-autocomplete__selection{opacity:var(--v-medium-emphasis-opacity)}.v-autocomplete--selecting-index .v-autocomplete__selection--selected{opacity:1}.v-autocomplete--selecting-index .v-field__input>input{caret-color:transparent}.v-autocomplete--single:not(.v-autocomplete--selection-slot).v-text-field input{flex:1 1;position:absolute;left:0;right:0;width:100%;padding-inline:inherit}.v-autocomplete--single:not(.v-autocomplete--selection-slot) .v-field--active input{transition:none}.v-autocomplete--single:not(.v-autocomplete--selection-slot) .v-field--dirty:not(.v-field--focused) input{opacity:0}.v-autocomplete--single:not(.v-autocomplete--selection-slot) .v-field--focused .v-autocomplete__selection{opacity:0}.v-autocomplete__menu-icon{margin-inline-start:4px;transition:.2s cubic-bezier(.4,0,.2,1)}.v-autocomplete--active-menu .v-autocomplete__menu-icon{transform:rotate(180deg)}.v-date-picker{overflow:hidden;width:328px;--v-date-picker-landscape-header-width: 170px}.v-date-picker--show-week{width:368px}.v-date-picker.v-picker--landscape:has(.v-picker__header-wrapper){width:calc(328px + var(--v-date-picker-landscape-header-width))}.v-date-picker.v-picker--landscape:has(.v-picker__header-wrapper) .v-picker__header-wrapper{width:var(--v-date-picker-landscape-header-width)}.v-date-picker.v-picker--landscape:has(.v-picker__header-wrapper) .v-picker__header-wrapper .v-date-picker-header{height:auto;padding-inline:24px}.v-date-picker.v-picker--landscape:has(.v-picker__header-wrapper).v-picker--show-week{width:calc(368px + var(--v-date-picker-landscape-header-width))}.v-date-picker>.v-picker__body{flex-direction:column}.v-date-picker-controls{display:flex;align-items:center;justify-content:space-between;font-size:.875rem;height:var(--v-date-picker-controls-height, 56px);padding:4px 12px}.v-date-picker-controls .v-btn{text-transform:none;font-weight:400;line-height:initial;letter-spacing:initial}.v-date-picker-controls .v-btn>.v-btn__append>.v-icon{transition-property:transform;transition-duration:.28s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.v-date-picker--months .v-date-picker-controls .v-date-picker-controls__only-month-btn>.v-btn__append>.v-icon{transform:rotate(180deg)}.v-date-picker--year .v-date-picker-controls .v-date-picker-controls__mode-btn{transform:rotate(180deg)}.v-date-picker--year .v-date-picker-controls .v-date-picker-controls__year-btn>.v-btn__append>.v-icon,.v-date-picker--year .v-date-picker-controls .v-date-picker-controls__only-year-btn>.v-btn__append>.v-icon{transform:rotate(180deg)}.v-date-picker-controls__date{margin-inline-end:4px}.v-date-picker-controls__month,.v-date-picker-controls__year{display:flex}.v-locale--is-rtl.v-date-picker-controls__month,.v-locale--is-rtl.v-date-picker-controls__year,.v-locale--is-rtl .v-date-picker-controls__month,.v-locale--is-rtl .v-date-picker-controls__year{flex-direction:row-reverse}.v-date-picker-controls .v-date-picker-controls__month-btn,.v-date-picker-controls .v-date-picker-controls__year-btn{padding:0 12px}.v-date-picker-controls .v-date-picker-controls__only-month-btn,.v-date-picker-controls .v-date-picker-controls__only-year-btn{padding-inline:12px 8px;min-width:40px}.v-date-picker-controls .v-date-picker-controls__only-month-btn>.v-btn__append,.v-date-picker-controls .v-date-picker-controls__only-year-btn>.v-btn__append{margin-inline:4px -4px}.v-date-picker__title{display:inline-block}.v-date-picker-header{align-items:flex-end;height:70px;display:grid;grid-template-areas:"prepend content append";grid-template-columns:min-content minmax(0,1fr) min-content;overflow:hidden;padding-inline:24px 12px;padding-bottom:12px}.v-date-picker-header__append{grid-area:append}.v-date-picker-header__prepend{grid-area:prepend;padding-inline-start:8px}.v-date-picker-header__content{align-items:center;display:inline-flex;font-size:32px;line-height:40px;grid-area:content;justify-content:space-between;white-space:pre-wrap}.v-date-picker-header--clickable .v-date-picker-header__content{cursor:pointer}.v-date-picker-header--clickable .v-date-picker-header__content:not(:hover){opacity:.7}.date-picker-header-transition-enter-active,.date-picker-header-reverse-transition-enter-active,.date-picker-header-transition-leave-active,.date-picker-header-reverse-transition-leave-active{transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.date-picker-header-transition-enter-from{transform:translateY(100%)}.date-picker-header-transition-leave-to{opacity:0;transform:translateY(-100%)}.date-picker-header-reverse-transition-enter-from{transform:translateY(-100%)}.date-picker-header-reverse-transition-leave-to{opacity:0;transform:translateY(100%)}.v-date-picker-month{display:flex;justify-content:center;padding:0 12px 8px;--v-date-picker-month-day-diff: 4px}.v-date-picker-month__weeks{display:flex;flex-direction:column;column-gap:4px;font-size:.875rem}.v-date-picker-month__weekday{font-size:.875rem}.v-date-picker-month__days{display:grid;grid-template-columns:repeat(var(--v-date-picker-days-in-week),min-content);column-gap:4px;justify-content:space-around;width:100%}.v-date-picker-month__day{align-items:center;display:flex;justify-content:center;position:relative;height:40px;width:40px}.v-date-picker-month__day--selected .v-btn{background-color:rgb(var(--v-theme-surface-variant));color:rgb(var(--v-theme-on-surface-variant))}.v-date-picker-month__day .v-btn.v-date-picker-month__day-btn{--v-btn-height: 24px;--v-btn-size: .875rem}.v-date-picker-month__day--week{font-size:var(--v-btn-size)}.v-date-picker-month__day--adjacent{opacity:.5}.v-date-picker-month__day--hide-adjacent{opacity:0}.v-date-picker-month__events{height:8px;left:0;text-indent:0;position:absolute;text-align:center;white-space:pre;width:100%}.v-date-picker-month__events>div{height:8px;margin:0 1px -1px;width:8px}.v-date-picker-month__events .v-badge--dot .v-badge__badge{border-radius:4px;height:8px;width:8px}.v-date-picker-month__day .v-date-picker-month__events{bottom:8px}.v-date-picker-months{height:288px}.v-date-picker-months__content{align-items:center;display:grid;flex:1 1;height:inherit;justify-content:space-around;grid-template-columns:repeat(2,1fr);grid-gap:0px 24px;padding-inline-start:36px;padding-inline-end:36px}.v-date-picker-months__content .v-btn{text-transform:none;padding-inline-start:8px;padding-inline-end:8px}.v-date-picker-years{height:288px;overflow-y:scroll}.v-date-picker-years__content{display:grid;flex:1 1;justify-content:space-around;grid-template-columns:repeat(3,1fr);gap:8px 24px;padding-inline:32px}.v-date-picker-years__content .v-btn{padding-inline:8px}.v-picker.v-sheet{display:grid;grid-auto-rows:min-content;grid-template-areas:"header" "body";grid-template-columns:minmax(0,1fr);overflow:hidden}.v-picker.v-sheet{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-picker.v-sheet{border-radius:4px}.v-picker.v-sheet.v-picker--with-actions{grid-template-areas:"header" "body" "actions"}.v-picker.v-sheet.v-picker--landscape{grid-template-columns:auto 1fr;grid-template-areas:"header body" "header body"}.v-picker.v-sheet.v-picker--landscape.v-picker--with-actions{grid-template-areas:"header body" "header actions"}.v-picker__body{grid-area:body;overflow:hidden;position:relative;display:flex;justify-content:center;flex-wrap:wrap}.v-picker__header-wrapper{grid-area:header}.v-picker__actions{grid-area:actions;padding:0 12px 12px;display:flex;align-items:center;justify-content:flex-end}.v-picker__actions .v-btn{min-width:48px}.v-picker__actions .v-btn:not(:last-child){margin-inline-end:8px}.v-picker--divided .v-picker__header{border-bottom-color:rgba(var(--v-border-color),var(--v-border-opacity));border-bottom-style:solid;border-bottom-width:thin}.v-picker-title{text-transform:uppercase;font-size:.75rem;padding-inline:24px 12px;padding-top:16px;padding-bottom:16px;font-weight:400;letter-spacing:.1666666667em}.v-time-picker.v-picker{min-width:328px}.v-time-picker .v-picker__body,.v-time-picker-controls__field-label,.v-time-picker .v-field{transition-duration:.25s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:transform,max-height,opacity,font-size}@media (prefers-reduced-motion: reduce){.v-time-picker .v-picker__body,.v-time-picker-controls__field-label,.v-time-picker .v-field{transition:none}}.v-time-picker .v-picker__body{transition-behavior:allow-discrete;max-height:calc-size(max-content,size)}.v-time-picker--variant-input .v-picker__body{transform:scale(0);max-height:0}.v-time-picker-clock{background:rgb(var(--v-theme-background));color:rgb(var(--v-theme-on-background))}.v-time-picker-clock:after{color:rgb(var(--v-theme-primary))}.v-time-picker-clock .v-time-picker-clock__item--active{background-color:rgb(var(--v-theme-surface-variant));color:rgb(var(--v-theme-on-surface-variant))}.v-time-picker-clock{margin:24px;background:rgb(var(--v-theme-surface-light));border-radius:50%;position:relative;transition:none;-webkit-user-select:none;user-select:none;max-width:256px;aspect-ratio:1;flex:100%}.v-time-picker-clock__container{display:flex;flex-direction:column;flex-basis:290px;justify-content:center;padding:10px}.v-time-picker-clock__hand{background-color:currentColor;height:calc(50% - 4px);width:2px;bottom:50%;left:calc(50% - 1px);transform-origin:center bottom;position:absolute;will-change:transform;z-index:1}.v-time-picker-clock__hand:before{background:transparent;border-width:2px;border-style:solid;border-color:currentColor;border-radius:100%;width:10px;height:10px;content:"";position:absolute;top:-4px;left:50%;transform:translate(-50%,-50%)}.v-time-picker-clock__hand:after{content:"";position:absolute;height:8px;width:8px;top:100%;left:50%;border-radius:100%;background-color:currentColor;transform:translate(-50%,-50%)}.v-time-picker-clock__hand--inner:after{height:14px}.v-time-picker-clock--readonly{pointer-events:none}.v-time-picker-clock .v-time-picker-clock__item--disabled{opacity:var(--v-disabled-opacity)}.v-picker--full-width .v-time-picker-clock__container{max-width:290px}.v-time-picker-clock__inner{position:absolute;bottom:27px;left:27px;right:27px;top:27px}.v-time-picker-clock__item{align-items:center;border-radius:100%;cursor:default;display:flex;font-size:16px;justify-content:center;height:40px;position:absolute;text-align:center;width:40px;-webkit-user-select:none;user-select:none;transform:translate(-50%,-50%)}.v-time-picker-clock__item>span{z-index:1}.v-time-picker-clock__item:before,.v-time-picker-clock__item:after{content:"";border-radius:100%;position:absolute;top:50%;left:50%;height:14px;width:14px;transform:translate(-50%,-50%)}.v-time-picker-clock__item:after,.v-time-picker-clock__item:before{height:40px;width:40px}.v-time-picker-clock__item--active{cursor:default;z-index:2}.v-time-picker-clock__item--disabled{pointer-events:none}.v-picker--landscape .v-time-picker-clock__container{flex-direction:row}@media (forced-colors: active){.v-time-picker-clock__hand{background-color:highlight}.v-time-picker-clock__hand:before{border-color:highlight}.v-time-picker-clock__hand:after{background-color:highlight}.v-time-picker-clock__item--active{outline:2px solid highlight!important}}.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}@media only print{.hidden-print-only{display:none!important}}@media only screen{.hidden-screen-only{display:none!important}}@media (max-width: 599.98px){.hidden-xs{display:none!important}}@media (min-width: 600px) and (max-width: 959.98px){.hidden-sm{display:none!important}}@media (min-width: 960px) and (max-width: 1279.98px){.hidden-md{display:none!important}}@media (min-width: 1280px) and (max-width: 1919.98px){.hidden-lg{display:none!important}}@media (min-width: 1920px) and (max-width: 2559.98px){.hidden-xl{display:none!important}}@media (min-width: 2560px){.hidden-xxl{display:none!important}}@media (min-width: 600px){.hidden-sm-and-up{display:none!important}}@media (min-width: 960px){.hidden-md-and-up{display:none!important}}@media (min-width: 1280px){.hidden-lg-and-up{display:none!important}}@media (min-width: 1920px){.hidden-xl-and-up{display:none!important}}@media (max-width: 959.98px){.hidden-sm-and-down{display:none!important}}@media (max-width: 1279.98px){.hidden-md-and-down{display:none!important}}@media (max-width: 1919.98px){.hidden-lg-and-down{display:none!important}}@media (max-width: 2559.98px){.hidden-xl-and-down{display:none!important}}.elevation-24{box-shadow:0 11px 15px -7px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 24px 38px 3px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 9px 46px 8px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-23{box-shadow:0 11px 14px -7px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 23px 36px 3px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 9px 44px 8px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-22{box-shadow:0 10px 14px -6px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 22px 35px 3px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 8px 42px 7px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-21{box-shadow:0 10px 13px -6px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 21px 33px 3px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 8px 40px 7px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-20{box-shadow:0 10px 13px -6px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 20px 31px 3px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 8px 38px 7px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-19{box-shadow:0 9px 12px -6px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 19px 29px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 7px 36px 6px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-18{box-shadow:0 9px 11px -5px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 18px 28px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 7px 34px 6px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-17{box-shadow:0 8px 11px -5px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 17px 26px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 6px 32px 5px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-16{box-shadow:0 8px 10px -5px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 16px 24px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 6px 30px 5px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-15{box-shadow:0 8px 9px -5px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 15px 22px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 6px 28px 5px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-14{box-shadow:0 7px 9px -4px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 14px 21px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 5px 26px 4px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-13{box-shadow:0 7px 8px -4px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 13px 19px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 5px 24px 4px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-12{box-shadow:0 7px 8px -4px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 12px 17px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 5px 22px 4px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-11{box-shadow:0 6px 7px -4px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 11px 15px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 4px 20px 3px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-10{box-shadow:0 6px 6px -3px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 10px 14px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 4px 18px 3px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-9{box-shadow:0 5px 6px -3px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 9px 12px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 3px 16px 2px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-8{box-shadow:0 5px 5px -3px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 8px 10px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 3px 14px 2px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-7{box-shadow:0 4px 5px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 7px 10px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 2px 16px 1px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-6{box-shadow:0 3px 5px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 6px 10px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 18px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-5{box-shadow:0 3px 5px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 5px 8px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 14px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-4{box-shadow:0 2px 4px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 4px 5px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 10px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-3{box-shadow:0 3px 3px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 3px 4px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 8px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-2{box-shadow:0 3px 1px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 2px 2px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 5px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-1{box-shadow:0 2px 1px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 1px 1px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 3px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-0{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.pointer-events-none{pointer-events:none!important}.pointer-events-auto{pointer-events:auto!important}.pointer-pass-through{pointer-events:none!important}.pointer-pass-through>*{pointer-events:auto!important}.d-sr-only,.d-sr-only-focusable:not(:focus){border:0!important;clip:rect(0,0,0,0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-scroll{overflow-y:scroll!important}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.float-none{float:none!important}.float-left{float:left!important}.float-right{float:right!important}.v-locale--is-rtl .float-end{float:left!important}.v-locale--is-rtl .float-start,.v-locale--is-ltr .float-end{float:right!important}.v-locale--is-ltr .float-start{float:left!important}.flex-fill,.flex-1-1{flex:1 1 auto!important}.flex-1-0{flex:1 0 auto!important}.flex-0-1{flex:0 1 auto!important}.flex-0-0{flex:0 0 auto!important}.flex-1-1-100{flex:1 1 100%!important}.flex-1-0-100{flex:1 0 100%!important}.flex-0-1-100{flex:0 1 100%!important}.flex-0-0-100{flex:0 0 100%!important}.flex-1-1-0{flex:1 1 0!important}.flex-1-0-0{flex:1 0 0!important}.flex-0-1-0{flex:0 1 0!important}.flex-0-0-0{flex:0 0 0!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-start{justify-content:flex-start!important}.justify-end{justify-content:flex-end!important}.justify-center{justify-content:center!important}.justify-space-between{justify-content:space-between!important}.justify-space-around{justify-content:space-around!important}.justify-space-evenly{justify-content:space-evenly!important}.justify-items-start{justify-items:flex-start!important}.justify-items-end{justify-items:flex-end!important}.justify-items-center{justify-items:center!important}.justify-items-stretch{justify-items:stretch!important}.align-start{align-items:flex-start!important}.align-end{align-items:flex-end!important}.align-center{align-items:center!important}.align-baseline{align-items:baseline!important}.align-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-space-between{align-content:space-between!important}.align-content-space-around{align-content:space-around!important}.align-content-space-evenly{align-content:space-evenly!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-6{order:6!important}.order-7{order:7!important}.order-8{order:8!important}.order-9{order:9!important}.order-10{order:10!important}.order-11{order:11!important}.order-12{order:12!important}.order-last{order:13!important}.ga-0{gap:0px!important}.ga-1{gap:4px!important}.ga-2{gap:8px!important}.ga-3{gap:12px!important}.ga-4{gap:16px!important}.ga-5{gap:20px!important}.ga-6{gap:24px!important}.ga-7{gap:28px!important}.ga-8{gap:32px!important}.ga-9{gap:36px!important}.ga-10{gap:40px!important}.ga-11{gap:44px!important}.ga-12{gap:48px!important}.ga-13{gap:52px!important}.ga-14{gap:56px!important}.ga-15{gap:60px!important}.ga-16{gap:64px!important}.ga-auto{gap:auto!important}.gr-0{row-gap:0px!important}.gr-1{row-gap:4px!important}.gr-2{row-gap:8px!important}.gr-3{row-gap:12px!important}.gr-4{row-gap:16px!important}.gr-5{row-gap:20px!important}.gr-6{row-gap:24px!important}.gr-7{row-gap:28px!important}.gr-8{row-gap:32px!important}.gr-9{row-gap:36px!important}.gr-10{row-gap:40px!important}.gr-11{row-gap:44px!important}.gr-12{row-gap:48px!important}.gr-13{row-gap:52px!important}.gr-14{row-gap:56px!important}.gr-15{row-gap:60px!important}.gr-16{row-gap:64px!important}.gr-auto{row-gap:auto!important}.gc-0{column-gap:0px!important}.gc-1{column-gap:4px!important}.gc-2{column-gap:8px!important}.gc-3{column-gap:12px!important}.gc-4{column-gap:16px!important}.gc-5{column-gap:20px!important}.gc-6{column-gap:24px!important}.gc-7{column-gap:28px!important}.gc-8{column-gap:32px!important}.gc-9{column-gap:36px!important}.gc-10{column-gap:40px!important}.gc-11{column-gap:44px!important}.gc-12{column-gap:48px!important}.gc-13{column-gap:52px!important}.gc-14{column-gap:56px!important}.gc-15{column-gap:60px!important}.gc-16{column-gap:64px!important}.gc-auto{column-gap:auto!important}.ma-0{margin:0!important}.ma-1{margin:4px!important}.ma-2{margin:8px!important}.ma-3{margin:12px!important}.ma-4{margin:16px!important}.ma-5{margin:20px!important}.ma-6{margin:24px!important}.ma-7{margin:28px!important}.ma-8{margin:32px!important}.ma-9{margin:36px!important}.ma-10{margin:40px!important}.ma-11{margin:44px!important}.ma-12{margin:48px!important}.ma-13{margin:52px!important}.ma-14{margin:56px!important}.ma-15{margin:60px!important}.ma-16{margin:64px!important}.ma-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:4px!important;margin-left:4px!important}.mx-2{margin-right:8px!important;margin-left:8px!important}.mx-3{margin-right:12px!important;margin-left:12px!important}.mx-4{margin-right:16px!important;margin-left:16px!important}.mx-5{margin-right:20px!important;margin-left:20px!important}.mx-6{margin-right:24px!important;margin-left:24px!important}.mx-7{margin-right:28px!important;margin-left:28px!important}.mx-8{margin-right:32px!important;margin-left:32px!important}.mx-9{margin-right:36px!important;margin-left:36px!important}.mx-10{margin-right:40px!important;margin-left:40px!important}.mx-11{margin-right:44px!important;margin-left:44px!important}.mx-12{margin-right:48px!important;margin-left:48px!important}.mx-13{margin-right:52px!important;margin-left:52px!important}.mx-14{margin-right:56px!important;margin-left:56px!important}.mx-15{margin-right:60px!important;margin-left:60px!important}.mx-16{margin-right:64px!important;margin-left:64px!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:4px!important;margin-bottom:4px!important}.my-2{margin-top:8px!important;margin-bottom:8px!important}.my-3{margin-top:12px!important;margin-bottom:12px!important}.my-4{margin-top:16px!important;margin-bottom:16px!important}.my-5{margin-top:20px!important;margin-bottom:20px!important}.my-6{margin-top:24px!important;margin-bottom:24px!important}.my-7{margin-top:28px!important;margin-bottom:28px!important}.my-8{margin-top:32px!important;margin-bottom:32px!important}.my-9{margin-top:36px!important;margin-bottom:36px!important}.my-10{margin-top:40px!important;margin-bottom:40px!important}.my-11{margin-top:44px!important;margin-bottom:44px!important}.my-12{margin-top:48px!important;margin-bottom:48px!important}.my-13{margin-top:52px!important;margin-bottom:52px!important}.my-14{margin-top:56px!important;margin-bottom:56px!important}.my-15{margin-top:60px!important;margin-bottom:60px!important}.my-16{margin-top:64px!important;margin-bottom:64px!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:4px!important}.mt-2{margin-top:8px!important}.mt-3{margin-top:12px!important}.mt-4{margin-top:16px!important}.mt-5{margin-top:20px!important}.mt-6{margin-top:24px!important}.mt-7{margin-top:28px!important}.mt-8{margin-top:32px!important}.mt-9{margin-top:36px!important}.mt-10{margin-top:40px!important}.mt-11{margin-top:44px!important}.mt-12{margin-top:48px!important}.mt-13{margin-top:52px!important}.mt-14{margin-top:56px!important}.mt-15{margin-top:60px!important}.mt-16{margin-top:64px!important}.mt-auto{margin-top:auto!important}.mr-0{margin-right:0!important}.mr-1{margin-right:4px!important}.mr-2{margin-right:8px!important}.mr-3{margin-right:12px!important}.mr-4{margin-right:16px!important}.mr-5{margin-right:20px!important}.mr-6{margin-right:24px!important}.mr-7{margin-right:28px!important}.mr-8{margin-right:32px!important}.mr-9{margin-right:36px!important}.mr-10{margin-right:40px!important}.mr-11{margin-right:44px!important}.mr-12{margin-right:48px!important}.mr-13{margin-right:52px!important}.mr-14{margin-right:56px!important}.mr-15{margin-right:60px!important}.mr-16{margin-right:64px!important}.mr-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:4px!important}.mb-2{margin-bottom:8px!important}.mb-3{margin-bottom:12px!important}.mb-4{margin-bottom:16px!important}.mb-5{margin-bottom:20px!important}.mb-6{margin-bottom:24px!important}.mb-7{margin-bottom:28px!important}.mb-8{margin-bottom:32px!important}.mb-9{margin-bottom:36px!important}.mb-10{margin-bottom:40px!important}.mb-11{margin-bottom:44px!important}.mb-12{margin-bottom:48px!important}.mb-13{margin-bottom:52px!important}.mb-14{margin-bottom:56px!important}.mb-15{margin-bottom:60px!important}.mb-16{margin-bottom:64px!important}.mb-auto{margin-bottom:auto!important}.ml-0{margin-left:0!important}.ml-1{margin-left:4px!important}.ml-2{margin-left:8px!important}.ml-3{margin-left:12px!important}.ml-4{margin-left:16px!important}.ml-5{margin-left:20px!important}.ml-6{margin-left:24px!important}.ml-7{margin-left:28px!important}.ml-8{margin-left:32px!important}.ml-9{margin-left:36px!important}.ml-10{margin-left:40px!important}.ml-11{margin-left:44px!important}.ml-12{margin-left:48px!important}.ml-13{margin-left:52px!important}.ml-14{margin-left:56px!important}.ml-15{margin-left:60px!important}.ml-16{margin-left:64px!important}.ml-auto{margin-left:auto!important}.ms-0{margin-inline-start:0px!important}.ms-1{margin-inline-start:4px!important}.ms-2{margin-inline-start:8px!important}.ms-3{margin-inline-start:12px!important}.ms-4{margin-inline-start:16px!important}.ms-5{margin-inline-start:20px!important}.ms-6{margin-inline-start:24px!important}.ms-7{margin-inline-start:28px!important}.ms-8{margin-inline-start:32px!important}.ms-9{margin-inline-start:36px!important}.ms-10{margin-inline-start:40px!important}.ms-11{margin-inline-start:44px!important}.ms-12{margin-inline-start:48px!important}.ms-13{margin-inline-start:52px!important}.ms-14{margin-inline-start:56px!important}.ms-15{margin-inline-start:60px!important}.ms-16{margin-inline-start:64px!important}.ms-auto{margin-inline-start:auto!important}.me-0{margin-inline-end:0px!important}.me-1{margin-inline-end:4px!important}.me-2{margin-inline-end:8px!important}.me-3{margin-inline-end:12px!important}.me-4{margin-inline-end:16px!important}.me-5{margin-inline-end:20px!important}.me-6{margin-inline-end:24px!important}.me-7{margin-inline-end:28px!important}.me-8{margin-inline-end:32px!important}.me-9{margin-inline-end:36px!important}.me-10{margin-inline-end:40px!important}.me-11{margin-inline-end:44px!important}.me-12{margin-inline-end:48px!important}.me-13{margin-inline-end:52px!important}.me-14{margin-inline-end:56px!important}.me-15{margin-inline-end:60px!important}.me-16{margin-inline-end:64px!important}.me-auto{margin-inline-end:auto!important}.ma-n1{margin:-4px!important}.ma-n2{margin:-8px!important}.ma-n3{margin:-12px!important}.ma-n4{margin:-16px!important}.ma-n5{margin:-20px!important}.ma-n6{margin:-24px!important}.ma-n7{margin:-28px!important}.ma-n8{margin:-32px!important}.ma-n9{margin:-36px!important}.ma-n10{margin:-40px!important}.ma-n11{margin:-44px!important}.ma-n12{margin:-48px!important}.ma-n13{margin:-52px!important}.ma-n14{margin:-56px!important}.ma-n15{margin:-60px!important}.ma-n16{margin:-64px!important}.mx-n1{margin-right:-4px!important;margin-left:-4px!important}.mx-n2{margin-right:-8px!important;margin-left:-8px!important}.mx-n3{margin-right:-12px!important;margin-left:-12px!important}.mx-n4{margin-right:-16px!important;margin-left:-16px!important}.mx-n5{margin-right:-20px!important;margin-left:-20px!important}.mx-n6{margin-right:-24px!important;margin-left:-24px!important}.mx-n7{margin-right:-28px!important;margin-left:-28px!important}.mx-n8{margin-right:-32px!important;margin-left:-32px!important}.mx-n9{margin-right:-36px!important;margin-left:-36px!important}.mx-n10{margin-right:-40px!important;margin-left:-40px!important}.mx-n11{margin-right:-44px!important;margin-left:-44px!important}.mx-n12{margin-right:-48px!important;margin-left:-48px!important}.mx-n13{margin-right:-52px!important;margin-left:-52px!important}.mx-n14{margin-right:-56px!important;margin-left:-56px!important}.mx-n15{margin-right:-60px!important;margin-left:-60px!important}.mx-n16{margin-right:-64px!important;margin-left:-64px!important}.my-n1{margin-top:-4px!important;margin-bottom:-4px!important}.my-n2{margin-top:-8px!important;margin-bottom:-8px!important}.my-n3{margin-top:-12px!important;margin-bottom:-12px!important}.my-n4{margin-top:-16px!important;margin-bottom:-16px!important}.my-n5{margin-top:-20px!important;margin-bottom:-20px!important}.my-n6{margin-top:-24px!important;margin-bottom:-24px!important}.my-n7{margin-top:-28px!important;margin-bottom:-28px!important}.my-n8{margin-top:-32px!important;margin-bottom:-32px!important}.my-n9{margin-top:-36px!important;margin-bottom:-36px!important}.my-n10{margin-top:-40px!important;margin-bottom:-40px!important}.my-n11{margin-top:-44px!important;margin-bottom:-44px!important}.my-n12{margin-top:-48px!important;margin-bottom:-48px!important}.my-n13{margin-top:-52px!important;margin-bottom:-52px!important}.my-n14{margin-top:-56px!important;margin-bottom:-56px!important}.my-n15{margin-top:-60px!important;margin-bottom:-60px!important}.my-n16{margin-top:-64px!important;margin-bottom:-64px!important}.mt-n1{margin-top:-4px!important}.mt-n2{margin-top:-8px!important}.mt-n3{margin-top:-12px!important}.mt-n4{margin-top:-16px!important}.mt-n5{margin-top:-20px!important}.mt-n6{margin-top:-24px!important}.mt-n7{margin-top:-28px!important}.mt-n8{margin-top:-32px!important}.mt-n9{margin-top:-36px!important}.mt-n10{margin-top:-40px!important}.mt-n11{margin-top:-44px!important}.mt-n12{margin-top:-48px!important}.mt-n13{margin-top:-52px!important}.mt-n14{margin-top:-56px!important}.mt-n15{margin-top:-60px!important}.mt-n16{margin-top:-64px!important}.mr-n1{margin-right:-4px!important}.mr-n2{margin-right:-8px!important}.mr-n3{margin-right:-12px!important}.mr-n4{margin-right:-16px!important}.mr-n5{margin-right:-20px!important}.mr-n6{margin-right:-24px!important}.mr-n7{margin-right:-28px!important}.mr-n8{margin-right:-32px!important}.mr-n9{margin-right:-36px!important}.mr-n10{margin-right:-40px!important}.mr-n11{margin-right:-44px!important}.mr-n12{margin-right:-48px!important}.mr-n13{margin-right:-52px!important}.mr-n14{margin-right:-56px!important}.mr-n15{margin-right:-60px!important}.mr-n16{margin-right:-64px!important}.mb-n1{margin-bottom:-4px!important}.mb-n2{margin-bottom:-8px!important}.mb-n3{margin-bottom:-12px!important}.mb-n4{margin-bottom:-16px!important}.mb-n5{margin-bottom:-20px!important}.mb-n6{margin-bottom:-24px!important}.mb-n7{margin-bottom:-28px!important}.mb-n8{margin-bottom:-32px!important}.mb-n9{margin-bottom:-36px!important}.mb-n10{margin-bottom:-40px!important}.mb-n11{margin-bottom:-44px!important}.mb-n12{margin-bottom:-48px!important}.mb-n13{margin-bottom:-52px!important}.mb-n14{margin-bottom:-56px!important}.mb-n15{margin-bottom:-60px!important}.mb-n16{margin-bottom:-64px!important}.ml-n1{margin-left:-4px!important}.ml-n2{margin-left:-8px!important}.ml-n3{margin-left:-12px!important}.ml-n4{margin-left:-16px!important}.ml-n5{margin-left:-20px!important}.ml-n6{margin-left:-24px!important}.ml-n7{margin-left:-28px!important}.ml-n8{margin-left:-32px!important}.ml-n9{margin-left:-36px!important}.ml-n10{margin-left:-40px!important}.ml-n11{margin-left:-44px!important}.ml-n12{margin-left:-48px!important}.ml-n13{margin-left:-52px!important}.ml-n14{margin-left:-56px!important}.ml-n15{margin-left:-60px!important}.ml-n16{margin-left:-64px!important}.ms-n1{margin-inline-start:-4px!important}.ms-n2{margin-inline-start:-8px!important}.ms-n3{margin-inline-start:-12px!important}.ms-n4{margin-inline-start:-16px!important}.ms-n5{margin-inline-start:-20px!important}.ms-n6{margin-inline-start:-24px!important}.ms-n7{margin-inline-start:-28px!important}.ms-n8{margin-inline-start:-32px!important}.ms-n9{margin-inline-start:-36px!important}.ms-n10{margin-inline-start:-40px!important}.ms-n11{margin-inline-start:-44px!important}.ms-n12{margin-inline-start:-48px!important}.ms-n13{margin-inline-start:-52px!important}.ms-n14{margin-inline-start:-56px!important}.ms-n15{margin-inline-start:-60px!important}.ms-n16{margin-inline-start:-64px!important}.me-n1{margin-inline-end:-4px!important}.me-n2{margin-inline-end:-8px!important}.me-n3{margin-inline-end:-12px!important}.me-n4{margin-inline-end:-16px!important}.me-n5{margin-inline-end:-20px!important}.me-n6{margin-inline-end:-24px!important}.me-n7{margin-inline-end:-28px!important}.me-n8{margin-inline-end:-32px!important}.me-n9{margin-inline-end:-36px!important}.me-n10{margin-inline-end:-40px!important}.me-n11{margin-inline-end:-44px!important}.me-n12{margin-inline-end:-48px!important}.me-n13{margin-inline-end:-52px!important}.me-n14{margin-inline-end:-56px!important}.me-n15{margin-inline-end:-60px!important}.me-n16{margin-inline-end:-64px!important}.pa-0{padding:0!important}.pa-1{padding:4px!important}.pa-2{padding:8px!important}.pa-3{padding:12px!important}.pa-4{padding:16px!important}.pa-5{padding:20px!important}.pa-6{padding:24px!important}.pa-7{padding:28px!important}.pa-8{padding:32px!important}.pa-9{padding:36px!important}.pa-10{padding:40px!important}.pa-11{padding:44px!important}.pa-12{padding:48px!important}.pa-13{padding:52px!important}.pa-14{padding:56px!important}.pa-15{padding:60px!important}.pa-16{padding:64px!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:4px!important;padding-left:4px!important}.px-2{padding-right:8px!important;padding-left:8px!important}.px-3{padding-right:12px!important;padding-left:12px!important}.px-4{padding-right:16px!important;padding-left:16px!important}.px-5{padding-right:20px!important;padding-left:20px!important}.px-6{padding-right:24px!important;padding-left:24px!important}.px-7{padding-right:28px!important;padding-left:28px!important}.px-8{padding-right:32px!important;padding-left:32px!important}.px-9{padding-right:36px!important;padding-left:36px!important}.px-10{padding-right:40px!important;padding-left:40px!important}.px-11{padding-right:44px!important;padding-left:44px!important}.px-12{padding-right:48px!important;padding-left:48px!important}.px-13{padding-right:52px!important;padding-left:52px!important}.px-14{padding-right:56px!important;padding-left:56px!important}.px-15{padding-right:60px!important;padding-left:60px!important}.px-16{padding-right:64px!important;padding-left:64px!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:4px!important;padding-bottom:4px!important}.py-2{padding-top:8px!important;padding-bottom:8px!important}.py-3{padding-top:12px!important;padding-bottom:12px!important}.py-4{padding-top:16px!important;padding-bottom:16px!important}.py-5{padding-top:20px!important;padding-bottom:20px!important}.py-6{padding-top:24px!important;padding-bottom:24px!important}.py-7{padding-top:28px!important;padding-bottom:28px!important}.py-8{padding-top:32px!important;padding-bottom:32px!important}.py-9{padding-top:36px!important;padding-bottom:36px!important}.py-10{padding-top:40px!important;padding-bottom:40px!important}.py-11{padding-top:44px!important;padding-bottom:44px!important}.py-12{padding-top:48px!important;padding-bottom:48px!important}.py-13{padding-top:52px!important;padding-bottom:52px!important}.py-14{padding-top:56px!important;padding-bottom:56px!important}.py-15{padding-top:60px!important;padding-bottom:60px!important}.py-16{padding-top:64px!important;padding-bottom:64px!important}.pt-0{padding-top:0!important}.pt-1{padding-top:4px!important}.pt-2{padding-top:8px!important}.pt-3{padding-top:12px!important}.pt-4{padding-top:16px!important}.pt-5{padding-top:20px!important}.pt-6{padding-top:24px!important}.pt-7{padding-top:28px!important}.pt-8{padding-top:32px!important}.pt-9{padding-top:36px!important}.pt-10{padding-top:40px!important}.pt-11{padding-top:44px!important}.pt-12{padding-top:48px!important}.pt-13{padding-top:52px!important}.pt-14{padding-top:56px!important}.pt-15{padding-top:60px!important}.pt-16{padding-top:64px!important}.pr-0{padding-right:0!important}.pr-1{padding-right:4px!important}.pr-2{padding-right:8px!important}.pr-3{padding-right:12px!important}.pr-4{padding-right:16px!important}.pr-5{padding-right:20px!important}.pr-6{padding-right:24px!important}.pr-7{padding-right:28px!important}.pr-8{padding-right:32px!important}.pr-9{padding-right:36px!important}.pr-10{padding-right:40px!important}.pr-11{padding-right:44px!important}.pr-12{padding-right:48px!important}.pr-13{padding-right:52px!important}.pr-14{padding-right:56px!important}.pr-15{padding-right:60px!important}.pr-16{padding-right:64px!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:4px!important}.pb-2{padding-bottom:8px!important}.pb-3{padding-bottom:12px!important}.pb-4{padding-bottom:16px!important}.pb-5{padding-bottom:20px!important}.pb-6{padding-bottom:24px!important}.pb-7{padding-bottom:28px!important}.pb-8{padding-bottom:32px!important}.pb-9{padding-bottom:36px!important}.pb-10{padding-bottom:40px!important}.pb-11{padding-bottom:44px!important}.pb-12{padding-bottom:48px!important}.pb-13{padding-bottom:52px!important}.pb-14{padding-bottom:56px!important}.pb-15{padding-bottom:60px!important}.pb-16{padding-bottom:64px!important}.pl-0{padding-left:0!important}.pl-1{padding-left:4px!important}.pl-2{padding-left:8px!important}.pl-3{padding-left:12px!important}.pl-4{padding-left:16px!important}.pl-5{padding-left:20px!important}.pl-6{padding-left:24px!important}.pl-7{padding-left:28px!important}.pl-8{padding-left:32px!important}.pl-9{padding-left:36px!important}.pl-10{padding-left:40px!important}.pl-11{padding-left:44px!important}.pl-12{padding-left:48px!important}.pl-13{padding-left:52px!important}.pl-14{padding-left:56px!important}.pl-15{padding-left:60px!important}.pl-16{padding-left:64px!important}.ps-0{padding-inline-start:0px!important}.ps-1{padding-inline-start:4px!important}.ps-2{padding-inline-start:8px!important}.ps-3{padding-inline-start:12px!important}.ps-4{padding-inline-start:16px!important}.ps-5{padding-inline-start:20px!important}.ps-6{padding-inline-start:24px!important}.ps-7{padding-inline-start:28px!important}.ps-8{padding-inline-start:32px!important}.ps-9{padding-inline-start:36px!important}.ps-10{padding-inline-start:40px!important}.ps-11{padding-inline-start:44px!important}.ps-12{padding-inline-start:48px!important}.ps-13{padding-inline-start:52px!important}.ps-14{padding-inline-start:56px!important}.ps-15{padding-inline-start:60px!important}.ps-16{padding-inline-start:64px!important}.pe-0{padding-inline-end:0px!important}.pe-1{padding-inline-end:4px!important}.pe-2{padding-inline-end:8px!important}.pe-3{padding-inline-end:12px!important}.pe-4{padding-inline-end:16px!important}.pe-5{padding-inline-end:20px!important}.pe-6{padding-inline-end:24px!important}.pe-7{padding-inline-end:28px!important}.pe-8{padding-inline-end:32px!important}.pe-9{padding-inline-end:36px!important}.pe-10{padding-inline-end:40px!important}.pe-11{padding-inline-end:44px!important}.pe-12{padding-inline-end:48px!important}.pe-13{padding-inline-end:52px!important}.pe-14{padding-inline-end:56px!important}.pe-15{padding-inline-end:60px!important}.pe-16{padding-inline-end:64px!important}.rounded-0{border-radius:0!important}.rounded-sm{border-radius:2px!important}.rounded{border-radius:4px!important}.rounded-lg{border-radius:8px!important}.rounded-xl{border-radius:24px!important}.rounded-pill{border-radius:9999px!important}.rounded-circle{border-radius:50%!important}.rounded-shaped{border-radius:24px 0!important}.rounded-t-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-t-sm{border-top-left-radius:2px!important;border-top-right-radius:2px!important}.rounded-t{border-top-left-radius:4px!important;border-top-right-radius:4px!important}.rounded-t-lg{border-top-left-radius:8px!important;border-top-right-radius:8px!important}.rounded-t-xl{border-top-left-radius:24px!important;border-top-right-radius:24px!important}.rounded-t-pill{border-top-left-radius:9999px!important;border-top-right-radius:9999px!important}.rounded-t-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-t-shaped{border-top-left-radius:24px!important;border-top-right-radius:0!important}.v-locale--is-ltr .rounded-e-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.v-locale--is-rtl .rounded-e-0{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.v-locale--is-ltr .rounded-e-sm{border-top-right-radius:2px!important;border-bottom-right-radius:2px!important}.v-locale--is-rtl .rounded-e-sm{border-top-left-radius:2px!important;border-bottom-left-radius:2px!important}.v-locale--is-ltr .rounded-e{border-top-right-radius:4px!important;border-bottom-right-radius:4px!important}.v-locale--is-rtl .rounded-e{border-top-left-radius:4px!important;border-bottom-left-radius:4px!important}.v-locale--is-ltr .rounded-e-lg{border-top-right-radius:8px!important;border-bottom-right-radius:8px!important}.v-locale--is-rtl .rounded-e-lg{border-top-left-radius:8px!important;border-bottom-left-radius:8px!important}.v-locale--is-ltr .rounded-e-xl{border-top-right-radius:24px!important;border-bottom-right-radius:24px!important}.v-locale--is-rtl .rounded-e-xl{border-top-left-radius:24px!important;border-bottom-left-radius:24px!important}.v-locale--is-ltr .rounded-e-pill{border-top-right-radius:9999px!important;border-bottom-right-radius:9999px!important}.v-locale--is-rtl .rounded-e-pill{border-top-left-radius:9999px!important;border-bottom-left-radius:9999px!important}.v-locale--is-ltr .rounded-e-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.v-locale--is-rtl .rounded-e-circle{border-top-left-radius:50%!important;border-bottom-left-radius:50%!important}.v-locale--is-ltr .rounded-e-shaped{border-top-right-radius:24px!important;border-bottom-right-radius:0!important}.v-locale--is-rtl .rounded-e-shaped{border-top-left-radius:24px!important;border-bottom-left-radius:0!important}.rounded-b-0{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.rounded-b-sm{border-bottom-left-radius:2px!important;border-bottom-right-radius:2px!important}.rounded-b{border-bottom-left-radius:4px!important;border-bottom-right-radius:4px!important}.rounded-b-lg{border-bottom-left-radius:8px!important;border-bottom-right-radius:8px!important}.rounded-b-xl{border-bottom-left-radius:24px!important;border-bottom-right-radius:24px!important}.rounded-b-pill{border-bottom-left-radius:9999px!important;border-bottom-right-radius:9999px!important}.rounded-b-circle{border-bottom-left-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-b-shaped{border-bottom-left-radius:24px!important;border-bottom-right-radius:0!important}.v-locale--is-ltr .rounded-s-0{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.v-locale--is-rtl .rounded-s-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.v-locale--is-ltr .rounded-s-sm{border-top-left-radius:2px!important;border-bottom-left-radius:2px!important}.v-locale--is-rtl .rounded-s-sm{border-top-right-radius:2px!important;border-bottom-right-radius:2px!important}.v-locale--is-ltr .rounded-s{border-top-left-radius:4px!important;border-bottom-left-radius:4px!important}.v-locale--is-rtl .rounded-s{border-top-right-radius:4px!important;border-bottom-right-radius:4px!important}.v-locale--is-ltr .rounded-s-lg{border-top-left-radius:8px!important;border-bottom-left-radius:8px!important}.v-locale--is-rtl .rounded-s-lg{border-top-right-radius:8px!important;border-bottom-right-radius:8px!important}.v-locale--is-ltr .rounded-s-xl{border-top-left-radius:24px!important;border-bottom-left-radius:24px!important}.v-locale--is-rtl .rounded-s-xl{border-top-right-radius:24px!important;border-bottom-right-radius:24px!important}.v-locale--is-ltr .rounded-s-pill{border-top-left-radius:9999px!important;border-bottom-left-radius:9999px!important}.v-locale--is-rtl .rounded-s-pill{border-top-right-radius:9999px!important;border-bottom-right-radius:9999px!important}.v-locale--is-ltr .rounded-s-circle{border-top-left-radius:50%!important;border-bottom-left-radius:50%!important}.v-locale--is-rtl .rounded-s-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.v-locale--is-ltr .rounded-s-shaped{border-top-left-radius:24px!important;border-bottom-left-radius:0!important}.v-locale--is-rtl .rounded-s-shaped{border-top-right-radius:24px!important;border-bottom-right-radius:0!important}.v-locale--is-ltr .rounded-ts-0{border-top-left-radius:0!important}.v-locale--is-rtl .rounded-ts-0{border-top-right-radius:0!important}.v-locale--is-ltr .rounded-ts-sm{border-top-left-radius:2px!important}.v-locale--is-rtl .rounded-ts-sm{border-top-right-radius:2px!important}.v-locale--is-ltr .rounded-ts{border-top-left-radius:4px!important}.v-locale--is-rtl .rounded-ts{border-top-right-radius:4px!important}.v-locale--is-ltr .rounded-ts-lg{border-top-left-radius:8px!important}.v-locale--is-rtl .rounded-ts-lg{border-top-right-radius:8px!important}.v-locale--is-ltr .rounded-ts-xl{border-top-left-radius:24px!important}.v-locale--is-rtl .rounded-ts-xl{border-top-right-radius:24px!important}.v-locale--is-ltr .rounded-ts-pill{border-top-left-radius:9999px!important}.v-locale--is-rtl .rounded-ts-pill{border-top-right-radius:9999px!important}.v-locale--is-ltr .rounded-ts-circle{border-top-left-radius:50%!important}.v-locale--is-rtl .rounded-ts-circle{border-top-right-radius:50%!important}.v-locale--is-ltr .rounded-ts-shaped{border-top-left-radius:24px 0!important}.v-locale--is-rtl .rounded-ts-shaped{border-top-right-radius:24px 0!important}.v-locale--is-ltr .rounded-te-0{border-top-right-radius:0!important}.v-locale--is-rtl .rounded-te-0{border-top-left-radius:0!important}.v-locale--is-ltr .rounded-te-sm{border-top-right-radius:2px!important}.v-locale--is-rtl .rounded-te-sm{border-top-left-radius:2px!important}.v-locale--is-ltr .rounded-te{border-top-right-radius:4px!important}.v-locale--is-rtl .rounded-te{border-top-left-radius:4px!important}.v-locale--is-ltr .rounded-te-lg{border-top-right-radius:8px!important}.v-locale--is-rtl .rounded-te-lg{border-top-left-radius:8px!important}.v-locale--is-ltr .rounded-te-xl{border-top-right-radius:24px!important}.v-locale--is-rtl .rounded-te-xl{border-top-left-radius:24px!important}.v-locale--is-ltr .rounded-te-pill{border-top-right-radius:9999px!important}.v-locale--is-rtl .rounded-te-pill{border-top-left-radius:9999px!important}.v-locale--is-ltr .rounded-te-circle{border-top-right-radius:50%!important}.v-locale--is-rtl .rounded-te-circle{border-top-left-radius:50%!important}.v-locale--is-ltr .rounded-te-shaped{border-top-right-radius:24px 0!important}.v-locale--is-rtl .rounded-te-shaped{border-top-left-radius:24px 0!important}.v-locale--is-ltr .rounded-be-0{border-bottom-right-radius:0!important}.v-locale--is-rtl .rounded-be-0{border-bottom-left-radius:0!important}.v-locale--is-ltr .rounded-be-sm{border-bottom-right-radius:2px!important}.v-locale--is-rtl .rounded-be-sm{border-bottom-left-radius:2px!important}.v-locale--is-ltr .rounded-be{border-bottom-right-radius:4px!important}.v-locale--is-rtl .rounded-be{border-bottom-left-radius:4px!important}.v-locale--is-ltr .rounded-be-lg{border-bottom-right-radius:8px!important}.v-locale--is-rtl .rounded-be-lg{border-bottom-left-radius:8px!important}.v-locale--is-ltr .rounded-be-xl{border-bottom-right-radius:24px!important}.v-locale--is-rtl .rounded-be-xl{border-bottom-left-radius:24px!important}.v-locale--is-ltr .rounded-be-pill{border-bottom-right-radius:9999px!important}.v-locale--is-rtl .rounded-be-pill{border-bottom-left-radius:9999px!important}.v-locale--is-ltr .rounded-be-circle{border-bottom-right-radius:50%!important}.v-locale--is-rtl .rounded-be-circle{border-bottom-left-radius:50%!important}.v-locale--is-ltr .rounded-be-shaped{border-bottom-right-radius:24px 0!important}.v-locale--is-rtl .rounded-be-shaped{border-bottom-left-radius:24px 0!important}.v-locale--is-ltr .rounded-bs-0{border-bottom-left-radius:0!important}.v-locale--is-rtl .rounded-bs-0{border-bottom-right-radius:0!important}.v-locale--is-ltr .rounded-bs-sm{border-bottom-left-radius:2px!important}.v-locale--is-rtl .rounded-bs-sm{border-bottom-right-radius:2px!important}.v-locale--is-ltr .rounded-bs{border-bottom-left-radius:4px!important}.v-locale--is-rtl .rounded-bs{border-bottom-right-radius:4px!important}.v-locale--is-ltr .rounded-bs-lg{border-bottom-left-radius:8px!important}.v-locale--is-rtl .rounded-bs-lg{border-bottom-right-radius:8px!important}.v-locale--is-ltr .rounded-bs-xl{border-bottom-left-radius:24px!important}.v-locale--is-rtl .rounded-bs-xl{border-bottom-right-radius:24px!important}.v-locale--is-ltr .rounded-bs-pill{border-bottom-left-radius:9999px!important}.v-locale--is-rtl .rounded-bs-pill{border-bottom-right-radius:9999px!important}.v-locale--is-ltr .rounded-bs-circle{border-bottom-left-radius:50%!important}.v-locale--is-rtl .rounded-bs-circle{border-bottom-right-radius:50%!important}.v-locale--is-ltr .rounded-bs-shaped{border-bottom-left-radius:24px 0!important}.v-locale--is-rtl .rounded-bs-shaped{border-bottom-right-radius:24px 0!important}.border-0{border-width:0!important;border-style:solid!important;border-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border,.border-thin{border-width:thin!important;border-style:solid!important;border-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-sm{border-width:1px!important;border-style:solid!important;border-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-md{border-width:2px!important;border-style:solid!important;border-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-lg{border-width:4px!important;border-style:solid!important;border-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-xl{border-width:8px!important;border-style:solid!important;border-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-current{border-color:currentColor!important}.border-opacity-0{--v-border-opacity: 0 !important}.border-opacity{--v-border-opacity: .12 !important}.border-opacity-25{--v-border-opacity: .25 !important}.border-opacity-50{--v-border-opacity: .5 !important}.border-opacity-75{--v-border-opacity: .75 !important}.border-opacity-100{--v-border-opacity: 1 !important}.border-t-0{border-block-start-width:0!important;border-block-start-style:solid!important;border-block-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-t,.border-t-thin{border-block-start-width:thin!important;border-block-start-style:solid!important;border-block-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-t-sm{border-block-start-width:1px!important;border-block-start-style:solid!important;border-block-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-t-md{border-block-start-width:2px!important;border-block-start-style:solid!important;border-block-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-t-lg{border-block-start-width:4px!important;border-block-start-style:solid!important;border-block-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-t-xl{border-block-start-width:8px!important;border-block-start-style:solid!important;border-block-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-e-0{border-inline-end-width:0!important;border-inline-end-style:solid!important;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-e,.border-e-thin{border-inline-end-width:thin!important;border-inline-end-style:solid!important;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-e-sm{border-inline-end-width:1px!important;border-inline-end-style:solid!important;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-e-md{border-inline-end-width:2px!important;border-inline-end-style:solid!important;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-e-lg{border-inline-end-width:4px!important;border-inline-end-style:solid!important;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-e-xl{border-inline-end-width:8px!important;border-inline-end-style:solid!important;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-b-0{border-block-end-width:0!important;border-block-end-style:solid!important;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-b,.border-b-thin{border-block-end-width:thin!important;border-block-end-style:solid!important;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-b-sm{border-block-end-width:1px!important;border-block-end-style:solid!important;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-b-md{border-block-end-width:2px!important;border-block-end-style:solid!important;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-b-lg{border-block-end-width:4px!important;border-block-end-style:solid!important;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-b-xl{border-block-end-width:8px!important;border-block-end-style:solid!important;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-s-0{border-inline-start-width:0!important;border-inline-start-style:solid!important;border-inline-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-s,.border-s-thin{border-inline-start-width:thin!important;border-inline-start-style:solid!important;border-inline-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-s-sm{border-inline-start-width:1px!important;border-inline-start-style:solid!important;border-inline-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-s-md{border-inline-start-width:2px!important;border-inline-start-style:solid!important;border-inline-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-s-lg{border-inline-start-width:4px!important;border-inline-start-style:solid!important;border-inline-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-s-xl{border-inline-start-width:8px!important;border-inline-start-style:solid!important;border-inline-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-solid{border-style:solid!important}.border-dashed{border-style:dashed!important}.border-dotted{border-style:dotted!important}.border-double{border-style:double!important}.border-none{border-style:none!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}.text-justify{text-align:justify!important}.text-start{text-align:start!important}.text-end{text-align:end!important}.text-decoration-line-through{text-decoration:line-through!important}.text-decoration-none{text-decoration:none!important}.text-decoration-overline{text-decoration:overline!important}.text-decoration-underline{text-decoration:underline!important}.text-wrap{white-space:normal!important}.text-no-wrap{white-space:nowrap!important}.text-pre{white-space:pre!important}.text-pre-line{white-space:pre-line!important}.text-pre-wrap{white-space:pre-wrap!important}.text-break{overflow-wrap:break-word!important;word-break:break-word!important}.opacity-hover{opacity:var(--v-hover-opacity)!important}.opacity-focus{opacity:var(--v-focus-opacity)!important}.opacity-selected{opacity:var(--v-selected-opacity)!important}.opacity-activated{opacity:var(--v-activated-opacity)!important}.opacity-pressed{opacity:var(--v-pressed-opacity)!important}.opacity-dragged{opacity:var(--v-dragged-opacity)!important}.opacity-0{opacity:0!important}.opacity-10{opacity:.1!important}.opacity-20{opacity:.2!important}.opacity-30{opacity:.3!important}.opacity-40{opacity:.4!important}.opacity-50{opacity:.5!important}.opacity-60{opacity:.6!important}.opacity-70{opacity:.7!important}.opacity-80{opacity:.8!important}.opacity-90{opacity:.9!important}.opacity-100{opacity:1!important}.text-high-emphasis{color:rgba(var(--v-theme-on-background),var(--v-high-emphasis-opacity))!important}.text-medium-emphasis{color:rgba(var(--v-theme-on-background),var(--v-medium-emphasis-opacity))!important}.text-disabled{color:rgba(var(--v-theme-on-background),var(--v-disabled-opacity))!important}.text-truncate{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.text-h1{font-size:6rem!important;font-weight:300;line-height:1;letter-spacing:-.015625em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-h2{font-size:3.75rem!important;font-weight:300;line-height:1;letter-spacing:-.0083333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-h3{font-size:3rem!important;font-weight:400;line-height:1.05;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-h4{font-size:2.125rem!important;font-weight:400;line-height:1.175;letter-spacing:.0073529412em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-h5{font-size:1.5rem!important;font-weight:400;line-height:1.333;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-h6{font-size:1.25rem!important;font-weight:500;line-height:1.6;letter-spacing:.0125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-subtitle-1{font-size:1rem!important;font-weight:400;line-height:1.75;letter-spacing:.009375em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-subtitle-2{font-size:.875rem!important;font-weight:500;line-height:1.6;letter-spacing:.0071428571em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-body-1{font-size:1rem!important;font-weight:400;line-height:1.5;letter-spacing:.03125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-body-2{font-size:.875rem!important;font-weight:400;line-height:1.425;letter-spacing:.0178571429em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-button{font-size:.875rem!important;font-weight:500;line-height:2.6;letter-spacing:.0892857143em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.text-caption{font-size:.75rem!important;font-weight:400;line-height:1.667;letter-spacing:.0333333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-overline{font-size:.75rem!important;font-weight:500;line-height:2.667;letter-spacing:.1666666667em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.text-none{text-transform:none!important}.text-capitalize{text-transform:capitalize!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.font-weight-thin{font-weight:100!important}.font-weight-light{font-weight:300!important}.font-weight-regular{font-weight:400!important}.font-weight-medium{font-weight:500!important}.font-weight-semibold{font-weight:600!important}.font-weight-bold{font-weight:700!important}.font-weight-black{font-weight:900!important}.font-italic{font-style:italic!important}.text-mono{font-family:monospace!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-fixed{position:fixed!important}.position-absolute{position:absolute!important}.position-sticky{position:sticky!important}.top-0{top:0!important}.right-0{right:0!important}.bottom-0{bottom:0!important}.left-0{left:0!important}.cursor-auto{cursor:auto!important}.cursor-default{cursor:default!important}.cursor-pointer{cursor:pointer!important}.cursor-wait{cursor:wait!important}.cursor-text{cursor:text!important}.cursor-move{cursor:move!important}.cursor-help{cursor:help!important}.cursor-not-allowed{cursor:not-allowed!important}.cursor-progress{cursor:progress!important}.cursor-grab{cursor:grab!important}.cursor-grabbing{cursor:grabbing!important}.cursor-none{cursor:none!important}.fill-height{height:100%!important}.h-auto{height:auto!important}.h-screen{height:100vh!important}.h-0{height:0!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-screen{height:100dvh!important}.w-auto{width:auto!important}.w-0{width:0!important}.w-25{width:25%!important}.w-33{width:33%!important}.w-50{width:50%!important}.w-66{width:66%!important}.w-75{width:75%!important}.w-100{width:100%!important}@media (min-width: 600px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.float-sm-none{float:none!important}.float-sm-left{float:left!important}.float-sm-right{float:right!important}.v-locale--is-rtl .float-sm-end{float:left!important}.v-locale--is-rtl .float-sm-start,.v-locale--is-ltr .float-sm-end{float:right!important}.v-locale--is-ltr .float-sm-start{float:left!important}.flex-sm-fill,.flex-sm-1-1{flex:1 1 auto!important}.flex-sm-1-0{flex:1 0 auto!important}.flex-sm-0-1{flex:0 1 auto!important}.flex-sm-0-0{flex:0 0 auto!important}.flex-sm-1-1-100{flex:1 1 100%!important}.flex-sm-1-0-100{flex:1 0 100%!important}.flex-sm-0-1-100{flex:0 1 100%!important}.flex-sm-0-0-100{flex:0 0 100%!important}.flex-sm-1-1-0{flex:1 1 0!important}.flex-sm-1-0-0{flex:1 0 0!important}.flex-sm-0-1-0{flex:0 1 0!important}.flex-sm-0-0-0{flex:0 0 0!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-sm-start{justify-content:flex-start!important}.justify-sm-end{justify-content:flex-end!important}.justify-sm-center{justify-content:center!important}.justify-sm-space-between{justify-content:space-between!important}.justify-sm-space-around{justify-content:space-around!important}.justify-sm-space-evenly{justify-content:space-evenly!important}.justify-items-sm-start{justify-items:flex-start!important}.justify-items-sm-end{justify-items:flex-end!important}.justify-items-sm-center{justify-items:center!important}.justify-items-sm-stretch{justify-items:stretch!important}.align-sm-start{align-items:flex-start!important}.align-sm-end{align-items:flex-end!important}.align-sm-center{align-items:center!important}.align-sm-baseline{align-items:baseline!important}.align-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-space-between{align-content:space-between!important}.align-content-sm-space-around{align-content:space-around!important}.align-content-sm-space-evenly{align-content:space-evenly!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-6{order:6!important}.order-sm-7{order:7!important}.order-sm-8{order:8!important}.order-sm-9{order:9!important}.order-sm-10{order:10!important}.order-sm-11{order:11!important}.order-sm-12{order:12!important}.order-sm-last{order:13!important}.ga-sm-0{gap:0px!important}.ga-sm-1{gap:4px!important}.ga-sm-2{gap:8px!important}.ga-sm-3{gap:12px!important}.ga-sm-4{gap:16px!important}.ga-sm-5{gap:20px!important}.ga-sm-6{gap:24px!important}.ga-sm-7{gap:28px!important}.ga-sm-8{gap:32px!important}.ga-sm-9{gap:36px!important}.ga-sm-10{gap:40px!important}.ga-sm-11{gap:44px!important}.ga-sm-12{gap:48px!important}.ga-sm-13{gap:52px!important}.ga-sm-14{gap:56px!important}.ga-sm-15{gap:60px!important}.ga-sm-16{gap:64px!important}.ga-sm-auto{gap:auto!important}.gr-sm-0{row-gap:0px!important}.gr-sm-1{row-gap:4px!important}.gr-sm-2{row-gap:8px!important}.gr-sm-3{row-gap:12px!important}.gr-sm-4{row-gap:16px!important}.gr-sm-5{row-gap:20px!important}.gr-sm-6{row-gap:24px!important}.gr-sm-7{row-gap:28px!important}.gr-sm-8{row-gap:32px!important}.gr-sm-9{row-gap:36px!important}.gr-sm-10{row-gap:40px!important}.gr-sm-11{row-gap:44px!important}.gr-sm-12{row-gap:48px!important}.gr-sm-13{row-gap:52px!important}.gr-sm-14{row-gap:56px!important}.gr-sm-15{row-gap:60px!important}.gr-sm-16{row-gap:64px!important}.gr-sm-auto{row-gap:auto!important}.gc-sm-0{column-gap:0px!important}.gc-sm-1{column-gap:4px!important}.gc-sm-2{column-gap:8px!important}.gc-sm-3{column-gap:12px!important}.gc-sm-4{column-gap:16px!important}.gc-sm-5{column-gap:20px!important}.gc-sm-6{column-gap:24px!important}.gc-sm-7{column-gap:28px!important}.gc-sm-8{column-gap:32px!important}.gc-sm-9{column-gap:36px!important}.gc-sm-10{column-gap:40px!important}.gc-sm-11{column-gap:44px!important}.gc-sm-12{column-gap:48px!important}.gc-sm-13{column-gap:52px!important}.gc-sm-14{column-gap:56px!important}.gc-sm-15{column-gap:60px!important}.gc-sm-16{column-gap:64px!important}.gc-sm-auto{column-gap:auto!important}.ma-sm-0{margin:0!important}.ma-sm-1{margin:4px!important}.ma-sm-2{margin:8px!important}.ma-sm-3{margin:12px!important}.ma-sm-4{margin:16px!important}.ma-sm-5{margin:20px!important}.ma-sm-6{margin:24px!important}.ma-sm-7{margin:28px!important}.ma-sm-8{margin:32px!important}.ma-sm-9{margin:36px!important}.ma-sm-10{margin:40px!important}.ma-sm-11{margin:44px!important}.ma-sm-12{margin:48px!important}.ma-sm-13{margin:52px!important}.ma-sm-14{margin:56px!important}.ma-sm-15{margin:60px!important}.ma-sm-16{margin:64px!important}.ma-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:4px!important;margin-left:4px!important}.mx-sm-2{margin-right:8px!important;margin-left:8px!important}.mx-sm-3{margin-right:12px!important;margin-left:12px!important}.mx-sm-4{margin-right:16px!important;margin-left:16px!important}.mx-sm-5{margin-right:20px!important;margin-left:20px!important}.mx-sm-6{margin-right:24px!important;margin-left:24px!important}.mx-sm-7{margin-right:28px!important;margin-left:28px!important}.mx-sm-8{margin-right:32px!important;margin-left:32px!important}.mx-sm-9{margin-right:36px!important;margin-left:36px!important}.mx-sm-10{margin-right:40px!important;margin-left:40px!important}.mx-sm-11{margin-right:44px!important;margin-left:44px!important}.mx-sm-12{margin-right:48px!important;margin-left:48px!important}.mx-sm-13{margin-right:52px!important;margin-left:52px!important}.mx-sm-14{margin-right:56px!important;margin-left:56px!important}.mx-sm-15{margin-right:60px!important;margin-left:60px!important}.mx-sm-16{margin-right:64px!important;margin-left:64px!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:4px!important;margin-bottom:4px!important}.my-sm-2{margin-top:8px!important;margin-bottom:8px!important}.my-sm-3{margin-top:12px!important;margin-bottom:12px!important}.my-sm-4{margin-top:16px!important;margin-bottom:16px!important}.my-sm-5{margin-top:20px!important;margin-bottom:20px!important}.my-sm-6{margin-top:24px!important;margin-bottom:24px!important}.my-sm-7{margin-top:28px!important;margin-bottom:28px!important}.my-sm-8{margin-top:32px!important;margin-bottom:32px!important}.my-sm-9{margin-top:36px!important;margin-bottom:36px!important}.my-sm-10{margin-top:40px!important;margin-bottom:40px!important}.my-sm-11{margin-top:44px!important;margin-bottom:44px!important}.my-sm-12{margin-top:48px!important;margin-bottom:48px!important}.my-sm-13{margin-top:52px!important;margin-bottom:52px!important}.my-sm-14{margin-top:56px!important;margin-bottom:56px!important}.my-sm-15{margin-top:60px!important;margin-bottom:60px!important}.my-sm-16{margin-top:64px!important;margin-bottom:64px!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:4px!important}.mt-sm-2{margin-top:8px!important}.mt-sm-3{margin-top:12px!important}.mt-sm-4{margin-top:16px!important}.mt-sm-5{margin-top:20px!important}.mt-sm-6{margin-top:24px!important}.mt-sm-7{margin-top:28px!important}.mt-sm-8{margin-top:32px!important}.mt-sm-9{margin-top:36px!important}.mt-sm-10{margin-top:40px!important}.mt-sm-11{margin-top:44px!important}.mt-sm-12{margin-top:48px!important}.mt-sm-13{margin-top:52px!important}.mt-sm-14{margin-top:56px!important}.mt-sm-15{margin-top:60px!important}.mt-sm-16{margin-top:64px!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-0{margin-right:0!important}.mr-sm-1{margin-right:4px!important}.mr-sm-2{margin-right:8px!important}.mr-sm-3{margin-right:12px!important}.mr-sm-4{margin-right:16px!important}.mr-sm-5{margin-right:20px!important}.mr-sm-6{margin-right:24px!important}.mr-sm-7{margin-right:28px!important}.mr-sm-8{margin-right:32px!important}.mr-sm-9{margin-right:36px!important}.mr-sm-10{margin-right:40px!important}.mr-sm-11{margin-right:44px!important}.mr-sm-12{margin-right:48px!important}.mr-sm-13{margin-right:52px!important}.mr-sm-14{margin-right:56px!important}.mr-sm-15{margin-right:60px!important}.mr-sm-16{margin-right:64px!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:4px!important}.mb-sm-2{margin-bottom:8px!important}.mb-sm-3{margin-bottom:12px!important}.mb-sm-4{margin-bottom:16px!important}.mb-sm-5{margin-bottom:20px!important}.mb-sm-6{margin-bottom:24px!important}.mb-sm-7{margin-bottom:28px!important}.mb-sm-8{margin-bottom:32px!important}.mb-sm-9{margin-bottom:36px!important}.mb-sm-10{margin-bottom:40px!important}.mb-sm-11{margin-bottom:44px!important}.mb-sm-12{margin-bottom:48px!important}.mb-sm-13{margin-bottom:52px!important}.mb-sm-14{margin-bottom:56px!important}.mb-sm-15{margin-bottom:60px!important}.mb-sm-16{margin-bottom:64px!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-0{margin-left:0!important}.ml-sm-1{margin-left:4px!important}.ml-sm-2{margin-left:8px!important}.ml-sm-3{margin-left:12px!important}.ml-sm-4{margin-left:16px!important}.ml-sm-5{margin-left:20px!important}.ml-sm-6{margin-left:24px!important}.ml-sm-7{margin-left:28px!important}.ml-sm-8{margin-left:32px!important}.ml-sm-9{margin-left:36px!important}.ml-sm-10{margin-left:40px!important}.ml-sm-11{margin-left:44px!important}.ml-sm-12{margin-left:48px!important}.ml-sm-13{margin-left:52px!important}.ml-sm-14{margin-left:56px!important}.ml-sm-15{margin-left:60px!important}.ml-sm-16{margin-left:64px!important}.ml-sm-auto{margin-left:auto!important}.ms-sm-0{margin-inline-start:0px!important}.ms-sm-1{margin-inline-start:4px!important}.ms-sm-2{margin-inline-start:8px!important}.ms-sm-3{margin-inline-start:12px!important}.ms-sm-4{margin-inline-start:16px!important}.ms-sm-5{margin-inline-start:20px!important}.ms-sm-6{margin-inline-start:24px!important}.ms-sm-7{margin-inline-start:28px!important}.ms-sm-8{margin-inline-start:32px!important}.ms-sm-9{margin-inline-start:36px!important}.ms-sm-10{margin-inline-start:40px!important}.ms-sm-11{margin-inline-start:44px!important}.ms-sm-12{margin-inline-start:48px!important}.ms-sm-13{margin-inline-start:52px!important}.ms-sm-14{margin-inline-start:56px!important}.ms-sm-15{margin-inline-start:60px!important}.ms-sm-16{margin-inline-start:64px!important}.ms-sm-auto{margin-inline-start:auto!important}.me-sm-0{margin-inline-end:0px!important}.me-sm-1{margin-inline-end:4px!important}.me-sm-2{margin-inline-end:8px!important}.me-sm-3{margin-inline-end:12px!important}.me-sm-4{margin-inline-end:16px!important}.me-sm-5{margin-inline-end:20px!important}.me-sm-6{margin-inline-end:24px!important}.me-sm-7{margin-inline-end:28px!important}.me-sm-8{margin-inline-end:32px!important}.me-sm-9{margin-inline-end:36px!important}.me-sm-10{margin-inline-end:40px!important}.me-sm-11{margin-inline-end:44px!important}.me-sm-12{margin-inline-end:48px!important}.me-sm-13{margin-inline-end:52px!important}.me-sm-14{margin-inline-end:56px!important}.me-sm-15{margin-inline-end:60px!important}.me-sm-16{margin-inline-end:64px!important}.me-sm-auto{margin-inline-end:auto!important}.ma-sm-n1{margin:-4px!important}.ma-sm-n2{margin:-8px!important}.ma-sm-n3{margin:-12px!important}.ma-sm-n4{margin:-16px!important}.ma-sm-n5{margin:-20px!important}.ma-sm-n6{margin:-24px!important}.ma-sm-n7{margin:-28px!important}.ma-sm-n8{margin:-32px!important}.ma-sm-n9{margin:-36px!important}.ma-sm-n10{margin:-40px!important}.ma-sm-n11{margin:-44px!important}.ma-sm-n12{margin:-48px!important}.ma-sm-n13{margin:-52px!important}.ma-sm-n14{margin:-56px!important}.ma-sm-n15{margin:-60px!important}.ma-sm-n16{margin:-64px!important}.mx-sm-n1{margin-right:-4px!important;margin-left:-4px!important}.mx-sm-n2{margin-right:-8px!important;margin-left:-8px!important}.mx-sm-n3{margin-right:-12px!important;margin-left:-12px!important}.mx-sm-n4{margin-right:-16px!important;margin-left:-16px!important}.mx-sm-n5{margin-right:-20px!important;margin-left:-20px!important}.mx-sm-n6{margin-right:-24px!important;margin-left:-24px!important}.mx-sm-n7{margin-right:-28px!important;margin-left:-28px!important}.mx-sm-n8{margin-right:-32px!important;margin-left:-32px!important}.mx-sm-n9{margin-right:-36px!important;margin-left:-36px!important}.mx-sm-n10{margin-right:-40px!important;margin-left:-40px!important}.mx-sm-n11{margin-right:-44px!important;margin-left:-44px!important}.mx-sm-n12{margin-right:-48px!important;margin-left:-48px!important}.mx-sm-n13{margin-right:-52px!important;margin-left:-52px!important}.mx-sm-n14{margin-right:-56px!important;margin-left:-56px!important}.mx-sm-n15{margin-right:-60px!important;margin-left:-60px!important}.mx-sm-n16{margin-right:-64px!important;margin-left:-64px!important}.my-sm-n1{margin-top:-4px!important;margin-bottom:-4px!important}.my-sm-n2{margin-top:-8px!important;margin-bottom:-8px!important}.my-sm-n3{margin-top:-12px!important;margin-bottom:-12px!important}.my-sm-n4{margin-top:-16px!important;margin-bottom:-16px!important}.my-sm-n5{margin-top:-20px!important;margin-bottom:-20px!important}.my-sm-n6{margin-top:-24px!important;margin-bottom:-24px!important}.my-sm-n7{margin-top:-28px!important;margin-bottom:-28px!important}.my-sm-n8{margin-top:-32px!important;margin-bottom:-32px!important}.my-sm-n9{margin-top:-36px!important;margin-bottom:-36px!important}.my-sm-n10{margin-top:-40px!important;margin-bottom:-40px!important}.my-sm-n11{margin-top:-44px!important;margin-bottom:-44px!important}.my-sm-n12{margin-top:-48px!important;margin-bottom:-48px!important}.my-sm-n13{margin-top:-52px!important;margin-bottom:-52px!important}.my-sm-n14{margin-top:-56px!important;margin-bottom:-56px!important}.my-sm-n15{margin-top:-60px!important;margin-bottom:-60px!important}.my-sm-n16{margin-top:-64px!important;margin-bottom:-64px!important}.mt-sm-n1{margin-top:-4px!important}.mt-sm-n2{margin-top:-8px!important}.mt-sm-n3{margin-top:-12px!important}.mt-sm-n4{margin-top:-16px!important}.mt-sm-n5{margin-top:-20px!important}.mt-sm-n6{margin-top:-24px!important}.mt-sm-n7{margin-top:-28px!important}.mt-sm-n8{margin-top:-32px!important}.mt-sm-n9{margin-top:-36px!important}.mt-sm-n10{margin-top:-40px!important}.mt-sm-n11{margin-top:-44px!important}.mt-sm-n12{margin-top:-48px!important}.mt-sm-n13{margin-top:-52px!important}.mt-sm-n14{margin-top:-56px!important}.mt-sm-n15{margin-top:-60px!important}.mt-sm-n16{margin-top:-64px!important}.mr-sm-n1{margin-right:-4px!important}.mr-sm-n2{margin-right:-8px!important}.mr-sm-n3{margin-right:-12px!important}.mr-sm-n4{margin-right:-16px!important}.mr-sm-n5{margin-right:-20px!important}.mr-sm-n6{margin-right:-24px!important}.mr-sm-n7{margin-right:-28px!important}.mr-sm-n8{margin-right:-32px!important}.mr-sm-n9{margin-right:-36px!important}.mr-sm-n10{margin-right:-40px!important}.mr-sm-n11{margin-right:-44px!important}.mr-sm-n12{margin-right:-48px!important}.mr-sm-n13{margin-right:-52px!important}.mr-sm-n14{margin-right:-56px!important}.mr-sm-n15{margin-right:-60px!important}.mr-sm-n16{margin-right:-64px!important}.mb-sm-n1{margin-bottom:-4px!important}.mb-sm-n2{margin-bottom:-8px!important}.mb-sm-n3{margin-bottom:-12px!important}.mb-sm-n4{margin-bottom:-16px!important}.mb-sm-n5{margin-bottom:-20px!important}.mb-sm-n6{margin-bottom:-24px!important}.mb-sm-n7{margin-bottom:-28px!important}.mb-sm-n8{margin-bottom:-32px!important}.mb-sm-n9{margin-bottom:-36px!important}.mb-sm-n10{margin-bottom:-40px!important}.mb-sm-n11{margin-bottom:-44px!important}.mb-sm-n12{margin-bottom:-48px!important}.mb-sm-n13{margin-bottom:-52px!important}.mb-sm-n14{margin-bottom:-56px!important}.mb-sm-n15{margin-bottom:-60px!important}.mb-sm-n16{margin-bottom:-64px!important}.ml-sm-n1{margin-left:-4px!important}.ml-sm-n2{margin-left:-8px!important}.ml-sm-n3{margin-left:-12px!important}.ml-sm-n4{margin-left:-16px!important}.ml-sm-n5{margin-left:-20px!important}.ml-sm-n6{margin-left:-24px!important}.ml-sm-n7{margin-left:-28px!important}.ml-sm-n8{margin-left:-32px!important}.ml-sm-n9{margin-left:-36px!important}.ml-sm-n10{margin-left:-40px!important}.ml-sm-n11{margin-left:-44px!important}.ml-sm-n12{margin-left:-48px!important}.ml-sm-n13{margin-left:-52px!important}.ml-sm-n14{margin-left:-56px!important}.ml-sm-n15{margin-left:-60px!important}.ml-sm-n16{margin-left:-64px!important}.ms-sm-n1{margin-inline-start:-4px!important}.ms-sm-n2{margin-inline-start:-8px!important}.ms-sm-n3{margin-inline-start:-12px!important}.ms-sm-n4{margin-inline-start:-16px!important}.ms-sm-n5{margin-inline-start:-20px!important}.ms-sm-n6{margin-inline-start:-24px!important}.ms-sm-n7{margin-inline-start:-28px!important}.ms-sm-n8{margin-inline-start:-32px!important}.ms-sm-n9{margin-inline-start:-36px!important}.ms-sm-n10{margin-inline-start:-40px!important}.ms-sm-n11{margin-inline-start:-44px!important}.ms-sm-n12{margin-inline-start:-48px!important}.ms-sm-n13{margin-inline-start:-52px!important}.ms-sm-n14{margin-inline-start:-56px!important}.ms-sm-n15{margin-inline-start:-60px!important}.ms-sm-n16{margin-inline-start:-64px!important}.me-sm-n1{margin-inline-end:-4px!important}.me-sm-n2{margin-inline-end:-8px!important}.me-sm-n3{margin-inline-end:-12px!important}.me-sm-n4{margin-inline-end:-16px!important}.me-sm-n5{margin-inline-end:-20px!important}.me-sm-n6{margin-inline-end:-24px!important}.me-sm-n7{margin-inline-end:-28px!important}.me-sm-n8{margin-inline-end:-32px!important}.me-sm-n9{margin-inline-end:-36px!important}.me-sm-n10{margin-inline-end:-40px!important}.me-sm-n11{margin-inline-end:-44px!important}.me-sm-n12{margin-inline-end:-48px!important}.me-sm-n13{margin-inline-end:-52px!important}.me-sm-n14{margin-inline-end:-56px!important}.me-sm-n15{margin-inline-end:-60px!important}.me-sm-n16{margin-inline-end:-64px!important}.pa-sm-0{padding:0!important}.pa-sm-1{padding:4px!important}.pa-sm-2{padding:8px!important}.pa-sm-3{padding:12px!important}.pa-sm-4{padding:16px!important}.pa-sm-5{padding:20px!important}.pa-sm-6{padding:24px!important}.pa-sm-7{padding:28px!important}.pa-sm-8{padding:32px!important}.pa-sm-9{padding:36px!important}.pa-sm-10{padding:40px!important}.pa-sm-11{padding:44px!important}.pa-sm-12{padding:48px!important}.pa-sm-13{padding:52px!important}.pa-sm-14{padding:56px!important}.pa-sm-15{padding:60px!important}.pa-sm-16{padding:64px!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:4px!important;padding-left:4px!important}.px-sm-2{padding-right:8px!important;padding-left:8px!important}.px-sm-3{padding-right:12px!important;padding-left:12px!important}.px-sm-4{padding-right:16px!important;padding-left:16px!important}.px-sm-5{padding-right:20px!important;padding-left:20px!important}.px-sm-6{padding-right:24px!important;padding-left:24px!important}.px-sm-7{padding-right:28px!important;padding-left:28px!important}.px-sm-8{padding-right:32px!important;padding-left:32px!important}.px-sm-9{padding-right:36px!important;padding-left:36px!important}.px-sm-10{padding-right:40px!important;padding-left:40px!important}.px-sm-11{padding-right:44px!important;padding-left:44px!important}.px-sm-12{padding-right:48px!important;padding-left:48px!important}.px-sm-13{padding-right:52px!important;padding-left:52px!important}.px-sm-14{padding-right:56px!important;padding-left:56px!important}.px-sm-15{padding-right:60px!important;padding-left:60px!important}.px-sm-16{padding-right:64px!important;padding-left:64px!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:4px!important;padding-bottom:4px!important}.py-sm-2{padding-top:8px!important;padding-bottom:8px!important}.py-sm-3{padding-top:12px!important;padding-bottom:12px!important}.py-sm-4{padding-top:16px!important;padding-bottom:16px!important}.py-sm-5{padding-top:20px!important;padding-bottom:20px!important}.py-sm-6{padding-top:24px!important;padding-bottom:24px!important}.py-sm-7{padding-top:28px!important;padding-bottom:28px!important}.py-sm-8{padding-top:32px!important;padding-bottom:32px!important}.py-sm-9{padding-top:36px!important;padding-bottom:36px!important}.py-sm-10{padding-top:40px!important;padding-bottom:40px!important}.py-sm-11{padding-top:44px!important;padding-bottom:44px!important}.py-sm-12{padding-top:48px!important;padding-bottom:48px!important}.py-sm-13{padding-top:52px!important;padding-bottom:52px!important}.py-sm-14{padding-top:56px!important;padding-bottom:56px!important}.py-sm-15{padding-top:60px!important;padding-bottom:60px!important}.py-sm-16{padding-top:64px!important;padding-bottom:64px!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:4px!important}.pt-sm-2{padding-top:8px!important}.pt-sm-3{padding-top:12px!important}.pt-sm-4{padding-top:16px!important}.pt-sm-5{padding-top:20px!important}.pt-sm-6{padding-top:24px!important}.pt-sm-7{padding-top:28px!important}.pt-sm-8{padding-top:32px!important}.pt-sm-9{padding-top:36px!important}.pt-sm-10{padding-top:40px!important}.pt-sm-11{padding-top:44px!important}.pt-sm-12{padding-top:48px!important}.pt-sm-13{padding-top:52px!important}.pt-sm-14{padding-top:56px!important}.pt-sm-15{padding-top:60px!important}.pt-sm-16{padding-top:64px!important}.pr-sm-0{padding-right:0!important}.pr-sm-1{padding-right:4px!important}.pr-sm-2{padding-right:8px!important}.pr-sm-3{padding-right:12px!important}.pr-sm-4{padding-right:16px!important}.pr-sm-5{padding-right:20px!important}.pr-sm-6{padding-right:24px!important}.pr-sm-7{padding-right:28px!important}.pr-sm-8{padding-right:32px!important}.pr-sm-9{padding-right:36px!important}.pr-sm-10{padding-right:40px!important}.pr-sm-11{padding-right:44px!important}.pr-sm-12{padding-right:48px!important}.pr-sm-13{padding-right:52px!important}.pr-sm-14{padding-right:56px!important}.pr-sm-15{padding-right:60px!important}.pr-sm-16{padding-right:64px!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:4px!important}.pb-sm-2{padding-bottom:8px!important}.pb-sm-3{padding-bottom:12px!important}.pb-sm-4{padding-bottom:16px!important}.pb-sm-5{padding-bottom:20px!important}.pb-sm-6{padding-bottom:24px!important}.pb-sm-7{padding-bottom:28px!important}.pb-sm-8{padding-bottom:32px!important}.pb-sm-9{padding-bottom:36px!important}.pb-sm-10{padding-bottom:40px!important}.pb-sm-11{padding-bottom:44px!important}.pb-sm-12{padding-bottom:48px!important}.pb-sm-13{padding-bottom:52px!important}.pb-sm-14{padding-bottom:56px!important}.pb-sm-15{padding-bottom:60px!important}.pb-sm-16{padding-bottom:64px!important}.pl-sm-0{padding-left:0!important}.pl-sm-1{padding-left:4px!important}.pl-sm-2{padding-left:8px!important}.pl-sm-3{padding-left:12px!important}.pl-sm-4{padding-left:16px!important}.pl-sm-5{padding-left:20px!important}.pl-sm-6{padding-left:24px!important}.pl-sm-7{padding-left:28px!important}.pl-sm-8{padding-left:32px!important}.pl-sm-9{padding-left:36px!important}.pl-sm-10{padding-left:40px!important}.pl-sm-11{padding-left:44px!important}.pl-sm-12{padding-left:48px!important}.pl-sm-13{padding-left:52px!important}.pl-sm-14{padding-left:56px!important}.pl-sm-15{padding-left:60px!important}.pl-sm-16{padding-left:64px!important}.ps-sm-0{padding-inline-start:0px!important}.ps-sm-1{padding-inline-start:4px!important}.ps-sm-2{padding-inline-start:8px!important}.ps-sm-3{padding-inline-start:12px!important}.ps-sm-4{padding-inline-start:16px!important}.ps-sm-5{padding-inline-start:20px!important}.ps-sm-6{padding-inline-start:24px!important}.ps-sm-7{padding-inline-start:28px!important}.ps-sm-8{padding-inline-start:32px!important}.ps-sm-9{padding-inline-start:36px!important}.ps-sm-10{padding-inline-start:40px!important}.ps-sm-11{padding-inline-start:44px!important}.ps-sm-12{padding-inline-start:48px!important}.ps-sm-13{padding-inline-start:52px!important}.ps-sm-14{padding-inline-start:56px!important}.ps-sm-15{padding-inline-start:60px!important}.ps-sm-16{padding-inline-start:64px!important}.pe-sm-0{padding-inline-end:0px!important}.pe-sm-1{padding-inline-end:4px!important}.pe-sm-2{padding-inline-end:8px!important}.pe-sm-3{padding-inline-end:12px!important}.pe-sm-4{padding-inline-end:16px!important}.pe-sm-5{padding-inline-end:20px!important}.pe-sm-6{padding-inline-end:24px!important}.pe-sm-7{padding-inline-end:28px!important}.pe-sm-8{padding-inline-end:32px!important}.pe-sm-9{padding-inline-end:36px!important}.pe-sm-10{padding-inline-end:40px!important}.pe-sm-11{padding-inline-end:44px!important}.pe-sm-12{padding-inline-end:48px!important}.pe-sm-13{padding-inline-end:52px!important}.pe-sm-14{padding-inline-end:56px!important}.pe-sm-15{padding-inline-end:60px!important}.pe-sm-16{padding-inline-end:64px!important}.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}.text-sm-justify{text-align:justify!important}.text-sm-start{text-align:start!important}.text-sm-end{text-align:end!important}.text-sm-h1{font-size:6rem!important;font-weight:300;line-height:1;letter-spacing:-.015625em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-h2{font-size:3.75rem!important;font-weight:300;line-height:1;letter-spacing:-.0083333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-h3{font-size:3rem!important;font-weight:400;line-height:1.05;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-h4{font-size:2.125rem!important;font-weight:400;line-height:1.175;letter-spacing:.0073529412em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-h5{font-size:1.5rem!important;font-weight:400;line-height:1.333;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-h6{font-size:1.25rem!important;font-weight:500;line-height:1.6;letter-spacing:.0125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-subtitle-1{font-size:1rem!important;font-weight:400;line-height:1.75;letter-spacing:.009375em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-subtitle-2{font-size:.875rem!important;font-weight:500;line-height:1.6;letter-spacing:.0071428571em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-body-1{font-size:1rem!important;font-weight:400;line-height:1.5;letter-spacing:.03125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-body-2{font-size:.875rem!important;font-weight:400;line-height:1.425;letter-spacing:.0178571429em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-button{font-size:.875rem!important;font-weight:500;line-height:2.6;letter-spacing:.0892857143em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.text-sm-caption{font-size:.75rem!important;font-weight:400;line-height:1.667;letter-spacing:.0333333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-overline{font-size:.75rem!important;font-weight:500;line-height:2.667;letter-spacing:.1666666667em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.h-sm-auto{height:auto!important}.h-sm-screen{height:100vh!important}.h-sm-0{height:0!important}.h-sm-25{height:25%!important}.h-sm-50{height:50%!important}.h-sm-75{height:75%!important}.h-sm-100{height:100%!important}.w-sm-auto{width:auto!important}.w-sm-0{width:0!important}.w-sm-25{width:25%!important}.w-sm-33{width:33%!important}.w-sm-50{width:50%!important}.w-sm-66{width:66%!important}.w-sm-75{width:75%!important}.w-sm-100{width:100%!important}}@media (min-width: 960px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.float-md-none{float:none!important}.float-md-left{float:left!important}.float-md-right{float:right!important}.v-locale--is-rtl .float-md-end{float:left!important}.v-locale--is-rtl .float-md-start,.v-locale--is-ltr .float-md-end{float:right!important}.v-locale--is-ltr .float-md-start{float:left!important}.flex-md-fill,.flex-md-1-1{flex:1 1 auto!important}.flex-md-1-0{flex:1 0 auto!important}.flex-md-0-1{flex:0 1 auto!important}.flex-md-0-0{flex:0 0 auto!important}.flex-md-1-1-100{flex:1 1 100%!important}.flex-md-1-0-100{flex:1 0 100%!important}.flex-md-0-1-100{flex:0 1 100%!important}.flex-md-0-0-100{flex:0 0 100%!important}.flex-md-1-1-0{flex:1 1 0!important}.flex-md-1-0-0{flex:1 0 0!important}.flex-md-0-1-0{flex:0 1 0!important}.flex-md-0-0-0{flex:0 0 0!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-md-start{justify-content:flex-start!important}.justify-md-end{justify-content:flex-end!important}.justify-md-center{justify-content:center!important}.justify-md-space-between{justify-content:space-between!important}.justify-md-space-around{justify-content:space-around!important}.justify-md-space-evenly{justify-content:space-evenly!important}.justify-items-md-start{justify-items:flex-start!important}.justify-items-md-end{justify-items:flex-end!important}.justify-items-md-center{justify-items:center!important}.justify-items-md-stretch{justify-items:stretch!important}.align-md-start{align-items:flex-start!important}.align-md-end{align-items:flex-end!important}.align-md-center{align-items:center!important}.align-md-baseline{align-items:baseline!important}.align-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-space-between{align-content:space-between!important}.align-content-md-space-around{align-content:space-around!important}.align-content-md-space-evenly{align-content:space-evenly!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-6{order:6!important}.order-md-7{order:7!important}.order-md-8{order:8!important}.order-md-9{order:9!important}.order-md-10{order:10!important}.order-md-11{order:11!important}.order-md-12{order:12!important}.order-md-last{order:13!important}.ga-md-0{gap:0px!important}.ga-md-1{gap:4px!important}.ga-md-2{gap:8px!important}.ga-md-3{gap:12px!important}.ga-md-4{gap:16px!important}.ga-md-5{gap:20px!important}.ga-md-6{gap:24px!important}.ga-md-7{gap:28px!important}.ga-md-8{gap:32px!important}.ga-md-9{gap:36px!important}.ga-md-10{gap:40px!important}.ga-md-11{gap:44px!important}.ga-md-12{gap:48px!important}.ga-md-13{gap:52px!important}.ga-md-14{gap:56px!important}.ga-md-15{gap:60px!important}.ga-md-16{gap:64px!important}.ga-md-auto{gap:auto!important}.gr-md-0{row-gap:0px!important}.gr-md-1{row-gap:4px!important}.gr-md-2{row-gap:8px!important}.gr-md-3{row-gap:12px!important}.gr-md-4{row-gap:16px!important}.gr-md-5{row-gap:20px!important}.gr-md-6{row-gap:24px!important}.gr-md-7{row-gap:28px!important}.gr-md-8{row-gap:32px!important}.gr-md-9{row-gap:36px!important}.gr-md-10{row-gap:40px!important}.gr-md-11{row-gap:44px!important}.gr-md-12{row-gap:48px!important}.gr-md-13{row-gap:52px!important}.gr-md-14{row-gap:56px!important}.gr-md-15{row-gap:60px!important}.gr-md-16{row-gap:64px!important}.gr-md-auto{row-gap:auto!important}.gc-md-0{column-gap:0px!important}.gc-md-1{column-gap:4px!important}.gc-md-2{column-gap:8px!important}.gc-md-3{column-gap:12px!important}.gc-md-4{column-gap:16px!important}.gc-md-5{column-gap:20px!important}.gc-md-6{column-gap:24px!important}.gc-md-7{column-gap:28px!important}.gc-md-8{column-gap:32px!important}.gc-md-9{column-gap:36px!important}.gc-md-10{column-gap:40px!important}.gc-md-11{column-gap:44px!important}.gc-md-12{column-gap:48px!important}.gc-md-13{column-gap:52px!important}.gc-md-14{column-gap:56px!important}.gc-md-15{column-gap:60px!important}.gc-md-16{column-gap:64px!important}.gc-md-auto{column-gap:auto!important}.ma-md-0{margin:0!important}.ma-md-1{margin:4px!important}.ma-md-2{margin:8px!important}.ma-md-3{margin:12px!important}.ma-md-4{margin:16px!important}.ma-md-5{margin:20px!important}.ma-md-6{margin:24px!important}.ma-md-7{margin:28px!important}.ma-md-8{margin:32px!important}.ma-md-9{margin:36px!important}.ma-md-10{margin:40px!important}.ma-md-11{margin:44px!important}.ma-md-12{margin:48px!important}.ma-md-13{margin:52px!important}.ma-md-14{margin:56px!important}.ma-md-15{margin:60px!important}.ma-md-16{margin:64px!important}.ma-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:4px!important;margin-left:4px!important}.mx-md-2{margin-right:8px!important;margin-left:8px!important}.mx-md-3{margin-right:12px!important;margin-left:12px!important}.mx-md-4{margin-right:16px!important;margin-left:16px!important}.mx-md-5{margin-right:20px!important;margin-left:20px!important}.mx-md-6{margin-right:24px!important;margin-left:24px!important}.mx-md-7{margin-right:28px!important;margin-left:28px!important}.mx-md-8{margin-right:32px!important;margin-left:32px!important}.mx-md-9{margin-right:36px!important;margin-left:36px!important}.mx-md-10{margin-right:40px!important;margin-left:40px!important}.mx-md-11{margin-right:44px!important;margin-left:44px!important}.mx-md-12{margin-right:48px!important;margin-left:48px!important}.mx-md-13{margin-right:52px!important;margin-left:52px!important}.mx-md-14{margin-right:56px!important;margin-left:56px!important}.mx-md-15{margin-right:60px!important;margin-left:60px!important}.mx-md-16{margin-right:64px!important;margin-left:64px!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:4px!important;margin-bottom:4px!important}.my-md-2{margin-top:8px!important;margin-bottom:8px!important}.my-md-3{margin-top:12px!important;margin-bottom:12px!important}.my-md-4{margin-top:16px!important;margin-bottom:16px!important}.my-md-5{margin-top:20px!important;margin-bottom:20px!important}.my-md-6{margin-top:24px!important;margin-bottom:24px!important}.my-md-7{margin-top:28px!important;margin-bottom:28px!important}.my-md-8{margin-top:32px!important;margin-bottom:32px!important}.my-md-9{margin-top:36px!important;margin-bottom:36px!important}.my-md-10{margin-top:40px!important;margin-bottom:40px!important}.my-md-11{margin-top:44px!important;margin-bottom:44px!important}.my-md-12{margin-top:48px!important;margin-bottom:48px!important}.my-md-13{margin-top:52px!important;margin-bottom:52px!important}.my-md-14{margin-top:56px!important;margin-bottom:56px!important}.my-md-15{margin-top:60px!important;margin-bottom:60px!important}.my-md-16{margin-top:64px!important;margin-bottom:64px!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:4px!important}.mt-md-2{margin-top:8px!important}.mt-md-3{margin-top:12px!important}.mt-md-4{margin-top:16px!important}.mt-md-5{margin-top:20px!important}.mt-md-6{margin-top:24px!important}.mt-md-7{margin-top:28px!important}.mt-md-8{margin-top:32px!important}.mt-md-9{margin-top:36px!important}.mt-md-10{margin-top:40px!important}.mt-md-11{margin-top:44px!important}.mt-md-12{margin-top:48px!important}.mt-md-13{margin-top:52px!important}.mt-md-14{margin-top:56px!important}.mt-md-15{margin-top:60px!important}.mt-md-16{margin-top:64px!important}.mt-md-auto{margin-top:auto!important}.mr-md-0{margin-right:0!important}.mr-md-1{margin-right:4px!important}.mr-md-2{margin-right:8px!important}.mr-md-3{margin-right:12px!important}.mr-md-4{margin-right:16px!important}.mr-md-5{margin-right:20px!important}.mr-md-6{margin-right:24px!important}.mr-md-7{margin-right:28px!important}.mr-md-8{margin-right:32px!important}.mr-md-9{margin-right:36px!important}.mr-md-10{margin-right:40px!important}.mr-md-11{margin-right:44px!important}.mr-md-12{margin-right:48px!important}.mr-md-13{margin-right:52px!important}.mr-md-14{margin-right:56px!important}.mr-md-15{margin-right:60px!important}.mr-md-16{margin-right:64px!important}.mr-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:4px!important}.mb-md-2{margin-bottom:8px!important}.mb-md-3{margin-bottom:12px!important}.mb-md-4{margin-bottom:16px!important}.mb-md-5{margin-bottom:20px!important}.mb-md-6{margin-bottom:24px!important}.mb-md-7{margin-bottom:28px!important}.mb-md-8{margin-bottom:32px!important}.mb-md-9{margin-bottom:36px!important}.mb-md-10{margin-bottom:40px!important}.mb-md-11{margin-bottom:44px!important}.mb-md-12{margin-bottom:48px!important}.mb-md-13{margin-bottom:52px!important}.mb-md-14{margin-bottom:56px!important}.mb-md-15{margin-bottom:60px!important}.mb-md-16{margin-bottom:64px!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-0{margin-left:0!important}.ml-md-1{margin-left:4px!important}.ml-md-2{margin-left:8px!important}.ml-md-3{margin-left:12px!important}.ml-md-4{margin-left:16px!important}.ml-md-5{margin-left:20px!important}.ml-md-6{margin-left:24px!important}.ml-md-7{margin-left:28px!important}.ml-md-8{margin-left:32px!important}.ml-md-9{margin-left:36px!important}.ml-md-10{margin-left:40px!important}.ml-md-11{margin-left:44px!important}.ml-md-12{margin-left:48px!important}.ml-md-13{margin-left:52px!important}.ml-md-14{margin-left:56px!important}.ml-md-15{margin-left:60px!important}.ml-md-16{margin-left:64px!important}.ml-md-auto{margin-left:auto!important}.ms-md-0{margin-inline-start:0px!important}.ms-md-1{margin-inline-start:4px!important}.ms-md-2{margin-inline-start:8px!important}.ms-md-3{margin-inline-start:12px!important}.ms-md-4{margin-inline-start:16px!important}.ms-md-5{margin-inline-start:20px!important}.ms-md-6{margin-inline-start:24px!important}.ms-md-7{margin-inline-start:28px!important}.ms-md-8{margin-inline-start:32px!important}.ms-md-9{margin-inline-start:36px!important}.ms-md-10{margin-inline-start:40px!important}.ms-md-11{margin-inline-start:44px!important}.ms-md-12{margin-inline-start:48px!important}.ms-md-13{margin-inline-start:52px!important}.ms-md-14{margin-inline-start:56px!important}.ms-md-15{margin-inline-start:60px!important}.ms-md-16{margin-inline-start:64px!important}.ms-md-auto{margin-inline-start:auto!important}.me-md-0{margin-inline-end:0px!important}.me-md-1{margin-inline-end:4px!important}.me-md-2{margin-inline-end:8px!important}.me-md-3{margin-inline-end:12px!important}.me-md-4{margin-inline-end:16px!important}.me-md-5{margin-inline-end:20px!important}.me-md-6{margin-inline-end:24px!important}.me-md-7{margin-inline-end:28px!important}.me-md-8{margin-inline-end:32px!important}.me-md-9{margin-inline-end:36px!important}.me-md-10{margin-inline-end:40px!important}.me-md-11{margin-inline-end:44px!important}.me-md-12{margin-inline-end:48px!important}.me-md-13{margin-inline-end:52px!important}.me-md-14{margin-inline-end:56px!important}.me-md-15{margin-inline-end:60px!important}.me-md-16{margin-inline-end:64px!important}.me-md-auto{margin-inline-end:auto!important}.ma-md-n1{margin:-4px!important}.ma-md-n2{margin:-8px!important}.ma-md-n3{margin:-12px!important}.ma-md-n4{margin:-16px!important}.ma-md-n5{margin:-20px!important}.ma-md-n6{margin:-24px!important}.ma-md-n7{margin:-28px!important}.ma-md-n8{margin:-32px!important}.ma-md-n9{margin:-36px!important}.ma-md-n10{margin:-40px!important}.ma-md-n11{margin:-44px!important}.ma-md-n12{margin:-48px!important}.ma-md-n13{margin:-52px!important}.ma-md-n14{margin:-56px!important}.ma-md-n15{margin:-60px!important}.ma-md-n16{margin:-64px!important}.mx-md-n1{margin-right:-4px!important;margin-left:-4px!important}.mx-md-n2{margin-right:-8px!important;margin-left:-8px!important}.mx-md-n3{margin-right:-12px!important;margin-left:-12px!important}.mx-md-n4{margin-right:-16px!important;margin-left:-16px!important}.mx-md-n5{margin-right:-20px!important;margin-left:-20px!important}.mx-md-n6{margin-right:-24px!important;margin-left:-24px!important}.mx-md-n7{margin-right:-28px!important;margin-left:-28px!important}.mx-md-n8{margin-right:-32px!important;margin-left:-32px!important}.mx-md-n9{margin-right:-36px!important;margin-left:-36px!important}.mx-md-n10{margin-right:-40px!important;margin-left:-40px!important}.mx-md-n11{margin-right:-44px!important;margin-left:-44px!important}.mx-md-n12{margin-right:-48px!important;margin-left:-48px!important}.mx-md-n13{margin-right:-52px!important;margin-left:-52px!important}.mx-md-n14{margin-right:-56px!important;margin-left:-56px!important}.mx-md-n15{margin-right:-60px!important;margin-left:-60px!important}.mx-md-n16{margin-right:-64px!important;margin-left:-64px!important}.my-md-n1{margin-top:-4px!important;margin-bottom:-4px!important}.my-md-n2{margin-top:-8px!important;margin-bottom:-8px!important}.my-md-n3{margin-top:-12px!important;margin-bottom:-12px!important}.my-md-n4{margin-top:-16px!important;margin-bottom:-16px!important}.my-md-n5{margin-top:-20px!important;margin-bottom:-20px!important}.my-md-n6{margin-top:-24px!important;margin-bottom:-24px!important}.my-md-n7{margin-top:-28px!important;margin-bottom:-28px!important}.my-md-n8{margin-top:-32px!important;margin-bottom:-32px!important}.my-md-n9{margin-top:-36px!important;margin-bottom:-36px!important}.my-md-n10{margin-top:-40px!important;margin-bottom:-40px!important}.my-md-n11{margin-top:-44px!important;margin-bottom:-44px!important}.my-md-n12{margin-top:-48px!important;margin-bottom:-48px!important}.my-md-n13{margin-top:-52px!important;margin-bottom:-52px!important}.my-md-n14{margin-top:-56px!important;margin-bottom:-56px!important}.my-md-n15{margin-top:-60px!important;margin-bottom:-60px!important}.my-md-n16{margin-top:-64px!important;margin-bottom:-64px!important}.mt-md-n1{margin-top:-4px!important}.mt-md-n2{margin-top:-8px!important}.mt-md-n3{margin-top:-12px!important}.mt-md-n4{margin-top:-16px!important}.mt-md-n5{margin-top:-20px!important}.mt-md-n6{margin-top:-24px!important}.mt-md-n7{margin-top:-28px!important}.mt-md-n8{margin-top:-32px!important}.mt-md-n9{margin-top:-36px!important}.mt-md-n10{margin-top:-40px!important}.mt-md-n11{margin-top:-44px!important}.mt-md-n12{margin-top:-48px!important}.mt-md-n13{margin-top:-52px!important}.mt-md-n14{margin-top:-56px!important}.mt-md-n15{margin-top:-60px!important}.mt-md-n16{margin-top:-64px!important}.mr-md-n1{margin-right:-4px!important}.mr-md-n2{margin-right:-8px!important}.mr-md-n3{margin-right:-12px!important}.mr-md-n4{margin-right:-16px!important}.mr-md-n5{margin-right:-20px!important}.mr-md-n6{margin-right:-24px!important}.mr-md-n7{margin-right:-28px!important}.mr-md-n8{margin-right:-32px!important}.mr-md-n9{margin-right:-36px!important}.mr-md-n10{margin-right:-40px!important}.mr-md-n11{margin-right:-44px!important}.mr-md-n12{margin-right:-48px!important}.mr-md-n13{margin-right:-52px!important}.mr-md-n14{margin-right:-56px!important}.mr-md-n15{margin-right:-60px!important}.mr-md-n16{margin-right:-64px!important}.mb-md-n1{margin-bottom:-4px!important}.mb-md-n2{margin-bottom:-8px!important}.mb-md-n3{margin-bottom:-12px!important}.mb-md-n4{margin-bottom:-16px!important}.mb-md-n5{margin-bottom:-20px!important}.mb-md-n6{margin-bottom:-24px!important}.mb-md-n7{margin-bottom:-28px!important}.mb-md-n8{margin-bottom:-32px!important}.mb-md-n9{margin-bottom:-36px!important}.mb-md-n10{margin-bottom:-40px!important}.mb-md-n11{margin-bottom:-44px!important}.mb-md-n12{margin-bottom:-48px!important}.mb-md-n13{margin-bottom:-52px!important}.mb-md-n14{margin-bottom:-56px!important}.mb-md-n15{margin-bottom:-60px!important}.mb-md-n16{margin-bottom:-64px!important}.ml-md-n1{margin-left:-4px!important}.ml-md-n2{margin-left:-8px!important}.ml-md-n3{margin-left:-12px!important}.ml-md-n4{margin-left:-16px!important}.ml-md-n5{margin-left:-20px!important}.ml-md-n6{margin-left:-24px!important}.ml-md-n7{margin-left:-28px!important}.ml-md-n8{margin-left:-32px!important}.ml-md-n9{margin-left:-36px!important}.ml-md-n10{margin-left:-40px!important}.ml-md-n11{margin-left:-44px!important}.ml-md-n12{margin-left:-48px!important}.ml-md-n13{margin-left:-52px!important}.ml-md-n14{margin-left:-56px!important}.ml-md-n15{margin-left:-60px!important}.ml-md-n16{margin-left:-64px!important}.ms-md-n1{margin-inline-start:-4px!important}.ms-md-n2{margin-inline-start:-8px!important}.ms-md-n3{margin-inline-start:-12px!important}.ms-md-n4{margin-inline-start:-16px!important}.ms-md-n5{margin-inline-start:-20px!important}.ms-md-n6{margin-inline-start:-24px!important}.ms-md-n7{margin-inline-start:-28px!important}.ms-md-n8{margin-inline-start:-32px!important}.ms-md-n9{margin-inline-start:-36px!important}.ms-md-n10{margin-inline-start:-40px!important}.ms-md-n11{margin-inline-start:-44px!important}.ms-md-n12{margin-inline-start:-48px!important}.ms-md-n13{margin-inline-start:-52px!important}.ms-md-n14{margin-inline-start:-56px!important}.ms-md-n15{margin-inline-start:-60px!important}.ms-md-n16{margin-inline-start:-64px!important}.me-md-n1{margin-inline-end:-4px!important}.me-md-n2{margin-inline-end:-8px!important}.me-md-n3{margin-inline-end:-12px!important}.me-md-n4{margin-inline-end:-16px!important}.me-md-n5{margin-inline-end:-20px!important}.me-md-n6{margin-inline-end:-24px!important}.me-md-n7{margin-inline-end:-28px!important}.me-md-n8{margin-inline-end:-32px!important}.me-md-n9{margin-inline-end:-36px!important}.me-md-n10{margin-inline-end:-40px!important}.me-md-n11{margin-inline-end:-44px!important}.me-md-n12{margin-inline-end:-48px!important}.me-md-n13{margin-inline-end:-52px!important}.me-md-n14{margin-inline-end:-56px!important}.me-md-n15{margin-inline-end:-60px!important}.me-md-n16{margin-inline-end:-64px!important}.pa-md-0{padding:0!important}.pa-md-1{padding:4px!important}.pa-md-2{padding:8px!important}.pa-md-3{padding:12px!important}.pa-md-4{padding:16px!important}.pa-md-5{padding:20px!important}.pa-md-6{padding:24px!important}.pa-md-7{padding:28px!important}.pa-md-8{padding:32px!important}.pa-md-9{padding:36px!important}.pa-md-10{padding:40px!important}.pa-md-11{padding:44px!important}.pa-md-12{padding:48px!important}.pa-md-13{padding:52px!important}.pa-md-14{padding:56px!important}.pa-md-15{padding:60px!important}.pa-md-16{padding:64px!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:4px!important;padding-left:4px!important}.px-md-2{padding-right:8px!important;padding-left:8px!important}.px-md-3{padding-right:12px!important;padding-left:12px!important}.px-md-4{padding-right:16px!important;padding-left:16px!important}.px-md-5{padding-right:20px!important;padding-left:20px!important}.px-md-6{padding-right:24px!important;padding-left:24px!important}.px-md-7{padding-right:28px!important;padding-left:28px!important}.px-md-8{padding-right:32px!important;padding-left:32px!important}.px-md-9{padding-right:36px!important;padding-left:36px!important}.px-md-10{padding-right:40px!important;padding-left:40px!important}.px-md-11{padding-right:44px!important;padding-left:44px!important}.px-md-12{padding-right:48px!important;padding-left:48px!important}.px-md-13{padding-right:52px!important;padding-left:52px!important}.px-md-14{padding-right:56px!important;padding-left:56px!important}.px-md-15{padding-right:60px!important;padding-left:60px!important}.px-md-16{padding-right:64px!important;padding-left:64px!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:4px!important;padding-bottom:4px!important}.py-md-2{padding-top:8px!important;padding-bottom:8px!important}.py-md-3{padding-top:12px!important;padding-bottom:12px!important}.py-md-4{padding-top:16px!important;padding-bottom:16px!important}.py-md-5{padding-top:20px!important;padding-bottom:20px!important}.py-md-6{padding-top:24px!important;padding-bottom:24px!important}.py-md-7{padding-top:28px!important;padding-bottom:28px!important}.py-md-8{padding-top:32px!important;padding-bottom:32px!important}.py-md-9{padding-top:36px!important;padding-bottom:36px!important}.py-md-10{padding-top:40px!important;padding-bottom:40px!important}.py-md-11{padding-top:44px!important;padding-bottom:44px!important}.py-md-12{padding-top:48px!important;padding-bottom:48px!important}.py-md-13{padding-top:52px!important;padding-bottom:52px!important}.py-md-14{padding-top:56px!important;padding-bottom:56px!important}.py-md-15{padding-top:60px!important;padding-bottom:60px!important}.py-md-16{padding-top:64px!important;padding-bottom:64px!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:4px!important}.pt-md-2{padding-top:8px!important}.pt-md-3{padding-top:12px!important}.pt-md-4{padding-top:16px!important}.pt-md-5{padding-top:20px!important}.pt-md-6{padding-top:24px!important}.pt-md-7{padding-top:28px!important}.pt-md-8{padding-top:32px!important}.pt-md-9{padding-top:36px!important}.pt-md-10{padding-top:40px!important}.pt-md-11{padding-top:44px!important}.pt-md-12{padding-top:48px!important}.pt-md-13{padding-top:52px!important}.pt-md-14{padding-top:56px!important}.pt-md-15{padding-top:60px!important}.pt-md-16{padding-top:64px!important}.pr-md-0{padding-right:0!important}.pr-md-1{padding-right:4px!important}.pr-md-2{padding-right:8px!important}.pr-md-3{padding-right:12px!important}.pr-md-4{padding-right:16px!important}.pr-md-5{padding-right:20px!important}.pr-md-6{padding-right:24px!important}.pr-md-7{padding-right:28px!important}.pr-md-8{padding-right:32px!important}.pr-md-9{padding-right:36px!important}.pr-md-10{padding-right:40px!important}.pr-md-11{padding-right:44px!important}.pr-md-12{padding-right:48px!important}.pr-md-13{padding-right:52px!important}.pr-md-14{padding-right:56px!important}.pr-md-15{padding-right:60px!important}.pr-md-16{padding-right:64px!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:4px!important}.pb-md-2{padding-bottom:8px!important}.pb-md-3{padding-bottom:12px!important}.pb-md-4{padding-bottom:16px!important}.pb-md-5{padding-bottom:20px!important}.pb-md-6{padding-bottom:24px!important}.pb-md-7{padding-bottom:28px!important}.pb-md-8{padding-bottom:32px!important}.pb-md-9{padding-bottom:36px!important}.pb-md-10{padding-bottom:40px!important}.pb-md-11{padding-bottom:44px!important}.pb-md-12{padding-bottom:48px!important}.pb-md-13{padding-bottom:52px!important}.pb-md-14{padding-bottom:56px!important}.pb-md-15{padding-bottom:60px!important}.pb-md-16{padding-bottom:64px!important}.pl-md-0{padding-left:0!important}.pl-md-1{padding-left:4px!important}.pl-md-2{padding-left:8px!important}.pl-md-3{padding-left:12px!important}.pl-md-4{padding-left:16px!important}.pl-md-5{padding-left:20px!important}.pl-md-6{padding-left:24px!important}.pl-md-7{padding-left:28px!important}.pl-md-8{padding-left:32px!important}.pl-md-9{padding-left:36px!important}.pl-md-10{padding-left:40px!important}.pl-md-11{padding-left:44px!important}.pl-md-12{padding-left:48px!important}.pl-md-13{padding-left:52px!important}.pl-md-14{padding-left:56px!important}.pl-md-15{padding-left:60px!important}.pl-md-16{padding-left:64px!important}.ps-md-0{padding-inline-start:0px!important}.ps-md-1{padding-inline-start:4px!important}.ps-md-2{padding-inline-start:8px!important}.ps-md-3{padding-inline-start:12px!important}.ps-md-4{padding-inline-start:16px!important}.ps-md-5{padding-inline-start:20px!important}.ps-md-6{padding-inline-start:24px!important}.ps-md-7{padding-inline-start:28px!important}.ps-md-8{padding-inline-start:32px!important}.ps-md-9{padding-inline-start:36px!important}.ps-md-10{padding-inline-start:40px!important}.ps-md-11{padding-inline-start:44px!important}.ps-md-12{padding-inline-start:48px!important}.ps-md-13{padding-inline-start:52px!important}.ps-md-14{padding-inline-start:56px!important}.ps-md-15{padding-inline-start:60px!important}.ps-md-16{padding-inline-start:64px!important}.pe-md-0{padding-inline-end:0px!important}.pe-md-1{padding-inline-end:4px!important}.pe-md-2{padding-inline-end:8px!important}.pe-md-3{padding-inline-end:12px!important}.pe-md-4{padding-inline-end:16px!important}.pe-md-5{padding-inline-end:20px!important}.pe-md-6{padding-inline-end:24px!important}.pe-md-7{padding-inline-end:28px!important}.pe-md-8{padding-inline-end:32px!important}.pe-md-9{padding-inline-end:36px!important}.pe-md-10{padding-inline-end:40px!important}.pe-md-11{padding-inline-end:44px!important}.pe-md-12{padding-inline-end:48px!important}.pe-md-13{padding-inline-end:52px!important}.pe-md-14{padding-inline-end:56px!important}.pe-md-15{padding-inline-end:60px!important}.pe-md-16{padding-inline-end:64px!important}.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}.text-md-justify{text-align:justify!important}.text-md-start{text-align:start!important}.text-md-end{text-align:end!important}.text-md-h1{font-size:6rem!important;font-weight:300;line-height:1;letter-spacing:-.015625em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-h2{font-size:3.75rem!important;font-weight:300;line-height:1;letter-spacing:-.0083333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-h3{font-size:3rem!important;font-weight:400;line-height:1.05;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-h4{font-size:2.125rem!important;font-weight:400;line-height:1.175;letter-spacing:.0073529412em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-h5{font-size:1.5rem!important;font-weight:400;line-height:1.333;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-h6{font-size:1.25rem!important;font-weight:500;line-height:1.6;letter-spacing:.0125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-subtitle-1{font-size:1rem!important;font-weight:400;line-height:1.75;letter-spacing:.009375em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-subtitle-2{font-size:.875rem!important;font-weight:500;line-height:1.6;letter-spacing:.0071428571em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-body-1{font-size:1rem!important;font-weight:400;line-height:1.5;letter-spacing:.03125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-body-2{font-size:.875rem!important;font-weight:400;line-height:1.425;letter-spacing:.0178571429em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-button{font-size:.875rem!important;font-weight:500;line-height:2.6;letter-spacing:.0892857143em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.text-md-caption{font-size:.75rem!important;font-weight:400;line-height:1.667;letter-spacing:.0333333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-overline{font-size:.75rem!important;font-weight:500;line-height:2.667;letter-spacing:.1666666667em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.h-md-auto{height:auto!important}.h-md-screen{height:100vh!important}.h-md-0{height:0!important}.h-md-25{height:25%!important}.h-md-50{height:50%!important}.h-md-75{height:75%!important}.h-md-100{height:100%!important}.w-md-auto{width:auto!important}.w-md-0{width:0!important}.w-md-25{width:25%!important}.w-md-33{width:33%!important}.w-md-50{width:50%!important}.w-md-66{width:66%!important}.w-md-75{width:75%!important}.w-md-100{width:100%!important}}@media (min-width: 1280px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.float-lg-none{float:none!important}.float-lg-left{float:left!important}.float-lg-right{float:right!important}.v-locale--is-rtl .float-lg-end{float:left!important}.v-locale--is-rtl .float-lg-start,.v-locale--is-ltr .float-lg-end{float:right!important}.v-locale--is-ltr .float-lg-start{float:left!important}.flex-lg-fill,.flex-lg-1-1{flex:1 1 auto!important}.flex-lg-1-0{flex:1 0 auto!important}.flex-lg-0-1{flex:0 1 auto!important}.flex-lg-0-0{flex:0 0 auto!important}.flex-lg-1-1-100{flex:1 1 100%!important}.flex-lg-1-0-100{flex:1 0 100%!important}.flex-lg-0-1-100{flex:0 1 100%!important}.flex-lg-0-0-100{flex:0 0 100%!important}.flex-lg-1-1-0{flex:1 1 0!important}.flex-lg-1-0-0{flex:1 0 0!important}.flex-lg-0-1-0{flex:0 1 0!important}.flex-lg-0-0-0{flex:0 0 0!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-lg-start{justify-content:flex-start!important}.justify-lg-end{justify-content:flex-end!important}.justify-lg-center{justify-content:center!important}.justify-lg-space-between{justify-content:space-between!important}.justify-lg-space-around{justify-content:space-around!important}.justify-lg-space-evenly{justify-content:space-evenly!important}.justify-items-lg-start{justify-items:flex-start!important}.justify-items-lg-end{justify-items:flex-end!important}.justify-items-lg-center{justify-items:center!important}.justify-items-lg-stretch{justify-items:stretch!important}.align-lg-start{align-items:flex-start!important}.align-lg-end{align-items:flex-end!important}.align-lg-center{align-items:center!important}.align-lg-baseline{align-items:baseline!important}.align-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-space-between{align-content:space-between!important}.align-content-lg-space-around{align-content:space-around!important}.align-content-lg-space-evenly{align-content:space-evenly!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-6{order:6!important}.order-lg-7{order:7!important}.order-lg-8{order:8!important}.order-lg-9{order:9!important}.order-lg-10{order:10!important}.order-lg-11{order:11!important}.order-lg-12{order:12!important}.order-lg-last{order:13!important}.ga-lg-0{gap:0px!important}.ga-lg-1{gap:4px!important}.ga-lg-2{gap:8px!important}.ga-lg-3{gap:12px!important}.ga-lg-4{gap:16px!important}.ga-lg-5{gap:20px!important}.ga-lg-6{gap:24px!important}.ga-lg-7{gap:28px!important}.ga-lg-8{gap:32px!important}.ga-lg-9{gap:36px!important}.ga-lg-10{gap:40px!important}.ga-lg-11{gap:44px!important}.ga-lg-12{gap:48px!important}.ga-lg-13{gap:52px!important}.ga-lg-14{gap:56px!important}.ga-lg-15{gap:60px!important}.ga-lg-16{gap:64px!important}.ga-lg-auto{gap:auto!important}.gr-lg-0{row-gap:0px!important}.gr-lg-1{row-gap:4px!important}.gr-lg-2{row-gap:8px!important}.gr-lg-3{row-gap:12px!important}.gr-lg-4{row-gap:16px!important}.gr-lg-5{row-gap:20px!important}.gr-lg-6{row-gap:24px!important}.gr-lg-7{row-gap:28px!important}.gr-lg-8{row-gap:32px!important}.gr-lg-9{row-gap:36px!important}.gr-lg-10{row-gap:40px!important}.gr-lg-11{row-gap:44px!important}.gr-lg-12{row-gap:48px!important}.gr-lg-13{row-gap:52px!important}.gr-lg-14{row-gap:56px!important}.gr-lg-15{row-gap:60px!important}.gr-lg-16{row-gap:64px!important}.gr-lg-auto{row-gap:auto!important}.gc-lg-0{column-gap:0px!important}.gc-lg-1{column-gap:4px!important}.gc-lg-2{column-gap:8px!important}.gc-lg-3{column-gap:12px!important}.gc-lg-4{column-gap:16px!important}.gc-lg-5{column-gap:20px!important}.gc-lg-6{column-gap:24px!important}.gc-lg-7{column-gap:28px!important}.gc-lg-8{column-gap:32px!important}.gc-lg-9{column-gap:36px!important}.gc-lg-10{column-gap:40px!important}.gc-lg-11{column-gap:44px!important}.gc-lg-12{column-gap:48px!important}.gc-lg-13{column-gap:52px!important}.gc-lg-14{column-gap:56px!important}.gc-lg-15{column-gap:60px!important}.gc-lg-16{column-gap:64px!important}.gc-lg-auto{column-gap:auto!important}.ma-lg-0{margin:0!important}.ma-lg-1{margin:4px!important}.ma-lg-2{margin:8px!important}.ma-lg-3{margin:12px!important}.ma-lg-4{margin:16px!important}.ma-lg-5{margin:20px!important}.ma-lg-6{margin:24px!important}.ma-lg-7{margin:28px!important}.ma-lg-8{margin:32px!important}.ma-lg-9{margin:36px!important}.ma-lg-10{margin:40px!important}.ma-lg-11{margin:44px!important}.ma-lg-12{margin:48px!important}.ma-lg-13{margin:52px!important}.ma-lg-14{margin:56px!important}.ma-lg-15{margin:60px!important}.ma-lg-16{margin:64px!important}.ma-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:4px!important;margin-left:4px!important}.mx-lg-2{margin-right:8px!important;margin-left:8px!important}.mx-lg-3{margin-right:12px!important;margin-left:12px!important}.mx-lg-4{margin-right:16px!important;margin-left:16px!important}.mx-lg-5{margin-right:20px!important;margin-left:20px!important}.mx-lg-6{margin-right:24px!important;margin-left:24px!important}.mx-lg-7{margin-right:28px!important;margin-left:28px!important}.mx-lg-8{margin-right:32px!important;margin-left:32px!important}.mx-lg-9{margin-right:36px!important;margin-left:36px!important}.mx-lg-10{margin-right:40px!important;margin-left:40px!important}.mx-lg-11{margin-right:44px!important;margin-left:44px!important}.mx-lg-12{margin-right:48px!important;margin-left:48px!important}.mx-lg-13{margin-right:52px!important;margin-left:52px!important}.mx-lg-14{margin-right:56px!important;margin-left:56px!important}.mx-lg-15{margin-right:60px!important;margin-left:60px!important}.mx-lg-16{margin-right:64px!important;margin-left:64px!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:4px!important;margin-bottom:4px!important}.my-lg-2{margin-top:8px!important;margin-bottom:8px!important}.my-lg-3{margin-top:12px!important;margin-bottom:12px!important}.my-lg-4{margin-top:16px!important;margin-bottom:16px!important}.my-lg-5{margin-top:20px!important;margin-bottom:20px!important}.my-lg-6{margin-top:24px!important;margin-bottom:24px!important}.my-lg-7{margin-top:28px!important;margin-bottom:28px!important}.my-lg-8{margin-top:32px!important;margin-bottom:32px!important}.my-lg-9{margin-top:36px!important;margin-bottom:36px!important}.my-lg-10{margin-top:40px!important;margin-bottom:40px!important}.my-lg-11{margin-top:44px!important;margin-bottom:44px!important}.my-lg-12{margin-top:48px!important;margin-bottom:48px!important}.my-lg-13{margin-top:52px!important;margin-bottom:52px!important}.my-lg-14{margin-top:56px!important;margin-bottom:56px!important}.my-lg-15{margin-top:60px!important;margin-bottom:60px!important}.my-lg-16{margin-top:64px!important;margin-bottom:64px!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:4px!important}.mt-lg-2{margin-top:8px!important}.mt-lg-3{margin-top:12px!important}.mt-lg-4{margin-top:16px!important}.mt-lg-5{margin-top:20px!important}.mt-lg-6{margin-top:24px!important}.mt-lg-7{margin-top:28px!important}.mt-lg-8{margin-top:32px!important}.mt-lg-9{margin-top:36px!important}.mt-lg-10{margin-top:40px!important}.mt-lg-11{margin-top:44px!important}.mt-lg-12{margin-top:48px!important}.mt-lg-13{margin-top:52px!important}.mt-lg-14{margin-top:56px!important}.mt-lg-15{margin-top:60px!important}.mt-lg-16{margin-top:64px!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-0{margin-right:0!important}.mr-lg-1{margin-right:4px!important}.mr-lg-2{margin-right:8px!important}.mr-lg-3{margin-right:12px!important}.mr-lg-4{margin-right:16px!important}.mr-lg-5{margin-right:20px!important}.mr-lg-6{margin-right:24px!important}.mr-lg-7{margin-right:28px!important}.mr-lg-8{margin-right:32px!important}.mr-lg-9{margin-right:36px!important}.mr-lg-10{margin-right:40px!important}.mr-lg-11{margin-right:44px!important}.mr-lg-12{margin-right:48px!important}.mr-lg-13{margin-right:52px!important}.mr-lg-14{margin-right:56px!important}.mr-lg-15{margin-right:60px!important}.mr-lg-16{margin-right:64px!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:4px!important}.mb-lg-2{margin-bottom:8px!important}.mb-lg-3{margin-bottom:12px!important}.mb-lg-4{margin-bottom:16px!important}.mb-lg-5{margin-bottom:20px!important}.mb-lg-6{margin-bottom:24px!important}.mb-lg-7{margin-bottom:28px!important}.mb-lg-8{margin-bottom:32px!important}.mb-lg-9{margin-bottom:36px!important}.mb-lg-10{margin-bottom:40px!important}.mb-lg-11{margin-bottom:44px!important}.mb-lg-12{margin-bottom:48px!important}.mb-lg-13{margin-bottom:52px!important}.mb-lg-14{margin-bottom:56px!important}.mb-lg-15{margin-bottom:60px!important}.mb-lg-16{margin-bottom:64px!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-0{margin-left:0!important}.ml-lg-1{margin-left:4px!important}.ml-lg-2{margin-left:8px!important}.ml-lg-3{margin-left:12px!important}.ml-lg-4{margin-left:16px!important}.ml-lg-5{margin-left:20px!important}.ml-lg-6{margin-left:24px!important}.ml-lg-7{margin-left:28px!important}.ml-lg-8{margin-left:32px!important}.ml-lg-9{margin-left:36px!important}.ml-lg-10{margin-left:40px!important}.ml-lg-11{margin-left:44px!important}.ml-lg-12{margin-left:48px!important}.ml-lg-13{margin-left:52px!important}.ml-lg-14{margin-left:56px!important}.ml-lg-15{margin-left:60px!important}.ml-lg-16{margin-left:64px!important}.ml-lg-auto{margin-left:auto!important}.ms-lg-0{margin-inline-start:0px!important}.ms-lg-1{margin-inline-start:4px!important}.ms-lg-2{margin-inline-start:8px!important}.ms-lg-3{margin-inline-start:12px!important}.ms-lg-4{margin-inline-start:16px!important}.ms-lg-5{margin-inline-start:20px!important}.ms-lg-6{margin-inline-start:24px!important}.ms-lg-7{margin-inline-start:28px!important}.ms-lg-8{margin-inline-start:32px!important}.ms-lg-9{margin-inline-start:36px!important}.ms-lg-10{margin-inline-start:40px!important}.ms-lg-11{margin-inline-start:44px!important}.ms-lg-12{margin-inline-start:48px!important}.ms-lg-13{margin-inline-start:52px!important}.ms-lg-14{margin-inline-start:56px!important}.ms-lg-15{margin-inline-start:60px!important}.ms-lg-16{margin-inline-start:64px!important}.ms-lg-auto{margin-inline-start:auto!important}.me-lg-0{margin-inline-end:0px!important}.me-lg-1{margin-inline-end:4px!important}.me-lg-2{margin-inline-end:8px!important}.me-lg-3{margin-inline-end:12px!important}.me-lg-4{margin-inline-end:16px!important}.me-lg-5{margin-inline-end:20px!important}.me-lg-6{margin-inline-end:24px!important}.me-lg-7{margin-inline-end:28px!important}.me-lg-8{margin-inline-end:32px!important}.me-lg-9{margin-inline-end:36px!important}.me-lg-10{margin-inline-end:40px!important}.me-lg-11{margin-inline-end:44px!important}.me-lg-12{margin-inline-end:48px!important}.me-lg-13{margin-inline-end:52px!important}.me-lg-14{margin-inline-end:56px!important}.me-lg-15{margin-inline-end:60px!important}.me-lg-16{margin-inline-end:64px!important}.me-lg-auto{margin-inline-end:auto!important}.ma-lg-n1{margin:-4px!important}.ma-lg-n2{margin:-8px!important}.ma-lg-n3{margin:-12px!important}.ma-lg-n4{margin:-16px!important}.ma-lg-n5{margin:-20px!important}.ma-lg-n6{margin:-24px!important}.ma-lg-n7{margin:-28px!important}.ma-lg-n8{margin:-32px!important}.ma-lg-n9{margin:-36px!important}.ma-lg-n10{margin:-40px!important}.ma-lg-n11{margin:-44px!important}.ma-lg-n12{margin:-48px!important}.ma-lg-n13{margin:-52px!important}.ma-lg-n14{margin:-56px!important}.ma-lg-n15{margin:-60px!important}.ma-lg-n16{margin:-64px!important}.mx-lg-n1{margin-right:-4px!important;margin-left:-4px!important}.mx-lg-n2{margin-right:-8px!important;margin-left:-8px!important}.mx-lg-n3{margin-right:-12px!important;margin-left:-12px!important}.mx-lg-n4{margin-right:-16px!important;margin-left:-16px!important}.mx-lg-n5{margin-right:-20px!important;margin-left:-20px!important}.mx-lg-n6{margin-right:-24px!important;margin-left:-24px!important}.mx-lg-n7{margin-right:-28px!important;margin-left:-28px!important}.mx-lg-n8{margin-right:-32px!important;margin-left:-32px!important}.mx-lg-n9{margin-right:-36px!important;margin-left:-36px!important}.mx-lg-n10{margin-right:-40px!important;margin-left:-40px!important}.mx-lg-n11{margin-right:-44px!important;margin-left:-44px!important}.mx-lg-n12{margin-right:-48px!important;margin-left:-48px!important}.mx-lg-n13{margin-right:-52px!important;margin-left:-52px!important}.mx-lg-n14{margin-right:-56px!important;margin-left:-56px!important}.mx-lg-n15{margin-right:-60px!important;margin-left:-60px!important}.mx-lg-n16{margin-right:-64px!important;margin-left:-64px!important}.my-lg-n1{margin-top:-4px!important;margin-bottom:-4px!important}.my-lg-n2{margin-top:-8px!important;margin-bottom:-8px!important}.my-lg-n3{margin-top:-12px!important;margin-bottom:-12px!important}.my-lg-n4{margin-top:-16px!important;margin-bottom:-16px!important}.my-lg-n5{margin-top:-20px!important;margin-bottom:-20px!important}.my-lg-n6{margin-top:-24px!important;margin-bottom:-24px!important}.my-lg-n7{margin-top:-28px!important;margin-bottom:-28px!important}.my-lg-n8{margin-top:-32px!important;margin-bottom:-32px!important}.my-lg-n9{margin-top:-36px!important;margin-bottom:-36px!important}.my-lg-n10{margin-top:-40px!important;margin-bottom:-40px!important}.my-lg-n11{margin-top:-44px!important;margin-bottom:-44px!important}.my-lg-n12{margin-top:-48px!important;margin-bottom:-48px!important}.my-lg-n13{margin-top:-52px!important;margin-bottom:-52px!important}.my-lg-n14{margin-top:-56px!important;margin-bottom:-56px!important}.my-lg-n15{margin-top:-60px!important;margin-bottom:-60px!important}.my-lg-n16{margin-top:-64px!important;margin-bottom:-64px!important}.mt-lg-n1{margin-top:-4px!important}.mt-lg-n2{margin-top:-8px!important}.mt-lg-n3{margin-top:-12px!important}.mt-lg-n4{margin-top:-16px!important}.mt-lg-n5{margin-top:-20px!important}.mt-lg-n6{margin-top:-24px!important}.mt-lg-n7{margin-top:-28px!important}.mt-lg-n8{margin-top:-32px!important}.mt-lg-n9{margin-top:-36px!important}.mt-lg-n10{margin-top:-40px!important}.mt-lg-n11{margin-top:-44px!important}.mt-lg-n12{margin-top:-48px!important}.mt-lg-n13{margin-top:-52px!important}.mt-lg-n14{margin-top:-56px!important}.mt-lg-n15{margin-top:-60px!important}.mt-lg-n16{margin-top:-64px!important}.mr-lg-n1{margin-right:-4px!important}.mr-lg-n2{margin-right:-8px!important}.mr-lg-n3{margin-right:-12px!important}.mr-lg-n4{margin-right:-16px!important}.mr-lg-n5{margin-right:-20px!important}.mr-lg-n6{margin-right:-24px!important}.mr-lg-n7{margin-right:-28px!important}.mr-lg-n8{margin-right:-32px!important}.mr-lg-n9{margin-right:-36px!important}.mr-lg-n10{margin-right:-40px!important}.mr-lg-n11{margin-right:-44px!important}.mr-lg-n12{margin-right:-48px!important}.mr-lg-n13{margin-right:-52px!important}.mr-lg-n14{margin-right:-56px!important}.mr-lg-n15{margin-right:-60px!important}.mr-lg-n16{margin-right:-64px!important}.mb-lg-n1{margin-bottom:-4px!important}.mb-lg-n2{margin-bottom:-8px!important}.mb-lg-n3{margin-bottom:-12px!important}.mb-lg-n4{margin-bottom:-16px!important}.mb-lg-n5{margin-bottom:-20px!important}.mb-lg-n6{margin-bottom:-24px!important}.mb-lg-n7{margin-bottom:-28px!important}.mb-lg-n8{margin-bottom:-32px!important}.mb-lg-n9{margin-bottom:-36px!important}.mb-lg-n10{margin-bottom:-40px!important}.mb-lg-n11{margin-bottom:-44px!important}.mb-lg-n12{margin-bottom:-48px!important}.mb-lg-n13{margin-bottom:-52px!important}.mb-lg-n14{margin-bottom:-56px!important}.mb-lg-n15{margin-bottom:-60px!important}.mb-lg-n16{margin-bottom:-64px!important}.ml-lg-n1{margin-left:-4px!important}.ml-lg-n2{margin-left:-8px!important}.ml-lg-n3{margin-left:-12px!important}.ml-lg-n4{margin-left:-16px!important}.ml-lg-n5{margin-left:-20px!important}.ml-lg-n6{margin-left:-24px!important}.ml-lg-n7{margin-left:-28px!important}.ml-lg-n8{margin-left:-32px!important}.ml-lg-n9{margin-left:-36px!important}.ml-lg-n10{margin-left:-40px!important}.ml-lg-n11{margin-left:-44px!important}.ml-lg-n12{margin-left:-48px!important}.ml-lg-n13{margin-left:-52px!important}.ml-lg-n14{margin-left:-56px!important}.ml-lg-n15{margin-left:-60px!important}.ml-lg-n16{margin-left:-64px!important}.ms-lg-n1{margin-inline-start:-4px!important}.ms-lg-n2{margin-inline-start:-8px!important}.ms-lg-n3{margin-inline-start:-12px!important}.ms-lg-n4{margin-inline-start:-16px!important}.ms-lg-n5{margin-inline-start:-20px!important}.ms-lg-n6{margin-inline-start:-24px!important}.ms-lg-n7{margin-inline-start:-28px!important}.ms-lg-n8{margin-inline-start:-32px!important}.ms-lg-n9{margin-inline-start:-36px!important}.ms-lg-n10{margin-inline-start:-40px!important}.ms-lg-n11{margin-inline-start:-44px!important}.ms-lg-n12{margin-inline-start:-48px!important}.ms-lg-n13{margin-inline-start:-52px!important}.ms-lg-n14{margin-inline-start:-56px!important}.ms-lg-n15{margin-inline-start:-60px!important}.ms-lg-n16{margin-inline-start:-64px!important}.me-lg-n1{margin-inline-end:-4px!important}.me-lg-n2{margin-inline-end:-8px!important}.me-lg-n3{margin-inline-end:-12px!important}.me-lg-n4{margin-inline-end:-16px!important}.me-lg-n5{margin-inline-end:-20px!important}.me-lg-n6{margin-inline-end:-24px!important}.me-lg-n7{margin-inline-end:-28px!important}.me-lg-n8{margin-inline-end:-32px!important}.me-lg-n9{margin-inline-end:-36px!important}.me-lg-n10{margin-inline-end:-40px!important}.me-lg-n11{margin-inline-end:-44px!important}.me-lg-n12{margin-inline-end:-48px!important}.me-lg-n13{margin-inline-end:-52px!important}.me-lg-n14{margin-inline-end:-56px!important}.me-lg-n15{margin-inline-end:-60px!important}.me-lg-n16{margin-inline-end:-64px!important}.pa-lg-0{padding:0!important}.pa-lg-1{padding:4px!important}.pa-lg-2{padding:8px!important}.pa-lg-3{padding:12px!important}.pa-lg-4{padding:16px!important}.pa-lg-5{padding:20px!important}.pa-lg-6{padding:24px!important}.pa-lg-7{padding:28px!important}.pa-lg-8{padding:32px!important}.pa-lg-9{padding:36px!important}.pa-lg-10{padding:40px!important}.pa-lg-11{padding:44px!important}.pa-lg-12{padding:48px!important}.pa-lg-13{padding:52px!important}.pa-lg-14{padding:56px!important}.pa-lg-15{padding:60px!important}.pa-lg-16{padding:64px!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:4px!important;padding-left:4px!important}.px-lg-2{padding-right:8px!important;padding-left:8px!important}.px-lg-3{padding-right:12px!important;padding-left:12px!important}.px-lg-4{padding-right:16px!important;padding-left:16px!important}.px-lg-5{padding-right:20px!important;padding-left:20px!important}.px-lg-6{padding-right:24px!important;padding-left:24px!important}.px-lg-7{padding-right:28px!important;padding-left:28px!important}.px-lg-8{padding-right:32px!important;padding-left:32px!important}.px-lg-9{padding-right:36px!important;padding-left:36px!important}.px-lg-10{padding-right:40px!important;padding-left:40px!important}.px-lg-11{padding-right:44px!important;padding-left:44px!important}.px-lg-12{padding-right:48px!important;padding-left:48px!important}.px-lg-13{padding-right:52px!important;padding-left:52px!important}.px-lg-14{padding-right:56px!important;padding-left:56px!important}.px-lg-15{padding-right:60px!important;padding-left:60px!important}.px-lg-16{padding-right:64px!important;padding-left:64px!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:4px!important;padding-bottom:4px!important}.py-lg-2{padding-top:8px!important;padding-bottom:8px!important}.py-lg-3{padding-top:12px!important;padding-bottom:12px!important}.py-lg-4{padding-top:16px!important;padding-bottom:16px!important}.py-lg-5{padding-top:20px!important;padding-bottom:20px!important}.py-lg-6{padding-top:24px!important;padding-bottom:24px!important}.py-lg-7{padding-top:28px!important;padding-bottom:28px!important}.py-lg-8{padding-top:32px!important;padding-bottom:32px!important}.py-lg-9{padding-top:36px!important;padding-bottom:36px!important}.py-lg-10{padding-top:40px!important;padding-bottom:40px!important}.py-lg-11{padding-top:44px!important;padding-bottom:44px!important}.py-lg-12{padding-top:48px!important;padding-bottom:48px!important}.py-lg-13{padding-top:52px!important;padding-bottom:52px!important}.py-lg-14{padding-top:56px!important;padding-bottom:56px!important}.py-lg-15{padding-top:60px!important;padding-bottom:60px!important}.py-lg-16{padding-top:64px!important;padding-bottom:64px!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:4px!important}.pt-lg-2{padding-top:8px!important}.pt-lg-3{padding-top:12px!important}.pt-lg-4{padding-top:16px!important}.pt-lg-5{padding-top:20px!important}.pt-lg-6{padding-top:24px!important}.pt-lg-7{padding-top:28px!important}.pt-lg-8{padding-top:32px!important}.pt-lg-9{padding-top:36px!important}.pt-lg-10{padding-top:40px!important}.pt-lg-11{padding-top:44px!important}.pt-lg-12{padding-top:48px!important}.pt-lg-13{padding-top:52px!important}.pt-lg-14{padding-top:56px!important}.pt-lg-15{padding-top:60px!important}.pt-lg-16{padding-top:64px!important}.pr-lg-0{padding-right:0!important}.pr-lg-1{padding-right:4px!important}.pr-lg-2{padding-right:8px!important}.pr-lg-3{padding-right:12px!important}.pr-lg-4{padding-right:16px!important}.pr-lg-5{padding-right:20px!important}.pr-lg-6{padding-right:24px!important}.pr-lg-7{padding-right:28px!important}.pr-lg-8{padding-right:32px!important}.pr-lg-9{padding-right:36px!important}.pr-lg-10{padding-right:40px!important}.pr-lg-11{padding-right:44px!important}.pr-lg-12{padding-right:48px!important}.pr-lg-13{padding-right:52px!important}.pr-lg-14{padding-right:56px!important}.pr-lg-15{padding-right:60px!important}.pr-lg-16{padding-right:64px!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:4px!important}.pb-lg-2{padding-bottom:8px!important}.pb-lg-3{padding-bottom:12px!important}.pb-lg-4{padding-bottom:16px!important}.pb-lg-5{padding-bottom:20px!important}.pb-lg-6{padding-bottom:24px!important}.pb-lg-7{padding-bottom:28px!important}.pb-lg-8{padding-bottom:32px!important}.pb-lg-9{padding-bottom:36px!important}.pb-lg-10{padding-bottom:40px!important}.pb-lg-11{padding-bottom:44px!important}.pb-lg-12{padding-bottom:48px!important}.pb-lg-13{padding-bottom:52px!important}.pb-lg-14{padding-bottom:56px!important}.pb-lg-15{padding-bottom:60px!important}.pb-lg-16{padding-bottom:64px!important}.pl-lg-0{padding-left:0!important}.pl-lg-1{padding-left:4px!important}.pl-lg-2{padding-left:8px!important}.pl-lg-3{padding-left:12px!important}.pl-lg-4{padding-left:16px!important}.pl-lg-5{padding-left:20px!important}.pl-lg-6{padding-left:24px!important}.pl-lg-7{padding-left:28px!important}.pl-lg-8{padding-left:32px!important}.pl-lg-9{padding-left:36px!important}.pl-lg-10{padding-left:40px!important}.pl-lg-11{padding-left:44px!important}.pl-lg-12{padding-left:48px!important}.pl-lg-13{padding-left:52px!important}.pl-lg-14{padding-left:56px!important}.pl-lg-15{padding-left:60px!important}.pl-lg-16{padding-left:64px!important}.ps-lg-0{padding-inline-start:0px!important}.ps-lg-1{padding-inline-start:4px!important}.ps-lg-2{padding-inline-start:8px!important}.ps-lg-3{padding-inline-start:12px!important}.ps-lg-4{padding-inline-start:16px!important}.ps-lg-5{padding-inline-start:20px!important}.ps-lg-6{padding-inline-start:24px!important}.ps-lg-7{padding-inline-start:28px!important}.ps-lg-8{padding-inline-start:32px!important}.ps-lg-9{padding-inline-start:36px!important}.ps-lg-10{padding-inline-start:40px!important}.ps-lg-11{padding-inline-start:44px!important}.ps-lg-12{padding-inline-start:48px!important}.ps-lg-13{padding-inline-start:52px!important}.ps-lg-14{padding-inline-start:56px!important}.ps-lg-15{padding-inline-start:60px!important}.ps-lg-16{padding-inline-start:64px!important}.pe-lg-0{padding-inline-end:0px!important}.pe-lg-1{padding-inline-end:4px!important}.pe-lg-2{padding-inline-end:8px!important}.pe-lg-3{padding-inline-end:12px!important}.pe-lg-4{padding-inline-end:16px!important}.pe-lg-5{padding-inline-end:20px!important}.pe-lg-6{padding-inline-end:24px!important}.pe-lg-7{padding-inline-end:28px!important}.pe-lg-8{padding-inline-end:32px!important}.pe-lg-9{padding-inline-end:36px!important}.pe-lg-10{padding-inline-end:40px!important}.pe-lg-11{padding-inline-end:44px!important}.pe-lg-12{padding-inline-end:48px!important}.pe-lg-13{padding-inline-end:52px!important}.pe-lg-14{padding-inline-end:56px!important}.pe-lg-15{padding-inline-end:60px!important}.pe-lg-16{padding-inline-end:64px!important}.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}.text-lg-justify{text-align:justify!important}.text-lg-start{text-align:start!important}.text-lg-end{text-align:end!important}.text-lg-h1{font-size:6rem!important;font-weight:300;line-height:1;letter-spacing:-.015625em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-h2{font-size:3.75rem!important;font-weight:300;line-height:1;letter-spacing:-.0083333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-h3{font-size:3rem!important;font-weight:400;line-height:1.05;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-h4{font-size:2.125rem!important;font-weight:400;line-height:1.175;letter-spacing:.0073529412em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-h5{font-size:1.5rem!important;font-weight:400;line-height:1.333;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-h6{font-size:1.25rem!important;font-weight:500;line-height:1.6;letter-spacing:.0125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-subtitle-1{font-size:1rem!important;font-weight:400;line-height:1.75;letter-spacing:.009375em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-subtitle-2{font-size:.875rem!important;font-weight:500;line-height:1.6;letter-spacing:.0071428571em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-body-1{font-size:1rem!important;font-weight:400;line-height:1.5;letter-spacing:.03125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-body-2{font-size:.875rem!important;font-weight:400;line-height:1.425;letter-spacing:.0178571429em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-button{font-size:.875rem!important;font-weight:500;line-height:2.6;letter-spacing:.0892857143em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.text-lg-caption{font-size:.75rem!important;font-weight:400;line-height:1.667;letter-spacing:.0333333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-overline{font-size:.75rem!important;font-weight:500;line-height:2.667;letter-spacing:.1666666667em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.h-lg-auto{height:auto!important}.h-lg-screen{height:100vh!important}.h-lg-0{height:0!important}.h-lg-25{height:25%!important}.h-lg-50{height:50%!important}.h-lg-75{height:75%!important}.h-lg-100{height:100%!important}.w-lg-auto{width:auto!important}.w-lg-0{width:0!important}.w-lg-25{width:25%!important}.w-lg-33{width:33%!important}.w-lg-50{width:50%!important}.w-lg-66{width:66%!important}.w-lg-75{width:75%!important}.w-lg-100{width:100%!important}}@media (min-width: 1920px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.float-xl-none{float:none!important}.float-xl-left{float:left!important}.float-xl-right{float:right!important}.v-locale--is-rtl .float-xl-end{float:left!important}.v-locale--is-rtl .float-xl-start,.v-locale--is-ltr .float-xl-end{float:right!important}.v-locale--is-ltr .float-xl-start{float:left!important}.flex-xl-fill,.flex-xl-1-1{flex:1 1 auto!important}.flex-xl-1-0{flex:1 0 auto!important}.flex-xl-0-1{flex:0 1 auto!important}.flex-xl-0-0{flex:0 0 auto!important}.flex-xl-1-1-100{flex:1 1 100%!important}.flex-xl-1-0-100{flex:1 0 100%!important}.flex-xl-0-1-100{flex:0 1 100%!important}.flex-xl-0-0-100{flex:0 0 100%!important}.flex-xl-1-1-0{flex:1 1 0!important}.flex-xl-1-0-0{flex:1 0 0!important}.flex-xl-0-1-0{flex:0 1 0!important}.flex-xl-0-0-0{flex:0 0 0!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-xl-start{justify-content:flex-start!important}.justify-xl-end{justify-content:flex-end!important}.justify-xl-center{justify-content:center!important}.justify-xl-space-between{justify-content:space-between!important}.justify-xl-space-around{justify-content:space-around!important}.justify-xl-space-evenly{justify-content:space-evenly!important}.justify-items-xl-start{justify-items:flex-start!important}.justify-items-xl-end{justify-items:flex-end!important}.justify-items-xl-center{justify-items:center!important}.justify-items-xl-stretch{justify-items:stretch!important}.align-xl-start{align-items:flex-start!important}.align-xl-end{align-items:flex-end!important}.align-xl-center{align-items:center!important}.align-xl-baseline{align-items:baseline!important}.align-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-space-between{align-content:space-between!important}.align-content-xl-space-around{align-content:space-around!important}.align-content-xl-space-evenly{align-content:space-evenly!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-6{order:6!important}.order-xl-7{order:7!important}.order-xl-8{order:8!important}.order-xl-9{order:9!important}.order-xl-10{order:10!important}.order-xl-11{order:11!important}.order-xl-12{order:12!important}.order-xl-last{order:13!important}.ga-xl-0{gap:0px!important}.ga-xl-1{gap:4px!important}.ga-xl-2{gap:8px!important}.ga-xl-3{gap:12px!important}.ga-xl-4{gap:16px!important}.ga-xl-5{gap:20px!important}.ga-xl-6{gap:24px!important}.ga-xl-7{gap:28px!important}.ga-xl-8{gap:32px!important}.ga-xl-9{gap:36px!important}.ga-xl-10{gap:40px!important}.ga-xl-11{gap:44px!important}.ga-xl-12{gap:48px!important}.ga-xl-13{gap:52px!important}.ga-xl-14{gap:56px!important}.ga-xl-15{gap:60px!important}.ga-xl-16{gap:64px!important}.ga-xl-auto{gap:auto!important}.gr-xl-0{row-gap:0px!important}.gr-xl-1{row-gap:4px!important}.gr-xl-2{row-gap:8px!important}.gr-xl-3{row-gap:12px!important}.gr-xl-4{row-gap:16px!important}.gr-xl-5{row-gap:20px!important}.gr-xl-6{row-gap:24px!important}.gr-xl-7{row-gap:28px!important}.gr-xl-8{row-gap:32px!important}.gr-xl-9{row-gap:36px!important}.gr-xl-10{row-gap:40px!important}.gr-xl-11{row-gap:44px!important}.gr-xl-12{row-gap:48px!important}.gr-xl-13{row-gap:52px!important}.gr-xl-14{row-gap:56px!important}.gr-xl-15{row-gap:60px!important}.gr-xl-16{row-gap:64px!important}.gr-xl-auto{row-gap:auto!important}.gc-xl-0{column-gap:0px!important}.gc-xl-1{column-gap:4px!important}.gc-xl-2{column-gap:8px!important}.gc-xl-3{column-gap:12px!important}.gc-xl-4{column-gap:16px!important}.gc-xl-5{column-gap:20px!important}.gc-xl-6{column-gap:24px!important}.gc-xl-7{column-gap:28px!important}.gc-xl-8{column-gap:32px!important}.gc-xl-9{column-gap:36px!important}.gc-xl-10{column-gap:40px!important}.gc-xl-11{column-gap:44px!important}.gc-xl-12{column-gap:48px!important}.gc-xl-13{column-gap:52px!important}.gc-xl-14{column-gap:56px!important}.gc-xl-15{column-gap:60px!important}.gc-xl-16{column-gap:64px!important}.gc-xl-auto{column-gap:auto!important}.ma-xl-0{margin:0!important}.ma-xl-1{margin:4px!important}.ma-xl-2{margin:8px!important}.ma-xl-3{margin:12px!important}.ma-xl-4{margin:16px!important}.ma-xl-5{margin:20px!important}.ma-xl-6{margin:24px!important}.ma-xl-7{margin:28px!important}.ma-xl-8{margin:32px!important}.ma-xl-9{margin:36px!important}.ma-xl-10{margin:40px!important}.ma-xl-11{margin:44px!important}.ma-xl-12{margin:48px!important}.ma-xl-13{margin:52px!important}.ma-xl-14{margin:56px!important}.ma-xl-15{margin:60px!important}.ma-xl-16{margin:64px!important}.ma-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:4px!important;margin-left:4px!important}.mx-xl-2{margin-right:8px!important;margin-left:8px!important}.mx-xl-3{margin-right:12px!important;margin-left:12px!important}.mx-xl-4{margin-right:16px!important;margin-left:16px!important}.mx-xl-5{margin-right:20px!important;margin-left:20px!important}.mx-xl-6{margin-right:24px!important;margin-left:24px!important}.mx-xl-7{margin-right:28px!important;margin-left:28px!important}.mx-xl-8{margin-right:32px!important;margin-left:32px!important}.mx-xl-9{margin-right:36px!important;margin-left:36px!important}.mx-xl-10{margin-right:40px!important;margin-left:40px!important}.mx-xl-11{margin-right:44px!important;margin-left:44px!important}.mx-xl-12{margin-right:48px!important;margin-left:48px!important}.mx-xl-13{margin-right:52px!important;margin-left:52px!important}.mx-xl-14{margin-right:56px!important;margin-left:56px!important}.mx-xl-15{margin-right:60px!important;margin-left:60px!important}.mx-xl-16{margin-right:64px!important;margin-left:64px!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:4px!important;margin-bottom:4px!important}.my-xl-2{margin-top:8px!important;margin-bottom:8px!important}.my-xl-3{margin-top:12px!important;margin-bottom:12px!important}.my-xl-4{margin-top:16px!important;margin-bottom:16px!important}.my-xl-5{margin-top:20px!important;margin-bottom:20px!important}.my-xl-6{margin-top:24px!important;margin-bottom:24px!important}.my-xl-7{margin-top:28px!important;margin-bottom:28px!important}.my-xl-8{margin-top:32px!important;margin-bottom:32px!important}.my-xl-9{margin-top:36px!important;margin-bottom:36px!important}.my-xl-10{margin-top:40px!important;margin-bottom:40px!important}.my-xl-11{margin-top:44px!important;margin-bottom:44px!important}.my-xl-12{margin-top:48px!important;margin-bottom:48px!important}.my-xl-13{margin-top:52px!important;margin-bottom:52px!important}.my-xl-14{margin-top:56px!important;margin-bottom:56px!important}.my-xl-15{margin-top:60px!important;margin-bottom:60px!important}.my-xl-16{margin-top:64px!important;margin-bottom:64px!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:4px!important}.mt-xl-2{margin-top:8px!important}.mt-xl-3{margin-top:12px!important}.mt-xl-4{margin-top:16px!important}.mt-xl-5{margin-top:20px!important}.mt-xl-6{margin-top:24px!important}.mt-xl-7{margin-top:28px!important}.mt-xl-8{margin-top:32px!important}.mt-xl-9{margin-top:36px!important}.mt-xl-10{margin-top:40px!important}.mt-xl-11{margin-top:44px!important}.mt-xl-12{margin-top:48px!important}.mt-xl-13{margin-top:52px!important}.mt-xl-14{margin-top:56px!important}.mt-xl-15{margin-top:60px!important}.mt-xl-16{margin-top:64px!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-0{margin-right:0!important}.mr-xl-1{margin-right:4px!important}.mr-xl-2{margin-right:8px!important}.mr-xl-3{margin-right:12px!important}.mr-xl-4{margin-right:16px!important}.mr-xl-5{margin-right:20px!important}.mr-xl-6{margin-right:24px!important}.mr-xl-7{margin-right:28px!important}.mr-xl-8{margin-right:32px!important}.mr-xl-9{margin-right:36px!important}.mr-xl-10{margin-right:40px!important}.mr-xl-11{margin-right:44px!important}.mr-xl-12{margin-right:48px!important}.mr-xl-13{margin-right:52px!important}.mr-xl-14{margin-right:56px!important}.mr-xl-15{margin-right:60px!important}.mr-xl-16{margin-right:64px!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:4px!important}.mb-xl-2{margin-bottom:8px!important}.mb-xl-3{margin-bottom:12px!important}.mb-xl-4{margin-bottom:16px!important}.mb-xl-5{margin-bottom:20px!important}.mb-xl-6{margin-bottom:24px!important}.mb-xl-7{margin-bottom:28px!important}.mb-xl-8{margin-bottom:32px!important}.mb-xl-9{margin-bottom:36px!important}.mb-xl-10{margin-bottom:40px!important}.mb-xl-11{margin-bottom:44px!important}.mb-xl-12{margin-bottom:48px!important}.mb-xl-13{margin-bottom:52px!important}.mb-xl-14{margin-bottom:56px!important}.mb-xl-15{margin-bottom:60px!important}.mb-xl-16{margin-bottom:64px!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-0{margin-left:0!important}.ml-xl-1{margin-left:4px!important}.ml-xl-2{margin-left:8px!important}.ml-xl-3{margin-left:12px!important}.ml-xl-4{margin-left:16px!important}.ml-xl-5{margin-left:20px!important}.ml-xl-6{margin-left:24px!important}.ml-xl-7{margin-left:28px!important}.ml-xl-8{margin-left:32px!important}.ml-xl-9{margin-left:36px!important}.ml-xl-10{margin-left:40px!important}.ml-xl-11{margin-left:44px!important}.ml-xl-12{margin-left:48px!important}.ml-xl-13{margin-left:52px!important}.ml-xl-14{margin-left:56px!important}.ml-xl-15{margin-left:60px!important}.ml-xl-16{margin-left:64px!important}.ml-xl-auto{margin-left:auto!important}.ms-xl-0{margin-inline-start:0px!important}.ms-xl-1{margin-inline-start:4px!important}.ms-xl-2{margin-inline-start:8px!important}.ms-xl-3{margin-inline-start:12px!important}.ms-xl-4{margin-inline-start:16px!important}.ms-xl-5{margin-inline-start:20px!important}.ms-xl-6{margin-inline-start:24px!important}.ms-xl-7{margin-inline-start:28px!important}.ms-xl-8{margin-inline-start:32px!important}.ms-xl-9{margin-inline-start:36px!important}.ms-xl-10{margin-inline-start:40px!important}.ms-xl-11{margin-inline-start:44px!important}.ms-xl-12{margin-inline-start:48px!important}.ms-xl-13{margin-inline-start:52px!important}.ms-xl-14{margin-inline-start:56px!important}.ms-xl-15{margin-inline-start:60px!important}.ms-xl-16{margin-inline-start:64px!important}.ms-xl-auto{margin-inline-start:auto!important}.me-xl-0{margin-inline-end:0px!important}.me-xl-1{margin-inline-end:4px!important}.me-xl-2{margin-inline-end:8px!important}.me-xl-3{margin-inline-end:12px!important}.me-xl-4{margin-inline-end:16px!important}.me-xl-5{margin-inline-end:20px!important}.me-xl-6{margin-inline-end:24px!important}.me-xl-7{margin-inline-end:28px!important}.me-xl-8{margin-inline-end:32px!important}.me-xl-9{margin-inline-end:36px!important}.me-xl-10{margin-inline-end:40px!important}.me-xl-11{margin-inline-end:44px!important}.me-xl-12{margin-inline-end:48px!important}.me-xl-13{margin-inline-end:52px!important}.me-xl-14{margin-inline-end:56px!important}.me-xl-15{margin-inline-end:60px!important}.me-xl-16{margin-inline-end:64px!important}.me-xl-auto{margin-inline-end:auto!important}.ma-xl-n1{margin:-4px!important}.ma-xl-n2{margin:-8px!important}.ma-xl-n3{margin:-12px!important}.ma-xl-n4{margin:-16px!important}.ma-xl-n5{margin:-20px!important}.ma-xl-n6{margin:-24px!important}.ma-xl-n7{margin:-28px!important}.ma-xl-n8{margin:-32px!important}.ma-xl-n9{margin:-36px!important}.ma-xl-n10{margin:-40px!important}.ma-xl-n11{margin:-44px!important}.ma-xl-n12{margin:-48px!important}.ma-xl-n13{margin:-52px!important}.ma-xl-n14{margin:-56px!important}.ma-xl-n15{margin:-60px!important}.ma-xl-n16{margin:-64px!important}.mx-xl-n1{margin-right:-4px!important;margin-left:-4px!important}.mx-xl-n2{margin-right:-8px!important;margin-left:-8px!important}.mx-xl-n3{margin-right:-12px!important;margin-left:-12px!important}.mx-xl-n4{margin-right:-16px!important;margin-left:-16px!important}.mx-xl-n5{margin-right:-20px!important;margin-left:-20px!important}.mx-xl-n6{margin-right:-24px!important;margin-left:-24px!important}.mx-xl-n7{margin-right:-28px!important;margin-left:-28px!important}.mx-xl-n8{margin-right:-32px!important;margin-left:-32px!important}.mx-xl-n9{margin-right:-36px!important;margin-left:-36px!important}.mx-xl-n10{margin-right:-40px!important;margin-left:-40px!important}.mx-xl-n11{margin-right:-44px!important;margin-left:-44px!important}.mx-xl-n12{margin-right:-48px!important;margin-left:-48px!important}.mx-xl-n13{margin-right:-52px!important;margin-left:-52px!important}.mx-xl-n14{margin-right:-56px!important;margin-left:-56px!important}.mx-xl-n15{margin-right:-60px!important;margin-left:-60px!important}.mx-xl-n16{margin-right:-64px!important;margin-left:-64px!important}.my-xl-n1{margin-top:-4px!important;margin-bottom:-4px!important}.my-xl-n2{margin-top:-8px!important;margin-bottom:-8px!important}.my-xl-n3{margin-top:-12px!important;margin-bottom:-12px!important}.my-xl-n4{margin-top:-16px!important;margin-bottom:-16px!important}.my-xl-n5{margin-top:-20px!important;margin-bottom:-20px!important}.my-xl-n6{margin-top:-24px!important;margin-bottom:-24px!important}.my-xl-n7{margin-top:-28px!important;margin-bottom:-28px!important}.my-xl-n8{margin-top:-32px!important;margin-bottom:-32px!important}.my-xl-n9{margin-top:-36px!important;margin-bottom:-36px!important}.my-xl-n10{margin-top:-40px!important;margin-bottom:-40px!important}.my-xl-n11{margin-top:-44px!important;margin-bottom:-44px!important}.my-xl-n12{margin-top:-48px!important;margin-bottom:-48px!important}.my-xl-n13{margin-top:-52px!important;margin-bottom:-52px!important}.my-xl-n14{margin-top:-56px!important;margin-bottom:-56px!important}.my-xl-n15{margin-top:-60px!important;margin-bottom:-60px!important}.my-xl-n16{margin-top:-64px!important;margin-bottom:-64px!important}.mt-xl-n1{margin-top:-4px!important}.mt-xl-n2{margin-top:-8px!important}.mt-xl-n3{margin-top:-12px!important}.mt-xl-n4{margin-top:-16px!important}.mt-xl-n5{margin-top:-20px!important}.mt-xl-n6{margin-top:-24px!important}.mt-xl-n7{margin-top:-28px!important}.mt-xl-n8{margin-top:-32px!important}.mt-xl-n9{margin-top:-36px!important}.mt-xl-n10{margin-top:-40px!important}.mt-xl-n11{margin-top:-44px!important}.mt-xl-n12{margin-top:-48px!important}.mt-xl-n13{margin-top:-52px!important}.mt-xl-n14{margin-top:-56px!important}.mt-xl-n15{margin-top:-60px!important}.mt-xl-n16{margin-top:-64px!important}.mr-xl-n1{margin-right:-4px!important}.mr-xl-n2{margin-right:-8px!important}.mr-xl-n3{margin-right:-12px!important}.mr-xl-n4{margin-right:-16px!important}.mr-xl-n5{margin-right:-20px!important}.mr-xl-n6{margin-right:-24px!important}.mr-xl-n7{margin-right:-28px!important}.mr-xl-n8{margin-right:-32px!important}.mr-xl-n9{margin-right:-36px!important}.mr-xl-n10{margin-right:-40px!important}.mr-xl-n11{margin-right:-44px!important}.mr-xl-n12{margin-right:-48px!important}.mr-xl-n13{margin-right:-52px!important}.mr-xl-n14{margin-right:-56px!important}.mr-xl-n15{margin-right:-60px!important}.mr-xl-n16{margin-right:-64px!important}.mb-xl-n1{margin-bottom:-4px!important}.mb-xl-n2{margin-bottom:-8px!important}.mb-xl-n3{margin-bottom:-12px!important}.mb-xl-n4{margin-bottom:-16px!important}.mb-xl-n5{margin-bottom:-20px!important}.mb-xl-n6{margin-bottom:-24px!important}.mb-xl-n7{margin-bottom:-28px!important}.mb-xl-n8{margin-bottom:-32px!important}.mb-xl-n9{margin-bottom:-36px!important}.mb-xl-n10{margin-bottom:-40px!important}.mb-xl-n11{margin-bottom:-44px!important}.mb-xl-n12{margin-bottom:-48px!important}.mb-xl-n13{margin-bottom:-52px!important}.mb-xl-n14{margin-bottom:-56px!important}.mb-xl-n15{margin-bottom:-60px!important}.mb-xl-n16{margin-bottom:-64px!important}.ml-xl-n1{margin-left:-4px!important}.ml-xl-n2{margin-left:-8px!important}.ml-xl-n3{margin-left:-12px!important}.ml-xl-n4{margin-left:-16px!important}.ml-xl-n5{margin-left:-20px!important}.ml-xl-n6{margin-left:-24px!important}.ml-xl-n7{margin-left:-28px!important}.ml-xl-n8{margin-left:-32px!important}.ml-xl-n9{margin-left:-36px!important}.ml-xl-n10{margin-left:-40px!important}.ml-xl-n11{margin-left:-44px!important}.ml-xl-n12{margin-left:-48px!important}.ml-xl-n13{margin-left:-52px!important}.ml-xl-n14{margin-left:-56px!important}.ml-xl-n15{margin-left:-60px!important}.ml-xl-n16{margin-left:-64px!important}.ms-xl-n1{margin-inline-start:-4px!important}.ms-xl-n2{margin-inline-start:-8px!important}.ms-xl-n3{margin-inline-start:-12px!important}.ms-xl-n4{margin-inline-start:-16px!important}.ms-xl-n5{margin-inline-start:-20px!important}.ms-xl-n6{margin-inline-start:-24px!important}.ms-xl-n7{margin-inline-start:-28px!important}.ms-xl-n8{margin-inline-start:-32px!important}.ms-xl-n9{margin-inline-start:-36px!important}.ms-xl-n10{margin-inline-start:-40px!important}.ms-xl-n11{margin-inline-start:-44px!important}.ms-xl-n12{margin-inline-start:-48px!important}.ms-xl-n13{margin-inline-start:-52px!important}.ms-xl-n14{margin-inline-start:-56px!important}.ms-xl-n15{margin-inline-start:-60px!important}.ms-xl-n16{margin-inline-start:-64px!important}.me-xl-n1{margin-inline-end:-4px!important}.me-xl-n2{margin-inline-end:-8px!important}.me-xl-n3{margin-inline-end:-12px!important}.me-xl-n4{margin-inline-end:-16px!important}.me-xl-n5{margin-inline-end:-20px!important}.me-xl-n6{margin-inline-end:-24px!important}.me-xl-n7{margin-inline-end:-28px!important}.me-xl-n8{margin-inline-end:-32px!important}.me-xl-n9{margin-inline-end:-36px!important}.me-xl-n10{margin-inline-end:-40px!important}.me-xl-n11{margin-inline-end:-44px!important}.me-xl-n12{margin-inline-end:-48px!important}.me-xl-n13{margin-inline-end:-52px!important}.me-xl-n14{margin-inline-end:-56px!important}.me-xl-n15{margin-inline-end:-60px!important}.me-xl-n16{margin-inline-end:-64px!important}.pa-xl-0{padding:0!important}.pa-xl-1{padding:4px!important}.pa-xl-2{padding:8px!important}.pa-xl-3{padding:12px!important}.pa-xl-4{padding:16px!important}.pa-xl-5{padding:20px!important}.pa-xl-6{padding:24px!important}.pa-xl-7{padding:28px!important}.pa-xl-8{padding:32px!important}.pa-xl-9{padding:36px!important}.pa-xl-10{padding:40px!important}.pa-xl-11{padding:44px!important}.pa-xl-12{padding:48px!important}.pa-xl-13{padding:52px!important}.pa-xl-14{padding:56px!important}.pa-xl-15{padding:60px!important}.pa-xl-16{padding:64px!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:4px!important;padding-left:4px!important}.px-xl-2{padding-right:8px!important;padding-left:8px!important}.px-xl-3{padding-right:12px!important;padding-left:12px!important}.px-xl-4{padding-right:16px!important;padding-left:16px!important}.px-xl-5{padding-right:20px!important;padding-left:20px!important}.px-xl-6{padding-right:24px!important;padding-left:24px!important}.px-xl-7{padding-right:28px!important;padding-left:28px!important}.px-xl-8{padding-right:32px!important;padding-left:32px!important}.px-xl-9{padding-right:36px!important;padding-left:36px!important}.px-xl-10{padding-right:40px!important;padding-left:40px!important}.px-xl-11{padding-right:44px!important;padding-left:44px!important}.px-xl-12{padding-right:48px!important;padding-left:48px!important}.px-xl-13{padding-right:52px!important;padding-left:52px!important}.px-xl-14{padding-right:56px!important;padding-left:56px!important}.px-xl-15{padding-right:60px!important;padding-left:60px!important}.px-xl-16{padding-right:64px!important;padding-left:64px!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:4px!important;padding-bottom:4px!important}.py-xl-2{padding-top:8px!important;padding-bottom:8px!important}.py-xl-3{padding-top:12px!important;padding-bottom:12px!important}.py-xl-4{padding-top:16px!important;padding-bottom:16px!important}.py-xl-5{padding-top:20px!important;padding-bottom:20px!important}.py-xl-6{padding-top:24px!important;padding-bottom:24px!important}.py-xl-7{padding-top:28px!important;padding-bottom:28px!important}.py-xl-8{padding-top:32px!important;padding-bottom:32px!important}.py-xl-9{padding-top:36px!important;padding-bottom:36px!important}.py-xl-10{padding-top:40px!important;padding-bottom:40px!important}.py-xl-11{padding-top:44px!important;padding-bottom:44px!important}.py-xl-12{padding-top:48px!important;padding-bottom:48px!important}.py-xl-13{padding-top:52px!important;padding-bottom:52px!important}.py-xl-14{padding-top:56px!important;padding-bottom:56px!important}.py-xl-15{padding-top:60px!important;padding-bottom:60px!important}.py-xl-16{padding-top:64px!important;padding-bottom:64px!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:4px!important}.pt-xl-2{padding-top:8px!important}.pt-xl-3{padding-top:12px!important}.pt-xl-4{padding-top:16px!important}.pt-xl-5{padding-top:20px!important}.pt-xl-6{padding-top:24px!important}.pt-xl-7{padding-top:28px!important}.pt-xl-8{padding-top:32px!important}.pt-xl-9{padding-top:36px!important}.pt-xl-10{padding-top:40px!important}.pt-xl-11{padding-top:44px!important}.pt-xl-12{padding-top:48px!important}.pt-xl-13{padding-top:52px!important}.pt-xl-14{padding-top:56px!important}.pt-xl-15{padding-top:60px!important}.pt-xl-16{padding-top:64px!important}.pr-xl-0{padding-right:0!important}.pr-xl-1{padding-right:4px!important}.pr-xl-2{padding-right:8px!important}.pr-xl-3{padding-right:12px!important}.pr-xl-4{padding-right:16px!important}.pr-xl-5{padding-right:20px!important}.pr-xl-6{padding-right:24px!important}.pr-xl-7{padding-right:28px!important}.pr-xl-8{padding-right:32px!important}.pr-xl-9{padding-right:36px!important}.pr-xl-10{padding-right:40px!important}.pr-xl-11{padding-right:44px!important}.pr-xl-12{padding-right:48px!important}.pr-xl-13{padding-right:52px!important}.pr-xl-14{padding-right:56px!important}.pr-xl-15{padding-right:60px!important}.pr-xl-16{padding-right:64px!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:4px!important}.pb-xl-2{padding-bottom:8px!important}.pb-xl-3{padding-bottom:12px!important}.pb-xl-4{padding-bottom:16px!important}.pb-xl-5{padding-bottom:20px!important}.pb-xl-6{padding-bottom:24px!important}.pb-xl-7{padding-bottom:28px!important}.pb-xl-8{padding-bottom:32px!important}.pb-xl-9{padding-bottom:36px!important}.pb-xl-10{padding-bottom:40px!important}.pb-xl-11{padding-bottom:44px!important}.pb-xl-12{padding-bottom:48px!important}.pb-xl-13{padding-bottom:52px!important}.pb-xl-14{padding-bottom:56px!important}.pb-xl-15{padding-bottom:60px!important}.pb-xl-16{padding-bottom:64px!important}.pl-xl-0{padding-left:0!important}.pl-xl-1{padding-left:4px!important}.pl-xl-2{padding-left:8px!important}.pl-xl-3{padding-left:12px!important}.pl-xl-4{padding-left:16px!important}.pl-xl-5{padding-left:20px!important}.pl-xl-6{padding-left:24px!important}.pl-xl-7{padding-left:28px!important}.pl-xl-8{padding-left:32px!important}.pl-xl-9{padding-left:36px!important}.pl-xl-10{padding-left:40px!important}.pl-xl-11{padding-left:44px!important}.pl-xl-12{padding-left:48px!important}.pl-xl-13{padding-left:52px!important}.pl-xl-14{padding-left:56px!important}.pl-xl-15{padding-left:60px!important}.pl-xl-16{padding-left:64px!important}.ps-xl-0{padding-inline-start:0px!important}.ps-xl-1{padding-inline-start:4px!important}.ps-xl-2{padding-inline-start:8px!important}.ps-xl-3{padding-inline-start:12px!important}.ps-xl-4{padding-inline-start:16px!important}.ps-xl-5{padding-inline-start:20px!important}.ps-xl-6{padding-inline-start:24px!important}.ps-xl-7{padding-inline-start:28px!important}.ps-xl-8{padding-inline-start:32px!important}.ps-xl-9{padding-inline-start:36px!important}.ps-xl-10{padding-inline-start:40px!important}.ps-xl-11{padding-inline-start:44px!important}.ps-xl-12{padding-inline-start:48px!important}.ps-xl-13{padding-inline-start:52px!important}.ps-xl-14{padding-inline-start:56px!important}.ps-xl-15{padding-inline-start:60px!important}.ps-xl-16{padding-inline-start:64px!important}.pe-xl-0{padding-inline-end:0px!important}.pe-xl-1{padding-inline-end:4px!important}.pe-xl-2{padding-inline-end:8px!important}.pe-xl-3{padding-inline-end:12px!important}.pe-xl-4{padding-inline-end:16px!important}.pe-xl-5{padding-inline-end:20px!important}.pe-xl-6{padding-inline-end:24px!important}.pe-xl-7{padding-inline-end:28px!important}.pe-xl-8{padding-inline-end:32px!important}.pe-xl-9{padding-inline-end:36px!important}.pe-xl-10{padding-inline-end:40px!important}.pe-xl-11{padding-inline-end:44px!important}.pe-xl-12{padding-inline-end:48px!important}.pe-xl-13{padding-inline-end:52px!important}.pe-xl-14{padding-inline-end:56px!important}.pe-xl-15{padding-inline-end:60px!important}.pe-xl-16{padding-inline-end:64px!important}.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}.text-xl-justify{text-align:justify!important}.text-xl-start{text-align:start!important}.text-xl-end{text-align:end!important}.text-xl-h1{font-size:6rem!important;font-weight:300;line-height:1;letter-spacing:-.015625em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-h2{font-size:3.75rem!important;font-weight:300;line-height:1;letter-spacing:-.0083333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-h3{font-size:3rem!important;font-weight:400;line-height:1.05;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-h4{font-size:2.125rem!important;font-weight:400;line-height:1.175;letter-spacing:.0073529412em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-h5{font-size:1.5rem!important;font-weight:400;line-height:1.333;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-h6{font-size:1.25rem!important;font-weight:500;line-height:1.6;letter-spacing:.0125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-subtitle-1{font-size:1rem!important;font-weight:400;line-height:1.75;letter-spacing:.009375em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-subtitle-2{font-size:.875rem!important;font-weight:500;line-height:1.6;letter-spacing:.0071428571em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-body-1{font-size:1rem!important;font-weight:400;line-height:1.5;letter-spacing:.03125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-body-2{font-size:.875rem!important;font-weight:400;line-height:1.425;letter-spacing:.0178571429em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-button{font-size:.875rem!important;font-weight:500;line-height:2.6;letter-spacing:.0892857143em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.text-xl-caption{font-size:.75rem!important;font-weight:400;line-height:1.667;letter-spacing:.0333333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-overline{font-size:.75rem!important;font-weight:500;line-height:2.667;letter-spacing:.1666666667em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.h-xl-auto{height:auto!important}.h-xl-screen{height:100vh!important}.h-xl-0{height:0!important}.h-xl-25{height:25%!important}.h-xl-50{height:50%!important}.h-xl-75{height:75%!important}.h-xl-100{height:100%!important}.w-xl-auto{width:auto!important}.w-xl-0{width:0!important}.w-xl-25{width:25%!important}.w-xl-33{width:33%!important}.w-xl-50{width:50%!important}.w-xl-66{width:66%!important}.w-xl-75{width:75%!important}.w-xl-100{width:100%!important}}@media (min-width: 2560px){.d-xxl-none{display:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.float-xxl-none{float:none!important}.float-xxl-left{float:left!important}.float-xxl-right{float:right!important}.v-locale--is-rtl .float-xxl-end{float:left!important}.v-locale--is-rtl .float-xxl-start,.v-locale--is-ltr .float-xxl-end{float:right!important}.v-locale--is-ltr .float-xxl-start{float:left!important}.flex-xxl-fill,.flex-xxl-1-1{flex:1 1 auto!important}.flex-xxl-1-0{flex:1 0 auto!important}.flex-xxl-0-1{flex:0 1 auto!important}.flex-xxl-0-0{flex:0 0 auto!important}.flex-xxl-1-1-100{flex:1 1 100%!important}.flex-xxl-1-0-100{flex:1 0 100%!important}.flex-xxl-0-1-100{flex:0 1 100%!important}.flex-xxl-0-0-100{flex:0 0 100%!important}.flex-xxl-1-1-0{flex:1 1 0!important}.flex-xxl-1-0-0{flex:1 0 0!important}.flex-xxl-0-1-0{flex:0 1 0!important}.flex-xxl-0-0-0{flex:0 0 0!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-xxl-start{justify-content:flex-start!important}.justify-xxl-end{justify-content:flex-end!important}.justify-xxl-center{justify-content:center!important}.justify-xxl-space-between{justify-content:space-between!important}.justify-xxl-space-around{justify-content:space-around!important}.justify-xxl-space-evenly{justify-content:space-evenly!important}.justify-items-xxl-start{justify-items:flex-start!important}.justify-items-xxl-end{justify-items:flex-end!important}.justify-items-xxl-center{justify-items:center!important}.justify-items-xxl-stretch{justify-items:stretch!important}.align-xxl-start{align-items:flex-start!important}.align-xxl-end{align-items:flex-end!important}.align-xxl-center{align-items:center!important}.align-xxl-baseline{align-items:baseline!important}.align-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-space-between{align-content:space-between!important}.align-content-xxl-space-around{align-content:space-around!important}.align-content-xxl-space-evenly{align-content:space-evenly!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-6{order:6!important}.order-xxl-7{order:7!important}.order-xxl-8{order:8!important}.order-xxl-9{order:9!important}.order-xxl-10{order:10!important}.order-xxl-11{order:11!important}.order-xxl-12{order:12!important}.order-xxl-last{order:13!important}.ga-xxl-0{gap:0px!important}.ga-xxl-1{gap:4px!important}.ga-xxl-2{gap:8px!important}.ga-xxl-3{gap:12px!important}.ga-xxl-4{gap:16px!important}.ga-xxl-5{gap:20px!important}.ga-xxl-6{gap:24px!important}.ga-xxl-7{gap:28px!important}.ga-xxl-8{gap:32px!important}.ga-xxl-9{gap:36px!important}.ga-xxl-10{gap:40px!important}.ga-xxl-11{gap:44px!important}.ga-xxl-12{gap:48px!important}.ga-xxl-13{gap:52px!important}.ga-xxl-14{gap:56px!important}.ga-xxl-15{gap:60px!important}.ga-xxl-16{gap:64px!important}.ga-xxl-auto{gap:auto!important}.gr-xxl-0{row-gap:0px!important}.gr-xxl-1{row-gap:4px!important}.gr-xxl-2{row-gap:8px!important}.gr-xxl-3{row-gap:12px!important}.gr-xxl-4{row-gap:16px!important}.gr-xxl-5{row-gap:20px!important}.gr-xxl-6{row-gap:24px!important}.gr-xxl-7{row-gap:28px!important}.gr-xxl-8{row-gap:32px!important}.gr-xxl-9{row-gap:36px!important}.gr-xxl-10{row-gap:40px!important}.gr-xxl-11{row-gap:44px!important}.gr-xxl-12{row-gap:48px!important}.gr-xxl-13{row-gap:52px!important}.gr-xxl-14{row-gap:56px!important}.gr-xxl-15{row-gap:60px!important}.gr-xxl-16{row-gap:64px!important}.gr-xxl-auto{row-gap:auto!important}.gc-xxl-0{column-gap:0px!important}.gc-xxl-1{column-gap:4px!important}.gc-xxl-2{column-gap:8px!important}.gc-xxl-3{column-gap:12px!important}.gc-xxl-4{column-gap:16px!important}.gc-xxl-5{column-gap:20px!important}.gc-xxl-6{column-gap:24px!important}.gc-xxl-7{column-gap:28px!important}.gc-xxl-8{column-gap:32px!important}.gc-xxl-9{column-gap:36px!important}.gc-xxl-10{column-gap:40px!important}.gc-xxl-11{column-gap:44px!important}.gc-xxl-12{column-gap:48px!important}.gc-xxl-13{column-gap:52px!important}.gc-xxl-14{column-gap:56px!important}.gc-xxl-15{column-gap:60px!important}.gc-xxl-16{column-gap:64px!important}.gc-xxl-auto{column-gap:auto!important}.ma-xxl-0{margin:0!important}.ma-xxl-1{margin:4px!important}.ma-xxl-2{margin:8px!important}.ma-xxl-3{margin:12px!important}.ma-xxl-4{margin:16px!important}.ma-xxl-5{margin:20px!important}.ma-xxl-6{margin:24px!important}.ma-xxl-7{margin:28px!important}.ma-xxl-8{margin:32px!important}.ma-xxl-9{margin:36px!important}.ma-xxl-10{margin:40px!important}.ma-xxl-11{margin:44px!important}.ma-xxl-12{margin:48px!important}.ma-xxl-13{margin:52px!important}.ma-xxl-14{margin:56px!important}.ma-xxl-15{margin:60px!important}.ma-xxl-16{margin:64px!important}.ma-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:4px!important;margin-left:4px!important}.mx-xxl-2{margin-right:8px!important;margin-left:8px!important}.mx-xxl-3{margin-right:12px!important;margin-left:12px!important}.mx-xxl-4{margin-right:16px!important;margin-left:16px!important}.mx-xxl-5{margin-right:20px!important;margin-left:20px!important}.mx-xxl-6{margin-right:24px!important;margin-left:24px!important}.mx-xxl-7{margin-right:28px!important;margin-left:28px!important}.mx-xxl-8{margin-right:32px!important;margin-left:32px!important}.mx-xxl-9{margin-right:36px!important;margin-left:36px!important}.mx-xxl-10{margin-right:40px!important;margin-left:40px!important}.mx-xxl-11{margin-right:44px!important;margin-left:44px!important}.mx-xxl-12{margin-right:48px!important;margin-left:48px!important}.mx-xxl-13{margin-right:52px!important;margin-left:52px!important}.mx-xxl-14{margin-right:56px!important;margin-left:56px!important}.mx-xxl-15{margin-right:60px!important;margin-left:60px!important}.mx-xxl-16{margin-right:64px!important;margin-left:64px!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:4px!important;margin-bottom:4px!important}.my-xxl-2{margin-top:8px!important;margin-bottom:8px!important}.my-xxl-3{margin-top:12px!important;margin-bottom:12px!important}.my-xxl-4{margin-top:16px!important;margin-bottom:16px!important}.my-xxl-5{margin-top:20px!important;margin-bottom:20px!important}.my-xxl-6{margin-top:24px!important;margin-bottom:24px!important}.my-xxl-7{margin-top:28px!important;margin-bottom:28px!important}.my-xxl-8{margin-top:32px!important;margin-bottom:32px!important}.my-xxl-9{margin-top:36px!important;margin-bottom:36px!important}.my-xxl-10{margin-top:40px!important;margin-bottom:40px!important}.my-xxl-11{margin-top:44px!important;margin-bottom:44px!important}.my-xxl-12{margin-top:48px!important;margin-bottom:48px!important}.my-xxl-13{margin-top:52px!important;margin-bottom:52px!important}.my-xxl-14{margin-top:56px!important;margin-bottom:56px!important}.my-xxl-15{margin-top:60px!important;margin-bottom:60px!important}.my-xxl-16{margin-top:64px!important;margin-bottom:64px!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:4px!important}.mt-xxl-2{margin-top:8px!important}.mt-xxl-3{margin-top:12px!important}.mt-xxl-4{margin-top:16px!important}.mt-xxl-5{margin-top:20px!important}.mt-xxl-6{margin-top:24px!important}.mt-xxl-7{margin-top:28px!important}.mt-xxl-8{margin-top:32px!important}.mt-xxl-9{margin-top:36px!important}.mt-xxl-10{margin-top:40px!important}.mt-xxl-11{margin-top:44px!important}.mt-xxl-12{margin-top:48px!important}.mt-xxl-13{margin-top:52px!important}.mt-xxl-14{margin-top:56px!important}.mt-xxl-15{margin-top:60px!important}.mt-xxl-16{margin-top:64px!important}.mt-xxl-auto{margin-top:auto!important}.mr-xxl-0{margin-right:0!important}.mr-xxl-1{margin-right:4px!important}.mr-xxl-2{margin-right:8px!important}.mr-xxl-3{margin-right:12px!important}.mr-xxl-4{margin-right:16px!important}.mr-xxl-5{margin-right:20px!important}.mr-xxl-6{margin-right:24px!important}.mr-xxl-7{margin-right:28px!important}.mr-xxl-8{margin-right:32px!important}.mr-xxl-9{margin-right:36px!important}.mr-xxl-10{margin-right:40px!important}.mr-xxl-11{margin-right:44px!important}.mr-xxl-12{margin-right:48px!important}.mr-xxl-13{margin-right:52px!important}.mr-xxl-14{margin-right:56px!important}.mr-xxl-15{margin-right:60px!important}.mr-xxl-16{margin-right:64px!important}.mr-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:4px!important}.mb-xxl-2{margin-bottom:8px!important}.mb-xxl-3{margin-bottom:12px!important}.mb-xxl-4{margin-bottom:16px!important}.mb-xxl-5{margin-bottom:20px!important}.mb-xxl-6{margin-bottom:24px!important}.mb-xxl-7{margin-bottom:28px!important}.mb-xxl-8{margin-bottom:32px!important}.mb-xxl-9{margin-bottom:36px!important}.mb-xxl-10{margin-bottom:40px!important}.mb-xxl-11{margin-bottom:44px!important}.mb-xxl-12{margin-bottom:48px!important}.mb-xxl-13{margin-bottom:52px!important}.mb-xxl-14{margin-bottom:56px!important}.mb-xxl-15{margin-bottom:60px!important}.mb-xxl-16{margin-bottom:64px!important}.mb-xxl-auto{margin-bottom:auto!important}.ml-xxl-0{margin-left:0!important}.ml-xxl-1{margin-left:4px!important}.ml-xxl-2{margin-left:8px!important}.ml-xxl-3{margin-left:12px!important}.ml-xxl-4{margin-left:16px!important}.ml-xxl-5{margin-left:20px!important}.ml-xxl-6{margin-left:24px!important}.ml-xxl-7{margin-left:28px!important}.ml-xxl-8{margin-left:32px!important}.ml-xxl-9{margin-left:36px!important}.ml-xxl-10{margin-left:40px!important}.ml-xxl-11{margin-left:44px!important}.ml-xxl-12{margin-left:48px!important}.ml-xxl-13{margin-left:52px!important}.ml-xxl-14{margin-left:56px!important}.ml-xxl-15{margin-left:60px!important}.ml-xxl-16{margin-left:64px!important}.ml-xxl-auto{margin-left:auto!important}.ms-xxl-0{margin-inline-start:0px!important}.ms-xxl-1{margin-inline-start:4px!important}.ms-xxl-2{margin-inline-start:8px!important}.ms-xxl-3{margin-inline-start:12px!important}.ms-xxl-4{margin-inline-start:16px!important}.ms-xxl-5{margin-inline-start:20px!important}.ms-xxl-6{margin-inline-start:24px!important}.ms-xxl-7{margin-inline-start:28px!important}.ms-xxl-8{margin-inline-start:32px!important}.ms-xxl-9{margin-inline-start:36px!important}.ms-xxl-10{margin-inline-start:40px!important}.ms-xxl-11{margin-inline-start:44px!important}.ms-xxl-12{margin-inline-start:48px!important}.ms-xxl-13{margin-inline-start:52px!important}.ms-xxl-14{margin-inline-start:56px!important}.ms-xxl-15{margin-inline-start:60px!important}.ms-xxl-16{margin-inline-start:64px!important}.ms-xxl-auto{margin-inline-start:auto!important}.me-xxl-0{margin-inline-end:0px!important}.me-xxl-1{margin-inline-end:4px!important}.me-xxl-2{margin-inline-end:8px!important}.me-xxl-3{margin-inline-end:12px!important}.me-xxl-4{margin-inline-end:16px!important}.me-xxl-5{margin-inline-end:20px!important}.me-xxl-6{margin-inline-end:24px!important}.me-xxl-7{margin-inline-end:28px!important}.me-xxl-8{margin-inline-end:32px!important}.me-xxl-9{margin-inline-end:36px!important}.me-xxl-10{margin-inline-end:40px!important}.me-xxl-11{margin-inline-end:44px!important}.me-xxl-12{margin-inline-end:48px!important}.me-xxl-13{margin-inline-end:52px!important}.me-xxl-14{margin-inline-end:56px!important}.me-xxl-15{margin-inline-end:60px!important}.me-xxl-16{margin-inline-end:64px!important}.me-xxl-auto{margin-inline-end:auto!important}.ma-xxl-n1{margin:-4px!important}.ma-xxl-n2{margin:-8px!important}.ma-xxl-n3{margin:-12px!important}.ma-xxl-n4{margin:-16px!important}.ma-xxl-n5{margin:-20px!important}.ma-xxl-n6{margin:-24px!important}.ma-xxl-n7{margin:-28px!important}.ma-xxl-n8{margin:-32px!important}.ma-xxl-n9{margin:-36px!important}.ma-xxl-n10{margin:-40px!important}.ma-xxl-n11{margin:-44px!important}.ma-xxl-n12{margin:-48px!important}.ma-xxl-n13{margin:-52px!important}.ma-xxl-n14{margin:-56px!important}.ma-xxl-n15{margin:-60px!important}.ma-xxl-n16{margin:-64px!important}.mx-xxl-n1{margin-right:-4px!important;margin-left:-4px!important}.mx-xxl-n2{margin-right:-8px!important;margin-left:-8px!important}.mx-xxl-n3{margin-right:-12px!important;margin-left:-12px!important}.mx-xxl-n4{margin-right:-16px!important;margin-left:-16px!important}.mx-xxl-n5{margin-right:-20px!important;margin-left:-20px!important}.mx-xxl-n6{margin-right:-24px!important;margin-left:-24px!important}.mx-xxl-n7{margin-right:-28px!important;margin-left:-28px!important}.mx-xxl-n8{margin-right:-32px!important;margin-left:-32px!important}.mx-xxl-n9{margin-right:-36px!important;margin-left:-36px!important}.mx-xxl-n10{margin-right:-40px!important;margin-left:-40px!important}.mx-xxl-n11{margin-right:-44px!important;margin-left:-44px!important}.mx-xxl-n12{margin-right:-48px!important;margin-left:-48px!important}.mx-xxl-n13{margin-right:-52px!important;margin-left:-52px!important}.mx-xxl-n14{margin-right:-56px!important;margin-left:-56px!important}.mx-xxl-n15{margin-right:-60px!important;margin-left:-60px!important}.mx-xxl-n16{margin-right:-64px!important;margin-left:-64px!important}.my-xxl-n1{margin-top:-4px!important;margin-bottom:-4px!important}.my-xxl-n2{margin-top:-8px!important;margin-bottom:-8px!important}.my-xxl-n3{margin-top:-12px!important;margin-bottom:-12px!important}.my-xxl-n4{margin-top:-16px!important;margin-bottom:-16px!important}.my-xxl-n5{margin-top:-20px!important;margin-bottom:-20px!important}.my-xxl-n6{margin-top:-24px!important;margin-bottom:-24px!important}.my-xxl-n7{margin-top:-28px!important;margin-bottom:-28px!important}.my-xxl-n8{margin-top:-32px!important;margin-bottom:-32px!important}.my-xxl-n9{margin-top:-36px!important;margin-bottom:-36px!important}.my-xxl-n10{margin-top:-40px!important;margin-bottom:-40px!important}.my-xxl-n11{margin-top:-44px!important;margin-bottom:-44px!important}.my-xxl-n12{margin-top:-48px!important;margin-bottom:-48px!important}.my-xxl-n13{margin-top:-52px!important;margin-bottom:-52px!important}.my-xxl-n14{margin-top:-56px!important;margin-bottom:-56px!important}.my-xxl-n15{margin-top:-60px!important;margin-bottom:-60px!important}.my-xxl-n16{margin-top:-64px!important;margin-bottom:-64px!important}.mt-xxl-n1{margin-top:-4px!important}.mt-xxl-n2{margin-top:-8px!important}.mt-xxl-n3{margin-top:-12px!important}.mt-xxl-n4{margin-top:-16px!important}.mt-xxl-n5{margin-top:-20px!important}.mt-xxl-n6{margin-top:-24px!important}.mt-xxl-n7{margin-top:-28px!important}.mt-xxl-n8{margin-top:-32px!important}.mt-xxl-n9{margin-top:-36px!important}.mt-xxl-n10{margin-top:-40px!important}.mt-xxl-n11{margin-top:-44px!important}.mt-xxl-n12{margin-top:-48px!important}.mt-xxl-n13{margin-top:-52px!important}.mt-xxl-n14{margin-top:-56px!important}.mt-xxl-n15{margin-top:-60px!important}.mt-xxl-n16{margin-top:-64px!important}.mr-xxl-n1{margin-right:-4px!important}.mr-xxl-n2{margin-right:-8px!important}.mr-xxl-n3{margin-right:-12px!important}.mr-xxl-n4{margin-right:-16px!important}.mr-xxl-n5{margin-right:-20px!important}.mr-xxl-n6{margin-right:-24px!important}.mr-xxl-n7{margin-right:-28px!important}.mr-xxl-n8{margin-right:-32px!important}.mr-xxl-n9{margin-right:-36px!important}.mr-xxl-n10{margin-right:-40px!important}.mr-xxl-n11{margin-right:-44px!important}.mr-xxl-n12{margin-right:-48px!important}.mr-xxl-n13{margin-right:-52px!important}.mr-xxl-n14{margin-right:-56px!important}.mr-xxl-n15{margin-right:-60px!important}.mr-xxl-n16{margin-right:-64px!important}.mb-xxl-n1{margin-bottom:-4px!important}.mb-xxl-n2{margin-bottom:-8px!important}.mb-xxl-n3{margin-bottom:-12px!important}.mb-xxl-n4{margin-bottom:-16px!important}.mb-xxl-n5{margin-bottom:-20px!important}.mb-xxl-n6{margin-bottom:-24px!important}.mb-xxl-n7{margin-bottom:-28px!important}.mb-xxl-n8{margin-bottom:-32px!important}.mb-xxl-n9{margin-bottom:-36px!important}.mb-xxl-n10{margin-bottom:-40px!important}.mb-xxl-n11{margin-bottom:-44px!important}.mb-xxl-n12{margin-bottom:-48px!important}.mb-xxl-n13{margin-bottom:-52px!important}.mb-xxl-n14{margin-bottom:-56px!important}.mb-xxl-n15{margin-bottom:-60px!important}.mb-xxl-n16{margin-bottom:-64px!important}.ml-xxl-n1{margin-left:-4px!important}.ml-xxl-n2{margin-left:-8px!important}.ml-xxl-n3{margin-left:-12px!important}.ml-xxl-n4{margin-left:-16px!important}.ml-xxl-n5{margin-left:-20px!important}.ml-xxl-n6{margin-left:-24px!important}.ml-xxl-n7{margin-left:-28px!important}.ml-xxl-n8{margin-left:-32px!important}.ml-xxl-n9{margin-left:-36px!important}.ml-xxl-n10{margin-left:-40px!important}.ml-xxl-n11{margin-left:-44px!important}.ml-xxl-n12{margin-left:-48px!important}.ml-xxl-n13{margin-left:-52px!important}.ml-xxl-n14{margin-left:-56px!important}.ml-xxl-n15{margin-left:-60px!important}.ml-xxl-n16{margin-left:-64px!important}.ms-xxl-n1{margin-inline-start:-4px!important}.ms-xxl-n2{margin-inline-start:-8px!important}.ms-xxl-n3{margin-inline-start:-12px!important}.ms-xxl-n4{margin-inline-start:-16px!important}.ms-xxl-n5{margin-inline-start:-20px!important}.ms-xxl-n6{margin-inline-start:-24px!important}.ms-xxl-n7{margin-inline-start:-28px!important}.ms-xxl-n8{margin-inline-start:-32px!important}.ms-xxl-n9{margin-inline-start:-36px!important}.ms-xxl-n10{margin-inline-start:-40px!important}.ms-xxl-n11{margin-inline-start:-44px!important}.ms-xxl-n12{margin-inline-start:-48px!important}.ms-xxl-n13{margin-inline-start:-52px!important}.ms-xxl-n14{margin-inline-start:-56px!important}.ms-xxl-n15{margin-inline-start:-60px!important}.ms-xxl-n16{margin-inline-start:-64px!important}.me-xxl-n1{margin-inline-end:-4px!important}.me-xxl-n2{margin-inline-end:-8px!important}.me-xxl-n3{margin-inline-end:-12px!important}.me-xxl-n4{margin-inline-end:-16px!important}.me-xxl-n5{margin-inline-end:-20px!important}.me-xxl-n6{margin-inline-end:-24px!important}.me-xxl-n7{margin-inline-end:-28px!important}.me-xxl-n8{margin-inline-end:-32px!important}.me-xxl-n9{margin-inline-end:-36px!important}.me-xxl-n10{margin-inline-end:-40px!important}.me-xxl-n11{margin-inline-end:-44px!important}.me-xxl-n12{margin-inline-end:-48px!important}.me-xxl-n13{margin-inline-end:-52px!important}.me-xxl-n14{margin-inline-end:-56px!important}.me-xxl-n15{margin-inline-end:-60px!important}.me-xxl-n16{margin-inline-end:-64px!important}.pa-xxl-0{padding:0!important}.pa-xxl-1{padding:4px!important}.pa-xxl-2{padding:8px!important}.pa-xxl-3{padding:12px!important}.pa-xxl-4{padding:16px!important}.pa-xxl-5{padding:20px!important}.pa-xxl-6{padding:24px!important}.pa-xxl-7{padding:28px!important}.pa-xxl-8{padding:32px!important}.pa-xxl-9{padding:36px!important}.pa-xxl-10{padding:40px!important}.pa-xxl-11{padding:44px!important}.pa-xxl-12{padding:48px!important}.pa-xxl-13{padding:52px!important}.pa-xxl-14{padding:56px!important}.pa-xxl-15{padding:60px!important}.pa-xxl-16{padding:64px!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:4px!important;padding-left:4px!important}.px-xxl-2{padding-right:8px!important;padding-left:8px!important}.px-xxl-3{padding-right:12px!important;padding-left:12px!important}.px-xxl-4{padding-right:16px!important;padding-left:16px!important}.px-xxl-5{padding-right:20px!important;padding-left:20px!important}.px-xxl-6{padding-right:24px!important;padding-left:24px!important}.px-xxl-7{padding-right:28px!important;padding-left:28px!important}.px-xxl-8{padding-right:32px!important;padding-left:32px!important}.px-xxl-9{padding-right:36px!important;padding-left:36px!important}.px-xxl-10{padding-right:40px!important;padding-left:40px!important}.px-xxl-11{padding-right:44px!important;padding-left:44px!important}.px-xxl-12{padding-right:48px!important;padding-left:48px!important}.px-xxl-13{padding-right:52px!important;padding-left:52px!important}.px-xxl-14{padding-right:56px!important;padding-left:56px!important}.px-xxl-15{padding-right:60px!important;padding-left:60px!important}.px-xxl-16{padding-right:64px!important;padding-left:64px!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:4px!important;padding-bottom:4px!important}.py-xxl-2{padding-top:8px!important;padding-bottom:8px!important}.py-xxl-3{padding-top:12px!important;padding-bottom:12px!important}.py-xxl-4{padding-top:16px!important;padding-bottom:16px!important}.py-xxl-5{padding-top:20px!important;padding-bottom:20px!important}.py-xxl-6{padding-top:24px!important;padding-bottom:24px!important}.py-xxl-7{padding-top:28px!important;padding-bottom:28px!important}.py-xxl-8{padding-top:32px!important;padding-bottom:32px!important}.py-xxl-9{padding-top:36px!important;padding-bottom:36px!important}.py-xxl-10{padding-top:40px!important;padding-bottom:40px!important}.py-xxl-11{padding-top:44px!important;padding-bottom:44px!important}.py-xxl-12{padding-top:48px!important;padding-bottom:48px!important}.py-xxl-13{padding-top:52px!important;padding-bottom:52px!important}.py-xxl-14{padding-top:56px!important;padding-bottom:56px!important}.py-xxl-15{padding-top:60px!important;padding-bottom:60px!important}.py-xxl-16{padding-top:64px!important;padding-bottom:64px!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:4px!important}.pt-xxl-2{padding-top:8px!important}.pt-xxl-3{padding-top:12px!important}.pt-xxl-4{padding-top:16px!important}.pt-xxl-5{padding-top:20px!important}.pt-xxl-6{padding-top:24px!important}.pt-xxl-7{padding-top:28px!important}.pt-xxl-8{padding-top:32px!important}.pt-xxl-9{padding-top:36px!important}.pt-xxl-10{padding-top:40px!important}.pt-xxl-11{padding-top:44px!important}.pt-xxl-12{padding-top:48px!important}.pt-xxl-13{padding-top:52px!important}.pt-xxl-14{padding-top:56px!important}.pt-xxl-15{padding-top:60px!important}.pt-xxl-16{padding-top:64px!important}.pr-xxl-0{padding-right:0!important}.pr-xxl-1{padding-right:4px!important}.pr-xxl-2{padding-right:8px!important}.pr-xxl-3{padding-right:12px!important}.pr-xxl-4{padding-right:16px!important}.pr-xxl-5{padding-right:20px!important}.pr-xxl-6{padding-right:24px!important}.pr-xxl-7{padding-right:28px!important}.pr-xxl-8{padding-right:32px!important}.pr-xxl-9{padding-right:36px!important}.pr-xxl-10{padding-right:40px!important}.pr-xxl-11{padding-right:44px!important}.pr-xxl-12{padding-right:48px!important}.pr-xxl-13{padding-right:52px!important}.pr-xxl-14{padding-right:56px!important}.pr-xxl-15{padding-right:60px!important}.pr-xxl-16{padding-right:64px!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:4px!important}.pb-xxl-2{padding-bottom:8px!important}.pb-xxl-3{padding-bottom:12px!important}.pb-xxl-4{padding-bottom:16px!important}.pb-xxl-5{padding-bottom:20px!important}.pb-xxl-6{padding-bottom:24px!important}.pb-xxl-7{padding-bottom:28px!important}.pb-xxl-8{padding-bottom:32px!important}.pb-xxl-9{padding-bottom:36px!important}.pb-xxl-10{padding-bottom:40px!important}.pb-xxl-11{padding-bottom:44px!important}.pb-xxl-12{padding-bottom:48px!important}.pb-xxl-13{padding-bottom:52px!important}.pb-xxl-14{padding-bottom:56px!important}.pb-xxl-15{padding-bottom:60px!important}.pb-xxl-16{padding-bottom:64px!important}.pl-xxl-0{padding-left:0!important}.pl-xxl-1{padding-left:4px!important}.pl-xxl-2{padding-left:8px!important}.pl-xxl-3{padding-left:12px!important}.pl-xxl-4{padding-left:16px!important}.pl-xxl-5{padding-left:20px!important}.pl-xxl-6{padding-left:24px!important}.pl-xxl-7{padding-left:28px!important}.pl-xxl-8{padding-left:32px!important}.pl-xxl-9{padding-left:36px!important}.pl-xxl-10{padding-left:40px!important}.pl-xxl-11{padding-left:44px!important}.pl-xxl-12{padding-left:48px!important}.pl-xxl-13{padding-left:52px!important}.pl-xxl-14{padding-left:56px!important}.pl-xxl-15{padding-left:60px!important}.pl-xxl-16{padding-left:64px!important}.ps-xxl-0{padding-inline-start:0px!important}.ps-xxl-1{padding-inline-start:4px!important}.ps-xxl-2{padding-inline-start:8px!important}.ps-xxl-3{padding-inline-start:12px!important}.ps-xxl-4{padding-inline-start:16px!important}.ps-xxl-5{padding-inline-start:20px!important}.ps-xxl-6{padding-inline-start:24px!important}.ps-xxl-7{padding-inline-start:28px!important}.ps-xxl-8{padding-inline-start:32px!important}.ps-xxl-9{padding-inline-start:36px!important}.ps-xxl-10{padding-inline-start:40px!important}.ps-xxl-11{padding-inline-start:44px!important}.ps-xxl-12{padding-inline-start:48px!important}.ps-xxl-13{padding-inline-start:52px!important}.ps-xxl-14{padding-inline-start:56px!important}.ps-xxl-15{padding-inline-start:60px!important}.ps-xxl-16{padding-inline-start:64px!important}.pe-xxl-0{padding-inline-end:0px!important}.pe-xxl-1{padding-inline-end:4px!important}.pe-xxl-2{padding-inline-end:8px!important}.pe-xxl-3{padding-inline-end:12px!important}.pe-xxl-4{padding-inline-end:16px!important}.pe-xxl-5{padding-inline-end:20px!important}.pe-xxl-6{padding-inline-end:24px!important}.pe-xxl-7{padding-inline-end:28px!important}.pe-xxl-8{padding-inline-end:32px!important}.pe-xxl-9{padding-inline-end:36px!important}.pe-xxl-10{padding-inline-end:40px!important}.pe-xxl-11{padding-inline-end:44px!important}.pe-xxl-12{padding-inline-end:48px!important}.pe-xxl-13{padding-inline-end:52px!important}.pe-xxl-14{padding-inline-end:56px!important}.pe-xxl-15{padding-inline-end:60px!important}.pe-xxl-16{padding-inline-end:64px!important}.text-xxl-left{text-align:left!important}.text-xxl-right{text-align:right!important}.text-xxl-center{text-align:center!important}.text-xxl-justify{text-align:justify!important}.text-xxl-start{text-align:start!important}.text-xxl-end{text-align:end!important}.text-xxl-h1{font-size:6rem!important;font-weight:300;line-height:1;letter-spacing:-.015625em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-h2{font-size:3.75rem!important;font-weight:300;line-height:1;letter-spacing:-.0083333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-h3{font-size:3rem!important;font-weight:400;line-height:1.05;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-h4{font-size:2.125rem!important;font-weight:400;line-height:1.175;letter-spacing:.0073529412em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-h5{font-size:1.5rem!important;font-weight:400;line-height:1.333;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-h6{font-size:1.25rem!important;font-weight:500;line-height:1.6;letter-spacing:.0125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-subtitle-1{font-size:1rem!important;font-weight:400;line-height:1.75;letter-spacing:.009375em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-subtitle-2{font-size:.875rem!important;font-weight:500;line-height:1.6;letter-spacing:.0071428571em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-body-1{font-size:1rem!important;font-weight:400;line-height:1.5;letter-spacing:.03125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-body-2{font-size:.875rem!important;font-weight:400;line-height:1.425;letter-spacing:.0178571429em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-button{font-size:.875rem!important;font-weight:500;line-height:2.6;letter-spacing:.0892857143em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.text-xxl-caption{font-size:.75rem!important;font-weight:400;line-height:1.667;letter-spacing:.0333333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-overline{font-size:.75rem!important;font-weight:500;line-height:2.667;letter-spacing:.1666666667em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.h-xxl-auto{height:auto!important}.h-xxl-screen{height:100vh!important}.h-xxl-0{height:0!important}.h-xxl-25{height:25%!important}.h-xxl-50{height:50%!important}.h-xxl-75{height:75%!important}.h-xxl-100{height:100%!important}.w-xxl-auto{width:auto!important}.w-xxl-0{width:0!important}.w-xxl-25{width:25%!important}.w-xxl-33{width:33%!important}.w-xxl-50{width:50%!important}.w-xxl-66{width:66%!important}.w-xxl-75{width:75%!important}.w-xxl-100{width:100%!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.float-print-none{float:none!important}.float-print-left{float:left!important}.float-print-right{float:right!important}.v-locale--is-rtl .float-print-end{float:left!important}.v-locale--is-rtl .float-print-start,.v-locale--is-ltr .float-print-end{float:right!important}.v-locale--is-ltr .float-print-start{float:left!important}}.v-time-picker-controls{display:flex;align-items:center;justify-content:center;font-size:.875rem;margin-inline:24px;margin-bottom:12px}.v-time-picker-controls__text{padding-bottom:12px}.v-time-picker-controls__time{display:flex;white-space:nowrap;direction:ltr;justify-content:center;align-items:start}.v-time-picker-controls__time__separator{width:24px;text-align:center}.v-time-picker--density-compact .v-time-picker-controls__time__separator{font-weight:700}.v-time-picker--density-default .v-time-picker-controls__time__separator{font-size:56px;line-height:74px}.v-time-picker--variant-input .v-time-picker--density-default .v-time-picker-controls__time__separator{line-height:64px}.v-time-picker-controls__time--with-seconds .v-time-picker--density-default .v-time-picker-controls__time__separator{height:80px;font-size:56px}.v-time-picker--density-comfortable .v-time-picker-controls__time__separator{font-size:40px;line-height:58px}.v-time-picker--variant-input .v-time-picker--density-comfortable .v-time-picker-controls__time__separator{line-height:48px}.v-time-picker-controls__time--with-seconds .v-time-picker--density-comfortable .v-time-picker-controls__time__separator{height:64px;font-size:40px}.v-time-picker--density-compact .v-time-picker-controls__time__separator{font-size:32px;line-height:50px}.v-time-picker--variant-input .v-time-picker--density-compact .v-time-picker-controls__time__separator{line-height:40px}.v-time-picker-controls__time--with-seconds .v-time-picker--density-compact .v-time-picker-controls__time__separator{height:56px;font-size:32px}.v-time-picker-controls__time__field{width:96px}.v-time-picker-controls__time__field .v-field{width:96px;background-color:rgb(var(--v-theme-surface-light));color:inherit;transition:color .25s cubic-bezier(.4,0,.2,1)}.v-time-picker-controls__time__field .v-field>.v-field__overlay{opacity:.04}.v-time-picker-controls__time__field--active .v-field>.v-field__overlay{opacity:calc((.04 + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}.v-time-picker--variant-input .v-time-picker-controls__time__field,.v-time-picker--variant-input .v-time-picker-controls__time__field .v-field{width:96px}.v-time-picker-controls__time--with-seconds .v-time-picker-controls__time__field,.v-time-picker--variant-input .v-time-picker-controls__time--with-seconds .v-time-picker-controls__time__field{width:64px}.v-time-picker-controls__time__field .v-field__input{padding:0;font-weight:500;text-align:center;line-height:1;align-self:center}.v-time-picker-controls__time__field .v-field__input:focus::placeholder{opacity:0}.v-time-picker-controls__time__field.v-input>.v-input__details{font-size:12px;letter-spacing:.0333333333em;padding-inline:0;white-space:normal}.v-time-picker-controls__time__field.v-input>.v-input__details>.v-messages{opacity:1}.v-time-picker-controls__time__field.v-input--error .v-field__input{color:rgb(var(--v-theme-error))}.v-time-picker-controls__ampm{margin-left:12px;display:flex;flex-direction:column;text-transform:uppercase}.v-time-picker-controls__ampm--readonly{pointer-events:none}.v-time-picker-controls__ampm--readonly .v-picker__title__btn.v-picker__title__btn--active{opacity:.6}.v-time-picker-controls__ampm__btn.v-btn{min-width:52px;padding:0 8px}.v-time-picker-controls__ampm__btn.v-btn.v-time-picker-controls__ampm__am{border-radius:4px 4px 0 0;border:1px solid}.v-time-picker-controls__ampm__btn.v-btn.v-time-picker-controls__ampm__pm{border-radius:0 0 4px 4px;border:1px solid;border-top:none}.v-time-picker-controls__ampm__btn.v-btn__active{background:rgb(var(--v-theme-primary))}.v-time-picker--density-default .v-time-picker-controls__time__field .v-input__control{height:80px}.v-time-picker--density-default .v-time-picker-controls__time__field .v-input__control .v-field{font-size:56px}.v-time-picker--density-default .v-time-picker-controls__time__field .v-input__control .v-field .v-field__input{min-height:80px}.v-time-picker--density-default.v-time-picker--variant-input .v-time-picker-controls__time__field .v-input__control{height:72px}.v-time-picker--density-default.v-time-picker--variant-input .v-time-picker-controls__time__field .v-input__control .v-field{font-size:44px}.v-time-picker--density-default.v-time-picker--variant-input .v-time-picker-controls__time__field .v-input__control .v-field .v-field__input{min-height:72px}.v-time-picker--density-default .v-time-picker-controls__time--with-seconds .v-time-picker-controls__time__field .v-field{font-size:40px}.v-time-picker--density-default .v-time-picker-controls__ampm__btn.v-btn{font-size:18px;height:40px}.v-time-picker--density-default.v-time-picker--variant-input .v-time-picker-controls__ampm__btn.v-btn{height:36px}.v-time-picker--density-comfortable .v-time-picker-controls__time__field .v-input__control{height:64px}.v-time-picker--density-comfortable .v-time-picker-controls__time__field .v-input__control .v-field{font-size:40px}.v-time-picker--density-comfortable .v-time-picker-controls__time__field .v-input__control .v-field .v-field__input{min-height:64px}.v-time-picker--density-comfortable.v-time-picker--variant-input .v-time-picker-controls__time__field .v-input__control{height:56px}.v-time-picker--density-comfortable.v-time-picker--variant-input .v-time-picker-controls__time__field .v-input__control .v-field{font-size:32px}.v-time-picker--density-comfortable.v-time-picker--variant-input .v-time-picker-controls__time__field .v-input__control .v-field .v-field__input{min-height:56px}.v-time-picker--density-comfortable .v-time-picker-controls__time--with-seconds .v-time-picker-controls__time__field .v-field{font-size:32px}.v-time-picker--density-comfortable .v-time-picker-controls__ampm__btn.v-btn{font-size:14px;height:32px}.v-time-picker--density-comfortable.v-time-picker--variant-input .v-time-picker-controls__ampm__btn.v-btn{height:28px}.v-time-picker--density-compact .v-time-picker-controls__time__field .v-input__control{height:56px}.v-time-picker--density-compact .v-time-picker-controls__time__field .v-input__control .v-field{font-size:32px}.v-time-picker--density-compact .v-time-picker-controls__time__field .v-input__control .v-field .v-field__input{min-height:56px}.v-time-picker--density-compact.v-time-picker--variant-input .v-time-picker-controls__time__field .v-input__control{height:48px}.v-time-picker--density-compact.v-time-picker--variant-input .v-time-picker-controls__time__field .v-input__control .v-field{font-size:26px}.v-time-picker--density-compact.v-time-picker--variant-input .v-time-picker-controls__time__field .v-input__control .v-field .v-field__input{min-height:48px}.v-time-picker--density-compact .v-time-picker-controls__time--with-seconds .v-time-picker-controls__time__field .v-field{font-size:28px}.v-time-picker--density-compact .v-time-picker-controls__ampm__btn.v-btn{font-size:12px;height:28px}.v-time-picker--density-compact.v-time-picker--variant-input .v-time-picker-controls__ampm__btn.v-btn{height:24px}.v-picker__title--landscape .v-time-picker-controls{flex-direction:column;justify-content:center;height:100%}.v-picker__title--landscape .v-time-picker-controls__time{text-align:right}.v-picker__title--landscape .v-time-picker-controls__time .v-picker__title__btn,.v-picker__title--landscape .v-time-picker-controls__time span{height:55px;font-size:55px}.v-picker__title--landscape .v-time-picker-controls__ampm{margin:16px 0 0;align-self:initial;text-align:center}.v-picker--time .v-picker__title--landscape{padding:0}.v-picker--time .v-picker__title--landscape .v-time-picker-controls__time{text-align:center}@media (forced-colors: active){.v-time-picker-controls .v-time-picker-controls__time__field:has(input:focus-visible){outline:2px solid highlight;outline-offset:2px}.v-time-picker-controls .v-time-picker-controls__ampm__btn.v-btn--active{color:highlight!important;forced-color-adjust:preserve-parent-color}} diff --git a/assets/ExamConfigEditor-sH7Cpbyw.js b/assets/ExamConfigEditor-sH7Cpbyw.js new file mode 100644 index 0000000..ce74b9e --- /dev/null +++ b/assets/ExamConfigEditor-sH7Cpbyw.js @@ -0,0 +1,2 @@ +import{d as Q}from"./dataProvider-Dty8Zh7m.js";import{o as ae,q as Qe,k as g,N as Se,n as ne,b as _,e as P,j as o,s as et,a1 as f,F as ce,I as Ae,D as tt,m as fe,t as at,X as w,_ as R,Y as E,Z as r,S as U,$ as F,a2 as ye,ad as nt,R as lt,V as ot}from"./vendor-vue-H0jQBZ7T.js";import{D as $e,E as it,C as rt,l as x,G as st,I as ut,_ as dt,h as V,j as He,k as ke,s as mt,d as G,e as q,K as ct,c as ee,o as se,U as ft,i as gt,q as Te,p as vt}from"./index-Bqe1gKo7.js";import{V as Ve}from"./VAlert-b5nBlHgx.js";import{V as ht}from"./VSkeletonLoader-D5uB8vy5.js";import{V as be}from"./VTooltip-UMclv3tZ.js";import{V as xe,b as pt}from"./VChip-CPVASmWt.js";import{a as B,V as ue}from"./VRow-C2iyFaHv.js";import{V as te}from"./VTextField-B7edjjhw.js";import{V as yt}from"./VTextarea-DiXZJMiq.js";import{V as bt}from"./VSwitch-C77LDPed.js";import{V as wt}from"./VAutocomplete-Buofo9XU.js";import{V as Be}from"./VSheet-DHN9xqm_.js";import{a as Le,m as Ct,V as Oe}from"./VDatePicker-CyfBxTLk.js";import{f as we,u as Ce,p as he,aM as Dt,an as Ke,n as ge,z as Re,a5 as _e}from"./vendor-vuetify-ChAgIwn2.js";import"./vendor-utils-DDRLRfsI.js";import"./serverRotation-CLP7smnN.js";import"./autofocus-Dh4QPNon.js";import"./VSelect-DC96rbwz.js";import"./VCheckboxBtn-nWqvYDIO.js";import"./VBadge-B7gMUs96.js";const kt=he({allowedValues:Function,ampm:Boolean,color:String,disabled:Boolean,displayedValue:null,double:Boolean,format:{type:Function,default:e=>e},max:{type:Number,required:!0},min:{type:Number,required:!0},scrollable:Boolean,readonly:Boolean,rotate:{type:Number,default:0},step:{type:Number,default:1},modelValue:{type:Number}},"VTimePickerClock"),je=we()({name:"VTimePickerClock",props:kt(),emits:{change:e=>!0,input:e=>!0},setup(e,t){let{emit:i}=t;const n=_(null),l=_(null),u=_(void 0),a=_(!1),d=_(null),s=_(null),p=Dt(c=>i("change",c),750),{textColorClasses:I,textColorStyles:M}=$e(()=>e.color),{backgroundColorClasses:k,backgroundColorStyles:h}=it(()=>e.color),N=P(()=>e.max-e.min+1),S=P(()=>e.double?N.value/2:N.value),C=P(()=>360/S.value),j=P(()=>C.value*Math.PI/180),$=P(()=>e.modelValue==null?e.min:e.modelValue),le=P(()=>.62),de=P(()=>{const c=[];for(let y=e.min;y<=e.max;y=y+e.step)c.push(y);return c});ae(()=>e.modelValue,c=>{u.value=c});function z(c){u.value!==c&&(u.value=c),i("input",c)}function J(c){return!e.allowedValues||e.allowedValues(c)}function X(c){if(!e.scrollable||e.disabled)return;c.preventDefault();const y=Math.sign(-c.deltaY||1);let T=$.value;do T=T+y,T=(T-e.min+N.value)%N.value+e.min;while(!J(T)&&T!==$.value);T!==e.displayedValue&&z(T),p(T)}function Z(c){return e.double&&c-e.min>=S.value}function Y(c){return Z(c)?le.value:1}function b(c){const y=e.rotate*Math.PI/180;return{x:Math.sin((c-e.min)*j.value+y)*Y(c),y:-Math.cos((c-e.min)*j.value+y)*Y(c)}}function A(c,y){const T=(Math.round(c/C.value)+(y?S.value:0))%N.value+e.min;return c<360-C.value/2?T:y?e.max-S.value+1:e.min}function W(c){const{x:y,y:T}=b(c);return{left:`${Math.round(50+y*50)}%`,top:`${Math.round(50+T*50)}%`}}function m(c,y){const T=y.x-c.x,ie=y.y-c.y;return Math.sqrt(T*T+ie*ie)}function v(c,y){const T=2*Math.atan2(y.y-c.y-m(c,y),y.x-c.x);return Math.abs(T*180/Math.PI)}function O(c){d.value===null&&(d.value=c),s.value=c,z(c)}function D(c){var Ue,Fe;if(c.preventDefault(),!a.value&&c.type!=="click"||!n.value)return;const{width:y,top:T,left:ie}=(Ue=n.value)==null?void 0:Ue.getBoundingClientRect(),{width:De}=((Fe=l.value)==null?void 0:Fe.getBoundingClientRect())??{width:0},{clientX:Ge,clientY:Xe}="touches"in c?c.touches[0]:c,Ie={x:y/2,y:-y/2},Me={x:Ge-ie,y:T-Xe},Ee=Math.round(v(Ie,Me)-e.rotate+360)%360,Pe=e.double&&m(Ie,Me)<(De+De*le.value)/4,Ze=Math.ceil(15/C.value);let re;for(let pe=0;peg("div",{class:ne([{"v-time-picker-clock":!0,"v-time-picker-clock--indeterminate":e.modelValue==null,"v-time-picker-clock--readonly":e.readonly}]),onMousedown:H,onTouchstart:H,onWheel:X,ref:n},[g("div",{class:"v-time-picker-clock__inner",ref:l},[g("div",{class:ne([{"v-time-picker-clock__hand":!0,"v-time-picker-clock__hand--inner":Z(e.modelValue)},I.value]),style:Se([{transform:`rotate(${e.rotate+C.value*($.value-e.min)}deg) scaleY(${Y($.value)})`},M.value])},null),de.value.map(c=>{const y=c===$.value;return g("div",{class:ne([{"v-time-picker-clock__item":!0,"v-time-picker-clock__item--active":y,"v-time-picker-clock__item--disabled":e.disabled||!J(c)},y&&k.value]),style:Se([W(c),y&&h.value])},[g("span",null,[e.format(c)])])})])]))}}),Tt=he({active:Boolean,color:String,disabled:Boolean,label:String,modelValue:String,error:String,showHint:Boolean,readonly:Boolean},"VTimePickerField"),Ne=we()({name:"VTimePickerField",props:Tt(),emits:{"update:modelValue":e=>!0},setup(e,t){let{emit:i}=t;const{textColorClasses:n,textColorStyles:l}=$e(()=>e.color),u=_(),a=et(!1);function d(s){if(["Backspace","Delete"].includes(s.key)){s.preventDefault();const p=s.target;p.value="",i("update:modelValue",null)}}return Ce(()=>o(te,{ref:u,_as:"VTimePickerField",autocomplete:"off",class:ne(["v-time-picker-controls__time__field",{"v-time-picker-controls__time__field--active":e.active},e.active?n.value:[]]),style:Se(e.active?l.value:[]),disabled:e.disabled,variant:"solo-filled",inputmode:"numeric",hideDetails:"auto","aria-label":e.label,"aria-invalid":!!e.error,"aria-errormessage":e.error,error:!!e.error,hint:e.showHint?e.label:void 0,persistentHint:!0,flat:!0,modelValue:e.modelValue??(a.value?"":"--"),"onUpdate:modelValue":s=>i("update:modelValue",s),onKeydown:d,onFocus:()=>a.value=!0,onBlur:()=>a.value=!1},null)),rt({},u)}});function L(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;return String(e).padStart(t,"0")}function qe(e){return e?(e-1)%12+1:12}function ve(e,t){return e%12+(t==="pm"?12:0)}function me(e){const t=e.replaceAll(/\D/g,"");return t.length>0?Number(t):null}function Vt(e,t,i){{if(e===23&&t)return{value:0};if(e===0&&!t)return{value:23}}return{value:e+(t?1:-1)}}function xt(e,t){return e===59&&t?0:e===0&&!t?59:e+(t?1:-1)}const Ye=he({allowedHours:[Function,Array],allowedMinutes:[Function,Array],allowedSeconds:[Function,Array],max:String,min:String},"time-validation");function We(e){const t=P(()=>{const u=e.min?Number(e.min.split(":")[0]):0,a=e.max?Number(e.max.split(":")[0]):23;return d=>da?!1:Array.isArray(e.allowedHours)?e.allowedHours.includes(d):typeof e.allowedHours=="function"?e.allowedHours(d):!0}),i=P(()=>{const[u,a]=e.min?e.min.split(":").map(Number):[0,0],[d,s]=e.max?e.max.split(":").map(Number):[23,59],p=u*60+a,I=d*60+s;return(M,k)=>{if(M!==null){const h=60*M+k;if(hI)return!1}return Array.isArray(e.allowedMinutes)?e.allowedMinutes.includes(k):typeof e.allowedMinutes=="function"?e.allowedMinutes(k):!0}}),n=P(()=>{const[u,a,d]=e.min?e.min.split(":").map(Number):[0,0,0],[s,p,I]=e.max?e.max.split(":").map(Number):[23,59,59],M=u*3600+a*60+(d||0),k=s*3600+p*60+(I||0);return(h,N,S)=>{if(h!==null&&N!==null){const C=3600*h+60*N+S;if(Ck)return!1}return Array.isArray(e.allowedSeconds)?e.allowedSeconds.includes(S):typeof e.allowedSeconds=="function"?e.allowedSeconds(S):!0}});function l(u,a,d){let s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,p=arguments.length>4&&arguments[4]!==void 0?arguments[4]:null;const I=u==="hour"?t.value:u==="minute"?h=>i.value(s,h):h=>n.value(s,p,h),M=u==="hour"?h=>Vt(h,d).value:h=>xt(h,d),k=u==="hour"?24:60;for(let h=1;h<=k&&(a=M(a),!I(a));h++);return a}return{isAllowedHour:t,isAllowedMinute:i,isAllowedSecond:n,findNextAllowed:l}}const Nt=he({ampm:Boolean,color:String,disabled:Boolean,inputHints:Boolean,hour:[Number,String],minute:[Number,String],second:[Number,String],period:String,readonly:Boolean,useSeconds:Boolean,value:Number,viewMode:String,...Ye()},"VTimePickerControls"),ze=we()({name:"VTimePickerControls",props:Nt(),emits:{"update:period":e=>!0,"update:viewMode":e=>!0,"update:hour":e=>!0,"update:minute":e=>!0,"update:second":e=>!0},setup(e,t){let{emit:i}=t;const{t:n}=Ke(),{isAllowedHour:l,isAllowedMinute:u,isAllowedSecond:a,findNextAllowed:d}=We(e),s=P(()=>e.hour!==null?e.ampm?ve(Number(e.hour),e.period??"am"):Number(e.hour):null),p=P(()=>e.minute!==null?Number(e.minute):null),I=P(()=>{var m;return e.hour===null?!0:((m=l.value)==null?void 0:m.call(l,Number(s.value)))??!0}),M=P(()=>{var m;return e.minute===null?!0:((m=u.value)==null?void 0:m.call(u,s.value,Number(e.minute)))??!0}),k=P(()=>{var m;return e.second===null?!0:((m=a.value)==null?void 0:m.call(a,s.value,p.value,Number(e.second)))??!0}),h={in:m=>{if(m==null||isNaN(Number(m)))return null;const v=Number(m);return e.ampm?L(qe(v)):L(v)},out:m=>{if(isNaN(Number(m))||m==null||m==="")return null;const v=typeof m=="string"?me(m):Number(m);return v===null?null:e.ampm?ve(v,e.period??"am"):Re(v,0,23)}},N=ge(e,"hour",void 0,h.in,h.out),S={in:m=>m!=null&&!isNaN(Number(m))?L(`${m}`):null,out:m=>{if(isNaN(Number(m))||m==null||m==="")return null;const v=typeof m=="string"?me(m):Number(m);return v!==null?Re(v,0,59):null}},C=ge(e,"minute",void 0,S.in,S.out),j=ge(e,"second",void 0,S.in,S.out);function $(m){if(!["ArrowUp","ArrowDown"].includes(m.key))return;m.preventDefault(),m.stopPropagation();const v=e.period==="am",O=e.ampm?ve(Number(N.value??0),v?"am":"pm"):Number(N.value??0),D=d("hour",O,m.key==="ArrowUp"),H=v&&D>=12||!v&&D<12;e.ampm&&H?(i("update:period",e.period==="am"?"pm":"am"),Ae(()=>N.value=L(D))):N.value=L(D)}function le(m){if(!["ArrowUp","ArrowDown"].includes(m.key))return;m.preventDefault(),m.stopPropagation();const v=Number(C.value??0),O=d("minute",v,m.key==="ArrowUp",s.value);C.value=L(O)}function de(m){if(!["ArrowUp","ArrowDown"].includes(m.key))return;m.preventDefault(),m.stopPropagation();const v=Number(j.value??0),O=d("second",v,m.key==="ArrowUp",s.value,p.value);j.value=L(O)}function z(m,v,O){return D=>{if(!D.data)return;const H=D.target,{value:K,selectionStart:oe,selectionEnd:c}=H??{};if(me(D.data)===null){D.preventDefault();return}const y=K?K.slice(0,oe)+D.data+K.slice(c):D.data;if(y.length>2){if(oe===c&&c===0&&D.data.trim().startsWith("0")){D.preventDefault(),H.value=y.trim().substring(0,2),O(H.value),D.data.trim().length===1&&H.setSelectionRange(1,1);return}if(oe===c&&c===1&&K.startsWith("0")){D.preventDefault(),H.value=y.trim().substring(0,2),O(H.value);return}const ie=e.viewMode==="hour"?e.ampm?12:23:59;if(me(y)>ie){D.preventDefault(),H.value=L(String(me(D.data)).substring(0,2)),O(H.value);return}}const T=m(y);v(T)&&D.preventDefault()}}function J(m){i("update:period",m);const v=d("hour",m==="am"?23:11,!0);Ae(()=>N.value=L(v))}const X=_(),Z=_(),Y=_();ae(()=>e.viewMode,(m,v)=>{switch(v){case"hour":X.value.blur();break;case"minute":Z.value.blur();break;case"second":Y.value.blur();break}});const b=z(h.out,m=>h.in(m)===N.value,m=>N.value=m),A=z(S.out,m=>S.in(m)===C.value,m=>C.value=m),W=z(S.out,m=>S.in(m)===j.value,m=>j.value=m);return Ce(()=>g("div",{class:"v-time-picker-controls"},[g("div",{class:ne({"v-time-picker-controls__time":!0,"v-time-picker-controls__time--with-ampm":e.ampm,"v-time-picker-controls__time--with-seconds":e.useSeconds})},[o(Ne,{ref:X,active:e.viewMode==="hour",color:e.color,disabled:e.disabled,label:n("$vuetify.timePicker.hour"),showHint:e.inputHints,error:I.value?void 0:n("$vuetify.timePicker.notAllowed"),modelValue:N.value,"onUpdate:modelValue":m=>N.value=m,onKeydown:$,onBeforeinput:b,onFocus:()=>i("update:viewMode","hour")},null),g("span",{class:"v-time-picker-controls__time__separator"},[f(":")]),o(Ne,{ref:Z,active:e.viewMode==="minute",color:e.color,disabled:e.disabled,label:n("$vuetify.timePicker.minute"),showHint:e.inputHints,error:M.value?void 0:n("$vuetify.timePicker.notAllowed"),modelValue:C.value,"onUpdate:modelValue":m=>C.value=m,onKeydown:le,onBeforeinput:A,onFocus:()=>i("update:viewMode","minute")},null),e.useSeconds&&g("span",{key:"secondsDivider",class:"v-time-picker-controls__time__separator"},[f(":")]),e.useSeconds&&g(ce,null,[o(Ne,{key:"secondsVal",ref:Y,active:e.viewMode==="second",color:e.color,disabled:e.disabled,label:n("$vuetify.timePicker.second"),showHint:e.inputHints,error:k.value?void 0:n("$vuetify.timePicker.notAllowed"),modelValue:j.value,"onUpdate:modelValue":m=>j.value=m,onKeydown:de,onBeforeinput:W,onFocus:()=>i("update:viewMode","second")},null)]),e.ampm&&g("div",{class:"v-time-picker-controls__ampm"},[o(x,{active:e.period==="am",color:e.period==="am"?e.color:void 0,class:ne({"v-time-picker-controls__ampm__am":!0,"v-time-picker-controls__ampm__btn":!0,"v-time-picker-controls__ampm__btn__active":e.period==="am"}),disabled:e.disabled,text:n("$vuetify.timePicker.am"),variant:e.disabled&&e.period==="am"?"elevated":"tonal",onClick:()=>e.period!=="am"?J("am"):null},null),o(x,{active:e.period==="pm",color:e.period==="pm"?e.color:void 0,class:ne({"v-time-picker-controls__ampm__pm":!0,"v-time-picker-controls__ampm__btn":!0,"v-time-picker-controls__ampm__btn__active":e.period==="pm"}),disabled:e.disabled,text:n("$vuetify.timePicker.pm"),variant:e.disabled&&e.period==="pm"?"elevated":"tonal",onClick:()=>e.period!=="pm"?J("pm"):null},null)])])])),{}}}),St=he({disabled:Boolean,format:{type:String,default:"ampm"},viewMode:{type:String,default:"hour"},period:{type:String,default:"am",validator:e=>["am","pm"].includes(e)},modelValue:null,readonly:Boolean,scrollable:Boolean,useSeconds:Boolean,variant:{type:String,default:"dial"},...Ye(),..._e(Ct({title:"$vuetify.timePicker.title"}),["landscape"]),...ut()},"VTimePicker"),Je=we()({name:"VTimePicker",props:St(),emits:{"update:hour":e=>!0,"update:minute":e=>!0,"update:period":e=>!0,"update:second":e=>!0,"update:modelValue":e=>!0,"update:viewMode":e=>!0},setup(e,t){let{emit:i,slots:n}=t;const{t:l}=Ke(),{densityClasses:u}=st(e),a=_(null),d=_(null),s=_(null),p=_(null),I=_(null),M=_(null),k=ge(e,"period","am"),h=ge(e,"viewMode","hour"),N=_(null),S=_(null),C=P(()=>e.format==="ampm"),{isAllowedHour:j,isAllowedMinute:$,isAllowedSecond:le}=We(e),de=at(()=>e.modelValue!==null&&a.value===null&&d.value===null&&(!e.useSeconds||s.value===null));function z(){const b=J();b!==null&&b!==e.modelValue&&i("update:modelValue",b),de.value&&i("update:modelValue",null)}ae(a,z),ae(d,z),ae(s,z),ae(()=>e.modelValue,b=>X(b)),ae(()=>e.useSeconds,(b,A)=>{A&&!b&&h.value==="second"&&(h.value="minute"),!b&&s.value!==null&&(s.value=null)}),tt(()=>{X(e.modelValue)});function J(){return a.value!=null&&d.value!=null&&(!e.useSeconds||s.value!=null)?`${L(a.value)}:${L(d.value)}`+(e.useSeconds?`:${L(s.value)}`:""):null}function X(b){if(b==null||b==="")a.value=null,d.value=null,s.value=null;else if(b instanceof Date)a.value=b.getHours(),d.value=b.getMinutes(),s.value=b.getSeconds();else{const[A,,W,,m,v]=b.trim().toLowerCase().match(/^(\d+):(\d+)(:(\d+))?([ap]m)?$/)||new Array(6);a.value=v?ve(parseInt(A,10),v):parseInt(A,10),d.value=parseInt(W,10),s.value=parseInt(m||0,10)}k.value=a.value==null||a.value<12?"am":"pm"}function Z(b){h.value==="hour"?a.value=C.value?ve(b,k.value):b:h.value==="minute"?d.value=b:s.value=b}function Y(b){switch(h.value||"hour"){case"hour":i("update:hour",b);break;case"minute":i("update:minute",b);break;case"second":i("update:second",b);break}const A=a.value!==null&&d.value!==null&&(e.useSeconds?s.value!==null:!0);h.value==="hour"?h.value="minute":e.useSeconds&&h.value==="minute"&&(h.value="second"),!(a.value===p.value&&d.value===I.value&&(!e.useSeconds||s.value===M.value)||J()===null)&&(p.value=a.value,I.value=d.value,e.useSeconds&&(M.value=s.value),A&&z())}Ce(()=>{const b=_e(Le.filterProps(e),["hideHeader"]),A=ze.filterProps(e),W=je.filterProps(_e(e,["format","modelValue","min","max"])),m=h.value==="hour"?j.value:h.value==="minute"?v=>$.value(a.value,v):v=>le.value(a.value,d.value,v);return o(Le,fe(b,{color:void 0,class:["v-time-picker",`v-time-picker--variant-${e.variant}`,e.class,u.value],hideHeader:e.hideHeader&&e.variant!=="input",style:e.style}),{title:()=>{var v;return((v=n.title)==null?void 0:v.call(n))??g("div",{class:"v-time-picker__title"},[l(e.title)])},header:()=>o(ze,fe(A,{ampm:C.value,hour:a.value,minute:d.value,period:k.value,second:s.value,viewMode:h.value,inputHints:e.variant==="input","onUpdate:hour":v=>a.value=v,"onUpdate:minute":v=>d.value=v,"onUpdate:second":v=>s.value=v,"onUpdate:period":v=>k.value=v,"onUpdate:viewMode":v=>h.value=v,ref:N}),null),default:()=>o(je,fe(W,{allowedValues:m,double:h.value==="hour"&&!C.value,format:h.value==="hour"?C.value?qe:v=>v:v=>L(v,2),max:h.value==="hour"?C.value&&k.value==="am"?11:23:59,min:h.value==="hour"&&C.value&&k.value==="pm"?12:0,size:20,step:h.value==="hour"?1:5,modelValue:h.value==="hour"?a.value:h.value==="minute"?d.value:s.value,onChange:Y,onInput:Z,ref:S}),null),actions:n.actions})})}}),_t={name:"ExamConfigEditor",props:{configId:{type:String,required:!0},dialogMode:{type:Boolean,default:!1}},emits:["saved","error","opened","deleted"],data(){return{localConfig:{examName:"",message:"",room:"",examInfos:[]},loading:!1,saving:!1,deleting:!1,deleteDialog:!1,error:"",success:"",isEditMode:!1,showJsonPreview:!1,availableSubjects:[],customSubjectInput:"",enableCustomAlertTime:!1,defaultExamTips:["请保持卷面整洁,字迹清晰,诚信应考。在听到终考铃时立刻起立,停止作答。","沉着 冷静 细心 守记","答题不守记,自己两行泪。"]}},computed:{formattedJson(){try{return JSON.stringify(this.localConfig,null,2)}catch(e){return console.error("格式化JSON时出错:",e),"无效的JSON格式"}},formattedStorageJson(){try{const e={examName:this.localConfig.examName,message:this.localConfig.message,room:this.localConfig.room,examInfos:this.localConfig.examInfos.map(t=>({name:t.name,start:this.formatDisplayDateTime(t.start),end:this.formatDisplayDateTime(t.end),alertTime:parseInt(t.alertTime)||15}))};return JSON.stringify(e,null,2)}catch(e){return console.error("格式化存储JSON时出错:",e),"无效的JSON格式"}},isValidConfig(){return this.localConfig.examName&&this.localConfig.message&&this.localConfig.examInfos&&this.localConfig.examInfos.length>0&&this.localConfig.examInfos.every(e=>e.name&&e.start&&e.end)},validationErrors(){const e=[];if((!this.localConfig.examName||this.localConfig.examName.trim()==="")&&e.push("考试名称不能为空"),(!this.localConfig.message||this.localConfig.message.trim()==="")&&e.push("考试提示不能为空"),!this.localConfig.examInfos||this.localConfig.examInfos.length===0)e.push("至少需要添加一个考试科目");else{this.localConfig.examInfos.forEach((t,i)=>{const n=`第${i+1}个科目`;if((!t.name||t.name.trim()==="")&&e.push(`${n}的名称不能为空`),t.start||e.push(`${n}的开始时间不能为空`),t.end||e.push(`${n}的结束时间不能为空`),t.start&&t.end){const l=new Date(t.start),u=new Date(t.end);isNaN(l.getTime())&&e.push(`${n}的开始时间格式不正确`),isNaN(u.getTime())&&e.push(`${n}的结束时间格式不正确`),!isNaN(l.getTime())&&!isNaN(u.getTime())&&(u<=l&&e.push(`${n}的结束时间必须晚于开始时间`),(u-l)/(1e3*60*60)>24&&e.push(`${n}的考试时长不能超过24小时`))}});for(let t=0;td&&e.push(`第${t+1}个科目与第${i+1}个科目的时间有重叠`)}}}return e},hasValidationErrors(){return this.validationErrors.length>0}},watch:{configId:{immediate:!0,handler(e){e&&this.loadConfig()}}},created(){this.loadSubjects()},methods:{async loadSubjects(){try{const e=await Q.loadData("classworks-config-subject");e&&Array.isArray(e)?this.availableSubjects=e.sort((t,i)=>(t.order??0)-(i.order??0)).map(t=>({name:t.name,order:t.order??0})):this.availableSubjects=[{name:"语文",order:0},{name:"数学",order:1},{name:"英语",order:2},{name:"物理",order:3},{name:"化学",order:4},{name:"生物",order:5},{name:"政治",order:6},{name:"历史",order:7},{name:"地理",order:8}]}catch(e){console.warn("加载科目列表失败,使用默认列表:",e),this.availableSubjects=[{name:"语文",order:0},{name:"数学",order:1},{name:"英语",order:2},{name:"物理",order:3},{name:"化学",order:4},{name:"生物",order:5},{name:"政治",order:6},{name:"历史",order:7},{name:"地理",order:8}]}},autoFillRemaining(){if(this.localConfig.examInfos.length===0)return;let e=null;for(let t=this.localConfig.examInfos.length-1;t>=0;t--)if(this.localConfig.examInfos[t].end){e=new Date(this.localConfig.examInfos[t].end);break}e||(e=new Date);for(let t=0;t12)return`${t}月份不合法(1-12)`;if(I<1||I>31)return`${t}日期不合法(1-31)`;if(M<0||M>23)return`${t}小时不合法(0-23)`;if(k<0||k>59)return`${t}分钟不合法(0-59)`;const h=new Date(s,p-1,I,M,k);return isNaN(h.getTime())?`${t}日期不存在`:h.getMonth()!==p-1||h.getDate()!==I?`${t}日期不存在`:!0},validateEndAfterStart(e){if(!e.startFormatted||!e.endFormatted)return!0;try{const t=new Date(e.start||e.startFormatted.replace(/\//g,"-")),i=new Date(e.end||e.endFormatted.replace(/\//g,"-"));return isNaN(t.getTime())||isNaN(i.getTime())?!0:i<=t?"结束时间必须晚于开始时间":(i.getTime()-t.getTime())/(1e3*60*60)>24?"考试时长不能超过24小时":!0}catch{return!0}},validateNoTimeOverlap(e,t){if(!e.startFormatted||!e.endFormatted)return!0;try{const i=new Date(e.start||e.startFormatted.replace(/\//g,"-")),n=new Date(e.end||e.endFormatted.replace(/\//g,"-"));if(isNaN(i.getTime())||isNaN(n.getTime()))return!0;for(let l=0;l=a&&ia&&n<=d||i<=a&&n>=d)return`时间与"${u.name||`第${l+1}个科目`}"重叠`}return!0}catch{return!0}},toggleAlertTimeMode(){this.enableCustomAlertTime||this.localConfig.examInfos.forEach(e=>{e.alertTime=15})},getExamDuration(e){if(!e.start||!e.end)return"";try{const t=new Date(e.start),i=new Date(e.end);if(isNaN(t.getTime())||isNaN(i.getTime()))return"";const n=i.getTime()-t.getTime(),l=Math.round(n/(1e3*60));if(l<60)return`${l}分钟`;const u=Math.floor(l/60),a=l%60;return a===0?`${u}小时`:`${u}小时${a}分钟`}catch{return""}},updateStartDateTimeFromInput(e){if(e===void 0||!this.localConfig.examInfos[e])return;const t=this.localConfig.examInfos[e],i=t.startFormatted;if(!i)return;const n=i.match(/(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})\s+(\d{1,2}):(\d{1,2})/);if(!n)return;const[,l,u,a,d,s]=n,p=new Date(parseInt(l),parseInt(u)-1,parseInt(a),parseInt(d),parseInt(s));isNaN(p.getTime())||(t.startDate=p,t.startTime=this.formatTimeOnly(p),t.start=this.formatDateTimeLocal(p),this.updateStartDateTime(e))},updateEndDateTimeFromInput(e){if(e===void 0||!this.localConfig.examInfos[e])return;const t=this.localConfig.examInfos[e],i=t.endFormatted;if(!i)return;const n=i.match(/(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})\s+(\d{1,2}):(\d{1,2})/);if(!n)return;const[,l,u,a,d,s]=n,p=new Date(parseInt(l),parseInt(u)-1,parseInt(a),parseInt(d),parseInt(s));isNaN(p.getTime())||(t.endDate=p,t.endTime=this.formatTimeOnly(p),t.end=this.formatDateTimeLocal(p),this.updateEndDateTime(e))},async loadConfig(){var e;this.loading=!0,this.error="";try{const t=await Q.loadData(`es_${this.configId}`);if(t){this.localConfig={examName:"",message:"",room:"",examInfos:[],...t},Array.isArray(this.localConfig.examInfos)||(this.localConfig.examInfos=[]),this.localConfig.examInfos.forEach(n=>{if(n.start){const l=this.parseDateTime(n.start);n.start=this.formatDateTimeLocal(l),n.startDate=l,n.startTime=this.formatTimeOnly(l),n.startFormatted=this.formatDisplayDateTime(l),n.startDateMenu=!1}if(n.end){const l=this.parseDateTime(n.end);n.end=this.formatDateTimeLocal(l),n.endDate=l,n.endTime=this.formatTimeOnly(l),n.endFormatted=this.formatDisplayDateTime(l),n.endDateMenu=!1}try{if(n.start&&n.end){const l=new Date(n.start),u=new Date(n.end),a=Math.round((u.getTime()-l.getTime())/(1e3*60));a>0&&a<=24*60?n.durationMinutes=a:n.durationMinutes=120}else n.durationMinutes=120}catch{n.durationMinutes=120}n.alertTime===void 0||n.alertTime===null?n.alertTime=15:n.alertTime=parseInt(n.alertTime)||15});const i=this.localConfig.examInfos.some(n=>n.alertTime!==15);this.enableCustomAlertTime=i}else console.error("加载配置失败:",t),this.error="加载配置失败: "+(((e=t.error)==null?void 0:e.message)||"未知错误"),this.$emit("error",this.error)}catch(t){console.error(t),this.error="加载配置失败: "+t.message,this.$emit("error",this.error)}finally{this.loading=!1}},async saveConfig(){var e;if(!this.isValidConfig){const t=this.validationErrors;return t.length>0?this.error=`配置验证失败:${t.join(";")}`:this.error="请填写完整的配置信息",!1}this.saving=!0,this.error="";try{const t={examName:this.localConfig.examName,message:this.localConfig.message,room:this.localConfig.room,examInfos:this.localConfig.examInfos.map(n=>({name:n.name,start:this.formatDisplayDateTime(n.start),end:this.formatDisplayDateTime(n.end),alertTime:parseInt(n.alertTime)||15}))},i=await Q.saveData(`es_${this.configId}`,t);return i?(this.success="配置保存成功",this.$emit("saved",t),!0):(this.error="保存配置失败: "+(((e=i.error)==null?void 0:e.message)||"未知错误"),this.$emit("error",this.error),!1)}catch(t){return this.error="保存配置失败: "+t,this.$emit("error",this.error),!1}finally{this.saving=!1}},addExamInfo(){let e=new Date;if(this.localConfig.examInfos.length>0){const l=this.localConfig.examInfos[this.localConfig.examInfos.length-1];l.end&&(e=new Date(l.end))}const t=new Date(e.getTime()+10*60*1e3),i=new Date(t.getTime()+2*60*60*1e3),n={name:"",start:this.formatDateTimeLocal(t),end:this.formatDateTimeLocal(i),durationMinutes:120,alertTime:15,startDate:t,startTime:this.formatTimeOnly(t),startFormatted:this.formatDisplayDateTime(t),startDateMenu:!1,endDate:i,endTime:this.formatTimeOnly(i),endFormatted:this.formatDisplayDateTime(i),endDateMenu:!1};this.localConfig.examInfos.push(n)},removeExamInfo(e){this.localConfig.examInfos.splice(e,1)},moveExamInfo(e,t){const i=e+t;if(i>=0&&i24*60&&(i=24*60),t.durationMinutes=i,(!t.startDate||!t.startTime)&&t.start){const n=new Date(t.start);isNaN(n.getTime())||(t.startDate=n,t.startTime=this.formatTimeOnly(n))}if(t.startDate&&t.startTime){const n=new Date(t.startDate),[l,u]=String(t.startTime).split(":");n.setHours(parseInt(l),parseInt(u),0,0);const a=new Date(n.getTime()+i*60*1e3);t.endDate=a,t.endTime=this.formatTimeOnly(a),t.end=this.formatDateTimeLocal(a),t.endFormatted=this.formatDisplayDateTime(a)}},formatDateTimeLocal(e){if(!e)return"";let t;if(typeof e=="string"?e.includes("/")?t=new Date(e.replace(/\//g,"-")):t=new Date(e):t=new Date(e),isNaN(t.getTime()))return"";const i=t.getFullYear(),n=String(t.getMonth()+1).padStart(2,"0"),l=String(t.getDate()).padStart(2,"0"),u=String(t.getHours()).padStart(2,"0"),a=String(t.getMinutes()).padStart(2,"0");return`${i}-${n}-${l}T${u}:${a}`},formatDisplayDateTime(e){if(!e)return"";const t=new Date(e);if(isNaN(t.getTime()))return e;const i=t.getFullYear(),n=String(t.getMonth()+1).padStart(2,"0"),l=String(t.getDate()).padStart(2,"0"),u=String(t.getHours()).padStart(2,"0"),a=String(t.getMinutes()).padStart(2,"0");return`${i}/${n}/${l} ${u}:${a}`},parseDateTime(e){return e?typeof e=="string"?e.includes("/")?new Date(e.replace(/\//g,"-")):new Date(e):new Date(e):new Date},formatTimeOnly(e){if(!e)return"00:00";const t=new Date(e);if(isNaN(t.getTime()))return"00:00";const i=String(t.getHours()).padStart(2,"0"),n=String(t.getMinutes()).padStart(2,"0");return`${i}:${n}`},updateStartDateTime(e){const t=this.localConfig.examInfos[e];if(!t.startDate||!t.startTime)return;const i=new Date(t.startDate),[n,l]=t.startTime.split(":");i.setHours(parseInt(n),parseInt(l),0,0),t.start=this.formatDateTimeLocal(i),t.startFormatted=this.formatDisplayDateTime(i);let u=parseInt(t.durationMinutes);if(isNaN(u)||u<=0||u>24*60)try{let d=null;if(t.endDate&&t.endTime){d=new Date(t.endDate);const[s,p]=String(t.endTime).split(":");d.setHours(parseInt(s),parseInt(p),0,0)}else t.end&&(d=new Date(t.end));if(d&&!isNaN(d.getTime())){const s=Math.round((d.getTime()-i.getTime())/6e4);s>0&&s<=24*60&&(u=s)}}catch{}(isNaN(u)||u<=0||u>24*60)&&(u=120);const a=new Date(i.getTime()+u*60*1e3);t.endDate=a,t.endTime=this.formatTimeOnly(a),t.end=this.formatDateTimeLocal(a),t.endFormatted=this.formatDisplayDateTime(a),t.durationMinutes=u},updateEndDateTime(e){const t=this.localConfig.examInfos[e];if(!t.endDate||!t.endTime)return;const i=new Date(t.endDate),[n,l]=t.endTime.split(":");i.setHours(parseInt(n),parseInt(l),0,0),t.end=this.formatDateTimeLocal(i),t.endFormatted=this.formatDisplayDateTime(i);try{if(t.startDate&&t.startTime){const u=new Date(t.startDate),[a,d]=String(t.startTime).split(":");u.setHours(parseInt(a),parseInt(d),0,0);const s=Math.round((i.getTime()-u.getTime())/(1e3*60));s>0&&s<=24*60&&(t.durationMinutes=s)}}catch{}},async openConfig(){try{const e=await Q.getKeyCloudUrl(`es_${this.configId}`,{autoMigrate:!0,autoConfig:!0});if(e.success&&e.url){const t=`https://es.examaware.cn/exam/?configUrl=${encodeURIComponent(e.url)}`;window.open(t,"_blank"),this.success="配置已在新窗口中打开",this.$emit("opened",{configId:this.configId,url:e.url})}else throw new Error(e.error||"获取云端地址失败")}catch(e){this.error="打开配置失败: "+e.message,this.$emit("error","打开配置失败: "+e.message)}},confirmDelete(){this.deleteDialog=!0},async deleteConfig(){this.deleting=!0;try{const i=(await Q.loadData("es_list")||[]).filter(l=>l.id!==this.configId);if(!await Q.saveData("es_list",i))throw new Error("更新云端列表失败");this.deleteDialog=!1,this.$emit("deleted",{success:!0,message:"配置删除成功",configId:this.configId})}catch(e){console.error("删除配置失败:",e),this.$emit("deleted",{success:!1,message:"删除失败: "+e.message})}finally{this.deleting=!1}},openInEa2Player(){var e;try{const t={examName:this.localConfig.examName,message:this.localConfig.message,room:this.localConfig.room,examInfos:this.localConfig.examInfos.map(u=>({name:u.name,start:this.formatDisplayDateTime(u.start),end:this.formatDisplayDateTime(u.end),alertTime:parseInt(u.alertTime)||15}))},i=JSON.stringify(t),n=btoa(unescape(encodeURIComponent(i))),l=`examaware://player?data=${encodeURIComponent(n)}`;window.location.href=l,(e=this.$message)==null||e.success("正在拉起 ExamAware2 播放器...")}catch(t){this.error="拉起播放器失败: "+t.message}}}},It={class:"d-flex align-center"},Mt={class:"d-flex align-center"},Et={key:4,class:"d-flex justify-space-between align-center mb-4"},Pt={class:"d-flex align-center gap-2"},Ut={key:5},Ft={class:"mb-8"},At={class:"text-h3 font-weight-bold",style:{"line-height":"1.2"}},Ht={class:"text-subtitle-1 text-grey",style:{"white-space":"pre-wrap","line-height":"1.8"}},Bt={key:0,class:"mb-8"},Lt={class:"d-flex align-center"},Ot={class:""},Rt={class:"mb-3"},jt={class:"d-flex align-center mb-1"},zt={class:"text-h6 font-weight-medium text-success"},Jt={class:"d-flex align-center mb-1"},$t={class:"text-h6 font-weight-medium text-error"},Kt={key:1,class:"text-center py-12"},qt={class:"json-preview"},Yt={key:6},Wt={class:"text-subtitle-2 font-weight-bold d-block mb-2"},Gt={key:0,class:"mt-3"},Xt={class:"text-caption text-medium-emphasis mt-2 ml-2"},Zt={class:"d-flex align-center mr-4"},Qt={class:"w-100"},ea={class:"d-flex align-center mb-3"},ta={class:"d-flex gap-1"},aa={class:"text-primary font-weight-bold"},na={key:1,class:"text-center py-12"};function la(e,t,i,n,l,u){return w(),R("div",null,[l.error?(w(),E(Ve,{key:0,border:"start",class:"mb-4 mt-3 mx-2",closable:"",type:"error",variant:"tonal","onClick:close":t[0]||(t[0]=a=>l.error="")},{default:r(()=>[g("div",It,[o(V,{class:"mr-2"},{default:r(()=>[...t[10]||(t[10]=[f("mdi-alert-circle",-1)])]),_:1}),f(" "+U(l.error),1)])]),_:1})):F("",!0),l.success?(w(),E(Ve,{key:1,border:"start",class:"mb-4 mt-3 mx-2",closable:"",type:"success",variant:"tonal","onClick:close":t[1]||(t[1]=a=>l.success="")},{default:r(()=>[g("div",Mt,[o(V,{class:"mr-2"},{default:r(()=>[...t[11]||(t[11]=[f("mdi-check-circle",-1)])]),_:1}),f(" "+U(l.success),1)])]),_:1})):F("",!0),u.hasValidationErrors&&!l.loading?(w(),E(Ve,{key:2,border:"start",class:"mb-4 mt-3 mx-2",type:"warning",variant:"tonal"},{default:r(()=>[t[13]||(t[13]=g("div",{class:"d-flex align-center"},[g("span",{class:"font-weight-bold"},"配置验证失败,请检查以下问题:")],-1)),o(He,{class:"bg-transparent",density:"compact"},{default:r(()=>[(w(!0),R(ce,null,ye(u.validationErrors,(a,d)=>(w(),E(ke,{key:d,class:"px-0 py-0"},{prepend:r(()=>[o(V,{color:"warning",size:"small"},{default:r(()=>[...t[12]||(t[12]=[f("mdi-circle-small",-1)])]),_:1})]),default:r(()=>[o(mt,{class:"text-body-2"},{default:r(()=>[f(U(a),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})):F("",!0),l.loading?(w(),E(q,{key:3,class:"my-4",outlined:""},{default:r(()=>[o(G,null,{default:r(()=>[o(ht,{class:"mx-auto",type:"article"})]),_:1})]),_:1})):F("",!0),l.loading?F("",!0):(w(),R("div",Et,[g("div",Pt,[o(x,{disabled:!u.isValidConfig,class:"text-none",color:"success","prepend-icon":"mdi-open-in-new",variant:"elevated",onClick:u.openConfig},{default:r(()=>[...t[14]||(t[14]=[f(" 打开 ExamSchedule ",-1)])]),_:1},8,["disabled","onClick"]),o(x,{disabled:!u.isValidConfig,class:"text-none",color:"primary","prepend-icon":"mdi-link-variant",variant:"elevated",onClick:u.copyConfigUrl},{default:r(()=>[...t[15]||(t[15]=[f(" 复制远程链接 ",-1)])]),_:1},8,["disabled","onClick"]),o(x,{disabled:!u.isValidConfig,class:"text-none",color:"primary","prepend-icon":"mdi-download",variant:"elevated",onClick:u.downloadAsJson},{default:r(()=>[...t[16]||(t[16]=[f(" JSON 文件 ",-1)])]),_:1},8,["disabled","onClick"]),o(x,{disabled:!u.isValidConfig,class:"text-none",color:"primary","prepend-icon":"mdi-download",variant:"elevated",onClick:u.downloadAsEa2},{default:r(()=>[...t[17]||(t[17]=[f(" .ea2 文件 ",-1)])]),_:1},8,["disabled","onClick"]),o(x,{disabled:!u.isValidConfig,class:"text-none",color:"secondary","prepend-icon":"mdi-play-circle",variant:"elevated",onClick:u.openInEa2Player},{default:r(()=>[...t[18]||(t[18]=[f(" 拉起EA2播放器 ",-1)])]),_:1},8,["disabled","onClick"]),u.isValidConfig?F("",!0):(w(),E(be,{key:0,activator:"parent",location:"bottom"},{default:r(()=>[...t[19]||(t[19]=[g("span",null,"请先完善配置信息后再操作",-1)])]),_:1}))]),o(ct,{modelValue:l.isEditMode,"onUpdate:modelValue":t[2]||(t[2]=a=>l.isEditMode=a),color:"primary",divided:"",variant:"outlined"},{default:r(()=>[o(x,{class:"text-error","prepend-icon":"mdi-delete",onClick:u.confirmDelete},{default:r(()=>[...t[20]||(t[20]=[f(" 删除配置 ",-1)])]),_:1},8,["onClick"]),o(x,{value:!1,"prepend-icon":"mdi-eye"},{default:r(()=>[...t[21]||(t[21]=[f(" 预览",-1)])]),_:1}),o(x,{value:!0,"prepend-icon":"mdi-pencil"},{default:r(()=>[...t[22]||(t[22]=[f(" 编辑",-1)])]),_:1})]),_:1},8,["modelValue"])])),!l.loading&&!l.isEditMode?(w(),R("div",Ut,[g("div",Ft,[g("div",At,U(l.localConfig.examName||"未设置考试名称"),1),g("div",Ht,U(l.localConfig.message||"未设置考试提示"),1),l.localConfig.room?(w(),E(xe,{key:0,class:"px-4 py-2",size:"large"},{default:r(()=>[o(V,{start:""},{default:r(()=>[...t[23]||(t[23]=[f("mdi-home",-1)])]),_:1}),f(" 考场:"+U(l.localConfig.room),1)]),_:1})):F("",!0)]),l.localConfig.examInfos&&l.localConfig.examInfos.length>0?(w(),R("div",Bt,[o(ue,null,{default:r(()=>[(w(!0),R(ce,null,ye(l.localConfig.examInfos,(a,d)=>(w(),E(B,{key:d,cols:"12",lg:"4",md:"6"},{default:r(()=>[o(q,{class:"h-100",hover:"",variant:"tonal"},{default:r(()=>[o(ee,{class:"bg-primary-lighten-5 pa-4"},{default:r(()=>[g("div",Lt,[o(V,{class:"mr-2"},{default:r(()=>[...t[24]||(t[24]=[f("mdi-book-open-page-variant",-1)])]),_:1}),g("span",Ot,U(a.name||"未设置科目"),1)])]),_:2},1024),o(G,{class:"pa-4"},{default:r(()=>[g("div",Rt,[g("div",jt,[o(V,{class:"mr-2",color:"success",size:"small"},{default:r(()=>[...t[25]||(t[25]=[f("mdi-clock-start ",-1)])]),_:1}),t[26]||(t[26]=g("span",{class:"text-body-2 text-grey-darken-1"},"开始时间",-1))]),g("div",zt,U(a.startFormatted||a.start||"未设置"),1)]),g("div",null,[g("div",Jt,[o(V,{class:"mr-2",color:"error",size:"small"},{default:r(()=>[...t[27]||(t[27]=[f("mdi-clock-end ",-1)])]),_:1}),t[28]||(t[28]=g("span",{class:"text-body-2 text-grey-darken-1"},"结束时间",-1))]),g("div",$t,U(a.endFormatted||a.end||"未设置"),1)])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})])):(w(),R("div",Kt,[o(V,{class:"mb-4",color:"grey-lighten-2",size:"80"},{default:r(()=>[...t[29]||(t[29]=[f(" mdi-calendar-blank ",-1)])]),_:1}),t[32]||(t[32]=g("div",{class:"text-h5 text-grey-darken-1 mb-2"},"暂无考试科目安排",-1)),t[33]||(t[33]=g("div",{class:"text-body-1 text-grey mb-4"},' 点击上方"添加科目"按钮开始配置考试时间表 ',-1)),o(x,{color:"primary",variant:"outlined",onClick:u.quickEdit},{default:r(()=>[o(V,{start:""},{default:r(()=>[...t[30]||(t[30]=[f("mdi-plus",-1)])]),_:1}),t[31]||(t[31]=f(" 立即添加 ",-1))]),_:1},8,["onClick"])])),o(q,{border:"",class:"mb-4",elevation:"2"},{default:r(()=>[o(ee,{class:"d-flex align-center text-white cursor-pointer",onClick:t[3]||(t[3]=a=>l.showJsonPreview=!l.showJsonPreview)},{default:r(()=>[o(V,{class:"mr-2"},{default:r(()=>[...t[34]||(t[34]=[f("mdi-code-json",-1)])]),_:1}),t[36]||(t[36]=f(" 配置预览 ",-1)),o(se),o(x,{color:"white","prepend-icon":"mdi-content-copy",size:"small",variant:"outlined",onClick:nt(u.copyToClipboard,["stop"])},{default:r(()=>[...t[35]||(t[35]=[f(" 复制 ",-1)])]),_:1},8,["onClick"]),o(x,{icon:l.showJsonPreview?"mdi-chevron-up":"mdi-chevron-down",class:"ml-2",color:"white",size:"small",variant:"text"},null,8,["icon"])]),_:1}),o(ft,null,{default:r(()=>[lt(o(G,{class:"pa-4"},{default:r(()=>[o(q,{class:"pa-4",variant:"tonal"},{default:r(()=>[g("pre",qt,[g("code",null,U(u.formattedStorageJson),1)])]),_:1})]),_:1},512),[[ot,l.showJsonPreview]])]),_:1})]),_:1})])):F("",!0),!l.loading&&l.isEditMode?(w(),R("div",Yt,[o(q,{border:"",class:"mb-4",elevation:"1"},{default:r(()=>[o(ee,{class:"d-flex align-center bg-primary-lighten-5 pa-4"},{default:r(()=>[o(V,{class:"mr-2"},{default:r(()=>[...t[37]||(t[37]=[f("mdi-information",-1)])]),_:1}),t[38]||(t[38]=g("span",{class:"font-weight-bold"},"基本信息",-1))]),_:1}),o(G,{class:"pa-6"},{default:r(()=>[o(ue,null,{default:r(()=>[o(B,{cols:"12",md:"6"},{default:r(()=>[o(te,{modelValue:l.localConfig.examName,"onUpdate:modelValue":t[4]||(t[4]=a=>l.localConfig.examName=a),rules:[a=>!!a||"考试名称不能为空",a=>a&&a.trim().length>0||"考试名称不能为空白字符",a=>!a||a.length<=100||"考试名称不能超过100个字符"],clearable:"",density:"comfortable",label:"考试名称",placeholder:"如:2025年高考模拟考试","prepend-inner-icon":"mdi-calendar-text",required:"",variant:"outlined"},null,8,["modelValue","rules"])]),_:1}),o(B,{cols:"12",md:"6"},{default:r(()=>[o(te,{modelValue:l.localConfig.room,"onUpdate:modelValue":t[5]||(t[5]=a=>l.localConfig.room=a),clearable:"",density:"comfortable",label:"考场号(仅 ExamSchedule-Management 支持此配置)",placeholder:"如:一号考场","prepend-inner-icon":"mdi-home",variant:"outlined"},null,8,["modelValue"])]),_:1})]),_:1}),o(ue,null,{default:r(()=>[o(B,{cols:"12"},{default:r(()=>[g("span",Wt,[o(V,{size:"small",class:"mr-1"},{default:r(()=>[...t[39]||(t[39]=[f("mdi-message-text",-1)])]),_:1}),t[40]||(t[40]=f(" 考试提示 ",-1))]),o(yt,{modelValue:l.localConfig.message,"onUpdate:modelValue":t[6]||(t[6]=a=>l.localConfig.message=a),rules:[a=>!!a||"考试提示不能为空",a=>a&&a.trim().length>0||"考试提示不能为空白字符"],clearable:"",density:"comfortable",label:"输入考试相关的提示信息...","no-resize":"",placeholder:"例如:请保持卷面整洁,诚信应考。在听到终考铃时立刻停止作答。",rows:"3",variant:"outlined"},null,8,["modelValue","rules"]),!l.localConfig.message||l.localConfig.message.trim()===""?(w(),R("div",Gt,[o(pt,{class:"d-flex gap-2",column:""},{default:r(()=>[(w(!0),R(ce,null,ye(l.defaultExamTips,(a,d)=>(w(),E(xe,{key:d,class:"cursor-pointer",color:"primary",size:"small",variant:"outlined",onClick:s=>u.selectDefaultTip(a)},{default:r(()=>[o(V,{size:"small",start:""},{default:r(()=>[...t[41]||(t[41]=[f("mdi-plus",-1)])]),_:1}),f(" "+U(a.substring(0,20))+"... ",1)]),_:2},1032,["onClick"]))),128))]),_:1}),g("div",Xt,[o(V,{class:"mr-1",size:"x-small"},{default:r(()=>[...t[42]||(t[42]=[f("mdi-lightbulb-outline",-1)])]),_:1}),t[43]||(t[43]=f(" 点击上方选项快速添加常用考试提示 ",-1))])])):F("",!0)]),_:1})]),_:1})]),_:1})]),_:1}),o(q,{border:"",class:"mb-4",elevation:"1"},{default:r(()=>[o(ee,{class:"d-flex align-center bg-success-lighten-5 pa-4"},{default:r(()=>[o(V,{class:"mr-2"},{default:r(()=>[...t[44]||(t[44]=[f("mdi-format-list-bulleted",-1)])]),_:1}),t[47]||(t[47]=g("span",{class:"font-weight-bold"},"考试科目安排",-1)),o(se),g("div",Zt,[o(bt,{modelValue:l.enableCustomAlertTime,"onUpdate:modelValue":t[7]||(t[7]=a=>l.enableCustomAlertTime=a),color:"primary",density:"compact","hide-details":"",onChange:u.toggleAlertTimeMode},{label:r(()=>[...t[45]||(t[45]=[g("span",{class:"text-body-2"},"自定义提醒时间",-1)])]),_:1},8,["modelValue","onChange"])]),o(x,{color:"success","prepend-icon":"mdi-plus",size:"small",variant:"elevated",onClick:u.addExamInfo},{default:r(()=>[...t[46]||(t[46]=[f(" 添加科目 ",-1)])]),_:1},8,["onClick"])]),_:1}),o(G,{class:"pa-0"},{default:r(()=>[l.localConfig.examInfos&&l.localConfig.examInfos.length>0?(w(),E(He,{key:0,class:"py-0"},{default:r(()=>[(w(!0),R(ce,null,ye(l.localConfig.examInfos,(a,d)=>(w(),E(ke,{key:d,class:"border-b pa-4 hover-highlight"},{default:r(()=>[g("div",Qt,[g("div",ea,[o(xe,{color:d%2===0?"primary":"secondary",size:"small",variant:"tonal",class:"mr-3"},{default:r(()=>[o(V,{start:"",size:"small"},{default:r(()=>[f("mdi-numeric-"+U(d+1)+"-circle",1)]),_:2},1024),f(" 第 "+U(d+1)+" 科目 ",1)]),_:2},1032,["color"]),o(se),g("div",ta,[d>0?(w(),E(x,{key:0,color:"primary",icon:"mdi-arrow-up",size:"x-small",variant:"text",onClick:s=>u.moveExamInfo(d,-1)},{default:r(()=>[o(be,{activator:"parent",location:"bottom"},{default:r(()=>[...t[48]||(t[48]=[f("上移",-1)])]),_:1})]),_:1},8,["onClick"])):F("",!0),du.moveExamInfo(d,1)},{default:r(()=>[o(be,{activator:"parent",location:"bottom"},{default:r(()=>[...t[49]||(t[49]=[f("下移",-1)])]),_:1})]),_:1},8,["onClick"])):F("",!0),o(x,{color:"error",icon:"mdi-delete",size:"x-small",variant:"text",onClick:s=>u.removeExamInfo(d)},{default:r(()=>[o(be,{activator:"parent",location:"bottom"},{default:r(()=>[...t[50]||(t[50]=[f("删除",-1)])]),_:1})]),_:1},8,["onClick"])])]),o(ue,{class:"align-start"},{default:r(()=>[o(B,{cols:"12",md:"4"},{default:r(()=>[o(wt,{modelValue:a.name,"onUpdate:modelValue":s=>a.name=s,items:l.availableSubjects,rules:[s=>!!s||"科目名称不能为空",s=>s&&s.trim().length>0||"科目名称不能为空白字符"],clearable:"",density:"comfortable","item-title":"name",label:"科目名称","no-data-text":"没有可用科目,请输入自定义名称","prepend-inner-icon":"mdi-book",variant:"outlined"},{"prepend-item":r(()=>[l.customSubjectInput?(w(),E(ke,{key:0,title:"自定义:"},{append:r(()=>[g("span",aa,U(l.customSubjectInput),1)]),_:1})):F("",!0),l.customSubjectInput?(w(),E(gt,{key:1})):F("",!0)]),_:1},8,["modelValue","onUpdate:modelValue","items","rules"])]),_:2},1024),o(B,{cols:"12",md:"3"},{default:r(()=>[o(Be,{modelValue:a.startDateMenu,"onUpdate:modelValue":s=>a.startDateMenu=s,"close-on-content-click":!1,"min-width":"auto","offset-y":"",transition:"scale-transition"},{activator:r(({props:s})=>[o(te,fe({modelValue:a.startFormatted,"onUpdate:modelValue":p=>a.startFormatted=p,rules:[p=>!!p||"开始时间不能为空",p=>u.validateTimeFormat(p,"开始时间"),()=>u.validateNoTimeOverlap(a,d)],density:"comfortable",label:"开始时间",placeholder:"2025/01/01 09:00","prepend-inner-icon":"mdi-clock-start"},{ref_for:!0},s,{variant:"outlined",onBlur:p=>u.updateStartDateTimeFromInput(d)}),{append:r(()=>[o(V,null,{default:r(()=>[...t[51]||(t[51]=[f("mdi-calendar-clock",-1)])]),_:1})]),_:1},16,["modelValue","onUpdate:modelValue","rules","onBlur"])]),default:r(()=>[o(q,{"min-width":"500"},{default:r(()=>[o(ee,{class:"text-center py-3 bg-primary-lighten-5"},{default:r(()=>[o(V,{class:"mr-2",color:"primary"},{default:r(()=>[...t[52]||(t[52]=[f("mdi-clock-start",-1)])]),_:1}),t[53]||(t[53]=f(" 选择开始时间 ",-1))]),_:1}),o(G,{class:"pa-0"},{default:r(()=>[o(ue,{"no-gutters":""},{default:r(()=>[o(B,{class:"border-e",cols:"6"},{default:r(()=>[o(Oe,{modelValue:a.startDate,"onUpdate:modelValue":[s=>a.startDate=s,s=>u.updateStartDateTime(d)],color:"primary",elevation:"0",locale:"zh-cn","show-adjacent-months":""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),o(B,{cols:"6"},{default:r(()=>[o(Je,{modelValue:a.startTime,"onUpdate:modelValue":[s=>a.startTime=s,s=>u.updateStartDateTime(d)],color:"primary",elevation:"0",format:"24hr",scrollable:""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024)]),_:2},1024),o(Te,null,{default:r(()=>[o(se),o(x,{color:"grey",variant:"text",onClick:s=>a.startDateMenu=!1},{default:r(()=>[...t[54]||(t[54]=[f(" 关闭 ",-1)])]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1024),o(B,{cols:"12",md:"3"},{default:r(()=>[o(Be,{modelValue:a.endDateMenu,"onUpdate:modelValue":s=>a.endDateMenu=s,"close-on-content-click":!1,"min-width":"auto","offset-y":"",transition:"scale-transition"},{activator:r(({props:s})=>[o(te,fe({modelValue:a.endFormatted,"onUpdate:modelValue":p=>a.endFormatted=p,rules:[p=>!!p||"结束时间不能为空",p=>u.validateTimeFormat(p,"结束时间"),()=>u.validateEndAfterStart(a),()=>u.validateNoTimeOverlap(a,d)],density:"comfortable",label:"结束时间",placeholder:"2025/01/01 11:00","prepend-inner-icon":"mdi-clock-end"},{ref_for:!0},s,{variant:"outlined",onBlur:p=>u.updateEndDateTimeFromInput(d)}),{append:r(()=>[o(V,null,{default:r(()=>[...t[55]||(t[55]=[f("mdi-calendar-clock",-1)])]),_:1})]),_:1},16,["modelValue","onUpdate:modelValue","rules","onBlur"])]),default:r(()=>[o(q,{"min-width":"500"},{default:r(()=>[o(ee,{class:"text-center py-3 bg-error-lighten-5"},{default:r(()=>[o(V,{class:"mr-2",color:"error"},{default:r(()=>[...t[56]||(t[56]=[f("mdi-clock-end",-1)])]),_:1}),t[57]||(t[57]=f(" 选择结束时间 ",-1))]),_:1}),o(G,{class:"pa-0"},{default:r(()=>[o(ue,{"no-gutters":""},{default:r(()=>[o(B,{class:"border-e",cols:"6"},{default:r(()=>[o(Oe,{modelValue:a.endDate,"onUpdate:modelValue":[s=>a.endDate=s,s=>u.updateEndDateTime(d)],color:"error",elevation:"0",locale:"zh-cn","show-adjacent-months":""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),o(B,{cols:"6"},{default:r(()=>[o(Je,{modelValue:a.endTime,"onUpdate:modelValue":[s=>a.endTime=s,s=>u.updateEndDateTime(d)],color:"error",elevation:"0",format:"24hr",scrollable:""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024)]),_:2},1024),o(Te,null,{default:r(()=>[o(se),o(x,{color:"grey",variant:"text",onClick:s=>a.endDateMenu=!1},{default:r(()=>[...t[58]||(t[58]=[f(" 关闭 ",-1)])]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1024),o(B,{cols:"12",md:"2"},{default:r(()=>[o(te,{modelValue:a.durationMinutes,"onUpdate:modelValue":s=>a.durationMinutes=s,rules:[s=>!!s||"时长不能为空",s=>!isNaN(s)||"时长必须是数字",s=>parseInt(s)>0||"时长必须大于0",s=>parseInt(s)<=1440||"时长不能超过1440分钟(24小时)"],type:"number",min:"1",max:"1440",density:"comfortable",label:"时长(分钟)",placeholder:"例如:120","prepend-inner-icon":"mdi-timer",variant:"outlined",hint:u.durationHint(a),"persistent-hint":"",onBlur:s=>u.updateDurationFromInput(d)},null,8,["modelValue","onUpdate:modelValue","rules","hint","onBlur"])]),_:2},1024),l.enableCustomAlertTime?(w(),E(B,{key:0,cols:"12",md:"2"},{default:r(()=>[o(te,{modelValue:a.alertTime,"onUpdate:modelValue":s=>a.alertTime=s,rules:[s=>!!s||"提醒时间不能为空",s=>!isNaN(s)||"提醒时间必须是数字",s=>parseInt(s)>=0||"提醒时间不能为负数",s=>parseInt(s)<=120||"提醒时间不能超过120分钟"],type:"number",min:"0",max:"120",density:"comfortable",label:"提醒时间(分钟)",placeholder:"例如:15","prepend-inner-icon":"mdi-bell-ring",variant:"outlined",hint:"考试结束前提醒","persistent-hint":""},null,8,["modelValue","onUpdate:modelValue","rules"])]),_:2},1024)):F("",!0)]),_:2},1024)])]),_:2},1024))),128))]),_:1})):(w(),R("div",na,[o(V,{class:"mb-4",color:"grey-lighten-2",size:"80"},{default:r(()=>[...t[59]||(t[59]=[f(" mdi-calendar-blank ",-1)])]),_:1}),t[61]||(t[61]=g("div",{class:"text-h5 text-grey-darken-1 mb-2"},"暂无考试科目安排",-1)),t[62]||(t[62]=g("div",{class:"text-body-1 text-grey mb-4"},' 点击上方"添加科目"按钮开始配置 ',-1)),o(x,{color:"success","prepend-icon":"mdi-plus",size:"large",variant:"elevated",onClick:u.addExamInfo},{default:r(()=>[...t[60]||(t[60]=[f(" 立即添加科目 ",-1)])]),_:1},8,["onClick"])]))]),_:1})]),_:1})])):F("",!0),o(vt,{modelValue:l.deleteDialog,"onUpdate:modelValue":t[9]||(t[9]=a=>l.deleteDialog=a),"max-width":"400"},{default:r(()=>[o(q,null,{default:r(()=>[o(ee,{class:"d-flex align-center"},{default:r(()=>[o(V,{class:"mr-2",color:"error"},{default:r(()=>[...t[63]||(t[63]=[f("mdi-delete-alert",-1)])]),_:1}),t[64]||(t[64]=f(" 确认删除配置 ",-1))]),_:1}),o(G,null,{default:r(()=>[t[65]||(t[65]=f(" 确定要删除配置 ",-1)),g("strong",null,U(l.localConfig.examName||`配置 ${i.configId}`),1),t[66]||(t[66]=f(" 吗? ",-1)),t[67]||(t[67]=g("br",null,null,-1)),t[68]||(t[68]=g("small",{class:"text-grey"},"此操作不可撤销,将会删除所有相关数据",-1))]),_:1}),o(Te,null,{default:r(()=>[o(se),o(x,{color:"grey",variant:"text",onClick:t[8]||(t[8]=a=>l.deleteDialog=!1)},{default:r(()=>[...t[69]||(t[69]=[f(" 取消 ",-1)])]),_:1}),o(x,{loading:l.deleting,color:"error",variant:"outlined",onClick:u.deleteConfig},{default:r(()=>[...t[70]||(t[70]=[f(" 删除 ",-1)])]),_:1},8,["loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}const xa=dt(_t,[["render",la],["__scopeId","data-v-415c7c7f"]]);export{xa as default}; diff --git a/assets/ExamScheduleCard-B03q7hf4.css b/assets/ExamScheduleCard-B03q7hf4.css new file mode 100644 index 0000000..6aa4eb1 --- /dev/null +++ b/assets/ExamScheduleCard-B03q7hf4.css @@ -0,0 +1 @@ +.v-list-item-title[data-v-52dc8ca5]{white-space:normal} diff --git a/assets/ExamScheduleCard-B4npxxbW.js b/assets/ExamScheduleCard-B4npxxbW.js new file mode 100644 index 0000000..cba4708 --- /dev/null +++ b/assets/ExamScheduleCard-B4npxxbW.js @@ -0,0 +1 @@ +import{u as y}from"./index-DQBDs7lF.js";import{X as o,Y as f,Z as e,j as a,a1 as r,k as n,S as i,N as _,_ as d,F as h,$ as V,a2 as S,a6 as b,a7 as k}from"./vendor-vue-H0jQBZ7T.js";import{_ as v,c as I,h as c,o as w,l as C,d as T,V as E,j as L,k as N,s as j,t as z,L as B,e as D}from"./index-Bqe1gKo7.js";import{V as A}from"./VAlert-b5nBlHgx.js";import"./dataProvider-Dty8Zh7m.js";import"./vendor-utils-DDRLRfsI.js";import"./serverRotation-CLP7smnN.js";import"./VChip-CPVASmWt.js";import"./vendor-vuetify-ChAgIwn2.js";import"./VContainer-BHAiZEWc.js";import"./socketClient-DM3fpE4o.js";import"./vendor-socket-CyTcV1HU.js";import"./deviceEvents-BIvMKD-7.js";import"./VAppBarTitle-CKv90Z6x.js";import"./VRow-C2iyFaHv.js";import"./VTooltip-UMclv3tZ.js";const F={name:"ExamScheduleCard",props:{examId:{type:String,required:!0},contentStyle:{type:Object,default:()=>({})}},computed:{...k(y,["exams","loadingDetails"]),exam(){return this.exams[this.examId]},loading(){return this.loadingDetails[this.examId]}},mounted(){this.fetchExam(this.examId)},methods:{...b(y,["fetchExam"]),formatTime(m){if(!m)return"";try{const t=new Date(m),u=(t.getMonth()+1).toString().padStart(2,"0"),x=t.getDate().toString().padStart(2,"0"),p=t.getHours().toString().padStart(2,"0"),s=t.getMinutes().toString().padStart(2,"0");return`${u}-${x} ${p}:${s}`}catch{return m}}}},M={class:"text-truncate"},$={key:0,class:"d-flex justify-center align-center fill-height",style:{"min-height":"200px"}},q={class:"d-flex align-center mb-1"},H={class:"font-weight-medium"},O={class:"d-flex align-center"},P={class:"font-weight-medium"},X={key:2,class:"d-flex flex-column align-center justify-center fill-height text-grey mt-4"};function Y(m,t,u,x,p,s){return o(),f(D,{class:"fill-height d-flex flex-column rounded-xl",elevation:"2"},{default:e(()=>[a(I,{class:"d-flex align-center py-3 px-4 bg-primary text-white"},{default:e(()=>{var l;return[a(c,{class:"mr-2"},{default:e(()=>[...t[1]||(t[1]=[r("mdi-calendar-clock",-1)])]),_:1}),n("span",M,i(((l=s.exam)==null?void 0:l.examName)||"加载中..."),1),a(w),a(C,{icon:"mdi-close",variant:"text",density:"comfortable",onClick:t[0]||(t[0]=g=>m.$emit("close"))})]}),_:1}),a(T,{class:"flex-grow-1 pa-4 overflow-y-auto",style:_(u.contentStyle)},{default:e(()=>[s.loading?(o(),d("div",$,[a(E,{indeterminate:"",color:"primary"})])):s.exam?(o(),d(h,{key:1},[s.exam.message?(o(),f(A,{key:0,color:"info",variant:"tonal",class:"mb-4 text-body-1",border:"start",density:"compact"},{default:e(()=>[r(i(s.exam.message),1)]),_:1})):V("",!0),a(L,{density:"comfortable",class:"pa-0 bg-transparent"},{default:e(()=>[(o(!0),d(h,null,S(s.exam.examInfos,(l,g)=>(o(),f(N,{key:g,class:"px-0 mb-3"},{prepend:e(()=>[a(B,{color:"primary",variant:"tonal",size:"large",class:"mr-3 font-weight-bold elevation-1"},{default:e(()=>[r(i(l.name.charAt(0)),1)]),_:2},1024)]),default:e(()=>[a(j,{class:"font-weight-bold text-h6 mb-1"},{default:e(()=>[r(i(l.name),1)]),_:2},1024),a(z,{class:"text-body-1"},{default:e(()=>[n("div",q,[a(c,{size:"small",color:"success",class:"mr-2"},{default:e(()=>[...t[2]||(t[2]=[r("mdi-clock-start",-1)])]),_:1}),n("span",H,i(s.formatTime(l.start)),1)]),n("div",O,[a(c,{size:"small",color:"error",class:"mr-2"},{default:e(()=>[...t[3]||(t[3]=[r("mdi-clock-end",-1)])]),_:1}),n("span",P,i(s.formatTime(l.end)),1)])]),_:2},1024)]),_:2},1024))),128))]),_:1})],64)):(o(),d("div",X,[a(c,{size:"large",class:"mb-2"},{default:e(()=>[...t[4]||(t[4]=[r("mdi-alert-circle-outline",-1)])]),_:1}),t[5]||(t[5]=r(" 无法加载考试信息 ",-1))]))]),_:1},8,["style"])]),_:1})}const mt=v(F,[["render",Y],["__scopeId","data-v-52dc8ca5"]]);export{mt as default}; diff --git a/assets/FloatingToolbar-Cgd04mIk.js b/assets/FloatingToolbar-Cgd04mIk.js new file mode 100644 index 0000000..1a267f3 --- /dev/null +++ b/assets/FloatingToolbar-Cgd04mIk.js @@ -0,0 +1 @@ +import{_ as v,e as m,n as b,l as n,am as r,aw as y,ax as g}from"./index-Bqe1gKo7.js";import{V as k}from"./VSheet-DHN9xqm_.js";import{V as x}from"./VDatePicker-CyfBxTLk.js";import{X as s,_ as T,j as t,Z as o,n as V,R as d,m as C,Y as u,$ as c,a1 as $}from"./vendor-vue-H0jQBZ7T.js";import"./vendor-vuetify-ChAgIwn2.js";import"./VBadge-B7gMUs96.js";const B={name:"FloatingToolbar",props:{loading:{type:Boolean,default:!1},unreadCount:{type:Number,default:0},selectedDate:{type:[String,Date],required:!0},isToday:{type:Boolean,required:!0},copyToTodayLoading:{type:Boolean,default:!1}},data(){return{isExpanded:!1}},methods:{handleDateSelect(a){this.$emit("date-select",a)}}},D={class:"floating-toolbar-container"};function z(a,e,i,S,f,p){return s(),T("div",D,[t(y,null,{default:o(()=>[t(m,{class:V([{"toolbar-expanded":f.isExpanded},"floating-toolbar"]),elevation:"4",rounded:"xl"},{default:o(()=>[t(b,{class:"toolbar-buttons",variant:"text"},{default:o(()=>[d(t(n,{title:"查看昨天",class:"toolbar-btn",icon:"mdi-chevron-left",variant:"text",onClick:e[0]||(e[0]=l=>a.$emit("prev-day"))},null,512),[[r]]),d(t(n,{title:"缩小字体",class:"toolbar-btn",icon:"mdi-format-font-size-decrease",variant:"text",onClick:e[1]||(e[1]=l=>a.$emit("zoom","out"))},null,512),[[r]]),d(t(n,{title:"放大字体",class:"toolbar-btn",icon:"mdi-format-font-size-increase",variant:"text",onClick:e[2]||(e[2]=l=>a.$emit("zoom","up"))},null,512),[[r]]),t(k,{"close-on-content-click":!1,location:"top"},{activator:o(({props:l})=>[d(t(n,C({title:"选择日期",class:"toolbar-btn",icon:"mdi-calendar"},l,{variant:"text"}),null,16),[[r]])]),default:o(()=>[t(m,{border:"",class:"date-picker-card"},{default:o(()=>[t(x,{"model-value":i.selectedDate,color:"primary","onUpdate:modelValue":p.handleDateSelect},null,8,["model-value","onUpdate:modelValue"])]),_:1})]),_:1}),d(t(n,{loading:i.loading,title:"刷新数据",class:"toolbar-btn",icon:"mdi-refresh",variant:"text",onClick:e[3]||(e[3]=l=>a.$emit("refresh"))},null,8,["loading"]),[[r]]),i.isToday?c("",!0):d((s(),u(n,{key:0,title:"查看明天",class:"toolbar-btn",icon:"mdi-chevron-right",variant:"text",onClick:e[4]||(e[4]=l=>a.$emit("next-day"))},null,512)),[[r]])]),_:1})]),_:1},8,["class"])]),_:1}),t(g,null,{default:o(()=>[i.isToday?c("",!0):(s(),u(n,{key:0,loading:i.copyToTodayLoading,disabled:i.copyToTodayLoading,class:"side-action-btn",color:"primary",elevation:"4","prepend-icon":"mdi-content-copy",rounded:"xl",size:"large",text:"复制作业内容到今天",onClick:e[5]||(e[5]=l=>a.$emit("copy-to-today"))},{default:o(()=>[...e[6]||(e[6]=[$("复制到今天",-1)])]),_:1},8,["loading","disabled"]))]),_:1})])}const F=v(B,[["render",z],["__scopeId","data-v-7076d3aa"]]);export{F as default}; diff --git a/assets/FloatingToolbar-DbFL4asY.css b/assets/FloatingToolbar-DbFL4asY.css new file mode 100644 index 0000000..b01b7a6 --- /dev/null +++ b/assets/FloatingToolbar-DbFL4asY.css @@ -0,0 +1 @@ +.floating-toolbar-container[data-v-7076d3aa]{position:fixed;bottom:0;left:0;width:100%;height:0;z-index:100;display:flex;justify-content:center;pointer-events:none}.floating-toolbar[data-v-7076d3aa]{position:absolute;bottom:24px;left:50%;transform:translate(-50%);transition:all .3s cubic-bezier(.4,0,.2,1);background:#ffffffb3!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000001a!important;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;display:flex;align-items:center;justify-content:space-between;padding:0 4px;pointer-events:auto;will-change:transform}.floating-toolbar[data-v-7076d3aa]:hover{transform:translate(-50%) translateY(-4px);background:#fffc!important}.toolbar-buttons[data-v-7076d3aa]{display:flex;align-items:center}.toolbar-btn[data-v-7076d3aa]{margin:0 2px}.toolbar-btn[data-v-7076d3aa]:hover{background:#ffffff4d!important;transform:scale(1.05)}.toolbar-btn[data-v-7076d3aa]:active{transform:scale(.95)}.side-action-btn[data-v-7076d3aa]{position:absolute;bottom:24px;right:24px;pointer-events:auto;z-index:101;background:#ffffffe6!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2)}.date-picker-card[data-v-7076d3aa]{border-radius:16px;overflow:hidden;background:#ffffffe6!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2)}@media (max-width: 600px){.floating-toolbar[data-v-7076d3aa]{bottom:16px;width:auto;max-width:95%;padding:2px}.toolbar-buttons[data-v-7076d3aa]{width:100%;justify-content:space-around;padding:4px}.toolbar-btn[data-v-7076d3aa]{margin:0;min-width:40px}.side-action-btn[data-v-7076d3aa]{bottom:80px;right:16px}}@media (prefers-color-scheme: dark){.floating-toolbar[data-v-7076d3aa]{background:#1e1e1eb3!important;border:1px solid rgba(255,255,255,.1)}.floating-toolbar[data-v-7076d3aa]:hover{background:#1e1e1ecc!important}.toolbar-btn[data-v-7076d3aa]:hover{background:#ffffff1a!important}.date-picker-card[data-v-7076d3aa]{background:#1e1e1ee6!important;border:1px solid rgba(255,255,255,.1)}.side-action-btn[data-v-7076d3aa]{background:#1e1e1ee6!important;border:1px solid rgba(255,255,255,.1);color:#fff!important}} diff --git a/assets/HomeworkEditDialog-BYeU7sR3.css b/assets/HomeworkEditDialog-BYeU7sR3.css new file mode 100644 index 0000000..8efe00d --- /dev/null +++ b/assets/HomeworkEditDialog-BYeU7sR3.css @@ -0,0 +1 @@ +.template-buttons[data-v-af72d8a9]{display:flex;flex-direction:column;gap:12px}.book-chip[data-v-af72d8a9]{align-self:flex-start}.pages-container[data-v-af72d8a9]{display:flex;flex-wrap:wrap;gap:4px;padding-left:16px}.group-label[data-v-af72d8a9]{font-size:.875rem;color:#0009;margin-right:8px;white-space:nowrap}[data-v-af72d8a9] .v-chip{cursor:pointer;-webkit-user-select:none;user-select:none}.quick-tools[data-v-af72d8a9]{border-left:1px solid rgba(0,0,0,.12);padding-left:16px}.gap-1[data-v-af72d8a9]{gap:4px}.numeric-keypad[data-v-af72d8a9]{display:flex;flex-direction:column;gap:4px;padding:8px;border:1px solid rgba(0,0,0,.12);border-radius:4px}.keypad-row[data-v-af72d8a9]{display:flex;gap:4px}.keypad-btn[data-v-af72d8a9]{flex:1;min-width:36px!important}.space-btn[data-v-af72d8a9]{width:100%!important} diff --git a/assets/HomeworkEditDialog-pWq_RaKu.js b/assets/HomeworkEditDialog-pWq_RaKu.js new file mode 100644 index 0000000..f00bffd --- /dev/null +++ b/assets/HomeworkEditDialog-pWq_RaKu.js @@ -0,0 +1,9 @@ +import{d as L}from"./dataProvider-Dty8Zh7m.js";import{_ as V,e as w,c as D,o as B,l as C,J as T,d as P,p as R,g as _}from"./index-Bqe1gKo7.js";import{V as j}from"./VTextarea-DiXZJMiq.js";import{V as x}from"./VChip-CPVASmWt.js";import{V as E}from"./VAlert-b5nBlHgx.js";import{X as o,Y as y,Z as c,j as d,a1 as h,S as k,k as f,_ as u,F as v,a2 as S,$ as g}from"./vendor-vue-H0jQBZ7T.js";import{a0 as q}from"./vendor-vuetify-ChAgIwn2.js";import"./vendor-utils-DDRLRfsI.js";import"./serverRotation-CLP7smnN.js";import"./autofocus-Dh4QPNon.js";const A={name:"HomeworkEditDialog",props:{modelValue:{type:Boolean,required:!0},title:{type:String,required:!0},initialContent:{type:String,default:""},autoSave:{type:Boolean,default:!1},isEditingPastData:{type:Boolean,default:!1},currentDateString:{type:String,default:""}},emits:["update:modelValue","save"],setup(){const{mobile:n}=q();return{mobile:n}},data(){return{content:"",templateData:null,currentLine:"",currentLineStart:0,currentLineEnd:0,quickTexts:["课","题","例","变","T","P"]}},computed:{isMobile(){return _("display.forceDesktopMode")?!1:this.mobile},dialogVisible:{get(){return this.modelValue},set(n){this.$emit("update:modelValue",n)}},subject(){return this.title},hasTemplates(){var n,t;return!!((t=(n=this.templateData)==null?void 0:n.actions)!=null&&t.length||this.subjectBooks||this.commonBooks)},subjectBooks(){var n,t,s;return!this.subject||!((s=(t=(n=this.templateData)==null?void 0:n.subjects)==null?void 0:t[this.subject])!=null&&s.books)?null:this.templateData.subjects[this.subject].books},commonBooks(){var n,t;return(t=(n=this.templateData)==null?void 0:n.commonSubject)!=null&&t.books?this.templateData.commonSubject.books:null},showQuickTools(){return _("display.showQuickTools")},autoSavePromptText(){return _("edit.autoSavePromptText")},manualSavePromptText(){return _("edit.manualSavePromptText")}},watch:{async modelValue(n){if(n){this.content=this.initialContent;try{this.templateData=await L.loadData("classworks-config-homework-template")}catch(t){console.error("Failed to load homework templates:",t),this.templateData=null}this.$nextTick(()=>{this.$refs.inputRef&&(this.$refs.inputRef.focus(),this.updateCurrentLine())})}}},methods:{handleClose(){const n=this.content.trim();n!==this.initialContent.trim()&&this.$emit("save",n),this.dialogVisible=!1},updateCurrentLine(){const t=this.$refs.inputRef.$el.querySelector("textarea").selectionStart,s=this.content;let a=0;const i=s.split(` +`);for(let e=0;ea.includes(n));s!==-1&&(t.splice(s,1),this.content=t.join(` +`))}else{const t=this.content.trim().length>0;this.content=(t?this.content.trim()+` +`:"")+n}this.$nextTick(()=>{const t=this.$refs.inputRef.$el.querySelector("textarea");if(t.focus(),!this.isBookSelected(n)){const s=this.content.split(` +`);let a=0;for(let i=0;i0?" ":"")+t+this.content.slice(a)}this.$nextTick(()=>{const s=this.$refs.inputRef.$el.querySelector("textarea");s.focus();const a=this.content.split(` +`);let i=0;for(let e=0;ethis.currentLineStart));e++)i+=1;s.setSelectionRange(i,i),this.updateCurrentLine()})},insertTemplate(n){const t=this.$refs.inputRef.$el.querySelector("textarea"),s=t.selectionStart,a=t.selectionEnd,i=s>0&&this.content[s-1]!==" "&&this.content[s-1]!==` +`;this.content=this.content.slice(0,s)+(i?" ":"")+n+this.content.slice(a),this.$nextTick(()=>{t.focus();const e=s+n.length+(i?1:0);t.setSelectionRange(e,e),this.updateCurrentLine()})},insertAtCursor(n){if(!n)return;const t=this.$refs.inputRef.$el.querySelector("textarea"),s=t.selectionStart,a=t.selectionEnd;this.content=this.content.slice(0,s)+n+this.content.slice(a),this.$nextTick(()=>{t.focus();const i=s+n.length;t.setSelectionRange(i,i),this.updateCurrentLine()})},deleteLastChar(){const n=this.$refs.inputRef.$el.querySelector("textarea"),t=n.selectionStart,s=n.selectionEnd;t===s?t>0&&(this.content=this.content.slice(0,t-1)+this.content.slice(t),this.$nextTick(()=>{n.focus(),n.setSelectionRange(t-1,t-1),this.updateCurrentLine()})):(this.content=this.content.slice(0,t)+this.content.slice(s),this.$nextTick(()=>{n.focus(),n.setSelectionRange(t,t),this.updateCurrentLine()}))}}},z={class:"d-flex"},M={class:"flex-grow-1"},I={key:0,class:"mt-4"},N={key:0,class:"template-buttons"},F={key:0,class:"pages-container mt-2"},Q={key:0,class:"pages-container mt-2"},H={key:2,class:"button-group"},K={key:1,class:"text-center text-body-2 text-disabled mt-2"},U={key:0,class:"quick-tools ml-4",style:{"min-width":"180px"}},J={class:"numeric-keypad mb-4"},O={class:"keypad-row"},X={class:"keypad-row"},Y={class:"keypad-row"},Z={class:"keypad-row"},G={class:"keypad-row"},W={class:"d-flex flex-wrap gap-1"},$={class:"d-flex flex-column"},tt={class:"text-body-2"};function et(n,t,s,a,i,e){return o(),y(R,{modelValue:e.dialogVisible,"onUpdate:modelValue":t[5]||(t[5]=p=>e.dialogVisible=p),fullscreen:e.isMobile,"max-width":"900",width:"auto","onClick:outside":e.handleClose},{default:c(()=>[d(w,{border:""},{default:c(()=>[d(D,{class:"d-flex align-center"},{default:c(()=>[h(k(s.title)+" ",1),d(B),d(C,{icon:"mdi-close",variant:"text",onClick:e.handleClose},null,8,["onClick"])]),_:1}),d(T,null,{default:c(()=>[h(k(s.autoSave?e.autoSavePromptText:e.manualSavePromptText),1)]),_:1}),d(P,null,{default:c(()=>{var p;return[f("div",z,[f("div",M,[d(j,{ref:"inputRef",modelValue:i.content,"onUpdate:modelValue":t[0]||(t[0]=l=>i.content=l),"auto-grow":"",placeholder:"使用换行表示分条",rows:"5",width:e.isMobile?"100%":"480",onClick:e.updateCurrentLine,onKeyup:e.updateCurrentLine},null,8,["modelValue","width","onClick","onKeyup"]),i.templateData?(o(),u("div",I,[e.hasTemplates?(o(),u("div",N,[e.subjectBooks?(o(!0),u(v,{key:0},S(e.subjectBooks,(l,r)=>(o(),u("div",{key:r,class:"button-group"},[d(x,{color:e.isBookSelected(r)?"success":"default",variant:e.isBookSelected(r)?"elevated":"flat",class:"ma-1 book-chip",onClick:m=>e.handleBookClick(r)},{default:c(()=>[h(k(r),1)]),_:2},1032,["color","variant","onClick"]),e.isBookSelected(r)?(o(),u("div",F,[(o(!0),u(v,null,S(l,m=>(o(),y(x,{key:m,color:e.isPageSelected(r,m)?"info":"default",variant:e.isPageSelected(r,m)?"elevated":"flat",class:"ma-1",onClick:b=>e.handlePageClick(r,m)},{default:c(()=>[h(k(m),1)]),_:2},1032,["color","variant","onClick"]))),128))])):g("",!0)]))),128)):g("",!0),e.commonBooks?(o(!0),u(v,{key:1},S(e.commonBooks,(l,r)=>(o(),u("div",{key:r,class:"button-group"},[d(x,{color:e.isBookSelected(r)?"success":"default",variant:e.isBookSelected(r)?"elevated":"flat",class:"ma-1 book-chip",onClick:m=>e.handleBookClick(r)},{default:c(()=>[h(k(r),1)]),_:2},1032,["color","variant","onClick"]),e.isBookSelected(r)?(o(),u("div",Q,[(o(!0),u(v,null,S(l,m=>(o(),y(x,{key:m,color:e.isPageSelected(r,m)?"info":"default",variant:e.isPageSelected(r,m)?"elevated":"flat",class:"ma-1",onClick:b=>e.handlePageClick(r,m)},{default:c(()=>[h(k(m),1)]),_:2},1032,["color","variant","onClick"]))),128))])):g("",!0)]))),128)):g("",!0),(p=i.templateData.actions)!=null&&p.length?(o(),u("div",H,[(o(!0),u(v,null,S(i.templateData.actions,l=>(o(),y(x,{key:l,class:"ma-1",color:"primary",variant:"flat",onClick:r=>e.insertTemplate(l)},{default:c(()=>[h(k(l),1)]),_:2},1032,["onClick"]))),128))])):g("",!0)])):(o(),u("div",K," 暂无可用的模板 "))])):g("",!0)]),e.showQuickTools&&!e.isMobile?(o(),u("div",U,[f("div",J,[f("div",O,[(o(),u(v,null,S(3,l=>d(C,{key:l,class:"keypad-btn",size:"small",variant:"tonal",onClick:r=>e.insertAtCursor(String(l))},{default:c(()=>[h(k(l),1)]),_:2},1032,["onClick"])),64))]),f("div",X,[(o(),u(v,null,S(3,l=>d(C,{key:l,class:"keypad-btn",size:"small",variant:"tonal",onClick:r=>e.insertAtCursor(String(l+3))},{default:c(()=>[h(k(l+3),1)]),_:2},1032,["onClick"])),64))]),f("div",Y,[(o(),u(v,null,S(3,l=>d(C,{key:l,class:"keypad-btn",size:"small",variant:"tonal",onClick:r=>e.insertAtCursor(String(l+6))},{default:c(()=>[h(k(l+6),1)]),_:2},1032,["onClick"])),64))]),f("div",Z,[d(C,{class:"keypad-btn",size:"small",variant:"tonal",onClick:t[1]||(t[1]=l=>e.insertAtCursor("-"))},{default:c(()=>[...t[6]||(t[6]=[h(" - ",-1)])]),_:1}),d(C,{class:"keypad-btn",size:"small",variant:"tonal",onClick:t[2]||(t[2]=l=>e.insertAtCursor("0"))},{default:c(()=>[...t[7]||(t[7]=[h(" 0 ",-1)])]),_:1}),d(C,{class:"keypad-btn",color:"error",size:"small",variant:"tonal",onClick:e.deleteLastChar},{default:c(()=>[...t[8]||(t[8]=[h(" ← ",-1)])]),_:1},8,["onClick"])]),f("div",G,[d(C,{class:"keypad-btn space-btn",size:"small",variant:"tonal",onClick:t[3]||(t[3]=l=>e.insertAtCursor(" "))},{default:c(()=>[...t[9]||(t[9]=[h(" 空格 ",-1)])]),_:1}),d(C,{class:"keypad-btn space-btn",size:"small",variant:"tonal",onClick:t[4]||(t[4]=l=>e.insertAtCursor(` +`))},{default:c(()=>[...t[10]||(t[10]=[h(" 换行 ",-1)])]),_:1})])]),f("div",W,[(o(!0),u(v,null,S(i.quickTexts,l=>(o(),y(C,{key:l,size:"small",variant:"flat",onClick:r=>e.insertAtCursor(l)},{default:c(()=>[h(k(l),1)]),_:2},1032,["onClick"]))),128))])])):g("",!0)])]}),_:1}),s.isEditingPastData?(o(),y(E,{key:0,type:"warning",variant:"tonal",class:"mx-4 mb-4",border:"start","border-color":"warning",prominent:""},{prepend:c(()=>[...t[11]||(t[11]=[])]),default:c(()=>[f("div",$,[t[12]||(t[12]=f("div",{class:"text-h6 mb-1"},"你打算修改历史?",-1)),f("div",tt," 这是 "+k(new Date(s.currentDateString.slice(0,4),s.currentDateString.slice(4,6)-1,s.currentDateString.slice(6,8)).toLocaleDateString())+" 的作业 • 请谨慎操作,确保不会覆盖重要数据 ",1)])]),_:1})):g("",!0),t[13]||(t[13]=f("div",{class:"text-center text-body-2 text-disabled mb-5"}," 点击空白处完成编辑 ",-1))]),_:1})]),_:1},8,["modelValue","fullscreen","onClick:outside"])}const ht=V(A,[["render",et],["__scopeId","data-v-af72d8a9"]]);export{ht as default}; diff --git a/assets/InitServiceChooser-CJilcHuq.css b/assets/InitServiceChooser-CJilcHuq.css new file mode 100644 index 0000000..1f677ab --- /dev/null +++ b/assets/InitServiceChooser-CJilcHuq.css @@ -0,0 +1 @@ +.auth-card[data-v-9e8d02e4]{max-width:100%;min-height:500px}.form-section[data-v-9e8d02e4]{max-width:600px;margin:0 auto}.v-btn[data-v-9e8d02e4]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.v-btn.v-btn--size-x-large[data-v-9e8d02e4]{min-height:60px}.guide-card[data-v-817c6e0e]{max-width:100%;min-height:500px}.step-content[data-v-817c6e0e]{min-height:400px;animation:fadeIn-817c6e0e .3s ease-in}@keyframes fadeIn-817c6e0e{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.button-group[data-v-817c6e0e]{max-width:600px;margin:0 auto}.step-item[data-v-817c6e0e]{cursor:default}.v-btn[data-v-817c6e0e]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.v-btn.v-btn--size-x-large[data-v-817c6e0e]{min-height:120px}.relationship-diagram[data-v-817c6e0e]{display:flex;justify-content:space-around;align-items:flex-start;gap:20px;flex-wrap:wrap}.diagram-item[data-v-817c6e0e]{flex:1;min-width:200px;max-width:300px}.diagram-connector[data-v-817c6e0e]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:100px}.diagram-description[data-v-817c6e0e]{text-align:center}@media (max-width: 768px){.relationship-diagram[data-v-817c6e0e]{flex-direction:column;align-items:center}.diagram-connector[data-v-817c6e0e]{transform:rotate(90deg);margin:20px 0}}.progressive-register-card[data-v-817c6e0e]{transition:all .3s ease;border:2px solid transparent!important}.progressive-register-card[data-v-817c6e0e]:hover{box-shadow:0 8px 24px #0000001f!important}.progressive-register-card .card-icon-wrapper[data-v-817c6e0e],.progressive-register-card .card-actions[data-v-817c6e0e]{flex-shrink:0}.progressive-register-card code[data-v-817c6e0e]{background:#0000001a;padding:2px 6px;border-radius:4px;font-family:Consolas,Monaco,Courier New,monospace}.log-box[data-v-817c6e0e]{height:140px;overflow:auto;background:#0000000a;border-radius:8px;padding:8px 12px}.log-line+.log-line[data-v-817c6e0e]{margin-top:4px}.device-code[data-v-817c6e0e]{background:#0000001a;padding:2px 6px;border-radius:4px;font-family:Consolas,Monaco,Courier New,monospace;font-size:.875rem}.init-overlay[data-v-cbfbc6db]{position:relative}.init-container[data-v-cbfbc6db]{max-width:900px;margin:24px auto;padding:8px 16px}.init-header .title[data-v-cbfbc6db]{font-size:28px;font-weight:700;text-align:left;margin-bottom:8px}.init-header .subtitle[data-v-cbfbc6db]{font-size:14px;opacity:.75;text-align:left}.main-card-row[data-v-cbfbc6db]{display:flex;flex-direction:column;gap:16px;margin-top:32px}.main-service-card[data-v-cbfbc6db]{min-height:100px;cursor:pointer;transition:all .3s ease}.main-service-card[data-v-cbfbc6db]:hover{box-shadow:0 4px 12px #00000026!important}.main-service-card .v-card-item[data-v-cbfbc6db]{padding:20px 24px}.card-horizontal-layout[data-v-cbfbc6db]{display:flex;align-items:center;gap:20px}.card-icon-wrapper[data-v-cbfbc6db]{flex-shrink:0}.card-content[data-v-cbfbc6db]{flex:1;text-align:left}.gradient-new[data-v-cbfbc6db]{background:linear-gradient(135deg,#2196f31f,#6750a414 60%);border:2px solid rgba(33,150,243,.2)}.gradient-registered[data-v-cbfbc6db]{background:linear-gradient(135deg,#4caf501f,#00b8d414 60%);border:2px solid rgba(76,175,80,.2)}.gradient-kv[data-v-cbfbc6db]{background:linear-gradient(135deg,#00b8d41f,#2196f314 60%);border:2px solid rgba(0,184,212,.2)}.alternative-options[data-v-cbfbc6db]{margin-top:40px;padding:20px;background:rgba(var(--v-theme-surface-variant),.3);border-radius:12px}.options-title[data-v-cbfbc6db]{font-size:14px;font-weight:600;opacity:.8;margin-bottom:12px;text-align:left}.options-buttons[data-v-cbfbc6db]{margin-top:24px;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-start}.clickable[data-v-cbfbc6db]{cursor:pointer}.footer-hint[data-v-cbfbc6db]{margin-top:24px;font-size:13px;opacity:.7;text-align:left}@media (max-width: 768px){.card-horizontal-layout[data-v-cbfbc6db]{gap:16px}.card-icon-wrapper .v-icon[data-v-cbfbc6db]{font-size:40px!important}.options-buttons[data-v-cbfbc6db]{flex-direction:column}.options-buttons .v-btn[data-v-cbfbc6db]{width:100%}} diff --git a/assets/InitServiceChooser-jlKUfspi.js b/assets/InitServiceChooser-jlKUfspi.js new file mode 100644 index 0000000..1d7b380 --- /dev/null +++ b/assets/InitServiceChooser-jlKUfspi.js @@ -0,0 +1 @@ +import{_ as ie,g as A,v as F,d as W,h as g,e as y,q as P,l as k,o as ee,c as be,B as ue,L as xe,N as M,p as Y}from"./index-Bqe1gKo7.js";import{a as Q}from"./dataProvider-Dty8Zh7m.js";import{V as ne}from"./VTextField-B7edjjhw.js";import{V as re}from"./VAlert-b5nBlHgx.js";import{o as ge,X as f,Y as z,Z as s,j as l,k as t,a1 as a,S as T,$,b as x,R as O,V as L,u as G,_ as j,F as we,a2 as ye,e as N,D as Ce}from"./vendor-vue-H0jQBZ7T.js";import{V as Ve}from"./VTextarea-DiXZJMiq.js";import{V as ve}from"./VChip-CPVASmWt.js";import{V as $e,a as me,b as ce,c as pe}from"./VExpansionPanels-C1X8gcBr.js";import{V as ze,a as fe}from"./VRow-C2iyFaHv.js";import{v as Se}from"./vendor-utils-DDRLRfsI.js";import"./vendor-vuetify-ChAgIwn2.js";import"./serverRotation-CLP7smnN.js";import"./autofocus-Dh4QPNon.js";const De={class:"text-center mb-6"},Te={class:"text-body-2"},_e={class:"form-section"},Ie={__name:"DeviceAuthDialog",props:{showCancel:{type:Boolean,default:!1},preconfig:{type:Object,default:null}},emits:["success","cancel"],setup(K,{expose:h,emit:C}){const V=K,r=C,c=x({namespace:"",password:""}),n=x(!1),d=x("");ge(()=>V.preconfig,u=>{u&&(console.log("应用预配置数据:",u),c.value.namespace=u.namespace||"",c.value.password=u.password||"",u.autoExecute&&u.namespace?(console.log("检测到自动执行标志且有命名空间,自动执行认证"),setTimeout(()=>{p()},300)):u.namespace&&console.log("预配置数据已填入,等待手动认证"))},{immediate:!0,deep:!0});const p=async()=>{var u,i,v,D,R;if(!(!c.value.namespace||n.value)){d.value="",n.value=!0;try{const w=A("server.domain");if(!w)throw new Error("未配置服务器域名");const U=await Q.post(`${w}/apps/auth/token`,{namespace:c.value.namespace,password:c.value.password||void 0,appId:"d158067f53627d2b98babe8bffd2fd7d"});if(!U.data.success)throw new Error("设备验证失败");const E=U.data;F("server.kvToken",E.token),(u=E.device)!=null&&u.uuid&&F("device.uuid",E.device.uuid),r("success",E)}catch(w){const U=(i=w==null?void 0:w.response)==null?void 0:i.status;U===401||U===403?d.value="密码错误或无权限访问":U===404?d.value="设备不存在,请检查 namespace 是否正确":d.value=((R=(D=(v=w==null?void 0:w.response)==null?void 0:v.data)==null?void 0:D.error)==null?void 0:R.message)||(w==null?void 0:w.message)||"认证失败,请稍后重试"}finally{n.value=!1}}};return h({reset:()=>{c.value={namespace:"",password:""},d.value=""}}),(u,i)=>(f(),z(y,{class:"auth-card"},{default:s(()=>[l(W,{class:"pa-8"},{default:s(()=>[t("div",De,[l(g,{class:"mb-4",color:"success",size:"80"},{default:s(()=>[...i[4]||(i[4]=[a(" mdi-account-key ",-1)])]),_:1}),i[5]||(i[5]=t("h2",{class:"text-h4 mb-3"}," 设备认证 ",-1)),i[6]||(i[6]=t("p",{class:"text-body-1 text-medium-emphasis"}," 输入你在 Classworks KV 获取的认证信息 ",-1))]),l(y,{class:"pa-4 mb-6",color:"info",variant:"tonal"},{default:s(()=>[t("div",Te,[l(g,{class:"mr-2",size:"20"},{default:s(()=>[...i[7]||(i[7]=[a(" mdi-information ",-1)])]),_:1}),i[8]||(i[8]=a(" 对于已有UUID的用户,您应当使用UUID与您的密码登录。 ",-1))])]),_:1}),t("div",_e,[l(ne,{modelValue:c.value.namespace,"onUpdate:modelValue":i[0]||(i[0]=v=>c.value.namespace=v),class:"mb-4","hide-details":"auto",label:"命名空间","prepend-inner-icon":"mdi-identifier",variant:"outlined"},null,8,["modelValue"]),l(ne,{modelValue:c.value.password,"onUpdate:modelValue":i[1]||(i[1]=v=>c.value.password=v),label:"认证码","prepend-inner-icon":"mdi-lock-outline",type:"text",variant:"outlined"},null,8,["modelValue"]),d.value?(f(),z(re,{key:0,class:"mt-4",closable:"",type:"error",variant:"tonal","onClick:close":i[2]||(i[2]=v=>d.value="")},{default:s(()=>[a(T(d.value),1)]),_:1})):$("",!0)])]),_:1}),l(P,{class:"pa-6 pt-0"},{default:s(()=>[K.showCancel?(f(),z(k,{key:0,size:"large",variant:"text",onClick:i[3]||(i[3]=v=>u.$emit("cancel"))},{default:s(()=>[...i[9]||(i[9]=[a(" 取消 ",-1)])]),_:1})):$("",!0),l(ee),l(k,{disabled:!c.value.namespace||n.value,loading:n.value,class:"px-8",color:"primary",size:"x-large",variant:"elevated",onClick:p},{default:s(()=>[l(g,{size:"24",start:""},{default:s(()=>[...i[10]||(i[10]=[a(" mdi-login ",-1)])]),_:1}),i[11]||(i[11]=t("span",{class:"text-h6"},"认证并登录",-1))]),_:1},8,["disabled","loading"])]),_:1})]),_:1}))}},Ue=ie(Ie,[["__scopeId","data-v-9e8d02e4"]]),Ae={__name:"TokenInputDialog",props:{showCancel:{type:Boolean,default:!1}},emits:["success","cancel"],setup(K,{expose:h,emit:C}){const V=C,r=x(""),c=x(!1),n=x(""),d=async()=>{var p,u,i;if(!(!r.value||c.value)){n.value="",c.value=!0;try{const v=A("server.domain");if(!v)throw new Error("未配置服务器域名");await Q.get(`${v}/kv/_info`,{headers:{Accept:"application/json","x-app-token":r.value}}),F("server.kvToken",r.value),V("success")}catch(v){const D=(p=v==null?void 0:v.response)==null?void 0:p.status;D===401||D===403?n.value="Token 无效或无权限,请确认后重试":D===404?n.value="命名空间不存在或服务器未就绪":n.value=((i=(u=v==null?void 0:v.response)==null?void 0:u.data)==null?void 0:i.message)||(v==null?void 0:v.message)||"验证失败,请稍后重试"}finally{c.value=!1}}};return h({reset:()=>{r.value="",n.value=""}}),(p,u)=>(f(),z(y,null,{default:s(()=>[l(be,null,{default:s(()=>[...u[2]||(u[2]=[a("输入授权 Token",-1)])]),_:1}),l(W,null,{default:s(()=>[l(ne,{modelValue:r.value,"onUpdate:modelValue":u[0]||(u[0]=i=>r.value=i),clearable:"",density:"comfortable","hide-details":"auto",label:"KV 授权 Token",placeholder:"粘贴从授权页面获取的 Token",variant:"outlined"},null,8,["modelValue"]),n.value?(f(),z(re,{key:0,class:"mt-3",type:"error",variant:"tonal"},{default:s(()=>[a(T(n.value),1)]),_:1})):$("",!0)]),_:1}),l(P,null,{default:s(()=>[l(ee),K.showCancel?(f(),z(k,{key:0,variant:"text",onClick:u[1]||(u[1]=i=>p.$emit("cancel"))},{default:s(()=>[...u[3]||(u[3]=[a(" 取消 ",-1)])]),_:1})):$("",!0),l(k,{disabled:!r.value||c.value,loading:c.value,color:"primary",onClick:d},{default:s(()=>[...u[4]||(u[4]=[a(" 保存 Token ",-1)])]),_:1},8,["disabled","loading"])]),_:1})]),_:1}))}},Ke={__name:"AlternativeCodeDialog",props:{showCancel:{type:Boolean,default:!1}},emits:["submit","cancel"],setup(K,{expose:h,emit:C}){const V=C,r=x(""),c=()=>{r.value&&V("submit",r.value)};return h({reset:()=>{r.value=""}}),(n,d)=>(f(),z(y,null,{default:s(()=>[l(be,null,{default:s(()=>[...d[2]||(d[2]=[a("输入替代代码",-1)])]),_:1}),l(W,null,{default:s(()=>[l(Ve,{modelValue:r.value,"onUpdate:modelValue":d[0]||(d[0]=p=>r.value=p),density:"comfortable","hide-details":"auto",label:"替代代码",placeholder:"请输入替代代码",rows:"5",variant:"outlined"},null,8,["modelValue"]),l(re,{class:"mt-3",type:"info",variant:"tonal"},{default:s(()=>[...d[3]||(d[3]=[a(" 替代代码功能暂未实现,敬请期待 ",-1)])]),_:1})]),_:1}),l(P,null,{default:s(()=>[l(ee),K.showCancel?(f(),z(k,{key:0,variant:"text",onClick:d[1]||(d[1]=p=>n.$emit("cancel"))},{default:s(()=>[...d[4]||(d[4]=[a(" 取消 ",-1)])]),_:1})):$("",!0),l(k,{disabled:!r.value,color:"primary",onClick:c},{default:s(()=>[...d[5]||(d[5]=[a(" 提交 ",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1}))}},he={class:"step-content"},Ee={class:"text-center mb-6"},Be={class:"step-content"},Ne={class:"relationship-diagram"},Re={class:"diagram-item"},Oe={class:"text-center"},Le={class:"diagram-description mt-3"},je={class:"diagram-connector"},Fe={class:"diagram-item"},Ge={class:"text-center"},Me={class:"diagram-description mt-3"},He={class:"step-content"},qe={class:"button-group"},Je={class:"d-flex flex-column align-center py-2"},Xe={class:"d-flex flex-column align-center py-2"},Ye={class:"step-content"},Ze={class:"text-center mb-6"},Qe={class:"step-content"},We={class:"text-center mb-6"},Pe={class:"d-flex flex-column flex-sm-row align-center"},et={class:"flex-grow-1"},tt={class:"text-h6 font-weight-bold"},st={class:"text-h5 mb-6"},lt={class:"text-subtitle-2"},at={class:"d-flex align-center"},ot={class:"d-flex align-center"},nt={class:"step-content"},it={class:"text-center mb-6"},rt={class:"d-flex align-center mb-3"},dt={class:"text-h6 font-weight-medium"},ut={key:0,class:"text-body-2 mb-2"},vt={class:"mb-2"},mt={class:"device-code"},ct={key:1,class:"text-body-2 text-error"},pt={class:"log-box"},ft={key:0,class:"text-caption text-medium-emphasis"},bt={class:"d-flex flex-wrap gap-2 mt-4"},Z=5,gt={__name:"FirstTimeGuide",emits:["close","success"],setup(K,{emit:h}){const C=h,V=A("server.authDomain"),r=x(1),c=x(""),n=x("idle"),d=x(""),p=x(null),u=x(null),i=x([]),v=x({1:!1,2:!1,3:!1,4:!1}),D=()=>{r.value{r.value>1&&r.value--},w=S=>{c.value=S,D()},U=()=>{C("close")},E=()=>{window.open(V,"_blank")},te=()=>{r.value=5},se=N(()=>Object.values(v.value).filter(Boolean).length/4*100),H=N(()=>n.value==="success"?"success":n.value==="error"?"error":"primary"),le=N(()=>n.value==="success"?"mdi-check-circle":n.value==="error"?"mdi-alert-circle":n.value==="registering"?"mdi-progress-clock":"mdi-rocket-launch"),ae=N(()=>n.value==="success"?"完成!设备已创建":n.value==="error"?"创建失败":n.value==="registering"?"正在执行…":"准备开始"),m=S=>{const e=new Date,_=String(e.getHours()).padStart(2,"0"),I=String(e.getMinutes()).padStart(2,"0"),X=String(e.getSeconds()).padStart(2,"0");i.value.push({time:`${_}:${I}:${X}`,message:S})},o=()=>"Classworks",b=async()=>{var S,e,_;if(n.value!=="registering"){n.value="registering",d.value="",i.value=[],v.value={1:!1,2:!1,3:!1,4:!1};try{m("正在生成设备信息…");const I=Se(),X=o(),de=A("server.domain");v.value[1]=!0,m("向服务器注册设备…");const ke=await Q.post(`${de}/devices`,{uuid:I,deviceName:X});v.value[2]=!0,p.value={uuid:I,deviceName:X,createdAt:new Date().toISOString(),registered:!0},localStorage.setItem("Classworks_progressive_device",JSON.stringify(p.value)),m("获取访问令牌…");try{const B=await Q.post(`${de}/apps/auth/token`,{namespace:I,password:"",appId:"d158067f53627d2b98babe8bffd2fd7d"});B.data&&B.data.token?(u.value=B.data,F("server.kvToken",B.data.token),(S=B.data.device)!=null&&S.uuid&&F("device.uuid",B.data.device.uuid),m("已获取 Token 并写入配置")):m("未返回 Token,您可以稍后在授权页完成配置")}catch(B){console.warn("自动获取 Token 失败:",B),m("自动获取 Token 失败,可在授权页手动完成")}v.value[3]=!0,m("完成!您可以应用令牌或前往授权页面继续配置"),v.value[4]=!0,n.value="success"}catch(I){console.error("设备注册失败:",I),d.value=((_=(e=I.response)==null?void 0:e.data)==null?void 0:_.message)||I.message||"网络连接失败",m("失败:"+d.value),n.value="error"}}},oe=()=>{n.value="idle",d.value="",i.value=[],v.value={1:!1,2:!1,3:!1,4:!1}},q=()=>{const S=p.value;if(!(S!=null&&S.uuid))return;const _=`${A("server.authDomain")}/?uuid=${encodeURIComponent(S.uuid)}&tolinktoaccount=true`;window.open(_,"_blank")},J=()=>{u.value&&C("success",u.value),C("close")};return(S,e)=>(f(),z(y,{class:"guide-card"},{default:s(()=>[l(ue,{"model-value":r.value/Z*100,color:"primary",height:"6"},null,8,["model-value"]),l(W,{class:"pa-8"},{default:s(()=>[O(t("div",he,[t("div",Ee,[l(g,{class:"mb-4",color:"primary",size:"80"},{default:s(()=>[...e[2]||(e[2]=[a(" mdi-hand-wave ",-1)])]),_:1}),e[3]||(e[3]=t("h2",{class:"text-h4 mb-3"}," 欢迎使用 Classworks ",-1)),e[4]||(e[4]=t("p",{class:"text-body-1 text-medium-emphasis"}," 适用于班级大屏的作业板小工具 ",-1))])],512),[[L,r.value===1]]),O(t("div",Be,[e[17]||(e[17]=t("h3",{class:"text-h5 mb-6 text-center"}," Classworks 和 Classworks KV 的关系 ",-1)),l(y,{class:"pa-6 mb-6",color:"primary",variant:"tonal"},{default:s(()=>[t("div",Ne,[t("div",Re,[l(y,{class:"pa-4",color:"blue-darken-1",elevation:"8"},{default:s(()=>[t("div",Oe,[l(g,{color:"white",size:"60"},{default:s(()=>[...e[5]||(e[5]=[a(" mdi-laptop ",-1)])]),_:1}),e[6]||(e[6]=t("h4",{class:"text-h6 text-white mt-2"}," Classworks ",-1)),e[7]||(e[7]=t("p",{class:"text-caption text-white mt-1"}," 作业板应用 ",-1))])]),_:1}),t("div",Le,[l(ve,{class:"mb-2",color:"blue",size:"small",variant:"flat"},{default:s(()=>[...e[8]||(e[8]=[a(" 前端应用 ",-1)])]),_:1}),e[9]||(e[9]=t("div",{class:"text-body-2"},[a(" • 显示作业内容"),t("br"),a(" • 管理班级信息"),t("br"),a(" • 提供用户界面 ")],-1))])]),t("div",je,[l(g,{color:"primary",size:"40"},{default:s(()=>[...e[10]||(e[10]=[a(" mdi-swap-horizontal ",-1)])]),_:1}),e[11]||(e[11]=t("div",{class:"text-caption font-weight-bold mt-2"}," 数据同步 ",-1))]),t("div",Fe,[l(y,{class:"pa-4",color:"green-darken-1",elevation:"8"},{default:s(()=>[t("div",Ge,[l(g,{color:"white",size:"60"},{default:s(()=>[...e[12]||(e[12]=[a(" mdi-cloud-sync ",-1)])]),_:1}),e[13]||(e[13]=t("h4",{class:"text-h6 text-white mt-2"}," Classworks KV ",-1)),e[14]||(e[14]=t("p",{class:"text-caption text-white mt-1"}," 云端数据库 ",-1))])]),_:1}),t("div",Me,[l(ve,{class:"mb-2",color:"green",size:"small",variant:"flat"},{default:s(()=>[...e[15]||(e[15]=[a(" 后端服务 ",-1)])]),_:1}),e[16]||(e[16]=t("div",{class:"text-body-2"},[a(" • 存储作业数据"),t("br"),a(" • 多设备同步"),t("br"),a(" • 权限管理 ")],-1))])])])]),_:1})],512),[[L,r.value===2]]),O(t("div",He,[e[25]||(e[25]=t("h3",{class:"text-h5 mb-6 text-center"}," 你需要在多个设备上查看作业吗? ",-1)),l(y,{class:"mb-6 pa-4",color:"info",variant:"tonal"},{default:s(()=>[...e[18]||(e[18]=[t("div",{class:"text-body-2"}," 比如:在家里电脑、手机上查看,或者多个教室设备共享数据 ",-1)])]),_:1}),t("div",qe,[l(k,{block:"",class:"mb-4 py-6",color:"primary",size:"x-large",variant:"elevated",onClick:e[0]||(e[0]=_=>w("cloud"))},{default:s(()=>[t("div",Je,[l(g,{class:"mb-2",size:"40"},{default:s(()=>[...e[19]||(e[19]=[a(" mdi-cloud-check ",-1)])]),_:1}),e[20]||(e[20]=t("span",{class:"text-h6"},"需要,使用云同步",-1)),e[21]||(e[21]=t("span",{class:"text-caption mt-1"},"多设备访问",-1))])]),_:1}),l(k,{block:"",class:"py-6",size:"x-large",variant:"outlined",onClick:e[1]||(e[1]=_=>w("local"))},{default:s(()=>[t("div",Xe,[l(g,{class:"mb-2",size:"40"},{default:s(()=>[...e[22]||(e[22]=[a(" mdi-laptop ",-1)])]),_:1}),e[23]||(e[23]=t("span",{class:"text-h6"},"不需要,只用这台设备",-1)),e[24]||(e[24]=t("span",{class:"text-caption mt-1"},"本地存储",-1))])]),_:1})])],512),[[L,r.value===3]]),O(t("div",Ye,[t("div",Ze,[l(g,{class:"mb-4",color:"success",size:"80"},{default:s(()=>[...e[26]||(e[26]=[a(" mdi-check-circle ",-1)])]),_:1}),e[28]||(e[28]=t("h3",{class:"text-h5 mb-4"}," 您可以使用本地模式 ",-1)),l(y,{class:"pa-4 text-left",variant:"tonal"},{default:s(()=>[...e[27]||(e[27]=[t("div",{class:"text-body-1 mb-2"}," 此数据将存储在您的浏览器中,如果您的浏览器不支持IndexedDB,可能会出现问题。如果您经常清除浏览器数据,请谨慎使用本地模式。 ",-1),t("div",{class:"text-body-1 mb-2"}," 在刚才地方点击使用本地模式的按钮使用。 ",-1)])]),_:1})])],512),[[L,r.value===4&&c.value==="local"]]),O(t("div",Qe,[t("div",We,[l(g,{class:"mb-4",color:"primary",size:"80"},{default:s(()=>[...e[29]||(e[29]=[a(" mdi-cloud-cog ",-1)])]),_:1}),e[30]||(e[30]=t("h3",{class:"text-h5 mb-4"}," 需要先设置云端账号 ",-1))]),l(y,{class:"pa-6 mb-6",variant:"tonal"},{default:s(()=>[t("div",Pe,[t("div",et,[e[32]||(e[32]=t("h4",{class:"text-h6 font-weight-bold mb-2"}," 自动注册设备 ",-1)),e[33]||(e[33]=t("p",{class:"text-body-2 mb-3 text-medium-emphasis"}," 通过引导式流程自动创建设备、获取令牌并完成初始化。适合首次体验或快速部署多终端。 ",-1)),l(k,{color:"primary","prepend-icon":"mdi-flash",size:"large",variant:"elevated",onClick:te},{default:s(()=>[...e[31]||(e[31]=[a(" 自动注册 ",-1)])]),_:1})])])]),_:1}),e[41]||(e[41]=t("div",{class:"mb-6"}," 也可以手动前往 Classworks KV 控制台获取认证信息: ",-1)),l(y,{color:G(V)=="https://kv.houlang.cloud"?"primary":"error",variant:G(V)=="https://kv.houlang.cloud"?"elevated":"outlined",class:"pa-6 mb-6",onClick:E},{default:s(()=>[l(g,{class:"mb-3",size:"48"},{default:s(()=>[...e[34]||(e[34]=[a(" mdi-open-in-new ",-1)])]),_:1}),t("h4",tt," 请访问 "+T(G(V)=="https://kv.houlang.cloud"?"Classworks KV":"自定义的 Classworks KV 实例 ")+" 控制台 ",1),t("div",st,T(G(V)),1),t("h6",lt,T(G(V)=="https://kv.houlang.cloud"?"此实例由 Classworks KV 官方提供":"此链接由您的实例、预配代码或管理员管理,当前可能不是 Classworks KV 官方的实例地址。"),1)]),_:1},8,["color","variant"]),l($e,{class:"mt-6",variant:"accordion"},{default:s(()=>[l(me,null,{default:s(()=>[l(ce,null,{default:s(()=>[t("div",at,[l(g,{class:"mr-3",color:"warning"},{default:s(()=>[...e[35]||(e[35]=[a(" mdi-help-circle ",-1)])]),_:1}),e[36]||(e[36]=t("span",{class:"text-subtitle-1 font-weight-medium"},"我以前已经使用过 Classworks KV?",-1))])]),_:1}),l(pe,null,{default:s(()=>[l(y,{class:"pa-4",color:"success",variant:"tonal"},{default:s(()=>[...e[37]||(e[37]=[t("div",{class:"text-body-2 mb-2"},[a(" 如果您之前已经使用过 Classworks KV,可以直接使用您的 "),t("strong",null,"UUID(命名空间)"),a(" 和 "),t("strong",null,"设置的密码"),a(" 进行认证。 ")],-1),t("div",{class:"text-body-2"},' 返回上一页,点击"已注册"按钮,输入您的认证信息即可登录。 ',-1)])]),_:1})]),_:1})]),_:1}),l(me,null,{default:s(()=>[l(ce,null,{default:s(()=>[t("div",ot,[l(g,{class:"mr-3",color:"info"},{default:s(()=>[...e[38]||(e[38]=[a(" mdi-help-circle ",-1)])]),_:1}),e[39]||(e[39]=t("span",{class:"text-subtitle-1 font-weight-medium"},"我如何配置不同类型的设备?",-1))])]),_:1}),l(pe,null,{default:s(()=>[l(y,{class:"pa-4",color:"info",variant:"tonal"},{default:s(()=>[...e[40]||(e[40]=[t("div",{class:"text-body-2 mb-2"},[a(" 不同的密码对应不同的设备类型,这将由 "),t("strong",null,"管理员管理"),a("。 ")],-1),t("div",{class:"text-body-2 mb-2"}," 例如: ",-1),t("ul",{class:"text-body-2 ml-4"},[t("li",{class:"mb-1"}," 班级大屏使用一个密码 "),t("li",{class:"mb-1"}," 教师设备使用另一个密码 "),t("li",null,"学生设备使用不同的密码")],-1),t("div",{class:"text-body-2 mt-3"}," 请联系您的管理员获取对应设备类型的密码。 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1})],512),[[L,r.value===4&&c.value==="cloud"]]),O(t("div",nt,[t("div",it,[l(xe,{class:"mb-4",color:"primary",size:"80",variant:"tonal"},{default:s(()=>[l(g,{size:"48"},{default:s(()=>[...e[42]||(e[42]=[a(" mdi-rocket-launch ",-1)])]),_:1})]),_:1}),e[43]||(e[43]=t("h3",{class:"text-h5 font-weight-bold mb-2"}," 渐进式注册 ",-1)),e[44]||(e[44]=t("p",{class:"text-body-2 text-medium-emphasis"}," 您可以暂时不配置 Classworks KV ",-1))]),l(ue,{"model-value":se.value,class:"mb-6",color:"primary",height:"8",rounded:""},null,8,["model-value"]),l(ze,null,{default:s(()=>[l(fe,{cols:"12"},{default:s(()=>[l(y,{color:H.value,variant:"tonal"},{default:s(()=>[l(M,null,{default:s(()=>[t("div",rt,[l(g,{color:H.value,class:"mr-2",size:"32"},{default:s(()=>[a(T(le.value),1)]),_:1},8,["color"]),t("div",dt,T(ae.value),1)]),p.value?(f(),j("div",ut,[t("div",vt,[e[45]||(e[45]=t("strong",null,"设备名称:",-1)),a(T(p.value.deviceName),1)]),t("div",null,[e[46]||(e[46]=t("strong",null,"设备 UUID:",-1)),t("code",mt,T(p.value.uuid),1)])])):$("",!0),n.value==="error"?(f(),j("div",ct,T(d.value),1)):$("",!0)]),_:1})]),_:1},8,["color"])]),_:1}),l(fe,{cols:"12"},{default:s(()=>[l(y,{variant:"outlined"},{default:s(()=>[l(M,null,{default:s(()=>[e[47]||(e[47]=t("div",{class:"text-subtitle-2 font-weight-medium mb-3"}," 过程日志 ",-1)),t("div",pt,[(f(!0),j(we,null,ye(i.value,(_,I)=>(f(),j("div",{key:I,class:"text-caption log-line"},T(_.time)+" · "+T(_.message),1))),128)),i.value.length?$("",!0):(f(),j("div",ft," 等待开始… "))])]),_:1})]),_:1})]),_:1})]),_:1}),t("div",bt,[n.value==="idle"?(f(),z(k,{key:0,color:"primary","prepend-icon":"mdi-play",size:"large",onClick:b},{default:s(()=>[...e[48]||(e[48]=[a(" 开始创建 ",-1)])]),_:1})):$("",!0),n.value==="error"?(f(),z(k,{key:1,color:"error","prepend-icon":"mdi-refresh",variant:"outlined",onClick:oe},{default:s(()=>[...e[49]||(e[49]=[a(" 重试 ",-1)])]),_:1})):$("",!0),n.value==="registering"?(f(),z(k,{key:2,loading:!0,color:"primary","prepend-icon":"mdi-progress-clock",variant:"tonal"},{default:s(()=>[...e[50]||(e[50]=[a(" 正在执行… ",-1)])]),_:1})):$("",!0),n.value==="success"?(f(),z(k,{key:3,color:"success","prepend-icon":"mdi-check-circle",size:"large",variant:"elevated",onClick:J},{default:s(()=>[...e[51]||(e[51]=[a(" 应用令牌并关闭 ",-1)])]),_:1})):$("",!0),n.value==="success"?(f(),z(k,{key:4,color:"primary","prepend-icon":"mdi-open-in-new",size:"large",variant:"outlined",onClick:q},{default:s(()=>[...e[52]||(e[52]=[a(" 前往绑定账户 ",-1)])]),_:1})):$("",!0)])],512),[[L,r.value===5]])]),_:1}),l(P,{class:"pa-6 pt-0"},{default:s(()=>[r.value>1?(f(),z(k,{key:0,size:"large",variant:"text",onClick:R},{default:s(()=>[l(g,{start:""},{default:s(()=>[...e[53]||(e[53]=[a(" mdi-chevron-left ",-1)])]),_:1}),e[54]||(e[54]=a(" 上一步 ",-1))]),_:1})):$("",!0),l(ee),r.value[e[56]||(e[56]=a(" 下一步 ",-1)),l(g,{end:""},{default:s(()=>[...e[55]||(e[55]=[a(" mdi-chevron-right ",-1)])]),_:1})]),_:1},8,["disabled"])):$("",!0),r.value===Z||r.value===4?(f(),z(k,{key:2,color:"primary",size:"large",variant:"elevated",onClick:U},{default:s(()=>[...e[57]||(e[57]=[a(" 关闭 ",-1)])]),_:1})):$("",!0)]),_:1})]),_:1}))}},kt=ie(gt,[["__scopeId","data-v-817c6e0e"]]),xt={key:0,class:"init-overlay"},wt={class:"init-container"},yt={class:"main-card-row"},Ct={class:"card-horizontal-layout"},Vt={class:"card-icon-wrapper"},$t={class:"card-horizontal-layout"},zt={class:"card-icon-wrapper"},St={class:"card-horizontal-layout"},Dt={class:"card-icon-wrapper"},Tt={class:"options-buttons"},_t={__name:"InitServiceChooser",props:{preconfig:{type:Object,default:()=>({namespace:null,authCode:null,autoOpen:!1,autoExecute:!1})}},emits:["done"],setup(K,{emit:h}){const C=K,V=h,r=x(!1),c=x(!1),n=x(!1),d=x(!1),p=x(!1),u=x(null),i=N(()=>A("server.provider")),v=N(()=>i.value==="kv-server"||i.value==="classworkscloud"),D=N(()=>A("server.kvToken")),R=N(()=>{var m;return(m=C.preconfig)!=null&&m.namespace?{namespace:C.preconfig.namespace,password:C.preconfig.authCode||"",autoExecute:C.preconfig.autoExecute||!1}:null}),w=()=>{const m=window.location.pathname,o=m==="/"||m==="/index"||m==="/index.html",b=v.value&&(!D.value||D.value==="");r.value=o&&b};ge(()=>C.preconfig,m=>{m!=null&&m.autoOpen&&(m!=null&&m.namespace)&&r.value&&(console.log("检测到预配数据,自动打开设备认证对话框"),setTimeout(()=>{n.value=!0},500))},{immediate:!0,deep:!0}),Ce(()=>{w()});const U=()=>{const m=A("server.authDomain"),o="d158067f53627d2b98babe8bffd2fd7d",b=window.location.origin,oe=encodeURIComponent(`${b}/authorizecallback`),q=A("device.uuid")||"00000000-0000-4000-8000-000000000000";let J=`${m}/authorize?app_id=${o}&mode=callback&callback_url=${oe}&remark=Classworks 自动授权 来自${window.location.hostname} ${new Date().toLocaleString()}`;q!=="00000000-0000-4000-8000-000000000000"&&(J+=`&uuid=${encodeURIComponent(q)}`),window.location.href=J},E=m=>{c.value=!1,console.log("渐进式注册成功:",m),w(),V("done")},te=m=>{var o;n.value=!1,console.log("认证成功:",m),(o=C.preconfig)!=null&&o.namespace&&console.log(`预配数据认证成功: ${C.preconfig.namespace}`),w(),V("done")},se=()=>{d.value=!1,w(),V("done")},H=m=>{console.log("替代代码:",m),p.value=!1},le=()=>{F("server.provider","kv-local"),r.value=!1,window.location.reload(),V("done")},ae=()=>{window.open(A("server.authDomain"),"_blank")};return(m,o)=>r.value?(f(),j("div",xt,[t("div",wt,[o[22]||(o[22]=t("div",{class:"init-header"},[t("div",{class:"title"}," 欢迎使用 Classworks "),t("div",{class:"subtitle"}," 请选择你的使用方式 ")],-1)),t("div",yt,[l(y,{class:"main-service-card gradient-new clickable",elevation:"4",onClick:o[0]||(o[0]=b=>c.value=!0)},{default:s(()=>[l(M,null,{default:s(()=>[t("div",Ct,[t("div",Vt,[l(g,{color:"primary",size:"48"},{default:s(()=>[...o[12]||(o[12]=[a(" mdi-new-box ",-1)])]),_:1})]),o[13]||(o[13]=t("div",{class:"card-content"},[t("div",{class:"text-h6 font-weight-bold"}," 初次使用 "),t("div",{class:"text-body-2 text-medium-emphasis mt-1"}," 了解 Classworks KV 并开始使用 ")],-1))])]),_:1})]),_:1}),l(y,{class:"main-service-card gradient-registered clickable",elevation:"4",onClick:o[1]||(o[1]=b=>n.value=!0)},{default:s(()=>[l(M,null,{default:s(()=>[t("div",$t,[t("div",zt,[l(g,{color:"success",size:"48"},{default:s(()=>[...o[14]||(o[14]=[a(" mdi-account-check ",-1)])]),_:1})]),o[15]||(o[15]=t("div",{class:"card-content"},[t("div",{class:"text-h6 font-weight-bold"}," 已注册 "),t("div",{class:"text-body-2 text-medium-emphasis mt-1"}," 使用设备 Namespace 登录 ")],-1))])]),_:1})]),_:1}),l(y,{class:"main-service-card clickable",elevation:"4",onClick:ae},{default:s(()=>[l(M,null,{default:s(()=>[t("div",St,[t("div",Dt,[l(g,{color:"info",size:"48"},{default:s(()=>[...o[16]||(o[16]=[a(" mdi-database-cog ",-1)])]),_:1})]),o[17]||(o[17]=t("div",{class:"card-content"},[t("div",{class:"text-h6 font-weight-bold"}," Classworks KV "),t("div",{class:"text-body-2 text-medium-emphasis mt-1"}," 打开云端控制台管理数据 ")],-1))])]),_:1})]),_:1})]),t("div",Tt,[l(k,{"prepend-icon":"mdi-laptop",size:"small",variant:"tonal",onClick:le},{default:s(()=>[...o[18]||(o[18]=[a(" 使用本地模式 ",-1)])]),_:1}),l(k,{"prepend-icon":"mdi-flash",size:"small",variant:"tonal",onClick:U},{default:s(()=>[...o[19]||(o[19]=[a(" 授权码式授权(弃用) ",-1)])]),_:1}),l(k,{"prepend-icon":"mdi-key",size:"small",variant:"tonal",onClick:o[2]||(o[2]=b=>d.value=!0)},{default:s(()=>[...o[20]||(o[20]=[a(" 输入 Token ",-1)])]),_:1}),l(k,{"prepend-icon":"mdi-code-tags",size:"small",variant:"tonal",onClick:o[3]||(o[3]=b=>p.value=!0)},{default:s(()=>[...o[21]||(o[21]=[a(" 输入替代代码 ",-1)])]),_:1})]),o[23]||(o[23]=t("div",{class:"footer-hint"}," 完成授权后可使用作业同步、考试看板等在线功能。 ",-1))]),l(Y,{modelValue:c.value,"onUpdate:modelValue":o[5]||(o[5]=b=>c.value=b),"max-width":"600"},{default:s(()=>[l(kt,{onClose:o[4]||(o[4]=b=>c.value=!1),onSuccess:E})]),_:1},8,["modelValue"]),l(Y,{modelValue:n.value,"onUpdate:modelValue":o[7]||(o[7]=b=>n.value=b),"max-width":"500"},{default:s(()=>[l(Ue,{ref_key:"deviceAuthDialog",ref:u,preconfig:R.value,"show-cancel":!0,onCancel:o[6]||(o[6]=b=>n.value=!1),onSuccess:te},null,8,["preconfig"])]),_:1},8,["modelValue"]),l(Y,{modelValue:d.value,"onUpdate:modelValue":o[9]||(o[9]=b=>d.value=b),"max-width":"500"},{default:s(()=>[l(Ae,{"show-cancel":!0,onCancel:o[8]||(o[8]=b=>d.value=!1),onSuccess:se})]),_:1},8,["modelValue"]),l(Y,{modelValue:p.value,"onUpdate:modelValue":o[11]||(o[11]=b=>p.value=b),"max-width":"500"},{default:s(()=>[l(Ke,{"show-cancel":!0,onCancel:o[10]||(o[10]=b=>p.value=!1),onSubmit:H})]),_:1},8,["modelValue"])])):$("",!0)}},Gt=ie(_t,[["__scopeId","data-v-cbfbc6db"]]);export{Gt as default}; diff --git a/assets/MessageLog-BGkFwivK.css b/assets/MessageLog-BGkFwivK.css new file mode 100644 index 0000000..1300c8b --- /dev/null +++ b/assets/MessageLog-BGkFwivK.css @@ -0,0 +1 @@ +.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}.v-navigation-drawer{-webkit-overflow-scrolling:touch;background:rgb(var(--v-theme-surface));display:flex;flex-direction:column;height:100%;max-width:100%;pointer-events:auto;transition-duration:.2s;transition-property:box-shadow,transform,visibility,width,height,left,right,top,bottom;transition-timing-function:cubic-bezier(.4,0,.2,1);position:absolute}.v-navigation-drawer{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-navigation-drawer--border{border-width:thin;box-shadow:none}.v-navigation-drawer{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-navigation-drawer{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}@media (prefers-reduced-motion: reduce){.v-navigation-drawer{transition:none}}.v-navigation-drawer--rounded{border-radius:4px}.v-navigation-drawer--top{top:0;border-bottom-width:thin}.v-navigation-drawer--bottom{left:0;border-top-width:thin}.v-navigation-drawer--left{top:0;left:0;right:auto;border-right-width:thin}.v-navigation-drawer--right{top:0;left:auto;right:0;border-left-width:thin}.v-navigation-drawer--floating{border:none}.v-navigation-drawer--temporary.v-navigation-drawer--active{box-shadow:0 8px 10px -5px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 16px 24px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 6px 30px 5px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-navigation-drawer--sticky{height:auto;transition:box-shadow,transform,visibility,width,height,left,right}.v-navigation-drawer .v-list{overflow:hidden}.v-navigation-drawer__content{flex:0 1 auto;height:100%;max-width:100%;overflow-x:hidden;overflow-y:auto}.v-navigation-drawer__img{height:100%;left:0;position:absolute;top:0;width:100%;z-index:-1}.v-navigation-drawer__img img:not(.v-img__img){height:inherit;object-fit:cover;width:inherit}.v-navigation-drawer__scrim{position:absolute;top:0;left:0;width:100%;height:100%;background:#000;opacity:.2;transition:opacity .2s cubic-bezier(.4,0,.2,1);z-index:1}.v-navigation-drawer__prepend,.v-navigation-drawer__append{flex:none;overflow:hidden} diff --git a/assets/MessageLog-Bk_BSM_5.js b/assets/MessageLog-Bk_BSM_5.js new file mode 100644 index 0000000..cc42a94 --- /dev/null +++ b/assets/MessageLog-Bk_BSM_5.js @@ -0,0 +1 @@ +import{a5 as de,E as Q,a7 as me,as as fe,u as ge,H as he,at as ye,z as we,a8 as be,a9 as pe,R as ke,m as Se,au as Te,aa as Ve,ac as Ee,T as Me,ad as Pe,_ as _e,av as W,j as Ce,k as ee,s as te,t as Be,h as ae}from"./index-Bqe1gKo7.js";import{b as xe,c as Le}from"./VAppBarTitle-CKv90Z6x.js";import{D as se,o as R,A as re,s as x,e as V,w as De,q as Ie,I as He,k as _,j as E,m as ne,P as Re,F as ie,t as X,B as Ne,b as j,f as Ye,X as H,Y as O,Z as T,a1 as $,_ as Oe,a2 as $e,S as F,$ as A}from"./vendor-vue-H0jQBZ7T.js";import{s as ze,H as We,C as z,z as Xe,f as Fe,A as Ae,h as je,a0 as qe,n as Ze,ay as Ue,j as Ge,u as Je,aC as Ke,p as Qe,m as et,a5 as tt,az as at,av as nt,k as ot}from"./vendor-vuetify-ChAgIwn2.js";function lt(e){let{rootEl:n,isSticky:s,layoutItemStyles:k}=e;const t=x(!1),u=x(0),a=V(()=>{const w=typeof t.value=="boolean"?"top":t.value;return[s.value?{top:"auto",bottom:"auto",height:void 0}:void 0,t.value?{[w]:ze(u.value)}:{top:k.value.top}]});se(()=>{R(s,w=>{w?window.addEventListener("scroll",S,{passive:!0}):window.removeEventListener("scroll",S)},{immediate:!0})}),re(()=>{window.removeEventListener("scroll",S)});let h=0;function S(){const w=h>window.scrollY?"up":"down",v=n.value.getBoundingClientRect(),d=parseFloat(k.value.top??0),c=window.scrollY-Math.max(0,u.value-d),m=v.height+Math.max(u.value,d)-window.scrollY-window.innerHeight,y=parseFloat(getComputedStyle(n.value).getPropertyValue("--v-body-scroll-y"))||0;v.height0;s--){if(e[s].t===e[s-1].t)continue;const k=oe(n),t=(e[s].d-e[s-1].d)/(e[s].t-e[s-1].t);n+=(t-k)*Math.abs(t),s===e.length-1&&(n*=.5)}return oe(n)*1e3}function it(){const e={};function n(t){Array.from(t.changedTouches).forEach(u=>{(e[u.identifier]??(e[u.identifier]=new We(rt))).push([t.timeStamp,u])})}function s(t){Array.from(t.changedTouches).forEach(u=>{delete e[u.identifier]})}function k(t){var w;const u=(w=e[t])==null?void 0:w.values().reverse();if(!u)throw new Error(`No samples for touch id ${t}`);const a=u[0],h=[],S=[];for(const v of u){if(a[0]-v[0]>st)break;h.push({t:v[0],d:v[1].clientX}),S.push({t:v[0],d:v[1].clientY})}return{x:le(h),y:le(S),get direction(){const{x:v,y:d}=this,[c,m]=[Math.abs(v),Math.abs(d)];return c>m&&v>=0?"right":c>m&&v<=0?"left":m>c&&d>=0?"down":m>c&&d<=0?"up":ut()}}}return{addMovement:n,endTouch:s,getVelocity:k}}function ut(){throw new Error}function ct(e){let{el:n,isActive:s,isTemporary:k,width:t,touchless:u,position:a}=e;se(()=>{window.addEventListener("touchstart",M,{passive:!0}),window.addEventListener("touchmove",P,{passive:!1}),window.addEventListener("touchend",N,{passive:!0})}),re(()=>{window.removeEventListener("touchstart",M),window.removeEventListener("touchmove",P),window.removeEventListener("touchend",N)});const h=V(()=>["left","right"].includes(a.value)),{addMovement:S,endTouch:w,getVelocity:v}=it();let d=!1;const c=x(!1),m=x(0),y=x(0);let b;function L(o,l){return(a.value==="left"?o:a.value==="right"?document.documentElement.clientWidth-o:a.value==="top"?o:a.value==="bottom"?document.documentElement.clientHeight-o:B())-(l?t.value:0)}function D(o){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const r=a.value==="left"?(o-y.value)/t.value:a.value==="right"?(document.documentElement.clientWidth-o-y.value)/t.value:a.value==="top"?(o-y.value)/t.value:a.value==="bottom"?(document.documentElement.clientHeight-o-y.value)/t.value:B();return l?Xe(r):r}function M(o){if(u.value)return;const l=o.changedTouches[0].clientX,r=o.changedTouches[0].clientY,i=25,f=a.value==="left"?ldocument.documentElement.clientWidth-i:a.value==="top"?rdocument.documentElement.clientHeight-i:B(),g=s.value&&(a.value==="left"?ldocument.documentElement.clientWidth-t.value:a.value==="top"?rdocument.documentElement.clientHeight-t.value:B());(f||g||s.value&&k.value)&&(b=[l,r],y.value=L(h.value?l:r,s.value),m.value=D(h.value?l:r),d=y.value>-20&&y.value<80,w(o),S(o))}function P(o){const l=o.changedTouches[0].clientX,r=o.changedTouches[0].clientY;if(d){if(!o.cancelable){d=!1;return}const f=Math.abs(l-b[0]),g=Math.abs(r-b[1]);(h.value?f>g&&f>3:g>f&&g>3)?(c.value=!0,d=!1):(h.value?g:f)>3&&(d=!1)}if(!c.value)return;o.preventDefault(),S(o);const i=D(h.value?l:r,!1);m.value=Math.max(0,Math.min(1,i)),i>1?y.value=L(h.value?l:r,!0):i<0&&(y.value=L(h.value?l:r,!1))}function N(o){if(d=!1,!c.value)return;S(o),c.value=!1;const l=v(o.changedTouches[0].identifier),r=Math.abs(l.x),i=Math.abs(l.y);(h.value?r>i&&r>400:i>r&&i>3)?s.value=l.direction===({left:"right",right:"left",top:"down",bottom:"up"}[a.value]||B()):s.value=m.value>.5}const I=V(()=>c.value?{transform:a.value==="left"?`translateX(calc(-100% + ${m.value*t.value}px))`:a.value==="right"?`translateX(calc(100% - ${m.value*t.value}px))`:a.value==="top"?`translateY(calc(-100% + ${m.value*t.value}px))`:a.value==="bottom"?`translateY(calc(100% - ${m.value*t.value}px))`:B(),transition:"none"}:void 0);return z(c,()=>{var r,i;const o=((r=n.value)==null?void 0:r.style.transform)??null,l=((i=n.value)==null?void 0:i.style.transition)??null;De(()=>{var f,g,C,Y;(g=n.value)==null||g.style.setProperty("transform",((f=I.value)==null?void 0:f.transform)||"none"),(Y=n.value)==null||Y.style.setProperty("transition",((C=I.value)==null?void 0:C.transition)||null)}),Ie(()=>{var f,g;(f=n.value)==null||f.style.setProperty("transform",o),(g=n.value)==null||g.style.setProperty("transition",l)})}),{isDragging:c,dragProgress:m,dragStyles:I}}function B(){throw new Error}const vt=["start","end","left","right","top","bottom"],dt=Qe({color:String,disableResizeWatcher:Boolean,disableRouteWatcher:Boolean,expandOnHover:Boolean,floating:Boolean,modelValue:{type:Boolean,default:null},permanent:Boolean,rail:{type:Boolean,default:null},railWidth:{type:[Number,String],default:56},scrim:{type:[Boolean,String],default:!0},image:String,temporary:Boolean,persistent:Boolean,touchless:Boolean,width:{type:[Number,String],default:256},location:{type:String,default:"start",validator:e=>vt.includes(e)},sticky:Boolean,...Pe(),...ot(),...Me(),...nt({mobile:null}),...Ee(),...at(),...Ve(),...tt(Te(),["disableInitialFocus"]),...Se({tag:"nav"}),...et()},"VNavigationDrawer"),mt=Fe()({name:"VNavigationDrawer",props:dt(),emits:{"update:modelValue":e=>!0,"update:rail":e=>!0},setup(e,n){let{attrs:s,emit:k,slots:t}=n;const{isRtl:u}=Ae(),{themeClasses:a}=je(e),{borderClasses:h}=de(e),{backgroundColorClasses:S,backgroundColorStyles:w}=Q(()=>e.color),{elevationClasses:v}=pe(e),{displayClasses:d,mobile:c}=qe(e),{roundedClasses:m}=me(e),y=fe(),b=Ze(e,"modelValue",null,p=>!!p),{ssrBootStyles:L}=ge(),{scopeId:D}=he(),M=j(),P=x(!1),{runOpenDelay:N,runCloseDelay:I}=ke(e,p=>{P.value=p}),o=V(()=>e.rail&&e.expandOnHover&&P.value?Number(e.width):Number(e.rail?e.railWidth:e.width)),l=V(()=>Ke(e.location,u.value)),r=X(()=>e.persistent),i=V(()=>!e.permanent&&(c.value||e.temporary)),f=V(()=>e.sticky&&!i.value&&l.value!=="bottom");ye(e,{isActive:b,localTop:i,contentEl:M}),z(()=>e.expandOnHover&&e.rail!=null,()=>{R(P,p=>k("update:rail",!p))}),z(()=>!e.disableResizeWatcher,()=>{R(i,p=>!e.permanent&&He(()=>b.value=!p))}),z(()=>!e.disableRouteWatcher&&!!y,()=>{R(y.currentRoute,()=>i.value&&(b.value=!1))}),R(()=>e.permanent,p=>{p&&(b.value=!0)}),e.modelValue==null&&!i.value&&(b.value=e.permanent||!c.value);const{isDragging:g,dragProgress:C}=ct({el:M,isActive:b,isTemporary:i,width:o,touchless:X(()=>e.touchless),position:l}),Y=V(()=>{const p=i.value?0:e.rail&&e.expandOnHover?Number(e.railWidth):o.value;return g.value?p*C.value:p}),{layoutItemStyles:q,layoutItemScrimStyles:ue}=Ue({id:e.name,order:V(()=>parseInt(e.order,10)),position:l,layoutSize:Y,elementSize:o,active:Ne(b),disableTransitions:X(()=>g.value),absolute:V(()=>e.absolute||f.value&&typeof Z.value!="string")}),{isStuck:Z,stickyStyles:ce}=lt({rootEl:M,isSticky:f,layoutItemStyles:q}),U=Q(()=>typeof e.scrim=="string"?e.scrim:null),ve=V(()=>({...g.value?{opacity:C.value*.2,transition:"none"}:void 0,...ue.value}));return Ge({VList:{bgColor:"transparent"}}),Je(()=>{const p=t.image||e.image;return _(ie,null,[E(e.tag,ne({ref:M,onMouseenter:N,onMouseleave:I,class:["v-navigation-drawer",`v-navigation-drawer--${l.value}`,{"v-navigation-drawer--expand-on-hover":e.expandOnHover,"v-navigation-drawer--floating":e.floating,"v-navigation-drawer--is-hovering":P.value,"v-navigation-drawer--rail":e.rail,"v-navigation-drawer--temporary":i.value,"v-navigation-drawer--persistent":r.value,"v-navigation-drawer--active":b.value,"v-navigation-drawer--sticky":f.value},a.value,S.value,h.value,d.value,v.value,m.value,e.class],style:[w.value,q.value,L.value,ce.value,e.style],inert:!b.value},D,s),{default:()=>{var G,J,K;return[p&&_("div",{key:"image",class:"v-navigation-drawer__img"},[t.image?E(be,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{alt:"",cover:!0,height:"inherit",src:e.image}}},t.image):E(we,{key:"image-img",alt:"",cover:!0,height:"inherit",src:e.image},null)]),t.prepend&&_("div",{class:"v-navigation-drawer__prepend"},[(G=t.prepend)==null?void 0:G.call(t)]),_("div",{class:"v-navigation-drawer__content"},[(J=t.default)==null?void 0:J.call(t)]),t.append&&_("div",{class:"v-navigation-drawer__append"},[(K=t.append)==null?void 0:K.call(t)])]}}),E(Re,{name:"fade-transition"},{default:()=>[i.value&&(g.value||b.value)&&!!e.scrim&&_("div",ne({class:["v-navigation-drawer__scrim",U.backgroundColorClasses.value],style:[ve.value,U.backgroundColorStyles.value],onClick:()=>{r.value||(b.value=!1)}},D),null)]})])}),{isStuck:Z}}}),ft=Ye({name:"MessageLog",setup(){const e=j(!1),n=j([]),s={success:"mdi-check-circle",error:"mdi-alert-circle",warning:"mdi-alert",info:"mdi-information"},k={success:"success",error:"error",warning:"warning",info:"primary"};return W.onLog(t=>{t&&(n.value=t)}),{drawer:e,messages:n,icons:s,colors:k,deleteMessage:t=>W.deleteMessage(t),clearMessages:()=>W.clearMessages()}}}),gt={class:"text-caption text-grey"};function ht(e,n,s,k,t,u){return e.drawer?(H(),O(mt,{key:0,modelValue:e.drawer,"onUpdate:modelValue":n[0]||(n[0]=a=>e.drawer=a),location:"right",temporary:"",width:"400"},{default:T(()=>[E(xe,{color:"primary"},{default:T(()=>[E(Le,null,{default:T(()=>[...n[1]||(n[1]=[$("消息记录",-1)])]),_:1})]),_:1}),E(Ce,null,{default:T(()=>[(H(!0),Oe(ie,null,$e(e.messages,a=>(H(),O(ee,{key:a.id,rounded:""},{prepend:T(()=>[E(ae,{color:e.colors[a.type],icon:e.icons[a.type],size:"20"},null,8,["color","icon"])]),default:T(()=>[E(te,null,{default:T(()=>[$(F(a.title),1)]),_:2},1024),a.content?(H(),O(Be,{key:0},{default:T(()=>[$(F(a.content),1)]),_:2},1024)):A("",!0),_("span",gt,F(new Date(a.timestamp).toLocaleTimeString()),1)]),_:2},1024))),128)),e.messages.length?A("",!0):(H(),O(ee,{key:0},{prepend:T(()=>[E(ae,{color:"grey",icon:"mdi-inbox"})]),default:T(()=>[E(te,{class:"text-grey"},{default:T(()=>[...n[2]||(n[2]=[$("暂无消息",-1)])]),_:1})]),_:1}))]),_:1})]),_:1},8,["modelValue"])):A("",!0)}const yt=_e(ft,[["render",ht]]),St=Object.freeze(Object.defineProperty({__proto__:null,default:yt},Symbol.toStringTag,{value:"Module"}));export{St as M,mt as V,yt as _}; diff --git a/assets/PwaInstallCard-DX5CpgAU.js b/assets/PwaInstallCard-DX5CpgAU.js new file mode 100644 index 0000000..80e22b3 --- /dev/null +++ b/assets/PwaInstallCard-DX5CpgAU.js @@ -0,0 +1 @@ +import{D as K,A as O,X as f,Y as y,Z as e,k as _,j as t,a1 as l,_ as I,F as L,a2 as M,S as d,ad as Q,$ as ee,b as C,e as q,r as A}from"./vendor-vue-H0jQBZ7T.js";import{c as D,J as te,d as E,j as B,k as R,s as T,t as W,l as h,L as j,h as U,q as F,p as ae,e as X,o as se,g as ne,v as ie,aA as oe,aB as le}from"./index-Bqe1gKo7.js";import{V as re}from"./VChip-CPVASmWt.js";import"./vendor-vuetify-ChAgIwn2.js";const de={class:"d-flex flex-no-wrap justify-space-between"},ue={class:"pe-4"},ce={class:"mb-3"},we={__name:"PwaInstallCard",setup(pe){const g=C(!1),o=C(!1),m=C(!1),r=A({title:"",message:"",links:[]}),$={pending:"待授权",granted:"已完成",denied:"已拒绝",unavailable:"不可用"},G={pending:"mdi-progress-clock",granted:"mdi-check-circle",denied:"mdi-close-circle",unavailable:"mdi-help-circle"},k={pending:"primary",granted:"success",denied:"error",unavailable:"surface-variant"},n=A({pwa:{label:"安装应用",description:"将网站安装为独立应用,便于快速启动",status:"pending"},notification:{label:"通知权限",description:"允许接收作业、考试等通知提醒",status:"pending"},storage:{label:"离线存储",description:"启用持久化存储以获得更稳健的离线体验",status:"pending"}}),b=q(()=>[{key:"pwa",...n.pwa},{key:"notification",...n.notification},{key:"storage",...n.storage}]),V=q(()=>b.value.some(a=>a.status==="pending")),H={pwa:[{text:"MDN - 安装 PWA 指南",desc:"检查浏览器是否支持并手动触发安装",href:"https://developer.mozilla.org/zh-CN/docs/Web/Progressive_web_apps/Guides/Installing"},{text:"Microsoft Edge - PWA 体验",desc:"Edge 浏览器安装与 UX 说明",href:"https://learn.microsoft.com/zh-cn/microsoft-edge/progressive-web-apps/ux"}],notification:[{text:"MDN - 通知权限与用法",desc:"浏览器通知权限的工作方式与调试",href:"https://developer.mozilla.org/zh-CN/docs/Web/API/notification"}],storage:[{text:"MDN - Storage 持久化说明",desc:"了解持久化存储的可用性与申请方式",href:"https://developer.mozilla.org/zh-CN/docs/Web/API/StorageManager/persist"}]};let v;const p=async()=>{var w;if(ne("pwa.hideInstallCard")){g.value=!1;return}if(window.matchMedia("(display-mode: standalone)").matches||window.navigator.standalone===!0?n.pwa.status="granted":(window.deferredPwaPrompt,n.pwa.status="pending"),typeof Notification>"u")n.notification.status="unavailable";else{const c=Notification.permission;n.notification.status=c==="granted"?"granted":c==="denied"?"denied":"pending"}if((w=navigator.storage)!=null&&w.persisted){const c=await navigator.storage.persisted();n.storage.status=c?"granted":"pending"}else n.storage.status="unavailable";const i=b.value.some(c=>c.status!=="granted");g.value=i},x=async()=>{const a=window.deferredPwaPrompt;if(!a){n.pwa.status="pending",u("pwa","浏览器没有提供安装提示,可按文档手动安装。");return}a.prompt();const{outcome:s}=await a.userChoice;n.pwa.status=s==="accepted"?"granted":"denied",s!=="accepted"&&u("pwa","如果未出现安装弹窗,或被拒绝,请按说明手动安装。"),window.deferredPwaPrompt=null},P=async()=>{if(typeof Notification>"u"){n.notification.status="unavailable",u("notification","当前环境不支持通知 API,可查看说明手动开启或更换浏览器。");return}const a=await oe();n.notification.status=a?"granted":"denied",a||u("notification","通知请求未被授予,请按说明检查浏览器或系统设置。")},N=async()=>{var s;if(!((s=navigator.storage)!=null&&s.persist)){n.storage.status="unavailable",u("storage","当前浏览器不支持持久化存储,可查看说明或更换浏览器。");return}const a=await le();n.storage.status=a?"granted":"denied",a||u("storage","未能启用持久化存储,可按说明检查浏览器或系统设置。")},J=async()=>{if(!(!V.value||o.value)){o.value=!0;try{await x(),await P(),await N()}finally{o.value=!1,await p()}}},Y=async a=>{if(!o.value){o.value=!0;try{a==="pwa"?await x():a==="notification"?await P():a==="storage"&&await N()}finally{o.value=!1,await p()}}},u=(a,s="")=>{a==="pwa"?r.title="如何安装为应用":a==="notification"?r.title="如何开启通知":r.title="如何启用离线存储",r.message=s||"查看以下步骤获取更多说明。",r.links=H[a]||[],m.value=!0},Z=()=>{ie("pwa.hideInstallCard",!0),g.value=!1},S=()=>{n.pwa.status!=="granted"&&(n.pwa.status="pending"),p()},z=()=>{p()};return K(()=>{p(),window.addEventListener("pwa-prompt-ready",S),v=window.matchMedia("(display-mode: standalone)"),v.addEventListener("change",z)}),O(()=>{window.removeEventListener("pwa-prompt-ready",S),v&&v.removeEventListener("change",z)}),(a,s)=>g.value?(f(),y(X,{key:0,class:"mb-4",color:"surface-variant",variant:"tonal"},{default:e(()=>[_("div",de,[_("div",ue,[t(D,{class:"text-h6"},{default:e(()=>[...s[2]||(s[2]=[l(" 安装应用与授权 ",-1)])]),_:1}),t(te,{class:"pb-1"},{default:e(()=>[...s[3]||(s[3]=[l(" 手动点选下方项目请求安装和权限,也可以直接关闭 ",-1)])]),_:1}),t(E,{class:"pt-0 pb-1"},{default:e(()=>[t(B,{density:"comfortable",lines:"two"},{default:e(()=>[(f(!0),I(L,null,M(b.value,i=>(f(),y(R,{key:i.key,disabled:o.value,onClick:()=>Y(i.key)},{prepend:e(()=>[t(j,{color:k[i.status],size:"32",variant:"tonal"},{default:e(()=>[t(U,{icon:G[i.status]},null,8,["icon"])]),_:2},1032,["color"])]),append:e(()=>[t(re,{color:k[i.status],size:"small",variant:"tonal",class:"me-2"},{default:e(()=>[l(d($[i.status]),1)]),_:2},1032,["color"]),t(h,{variant:"text",icon:"mdi-information",size:"small",disabled:o.value,onClick:Q(()=>u(i.key),["stop"])},null,8,["disabled","onClick"])]),default:e(()=>[t(T,null,{default:e(()=>[l(d(i.label),1)]),_:2},1024),t(W,null,{default:e(()=>[l(d(i.description),1)]),_:2},1024)]),_:2},1032,["disabled","onClick"]))),128))]),_:1})]),_:1}),t(F,null,{default:e(()=>[t(h,{class:"ms-2",variant:"outlined",size:"small",onClick:Z},{default:e(()=>[...s[4]||(s[4]=[l(" 关闭 ",-1)])]),_:1}),t(h,{class:"ms-2",variant:"elevated",color:"primary",size:"small","prepend-icon":o.value?"mdi-timer-sand":"mdi-shield-check",disabled:!V.value||o.value,onClick:J},{default:e(()=>[l(d(o.value?"处理中":"一次处理全部"),1)]),_:1},8,["prepend-icon","disabled"])]),_:1})]),t(j,{class:"ma-3",size:"100",rounded:"0"},{default:e(()=>[t(U,{icon:"mdi-monitor-cellphone",size:"80"})]),_:1})]),t(ae,{modelValue:m.value,"onUpdate:modelValue":s[1]||(s[1]=i=>m.value=i),"max-width":"520"},{default:e(()=>[t(X,null,{default:e(()=>[t(D,{class:"text-h6"},{default:e(()=>[l(d(r.title),1)]),_:1}),t(E,null,{default:e(()=>[_("p",ce,d(r.message),1),t(B,{density:"comfortable"},{default:e(()=>[(f(!0),I(L,null,M(r.links,(i,w)=>(f(),y(R,{key:w,href:i.href,target:"_blank",rel:"noopener"},{default:e(()=>[t(T,null,{default:e(()=>[l(d(i.text),1)]),_:2},1024),t(W,null,{default:e(()=>[l(d(i.desc),1)]),_:2},1024)]),_:2},1032,["href"]))),128))]),_:1})]),_:1}),t(F,null,{default:e(()=>[t(se),t(h,{variant:"text",onClick:s[0]||(s[0]=i=>m.value=!1)},{default:e(()=>[...s[5]||(s[5]=[l("我知道了",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})):ee("",!0)}};export{we as default}; diff --git a/assets/RandomPicker-CFzd4pLS.css b/assets/RandomPicker-CFzd4pLS.css new file mode 100644 index 0000000..51a4c7d --- /dev/null +++ b/assets/RandomPicker-CFzd4pLS.css @@ -0,0 +1 @@ +.random-picker-card[data-v-85e7eea6]{overflow:hidden}.counter-container[data-v-85e7eea6]{margin:2rem 0}.counter-btn[data-v-85e7eea6]{width:64px;height:64px;border-radius:50%}.count-display[data-v-85e7eea6]{min-width:100px;text-align:center}.start-btn[data-v-85e7eea6]{min-width:200px;height:64px;border-radius:32px;font-size:1.2rem}.filter-options-card[data-v-85e7eea6]{max-width:450px;margin:0 auto}.filter-chip[data-v-85e7eea6]{cursor:pointer;transition:all .2s ease}.filter-chip[data-v-85e7eea6]:active{transform:scale(.95)}.student-list-tooltip[data-v-85e7eea6]{max-height:200px;overflow-y:auto;margin-top:5px;font-size:.9em}.animation-container[data-v-85e7eea6]{min-height:300px;display:flex;flex-direction:column;justify-content:center;align-items:center}.animation-wrapper[data-v-85e7eea6]{width:100%;max-width:400px;margin:0 auto}.shuffle-container[data-v-85e7eea6]{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.student-item[data-v-85e7eea6]{padding:10px 15px;background-color:rgba(var(--v-theme-surface-variant),.7);border-radius:8px;transition:all .3s ease;font-size:1.2rem}.student-item.highlighted[data-v-85e7eea6]{background-color:rgb(var(--v-theme-primary));color:rgb(var(--v-theme-on-primary));transform:scale(1.1);font-weight:700;box-shadow:0 4px 8px #0003}.result-container[data-v-85e7eea6]{min-height:300px}.result-card[data-v-85e7eea6]{max-width:400px;margin:0 auto;transition:transform .3s ease}.result-card[data-v-85e7eea6]:hover{transform:translateY(-4px)}.result-card:hover .refresh-btn[data-v-85e7eea6]{opacity:1}.refresh-btn[data-v-85e7eea6]{opacity:.7;transition:opacity .3s ease}.refresh-btn[data-v-85e7eea6]:hover{opacity:1}@keyframes refresh-pulse-85e7eea6{0%{transform:scale(1);box-shadow:0 0 rgba(var(--v-theme-primary),.5)}50%{transform:scale(1.05);box-shadow:0 0 15px rgba(var(--v-theme-primary),.7)}to{transform:scale(1);box-shadow:0 0 rgba(var(--v-theme-primary),.5)}}.refresh-animation[data-v-85e7eea6]{animation:refresh-pulse-85e7eea6 .5s ease}.shuffle-enter-active[data-v-85e7eea6],.shuffle-leave-active[data-v-85e7eea6]{transition:all .5s ease}.shuffle-enter-from[data-v-85e7eea6],.shuffle-leave-to[data-v-85e7eea6]{opacity:0;transform:translateY(30px)}.shuffle-move[data-v-85e7eea6]{transition:transform .5s ease}@media (hover: none){.counter-btn[data-v-85e7eea6],.start-btn[data-v-85e7eea6]{min-height:72px}.student-item[data-v-85e7eea6]{padding:12px 20px;font-size:1.4rem}.refresh-btn[data-v-85e7eea6]{opacity:1;min-width:36px;min-height:36px}.filter-chip[data-v-85e7eea6]{min-height:40px;font-size:1rem}}.mode-switch-container .mode-toggle[data-v-85e7eea6]{border:1px solid rgba(var(--v-theme-primary),.2);border-radius:50px;padding:4px;box-shadow:0 2px 8px #0000001a}.mode-switch-container .mode-toggle .v-btn[data-v-85e7eea6]{min-width:120px;height:40px;font-weight:500;letter-spacing:.5px}.mode-switch-container .mode-toggle .v-btn.v-btn--active[data-v-85e7eea6]{transform:scale(1.02);font-weight:600}.number-range-container[data-v-85e7eea6]{max-width:300px;margin:0 auto;padding:16px;background:rgba(var(--v-theme-surface-variant),.1);border-radius:12px;border:1px solid rgba(var(--v-theme-primary),.1)}.number-range-container .number-input[data-v-85e7eea6]{width:100px}.number-range-container .number-input[data-v-85e7eea6] .v-field{border-radius:8px;box-shadow:0 2px 4px #0000000d} diff --git a/assets/RandomPicker-D9wYBCNM.js b/assets/RandomPicker-D9wYBCNM.js new file mode 100644 index 0000000..7d43266 --- /dev/null +++ b/assets/RandomPicker-D9wYBCNM.js @@ -0,0 +1 @@ +import{_ as F,e as C,c as A,h as P,o as _,l as h,d as v,K as M,p as T,g as o,v as S}from"./index-Bqe1gKo7.js";import{X as r,Y as g,Z as l,j as s,a1 as u,k as a,S as c,_ as m,$ as x,F as b,m as L,U as w,a2 as N,n as E}from"./vendor-vue-H0jQBZ7T.js";import{V}from"./VTextField-B7edjjhw.js";import{V as I}from"./VTooltip-UMclv3tZ.js";import{V as y}from"./VChip-CPVASmWt.js";import"./vendor-vuetify-ChAgIwn2.js";import"./autofocus-Dh4QPNon.js";const z={name:"RandomPicker",props:{studentList:{type:Array,required:!0},attendance:{type:Object,required:!0,default:()=>({absent:[],late:[],exclude:[]})}},data(){return{dialog:!1,count:o("randomPicker.defaultCount"),isPickingStarted:!1,isAnimating:!1,pickedStudents:[],animationStudents:[],highlightedIndices:[],animationTimer:null,getSetting:o,tempFilters:{excludeAbsent:o("randomPicker.excludeAbsent"),excludeLate:o("randomPicker.excludeLate"),excludeExcluded:o("randomPicker.excludeExcluded")},pickerMode:o("randomPicker.mode"),minNumber:o("randomPicker.minNumber"),maxNumber:o("randomPicker.maxNumber")}},computed:{absentCount(){return this.attendance.absent?this.attendance.absent.length:0},lateCount(){return this.attendance.late?this.attendance.late.length:0},excludedCount(){return this.attendance.exclude?this.attendance.exclude.length:0},numberModeStudents(){if(this.pickerMode!=="number")return[];const i=[];for(let e=this.minNumber;e<=this.maxNumber;e++)i.push(e.toString().padStart(2,"0")+"号");return i},filteredStudents(){return this.pickerMode==="number"?this.numberModeStudents:!this.studentList||!this.studentList.length?[]:this.studentList.filter(i=>!(this.tempFilters.excludeAbsent&&this.attendance.absent.includes(i)||this.tempFilters.excludeLate&&this.attendance.late.includes(i)||this.tempFilters.excludeExcluded&&this.attendance.exclude.includes(i)))},availableStudents(){return this.filteredStudents},maxAllowedCount(){return Math.min(10,this.filteredStudents.length)},remainingStudents(){return this.filteredStudents.filter(i=>!this.pickedStudents.includes(i))}},watch:{dialog(i){i?(this.count=o("randomPicker.defaultCount"),this.isPickingStarted=!1,this.isAnimating=!1,this.pickedStudents=[],this.tempFilters={excludeAbsent:o("randomPicker.excludeAbsent"),excludeLate:o("randomPicker.excludeLate"),excludeExcluded:o("randomPicker.excludeExcluded")}):this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},tempFilters:{handler(){this.count>this.maxAllowedCount&&(this.count=Math.max(1,this.maxAllowedCount))},deep:!0},pickerMode:{handler(i){S("randomPicker.mode",i)}},minNumber:{handler(i){i>this.maxNumber&&(this.minNumber=this.maxNumber),i<1&&(this.minNumber=1),S("randomPicker.minNumber",this.minNumber)}},maxNumber:{handler(i){i100&&(this.maxNumber=100),S("randomPicker.maxNumber",this.maxNumber)}}},methods:{open(){this.dialog=!0},incrementCount(){this.count1&&this.count--},startPicking(){this.filteredStudents.length!==0&&(this.isPickingStarted=!0,o("randomPicker.animation")?this.startAnimation():this.finishPicking())},startAnimation(){this.isAnimating=!0,this.animationStudents=this.filteredStudents.map((i,e)=>({id:`student-${e}`,name:i})),this.animateHighlight()},animateHighlight(){let e=0;const k=50,p=()=>{this.highlightedIndices=[];const t=[];for(let n=0;n{this.finishPicking()},500)};p()},finishPicking(){this.isAnimating=!1;const i=[...this.filteredStudents].sort(()=>.5-Math.random());this.pickedStudents=i.slice(0,this.count)},resetPicker(){this.isPickingStarted=!1,this.isAnimating=!1,this.pickedStudents=[],this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},refreshSingleStudent(i){if(this.remainingStudents.length===0)return;const e=Math.floor(Math.random()*this.remainingStudents.length),k=this.remainingStudents[e];this.pickedStudents[i]=k;const p=document.querySelectorAll(".result-card");p[i]&&(p[i].classList.add("refresh-animation"),setTimeout(()=>{p[i].classList.remove("refresh-animation")},500))}}},j={class:"d-flex justify-center align-center counter-container"},B={class:"count-display mx-8"},U={class:"text-h2 font-weight-bold"},q={class:"mode-switch-container mt-6"},D={key:0,class:"number-range-container mt-4"},H={class:"d-flex justify-center align-center gap-4"},R={class:"mt-4"},G={key:1,class:"mt-4 text-error"},K={class:"mt-4 text-caption"},O={class:"pa-2"},X={key:0},Y={key:1},Z={key:2},J={key:1,class:"d-flex flex-wrap justify-center gap-2 mt-4"},Q={key:0,class:"animation-container"},W={class:"animation-wrapper"},$={key:1,class:"result-container"},ee={class:"mt-8 d-flex justify-center"};function te(i,e,k,p,t,d){return r(),g(T,{modelValue:t.dialog,"onUpdate:modelValue":e[8]||(e[8]=n=>t.dialog=n),"fullscreen-breakpoint":"sm","max-width":"600",persistent:""},{default:l(()=>[s(C,{border:"",class:"random-picker-card",rounded:"xl"},{default:l(()=>[s(A,{class:"text-h5 d-flex align-center"},{default:l(()=>[s(P,{class:"mr-2",icon:"mdi-account-question"}),e[9]||(e[9]=u(" 随机点名 ",-1)),s(_),s(h,{icon:"mdi-close",variant:"text",onClick:e[0]||(e[0]=n=>t.dialog=!1)})]),_:1}),t.isPickingStarted?(r(),g(v,{key:1,class:"text-center py-6"},{default:l(()=>[t.isAnimating?(r(),m("div",Q,[a("div",W,[s(w,{class:"shuffle-container",name:"shuffle",tag:"div"},{default:l(()=>[(r(!0),m(b,null,N(t.animationStudents,(n,f)=>(r(),m("div",{key:n.id,class:E([{highlighted:t.highlightedIndices.includes(f)},"student-item"])},c(n.name),3))),128))]),_:1})])])):(r(),m("div",$,[e[19]||(e[19]=a("div",{class:"text-h6 mb-4"},"抽取结果",-1)),(r(!0),m(b,null,N(t.pickedStudents,(n,f)=>(r(),g(C,{key:f,class:"mb-2 result-card",color:"primary",variant:"outlined"},{default:l(()=>[s(v,{class:"text-h4 text-center py-4 d-flex align-center justify-center"},{default:l(()=>[u(c(n)+" ",1),s(h,{disabled:d.remainingStudents.length===0,title:d.remainingStudents.length===0?"没有更多可用学生":"重新抽取此学生",class:"ml-2 refresh-btn",icon:"mdi-refresh",size:"small",variant:"text",onClick:ie=>d.refreshSingleStudent(f)},null,8,["disabled","title","onClick"])]),_:2},1024)]),_:2},1024))),128)),a("div",ee,[s(h,{class:"mx-2",color:"primary","prepend-icon":"mdi-refresh",size:"large",onClick:d.resetPicker},{default:l(()=>[...e[17]||(e[17]=[u(" 重新抽取 ",-1)])]),_:1},8,["onClick"]),s(h,{class:"mx-2",color:"grey",size:"large",variant:"outlined",onClick:e[7]||(e[7]=n=>t.dialog=!1)},{default:l(()=>[...e[18]||(e[18]=[u(" 关闭 ",-1)])]),_:1})])]))]),_:1})):(r(),g(v,{key:0,class:"text-center py-6"},{default:l(()=>[e[16]||(e[16]=a("div",{class:"text-h6 mb-4"},"请选择抽取人数",-1)),a("div",j,[s(h,{disabled:t.count<=1,class:"counter-btn",color:"primary",icon:"mdi-minus",size:"x-large",variant:"tonal",onClick:d.decrementCount},null,8,["disabled","onClick"]),a("div",B,[a("span",U,c(t.count),1),e[10]||(e[10]=a("span",{class:"text-subtitle-1 ml-2"},"人",-1))]),s(h,{disabled:t.count>=d.maxAllowedCount,class:"counter-btn",color:"primary",icon:"mdi-plus",size:"x-large",variant:"tonal",onClick:d.incrementCount},null,8,["disabled","onClick"])]),a("div",q,[s(M,{modelValue:t.pickerMode,"onUpdate:modelValue":e[1]||(e[1]=n=>t.pickerMode=n),class:"mode-toggle",color:"primary",mandatory:"",rounded:"pill"},{default:l(()=>[s(h,{"prepend-icon":"mdi-account",value:"name"},{default:l(()=>[...e[11]||(e[11]=[u("姓名模式",-1)])]),_:1}),s(h,{"prepend-icon":"mdi-numeric",value:"number"},{default:l(()=>[...e[12]||(e[12]=[u("学号模式",-1)])]),_:1})]),_:1},8,["modelValue"])]),t.pickerMode==="number"?(r(),m("div",D,[e[14]||(e[14]=a("div",{class:"text-subtitle-1 mb-2"},"学号范围设置",-1)),a("div",H,[s(V,{modelValue:t.minNumber,"onUpdate:modelValue":e[2]||(e[2]=n=>t.minNumber=n),modelModifiers:{number:!0},class:"number-input",density:"compact","hide-details":"",label:"最小值",max:"100",min:"1",type:"number"},null,8,["modelValue"]),e[13]||(e[13]=a("span",{class:"mx-2"},"至",-1)),s(V,{modelValue:t.maxNumber,"onUpdate:modelValue":e[3]||(e[3]=n=>t.maxNumber=n),modelModifiers:{number:!0},class:"number-input",density:"compact","hide-details":"",label:"最大值",max:"100",min:"1",type:"number"},null,8,["modelValue"])])])):x("",!0),a("div",R,[s(h,{disabled:d.filteredStudents.length===0,class:"start-btn",color:"primary","prepend-icon":"mdi-dice-multiple",size:"x-large",onClick:d.startPicking},{default:l(()=>[...e[15]||(e[15]=[u(" 开始抽取 ",-1)])]),_:1},8,["disabled","onClick"])]),d.filteredStudents.length===0?(r(),m("div",G,[t.pickerMode==="name"?(r(),m(b,{key:0},[u(" 没有可抽取的学生,请调整过滤选项 ")],64)):(r(),m(b,{key:1},[u(" 请设置有效的学号范围 ")],64))])):x("",!0),a("div",K,[u(" 当前可抽取学生: "+c(d.filteredStudents.length)+"人 ",1),t.pickerMode==="name"?(r(),g(I,{key:0,location:"bottom"},{activator:l(({props:n})=>[s(P,L({class:"ml-1",icon:"mdi-information-outline",size:"small"},n),null,16)]),default:l(()=>[a("div",O,[t.tempFilters.excludeAbsent?(r(),m("div",X," • 已排除请假学生 ("+c(d.absentCount)+"人) ",1)):x("",!0),t.tempFilters.excludeLate?(r(),m("div",Y," • 已排除迟到学生 ("+c(d.lateCount)+"人) ",1)):x("",!0),t.tempFilters.excludeExcluded?(r(),m("div",Z," • 已排除不参与学生 ("+c(d.excludedCount)+"人) ",1)):x("",!0)])]),_:1})):x("",!0),t.pickerMode==="name"?(r(),m("div",J,[s(y,{color:t.tempFilters.excludeLate?"warning":"default",variant:t.tempFilters.excludeLate?"elevated":"text",class:"filter-chip","prepend-icon":"mdi-clock-alert",onClick:e[4]||(e[4]=n=>t.tempFilters.excludeLate=!t.tempFilters.excludeLate)},{default:l(()=>[u(c(t.tempFilters.excludeLate?"排除":"包含")+"迟到学生 ",1)]),_:1},8,["color","variant"]),s(y,{color:t.tempFilters.excludeAbsent?"error":"default",variant:t.tempFilters.excludeAbsent?"elevated":"text",class:"filter-chip","prepend-icon":"mdi-account-off",onClick:e[5]||(e[5]=n=>t.tempFilters.excludeAbsent=!t.tempFilters.excludeAbsent)},{default:l(()=>[u(c(t.tempFilters.excludeAbsent?"排除":"包含")+"请假学生 ",1)]),_:1},8,["color","variant"]),s(y,{color:t.tempFilters.excludeExcluded?"grey":"default",variant:t.tempFilters.excludeExcluded?"elevated":"text",class:"filter-chip","prepend-icon":"mdi-account-cancel",onClick:e[6]||(e[6]=n=>t.tempFilters.excludeExcluded=!t.tempFilters.excludeExcluded)},{default:l(()=>[u(c(t.tempFilters.excludeExcluded?"排除":"包含")+"不参与学生 ",1)]),_:1},8,["color","variant"])])):x("",!0)])]),_:1}))]),_:1})]),_:1},8,["modelValue"])}const ue=F(z,[["render",te],["__scopeId","data-v-85e7eea6"]]);export{ue as default}; diff --git a/assets/StudentNameManager-C1pk_k0J.js b/assets/StudentNameManager-C1pk_k0J.js new file mode 100644 index 0000000..8ba9ac8 --- /dev/null +++ b/assets/StudentNameManager-C1pk_k0J.js @@ -0,0 +1 @@ +import{_ as le,w as oe,e as ne,c as ue,d as re,q as ie,l as z,o as ve,p as de,g as $}from"./index-Bqe1gKo7.js";import{a as D,d as E}from"./dataProvider-Dty8Zh7m.js";import{V as ce}from"./VAutocomplete-Buofo9XU.js";import{V as me}from"./VTextField-B7edjjhw.js";import{V as pe}from"./VChip-CPVASmWt.js";import{V as fe}from"./VSwitch-C77LDPed.js";import{V as ge}from"./VCombobox-CmqRIcRE.js";import{V as ke}from"./VAlert-b5nBlHgx.js";import{o as P,D as ye,X as p,_ as j,j as d,Z as f,a1 as _,S as B,F as U,k as I,$ as H,a2 as he,Y as R,ae as Ve,e as g,b as c}from"./vendor-vue-H0jQBZ7T.js";import"./vendor-vuetify-ChAgIwn2.js";import"./vendor-utils-DDRLRfsI.js";import"./serverRotation-CLP7smnN.js";import"./autofocus-Dh4QPNon.js";import"./VSelect-DC96rbwz.js";import"./VSheet-DHN9xqm_.js";import"./VCheckboxBtn-nWqvYDIO.js";const Te={key:0,class:"mt-2 text-caption text-medium-emphasis"},be={class:"mt-2 mb-4"},we={class:"d-flex flex-wrap gap-2"},Ae={key:0,class:"ms-1 text-error"},Se={__name:"StudentNameManager",emits:["token-info-updated"],setup(Ne,{expose:q,emit:K}){const F=K,v=c(!1),k=c(""),y=c([]),T=c(""),m=c(!1),i=c(""),u=c(null),r=c([]),X=c(""),b=c(""),o=c({name:"",isHeadTeacher:!1,subjects:[]}),w=g(()=>{var e;return((e=u.value)==null?void 0:e.deviceType)==="student"}),C=g(()=>{var e;return((e=u.value)==null?void 0:e.deviceType)==="teacher"}),Y=g(()=>{var e;return((e=u.value)==null?void 0:e.isReadOnly)===!0}),Z=g(()=>{var e;return((e=u.value)==null?void 0:e.note)||"设置名称"}),G=g(()=>!!h.value),h=g(()=>$("server.kvToken")),L=g(()=>$("server.provider")),J=g(()=>L.value==="kv-server"||L.value==="classworkscloud"),Q=g(()=>w.value?"设置学生姓名":C.value?"设置教师姓名":"设置姓名"),W=g(()=>r.value),A=async()=>{var e;if(!(!J.value||!h.value))try{const a=$("server.domain");if(!a)return;const t=await D.get(`${a}/kv/_token`,{headers:{Authorization:`Bearer ${h.value}`}});if(u.value=t.data,u.value.deviceType==="student"){T.value=u.value.note||"";const s=(await D.get(`${a}/kv/classworks-list-main`,{headers:{Authorization:`Bearer ${h.value}`}})).data.value||[];if(y.value=Array.isArray(s)?s:[],y.value.length>0){const l=u.value.note||"",V=y.value.some(S=>S.name===l);(!l||!V)&&(v.value=!0,k.value="")}return}if(u.value.deviceType==="teacher"){b.value=u.value.note||"";try{const s=(await D.get(`${a}/kv/classworks-list-teacher`,{headers:{Authorization:`Bearer ${h.value}`}})).data.value||[];r.value=Array.isArray(s)?s:[]}catch(n){((e=n==null?void 0:n.response)==null?void 0:e.status)===404?(console.log("教师列表不存在,初始化为空"),r.value=[]):(console.error("加载教师列表失败:",n),r.value=[])}if(r.value.length>0){const n=u.value.note||"",s=r.value.some(l=>l.name===n);(!n||!s)&&(v.value=!0,X.value="")}return}}catch(a){console.error("检查学生姓名状态失败:",a)}},ee=async()=>{var e,a,t,n;if(!(!k.value||m.value)){i.value="",m.value=!0;try{const s=$("server.domain"),l=h.value;(await D.post(`${s}/apps/tokens/${l}/set-student-name`,{name:k.value})).data.success&&(T.value=k.value,v.value=!1,await A(),F("token-info-updated"))}catch(s){const l=(e=s==null?void 0:s.response)==null?void 0:e.status;l===400?i.value="该名称不在学生列表中,请选择正确的姓名":l===403?i.value="只有学生类型的 Token 可以设置姓名":l===404?i.value="设备未设置学生列表或 Token 不存在":i.value=((n=(t=(a=s==null?void 0:s.response)==null?void 0:a.data)==null?void 0:t.error)==null?void 0:n.message)||(s==null?void 0:s.message)||"设置失败,请稍后重试"}finally{m.value=!1}}},ae=async()=>{var e,a,t,n,s;if(!(!o.value.name||m.value)){i.value="",m.value=!0;try{const l=$("server.domain"),V=h.value,S={name:o.value.name.trim(),isHeadTeacher:!!o.value.isHeadTeacher,subjects:Array.isArray(o.value.subjects)?o.value.subjects.filter(x=>x&&String(x).trim()).map(x=>String(x).trim()):[]},O=r.value.findIndex(x=>x.name===S.name);O>=0?r.value[O]=S:r.value.push(S);const N=await E.saveData("classworks-list-teacher",r.value);if((N==null?void 0:N.success)===!1)throw new Error(((e=N==null?void 0:N.error)==null?void 0:e.message)||"保存列表失败");(await D.post(`${l}/apps/tokens/${V}/set-teacher-name`,{name:S.name})).data.success&&(b.value=S.name,v.value=!1,await A(),F("token-info-updated"))}catch(l){const V=(a=l==null?void 0:l.response)==null?void 0:a.status;V===400?i.value="该名称不在教师列表中,请选择正确的姓名":V===403?i.value="只有教师类型的 Token 可以设置姓名":V===404?i.value="设备未设置教师列表或 Token 不存在":i.value=((s=(n=(t=l==null?void 0:l.response)==null?void 0:t.data)==null?void 0:n.error)==null?void 0:s.message)||(l==null?void 0:l.message)||"设置失败,请稍后重试"}finally{m.value=!1}}},te=e=>{o.value.name=e.name,o.value.isHeadTeacher=e.isHeadTeacher||!1,o.value.subjects=Array.isArray(e.subjects)?[...e.subjects]:[]},se=()=>{v.value=!1},M=async()=>{if(console.log("StudentNameManager.openDialog called"),console.log("isStudentToken:",w.value),console.log("studentList.length:",y.value.length),console.log("currentStudentName:",T.value),w.value){const e=await E.loadData("classworks-list-main");y.value=Array.isArray(e==null?void 0:e.value)?e.value:Array.isArray(e)?e:[],y.value.length===0?(console.log("Student list is empty, trying to load..."),await A(),k.value=T.value,v.value=!0):(k.value=T.value,v.value=!0);return}if(C.value){try{const e=await E.loadData("classworks-list-teacher");r.value=Array.isArray(e==null?void 0:e.value)?e.value:Array.isArray(e)?e:[]}catch{console.log("教师列表不存在或加载失败,允许手动创建"),r.value=[]}if(o.value={name:b.value,isHeadTeacher:!1,subjects:[]},b.value){const e=r.value.find(a=>a.name===b.value);e&&(o.value.isHeadTeacher=e.isHeadTeacher||!1,o.value.subjects=Array.isArray(e.subjects)?[...e.subjects]:[])}v.value=!0,console.log("Dialog opened (teacher), showDialog:",v.value);return}console.log("Not a student/teacher token, cannot open dialog")};return P(h,()=>{A()}),oe(()=>{A()}),P(u,()=>{F("token-info-updated")},{deep:!0}),ye(()=>{A()}),q({checkStudentNameStatus:A,openDialog:M,currentStudentName:T,currentTeacherName:b,isStudentToken:w,isTeacherToken:C,isReadOnly:Y,displayName:Z,hasToken:G,tokenInfo:u}),(e,a)=>(p(),j(U,null,[d(de,{modelValue:v.value,"onUpdate:modelValue":a[4]||(a[4]=t=>v.value=t),"max-width":"720",persistent:""},{default:f(()=>[d(ne,null,{default:f(()=>[d(ue,null,{default:f(()=>[_(B(Q.value),1)]),_:1}),d(re,null,{default:f(()=>[w.value?(p(),j(U,{key:0},[a[5]||(a[5]=I("div",{class:"mb-2"}," 请从列表中选择您的姓名: ",-1)),d(ce,{modelValue:k.value,"onUpdate:modelValue":a[0]||(a[0]=t=>k.value=t),items:y.value,clearable:"","hide-details":"","item-title":"name","item-value":"name",label:"学生姓名",placeholder:"选择您的姓名"},null,8,["modelValue","items"]),y.value.length>0?(p(),j("div",Te," 共 "+B(y.value.length)+" 位学生 ",1)):H("",!0)],64)):C.value?(p(),j(U,{key:1},[d(me,{modelValue:o.value.name,"onUpdate:modelValue":a[1]||(a[1]=t=>o.value.name=t),label:"教师姓名",placeholder:"输入姓名或从下方建议中选择",clearable:""},null,8,["modelValue"]),I("div",be,[I("div",we,[(p(!0),j(U,null,he(W.value,t=>(p(),R(pe,{key:t.name,size:"small",onClick:n=>te(t)},{default:f(()=>[_(B(t.name)+" ",1),t.isHeadTeacher?(p(),j("span",Ae," 👨‍🏫 ")):H("",!0)]),_:2},1032,["onClick"]))),128))])]),d(fe,{modelValue:o.value.isHeadTeacher,"onUpdate:modelValue":a[2]||(a[2]=t=>o.value.isHeadTeacher=t),inset:"",color:"primary",label:o.value.isHeadTeacher?"班主任":"非班主任"},null,8,["modelValue","label"]),d(ge,{modelValue:o.value.subjects,"onUpdate:modelValue":a[3]||(a[3]=t=>o.value.subjects=t),multiple:"",chips:"",clearable:"",label:"任教科目",hint:"可直接输入并回车添加多个科目","persistent-hint":""},null,8,["modelValue"])],64)):H("",!0),i.value?(p(),R(ke,{key:2,class:"mt-3",type:"error",variant:"tonal"},{default:f(()=>[_(B(i.value),1)]),_:1})):H("",!0)]),_:1}),d(ie,null,{default:f(()=>[d(z,{variant:"text",onClick:se},{default:f(()=>[...a[6]||(a[6]=[_(" 稍后设置 ",-1)])]),_:1}),d(ve),w.value?(p(),R(z,{key:0,disabled:!k.value||m.value,loading:m.value,color:"primary",onClick:ee},{default:f(()=>[...a[7]||(a[7]=[_(" 确认 ",-1)])]),_:1},8,["disabled","loading"])):C.value?(p(),R(z,{key:1,disabled:!o.value.name||m.value,loading:m.value,color:"primary",onClick:ae},{default:f(()=>[...a[8]||(a[8]=[_(" 确认 ",-1)])]),_:1},8,["disabled","loading"])):H("",!0)]),_:1})]),_:1})]),_:1},8,["modelValue"]),Ve(e.$slots,"header-display",{isStudent:w.value,openDialog:M,studentName:T.value,teacherName:b.value},void 0)],64))}},Pe=le(Se,[["__scopeId","data-v-cebbe710"]]);export{Pe as default}; diff --git a/assets/StudentNameManager-tn0RQdqM.css b/assets/StudentNameManager-tn0RQdqM.css new file mode 100644 index 0000000..e69de29 diff --git a/assets/UrgentTestDialog-BdqUELUV.css b/assets/UrgentTestDialog-BdqUELUV.css new file mode 100644 index 0000000..db74f6a --- /dev/null +++ b/assets/UrgentTestDialog-BdqUELUV.css @@ -0,0 +1 @@ +.gap-1[data-v-c6850940]{gap:4px}.message-history-card .v-chip[data-v-c6850940]{margin:1px} diff --git a/assets/UrgentTestDialog-UNAdXolu.js b/assets/UrgentTestDialog-UNAdXolu.js new file mode 100644 index 0000000..8250336 --- /dev/null +++ b/assets/UrgentTestDialog-UNAdXolu.js @@ -0,0 +1 @@ +import{_ as O,a as L}from"./ChatWidget-BmQ7IWQ8.js";import{a as S}from"./socketClient-DM3fpE4o.js";import{d as N}from"./dataProvider-Dty8Zh7m.js";import{_ as j,e as h,h as I,o as V,l as v,d as y,q as w,c as T,j as W,k as q,p as b}from"./index-Bqe1gKo7.js";import{b as E,c as A}from"./VAppBarTitle-CKv90Z6x.js";import{V as K}from"./VContainer-BHAiZEWc.js";import{V as F,a as x}from"./VRow-C2iyFaHv.js";import{V as M}from"./VForm-CLdG1sH8.js";import{V as P}from"./VSwitch-C77LDPed.js";import{V as R}from"./VCheckbox-DHAqPlv1.js";import{V as z}from"./VTextarea-DiXZJMiq.js";import{X as f,Y as D,Z as s,j as t,a1 as a,S as u,_,F as U,a2 as k,k as m}from"./vendor-vue-H0jQBZ7T.js";import"./soundList-BZnE47k0.js";import"./VChip-CPVASmWt.js";import"./vendor-vuetify-ChAgIwn2.js";import"./deviceEvents-BIvMKD-7.js";import"./VBadge-B7gMUs96.js";import"./VTooltip-UMclv3tZ.js";import"./VPagination-Dj4se6cS.js";import"./vendor-socket-CyTcV1HU.js";import"./serverRotation-CLP7smnN.js";import"./vendor-utils-DDRLRfsI.js";import"./autofocus-Dh4QPNon.js";import"./VCheckboxBtn-nWqvYDIO.js";const X={name:"UrgentTestDialog",components:{ChatWidget:L,EventSender:O},props:{modelValue:{type:Boolean,default:!1}},emits:["update:modelValue"],data(){return{sending:!1,notificationForm:{isUrgent:!1,message:"",isPersistent:!1},sentMessages:[],receiptCleanup:[],persistentNotifications:[],editDialog:!1,editForm:{id:null,message:"",isUrgent:!1,resend:!1},savingEdit:!1,deleteConfirmDialog:!1,itemToDelete:null}},computed:{dialog:{get(){return this.modelValue},set(i){this.$emit("update:modelValue",i)}}},mounted(){this.setupEventListeners(),this.loadPersistentNotifications()},beforeUnmount(){this.cleanup()},methods:{generateNotificationId(){const i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";let e="";for(let l=0;l<32;l++)e+=i.charAt(Math.floor(Math.random()*i.length));return e},async sendNotification(){if(this.notificationForm.message.trim()){this.sending=!0;try{const i=this.generateNotificationId(),e=this.notificationForm.message,l=this.notificationForm.isUrgent,c=this.notificationForm.isPersistent,o=await this.$refs.eventSender.sendNotification(e,l,[],{deviceName:"测试设备",deviceType:"system",isReadOnly:!1},i),r=(o==null?void 0:o.eventId)||`msg-${Date.now()}`;if(this.sentMessages.push({id:r,notificationId:i,message:e,isUrgent:l,timestamp:new Date().toISOString(),receipts:{displayed:[],read:[]}}),c)try{const p="notification-list",g=await N.loadData(p);let n=[];g&&Array.isArray(g)?n=g:g&&g.success!==!1&&Array.isArray(g.data)&&(n=g.data);const d={id:i,message:e,isUrgent:l,timestamp:new Date().toISOString()};n.unshift(d),await N.saveData(p,n),this.persistentNotifications=n,console.log("常驻通知已保存")}catch(p){console.error("保存常驻通知失败",p)}console.log("通知已发送,事件ID:",r,"通知ID:",i),this.resetForm()}catch(i){console.error("发送通知失败:",i)}finally{this.sending=!1}}},resetForm(){this.notificationForm={isUrgent:!1,message:"",isPersistent:!1}},close(){this.dialog=!1},setupEventListeners(){const i=S("notification-displayed",l=>{console.log("收到显示回执:",l),this.updateReceipt(l,"displayed")}),e=S("notification-read",l=>{console.log("收到已读回执:",l),this.updateReceipt(l,"read")});this.receiptCleanup.push(i,e)},updateReceipt(i,e){var r,p,g,n,d;const l=i.originalEventId,c=i.notificationId||((r=i.content)==null?void 0:r.notificationId);if(!l&&!c)return;const o=this.sentMessages.find(C=>C.id===l||C.notificationId===c);if(o){const C={senderId:i.senderId||"unknown-sender",deviceName:((p=i.senderInfo)==null?void 0:p.deviceName)||((g=i.deviceInfo)==null?void 0:g.deviceName)||"未知设备",deviceType:((n=i.senderInfo)==null?void 0:n.deviceType)||((d=i.deviceInfo)==null?void 0:d.deviceType)||"unknown",timestamp:new Date().toISOString()};o.receipts[e].find(B=>B.senderId===C.senderId)||(o.receipts[e].push(C),console.log(`更新${e}回执:`,o.id,C))}},cleanup(){this.receiptCleanup.forEach(i=>i()),this.receiptCleanup=[]},formatTime(i){return new Date(i).toLocaleString("zh-CN")},getReceiptStatus(i){return i.read.length>0?"已读":i.displayed.length>0?"已显示":"已发送"},getReceiptColor(i){return i.read.length>0?"success":i.displayed.length>0?"info":"grey"},formatDeviceTime(i){return new Date(i).toLocaleTimeString("zh-CN")},getMainCardColor(i){return i.read.length>0?"success":i.displayed.length>0?"info":"grey"},hasAnyReceipts(i){return i.read.length>0||i.displayed.length>0},getDisplayedOnlyDevices(i){const e=i.read.map(l=>l.senderId);return i.displayed.filter(l=>!e.includes(l.senderId))},openEditDialog(i){this.editForm={id:i.id,message:i.message,isUrgent:i.isUrgent||!1,resend:!1,timestamp:i.timestamp},this.editDialog=!0},async saveEdit(){var i,e;if(this.editForm.message.trim()){this.savingEdit=!0;try{const l=this.persistentNotifications.findIndex(c=>c.id===this.editForm.id);if(l!==-1){if(this.persistentNotifications[l]={...this.persistentNotifications[l],message:this.editForm.message,isUrgent:this.editForm.isUrgent,timestamp:new Date().toISOString()},await N.saveData("notification-list",this.persistentNotifications),this.editForm.resend){const c=this.editForm.id,o=this.editForm.message,r=this.editForm.isUrgent,p=await this.$refs.eventSender.sendNotification(o,r,[],{deviceName:"测试设备",deviceType:"system",isReadOnly:!1},c),g=(p==null?void 0:p.eventId)||`msg-${Date.now()}`;this.sentMessages.push({id:g,notificationId:c,message:o,isUrgent:r,timestamp:new Date().toISOString(),receipts:{displayed:[],read:[]}})}this.editDialog=!1,(i=this.$message)==null||i.success("已更新")}}catch(l){console.error("保存失败",l),(e=this.$message)==null||e.error("保存失败")}finally{this.savingEdit=!1}}},async loadPersistentNotifications(){try{const i=await N.loadData("notification-list");i&&Array.isArray(i)?this.persistentNotifications=i:i&&i.success!==!1&&Array.isArray(i.data)?this.persistentNotifications=i.data:this.persistentNotifications=[]}catch(i){console.error("加载常驻通知失败",i)}},async deleteNotification(i){if(confirm("确定要删除这个通知吗?"))try{this.sentMessages=this.sentMessages.filter(l=>l.id!==i),this.persistentNotifications=this.persistentNotifications.filter(l=>l.id!==i),console.log("通知已删除,通知ID:",i)}catch(l){console.error("删除通知失败:",l)}},deletePersistentNotification(i){this.itemToDelete=i,this.deleteConfirmDialog=!0},async executeDelete(){var e,l;if(!this.itemToDelete)return;const i=this.itemToDelete;this.deleteConfirmDialog=!1,this.itemToDelete=null;try{this.persistentNotifications=this.persistentNotifications.filter(o=>o.id!==i);const c=this.persistentNotifications.length>0?this.persistentNotifications:{};await N.saveData("notification-list",c),(e=this.$message)==null||e.success("已删除")}catch(c){console.error("删除失败",c),(l=this.$message)==null||l.error("删除失败")}}}},Y={key:0,class:"text-center text-grey py-4"},Z={key:0,class:"text-center text-grey py-8"},G={class:"d-flex align-center mb-2"},H={class:"font-weight-medium"},J={class:"text-caption font-weight-medium"},Q={class:"text-body-2 mb-3",style:{"max-height":"60px",overflow:"hidden"}},$={class:"text-caption"},ee={key:0},te={class:"align-center"},ie={class:"text-body-2 font-weight-medium"},se={class:"text-caption mt-1"},ne={class:"align-center"},oe={class:"text-body-2 font-weight-medium"},le={class:"text-caption text-grey"},re={class:"text-caption text-grey mt-1"},ae={key:1};function de(i,e,l,c,o,r){const p=L,g=O;return f(),D(b,{modelValue:r.dialog,"onUpdate:modelValue":e[11]||(e[11]=n=>r.dialog=n),fullscreen:"",transition:"dialog-bottom-transition",scrollable:""},{default:s(()=>[t(h,null,{default:s(()=>[t(E,{dark:"",flat:""},{default:s(()=>[t(A,null,{default:s(()=>[t(I,{class:"mr-2"},{default:s(()=>[...e[12]||(e[12]=[a(" mdi-chat ",-1)])]),_:1}),e[13]||(e[13]=a(" 发送通知 ",-1))]),_:1}),t(V),t(v,{icon:"mdi-close",onClick:r.close},null,8,["onClick"])]),_:1}),t(y,{class:"pa-0"},{default:s(()=>[t(K,null,{default:s(()=>[t(F,null,{default:s(()=>[t(x,{cols:"12"},{default:s(()=>[t(h,null,{default:s(()=>[t(y,null,{default:s(()=>[t(M,null,{default:s(()=>[t(F,null,{default:s(()=>[t(x,{cols:"12",md:"6"},{default:s(()=>[t(P,{modelValue:o.notificationForm.isUrgent,"onUpdate:modelValue":e[0]||(e[0]=n=>o.notificationForm.isUrgent=n),label:"强调通知",color:"red",inset:""},null,8,["modelValue"]),t(R,{modelValue:o.notificationForm.isPersistent,"onUpdate:modelValue":e[1]||(e[1]=n=>o.notificationForm.isPersistent=n),label:"常驻展示",color:"primary","hide-details":"",class:"mt-0"},null,8,["modelValue"])]),_:1}),t(x,{cols:"12"},{default:s(()=>[t(z,{modelValue:o.notificationForm.message,"onUpdate:modelValue":e[2]||(e[2]=n=>o.notificationForm.message=n),label:"通知内容",outlined:"",rows:"3",placeholder:"请输入强调通知的内容..."},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),_:1}),t(w,{class:"px-6 pb-6"},{default:s(()=>[t(v,{color:o.notificationForm.isUrgent?"red":"blue",disabled:!o.notificationForm.message.trim(),loading:o.sending,size:"large",variant:"elevated",onClick:r.sendNotification},{default:s(()=>[t(I,{left:""},{default:s(()=>[a(u(o.notificationForm.isUrgent?"mdi-alert-circle":"mdi-information"),1)]),_:1}),a(" "+u(o.notificationForm.isUrgent?"发送强调通知":"发送通知"),1)]),_:1},8,["color","disabled","loading","onClick"]),t(V)]),_:1})]),_:1})]),_:1})]),_:1}),t(F,{class:"mt-4"},{default:s(()=>[t(x,{cols:"12"},{default:s(()=>[t(h,null,{default:s(()=>[t(T,null,{default:s(()=>[t(I,{class:"mr-2"},{default:s(()=>[...e[14]||(e[14]=[a("mdi-pin",-1)])]),_:1}),e[15]||(e[15]=a(" 常驻通知管理 ",-1))]),_:1}),t(y,null,{default:s(()=>[o.persistentNotifications.length===0?(f(),_("div",Y," 暂无常驻通知 ")):(f(),D(W,{key:1},{default:s(()=>[(f(!0),_(U,null,k(o.persistentNotifications,n=>(f(),D(q,{key:n.id,title:n.message,subtitle:r.formatTime(n.timestamp),lines:"two"},{prepend:s(()=>[t(I,{color:n.isUrgent?"error":"primary"},{default:s(()=>[a(u(n.isUrgent?"mdi-alert-circle":"mdi-information"),1)]),_:2},1032,["color"])]),append:s(()=>[t(v,{icon:"mdi-pencil",variant:"text",size:"small",onClick:d=>r.openEditDialog(n)},null,8,["onClick"]),t(v,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:d=>r.deletePersistentNotification(n.id)},null,8,["onClick"])]),_:2},1032,["title","subtitle"]))),128))]),_:1}))]),_:1})]),_:1})]),_:1})]),_:1}),t(F,{class:"mt-4"},{default:s(()=>[t(x,{cols:"12"},{default:s(()=>[t(h,null,{default:s(()=>[t(T,null,{default:s(()=>[t(I,{class:"mr-2"},{default:s(()=>[...e[16]||(e[16]=[a(" mdi-history ",-1)])]),_:1}),e[17]||(e[17]=a(" 消息记录 ",-1)),t(V)]),_:1}),t(y,null,{default:s(()=>[o.sentMessages.length===0?(f(),_("div",Z,[t(I,{size:"64",color:"grey-lighten-2"},{default:s(()=>[...e[18]||(e[18]=[a(" mdi-message-outline ",-1)])]),_:1}),e[19]||(e[19]=m("div",{class:"mt-2"}," 暂无发送记录 ",-1))])):(f(),D(F,{key:1},{default:s(()=>[(f(!0),_(U,null,k(o.sentMessages.slice().reverse(),n=>(f(),D(x,{key:n.id,cols:"12",md:"6",lg:"4"},{default:s(()=>[t(h,{color:r.getMainCardColor(n.receipts),class:"mb-2"},{default:s(()=>[t(y,null,{default:s(()=>[m("div",G,[m("span",H,u(n.isUrgent?"强调通知":"通知"),1),t(V),m("span",J,u(r.getReceiptStatus(n.receipts)),1)]),m("div",Q,u(n.message),1),m("div",$,[m("div",null,"发送时间:"+u(r.formatTime(n.timestamp)),1),m("div",null,"事件ID:"+u(n.id),1),m("div",null,"通知ID:"+u(n.notificationId),1)])]),_:2},1024)]),_:2},1032,["color"]),r.hasAnyReceipts(n.receipts)?(f(),_("div",ee,[(f(!0),_(U,null,k(n.receipts.read,d=>(f(),D(h,{key:`${d.senderId}-read`,color:"success",class:"mb-1",size:"small"},{default:s(()=>[t(y,{class:"pa-2"},{default:s(()=>[m("div",te,[m("span",ie,u(d.deviceName),1),e[20]||(e[20]=m("br",null,null,-1)),a(" "+u(d.deviceType),1)]),m("div",se," 已读于 "+u(r.formatDeviceTime(d.timestamp)),1)]),_:2},1024)]),_:2},1024))),128)),(f(!0),_(U,null,k(r.getDisplayedOnlyDevices(n.receipts),d=>(f(),D(h,{key:`${d.senderId}-displayed`,color:"info-lighten-4",variant:"outlined",class:"mb-1",size:"small"},{default:s(()=>[t(y,{class:"pa-2"},{default:s(()=>[m("div",ne,[m("span",oe,u(d.deviceName),1),t(V),m("span",le,u(d.deviceType=="classroom"?"教室设备上的应用":d.deviceType),1)]),m("div",re," 已显示于 "+u(r.formatDeviceTime(d.timestamp)),1)]),_:2},1024)]),_:2},1024))),128))])):(f(),_("div",ae,[t(h,{color:"info-lighten-4",variant:"outlined",class:"mb-1",size:"small",title:"无设备在线"},{default:s(()=>[t(y,null,{default:s(()=>[...e[21]||(e[21]=[a(" 如果数秒后任然显示这个提示,则可能没有任何设备在线接收通知。 ",-1)])]),_:1})]),_:1})]))]),_:2},1024))),128))]),_:1}))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),t(p),t(g,{ref:"eventSender"},null,512),t(b,{modelValue:o.editDialog,"onUpdate:modelValue":e[8]||(e[8]=n=>o.editDialog=n),"max-width":"500",fullscreen:i.$vuetify.display.xs},{default:s(()=>[t(h,null,{default:s(()=>[t(E,{flat:"",density:"compact"},{default:s(()=>[t(A,null,{default:s(()=>[...e[22]||(e[22]=[a("编辑常驻通知",-1)])]),_:1}),t(V),t(v,{icon:"mdi-close",onClick:e[3]||(e[3]=n=>o.editDialog=!1)})]),_:1}),t(y,null,{default:s(()=>[t(M,null,{default:s(()=>[t(z,{modelValue:o.editForm.message,"onUpdate:modelValue":e[4]||(e[4]=n=>o.editForm.message=n),label:"通知内容",rows:"3","auto-grow":""},null,8,["modelValue"]),t(P,{modelValue:o.editForm.isUrgent,"onUpdate:modelValue":e[5]||(e[5]=n=>o.editForm.isUrgent=n),label:"强调通知",color:"error","hide-details":""},null,8,["modelValue"]),t(R,{modelValue:o.editForm.resend,"onUpdate:modelValue":e[6]||(e[6]=n=>o.editForm.resend=n),label:"保存并重新发送通知",hint:"勾选后将作为新通知发送给所有在线设备","persistent-hint":""},null,8,["modelValue"])]),_:1})]),_:1}),t(w,null,{default:s(()=>[t(V),t(v,{variant:"text",onClick:e[7]||(e[7]=n=>o.editDialog=!1)},{default:s(()=>[...e[23]||(e[23]=[a("取消",-1)])]),_:1}),t(v,{color:"primary",loading:o.savingEdit,onClick:r.saveEdit},{default:s(()=>[...e[24]||(e[24]=[a("保存",-1)])]),_:1},8,["loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue","fullscreen"]),t(b,{modelValue:o.deleteConfirmDialog,"onUpdate:modelValue":e[10]||(e[10]=n=>o.deleteConfirmDialog=n),"max-width":"400"},{default:s(()=>[t(h,null,{default:s(()=>[t(T,{class:"text-h5"},{default:s(()=>[...e[25]||(e[25]=[a("确认删除",-1)])]),_:1}),t(y,null,{default:s(()=>[...e[26]||(e[26]=[a("确定要删除这条常驻通知吗?此操作无法撤销。",-1)])]),_:1}),t(w,null,{default:s(()=>[t(V),t(v,{color:"grey-darken-1",variant:"text",onClick:e[9]||(e[9]=n=>o.deleteConfirmDialog=!1)},{default:s(()=>[...e[27]||(e[27]=[a("取消",-1)])]),_:1}),t(v,{color:"error",variant:"text",onClick:r.executeDelete},{default:s(()=>[...e[28]||(e[28]=[a("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])}const Me=j(X,[["render",de],["__scopeId","data-v-c6850940"]]);export{Me as default}; diff --git a/assets/VAlert-B7dotCy7.js b/assets/VAlert-B7dotCy7.js deleted file mode 100644 index 2fac8f4..0000000 --- a/assets/VAlert-B7dotCy7.js +++ /dev/null @@ -1 +0,0 @@ -import{aO as F,p as P,a3 as M,g as N,ar as O,bo as R,cu as j,aG as p,bg as q,co as G,be as K,aB as W,aq as H,c as l,cv as J,i as o,n as y,d as f,t as Q,E as b,aW as S,y as U,av as k,e as X,bp as Y,a_ as Z,cf as ee,bj as ae,m as te,bk as le,cp as ne,bl as oe,bq as se,f as ie,aK as ce,h as re}from"./index-CHEqx3ZK.js";const ue=F("v-alert-title"),de=P({iconSize:[Number,String],iconSizes:{type:Array,default:()=>[["x-small",10],["small",16],["default",24],["large",28],["x-large",32]]}},"iconSize");function ve(e,s){return{iconSize:M(()=>{const a=new Map(e.iconSizes),t=e.iconSize??s()??"default";return a.has(t)?a.get(t):t})}}const me=["success","info","warning","error"],ye=P({border:{type:[Boolean,String],validator:e=>typeof e=="boolean"||["top","end","bottom","start"].includes(e)},borderColor:String,closable:Boolean,closeIcon:{type:Z,default:"$close"},closeLabel:{type:String,default:"$vuetify.close"},icon:{type:[Boolean,String,Function,Object],default:null},modelValue:{type:Boolean,default:!0},prominent:Boolean,title:String,text:String,type:{type:String,validator:e=>me.includes(e)},...re(),...ce(),...ie(),...se(),...de(),...oe(),...ne(),...le(),...te(),...ae(),...ee({variant:"flat"})},"VAlert"),be=N()({name:"VAlert",props:ye(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0},setup(e,s){let{emit:r,slots:a}=s;const t=O(e,"modelValue"),i=k(()=>{if(e.icon!==!1)return e.type?e.icon??`$${e.type}`:e.icon}),{iconSize:g}=ve(e,()=>e.prominent?44:void 0),{themeClasses:V}=R(e),{colorClasses:z,colorStyles:C,variantClasses:x}=j(()=>({color:e.color??e.type,variant:e.variant})),{densityClasses:_}=p(e),{dimensionStyles:B}=X(e),{elevationClasses:h}=Y(e),{locationStyles:I}=q(e),{positionClasses:A}=G(e),{roundedClasses:T}=K(e),{textColorClasses:D,textColorStyles:L}=W(()=>e.borderColor),{t:$}=H(),u=k(()=>({"aria-label":$(e.closeLabel),onClick(c){t.value=!1,r("click:close",c)}}));return()=>{const c=!!(a.prepend||i.value),w=!!(a.title||e.title),E=!!(a.close||e.closable),d={density:e.density,icon:i.value,size:e.iconSize||e.prominent?g.value:void 0};return t.value&&l(e.tag,{class:f(["v-alert",e.border&&{"v-alert--border":!!e.border,[`v-alert--border-${e.border===!0?"start":e.border}`]:!0},{"v-alert--prominent":e.prominent},V.value,z.value,_.value,h.value,A.value,T.value,x.value,e.class]),style:y([C.value,B.value,I.value,e.style]),role:"alert"},{default:()=>{var v,m;return[J(!1,"v-alert"),e.border&&o("div",{key:"border",class:f(["v-alert__border",D.value]),style:y(L.value)},null),c&&o("div",{key:"prepend",class:"v-alert__prepend"},[a.prepend?l(S,{key:"prepend-defaults",disabled:!i.value,defaults:{VIcon:{...d}}},a.prepend):l(Q,b({key:"prepend-icon"},d),null)]),o("div",{class:"v-alert__content"},[w&&l(ue,{key:"title"},{default:()=>{var n;return[((n=a.title)==null?void 0:n.call(a))??e.title]}}),((v=a.text)==null?void 0:v.call(a))??e.text,(m=a.default)==null?void 0:m.call(a)]),a.append&&o("div",{key:"append",class:"v-alert__append"},[a.append()]),E&&o("div",{key:"close",class:"v-alert__close"},[a.close?l(S,{key:"close-defaults",defaults:{VBtn:{icon:e.closeIcon,size:"x-small",variant:"text"}}},{default:()=>{var n;return[(n=a.close)==null?void 0:n.call(a,{props:u.value})]}}):l(U,b({key:"close-btn",icon:e.closeIcon,size:"x-small",variant:"text"},u.value),null)])]}})}}});export{be as V,ue as a}; diff --git a/assets/VAlert-b5nBlHgx.js b/assets/VAlert-b5nBlHgx.js new file mode 100644 index 0000000..7a999d8 --- /dev/null +++ b/assets/VAlert-b5nBlHgx.js @@ -0,0 +1 @@ +import{aa as w,p as P,f as F,n as M,h as R,an as p,I as E,m as O,k as G}from"./vendor-vuetify-ChAgIwn2.js";import{af as q,G as H,a6 as J,ag as K,a7 as Q,D as U,ah as W,h as X,a8 as y,l as Y,b as Z,a9 as ee,ai as ae,m as te,aa as le,aj as ne,ab as oe,ac as se,a as ie,I as re}from"./index-Bqe1gKo7.js";import{e as ce,j as l,k as o,N as f,n as S,m as k,t as b}from"./vendor-vue-H0jQBZ7T.js";const ue=w("v-alert-title"),de=P({iconSize:[Number,String],iconSizes:{type:Array,default:()=>[["x-small",10],["small",16],["default",24],["large",28],["x-large",32]]}},"iconSize");function ve(e,s){return{iconSize:ce(()=>{const a=new Map(e.iconSizes),t=e.iconSize??s()??"default";return a.has(t)?a.get(t):t})}}const me=["success","info","warning","error"],ye=P({border:{type:[Boolean,String],validator:e=>typeof e=="boolean"||["top","end","bottom","start"].includes(e)},borderColor:String,closable:Boolean,closeIcon:{type:E,default:"$close"},closeLabel:{type:String,default:"$vuetify.close"},icon:{type:[Boolean,String,Function,Object],default:null},modelValue:{type:Boolean,default:!0},prominent:Boolean,title:String,text:String,type:{type:String,validator:e=>me.includes(e)},...G(),...re(),...ie(),...se(),...de(),...oe(),...ne(),...le(),...te(),...O(),...ae({variant:"flat"})},"VAlert"),be=F()({name:"VAlert",props:ye(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0},setup(e,s){let{emit:c,slots:a}=s;const t=M(e,"modelValue"),i=b(()=>{if(e.icon!==!1)return e.type?e.icon??`$${e.type}`:e.icon}),{iconSize:V}=ve(e,()=>e.prominent?44:void 0),{themeClasses:g}=R(e),{colorClasses:z,colorStyles:C,variantClasses:x}=q(()=>({color:e.color??e.type,variant:e.variant})),{densityClasses:_}=H(e),{dimensionStyles:h}=Z(e),{elevationClasses:I}=ee(e),{locationStyles:B}=J(e),{positionClasses:A}=K(e),{roundedClasses:T}=Q(e),{textColorClasses:D,textColorStyles:L}=U(()=>e.borderColor),{t:$}=p(),u=b(()=>({"aria-label":$(e.closeLabel),onClick(r){t.value=!1,c("click:close",r)}}));return()=>{const r=!!(a.prepend||i.value),N=!!(a.title||e.title),j=!!(a.close||e.closable),d={density:e.density,icon:i.value,size:e.iconSize||e.prominent?V.value:void 0};return t.value&&l(e.tag,{class:S(["v-alert",e.border&&{"v-alert--border":!!e.border,[`v-alert--border-${e.border===!0?"start":e.border}`]:!0},{"v-alert--prominent":e.prominent},g.value,z.value,_.value,I.value,A.value,T.value,x.value,e.class]),style:f([C.value,h.value,B.value,e.style]),role:"alert"},{default:()=>{var v,m;return[W(!1,"v-alert"),e.border&&o("div",{key:"border",class:S(["v-alert__border",D.value]),style:f(L.value)},null),r&&o("div",{key:"prepend",class:"v-alert__prepend"},[a.prepend?l(y,{key:"prepend-defaults",disabled:!i.value,defaults:{VIcon:{...d}}},a.prepend):l(X,k({key:"prepend-icon"},d),null)]),o("div",{class:"v-alert__content"},[N&&l(ue,{key:"title"},{default:()=>{var n;return[((n=a.title)==null?void 0:n.call(a))??e.title]}}),((v=a.text)==null?void 0:v.call(a))??e.text,(m=a.default)==null?void 0:m.call(a)]),a.append&&o("div",{key:"append",class:"v-alert__append"},[a.append()]),j&&o("div",{key:"close",class:"v-alert__close"},[a.close?l(y,{key:"close-defaults",defaults:{VBtn:{icon:e.closeIcon,size:"x-small",variant:"text"}}},{default:()=>{var n;return[(n=a.close)==null?void 0:n.call(a,{props:u.value})]}}):l(Y,k({key:"close-btn",icon:e.closeIcon,size:"x-small",variant:"text"},u.value),null)])]}})}}});export{be as V,ue as a}; diff --git a/assets/VAppBarTitle-CKv90Z6x.js b/assets/VAppBarTitle-CKv90Z6x.js new file mode 100644 index 0000000..56a89e8 --- /dev/null +++ b/assets/VAppBarTitle-CKv90Z6x.js @@ -0,0 +1 @@ +import{m as U,E as K,a5 as Q,a6 as X,a7 as Z,z as ee,a8 as z,U as te,a9 as ae,aa as le,ab as oe,ac as ne,ad as se,u as ie}from"./index-Bqe1gKo7.js";import{f as I,u as N,p as _,k as M,h as re,A as ue,j as ce,s as E,m as ve,z as de,n as me,C as ge,ay as he,a5 as W,az as fe}from"./vendor-vuetify-ChAgIwn2.js";import{j as f,k as P,N as j,n as q,s as h,e as d,o as A,D as be,A as ye,b as F,w as Se,m as $,t as L}from"./vendor-vue-H0jQBZ7T.js";const J=_({text:String,...M(),...U()},"VToolbarTitle"),O=I()({name:"VToolbarTitle",props:J(),setup(e,b){let{slots:t}=b;return N(()=>{const u=!!(t.default||t.text||e.text);return f(e.tag,{class:q(["v-toolbar-title",e.class]),style:j(e.style)},{default:()=>{var n;return[u&&P("div",{class:"v-toolbar-title__placeholder"},[t.text?t.text():e.text,(n=t.default)==null?void 0:n.call(t)])]}})}),{}}}),Te=[null,"prominent","default","comfortable","compact"],Y=_({absolute:Boolean,collapse:Boolean,collapsePosition:{type:String,default:"start"},color:String,density:{type:String,default:"default",validator:e=>Te.includes(e)},extended:{type:Boolean,default:null},extensionHeight:{type:[Number,String],default:48},flat:Boolean,floating:Boolean,height:{type:[Number,String],default:64},image:String,title:String,...se(),...M(),...ne(),...oe(),...le(),...U({tag:"header"}),...ve()},"VToolbar"),D=I()({name:"VToolbar",props:Y(),setup(e,b){var B;let{slots:t}=b;const{backgroundColorClasses:u,backgroundColorStyles:n}=K(()=>e.color),{borderClasses:o}=Q(e),{elevationClasses:m}=ae(e),{locationStyles:s}=X(e),{roundedClasses:c}=Z(e),{themeClasses:H}=re(e),{rtlClasses:k}=ue(),r=h(e.extended===null?!!((B=t.extension)!=null&&B.call(t)):e.extended),x=d(()=>parseInt(Number(e.height)+(e.density==="prominent"?Number(e.height):0)-(e.density==="comfortable"?8:0)-(e.density==="compact"?16:0),10)),y=d(()=>r.value?parseInt(Number(e.extensionHeight)+(e.density==="prominent"?Number(e.extensionHeight):0)-(e.density==="comfortable"?4:0)-(e.density==="compact"?8:0),10):0);return ce({VBtn:{variant:"text"}}),N(()=>{var V;const v=!!(e.title||t.title),C=!!(t.image||e.image),p=(V=t.extension)==null?void 0:V.call(t);return r.value=e.extended===null?!!p:e.extended,f(e.tag,{class:q(["v-toolbar",`v-toolbar--collapse-${e.collapsePosition}`,{"v-toolbar--absolute":e.absolute,"v-toolbar--collapse":e.collapse,"v-toolbar--flat":e.flat,"v-toolbar--floating":e.floating,[`v-toolbar--density-${e.density}`]:!0},u.value,o.value,m.value,c.value,H.value,k.value,e.class]),style:j([n.value,s.value,e.style])},{default:()=>[C&&P("div",{key:"image",class:"v-toolbar__image"},[t.image?f(z,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{cover:!0,src:e.image}}},t.image):f(ee,{key:"image-img",cover:!0,src:e.image},null)]),f(z,{defaults:{VTabs:{height:E(x.value)}}},{default:()=>{var w,S,l;return[P("div",{class:"v-toolbar__content",style:{height:E(x.value)}},[t.prepend&&P("div",{class:"v-toolbar__prepend"},[(w=t.prepend)==null?void 0:w.call(t)]),v&&f(O,{key:"title",text:e.title},{text:t.title}),(S=t.default)==null?void 0:S.call(t),t.append&&P("div",{class:"v-toolbar__append"},[(l=t.append)==null?void 0:l.call(t)])])]}}),f(z,{defaults:{VTabs:{height:E(y.value)}}},{default:()=>[f(te,null,{default:()=>[r.value&&P("div",{class:"v-toolbar__extension",style:{height:E(y.value)}},[p])]})]})]})}),{contentHeight:x,extensionHeight:y}}}),He=_({scrollTarget:{type:String},scrollThreshold:{type:[String,Number],default:300}},"scroll");function xe(e){let b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{canScroll:t,layoutSize:u}=b;let n=0,o=0;const m=F(null),s=h(0),c=h(0),H=h(0),k=h(!1),r=h(!1),x=h(!1),y=h(!1),B=h(!0),v=d(()=>Number(e.scrollThreshold)),C=d(()=>de((v.value-s.value)/v.value||0));function p(l){const a="window"in l?window.innerHeight:l.clientHeight,i="window"in l?document.documentElement.scrollHeight:l.scrollHeight;return{clientHeight:a,scrollHeight:i}}function V(){const l=m.value;if(!l)return;const{clientHeight:a,scrollHeight:i}=p(l),T=i-a,g=(u==null?void 0:u.value)||0,R=v.value+g;B.value=T>R}function w(){V()}function S(){const l=m.value;if(!l||t&&!t.value)return;n=s.value,s.value="window"in l?l.pageYOffset:l.scrollTop;const a=l instanceof Window?document.documentElement.scrollHeight:l.scrollHeight;o!==a&&(a>o&&V(),o=a),r.value=s.value=T-5;!r.value&&g&&s.value>=v.value&&B.value&&(y.value=!0);const R=Math.abs(s.value-n)>100,G=s.value<=5;(r.value&&n-s.value>1&&!g||R&&s.value{c.value=c.value||s.value}),A(k,()=>{c.value=0}),be(()=>{A(()=>e.scrollTarget,l=>{var i;const a=l?document.querySelector(l):window;a&&a!==m.value&&((i=m.value)==null||i.removeEventListener("scroll",S),m.value=a,m.value.addEventListener("scroll",S,{passive:!0}),Promise.resolve().then(()=>{V()}))},{immediate:!0}),window.addEventListener("resize",w,{passive:!0})}),ye(()=>{var l;(l=m.value)==null||l.removeEventListener("scroll",S),window.removeEventListener("resize",w)}),t&&A(t,S,{immediate:!0}),{scrollThreshold:v,currentScroll:s,currentThreshold:H,isScrollActive:k,scrollRatio:C,isScrollingUp:r,savedScroll:c,isAtBottom:x,reachedBottomWhileScrollingDown:y,hasEnoughScrollableSpace:B}}const Be=_({scrollBehavior:String,modelValue:{type:Boolean,default:!0},location:{type:String,default:"top",validator:e=>["top","bottom"].includes(e)},...W(Y(),["location"]),...fe(),...He(),height:{type:[Number,String],default:64}},"VAppBar"),Pe=I()({name:"VAppBar",props:Be(),emits:{"update:modelValue":e=>!0},setup(e,b){let{slots:t}=b;const u=F(),n=me(e,"modelValue"),o=d(()=>{var i;const a=new Set(((i=e.scrollBehavior)==null?void 0:i.split(" "))??[]);return{hide:a.has("hide"),fullyHide:a.has("fully-hide"),inverted:a.has("inverted"),collapse:a.has("collapse"),elevate:a.has("elevate"),fadeImage:a.has("fade-image")}}),m=d(()=>{const a=o.value;return a.hide||a.fullyHide||a.inverted||a.collapse||a.elevate||a.fadeImage||!n.value}),s=d(()=>{var T,g;const a=((T=u.value)==null?void 0:T.contentHeight)??0,i=((g=u.value)==null?void 0:g.extensionHeight)??0;return a+i}),{currentScroll:c,scrollThreshold:H,isScrollingUp:k,scrollRatio:r,isAtBottom:x,reachedBottomWhileScrollingDown:y,hasEnoughScrollableSpace:B}=xe(e,{canScroll:m,layoutSize:s}),v=L(()=>o.value.hide||o.value.fullyHide),C=d(()=>e.collapse||o.value.collapse&&(o.value.inverted?r.value>0:r.value===0)),p=d(()=>e.flat||o.value.fullyHide&&!n.value||o.value.elevate&&(o.value.inverted?c.value>0:c.value===0)),V=d(()=>o.value.fadeImage?o.value.inverted?1-r.value:r.value:void 0),w=d(()=>{var T,g;if(o.value.hide&&o.value.inverted)return 0;const a=((T=u.value)==null?void 0:T.contentHeight)??0,i=((g=u.value)==null?void 0:g.extensionHeight)??0;return v.value?c.value!!e.scrollBehavior,()=>{Se(()=>{if(!v.value){n.value=!0;return}if(o.value.inverted){n.value=c.value>H.value;return}if(!B.value){n.value=!0;return}if(y.value){n.value=!1;return}n.value=k.value&&!x.value||c.valueparseInt(e.order,10)),position:L(()=>e.location),layoutSize:w,elementSize:h(void 0),active:n,absolute:L(()=>e.absolute)});return N(()=>{const a=W(D.filterProps(e),["location"]);return f(D,$({ref:u,class:["v-app-bar",{"v-app-bar--bottom":e.location==="bottom"},e.class],style:[{...l.value,"--v-toolbar-image-opacity":V.value,height:void 0,...S.value},e.style]},a,{collapse:C.value,flat:p.value}),t)}),{}}}),Ce=I()({name:"VAppBarTitle",props:J(),setup(e,b){let{slots:t}=b;return N(()=>f(O,$(e,{class:"v-app-bar-title"}),t)),{}}});export{Ce as V,Pe as a,D as b,O as c}; diff --git a/assets/VAppBarTitle-CczdD-Q2.css b/assets/VAppBarTitle-CczdD-Q2.css new file mode 100644 index 0000000..ab9e97a --- /dev/null +++ b/assets/VAppBarTitle-CczdD-Q2.css @@ -0,0 +1 @@ +.v-app-bar{display:flex}.v-app-bar.v-toolbar{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-app-bar.v-toolbar:not(.v-toolbar--flat){box-shadow:0 2px 4px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 4px 5px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 10px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-app-bar:not(.v-toolbar--absolute){padding-inline-end:var(--v-scrollbar-offset)}.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}.v-toolbar{align-items:flex-start;display:flex;flex:none;flex-direction:column;justify-content:space-between;max-width:100%;position:relative;transition:.2s cubic-bezier(.4,0,.2,1);transition-property:height,width,transform,max-width,left,right,top,bottom,box-shadow;width:100%}@media (prefers-reduced-motion: reduce){.v-toolbar{transition-property:box-shadow}}.v-toolbar{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-toolbar--border{border-width:thin;box-shadow:none}.v-toolbar{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-toolbar{border-radius:0}.v-toolbar{background:rgb(var(--v-theme-surface-light));color:rgba(var(--v-theme-on-surface-light),var(--v-high-emphasis-opacity))}.v-toolbar--absolute{position:absolute}.v-toolbar--collapse{max-width:112px;overflow:hidden}.v-toolbar--collapse-end{margin-inline-start:auto}.v-toolbar--collapse.v-toolbar--collapse-start{border-end-end-radius:24px}.v-toolbar--collapse.v-toolbar--collapse-end{border-end-start-radius:24px}.v-toolbar--collapse .v-toolbar-title{display:none}.v-toolbar--flat{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-toolbar--floating{display:inline-flex;width:auto}.v-toolbar--rounded{border-radius:4px}.v-toolbar__content,.v-toolbar__extension{align-items:center;display:flex;flex:0 0 auto;position:relative;transition:inherit;width:100%}.v-toolbar__content{overflow:hidden}.v-toolbar__content>.v-btn:first-child{margin-inline-start:4px}.v-toolbar__content>.v-btn:last-child{margin-inline-end:4px}.v-toolbar__content>.v-toolbar-title{margin-inline-start:20px}.v-toolbar--density-prominent .v-toolbar__content{align-items:flex-start}.v-toolbar__image{display:flex;opacity:var(--v-toolbar-image-opacity, 1);transition-property:opacity}.v-toolbar__image{position:absolute;top:0;left:0;width:100%;height:100%}.v-toolbar__prepend,.v-toolbar__append{align-items:center;align-self:stretch;display:flex}.v-toolbar__prepend{margin-inline:4px auto}.v-toolbar__append{margin-inline:auto 4px}.v-toolbar-title{flex:1 1;font-size:1.25rem;min-width:0}.v-toolbar-title{font-size:1.25rem;font-weight:400;letter-spacing:0;line-height:1.75rem;text-transform:none}.v-toolbar--density-prominent .v-toolbar-title{align-self:flex-end;padding-bottom:6px}.v-toolbar--density-prominent .v-toolbar-title{font-size:1.5rem;font-weight:400;letter-spacing:0;line-height:2.25rem;text-transform:none}.v-toolbar-title__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v-toolbar-items{display:flex;height:inherit;align-self:stretch}.v-toolbar-items>.v-btn{border-radius:0} diff --git a/assets/VAppBarTitle-DHaTV8xv.css b/assets/VAppBarTitle-DHaTV8xv.css deleted file mode 100644 index ebb3ba1..0000000 --- a/assets/VAppBarTitle-DHaTV8xv.css +++ /dev/null @@ -1 +0,0 @@ -.v-toolbar{align-items:flex-start;display:flex;flex:none;flex-direction:column;justify-content:space-between;max-width:100%;position:relative;transition:.2s cubic-bezier(.4,0,.2,1);transition-property:height,width,transform,max-width,left,right,top,bottom,box-shadow;width:100%}@media (prefers-reduced-motion: reduce){.v-toolbar{transition-property:box-shadow}}.v-toolbar{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-toolbar--border{border-width:thin;box-shadow:none}.v-toolbar{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-toolbar{border-radius:0}.v-toolbar{background:rgb(var(--v-theme-surface-light));color:rgba(var(--v-theme-on-surface-light),var(--v-high-emphasis-opacity))}.v-toolbar--absolute{position:absolute}.v-toolbar--collapse{max-width:112px;overflow:hidden}.v-toolbar--collapse-end{margin-inline-start:auto}.v-toolbar--collapse.v-toolbar--collapse-start{border-end-end-radius:24px}.v-toolbar--collapse.v-toolbar--collapse-end{border-end-start-radius:24px}.v-toolbar--collapse .v-toolbar-title{display:none}.v-toolbar--flat{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-toolbar--floating{display:inline-flex;width:auto}.v-toolbar--rounded{border-radius:4px}.v-toolbar__content,.v-toolbar__extension{align-items:center;display:flex;flex:0 0 auto;position:relative;transition:inherit;width:100%}.v-toolbar__content{overflow:hidden}.v-toolbar__content>.v-btn:first-child{margin-inline-start:4px}.v-toolbar__content>.v-btn:last-child{margin-inline-end:4px}.v-toolbar__content>.v-toolbar-title{margin-inline-start:20px}.v-toolbar--density-prominent .v-toolbar__content{align-items:flex-start}.v-toolbar__image{display:flex;opacity:var(--v-toolbar-image-opacity, 1);transition-property:opacity}.v-toolbar__image{position:absolute;top:0;left:0;width:100%;height:100%}.v-toolbar__prepend,.v-toolbar__append{align-items:center;align-self:stretch;display:flex}.v-toolbar__prepend{margin-inline:4px auto}.v-toolbar__append{margin-inline:auto 4px}.v-toolbar-title{flex:1 1;font-size:1.25rem;min-width:0}.v-toolbar-title{font-size:1.25rem;font-weight:400;letter-spacing:0;line-height:1.75rem;text-transform:none}.v-toolbar--density-prominent .v-toolbar-title{align-self:flex-end;padding-bottom:6px}.v-toolbar--density-prominent .v-toolbar-title{font-size:1.5rem;font-weight:400;letter-spacing:0;line-height:2.25rem;text-transform:none}.v-toolbar-title__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v-toolbar-items{display:flex;height:inherit;align-self:stretch}.v-toolbar-items>.v-btn{border-radius:0}.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}.v-app-bar{display:flex}.v-app-bar.v-toolbar{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-app-bar.v-toolbar:not(.v-toolbar--flat){box-shadow:0 2px 4px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 4px 5px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 10px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-app-bar:not(.v-toolbar--absolute){padding-inline-end:var(--v-scrollbar-offset)} diff --git a/assets/VAppBarTitle-P_aLwYn3.js b/assets/VAppBarTitle-P_aLwYn3.js deleted file mode 100644 index fef82a1..0000000 --- a/assets/VAppBarTitle-P_aLwYn3.js +++ /dev/null @@ -1 +0,0 @@ -import{g as _,b as A,c as f,i as P,n as U,d as M,p as N,m as W,h as q,aC as Z,bz as K,bg as Q,be as X,bo as ee,b7 as te,az as h,aI as ae,am as le,aW as z,aJ as E,bd as oe,a3 as d,bp as ne,bj as se,bk as ie,bl as re,bq as ue,bI as ce,ae as I,Z as ve,$ as de,a2 as $,bc as me,ar as ge,by as he,b3 as fe,a as be,bC as ye,aA as F,E as J,av as L,bG as Se}from"./index-CHEqx3ZK.js";const j=N({text:String,...q(),...W()},"VToolbarTitle"),G=_()({name:"VToolbarTitle",props:j(),setup(e,b){let{slots:t}=b;return A(()=>{const u=!!(t.default||t.text||e.text);return f(e.tag,{class:M(["v-toolbar-title",e.class]),style:U(e.style)},{default:()=>{var n;return[u&&P("div",{class:"v-toolbar-title__placeholder"},[t.text?t.text():e.text,(n=t.default)==null?void 0:n.call(t)])]}})}),{}}}),Te=[null,"prominent","default","comfortable","compact"],O=N({absolute:Boolean,collapse:Boolean,collapsePosition:{type:String,default:"start"},color:String,density:{type:String,default:"default",validator:e=>Te.includes(e)},extended:{type:Boolean,default:null},extensionHeight:{type:[Number,String],default:48},flat:Boolean,floating:Boolean,height:{type:[Number,String],default:64},image:String,title:String,...ce(),...q(),...ue(),...re(),...ie(),...W({tag:"header"}),...se()},"VToolbar"),D=_()({name:"VToolbar",props:O(),setup(e,b){var B;let{slots:t}=b;const{backgroundColorClasses:u,backgroundColorStyles:n}=Z(()=>e.color),{borderClasses:o}=K(e),{elevationClasses:m}=ne(e),{locationStyles:s}=Q(e),{roundedClasses:c}=X(e),{themeClasses:H}=ee(e),{rtlClasses:k}=te(),r=h(e.extended===null?!!((B=t.extension)!=null&&B.call(t)):e.extended),x=d(()=>parseInt(Number(e.height)+(e.density==="prominent"?Number(e.height):0)-(e.density==="comfortable"?8:0)-(e.density==="compact"?16:0),10)),y=d(()=>r.value?parseInt(Number(e.extensionHeight)+(e.density==="prominent"?Number(e.extensionHeight):0)-(e.density==="comfortable"?4:0)-(e.density==="compact"?8:0),10):0);return ae({VBtn:{variant:"text"}}),A(()=>{var V;const v=!!(e.title||t.title),C=!!(t.image||e.image),p=(V=t.extension)==null?void 0:V.call(t);return r.value=e.extended===null?!!p:e.extended,f(e.tag,{class:M(["v-toolbar",`v-toolbar--collapse-${e.collapsePosition}`,{"v-toolbar--absolute":e.absolute,"v-toolbar--collapse":e.collapse,"v-toolbar--flat":e.flat,"v-toolbar--floating":e.floating,[`v-toolbar--density-${e.density}`]:!0},u.value,o.value,m.value,c.value,H.value,k.value,e.class]),style:U([n.value,s.value,e.style])},{default:()=>[C&&P("div",{key:"image",class:"v-toolbar__image"},[t.image?f(z,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{cover:!0,src:e.image}}},t.image):f(le,{key:"image-img",cover:!0,src:e.image},null)]),f(z,{defaults:{VTabs:{height:E(x.value)}}},{default:()=>{var w,S,l;return[P("div",{class:"v-toolbar__content",style:{height:E(x.value)}},[t.prepend&&P("div",{class:"v-toolbar__prepend"},[(w=t.prepend)==null?void 0:w.call(t)]),v&&f(G,{key:"title",text:e.title},{text:t.title}),(S=t.default)==null?void 0:S.call(t),t.append&&P("div",{class:"v-toolbar__append"},[(l=t.append)==null?void 0:l.call(t)])])]}}),f(z,{defaults:{VTabs:{height:E(y.value)}}},{default:()=>[f(oe,null,{default:()=>[r.value&&P("div",{class:"v-toolbar__extension",style:{height:E(y.value)}},[p])]})]})]})}),{contentHeight:x,extensionHeight:y}}}),He=N({scrollTarget:{type:String},scrollThreshold:{type:[String,Number],default:300}},"scroll");function xe(e){let b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{canScroll:t,layoutSize:u}=b;let n=0,o=0;const m=$(null),s=h(0),c=h(0),H=h(0),k=h(!1),r=h(!1),x=h(!1),y=h(!1),B=h(!0),v=d(()=>Number(e.scrollThreshold)),C=d(()=>me((v.value-s.value)/v.value||0));function p(l){const a="window"in l?window.innerHeight:l.clientHeight,i="window"in l?document.documentElement.scrollHeight:l.scrollHeight;return{clientHeight:a,scrollHeight:i}}function V(){const l=m.value;if(!l)return;const{clientHeight:a,scrollHeight:i}=p(l),T=i-a,g=(u==null?void 0:u.value)||0,R=v.value+g;B.value=T>R}function w(){V()}function S(){const l=m.value;if(!l||t&&!t.value)return;n=s.value,s.value="window"in l?l.pageYOffset:l.scrollTop;const a=l instanceof Window?document.documentElement.scrollHeight:l.scrollHeight;o!==a&&(a>o&&V(),o=a),r.value=s.value=T-5;!r.value&&g&&s.value>=v.value&&B.value&&(y.value=!0);const R=Math.abs(s.value-n)>100,Y=s.value<=5;(r.value&&n-s.value>1&&!g||R&&s.value{c.value=c.value||s.value}),I(k,()=>{c.value=0}),ve(()=>{I(()=>e.scrollTarget,l=>{var i;const a=l?document.querySelector(l):window;a&&a!==m.value&&((i=m.value)==null||i.removeEventListener("scroll",S),m.value=a,m.value.addEventListener("scroll",S,{passive:!0}),Promise.resolve().then(()=>{V()}))},{immediate:!0}),window.addEventListener("resize",w,{passive:!0})}),de(()=>{var l;(l=m.value)==null||l.removeEventListener("scroll",S),window.removeEventListener("resize",w)}),t&&I(t,S,{immediate:!0}),{scrollThreshold:v,currentScroll:s,currentThreshold:H,isScrollActive:k,scrollRatio:C,isScrollingUp:r,savedScroll:c,isAtBottom:x,reachedBottomWhileScrollingDown:y,hasEnoughScrollableSpace:B}}const Be=N({scrollBehavior:String,modelValue:{type:Boolean,default:!0},location:{type:String,default:"top",validator:e=>["top","bottom"].includes(e)},...F(O(),["location"]),...Se(),...He(),height:{type:[Number,String],default:64}},"VAppBar"),we=_()({name:"VAppBar",props:Be(),emits:{"update:modelValue":e=>!0},setup(e,b){let{slots:t}=b;const u=$(),n=ge(e,"modelValue"),o=d(()=>{var i;const a=new Set(((i=e.scrollBehavior)==null?void 0:i.split(" "))??[]);return{hide:a.has("hide"),fullyHide:a.has("fully-hide"),inverted:a.has("inverted"),collapse:a.has("collapse"),elevate:a.has("elevate"),fadeImage:a.has("fade-image")}}),m=d(()=>{const a=o.value;return a.hide||a.fullyHide||a.inverted||a.collapse||a.elevate||a.fadeImage||!n.value}),s=d(()=>{var T,g;const a=((T=u.value)==null?void 0:T.contentHeight)??0,i=((g=u.value)==null?void 0:g.extensionHeight)??0;return a+i}),{currentScroll:c,scrollThreshold:H,isScrollingUp:k,scrollRatio:r,isAtBottom:x,reachedBottomWhileScrollingDown:y,hasEnoughScrollableSpace:B}=xe(e,{canScroll:m,layoutSize:s}),v=L(()=>o.value.hide||o.value.fullyHide),C=d(()=>e.collapse||o.value.collapse&&(o.value.inverted?r.value>0:r.value===0)),p=d(()=>e.flat||o.value.fullyHide&&!n.value||o.value.elevate&&(o.value.inverted?c.value>0:c.value===0)),V=d(()=>o.value.fadeImage?o.value.inverted?1-r.value:r.value:void 0),w=d(()=>{var T,g;if(o.value.hide&&o.value.inverted)return 0;const a=((T=u.value)==null?void 0:T.contentHeight)??0,i=((g=u.value)==null?void 0:g.extensionHeight)??0;return v.value?c.value!!e.scrollBehavior,()=>{fe(()=>{if(!v.value){n.value=!0;return}if(o.value.inverted){n.value=c.value>H.value;return}if(!B.value){n.value=!0;return}if(y.value){n.value=!1;return}n.value=k.value&&!x.value||c.valueparseInt(e.order,10)),position:L(()=>e.location),layoutSize:w,elementSize:h(void 0),active:n,absolute:L(()=>e.absolute)});return A(()=>{const a=F(D.filterProps(e),["location"]);return f(D,J({ref:u,class:["v-app-bar",{"v-app-bar--bottom":e.location==="bottom"},e.class],style:[{...l.value,"--v-toolbar-image-opacity":V.value,height:void 0,...S.value},e.style]},a,{collapse:C.value,flat:p.value}),t)}),{}}}),ke=_()({name:"VAppBarTitle",props:j(),setup(e,b){let{slots:t}=b;return A(()=>f(G,J(e,{class:"v-app-bar-title"}),t)),{}}});export{D as V,G as a,ke as b,we as c}; diff --git a/assets/VAutocomplete-Buofo9XU.js b/assets/VAutocomplete-Buofo9XU.js new file mode 100644 index 0000000..4680ed8 --- /dev/null +++ b/assets/VAutocomplete-Buofo9XU.js @@ -0,0 +1 @@ +import{d as Ne,e as Ke}from"./autofocus-Dh4QPNon.js";import{u as Oe,a as ze,c as Ue,h as $e,d as je,e as qe,m as He,b as We}from"./VSelect-DC96rbwz.js";import{V as ae,m as Ge}from"./VTextField-B7edjjhw.js";import{ay as Je,D as Qe,h as te,j as Xe,k as ue,i as Ye,W as Ze,L as el,a8 as ll,C as al}from"./index-Bqe1gKo7.js";import{f as tl,an as ul,n as W,w as nl,E as ol,u as il,aD as sl,aE as rl,aF as ne,o as cl,_ as oe,p as vl,a5 as dl}from"./vendor-vuetify-ChAgIwn2.js";import{V as fl,a as ml}from"./VSheet-DHN9xqm_.js";import{V as pl}from"./VCheckboxBtn-nWqvYDIO.js";import{V as ie}from"./VChip-CPVASmWt.js";import{o as K,I as se,j as f,k as x,F as G,m as S,N as hl,n as gl,a1 as yl,s as A,e as w,b as P,t as Vl}from"./vendor-vue-H0jQBZ7T.js";const kl=vl({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:Boolean,search:String,...He({filterKeys:["title"]}),...qe(),...dl(Ge({modelValue:null,role:"combobox"}),["validationValue","dirty"])},"VAutocomplete"),Al=tl()({name:"VAutocomplete",props:kl(),emits:{"update:focused":l=>!0,"update:search":l=>!0,"update:modelValue":l=>!0,"update:menu":l=>!0},setup(l,re){let{slots:t}=re;const{t:ce}=ul(),p=P(),y=A(!1),g=A(!0),O=A(!1),z=P(),U=P(),s=A(-1),D=A(null),{items:$,transformIn:ve,transformOut:de}=Je(l),{textColorClasses:fe,textColorStyles:me}=Qe(()=>{var e;return(e=p.value)==null?void 0:e.color}),{InputIcon:pe}=Ne(l),r=W(l,"search",""),n=W(l,"modelValue",[],e=>ve(e===null?[null]:nl(e)),e=>{const a=de(e);return l.multiple?a:a[0]??null}),he=w(()=>typeof l.counterValue=="function"?l.counterValue(n.value):typeof l.counterValue=="number"?l.counterValue:n.value.length),R=Ke(l),{filteredItems:L,getMatches:ge}=Oe(l,$,()=>D.value??(g.value?"":r.value)),V=w(()=>l.hideSelected&&D.value===null?L.value.filter(e=>!n.value.some(a=>a.value===e.value)):L.value),J=Vl(()=>l.closableChips&&!R.isReadonly.value&&!R.isDisabled.value),_=w(()=>!!(l.chips||t.chip)),E=w(()=>_.value||!!t.selection),ye=w(()=>n.value.map(e=>e.props.value)),M=w(()=>V.value.find(e=>e.type==="item"&&!e.props.disabled)),j=w(()=>{var a;return(l.autoSelectFirst===!0||l.autoSelectFirst==="exact"&&r.value===((a=M.value)==null?void 0:a.title))&&V.value.length>0&&!g.value&&!O.value}),B=w(()=>l.hideNoData&&!V.value.length||R.isReadonly.value||R.isDisabled.value),q=W(l,"menu"),v=w({get:()=>q.value,set:e=>{var a;q.value&&!e&&((a=z.value)!=null&&a.ΨopenChildren.size)||e&&B.value||(q.value=e)}}),{menuId:Ve,ariaExpanded:ke,ariaControls:be}=ze(l,v),T=P(),Q=P(),X=P(),Ce=je(T,p),{onTabKeydown:Se}=We({groups:[{type:"element",contentRef:Q},{type:"list",contentRef:T,displayItemsCount:()=>V.value.length},{type:"element",contentRef:X}],onLeave:()=>{var e;v.value=!1,(e=p.value)==null||e.focus()}});function we(e){l.openOnClear&&(v.value=!0),r.value=""}function Ie(){B.value||(v.value=!0)}function xe(e){B.value||(y.value&&(e.preventDefault(),e.stopPropagation()),v.value=!v.value)}function Fe(e){var a,u;e.key==="Tab"&&Se(e),(a=T.value)!=null&&a.$el.contains(e.target)&&(ne(e)||e.key==="Backspace")&&((u=p.value)==null||u.focus())}function De(e){var k,d,I,o,m;if(R.isReadonly.value)return;const a=(k=p.value)==null?void 0:k.selectionStart,u=n.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(e.key)&&e.preventDefault(),["Enter","ArrowDown"].includes(e.key)&&(v.value=!0),["Escape"].includes(e.key)&&(v.value=!1),j.value&&["Enter","Tab"].includes(e.key)&&M.value&&!n.value.some(c=>{let{value:C}=c;return C===M.value.value})&&F(M.value),e.key==="ArrowDown"&&j.value&&((d=T.value)==null||d.focus("next")),["Backspace","Delete"].includes(e.key)){if(!l.multiple&&E.value&&n.value.length>0&&!r.value)return F(n.value[0],!1);if(~s.value){e.preventDefault();const c=s.value;F(n.value[s.value],!1),s.value=c>=u-1?u-2:c}else e.key==="Backspace"&&!r.value&&(s.value=u-1);return}if(l.multiple)if(e.key==="ArrowLeft"){if(s.value<0&&a&&a>0)return;const c=s.value>-1?s.value-1:u-1;if(n.value[c])s.value=c;else{const C=((I=r.value)==null?void 0:I.length)??null;s.value=-1,(o=p.value)==null||o.setSelectionRange(C,C)}}else if(e.key==="ArrowRight"){if(s.value<0)return;const c=s.value+1;n.value[c]?s.value=c:(s.value=-1,(m=p.value)==null||m.setSelectionRange(0,0))}else~s.value&&ne(e)&&(s.value=-1)}function Re(e){if(oe(p.value,":autofill")||oe(p.value,":-webkit-autofill")){const a=$.value.find(u=>u.title===e.target.value);a&&F(a)}}function Ae(){var e;l.eager&&((e=U.value)==null||e.calculateVisibleItems())}function Pe(){var e;y.value&&(g.value=!0,(e=p.value)==null||e.focus()),D.value=null}function Ee(e){y.value=!0,setTimeout(()=>{O.value=!0})}function Me(e){O.value=!1}function Te(e){(e==null||e===""&&!l.multiple&&!E.value)&&(n.value=[])}function Le(e){var u;const a=(u=z.value)==null?void 0:u.contentEl;a!=null&&a.contains(e.relatedTarget)&&(y.value=!0)}const H=A(!1);function F(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!(!e||e.props.disabled))if(l.multiple){const u=n.value.findIndex(d=>(l.valueComparator||cl)(d.value,e.value)),k=a??!~u;if(~u){const d=k?[...n.value,e]:[...n.value];d.splice(u,1),n.value=d}else k&&(n.value=[...n.value,e]);l.clearOnSelect&&(r.value="")}else{const u=a!==!1;n.value=u?[e]:[],D.value=g.value?"":r.value??"",r.value=u&&!E.value?e.title:"",se(()=>{v.value=!1,g.value=!0})}}return K(y,(e,a)=>{var u;e!==a&&(e?(H.value=!0,r.value=l.multiple||E.value?"":String(((u=n.value.at(-1))==null?void 0:u.props.title)??""),g.value=!0,se(()=>H.value=!1)):(!l.multiple&&r.value==null&&(n.value=[]),v.value=!1,!g.value&&r.value&&(D.value=r.value),r.value="",s.value=-1))}),K(r,e=>{!y.value||H.value||(e&&(v.value=!0),g.value=!e)}),K(v,e=>{if(!l.hideSelected&&e&&n.value.length&&g.value){const a=V.value.findIndex(u=>n.value.some(k=>u.value===k.value));ol&&window.requestAnimationFrame(()=>{var u;a>=0&&((u=U.value)==null||u.scrollToIndex(a))})}e&&(D.value=null)}),K($,(e,a)=>{v.value||y.value&&!a.length&&e.length&&(v.value=!0)}),il(()=>{const e=!!(!l.hideNoData||V.value.length||t["prepend-item"]||t["append-item"]||t["no-data"]),a=n.value.length>0,u=ae.filterProps(l),k={search:r,filteredItems:L.value};return f(ae,S({ref:p},u,{modelValue:r.value,"onUpdate:modelValue":[d=>r.value=d,Te],focused:y.value,"onUpdate:focused":d=>y.value=d,validationValue:n.externalValue,counterValue:he.value,dirty:a,onChange:Re,class:["v-autocomplete",`v-autocomplete--${l.multiple?"multiple":"single"}`,{"v-autocomplete--active-menu":v.value,"v-autocomplete--chips":!!l.chips,"v-autocomplete--selection-slot":!!E.value,"v-autocomplete--selecting-index":s.value>-1},l.class],style:l.style,readonly:R.isReadonly.value,placeholder:a?void 0:l.placeholder,"onClick:clear":we,"onMousedown:control":Ie,onKeydown:De,onBlur:Le,"aria-expanded":ke.value,"aria-controls":be.value}),{...t,default:d=>{let{id:I}=d;return x(G,null,[f(fl,S({id:Ve.value,ref:z,modelValue:v.value,"onUpdate:modelValue":o=>v.value=o,activator:"parent",contentClass:"v-autocomplete__content",disabled:B.value,eager:l.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,onAfterEnter:Ae,onAfterLeave:Pe},l.menuProps),{default:()=>[f(ml,{onFocusin:Ee,onKeydown:Fe},{default:()=>[t["menu-header"]&&x("header",{ref:Q},[t["menu-header"](k)]),e&&f(Xe,S({key:"autocomplete-list",ref:T,filterable:!0,selected:ye.value,selectStrategy:l.multiple?"independent":"single-independent",onMousedown:o=>o.preventDefault(),onFocusout:Me,tabindex:"-1",selectable:!!V.value.length,"aria-live":"polite","aria-labelledby":`${I.value}-label`,"aria-multiselectable":l.multiple,color:l.itemColor??l.color},Ce,l.listProps),{default:()=>{var o,m,c;return[(o=t["prepend-item"])==null?void 0:o.call(t),!V.value.length&&!l.hideNoData&&(((m=t["no-data"])==null?void 0:m.call(t))??f(ue,{key:"no-data",title:ce(l.noDataText)},null)),f(Ue,{ref:U,renderless:!0,items:V.value,itemKey:"value"},{default:C=>{var Z,ee,le;let{item:i,index:b,itemRef:h}=C;const Y=S(i.props,{ref:h,key:i.value,active:j.value&&i===M.value?!0:void 0,onClick:()=>F(i,null),"aria-posinset":b+1,"aria-setsize":V.value.length});return i.type==="divider"?((Z=t.divider)==null?void 0:Z.call(t,{props:i.raw,index:b}))??f(Ye,S(i.props,{key:`divider-${b}`}),null):i.type==="subheader"?((ee=t.subheader)==null?void 0:ee.call(t,{props:i.raw,index:b}))??f(Ze,S(i.props,{key:`subheader-${b}`}),null):((le=t.item)==null?void 0:le.call(t,{item:i,index:b,props:Y}))??f(ue,S(Y,{role:"option"}),{prepend:N=>{let{isSelected:_e}=N;return x(G,null,[l.multiple&&!l.hideSelected?f(pl,{key:i.value,modelValue:_e,ripple:!1,tabindex:"-1","aria-hidden":!0,onClick:Be=>Be.preventDefault()},null):void 0,i.props.prependAvatar&&f(el,{image:i.props.prependAvatar},null),i.props.prependIcon&&f(te,{icon:i.props.prependIcon},null)])},title:()=>{var N;return g.value?i.title:$e("v-autocomplete",i.title,(N=ge(i))==null?void 0:N.title)}})}}),(c=t["append-item"])==null?void 0:c.call(t)]}}),t["menu-footer"]&&x("footer",{ref:X},[t["menu-footer"](k)])]})]}),n.value.map((o,m)=>{function c(h){h.stopPropagation(),h.preventDefault(),F(o,!1)}const C=S(ie.filterProps(o.props),{"onClick:close":c,onKeydown(h){h.key!=="Enter"&&h.key!==" "||(h.preventDefault(),h.stopPropagation(),c(h))},onMousedown(h){h.preventDefault(),h.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0}),i=_.value?!!t.chip:!!t.selection,b=i?rl(_.value?t.chip({item:o,index:m,props:C}):t.selection({item:o,index:m})):void 0;if(!(i&&!b))return x("div",{key:o.value,class:gl(["v-autocomplete__selection",m===s.value&&["v-autocomplete__selection--selected",fe.value]]),style:hl(m===s.value?me.value:{})},[_.value?t.chip?f(ll,{key:"chip-defaults",defaults:{VChip:{closable:J.value,size:"small",text:o.title}}},{default:()=>[b]}):f(ie,S({key:"chip",closable:J.value,size:"small",text:o.title,disabled:o.props.disabled},C),null):b??x("span",{class:"v-autocomplete__selection-text"},[o.title,l.multiple&&minput,.v-autocomplete .v-field.v-field{cursor:text}.v-autocomplete .v-field .v-field__input>input{flex:1 1}.v-autocomplete .v-field input{min-width:64px}.v-autocomplete .v-field:not(.v-field--focused) input{min-width:0}.v-autocomplete .v-field--dirty .v-autocomplete__selection{margin-inline-end:2px}.v-autocomplete .v-autocomplete__selection-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v-autocomplete__content{overflow:hidden}.v-autocomplete__content{box-shadow:0 2px 4px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 4px 5px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 10px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-menu>.v-overlay__content.v-autocomplete__content{border-radius:4px}.v-autocomplete__content>.v-sheet{display:flex;flex-direction:column}.v-autocomplete__mask{background:rgb(var(--v-theme-surface-light))}.v-autocomplete__selection{display:inline-flex;align-items:center;height:1.5rem;letter-spacing:inherit;line-height:inherit;max-width:calc(100% - 4px)}.v-autocomplete__selection:first-child{margin-inline-start:0}.v-autocomplete--selecting-index .v-autocomplete__selection{opacity:var(--v-medium-emphasis-opacity)}.v-autocomplete--selecting-index .v-autocomplete__selection--selected{opacity:1}.v-autocomplete--selecting-index .v-field__input>input{caret-color:transparent}.v-autocomplete--single:not(.v-autocomplete--selection-slot).v-text-field input{flex:1 1;position:absolute;left:0;right:0;width:100%;padding-inline:inherit}.v-autocomplete--single:not(.v-autocomplete--selection-slot) .v-field--active input{transition:none}.v-autocomplete--single:not(.v-autocomplete--selection-slot) .v-field--dirty:not(.v-field--focused) input{opacity:0}.v-autocomplete--single:not(.v-autocomplete--selection-slot) .v-field--focused .v-autocomplete__selection{opacity:0}.v-autocomplete__menu-icon{margin-inline-start:4px;transition:.2s cubic-bezier(.4,0,.2,1)}.v-autocomplete--active-menu .v-autocomplete__menu-icon{transform:rotate(180deg)} diff --git a/assets/VBadge-B7gMUs96.js b/assets/VBadge-B7gMUs96.js new file mode 100644 index 0000000..da91016 --- /dev/null +++ b/assets/VBadge-B7gMUs96.js @@ -0,0 +1 @@ +import{j as o,k as d,R as V,V as B,m as u}from"./vendor-vue-H0jQBZ7T.js";import{E as h,a7 as P,D as x,a6 as T,a2 as D,h as R,b as _,a as w,aD as I,m as L,aa as A,ab as X}from"./index-Bqe1gKo7.js";import{f as Y,an as $,t as j,u as E,aK as F,p as K,I as M,m as W,k as q}from"./vendor-vuetify-ChAgIwn2.js";const z=K({bordered:Boolean,color:String,content:[Number,String],dot:Boolean,floating:Boolean,icon:M,inline:Boolean,label:{type:String,default:"$vuetify.badge"},max:[Number,String],modelValue:{type:Boolean,default:!0},offsetX:[Number,String],offsetY:[Number,String],textColor:String,...q(),...X({location:"top end"}),...A(),...L(),...W(),...I({transition:"scale-rotate-transition"}),...w()},"VBadge"),O=Y()({name:"VBadge",inheritAttrs:!1,props:z(),setup(e,t){const{backgroundColorClasses:c,backgroundColorStyles:m}=h(()=>e.color),{roundedClasses:b}=P(e),{t:g}=$(),{textColorClasses:f,textColorStyles:v}=x(()=>e.textColor),{themeClasses:k}=j(),{locationStyles:C}=T(e,!0,a=>(e.floating?e.dot?2:4:e.dot?8:12)+(["top","bottom"].includes(a)?Number(e.offsetY??0):["left","right"].includes(a)?Number(e.offsetX??0):0)),{dimensionStyles:y}=_(e);return E(()=>{const a=Number(e.content),n=!e.max||isNaN(a)?e.content:a<=Number(e.max)?a:`${e.max}+`,[N,S]=F(t.attrs,["aria-atomic","aria-label","aria-live","role","title"]);return o(e.tag,u({class:["v-badge",{"v-badge--bordered":e.bordered,"v-badge--dot":e.dot,"v-badge--floating":e.floating,"v-badge--inline":e.inline},e.class]},S,{style:e.style}),{default:()=>{var s,l;return[d("div",{class:"v-badge__wrapper"},[(l=(s=t.slots).default)==null?void 0:l.call(s),o(D,{transition:e.transition},{default:()=>{var i,r;return[V(d("span",u({class:["v-badge__badge",k.value,c.value,b.value,f.value],style:[m.value,v.value,y.value,e.inline?{}:C.value],"aria-atomic":"true","aria-label":g(e.label,a),"aria-live":"polite",role:"status"},N),[e.dot?void 0:t.slots.badge?(r=(i=t.slots).badge)==null?void 0:r.call(i):e.icon?o(R,{icon:e.icon},null):n]),[[B,e.modelValue]])]}})])]}})}),{}}});export{O as V}; diff --git a/assets/VBadge-BGqjJnM0.css b/assets/VBadge-BGqjJnM0.css new file mode 100644 index 0000000..a86d16d --- /dev/null +++ b/assets/VBadge-BGqjJnM0.css @@ -0,0 +1 @@ +.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}.v-badge{display:inline-block;line-height:1}.v-badge__badge{align-items:center;display:inline-flex;border-radius:10px;font-family:Roboto,sans-serif;font-size:.75rem;font-weight:500;height:1.25rem;justify-content:center;min-width:20px;padding:4px 6px;pointer-events:auto;position:absolute;text-align:center;text-indent:0;transition:.225s cubic-bezier(.4,0,.2,1);white-space:nowrap}.v-badge__badge{background:rgb(var(--v-theme-surface-variant));color:rgba(var(--v-theme-on-surface-variant),var(--v-high-emphasis-opacity))}.v-badge__badge:has(.v-icon){padding:4px 6px}.v-badge--bordered .v-badge__badge:after{border-radius:inherit;border-style:solid;border-width:2px;bottom:0;color:rgb(var(--v-theme-background));content:"";left:0;position:absolute;right:0;top:0;transform:scale(1.05)}.v-badge--dot .v-badge__badge{border-radius:4.5px;height:9px;min-width:0;padding:0;width:9px}.v-badge--dot .v-badge__badge:after{border-width:1.5px}.v-badge--inline .v-badge__badge{position:relative;vertical-align:middle}.v-badge__badge .v-icon{color:inherit;font-size:.75rem;margin:0 -2px}.v-badge__badge img,.v-badge__badge .v-img{height:100%;width:100%}.v-badge__wrapper{display:flex;position:relative}.v-badge--inline .v-badge__wrapper{align-items:center;display:inline-flex;justify-content:center;margin:0 4px}@media (forced-colors: active){.v-badge__badge{forced-color-adjust:preserve-parent-color}.v-badge__badge.v-badge__badge{background:highlight!important;color:highlighttext!important}} diff --git a/assets/VCheckbox-DHAqPlv1.js b/assets/VCheckbox-DHAqPlv1.js new file mode 100644 index 0000000..880f346 --- /dev/null +++ b/assets/VCheckbox-DHAqPlv1.js @@ -0,0 +1 @@ +import{V as r,m as F}from"./VCheckboxBtn-nWqvYDIO.js";import{u as R,V as l,c as g}from"./autofocus-Dh4QPNon.js";import{C as B}from"./index-Bqe1gKo7.js";import{f as U,n as j,u as w,ao as D,p as E,a5 as u}from"./vendor-vuetify-ChAgIwn2.js";import{E as M,j as c,m as d,b as N}from"./vendor-vue-H0jQBZ7T.js";const $=E({...u(g(),["direction"]),...u(F(),["inline"])},"VCheckbox"),K=U()({name:"VCheckbox",inheritAttrs:!1,props:$(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,n){let{attrs:i,slots:a}=n;const o=j(e,"modelValue"),{isFocused:m,focus:f,blur:V}=R(e),t=N(),p=M();return w(()=>{const[b,k]=D(i),v=l.filterProps(e),x=r.filterProps(e);return c(l,d({ref:t,class:["v-checkbox",e.class]},b,v,{modelValue:o.value,"onUpdate:modelValue":s=>o.value=s,id:e.id||`checkbox-${p}`,focused:m.value,style:e.style}),{...a,default:s=>{let{id:h,messagesId:P,isDisabled:C,isReadonly:y,isValid:I}=s;return c(r,d(x,{id:h.value,"aria-describedby":P.value,disabled:C.value,readonly:y.value},k,{error:I.value===!1,modelValue:o.value,"onUpdate:modelValue":A=>o.value=A,onFocus:f,onBlur:V}),a)}})}),B({},t)}});export{K as V}; diff --git a/assets/VCheckbox-ZL-u1kGB.css b/assets/VCheckbox-ZL-u1kGB.css new file mode 100644 index 0000000..e1b6c99 --- /dev/null +++ b/assets/VCheckbox-ZL-u1kGB.css @@ -0,0 +1 @@ +.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}.v-checkbox.v-input{flex:0 1 auto}.v-checkbox .v-selection-control{min-height:var(--v-input-control-height)} diff --git a/assets/VCheckboxBtn-L9oezRC0.js b/assets/VCheckboxBtn-L9oezRC0.js deleted file mode 100644 index 12d5303..0000000 --- a/assets/VCheckboxBtn-L9oezRC0.js +++ /dev/null @@ -1 +0,0 @@ -import{a as o,m as f}from"./VSwitch-CsrhG2o9.js";import{g as v,ar as c,b as V,aA as I,c as k,E as x,av as l,p as b,a_ as h}from"./index-CHEqx3ZK.js";const C=b({indeterminate:Boolean,indeterminateIcon:{type:h,default:"$checkboxIndeterminate"},...f({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),B=v()({name:"VCheckboxBtn",props:C(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,r){let{slots:s}=r;const t=c(e,"indeterminate"),a=c(e,"modelValue");function u(n){t.value&&(t.value=!1)}const i=l(()=>t.value?e.indeterminateIcon:e.falseIcon),m=l(()=>t.value?e.indeterminateIcon:e.trueIcon);return V(()=>{const n=I(o.filterProps(e),["modelValue"]);return k(o,x(n,{modelValue:a.value,"onUpdate:modelValue":[d=>a.value=d,u],class:["v-checkbox-btn",e.class],style:e.style,type:"checkbox",falseIcon:i.value,trueIcon:m.value,"aria-checked":t.value?"mixed":void 0}),s)}),{}}});export{B as V,C as m}; diff --git a/assets/VCheckboxBtn-nWqvYDIO.js b/assets/VCheckboxBtn-nWqvYDIO.js new file mode 100644 index 0000000..b32639b --- /dev/null +++ b/assets/VCheckboxBtn-nWqvYDIO.js @@ -0,0 +1 @@ +import{a,m as f}from"./VSwitch-C77LDPed.js";import{f as I,n as c,u as V,a5 as v,p as k,I as x}from"./vendor-vuetify-ChAgIwn2.js";import{j as h,m as b,t as l}from"./vendor-vue-H0jQBZ7T.js";const C=k({indeterminate:Boolean,indeterminateIcon:{type:x,default:"$checkboxIndeterminate"},...f({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),B=I()({name:"VCheckboxBtn",props:C(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,r){let{slots:s}=r;const t=c(e,"indeterminate"),n=c(e,"modelValue");function u(o){t.value&&(t.value=!1)}const m=l(()=>t.value?e.indeterminateIcon:e.falseIcon),i=l(()=>t.value?e.indeterminateIcon:e.trueIcon);return V(()=>{const o=v(a.filterProps(e),["modelValue"]);return h(a,b(o,{modelValue:n.value,"onUpdate:modelValue":[d=>n.value=d,u],class:["v-checkbox-btn",e.class],style:e.style,type:"checkbox",falseIcon:m.value,trueIcon:i.value,"aria-checked":t.value?"mixed":void 0}),s)}),{}}});export{B as V,C as m}; diff --git a/assets/VChip-B02B673U.js b/assets/VChip-B02B673U.js deleted file mode 100644 index ff29e2e..0000000 --- a/assets/VChip-B02B673U.js +++ /dev/null @@ -1 +0,0 @@ -import{g as le,b7 as Pe,X as we,bU as ye,cd as se,cB as Ee,aS as ie,ae as pe,b as me,c as h,i as m,b8 as oe,t as R,d as M,n as Re,a3 as S,az as F,ck as _e,p as te,a_ as _,bV as ke,m as ae,bH as Te,h as ne,bo as ge,aI as Be,E as ee,aY as Fe,cf as Se,bj as Ce,av as A,S as ce,aq as Oe,bz as De,aG as Ge,be as We,cC as Le,ar as Me,bR as re,cD as He,cu as qe,I as ue,cv as $e,cE as Ke,aW as H,J as Ne,F as de,L as ve,A as Ue,bp as je,cg as Xe,cF as Je,bk as Qe,bS as Ye,bq as Ze,aK as el,bI as ll,b0 as fe}from"./index-CHEqx3ZK.js";function tl(e){let{selectedElement:s,containerElement:n,isRtl:r,isHorizontal:i}=e;const y=O(i,n),c=Ie(i,r,n),p=O(i,s),b=xe(i,s),k=p*.4;return c>b?b-k:c+ytypeof e=="boolean"||["always","desktop","mobile","never"].includes(e)},...ne(),...Te({mobile:null}),...ae(),...ke({selectedClass:"v-slide-group-item--active"})},"VSlideGroup"),be=le()({name:"VSlideGroup",props:ze(),emits:{"update:modelValue":e=>!0},setup(e,s){let{slots:n}=s;const{isRtl:r}=Pe(),{displayClasses:i,mobile:y}=we(e),c=ye(e,e.symbol),p=F(!1),b=F(0),k=F(0),V=F(0),v=S(()=>e.direction==="horizontal"),{resizeRef:d,contentRect:a}=se(),{resizeRef:u,contentRect:g}=se(),D=Ee(),C=S(()=>({container:d.el,duration:200,easing:"easeOutQuart"})),q=S(()=>c.selected.value.length?c.items.value.findIndex(t=>t.id===c.selected.value[0]):-1),$=S(()=>c.selected.value.length?c.items.value.findIndex(t=>t.id===c.selected.value[c.selected.value.length-1]):-1);if(ie){let t=-1;pe(()=>[c.selected.value,a.value,g.value,v.value],()=>{cancelAnimationFrame(t),t=requestAnimationFrame(()=>{if(a.value&&g.value){const l=v.value?"width":"height";k.value=a.value[l],V.value=g.value[l],p.value=k.value+1=0&&u.el){const l=u.el.children[$.value];G(l,e.centerActive)}})})}const P=F(!1);function G(t,l){let o=0;l?o=al({containerElement:d.el,isHorizontal:v.value,selectedElement:t}):o=tl({containerElement:d.el,isHorizontal:v.value,isRtl:r.value,selectedElement:t}),T(o)}function T(t){if(!ie||!d.el)return;const l=O(v.value,d.el),o=Ie(v.value,r.value,d.el);if(!(he(v.value,d.el)<=l||Math.abs(t-o)<16)){if(v.value&&r.value&&d.el){const{scrollWidth:Y,offsetWidth:Z}=d.el;t=Y-Z-t}v.value?D.horizontal(t,C.value):D(t,C.value)}}function K(t){const{scrollTop:l,scrollLeft:o}=t.target;b.value=v.value?o:l}function f(t){if(P.value=!0,!(!p.value||!u.el)){for(const l of t.composedPath())for(const o of u.el.children)if(o===l){G(o);return}}}function z(t){P.value=!1}let I=!1;function N(t){var l;!I&&!P.value&&!(t.relatedTarget&&((l=u.el)!=null&&l.contains(t.relatedTarget)))&&x(),I=!1}function B(){I=!0}function W(t){if(!u.el)return;function l(o){t.preventDefault(),x(o)}v.value?t.key==="ArrowRight"?l(r.value?"prev":"next"):t.key==="ArrowLeft"&&l(r.value?"next":"prev"):t.key==="ArrowDown"?l("next"):t.key==="ArrowUp"&&l("prev"),t.key==="Home"?l("first"):t.key==="End"&&l("last")}function w(t,l){if(!t)return;let o=t;do o=o==null?void 0:o[l==="next"?"nextElementSibling":"previousElementSibling"];while(o!=null&&o.hasAttribute("disabled"));return o}function x(t){if(!u.el)return;let l;if(!t)l=_e(u.el)[0];else if(t==="next"){if(l=w(u.el.querySelector(":focus"),t),!l)return x("first")}else if(t==="prev"){if(l=w(u.el.querySelector(":focus"),t),!l)return x("last")}else t==="first"?(l=u.el.firstElementChild,l!=null&&l.hasAttribute("disabled")&&(l=w(l,"next"))):t==="last"&&(l=u.el.lastElementChild,l!=null&&l.hasAttribute("disabled")&&(l=w(l,"prev")));l&&l.focus({preventScroll:!0})}function E(t){const l=v.value&&r.value?-1:1,o=(t==="prev"?-l:l)*k.value;let Q=b.value+o;if(v.value&&r.value&&d.el){const{scrollWidth:Y,offsetWidth:Z}=d.el;Q+=Y-Z}T(Q)}const U=S(()=>({next:c.next,prev:c.prev,select:c.select,isSelected:c.isSelected})),L=S(()=>p.value||Math.abs(b.value)>0),j=S(()=>{switch(e.showArrows){case"never":return!1;case"always":return!0;case"desktop":return!y.value;case!0:return L.value;case"mobile":return y.value||L.value;default:return!y.value&&L.value}}),X=S(()=>Math.abs(b.value)>1),J=S(()=>{if(!d.value||!L.value)return!1;const t=he(v.value,d.el),l=nl(v.value,d.el);return t-l-Math.abs(b.value)>1});return me(()=>h(e.tag,{class:M(["v-slide-group",{"v-slide-group--vertical":!v.value,"v-slide-group--has-affixes":j.value,"v-slide-group--is-overflowing":p.value},i.value,e.class]),style:Re(e.style),tabindex:P.value||c.selected.value.length?-1:0,onFocus:N},{default:()=>{var t,l,o;return[j.value&&m("div",{key:"prev",class:M(["v-slide-group__prev",{"v-slide-group__prev--disabled":!X.value}]),onMousedown:B,onClick:()=>X.value&&E("prev")},[((t=n.prev)==null?void 0:t.call(n,U.value))??h(oe,null,{default:()=>[h(R,{icon:r.value?e.nextIcon:e.prevIcon},null)]})]),m("div",{key:"container",ref:d,class:M(["v-slide-group__container",e.contentClass]),onScroll:K},[m("div",{ref:u,class:"v-slide-group__content",onFocusin:f,onFocusout:z,onKeydown:W},[(l=n.default)==null?void 0:l.call(n,U.value)])]),j.value&&m("div",{key:"next",class:M(["v-slide-group__next",{"v-slide-group__next--disabled":!J.value}]),onMousedown:B,onClick:()=>J.value&&E("next")},[((o=n.next)==null?void 0:o.call(n,U.value))??h(oe,null,{default:()=>[h(R,{icon:r.value?e.prevIcon:e.nextIcon},null)]})])]}})),{selected:c.selected,scrollTo:E,scrollOffset:b,focus:x,hasPrev:X,hasNext:J}}}),Ae=Symbol.for("vuetify:v-chip-group"),sl=te({baseColor:String,column:Boolean,filter:Boolean,valueComparator:{type:Function,default:Fe},...ze({scrollToActive:!1}),...ne(),...ke({selectedClass:"v-chip--selected"}),...ae(),...Ce(),...Se({variant:"tonal"})},"VChipGroup"),cl=le()({name:"VChipGroup",props:sl(),emits:{"update:modelValue":e=>!0},setup(e,s){let{slots:n}=s;const{themeClasses:r}=ge(e),{isSelected:i,select:y,next:c,prev:p,selected:b}=ye(e,Ae);return Be({VChip:{baseColor:A(()=>e.baseColor),color:A(()=>e.color),disabled:A(()=>e.disabled),filter:A(()=>e.filter),variant:A(()=>e.variant)}}),me(()=>{const k=be.filterProps(e);return h(be,ee(k,{class:["v-chip-group",{"v-chip-group--column":e.column},r.value,e.class],style:e.style}),{default:()=>{var V;return[(V=n.default)==null?void 0:V.call(n,{isSelected:i,select:y,next:c,prev:p,selected:b.value})]}})}),{}}}),il=te({activeClass:String,appendAvatar:String,appendIcon:_,baseColor:String,closable:Boolean,closeIcon:{type:_,default:"$delete"},closeLabel:{type:String,default:"$vuetify.close"},draggable:Boolean,filter:Boolean,filterIcon:{type:_,default:"$complete"},label:Boolean,link:{type:Boolean,default:void 0},pill:Boolean,prependAvatar:String,prependIcon:_,ripple:{type:[Boolean,Object],default:!0},text:{type:[String,Number,Boolean],default:void 0},modelValue:{type:Boolean,default:!0},onClick:fe(),onClickOnce:fe(),...ll(),...ne(),...el(),...Ze(),...Ye(),...Qe(),...Je(),...Xe(),...ae({tag:"span"}),...Ce(),...Se({variant:"tonal"})},"VChip"),rl=le()({name:"VChip",directives:{vRipple:ce},props:il(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0,"group:selected":e=>!0,click:e=>!0},setup(e,s){let{attrs:n,emit:r,slots:i}=s;const{t:y}=Oe(),{borderClasses:c}=De(e),{densityClasses:p}=Ge(e),{elevationClasses:b}=je(e),{roundedClasses:k}=We(e),{sizeClasses:V}=Le(e),{themeClasses:v}=ge(e),d=Me(e,"modelValue"),a=re(e,Ae,!1),u=re(e,Ve,!1),g=He(e,n),D=A(()=>e.link!==!1&&g.isLink.value),C=S(()=>!e.disabled&&e.link!==!1&&(!!a||e.link||g.isClickable.value)),q=A(()=>({"aria-label":y(e.closeLabel),disabled:e.disabled,onClick(f){f.preventDefault(),f.stopPropagation(),d.value=!1,r("click:close",f)}}));pe(d,f=>{f?(a==null||a.register(),u==null||u.register()):(a==null||a.unregister(),u==null||u.unregister())});const{colorClasses:$,colorStyles:P,variantClasses:G}=qe(()=>({color:!a||a.isSelected.value?e.color??e.baseColor:e.baseColor,variant:e.variant}));function T(f){var z,I;r("click",f),C.value&&((I=(z=g.navigate).value)==null||I.call(z,f),a==null||a.toggle())}function K(f){(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),T(f))}return()=>{var x;const f=g.isLink.value?"a":e.tag,z=!!(e.appendIcon||e.appendAvatar),I=!!(z||i.append),N=!!(i.close||e.closable),B=!!(i.filter||e.filter)&&a,W=!!(e.prependIcon||e.prependAvatar),w=!!(W||i.prepend);return d.value&&ue(h(f,ee(g.linkProps,{class:["v-chip",{"v-chip--disabled":e.disabled,"v-chip--label":e.label,"v-chip--link":C.value,"v-chip--filter":B,"v-chip--pill":e.pill,[`${e.activeClass}`]:e.activeClass&&((x=g.isActive)==null?void 0:x.value)},v.value,c.value,$.value,p.value,b.value,k.value,V.value,G.value,a==null?void 0:a.selectedClass.value,e.class],style:[P.value,e.style],disabled:e.disabled||void 0,draggable:e.draggable,tabindex:C.value?0:void 0,onClick:T,onKeydown:C.value&&!D.value&&K}),{default:()=>{var E;return[$e(C.value,"v-chip"),B&&h(Ke,{key:"filter"},{default:()=>[ue(m("div",{class:"v-chip__filter"},[i.filter?h(H,{key:"filter-defaults",disabled:!e.filterIcon,defaults:{VIcon:{icon:e.filterIcon}}},i.filter):h(R,{key:"filter-icon",icon:e.filterIcon},null)]),[[Ne,a.isSelected.value]])]}),w&&m("div",{key:"prepend",class:"v-chip__prepend"},[i.prepend?h(H,{key:"prepend-defaults",disabled:!W,defaults:{VAvatar:{image:e.prependAvatar,start:!0},VIcon:{icon:e.prependIcon,start:!0}}},i.prepend):m(de,null,[e.prependIcon&&h(R,{key:"prepend-icon",icon:e.prependIcon,start:!0},null),e.prependAvatar&&h(ve,{key:"prepend-avatar",image:e.prependAvatar,start:!0},null)])]),m("div",{class:"v-chip__content","data-no-activator":""},[((E=i.default)==null?void 0:E.call(i,{isSelected:a==null?void 0:a.isSelected.value,selectedClass:a==null?void 0:a.selectedClass.value,select:a==null?void 0:a.select,toggle:a==null?void 0:a.toggle,value:a==null?void 0:a.value.value,disabled:e.disabled}))??Ue(e.text)]),I&&m("div",{key:"append",class:"v-chip__append"},[i.append?h(H,{key:"append-defaults",disabled:!z,defaults:{VAvatar:{end:!0,image:e.appendAvatar},VIcon:{end:!0,icon:e.appendIcon}}},i.append):m(de,null,[e.appendIcon&&h(R,{key:"append-icon",end:!0,icon:e.appendIcon},null),e.appendAvatar&&h(ve,{key:"append-avatar",end:!0,image:e.appendAvatar},null)])]),N&&m("button",ee({key:"close",class:"v-chip__close",type:"button","data-testid":"close-chip"},q.value),[i.close?h(H,{key:"close-defaults",defaults:{VIcon:{icon:e.closeIcon,size:"x-small"}}},i.close):h(R,{key:"close-icon",icon:e.closeIcon,size:"x-small"},null)])]}}),[[ce,C.value&&e.ripple,null]])}}});export{rl as V,be as a,cl as b,ze as m}; diff --git a/assets/VChip-CPVASmWt.js b/assets/VChip-CPVASmWt.js new file mode 100644 index 0000000..2347531 --- /dev/null +++ b/assets/VChip-CPVASmWt.js @@ -0,0 +1 @@ +import{o as ye,j as h,k,n as M,N as Pe,e as S,s as F,m as ee,t as z,R as se,V as we,F as ie,S as Ee}from"./vendor-vue-H0jQBZ7T.js";import{$ as pe,ak as oe,h as R,al as ke,m as le,ai as ge,am as ce,a5 as Re,G as _e,a7 as Te,an as Be,a0 as re,ao as Fe,af as Oe,ah as Ge,ap as De,a8 as H,L as ue,a9 as Le,aq as We,ar as Me,aa as He,a4 as $e,ac as Ne,I as qe,ad as Ke}from"./index-Bqe1gKo7.js";import{f as te,A as je,a0 as Ue,y as de,aB as Qe,E as ve,u as be,$ as Xe,p as ae,I as _,av as Je,k as ne,h as Se,j as Ye,o as Ze,m as Ce,an as el,n as ll,ag as fe}from"./vendor-vuetify-ChAgIwn2.js";function tl(e){let{selectedElement:s,containerElement:n,isRtl:r,isHorizontal:i}=e;const y=O(i,n),c=xe(i,r,n),p=O(i,s),m=Ie(i,s),g=p*.4;return c>m?m-g:c+ytypeof e=="boolean"||["always","desktop","mobile","never"].includes(e)},...ne(),...Je({mobile:null}),...le(),...ke({selectedClass:"v-slide-group-item--active"})},"VSlideGroup"),me=te()({name:"VSlideGroup",props:Ae(),emits:{"update:modelValue":e=>!0},setup(e,s){let{slots:n}=s;const{isRtl:r}=je(),{displayClasses:i,mobile:y}=Ue(e),c=pe(e,e.symbol),p=F(!1),m=F(0),g=F(0),V=F(0),v=S(()=>e.direction==="horizontal"),{resizeRef:d,contentRect:a}=de(),{resizeRef:u,contentRect:b}=de(),G=Qe(),C=S(()=>({container:d.el,duration:200,easing:"easeOutQuart"})),$=S(()=>c.selected.value.length?c.items.value.findIndex(t=>t.id===c.selected.value[0]):-1),N=S(()=>c.selected.value.length?c.items.value.findIndex(t=>t.id===c.selected.value[c.selected.value.length-1]):-1);if(ve){let t=-1;ye(()=>[c.selected.value,a.value,b.value,v.value],()=>{cancelAnimationFrame(t),t=requestAnimationFrame(()=>{if(a.value&&b.value){const l=v.value?"width":"height";g.value=a.value[l],V.value=b.value[l],p.value=g.value+1=0&&u.el){const l=u.el.children[N.value];D(l,e.centerActive)}})})}const P=F(!1);function D(t,l){let o=0;l?o=al({containerElement:d.el,isHorizontal:v.value,selectedElement:t}):o=tl({containerElement:d.el,isHorizontal:v.value,isRtl:r.value,selectedElement:t}),T(o)}function T(t){if(!ve||!d.el)return;const l=O(v.value,d.el),o=xe(v.value,r.value,d.el);if(!(he(v.value,d.el)<=l||Math.abs(t-o)<16)){if(v.value&&r.value&&d.el){const{scrollWidth:Y,offsetWidth:Z}=d.el;t=Y-Z-t}v.value?G.horizontal(t,C.value):G(t,C.value)}}function q(t){const{scrollTop:l,scrollLeft:o}=t.target;m.value=v.value?o:l}function f(t){if(P.value=!0,!(!p.value||!u.el)){for(const l of t.composedPath())for(const o of u.el.children)if(o===l){D(o);return}}}function A(t){P.value=!1}let x=!1;function K(t){var l;!x&&!P.value&&!(t.relatedTarget&&((l=u.el)!=null&&l.contains(t.relatedTarget)))&&I(),x=!1}function B(){x=!0}function L(t){if(!u.el)return;function l(o){t.preventDefault(),I(o)}v.value?t.key==="ArrowRight"?l(r.value?"prev":"next"):t.key==="ArrowLeft"&&l(r.value?"next":"prev"):t.key==="ArrowDown"?l("next"):t.key==="ArrowUp"&&l("prev"),t.key==="Home"?l("first"):t.key==="End"&&l("last")}function w(t,l){if(!t)return;let o=t;do o=o==null?void 0:o[l==="next"?"nextElementSibling":"previousElementSibling"];while(o!=null&&o.hasAttribute("disabled"));return o}function I(t){if(!u.el)return;let l;if(!t)l=Xe(u.el)[0];else if(t==="next"){if(l=w(u.el.querySelector(":focus"),t),!l)return I("first")}else if(t==="prev"){if(l=w(u.el.querySelector(":focus"),t),!l)return I("last")}else t==="first"?(l=u.el.firstElementChild,l!=null&&l.hasAttribute("disabled")&&(l=w(l,"next"))):t==="last"&&(l=u.el.lastElementChild,l!=null&&l.hasAttribute("disabled")&&(l=w(l,"prev")));l&&l.focus({preventScroll:!0})}function E(t){const l=v.value&&r.value?-1:1,o=(t==="prev"?-l:l)*g.value;let J=m.value+o;if(v.value&&r.value&&d.el){const{scrollWidth:Y,offsetWidth:Z}=d.el;J+=Y-Z}T(J)}const j=S(()=>({next:c.next,prev:c.prev,select:c.select,isSelected:c.isSelected})),W=S(()=>p.value||Math.abs(m.value)>0),U=S(()=>{switch(e.showArrows){case"never":return!1;case"always":return!0;case"desktop":return!y.value;case!0:return W.value;case"mobile":return y.value||W.value;default:return!y.value&&W.value}}),Q=S(()=>Math.abs(m.value)>1),X=S(()=>{if(!d.value||!W.value)return!1;const t=he(v.value,d.el),l=nl(v.value,d.el);return t-l-Math.abs(m.value)>1});return be(()=>h(e.tag,{class:M(["v-slide-group",{"v-slide-group--vertical":!v.value,"v-slide-group--has-affixes":U.value,"v-slide-group--is-overflowing":p.value},i.value,e.class]),style:Pe(e.style),tabindex:P.value||c.selected.value.length?-1:0,onFocus:K},{default:()=>{var t,l,o;return[U.value&&k("div",{key:"prev",class:M(["v-slide-group__prev",{"v-slide-group__prev--disabled":!Q.value}]),onMousedown:B,onClick:()=>Q.value&&E("prev")},[((t=n.prev)==null?void 0:t.call(n,j.value))??h(oe,null,{default:()=>[h(R,{icon:r.value?e.nextIcon:e.prevIcon},null)]})]),k("div",{key:"container",ref:d,class:M(["v-slide-group__container",e.contentClass]),onScroll:q},[k("div",{ref:u,class:"v-slide-group__content",onFocusin:f,onFocusout:A,onKeydown:L},[(l=n.default)==null?void 0:l.call(n,j.value)])]),U.value&&k("div",{key:"next",class:M(["v-slide-group__next",{"v-slide-group__next--disabled":!X.value}]),onMousedown:B,onClick:()=>X.value&&E("next")},[((o=n.next)==null?void 0:o.call(n,j.value))??h(oe,null,{default:()=>[h(R,{icon:r.value?e.prevIcon:e.nextIcon},null)]})])]}})),{selected:c.selected,scrollTo:E,scrollOffset:m,focus:I,hasPrev:Q,hasNext:X}}}),ze=Symbol.for("vuetify:v-chip-group"),sl=ae({baseColor:String,column:Boolean,filter:Boolean,valueComparator:{type:Function,default:Ze},...Ae({scrollToActive:!1}),...ne(),...ke({selectedClass:"v-chip--selected"}),...le(),...Ce(),...ge({variant:"tonal"})},"VChipGroup"),ul=te()({name:"VChipGroup",props:sl(),emits:{"update:modelValue":e=>!0},setup(e,s){let{slots:n}=s;const{themeClasses:r}=Se(e),{isSelected:i,select:y,next:c,prev:p,selected:m}=pe(e,ze);return Ye({VChip:{baseColor:z(()=>e.baseColor),color:z(()=>e.color),disabled:z(()=>e.disabled),filter:z(()=>e.filter),variant:z(()=>e.variant)}}),be(()=>{const g=me.filterProps(e);return h(me,ee(g,{class:["v-chip-group",{"v-chip-group--column":e.column},r.value,e.class],style:e.style}),{default:()=>{var V;return[(V=n.default)==null?void 0:V.call(n,{isSelected:i,select:y,next:c,prev:p,selected:m.value})]}})}),{}}}),il=ae({activeClass:String,appendAvatar:String,appendIcon:_,baseColor:String,closable:Boolean,closeIcon:{type:_,default:"$delete"},closeLabel:{type:String,default:"$vuetify.close"},draggable:Boolean,filter:Boolean,filterIcon:{type:_,default:"$complete"},label:Boolean,link:{type:Boolean,default:void 0},pill:Boolean,prependAvatar:String,prependIcon:_,ripple:{type:[Boolean,Object],default:!0},text:{type:[String,Number,Boolean],default:void 0},modelValue:{type:Boolean,default:!0},onClick:fe(),onClickOnce:fe(),...Ke(),...ne(),...qe(),...Ne(),...$e(),...He(),...Me(),...We(),...le({tag:"span"}),...Ce(),...ge({variant:"tonal"})},"VChip"),dl=te()({name:"VChip",directives:{vRipple:ce},props:il(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0,"group:selected":e=>!0,click:e=>!0},setup(e,s){let{attrs:n,emit:r,slots:i}=s;const{t:y}=el(),{borderClasses:c}=Re(e),{densityClasses:p}=_e(e),{elevationClasses:m}=Le(e),{roundedClasses:g}=Te(e),{sizeClasses:V}=Be(e),{themeClasses:v}=Se(e),d=ll(e,"modelValue"),a=re(e,ze,!1),u=re(e,Ve,!1),b=Fe(e,n),G=z(()=>e.link!==!1&&b.isLink.value),C=S(()=>!e.disabled&&e.link!==!1&&(!!a||e.link||b.isClickable.value)),$=z(()=>({"aria-label":y(e.closeLabel),disabled:e.disabled,onClick(f){f.preventDefault(),f.stopPropagation(),d.value=!1,r("click:close",f)}}));ye(d,f=>{f?(a==null||a.register(),u==null||u.register()):(a==null||a.unregister(),u==null||u.unregister())});const{colorClasses:N,colorStyles:P,variantClasses:D}=Oe(()=>({color:!a||a.isSelected.value?e.color??e.baseColor:e.baseColor,variant:e.variant}));function T(f){var A,x;r("click",f),C.value&&((x=(A=b.navigate).value)==null||x.call(A,f),a==null||a.toggle())}function q(f){(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),T(f))}return()=>{var I;const f=b.isLink.value?"a":e.tag,A=!!(e.appendIcon||e.appendAvatar),x=!!(A||i.append),K=!!(i.close||e.closable),B=!!(i.filter||e.filter)&&a,L=!!(e.prependIcon||e.prependAvatar),w=!!(L||i.prepend);return d.value&&se(h(f,ee(b.linkProps,{class:["v-chip",{"v-chip--disabled":e.disabled,"v-chip--label":e.label,"v-chip--link":C.value,"v-chip--filter":B,"v-chip--pill":e.pill,[`${e.activeClass}`]:e.activeClass&&((I=b.isActive)==null?void 0:I.value)},v.value,c.value,N.value,p.value,m.value,g.value,V.value,D.value,a==null?void 0:a.selectedClass.value,e.class],style:[P.value,e.style],disabled:e.disabled||void 0,draggable:e.draggable,tabindex:C.value?0:void 0,onClick:T,onKeydown:C.value&&!G.value&&q}),{default:()=>{var E;return[Ge(C.value,"v-chip"),B&&h(De,{key:"filter"},{default:()=>[se(k("div",{class:"v-chip__filter"},[i.filter?h(H,{key:"filter-defaults",disabled:!e.filterIcon,defaults:{VIcon:{icon:e.filterIcon}}},i.filter):h(R,{key:"filter-icon",icon:e.filterIcon},null)]),[[we,a.isSelected.value]])]}),w&&k("div",{key:"prepend",class:"v-chip__prepend"},[i.prepend?h(H,{key:"prepend-defaults",disabled:!L,defaults:{VAvatar:{image:e.prependAvatar,start:!0},VIcon:{icon:e.prependIcon,start:!0}}},i.prepend):k(ie,null,[e.prependIcon&&h(R,{key:"prepend-icon",icon:e.prependIcon,start:!0},null),e.prependAvatar&&h(ue,{key:"prepend-avatar",image:e.prependAvatar,start:!0},null)])]),k("div",{class:"v-chip__content","data-no-activator":""},[((E=i.default)==null?void 0:E.call(i,{isSelected:a==null?void 0:a.isSelected.value,selectedClass:a==null?void 0:a.selectedClass.value,select:a==null?void 0:a.select,toggle:a==null?void 0:a.toggle,value:a==null?void 0:a.value.value,disabled:e.disabled}))??Ee(e.text)]),x&&k("div",{key:"append",class:"v-chip__append"},[i.append?h(H,{key:"append-defaults",disabled:!A,defaults:{VAvatar:{end:!0,image:e.appendAvatar},VIcon:{end:!0,icon:e.appendIcon}}},i.append):k(ie,null,[e.appendIcon&&h(R,{key:"append-icon",end:!0,icon:e.appendIcon},null),e.appendAvatar&&h(ue,{key:"append-avatar",end:!0,image:e.appendAvatar},null)])]),K&&k("button",ee({key:"close",class:"v-chip__close",type:"button","data-testid":"close-chip"},$.value),[i.close?h(H,{key:"close-defaults",defaults:{VIcon:{icon:e.closeIcon,size:"x-small"}}},i.close):h(R,{key:"close-icon",icon:e.closeIcon,size:"x-small"},null)])]}}),[[ce,C.value&&e.ripple,null]])}}});export{dl as V,me as a,ul as b,Ae as m}; diff --git a/assets/VCombobox-BhMWB5Rk.css b/assets/VCombobox-BhMWB5Rk.css deleted file mode 100644 index 21c7604..0000000 --- a/assets/VCombobox-BhMWB5Rk.css +++ /dev/null @@ -1 +0,0 @@ -.v-navigation-drawer{-webkit-overflow-scrolling:touch;background:rgb(var(--v-theme-surface));display:flex;flex-direction:column;height:100%;max-width:100%;pointer-events:auto;transition-duration:.2s;transition-property:box-shadow,transform,visibility,width,height,left,right,top,bottom;transition-timing-function:cubic-bezier(.4,0,.2,1);position:absolute}.v-navigation-drawer{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-navigation-drawer--border{border-width:thin;box-shadow:none}.v-navigation-drawer{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-navigation-drawer{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}@media (prefers-reduced-motion: reduce){.v-navigation-drawer{transition:none}}.v-navigation-drawer--rounded{border-radius:4px}.v-navigation-drawer--top{top:0;border-bottom-width:thin}.v-navigation-drawer--bottom{left:0;border-top-width:thin}.v-navigation-drawer--left{top:0;left:0;right:auto;border-right-width:thin}.v-navigation-drawer--right{top:0;left:auto;right:0;border-left-width:thin}.v-navigation-drawer--floating{border:none}.v-navigation-drawer--temporary.v-navigation-drawer--active{box-shadow:0 8px 10px -5px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 16px 24px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 6px 30px 5px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-navigation-drawer--sticky{height:auto;transition:box-shadow,transform,visibility,width,height,left,right}.v-navigation-drawer .v-list{overflow:hidden}.v-navigation-drawer__content{flex:0 1 auto;height:100%;max-width:100%;overflow-x:hidden;overflow-y:auto}.v-navigation-drawer__img{height:100%;left:0;position:absolute;top:0;width:100%;z-index:-1}.v-navigation-drawer__img img:not(.v-img__img){height:inherit;object-fit:cover;width:inherit}.v-navigation-drawer__scrim{position:absolute;top:0;left:0;width:100%;height:100%;background:#000;opacity:.2;transition:opacity .2s cubic-bezier(.4,0,.2,1);z-index:1}.v-navigation-drawer__prepend,.v-navigation-drawer__append{flex:none;overflow:hidden}.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}.v-combobox--chips.v-input--density-compact .v-field--variant-solo .v-label.v-field-label--floating,.v-combobox--chips.v-input--density-compact .v-field--variant-solo-inverted .v-label.v-field-label--floating,.v-combobox--chips.v-input--density-compact .v-field--variant-filled .v-label.v-field-label--floating,.v-combobox--chips.v-input--density-compact .v-field--variant-solo-filled .v-label.v-field-label--floating{top:0}.v-combobox .v-field .v-text-field__prefix,.v-combobox .v-field .v-text-field__suffix,.v-combobox .v-field .v-field__input,.v-combobox .v-field .v-field__input>input,.v-combobox .v-field.v-field{cursor:text}.v-combobox .v-field .v-field__input>input{flex:1 1}.v-combobox .v-field input{min-width:64px}.v-combobox .v-field:not(.v-field--focused) input{min-width:0}.v-combobox .v-field--dirty .v-combobox__selection{margin-inline-end:2px}.v-combobox .v-combobox__selection-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v-combobox__content{overflow:hidden}.v-combobox__content{box-shadow:0 2px 4px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 4px 5px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 10px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-menu>.v-overlay__content.v-combobox__content{border-radius:4px}.v-combobox__content>.v-sheet{display:flex;flex-direction:column}.v-combobox__mask{background:rgb(var(--v-theme-surface-light))}.v-combobox__selection{display:inline-flex;align-items:center;height:1.5rem;letter-spacing:inherit;line-height:inherit;max-width:calc(100% - 4px)}.v-combobox__selection:first-child{margin-inline-start:0}.v-combobox--selecting-index .v-combobox__selection{opacity:var(--v-medium-emphasis-opacity)}.v-combobox--selecting-index .v-combobox__selection--selected{opacity:1}.v-combobox--selecting-index .v-field__input>input{caret-color:transparent}.v-combobox--single:not(.v-combobox--selection-slot).v-text-field input{flex:1 1;position:absolute;left:0;right:0;width:100%;padding-inline:inherit}.v-combobox--single:not(.v-combobox--selection-slot) .v-field--active input{transition:none}.v-combobox--single:not(.v-combobox--selection-slot) .v-field--dirty:not(.v-field--focused) input{opacity:0}.v-combobox--single:not(.v-combobox--selection-slot) .v-field--focused .v-combobox__selection{opacity:0}.v-combobox__menu-icon{margin-inline-start:4px;transition:.2s cubic-bezier(.4,0,.2,1)}.v-combobox--active-menu .v-combobox__menu-icon{transform:rotate(180deg)} diff --git a/assets/VCombobox-CmqRIcRE.js b/assets/VCombobox-CmqRIcRE.js new file mode 100644 index 0000000..39b8952 --- /dev/null +++ b/assets/VCombobox-CmqRIcRE.js @@ -0,0 +1,2 @@ +import{d as Ue,e as je}from"./autofocus-Dh4QPNon.js";import{u as He,a as qe,b as Ge,c as We,h as Je,d as Qe,e as Xe,m as Ye}from"./VSelect-DC96rbwz.js";import{V as ie,m as Ze}from"./VTextField-B7edjjhw.js";import{ay as el,D as ll,az as B,h as se,j as al,k as re,i as tl,W as nl,L as ul,a8 as ol,C as il}from"./index-Bqe1gKo7.js";import{f as sl,an as rl,n as ce,w as cl,o as ve,E as vl,u as dl,aD as fl,aE as ml,aF as de,aG as hl,p as bl,a5 as pl,aH as gl}from"./vendor-vuetify-ChAgIwn2.js";import{V as yl,a as xl}from"./VSheet-DHN9xqm_.js";import{V as Vl}from"./VCheckboxBtn-nWqvYDIO.js";import{V as fe}from"./VChip-CPVASmWt.js";import{s as P,o as _,j as f,k as F,F as J,m as S,N as kl,n as Cl,a1 as wl,e as w,I as L,b as A,t as Il}from"./vendor-vue-H0jQBZ7T.js";const Dl=bl({alwaysFilter:Boolean,autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...Ye({filterKeys:["title"]}),...Xe({hideNoData:!0,returnObject:!0}),...pl(Ze({modelValue:null,role:"combobox"}),["validationValue","dirty"])},"VCombobox"),_l=sl()({name:"VCombobox",props:Dl(),emits:{"update:focused":l=>!0,"update:modelValue":l=>!0,"update:search":l=>!0,"update:menu":l=>!0},setup(l,me){var ae;let{emit:he,slots:t}=me;const{t:be}=rl(),p=A(),g=P(!1),I=P(!0),H=P(!1),q=A(),N=A(),i=P(-1);let K=!1;const{items:Q,transformIn:pe,transformOut:ge}=el(l),{textColorClasses:ye,textColorStyles:xe}=ll(()=>{var e;return(e=p.value)==null?void 0:e.color}),{InputIcon:Ve}=Ue(l),u=ce(l,"modelValue",[],e=>pe(cl(e)),e=>{const a=ge(e);return l.multiple?a:a[0]??null}),R=je(l),X=Il(()=>l.closableChips&&!R.isReadonly.value&&!R.isDisabled.value),O=w(()=>!!(l.chips||t.chip)),D=w(()=>O.value||!!t.selection),y=P(!l.multiple&&!D.value?((ae=u.value[0])==null?void 0:ae.title)??"":""),T=P(null),d=w({get:()=>y.value,set:async e=>{var a;if(y.value=e??"",e===null||e===""&&!l.multiple&&!D.value?u.value=[]:!l.multiple&&!D.value&&(u.value=[B(l,e)],L(()=>{var n;return(n=N.value)==null?void 0:n.scrollToIndex(0)})),e&&l.multiple&&((a=l.delimiters)!=null&&a.length)){const n=ee(e);n.length>1&&(le(n),y.value="")}e||(i.value=-1),I.value=!e}}),ke=w(()=>typeof l.counterValue=="function"?l.counterValue(u.value):typeof l.counterValue=="number"?l.counterValue:l.multiple?u.value.length:d.value.length),{filteredItems:z,getMatches:Ce}=He(l,Q,()=>T.value??(l.alwaysFilter||!I.value?d.value:"")),x=w(()=>l.hideSelected&&T.value===null?z.value.filter(e=>!u.value.some(a=>a.value===e.value)):z.value),$=w(()=>l.hideNoData&&!x.value.length||R.isReadonly.value||R.isDisabled.value),G=ce(l,"menu"),c=w({get:()=>G.value,set:e=>{var a;G.value&&!e&&((a=q.value)!=null&&a.ΨopenChildren.size)||e&&$.value||(G.value=e)}}),{menuId:we,ariaExpanded:Ie,ariaControls:De}=qe(l,c);_(y,e=>{K?L(()=>K=!1):g.value&&!c.value&&(c.value=!0),he("update:search",e)}),_(u,e=>{var a;!l.multiple&&!D.value&&(y.value=((a=e[0])==null?void 0:a.title)??"")});const Se=w(()=>u.value.map(e=>e.value)),E=w(()=>x.value.find(e=>e.type==="item"&&!e.props.disabled)),W=w(()=>{var a;return(l.autoSelectFirst===!0||l.autoSelectFirst==="exact"&&d.value===((a=E.value)==null?void 0:a.title))&&x.value.length>0&&!I.value&&!H.value}),M=A(),Y=A(),Z=A(),Fe=Qe(M,p),{onTabKeydown:Re}=Ge({groups:[{type:"element",contentRef:Y},{type:"list",contentRef:M,displayItemsCount:()=>x.value.length},{type:"element",contentRef:Z}],onLeave:()=>{var e;c.value=!1,(e=p.value)==null||e.focus()}});function Pe(e){K=!0,L(()=>K=!1),l.openOnClear&&(c.value=!0)}function Ae(){$.value||(c.value=!0)}function Te(e){$.value||(g.value&&(e.preventDefault(),e.stopPropagation()),c.value=!c.value)}function Ee(e){var a,n;e.key==="Tab"&&Re(e),(a=M.value)!=null&&a.$el.contains(e.target)&&(de(e)||e.key==="Backspace")&&((n=p.value)==null||n.focus())}function Me(e){var v,m,h,o;if(hl(e)||R.isReadonly.value)return;const a=(v=p.value)==null?void 0:v.selectionStart,n=u.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(e.key)&&e.preventDefault(),["Enter","ArrowDown"].includes(e.key)&&(c.value=!0),["Escape"].includes(e.key)&&(c.value=!1),W.value&&["Enter","Tab"].includes(e.key)&&E.value&&!u.value.some(s=>{let{value:k}=s;return k===E.value.value})&&V(E.value),e.key==="ArrowDown"&&W.value&&((m=M.value)==null||m.focus("next")),e.key==="Enter"&&d.value&&(V(B(l,d.value),!0,!0),D.value&&(y.value="")),["Backspace","Delete"].includes(e.key)){if(!l.multiple&&D.value&&u.value.length>0&&!d.value)return V(u.value[0],!1);if(~i.value){e.preventDefault();const s=i.value;V(u.value[i.value],!1),i.value=s>=n-1?n-2:s}else e.key==="Backspace"&&!d.value&&(i.value=n-1);return}if(l.multiple)if(e.key==="ArrowLeft"){if(i.value<0&&a&&a>0)return;const s=i.value>-1?i.value-1:n-1;u.value[s]?i.value=s:(i.value=-1,(h=p.value)==null||h.setSelectionRange(d.value.length,d.value.length))}else if(e.key==="ArrowRight"){if(i.value<0)return;const s=i.value+1;u.value[s]?i.value=s:(i.value=-1,(o=p.value)==null||o.setSelectionRange(0,0))}else~i.value&&de(e)&&(i.value=-1)}function Be(e){var v;const a=((v=e==null?void 0:e.clipboardData)==null?void 0:v.getData("Text"))??"",n=ee(a);n.length>1&&l.multiple&&(e.preventDefault(),le(n))}function _e(){var e;l.eager&&((e=N.value)==null||e.calculateVisibleItems())}function Le(){var e;g.value&&((e=p.value)==null||e.focus()),I.value=!0,T.value=null}function V(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(!(!e||e.props.disabled))if(l.multiple){const v=u.value.findIndex(h=>(l.valueComparator||ve)(h.value,e.value)),m=a??!~v;if(~v){const h=m?[...u.value,e]:[...u.value];h.splice(v,1),u.value=h}else m&&(u.value=[...u.value,e]);l.clearOnSelect&&(d.value="")}else{const v=a!==!1;u.value=v?[e]:[],(!I.value||l.alwaysFilter)&&y.value&&(T.value=y.value),y.value=v&&!D.value?e.title:"",L(()=>{c.value=n,I.value=!0})}}function ee(e){const n=[` +`,...l.delimiters??[]].map(gl).join("|");return e.split(new RegExp(`(?:${n})+`))}async function le(e){for(let a of e)a=a.trim(),a&&(V(B(l,a)),await L())}function Ne(e){g.value=!0,setTimeout(()=>{H.value=!0})}function Ke(e){H.value=!1}function Oe(e){var n;const a=(n=q.value)==null?void 0:n.contentEl;a!=null&&a.contains(e.relatedTarget)&&(g.value=!0)}return _(g,(e,a)=>{if(!(e||e===a)&&(i.value=-1,c.value=!1,d.value)){if(l.multiple){V(B(l,d.value));return}if(!D.value)return;u.value.some(n=>{let{title:v}=n;return v===d.value})?y.value="":V(B(l,d.value))}}),_(c,e=>{if(!l.hideSelected&&e&&u.value.length&&I.value){const a=x.value.findIndex(n=>u.value.some(v=>(l.valueComparator||ve)(v.value,n.value)));vl&&window.requestAnimationFrame(()=>{var n;a>=0&&((n=N.value)==null||n.scrollToIndex(a))})}e&&(T.value=null)}),_(Q,(e,a)=>{c.value||g.value&&!a.length&&e.length&&(c.value=!0)}),dl(()=>{const e=!!(!l.hideNoData||x.value.length||t["prepend-item"]||t["append-item"]||t["no-data"]),a=u.value.length>0,n=ie.filterProps(l),v={search:d,filteredItems:z.value};return f(ie,S({ref:p},n,{modelValue:d.value,"onUpdate:modelValue":m=>d.value=m,focused:g.value,"onUpdate:focused":m=>g.value=m,validationValue:u.externalValue,counterValue:ke.value,dirty:a,class:["v-combobox",{"v-combobox--active-menu":c.value,"v-combobox--chips":!!l.chips,"v-combobox--selection-slot":!!D.value,"v-combobox--selecting-index":i.value>-1,[`v-combobox--${l.multiple?"multiple":"single"}`]:!0},l.class],style:l.style,readonly:R.isReadonly.value,placeholder:a?void 0:l.placeholder,"onClick:clear":Pe,"onMousedown:control":Ae,onKeydown:Me,onPaste:Be,onBlur:Oe,"aria-expanded":Ie.value,"aria-controls":De.value}),{...t,default:m=>{let{id:h}=m;return F(J,null,[f(yl,S({id:we.value,ref:q,modelValue:c.value,"onUpdate:modelValue":o=>c.value=o,activator:"parent",contentClass:"v-combobox__content",disabled:$.value,eager:l.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,onAfterEnter:_e,onAfterLeave:Le},l.menuProps),{default:()=>[f(xl,{onFocusin:Ne,onKeydown:Ee},{default:()=>[t["menu-header"]&&F("header",{ref:Y},[t["menu-header"](v)]),e&&f(al,S({key:"combobox-list",ref:M,filterable:!0,selected:Se.value,selectStrategy:l.multiple?"independent":"single-independent",onMousedown:o=>o.preventDefault(),selectable:!!x.value.length,onFocusout:Ke,tabindex:"-1","aria-live":"polite","aria-labelledby":`${h.value}-label`,"aria-multiselectable":l.multiple,color:l.itemColor??l.color},Fe,l.listProps),{default:()=>{var o,s,k;return[(o=t["prepend-item"])==null?void 0:o.call(t),!x.value.length&&!l.hideNoData&&(((s=t["no-data"])==null?void 0:s.call(t))??f(re,{key:"no-data",title:be(l.noDataText)},null)),f(We,{ref:N,renderless:!0,items:x.value,itemKey:"value"},{default:U=>{var ne,ue,oe;let{item:r,index:C,itemRef:b}=U;const te=S(r.props,{ref:b,key:r.value,active:W.value&&r===E.value?!0:void 0,onClick:()=>V(r,null),"aria-posinset":C+1,"aria-setsize":x.value.length});return r.type==="divider"?((ne=t.divider)==null?void 0:ne.call(t,{props:r.raw,index:C}))??f(tl,S(r.props,{key:`divider-${C}`}),null):r.type==="subheader"?((ue=t.subheader)==null?void 0:ue.call(t,{props:r.raw,index:C}))??f(nl,S(r.props,{key:`subheader-${C}`}),null):((oe=t.item)==null?void 0:oe.call(t,{item:r,index:C,props:te}))??f(re,S(te,{role:"option"}),{prepend:j=>{let{isSelected:ze}=j;return F(J,null,[l.multiple&&!l.hideSelected?f(Vl,{key:r.value,modelValue:ze,ripple:!1,tabindex:"-1","aria-hidden":!0,onClick:$e=>$e.preventDefault()},null):void 0,r.props.prependAvatar&&f(ul,{image:r.props.prependAvatar},null),r.props.prependIcon&&f(se,{icon:r.props.prependIcon},null)])},title:()=>{var j;return I.value?r.title:Je("v-combobox",r.title,(j=Ce(r))==null?void 0:j.title)}})}}),(k=t["append-item"])==null?void 0:k.call(t)]}}),t["menu-footer"]&&F("footer",{ref:Z},[t["menu-footer"](v)])]})]}),u.value.map((o,s)=>{function k(b){b.stopPropagation(),b.preventDefault(),V(o,!1)}const U=S(fe.filterProps(o.props),{"onClick:close":k,onKeydown(b){b.key!=="Enter"&&b.key!==" "||(b.preventDefault(),b.stopPropagation(),k(b))},onMousedown(b){b.preventDefault(),b.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0}),r=O.value?!!t.chip:!!t.selection,C=r?ml(O.value?t.chip({item:o,index:s,props:U}):t.selection({item:o,index:s})):void 0;if(!(r&&!C))return F("div",{key:o.value,class:Cl(["v-combobox__selection",s===i.value&&["v-combobox__selection--selected",ye.value]]),style:kl(s===i.value?xe.value:{})},[O.value?t.chip?f(ol,{key:"chip-defaults",defaults:{VChip:{closable:X.value,size:"small",text:o.title}}},{default:()=>[C]}):f(fe,S({key:"chip",closable:X.value,size:"small",text:o.title,disabled:o.props.disabled},U),null):C??F("span",{class:"v-combobox__selection-text"},[o.title,l.multiple&&s{console.warn("播放音频失败:",e.name,e.message)}),h}catch(h){return console.error("创建音频对象失败:",h),null}}function bu(n){n&&(n.pause(),n.currentTime=0)}function sh(n){let{rootEl:i,isSticky:g,layoutItemStyles:h}=n;const u=B(!1),e=B(0),o=C(()=>{const t=typeof u.value=="boolean"?"top":u.value;return[g.value?{top:"auto",bottom:"auto",height:void 0}:void 0,u.value?{[t]:Wi(e.value)}:{top:h.value.top}]});bi(()=>{K(g,t=>{t?window.addEventListener("scroll",d,{passive:!0}):window.removeEventListener("scroll",d)},{immediate:!0})}),mi(()=>{window.removeEventListener("scroll",d)});let l=0;function d(){const t=l>window.scrollY?"up":"down",y=i.value.getBoundingClientRect(),c=parseFloat(h.value.top??0),f=window.scrollY-Math.max(0,e.value-c),q=y.height+Math.max(e.value,c)-window.scrollY-window.innerHeight,k=parseFloat(getComputedStyle(i.value).getPropertyValue("--v-body-scroll-y"))||0;y.height0;g--){if(n[g].t===n[g-1].t)continue;const h=Jn(i),u=(n[g].d-n[g-1].d)/(n[g].t-n[g-1].t);i+=(u-h)*Math.abs(u),g===n.length-1&&(i*=.5)}return Jn(i)*1e3}function th(){const n={};function i(u){Array.from(u.changedTouches).forEach(e=>{(n[e.identifier]??(n[e.identifier]=new Hi(lh))).push([u.timeStamp,e])})}function g(u){Array.from(u.changedTouches).forEach(e=>{delete n[e.identifier]})}function h(u){var t;const e=(t=n[u])==null?void 0:t.values().reverse();if(!e)throw new Error(`No samples for touch id ${u}`);const o=e[0],l=[],d=[];for(const y of e){if(o[0]-y[0]>oh)break;l.push({t:y[0],d:y[1].clientX}),d.push({t:y[0],d:y[1].clientY})}return{x:ni(l),y:ni(d),get direction(){const{x:y,y:c}=this,[f,q]=[Math.abs(y),Math.abs(c)];return f>q&&y>=0?"right":f>q&&y<=0?"left":q>f&&c>=0?"down":q>f&&c<=0?"up":ch()}}}return{addMovement:i,endTouch:g,getVelocity:h}}function ch(){throw new Error}function zh(n){let{el:i,isActive:g,isTemporary:h,width:u,touchless:e,position:o}=n;bi(()=>{window.addEventListener("touchstart",X,{passive:!0}),window.addEventListener("touchmove",a,{passive:!1}),window.addEventListener("touchend",F,{passive:!0})}),mi(()=>{window.removeEventListener("touchstart",X),window.removeEventListener("touchmove",a),window.removeEventListener("touchend",F)});const l=C(()=>["left","right"].includes(o.value)),{addMovement:d,endTouch:t,getVelocity:y}=th();let c=!1;const f=B(!1),q=B(0),k=B(0);let V;function gn(m,r){return(o.value==="left"?m:o.value==="right"?document.documentElement.clientWidth-m:o.value==="top"?m:o.value==="bottom"?document.documentElement.clientHeight-m:ln())-(r?u.value:0)}function hn(m){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const j=o.value==="left"?(m-k.value)/u.value:o.value==="right"?(document.documentElement.clientWidth-m-k.value)/u.value:o.value==="top"?(m-k.value)/u.value:o.value==="bottom"?(document.documentElement.clientHeight-m-k.value)/u.value:ln();return r?Ki(j):j}function X(m){if(e.value)return;const r=m.changedTouches[0].clientX,j=m.changedTouches[0].clientY,w=25,b=o.value==="left"?rdocument.documentElement.clientWidth-w:o.value==="top"?jdocument.documentElement.clientHeight-w:ln(),D=g.value&&(o.value==="left"?rdocument.documentElement.clientWidth-u.value:o.value==="top"?jdocument.documentElement.clientHeight-u.value:ln());(b||D||g.value&&h.value)&&(V=[r,j],k.value=gn(l.value?r:j,g.value),q.value=hn(l.value?r:j),c=k.value>-20&&k.value<80,t(m),d(m))}function a(m){const r=m.changedTouches[0].clientX,j=m.changedTouches[0].clientY;if(c){if(!m.cancelable){c=!1;return}const b=Math.abs(r-V[0]),D=Math.abs(j-V[1]);(l.value?b>D&&b>3:D>b&&D>3)?(f.value=!0,c=!1):(l.value?D:b)>3&&(c=!1)}if(!f.value)return;m.preventDefault(),d(m);const w=hn(l.value?r:j,!1);q.value=Math.max(0,Math.min(1,w)),w>1?k.value=gn(l.value?r:j,!0):w<0&&(k.value=gn(l.value?r:j,!1))}function F(m){if(c=!1,!f.value)return;d(m),f.value=!1;const r=y(m.changedTouches[0].identifier),j=Math.abs(r.x),w=Math.abs(r.y);(l.value?j>w&&j>400:w>j&&w>3)?g.value=r.direction===({left:"right",right:"left",top:"down",bottom:"up"}[o.value]||ln()):g.value=q.value>.5}const Q=C(()=>f.value?{transform:o.value==="left"?`translateX(calc(-100% + ${q.value*u.value}px))`:o.value==="right"?`translateX(calc(100% - ${q.value*u.value}px))`:o.value==="top"?`translateY(calc(-100% + ${q.value*u.value}px))`:o.value==="bottom"?`translateY(calc(100% - ${q.value*u.value}px))`:ln(),transition:"none"}:void 0);return wn(f,()=>{var j,w;const m=((j=i.value)==null?void 0:j.style.transform)??null,r=((w=i.value)==null?void 0:w.style.transition)??null;Ui(()=>{var b,D,L,un;(D=i.value)==null||D.style.setProperty("transform",((b=Q.value)==null?void 0:b.transform)||"none"),(un=i.value)==null||un.style.setProperty("transition",((L=Q.value)==null?void 0:L.transition)||null)}),Yi(()=>{var b,D;(b=i.value)==null||b.style.setProperty("transform",m),(D=i.value)==null||D.style.setProperty("transition",r)})}),{isDragging:f,dragProgress:q,dragStyles:Q}}function ln(){throw new Error}const yh=["start","end","left","right","top","bottom"],dh=qi({color:String,disableResizeWatcher:Boolean,disableRouteWatcher:Boolean,expandOnHover:Boolean,floating:Boolean,modelValue:{type:Boolean,default:null},permanent:Boolean,rail:{type:Boolean,default:null},railWidth:{type:[Number,String],default:56},scrim:{type:[Boolean,String],default:!0},image:String,temporary:Boolean,persistent:Boolean,touchless:Boolean,width:{type:[Number,String],default:256},location:{type:String,default:"start",validator:n=>yh.includes(n)},sticky:Boolean,...qg(),...wg(),...xg(),...fg({mobile:null}),...mg(),...bg(),...jg(),...pi(rg(),["disableInitialFocus"]),...ag({tag:"nav"}),...dg()},"VNavigationDrawer"),ah=fi()({name:"VNavigationDrawer",props:dh(),emits:{"update:modelValue":n=>!0,"update:rail":n=>!0},setup(n,i){let{attrs:g,emit:h,slots:u}=i;const{isRtl:e}=Xi(),{themeClasses:o}=Gi(n),{borderClasses:l}=Qi(n),{backgroundColorClasses:d,backgroundColorStyles:t}=Un(()=>n.color),{elevationClasses:y}=zg(n),{displayClasses:c,mobile:f}=Ji(n),{roundedClasses:q}=ng(n),k=ig(),V=En(n,"modelValue",null,M=>!!M),{ssrBootStyles:gn}=gg(),{scopeId:hn}=hg(),X=G(),a=B(!1),{runOpenDelay:F,runCloseDelay:Q}=yg(n,M=>{a.value=M}),m=C(()=>n.rail&&n.expandOnHover&&a.value?Number(n.width):Number(n.rail?n.railWidth:n.width)),r=C(()=>cg(n.location,e.value)),j=qn(()=>n.persistent),w=C(()=>!n.permanent&&(f.value||n.temporary)),b=C(()=>n.sticky&&!w.value&&r.value!=="bottom");ug(n,{isActive:V,localTop:w,contentEl:X}),wn(()=>n.expandOnHover&&n.rail!=null,()=>{K(a,M=>h("update:rail",!M))}),wn(()=>!n.disableResizeWatcher,()=>{K(w,M=>!n.permanent&&tn(()=>V.value=!M))}),wn(()=>!n.disableRouteWatcher&&!!k,()=>{K(k.currentRoute,()=>w.value&&(V.value=!1))}),K(()=>n.permanent,M=>{M&&(V.value=!0)}),n.modelValue==null&&!w.value&&(V.value=n.permanent||!f.value);const{isDragging:D,dragProgress:L}=zh({el:X,isActive:V,isTemporary:w,width:m,touchless:qn(()=>n.touchless),position:r}),un=C(()=>{const M=w.value?0:n.rail&&n.expandOnHover?Number(n.railWidth):m.value;return D.value?M*L.value:M}),{layoutItemStyles:R,layoutItemScrimStyles:en}=eg({id:n.name,order:C(()=>parseInt(n.order,10)),position:r,layoutSize:un,elementSize:m,active:tg(V),disableTransitions:qn(()=>D.value),absolute:C(()=>n.absolute||b.value&&typeof sn.value!="string")}),{isStuck:sn,stickyStyles:P}=sh({rootEl:X,isSticky:b,layoutItemStyles:R}),jn=Un(()=>typeof n.scrim=="string"?n.scrim:null),Cn=C(()=>({...D.value?{opacity:L.value*.2,transition:"none"}:void 0,...en.value}));return sg({VList:{bgColor:"transparent"}}),xi(()=>{const M=u.image||n.image;return E(rn,null,[p(n.tag,O({ref:X,onMouseenter:F,onMouseleave:Q,class:["v-navigation-drawer",`v-navigation-drawer--${r.value}`,{"v-navigation-drawer--expand-on-hover":n.expandOnHover,"v-navigation-drawer--floating":n.floating,"v-navigation-drawer--is-hovering":a.value,"v-navigation-drawer--rail":n.rail,"v-navigation-drawer--temporary":w.value,"v-navigation-drawer--persistent":j.value,"v-navigation-drawer--active":V.value,"v-navigation-drawer--sticky":b.value},o.value,d.value,l.value,c.value,y.value,q.value,n.class],style:[t.value,R.value,gn.value,P.value,n.style],inert:!V.value},hn,g),{default:()=>{var bn,J,on;return[M&&E("div",{key:"image",class:"v-navigation-drawer__img"},[u.image?p(wi,{key:"image-defaults",disabled:!n.image,defaults:{VImg:{alt:"",cover:!0,height:"inherit",src:n.image}}},u.image):p(og,{key:"image-img",alt:"",cover:!0,height:"inherit",src:n.image},null)]),u.prepend&&E("div",{class:"v-navigation-drawer__prepend"},[(bn=u.prepend)==null?void 0:bn.call(u)]),E("div",{class:"v-navigation-drawer__content"},[(J=u.default)==null?void 0:J.call(u)]),u.append&&E("div",{class:"v-navigation-drawer__append"},[(on=u.append)==null?void 0:on.call(u)])]}}),p(lg,{name:"fade-transition"},{default:()=>[w.value&&(D.value||V.value)&&!!n.scrim&&E("div",O({class:["v-navigation-drawer__scrim",jn.backgroundColorClasses.value],style:[Cn.value,jn.backgroundColorStyles.value],onClick:()=>{j.value||(V.value=!1)}},hn),null)]})])}),{isStuck:sn}}}),rh=vg({name:"MessageLog",setup(){const n=G(!1),i=G([]),g={success:"mdi-check-circle",error:"mdi-alert-circle",warning:"mdi-alert",info:"mdi-information"},h={success:"success",error:"error",warning:"warning",info:"primary"};return Dn.onLog(u=>{u&&(i.value=u)}),{drawer:n,messages:i,icons:g,colors:h,deleteMessage:u=>Dn.deleteMessage(u),clearMessages:()=>Dn.clearMessages()}}}),jh={class:"text-caption text-grey"};function bh(n,i,g,h,u,e){return n.drawer?(zn(),xn(ah,{key:0,modelValue:n.drawer,"onUpdate:modelValue":i[0]||(i[0]=o=>n.drawer=o),location:"right",temporary:"",width:"400"},{default:$(()=>[p($g,{color:"primary"},{default:$(()=>[p(Og,null,{default:$(()=>[...i[1]||(i[1]=[dn("消息记录",-1)])]),_:1})]),_:1}),p(vi,null,{default:$(()=>[(zn(!0),kg(rn,null,Tg(n.messages,o=>(zn(),xn(vn,{key:o.id,rounded:""},{prepend:$(()=>[p(kn,{color:n.colors[o.type],icon:n.icons[o.type],size:"20"},null,8,["color","icon"])]),default:$(()=>[p(Yn,null,{default:$(()=>[dn(In(o.title),1)]),_:2},1024),o.content?(zn(),xn(Sg,{key:0},{default:$(()=>[dn(In(o.content),1)]),_:2},1024)):Vn("",!0),E("span",jh,In(new Date(o.timestamp).toLocaleTimeString()),1)]),_:2},1024))),128)),n.messages.length?Vn("",!0):(zn(),xn(vn,{key:0},{prepend:$(()=>[p(kn,{color:"grey",icon:"mdi-inbox"})]),default:$(()=>[p(Yn,{class:"text-grey"},{default:$(()=>[...i[2]||(i[2]=[dn("暂无消息",-1)])]),_:1})]),_:1}))]),_:1})]),_:1},8,["modelValue"])):Vn("",!0)}const mu=pg(rh,[["render",bh]]),mh=/^[\uD800-\uDBFF]$/,fh=/^[\uDC00-\uDFFF]$/,xh=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;var ii;(function(n){n[n.Unknown=1e-13]="Unknown",n[n.Rule=1e-12]="Rule",n[n.DICT=2e-8]="DICT",n[n.Surname=1]="Surname",n[n.Custom=1]="Custom"})(ii||(ii={}));const Z={Normal:1,Surname:10,Custom:100};function W(n){var i;return n.length-(((i=n.match(xh))===null||i===void 0?void 0:i.length)||0)}function _n(n){const i=[];let g=0;for(;g1)return this.StringDICT.get(i);{const g=i.charCodeAt(0);return this.NumberDICT[g]}}set(i,g){if(i.length>1)this.StringDICT.set(i,g);else{const h=i.charCodeAt(0);this.NumberDICT[h]=g}}clear(){this.NumberDICT=[],this.StringDICT.clear()}}const gi={"bǎng páng pāng":["膀"],líng:["〇","伶","凌","刢","囹","坽","夌","姈","婈","孁","岺","彾","掕","昤","朎","柃","棂","櫺","欞","泠","淩","澪","灵","燯","爧","狑","玲","琌","瓴","皊","砱","祾","秢","竛","笭","紷","綾","绫","羐","羚","翎","聆","舲","苓","菱","蓤","蔆","蕶","蛉","衑","裬","詅","跉","軨","輘","酃","醽","鈴","錂","铃","閝","陵","零","霊","霗","霛","霝","靈","駖","魿","鯪","鲮","鴒","鸰","鹷","麢","齡","齢","龄","龗","㥄"],yī:["一","乊","伊","依","医","吚","咿","噫","壱","壹","夁","嫛","嬄","弌","揖","撎","檹","毉","洢","渏","漪","瑿","畩","祎","禕","稦","繄","蛜","衤","譩","辷","郼","醫","銥","铱","鷖","鹥","黟","黳"],"dīng zhēng":["丁"],"kǎo qiǎo yú":["丂"],qī:["七","倛","僛","凄","嘁","墄","娸","悽","慼","慽","戚","捿","柒","桤","桼","棲","榿","欺","沏","淒","漆","紪","緀","萋","褄","諆","迉","郪","鏚","霋","魌","鶈"],shàng:["丄","尙","尚","恦","緔","绱"],xià:["丅","下","乤","圷","夏","夓","懗","梺","疜","睱","罅","鎼","鏬"],hǎn:["丆","喊","浫","罕","豃","㘎"],"wàn mò":["万"],zhàng:["丈","仗","墇","嶂","帐","帳","幛","扙","杖","涱","痮","瘬","瘴","瞕","粀","胀","脹","賬","账","障"],sān:["三","厁","叁","弎","毵","毶","毿","犙","鬖"],"shàng shǎng shang":["上"],"qí jī":["丌","其","奇"],"bù fǒu":["不"],"yǔ yù yú":["与"],miǎn:["丏","偭","免","冕","勉","勔","喕","娩","愐","汅","沔","湎","睌","緬","缅","腼","葂","靦","鮸","𩾃"],gài:["丐","乢","匃","匄","戤","概","槩","槪","溉","漑","瓂","葢","鈣","钙","𬮿"],chǒu:["丑","丒","侴","吜","杽","瞅","矁","醜","魗"],zhuān:["专","叀","嫥","専","專","瑼","甎","砖","磗","磚","蟤","諯","鄟","顓","颛","鱄","䏝"],"qiě jū":["且"],pī:["丕","伓","伾","噼","坯","岯","憵","批","披","炋","狉","狓","砒","磇","礔","礕","秛","秠","耚","豾","邳","鈚","鉟","銔","錃","錍","霹","駓","髬","魾","𬳵"],shì:["世","丗","亊","事","仕","侍","冟","势","勢","卋","呩","嗜","噬","士","奭","嬕","室","市","式","弑","弒","恀","恃","戺","拭","揓","是","昰","枾","柿","栻","澨","烒","煶","眂","眎","眡","睗","示","礻","筮","簭","舐","舓","襫","視","视","觢","試","誓","諡","謚","试","谥","貰","贳","軾","轼","逝","遾","釈","释","釋","鈰","鉃","鉽","铈","飾","餙","餝","饰","鰘","䏡","𬤊"],qiū:["丘","丠","坵","媝","恘","恷","楸","秋","秌","穐","篍","緧","萩","蘒","蚯","蝵","蟗","蠤","趥","邱","鞦","鞧","鰌","鰍","鳅","鶖","鹙","龝"],bǐng:["丙","屛","怲","抦","昞","昺","柄","棅","炳","禀","秉","稟","苪","蛃","邴","鈵","陃","鞆","餅","餠","饼"],yè:["业","亱","僷","墷","夜","嶪","嶫","抴","捙","擛","擪","擫","晔","曄","曅","曗","曳","曵","枼","枽","業","洂","液","澲","烨","燁","爗","璍","皣","瞱","瞸","礏","腋","葉","謁","谒","邺","鄴","鍱","鐷","靥","靨","頁","页","餣","饁","馌","驜","鵺","鸈"],cóng:["丛","从","叢","婃","孮","従","徔","徖","悰","樷","欉","淙","灇","爜","琮","藂","誴","賨","賩","錝"],dōng:["东","倲","冬","咚","埬","岽","崬","徚","昸","東","氡","氭","涷","笗","苳","菄","蝀","鮗","鯟","鶇","鶫","鸫","鼕","𬟽"],sī:["丝","俬","凘","厮","司","咝","嘶","噝","媤","廝","恖","撕","斯","楒","泀","澌","燍","禗","禠","私","糹","絲","緦","纟","缌","罳","蕬","虒","蛳","蜤","螄","蟖","蟴","鉰","銯","鍶","鐁","锶","颸","飔","騦","鷥","鸶","鼶","㟃"],chéng:["丞","呈","城","埕","堘","塍","塖","宬","峸","惩","懲","成","承","挰","掁","揨","枨","棖","橙","檙","洆","溗","澂","珵","珹","畻","程","窚","筬","絾","脭","荿","誠","诚","郕","酲","鋮","铖","騬","鯎"],diū:["丟","丢","銩","铥"],liǎng:["両","两","兩","唡","啢","掚","緉","脼","蜽","裲","魉","魎","𬜯"],yǒu:["丣","卣","友","梄","湵","牖","禉","羑","聈","苃","莠","蜏","酉","銪","铕","黝"],yán:["严","厳","啱","喦","嚴","塩","壛","壧","妍","姸","娫","娮","岩","嵒","嵓","巌","巖","巗","延","揅","昖","楌","檐","櫩","欕","沿","炎","炏","狿","琂","盐","碞","筵","簷","莚","蔅","虤","蜒","言","訁","訮","詽","讠","郔","閆","閻","闫","阎","顏","顔","颜","鹽","麣","𫄧"],bìng:["並","併","倂","傡","垪","摒","栤","病","窉","竝","誁","靐","鮩"],"sàng sāng":["丧"],gǔn:["丨","惃","滚","滾","磙","緄","绲","蓘","蔉","衮","袞","輥","辊","鮌","鯀","鲧"],jiū:["丩","勼","啾","揪","揫","朻","究","糾","纠","萛","赳","阄","鬏","鬮","鳩","鸠"],"gè gě":["个","個","各"],yā:["丫","圧","孲","庘","押","枒","桠","椏","錏","鐚","鴉","鴨","鵶","鸦","鸭"],pán:["丬","媻","幋","槃","洀","瀊","爿","盘","盤","磐","縏","蒰","蟠","蹒","蹣","鎜","鞶"],"zhōng zhòng":["中"],jǐ:["丮","妀","己","戟","挤","掎","撠","擠","橶","泲","犱","脊","虮","蟣","魢","鱾","麂"],jiè:["丯","介","借","唶","堺","屆","届","岕","庎","徣","戒","楐","犗","玠","琾","界","畍","疥","砎","蚧","蛶","衸","褯","誡","诫","鎅","骱","魪"],fēng:["丰","仹","偑","僼","凨","凬","凮","妦","寷","封","峯","峰","崶","枫","楓","檒","沣","沨","渢","灃","烽","犎","猦","琒","疯","瘋","盽","砜","碸","篈","蘴","蜂","蠭","豐","鄷","酆","鋒","鎽","鏠","锋","霻","靊","飌","麷"],"guàn kuàng":["丱"],chuàn:["串","汌","玔","賗","釧","钏"],chǎn:["丳","产","冁","剷","囅","嵼","旵","浐","滻","灛","產","産","簅","蒇","蕆","諂","譂","讇","谄","鏟","铲","閳","闡","阐","骣","𬊤"],lín:["临","冧","壣","崊","嶙","斴","晽","暽","林","潾","瀶","燐","琳","璘","瞵","碄","磷","粦","粼","繗","翷","臨","轔","辚","遴","邻","鄰","鏻","阾","隣","霖","驎","鱗","鳞","麐","麟","𬴊","𬭸"],zhuó:["丵","劅","卓","啄","圴","妰","娺","撯","擆","擢","斫","斮","斱","斲","斵","晫","椓","浊","浞","濁","灼","烵","琸","硺","禚","窡","籗","籱","罬","茁","蠗","蠿","諁","諑","謶","诼","酌","鐲","镯","鵫","鷟","䓬","𬸦"],zhǔ:["丶","主","劯","嘱","囑","宔","帾","拄","渚","濐","煑","煮","燝","瞩","矚","罜","詝","陼","鸀","麈","𬣞"],bā:["丷","仈","八","叭","哵","夿","岜","巴","捌","朳","玐","疤","笆","粑","羓","芭","蚆","豝","釟"],wán:["丸","刓","完","岏","抏","捖","汍","烷","玩","琓","笂","紈","纨","翫","芄","貦","頑","顽"],dān:["丹","勯","匰","単","妉","媅","殚","殫","甔","眈","砃","箪","簞","耼","耽","聃","聸","褝","襌","躭","郸","鄲","酖","頕"],"wèi wéi":["为"],"jǐng dǎn":["丼"],"lì lí":["丽"],jǔ:["举","弆","挙","擧","椇","榉","榘","櫸","欅","矩","筥","聥","舉","莒","蒟","襷","踽","齟","龃"],piě:["丿","苤","鐅","𬭯"],fú:["乀","伏","俘","凫","刜","匐","咈","哹","垘","孚","岪","巿","帗","幅","幞","弗","彿","怫","扶","柫","栿","桴","氟","泭","浮","涪","澓","炥","玸","甶","畉","癁","祓","福","稪","符","箙","紱","紼","絥","綍","绂","绋","罘","罦","翇","艀","芙","芣","苻","茀","茯","菔","葍","虙","蚨","蜉","蝠","袚","袱","襆","襥","諨","豧","踾","輻","辐","郛","鉘","鉜","韍","韨","颫","髴","鮄","鮲","鳧","鳬","鴔","鵩","黻"],"yí jí":["乁"],yì:["乂","义","亄","亦","亿","伇","伿","佾","俋","億","兿","刈","劓","劮","勚","勩","匇","呓","呭","呹","唈","囈","圛","坄","垼","埸","奕","嫕","嬑","寱","屹","峄","嶧","帟","帠","幆","廙","异","弈","弋","役","忆","怈","怿","悒","意","憶","懌","懿","抑","挹","敡","易","晹","曀","曎","杙","枍","棭","榏","槸","檍","歝","殔","殪","殹","毅","浂","浥","浳","湙","溢","潩","澺","瀷","炈","焲","熠","熤","熼","燚","燡","燱","獈","玴","異","疫","痬","瘗","瘞","瘱","癔","益","瞖","穓","竩","篒","縊","繶","繹","绎","缢","義","羿","翊","翌","翳","翼","耴","肄","肊","膉","臆","艗","艺","芅","苅","萟","蓺","薏","藙","藝","蘙","虉","蜴","螠","衪","袣","裔","裛","褹","襼","訲","訳","詍","詣","誼","譯","議","讛","议","译","诣","谊","豙","豛","豷","貖","贀","跇","轶","逸","邑","鄓","醷","釴","鈠","鎰","鐿","镒","镱","阣","隿","霬","饐","駅","驛","驿","骮","鮨","鶂","鶃","鶍","鷁","鷊","鷧","鷾","鸃","鹝","鹢","黓","齸","𬬩","㑊","𫄷","𬟁"],nǎi:["乃","倷","奶","嬭","廼","氖","疓","艿","迺","釢"],wǔ:["乄","五","仵","伍","侮","倵","儛","午","啎","妩","娬","嫵","庑","廡","忤","怃","憮","摀","武","潕","熓","牾","玝","珷","瑦","甒","碔","舞","躌","迕","逜","陚","鵡","鹉","𣲘"],jiǔ:["久","乆","九","乣","奺","杦","汣","灸","玖","紤","舏","酒","镹","韭","韮"],"tuō zhé":["乇","杔","馲"],"me mó ma yāo":["么"],zhī:["之","倁","卮","巵","搘","支","栀","梔","椥","榰","汁","泜","疷","祗","祬","秓","稙","綕","肢","胑","胝","脂","芝","蘵","蜘","衼","隻","鳷","鴲","鼅","𦭜"],"wū wù":["乌"],zhà:["乍","咤","宱","搾","榨","溠","痄","蚱","詐","诈","醡","霅","䃎"],hū:["乎","乯","匢","匫","呼","唿","嘑","垀","寣","幠","忽","惚","昒","歑","泘","淴","滹","烀","苸","虍","虖","謼","軤","轷","雐"],fá:["乏","伐","傠","坺","垡","墢","姂","栰","浌","瞂","笩","筏","罚","罰","罸","藅","閥","阀"],"lè yuè yào lào":["乐","樂"],yín:["乑","吟","噖","嚚","圁","垠","夤","婬","寅","峾","崟","崯","檭","殥","泿","淫","滛","烎","犾","狺","璌","硍","碒","荶","蔩","訔","訚","訡","誾","鄞","鈝","銀","银","霪","鷣","齦"],pīng:["乒","俜","娉","涄","甹","砯","聠","艵","頩"],pāng:["乓","滂","胮","膖","雱","霶"],qiáo:["乔","侨","僑","嫶","憔","桥","槗","樵","橋","櫵","犞","瞧","硚","礄","荍","荞","蕎","藮","譙","趫","鐈","鞒","鞽","顦"],hǔ:["乕","琥","萀","虎","虝","錿","鯱"],guāi:["乖"],"chéng shèng":["乗","乘","娍"],yǐ:["乙","乛","以","倚","偯","嬟","崺","已","庡","扆","攺","敼","旑","旖","檥","矣","礒","笖","舣","艤","苡","苢","蚁","螘","蟻","裿","踦","輢","轙","逘","酏","釔","鈘","鉯","钇","顗","鳦","齮","𫖮","𬺈"],"háo yǐ":["乚"],"niè miē":["乜"],qǐ:["乞","企","启","唘","啓","啔","啟","婍","屺","杞","棨","玘","盀","綺","绮","芑","諬","起","邔","闙"],yě:["也","冶","嘢","埜","壄","漜","野"],xí:["习","喺","媳","嶍","席","椺","檄","漝","習","蓆","袭","襲","覡","觋","謵","趘","郋","鎴","隰","霫","飁","騱","騽","驨","鰼","鳛","𠅤","𫘬"],xiāng:["乡","厢","廂","忀","楿","欀","湘","瓖","稥","箱","緗","缃","膷","芗","萫","葙","薌","襄","郷","鄉","鄊","鄕","鑲","镶","香","驤","骧","鱜","麘","𬙋"],shū:["书","倏","倐","儵","叔","姝","尗","抒","掓","摅","攄","書","枢","梳","樞","殊","殳","毹","毺","淑","瀭","焂","疎","疏","紓","綀","纾","舒","菽","蔬","踈","軗","輸","输","鄃","陎","鮛","鵨"],dǒu:["乧","抖","枓","蚪","鈄","阧","陡"],shǐ:["乨","使","兘","史","始","宩","屎","榁","矢","笶","豕","鉂","駛","驶"],jī:["乩","僟","击","刉","刏","剞","叽","唧","喞","嗘","嘰","圾","基","墼","姬","屐","嵆","嵇","撃","擊","朞","机","枅","樭","機","毄","激","犄","玑","璣","畸","畿","癪","矶","磯","积","積","笄","筓","箕","簊","緁","羁","羇","羈","耭","肌","芨","虀","覉","覊","譏","譤","讥","賫","賷","赍","跻","踑","躋","躸","銈","錤","鐖","鑇","鑙","隮","雞","鞿","韲","飢","饑","饥","魕","鳮","鶏","鶺","鷄","鸄","鸡","齎","齏","齑","𬯀","𫓯","𫓹","𫌀"],náng:["乪","嚢","欜","蠰","饢"],jiā:["乫","佳","傢","加","嘉","抸","枷","梜","毠","泇","浃","浹","犌","猳","珈","痂","笳","糘","耞","腵","葭","袈","豭","貑","跏","迦","鉫","鎵","镓","鴐","麚","𬂩"],jù:["乬","倨","倶","具","剧","劇","勮","埧","埾","壉","姖","屦","屨","岠","巨","巪","怇","惧","愳","懅","懼","拒","拠","昛","歫","洰","澽","炬","烥","犋","秬","窭","窶","簴","粔","耟","聚","虡","蚷","詎","讵","豦","距","踞","躆","遽","邭","醵","鉅","鐻","钜","颶","飓","駏","鮔"],shí:["乭","十","埘","塒","姼","实","実","寔","實","峕","嵵","时","旹","時","榯","湜","溡","炻","祏","竍","蚀","蝕","辻","遈","鉐","飠","饣","鮖","鰣","鲥","鼫","鼭"],mǎo:["乮","冇","卯","峁","戼","昴","泖","笷","蓩","鉚","铆"],mǎi:["买","嘪","荬","蕒","買","鷶"],luàn:["乱","亂","釠"],rǔ:["乳","擩","汝","肗","辱","鄏"],xué:["乴","学","學","峃","嶨","斈","泶","澩","燢","穴","茓","袕","踅","鷽","鸴"],yǎn:["䶮","乵","俨","偃","儼","兖","兗","厣","厴","噞","孍","嵃","巘","巚","弇","愝","戭","扊","抁","掩","揜","曮","椼","檿","沇","渷","演","琰","甗","眼","罨","萒","蝘","衍","褗","躽","遃","郾","隒","顩","魇","魘","鰋","鶠","黡","黤","黬","黭","黶","鼴","鼹","齴","龑","𬸘","𬙂","𪩘"],fǔ:["乶","俌","俛","俯","府","弣","抚","拊","撫","斧","椨","滏","焤","甫","盙","簠","腐","腑","蜅","輔","辅","郙","釜","釡","阝","頫","鬴","黼","㕮","𫖯"],shā:["乷","唦","杀","桬","殺","毮","猀","痧","砂","硰","紗","繺","纱","蔱","裟","鎩","铩","閷","髿","魦","鯊","鯋","鲨"],nǎ:["乸","雫"],qián:["乹","亁","仱","偂","前","墘","媊","岒","拑","掮","榩","橬","歬","潛","潜","濳","灊","箝","葥","虔","軡","鈐","鉗","銭","錢","鎆","钤","钱","钳","靬","騚","騝","鰬","黔","黚"],suǒ:["乺","唢","嗩","所","暛","溑","溹","琐","琑","瑣","索","褨","鎖","鎻","鏁","锁"],yú:["乻","于","亐","伃","余","堣","堬","妤","娛","娯","娱","嬩","崳","嵎","嵛","愚","扵","揄","旟","楡","楰","榆","欤","歈","歟","歶","渔","渝","湡","漁","澞","牏","狳","玗","玙","瑜","璵","盂","睮","窬","竽","籅","羭","腴","臾","舁","舆","艅","茰","萮","萸","蕍","蘛","虞","虶","蝓","螸","衧","褕","覦","觎","諛","謣","谀","踰","輿","轝","逾","邘","酑","鍝","隅","雓","雩","餘","馀","騟","骬","髃","魚","魣","鮽","鯲","鰅","鱼","鷠","鸆","齵"],zhù:["乼","伫","佇","住","坾","墸","壴","嵀","拀","杼","柱","樦","殶","注","炷","疰","眝","祝","祩","竚","筯","箸","篫","簗","紵","紸","纻","羜","翥","苎","莇","蛀","註","貯","贮","跓","軴","鉒","鋳","鑄","铸","馵","駐","驻"],zhě:["乽","者","褶","襵","赭","踷","鍺","锗"],"qián gān":["乾"],"zhì luàn":["乿"],guī:["亀","圭","妫","媯","嫢","嬀","帰","归","摫","椝","槻","槼","櫷","歸","珪","瑰","璝","瓌","皈","瞡","硅","茥","蘬","規","规","邽","郌","閨","闺","騩","鬶","鬹"],"lǐn lìn":["亃"],jué:["亅","决","刔","劂","匷","厥","噊","孒","孓","崛","崫","嶥","彏","憠","憰","戄","抉","挗","掘","攫","桷","橛","橜","欮","氒","決","灍","焳","熦","爑","爴","爵","獗","玃","玦","玨","珏","瑴","瘚","矍","矡","砄","絕","絶","绝","臄","芵","蕝","蕨","虳","蟨","蟩","觖","觮","觼","訣","譎","诀","谲","貜","赽","趉","蹷","躩","鈌","鐍","鐝","钁","镢","鴂","鴃","鷢","𫘝","㵐","𫔎"],"le liǎo":["了"],"gè mā":["亇"],"yǔ yú":["予","懙"],zhēng:["争","佂","凧","姃","媜","峥","崝","崢","征","徰","炡","烝","爭","狰","猙","癥","眐","睁","睜","筝","箏","篜","聇","脀","蒸","踭","鉦","錚","鏳","鬇"],èr:["二","刵","咡","弍","弐","樲","誀","貮","貳","贰","髶"],chù:["亍","傗","儊","怵","憷","搐","斶","歜","珿","琡","矗","竌","絀","绌","臅","触","觸","豖","鄐","閦","黜"],kuī:["亏","刲","岿","巋","盔","窥","窺","聧","虧","闚","顝"],yún:["云","伝","勻","匀","囩","妘","愪","抣","昀","橒","沄","涢","溳","澐","熉","畇","秐","筼","篔","紜","縜","纭","耘","芸","蒷","蕓","郧","鄖","鋆","雲"],hù:["互","冱","嗀","嚛","婟","嫭","嫮","岵","帍","弖","怙","戶","户","戸","戽","扈","护","昈","槴","沍","沪","滬","熩","瓠","祜","笏","簄","粐","綔","蔰","護","豰","鄠","鍙","頀","鱯","鳠","鳸","鸌","鹱"],qí:["亓","剘","埼","岐","岓","崎","嵜","愭","掑","斉","斊","旂","旗","棊","棋","檱","櫀","歧","淇","濝","猉","玂","琦","琪","璂","畦","疧","碁","碕","祁","祈","祺","禥","竒","簯","簱","籏","粸","綥","綦","肵","脐","臍","艩","芪","萁","萕","蕲","藄","蘄","蚑","蚚","蛴","蜝","蜞","螧","蠐","褀","軝","鄿","釮","錡","锜","陭","頎","颀","騎","騏","騹","骐","骑","鬐","鬿","鯕","鰭","鲯","鳍","鵸","鶀","麒","麡","𨙸","𬨂","䓫"],jǐng:["井","儆","刭","剄","坓","宑","幜","憬","暻","殌","汫","汬","澋","璄","璟","璥","穽","肼","蟼","警","阱","頚","頸"],sì:["亖","佀","価","儩","兕","嗣","四","姒","娰","孠","寺","巳","柶","榹","汜","泗","泤","洍","洠","涘","瀃","牭","祀","禩","竢","笥","耜","肂","肆","蕼","覗","貄","釲","鈶","鈻","飤","飼","饲","駟","騃","驷"],suì:["亗","嬘","岁","嵗","旞","檖","歲","歳","澻","煫","燧","璲","砕","碎","祟","禭","穂","穗","穟","繀","繐","繸","襚","誶","譢","谇","賥","邃","鐆","鐩","隧","韢","𫟦","𬭼"],gèn:["亘","亙","揯","搄","茛"],yà:["亚","亜","俹","冴","劜","圔","圠","埡","娅","婭","揠","氩","氬","犽","砑","稏","聐","襾","覀","訝","讶","迓","齾"],"xiē suò":["些"],"qí zhāi":["亝","齊"],"yā yà":["亞","压","垭","壓","铔"],"jí qì":["亟","焏"],tóu:["亠","投","頭","骰"],"wáng wú":["亡"],"kàng háng gāng":["亢"],dà:["亣","眔"],jiāo:["交","僬","娇","嬌","峧","嶕","嶣","憍","椒","浇","澆","焦","礁","穚","簥","胶","膠","膲","茭","茮","蕉","虠","蛟","蟭","跤","轇","郊","鐎","驕","骄","鮫","鲛","鵁","鷦","鷮","鹪","䴔"],hài:["亥","嗐","害","氦","餀","饚","駭","駴","骇"],"hēng pēng":["亨"],mǔ:["亩","姆","峔","拇","母","牡","牳","畂","畆","畒","畝","畞","畮","砪","胟","踇","鉧","𬭁","𧿹"],ye:["亪"],xiǎng:["享","亯","响","想","晑","蚃","蠁","響","飨","餉","饗","饷","鮝","鯗","鱶","鲞"],jīng:["京","亰","兢","坕","坙","婛","惊","旌","旍","晶","橸","泾","涇","猄","睛","秔","稉","粳","精","経","經","綡","聙","腈","茎","荆","荊","菁","葏","驚","鯨","鲸","鶁","鶄","麖","麠","鼱","䴖"],tíng:["亭","停","婷","嵉","庭","廷","楟","榳","筳","聤","莛","葶","蜓","蝏","諪","邒","霆","鼮","䗴"],liàng:["亮","喨","悢","晾","湸","諒","谅","輌","輛","辆","鍄"],"qīn qìng":["亲","親"],bó:["亳","仢","侼","僰","博","帛","愽","懪","挬","搏","欂","浡","淿","渤","煿","牔","狛","瓝","礴","秡","箔","簙","糪","胉","脖","膊","舶","艊","萡","葧","袯","襏","襮","謈","踣","郣","鈸","鉑","鋍","鎛","鑮","钹","铂","镈","餺","馎","馛","馞","駁","駮","驳","髆","鵓","鹁"],yòu:["亴","佑","佦","侑","又","右","哊","唀","囿","姷","宥","峟","幼","狖","祐","蚴","誘","诱","貁","迶","酭","釉","鼬"],xiè:["亵","伳","偞","偰","僁","卨","卸","噧","塮","夑","媟","屑","屧","廨","徢","懈","暬","械","榍","榭","泻","洩","渫","澥","瀉","瀣","灺","炧","炨","燮","爕","獬","祄","禼","糏","紲","絏","絬","繲","纈","绁","缷","薢","薤","蟹","蠏","褉","褻","謝","谢","躞","邂","靾","韰","齂","齘","齛","齥","𬹼","𤫉"],"dǎn dàn":["亶","馾"],lián:["亷","劆","匲","匳","嗹","噒","奁","奩","嫾","帘","廉","怜","憐","涟","漣","濂","濓","瀮","熑","燫","簾","籢","籨","縺","翴","联","聨","聫","聮","聯","臁","莲","蓮","薕","螊","蠊","裢","褳","覝","謰","蹥","连","連","鎌","鐮","镰","鬑","鰱","鲢"],duǒ:["亸","哚","嚲","埵","崜","朵","朶","綞","缍","趓","躱","躲","軃"],"wěi mén":["亹","斖"],rén:["人","亻","仁","壬","忈","忎","朲","秂","芢","魜","鵀"],jí:["亼","亽","伋","佶","偮","卙","即","卽","及","叝","吉","堲","塉","姞","嫉","岌","嵴","嶯","彶","忣","急","愱","戢","揤","极","棘","楫","極","槉","檝","殛","汲","湒","潗","疾","瘠","皍","笈","箿","籍","級","级","膌","艥","蒺","蕀","蕺","蝍","螏","襋","觙","谻","踖","蹐","躤","輯","轚","辑","郆","銡","鍓","鏶","集","雧","霵","鹡","㴔"],wáng:["亾","仼","兦","莣","蚟"],"shén shí":["什"],lè:["仂","叻","忇","氻","泐","玏","砳","簕","艻","阞","韷","餎","鰳","鱳","鳓"],dīng:["仃","叮","帄","玎","疔","盯","耵","虰","靪"],zè:["仄","崱","庂","捑","昃","昗","汄"],"jǐn jìn":["仅","僅","嫤"],"pú pū":["仆"],"chóu qiú":["仇"],zhǎng:["仉","幥","掌","礃"],jīn:["今","堻","巾","惍","斤","津","珒","琻","璡","砛","筋","荕","衿","襟","觔","金","釒","釿","钅","鹶","黅","𬬱"],bīng:["仌","仒","兵","冫","冰","掤","氷","鋲"],réng:["仍","礽","芿","辸","陾"],fó:["仏","坲","梻"],"jīn sǎn":["仐"],lún:["仑","伦","侖","倫","囵","圇","婨","崘","崙","棆","沦","淪","磮","腀","菕","蜦","踚","輪","轮","錀","陯","鯩","𬬭"],cāng:["仓","仺","倉","凔","嵢","沧","滄","濸","獊","舱","艙","苍","蒼","螥","鸧"],"zǎi zǐ zī":["仔"],tā:["他","塌","它","榙","溻","牠","祂","褟","趿","遢","闧"],fù:["付","偩","傅","冨","副","咐","坿","复","妇","婦","媍","嬔","富","復","椱","祔","禣","竎","緮","縛","缚","腹","萯","蕧","蚹","蛗","蝜","蝮","袝","複","覄","覆","訃","詂","讣","負","賦","賻","负","赋","赙","赴","輹","鍑","鍢","阜","附","馥","駙","驸","鮒","鰒","鲋","鳆","㳇"],xiān:["仙","仚","佡","僊","僲","先","嘕","奾","屳","廯","忺","憸","掀","暹","杴","氙","珗","祆","秈","籼","繊","纎","纖","苮","褼","襳","跹","蹮","躚","酰","鍁","锨","韯","韱","馦","鱻","鶱","𬸣"],"tuō chà duó":["仛"],hóng:["仜","吰","垬","妅","娂","宏","宖","弘","彋","汯","泓","洪","浤","渱","潂","玒","玜","竑","竤","篊","粠","紘","紭","綋","纮","翃","翝","耾","苰","荭","葒","葓","谹","谼","鈜","鉷","鋐","閎","闳","霐","霟","鞃","魟","鴻","鸿","黉","黌","𫟹","𬭎"],tóng:["仝","佟","哃","峂","峝","庝","彤","晍","曈","桐","氃","浵","潼","犝","獞","眮","瞳","砼","秱","童","粡","膧","茼","蚒","詷","赨","酮","鉖","鉵","銅","铜","餇","鮦","鲖","𫍣","𦒍"],rèn:["仞","仭","刃","刄","妊","姙","屻","岃","扨","牣","祍","紉","紝","絍","纫","纴","肕","腍","衽","袵","訒","認","认","讱","軔","轫","鈓","靭","靱","韌","韧","飪","餁","饪"],qiān:["仟","佥","僉","千","圲","奷","孯","岍","悭","愆","慳","扦","拪","搴","撁","攐","攑","攓","杄","櫏","汘","汧","牵","牽","竏","签","簽","籖","籤","粁","芊","茾","蚈","褰","諐","謙","谦","谸","迁","遷","釺","鈆","鉛","鏲","钎","阡","韆","顅","騫","骞","鬜","鬝","鵮","鹐"],"gǎn hàn":["仠"],"yì gē":["仡"],dài:["代","侢","叇","垈","埭","岱","帒","带","帯","帶","廗","怠","戴","曃","柋","殆","瀻","玳","瑇","甙","簤","紿","緿","绐","艜","蝳","袋","襶","貣","贷","蹛","軑","軚","軩","轪","迨","霴","靆","鴏","黛","黱"],"lìng líng lǐng":["令"],chào:["仦","耖","觘"],"cháng zhǎng":["仧","兏","長","长"],sā:["仨"],cháng:["仩","偿","償","嘗","嚐","嫦","尝","常","徜","瑺","瓺","甞","肠","腸","膓","苌","萇","镸","鱨","鲿"],yí:["仪","侇","儀","冝","匜","咦","圯","夷","姨","宐","宜","宧","寲","峓","嶬","嶷","巸","彛","彜","彝","彞","怡","恞","扅","暆","栘","椬","椸","沂","洟","熪","瓵","痍","移","簃","籎","羠","胰","萓","蛦","螔","觺","謻","貽","贻","跠","迻","遺","鏔","頉","頤","頥","顊","颐","饴","鮧","鴺"],mù:["仫","凩","募","墓","幕","幙","慔","慕","暮","暯","木","楘","毣","沐","炑","牧","狇","目","睦","穆","艒","苜","莯","蚞","鉬","钼","雮","霂"],"men mén":["们"],fǎn:["仮","反","橎","返"],"chào miǎo":["仯"],"yǎng áng":["仰"],zhòng:["仲","众","堹","妕","媑","狆","眾","祌","筗","茽","蚛","衆","衶","諥"],"pǐ pí":["仳"],wò:["仴","偓","卧","媉","幄","握","楃","沃","渥","濣","瓁","瞃","硪","肟","腛","臥","齷","龌"],jiàn:["件","俴","健","僭","剑","剣","剱","劍","劎","劒","劔","墹","寋","建","徤","擶","旔","楗","毽","洊","涧","澗","牮","珔","瞷","磵","礀","箭","糋","繝","腱","臶","舰","艦","荐","薦","覸","諓","諫","譛","谏","賎","賤","贱","趝","践","踐","踺","轞","鉴","鍳","鍵","鐱","鑑","鑒","鑬","鑳","键","間","餞","饯","𬣡"],"jià jiè jie":["价"],"yǎo fó":["仸"],"rèn rén":["任"],"fèn bīn":["份"],dī:["仾","低","啲","埞","堤","岻","彽","樀","滴","磾","秪","羝","袛","趆","隄","鞮","䃅"],fǎng:["仿","倣","旊","昉","昘","瓬","眆","紡","纺","舫","訪","访","髣","鶭"],zhōng:["伀","刣","妐","幒","彸","忠","柊","汷","泈","炂","盅","籦","終","终","舯","蔠","蜙","螤","螽","衳","衷","蹱","鈡","鍾","鐘","钟","锺","鴤","鼨"],pèi:["伂","佩","姵","帔","斾","旆","沛","浿","珮","蓜","轡","辔","配","霈","馷"],diào:["伄","吊","弔","掉","瘹","盄","窎","窵","竨","訋","釣","鈟","銱","鋽","鑃","钓","铞","雿","魡"],dùn:["伅","潡","炖","燉","盾","砘","碷","踲","逇","遁","遯","鈍","钝"],wěn:["伆","刎","吻","呅","抆","桽","稳","穏","穩","紊","肳","脗"],xǐn:["伈"],kàng:["伉","匟","囥","抗","炕","鈧","钪"],ài:["伌","僾","塧","壒","嫒","嬡","愛","懓","暧","曖","爱","瑷","璦","皧","瞹","砹","硋","碍","礙","薆","譺","賹","鑀","隘","靉","餲","馤","鱫","鴱"],"jì qí":["伎","薺"],"xiū xǔ":["休"],"jìn yín":["伒"],dǎn:["伔","刐","撢","玬","瓭","紞","胆","膽","衴","賧","赕","黕","𬘘"],fū:["伕","呋","娐","孵","尃","怤","懯","敷","旉","玞","砆","稃","筟","糐","綒","肤","膚","荂","荴","衭","趺","跗","邞","鄜","酜","鈇","麩","麬","麱","麸","𫓧"],tǎng:["伖","傥","儻","埫","戃","曭","爣","矘","躺","鎲","钂","镋"],yōu:["优","優","呦","嚘","峳","幽","忧","悠","憂","攸","櫌","滺","瀀","纋","羪","耰","逌","鄾","麀"],huǒ:["伙","夥","火","煷","邩","鈥","钬"],"huì kuài":["会","會","浍","璯"],yǔ:["伛","俁","俣","偊","傴","匬","噳","圄","圉","宇","寙","屿","嶼","庾","挧","敔","斞","楀","瑀","瘐","祤","禹","穥","窳","羽","與","萭","貐","鄅","頨","麌","齬","龉","㺄"],cuì:["伜","啛","忰","悴","毳","淬","焠","疩","瘁","竁","粋","粹","紣","綷","翆","翠","脃","脆","脺","膬","膵","臎","萃","襊","顇"],sǎn:["伞","傘","糤","繖","饊","馓"],wěi:["伟","伪","偉","偽","僞","儰","娓","寪","屗","崣","嶉","徫","愇","捤","暐","梶","洧","浘","渨","炜","煒","猥","玮","瑋","痿","緯","纬","腲","艉","芛","苇","荱","萎","葦","蒍","蔿","蜼","諉","诿","踓","鍡","韑","韙","韡","韪","頠","颹","骩","骪","骫","鮪","鲔","𫇭","𬀩","𬱟"],"chuán zhuàn":["传","傳"],"chē jū":["伡","俥","车"],"jū chē":["車"],yá:["伢","厑","厓","堐","岈","崕","崖","涯","漄","牙","玡","琊","睚","笌","芽","蚜","衙","齖"],qiàn:["伣","俔","倩","儙","刋","壍","嬱","悓","棈","椠","槧","欠","歉","皘","篏","篟","縴","芡","蒨","蔳","輤","𬘬"],shāng:["伤","傷","商","墒","慯","殇","殤","滳","漡","熵","蔏","螪","觞","觴","謪","鬺"],chāng:["伥","倀","娼","昌","椙","淐","猖","琩","菖","裮","錩","锠","閶","阊","鯧","鲳","鼚"],"chen cāng":["伧"],xùn:["伨","侚","卂","噀","巺","巽","徇","愻","殉","殾","汛","潠","狥","蕈","訊","訓","訙","训","讯","迅","迿","逊","遜","鑂","顨","馴","驯"],xìn:["伩","囟","孞","脪","舋","衅","訫","釁","阠","顖"],chǐ:["伬","侈","卶","叺","呎","垑","恥","歯","耻","肔","胣","蚇","裭","褫","豉","鉹","齒","齿"],"xián xuán":["伭"],"nú nǔ":["伮"],"bó bǎi":["伯"],"gū gù":["估"],nǐ:["伱","你","儞","孴","拟","擬","旎","晲","狔","苨","薿","隬"],"nì ní":["伲"],bàn:["伴","办","半","姅","怑","扮","瓣","秚","絆","绊","辦","鉡","靽"],xù:["伵","侐","勖","勗","卹","叙","垿","壻","婿","序","恤","敍","敘","旭","昫","朂","槒","欰","殈","汿","沀","洫","溆","漵","潊","烅","烼","煦","獝","珬","盢","瞁","稸","絮","続","緒","緖","續","绪","续","聓","聟","蓄","藚","訹","賉","酗","頊","鱮","㳚"],zhòu:["伷","僽","冑","呪","咒","咮","宙","昼","晝","甃","皱","皺","籀","籒","籕","粙","紂","縐","纣","绉","胄","荮","葤","詋","酎","駎","驟","骤","㤘","㑇"],shēn:["伸","侁","兟","呻","堔","妽","娠","屾","峷","扟","敒","曑","柛","氠","深","燊","珅","甡","甧","申","眒","砷","穼","籶","籸","糂","紳","绅","罙","罧","葠","蓡","蔘","薓","裑","訷","詵","诜","身","駪","鯓","鯵","鰺","鲹","鵢","𬳽"],qū:["伹","佉","匤","呿","坥","屈","岖","岴","嶇","憈","抾","敺","浀","煀","祛","筁","粬","胠","蛆","蛐","袪","覻","詘","诎","趍","躯","軀","阹","駆","駈","驅","驱","髷","魼","鰸","鱋","鶌","麯","麴","麹","黢","㭕","𪨰","䓛"],"sì cì":["伺"],bēng:["伻","嘣","奟","崩","嵭","閍"],"sì shì":["似"],"jiā qié gā":["伽"],"yǐ chì":["佁"],"diàn tián":["佃","钿"],"hān gàn":["佄"],mài:["佅","劢","勱","卖","唛","売","脈","衇","賣","迈","邁","霡","霢","麥","麦","鿏"],dàn:["但","僤","啖","啗","啿","噉","嚪","帎","憺","旦","柦","氮","沊","泹","淡","狚","疍","癚","禫","窞","腅","萏","蓞","蛋","蜑","觛","訑","誕","诞","贉","霮","餤","饏","駳","髧","鴠","𫢸"],bù:["佈","勏","吥","咘","埗","埠","布","廍","怖","悑","步","歨","歩","瓿","篰","荹","蔀","踄","部","郶","鈈","钚","餢"],bǐ:["佊","俾","匕","夶","妣","彼","朼","柀","比","毞","沘","疕","秕","笔","筆","粃","聛","舭","貏","鄙"],"zhāo shào":["佋"],cǐ:["佌","此","泚","皉","𫚖"],wèi:["位","卫","味","喂","墛","媦","慰","懀","未","渭","煟","熭","犚","猬","畏","緭","罻","胃","苿","菋","藯","蘶","蝟","螱","衛","衞","褽","謂","讆","讏","谓","躗","躛","軎","轊","鏏","霨","餧","餵","饖","魏","鮇","鳚"],zuǒ:["佐","左","繓"],yǎng:["佒","傟","养","坱","岟","慃","懩","攁","氧","氱","炴","痒","癢","礢","紻","蝆","軮","養","駚"],"tǐ tī":["体","體"],zhàn:["佔","偡","嶘","战","戦","戰","栈","桟","棧","湛","站","綻","绽","菚","蘸","虥","虦","譧","轏","驏"],"hé hē hè":["何"],bì:["佖","咇","哔","嗶","坒","堛","壁","奰","妼","婢","嬖","币","幣","幤","庇","庳","廦","弊","弻","弼","彃","必","怭","愊","愎","敝","斃","梐","毕","毖","毙","湢","滗","滭","潷","煏","熚","狴","獘","獙","珌","璧","畀","畢","疪","痹","痺","皕","睤","碧","筚","箅","箆","篦","篳","粊","綼","縪","繴","罼","腷","苾","荜","萆","萞","蓖","蓽","蔽","薜","蜌","袐","襅","襞","襣","觱","詖","诐","貱","贔","赑","跸","蹕","躃","躄","避","邲","鄨","鄪","鉍","鏎","鐴","铋","閇","閉","閟","闭","陛","韠","飶","饆","馝","駜","驆","髀","魓","鮅","鷝","鷩","鼊"],tuó:["佗","坨","堶","岮","槖","橐","沱","砣","砤","碢","紽","詑","跎","酡","阤","陀","陁","駝","駞","騨","驒","驝","驼","鮀","鴕","鸵","鼉","鼍","鼧","𬶍"],shé:["佘","舌","虵","蛥"],"yì dié":["佚","昳","泆","軼"],"fó fú bì bó":["佛"],"zuò zuō":["作"],gōu:["佝","沟","溝","痀","篝","簼","緱","缑","袧","褠","鈎","鉤","钩","鞲","韝"],nìng:["佞","侫","倿","寕","泞","澝","濘"],qú:["佢","劬","戵","斪","欋","欔","氍","淭","灈","爠","璖","璩","癯","磲","籧","絇","胊","臞","菃","葋","蕖","蘧","蟝","蠷","蠼","衐","衢","躣","軥","鑺","鴝","鸜","鸲","鼩"],"yōng yòng":["佣"],wǎ:["佤","咓","砙","邷"],kǎ:["佧","垰","胩","裃","鉲"],bāo:["佨","勹","包","孢","煲","笣","胞","苞","蕔","裦","褒","襃","闁","齙","龅"],"huái huí":["佪"],"gé hè":["佫"],lǎo:["佬","咾","恅","栳","狫","珯","硓","老","耂","荖","蛯","轑","銠","铑","鮱"],xiáng:["佭","庠","栙","祥","絴","翔","詳","跭"],gé:["佮","匌","呄","嗝","塥","愅","挌","搿","槅","櫊","滆","膈","臵","茖","觡","諽","輵","轕","閣","阁","隔","鞷","韐","韚","騔","骼","鮯"],yáng:["佯","劷","垟","崸","徉","扬","揚","敭","旸","昜","暘","杨","楊","洋","炀","珜","疡","瘍","眻","蛘","諹","輰","鍚","钖","阦","阳","陽","霷","颺","飏","鰑","鴹","鸉"],bǎi:["佰","捭","摆","擺","栢","百","竡","粨","襬"],fǎ:["佱","峜","法","灋","砝","鍅"],mǐng:["佲","凕","姳","慏","酩"],"èr nài":["佴"],hěn:["佷","很","狠","詪","𬣳"],huó:["佸","活"],guǐ:["佹","匦","匭","厬","垝","姽","宄","庋","庪","恑","晷","湀","癸","祪","簋","蛫","蟡","觤","詭","诡","軌","轨","陒","鬼"],quán:["佺","全","啳","埢","姾","峑","巏","拳","搼","权","楾","権","權","泉","洤","湶","牷","犈","瑔","痊","硂","筌","縓","荃","葲","蜷","蠸","觠","詮","诠","跧","踡","輇","辁","醛","銓","铨","闎","顴","颧","駩","騡","鬈","鰁","鳈","齤"],tiāo:["佻","庣","旫","祧","聎"],jiǎo:["佼","儌","孂","挢","搅","撟","撹","攪","敫","敽","敿","晈","暞","曒","灚","燞","狡","璬","皎","皦","絞","纐","绞","腳","臫","蟜","譑","賋","踋","鉸","铰","餃","饺","鱎","龣"],cì:["佽","刾","庛","朿","栨","次","絘","茦","莿","蛓","螆","賜","赐"],xíng:["侀","刑","哘","型","娙","形","洐","硎","蛵","邢","郉","鈃","鉶","銒","钘","铏","陉","陘","餳","𫰛"],tuō:["侂","咃","咜","圫","托","拕","拖","汑","脫","脱","莌","袥","託","讬","飥","饦","魠","鮵"],kǎn:["侃","偘","冚","坎","惂","砍","莰","輡","轗","顑"],zhí:["侄","値","值","埴","執","姪","嬂","戠","执","摭","植","樴","淔","漐","直","禃","絷","縶","聀","职","職","膱","蟙","跖","踯","蹠","躑","軄","釞","馽"],gāi:["侅","垓","姟","峐","晐","畡","祴","荄","該","该","豥","賅","賌","赅","陔"],lái:["來","俫","倈","崃","崍","庲","来","梾","棶","涞","淶","猍","琜","筙","箂","莱","萊","逨","郲","錸","铼","騋","鯠","鶆","麳"],kuǎ:["侉","咵","垮","銙"],gōng:["侊","公","功","匑","匔","塨","宫","宮","工","幊","弓","恭","攻","杛","碽","糼","糿","肱","觥","觵","躬","躳","髸","龔","龚","䢼"],lì:["例","俐","俪","傈","儮","儷","凓","利","力","励","勵","历","厉","厤","厯","厲","叓","吏","呖","唎","唳","嚦","囇","坜","塛","壢","娳","婯","屴","岦","悧","悷","慄","戾","搮","暦","曆","曞","朸","枥","栃","栗","栛","檪","櫔","櫪","欐","歴","歷","沥","沴","涖","溧","濿","瀝","爏","犡","猁","珕","瑮","瓅","瓑","瓥","疬","痢","癧","盭","睙","砅","砺","砾","磿","礪","礫","礰","禲","秝","立","笠","篥","粒","粝","糲","脷","苈","茘","荔","莅","莉","蒚","蒞","藶","蚸","蛎","蛠","蜧","蝷","蠇","蠣","詈","讈","赲","轢","轣","轹","酈","鉝","隶","隷","雳","靂","靋","鬁","鳨","鴗","鷅","麜","𫵷","𬍛"],yīn:["侌","凐","喑","噾","囙","因","垔","堙","姻","婣","愔","慇","栶","氤","洇","溵","濦","瘖","禋","秵","筃","絪","緸","茵","蒑","蔭","裀","諲","銦","铟","闉","阥","阴","陰","陻","隂","霒","霠","鞇","音","韾","駰","骃","齗","𬘡","𬤇","𬮱"],mǐ:["侎","孊","弭","敉","洣","渳","灖","米","粎","羋","脒","芈","葞","蔝","銤"],zhū:["侏","株","槠","橥","櫧","櫫","洙","潴","瀦","猪","珠","硃","秼","絑","茱","蕏","蛛","蝫","蠩","袾","誅","諸","诛","诸","豬","跦","邾","銖","铢","駯","鮢","鯺","鴸","鼄"],ān:["侒","偣","媕","安","峖","庵","桉","氨","盦","盫","腤","菴","萻","葊","蓭","誝","諳","谙","鞌","鞍","韽","馣","鮟","鵪","鶕","鹌","𩽾"],lù:["侓","僇","勎","勠","圥","坴","塶","娽","峍","廘","彔","录","戮","摝","椂","樚","淕","淥","渌","漉","潞","琭","璐","甪","盝","睩","硉","祿","禄","稑","穋","箓","簏","簬","簵","簶","籙","粶","蔍","蕗","虂","螰","賂","赂","趢","路","踛","蹗","輅","轆","辂","辘","逯","醁","錄","録","錴","鏴","陸","騄","騼","鯥","鴼","鵦","鵱","鷺","鹭","鹿","麓","𫘧"],móu:["侔","劺","恈","眸","蛑","謀","谋","踎","鍪","鴾","麰"],ér:["侕","儿","児","兒","峏","栭","洏","粫","而","胹","荋","袻","輀","轜","陑","隭","髵","鮞","鲕","鴯","鸸"],"dòng tǒng tóng":["侗"],chà:["侘","奼","姹","岔","汊","詫","诧"],chì:["侙","傺","勅","勑","叱","啻","彳","恜","慗","憏","懘","抶","敕","斥","杘","湁","灻","炽","烾","熾","痓","痸","瘛","翄","翅","翤","翨","腟","赤","趩","遫","鉓","雴","飭","饬","鶒","鷘"],"gòng gōng":["供","共"],zhōu:["侜","周","喌","州","徟","洲","淍","炿","烐","珘","矪","舟","謅","譸","诌","賙","赒","輈","輖","辀","週","郮","銂","霌","駲","騆","鵃","鸼"],rú:["侞","儒","嚅","如","嬬","孺","帤","曘","桇","渪","濡","筎","茹","蕠","薷","蝡","蠕","袽","襦","邚","醹","銣","铷","顬","颥","鱬","鴑","鴽"],"jiàn cún":["侟"],xiá:["侠","俠","匣","峡","峽","敮","暇","柙","炠","烚","狎","狭","狹","珨","瑕","硖","硤","碬","祫","筪","縖","翈","舝","舺","蕸","赮","轄","辖","遐","鍜","鎋","陜","陿","霞","騢","魻","鶷","黠"],lǚ:["侣","侶","儢","吕","呂","屡","屢","履","挔","捛","旅","梠","焒","祣","稆","穭","絽","縷","缕","膂","膐","褛","褸","郘","鋁","铝"],ta:["侤"],"jiǎo yáo":["侥","僥","徺"],zhēn:["侦","偵","寊","帧","帪","幀","搸","斟","桢","楨","榛","樼","殝","浈","湞","潧","澵","獉","珍","珎","瑧","甄","眞","真","砧","碪","祯","禎","禛","箴","胗","臻","葴","蒖","蓁","薽","貞","贞","轃","遉","酙","針","鉁","錱","鍼","针","鱵"],"cè zè zhāi":["侧","側"],kuài:["侩","儈","凷","哙","噲","圦","块","塊","巜","廥","快","旝","欳","狯","獪","筷","糩","脍","膾","郐","鄶","鱠","鲙"],chái:["侪","儕","喍","柴","犲","祡","豺"],nóng:["侬","儂","农","哝","噥","檂","欁","浓","濃","燶","禯","秾","穠","脓","膿","蕽","襛","譨","農","辳","醲","鬞","𬪩"],jǐn:["侭","儘","卺","厪","巹","槿","漌","瑾","紧","緊","菫","蓳","謹","谨","錦","锦","饉","馑"],"hóu hòu":["侯","矦"],jiǒng:["侰","僒","冏","囧","泂","澃","炯","烱","煚","煛","熲","燛","窘","綗","褧","迥","逈","顈","颎","䌹"],"chěng tǐng":["侱"],"zhèn zhēn":["侲","揕"],zuò:["侳","做","唑","坐","岝","岞","座","祚","糳","胙","葃","葄","蓙","袏","阼"],qīn:["侵","兓","媇","嵚","嶔","欽","衾","誛","钦","顉","駸","骎","鮼"],jú:["侷","啹","婅","局","巈","椈","橘","泦","淗","湨","焗","犑","狊","粷","菊","蘜","趜","跼","蹫","輂","郹","閰","駶","驧","鵙","鵴","鶪","鼰","鼳","䴗"],"shù dōu":["侸"],tǐng:["侹","圢","娗","挺","涏","烶","珽","脡","艇","誔","頲","颋"],shèn:["侺","愼","慎","昚","涁","渗","滲","瘆","瘮","眘","祳","肾","胂","脤","腎","蜃","蜄","鋠"],"tuì tuó":["侻"],nán:["侽","喃","娚","抩","暔","枏","柟","楠","男","畘","莮","萳","遖"],xiāo:["侾","哓","嘵","嚻","囂","婋","宯","宵","庨","彇","揱","枭","枵","梟","櫹","歊","毊","消","潇","瀟","灱","灲","烋","焇","猇","獢","痚","痟","硝","硣","窙","箫","簘","簫","綃","绡","翛","膮","萧","蕭","虈","虓","蟂","蟏","蟰","蠨","踃","逍","銷","销","霄","颵","驍","骁","髇","髐","魈","鴞","鴵","鷍","鸮"],"biàn pián":["便","緶","缏"],tuǐ:["俀","腿","蹆","骽"],xì:["係","匸","卌","呬","墍","屃","屓","屭","忥","怬","恄","椞","潝","潟","澙","熂","犔","磶","禊","細","綌","縘","细","绤","舃","舄","蕮","虩","衋","覤","赩","趇","郤","釳","阋","隙","隟","霼","餼","饩","鬩","黖"],cù:["促","媨","憱","猝","瘄","瘯","簇","縬","脨","蔟","誎","趗","踧","踿","蹙","蹴","蹵","醋","顣","鼀"],é:["俄","囮","娥","峉","峨","峩","涐","珴","皒","睋","磀","莪","訛","誐","譌","讹","迗","鈋","鋨","锇","頟","額","额","魤","鵝","鵞","鹅"],qiú:["俅","叴","唒","囚","崷","巯","巰","扏","梂","殏","毬","求","汓","泅","浗","湭","煪","犰","玌","球","璆","皳","盚","紌","絿","肍","芁","莍","虬","虯","蛷","裘","觓","觩","訄","訅","賕","赇","逎","逑","遒","酋","釚","釻","銶","頄","鮂","鯄","鰽","鼽","𨱇"],xú:["俆","徐","禑"],"guàng kuāng":["俇"],kù:["俈","喾","嚳","库","庫","廤","瘔","絝","绔","袴","裤","褲","酷"],wù:["俉","务","務","勿","卼","坞","塢","奦","婺","寤","屼","岉","嵨","忢","悞","悟","悮","戊","扤","晤","杌","溩","焐","熃","物","痦","矹","窹","粅","蘁","誤","误","鋈","阢","隖","雾","霚","霧","靰","騖","骛","鶩","鹜","鼿","齀"],jùn:["俊","儁","呁","埈","寯","峻","懏","捃","攟","晙","棞","燇","珺","畯","竣","箟","蜠","賐","郡","陖","餕","馂","駿","骏","鵔","鵕","鵘","䐃"],liáng:["俍","墚","梁","椋","樑","粮","粱","糧","良","輬","辌","𫟅"],zǔ:["俎","唨","爼","祖","組","组","詛","诅","鎺","阻","靻"],"qiào xiào":["俏"],yǒng:["俑","勇","勈","咏","埇","塎","嵱","彮","怺","恿","悀","惥","愑","愹","慂","柡","栐","永","泳","湧","甬","蛹","詠","踊","踴","鯒","鲬"],hùn:["俒","倱","圂","尡","慁","掍","溷","焝","睴","觨","諢","诨"],jìng:["俓","傹","境","妌","婙","婧","弪","弳","径","徑","敬","曔","桱","梷","浄","瀞","獍","痉","痙","竞","竟","竫","競","竸","胫","脛","莖","誩","踁","迳","逕","鏡","镜","靖","静","靜","鵛"],sàn:["俕","閐"],pěi:["俖"],sú:["俗"],xī:["俙","僖","兮","凞","卥","厀","吸","唏","唽","嘻","噏","嚱","夕","奚","嬆","嬉","屖","嵠","巇","希","徆","徯","息","悉","悕","惁","惜","昔","晞","晰","晳","曦","析","桸","榽","樨","橀","欷","氥","汐","浠","淅","渓","溪","烯","焁","焈","焟","熄","熈","熙","熹","熺","熻","燨","爔","牺","犀","犠","犧","琋","瘜","皙","睎","瞦","矽","硒","磎","礂","稀","穸","窸","粞","糦","緆","繥","羲","翕","翖","肸","肹","膝","舾","莃","菥","蒠","蜥","螅","蟋","蠵","西","觹","觽","觿","譆","谿","豀","豨","豯","貕","赥","邜","鄎","酅","醯","釸","錫","鏭","鐊","鑴","锡","隵","餏","饎","饻","鯑","鵗","鸂","鼷"],lǐ:["俚","娌","峢","峲","李","欚","浬","澧","理","礼","禮","粴","裏","裡","豊","逦","邐","醴","鋰","锂","鯉","鱧","鱱","鲤","鳢"],bǎo:["保","堢","媬","宝","寚","寳","寶","珤","緥","葆","藵","褓","賲","靌","飹","飽","饱","駂","鳵","鴇","鸨"],"yú shù yù":["俞"],"sì qí":["俟"],"xìn shēn":["信"],xiū:["俢","修","咻","庥","樇","烌","羞","脙","脩","臹","貅","銝","鎀","飍","饈","馐","髤","髹","鮴","鱃","鵂","鸺","䗛"],dì:["俤","偙","僀","埊","墑","墬","娣","帝","怟","旳","梊","焍","玓","甋","眱","睇","碲","祶","禘","第","締","缔","腣","菂","蒂","蔕","蝃","蝭","螮","諦","谛","踶","递","逓","遞","遰","鉪","𤧛","䗖"],chóu:["俦","儔","嬦","惆","愁","懤","栦","燽","畴","疇","皗","稠","筹","籌","絒","綢","绸","菗","詶","讎","讐","踌","躊","酧","酬","醻","雔","雠","雦"],zhì:["俧","偫","儨","制","劕","垁","娡","寘","帙","帜","幟","庢","庤","廌","彘","徏","徝","志","忮","懥","懫","挃","挚","掷","摯","擲","旘","晊","智","栉","桎","梽","櫍","櫛","治","洷","滍","滞","滯","潌","瀄","炙","熫","狾","猘","璏","瓆","痔","痣","礩","祑","秩","秷","稚","稺","穉","窒","紩","緻","置","翐","膣","至","致","芖","蛭","袟","袠","製","覟","觗","觯","觶","誌","豑","豒","貭","質","贄","质","贽","跱","踬","躓","輊","轾","郅","銍","鋕","鑕","铚","锧","陟","隲","雉","駤","騭","騺","驇","骘","鯯","鴙","鷙","鸷","𬃊"],"liǎ liǎng":["俩"],jiǎn:["俭","倹","儉","减","剪","堿","弿","彅","戩","戬","拣","挸","捡","揀","撿","枧","柬","梘","检","検","檢","減","湕","瀽","瑐","睑","瞼","硷","碱","礆","笕","筧","简","簡","絸","繭","翦","茧","藆","蠒","裥","襇","襉","襺","詃","謇","謭","譾","谫","趼","蹇","鐗","鬋","鰎","鹸","鹻","鹼"],huò:["俰","咟","嚯","嚿","奯","彠","惑","或","擭","旤","曤","檴","沎","湱","瀖","獲","癨","眓","矐","祸","禍","穫","窢","耯","臛","艧","获","蒦","藿","蠖","謋","貨","货","鍃","鑊","镬","雘","霍","靃","韄","㸌"],"jù jū":["俱","据","鋸","锯"],xiào:["俲","傚","効","咲","哮","啸","嘋","嘨","嘯","孝","效","斅","斆","歗","涍","熽","笑","詨","誟"],pái:["俳","徘","牌","犤","猅","簰","簲","輫"],biào:["俵","鰾","鳔"],"chù tì":["俶"],fèi:["俷","剕","厞","吠","屝","废","廃","廢","昲","曊","櫠","沸","濷","狒","癈","肺","萉","費","费","鐨","镄","陫","靅","鼣"],fèng:["俸","凤","奉","湗","焨","煈","賵","赗","鳯","鳳","鴌"],ǎn:["俺","唵","埯","揞","罯","銨","铵"],bèi:["俻","倍","偝","偹","備","僃","备","悖","惫","愂","憊","昁","梖","焙","牬","犕","狈","狽","珼","琲","碚","禙","糒","苝","蓓","蛽","褙","貝","贝","軰","輩","辈","邶","郥","鄁","鋇","鐾","钡","鞁","鞴","𬇙"],yù:["俼","儥","喅","喩","喻","域","堉","妪","嫗","寓","峪","嶎","庽","彧","御","愈","慾","戫","昱","棛","棜","棫","櫲","欎","欝","欲","毓","浴","淯","滪","潏","澦","灪","焴","煜","燏","燠","爩","狱","獄","玉","琙","瘉","癒","砡","硢","硲","礇","礖","礜","禦","秗","稢","稶","篽","籞","籲","粖","緎","罭","聿","肀","艈","芋","芌","茟","蒮","蓣","蓹","蕷","蘌","蜟","蜮","袬","裕","誉","諭","譽","谕","豫","軉","輍","逳","遇","遹","郁","醧","鈺","鋊","錥","鐭","钰","閾","阈","雤","霱","預","预","飫","饇","饫","馭","驈","驭","鬰","鬱","鬻","魊","鱊","鳿","鴥","鴧","鴪","鵒","鷸","鸒","鹆","鹬"],xīn:["俽","噺","妡","嬜","廞","心","忄","忻","惞","新","昕","杺","欣","歆","炘","盺","薪","訢","辛","邤","鈊","鋅","鑫","锌","馨","馫","䜣","𫷷"],"hǔ chí":["俿"],jiù:["倃","僦","匓","匛","匶","厩","咎","就","廄","廏","廐","慦","捄","救","旧","柩","柾","桕","欍","殧","疚","臼","舅","舊","鯦","鷲","鹫","麔","齨","㠇"],yáo:["倄","傜","嗂","垚","堯","姚","媱","尧","尭","峣","嶢","嶤","徭","揺","搖","摇","摿","暚","榣","烑","爻","猺","珧","瑤","瑶","磘","窑","窯","窰","肴","蘨","謠","謡","谣","軺","轺","遙","遥","邎","顤","颻","飖","餆","餚","鰩","鱙","鳐"],"cuì zú":["倅"],"liǎng liǎ":["倆"],wǎn:["倇","唍","婉","惋","挽","晚","晥","晩","晼","梚","椀","琬","畹","皖","盌","碗","綩","綰","绾","脘","萖","踠","輓","鋔"],zǒng:["倊","偬","傯","嵸","总","惣","捴","搃","摠","燪","総","緫","縂","總","蓗"],guān:["倌","关","官","棺","瘝","癏","窤","蒄","関","闗","關","鰥","鱞","鳏"],tiǎn:["倎","唺","忝","悿","晪","殄","淟","睓","腆","舔","覥","觍","賟","錪","餂"],mén:["們","扪","捫","璊","菛","虋","鍆","钔","門","閅","门","𫞩"],"dǎo dào":["倒"],"tán tàn":["倓","埮"],"juè jué":["倔"],chuí:["倕","垂","埀","捶","搥","桘","棰","槌","箠","腄","菙","錘","鎚","锤","陲","顀"],xìng:["倖","姓","婞","嬹","幸","性","悻","杏","涬","緈","臖","荇","莕","葕"],péng:["倗","傰","塜","塳","弸","憉","捀","朋","棚","椖","樥","硼","稝","竼","篷","纄","膨","芃","蓬","蘕","蟚","蟛","袶","輣","錋","鑝","韸","韼","騯","髼","鬅","鬔","鵬","鹏"],"tǎng cháng":["倘"],hòu:["候","厚","后","垕","堠","後","洉","茩","豞","逅","郈","鮜","鱟","鲎","鲘"],tì:["倜","剃","嚏","嚔","屉","屜","悌","悐","惕","惖","戻","掦","替","朑","歒","殢","涕","瓋","笹","籊","薙","褅","逖","逷","髰","鬀","鬄"],gàn:["倝","凎","幹","榦","檊","淦","灨","盰","紺","绀","詌","贑","赣","骭","㽏"],"liàng jìng":["倞","靓"],suī:["倠","哸","夊","滖","濉","眭","睢","芕","荽","荾","虽","雖","鞖"],"chàng chāng":["倡"],jié:["倢","偼","傑","刦","刧","刼","劫","劼","卩","卪","婕","媫","孑","岊","崨","嵥","嶻","巀","幯","截","捷","掶","擮","昅","杢","杰","桀","桝","楬","楶","榤","洁","滐","潔","狤","睫","礍","竭","節","羯","莭","蓵","蛣","蜐","蠘","蠞","蠽","衱","袺","訐","詰","誱","讦","踕","迼","鉣","鍻","镼","頡","鮚","鲒","㛃"],"kǒng kōng":["倥"],juàn:["倦","劵","奆","慻","桊","淃","狷","獧","眷","睊","睠","絭","絹","绢","罥","羂","腃","蔨","鄄","餋"],zōng:["倧","堫","宗","嵏","嵕","惾","朡","棕","椶","熧","猣","磫","緃","翪","腙","葼","蝬","豵","踨","踪","蹤","鍐","鑁","騌","騣","骔","鬃","鬉","鬷","鯮","鯼"],ní:["倪","坭","埿","尼","屔","怩","淣","猊","籾","聣","蚭","蜺","觬","貎","跜","輗","郳","鈮","铌","霓","馜","鯢","鲵","麑","齯","𫐐","𫠜"],zhuō:["倬","拙","捉","桌","梲","棁","棳","槕","涿","窧","鐯","䦃"],"wō wēi":["倭"],luǒ:["倮","剆","曪","瘰","癳","臝","蓏","蠃","裸","躶"],sōng:["倯","凇","娀","崧","嵩","庺","憽","松","枀","枩","柗","梥","檧","淞","濍","硹","菘","鬆"],lèng:["倰","堎","愣","睖","踜"],zì:["倳","剚","字","恣","渍","漬","牸","眥","眦","胔","胾","自","茡","荢"],bèn:["倴","坌","捹","撪","渀","笨","逩"],cǎi:["倸","啋","婇","彩","採","棌","毝","睬","綵","跴","踩"],zhài:["债","債","寨","瘵","砦"],yē:["倻","吔","噎","擨","暍","椰","歋","潱","蠮"],shà:["倽","唼","喢","歃","箑","翜","翣","萐","閯","霎"],qīng:["倾","傾","卿","圊","寈","氢","氫","淸","清","蜻","軽","輕","轻","郬","錆","鑋","靑","青","鯖"],yīng:["偀","嘤","噟","嚶","婴","媖","嫈","嬰","孆","孾","愥","撄","攖","朠","桜","樱","櫻","渶","煐","珱","瑛","璎","瓔","甇","甖","碤","礯","緓","纓","绬","缨","罂","罃","罌","膺","英","莺","蘡","蝧","蠳","褮","譻","賏","軈","鑍","锳","霙","韺","鴬","鶑","鶧","鶯","鷪","鷹","鸎","鸚","鹦","鹰","䓨"],"chēng chèn":["偁","爯"],ruǎn:["偄","朊","瑌","瓀","碝","礝","腝","軟","輭","软","阮"],"zhòng tóng":["偅"],chǔn:["偆","惷","睶","萶","蠢","賰"],"jiǎ jià":["假"],"jì jié":["偈"],"bǐng bìng":["偋"],ruò:["偌","叒","嵶","弱","楉","焫","爇","箬","篛","蒻","鄀","鰙","鰯","鶸"],tí:["偍","厗","啼","嗁","崹","漽","瑅","睼","禵","稊","緹","缇","罤","蕛","褆","謕","趧","蹄","蹏","醍","鍗","題","题","騠","鮷","鯷","鳀","鵜","鷤","鹈","𫘨"],wēi:["偎","危","喴","威","媙","嶶","巍","微","愄","揋","揻","椳","楲","溦","烓","煨","燰","癓","縅","葨","葳","薇","蜲","蝛","覣","詴","逶","隇","隈","霺","鰃","鰄","鳂"],piān:["偏","囨","媥","楄","犏","篇","翩","鍂"],yàn:["偐","厌","厭","唁","喭","嚈","嚥","堰","妟","姲","嬊","嬿","宴","彥","彦","敥","晏","暥","曕","曣","滟","灎","灔","灧","灩","焔","焰","焱","熖","燄","牪","猒","砚","硯","艳","艶","艷","覎","觃","觾","諺","讌","讞","谚","谳","豓","豔","贋","贗","赝","軅","酀","酽","醼","釅","雁","餍","饜","騐","験","騴","驗","驠","验","鬳","鳫","鴈","鴳","鷃","鷰","齞"],"tǎng dàng":["偒"],è:["偔","匎","卾","厄","呝","咢","噩","垩","堊","堮","岋","崿","廅","悪","愕","戹","扼","搤","搹","擜","櫮","歞","歺","湂","琧","砈","砐","硆","腭","苊","萼","蕚","蚅","蝁","覨","諤","讍","谔","豟","軛","軶","轭","遌","遏","遻","鄂","鈪","鍔","鑩","锷","阨","阸","頞","顎","颚","餓","餩","饿","鰐","鰪","鱷","鳄","鶚","鹗","齃","齶","𫫇","𥔲"],xié:["偕","勰","协","協","嗋","垥","奊","恊","愶","拹","携","撷","擕","擷","攜","斜","旪","熁","燲","綊","緳","縀","缬","翓","胁","脅","脇","脋","膎","蝢","衺","襭","諧","讗","谐","鞋","鞵","龤","㙦"],chě:["偖","扯","撦"],shěng:["偗","渻","眚"],chā:["偛","嗏","扠","挿","插","揷","疀","臿","艖","銟","鍤","锸","餷"],huáng:["偟","凰","喤","堭","墴","媓","崲","徨","惶","楻","湟","煌","獚","瑝","璜","癀","皇","磺","穔","篁","簧","艎","葟","蝗","蟥","諻","趪","遑","鍠","鐄","锽","隍","韹","餭","騜","鰉","鱑","鳇","鷬","黃","黄","𨱑"],yǎo:["偠","咬","婹","宎","岆","杳","柼","榚","溔","狕","窅","窈","舀","苭","闄","騕","鷕","齩"],"chǒu qiào":["偢"],yóu:["偤","尤","庮","怣","沋","油","浟","游","犹","猶","猷","由","疣","秞","肬","莜","莸","蕕","蚰","蝣","訧","輏","輶","逰","遊","邮","郵","鈾","铀","駀","魷","鮋","鱿","鲉","𬨎"],xū:["偦","墟","媭","嬃","楈","欨","歔","燸","疞","盱","綇","縃","繻","胥","蕦","虗","虚","虛","蝑","裇","訏","許","諝","譃","谞","鑐","需","須","须","顼","驉","鬚","魆","魖","𬣙","𦈡"],zhā:["偧","哳","抯","挓","揸","摣","樝","渣","皶","觰","譇","齄","齇"],cī:["偨","疵","蠀","趀","骴","髊","齹"],bī:["偪","屄","楅","毴","豍","逼","鰏","鲾","鵖"],xún:["偱","噚","寻","尋","峋","巡","廵","循","恂","揗","攳","旬","杊","栒","桪","樳","洵","浔","潯","燅","燖","珣","璕","畃","紃","荀","蟳","詢","询","鄩","鱏","鱘","鲟","𬘓","𬩽","𬍤","𬊈"],"cāi sī":["偲"],duān:["偳","媏","端","褍","鍴"],ǒu:["偶","吘","嘔","耦","腢","蕅","藕","𬉼","𠙶"],tōu:["偷","偸","鍮"],"zán zá zǎ":["偺"],"lǚ lóu":["偻","僂"],fèn:["偾","僨","奋","奮","弅","忿","愤","憤","瀵","瞓","秎","粪","糞","膹","鱝","鲼"],"kuǐ guī":["傀"],sǒu:["傁","叜","叟","嗾","櫢","瞍","薮","藪"],"zhì sī tí":["傂"],sù:["傃","僳","嗉","塐","塑","夙","嫊","愫","憟","榡","樎","樕","殐","泝","涑","溯","溸","潚","潥","玊","珟","璛","簌","粛","粟","素","縤","肃","肅","膆","蔌","藗","觫","訴","謖","诉","谡","趚","蹜","速","遡","遬","鋉","餗","驌","骕","鱐","鷫","鹔","𫗧"],xiā:["傄","煆","瞎","虲","谺","颬","鰕"],"yuàn yuán":["傆","媛"],rǒng:["傇","冗","宂","氄","軵"],nù:["傉","怒"],yùn:["傊","孕","恽","惲","愠","慍","枟","腪","蕴","薀","藴","蘊","褞","貟","运","運","郓","鄆","酝","醖","醞","韗","韞","韵","韻","餫"],"gòu jiǎng":["傋"],mà:["傌","嘜","榪","睰","祃","禡","罵","閁","駡","骂","鬕"],bàng:["傍","塝","棒","玤","稖","艕","蒡","蜯","謗","谤","鎊","镑"],diān:["傎","厧","嵮","巅","巓","巔","掂","攧","敁","槇","滇","癫","癲","蹎","顚","顛","颠","齻"],táng:["傏","唐","啺","坣","堂","塘","搪","棠","榶","溏","漟","煻","瑭","磄","禟","篖","糃","糖","糛","膅","膛","蓎","螗","螳","赯","踼","鄌","醣","鎕","隚","餹","饄","鶶","䣘"],hào:["傐","哠","恏","昊","昦","晧","暠","暤","暭","曍","浩","淏","澔","灏","灝","皓","皜","皞","皡","皥","耗","聕","薃","號","鄗","顥","颢","鰝"],"xī xì":["傒"],shān:["傓","删","刪","剼","圸","山","挻","搧","柵","檆","潸","澘","煽","狦","珊","笘","縿","羴","羶","脠","舢","芟","衫","跚","軕","邖","閊","鯅"],"qiàn jiān":["傔"],"què jué":["傕","埆"],"cāng chen":["傖"],róng:["傛","媶","嫆","嬫","容","峵","嵘","嶸","戎","搈","曧","栄","榕","榮","榵","毧","溶","瀜","烿","熔","狨","瑢","穁","絨","绒","羢","肜","茙","茸","荣","蓉","蝾","融","螎","蠑","褣","鎔","镕","駥"],"tà tàn":["傝"],suō:["傞","唆","嗍","嗦","娑","摍","桫","梭","睃","簑","簔","羧","莏","蓑","趖","鮻"],dǎi:["傣","歹"],zài:["傤","儎","再","在","扗","洅","載","酨"],gǔ:["傦","古","啒","尳","愲","榖","榾","汩","淈","濲","瀔","牯","皷","皼","盬","瞽","穀","罟","羖","股","脵","臌","薣","蛊","蠱","詁","诂","轂","逧","鈷","钴","餶","馉","鼓","鼔","𦙶"],bīn:["傧","宾","彬","斌","椕","滨","濒","濱","濵","瀕","繽","缤","虨","豩","豳","賓","賔","邠","鑌","镔","霦","顮"],chǔ:["储","儲","杵","椘","楚","楮","檚","濋","璴","础","礎","禇","處","齭","齼","𬺓"],nuó:["傩","儺","挪","梛","橠"],"cān càn":["傪"],lěi:["傫","儡","厽","垒","塁","壘","壨","櫐","灅","癗","矋","磊","礨","耒","蕌","蕾","藟","蘽","蠝","誄","讄","诔","鑸","鸓"],cuī:["催","凗","墔","崔","嵟","慛","摧","榱","獕","磪","鏙"],yōng:["傭","嗈","墉","壅","嫞","庸","廱","慵","拥","擁","滽","灉","牅","痈","癕","癰","臃","邕","郺","鄘","鏞","镛","雍","雝","饔","鱅","鳙","鷛"],"zāo cáo":["傮"],sǒng:["傱","嵷","怂","悚","愯","慫","竦","耸","聳","駷","㧐"],ào:["傲","坳","垇","墺","奡","嫯","岙","岰","嶴","懊","擙","澳","鏊","驁","骜"],"qī còu":["傶"],chuǎng:["傸","磢","闖","闯"],shǎ:["傻","儍"],hàn:["傼","垾","悍","憾","扞","捍","撖","撼","旱","晘","暵","汉","涆","漢","瀚","焊","猂","皔","睅","翰","莟","菡","蛿","蜭","螒","譀","輚","釬","銲","鋎","雗","頷","顄","颔","駻","鶾"],zhāng:["傽","嫜","张","張","彰","慞","暲","樟","漳","獐","璋","章","粻","蔁","蟑","遧","鄣","鏱","餦","騿","鱆","麞"],"yān yàn":["傿","墕","嬮"],"piào biāo":["僄","骠"],liàn:["僆","堜","媡","恋","戀","楝","殓","殮","湅","潋","澰","瀲","炼","煉","瑓","練","纞","练","萰","錬","鍊","鏈","链","鰊","𬶠"],màn:["㵘","僈","墁","幔","慢","曼","漫","澷","熳","獌","縵","缦","蔄","蘰","鄤","鏝","镘","𬜬"],"tàn tǎn":["僋"],yíng:["僌","営","塋","嬴","攍","楹","櫿","溁","溋","滢","潆","濙","濚","濴","瀅","瀛","瀠","瀯","灐","灜","熒","營","瑩","盁","盈","禜","籝","籯","縈","茔","荧","莹","萤","营","萦","萾","蓥","藀","蛍","蝇","蝿","螢","蠅","謍","贏","赢","迎","鎣"],dòng:["働","冻","凍","动","動","姛","戙","挏","栋","棟","湩","硐","胨","胴","腖","迵","霘","駧"],zhuàn:["僎","啭","囀","堟","撰","灷","瑑","篆","腞","蒃","襈","譔","饌","馔"],xiàng:["像","勨","向","嚮","姠","嶑","曏","橡","珦","缿","蟓","衖","襐","象","鐌","項","项","鱌"],shàn:["僐","善","墠","墡","嬗","擅","敾","椫","樿","歚","汕","灗","疝","磰","繕","缮","膳","蟮","蟺","訕","謆","譱","讪","贍","赡","赸","鄯","鐥","饍","騸","骟","鱓","鱔","鳝","𫮃"],"tuí tuǐ":["僓"],zǔn:["僔","噂","撙","譐"],pú:["僕","匍","圤","墣","濮","獛","璞","瞨","穙","莆","菐","菩","葡","蒱","蒲","贌","酺","鏷","镤"],láo:["僗","劳","労","勞","哰","崂","嶗","憥","朥","浶","牢","痨","癆","窂","簩","醪","鐒","铹","顟","髝","𫭼"],chǎng:["僘","厰","廠","敞","昶","氅","鋹","𬬮"],guāng:["僙","光","咣","垙","姯","洸","灮","炗","炚","炛","烡","珖","胱","茪","輄","銧","黆","𨐈"],liáo:["僚","嘹","嫽","寥","寮","尞","屪","嵺","嶚","嶛","廫","憀","敹","暸","橑","獠","璙","疗","療","竂","簝","繚","缭","聊","膋","膫","藔","蟟","豂","賿","蹘","辽","遼","飉","髎","鷯","鹩"],dèng:["僜","凳","墱","嶝","櫈","瞪","磴","覴","邓","鄧","隥"],"chán zhàn zhuàn":["僝"],bō:["僠","嶓","拨","撥","播","波","溊","玻","癶","盋","砵","碆","礡","缽","菠","袰","蹳","鉢","钵","餑","饽","驋","鱍","𬭛"],huì:["僡","匯","卉","喙","嘒","嚖","圚","嬒","寭","屶","屷","彗","彙","彚","徻","恚","恵","惠","慧","憓","懳","晦","暳","槥","橞","檅","櫘","汇","泋","滙","潓","烩","燴","獩","璤","瞺","硊","秽","穢","篲","絵","繪","绘","翙","翽","荟","蔧","蕙","薈","薉","蟪","詯","誨","諱","譓","譿","讳","诲","賄","贿","鐬","闠","阓","靧","頮","顪","颒","餯","𬤝","𬭬"],chuǎn:["僢","喘","舛","荈","踳"],"tiě jiàn":["僣"],sēng:["僧","鬙"],xiàn:["僩","僴","哯","垷","塪","姭","娊","宪","岘","峴","憲","撊","晛","橌","橺","涀","瀗","献","獻","现","現","県","睍","粯","糮","絤","綫","線","线","缐","羡","羨","腺","臔","臽","苋","莧","誢","豏","鋧","錎","限","陥","陷","霰","餡","馅","麲","鼸","𬀪","𪾢"],"yù jú":["僪"],"è wū":["僫"],"tóng zhuàng":["僮"],lǐn:["僯","凛","凜","廩","廪","懍","懔","撛","檁","檩","澟","癛","癝"],gù:["僱","凅","固","堌","崓","崮","故","梏","棝","牿","痼","祻","錮","锢","雇","顧","顾","鯝","鲴"],jiāng:["僵","壃","姜","橿","殭","江","畕","疅","礓","繮","缰","翞","茳","葁","薑","螀","螿","豇","韁","鱂","鳉"],mǐn:["僶","冺","刡","勄","悯","惽","愍","慜","憫","抿","敃","敏","敯","泯","潣","皿","笢","笽","簢","蠠","閔","閩","闵","闽","鰵","鳘","黽"],jìn:["僸","凚","噤","嚍","墐","壗","妗","嬧","搢","晉","晋","枃","殣","浕","浸","溍","濅","濜","烬","煡","燼","琎","瑨","璶","盡","祲","縉","缙","荩","藎","覲","觐","賮","贐","赆","近","进","進","靳","齽"],"jià jie":["價"],qiào:["僺","峭","帩","撬","殻","窍","竅","誚","诮","躈","陗","鞩","韒","髚"],pì:["僻","媲","嫓","屁","澼","甓","疈","譬","闢","鷿","鸊","䴙"],sài:["僿","簺","賽","赛"],"chán tǎn shàn":["儃"],"dāng dàng":["儅","当","闣"],xuān:["儇","喧","塇","媗","宣","愃","愋","揎","昍","暄","煊","煖","瑄","睻","矎","禤","箮","翧","翾","萱","萲","蓒","蕿","藼","蘐","蝖","蠉","諠","諼","譞","谖","軒","轩","鍹","駽","鰚","𫓶","𫍽"],"dān dàn":["儋","擔","瘅"],càn:["儏","澯","灿","燦","璨","粲","薒","謲"],"bīn bìn":["儐"],"án àn":["儑"],tái:["儓","坮","嬯","抬","擡","檯","炱","炲","籉","臺","薹","跆","邰","颱","鮐","鲐"],lán:["儖","兰","囒","婪","岚","嵐","幱","拦","攔","斓","斕","栏","欄","欗","澜","瀾","灆","灡","燣","燷","璼","篮","籃","籣","繿","葻","蓝","藍","蘫","蘭","褴","襕","襤","襴","襽","譋","讕","谰","躝","鑭","镧","闌","阑","韊","𬒗"],"nǐ yì ài yí":["儗"],méng:["儚","幪","曚","朦","橗","檬","氋","溕","濛","甍","甿","盟","礞","艨","莔","萌","蕄","虻","蝱","鄳","鄸","霿","靀","顭","饛","鯍","鸏","鹲","𫑡","㠓"],níng:["儜","凝","咛","嚀","嬣","柠","橣","檸","狞","獰","聍","聹","薴","鑏","鬡","鸋"],qióng:["儝","卭","宆","惸","憌","桏","橩","焪","焭","煢","熍","琼","瓊","睘","穷","穹","窮","竆","笻","筇","舼","茕","藑","藭","蛩","蛬","赹","跫","邛","銎","䓖"],liè:["儠","冽","列","劣","劽","埒","埓","姴","峛","巤","挒","捩","栵","洌","浖","烈","烮","煭","犣","猎","猟","獵","聗","脟","茢","蛚","趔","躐","迾","颲","鬛","鬣","鮤","鱲","鴷","䴕","𫚭"],kuǎng:["儣","夼","懭"],bào:["儤","勽","報","忁","报","抱","曓","爆","犦","菢","虣","蚫","豹","鉋","鑤","铇","骲","髱","鮑","鲍"],biāo:["儦","墂","幖","彪","标","標","滮","瀌","熛","爂","猋","瘭","磦","膘","臕","謤","贆","鏢","鑣","镖","镳","颮","颷","飆","飇","飈","飊","飑","飙","飚","驫","骉","髟"],zǎn:["儧","儹","噆","攅","昝","趱","趲"],háo:["儫","嗥","嘷","噑","嚎","壕","椃","毜","毫","濠","獆","獔","竓","籇","蚝","蠔","譹","豪"],qìng:["儬","凊","庆","慶","櫦","濪","碃","磬","罄","靘"],chèn:["儭","嚫","榇","櫬","疢","衬","襯","讖","谶","趁","趂","齓","齔","龀"],téng:["儯","幐","滕","漛","疼","籐","籘","縢","腾","藤","虅","螣","誊","謄","邆","駦","騰","驣","鰧","䲢"],"lǒng lóng lòng":["儱"],"chán chàn":["儳"],"ráng xiāng":["儴","勷"],"huì xié":["儶"],luó:["儸","攞","椤","欏","猡","玀","箩","籮","罗","羅","脶","腡","萝","蘿","螺","覼","逻","邏","鏍","鑼","锣","镙","饠","騾","驘","骡","鸁"],léi:["儽","嫘","檑","欙","瓃","畾","縲","纍","纝","缧","罍","羸","蔂","蘲","虆","轠","鐳","鑘","镭","雷","靁","鱩","鼺"],"nàng nāng":["儾"],"wù wū":["兀"],yǔn:["允","喗","夽","抎","殒","殞","狁","磒","荺","賱","鈗","阭","陨","隕","霣","馻","齫","齳"],zān:["兂","橵","簪","簮","糌","鐕","鐟","鵤"],yuán:["元","円","原","厡","厵","园","圆","圎","園","圓","垣","塬","媴","嫄","援","榞","榬","橼","櫞","沅","湲","源","溒","爰","猨","猿","笎","緣","縁","缘","羱","茒","薗","蝝","蝯","螈","袁","褤","謜","轅","辕","邍","邧","酛","鈨","鎱","騵","魭","鶢","鶰","黿","鼋","𫘪"],xiōng:["兄","兇","凶","匂","匈","哅","忷","恟","汹","洶","胷","胸","芎","訩","詾","讻"],chōng:["充","嘃","忡","憃","憧","摏","沖","浺","珫","罿","翀","舂","艟","茺","衝","蹖","㳘"],zhào:["兆","垗","旐","曌","枛","櫂","照","燳","狣","瞾","笊","罀","罩","羄","肁","肇","肈","詔","诏","赵","趙","鮡","𬶐"],"duì ruì yuè":["兊","兌","兑"],kè:["克","刻","勀","勊","堁","娔","客","恪","愙","氪","溘","碦","緙","缂","艐","衉","課","课","錁","锞","騍","骒"],tù:["兎","兔","堍","迌","鵵"],dǎng:["党","攩","欓","譡","讜","谠","黨","𣗋"],dōu:["兜","兠","唗","橷","篼","蔸"],huǎng:["兤","奛","幌","怳","恍","晄","炾","熀","縨","詤","謊","谎"],rù:["入","嗕","媷","扖","杁","洳","溽","縟","缛","蓐","褥","鳰"],nèi:["內","氝","氞","錗"],"yú shù":["兪"],"liù lù":["六"],han:["兯","爳"],tiān:["兲","天","婖","添","酟","靔","靝","黇"],"xīng xìng":["兴"],diǎn:["典","嚸","奌","婰","敟","椣","点","碘","蒧","蕇","踮","點"],"zī cí":["兹"],jiān:["兼","冿","囏","坚","堅","奸","姦","姧","尖","幵","惤","戋","戔","搛","椾","樫","櫼","歼","殱","殲","湔","瀐","瀸","煎","熞","熸","牋","瑊","睷","礛","礷","笺","箋","緘","縑","缄","缣","肩","艰","艱","菅","菺","葌","蒹","蔪","蕑","蕳","虃","譼","豜","鑯","雃","鞯","韀","韉","餰","馢","鰔","鰜","鰹","鲣","鳒","鵑","鵳","鶼","鹣","麉"],shòu:["兽","受","售","壽","夀","寿","授","狩","獣","獸","痩","瘦","綬","绶","膄"],jì:["兾","冀","剂","剤","劑","勣","坖","垍","塈","妓","季","寂","寄","廭","彑","徛","忌","悸","惎","懻","技","旡","既","旣","暨","暩","曁","梞","檕","檵","洎","漃","漈","瀱","痵","癠","禝","稩","稷","穄","穊","穧","紀","継","績","繋","繼","继","绩","罽","臮","芰","茍","茤","葪","蓟","蔇","薊","蘎","蘮","蘻","裚","襀","覬","觊","計","記","誋","计","记","跡","跽","蹟","迹","际","際","霁","霽","驥","骥","髻","鬾","魝","魥","鯚","鯽","鰶","鰿","鱀","鱭","鲚","鲫","鵋","鷑","齌","𪟝","𬶨","𬶭"],jiōng:["冂","冋","坰","埛","扃","蘏","蘔","駉","駫","𬳶"],mào:["冃","冐","媢","帽","愗","懋","暓","柕","楙","毷","瑁","皃","眊","瞀","耄","茂","萺","蝐","袤","覒","貌","貿","贸","鄚","鄮"],rǎn:["冄","冉","姌","媣","染","珃","苒","蒅","䎃"],"nèi nà":["内"],gāng:["冈","冮","刚","剛","堈","堽","岡","掆","摃","棡","牨","犅","疘","綱","纲","缸","罁","罡","肛","釭","鎠","㭎"],cè:["冊","册","厕","厠","夨","廁","恻","惻","憡","敇","测","測","笧","策","筞","筴","箣","荝","萗","萴","蓛"],guǎ:["冎","剐","剮","叧","寡"],"mào mò":["冒"],gòu:["冓","啂","坸","垢","够","夠","媾","彀","搆","撀","构","構","煹","覯","觏","訽","詬","诟","購","购","遘","雊"],xǔ:["冔","喣","暊","栩","珝","盨","糈","詡","諿","诩","鄦","醑"],mì:["冖","冪","嘧","塓","宻","密","峚","幂","幎","幦","怽","榓","樒","櫁","汨","淧","滵","漞","濗","熐","羃","蔤","蜜","覓","覔","覛","觅","謐","谧","鼏"],"yóu yín":["冘"],xiě:["写","冩","藛"],jūn:["军","君","均","桾","汮","皲","皸","皹","碅","莙","蚐","袀","覠","軍","鈞","銁","銞","鍕","钧","頵","鮶","鲪","麏"],mí:["冞","擟","瀰","爢","猕","獼","祢","禰","縻","蒾","藌","蘪","蘼","袮","詸","謎","迷","醚","醾","醿","釄","镾","鸍","麊","麋","麛"],"guān guàn":["冠","覌","観","觀","观"],měng:["冡","勐","懵","掹","猛","獴","艋","蜢","蠓","錳","锰","鯭","鼆"],zhǒng:["冢","塚","尰","歱","煄","瘇","肿","腫","踵"],zuì:["冣","嶵","晬","最","栬","槜","檇","檌","祽","絊","罪","蕞","辠","酔","酻","醉","錊"],yuān:["冤","剈","囦","嬽","寃","棩","淵","渁","渆","渊","渕","灁","眢","肙","葾","蒬","蜎","蜵","駌","鳶","鴛","鵷","鸢","鸳","鹓","鼘","鼝"],míng:["冥","名","明","暝","朙","榠","洺","溟","猽","眀","眳","瞑","茗","螟","覭","詺","鄍","銘","铭","鳴","鸣"],kòu:["冦","叩","宼","寇","扣","敂","滱","窛","筘","簆","蔲","蔻","釦","鷇"],tài:["冭","太","夳","忲","态","態","汰","汱","泰","溙","肽","舦","酞","鈦","钛"],"féng píng":["冯","馮"],"chōng chòng":["冲"],kuàng:["况","圹","壙","岲","懬","旷","昿","曠","框","況","爌","眖","眶","矿","砿","礦","穬","絋","絖","纊","纩","貺","贶","軦","邝","鄺","鉱","鋛","鑛","黋"],lěng:["冷"],pàn:["冸","判","叛","沜","泮","溿","炍","牉","畔","盼","聁","袢","襻","詊","鋬","鑻","頖","鵥"],fā:["冹","彂","沷","発","發"],xiǎn:["冼","尟","尠","崄","嶮","幰","攇","显","櫶","毨","灦","烍","燹","狝","猃","獫","獮","玁","禒","筅","箲","藓","蘚","蚬","蜆","譣","赻","跣","鍌","险","険","險","韅","顕","顯","㬎"],qià:["冾","圶","帢","恰","殎","洽","硈","胢","髂"],"jìng chēng":["净","凈","淨"],sōu:["凁","嗖","廀","廋","捜","搜","摉","溲","獀","艘","蒐","螋","鄋","醙","鎪","锼","颼","飕","餿","馊","騪"],měi:["凂","媄","媺","嬍","嵄","挴","毎","每","浼","渼","燘","美","躾","鎂","镁","黣"],tú:["凃","図","图","圖","圗","塗","屠","峹","嵞","庩","廜","徒","悇","揬","涂","瘏","筡","腯","荼","蒤","跿","途","酴","鈯","鍎","馟","駼","鵌","鶟","鷋","鷵","𬳿"],zhǔn:["准","凖","埻","準","𬘯"],"liáng liàng":["凉","涼","量"],diāo:["凋","刁","刟","叼","奝","弴","彫","汈","琱","碉","簓","虭","蛁","貂","錭","雕","鮉","鯛","鲷","鵰","鼦"],còu:["凑","湊","腠","輳","辏"],ái:["凒","啀","嘊","捱","溰","癌","皑","皚"],duó:["凙","剫","夺","奪","痥","踱","鈬","鐸","铎"],dú:["凟","匵","嬻","椟","櫝","殰","涜","牍","牘","犊","犢","独","獨","瓄","皾","裻","読","讀","讟","豄","贕","錖","鑟","韇","韣","韥","騳","髑","黩","黷"],"jǐ jī":["几"],fán:["凡","凢","凣","匥","墦","杋","柉","棥","樊","瀿","烦","煩","燔","璠","矾","礬","笲","籵","緐","羳","舤","舧","薠","蘩","蠜","襎","蹯","釩","鐇","鐢","钒","鷭","𫔍","𬸪"],jū:["凥","匊","娵","婮","居","崌","抅","挶","掬","梮","椐","檋","毩","毱","泃","涺","狙","琚","疽","砠","罝","腒","艍","蜛","裾","諊","跔","踘","躹","陱","雎","鞠","鞫","駒","驹","鮈","鴡","鶋","𬶋"],"chù chǔ":["処","处"],zhǐ:["凪","劧","咫","址","坧","帋","恉","扺","指","旨","枳","止","汦","沚","洔","淽","疻","砋","祉","秖","紙","纸","芷","藢","衹","襧","訨","趾","軹","轵","酯","阯","黹"],píng:["凭","凴","呯","坪","塀","岼","帡","帲","幈","平","慿","憑","枰","洴","焩","玶","瓶","甁","竮","箳","簈","缾","荓","萍","蓱","蚲","蛢","評","评","軿","輧","郱","鮃","鲆"],kǎi:["凯","凱","剀","剴","垲","塏","恺","愷","慨","暟","蒈","輆","鍇","鎧","铠","锴","闓","闿","颽"],gān:["凲","坩","尲","尴","尶","尷","柑","泔","漧","玕","甘","疳","矸","竿","筸","粓","肝","苷","迀","酐","魐"],"kǎn qiǎn":["凵"],tū:["凸","堗","嶀","捸","涋","湥","痜","禿","秃","突","葖","鋵","鵚","鼵","㻬"],"āo wā":["凹"],chū:["出","初","岀","摴","榋","樗","貙","齣","䢺","䝙"],dàng:["凼","圵","垱","壋","档","檔","氹","璗","瓽","盪","瞊","砀","碭","礑","簜","荡","菪","蕩","蘯","趤","逿","雼","𬍡"],hán:["函","凾","含","圅","娢","寒","崡","晗","梒","浛","涵","澏","焓","琀","甝","筨","蜬","邗","邯","鋡","韓","韩"],záo:["凿","鑿"],dāo:["刀","刂","忉","氘","舠","螩","釖","魛","鱽"],chuāng:["刅","摐","牎","牕","疮","瘡","窓","窗","窻"],"fēn fèn":["分"],"qiè qiē":["切"],kān:["刊","勘","堪","戡","栞","龕","龛"],cǔn:["刌","忖"],chú:["刍","厨","幮","廚","橱","櫉","櫥","滁","犓","篨","耡","芻","蒢","蒭","蜍","蟵","豠","趎","蹰","躇","躕","鉏","鋤","锄","除","雏","雛","鶵"],"huà huá":["划"],lí:["刕","剓","剺","劙","厘","喱","嚟","囄","嫠","孷","廲","悡","梨","梸","棃","漓","灕","犁","犂","狸","琍","璃","瓈","盠","睝","离","穲","竰","筣","篱","籬","糎","縭","缡","罹","艃","荲","菞","蓠","蔾","藜","蘺","蜊","蟍","蟸","蠫","褵","謧","貍","醨","鋫","錅","鏫","鑗","離","驪","骊","鯏","鯬","鱺","鲡","鵹","鸝","鹂","黎","黧","㰀"],yuè:["刖","嬳","岄","岳","嶽","恱","悅","悦","戉","抈","捳","月","樾","瀹","爚","玥","礿","禴","篗","籆","籥","籰","粤","粵","蘥","蚎","蚏","説","越","跀","跃","躍","軏","鈅","鉞","鑰","钺","閱","閲","阅","鸑","鸙","黦","龠","𫐄","𬸚"],liú:["刘","劉","嚠","媹","嵧","旈","旒","榴","橊","流","浏","瀏","琉","瑠","瑬","璢","畄","留","畱","疁","瘤","癅","硫","蒥","蓅","蟉","裗","鎏","鏐","鐂","镠","飀","飅","飗","駠","駵","騮","驑","骝","鰡","鶹","鹠","麍"],zé:["则","則","啧","嘖","嫧","帻","幘","択","樍","歵","沢","泎","溭","皟","瞔","矠","礋","箦","簀","舴","蔶","蠌","襗","謮","賾","赜","迮","鸅","齚","齰"],"chuàng chuāng":["创","創"],qù:["刞","厺","去","閴","闃","阒","麮","鼁"],"bié biè":["別","别"],"páo bào":["刨"],"chǎn chàn":["刬","剗","幝"],guā:["刮","劀","桰","歄","煱","瓜","胍","踻","颪","颳","騧","鴰","鸹"],gēng:["刯","庚","椩","浭","焿","畊","絚","羮","羹","耕","菮","賡","赓","鶊","鹒"],dào:["到","噵","悼","椡","檤","燾","瓙","盗","盜","稲","稻","纛","翿","艔","菿","衜","衟","軇","道"],chuàng:["刱","剏","剙","怆","愴"],kū:["刳","哭","圐","堀","枯","桍","矻","窟","跍","郀","骷","鮬"],duò:["刴","剁","墯","尮","惰","憜","挅","桗","舵","跥","跺","陊","陏","飿","饳","鵽"],"shuā shuà":["刷"],"quàn xuàn":["券"],"chà shā":["刹","剎"],"cì cī":["刺"],guì:["刽","刿","劊","劌","撌","攰","昋","桂","椢","槶","樻","櫃","猤","禬","筀","蓕","襘","貴","贵","跪","鐀","鑎","鞼","鱖","鱥"],lóu:["剅","娄","婁","廔","楼","樓","溇","漊","熡","耧","耬","艛","蒌","蔞","蝼","螻","謱","軁","遱","鞻","髅","髏","𪣻"],cuò:["剉","剒","厝","夎","挫","措","棤","莝","莡","蓌","逪","銼","錯","锉","错"],"xiāo xuē":["削"],"kēi kè":["剋","尅"],"là lá":["剌"],tī:["剔","梯","踢","銻","锑","鷈","鷉","䏲","䴘"],pōu:["剖"],wān:["剜","塆","壪","帵","弯","彎","湾","潫","灣","睕","蜿","豌"],"bāo bō":["剝","剥"],duō:["剟","咄","哆","嚉","多","夛","掇","毲","畓","裰","㙍"],qíng:["剠","勍","夝","情","擎","晴","暒","棾","樈","檠","氰","甠","硘","葝","黥"],"yǎn shàn":["剡"],"dū zhuó":["剢"],yān:["剦","嫣","崦","嶖","恹","懕","懨","樮","淊","淹","漹","烟","焉","焑","煙","珚","篶","胭","臙","菸","鄢","醃","閹","阉","黫"],huō:["剨","劐","吙","攉","秴","耠","锪","騞","𬴃"],shèng:["剩","剰","勝","圣","墭","嵊","晠","榺","橳","琞","聖","蕂","貹","賸"],"duān zhì":["剬"],wū:["剭","呜","嗚","圬","屋","巫","弙","杇","歍","汙","汚","污","洿","烏","窏","箼","螐","誈","誣","诬","邬","鄔","鎢","钨","鰞","鴮"],gē:["割","哥","圪","彁","戈","戓","戨","歌","滒","犵","肐","袼","謌","鎶","鴚","鴿","鸽"],"dá zhá":["剳"],chuán:["剶","暷","椽","篅","舡","舩","船","輲","遄"],"tuán zhuān":["剸","漙","篿"],"lù jiū":["剹"],pēng:["剻","匉","嘭","怦","恲","抨","梈","烹","砰","軯","駍"],piāo:["剽","勡","慓","旚","犥","翲","螵","飃","飄","飘","魒"],kōu:["剾","彄","抠","摳","眍","瞘","芤","𫸩"],"jiǎo chāo":["剿","劋","勦","摷"],qiāo:["劁","勪","墝","幧","敲","橇","毃","燆","硗","磽","繑","趬","跷","踍","蹺","蹻","郻","鄡","鄥","鍫","鍬","鐰","锹","頝"],"huá huà":["劃"],"zhā zhá":["劄"],"pī pǐ":["劈","悂"],tāng:["劏","嘡","羰","薚","蝪","蹚","鞺","鼞"],chán:["劖","嚵","壥","婵","嬋","巉","廛","棎","毚","湹","潹","潺","澶","瀍","瀺","煘","獑","磛","緾","纏","纒","缠","艬","蝉","蟐","蟬","蟾","誗","讒","谗","躔","鄽","酁","鋋","鑱","镵","饞","馋"],zuān:["劗","躜","躦","鉆","鑚"],mó:["劘","嫫","嬤","嬷","尛","摹","擵","橅","糢","膜","藦","蘑","謨","謩","谟","饃","饝","馍","髍","魔","魹"],zhú:["劚","斸","曯","欘","灟","炢","烛","燭","爥","瘃","竹","笁","笜","舳","茿","蓫","蠋","蠾","躅","逐","逫","钃","鱁"],quàn:["劝","勧","勸","牶","韏"],"jìn jìng":["劤","劲","勁"],kēng:["劥","坑","牼","硁","硜","誙","銵","鍞","鏗","铿","阬"],"xié liè":["劦"],"zhù chú":["助"],nǔ:["努","弩","砮","胬"],shào:["劭","卲","哨","潲","紹","綤","绍","袑","邵"],miǎo:["劰","杪","淼","渺","眇","秒","篎","緲","缈","藐","邈"],kǒu:["劶","口"],wā:["劸","娲","媧","屲","挖","攨","洼","溛","漥","瓾","畖","穵","窊","窪","蛙","韈","鼃"],kuāng:["劻","匡","匩","哐","恇","洭","筐","筺","誆","诓","軭","邼"],hé:["劾","咊","啝","姀","峆","敆","曷","柇","楁","毼","河","涸","渮","澕","熆","皬","盇","盉","盍","盒","禾","篕","籺","粭","翮","菏","萂","覈","訸","詥","郃","釛","鉌","鑉","閡","闔","阂","阖","鞨","頜","餄","饸","魺","鹖","麧","齕","龁","龢","𬌗"],gào:["勂","吿","告","峼","祮","祰","禞","筶","誥","诰","郜","鋯","锆"],"bó bèi":["勃"],láng:["勆","嫏","廊","斏","桹","榔","樃","欴","狼","琅","瑯","硠","稂","艆","蓈","蜋","螂","躴","郒","郞","鋃","鎯","锒"],xūn:["勋","勛","勲","勳","嚑","坃","埙","塤","壎","壦","曛","燻","獯","矄","纁","臐","薫","薰","蘍","醺","𫄸"],"juàn juān":["勌","瓹"],"lè lēi":["勒"],kài:["勓","炌","烗","鎎"],"wěng yǎng":["勜"],qín:["勤","嗪","噙","嶜","庈","懃","懄","捦","擒","斳","檎","澿","珡","琴","琹","瘽","禽","秦","耹","芩","芹","菦","螓","蠄","鈙","鈫","雂","靲","鳹","鵭"],jiàng:["勥","匞","匠","嵹","弜","弶","摾","櫤","洚","滰","犟","糡","糨","絳","绛","謽","酱","醤","醬"],fān:["勫","嬏","帆","幡","忛","憣","旙","旛","繙","翻","藩","轓","颿","飜","鱕"],juān:["勬","姢","娟","捐","涓","蠲","裐","鎸","鐫","镌","鹃"],"tóng dòng":["勭","烔","燑","狪"],lǜ:["勴","垏","嵂","律","慮","氯","滤","濾","爈","箻","綠","繂","膟","葎","虑","鑢"],chè:["勶","坼","彻","徹","掣","撤","澈","烢","爡","瞮","硩","聅","迠","頙","㬚"],sháo:["勺","玿","韶"],"gōu gòu":["勾"],cōng:["匆","囪","囱","忩","怱","悤","暰","樬","漗","瑽","璁","瞛","篵","繱","聡","聦","聪","聰","苁","茐","葱","蓯","蔥","蟌","鍯","鏓","鏦","騘","驄","骢"],"táo yáo":["匋","陶"],páo:["匏","咆","垉","庖","爮","狍","袍","褜","軳","鞄","麅"],dá:["匒","妲","怛","炟","燵","畣","笪","羍","荙","薘","蟽","詚","达","迏","迖","迚","逹","達","鐽","靼","鞑","韃","龖","龘","𫟼"],"huà huā":["化"],"běi bèi":["北"],nǎo:["匘","垴","堖","嫐","恼","悩","惱","瑙","碯","脑","脳","腦"],"chí shi":["匙"],fāng:["匚","堏","方","淓","牥","芳","邡","鈁","錺","钫","鴋"],zā:["匝","咂","帀","沞","臜","臢","迊","鉔","魳"],qiè:["匧","厒","妾","怯","悏","惬","愜","挈","穕","窃","竊","笡","箧","篋","籡","踥","鍥","锲","鯜"],"zāng cáng":["匨"],fěi:["匪","奜","悱","棐","榧","篚","翡","蕜","誹","诽"],"kuì guì":["匮","匱"],suǎn:["匴"],pǐ:["匹","噽","嚭","圮","庀","痞","癖","脴","苉","銢","鴄"],"qū ōu":["区","區"],"kē qià":["匼"],"yǎn yàn":["匽","棪"],biǎn:["匾","惼","揙","碥","稨","窆","藊","褊","貶","贬","鴘"],nì:["匿","堄","嫟","嬺","惄","愵","昵","暱","氼","眤","睨","縌","胒","腻","膩","逆","𨺙"],niàn:["卄","唸","埝","廿","念","惗","艌"],sà:["卅","櫒","脎","萨","蕯","薩","鈒","隡","颯","飒","馺"],zú:["卆","哫","崪","族","箤","足","踤","镞"],shēng:["升","呏","声","斘","昇","曻","枡","殅","泩","湦","焺","牲","珄","生","甥","竔","笙","聲","鉎","鍟","阩","陞","陹","鵿","鼪"],wàn:["卍","卐","忨","杤","瞣","脕","腕","萬","蟃","贎","輐","錽","𬇕"],"huá huà huā":["华","華"],bēi:["卑","悲","揹","杯","桮","盃","碑","藣","鵯","鹎"],"zú cù":["卒"],"dān shàn chán":["单","單"],"nán nā":["南"],"shuài lǜ":["卛"],"bǔ bo pú":["卜"],"kuàng guàn":["卝"],biàn:["卞","变","変","峅","弁","徧","忭","抃","昪","汳","汴","玣","艑","苄","覍","諚","變","辡","辧","辨","辩","辫","辮","辯","遍","釆","𨚕"],bǔ:["卟","哺","捕","补","補","鸔","𬷕"],"zhàn zhān":["占","覱"],"kǎ qiǎ":["卡"],lú:["卢","嚧","垆","壚","庐","廬","曥","枦","栌","櫨","泸","瀘","炉","爐","獹","玈","瓐","盧","矑","籚","纑","罏","胪","臚","舮","舻","艫","芦","蘆","蠦","轤","轳","鈩","鑪","顱","颅","馿","髗","魲","鱸","鲈","鸕","鸬","黸","𬬻"],lǔ:["卤","塷","掳","擄","樐","橹","櫓","氌","滷","澛","瀂","硵","磠","穞","艣","艪","蓾","虏","虜","鏀","鐪","鑥","镥","魯","鲁","鹵"],guà:["卦","啩","挂","掛","罣","褂","詿","诖"],"áng yǎng":["卬"],yìn:["印","垽","堷","廕","慭","憖","憗","懚","洕","湚","猌","癊","胤","茚","酳","鮣","䲟"],què:["却","卻","塙","崅","悫","愨","慤","搉","榷","燩","琷","皵","确","確","礭","闋","阕","鵲","鹊","𬒈"],luǎn:["卵"],"juàn juǎn":["卷","巻"],"chǎng ān hàn":["厂"],"wěi yán":["厃"],tīng:["厅","厛","听","庁","廰","廳","汀","烃","烴","綎","耓","聴","聼","聽","鞓","𬘩"],"zhé zhái":["厇"],"hàn àn":["厈","屽"],yǎ:["厊","唖","庌","痖","瘂","蕥"],shè:["厍","厙","弽","慑","慴","懾","摂","欇","涉","涻","渉","滠","灄","社","舎","蔎","蠂","設","设","赦","騇","麝"],dǐ:["厎","呧","坘","弤","抵","拞","掋","牴","砥","菧","觝","詆","诋","軧","邸","阺","骶","鯳"],"zhǎ zhǎi":["厏"],páng:["厐","嫎","庞","徬","舽","螃","逄","鰟","鳑","龎","龐"],"zhì shī":["厔"],máng:["厖","吂","哤","娏","忙","恾","杗","杧","汒","浝","牻","痝","盲","硭","笀","芒","茫","蘉","邙","釯","鋩","铓","駹"],zuī:["厜","樶","纗","蟕"],"shà xià":["厦","廈"],áo:["厫","嗷","嗸","廒","敖","滶","獒","獓","璈","翱","翶","翺","聱","蔜","螯","謷","謸","遨","鏖","隞","鰲","鳌","鷔","鼇"],"lán qiān":["厱"],"sī mǒu":["厶"],"gōng hóng":["厷"],"lín miǎo":["厸"],"qiú róu":["厹"],dū:["厾","嘟","督","醏"],"xiàn xuán":["县","縣"],"cān shēn cēn sān":["参","參","叄","叅"],"ài yǐ":["叆"],"chā chà chǎ chá":["叉"],shuāng:["双","孀","孇","欆","礵","艭","雙","霜","騻","驦","骦","鷞","鸘","鹴"],shōu:["収","收"],guái:["叏"],bá:["叐","妭","抜","拔","炦","癹","胈","茇","菝","詙","跋","軷","魃","鼥"],"fā fà":["发"],"zhuó yǐ lì jué":["叕"],qǔ:["取","娶","竬","蝺","詓","齲","龋"],"jiǎ xiá":["叚","徦"],"wèi yù":["叞","尉","蔚"],dié:["叠","垤","堞","峌","幉","恎","惵","戜","曡","殜","氎","牃","牒","瓞","畳","疂","疉","疊","碟","絰","绖","耊","耋","胅","艓","苵","蜨","蝶","褋","詄","諜","谍","跮","蹀","迭","镻","鰈","鲽","鴩","𫶇"],ruì:["叡","枘","汭","瑞","睿","芮","蚋","蜹","銳","鋭","锐"],"jù gōu":["句"],lìng:["另","呤","炩","蘦"],"dāo dáo tāo":["叨"],"zhī zhǐ":["只"],jiào:["叫","呌","嘂","嘦","噍","嬓","斍","斠","滘","漖","獥","珓","皭","窖","藠","訆","譥","趭","較","轎","轿","较","酵","醮","釂"],"zhào shào":["召"],"kě kè":["可"],"tái tāi":["台","苔"],pǒ:["叵","尀","笸","箥","鉕","钷","駊"],"yè xié":["叶"],"hào háo":["号"],tàn:["叹","嘆","探","歎","湠","炭","碳","舕"],"hōng hóng":["叿"],miē:["吀","咩","哶","孭"],"xū yū yù":["吁"],chī:["吃","哧","喫","嗤","噄","妛","媸","彨","彲","摛","攡","殦","瓻","痴","癡","眵","瞝","笞","粚","胵","蚩","螭","訵","魑","鴟","鵄","鸱","黐","齝","𫄨"],"xuān sòng":["吅"],yāo:["吆","喓","夭","妖","幺","楆","殀","祅","腰","葽","訞","邀","鴁","鴢","㙘"],zǐ:["吇","姉","姊","子","杍","梓","榟","橴","滓","矷","秭","笫","籽","紫","耔","虸","訿","釨"],"hé gě":["合","鲄"],"cùn dòu":["吋"],"tóng tòng":["同"],"tǔ tù":["吐","唋"],"zhà zhā":["吒","奓"],"xià hè":["吓"],"ā yā":["吖"],"ma má mǎ":["吗"],lìn:["吝","恡","悋","橉","焛","甐","膦","蔺","藺","賃","赁","蹸","躏","躙","躪","轥","閵"],tūn:["吞","暾","朜","焞"],"bǐ pǐ":["吡"],qìn:["吢","吣","唚","抋","揿","搇","撳","沁","瀙","菣","藽"],"jiè gè":["吤"],"fǒu pǐ":["否"],"ba bā":["吧"],dūn:["吨","噸","墩","墪","惇","撉","撴","犜","獤","礅","蜳","蹾","驐"],fēn:["吩","帉","昐","朆","梤","棻","氛","竕","紛","纷","翂","芬","衯","訜","躮","酚","鈖","雰","餴","饙","馚"],"é huā":["吪"],"kēng háng":["吭","妔"],shǔn:["吮"],"zhī zī":["吱"],"yǐn shěn":["吲"],wú:["吳","吴","呉","墲","峿","梧","橆","毋","洖","浯","無","珸","璑","祦","芜","茣","莁","蕪","蜈","蟱","譕","郚","鋙","铻","鯃","鵐","鷡","鹀","鼯"],"chǎo chāo":["吵"],"nà nè":["吶"],"xuè chuò jué":["吷"],chuī:["吹","炊","龡"],"dōu rú":["吺"],hǒu:["吼","犼"],"hōng hǒu ōu":["吽"],"wú yù":["吾"],"ya yā":["呀"],"è e":["呃"],dāi:["呆","懛","獃"],"mèn qǐ":["呇"],hōng:["呍","嚝","揈","灴","烘","焢","硡","薨","訇","谾","軣","輷","轟","轰","鍧"],nà:["呐","捺","笝","納","纳","肭","蒳","衲","豽","貀","軜","郍","鈉","钠","靹","魶"],"tūn tiān":["呑"],"fǔ ḿ":["呒","嘸"],"dāi tǎi":["呔"],"ǒu ōu òu":["呕"],"bài bei":["呗"],"yuán yún yùn":["员","員"],guō:["呙","啯","嘓","埚","堝","墎","崞","彉","彍","懖","猓","瘑","聒","蝈","蟈","郭","鈛","鍋","锅"],"huá qì":["呚"],"qiàng qiāng":["呛","跄"],shī:["呞","失","尸","屍","师","師","施","浉","湤","湿","溮","溼","濕","狮","獅","瑡","絁","葹","蒒","蓍","虱","蝨","褷","襹","詩","诗","邿","釃","鉇","鍦","鯴","鰤","鲺","鳲","鳾","鶳","鸤","䴓","𫚕"],juǎn:["呟","埍","臇","菤","錈","锩"],pěn:["呠","翸"],"wěn mǐn":["呡"],"ne ní":["呢"],"ḿ m̀ móu":["呣"],rán:["呥","嘫","然","燃","繎","肰","蚦","蚺","衻","袇","袡","髥","髯"],"tiè chè":["呫"],"qì zhī":["呮"],"zǐ cī":["呰"],"guā gū guǎ":["呱"],"cī zī":["呲"],"hǒu xǔ gòu":["呴"],"hē ā á ǎ à a":["呵"],náo:["呶","夒","峱","嶩","巎","挠","撓","猱","硇","蛲","蟯","詉","譊","鐃","铙"],"xiā gā":["呷"],pēi:["呸","怌","肧","胚","衃","醅"],"háo xiāo":["呺"],mìng:["命","掵"],"dá dàn":["呾"],"zuǐ jǔ":["咀"],"xián gān":["咁"],pǒu:["咅","哣","犃"],"yǎng yāng":["咉"],"zǎ zé zhā":["咋"],"hé hè huó huò hú":["和"],hāi:["咍"],dā:["咑","哒","噠","墶","搭","撘","耷","褡","鎝","𨱏"],"kǎ kā":["咔"],gū:["咕","唂","唃","姑","嫴","孤","巬","巭","柧","橭","沽","泒","稒","笟","箍","箛","篐","罛","苽","菇","菰","蓇","觚","軱","軲","轱","辜","酤","鈲","鮕","鴣","鸪"],"kā gā":["咖"],zuo:["咗"],lóng:["咙","嚨","嶐","巃","巄","昽","曨","朧","栊","槞","櫳","湰","滝","漋","爖","珑","瓏","癃","眬","矓","砻","礱","礲","窿","竜","聋","聾","胧","茏","蘢","蠪","蠬","襱","豅","鏧","鑨","霳","靇","驡","鸗","龍","龒","龙"],"xiàn xián":["咞"],qì:["咠","唭","噐","器","夡","弃","憇","憩","暣","棄","欫","气","気","氣","汔","汽","泣","湆","湇","炁","甈","盵","矵","碛","碶","磜","磧","罊","芞","葺","藒","蟿","訖","讫","迄","鐑"],"xì dié":["咥"],"liē liě lié lie":["咧"],zī:["咨","嗞","姕","姿","孜","孳","孶","崰","嵫","栥","椔","淄","湽","滋","澬","玆","禌","秶","粢","紎","緇","緕","纃","缁","茊","茲","葘","諮","谘","貲","資","赀","资","赼","趑","趦","輜","輺","辎","鄑","鈭","錙","鍿","鎡","锱","镃","頾","頿","髭","鯔","鰦","鲻","鶅","鼒","齍","齜","龇"],mī:["咪"],"jī xī qià":["咭"],"gē luò kǎ lo":["咯"],"shù xún":["咰"],"zán zá zǎ zan":["咱"],"hāi ké":["咳"],huī:["咴","噅","噕","婎","媈","幑","徽","恢","拻","挥","揮","晖","暉","楎","洃","瀈","灰","灳","烣","睳","禈","翚","翬","蘳","袆","褘","詼","诙","豗","輝","辉","鰴","麾","㧑"],"huài shì":["咶"],táo:["咷","啕","桃","檮","洮","淘","祹","綯","绹","萄","蜪","裪","迯","逃","醄","鋾","鞀","鞉","饀","駣","騊","鼗","𫘦"],xián:["咸","啣","娴","娹","婱","嫌","嫺","嫻","弦","挦","撏","涎","湺","澖","甉","痫","癇","癎","絃","胘","舷","藖","蚿","蛝","衔","衘","誸","諴","賢","贒","贤","輱","醎","銜","鑦","閑","闲","鷳","鷴","鷼","鹇","鹹","麙","𫍯"],"è àn":["咹"],"xuān xuǎn":["咺","烜"],"wāi hé wǒ guǎ guō":["咼"],"yàn yè yān":["咽"],āi:["哀","哎","埃","溾","銰","鎄","锿"],pǐn:["品","榀"],shěn:["哂","婶","嬸","审","宷","審","弞","曋","渖","瀋","瞫","矤","矧","覾","訠","諗","讅","谂","谉","邥","頣","魫"],"hǒng hōng hòng":["哄"],"wā wa":["哇"],"hā hǎ hà":["哈"],zāi:["哉","栽","渽","溨","災","灾","烖","睵","賳"],"dì diè":["哋"],pài:["哌","沠","派","渒","湃","蒎","鎃"],"gén hěn":["哏"],"yǎ yā":["哑","雅"],"yuě huì":["哕","噦"],nián:["哖","年","秊","秥","鮎","鯰","鲇","鲶","鵇","黏"],"huá huā":["哗","嘩"],"jì jiē zhāi":["哜","嚌"],mōu:["哞"],"yō yo":["哟","喲"],lòng:["哢","梇","贚"],"ò ó é":["哦"],"lī lǐ li":["哩"],"nǎ na nǎi né něi":["哪"],hè:["哬","垎","壑","寉","惒","焃","煂","燺","爀","癋","碋","翯","褐","謞","賀","贺","赫","靍","靎","靏","鶴","鸖","鹤"],"bō pò bā":["哱"],zhé:["哲","啠","喆","嚞","埑","悊","摺","晢","晣","歽","矺","砓","磔","籷","粍","虴","蛰","蟄","袩","詟","謫","謺","讁","讋","谪","輒","輙","轍","辄","辙","鮿"],"liàng láng":["哴"],"liè lǜ":["哷"],hān:["哻","憨","蚶","谽","酣","頇","顸","馠","魽","鼾"],"hēng hng":["哼"],gěng:["哽","埂","峺","挭","梗","綆","绠","耿","莄","郠","骾","鯁","鲠","𬒔"],"chuò yuè":["哾"],"gě jiā":["哿"],"bei bài":["唄"],"hán hàn":["唅"],chún:["唇","浱","湻","滣","漘","犉","純","纯","脣","莼","蒓","蓴","醇","醕","錞","陙","鯙","鶉","鹑","𬭚"],"ài āi":["唉"],"jiá qiǎn":["唊"],"yán dàn xián":["唌"],chē:["唓","砗","硨","莗","蛼"],"wú ńg ń":["唔"],zào:["唕","唣","噪","慥","梍","灶","煰","燥","皁","皂","竃","竈","簉","艁","譟","趮","躁","造","𥖨"],dí:["唙","啇","嘀","嚁","嫡","廸","敌","敵","梑","涤","滌","狄","笛","籴","糴","苖","荻","蔋","蔐","藡","覿","觌","豴","迪","靮","頔","馰","髢","鸐","𬱖"],"gòng hǒng gǒng":["唝","嗊"],dóu:["唞"],"lào láo":["唠","嘮","憦"],huàn:["唤","喚","奂","奐","宦","嵈","幻","患","愌","换","換","擐","攌","梙","槵","浣","涣","渙","漶","澣","烉","焕","煥","瑍","痪","瘓","睆","肒","藧","豢","轘","逭","鯇","鯶","鰀","鲩"],léng:["唥","塄","楞","碐","薐"],"wō wěi":["唩"],fěng:["唪","覂","諷","讽"],"yín jìn":["唫"],"hǔ xià":["唬"],wéi:["唯","围","圍","壝","峗","峞","嵬","帏","帷","幃","惟","桅","沩","洈","涠","湋","溈","潍","潙","潿","濰","犩","矀","維","维","蓶","覹","违","違","鄬","醀","鍏","闈","闱","韋","韦","鮠","𣲗","𬶏"],shuā:["唰"],chàng:["唱","怅","悵","暢","焻","畅","畼","誯","韔","鬯"],"ér wā":["唲"],qiàng:["唴","炝","熗","羻"],yō:["唷"],yū:["唹","淤","瘀","盓","箊","紆","纡","込","迂","迃","陓"],lài:["唻","濑","瀨","瀬","癞","癩","睐","睞","籁","籟","藾","賚","賴","赉","赖","頼","顂","鵣"],tuò:["唾","嶞","柝","毤","毻","箨","籜","萚","蘀","跅"],"zhōu zhāo tiào":["啁"],kěn:["啃","垦","墾","恳","懇","肎","肯","肻","豤","錹"],"zhuó zhào":["啅","濯"],"hēng hèng":["啈","悙"],"lín lán":["啉"],"a ā á ǎ à":["啊"],qiāng:["啌","嗴","嶈","戕","摤","斨","枪","槍","溬","牄","猐","獇","羌","羗","腔","蜣","謒","鏘","锖","锵"],"tūn zhūn xiāng duǐ":["啍"],wèn:["問","妏","揾","搵","璺","问","顐"],"cuì qi":["啐"],"dié shà jié tì":["啑"],"yuē wā":["啘"],"zǐ cǐ":["啙"],"bǐ tú":["啚"],"chuò chuài":["啜"],"yǎ yā è":["啞"],fēi:["啡","婓","婔","扉","暃","渄","猆","緋","绯","裶","霏","非","靟","飛","飝","飞","餥","馡","騑","騛","鯡","鲱","𬴂"],pí:["啤","壀","枇","毗","毘","焷","琵","疲","皮","篺","罴","羆","脾","腗","膍","蚍","蚽","蜱","螷","蠯","豼","貔","郫","鈹","阰","陴","隦","魮","鮍","鲏","鵧","鼙"],shá:["啥"],"lā la":["啦"],"yīng qíng":["啨"],pā:["啪","妑","舥","葩","趴"],"zhě shì":["啫"],sè:["啬","嗇","懎","擌","栜","歮","涩","渋","澀","澁","濇","濏","瀒","瑟","璱","瘷","穑","穡","穯","繬","譅","轖","銫","鏼","铯","飋"],niè:["啮","嗫","噛","嚙","囁","囓","圼","孼","孽","嵲","嶭","巕","帇","敜","枿","槷","櫱","涅","湼","痆","篞","籋","糱","糵","聂","聶","臬","臲","蘖","蠥","讘","踂","踗","踙","蹑","躡","錜","鎳","鑈","鑷","钀","镊","镍","闑","陧","隉","顳","颞","齧","𫔶"],"luō luó luo":["啰","囉"],"tān chǎn tuō":["啴"],bo:["啵","蔔"],dìng:["啶","定","椗","矴","碇","碠","磸","聢","腚","萣","蝊","訂","订","錠","锭","顁","飣","饤"],lāng:["啷"],"án ān":["啽"],kā:["喀","擖"],"yóng yú":["喁"],"lā lá lǎ":["喇"],jiē:["喈","喼","嗟","堦","媘","接","掲","擑","湝","煯","疖","痎","癤","皆","秸","稭","脻","蝔","街","謯","阶","階","鞂","鶛"],hóu:["喉","帿","猴","瘊","睺","篌","糇","翭","葔","鄇","鍭","餱","骺","鯸","𬭤"],"dié zhá":["喋"],wāi:["喎","歪","竵"],"nuò rě":["喏"],"xù huò guó":["喐"],zán:["喒"],"wō ō":["喔"],hú:["喖","嘝","囫","壶","壷","壺","媩","弧","搰","斛","楜","槲","湖","瀫","焀","煳","狐","猢","瑚","瓳","箶","絗","縠","胡","葫","蔛","蝴","螜","衚","觳","醐","鍸","頶","餬","鬍","魱","鰗","鵠","鶘","鶦","鹕"],"huàn yuán xuǎn hé":["喛"],xǐ:["喜","囍","壐","屣","徙","憙","枲","橲","歖","漇","玺","璽","矖","禧","縰","葈","葸","蓰","蟢","謑","蹝","躧","鈢","鉨","鉩","鱚","𬭳","𬶮"],"hē hè yè":["喝"],kuì:["喟","嘳","媿","嬇","愦","愧","憒","篑","簣","籄","聩","聭","聵","膭","蕢","謉","餽","饋","馈"],"zhǒng chuáng":["喠"],"wéi wèi":["喡","為","爲"],"duó zhà":["喥"],"sāng sàng":["喪"],"qiáo jiāo":["喬"],"pèn bēn":["喯"],"cān sūn qī":["喰"],"zhā chā":["喳"],miāo:["喵"],"pēn pèn":["喷"],kuí:["喹","夔","奎","巙","戣","揆","晆","暌","楏","楑","櫆","犪","睽","葵","藈","蘷","虁","蝰","躨","逵","鄈","鍨","鍷","頯","馗","騤","骙","魁"],"lou lóu":["喽"],"zào qiāo":["喿"],"hè xiāo xiào hù":["嗃"],"á shà":["嗄"],xiù:["嗅","岫","峀","溴","珛","琇","璓","秀","綉","繍","繡","绣","螑","袖","褎","褏","銹","鏥","鏽","锈","齅"],"qiāng qiàng":["嗆","戗","戧","蹌","蹡"],"ài yì":["嗌","艾"],"má mǎ ma":["嗎"],"kè kē":["嗑"],"dā tà":["嗒","鎉"],sǎng:["嗓","搡","磉","褬","鎟","顙","颡"],chēn:["嗔","抻","琛","瞋","諃","謓","賝","郴","𬘭"],"wā gǔ":["嗗"],"pǎng bēng":["嗙"],"xián qiǎn qiān":["嗛"],lào:["嗠","嫪","橯","涝","澇","耢","耮","躼","軂","酪"],wēng:["嗡","翁","聬","螉","鎓","鶲","鹟","𬭩"],wà:["嗢","腽","膃","袜","襪","韤"],"hēi hāi":["嗨"],hē:["嗬","欱","蠚","訶","诃"],zi:["嗭"],sǎi:["嗮"],"ǹg ńg ňg":["嗯"],gě:["嗰","舸"],ná:["嗱","拏","拿","鎿","镎"],diǎ:["嗲"],"ài ǎi āi":["嗳"],tōng:["嗵","樋","炵","蓪"],"zuī suī":["嗺"],"zhē zhè zhù zhe":["嗻"],mò:["嗼","圽","塻","墨","妺","嫼","寞","帞","昩","末","枺","歿","殁","沫","漠","爅","獏","瘼","皌","眽","眿","瞐","瞙","砞","礳","秣","絈","纆","耱","茉","莈","蓦","蛨","蟔","貃","貊","貘","銆","鏌","镆","陌","靺","驀","魩","默","黙","𬙊"],sòu:["嗽","瘶"],tǎn:["嗿","坦","忐","憳","憻","暺","毯","璮","菼","袒","襢","醓","鉭","钽"],"jiào dǎo":["嘄"],"kǎi gě":["嘅"],"shān càn":["嘇"],cáo:["嘈","嶆","曹","曺","槽","漕","艚","蓸","螬","褿","鏪","𥕢"],piào:["嘌","徱","蔈","驃"],"lóu lou":["嘍"],gǎ:["尕","玍"],"gǔ jiǎ":["嘏"],"jiāo xiāo":["嘐"],"xū shī":["嘘","噓"],pó:["嘙","嚩","婆","櫇","皤","鄱"],"dē dēi":["嘚"],"ma má":["嘛"],"lē lei":["嘞"],"gā gá gǎ":["嘠"],sāi:["嘥","噻","毢","腮","顋","鰓"],"zuō chuài":["嘬"],"cháo zhāo":["嘲","朝","鼂"],zuǐ:["嘴","噿","嶊","璻"],"qiáo qiào":["嘺","翹","谯"],"chù xù shòu":["嘼"],"tān chǎn":["嘽"],"dàn tán":["嘾","弾","彈","惔","澹"],"hēi mò":["嘿"],ě:["噁","砨","頋","騀","鵈"],"fān bo":["噃"],chuáng:["噇","床","牀"],"cù zā hé":["噈"],"tūn kuò":["噋"],"cēng chēng":["噌"],dēng:["噔","嬁","灯","燈","璒","登","竳","簦","艠","豋"],pū:["噗","扑","撲","攴","攵","潽","炇","陠"],juē:["噘","屩","屫","撧"],lū:["噜","嚕","撸","擼","謢"],zhān:["噡","岾","惉","旃","旜","枬","栴","毡","氈","氊","沾","瞻","薝","蛅","詀","詹","譫","谵","趈","邅","閚","霑","飦","饘","驙","魙","鱣","鸇","鹯","𫗴"],ō:["噢"],"zhòu zhuó":["噣"],"jiào qiào chī":["噭"],yuàn:["噮","妴","怨","愿","掾","瑗","禐","苑","衏","裫","褑","院","願"],"ǎi ài āi":["噯"],"yōng yǒng":["噰","澭"],"jué xué":["噱"],"pēn pèn fèn":["噴"],gá:["噶","尜","釓","錷","钆"],"xīn hěn hèn":["噷"],dāng:["噹","澢","珰","璫","筜","簹","艡","蟷","裆","襠"],làn:["嚂","滥","濫","烂","燗","爁","爛","爤","瓓","糷","钄"],tà:["嚃","嚺","崉","挞","搨","撻","榻","橽","毾","涾","澾","濌","禢","粏","誻","譶","蹋","蹹","躂","躢","遝","錔","闒","闥","闼","阘","鞜","鞳"],"huō huò ǒ":["嚄"],hāo:["嚆","茠","蒿","薅"],"hè xià":["嚇"],"xiù pì":["嚊"],"zhōu chóu":["嚋","盩","诪"],mē:["嚒"],"chā cā":["嚓"],"bó pào bào":["嚗"],"me mèi mò":["嚜"],"xié hái":["嚡"],"áo xiāo":["嚣"],mō:["嚤","摸"],pín:["嚬","娦","嫔","嬪","玭","矉","薲","蠙","貧","贫","顰","颦","𬞟"],mè:["嚰","濹"],"rǎng rāng":["嚷"],lá:["嚹","旯"],"jiáo jué jiào":["嚼"],chuò:["嚽","娖","擉","歠","涰","磭","踀","輟","辍","辵","辶","酫","鑡","餟","齪","龊"],"huān huàn":["嚾"],"zá cà":["囃"],chài:["囆","虿","蠆","袃","訍"],"náng nāng":["囊"],"zá zàn cān":["囋"],sū:["囌","櫯","甦","稣","穌","窣","蘇","蘓","酥","鯂"],zèng:["囎","熷","甑","贈","赠","鋥","锃"],"zá niè yàn":["囐"],nāng:["囔"],"luó luō luo":["囖"],"wéi guó":["囗"],huí:["囘","回","囬","廻","廽","恛","洄","痐","茴","蚘","蛔","蛕","蜖","迴","逥","鮰"],nín:["囜","您","脌"],"jiǎn nān":["囝"],nān:["囡"],tuán:["团","団","團","慱","抟","摶","檲","糰","鏄","鷒","鷻"],"tún dùn":["囤","坉"],guó:["囯","囶","囻","国","圀","國","帼","幗","慖","摑","漍","聝","腘","膕","蔮","虢","馘","𬇹"],kùn:["困","涃","睏"],"wéi tōng":["囲"],qūn:["囷","夋","逡"],rì:["囸","日","衵","鈤","馹","驲"],tāi:["囼","孡","胎"],pǔ:["圃","圑","擈","普","暜","樸","檏","氆","浦","溥","烳","諩","譜","谱","蹼","鐠","镨"],"quān juàn juān":["圈","圏"],"chuí chuán":["圌"],tuǎn:["圕","畽","疃"],lüè:["圙","掠","略","畧","稤","鋝","鋢","锊","䂮"],"huán yuán":["圜"],luán:["圝","圞","奱","娈","孌","孪","孿","峦","巒","挛","攣","曫","栾","欒","滦","灤","癴","癵","羉","脔","臠","虊","銮","鑾","鵉","鸞","鸾"],tǔ:["土","圡","釷","钍"],"xū wéi":["圩"],"dì de":["地","嶳"],"qiān sú":["圱"],zhèn:["圳","塦","挋","振","朕","栚","甽","眹","紖","絼","纼","誫","賑","赈","鋴","鎭","鎮","镇","阵","陣","震","鴆","鸩"],"chǎng cháng":["场","場","塲"],"qí yín":["圻"],jiá:["圿","忦","恝","戞","扴","脥","荚","莢","蛱","蛺","裌","跲","郏","郟","鋏","铗","頬","頰","颊","鴶","鵊"],"zhǐ zhì":["坁"],bǎn:["坂","岅","昄","板","版","瓪","粄","舨","蝂","鈑","钣","阪","魬"],qǐn:["坅","寑","寝","寢","昑","梫","笉","螼","赾","鋟","锓"],"méi fén":["坆"],"rǒng kēng":["坈"],"fāng fáng":["坊"],"fèn bèn":["坋"],tān:["坍","怹","摊","擹","攤","滩","灘","瘫","癱","舑","貪","贪"],"huài pēi pī péi":["坏"],"dì làn":["坔"],tán:["坛","墰","墵","壇","壜","婒","憛","昙","曇","榃","檀","潭","燂","痰","磹","罈","罎","藫","談","譚","譠","谈","谭","貚","郯","醰","錟","顃"],bà:["坝","垻","壩","弝","欛","灞","爸","矲","覇","霸","鮁","鲅"],fén:["坟","墳","妢","岎","幩","枌","棼","汾","焚","燌","燓","羒","羵","蒶","蕡","蚠","蚡","豮","豶","轒","鐼","隫","馩","魵","黂","鼖","鼢","𣸣"],zhuì:["坠","墜","惴","甀","畷","礈","綴","縋","缀","缒","腏","膇","諈","贅","赘","醊","錣","鑆"],pō:["坡","岥","泼","溌","潑","釙","鏺","钋","頗","颇","䥽"],"pǎn bàn":["坢"],kūn:["坤","堃","堒","崐","崑","昆","晜","潉","焜","熴","猑","琨","瑻","菎","蜫","裈","裩","褌","醌","錕","锟","騉","髠","髡","髨","鯤","鲲","鵾","鶤","鹍"],diàn:["坫","垫","墊","壂","奠","婝","店","惦","扂","橂","殿","淀","澱","玷","琔","电","癜","簟","蜔","鈿","電","靛","驔"],"mù mǔ":["坶"],"kē kě":["坷","軻"],xuè:["坹","岤","桖","瀥","狘","瞲","謔","谑","趐"],"dǐ chí":["坻","柢"],lā:["垃","柆","菈","邋"],lǒng:["垄","垅","壟","壠","拢","攏","竉","陇","隴","𬕂"],mín:["垊","姄","岷","崏","捪","旻","旼","民","珉","琘","琝","瑉","痻","盿","砇","緍","緡","缗","罠","苠","鈱","錉","鍲","鴖"],"dòng tóng":["垌","峒","洞"],cí:["垐","嬨","慈","柌","濨","珁","瓷","甆","磁","礠","祠","糍","茨","詞","词","辝","辞","辤","辭","雌","飺","餈","鴜","鶿","鷀","鹚"],duī:["垖","堆","塠","痽","磓","鐓","鐜","鴭"],"duò duǒ":["垛"],"duǒ duò":["垜","挆"],chá:["垞","察","嵖","搽","槎","檫","猹","茬","茶","詧","靫","𥻗"],shǎng:["垧","晌","樉","賞","贘","赏","鋿","鏛","鑜"],shǒu:["垨","守","手","扌","艏","首"],da:["垯","繨","跶"],háng:["垳","斻","杭","筕","絎","绗","航","苀","蚢","裄","貥","迒","頏","颃","魧"],"ān ǎn":["垵"],xīng:["垶","惺","星","曐","煋","猩","瑆","皨","篂","腥","興","觪","觲","謃","騂","骍","鮏","鯹"],"yuàn huán":["垸"],bāng:["垹","帮","幇","幚","幫","捠","梆","浜","邦","邫","鞤","𠳐"],"póu fú":["垺"],cén:["埁","岑","涔"],"běng fēng":["埄"],"dì fáng":["埅"],"xiá jiā":["埉"],"mái mán":["埋"],làng:["埌","崀","浪","蒗","閬","㫰"],"shān yán":["埏"],"qín jīn":["埐"],"pǔ bù":["埔"],huā:["埖","婲","椛","硴","糀","花","蒊","蘤","誮","錵"],"suì sù":["埣"],"pí pì":["埤"],"qīng zhēng":["埥","鲭"],"wǎn wān":["埦"],lǔn:["埨","稐","𫭢"],"zhēng chéng":["埩"],kōng:["埪","崆","箜","躻","錓","鵼"],"cǎi cài":["埰","寀","采"],"chù tòu":["埱"],běng:["埲","琫","菶","鞛"],"kǎn xiàn":["埳"],"yì shì":["埶","醳"],péi:["培","毰","裴","裵","賠","赔","錇","锫","阫","陪"],"sào sǎo":["埽"],"jǐn qīn jìn":["堇"],"péng bèng":["堋"],"qiàn zàn jiàn":["堑"],àn:["堓","屵","岸","按","暗","案","胺","荌","豻","貋","錌","闇","隌","黯"],"duò huī":["堕","墮"],huán:["堚","寏","寰","峘","桓","洹","澴","獂","环","環","糫","繯","缳","羦","荁","萈","萑","豲","鍰","鐶","锾","镮","闤","阛","雈","鬟","鹮","𬘫","𤩽"],"bǎo bǔ pù":["堡"],"máo móu wǔ":["堥"],ruán:["堧","壖","撋"],"ài è yè":["堨"],gèng:["堩","暅"],méi:["堳","塺","媒","嵋","徾","攗","枚","栂","梅","楣","楳","槑","湄","湈","煤","猸","玫","珻","瑂","眉","睂","禖","脄","脢","腜","苺","莓","葿","郿","酶","鎇","镅","霉","鶥","鹛","黴"],dǔ:["堵","琽","睹","笃","篤","覩","賭","赌"],féng:["堸","綘","艂","逢"],hèng:["堼"],chūn:["堾","媋","旾","春","暙","杶","椿","槆","橁","櫄","瑃","箺","萅","蝽","輴","鰆","鶞","䲠"],jiǎng:["塂","奖","奨","奬","桨","槳","獎","耩","膙","蒋","蔣","講","讲","顜"],huāng:["塃","巟","慌","肓","荒","衁"],duàn:["塅","断","斷","椴","段","毈","煅","瑖","碫","簖","籪","緞","缎","腶","葮","躖","鍛","锻"],tǎ:["塔","墖","獭","獺","鮙","鰨","鳎"],wěng:["塕","奣","嵡","攚","暡","瞈","蓊"],"sāi sài sè":["塞"],zàng:["塟","弉","臓","臟","葬","蔵","銺"],tián:["塡","屇","恬","沺","湉","璳","甛","甜","田","畋","畑","碵","磌","胋","闐","阗","鴫","鷆","鷏"],zhèng:["塣","幁","政","証","諍","證","证","诤","郑","鄭","靕","鴊"],"tián zhèn":["填"],wēn:["塭","昷","榲","殟","温","溫","瑥","瘟","蕰","豱","輼","轀","辒","鎾","饂","鰛","鰮","鳁"],liù:["塯","廇","磟","翏","雡","霤","餾","鬸","鷚","鹨"],hǎi:["塰","海","烸","酼","醢"],lǎng:["塱","朖","朗","朤","烺","蓢","㮾"],bèng:["塴","揼","泵","甏","綳","蹦","迸","逬","鏰","镚"],chén:["塵","宸","尘","忱","敐","敶","晨","曟","栕","樄","沉","煁","瘎","臣","茞","莀","莐","蔯","薼","螴","訦","諶","軙","辰","迧","鈂","陈","陳","霃","鷐","麎"],"ōu qiū":["塸"],"qiàn jiàn":["塹"],"zhuān tuán":["塼"],shuǎng:["塽","慡","漺","爽","縔","鏯"],shú:["塾","婌","孰","璹","秫","贖","赎"],lǒu:["塿","嵝","嶁","甊","篓","簍"],chí:["墀","弛","持","池","漦","竾","筂","箎","篪","茌","荎","蚳","謘","貾","赿","踟","迟","迡","遅","遟","遲","鍉","馳","驰"],shù:["墅","庶","庻","怷","恕","戍","束","树","樹","沭","漱","潄","濖","竖","竪","絉","腧","荗","蒁","虪","術","裋","豎","述","鉥","錰","鏣","霔","鶐","𬬸"],"dì zhì":["墆","疐"],kàn:["墈","崁","瞰","矙","磡","衎","鬫"],chěn:["墋","夦","硶","碜","磣","贂","趻","踸","鍖"],"zhǐ zhuó":["墌"],qiǎng:["墏","繈","繦","羥","襁"],zēng:["増","增","憎","璔","矰","磳","罾","譄","鄫","鱛","䎖"],qiáng:["墙","墻","嫱","嬙","樯","檣","漒","牆","艢","蔃","蔷","蘠"],"kuài tuí":["墤"],"tuǎn dǒng":["墥"],"qiáo què":["墧"],"zūn dūn":["墫"],"qiāo áo":["墽"],"yì tú":["墿"],"xué bó jué":["壆"],lǎn:["壈","嬾","孄","孏","懒","懶","揽","擥","攬","榄","欖","浨","漤","灠","纜","缆","罱","覧","覽","览","醂","顲"],huài:["壊","壞","蘾"],rǎng:["壌","壤","攘","爙"],"làn xiàn":["壏"],dǎo:["壔","导","導","岛","島","嶋","嶌","嶹","捣","搗","擣","槝","祷","禂","禱","蹈","陦","隝","隯"],ruǐ:["壡","桵","橤","繠","蕊","蕋","蘂","蘃"],san:["壭"],zhuàng:["壮","壯","壵","撞","焋","状","狀"],"ké qiào":["壳","殼"],kǔn:["壸","壼","悃","捆","梱","硱","祵","稇","稛","綑","裍","閫","閸","阃"],mǎng:["壾","漭","茻","莽","莾","蠎"],cún:["壿","存"],"zhǐ zhōng":["夂"],"gǔ yíng":["夃"],"jiàng xiáng":["夅","降"],"páng féng fēng":["夆"],zhāi:["夈","捚","摘","斋","斎","榸","粂","齋"],"xuàn xiòng":["夐"],wài:["外","顡"],"wǎn yuàn wān yuān":["夗"],"mǎo wǎn":["夘"],mèng:["夢","夣","孟","梦","癦","霥"],"dà dài":["大"],"fū fú":["夫","姇","枎","粰"],guài:["夬","怪","恠"],yāng:["央","姎","抰","殃","泱","秧","胦","鉠","鍈","雵","鴦","鸯"],"hāng bèn":["夯"],gǎo:["夰","搞","杲","槀","槁","檺","稁","稾","稿","縞","缟","菒","藁","藳"],"tāo běn":["夲"],"tóu tou":["头"],"yǎn tāo":["夵"],"kuā kuà":["夸","誇"],"jiá jiā gā xiá":["夹"],huà:["夻","婳","嫿","嬅","崋","摦","杹","枠","桦","槬","樺","澅","画","畫","畵","繣","舙","話","諙","譮","话","黊"],"jiā jiá gā xiá":["夾"],ēn:["奀","恩","蒽"],"dī tì":["奃"],"yǎn yān":["奄","渰"],pào:["奅","疱","皰","砲","礟","礮","靤","麭"],nài:["奈","柰","渿","耐","萘","褦","錼","鼐"],"quān juàn":["奍","弮","棬"],zòu:["奏","揍"],"qì qiè xiè":["契"],kāi:["奒","开","揩","鐦","锎","開"],"bēn bèn":["奔","泍"],tào:["套"],"zàng zhuǎng":["奘"],běn:["奙","本","楍","畚","翉","苯"],"xùn zhuì":["奞"],shē:["奢","檨","猞","畭","畲","賒","賖","赊","輋","𪨶"],"hǎ pò tǎi":["奤"],"ào yù":["奥","奧","澚"],yūn:["奫","氲","氳","蒀","蒕","蝹","贇","赟","𫖳"],"duǒ chě":["奲"],"nǚ rǔ":["女"],nú:["奴","孥","笯","駑","驽"],"dīng dǐng tiǎn":["奵"],"tā jiě":["她"],nuán:["奻"],"hǎo hào":["好"],fàn:["奿","嬎","梵","汎","泛","滼","瀪","犯","畈","盕","笵","範","范","訉","販","贩","軬","輽","飯","飰","饭"],shuò:["妁","搠","朔","槊","烁","爍","矟","蒴","鎙","鑠","铄"],"fēi pèi":["妃"],wàng:["妄","忘","旺","望","朢"],zhuāng:["妆","妝","娤","庄","庒","桩","梉","樁","粧","糚","荘","莊","装","裝"],mā:["妈","媽"],"fū yōu":["妋"],"hài jiè":["妎"],dù:["妒","妬","杜","殬","渡","秺","芏","荰","螙","蠧","蠹","鍍","镀","靯","𬭊"],miào:["妙","庙","庿","廟","玅","竗"],"fǒu pēi pī":["妚"],"yuè jué":["妜"],niū:["妞"],"nà nàn":["妠"],tuǒ:["妥","嫷","庹","椭","楕","橢","鬌","鰖","鵎"],"wàn yuán":["妧"],fáng:["妨","房","肪","防","魴","鲂"],nī:["妮"],zhóu:["妯","碡"],zhāo:["妱","巶","招","昭","釗","鉊","鍣","钊","駋","𬬿"],"nǎi nǐ":["妳"],tǒu:["妵","敨","紏","蘣","黈"],"xián xuán xù":["妶"],"zhí yì":["妷","秇"],ē:["妸","妿","婀","屙"],mèi:["妹","媚","寐","抺","旀","昧","沬","煝","痗","眛","睸","祙","篃","蝞","袂","跊","鬽","魅"],"qī qì":["妻"],"xū xǔ":["姁","稰"],"shān shàn":["姍","姗","苫","釤","钐"],mán:["姏","慲","樠","蛮","蠻","謾","饅","馒","鬗","鬘","鰻","鳗"],jiě:["姐","媎","檞","毑","飷"],"wěi wēi":["委"],pīn:["姘","拼","礗","穦","馪","驞"],"huá huó":["姡"],"jiāo xiáo":["姣"],"gòu dù":["姤"],"lǎo mǔ":["姥"],"nián niàn":["姩"],zhěn:["姫","屒","弫","抮","昣","枕","畛","疹","眕","稹","縝","縥","缜","聄","萙","袗","裖","覙","診","诊","軫","轸","辴","駗","鬒"],héng:["姮","恆","恒","烆","珩","胻","蘅","衡","鑅","鴴","鵆","鸻"],"jūn xún":["姰"],"kuā hù":["姱"],"è yà":["姶"],"xiān shēn":["姺"],wá:["娃"],"ráo rǎo":["娆","嬈"],"shào shāo":["娋"],xiē:["娎","揳","楔","歇","蝎","蠍"],"wǔ méi mǔ":["娒"],"chuò lài":["娕"],niáng:["娘","嬢","孃"],"nà nuó":["娜","𦰡"],"pōu bǐ":["娝"],"něi suī":["娞"],tuì:["娧","煺","蛻","蜕","退","駾"],mǎn:["娨","屘","満","满","滿","螨","蟎","襔","鏋"],"wú wù yú":["娪"],"xī āi":["娭"],"zhuì shuì":["娷"],"dōng dòng":["娻"],"ǎi ái è":["娾"],"ē ě":["娿"],mián:["婂","嬵","宀","杣","棉","檰","櫋","眠","矈","矊","矏","綿","緜","绵","芇","蝒"],"pǒu péi bù":["婄"],biǎo:["婊","脿","表","裱","褾","諘","錶"],"fù fàn":["婏"],wǒ:["婐","婑","我"],"ní nǐ":["婗","棿"],"quán juàn":["婘","惓"],hūn:["婚","昏","昬","棔","涽","睧","睯","碈","荤","葷","蔒","轋","閽","阍"],"qiān jǐn":["婜"],"wān wà":["婠"],"lái lài":["婡","徕","徠"],"zhōu chōu":["婤"],"chuò nào":["婥"],"nüè àn":["婩"],"hùn kūn":["婫"],"dàng yáng":["婸"],nàn:["婻"],"ruò chuò":["婼"],jiǎ:["婽","岬","斚","斝","榎","槚","檟","玾","甲","胛","鉀","钾"],"tōu yú":["婾","媮"],"yù yú":["媀"],"wéi wěi":["媁"],"dì tí":["媂","珶","苐"],róu:["媃","揉","柔","渘","煣","瑈","瓇","禸","粈","糅","脜","腬","葇","蝚","蹂","輮","鍒","鞣","騥","鰇","鶔","𫐓"],"ruǎn nèn":["媆"],miáo:["媌","嫹","描","瞄","苗","鶓","鹋"],"yí pèi":["媐"],"mián miǎn":["媔"],"tí shì":["媞","惿"],"duò tuó":["媠","沲"],ǎo:["媪","媼","艹","芺","袄","襖","镺"],"chú zòu":["媰"],yìng:["媵","映","暎","硬","膡","鱦"],"qín shēn":["嫀"],jià:["嫁","幏","架","榢","稼","駕","驾"],sǎo:["嫂"],"zhēn zhěn":["嫃"],"jiē suǒ":["嫅"],"míng mǐng":["嫇"],niǎo:["嫋","嬝","嬲","茑","蔦","袅","裊","褭","鸟"],tāo:["嫍","幍","弢","慆","掏","搯","槄","涛","滔","濤","瑫","絛","縚","縧","绦","詜","謟","轁","鞱","韜","韬","飸","饕"],biáo:["嫑"],"piáo piāo":["嫖","薸"],xuán:["嫙","悬","懸","暶","檈","漩","玄","璇","璿","痃","蜁","𫠊"],"màn mān":["嫚"],kāng:["嫝","嵻","康","慷","槺","漮","砊","穅","糠","躿","鏮","鱇","𡐓","𩾌"],"hān nǎn":["嫨"],nèn:["嫩","嫰"],zhē:["嫬","遮"],"mā má":["嫲"],piè:["嫳"],zhǎn:["嫸","展","搌","斩","斬","琖","盏","盞","輾","醆","颭","飐"],"xiān yǎn jìn":["嬐"],liǎn:["嬚","敛","斂","琏","璉","羷","脸","臉","蔹","蘝","蘞","裣","襝","鄻"],"qióng huán xuān":["嬛"],dǒng:["嬞","懂","箽","董","蕫","諌"],cān:["嬠","湌","爘","飡","餐","驂","骖"],tiǎo:["嬥","宨","晀","朓","窱","脁"],bí:["嬶","荸","鼻"],liǔ:["嬼","柳","栁","桞","桺","橮","熮","珋","綹","绺","罶","羀","鋶","锍"],"qiān xiān":["孅","欦"],"xié huī":["孈"],"huān quán":["孉"],"lí lì":["孋","麗"],"zhú chuò":["孎"],kǒng:["孔","恐"],"mā zī":["孖"],"sūn xùn":["孙","孫"],"bèi bó":["孛","誖"],"yòu niū":["孧"],zhuǎn:["孨","竱","轉"],hái:["孩","骸"],nāo:["孬"],"chán càn":["孱"],bò:["孹","檗","蘗","譒"],nái:["孻","腉"],"níng nìng":["宁","寍","寗","寜","寧","甯"],zhái:["宅"],"tū jiā":["宊"],sòng:["宋","訟","誦","讼","诵","送","鎹","頌","颂","餸"],ròu:["宍","肉","譳"],zhūn:["宒","窀","衠","諄","谆","迍"],"mì fú":["宓"],"dàng tàn":["宕"],"wǎn yuān":["宛"],chǒng:["宠","寵"],qún:["宭","峮","帬","羣","群","裙","裠"],zǎi:["宰","崽"],"bǎo shí":["宲"],"jiā jia jie":["家"],"huāng huǎng":["宺"],kuān:["宽","寛","寬","臗","鑧","髋","髖"],"sù xiǔ xiù":["宿"],"jié zǎn":["寁"],"bìng bǐng":["寎"],"jìn qǐn":["寖"],"lóu jù":["寠"],"xiě xiè":["寫"],"qīn qìn":["寴"],cùn:["寸","籿"],duì:["对","対","對","怼","憝","懟","濧","瀩","碓","祋","綐","薱","譈","譵","轛","队","陮"],"lüè luó":["寽"],"shè yè yì":["射"],"jiāng jiàng qiāng":["将"],"jiāng jiàng":["將","浆","漿","畺"],zūn:["尊","嶟","樽","罇","遵","鐏","鱒","鳟","鶎","鷷","𨱔"],"shù zhù":["尌","澍"],xiǎo:["小","晓","暁","曉","皛","皢","筱","筿","篠","謏","𫍲"],"jié jí":["尐","诘","鞊"],"shǎo shào":["少"],ěr:["尒","尓","尔","栮","毦","洱","爾","珥","耳","薾","衈","趰","迩","邇","鉺","铒","餌","饵","駬"],"wāng yóu":["尢"],wāng:["尣","尩","尪","尫","汪"],liào:["尥","尦","廖","撂","料","炓","窷","鐐","镣","𪤗"],"méng máng lóng páng":["尨"],gà:["尬","魀"],"kuì kuǐ":["尯"],tuí:["尵","弚","穨","蘈","蹪","隤","頹","頺","頽","颓","魋","𬯎"],yǐn:["尹","嶾","引","朄","檃","檼","櫽","淾","濥","瘾","癮","粌","蘟","蚓","螾","讔","赺","趛","輑","鈏","靷"],"chǐ chě":["尺"],kāo:["尻","髛"],"jìn jǐn":["尽"],"wěi yǐ":["尾"],"niào suī":["尿"],céng:["层","層","嶒","驓"],diǎo:["屌"],"píng bǐng bīng":["屏"],lòu:["屚","漏","瘘","瘺","瘻","鏤","镂","陋"],"shǔ zhǔ":["属","屬"],"xiè tì":["屟"],"chè cǎo":["屮"],"tún zhūn":["屯"],"nì jǐ":["屰"],"hóng lóng":["屸"],"qǐ kǎi":["岂","豈"],áng:["岇","昂","昻"],"gǎng gāng":["岗","崗"],kě:["岢","敤","渇","渴","炣"],gǒu:["岣","狗","玽","笱","耇","耈","耉","苟","豿"],tiáo:["岧","岹","樤","祒","笤","芀","萔","蓚","蓨","蜩","迢","鋚","鎥","鞗","髫","鯈","鰷","鲦","齠","龆"],"qū jū":["岨"],lǐng:["岭","嶺","領","领"],pò:["岶","敀","洦","湐","烞","珀","破","砶","粕","蒪","魄"],"bā kè":["峇"],luò:["峈","摞","洛","洜","犖","珞","笿","纙","荦","詻","雒","駱","骆","鵅"],"fù niè":["峊"],ěn:["峎"],"zhì shì":["峙","崻"],qiǎ:["峠","跒","酠","鞐"],"qiáo jiào":["峤","癄"],"xié yé":["峫"],bū:["峬","庯","晡","誧","逋","鈽","錻","钸","餔","鵏"],chóng:["崇","崈","爞","虫","蝩","蟲","褈","隀"],"zú cuì":["崒","椊"],"líng léng":["崚"],"dòng dōng":["崠"],xiáo:["崤","洨","淆","訤","誵"],"pí bǐ":["崥","芘"],"zhǎn chán":["崭","嶃","嶄"],"wǎi wēi":["崴"],"yáng dàng":["崵"],"shì dié":["崼"],yào:["崾","曜","熎","燿","矅","穾","窔","筄","耀","艞","药","葯","薬","藥","袎","覞","詏","讑","靿","鷂","鹞","鼼"],"kān zhàn":["嵁"],"hán dǎng":["嵅"],"qiàn kàn":["嵌"],"wù máo":["嵍"],"kě jié":["嵑","嶱"],"wēi wěi":["嵔"],kē:["嵙","柯","棵","榼","樖","牁","牱","犐","珂","疴","瞌","磕","礚","科","稞","窠","萪","薖","蚵","蝌","趷","轲","醘","鈳","钶","頦","顆","颗","髁"],"dàng táng":["嵣"],"róng yíng":["嵤","爃"],"ái kǎi":["嵦"],"kāo qiāo":["嵪"],cuó:["嵯","嵳","痤","矬","蒫","蔖","虘","鹺","鹾"],"qiǎn qīn":["嵰"],"dì dié":["嵽"],cēn:["嵾"],dǐng:["嵿","艼","薡","鐤","頂","顶","鼎","鼑"],"áo ào":["嶅"],"pǐ pèi":["嶏"],"jiào qiáo":["嶠","潐"],"jué guì":["嶡","鳜"],"zhān shàn":["嶦","鳣"],"xiè jiè":["嶰"],"guī xī juàn":["嶲"],rū:["嶿"],"lì liè":["巁","棙","爄","綟"],"xī guī juàn":["巂"],"yíng hōng":["巆"],yǐng:["巊","廮","影","摬","梬","潁","瘿","癭","矨","穎","郢","鐛","頴","颍","颕","颖"],chǎo:["巐","炒","煼","眧","麨"],cuán:["巑","櫕","欑"],chuān:["巛","川","氚","瑏","穿"],"jīng xíng":["巠"],cháo:["巢","巣","晁","漅","潮","牊","窲","罺","謿","轈","鄛","鼌"],qiǎo:["巧","愀","髜"],gǒng:["巩","廾","拱","拲","栱","汞","珙","輁","鞏"],"chà chā chāi cī":["差"],"xiàng hàng":["巷"],shuài:["帅","帥","蟀"],pà:["帊","帕","怕","袙"],"tǎng nú":["帑"],"mò wà":["帓"],"tiē tiě tiè":["帖"],zhǒu:["帚","晭","疛","睭","箒","肘","菷","鯞"],"juǎn juàn":["帣"],shuì:["帨","涗","涚","睡","稅","税","裞"],"chóu dào":["帱","幬"],"jiǎn jiān sàn":["帴"],"shà qiè":["帹"],"qí jì":["帺","荠"],"shān qiāo shēn":["幓"],"zhuàng chuáng":["幢"],"chān chàn":["幨"],miè:["幭","懱","搣","滅","灭","烕","礣","篾","蔑","薎","蠛","衊","鑖","鱴","鴓"],"gān gàn":["干"],"bìng bīng":["并","幷"],"jī jǐ":["幾"],"guǎng ān":["广"],guǎng:["広","廣","犷","獷"],me:["庅"],"dùn tún":["庉"],"bài tīng":["庍"],"yìng yīng":["应"],"dǐ de":["底"],"dù duó":["度"],"máng méng páng":["庬"],"bìng píng":["庰"],chěng:["庱","悜","睈","逞","騁","骋"],"jī cuò":["庴"],qǐng:["庼","廎","檾","漀","苘","請","謦","请","頃","顷"],"guī wěi huì":["廆"],"jǐn qín":["廑"],kuò:["廓","扩","拡","擴","濶","筈","萿","葀","蛞","闊","阔","霩","鞟","鞹","韕","頢","鬠"],"qiáng sè":["廧","薔"],"yǐn yìn":["廴","隐","隠","隱","飮","飲","饮"],"pò pǎi":["廹","迫"],"nòng lòng":["弄"],"dì tì tuí":["弟"],"jué zhāng":["弡"],"mí mǐ":["弥","彌","靡"],chāo:["弨","怊","抄","欩","訬","超","鈔","钞"],yi:["弬"],shāo:["弰","旓","烧","焼","燒","筲","艄","萷","蕱","輎","髾","鮹"],"xuān yuān":["弲"],"qiáng qiǎng jiàng":["強","强"],"tán dàn":["弹","醈"],biè:["彆"],"qiáng jiàng qiǎng":["彊"],"jì xuě":["彐"],tuàn:["彖","褖"],yuē:["彟","曰","曱","矱"],"shān xiǎn":["彡"],wén:["彣","文","炆","珳","瘒","繧","聞","芠","蚉","蚊","螡","蟁","閺","閿","闅","闦","闻","阌","雯","馼","駇","魰","鳼","鴍","鼤","𫘜"],"péng bāng":["彭"],"piāo piào":["彯"],"zhuó bó":["彴"],"tuǒ yí":["彵"],"páng fǎng":["彷"],wǎng:["彺","往","徃","惘","枉","棢","網","网","罒","罓","罔","罖","菵","蛧","蝄","誷","輞","辋","魍"],cú:["徂","殂"],"dài dāi":["待"],huái:["徊","怀","懐","懷","槐","淮","耲","蘹","褢","褱","踝"],"wā wàng jiā":["徍"],"chěng zhèng":["徎"],"dé děi de":["得"],"cóng zòng":["從"],"shì tǐ":["徥"],"tí chí":["徲","鶗","鶙"],dé:["徳","德","恴","悳","惪","淂","鍀","锝"],"zhǐ zhēng":["徴","徵"],bié:["徶","癿","莂","蛂","襒","蹩"],"chōng zhǒng":["徸"],"jiǎo jiào":["徼","笅","筊"],"lòng lǒng":["徿"],"qú jù":["忂","渠","瞿","螶"],"dìng tìng":["忊"],gǎi:["忋","改"],rěn:["忍","栠","栣","秹","稔","綛","荏","荵","躵"],chàn:["忏","懴","懺","硟","羼","韂","顫"],tè:["忑","慝","特","蟘","鋱","铽"],"tè tēi tuī":["忒"],"gān hàn":["忓","攼"],"yì qì":["忔"],"tài shì":["忕"],"xī liě":["忚"],"yīng yìng":["応","應","譍"],"mǐn wěn mín":["忞","忟"],"sōng zhōng":["忪"],"yù shū":["忬","悆"],"qí shì":["忯","耆"],"tún zhūn dùn":["忳"],"qián qín":["忴","扲"],hún:["忶","浑","渾","餛","馄","魂","鼲"],niǔ:["忸","扭","炄","狃","紐","纽","莥","鈕","钮","靵"],"kuáng wǎng":["忹"],"kāng hàng":["忼"],"kài xì":["忾","愾"],òu:["怄","慪"],"bǎo bào":["怉"],"mín mén":["怋"],"zuò zhà":["怍"],zěn:["怎"],yàng:["怏","恙","样","様","樣","漾","羕","詇"],"kòu jù":["怐"],"náo niú":["怓"],"zhēng zhèng":["怔","掙","钲","铮"],"tiē zhān":["怗"],"hù gù":["怘"],"cū jù zū":["怚"],"sī sāi":["思"],"yóu chóu":["怞"],"tū dié":["怢"],"yōu yào":["怮"],xuàn:["怰","昡","楦","泫","渲","炫","琄","眩","碹","絢","縼","繏","绚","蔙","衒","袨","贙","鉉","鏇","铉","镟","颴"],"xù xuè":["怴"],"bì pī":["怶"],"xī shù":["怸"],"nèn nín":["恁"],"tiāo yáo":["恌"],"xī qī xù":["恓"],"xiào jiǎo":["恔"],"hū kuā":["恗"],nǜ:["恧","朒","衂","衄"],hèn:["恨"],"dòng tōng":["恫"],"quán zhuān":["恮"],"è wù ě wū":["恶","惡"],tòng:["恸","慟","憅","痛","衕"],"yuān juàn":["悁"],"qiāo qiǎo":["悄"],"jiè kè":["悈"],"hào jiào":["悎"],huǐ:["悔","檓","毀","毁","毇","燬","譭"],"mán mèn":["悗","鞔"],"yī yì":["悘","衣"],quān:["悛","箞","鐉","𨟠"],"kuī lǐ":["悝"],"yì niàn":["悥"],"mèn mēn":["悶"],guàn:["悹","悺","惯","慣","掼","摜","樌","欟","泴","涫","潅","灌","爟","瓘","盥","礶","祼","罆","罐","貫","贯","躀","遦","鏆","鑵","鱹","鸛","鹳"],"kōng kǒng":["悾"],"lǔn lùn":["惀"],guǒ:["惈","果","椁","槨","粿","綶","菓","蜾","裹","褁","輠","餜","馃"],"yuān wǎn":["惌","箢"],"lán lín":["惏"],"yù xù":["惐","淢"],"chuò chuì":["惙"],"hūn mèn":["惛"],"chǎng tǎng":["惝"],"suǒ ruǐ":["惢"],cǎn:["惨","慘","憯","黪","黲","䅟"],cán:["惭","慙","慚","残","殘","蚕","蝅","蠶","蠺"],"dàn dá":["惮","憚"],rě:["惹"],"yú tōu":["愉"],"kài qì":["愒"],"dàng táng shāng yáng":["愓"],"chén xìn dān":["愖"],"kè qià":["愘"],nuò:["愞","懦","懧","掿","搦","榒","稬","穤","糑","糥","糯","諾","诺","蹃","逽","鍩","锘"],gǎn:["感","擀","敢","桿","橄","澉","澸","皯","秆","稈","笴","芉","衦","赶","趕","鱤","鳡"],"còng sōng":["愡"],"sāi sī sǐ":["愢"],"gōng gòng hǒng":["愩","慐"],"shuò sù":["愬","洬"],"yáo yào":["愮"],huàng:["愰","曂","榥","滉","皝","皩","鎤","㿠"],zhěng:["愸","抍","拯","整","晸"],cǎo:["愺","艸","草","騲"],"xì xié":["慀"],"cǎo sāo":["慅"],"xù chù":["慉"],"qiè qiàn":["慊"],"cáo cóng":["慒"],"ào áo":["慠"],"lián liǎn":["慩","梿","槤","櫣"],"jìn qín jǐn":["慬"],"dì chì":["慸"],"zhí zhé":["慹"],"lóu lǚ":["慺","鷜"],còng:["憁","謥"],"zhī zhì":["憄","知","織","织"],chēng:["憆","摚","撐","撑","晿","柽","棦","橕","檉","泟","浾","琤","瞠","碀","緽","罉","蛏","蟶","赪","赬","鏿","鐣","阷","靗","頳","饓"],biē:["憋","虌","鱉","鳖","鼈","龞"],"chéng dèng zhèng":["憕"],"xǐ xī":["憘"],"duì dùn tūn":["憞"],"xiāo jiāo":["憢"],"xián xiàn":["憪"],"liáo liǎo":["憭","燎","爎","爒"],shéng:["憴","縄","繉","繩","绳","譝"],"náo nǎo náng":["憹"],"jǐng jìng":["憼"],"jǐ jiǎo":["憿"],"xuān huān":["懁"],"cǎo sāo sào":["懆"],mèn:["懑","懣","暪","焖","燜"],"mèng méng měng":["懜"],"ài yì nǐ":["懝"],"méng měng":["懞","瞢","矒"],"qí jī jì":["懠"],mǒ:["懡"],"lán xiàn":["懢"],"yōu yǒu":["懮"],"liú liǔ":["懰","藰"],ràng:["懹","譲","讓","让"],huān:["懽","欢","歓","歡","獾","讙","貛","酄","驩","鴅","鵍"],nǎn:["戁","揇","湳","煵","腩","蝻","赧"],"mí mó":["戂"],"gàng zhuàng":["戅","戆"],"zhuàng gàng":["戇"],"xū qu":["戌"],"xì hū":["戏","戯","戲"],"jiá gā":["戛"],zéi:["戝","蠈","賊","贼","鰂","鱡","鲗"],děng:["戥","等"],"hū xì":["戱"],chuō:["戳","踔","逴"],"biǎn piān":["扁"],"shǎng jiōng":["扄"],"shàn shān":["扇"],cái:["才","材","纔","裁","財","财"],"zhā zā zhá":["扎"],"lè lì cái":["扐"],"bā pá":["扒"],"dǎ dá":["打"],rēng:["扔"],"fǎn fú":["払"],"diǎo dí yuē lì":["扚"],"káng gāng":["扛"],"yū wū":["扜"],"yū wū kū":["扝"],"tuō chǐ yǐ":["扡"],"gǔ jié xì gē":["扢"],dèn:["扥","扽"],"sǎo sào":["扫","掃"],rǎo:["扰","擾","隢"],"xī chā qì":["扱"],"bān pān":["扳"],"bā ào":["扷"],"xī zhé":["扸"],"zhì sǔn kǎn":["扻"],zhǎo:["找","沼","瑵"],"kuáng wǎng zài":["抂"],"hú gǔ":["抇","鹄","鹘"],"bǎ bà":["把"],"dǎn shěn":["抌"],"nè nì ruì nà":["抐"],zhuā:["抓","檛","簻","膼","髽"],póu:["抔","裒"],"zhé shé zhē":["折"],"póu pōu fū":["抙","捊"],pāo:["抛","拋","脬","萢"],"ǎo ào niù":["抝"],"lūn lún":["抡","掄"],"qiǎng qiāng chēng":["抢"],"zhǐ zhǎi":["抧"],"bù pū":["抪","柨"],"yǎo tāo":["抭"],"hē hè qiā":["抲"],"nǐ ní":["抳"],"pī pēi":["抷"],"mǒ mò mā":["抹"],chōu:["抽","犨","犫","瘳","篘"],"jiā yá":["拁"],"fú bì":["拂","畐","鶝"],zhǎ:["拃","眨","砟","鮺","鲝"],"dān dàn dǎn":["担"],"chāi cā":["拆"],niān:["拈","蔫"],"lā lá lǎ là":["拉"],"bàn pàn":["拌"],pāi:["拍"],līn:["拎"],guǎi:["拐","枴","柺"],"tuò tà zhí":["拓"],"ào ǎo niù":["拗"],"jū gōu":["拘"],"pīn pàn fān":["拚"],"bài bái":["拜"],bài:["拝","敗","稗","粺","薭","贁","败","韛"],qiá:["拤"],"nǐng níng nìng":["拧"],"zé zhái":["择","擇"],hén:["拫","痕","鞎"],"kuò guā":["括"],"jié jiá":["拮"],nǐn:["拰"],shuān:["拴","栓","閂","闩"],"cún zùn":["拵"],"zā zǎn":["拶","桚"],kǎo:["拷","攷","栲","烤","考"],"yí chǐ hài":["拸"],"cè sè chuò":["拺"],"zhuài zhuāi yè":["拽"],"shí shè":["拾"],bāi:["挀","掰"],"kuò guāng":["挄"],nòng:["挊","挵","齈"],"jiào jiāo":["挍","敎","教"],"kuà kū":["挎"],"ná rú":["挐"],"tiāo tiǎo":["挑"],"dié shè":["挕"],liě:["挘","毟"],"yà yǎ":["挜","掗"],"wō zhuā":["挝"],"xié jiā":["挟","挾"],"dǎng dàng":["挡","擋"],"zhèng zhēng":["挣","正","症"],"āi ái":["挨"],"tuō shuì":["挩","捝"],"tǐ tì":["挮"],"suō shā":["挱"],"sā shā suō":["挲"],"kēng qiān":["挳","摼"],"bàng péng":["挷"],"ruó ruá":["挼"],"jiǎo kù":["捁"],"wǔ wú":["捂"],tǒng:["捅","桶","筒","筩","統","綂","统","㛚"],"huò chì":["捇"],"tú shū chá":["捈"],"lǚ luō":["捋"],"shāo shào":["捎","稍"],niē:["捏","揑"],"shù sǒng sōu":["捒"],"yé yú":["捓"],"jué zhuó":["捔"],"bù pú zhì":["捗"],zùn:["捘","銌"],lāo:["捞","撈","粩"],sǔn:["损","損","榫","笋","筍","箰","鎨","隼"],"wàn wǎn wān yù":["捥"],pěng:["捧","淎","皏"],shě:["捨"],"fǔ fù bǔ":["捬"],dáo:["捯"],"luò luǒ wǒ":["捰"],"juǎn quán":["捲"],"chēn tiǎn":["捵"],"niǎn niē":["捻"],"ruó wěi ré":["捼"],zuó:["捽","昨","秨","稓","筰","莋","鈼"],"wò xiá":["捾"],"qìng qiàn":["掅"],"póu pǒu":["掊"],qiā:["掐","葜"],"pái pǎi":["排"],"qiān wàn":["掔"],"yè yē":["掖"],"niè nǐ yì":["掜"],"huò xù":["掝"],"yàn shàn yǎn":["掞"],"zhěng dìng":["掟"],kòng:["控","鞚"],tuī:["推","蓷","藬"],"zōu zhōu chōu":["掫"],tiàn:["掭","舚"],kèn:["掯","裉","褃"],pá:["掱","杷","潖","爬","琶","筢"],"guó guāi":["掴"],"dǎn shàn":["掸","撣"],"chān xiān càn shǎn":["掺"],sāo:["掻","搔","溞","繅","缫","螦","騒","騷","鰠","鱢","鳋"],pèng:["掽","椪","槰","碰","踫"],"zhēng kēng":["揁"],"jiū yóu":["揂"],"jiān jiǎn":["揃","籛"],"pì chè":["揊"],"sāi zǒng cāi":["揌"],"tí dī dǐ":["提"],"zǒng sōng":["揔"],"huáng yóng":["揘"],"zǎn zuàn":["揝"],"xū jū":["揟"],"ké qiā":["揢"],"chuāi chuǎi chuài tuán zhuī":["揣"],"dì tì":["揥"],"lá là":["揦"],là:["揧","楋","溂","瓎","瘌","翋","臘","蝋","蝲","蠟","辢","辣","鑞","镴","鬎","鯻","𬶟"],"jiē qì":["揭"],"chòng dǒng":["揰"],"dié shé yè":["揲"],"jiàn qián jiǎn":["揵"],yé:["揶","爷","爺","瑘","鋣","鎁","铘"],chān:["搀","摻","攙","裧","襜","覘","觇","辿","鋓"],"gē gé":["搁","擱"],"lǒu lōu":["搂","摟"],"chōu zǒu":["搊"],chuāi:["搋"],sūn:["搎","槂","狲","猻","荪","蓀","蕵","薞","飧","飱"],"róng náng nǎng":["搑"],"péng bàng":["搒"],cuō:["搓","瑳","磋","蹉","遳","醝"],"kē è":["搕"],"nù nuò nòu":["搙"],"lā xié xiàn":["搚"],qiǔ:["搝","糗"],"xiǎn xiān":["搟"],"jié zhé":["搩"],"pán bān pó":["搫"],bān:["搬","攽","斑","斒","班","瘢","癍","肦","螁","螌","褩","辬","頒","颁","𨭉"],"zhì nái":["搱"],"wā wǎ wà":["搲"],huá:["搳","撶","滑","猾","蕐","螖","譁","鏵","铧","驊","骅","鷨"],"qiāng qiǎng chēng":["搶"],"tián shēn":["搷"],"ná nuò":["搻"],èn:["摁"],"shè niè":["摄","攝"],bìn:["摈","擯","殡","殯","膑","臏","髌","髕","髩","鬂","鬓","鬢"],"shā sà shǎi":["摋"],"chǎn sùn":["摌"],"jiū liú liáo jiǎo náo":["摎"],"féng pěng":["摓"],shuāi:["摔"],"dì tú zhí":["摕"],"qì jì chá":["摖"],"sōu sǒng":["摗"],"liǎn liàn":["摙"],"gài xì":["摡"],"hù chū":["摢"],tàng:["摥","烫","燙","鐋"],"nái zhì":["摨"],"mó mā":["摩"],"jiāng qiàng":["摪"],"áo qiáo":["摮"],"niè chè":["摰"],"mán màn":["摱"],"chàn cán":["摲"],"sè mí sù":["摵"],"biāo biào":["摽"],"juē jué":["撅"],piē:["撆","暼","氕","瞥"],"piě piē":["撇"],"zǎn zān zēn qián":["撍"],"sā sǎ":["撒"],hòng:["撔","訌","讧","闀","鬨"],"héng guàng":["撗"],niǎn:["撚","撵","攆","涊","焾","碾","簐","蹍","蹨","躎","輦","辇"],"chéng zhěng":["撜"],"huī wéi":["撝"],cāo:["撡","操","糙"],"xiāo sōu":["撨"],"liáo liāo":["撩"],"cuō zuǒ":["撮"],"wěi tuǒ":["撱"],cuān:["撺","攛","汆","蹿","躥","鑹","镩"],"qiào yāo jī":["撽"],"zhuā wō":["撾"],"lèi léi":["擂"],nǎng:["擃","攮","曩","灢"],"qíng jǐng":["擏"],kuǎi:["擓","蒯","㧟"],"pǐ bò":["擗"],"bò bāi":["擘"],"jù jǐ":["據"],mēng:["擝"],"sǒu sòu":["擞"],xǐng:["擤","箵","醒"],cā:["擦"],"níng nǐng nìng":["擰"],"zhì jié":["擳"],"là liè":["擸","爉"],"sòu sǒu":["擻"],"lì luò yuè":["擽"],"tī zhāi zhì":["擿"],pān:["攀","潘","眅","萠"],lèi:["攂","泪","涙","淚","禷","类","纇","蘱","酹","銇","錑","頛","頪","類","颣"],"cā sǎ":["攃"],"jùn pèi":["攈"],"lì luò":["攊","躒"],"là lài":["攋","櫴"],"lú luó":["攎"],"zǎn cuán":["攒"],"xiān jiān":["攕"],"mí mǐ mó":["攠"],"zǎn cuán zàn zuān":["攢"],zuàn:["攥"],"lì shài":["攦"],"lì luǒ":["攭"],"guǐ guì":["攱"],"jī qī yǐ":["攲"],fàng:["放"],"wù móu":["敄"],"chù shōu":["敊"],"gé guó è":["敋"],"duó duì":["敓","敚"],"duō què":["敠","敪"],"sàn sǎn":["散"],"dūn duì":["敦","镦"],"qī yǐ jī":["敧"],"xiào xué":["敩"],"shù shǔ shuò":["数","數"],"ái zhú":["敱","敳"],"xiòng xuàn":["敻"],"zhuó zhú":["斀"],"yì dù":["斁"],"lí tái":["斄"],"fěi fēi":["斐"],"yǔ zhōng":["斔"],"dòu dǒu":["斗"],"wò guǎn":["斡"],"tǒu tiǎo":["斢"],dòu:["斣","梪","浢","痘","窦","竇","脰","荳","豆","逗","郖","酘","閗","闘","餖","饾","鬥","鬦","鬪","鬬","鬭"],"yín zhì":["斦"],"chǎn jiè":["斺"],"wū yū yú":["於"],"yóu liú":["斿"],"páng bàng":["旁"],"máo mào":["旄"],"pī bì":["旇"],"xuán xuàn":["旋"],"wú mó":["无"],zǎo:["早","枣","栆","棗","澡","璪","薻","藻","蚤"],gā:["旮"],"gàn hàn":["旰"],"tái yīng":["旲"],"xū xù":["旴"],"tūn zhùn":["旽"],"wù wǔ":["旿"],"pò pèi":["昢"],zòng:["昮","猔","疭","瘲","粽","糉","糭","縦"],ǎi:["昹","毐","矮","蔼","藹","譪","躷","霭","靄"],"huàng huǎng":["晃"],xuǎn:["晅","癣","癬","选","選"],"xù kuā":["晇"],hǒng:["晎"],shài:["晒","曬"],"yūn yùn":["晕","煴"],"shèng chéng":["晟","椉","盛"],"jǐng yǐng":["景"],shǎn:["晱","熌","睒","覢","閃","闪","陕","陝"],"qǐ dù":["晵"],"ǎn àn yǎn":["晻"],"wǎng wàng":["暀"],zàn:["暂","暫","瓉","瓒","瓚","禶","襸","讃","讚","賛","贊","赞","蹔","鄼","錾","鏨","饡"],"yùn yūn":["暈"],"mín mǐn":["暋"],"dǔ shǔ":["暏"],shǔ:["暑","曙","潻","癙","糬","署","薥","薯","藷","蜀","蠴","襡","襩","鱪","鱰","黍","鼠","鼡"],"jiǎn lán":["暕"],nuǎn:["暖","煗","餪"],"bào pù":["暴"],"xī xǐ":["暿"],"pù bào":["曝","瀑"],"qū qǔ":["紶"],"qǔ qū":["曲"],"gèng gēng":["更"],"hū hù":["曶","雽"],"zēng céng":["曽","橧"],"céng zēng":["曾","竲"],"cǎn qián jiàn":["朁"],"qiè hé":["朅"],"bì pí":["朇","禆","笓","裨"],"yǒu yòu":["有"],"bān fén":["朌","鳻"],"fú fù":["服","洑"],"fěi kū":["朏","胐"],"qú xù chǔn":["朐"],"juān zuī":["朘"],"huāng máng wáng":["朚"],"qī jī":["期"],"tóng chuáng":["朣","橦"],zhá:["札","牐","箚","蚻","譗","鍘","铡","閘","闸"],"zhú shù shú":["朮"],"shù shú zhú":["术"],"zhū shú":["朱"],"pǔ pò pō piáo":["朴"],"dāo tiáo mù":["朷"],"guǐ qiú":["朹"],xiǔ:["朽","滫","潃","糔"],"chéng chēng":["朾"],zá:["杂","沯","砸","襍","雑","雜","雥","韴"],"yú wū":["杅"],"gān gǎn":["杆"],"chā chà":["杈"],"shān shā":["杉"],cūn:["村","皴","竴","膥","踆","邨"],"rèn ér":["杒","梕"],"sháo biāo":["杓"],"dì duò":["杕","枤"],"gū gài":["杚"],"yí zhì lí duò":["杝"],"gàng gāng":["杠"],"tiáo tiāo":["条","條"],"mà mǎ":["杩"],"sì zhǐ xǐ":["杫"],"yuán wán":["杬","蚖"],"bèi fèi":["杮"],"shū duì":["杸"],"niǔ chǒu":["杻"],"wò yuè":["枂","臒"],máo:["枆","毛","氂","渵","牦","矛","罞","茅","茆","蝥","蟊","軞","酕","鉾","錨","锚","髦","鶜"],"pī mì":["枈"],àng:["枊","盎","醠"],"fāng bìng":["枋"],"hù dǐ":["枑"],xín:["枔","襑","鐔","鬵"],"yāo yǎo":["枖"],"ě è":["枙"],"zhī qí":["枝"],"cōng zōng":["枞","樅"],"xiān zhēn":["枮"],"tái sì":["枱"],"gǒu jǔ gōu":["枸"],"bāo fú":["枹"],"yì xiè":["枻","栧"],"tuó duò":["柁","馱","駄","驮"],"yí duò lí":["柂"],"nǐ chì":["柅"],"pán bàn":["柈","跘"],"yǎng yàng yāng yīng":["柍"],"fù fū fǔ":["柎"],"bǎi bó bò":["柏"],mǒu:["某"],"sháo shào":["柖"],zhè:["柘","樜","浙","淛","蔗","蟅","這","鷓","鹧","䗪"],"yòu yóu":["柚","櫾"],"guì jǔ":["柜"],"zhà zuò":["柞"],"dié zhì":["柣","眰"],"zhā zǔ zū":["柤"],"chá zhā":["查","査"],"āo ào":["柪","軪"],"bā fú pèi bó biē":["柭"],"duò zuó wù":["柮"],"bì bié":["柲"],"zhù chù":["柷"],"bēi pēi":["柸"],"shì fèi":["柹"],"shān zhà shi cè":["栅"],"lì yuè":["栎","櫟"],"qì qiè":["栔","砌"],"qī xī":["栖","蹊"],"guā kuò":["栝"],"bīng bēn":["栟"],"xiào jiào":["校"],"jiàn zùn":["栫","袸"],"yǒu yù":["栯"],"hé hú":["核"],gēn:["根","跟"],"zhī yì":["栺"],"gé gē":["格"],"héng háng":["桁"],"guàng guāng":["桄"],"yí tí":["桋","荑"],sāng:["桑","桒","槡"],"jú jié":["桔"],"yú móu":["桙"],"ráo náo":["桡","橈"],"guì huì":["桧","檜"],"chén zhèn":["桭"],"tīng yíng":["桯"],"bó po":["桲"],"bèn fàn":["桳"],"fēng fèng":["桻","葑"],"sù yìn":["梀"],"tǐng tìng":["梃"],"xuān juān xié":["梋"],"tú chá":["梌"],"āo yòu":["梎"],kuǎn:["梡","欵","款","歀"],"shāo sào":["梢"],"qín chén cén":["梣"],"lí sì qǐ":["梩"],"chān yán":["梴"],"bīn bīng":["梹","槟","檳"],"táo chóu dào":["梼"],"cōng sōng":["棇"],"gùn hùn":["棍"],"dé zhé":["棏"],"pái bèi pèi":["棑"],"bàng pǒu bèi bēi":["棓"],"dì dài tì":["棣"],sēn:["森","椮","槮","襂"],"rěn shěn":["棯"],"léng lēng líng":["棱"],"fú sù":["棴"],"zōu sǒu":["棷"],zōu:["棸","箃","緅","諏","诹","邹","郰","鄒","鄹","陬","騶","驺","鯫","鲰","黀","齱","齺"],"zhào zhuō":["棹"],"chēn shēn":["棽"],"jiē qiè":["椄"],"yǐ yī":["椅"],"chóu zhòu diāo":["椆"],"qiāng kōng":["椌"],"zhuī chuí":["椎"],"bēi pí":["椑"],mēn:["椚"],"quān juàn quán":["椦"],"duǒ chuán":["椯"],"wěi huī":["椲"],"jiǎ jiā":["椵"],"hán jiān":["椷"],"shèn zhēn":["椹"],"yàn yà":["椻"],"zhā chá":["楂"],"guō kuǎ":["楇"],"jí zhì":["楖"],"kǔ hù":["楛"],"yóu yǒu":["楢"],"sǒng cōng":["楤"],"yuán xuàn":["楥"],"yǎng yàng yīng":["楧"],pián:["楩","胼","腁","賆","蹁","駢","騈","骈","骿","㛹"],"dié yè":["楪"],"dùn shǔn":["楯"],"còu zòu":["楱"],"dì dǐ shì":["楴"],"kǎi jiē":["楷"],"róu ròu":["楺"],"lè yuè":["楽"],"wēn yùn":["榅","鞰"],lǘ:["榈","櫚","氀","膢","藘","閭","闾","驢","驴"],shén:["榊","神","鉮","鰰","𬬹"],"bī pi":["榌"],"zhǎn niǎn zhèn":["榐"],"fú fù bó":["榑"],"jiàn jìn":["榗"],"bǎng bàng":["榜"],"shā xiè":["榝","樧"],nòu:["槈","耨","鎒","鐞"],"qiǎn lián xiàn":["槏"],gàng:["槓","焵","焹","筻","鿍"],gāo:["槔","槹","橰","櫜","睾","篙","糕","羔","臯","韟","餻","高","髙","鷎","鷱","鼛"],"diān zhěn zhēn":["槙"],"kǎn jiàn":["槛"],"xí dié":["槢"],"jī guī":["槣"],"róng yōng":["槦"],"tuán shuàn quán":["槫"],"qì sè":["槭"],"cuī zhǐ":["槯"],"yǒu chǎo":["槱"],"màn wàn":["槾"],"lí chī":["樆"],"léi lěi":["樏","櫑","礌"],"cháo jiǎo chāo":["樔"],"chēng táng":["樘"],"jiū liáo":["樛"],"mó mú":["模"],"niǎo mù":["樢"],"héng hèng":["横","橫"],xuě:["樰","膤","艝","轌","雪","鱈","鳕"],"fá fèi":["橃"],rùn:["橍","润","潤","膶","閏","閠","闰"],"zhǎn jiǎn":["橏"],shùn:["橓","瞚","瞬","舜","蕣","順","顺","鬊"],"tuí dūn":["橔"],"táng chēng":["橖"],"sù qiū":["橚"],"tán diàn":["橝"],"fén fèn fèi":["橨"],"rǎn yān":["橪"],"cū chu":["橻"],"shū qiāo":["橾"],"píng bò":["檘"],"zhái shì tú":["檡"],"biǎo biāo":["檦"],"qiān lián":["檶"],"nǐ mí":["檷"],"jiàn kǎn":["檻"],"nòu ruǎn rú":["檽"],"jī jì":["櫅","禨"],"huǎng guǒ gǔ":["櫎"],"lǜ chū":["櫖"],"miè mèi":["櫗"],ōu:["櫙","欧","歐","殴","毆","瓯","甌","膒","藲","謳","讴","鏂","鴎","鷗","鸥"],"zhù zhuó":["櫡"],"jué jì":["櫭"],"huái guī":["櫰"],"chán zhàn":["欃"],"wéi zuì":["欈"],cáng:["欌","鑶"],"yù yì":["欥"],"chù qù xì":["欪"],"kài ài":["欬"],"yì yīn":["欭"],"xì kài":["欯"],"shuò sòu":["欶"],"ǎi ēi éi ěi èi ê̄ ế ê̌ ề":["欸"],"qī yī":["欹"],"chuā xū":["欻"],"chǐ chuài":["欼"],"kǎn qiàn":["欿"],"kǎn kè":["歁"],"chuǎn chuán":["歂"],"yīn yān":["歅"],"jìn qūn":["歏"],pēn:["歕"],"xū chuā":["歘"],"xī shè":["歙"],"liǎn hān":["歛"],"zhì chí":["歭"],"sè shà":["歰"],sǐ:["死"],"wěn mò":["歾"],piǎo:["殍","皫","瞟","醥","顠"],"qíng jìng":["殑"],"fǒu bó":["殕"],"zhí shi":["殖"],"yè yān yàn":["殗"],"hūn mèi":["殙"],chòu:["殠","臰","遚"],"kuì huì":["殨","溃","潰"],cuàn:["殩","熶","爨","窜","竄","篡","簒"],"yīn yān yǐn":["殷"],"qìng kēng shēng":["殸"],"yáo xiáo xiào":["殽"],"gū gǔ":["毂","蛄"],"guàn wān":["毌"],"dú dài":["毒"],"xún xùn":["毥"],mú:["毪","氁"],"dòu nuò":["毭"],"sāi suī":["毸"],lu:["氇"],sào:["氉","瘙","矂","髞"],"shì zhī":["氏"],"dī dǐ":["氐"],"máng méng":["氓"],"yáng rì":["氜"],shuǐ:["水","氵","氺","閖"],"zhěng chéng zhèng":["氶"],tǔn:["氽"],"fán fàn":["氾"],"guǐ jiǔ":["氿"],"bīn pà pā":["汃"],"zhuó què":["汋"],"dà tài":["汏"],pìn:["汖","牝","聘"],"hàn hán":["汗","馯"],tu:["汢"],"tāng shāng":["汤","湯"],"zhī jì":["汥"],"gàn hán cén":["汵"],"wèn mén":["汶"],"fāng pāng":["汸"],"hǔ huǎng":["汻"],"niú yóu":["汼"],hàng:["沆"],"shěn chén":["沈"],"dùn zhuàn":["沌"],"nǜ niǔ":["沑"],"méi mò":["沒","没"],"tà dá":["沓"],"mì wù":["沕"],"hóng pāng":["沗"],"shā shà":["沙"],"zhuǐ zǐ":["沝"],"ōu òu":["沤","漚"],"jǔ jù":["沮"],"tuō duó":["沰"],"mǐ lì":["沵"],"yí chí":["沶"],"xiè yì":["泄"],"bó pō":["泊"],"mì bì":["泌","秘"],"chù shè":["泏"],"yōu yòu āo":["泑"],"pēng píng":["泙","硑"],"pào pāo":["泡"],"ní nì":["泥","秜"],"yuè sà":["泧"],"jué xuè":["泬","疦"],"lóng shuāng":["泷","瀧"],"luò pō":["泺","濼"],"zé shì":["泽","澤"],"sǎ xǐ":["洒"],"sè qì zì":["洓"],"xǐ xiǎn":["洗"],"kǎo kào":["洘"],"àn yàn è":["洝"],"lěi lèi":["洡"],"qiè jié":["洯"],"qiǎn jiān":["浅"],"jì jǐ":["济","済","濟","纪"],"hǔ xǔ":["浒","滸"],"jùn xùn":["浚","濬"],"yǐng chéng yíng":["浧"],"liàn lì":["浰"],"féng hóng":["浲","溄"],"jiǒng jiōng":["浻"],"suī něi":["浽"],"yǒng chōng":["涌"],"tūn yūn":["涒"],"wō guō":["涡","渦"],hēng:["涥","脝"],"zhǎng zhàng":["涨","漲"],"shòu tāo":["涭"],shuàn:["涮","腨"],"kōng náng":["涳"],"wò wǎn yuān":["涴"],"tuō tuò":["涶"],wō:["涹","猧","窝","窩","莴","萵","蜗","蝸","踒"],"qiè jí":["淁"],"guǒ guàn":["淉"],"lín lìn":["淋","獜","疄"],"tǎng chǎng":["淌"],"nào chuò zhuō":["淖"],"péng píng":["淜"],féi:["淝","肥","腓","蜰"],"pì pèi":["淠"],"niǎn shěn":["淰"],"biāo hǔ":["淲"],"chún zhūn":["淳"],"hùn hún":["混"],qiǎn:["淺","繾","缱","肷","膁","蜸","譴","谴","遣","鑓"],"wèn mín":["渂"],"rè ruò luò":["渃"],"dú dòu":["渎","瀆","读"],"jiàn jiān":["渐","溅","漸","濺"],"miǎn shéng":["渑","澠"],"nuǎn nuán":["渜"],"qiú wù":["渞"],"tíng tīng":["渟"],"dì tí dī":["渧"],"gǎng jiǎng":["港"],"hōng qìng":["渹"],tuān:["湍","煓"],"huì mǐn xū":["湏"],"xǔ xù":["湑"],pén:["湓","瓫","盆","葐"],"mǐn hūn":["湣"],"tuàn nuǎn":["湪"],"qiū jiǎo":["湫","湬"],"yān yīn":["湮"],"bàn pán":["湴"],"zhuāng hún":["湷"],"yàn guì":["溎"],"lián liǎn nián xián xiàn":["溓"],"dá tǎ":["溚","鿎"],"liū liù":["溜","澑","蹓"],lùn:["溣"],mǎ:["溤","犸","獁","玛","瑪","码","碼","遤","鎷","馬","马","鰢","鷌"],"zhēn qín":["溱"],"nì niào":["溺"],"chù xù":["滀","畜"],"wěng wēng":["滃"],"hào xuè":["滈"],"qì xì xiē":["滊"],"xíng yíng":["滎"],"zé hào":["滜"],"piāo piào piǎo":["漂"],"cóng sǒng":["漎"],"féng péng":["漨"],"luò tà":["漯"],"pēng bēn":["漰"],"chóng shuāng":["漴"],"huǒ kuò huò":["漷"],"liáo liú":["漻"],"cuǐ cuī":["漼"],"cóng zǒng":["潀"],"cóng zōng":["潈"],"pì piē":["潎"],"dàng xiàng":["潒"],"huáng guāng":["潢"],"liáo lào lǎo":["潦"],"cōng zòng":["潨"],"zhí zhì":["潪"],"tān shàn":["潬"],"tú zhā":["潳"],"sàn sǎ":["潵"],hēi:["潶","黑","黒","𬭶"],"chéng dèng":["澄","瀓"],"cūn cún":["澊"],"péng pēng":["澎"],"hòng gǒng":["澒","銾"],"wàn màn":["澫"],"kuài huì":["澮"],"guō wō":["濄"],"pēn fén":["濆"],"jí shà":["濈"],"huì huò":["濊"],"dǐng tìng":["濎"],"mǐ nǐ":["濔"],"bì pì":["濞"],"cuì zuǐ":["濢"],"hù huò":["濩"],"ǎi kài kè":["濭"],"wěi duì":["濻","瀢"],"zàn cuán":["濽","灒"],"yǎng yàng":["瀁"],"wǎng wāng":["瀇"],"mò miè":["瀎","眜"],suǐ:["瀡","膸","髓"],"huái wāi":["瀤"],"zùn jiàn":["瀳"],"yīng yǐng yìng":["瀴"],"ráng ràng":["瀼"],shuàng:["灀"],"zhuó jiào zé":["灂"],sǎ:["灑","訯","靸"],"luán luàn":["灓"],"dǎng tǎng":["灙"],"xún quán quàn":["灥"],"huǒ biāo":["灬"],"zhà yù":["灹"],"fén bèn":["炃"],"jiǒng guì":["炅"],"pàng fēng":["炐"],quē:["炔","缺","缼","蒛"],biān:["炞","煸","甂","砭","笾","箯","籩","編","编","蝙","邉","邊","鍽","鞭","鯾","鯿","鳊"],"zhāo zhào":["炤"],"zhuō chù":["炪"],"pào páo bāo":["炮"],"páo fǒu":["炰"],"shǎn qián shān":["炶"],"zhà zhá":["炸"],"jiǎo yào":["烄"],quǎn:["烇","犬","犭","畎","綣","绻","虇"],"yàng yáng":["烊"],"lào luò":["烙"],"huí huǐ":["烠"],rè:["热","熱"],"fú páo":["烰"],"xiè chè":["烲","焎"],"yàn shān":["烻"],"hūn xūn":["焄"],kào:["焅","犒","銬","铐","靠","鮳","鯌","鲓","㸆"],"juān yè":["焆"],"jùn qū":["焌"],"tāo dào":["焘"],"chǎo jù":["焣"],"wò ài":["焥"],"zǒng cōng":["焧"],"xī yì":["焬"],"xìn xīn":["焮"],"chāo zhuō":["焯"],"xiǒng yīng":["焸","焽"],kuǐ:["煃","跬","蹞","頍","𫠆"],"huī yùn xūn":["煇"],"jiǎo qiāo":["煍"],"qián shǎn shān":["煔"],"xī yí":["煕"],"shà shā":["煞"],"yè zhá":["煠"],"yáng yàng":["煬"],"ēn yūn":["煾"],"yūn yǔn":["熅"],"hè xiāo":["熇"],xióng:["熊","熋","雄"],"xūn xùn":["熏","爋"],gòng:["熕","貢","贡"],liū:["熘"],"cōng zǒng":["熜"],"lù āo":["熝"],"shú shóu":["熟"],"fēng péng":["熢"],"cuǐ suī":["熣"],tēng:["熥","膯","鼟"],"yùn yù":["熨"],"áo āo":["熬"],"hàn rǎn":["熯"],"ōu ǒu":["熰"],"huáng huǎng":["熿"],"chǎn dǎn chàn":["燀"],"jiāo zhuó qiáo jué":["燋"],"yàn yān":["燕"],"tài liè":["燤"],āo:["爊"],"yàn xún":["爓"],"jué jiào":["爝","覐","覚","覺","觉"],"lǎn làn":["爦"],"zhuǎ zhǎo":["爪"],"zhǎo zhuǎ":["爫"],"fù fǔ":["父"],diē:["爹","褺","跌"],zāng:["牂","羘","臧","賍","賘","贓","贜","赃","髒"],"piàn piān":["片"],"biān miàn":["牑"],bǎng:["牓","綁","绑"],"yǒu yōng":["牗"],"chēng chèng":["牚","竀"],niú:["牛","牜"],"jiū lè":["牞"],"mù móu":["牟"],māng:["牤"],"gē qiú":["牫"],"yòu chōu":["牰"],"tè zhí":["犆"],bēn:["犇","錛","锛"],"jiān qián":["犍","玪"],má:["犘","痲","蔴","蟇","麻"],"máo lí":["犛"],"bá quǎn":["犮"],"zhuó bào":["犳"],"àn hān":["犴"],"kàng gǎng":["犺"],"pèi fèi":["犻"],"fān huān":["犿"],kuáng:["狂","狅","誑","诳","軖","軠","鵟","𫛭"],"yí quán chí":["狋"],"xīng shēng":["狌"],"tuó yí":["狏"],kǔ:["狜","苦"],"huán huān":["狟"],"hé mò":["狢"],"tà shì":["狧"],"máng dòu":["狵"],"xī shǐ":["狶"],suān:["狻","痠","酸"],"bài pí":["猈"],"jiān yàn":["猏","豣"],"yī yǐ":["猗"],"yá wèi":["猚"],cāi:["猜"],"māo máo":["猫","貓"],"chuàn chuān":["猭"],"tuān tuàn":["猯","貒"],"yà jiá qiè":["猰"],"hè xiē gé hài":["猲"],"biān piàn":["猵","獱"],"bó pò":["猼"],"háo gāo":["獋"],"fén fèn":["獖"],"yào xiāo":["獟"],"shuò xī":["獡"],"gé liè xiē":["獦"],"nòu rú":["獳"],"náo nǎo yōu":["獶"],ráng:["獽","瓤","禳","穣","穰","蘘","躟","鬤"],"náo yōu":["獿"],"lǜ shuài":["率"],"wáng wàng":["王"],"yáng chàng":["玚"],"mín wén":["玟"],"bīn fēn":["玢"],"mén yǔn":["玧"],"qiāng cāng":["玱","瑲","篬"],"án gān":["玵"],"xuán xián":["玹"],"cī cǐ":["玼","跐"],"yí tāi":["珆"],"zǔ jù":["珇"],fà:["珐","琺","蕟","髪","髮"],"yín kèn":["珢"],"huī hún":["珲"],"xuán qióng":["琁"],"fú fū":["琈"],"bǐng pín":["琕"],"cuì sè":["琗"],"yù wéi":["琟"],"tiǎn tiàn":["琠"],"zhuó zuó":["琢"],"běng pěi":["琣"],guǎn:["琯","璭","痯","筦","管","舘","輨","錧","館","馆","鳤"],"hún huī":["琿"],"xié jiē":["瑎"],"chàng dàng yáng":["瑒"],"tiàn zhèn":["瑱"],"bīn pián":["瑸","璸"],"tú shū":["瑹"],cuǐ:["璀","皠","趡"],"zǎo suǒ":["璅"],"jué qióng":["璚"],"lú fū":["璷"],"jì zī":["璾"],suí:["瓍","綏","绥","遀","随","隨","髄"],"mí xǐ":["瓕"],"qióng wěi wèi":["瓗"],"huán yè yà":["瓛"],"bó páo":["瓟"],"zhí hú":["瓡"],piáo:["瓢","闝"],"wǎ wà":["瓦"],"xiáng hóng":["瓨"],wèng:["瓮","甕","罋","蕹","齆"],"shèn shén":["甚"],ruí:["甤","緌","蕤"],yòng:["用","砽","苚","蒏","醟","㶲"],shuǎi:["甩"],béng:["甭","甮"],"yóu zhá":["甴"],"diàn tián shèng":["甸"],"tǐng dīng":["町","甼"],"zāi zī":["甾"],"bì qí":["畁"],"dá fú":["畗"],"cè jì":["畟"],"zāi zī tián":["畠"],"zhì chóu shì":["畤"],"fān pān":["畨","番"],"shē yú":["畬"],"dāng dàng dǎng":["當"],"jiāng qiáng":["疆"],"pǐ yǎ shū":["疋"],"jié qiè":["疌"],"yí nǐ":["疑"],nè:["疒","眲","訥","讷"],"gē yì":["疙"],"nüè yào":["疟","瘧"],"lì lài":["疠","癘"],"yǎ xiā":["疨"],xuē:["疶","蒆","薛","辥","辪","靴","鞾"],"dǎn da":["疸"],"fá biǎn":["疺"],"fèi féi":["疿","痱"],"shān diàn":["痁"],"téng chóng":["痋"],"tōng tóng":["痌"],"wěi yòu yù":["痏"],"tān shǐ":["痑"],"pū pù":["痡","鋪"],"bēng péng":["痭"],"má lìn":["痳"],"tiǎn diàn":["痶"],"ān yè è":["痷"],"kē ē":["痾"],"zhì chì":["瘈"],"jiǎ xiá xiā":["瘕"],"lěi huì":["瘣"],"chài cuó":["瘥"],"diān chēn":["瘨"],"da dá":["瘩"],"biě biē":["瘪"],qué:["瘸"],"dàn dān":["癉"],"guì wēi":["癐"],"nòng nóng":["癑"],"biē biě":["癟"],"bō bǒ":["癷"],bái:["白"],"jí bī":["皀"],"de dì dí dī":["的"],"pā bà":["皅"],"gāo háo":["皋"],"gāo yáo":["皐"],"lì luò bō":["皪"],"zhā cǔ":["皻"],"zhāo zhǎn dǎn":["皽"],"jiān jiàn":["监","監","鋻","间","鞬"],"gài gě hé":["盖"],"máng wàng":["盳"],yuǎn:["盶","逺","遠"],"tián xián":["盷"],"xiāng xiàng":["相"],dǔn:["盹","趸","躉"],"xì pǎn":["盻"],"shěng xǐng":["省"],"yún hùn":["眃"],"miǎn miàn":["眄"],"kàn kān":["看"],"yìng yāng yǎng":["眏"],"yǎo āo ǎo":["眑"],"jū xū kōu":["眗"],"yí chì":["眙"],"dié tì":["眣"],"bǐng fǎng":["眪"],"pàng pán":["眫"],"mī mí":["眯","瞇"],"xuàn shùn xún":["眴"],tiào:["眺","粜","糶","覜","趒"],"zhe zhuó zháo zhāo":["着"],"qiáo shào xiāo":["睄"],"cuó zhuài":["睉"],gùn:["睔","謴"],"suì zuì":["睟"],"pì bì":["睥","稫","辟"],"yì zé gāo":["睪"],"xǐng xìng":["睲"],"guì wèi kuì":["瞆"],"kòu jì":["瞉"],"qióng huán":["瞏"],"mán mén":["瞒","瞞"],"diāo dōu":["瞗"],"lou lóu lǘ":["瞜"],"shùn rún":["瞤"],"liào liǎo":["瞭","钌"],"jiàn xián":["瞯"],"wǔ mí":["瞴"],"guì kuì":["瞶"],"nǐng chēng":["矃"],"huò yuè":["矆"],"mēng méng":["矇"],"kuàng guō":["矌"],"guàn quán":["矔"],"mǎn mán":["矕"],"jīn guān qín":["矜"],"jīn qín guān":["矝"],"yù xù jué":["矞"],"jiǎo jiáo":["矫","矯"],duǎn:["短"],"shí dàn":["石"],"gāng qiāng kòng":["矼"],"huā xū":["砉"],"pīn bīn fēn":["砏"],"yán yàn":["研","硏"],"luǒ kē":["砢"],"fú fèi":["砩","笰"],"zhǔ zhù":["砫"],"lá lì lā":["砬"],"kuāng guāng":["硄"],"gè luò":["硌"],"shuò shí":["硕","碩"],"wèi wéi ái":["硙"],"què kè kù":["硞"],"mǎng bàng":["硥"],"luò lòng":["硦"],"yǒng tóng":["硧"],nüè:["硸","虐"],"kēng kěng":["硻"],"yān yǎn":["硽"],"zhuì chuí duǒ":["硾"],"kōng kòng":["硿"],"zòng cóng":["碂"],"jiān zhàn":["碊"],"lù liù":["碌","陆"],"què xī":["碏"],"lún lǔn lùn":["碖"],"náo gāng":["碙"],"jié yà":["碣"],"wèi wěi":["碨"],"tí dī":["碮"],"chá chā":["碴"],"qiāo què":["碻"],"sù xiè":["碿"],"liú liù":["磂","遛","鎦","馏"],"sī tí":["磃"],"bàng páng":["磅"],"huá kě gū":["磆"],"wěi kuǐ":["磈"],"xiá qià yà":["磍"],"lián qiān":["磏"],"wèi ái gài":["磑"],"lá lā":["磖"],"áo qiāo":["磝"],"pēng pèng":["磞","閛"],"yīn yǐn":["磤"],"lěi léi":["磥"],"mó mò":["磨"],"qì zhú":["磩"],"láo luò":["磱"],"pán bō":["磻"],"jí shé":["磼"],"hé qiāo qiào":["礉"],"kè huò":["礊"],"què hú":["礐"],"è qì":["礘"],cǎ:["礤","礸"],"xián xín":["礥"],"léi lěi lèi":["礧"],"yán yǎn":["礹"],"qí zhǐ":["祇","蚔"],"bēng fāng":["祊"],"bì mì":["祕"],suàn:["祘","笇","筭","算","蒜"],"piào piāo":["票"],"jì zhài":["祭"],"shuì lèi":["祱"],"jìn jīn":["禁"],"chán shàn":["禅"],"yáng shāng":["禓"],"zhī zhǐ tí":["禔"],"shàn chán":["禪"],"yú yù ǒu":["禺"],"zǐ zì":["秄"],"chá ná":["秅"],"zhǒng zhòng chóng":["种"],"hào mào":["秏"],"kù kū":["秙"],zū:["租","葅"],chèng:["秤","穪"],"huó kuò":["秮","秳"],"chēng chèn chèng":["称","稱"],"shì zhì":["秲","銴"],"fù pū":["秿"],"xùn zè":["稄"],"tú shǔ":["稌"],"zhùn zhǔn":["稕"],"jī qí":["稘","綨","觭"],"léng líng":["稜"],"zuì zú sū":["稡"],"xì qiè":["稧","郄"],"zhǒng zhòng":["種"],"zōng zǒng":["稯"],"xián jiān liàn":["稴"],"zī jiū":["稵"],"jī qǐ":["稽"],ròng:["穃"],"shān cǎn cēn":["穇"],"mén méi":["穈"],"jǐ jì":["穖"],"xiāo rào":["穘"],"zhuō bó":["穛"],"tóng zhǒng zhòng":["穜"],zuō:["穝"],"biāo pāo":["穮","藨"],"zhuō jué":["穱"],"cuán zàn":["穳"],"kōng kòng kǒng":["空"],"yū yǔ":["穻"],zhǎi:["窄","鉙"],báo:["窇","雹"],"kū zhú":["窋"],"jiào liáo liù":["窌"],"wā guī":["窐"],"tiǎo yáo":["窕"],"xūn yìn":["窨"],"yà yē":["窫"],"tián diān yǎn":["窴"],"chāo kē":["窼"],"kuǎn cuàn":["窽","窾"],"chù qì":["竐"],"qǔ kǒu":["竘"],"jìng zhěn":["竧"],"kǎn kàn":["竷"],"zhú dǔ":["竺"],"lè jīn":["竻"],"zhuì ruì":["笍"],"háng hàng":["笐"],"cén jìn hán":["笒"],"dā xiá nà":["笚"],"zé zuó":["笮"],"lóng lǒng":["笼","篭","籠","躘","龓"],"zhù zhú":["筑","築"],"dá dā":["答","荅"],shāi:["筛","篩","簁","籭"],"yún jūn":["筠"],"láng làng":["筤","郎","阆"],"zhì zhǐ":["筫"],o:["筽"],"póu bù fú pú":["箁"],"pái bēi":["箄"],gè:["箇","虼","鉻","铬"],"tái chí":["箈"],"guǎi dài":["箉"],"zhào dào":["箌"],"jīng qìng":["箐"],"lín lǐn":["箖"],"jùn qūn":["箘"],"shī yí":["箷","釶"],"yuē yào chuò":["箹"],"xiāo shuò qiào":["箾"],"gōng gǎn lǒng":["篢"],"páng péng":["篣"],"zhuó huò":["篧"],"jiǎn jiān":["篯"],"dí zhú":["篴"],"zān cēn cǎn":["篸"],"zhuàn suǎn zuàn":["篹"],"piǎo biāo":["篻"],"guó guì":["簂"],"cè jí":["簎"],"mì miè":["簚"],"shāi sī":["簛"],"sǔn zhuàn":["簨"],"gàn gǎn":["簳"],"bò bǒ":["簸"],"bó bù":["簿"],shi:["籂"],"zhēn jiān":["籈"],"zhuàn zuǎn":["籑"],"fān pān biān":["籓"],"sǒu shǔ":["籔"],zuǎn:["籫","繤","纂","纉","纘","缵"],nǚ:["籹","釹","钕"],"shā chǎo":["粆"],"kāng jīng":["粇"],fěn:["粉","黺"],cū:["粗","觕","麁","麄","麤"],"nián zhān":["粘"],"cè sè":["粣"],"zhōu yù":["粥"],"shēn sǎn":["糁"],"biān biǎn":["糄","萹"],miàn:["糆","面","靣","麪","麫","麵","麺"],"hú hū hù":["糊"],"gǔ gòu":["糓"],"mí méi":["糜"],"sǎn shēn":["糝","糣"],zāo:["糟","蹧","遭","醩"],"mì sī":["糸"],"jiū jiǔ":["糺"],"xì jì":["系","繫"],"zhēng zhěng":["糽"],"chà chǎ":["紁","衩"],"yuē yāo":["約","约"],"hóng gōng":["紅","红"],"hé gē":["紇","纥"],"wén wèn":["紋","纹"],fóu:["紑"],"jì jié jiè":["紒"],"pī pí bǐ":["紕","纰"],"jīn jìn":["紟"],"zhā zā":["紥","紮"],hā:["紦"],"fū fù":["紨"],"chōu chóu":["紬"],"lèi léi lěi":["累"],"bō bì":["紴"],"tiǎn zhěn":["紾"],"jiōng jiǒng":["絅"],"jié jiē":["結","结","节"],"guà kuā":["絓"],"bǎi mò":["絔"],"gēng huán":["絙"],"jié xié":["絜"],"quán shuān":["絟"],"gǎi ǎi":["絠"],"luò lào":["絡","络"],"bīng bēng pēng":["絣"],"gěi jǐ":["給","给"],"tóng tōng dòng":["絧"],"tiào diào dào":["絩"],"lěi lèi léi":["絫"],"gāi hài":["絯"],"chī zhǐ":["絺"],"wèn miǎn mán wàn":["絻"],"huán huàn wàn":["綄"],"qīn xiān":["綅"],"tì tí":["綈"],"yán xiàn":["綖"],"zōng zèng zòng":["綜"],"chēn lín":["綝"],"zhǔn zhùn":["綧"],"qiàn qīng zhēng":["綪"],"qìng qǐ":["綮"],"lún guān":["綸","纶"],"chuò chāo":["綽","绰"],"tián tǎn chān":["緂"],"lǜ lù":["緑","绿"],"ruǎn ruàn":["緛"],"jí qī":["緝"],"zhòng chóng":["緟","重"],"miáo máo":["緢"],"xiè yè":["緤"],huǎn:["緩","缓","㬊"],"gēng gèng":["緪","縆"],"tōu xū shū":["緰"],"zōng zòng":["緵","繌"],"yùn gǔn":["緷"],"guā wō":["緺"],"yùn yūn wēn":["緼","縕"],"bāng bàng":["縍"],"gǔ hú":["縎","鶻"],"cī cuò suǒ":["縒"],"cuī shuāi":["縗"],"róng rǒng ròng":["縙"],"zài zēng":["縡"],cài:["縩","菜","蔡"],"féng fèng":["縫"],"suō sù":["縮","缩"],"yǎn yǐn":["縯","酓"],"zòng zǒng":["縱","纵"],"zhuàn juàn":["縳"],"mò mù":["縸","莫"],"piǎo piāo":["縹","缥"],"fán pó":["繁"],"bēng bèng":["繃"],"móu miù miào liǎo":["繆"],"yáo yóu zhòu":["繇"],"zēng zèng":["繒","缯"],"jú jué":["繘"],"chuō chuò":["繛"],"zūn zǔn":["繜"],rào:["繞","绕","遶"],"chǎn chán":["繟"],"huì huí":["繢","缋","藱"],"qiāo sāo zǎo":["繰"],"jiǎo zhuó":["繳","缴"],"dàn tán chán":["繵"],nǒng:["繷"],"pú fú":["纀"],"yào lì":["纅"],"rǎng xiāng":["纕"],"lí sǎ xǐ lǐ":["纚"],"xiān qiàn":["纤"],"jīng jìng":["经"],"tí tì":["绨"],"bēng běng bèng":["绷"],"zōng zèng":["综"],"jī qī":["缉"],"wēn yùn yūn":["缊"],"fèng féng":["缝"],"shuāi cuī suī":["缞"],"miù móu liáo miào mù":["缪"],"qiāo sāo":["缲"],fǒu:["缶","缹","缻","雬","鴀"],"bà ba pí":["罢","罷"],"guà guǎi":["罫"],"yáng xiáng":["羊","羏"],"měi gāo":["羙"],"yì xī":["羛"],"qiǎng qiān":["羟"],"qiāng kòng":["羫"],"qián xián yán":["羬"],nóu:["羺"],"hóng gòng":["羾"],"pī bì pō":["翍"],"qú yù":["翑"],ké:["翗"],"qiào qiáo":["翘"],"zhái dí":["翟"],"dào zhōu":["翢"],"hóu qú":["翵"],shuǎ:["耍"],"ruǎn nuò":["耎"],"ér nài":["耏"],"zhuān duān":["耑"],"pá bà":["耙"],"chí sì":["耛"],"qù chú":["耝"],"lún lǔn":["耣"],"jí jiè":["耤"],"tāng tǎng":["耥"],pǎng:["耪","覫"],"zhá zé":["耫"],"yē yé":["耶"],"yún yíng":["耺"],"wà tuǐ zhuó":["聉"],"ér nǜ":["聏"],"tiē zhé":["聑"],"dǐ zhì":["聜"],qié:["聺"],"nǐ jiàn":["聻"],"lèi lē":["肋"],cào:["肏","襙","鄵","鼜"],"bó dí":["肑"],"xiào xiāo":["肖"],"dù dǔ":["肚"],chāi:["肞","釵","钗"],"hán qín hàn":["肣"],"pàng pán pàn":["肨","胖"],"zhūn chún":["肫"],āng:["肮","骯"],"yù yō":["育"],"pí bǐ bì":["肶"],"fèi bì":["胇"],"bèi bēi":["背"],"fèi zǐ":["胏"],"píng pēng":["胓","苹"],"fū fú zhǒu":["胕"],"shèng shēng":["胜"],kuà:["胯","跨","骻"],"gǎi hǎi":["胲"],"gē gé gā":["胳"],"néng nài":["能"],"guī kuì":["胿"],"mài mò":["脉"],"zāng zàng":["脏"],"jiǎo jué":["脚","角"],cuǒ:["脞"],"de te":["脦"],"zuī juān":["脧"],něi:["脮","腇","餒","馁","鮾","鯘"],"pú fǔ":["脯"],niào:["脲"],shuí:["脽"],guò:["腂","過","鐹"],"là xī":["腊"],"yān ā":["腌"],"gāo gào":["膏"],"lù biāo":["膔"],chuái:["膗"],"zhuān chuán chún zhuǎn":["膞"],chuài:["膪","踹"],"fán pán":["膰"],"wǔ hū":["膴"],"shān dàn":["膻"],tún:["臀","臋","蛌","豘","豚","軘","霕","飩","饨","魨","鲀","黗"],"bì bei":["臂"],"là gé":["臈"],"sào sāo":["臊"],nào:["臑","閙","闹","鬧"],"ní luán":["臡"],"qiān xián":["臤"],"guàng jiǒng":["臦"],"guǎng jiǒng":["臩"],"chòu xiù":["臭"],"mián biān":["臱"],"dié zhí":["臷"],"zhī jìn":["臸"],"shè shě":["舍"],pù:["舖","舗"],"bān bō pán":["般"],kuā:["舿"],"gèn gěn":["艮"],"sè shǎi":["色"],"fú bó":["艴"],"jiāo qiú":["艽"],"chāi chā":["芆"],"sháo què":["芍"],"hù xià":["芐"],"zì zǐ":["芓"],"huì hū":["芔"],"tún chūn":["芚"],"jiè gài":["芥"],"xù zhù":["芧"],"yuán yán":["芫"],"xīn xìn":["芯"],"lún huā":["芲"],"wù hū":["芴"],"gōu gǒu":["芶"],"mào máo":["芼"],"fèi fú":["芾"],"chán yín":["苂"],qiē:["苆"],"sū sù":["苏"],"tiáo sháo":["苕"],"lì jī":["苙"],"kē hē":["苛"],"jù qǔ":["苣"],"ruò rě":["若"],"zhù níng":["苧"],"pā bó":["苩"],xiú:["苬"],"zhǎ zuó":["苲"],"jū chá":["苴"],nié:["苶"],"shēng ruí":["苼"],"qié jiā":["茄"],"zǐ cí":["茈"],"qiàn xī":["茜"],chǎi:["茝"],"fá pèi":["茷"],ráo:["荛","蕘","襓","饒","饶"],"yíng xíng":["荥"],"qián xún":["荨","蕁"],"yìn yīn":["荫"],"hé hè":["荷"],"shā suō":["莎"],"péng fēng":["莑"],"shēn xīn":["莘"],"wǎn guān guǎn":["莞"],"yóu sù":["莤"],"shāo xiāo":["莦","蛸"],"làng liáng":["莨"],"piǎo fú":["莩"],"wèn wǎn miǎn":["莬"],"shì shí":["莳","蒔"],"tù tú":["莵"],"xiān liǎn":["莶","薟"],"wǎn yù":["菀"],"zōu chù":["菆"],"lù lǜ":["菉"],"jūn jùn":["菌"],"niè rěn":["菍"],"zī zì zāi":["菑"],"tú tù":["菟"],"jiē shà":["菨"],"qiáo zhǎo":["菬"],"tái zhī chí":["菭"],"fēi fěi":["菲","蜚"],"qín qīn jīn":["菳"],"zū jù":["菹","蒩"],"lǐn má":["菻"],"tián tiàn":["菾"],tiē:["萜","貼","贴"],"luò là lào luō":["落"],"zhù zhuó zhe":["著"],"shèn rèn":["葚"],"gě gé":["葛"],"jùn suǒ":["葰"],"kuì kuài":["蒉"],"rú ná":["蒘"],"méng mēng měng":["蒙"],"yuán huán":["蒝"],"xú shú":["蒣"],"xí xì":["蒵"],"mì míng":["蓂"],"sōu sǒu":["蓃"],"gài gě hé hài":["蓋"],"yǎo zhuó":["蓔"],"diào tiáo dí":["蓧"],"xū qiū fū":["蓲"],"zí jú":["蓻"],"liǎo lù":["蓼"],xu:["蓿"],"hàn hǎn":["蔊"],"màn wàn mán":["蔓"],"pó bò":["蔢"],"fān fán bō":["蕃"],"hóng hòng":["蕻"],"yù ào":["薁","隩"],"xí xiào":["薂"],"báo bó bò":["薄"],"cí zī":["薋"],"wàn luàn":["薍"],"kǎo hāo":["薧"],"yuǎn wěi":["薳"],"zhòu chóu":["薵"],"wō mái":["薶"],"xiāo hào":["藃"],"yù xù xū":["藇"],"jiè jí":["藉"],"diào zhuó":["藋"],"cáng zàng":["藏"],lǎ:["藞"],"chú zhū":["藸"],"pín píng":["蘋"],"gān hán":["虷"],"hóng jiàng":["虹"],"huī huǐ":["虺"],"xiā há":["虾"],"mǎ mà mā":["蚂"],"fāng bàng":["蚄"],"bàng bèng":["蚌"],"jué quē":["蚗"],"qín qián":["蚙"],"gōng zhōng":["蚣"],"fǔ fù":["蚥"],"dài dé":["蚮"],"gǒu qú xù":["蚼"],"bǒ pí":["蚾"],"shé yí":["蛇"],tiě:["蛈","鉄","銕","鐡","鐵","铁","驖"],"gé luò":["蛒"],"máng bàng":["蛖"],"yì xǔ":["蛡"],"há gé":["蛤"],"qiè ní":["蛪"],"é yǐ":["蛾"],"zhē zhé":["蜇"],"là zhà":["蜡"],suò:["蜶","逤"],"yóu qiú":["蝤"],"xiā hā":["蝦"],"xī qī":["螇"],"bī pí":["螕"],"nài něng":["螚"],"hé xiá":["螛"],"guì huǐ":["螝"],"mǎ mā mà":["螞"],"shì zhē":["螫"],"zhì dié":["螲"],"jiàn chán":["螹"],"ma má mò":["蟆"],"mǎng měng":["蟒"],"biē bié":["蟞"],"bēn fèi":["蟦"],"láo liáo":["蟧"],"yín xún":["蟫"],"lí lǐ":["蠡"],"xuè xiě":["血"],"xíng háng hàng héng":["行"],"shuāi cuī":["衰"],"tuó tuō":["袉"],"lǐng líng":["袊"],"bào páo pào":["袌"],"jù jiē":["袓"],"hè kè":["袔"],"yí yì":["袘","貤"],"nà jué":["袦"],"bèi pī":["被"],"chǐ nuǒ":["袲"],"chǐ qǐ duǒ nuǒ":["袳"],"jiá qiā jié":["袷"],"bó mò":["袹"],"guī guà":["袿"],"liè liě":["裂"],"chéng chěng":["裎"],"jiē gé":["裓"],"dāo chóu":["裯"],"shang cháng":["裳"],"yuān gǔn":["裷"],"yǎn ān":["裺"],"tì xī":["裼"],"fù fú":["褔"],"chǔ zhǔ":["褚"],"tuì tùn":["褪"],lǎi:["襰"],"yào yāo":["要"],"qín tán":["覃"],"jiàn xiàn":["見","见"],piǎn:["覑","諞","谝","貵","𡎚"],"piē miè":["覕"],"yíng yǐng":["覮"],"qù qū":["覰","覷","觑"],"jiàn biǎn":["覵"],"luó luǎn":["覶"],"zī zuǐ":["觜"],"huà xiè":["觟"],"jiě jiè xiè":["解","觧"],"xué hù":["觷"],"lì lù":["觻"],tǎo:["討","讨"],zhùn:["訰"],"zī zǐ":["訾"],"yí dài":["詒","诒"],xiòng:["詗","诇"],"diào tiǎo":["誂"],"yí chǐ chì":["誃"],"lǎng làng":["誏"],"ēi éi ěi èi xī":["誒","诶"],shuà:["誜"],"yǔ yù":["語","语","雨"],"shuō shuì yuè":["說","说"],"shuí shéi":["誰","谁"],"qū juè":["誳"],"chī lài":["誺"],"nì ná":["誽"],"diào tiáo":["調"],"pǐ bēi":["諀"],"jì jī":["諅"],"zé zuò zhǎ cuò":["諎"],"chù jí":["諔"],"háo xià":["諕"],"lùn lún":["論","论"],"shì dì":["諟"],"huà guā":["諣"],"xǐ shāi āi":["諰"],"nán nàn":["諵","難"],miù:["謬","谬"],zèn:["譖","谮"],"shí zhì":["識","识"],"juàn xuān":["讂"],"yí tuī":["讉"],zhán:["讝"],"xǔ hǔ":["许"],"xiáng yáng":["详"],"tiáo diào zhōu":["调"],"chén shèn":["谌"],"mí mèi":["谜"],"màn mán":["谩"],"gǔ yù":["谷"],"huō huò huá":["豁"],"zhì zhài":["豸"],"huān huán":["貆"],"kěn kūn":["貇"],"mò hé":["貈"],"mò hé háo":["貉"],"jù lóu":["貗"],"zé zhài":["責","责"],"dài tè":["貸"],"bì bēn":["賁"],"jiǎ gǔ jià":["賈"],"xiōng mín":["賯"],càng:["賶"],"zhuàn zuàn":["賺","赚"],"wàn zhuàn":["贃"],"gàn gòng zhuàng":["贛"],"yuán yùn":["贠"],"bēn bì":["贲"],"jiǎ gǔ":["贾"],zǒu:["走","赱","鯐"],"dié tú":["趃"],"jū qiè":["趄"],"qū cù":["趋","趨"],"jí jié":["趌"],"guā huó":["趏"],"què qì jí":["趞"],"tàng tāng":["趟"],"chuō zhuó":["趠"],"qù cù":["趣"],"yuè tì":["趯"],"bō bào":["趵"],"kuà wù":["趶"],"guì jué":["趹"],"fāng fàng páng":["趽"],"páo bà":["跁"],"qí qǐ":["跂"],"jiàn chén":["跈"],"pǎo páo":["跑"],"diǎn diē tiē":["跕"],"jū jù qiè":["跙"],bǒ:["跛"],"luò lì":["跞"],"dài duò duō chí":["跢"],zhuǎi:["跩"],"bèng pián":["跰"],"tiào táo":["跳"],"shū chōu":["跾"],"liàng liáng":["踉"],"tà tā":["踏"],chǎ:["蹅","鑔","镲"],"dí zhí":["蹢"],"dēng dèng":["蹬","鐙","镫"],cèng:["蹭"],"dūn cún":["蹲"],"juě jué":["蹶"],liāo:["蹽"],"xiè sǎ":["躠"],tǐ:["躰","軆","骵"],"yà zhá gá":["轧","軋"],"xìn xiàn":["軐"],"fàn guǐ":["軓"],"zhuàn zhuǎn":["転"],"zhóu zhòu":["軸","轴"],bú:["轐","醭","鳪"],"zhuǎn zhuàn zhuǎi":["转"],"zǎi zài":["载"],"niǎn zhǎn":["辗"],"biān bian":["边"],"dào biān":["辺"],"yǐ yí":["迆","迤","迱"],"guò guo guō":["过"],"wàng kuāng":["迋"],"hái huán":["还"],"zhè zhèi":["这"],"yuǎn yuàn":["远"],"zhì lì":["迣"],"zhù wǎng":["迬"],"zhuī duī":["追"],"shì kuò":["适"],tòu:["透"],"tōng tòng":["通"],guàng:["逛"],"dǎi dài":["逮"],"suì suí":["遂"],"tí dì":["遆"],"yí wèi":["遗"],"shì dí zhé":["適"],cà:["遪"],"huán hái":["還"],"lí chí":["邌"],"kàng háng":["邟"],"nà nèi nā":["那"],"xié yá yé yú xú":["邪"],"gāi hái":["郂"],"huán xún":["郇"],"chī xī":["郗"],hǎo:["郝"],"lì zhí":["郦"],"xiáo ǎo":["郩"],"dōu dū":["都"],liǎo:["曢","鄝","镽"],"zàn cuán cuó":["酂","酇"],"dīng dǐng":["酊"],"cù zuò":["酢"],"fā pō":["酦"],"shāi shī":["酾"],niàng:["酿","醸"],"qiú chōu":["醔"],"pō fā":["醗","醱"],"chǎn chěn":["醦"],"yàn liǎn xiān":["醶"],"niàng niáng":["釀"],"lǐ li":["里"],"lí xǐ xī":["釐"],"liǎo liào":["釕"],"dīng dìng":["釘","钉"],"qiǎo jiǎo":["釥"],"yú huá":["釪"],"huá wū":["釫"],"rì rèn jiàn":["釰","釼"],"dì dài":["釱"],"pī zhāo":["釽"],"yá yé":["釾"],"bǎ pá":["鈀","钯"],"tā tuó":["鉈","铊"],běi:["鉳"],"bǐng píng":["鉼"],"hā kē":["鉿","铪"],chòng:["銃","铳"],"xiǎng jiōng":["銄"],"yù sì":["銉"],"xù huì":["銊"],"rén rěn":["銋"],"shàn shuò":["銏"],"chì lì":["銐"],"xiǎn xǐ":["銑","铣"],"hóu xiàng":["銗"],"diào tiáo yáo":["銚"],"xiān kuò tiǎn guā":["銛","銽","铦"],"zhé niè":["銸"],"zhōng yōng":["銿"],"tōu tù dòu":["鋀"],"méi méng":["鋂"],"wàn jiǎn":["鋄","鎫"],"tǐng dìng":["鋌","铤"],"juān jiān cuān":["鋑"],"sī tuó":["鋖"],"juān xuān juàn":["鋗"],"wú huá wū":["鋘"],"zhuó chuò":["鋜"],"xíng xìng jīng":["鋞"],"jū jú":["鋦","锔"],"zuì niè":["鋷"],"yuān yuǎn wǎn wān":["鋺"],"gāng gàng":["鋼","钢"],zhuī:["錐","锥","騅","骓","鵻"],ā:["錒","锕"],"cuō chā":["鎈"],"suǒ sè":["鎍"],"yáo zú":["鎐"],"yè tà gé":["鎑"],"qiāng chēng":["鎗"],"gé lì":["鎘","镉","鬲"],"bī pī bì":["鎞"],"gǎo hào":["鎬"],"zú chuò":["鏃"],"xiū xiù":["鏅"],"shòu sōu":["鏉"],"dí dī":["鏑","镝"],"qiāo sǎn càn":["鏒"],"lù áo":["鏕"],"tāng táng":["鏜"],"jiàn zàn":["鏩"],"huì suì ruì":["鏸"],"qiǎng qiāng":["鏹","镪"],"sǎn xiàn sà":["鏾"],"jiǎn jiàn":["鐧","锏"],"dāng chēng":["鐺","铛"],"zuān zuàn":["鑽"],"sà xì":["钑"],"yào yuè":["钥"],"tǒu dǒu":["钭"],"zuàn zuān":["钻"],"qiān yán":["铅"],"pí pī":["铍"],"yáo diào tiáo":["铫"],"tāng tàng":["铴"],"pù pū":["铺"],"tán xiān":["锬"],"liù liú":["镏"],"hào gǎo":["镐"],"táng tāng":["镗"],"tán chán xín":["镡"],"huò shǎn":["閄"],"hàn bì":["閈","闬"],"kāng kàng":["閌","闶"],"xián jiàn jiān jiǎn":["閒"],"xiā xiǎ":["閕"],"xiǎ kě":["閜"],"biàn guān":["閞"],"hé gé":["閤","颌"],"hòng xiàng":["閧"],"sē xī":["閪"],"tíng tǐng":["閮"],"è yān":["閼","阏"],"hòng juǎn xiàng":["闂"],"bǎn pàn":["闆"],"dū shé":["闍","阇"],"què quē":["闕"],"tāng táng chāng":["闛"],"kàn hǎn":["闞","阚"],"xì sè tà":["闟"],"mēn mèn":["闷"],"quē què":["阙"],"yán diàn":["阽"],"ā ē":["阿"],"bēi pō pí":["陂"],"yàn yǎn":["隁"],"yú yáo shù":["隃"],"lóng lōng":["隆"],"duì zhuì":["隊"],"suí duò":["隋"],"gāi qí ái":["隑"],"huī duò":["隓","隳"],"wěi kuí":["隗"],"lì dài":["隸"],"zhuī cuī wéi":["隹"],"hè hú":["隺","鶮"],"jùn juàn":["隽","雋"],"nán nàn nuó":["难"],"què qiāo qiǎo":["雀"],"guàn huán":["雚"],"guī xī":["雟"],"sè xí":["雭"],án:["雸"],"wù méng":["雺"],tèng:["霯"],"lù lòu":["露"],mái:["霾"],"jìng liàng":["靚"],"gé jí":["革"],bǎ:["靶"],"yāng yàng":["鞅"],"gé tà sǎ":["鞈"],"biān yìng":["鞕"],"qiào shāo":["鞘"],"juān xuān":["鞙"],"shàng zhǎng":["鞝"],"pí bǐng bì bēi":["鞞"],la:["鞡"],"xiè dié":["鞢"],ēng:["鞥"],"móu mù":["鞪"],"bì bǐng":["鞸"],"mèi wà":["韎"],rǒu:["韖"],"shè xiè":["韘"],"yùn wēn":["韫"],"dùn dú":["頓","顿"],duǐ:["頧"],luō:["頱"],"bīn pín":["頻"],yóng:["顒","颙","鰫"],mān:["顢","颟"],"jǐng gěng":["颈"],"jié xié jiá":["颉"],"kē ké":["颏"],"pín bīn":["频"],"chàn zhàn":["颤"],"fēng fěng":["風","风"],"biāo diū":["颩"],"bá fú":["颰"],"sāo sōu":["颾"],"liù liáo":["飂"],"shí sì yì":["食"],"yǎng juàn":["飬"],"zhù tǒu":["飳"],"yí sì":["飴"],"zuò zé zhā":["飵"],tiè:["飻","餮"],"xiǎng náng":["饟"],"táng xíng":["饧"],"gē le":["饹"],"chā zha":["馇"],"náng nǎng":["馕"],"yūn wò":["馧"],"zhī shì":["馶"],"xìn jìn":["馸"],"kuài jué":["駃"],zǎng:["駔","驵"],"tái dài":["駘"],"xún xuān":["駨"],"liáng láng":["駺"],piàn:["騗","騙","骗","魸"],"dài tái":["骀"],"sāo sǎo":["骚"],"gǔ gū":["骨"],"bèi mó":["骳"],"xiāo qiāo":["骹"],"bǎng pǎng":["髈"],"bó jué":["髉"],"bì pǒ":["髲"],"máo méng":["髳"],"kuò yuè":["髺"],"bā bà":["魞","鲃"],"jì cǐ":["鮆"],"bó bà":["鮊"],"zhǎ zhà":["鮓","鲊"],"chóu dài":["鮘"],"luò gé":["鮥"],"guī xié wā kuí":["鮭"],"xiān xiǎn":["鮮","鲜"],"pū bū":["鯆"],"yì sī":["鯣"],"bà bó":["鲌"],"guī xié":["鲑"],"sāi xǐ":["鳃"],"niǎo diǎo":["鳥"],"diāo zhāo":["鳭"],"gān hàn yàn":["鳱"],"fū guī":["鳺"],"jiān qiān zhān":["鳽"],"hé jiè":["鶡"],"piān biǎn":["鶣"],"chuàn zhì":["鶨"],"cāng qiāng":["鶬"],"sǔn xùn":["鶽"],"biāo páo":["麃"],"zhù cū":["麆"],"jūn qún":["麇","麕"],chi:["麶"],"mó me":["麼"],"mó me ma":["麽"],"mí mǒ":["麿"],"dàn shèn":["黮"],"zhěn yān":["黰"],"dǎn zhǎn":["黵"],"miǎn mǐn měng":["黾"],hōu:["齁"],nàng:["齉"],"qí jì zī zhāi":["齐"],"yín kěn yǎn":["龂"],"yín kěn":["龈"],"gōng wò":["龏"],"guī jūn qiū":["龜","龟"],"kuí wā":["䖯"],lōu:["䁖"],"ōu qū":["𫭟"],"lóu lǘ":["𦝼"],"gǎ gā gá":["嘎"],"wā guà":["坬"],"zhǐ dǐ":["茋"],"gǒng hóng":["硔"],"yáo xiào":["滧"]},nn=new ki;Object.keys(gi).forEach(n=>{const i=gi[n];for(let g of i)nn.set(g,n)});const wh=["zh","ch","sh","z","c","s","b","p","m","f","d","t","n","l","g","k","h","j","q","x","r","y","w",""],qh=["j","q","x"],ph=["uān","uán","uǎn","uàn","uan","uē","ué","uě","uè","ue","ūn","ún","ǔn","ùn","un","ū","ú","ǔ","ù","u"],vh={uān:"üān",uán:"üán",uǎn:"üǎn",uàn:"üàn",uan:"üan",uē:"üē",ué:"üé",uě:"üě",uè:"üè",ue:"üe",ūn:"ǖn",ún:"ǘn",ǔn:"ǚn",ùn:"ǜn",un:"ün",ū:"ǖ",ú:"ǘ",ǔ:"ǚ",ù:"ǜ",u:"ü"},kh=["ia","ian","iang","iao","ie","iu","iong","ua","uai","uan","uang","ue","ui","uo","üan","üe","van","ve"],hi={一:"yì",二:"èr",三:"sān",四:"sì",五:"wǔ",六:"liù",七:"qī",八:"bā",九:"jiǔ",十:"shí",百:"bǎi",千:"qiān",万:"wàn",亿:"yì",单:"dān",两:"liǎng",双:"shuāng",多:"duō",几:"jǐ",十一:"shí yī",零一:"líng yī",第一:"dì yī",一十:"yī shí",一十一:"yī shí yī"},ui={重:"chóng",行:"háng",斗:"dǒu",更:"gēng"};function Th(){const n={零一:"líng yī","〇一":"líng yī",十一:"shí yī",一十:"yī shí",第一:"dì yī",一十一:"yī shí yī"};for(let i in hi)for(let g in ui){const h=`${i}${g}`,u=`${hi[i]} ${ui[g]}`;n[h]=u}return n}const ei=Th(),Sh=Object.keys(ei).map(n=>({zh:n,pinyin:ei[n],probability:1e-12,length:W(n),priority:Z.Normal,dict:Symbol("rule")})),Ti={不:{bú:[4]},一:{yí:[4],yì:[1,2,3]}},Ph={不:["的","而","之","后","也","还","地"],一:["的","而","之","后","也","还","是"]},Ch=Object.keys(Ti);function Dh(n,i,g){if(Ch.indexOf(n)===-1)return an(n);if(i===g&&i&&an(i)!==i)return Sn(an(n));if(g&&!Ph[n].includes(g)){const h=an(g);if(h!==g){const u=Pn(h),e=Ti[n];for(let o in e)if(e[o].indexOf(Number(u))!==-1)return o}}}function Ih(n,i){if(n==="了"&&(!i||!nn.get(i)))return"liǎo"}function Vh(n,i){if(n==="々")return!i||!nn.get(i)?"tóng":nn.get(i).split(" ")[0]}function si(n,i,g){return Vh(n,i)||Ih(n,i)||Dh(n,i,g)||an(n)}const Rn={南宫:"nán gōng",第五:"dì wǔ",万俟:"mò qí",司马:"sī mǎ",上官:"shàng guān",欧阳:"ōu yáng",夏侯:"xià hóu",诸葛:"zhū gě",闻人:"wén rén",东方:"dōng fāng",赫连:"hè lián",皇甫:"huáng fǔ",尉迟:"yù chí",公羊:"gōng yáng",澹台:"tán tái",公冶:"gōng yě",宗政:"zōng zhèng",濮阳:"pú yáng",淳于:"chún yú",太叔:"tài shū",申屠:"shēn tú",公孙:"gōng sūn",仲孙:"zhòng sūn",轩辕:"xuān yuán",令狐:"líng hú",钟离:"zhōng lí",宇文:"yǔ wén",长孙:"zhǎng sūn",慕容:"mù róng",鲜于:"xiān yú",闾丘:"lǘ qiū",司徒:"sī tú",司空:"sī kōng",亓官:"qí guān",司寇:"sī kòu",仉督:"zhǎng dū",子车:"zǐ jū",颛孙:"zhuān sūn",端木:"duān mù",巫马:"wū mǎ",公西:"gōng xī",漆雕:"qī diāo",乐正:"yuè zhèng",壤驷:"rǎng sì",公良:"gōng liáng",拓跋:"tuò bá",夹谷:"jiá gǔ",宰父:"zǎi fǔ",榖梁:"gǔ liáng",段干:"duàn gān",百里:"bǎi lǐ",东郭:"dōng guō",南门:"nán mén",呼延:"hū yán",羊舌:"yáng shé",梁丘:"liáng qiū",左丘:"zuǒ qiū",东门:"dōng mén",西门:"xī mén",句龙:"gōu lóng",毌丘:"guàn qiū",赵:"zhào",钱:"qián",孙:"sūn",李:"lǐ",周:"zhōu",吴:"wú",郑:"zhèng",王:"wáng",冯:"féng",陈:"chén",褚:"chǔ",卫:"wèi",蒋:"jiǎng",沈:"shěn",韩:"hán",杨:"yáng",朱:"zhū",秦:"qín",尤:"yóu",许:"xǔ",何:"hé",吕:"lǚ",施:"shī",张:"zhāng",孔:"kǒng",曹:"cáo",严:"yán",华:"huà",金:"jīn",魏:"wèi",陶:"táo",姜:"jiāng",戚:"qī",谢:"xiè",邹:"zōu",喻:"yù",柏:"bǎi",水:"shuǐ",窦:"dòu",章:"zhāng",云:"yún",苏:"sū",潘:"pān",葛:"gě",奚:"xī",范:"fàn",彭:"péng",郎:"láng",鲁:"lǔ",韦:"wéi",昌:"chāng",马:"mǎ",苗:"miáo",凤:"fèng",花:"huā",方:"fāng",俞:"yú",任:"rén",袁:"yuán",柳:"liǔ",酆:"fēng",鲍:"bào",史:"shǐ",唐:"táng",费:"fèi",廉:"lián",岑:"cén",薛:"xuē",雷:"léi",贺:"hè",倪:"ní",汤:"tāng",滕:"téng",殷:"yīn",罗:"luó",毕:"bì",郝:"hǎo",邬:"wū",安:"ān",常:"cháng",乐:"yuè",于:"yú",时:"shí",傅:"fù",皮:"pí",卞:"biàn",齐:"qí",康:"kāng",伍:"wǔ",余:"yú",元:"yuán",卜:"bǔ",顾:"gù",孟:"mèng",平:"píng",黄:"huáng",和:"hé",穆:"mù",萧:"xiāo",尹:"yǐn",姚:"yáo",邵:"shào",湛:"zhàn",汪:"wāng",祁:"qí",毛:"máo",禹:"yǔ",狄:"dí",米:"mǐ",贝:"bèi",明:"míng",臧:"zāng",计:"jì",伏:"fú",成:"chéng",戴:"dài",谈:"tán",宋:"sòng",茅:"máo",庞:"páng",熊:"xióng",纪:"jǐ",舒:"shū",屈:"qū",项:"xiàng",祝:"zhù",董:"dǒng",梁:"liáng",杜:"dù",阮:"ruǎn",蓝:"lán",闵:"mǐn",席:"xí",季:"jì",麻:"má",强:"qiáng",贾:"jiǎ",路:"lù",娄:"lóu",危:"wēi",江:"jiāng",童:"tóng",颜:"yán",郭:"guō",梅:"méi",盛:"shèng",林:"lín",刁:"diāo",钟:"zhōng",徐:"xú",邱:"qiū",骆:"luò",高:"gāo",夏:"xià",蔡:"cài",田:"tián",樊:"fán",胡:"hú",凌:"líng",霍:"huò",虞:"yú",万:"wàn",支:"zhī",柯:"kē",昝:"zǎn",管:"guǎn",卢:"lú",莫:"mò",经:"jīng",房:"fáng",裘:"qiú",缪:"miào",干:"gān",解:"xiè",应:"yīng",宗:"zōng",丁:"dīng",宣:"xuān",贲:"bēn",邓:"dèng",郁:"yù",单:"shàn",杭:"háng",洪:"hóng",包:"bāo",诸:"zhū",左:"zuǒ",石:"shí",崔:"cuī",吉:"jí",钮:"niǔ",龚:"gōng",程:"chéng",嵇:"jī",邢:"xíng",滑:"huá",裴:"péi",陆:"lù",荣:"róng",翁:"wēng",荀:"xún",羊:"yáng",於:"yū",惠:"huì",甄:"zhēn",曲:"qū",家:"jiā",封:"fēng",芮:"ruì",羿:"yì",储:"chǔ",靳:"jìn",汲:"jí",邴:"bǐng",糜:"mí",松:"sōng",井:"jǐng",段:"duàn",富:"fù",巫:"wū",乌:"wū",焦:"jiāo",巴:"bā",弓:"gōng",牧:"mù",隗:"wěi",山:"shān",谷:"gǔ",车:"chē",侯:"hóu",宓:"mì",蓬:"péng",全:"quán",郗:"xī",班:"bān",仰:"yǎng",秋:"qiū",仲:"zhòng",伊:"yī",宫:"gōng",宁:"nìng",仇:"qiú",栾:"luán",暴:"bào",甘:"gān",钭:"tǒu",厉:"lì",戎:"róng",祖:"zǔ",武:"wǔ",符:"fú",刘:"liú",景:"jǐng",詹:"zhān",束:"shù",龙:"lóng",叶:"yè",幸:"xìng",司:"sī",韶:"sháo",郜:"gào",黎:"lí",蓟:"jì",薄:"bó",印:"yìn",宿:"sù",白:"bái",怀:"huái",蒲:"pú",邰:"tái",从:"cóng",鄂:"è",索:"suǒ",咸:"xián",籍:"jí",赖:"lài",卓:"zhuó",蔺:"lìn",屠:"tú",蒙:"méng",池:"chí",乔:"qiáo",阴:"yīn",鬱:"yù",胥:"xū",能:"nài",苍:"cāng",双:"shuāng",闻:"wén",莘:"shēn",党:"dǎng",翟:"zhái",谭:"tán",贡:"gòng",劳:"láo",逄:"páng",姬:"jī",申:"shēn",扶:"fú",堵:"dǔ",冉:"rǎn",宰:"zǎi",郦:"lì",雍:"yōng",郤:"xì",璩:"qú",桑:"sāng",桂:"guì",濮:"pú",牛:"niú",寿:"shòu",通:"tōng",边:"biān",扈:"hù",燕:"yān",冀:"jì",郏:"jiá",浦:"pǔ",尚:"shàng",农:"nóng",温:"wēn",别:"bié",庄:"zhuāng",晏:"yàn",柴:"chái",瞿:"qú",阎:"yán",充:"chōng",慕:"mù",连:"lián",茹:"rú",习:"xí",宦:"huàn",艾:"ài",鱼:"yú",容:"róng",向:"xiàng",古:"gǔ",易:"yì",慎:"shèn",戈:"gē",廖:"liào",庾:"yǔ",终:"zhōng",暨:"jì",居:"jū",衡:"héng",步:"bù",都:"dū",耿:"gěng",满:"mǎn",弘:"hóng",匡:"kuāng",国:"guó",文:"wén",寇:"kòu",广:"guǎng",禄:"lù",阙:"quē",东:"dōng",欧:"ōu",殳:"shū",沃:"wò",利:"lì",蔚:"wèi",越:"yuè",夔:"kuí",隆:"lóng",师:"shī",巩:"gǒng",厍:"shè",聂:"niè",晁:"cháo",勾:"gōu",敖:"áo",融:"róng",冷:"lěng",訾:"zī",辛:"xīn",阚:"kàn",那:"nā",简:"jiǎn",饶:"ráo",空:"kōng",曾:"zēng",母:"mǔ",沙:"shā",乜:"niè",养:"yǎng",鞠:"jū",须:"xū",丰:"fēng",巢:"cháo",关:"guān",蒯:"kuǎi",相:"xiàng",查:"zhā",后:"hòu",荆:"jīng",红:"hóng",游:"yóu",竺:"zhú",权:"quán",逯:"lù",盖:"gě",益:"yì",桓:"huán",公:"gōng",牟:"móu",哈:"hǎ",言:"yán",福:"fú",肖:"xiāo",区:"ōu",覃:"qín",朴:"piáo",繁:"pó",员:"yùn",句:"gōu",要:"yāo",过:"guō",钻:"zuān",谌:"chén",折:"shé",召:"shào",郄:"qiè",撒:"sǎ",甯:"nìng",六:"lù",啜:"chuài",行:"xíng"},Mh=Object.keys(Rn).map(n=>({zh:n,pinyin:Rn[n],probability:1+W(n),length:W(n),priority:Z.Surname,dict:Symbol("surname")})),oi={这个:"zhè ge",成为:"chéng wéi",认为:"rèn wéi",作为:"zuò wéi",部分:"bù fen",要求:"yāo qiú",应该:"yīng gāi",增长:"zēng zhǎng",提供:"tí gōng",觉得:"jué de",任务:"rèn wu",那个:"nà ge",称为:"chēng wéi",为主:"wéi zhǔ",了解:"liǎo jiě",处理:"chǔ lǐ",皇上:"huáng shang",只要:"zhǐ yào",大量:"dà liàng",力量:"lì liàng",几乎:"jī hū",干部:"gàn bù",目的:"mù dì",行为:"xíng wéi",只见:"zhǐ jiàn",认识:"rèn shi",市长:"shì zhǎng",师父:"shī fu",调查:"diào chá",重新:"chóng xīn",分为:"fēn wéi",知识:"zhī shi",导弹:"dǎo dàn",质量:"zhì liàng",行款:"háng kuǎn",行列:"háng liè",行话:"háng huà",行业:"háng yè",隔行:"gé háng",在行:"zài háng",行家:"háng jia",内行:"nèi háng",外行:"wài háng",同行:"tóng háng",本行:"běn háng",行伍:"háng wǔ",洋行:"yáng háng",银行:"yín háng",商行:"shāng háng",支行:"zhī háng",总行:"zǒng háng",行情:"háng qíng",懂行:"dǒng háng",行规:"háng guī",行当:"háng dang",行货:"háng huò",太行:"tài háng",入行:"rù háng",中行:"zhōng háng",农行:"nóng háng",工行:"gōng háng",建行:"jiàn háng",各行:"gè háng",行号:"háng hào",行高:"háng gāo",行首:"háng shǒu",行尾:"háng wěi",行末:"háng mò",行长:"háng cháng",行距:"háng jù",换行:"huàn háng",行会:"háng huì",行辈:"háng bèi",行道:"háng dào",道行:"dào heng",参与:"cān yù",充分:"chōng fèn",尽管:"jǐn guǎn",生长:"shēng zhǎng",数量:"shù liàng",应当:"yīng dāng",院长:"yuàn zhǎng",强调:"qiáng diào",只能:"zhǐ néng",音乐:"yīn yuè",以为:"yǐ wéi",处于:"chǔ yú",部长:"bù zhǎng",蒙古:"měng gǔ",只有:"zhǐ yǒu",适当:"shì dàng",只好:"zhǐ hǎo",成长:"chéng zhǎng",高兴:"gāo xìng",不了:"bù liǎo",产量:"chǎn liàng",胖子:"pàng zi",显得:"xiǎn de",只是:"zhǐ shì",似的:"shì de",率领:"shuài lǐng",改为:"gǎi wéi",不禁:"bù jīn",成分:"chéng fèn",答应:"dā ying",少年:"shào nián",兴趣:"xìng qù",太监:"tài jian",休息:"xiū xi",校长:"xiào zhǎng",更新:"gēng xīn",合同:"hé tong",喝道:"hè dào",重庆:"chóng qìng",重建:"chóng jiàn",使得:"shǐ de",审查:"shěn chá",累计:"lěi jì",给予:"jǐ yǔ",极为:"jí wéi",冠军:"guàn jūn",仿佛:"fǎng fú",头发:"tóu fa",投降:"tóu xiáng",家长:"jiā zhǎng",仔细:"zǐ xì",要是:"yào shi",将领:"jiàng lǐng",含量:"hán liàng",更为:"gèng wéi",积累:"jī lěi",地处:"dì chǔ",县长:"xiàn zhǎng",少女:"shào nǚ",路上:"lù shang",只怕:"zhǐ pà",能量:"néng liàng",储量:"chǔ liàng",供应:"gōng yìng",挑战:"tiǎo zhàn",西藏:"xī zàng",记得:"jì de",总量:"zǒng liàng",当真:"dàng zhēn",将士:"jiàng shì",差别:"chā bié",较为:"jiào wéi",长老:"zhǎng lǎo",大夫:"dài fu",差异:"chā yì",懂得:"dǒng de",尽量:"jǐn liàng",模样:"mú yàng",的确:"dí què",为首:"wéi shǒu",便宜:"pián yi",更名:"gēng míng",石头:"shí tou",州长:"zhōu zhǎng",为止:"wéi zhǐ",漂亮:"piào liang",炮弹:"pào dàn",藏族:"zàng zú",角色:"jué sè",当作:"dàng zuò",尽快:"jǐn kuài",人为:"rén wéi",重复:"chóng fù",胡同:"hú tòng",差距:"chā jù",弟兄:"dì xiong",大将:"dà jiàng",睡觉:"shuì jiào",一觉:"yí jiào",团长:"tuán zhǎng",队长:"duì zhǎng",区长:"qū zhǎng",难得:"nán dé",丫头:"yā tou",会长:"huì zhǎng",弟弟:"dì di",王爷:"wáng ye",重量:"zhòng liàng",誉为:"yù wéi",家伙:"jiā huo",华山:"huà shān",椅子:"yǐ zi",流量:"liú liàng",长大:"zhǎng dà",勉强:"miǎn qiǎng",会计:"kuài jì",过分:"guò fèn",济南:"jǐ nán",调动:"diào dòng",燕京:"yān jīng",少将:"shào jiàng",中毒:"zhòng dú",晓得:"xiǎo de",变更:"biàn gēng",打更:"dǎ gēng",认得:"rèn de",苹果:"píng guǒ",念头:"niàn tou",挣扎:"zhēng zhá",三藏:"sān zàng",剥削:"bō xuē",丞相:"chéng xiàng",少量:"shǎo liàng",寻思:"xún si",夺得:"duó dé",干线:"gàn xiàn",呼吁:"hū yù",处罚:"chǔ fá",长官:"zhǎng guān",柏林:"bó lín",亲戚:"qīn qi",身分:"shēn fèn",胳膊:"gē bo",着手:"zhuó shǒu",炸弹:"zhà dàn",咳嗽:"ké sou",叶子:"yè zi",外长:"wài zhǎng",供给:"gōng jǐ",师长:"shī zhǎng",变量:"biàn liàng",应有:"yīng yǒu",下载:"xià zài",乐器:"yuè qì",间接:"jiàn jiē",底下:"dǐ xià",打扮:"dǎ bàn",子弹:"zǐ dàn",弹药:"dàn yào",热量:"rè liàng",削弱:"xuē ruò",骨干:"gǔ gàn",容量:"róng liàng",模糊:"mó hu",转动:"zhuàn dòng",称呼:"chēng hu",科长:"kē zhǎng",处置:"chǔ zhì",着重:"zhuó zhòng",着急:"zháo jí",强迫:"qiǎng pò",庭长:"tíng zhǎng",首相:"shǒu xiàng",喇嘛:"lǎ ma",镇长:"zhèn zhǎng",只管:"zhǐ guǎn",重重:"chóng chóng",免得:"miǎn de",着实:"zhuó shí",度假:"dù jià",真相:"zhēn xiàng",相貌:"xiàng mào",处分:"chǔ fèn",委屈:"wěi qu",为期:"wéi qī",伯伯:"bó bo",伯子:"bǎi zi",圈子:"quān zi",见识:"jiàn shi",笼罩:"lǒng zhào",与会:"yù huì",都督:"dū du",都市:"dū shì",成都:"chéng dū",首都:"shǒu dū",帝都:"dì dū",王都:"wáng dū",东都:"dōng dū",都护:"dū hù",都城:"dū chéng",建都:"jiàn dū",迁都:"qiān dū",故都:"gù dū",定都:"dìng dū",中都:"zhōng dū",六安:"lù ān",宰相:"zǎi xiàng",较量:"jiào liàng",对称:"duì chèn",总长:"zǒng zhǎng",相公:"xiàng gong",空白:"kòng bái",打量:"dǎ liang",水分:"shuǐ fèn",舌头:"shé tou",没收:"mò shōu",行李:"xíng li",判处:"pàn chǔ",散文:"sǎn wén",处境:"chǔ jìng",孙子:"sūn zi",拳头:"quán tou",打发:"dǎ fā",组长:"zǔ zhǎng",骨头:"gǔ tou",宁可:"nìng kě",更换:"gēng huàn",薄弱:"bó ruò",还原:"huán yuán",重修:"chóng xiū",重来:"chóng lái",只顾:"zhǐ gù",爱好:"ài hào",馒头:"mán tou",军长:"jūn zhǎng",首长:"shǒu zhǎng",厂长:"chǎng zhǎng",司长:"sī zhǎng",长子:"zhǎng zǐ",强劲:"qiáng jìng",恰当:"qià dàng",头儿:"tóu er",站长:"zhàn zhǎng",折腾:"zhē teng",相处:"xiāng chǔ",统率:"tǒng shuài",中将:"zhōng jiàng",命中:"mìng zhòng",名将:"míng jiàng",木头:"mù tou",动弹:"dòng tan",地壳:"dì qiào",干活:"gàn huó",少爷:"shào ye",水量:"shuǐ liàng",补给:"bǔ jǐ",尾巴:"wěi ba",来得:"lái de",好奇:"hào qí",钥匙:"yào shi",当做:"dàng zuò",沉着:"chén zhuó",哑巴:"yǎ ba",车子:"chē zi",上将:"shàng jiàng",恶心:"ě xīn",担子:"dàn zi",应届:"yīng jiè",主角:"zhǔ jué",运转:"yùn zhuǎn",兄长:"xiōng zhǎng",格式:"gé shì",正月:"zhēng yuè",营长:"yíng zhǎng",当成:"dàng chéng",女婿:"nǚ xu",咽喉:"yān hóu",重阳:"chóng yáng",化为:"huà wéi",吐蕃:"tǔ bō",钻进:"zuān jìn",乐队:"yuè duì",亮相:"liàng xiàng",被子:"bèi zi",舍得:"shě de",杉木:"shā mù",击中:"jī zhòng",排长:"pái zhǎng",假期:"jià qī",分量:"fèn liàng",数次:"shù cì",提防:"dī fáng",吆喝:"yāo he",查处:"chá chǔ",量子:"liàng zǐ",里头:"lǐ tou",调研:"diào yán",伺候:"cì hou",重申:"chóng shēn",枕头:"zhěn tou",拚命:"pīn mìng",社长:"shè zhǎng",归还:"guī huán",批量:"pī liàng",畜牧:"xù mù",点着:"diǎn zháo",甚为:"shèn wéi",小将:"xiǎo jiàng",着眼:"zhuó yǎn",处死:"chǔ sǐ",厌恶:"yàn wù",鼓乐:"gǔ yuè",树干:"shù gàn",秘鲁:"bì lǔ",大方:"dà fāng",外头:"wài tou",班长:"bān zhǎng",星宿:"xīng xiù",宁愿:"nìng yuàn",钦差:"qīn chāi",为数:"wéi shù",勾当:"gòu dàng",削减:"xuē jiǎn",间谍:"jiàn dié",埋怨:"mán yuàn",结实:"jiē shi",计量:"jì liáng",淹没:"yān mò",村长:"cūn zhǎng",连长:"lián zhǎng",自给:"zì jǐ",武将:"wǔ jiàng",温差:"wēn chā",直奔:"zhí bèn",供求:"gōng qiú",剂量:"jì liàng",道长:"dào zhǎng",泄露:"xiè lòu",王八:"wáng ba",切割:"qiē gē",间隔:"jiàn gé",一晃:"yì huǎng",长假:"cháng jià",令狐:"líng hú",为害:"wéi hài",句子:"jù zi",偿还:"cháng huán",疙瘩:"gē da",燕山:"yān shān",堵塞:"dǔ sè",夺冠:"duó guàn",扎实:"zhā shi",电荷:"diàn hè",看守:"kān shǒu",复辟:"fù bì",郁闷:"yù mèn",尽早:"jǐn zǎo",切断:"qiē duàn",指头:"zhǐ tou",为生:"wéi shēng",畜生:"chù sheng",切除:"qiē chú",着力:"zhuó lì",着想:"zhuó xiǎng",级差:"jí chā",投奔:"tóu bèn",棍子:"gùn zi",含糊:"hán hu",少妇:"shào fù",兴致:"xìng zhì",纳闷:"nà mèn",干流:"gàn liú",卷起:"juǎn qǐ",扇子:"shàn zi",更改:"gēng gǎi",笼络:"lǒng luò",喇叭:"lǎ ba",载荷:"zài hè",妥当:"tuǒ dàng",为难:"wéi nán",着陆:"zhuó lù",燕子:"yàn zi",干吗:"gàn má",白发:"bái fà",总得:"zǒng děi",夹击:"jiā jī",曝光:"bào guāng",曲调:"qǔ diào",相机:"xiàng jī",叫化:"jiào huà",角逐:"jué zhú",啊哟:"ā yō",载重:"zài zhòng",长辈:"zhǎng bèi",出差:"chū chāi",垛口:"duǒ kǒu",撇开:"piē kāi",厅长:"tīng zhǎng",组分:"zǔ fèn",误差:"wù chā",家当:"jiā dàng",传记:"zhuàn jì",个子:"gè zi",铺设:"pū shè",干事:"gàn shì",杆菌:"gǎn jūn",定量:"dìng liàng",运载:"yùn zài",会儿:"huì er",酋长:"qiú zhǎng",重返:"chóng fǎn",差额:"chā é",露面:"lòu miàn",钻研:"zuān yán",大城:"dài chéng",上当:"shàng dàng",销量:"xiāo liàng",作坊:"zuō fang",照相:"zhào xiàng",哎呀:"āi yā",调集:"diào jí",看中:"kàn zhòng",议长:"yì zhǎng",风筝:"fēng zheng",辟邪:"bì xié",空隙:"kòng xì",更迭:"gēng dié",偏差:"piān chā",声调:"shēng diào",适量:"shì liàng",屯子:"tún zi",无量:"wú liàng",空地:"kòng dì",调度:"diào dù",散射:"sǎn shè",创伤:"chuāng shāng",海参:"hǎi shēn",满载:"mǎn zài",重叠:"chóng dié",落差:"luò chā",单调:"dān diào",老将:"lǎo jiàng",人参:"rén shēn",间断:"jiàn duàn",重现:"chóng xiàn",夹杂:"jiā zá",调用:"diào yòng",萝卜:"luó bo",附着:"fù zhuó",应声:"yìng shēng",主将:"zhǔ jiàng",罪过:"zuì guo",咀嚼:"jǔ jué",为政:"wéi zhèng",过量:"guò liàng",乐曲:"yuè qǔ",负荷:"fù hè",枪弹:"qiāng dàn",悄然:"qiǎo rán",处方:"chǔ fāng",悄声:"qiǎo shēng",曲子:"qǔ zi",情调:"qíng diào",挑衅:"tiǎo xìn",代为:"dài wéi",了结:"liǎo jié",打中:"dǎ zhòng",酒吧:"jiǔ bā",懒得:"lǎn de",增量:"zēng liàng",衣着:"yī zhuó",部将:"bù jiàng",要塞:"yào sài",茶几:"chá jī",杠杆:"gàng gǎn",出没:"chū mò",鲜有:"xiǎn yǒu",间隙:"jiàn xì",重担:"zhòng dàn",重演:"chóng yǎn",重试:"chóng shì",应酬:"yìng chou",只当:"zhǐ dāng",毋宁:"wú nìng",包扎:"bāo zā",前头:"qián tou",卷烟:"juǎn yān",非得:"fēi děi",弹道:"dàn dào",杆子:"gān zi",门将:"mén jiàng",后头:"hòu tou",喝彩:"hè cǎi",暖和:"nuǎn huo",累积:"lěi jī",调遣:"diào qiǎn",倔强:"jué jiàng",宝藏:"bǎo zàng",丧事:"sāng shì",约莫:"yuē mo",纤夫:"qiàn fū",更替:"gēng tì",装载:"zhuāng zài",背包:"bēi bāo",帖子:"tiě zi",松散:"sōng sǎn",呼喝:"hū hè",可恶:"kě wù",自转:"zì zhuàn",供电:"gōng diàn",反省:"fǎn xǐng",坦率:"tǎn shuài",苏打:"sū dá",本分:"běn fèn",落得:"luò de",鄙薄:"bǐ bó",相间:"xiāng jiàn",单薄:"dān bó",混蛋:"hún dàn",贞观:"zhēn guān",附和:"fù hè",能耐:"néng nài",吓唬:"xià hu",未了:"wèi liǎo",引着:"yǐn zháo",抽调:"chōu diào",沙子:"shā zi",席卷:"xí juǎn",标的:"biāo dì",别扭:"biè niu",思量:"sī liang",喝采:"hè cǎi",论语:"lún yǔ",盖子:"gài zi",分外:"fèn wài",弄堂:"lòng táng",乐舞:"yuè wǔ",雨量:"yǔ liàng",毛发:"máo fà",差遣:"chāi qiǎn",背负:"bēi fù",转速:"zhuàn sù",声乐:"shēng yuè",夹攻:"jiā gōng",供水:"gōng shuǐ",主干:"zhǔ gàn",惩处:"chéng chǔ",长相:"zhǎng xiàng",公差:"gōng chāi",榴弹:"liú dàn",省得:"shěng de",条子:"tiáo zi",重围:"chóng wéi",阻塞:"zǔ sè",劲风:"jìng fēng",纠葛:"jiū gé",颠簸:"diān bǒ",点中:"diǎn zhòng",重创:"zhòng chuāng",姥姥:"lǎo lao",迷糊:"mí hu",公家:"gōng jia",几率:"jī lǜ",苦闷:"kǔ mèn",度量:"dù liàng",差错:"chā cuò",暑假:"shǔ jià",参差:"cēn cī",搭载:"dā zài",助长:"zhù zhǎng",相称:"xiāng chèn",红晕:"hóng yùn",舍命:"shě mìng",喜好:"xǐ hào",列传:"liè zhuàn",劲敌:"jìng dí",蛤蟆:"há ma",请假:"qǐng jià",钉子:"dīng zi",沉没:"chén mò",高丽:"gāo lí",休假:"xiū jià",无为:"wú wéi",巴结:"bā jie",了得:"liǎo dé",变相:"biàn xiàng",核弹:"hé dàn",亲家:"qìng jia",承载:"chéng zài",喝问:"hè wèn",还击:"huán jī",交还:"jiāo huán",将令:"jiàng lìng",单于:"chán yú",空缺:"kòng quē",绿林:"lù lín",胆量:"dǎn liàng",执着:"zhí zhuó",低调:"dī diào",闭塞:"bì sè",轻薄:"qīng bó",得当:"dé dàng",占卜:"zhān bǔ",扫帚:"sào zhou",龟兹:"qiū cí",年长:"nián zhǎng",外传:"wài zhuàn",头子:"tóu zi",裁缝:"cái feng",礼乐:"lǐ yuè",血泊:"xuè pō",散乱:"sǎn luàn",动量:"dòng liàng",倒腾:"dǎo teng",取舍:"qǔ shě",咱家:"zán jiā",长发:"cháng fà",爪哇:"zhǎo wā",弹壳:"dàn ké",省悟:"xǐng wù",嚷嚷:"rāng rang",连累:"lián lèi",应得:"yīng dé",族长:"zú zhǎng",柜子:"guì zi",擂鼓:"léi gǔ",眩晕:"xuàn yùn",调配:"tiáo pèi",躯干:"qū gàn",差役:"chāi yì",坎坷:"kǎn kě",少儿:"shào ér",乐团:"yuè tuán",养分:"yǎng fèn",退还:"tuì huán",格调:"gé diào",语调:"yǔ diào",音调:"yīn diào",乐府:"yuè fǔ",古朴:"gǔ pǔ",打点:"dǎ diǎn",差使:"chāi shǐ",匀称:"yún chèn",瘦削:"shòu xuē",膏药:"gāo yao",吞没:"tūn mò",调任:"diào rèn",散居:"sǎn jū",上头:"shàng tóu",风靡:"fēng mǐ",放假:"fàng jià",估量:"gū liang",失当:"shī dàng",中弹:"zhòng dàn",妄为:"wàng wéi",长者:"zhǎng zhě",起哄:"qǐ hòng",末了:"mò liǎo",相声:"xiàng sheng",校正:"jiào zhèng",劝降:"quàn xiáng",矢量:"shǐ liàng",沉闷:"chén mèn",给与:"jǐ yǔ",解法:"jiě fǎ",塞外:"sài wài",将校:"jiàng xiào",嗜好:"shì hào",没落:"mò luò",朴刀:"pō dāo",片子:"piān zi",切削:"qiē xiāo",弹丸:"dàn wán",稀薄:"xī bó",亏得:"kuī dé",间歇:"jiàn xiē",翘首:"qiáo shǒu",色调:"sè diào",处决:"chǔ jué",表率:"biǎo shuài",尺子:"chǐ zi",招降:"zhāo xiáng",称职:"chèn zhí",斗篷:"dǒu peng",铺子:"pù zi",底子:"dǐ zi",负载:"fù zài",干警:"gàn jǐng",倒数:"dào shǔ",将官:"jiàng guān",锄头:"chú tou",归降:"guī xiáng",疟疾:"nüè ji",唠叨:"láo dao",限量:"xiàn liàng",屏息:"bǐng xī",重逢:"chóng féng",器乐:"qì yuè",氢弹:"qīng dàn",脖颈:"bó gěng",妃子:"fēi zi",处事:"chǔ shì",参量:"cān liàng",轻率:"qīng shuài",缥缈:"piāo miǎo",中奖:"zhòng jiǎng",才干:"cái gàn",施舍:"shī shě",卷子:"juàn zi",游说:"yóu shuì",巷子:"xiàng zi",膀胱:"páng guāng",切勿:"qiè wù",看管:"kān guǎn",风头:"fēng tou",精干:"jīng gàn",高差:"gāo chā",恐吓:"kǒng hè",扁担:"biǎn dàn",给养:"jǐ yǎng",格子:"gé zi",供需:"gōng xū",反差:"fǎn chā",飞弹:"fēi dàn",微薄:"wēi bó",发型:"fà xíng",即兴:"jí xìng",攒动:"cuán dòng",间或:"jiàn huò",浅薄:"qiǎn bó",乐章:"yuè zhāng",顺差:"shùn chā",调子:"diào zi",相位:"xiàng wèi",转子:"zhuàn zǐ",劲旅:"jìng lǚ",咔嚓:"kā chā",了事:"liǎo shì",转悠:"zhuàn you",当铺:"dàng pù",爪子:"zhuǎ zi",单子:"dān zi",好战:"hào zhàn",燕麦:"yàn mài",只许:"zhǐ xǔ",干练:"gàn liàn",女将:"nǚ jiàng",酒量:"jiǔ liàng",划船:"huá chuán",伎俩:"jì liǎng",挑拨:"tiǎo bō",少校:"shào xiào",着落:"zhuó luò",憎恶:"zēng wù",刻薄:"kè bó",要挟:"yāo xié",用处:"yòng chu",还手:"huán shǒu",模具:"mú jù",执著:"zhí zhuó",喝令:"hè lìng",保长:"bǎo zhǎng",吸着:"xī zhe",症结:"zhēng jié",公转:"gōng zhuàn",校勘:"jiào kān",重提:"chóng tí",扫兴:"sǎo xìng",铺盖:"pū gài",长史:"zhǎng shǐ",差价:"chā jià",压根:"yà gēn",怔住:"zhèng zhù",应允:"yīng yǔn",切入:"qiē rù",战将:"zhàn jiàng",年少:"nián shào",舍身:"shě shēn",执拗:"zhí niù",处世:"chǔ shì",中风:"zhòng fēng",等量:"děng liàng",放量:"fàng liàng",腔调:"qiāng diào",老少:"lǎo shào",没入:"mò rù",瓜葛:"guā gé",将帅:"jiàng shuài",车载:"chē zài",窝囊:"wō nang",长进:"zhǎng jìn",可汗:"kè hán",并州:"bīng zhōu",供销:"gōng xiāo",切片:"qiē piàn",差事:"chāi shì",知会:"zhī hui",鹰爪:"yīng zhǎo",处女:"chǔ nǚ",切磋:"qiē cuō",日头:"rì tou",押解:"yā jiè",滋长:"zī zhǎng",道观:"dào guàn",脚色:"jué sè",当量:"dāng liàng",婆家:"pó jia",缘分:"yuán fèn",空闲:"kòng xián",好色:"hào sè",怒喝:"nù hè",笼统:"lǒng tǒng",边塞:"biān sài",何曾:"hé céng",重合:"chóng hé",零散:"líng sǎn",轰隆:"hōng lōng",化子:"huà zi",内蒙:"nèi měng",数落:"shǔ luò",逆差:"nì chā",牟利:"móu lì",栅栏:"zhà lan",中标:"zhòng biāo",调档:"diào dàng",佝偻:"gōu lóu",场子:"chǎng zi",甲壳:"jiǎ qiào",重温:"chóng wēn",炮制:"páo zhì",返还:"fǎn huán",自传:"zì zhuàn",高调:"gāo diào",殷红:"yān hóng",固着:"gù zhuó",强求:"qiǎng qiú",本相:"běn xiàng",骄横:"jiāo hèng",草率:"cǎo shuài",气闷:"qì mèn",着色:"zhuó sè",宁肯:"nìng kěn",兴头:"xìng tou",拘泥:"jū nì",夹角:"jiā jiǎo",发髻:"fà jì",猛将:"měng jiàng",约摸:"yuē mo",拖累:"tuō lěi",呢绒:"ní róng",钻探:"zuān tàn",夹层:"jiā céng",落魄:"luò pò",巷道:"hàng dào",运量:"yùn liàng",解闷:"jiě mèn",空儿:"kòng er",估摸:"gū mo",好客:"hào kè",钻孔:"zuān kǒng",糊弄:"hù nòng",荥阳:"xíng yáng",烦闷:"fán mèn",仓卒:"cāng cù",分叉:"fēn chà",厂子:"chǎng zi",小调:"xiǎo diào",少阳:"shào yáng",受降:"shòu xiáng",染坊:"rǎn fáng",胳臂:"gē bei",将门:"jiàng mén",模板:"mú bǎn",配给:"pèi jǐ",为伍:"wéi wǔ",跟头:"gēn tou",划算:"huá suàn",累赘:"léi zhui",哄笑:"hōng xiào",晕眩:"yūn xuàn",干掉:"gàn diào",缝制:"féng zhì",难处:"nán chù",着意:"zhuó yì",蛮横:"mán hèng",奇数:"jī shù",短发:"duǎn fà",生还:"shēng huán",还清:"huán qīng",看护:"kān hù",直率:"zhí shuài",奏乐:"zòu yuè",载客:"zài kè",专横:"zhuān hèng",湮没:"yān mò",空格:"kòng gé",铺垫:"pū diàn",良将:"liáng jiàng",哗啦:"huā lā",散漫:"sǎn màn",脱发:"tuō fà",送还:"sòng huán",埋没:"mái mò",累及:"lěi jí",薄雾:"bó wù",调离:"diào lí",舌苔:"shé tāi",机长:"jī zhǎng",栓塞:"shuān sè",配角:"pèi jué",切口:"qiē kǒu",创口:"chuāng kǒu",哈欠:"hā qian",实弹:"shí dàn",铺平:"pū píng",哈达:"hǎ dá",懒散:"lǎn sǎn",实干:"shí gàn",填空:"tián kòng",刁钻:"diāo zuān",乐师:"yuè shī",量变:"liàng biàn",诱降:"yòu xiáng",搪塞:"táng sè",征调:"zhēng diào",夹道:"jiā dào",干咳:"gān ké",止咳:"zhǐ ké",乐工:"yuè gōng",划过:"huá guò",着火:"zháo huǒ",更正:"gēng zhèng",给付:"jǐ fù",空子:"kòng zi",哪吒:"né zhā",正着:"zhèng zháo",刷子:"shuā zi",丧葬:"sāng zàng",夹带:"jiā dài",安分:"ān fèn",中意:"zhòng yì",长孙:"zhǎng sūn",校订:"jiào dìng",卷曲:"juǎn qū",载运:"zài yùn",投弹:"tóu dàn",柞蚕:"zuò cán",份量:"fèn liàng",调换:"diào huàn",了然:"liǎo rán",咧嘴:"liě zuǐ",典当:"diǎn dàng",寒假:"hán jià",长兄:"zhǎng xiōng",给水:"jǐ shuǐ",须发:"xū fà",枝干:"zhī gàn",属相:"shǔ xiàng",哄抢:"hōng qiǎng",刻划:"kè huà",塞子:"sāi zi",单干:"dān gàn",还乡:"huán xiāng",兆头:"zhào tou",寺观:"sì guàn",督率:"dū shuài",啊哈:"ā ha",割舍:"gē shě",抹布:"mā bù",好恶:"hào wù",下处:"xià chǔ",消长:"xiāo zhǎng",离间:"lí jiàn",准头:"zhǔn tou",校对:"jiào duì",什物:"shí wù",番禺:"pān yú",佛爷:"fó ye",吗啡:"mǎ fēi",盐分:"yán fèn",虎将:"hǔ jiàng",薄荷:"bò he",独处:"dú chǔ",空位:"kòng wèi",铺路:"pū lù",乌拉:"wū lā",调回:"diào huí",来头:"lái tou",闲散:"xián sǎn",胶卷:"jiāo juǎn",冒失:"mào shi",干劲:"gàn jìn",弦乐:"xián yuè",相国:"xiàng guó",丹参:"dān shēn",助兴:"zhù xìng",铺开:"pū kāi",次长:"cì zhǎng",发卡:"fà qiǎ",拮据:"jié jū",刹车:"shā chē",生发:"shēng fà",重播:"chóng bō",缝合:"féng hé",音量:"yīn liàng",少尉:"shào wèi",冲压:"chòng yā",苍劲:"cāng jìng",厚薄:"hòu báo",威吓:"wēi hè",外相:"wài xiàng",呼号:"hū háo",着迷:"zháo mí",挑担:"tiāo dàn",纹路:"wén lù",还俗:"huán sú",强横:"qiáng hèng",着数:"zhāo shù",降顺:"xiáng shùn",挑明:"tiǎo míng",眯缝:"mī feng",分内:"fèn nèi",更衣:"gēng yī",软和:"ruǎn huo",尽兴:"jìn xìng",号子:"hào zi",爪牙:"zhǎo yá",败将:"bài jiàng",猜中:"cāi zhòng",结扎:"jié zā",没空:"méi kòng",夹缝:"jiā fèng",拾掇:"shí duo",掺和:"chān huo",簸箕:"bò ji",电量:"diàn liàng",荷载:"hè zǎi",调式:"diào shì",处身:"chǔ shēn",打手:"dǎ shǒu",弹弓:"dàn gōng",横蛮:"hèng mán",能干:"néng gàn",校点:"jiào diǎn",加载:"jiā zài",干校:"gàn xiào",哄传:"hōng chuán",校注:"jiào zhù",淤塞:"yū sè",马扎:"mǎ zhá",月氏:"yuè zhī",高干:"gāo gàn",经传:"jīng zhuàn",曾孙:"zēng sūn",好斗:"hào dòu",关卡:"guān qiǎ",逃奔:"táo bèn",磨蹭:"mó ceng",牟取:"móu qǔ",颤栗:"zhàn lì",蚂蚱:"mà zha",撮合:"cuō he",趔趄:"liè qie",摔打:"shuāi dǎ",台子:"tái zi",分得:"fēn de",粘着:"nián zhuó",采邑:"cài yì",散装:"sǎn zhuāng",婀娜:"ē nuó",兴味:"xìng wèi",行头:"xíng tou",气量:"qì liàng",调运:"diào yùn",处治:"chǔ zhì",乐音:"yuè yīn",充塞:"chōng sè",恫吓:"dòng hè",论调:"lùn diào",相中:"xiāng zhòng",民乐:"mín yuè",炮仗:"pào zhang",丧服:"sāng fú",骁将:"xiāo jiàng",量刑:"liàng xíng",缝补:"féng bǔ",财会:"cái kuài",大干:"dà gàn",历数:"lì shǔ",校场:"jiào chǎng",塞北:"sài běi",识相:"shí xiàng",辱没:"rǔ mò",鲜亮:"xiān liàng",语塞:"yǔ sè",露脸:"lòu liǎn",凉快:"liáng kuai",腰杆:"yāo gǎn",溜达:"liū da",嘎嘎:"gā gā",公干:"gōng gàn",桔梗:"jié gěng",挑逗:"tiǎo dòu",看门:"kān mén",乐歌:"yuè gē",拓片:"tà piàn",挑动:"tiǎo dòng",准将:"zhǔn jiàng",遒劲:"qiú jìng",磨坊:"mò fáng",逶迤:"wēi yí",搅和:"jiǎo huo",摩挲:"mó suō",作弄:"zuò nòng",苗头:"miáo tou",打颤:"dǎ zhàn",大藏:"dà zàng",畜牲:"chù shēng",勾搭:"gōu da",树荫:"shù yīn",树杈:"shù chà",铁杆:"tiě gǎn",将相:"jiàng xiàng",份子:"fèn zi",视差:"shì chā",绿荫:"lǜ yīn",枪杆:"qiāng gǎn",缝纫:"féng rèn",愁闷:"chóu mèn",点将:"diǎn jiàng",华佗:"huà tuó",劲射:"jìng shè",箱笼:"xiāng lǒng",终了:"zhōng liǎo",鬓发:"bìn fà",结巴:"jiē ba",苦干:"kǔ gàn",看家:"kān jiā",正旦:"zhēng dàn",中肯:"zhòng kěn",厦门:"xià mén",东莞:"dōng guǎn",食量:"shí liàng",宫调:"gōng diào",间作:"jiàn zuò",弹片:"dàn piàn",差池:"chā chí",漂白:"piǎo bái",杠子:"gàng zi",调处:"tiáo chǔ",好动:"hào dòng",转炉:"zhuàn lú",屏气:"bǐng qì",夹板:"jiā bǎn",哀乐:"āi yuè",干道:"gàn dào",苦处:"kǔ chù",劈柴:"pǐ chái",长势:"zhǎng shì",天华:"tiān huá",共处:"gòng chǔ",校验:"jiào yàn",出塞:"chū sài",磨盘:"mò pán",萎靡:"wěi mǐ",奔丧:"bēn sāng",唱和:"chàng hè",大调:"dà diào",非分:"fēi fèn",钻营:"zuān yíng",夹子:"jiā zi",超载:"chāo zài",更始:"gēng shǐ",铃铛:"líng dang",披散:"pī sàn",发还:"fā huán",转轮:"zhuàn lún",横财:"hèng cái",泡桐:"pāo tóng",抛撒:"pāo sǎ",天呀:"tiān yā",糊糊:"hū hu",躯壳:"qū qiào",通量:"tōng liàng",奉还:"fèng huán",午觉:"wǔ jiào",闷棍:"mèn gùn",浪头:"làng tou",砚台:"yàn tái",油坊:"yóu fáng",学长:"xué zhǎng",过载:"guò zài",笔调:"bǐ diào",衣被:"yī bèi",畜产:"xù chǎn",调阅:"diào yuè",蛮干:"mán gàn",曾祖:"zēng zǔ",提干:"tí gàn",变调:"biàn diào",覆没:"fù mò",模子:"mú zi",乐律:"yuè lǜ",称心:"chèn xīn",木杆:"mù gān",重印:"chóng yìn",自省:"zì xǐng",提调:"tí diào",看相:"kàn xiàng",芋头:"yù tou",下切:"xià qiē",塞上:"sài shàng",铺张:"pū zhāng",藤蔓:"téng wàn",薄幸:"bó xìng",解数:"xiè shù",褪去:"tuì qù",霰弹:"xiàn dàn",柚木:"yóu mù",痕量:"hén liàng",雅乐:"yǎ yuè",号哭:"háo kū",诈降:"zhà xiáng",猪圈:"zhū juàn",咋舌:"zé shé",铣床:"xǐ chuáng",防弹:"fáng dàn",健将:"jiàn jiàng",丽水:"lí shuǐ",削发:"xuē fà",空当:"kòng dāng",多相:"duō xiàng",鲜见:"xiǎn jiàn",划桨:"huá jiǎng",载波:"zài bō",跳蚤:"tiào zao",俏皮:"qiào pí",吧嗒:"bā dā",结发:"jié fà",了断:"liǎo duàn",同调:"tóng diào",石磨:"shí mò",时差:"shí chā",鼻塞:"bí sè",挑子:"tiāo zi",推磨:"tuī mò",武侯:"wǔ hóu",抹煞:"mǒ shā",调转:"diào zhuǎn",籍没:"jí mò",还债:"huán zhài",调演:"diào yǎn",分划:"fēn huá",奇偶:"jī ǒu",断喝:"duàn hè",闷雷:"mèn léi",狼藉:"láng jí",饭量:"fàn liàng",还礼:"huán lǐ",转调:"zhuǎn diào",星相:"xīng xiàng",手相:"shǒu xiàng",配乐:"pèi yuè",盖头:"gài tou",连杆:"lián gǎn",簿记:"bù jì",刀把:"dāo bà",量词:"liàng cí",名角:"míng jué",步调:"bù diào",校本:"jiào běn",账簿:"zhàng bù",隽永:"juàn yǒng",稍为:"shāo wéi",易传:"yì zhuàn",乐谱:"yuè pǔ",牵累:"qiān lěi",答理:"dā li",喝斥:"hè chì",吟哦:"yín é",干渠:"gàn qú",海量:"hǎi liàng",精当:"jīng dàng",着床:"zhuó chuáng",月相:"yuè xiàng",庶几:"shù jī",宫观:"gōng guàn",论处:"lùn chǔ",征辟:"zhēng bì",厚朴:"hòu pò",介壳:"jiè qiào",吭哧:"kēng chī",咯血:"kǎ xiě",铺陈:"pū chén",重生:"chóng shēng",乐理:"yuè lǐ",哀号:"āi háo",藏历:"zàng lì",刚劲:"gāng jìng",削平:"xuē píng",浓荫:"nóng yīn",城垛:"chéng duǒ",当差:"dāng chāi",正传:"zhèng zhuàn",并处:"bìng chǔ",创面:"chuāng miàn",旦角:"dàn jué",薄礼:"bó lǐ",晃荡:"huàng dang",臊子:"sào zi",家什:"jiā shí",闷头:"mēn tóu",美发:"měi fà",度数:"dù shu",着凉:"zháo liáng",闯将:"chuǎng jiàng",几案:"jī àn",姘头:"pīn tou",差数:"chā shù",散碎:"sǎn suì",壅塞:"yōng sè",寒颤:"hán zhàn",牵强:"qiān qiǎng",无间:"wú jiàn",轮转:"lún zhuàn",号叫:"háo jiào",铺排:"pū pái",降伏:"xiáng fú",轧钢:"zhá gāng",东阿:"dōng ē",病假:"bìng jià",累加:"lěi jiā",梗塞:"gěng sè",弹夹:"dàn jiā",钻心:"zuān xīn",晃眼:"huǎng yǎn",魔爪:"mó zhǎo",标量:"biāo liàng",憋闷:"biē mèn",猜度:"cāi duó",处士:"chǔ shì",官差:"guān chāi",讨还:"tǎo huán",长门:"cháng mén",馏分:"liú fēn",里弄:"lǐ lòng",色相:"sè xiàng",雅兴:"yǎ xìng",角力:"jué lì",弹坑:"dàn kēng",枝杈:"zhī chà",夹具:"jiā jù",处刑:"chǔ xíng",悍将:"hàn jiàng",好学:"hào xué",好好:"hǎo hǎo",银发:"yín fà",扫把:"sào bǎ",法相:"fǎ xiàng",贵干:"guì gàn",供气:"gōng qì",空余:"kòng yú",捆扎:"kǔn zā",瘠薄:"jí bó",浆糊:"jiàng hu",嘎吱:"gā zhī",调令:"diào lìng",法帖:"fǎ tiè",淋病:"lìn bìng",调派:"diào pài",转盘:"zhuàn pán",供稿:"gōng gǎo",差官:"chāi guān",忧闷:"yōu mèn",教长:"jiào zhǎng",重唱:"chóng chàng",酒兴:"jiǔ xìng",乐坛:"yuè tán",花呢:"huā ní",叱喝:"chì hè",膀臂:"bǎng bì",得空:"dé kòng",转圈:"zhuàn quān",横暴:"hèng bào",哄抬:"hōng tái",引吭:"yǐn háng",载货:"zài huò",中计:"zhòng jì",官长:"guān zhǎng",相面:"xiàng miàn",看头:"kàn tou",盼头:"pàn tou",意兴:"yì xìng",军乐:"jūn yuè",累次:"lěi cì",骨嘟:"gǔ dū",燕赵:"yān zhào",报丧:"bào sāng",弥撒:"mí sa",挨斗:"ái dòu",扁舟:"piān zhōu",丑角:"chǒu jué",吊丧:"diào sāng",强将:"qiáng jiàng",重奏:"chóng zòu",发辫:"fà biàn",着魔:"zháo mó",着法:"zhāo fǎ",盛放:"shèng fàng",填塞:"tián sè",凶横:"xiōng hèng",稽首:"qǐ shǒu",碑帖:"bēi tiè",冲量:"chōng liàng",发菜:"fà cài",假发:"jiǎ fà",翻卷:"fān juǎn",小量:"xiǎo liàng",胶着:"jiāo zhuó",里子:"lǐ zi",调调:"diào diao",散兵:"sǎn bīng",高挑:"gāo tiǎo",播撒:"bō sǎ",夹心:"jiā xīn",扇动:"shān dòng",叨扰:"tāo rǎo",霓裳:"ní cháng",捻子:"niǎn zi",弥缝:"mí féng",撒布:"sǎ bù",场院:"cháng yuàn",省亲:"xǐng qīn",提拉:"tí lā",惯量:"guàn liàng",强逼:"qiáng bī",强征:"qiáng zhēng",晕车:"yùn chē",数道:"shù dào",带累:"dài lèi",拓本:"tà běn",嫌恶:"xián wù",宿将:"sù jiàng",龟裂:"jūn liè",缠夹:"chán jiā",发式:"fà shì",隔扇:"gé shàn",天分:"tiān fèn",癖好:"pǐ hào",四通:"sì tōng",白术:"bái zhú",划伤:"huá shāng",角斗:"jué dòu",听差:"tīng chāi",岁差:"suì chā",丧礼:"sāng lǐ",脉脉:"mò mò",削瘦:"xuē shòu",撒播:"sǎ bō",莎草:"suō cǎo",犍为:"qián wéi",调头:"diào tóu",龙卷:"lóng juǎn",外调:"wài diào",字帖:"zì tiè",卷发:"juǎn fà",揣度:"chuǎi duó",洋相:"yáng xiàng",散光:"sǎn guāng",骨碌:"gū lu",薄命:"bó mìng",笼头:"lóng tóu",咽炎:"yān yán",碌碡:"liù zhou",片儿:"piàn er",纤手:"qiàn shǒu",散体:"sǎn tǐ",内省:"nèi xǐng",强留:"qiáng liú",解送:"jiè sòng",反间:"fǎn jiàn",少壮:"shào zhuàng",留空:"liú kōng",告假:"gào jià",咳血:"ké xuè",薄暮:"bó mù",铺轨:"pū guǐ",磨削:"mó xuē",治丧:"zhì sāng",叉子:"chā zi",哄动:"hōng dòng",蛾子:"é zi",出落:"chū luò",股长:"gǔ zhǎng",贵处:"guì chù",还魂:"huán hún",例假:"lì jià",刹住:"shā zhù",身量:"shēn liàng",同好:"tóng hào",模量:"mó liàng",更生:"gēng shēng",服丧:"fú sāng",率直:"shuài zhí",字模:"zì mú",散架:"sǎn jià",答腔:"dā qiāng",交恶:"jiāo wù",薄情:"bó qíng",眼泡:"yǎn pāo",袅娜:"niǎo nuó",草垛:"cǎo duò",冲劲:"chòng jìn",呢喃:"ní nán",切中:"qiè zhòng",挑灯:"tiǎo dēng",还愿:"huán yuàn",激将:"jī jiàng",更鼓:"gēng gǔ",没药:"mò yào",败兴:"bài xìng",切面:"qiē miàn",散户:"sǎn hù",累进:"lěi jìn",背带:"bēi dài",秤杆:"chèng gǎn",碾坊:"niǎn fáng",簿子:"bù zi",扳手:"bān shǒu",铅山:"yán shān",儒将:"rú jiàng",重光:"chóng guāng",剪发:"jiǎn fà",长上:"zhǎng shàng",小传:"xiǎo zhuàn",压轴:"yā zhòu",弱冠:"ruò guàn",花卷:"huā juǎn",横祸:"hèng huò",夹克:"jiā kè",光晕:"guāng yùn",披靡:"pī mǐ",对调:"duì diào",夹持:"jiā chí",空额:"kòng é",平调:"píng diào",铺床:"pū chuáng",丧钟:"sāng zhōng",作乐:"zuò lè",少府:"shào fǔ",数数:"shuò shuò",奔头:"bèn tou",进给:"jìn jǐ",率性:"shuài xìng",乐子:"lè zi",绑扎:"bǎng zā",挑唆:"tiǎo suō",漂洗:"piǎo xǐ",夹墙:"jiā qiáng",咳喘:"ké chuǎn",乜斜:"miē xie",错处:"cuò chù",闷酒:"mèn jiǔ",时调:"shí diào",重孙:"chóng sūn",经幢:"jīng chuáng",圩场:"xū chǎng",调门:"diào mén",花头:"huā tóu",划拉:"huá la",套色:"tào shǎi",粗率:"cū shuài",相率:"xiāng shuài",款识:"kuǎn zhì",吁请:"yù qǐng",荫蔽:"yīn bì",文蛤:"wén gé",嘀嗒:"dī dā",调取:"diào qǔ",交差:"jiāo chāi",落子:"luò zǐ",相册:"xiàng cè",絮叨:"xù dao",落发:"luò fà",异相:"yì xiàng",浸没:"jìn mò",角抵:"jué dǐ",卸载:"xiè zài",春卷:"chūn juǎn",扎挣:"zhá zheng",畜养:"xù yǎng",吡咯:"bǐ luò",垛子:"duò zi",恶少:"è shào",发际:"fà jì",红苕:"hóng sháo",糨糊:"jiàng hu",哭丧:"kū sāng",稍息:"shào xī",晕船:"yùn chuán",校样:"jiào yàng",外差:"wài chā",脚爪:"jiǎo zhǎo",铺展:"pū zhǎn",芫荽:"yán sui",夹紧:"jiā jǐn",尿泡:"suī pào",丧乱:"sāng luàn",凶相:"xiōng xiàng",华发:"huá fà",打场:"dǎ cháng",云量:"yún liàng",正切:"zhèng qiē",划拳:"huá quán",划艇:"huá tǐng",评传:"píng zhuàn",拉纤:"lā qiàn",句读:"jù dòu",散剂:"sǎn jì",骨殖:"gǔ shi",塞音:"sè yīn",铺叙:"pū xù",阏氏:"yān zhī",冷颤:"lěng zhàn",煞住:"shā zhù",少男:"shào nán",管乐:"guǎn yuè",号啕:"háo táo",纳降:"nà xiáng",拥塞:"yōng sè",万乘:"wàn shèng",杆儿:"gǎn ér",葛藤:"gé téng",簿籍:"bù jí",皮夹:"pí jiā",校准:"jiào zhǔn",允当:"yǔn dàng",器量:"qì liàng",选调:"xuǎn diào",扮相:"bàn xiàng",干才:"gàn cái",基干:"jī gàn",割切:"gē qiē",国乐:"guó yuè",卡壳:"qiǎ ké",辟谷:"bì gǔ",磨房:"mò fáng",咿呀:"yī yā",芥末:"jiè mo",薄技:"bó jì",产假:"chǎn jià",诗兴:"shī xìng",重出:"chóng chū",转椅:"zhuàn yǐ",酌量:"zhuó liang",簿册:"bù cè",藏青:"zàng qīng",的士:"dī shì",调人:"diào rén",解元:"jiè yuán",茎干:"jīng gàn",巨量:"jù liàng",榔头:"láng tou",率真:"shuài zhēn",喷香:"pèn xiāng",锁钥:"suǒ yuè",虾蟆:"há má",相图:"xiàng tú",兴会:"xìng huì",灶头:"zào tóu",重婚:"chóng hūn",钻洞:"zuān dòng",忖度:"cǔn duó",党参:"dǎng shēn",调温:"diào wēn",杆塔:"gān tǎ",葛布:"gé bù",拱券:"gǒng xuàn",夹生:"jiā shēng",露馅:"lòu xiàn",恰切:"qià qiè",散见:"sǎn jiàn",哨卡:"shào qiǎ",烫发:"tàng fà",体量:"tǐ liàng",挺括:"tǐng kuò",系带:"jì dài",相士:"xiàng shì",羊圈:"yáng juàn",转矩:"zhuàn jǔ",吧台:"bā tái",苍术:"cāng zhú",菲薄:"fěi bó",蛤蚧:"gé jiè",蛤蜊:"gé lí",瓜蔓:"guā wàn",怪相:"guài xiàng",临帖:"lín tiè",女红:"nǚ gōng",刨床:"bào chuáng",翘楚:"qiáo chǔ",数九:"shǔ jiǔ",谈兴:"tán xìng",雄劲:"xióng jìng",扎染:"zā rǎn",遮荫:"zhē yīn",周正:"zhōu zhèng",赚头:"zhuàn tou",扒手:"pá shǒu",搀和:"chān huo",诚朴:"chéng pǔ",肚量:"dù liàng",干结:"gān jié",工尺:"gōng chě",家累:"jiā lěi",曲水:"qū shuǐ",沙参:"shā shēn",挑花:"tiǎo huā",阿门:"ā mén",背篓:"bēi lǒu",瘪三:"biē sān",裁处:"cái chǔ",创痛:"chuāng tòng",福相:"fú xiàng",更动:"gēng dòng",豪兴:"háo xìng",还阳:"huán yáng",还嘴:"huán zuǐ",借调:"jiè diào",卷云:"juǎn yún",流弹:"liú dàn",想头:"xiǎng tou",削价:"xuē jià",校阅:"jiào yuè",雅量:"yǎ liàng",别传:"bié zhuàn",薄酒:"bó jiǔ",春假:"chūn jià",发妻:"fà qī",哗哗:"huā huā",宽绰:"kuān chuo",了悟:"liǎo wù",切花:"qiē huā",审度:"shěn duó",应许:"yīng xǔ",转台:"zhuàn tái",仔猪:"zǐ zhū",裁量:"cái liáng",藏戏:"zàng xì",乘兴:"chéng xìng",绸缪:"chóu móu",摧折:"cuī zhé",调经:"tiáo jīng",调职:"diào zhí",缝缀:"féng zhuì",骨朵:"gū duǒ",核儿:"hú er",恒量:"héng liàng",还价:"huán jià",浑朴:"hún pǔ",苦差:"kǔ chāi",面糊:"miàn hù",煞车:"shā chē",省视:"xǐng shì",什锦:"shí jǐn",信差:"xìn chāi",余切:"yú qiē",攒眉:"cuán méi",炸糕:"zhá gāo",钻杆:"zuàn gǎn",扒灰:"pá huī",拌和:"bàn huò",长调:"cháng diào",大溜:"dà liù",抖搂:"dǒu lōu",飞转:"fēi zhuàn",干仗:"gàn zhàng",好胜:"hào shèng",画片:"huà piàn",搅混:"jiǎo hún",螺杆:"luó gǎn",木模:"mù mú",怒号:"nù háo",频数:"pín shù",无宁:"wú níng",遗少:"yí shào",邮差:"yóu chāi",占卦:"zhān guà",占星:"zhān xīng",重审:"chóng shěn",自量:"zì liàng",调防:"diào fáng",发廊:"fà láng",反调:"fǎn diào",缝子:"fèng zi",更夫:"gēng fū",骨子:"gǔ zi",光杆:"guāng gǎn",夹棍:"jiā gùn",居丧:"jū sāng",巨贾:"jù gǔ",看押:"kān yā",空转:"kōng zhuàn",量力:"liàng lì",炮烙:"páo luò",赔还:"péi huán",扑扇:"pū shān",散记:"sǎn jì",散件:"sǎn jiàn",删削:"shān xuē",射干:"shè gàn",条几:"tiáo jī",偷空:"tōu kòng",削壁:"xuē bì",校核:"jiào hé",阴干:"yīn gān",择菜:"zhái cài",重九:"chóng jiǔ",主调:"zhǔ diào",自禁:"zì jīn",吧唧:"bā jī",便溺:"biàn niào",词调:"cí diào",叨咕:"dáo gu",落枕:"lào zhěn",铺砌:"pū qì",刷白:"shuà bái",委靡:"wěi mǐ",系泊:"xì bó",相马:"xiàng mǎ",熨帖:"yù tiē",转筋:"zhuàn jīn",棒喝:"bàng hè",傧相:"bīn xiàng",镐头:"gǎo tóu",间苗:"jiàn miáo",乐池:"yuè chí",卖相:"mài xiàng",屏弃:"bǐng qì",铅弹:"qiān dàn",切变:"qiē biàn",请调:"qǐng diào",群氓:"qún méng",散板:"sǎn bǎn",省察:"xǐng chá",事假:"shì jià",纤绳:"qiàn shéng",重影:"chóng yǐng",耕种:"gēng zhòng",种地:"zhòng dì",种菜:"zhòng cài",栽种:"zāi zhòng",接种:"jiē zhòng",垦种:"kěn zhòng",种殖:"zhòng zhí",种瓜:"zhòng guā",种豆:"zhòng dòu",种树:"zhòng shù",睡着:"shuì zháo",笼子:"lóng zi",重启:"chóng qǐ",重整:"chóng zhěng",重弹:"chóng tán",重足:"chóng zú",重山:"chóng shān",重游:"chóng yóu",重峦:"chóng luán",爷爷:"yé ye",奶奶:"nǎi nai",姥爷:"lǎo ye",爸爸:"bà ba",妈妈:"mā ma",婶婶:"shěn shen",舅舅:"jiù jiu",姑姑:"gū gu",叔叔:"shū shu",姨夫:"yí fu",舅母:"jiù mu",姑父:"gū fu",姐夫:"jiě fu",婆婆:"pó po",公公:"gōng gong",舅子:"jiù zi",姐姐:"jiě jie",哥哥:"gē ge",妹妹:"mèi mei",妹夫:"mèi fu",姨子:"yí zi",宝宝:"bǎo bao",娃娃:"wá wa",孩子:"hái zi",日子:"rì zi",样子:"yàng zi",狮子:"shī zi",身子:"shēn zi",架子:"jià zi",嫂子:"sǎo zi",鼻子:"bí zi",亭子:"tíng zi",折子:"zhé zi",面子:"miàn zi",脖子:"bó zi",辈子:"bèi zi",帽子:"mào zi",拍子:"pāi zi",柱子:"zhù zi",辫子:"biàn zi",鸽子:"gē zi",房子:"fáng zi",丸子:"wán zi",摊子:"tān zi",牌子:"pái zi",胡子:"hú zi",鬼子:"guǐ zi",矮子:"ǎi zi",鸭子:"yā zi",小子:"xiǎo zi",影子:"yǐng zi",屋子:"wū zi",对子:"duì zi",点子:"diǎn zi",本子:"běn zi",种子:"zhǒng zi",儿子:"ér zi",兔子:"tù zi",骗子:"piàn zi",院子:"yuàn zi",猴子:"hóu zi",嗓子:"sǎng zi",侄子:"zhí zi",柿子:"shì zi",钳子:"qián zi",虱子:"shī zi",瓶子:"píng zi",豹子:"bào zi",筷子:"kuài zi",篮子:"lán zi",绳子:"shéng zi",嘴巴:"zuǐ ba",耳朵:"ěr duo",茄子:"qié zi",蚌埠:"bèng bù",崆峒:"kōng tóng",琵琶:"pí pa",蘑菇:"mó gu",葫芦:"hú lu",狐狸:"hú li",桔子:"jú zi",盒子:"hé zi",桌子:"zhuō zi",竹子:"zhú zi",师傅:"shī fu",衣服:"yī fu",袜子:"wà zi",杯子:"bēi zi",刺猬:"cì wei",麦子:"mài zi",队伍:"duì wu",知了:"zhī liǎo",鱼儿:"yú er",馄饨:"hún tun",灯笼:"dēng long",庄稼:"zhuāng jia",聪明:"cōng ming",镜子:"jìng zi",银子:"yín zi",盘子:"pán zi",了却:"liǎo què",力气:"lì qi",席子:"xí zi",林子:"lín zi",朝霞:"zhāo xiá",朝夕:"zhāo xī",朝气:"zhāo qì",翅膀:"chì bǎng",省长:"shěng zhǎng",臧否:"zāng pǐ",否泰:"pǐ tài",变得:"biàn de",丈夫:"zhàng fu",豆腐:"dòu fu",笔杆:"bǐ gǎn",枞阳:"zōng yáng",行人:"xíng rén",打着:"dǎ zhe",第一:"dì yī",万一:"wàn yī",之一:"zhī yī",得之:"dé zhī",统一:"tǒng yī",唯一:"wéi yī",专一:"zhuān yī",单一:"dān yī",如一:"rú yī",其一:"qí yī",合一:"hé yī",逐一:"zhú yī",周一:"zhōu yī",初一:"chū yī",研一:"yán yī",归一:"guī yī",假一:"jiǎ yī",闻一:"wén yī",了了:"liǎo liǎo",公了:"gōng liǎo",私了:"sī liǎo",一月:"yī yuè",一号:"yī hào",一级:"yī jí",一等:"yī děng",一哥:"yī gē",月一:"yuè yī",一一:"yī yī",二一:"èr yī",三一:"sān yī",四一:"sì yī",五一:"wǔ yī",六一:"liù yī",七一:"qī yī",八一:"bā yī",九一:"jiǔ yī","一〇":"yī líng",一零:"yī líng",一二:"yī èr",一三:"yī sān",一四:"yī sì",一五:"yī wǔ",一六:"yī liù",一七:"yī qī",一八:"yī bā",一九:"yī jiǔ",一又:"yī yòu",一饼:"yī bǐng",一楼:"yī lóu",为例:"wéi lì",为准:"wéi zhǔn",沧海:"cāng hǎi",难为:"nán wéi",责难:"zé nàn",患难:"huàn nàn",磨难:"mó nàn",大难:"dà nàn",刁难:"diāo nàn",殉难:"xùn nàn",落难:"luò nàn",罹难:"lí nàn",灾难:"zāi nàn",难民:"nàn mín",苦难:"kǔ nàn",危难:"wēi nàn",发难:"fā nàn",逃难:"táo nàn",避难:"bì nàn",遇难:"yù nàn",阻难:"zǔ nàn",厄难:"è nàn",徇难:"xùn nàn",空难:"kōng nàn",喜欢:"xǐ huan",朝朝:"zhāo zhāo",不行:"bù xíng",轧轧:"yà yà",弯曲:"wān qū",扭曲:"niǔ qū",曲直:"qū zhí",委曲:"wěi qū",酒曲:"jiǔ qū",曲径:"qū jìng",曲解:"qū jiě",歪曲:"wāi qū",曲线:"qū xiàn",曲阜:"qū fù",九曲:"jiǔ qū",曲折:"qū zhé",曲肱:"qū gōng",曲意:"qū yì",仡佬:"gē lǎo"},Eh=Object.keys(oi).map(n=>({zh:n,pinyin:oi[n],probability:2e-8,length:2,priority:Z.Normal,dict:Symbol("dict2")})),li={为什么:"wèi shén me",实际上:"shí jì shang",检察长:"jiǎn chá zhǎng",干什么:"gàn shén me",这会儿:"zhè huì er",尽可能:"jǐn kě néng",董事长:"dǒng shì zhǎng",了不起:"liǎo bù qǐ",参谋长:"cān móu zhǎng",朝鲜族:"cháo xiǎn zú",海内外:"hǎi nèi wài",禁不住:"jīn bú zhù",柏拉图:"bó lā tú",不在乎:"bú zài hu",洛杉矶:"luò shān jī",有点儿:"yǒu diǎn er",迫击炮:"pǎi jī pào",不得了:"bù dé liǎo",马尾松:"mǎ wěi sōng",运输量:"yùn shū liàng",发脾气:"fā pí qi",士大夫:"shì dà fū",鸭绿江:"yā lù jiāng",压根儿:"yà gēn er",对得起:"duì de qǐ",那会儿:"nà huì er",自个儿:"zì gě er",物理量:"wù lǐ liàng",怎么着:"zěn me zhāo",明晃晃:"míng huǎng huǎng",节假日:"jié jià rì",心里话:"xīn lǐ huà",发行量:"fā xíng liàng",兴冲冲:"xìng chōng chōng",分子量:"fēn zǐ liàng",国子监:"guó zǐ jiàn",老大难:"lǎo dà nán",党内外:"dǎng nèi wài",这么着:"zhè me zhāo",少奶奶:"shào nǎi nai",暗地里:"àn dì lǐ",更年期:"gēng nián qī",工作量:"gōng zuò liàng",背地里:"bèi dì lǐ",山里红:"shān li hóng",好好儿:"hǎo hāo er",交响乐:"jiāo xiǎng yuè",好意思:"hǎo yì si",吐谷浑:"tǔ yù hún",没意思:"méi yì si",理发师:"lǐ fà shī",塔什干:"tǎ shí gān",充其量:"chōng qí liàng",靠得住:"kào de zhù",车行道:"chē xíng dào",人行道:"rén xíng dào",中郎将:"zhōng láng jiàng",照明弹:"zhào míng dàn",烟幕弹:"yān mù dàn",没奈何:"mò nài hé",乱哄哄:"luàn hōng hōng",惠更斯:"huì gēng sī",载重量:"zài zhòng liàng",瞧得起:"qiáo de qǐ",纪传体:"jì zhuàn tǐ",阿房宫:"ē páng gōng",卷心菜:"juǎn xīn cài",戏班子:"xì bān zi",过得去:"guò de qù",花岗石:"huā gāng shí",外甥女:"wài sheng nǚ",团团转:"tuán tuán zhuàn",大堡礁:"dà bǎo jiāo",燃烧弹:"rán shāo dàn",劳什子:"láo shí zi",摇滚乐:"yáo gǔn yuè",夹竹桃:"jiā zhú táo",闹哄哄:"nào hōng hōng",三连冠:"sān lián guàn",重头戏:"zhòng tóu xì",二人转:"èr rén zhuàn",节骨眼:"jiē gǔ yǎn",知识面:"zhī shi miàn",护士长:"hù shi zhǎng",信号弹:"xìn hào dàn",干电池:"gān diàn chí",枪杆子:"qiāng gǎn zi",哭丧棒:"kū sāng bàng",鼻咽癌:"bí yān ái",瓦岗军:"wǎ gāng jūn",买得起:"mǎi de qǐ",癞蛤蟆:"lài há ma",脊梁骨:"jǐ liang gǔ",子母弹:"zǐ mǔ dàn",开小差:"kāi xiǎo chāi",女强人:"nǚ qiáng rén",英雄传:"yīng xióng zhuàn",爵士乐:"jué shì yuè",说笑话:"shuō xiào hua",碰头会:"pèng tóu huì",玻璃钢:"bō li gāng",曳光弹:"yè guāng dàn",少林拳:"shào lín quán",咏叹调:"yǒng tàn diào",少先队:"shào xiān duì",灵长目:"líng zhǎng mù",对着干:"duì zhe gàn",蒙蒙亮:"méng méng liàng",软骨头:"ruǎn gǔ tou",铺盖卷:"pū gài juǎn",和稀泥:"huò xī ní",背黑锅:"bēi hēi guō",红彤彤:"hóng tōng tōng",武侯祠:"wǔ hóu cí",打哆嗦:"dǎ duō suo",户口簿:"hù kǒu bù",马尾藻:"mǎ wěi zǎo",夜猫子:"yè māo zi",打手势:"dǎ shǒu shì",龙王爷:"lóng wáng yé",气头上:"qì tóu shang",糊涂虫:"hú tu chóng",笔杆子:"bǐ gǎn zi",占便宜:"zhàn pián yi",打主意:"dǎ zhǔ yì",多弹头:"duō dàn tóu",露一手:"lòu yì shǒu",堰塞湖:"yàn sè hú",保得住:"bǎo de zhù",趵突泉:"bào tū quán",奥得河:"ào de hé",司务长:"sī wù zhǎng",禁不起:"jīn bù qǐ",什刹海:"shí chà hǎi",莲花落:"lián huā lào",见世面:"jiàn shì miàn",豁出去:"huō chū qù",电位差:"diàn wèi chā",挨个儿:"āi gè er",那阵儿:"nà zhèn er",肺活量:"fèi huó liàng",大师傅:"dà shī fu",掷弹筒:"zhì dàn tǒng",打呼噜:"dǎ hū lu",广渠门:"ān qú mén",未见得:"wèi jiàn dé",大婶儿:"dà shěn er",谈得来:"tán de lái",脚丫子:"jiǎo yā zi",空包弹:"kōng bāo dàn",窝里斗:"wō li dòu",弹着点:"dàn zhuó diǎn",个头儿:"gè tóu er",看得起:"kàn de qǐ",糊涂账:"hú tu zhàng",大猩猩:"dà xīng xing",禁得起:"jīn de qǐ",法相宗:"fǎ xiàng zōng",可怜相:"kě lián xiàng",吃得下:"chī de xià",汉堡包:"hàn bǎo bāo",闹嚷嚷:"nào rāng rāng",数来宝:"shǔ lái bǎo",合得来:"hé de lái",干性油:"gān xìng yóu",闷葫芦:"mèn hú lu",呱呱叫:"guā guā jiào",西洋参:"xī yáng shēn",林荫道:"lín yīn dào",拉家常:"lā jiā cháng",卷铺盖:"juǎn pū gài",过得硬:"guò de yìng",飞将军:"fēi jiāng jūn",挑大梁:"tiǎo dà liáng",哈巴狗:"hǎ ba gǒu",过家家:"guò jiā jiā",催泪弹:"cuī lèi dàn",雨夹雪:"yǔ jiā xuě",敲竹杠:"qiāo zhú gàng",列车长:"liè chē zhǎng",华达呢:"huá dá ní",犯得着:"fàn de zháo",土疙瘩:"tǔ gē da",煞风景:"shā fēng jǐng",轻量级:"qīng liàng jí",羞答答:"xiū dā dā",石子儿:"shí zǐ er",达姆弹:"dá mǔ dàn",科教片:"kē jiào piān",侃大山:"kǎn dà shān",丁点儿:"dīng diǎn er",吃得消:"chī de xiāo",捋虎须:"luō hǔ xū",高丽参:"gāo lí shēn",众生相:"zhòng shēng xiàng",咽峡炎:"yān xiá yán",禁得住:"jīn de zhù",吃得开:"chī de kāi",柞丝绸:"zuò sī chóu",应声虫:"yìng shēng chóng",数得着:"shǔ de zháo",傻劲儿:"shǎ jìn er",铅玻璃:"qiān bō li",可的松:"kě dì sōng",划得来:"huá de lái",晕乎乎:"yūn hū hū",屎壳郎:"shǐ ke làng",尥蹶子:"liào juě zi",藏红花:"zàng hóng huā",闷罐车:"mèn guàn chē",卡脖子:"qiǎ bó zi",红澄澄:"hóng deng deng",赶得及:"gǎn de jí",当间儿:"dāng jiàn er",露马脚:"lòu mǎ jiǎo",鸡内金:"jī nèi jīn",犯得上:"fàn de shàng",钉齿耙:"dīng chǐ bà",饱和点:"bǎo hé diǎn",龙爪槐:"lóng zhǎo huái",喝倒彩:"hè dào cǎi",定冠词:"dìng guàn cí",担担面:"dàn dan miàn",吃得住:"chī de zhù",爪尖儿:"zhuǎ jiān er",支着儿:"zhī zhāo er",折跟头:"zhē gēn tou",阴着儿:"yīn zhāo er",烟卷儿:"yān juǎn er",宣传弹:"xuān chuán dàn",信皮儿:"xìn pí er",弦切角:"xián qiē jiǎo",缩砂密:"sù shā mì",说得来:"shuō de lái",水漂儿:"shuǐ piāo er",耍笔杆:"shuǎ bǐ gǎn",数得上:"shǔ de shàng",数不着:"shǔ bù zháo",数不清:"shǔ bù qīng",什件儿:"shí jiàn er",生死簿:"shēng sǐ bù",扇风机:"shān fēng jī",撒呓挣:"sā yì zheng",日记簿:"rì jì bù",热得快:"rè de kuài",亲家公:"qìng jia gōng",奇函数:"jī hán shù",拍纸簿:"pāi zhǐ bù",努劲儿:"nǔ jìn er",泥娃娃:"ní wá wa",内切圆:"nèi qiē yuán",哪会儿:"nǎ huì er",闷头儿:"mēn tóu er",没谱儿:"méi pǔ er",铆劲儿:"mǎo jìn er",溜肩膀:"liū jiān bǎng",了望台:"liào wàng tái",老来少:"lǎo lái shào",坤角儿:"kūn jué er",考勤簿:"kǎo qín bù",卷笔刀:"juǎn bǐ dāo",进给量:"jìn jǐ liàng",划不来:"huá bù lái",汗褂儿:"hàn guà er",鼓囊囊:"gǔ nāng nāng",够劲儿:"gòu jìn er",公切线:"gōng qiē xiàn",搁得住:"gé de zhù",赶浪头:"gǎn làng tóu",赶得上:"gǎn de shàng",干酵母:"gān jiào mǔ",嘎渣儿:"gā zhā er",嘎嘣脆:"gā bēng cuì",对得住:"duì de zhù",逗闷子:"dòu mèn zi",顶呱呱:"dǐng guā guā",滴溜儿:"dī liù er",大轴子:"dà zhòu zi",打板子:"dǎ bǎn zi",寸劲儿:"cùn jìn er",醋劲儿:"cù jìn er",揣手儿:"chuāi shǒu er",冲劲儿:"chòng jìn er",吃得来:"chī de lái",不更事:"bù gēng shì",奔头儿:"bèn tou er",百夫长:"bǎi fū zhǎng",娃娃亲:"wá wa qīn",死劲儿:"sǐ jìn er",骨朵儿:"gū duǒ er",功劳簿:"gōng láo bù",都江堰:"dū jiāng yàn",一担水:"yí dàn shuǐ",否极泰:"pǐ jí tài",泰来否:"tài lái pǐ",咳特灵:"ké tè líng",开户行:"kāi hù háng",郦食其:"lì yì jī",花事了:"huā shì liǎo",一更更:"yì gēng gēng",一重山:"yì chóng shān",风一更:"fēng yì gēng",雪一更:"xuě yì gēng",归一码:"guī yì mǎ",星期一:"xīng qī yī",礼拜一:"lǐ bài yī",一季度:"yī jì dù",一月一:"yī yuè yī",一字马:"yī zì mǎ",一是一:"yī shì yī",一次方:"yī cì fāng",一阳指:"yī yáng zhǐ",一字决:"yī zì jué",一年级:"yī nián jí",一不做:"yī bú zuò",屈戌儿:"qū qu ér",难为水:"nán wéi shuǐ",难为情:"nán wéi qíng",行一行:"xíng yì háng",别别的:"biè bié de",干哪行:"gàn nǎ háng",干一行:"gàn yì háng",曲别针:"qū bié zhēn"},_h=Object.keys(li).map(n=>({zh:n,pinyin:li[n],probability:2e-8,length:3,priority:Z.Normal,dict:Symbol("dict3")})),ti={成吉思汗:"chéng jí sī hán",四通八达:"sì tōng bā dá",一模一样:"yì mú yí yàng",青藏高原:"qīng zàng gāo yuán",阿弥陀佛:"ē mí tuó fó",解放思想:"jiè fàng sī xiǎng",所作所为:"suǒ zuò suǒ wéi",迷迷糊糊:"mí mí hu hū",荷枪实弹:"hè qiāng shí dàn",兴高采烈:"xìng gāo cǎi liè",无能为力:"wú néng wéi lì",布鲁塞尔:"bù lǔ sài ěr",为所欲为:"wéi suǒ yù wéi",克什米尔:"kè shí mǐ ěr",没完没了:"méi wán méi liǎo",不为人知:"bù wéi rén zhī",结结巴巴:"jiē jiē bā bā",前仆后继:"qián pū hòu jì",铺天盖地:"pū tiān gài dì",直截了当:"zhí jié liǎo dàng",供不应求:"gōng bú yìng qiú",御史大夫:"yù shǐ dà fū",不为瓦全:"bù wéi wǎ quán",不可收拾:"bù kě shōu shi",胡作非为:"hú zuò fēi wéi",分毫不差:"fēn háo bú chà",模模糊糊:"mó mó hu hū",不足为奇:"bù zú wéi qí",悄无声息:"qiǎo wú shēng xī",了如指掌:"liǎo rú zhǐ zhǎng",深恶痛绝:"shēn wù tòng jué",高高兴兴:"gāo gāo xìng xìng",唉声叹气:"āi shēng tàn qì",汉藏语系:"hàn zàng yǔ xì",处心积虑:"chǔ xīn jī lǜ",泣不成声:"qì bù chéng shēng",半夜三更:"bàn yè sān gēng",失魂落魄:"shī hún luò pò",二十八宿:"èr shí bā xiù",转来转去:"zhuàn lái zhuàn qù",数以万计:"shǔ yǐ wàn jì",相依为命:"xiāng yī wéi mìng",恋恋不舍:"liàn liàn bù shě",屈指可数:"qū zhǐ kě shǔ",神出鬼没:"shén chū guǐ mò",结结实实:"jiē jiē shí shí",有的放矢:"yǒu dì fàng shǐ",叽哩咕噜:"jī lǐ gū lū",调兵遣将:"diào bīng qiǎn jiàng",载歌载舞:"zài gē zài wǔ",转危为安:"zhuǎn wēi wéi ān",踏踏实实:"tā tā shi shí",桑给巴尔:"sāng jǐ bā ěr",装模作样:"zhuāng mú zuò yàng",见义勇为:"jiàn yì yǒng wéi",相差无几:"xiāng chā wú jǐ",叹为观止:"tàn wéi guān zhǐ",闷闷不乐:"mèn mèn bú lè",喜怒哀乐:"xǐ nù āi lè",鲜为人知:"xiǎn wéi rén zhī",张牙舞爪:"zhāng yá wǔ zhǎo",为非作歹:"wéi fēi zuò dǎi",含糊其辞:"hán hú qí cí",疲于奔命:"pí yú bēn mìng",勉为其难:"miǎn wéi qí nán",依依不舍:"yī yī bù shě",顶头上司:"dǐng tóu shàng si",不着边际:"bù zhuó biān jì",大模大样:"dà mú dà yàng",寻欢作乐:"xún huān zuò lè",一走了之:"yì zǒu liǎo zhī",字里行间:"zì lǐ háng jiān",含含糊糊:"hán hán hu hū",恰如其分:"qià rú qí fèn",破涕为笑:"pò tì wéi xiào",深更半夜:"shēn gēng bàn yè",千差万别:"qiān chā wàn bié",数不胜数:"shǔ bú shèng shǔ",据为己有:"jù wéi jǐ yǒu",天旋地转:"tiān xuán dì zhuàn",养尊处优:"yǎng zūn chǔ yōu",玻璃纤维:"bō li xiān wéi",吵吵闹闹:"chāo chao nào nào",晕头转向:"yūn tóu zhuàn xiàng",土生土长:"tǔ shēng tǔ zhǎng",宁死不屈:"nìng sǐ bù qū",不省人事:"bù xǐng rén shì",尽力而为:"jìn lì ér wéi",精明强干:"jīng míng qiáng gàn",唠唠叨叨:"láo lao dāo dāo",叽叽喳喳:"jī ji zhā zhā",功不可没:"gōng bù kě mò",锲而不舍:"qiè ér bù shě",排忧解难:"pái yōu jiě nàn",稀里糊涂:"xī li hú tú",各有所长:"gè yǒu suǒ cháng",的的确确:"dí dí què què",哄堂大笑:"hōng táng dà xiào",听而不闻:"tīng ér bù wén",刀耕火种:"dāo gēng huǒ zhòng",内分泌腺:"nèi fèn mì xiàn",化险为夷:"huà xiǎn wéi yí",百发百中:"bǎi fā bǎi zhòng",重见天日:"chóng jiàn tiān rì",反败为胜:"fǎn bài wéi shèng",一了百了:"yì liǎo bǎi liǎo",大大咧咧:"dà da liē liē",心急火燎:"xīn jí huǒ liǎo",粗心大意:"cū xīn dà yi",鸡皮疙瘩:"jī pí gē da",夷为平地:"yí wéi píng dì",日积月累:"rì jī yuè lěi",设身处地:"shè shēn chǔ dì",投其所好:"tóu qí suǒ hào",间不容发:"jiān bù róng fà",人满为患:"rén mǎn wéi huàn",穷追不舍:"qióng zhuī bù shě",为时已晚:"wéi shí yǐ wǎn",如数家珍:"rú shǔ jiā zhēn",心里有数:"xīn lǐ yǒu shù",以牙还牙:"yǐ yá huán yá",神不守舍:"shén bù shǒu shě",孟什维克:"mèng shí wéi kè",各自为战:"gè zì wéi zhàn",怨声载道:"yuàn shēng zài dào",救苦救难:"jiù kǔ jiù nàn",好好先生:"hǎo hǎo xiān sheng",怪模怪样:"guài mú guài yàng",抛头露面:"pāo tóu lù miàn",游手好闲:"yóu shǒu hào xián",无所不为:"wú suǒ bù wéi",调虎离山:"diào hǔ lí shān",步步为营:"bù bù wéi yíng",好大喜功:"hào dà xǐ gōng",众矢之的:"zhòng shǐ zhī dì",长生不死:"cháng shēng bù sǐ",蔚为壮观:"wèi wéi zhuàng guān",不可胜数:"bù kě shèng shǔ",鬼使神差:"guǐ shǐ shén chāi",洁身自好:"jié shēn zì hào",敢作敢为:"gǎn zuò gǎn wéi",茅塞顿开:"máo sè dùn kāi",走马换将:"zǒu mǎ huàn jiàng",为时过早:"wéi shí guò zǎo",为人师表:"wéi rén shī biǎo",阴差阳错:"yīn chā yáng cuò",油腔滑调:"yóu qiāng huá diào",重蹈覆辙:"chóng dǎo fù zhé",骂骂咧咧:"mà ma liē liē",絮絮叨叨:"xù xù dāo dāo",如履薄冰:"rú lǚ bó bīng",损兵折将:"sǔn bīng zhé jiàng",拐弯抹角:"guǎi wān mò jiǎo",像模像样:"xiàng mú xiàng yàng",供过于求:"gōng guò yú qiú",开花结果:"kāi huā jiē guǒ",仔仔细细:"zǐ zǐ xì xì",川藏公路:"chuān zàng gōng lù",河北梆子:"hé běi bāng zi",长年累月:"cháng nián lěi yuè",正儿八经:"zhèng er bā jīng",不识抬举:"bù shí tái ju",重振旗鼓:"chóng zhèn qí gǔ",气息奄奄:"qì xī yān yān",紧追不舍:"jǐn zhuī bù shě",服服帖帖:"fú fu tiē tiē",强词夺理:"qiǎng cí duó lǐ",噼里啪啦:"pī li pā lā",人才济济:"rén cái jǐ jǐ",发人深省:"fā rén shēn xǐng",不足为凭:"bù zú wéi píng",为富不仁:"wéi fù bù rén",连篇累牍:"lián piān lěi dú",呼天抢地:"hū tiān qiāng dì",落落大方:"luò luò dà fāng",自吹自擂:"zì chuī zì léi",乐善好施:"lè shàn hào shī",以攻为守:"yǐ gōng wéi shǒu",磨磨蹭蹭:"mó mó cèng cèng",削铁如泥:"xuē tiě rú ní",助纣为虐:"zhù zhòu wéi nüè",以退为进:"yǐ tuì wéi jìn",嘁嘁喳喳:"qī qī chā chā",枪林弹雨:"qiāng lín dàn yǔ",令人发指:"lìng rén fà zhǐ",转败为胜:"zhuǎn bài wéi shèng",转弯抹角:"zhuǎn wān mò jiǎo",在劫难逃:"zài jié nán táo",正当防卫:"zhèng dàng fáng wèi",不足为怪:"bù zú wéi guài",难兄难弟:"nàn xiōng nàn dì",咿咿呀呀:"yī yī yā yā",弹尽粮绝:"dàn jìn liáng jué",阿谀奉承:"ē yú fèng chéng",稀里哗啦:"xī li huā lā",返老还童:"fǎn lǎo huán tóng",好高骛远:"hào gāo wù yuǎn",鹿死谁手:"lù sǐ shéi shǒu",差强人意:"chā qiáng rén yì",大吹大擂:"dà chuī dà léi",成家立业:"chéng jiā lì yè",自怨自艾:"zì yuàn zì yì",负债累累:"fù zhài lěi lěi",古为今用:"gǔ wéi jīn yòng",入土为安:"rù tǔ wéi ān",下不为例:"xià bù wéi lì",一哄而上:"yì hōng ér shàng",没头苍蝇:"méi tóu cāng ying",天差地远:"tiān chā dì yuǎn",风卷残云:"fēng juǎn cán yún",多灾多难:"duō zāi duō nàn",乳臭未干:"rǔ xiù wèi gān",行家里手:"háng jiā lǐ shǒu",狼狈为奸:"láng bèi wéi jiān",处变不惊:"chǔ biàn bù jīng",一唱一和:"yí chàng yí hè",一念之差:"yí niàn zhī chā",金蝉脱壳:"jīn chán tuō qiào",滴滴答答:"dī dī dā dā",硕果累累:"shuò guǒ léi léi",好整以暇:"hào zhěng yǐ xiá",红得发紫:"hóng de fā zǐ",传为美谈:"chuán wéi měi tán",富商大贾:"fù shāng dà gǔ",四海为家:"sì hǎi wéi jiā",了若指掌:"liǎo ruò zhǐ zhǎng",大有可为:"dà yǒu kě wéi",出头露面:"chū tóu lù miàn",鼓鼓囊囊:"gǔ gu nāng nāng",窗明几净:"chuāng míng jī jìng",泰然处之:"tài rán chǔ zhī",怒发冲冠:"nù fà chōng guān",有机玻璃:"yǒu jī bō li",骨头架子:"gǔ tou jià zi",义薄云天:"yì bó yún tiān",一丁点儿:"yī dīng diǎn er",时来运转:"shí lái yùn zhuǎn",陈词滥调:"chén cí làn diào",化整为零:"huà zhěng wéi líng",火烧火燎:"huǒ shāo huǒ liǎo",干脆利索:"gàn cuì lì suǒ",吊儿郎当:"diào er láng dāng",广种薄收:"guǎng zhòng bó shōu",种瓜得瓜:"zhòng guā dé guā",种豆得豆:"zhòng dòu dé dòu",难舍难分:"nán shě nán fēn",歃血为盟:"shà xuè wéi méng",奋发有为:"fèn fā yǒu wéi",阴错阳差:"yīn cuò yáng chā",东躲西藏:"dōng duǒ xī cáng",烟熏火燎:"yān xūn huǒ liǎo",钻牛角尖:"zuān niú jiǎo jiān",乔装打扮:"qiáo zhuāng dǎ bàn",改弦更张:"gǎi xián gēng zhāng",河南梆子:"hé nán bāng zi",好吃懒做:"hào chī lǎn zuò",何乐不为:"hé lè bù wéi",大出风头:"dà chū fēng tóu",攻城掠地:"gōng chéng lüè dì",漂漂亮亮:"piào piào liang liang",折衷主义:"zhé zhōng zhǔ yì",大马哈鱼:"dà mǎ hǎ yú",绿树成荫:"lǜ shù chéng yīn",率先垂范:"shuài xiān chuí fàn",家长里短:"jiā cháng lǐ duǎn",宽大为怀:"kuān dà wéi huái",左膀右臂:"zuǒ bǎng yòu bì",一笑了之:"yí xiào liǎo zhī",天下为公:"tiān xià wéi gōng",还我河山:"huán wǒ hé shān",何足为奇:"hé zú wéi qí",好自为之:"hǎo zì wéi zhī",风姿绰约:"fēng zī chuò yuē",大雨滂沱:"dà yǔ pāng tuó",传为佳话:"chuán wéi jiā huà",吃里扒外:"chī lǐ pá wài",重操旧业:"chóng cāo jiù yè",小家子气:"xiǎo jiā zi qì",少不更事:"shào bù gēng shì",难分难舍:"nán fēn nán shě",添砖加瓦:"tiān zhuān jiā wǎ",是非分明:"shì fēi fēn míng",舍我其谁:"shě wǒ qí shuí",偏听偏信:"piān tīng piān xìn",量入为出:"liàng rù wéi chū",降龙伏虎:"xiáng lóng fú hǔ",钢化玻璃:"gāng huà bō li",正中下怀:"zhèng zhòng xià huái",以身许国:"yǐ shēn xǔ guó",一语中的:"yì yǔ zhòng dì",丧魂落魄:"sàng hún luò pò",三座大山:"sān zuò dà shān",济济一堂:"jǐ jǐ yì táng",好事之徒:"hào shì zhī tú",干净利索:"gàn jìng lì suǒ",出将入相:"chū jiàng rù xiàng",袅袅娜娜:"niǎo niǎo nuó nuó",狐狸尾巴:"hú li wěi ba",好逸恶劳:"hào yì wù láo",大而无当:"dà ér wú dàng",打马虎眼:"dǎ mǎ hu yǎn",板上钉钉:"bǎn shàng dìng dīng",吆五喝六:"yāo wǔ hè liù",虾兵蟹将:"xiā bīng xiè jiàng",水调歌头:"shuǐ diào gē tóu",数典忘祖:"shǔ diǎn wàng zǔ",人事不省:"rén shì bù xǐng",曲高和寡:"qǔ gāo hè guǎ",屡教不改:"lǚ jiào bù gǎi",互为因果:"hù wéi yīn guǒ",互为表里:"hù wéi biǎo lǐ",厚此薄彼:"hòu cǐ bó bǐ",过关斩将:"guò guān zhǎn jiàng",疙疙瘩瘩:"gē ge dā dā",大腹便便:"dà fù pián pián",走为上策:"zǒu wéi shàng cè",冤家对头:"yuān jia duì tóu",有隙可乘:"yǒu xì kě chèng",一鳞半爪:"yì lín bàn zhǎo",片言只语:"piàn yán zhǐ yǔ",开花结实:"kāi huā jié shí",经年累月:"jīng nián lěi yuè",含糊其词:"hán hú qí cí",寡廉鲜耻:"guǎ lián xiǎn chǐ",成年累月:"chéng nián lěi yuè",不徇私情:"bú xùn sī qíng",不当人子:"bù dāng rén zǐ",膀大腰圆:"bǎng dà yāo yuán",指腹为婚:"zhǐ fù wéi hūn",这么点儿:"zhè me diǎn er",意兴索然:"yì xīng suǒ rán",绣花枕头:"xiù huā zhěn tou",无的放矢:"wú dì fàng shǐ",望闻问切:"wàng wén wèn qiè",舍己为人:"shě jǐ wèi rén",穷年累月:"qióng nián lěi yuè",排难解纷:"pái nàn jiě fēn",处之泰然:"chǔ zhī tài rán",指鹿为马:"zhǐ lù wéi mǎ",危如累卵:"wēi rú lěi luǎn",天兵天将:"tiān bīng tiān jiàng",舍近求远:"shě jìn qiú yuǎn",南腔北调:"nán qiāng běi diào",苦中作乐:"kǔ zhōng zuò lè",厚积薄发:"hòu jī bó fā",臭味相投:"xiù wèi xiāng tóu",长幼有序:"zhǎng yòu yǒu xù",逼良为娼:"bī liáng wéi chāng",悲悲切切:"bēi bēi qiè qiē",败军之将:"bài jūn zhī jiàng",欺行霸市:"qī háng bà shì",削足适履:"xuē zú shì lǚ",先睹为快:"xiān dǔ wéi kuài",啼饥号寒:"tí jī háo hán",疏不间亲:"shū bú jiàn qīn",神差鬼使:"shén chāi guǐ shǐ",敲敲打打:"qiāo qiāo dǎ dǎ",平铺直叙:"píng pū zhí xù",没头没尾:"méi tóu mò wěi",寥寥可数:"liáo liáo kě shǔ",哼哈二将:"hēng hā èr jiàng",鹤发童颜:"hè fà tóng yán",各奔前程:"gè bèn qián chéng",弹无虚发:"dàn wú xū fā",大人先生:"dà rén xiān sheng",与民更始:"yǔ mín gēng shǐ",树碑立传:"shù bēi lì zhuàn",是非得失:"shì fēi dé shī",实逼处此:"shí bī chǔ cǐ",塞翁失马:"sài wēng shī mǎ",日薄西山:"rì bó xī shān",切身体会:"qiè shēn tǐ huì",片言只字:"piàn yán zhǐ zì",跑马卖解:"pǎo mǎ mài xiè",宁折不弯:"nìng zhé bù wān",零零散散:"líng líng sǎn sǎn",量体裁衣:"liàng tǐ cái yī",连中三元:"lián zhòng sān yuán",礼崩乐坏:"lǐ bēng yuè huài",不为已甚:"bù wéi yǐ shèn",转悲为喜:"zhuǎn bēi wéi xǐ",以眼还眼:"yǐ yǎn huán yǎn",蔚为大观:"wèi wéi dà guān",未为不可:"wèi wéi bù kě",童颜鹤发:"tóng yán hè fà",朋比为奸:"péng bǐ wéi jiān",莫此为甚:"mò cǐ wéi shèn",夹枪带棒:"jiā qiāng dài bàng",富商巨贾:"fù shāng jù jiǎ",淡然处之:"dàn rán chǔ zhī",箪食壶浆:"dān shí hú jiāng",创巨痛深:"chuāng jù tòng shēn",草长莺飞:"cǎo zhǎng yīng fēi",坐视不救:"zuò shī bú jiù",以己度人:"yǐ jǐ duó rén",随行就市:"suí háng jiù shì",文以载道:"wén yǐ zài dào",文不对题:"wén bú duì tí",铁板钉钉:"tiě bǎn dìng dīng",身体发肤:"shēn tǐ fà fū",缺吃少穿:"quē chī shǎo chuān",目无尊长:"mù wú zūn zhǎng",吉人天相:"jí rén tiān xiàng",毁家纾难:"huǐ jiā shū nàn",钢筋铁骨:"gāng jīn tiě gǔ",丢卒保车:"diū zú bǎo jū",丢三落四:"diū sān là sì",闭目塞听:"bì mù sè tīng",削尖脑袋:"xuē jiān nǎo dài",为非作恶:"wéi fēi zuò è",人才难得:"rén cái nán dé",情非得已:"qíng fēi dé yǐ",切中要害:"qiè zhòng yào hài",火急火燎:"huǒ jí huǒ liǎo",画地为牢:"huà dì wéi láo",好酒贪杯:"hào jiǔ tān bēi",长歌当哭:"cháng gē dàng kū",载沉载浮:"zài chén zài fú",遇难呈祥:"yù nàn chéng xiáng",榆木疙瘩:"yú mù gē da",以邻为壑:"yǐ lín wéi hè",洋为中用:"yáng wéi zhōng yòng",言为心声:"yán wéi xīn shēng",言必有中:"yán bì yǒu zhòng",图穷匕见:"tú qióng bǐ xiàn",滂沱大雨:"páng tuó dà yǔ",目不暇给:"mù bù xiá jǐ",量才录用:"liàng cái lù yòng",教学相长:"jiào xué xiāng zhǎng",悔不当初:"huǐ bù dāng chū",呼幺喝六:"hū yāo hè liù",不足为训:"bù zú wéi xùn",不拘形迹:"bù jū xíng jī",傍若无人:"páng ruò wú rén",罪责难逃:"zuì zé nán táo",自我吹嘘:"zì wǒ chuī xū",转祸为福:"zhuǎn huò wéi fú",勇冠三军:"yǒng guàn sān jūn",易地而处:"yì dì ér chǔ",卸磨杀驴:"xiè mò shā lǘ",玩儿不转:"wán ér bú zhuàn",天道好还:"tiān dào hǎo huán",身单力薄:"shēn dān lì bó",撒豆成兵:"sǎ dòu chéng bīng",片纸只字:"piàn zhǐ zhī zì",宁缺毋滥:"nìng quē wú làn",没没无闻:"mò mò wú wén",量力而为:"liàng lì ér wéi",历历可数:"lì lì kě shǔ",口碑载道:"kǒu bēi zài dào",君子好逑:"jūn zǐ hǎo qiú",好为人师:"hào wéi rén shī",豪商巨贾:"háo shāng jù jiǎ",各有所好:"gè yǒu suǒ hào",度德量力:"duó dé liàng lì",指天为誓:"zhǐ tiān wéi shì",逸兴遄飞:"yì xìng chuán fēi",心宽体胖:"xīn kuān tǐ pán",为德不卒:"wéi dé bù zú",天下为家:"tiān xià wéi jiā",视为畏途:"shì wéi wèi tú",三灾八难:"sān zāi bā nàn",沐猴而冠:"mù hóu ér guàn",哩哩啦啦:"lī li lā lā",见缝就钻:"jiàn fèng jiù zuān",夹层玻璃:"jiā céng bō li",急公好义:"jí gōng hào yì",积年累月:"jī nián lěi yuè",划地为牢:"huá dì wéi láo",更名改姓:"gēng míng gǎi xìng",奉为圭臬:"fèng wéi guī niè",多难兴邦:"duō nàn xīng bāng",不破不立:"bú pò bú lì",坐地自划:"zuò dì zì huá",坐不重席:"zuò bù chóng xí",坐不窥堂:"zuò bù kuī táng",作嫁衣裳:"zuò jià yī shang",左枝右梧:"zuǒ zhī yòu wú",左宜右有:"zuǒ yí yòu yǒu",钻头觅缝:"zuān tóu mì fèng",钻天打洞:"zuān tiān dǎ dòng",钻皮出羽:"zuān pí chū yǔ",钻火得冰:"zuān huǒ dé bīng",钻洞觅缝:"zuàn dòng mì féng",钻冰求火:"zuān bīng qiú huǒ",子为父隐:"zǐ wéi fù yǐn",擢发难数:"zhuó fà nán shǔ",着人先鞭:"zhuó rén xiān biān",斫雕为朴:"zhuó diāo wéi pǔ",锥处囊中:"zhuī chǔ náng zhōng",椎心饮泣:"chuí xīn yǐn qì",椎心泣血:"chuí xīn qì xuè",椎牛飨士:"chuí niú xiǎng shì",椎牛歃血:"chuí niú shà xuè",椎牛发冢:"chuí niú fà zhǒng",椎埋屠狗:"chuí mái tú gǒu",椎埋狗窃:"chuí mái gǒu qiè",壮发冲冠:"zhuàng fā chōng guàn",庄严宝相:"zhuāng yán bǎo xiàng",转愁为喜:"zhuǎn chóu wéi xǐ",转嗔为喜:"zhuǎn chēn wéi xǐ",拽巷啰街:"zhuài xiàng luó jiē",拽耙扶犁:"zhuāi pá fú lí",拽布拖麻:"zhuài bù tuō má",箸长碗短:"zhù cháng wǎn duǎn",铸剑为犁:"zhù jiàn wéi lí",杼柚其空:"zhù yòu qí kōng",杼柚空虚:"zhù yòu kōng xū",助天为虐:"zhù tiān wéi nüè",属垣有耳:"zhǔ yuán yǒu ěr",属毛离里:"zhǔ máo lí lǐ",属辞比事:"zhǔ cí bǐ shì",逐物不还:"zhú wù bù huán",铢量寸度:"zhū liáng cùn duó",铢两悉称:"zhū liǎng xī chèn",侏儒观戏:"zhū rú guān xì",朱轓皁盖:"zhū fān zào gài",昼度夜思:"zhòu duó yè sī",诪张为幻:"zhōu zhāng wéi huàn",重明继焰:"chóng míng jì yàn",众啄同音:"zhòng zhuó tóng yīn",众毛攒裘:"zhòng máo cuán qiú",众好众恶:"zhòng hào zhòng wù",擿埴索涂:"zhāi zhí suǒ tú",稚齿婑媠:"zhì chǐ wǒ tuó",至当不易:"zhì dàng bú yì",指皂为白:"zhǐ zào wéi bái",指雁为羹:"zhǐ yàn wéi gēng",指树为姓:"zhǐ shù wéi xìng",指山说磨:"zhǐ shān shuō mò",止戈为武:"zhǐ gē wéi wǔ",枝干相持:"zhī gàn xiāng chí",枝大于本:"zh dà yú běn",支吾其词:"zhī wú qí cí",正身率下:"zhèng shēn shuài xià",正冠李下:"zhèng guàn lǐ xià",整冠纳履:"zhěng guān nà lǚ",整躬率物:"zhěng gōng shuài wù",整顿干坤:"zhěng dùn gàn kūn",针头削铁:"zhēn tóu xuē tiě",贞松劲柏:"zhēn sōng jìng bǎi",赭衣塞路:"zhě yī sè lù",折箭为誓:"shé jiàn wéi shì",折而族之:"zhé ér zú zhī",昭德塞违:"zhāo dé sè wéi",章句小儒:"zhāng jù xiǎo rú",湛恩汪濊:"zhàn ēn wāng huì",占风望气:"zhān fēng wàng qì",斩将搴旗:"zhǎn jiàng qiān qí",曾母投杼:"zēng mǔ tóu zhù",曾参杀人:"zēng shēn shā rén",造谣中伤:"zào yáo zhòng shāng",早占勿药:"zǎo zhān wù yào",凿龟数策:"záo guī shǔ cè",攒三聚五:"cuán sān jù wǔ",攒眉蹙额:"cuán mei cù é",攒零合整:"cuán líng hé zhěng",攒锋聚镝:"cuán fēng jù dí",载笑载言:"zài xiào zài yán",载酒问字:"zài jiǔ wèn zì",殒身不恤:"yǔn shēn bú xù",云舒霞卷:"yún shū xiá juǎn",月中折桂:"yuè zhōng shé guì",月落参横:"yuè luò shēn héng",鬻驽窃价:"yù nú qiè jià",鬻鸡为凤:"yù jī wéi fèng",遇难成祥:"yù nàn chéng xiáng",郁郁累累:"yù yù lěi lěi",玉卮无当:"yù zhī wú dàng",语笑喧阗:"yǔ xiào xuān tián",与世沉浮:"yǔ shì chén fú",与时消息:"yǔ shí xiāo xi",逾墙钻隙:"yú qiáng zuān xì",渔夺侵牟:"yú duó qīn móu",杅穿皮蠹:"yú chuān pí dù",余勇可贾:"yú yǒng kě gǔ",予智予雄:"yú zhì yú xióng",予取予求:"yú qǔ yú qiú",于家为国:"yú jiā wéi guó",有借无还:"yǒu jiè wú huán",有加无已:"yǒu jiā wú yǐ",有国难投:"yǒu guó nán tóu",游必有方:"yóu bì yǒu fāng",油干灯尽:"yóu gàn dēng jìn",尤云殢雨:"yóu yún tì yǔ",庸中皦皦:"yōng zhōng jiǎo jiǎo",郢书燕说:"yǐng shū yān shuō",营蝇斐锦:"yíng yíng fēi jǐn",鹰心雁爪:"yīng xīn yàn zhǎo",莺吟燕儛:"yīng yín yàn wǔ",应天顺时:"yīng tiān shùn shí",印累绶若:"yìn léi shòu ruò",隐占身体:"yǐn zhàn shēn tǐ",饮犊上流:"yìn dú shàng liú",引绳切墨:"yǐn shéng qiē mò",龈齿弹舌:"yín chǐ dàn shé",因缘为市:"yīn yuán wéi shì",因树为屋:"yīn shù wéi wū",溢美溢恶:"yì měi yì wù",抑塞磊落:"yì sè lěi luò",倚闾望切:"yǐ lǘ wàng qiē",以意为之:"yǐ yì wéi zhī",以言为讳:"yǐ yán wéi huì",以疏间亲:"yǐ shū jiàn qīn",以水济水:"yǐ shuǐ jǐ shuǐ",以书为御:"yǐ shū wéi yù",以守为攻:"yǐ shǒu wéi gōng",以升量石:"yǐ shēng liáng dàn",以慎为键:"yǐ shèn wéi jiàn",以筌为鱼:"yǐ quán wéi yú",以利累形:"yǐ lì lěi xíng",以毁为罚:"yǐ huǐ wéi fá",以黑为白:"yǐ hēi wéi bái",以规为瑱:"yǐ guī wéi tiàn",以古为鉴:"yǐ gǔ wéi jiàn",以宫笑角:"yǐ gōng xiào jué",以法为教:"yǐ fǎ wéi jiào",以大恶细:"yǐ dà wù xì",遗世忘累:"yí shì wàng lěi",遗寝载怀:"yí qǐn zài huái",移的就箭:"yí dì jiù jiàn",依头缕当:"yī tóu lǚ dàng",衣租食税:"yì zū shí shuì",衣轻乘肥:"yì qīng chéng féi",衣裳之会:"yī shang zhī huì",衣单食薄:"yī dān shí bó",一还一报:"yì huán yí bào",叶公好龙:"yè gōng hào lóng",野调无腔:"yě diào wú qiāng",瑶池女使:"yáo chí nǚ shǐ",幺麽小丑:"yāo mó xiǎo chǒu",养精畜锐:"yǎng jīng xù ruì",卬首信眉:"áng shǒu shēn méi",洋洋纚纚:"yáng yáng sǎ sǎ",羊羔美酒:"yáng gāo měi jiǔ",扬风扢雅:"yáng fēng jié yǎ",燕昭市骏:"yān zhāo shì jùn",燕昭好马:"yān zhāo hǎo mǎ",燕石妄珍:"yān shí wàng zhēn",燕骏千金:"yān jùn qiān jīn",燕金募秀:"yān jīn mù xiù",燕驾越毂:"yān jià yuè gǔ",燕歌赵舞:"yān gē zhào wǔ",燕岱之石:"yān dài zhī shí",燕处危巢:"yàn chǔ wēi cháo",掞藻飞声:"shàn zǎo fēi shēng",偃革为轩:"yǎn gé wéi xuān",妍蚩好恶:"yán chī hǎo è",压良为贱:"yā liáng wéi jiàn",搀行夺市:"chān háng duó shì",泣数行下:"qì shù háng xià",当行出色:"dāng háng chū sè",秀出班行:"xiù chū bān háng",儿女成行:"ér nǚ chéng háng",大行大市:"dà háng dà shì",寻行数墨:"xún háng shǔ mò",埙篪相和:"xūn chí xiāng hè",血债累累:"xuè zhài lěi lěi",炫玉贾石:"xuàn yù gǔ shí",炫石为玉:"xuàn shí wéi yù",悬石程书:"xuán dàn chéng shū",悬狟素飡:"xuán huán sù cān",悬龟系鱼:"xuán guī xì yú",揎拳捋袖:"xuān quán luō xiù",轩鹤冠猴:"xuān hè guàn hóu",畜妻养子:"xù qī yǎng zǐ",羞人答答:"xiū rén dā dā",修鳞养爪:"xiū lín yǎng zhǎo",熊据虎跱:"xióng jù hǔ zhì",兄死弟及:"xiōng sǐ dì jí",腥闻在上:"xīng wén zài shàng",兴文匽武:"xīng wén yǎn wǔ",兴观群怨:"xìng guān qún yuàn",兴高彩烈:"xìng gāo cǎi liè",心手相应:"xīn shǒu xiāng yìng",心口相应:"xīn kǒu xiāng yīng",挟势弄权:"xié shì nòng quán",胁肩累足:"xié jiān lěi zú",校短量长:"jiào duǎn liáng cháng",小眼薄皮:"xiǎo yǎn bó pí",硝云弹雨:"xiāo yún dàn yǔ",鸮鸣鼠暴:"xiāo míng shǔ bào",削株掘根:"xuē zhū jué gēn",削铁无声:"xuē tiě wú shēng",削职为民:"xuē zhí wéi mín",削木为吏:"xuē mù wéi lì",想望风褱:"xiǎng wàng fēng huái",香培玉琢:"xiang pei yu zhuó",相鼠有皮:"xiàng shǔ yǒu pí",相时而动:"xiàng shí ér dòng",相切相磋:"xiāng qiē xiāng cuō",相女配夫:"xiàng nǚ pèi fū",相门有相:"xiàng mén yǒu xiàng",挦章撦句:"xián zhāng chě jù",先我着鞭:"xiān wǒ zhuó biān",习焉不察:"xí yān bù chá",歙漆阿胶:"shè qī ē jiāo",晰毛辨发:"xī máo biàn fà",悉索薄赋:"xī suǒ bó fù",雾鳞云爪:"wù lín yún zhǎo",物稀为贵:"wù xī wéi guì",碔砆混玉:"wǔ fū hùn yù",武断专横:"wǔ duàn zhuān héng",五石六鹢:"wǔ shí liù yì",五色相宣:"wǔ sè xiāng xuān",五侯七贵:"wǔ hóu qī guì",五侯蜡烛:"wǔ hòu là zhú",五羖大夫:"wǔ gǔ dà fū",吾自有处:"wú zì yǒu chǔ",无下箸处:"wú xià zhù chǔ",无伤无臭:"wú shāng wú xiù",无能为役:"wú néng wéi yì",无寇暴死:"wú kòu bào sǐ",无孔不钻:"wú kǒng bú zuàn",无间可乘:"wú jiān kě chéng",无间冬夏:"wú jiān dōng xià",无恶不为:"wú è bù wéi",无动为大:"wú dòng wéi dà",诬良为盗:"wū liáng wéi dào",握拳透爪:"wò quán tòu zhǎo",文武差事:"wén wǔ chāi shì",委委佗佗:"wēi wēi tuó tuó",惟日为岁:"wéi rì wéi suì",帷薄不修:"wéi bó bù xiū",为善最乐:"wéi shàn zuì lè",为山止篑:"wéi shān zhǐ kuì",为仁不富:"wéi rén bú fù",为裘为箕:"wéi qiú wéi jī",为民父母:"wéi mín fù mǔ",为虺弗摧:"wéi huǐ fú cuī",为好成歉:"wéi hǎo chéng qiàn",为鬼为蜮:"wéi guǐ wéi yù",望风响应:"wàng fēng xiǎng yīng",望尘僄声:"wàng chén piào shēng",往渚还汀:"wǎng zhǔ huán tīng",王贡弹冠:"wáng gòng dàn guàn",亡国大夫:"wáng guó dà fū",万贯家私:"wàn guàn jiā sī",晚食当肉:"wǎn shí dàng ròu",晚节不保:"wǎn jié bù bǎo",玩岁愒时:"wán suì kài shí",蛙蟆胜负:"wā má shèng fù",吞言咽理:"tūn yán yàn lǐ",颓垣断堑:"tuí yuán duàn qiàn",推干就湿:"tuī gàn jiù shī",剸繁决剧:"tuán fán jué jù",团头聚面:"tuán tóu jù miàn",兔丝燕麦:"tù sī yàn mài",兔头麞脑:"tù tóu zhāng nǎo",兔葵燕麦:"tù kuí yàn mài",吐哺握发:"tǔ bǔ wò fà",投传而去:"tóu zhuàn ér qù",头没杯案:"tóu mò bēi àn",头昏脑闷:"tóu hūn nǎo mèn",头会箕敛:"tóu kuài jī liǎn",头出头没:"tóu chū tóu mò",痛自创艾:"tòng zì chuāng yì",同恶相助:"tóng wù xiāng zhù",同恶相恤:"tóng wù xiāng xù",痌瘝在抱:"tōng guān zài bào",通文调武:"tōng wén diào wǔ",停留长智:"tíng liú zhǎng zhì",铁树开华:"tiě shù kāi huā",条贯部分:"tiáo guàn bù fēn",挑牙料唇:"tiǎo yá liào chún",挑么挑六:"tiāo yāo tiāo liù",挑唇料嘴:"tiǎo chún liào zuǐ",恬不为意:"tián bù wéi yì",恬不为怪:"tián bù wéi guài",天下为笼:"tiān xià wéi lóng",天台路迷:"tiān tái lù mí",天年不遂:"tiān nián bú suì",探囊胠箧:"tàn náng qū qiè",谭言微中:"tán yán wēi zhòng",谈言微中:"tán yán wēi zhòng",狧穅及米:"shì kāng jí mǐ",随物应机:"suí wù yīng jī",搜岩采干:"sōu yán cǎi gàn",宋斤鲁削:"sòng jīn lǔ xuē",松筠之节:"sōng yún zhī jié",四亭八当:"sì tíng bā dàng",四马攒蹄:"sì mǎ cuán tí",四不拗六:"sì bú niù liù",思所逐之:"sī suǒ zhú zhī",丝恩发怨:"sī ēn fà yuàn",硕望宿德:"shuò wàng xiǔ dé",铄古切今:"shuò gǔ qiē jīn",顺风而呼:"shùn fēng ér hū",顺风吹火:"shùn fēng chuī huǒ",水中著盐:"shuǐ zhōng zhuó yán",双柑斗酒:"shuāng gān dǒu jiǔ",数米而炊:"shǔ mǐ ér chuī",数米量柴:"shǔ mǐ liáng chái",数理逻辑:"shù lǐ luó ji",数黑论黄:"shǔ hēi lùn huáng",数白论黄:"shǔ bái lùn huáng",束缊还妇:"shù yūn huán fù",束蒲为脯:"shù pú wéi pú",束椽为柱:"shù chuán wéi zhù",书缺有间:"shū quē yǒu jiàn",手足重茧:"shǒu zú chóng jiǎn",手足异处:"shǒu zú yì chǔ",手脚干净:"shǒu jiǎo gàn jìng",手不应心:"shǒu bù yīng xīn",螫手解腕:"shì shǒu jiě wàn",释知遗形:"shì zhī yí xíng",适时应务:"shì shí yīng wù",适情率意:"shì qíng shuài yì",适当其冲:"shì dāng qí chōng",视为知己:"shì wéi zhī jǐ",使羊将狼:"shǐ yáng jiàng láng",食为民天:"shí wéi mín tiān",拾掇无遗:"shí duō wú yí",实与有力:"shí yù yǒu lì",石英玻璃:"shí yīng bō li",石室金匮:"shí shì jīn guì",什袭珍藏:"shí xí zhēn cáng",什伍东西:"shí wǔ dōng xī",什围伍攻:"shí wéi wǔ gōng",十魔九难:"shí mó jiǔ nàn",诗书发冢:"shī shū fà zhǒng",虱处裈中:"shī chǔ kūn zhōng",师直为壮:"shī zhí wéi zhuàng",尸居龙见:"shī jū lóng xiàn",圣经贤传:"shèng jīng xián zhuàn",圣君贤相:"shèng jūn xián xiàng",生拖死拽:"shēng tuō sǐ zhuài",审己度人:"shěn jǐ duó rén",神武挂冠:"shén wǔ guà guàn",神龙失埶:"shén lóng shī shì",深文曲折:"shēn wén qǔ shé",深厉浅揭:"shēn lì qiǎn qì",深谷为陵:"shēn gǔ wéi líng",深恶痛疾:"shēn wù tòng jí",深仇宿怨:"shēn chóu xiǔ yuàn",舍己为公:"shě jǐ wèi gōng",舍短取长:"shě duǎn qǔ cháng",舍策追羊:"shě cè zhuī yáng",蛇蝎为心:"shé xiē wéi xīn",少成若性:"shào chéng ruò xìng",上当学乖:"shàng dàng xué guāi",赏不当功:"shǎng bù dāng gōng",善自为谋:"shàn zì wéi móu",善为说辞:"shàn wéi shuō cí",善善恶恶:"shàn shàn wù è",善财难舍:"shàn cái nán shě",苫眼铺眉:"shān yǎn pū méi",讪牙闲嗑:"shàn yá xián kē",山阴乘兴:"shān yīn chéng xīng",山殽野湋:"shān yáo yě wéi",山溜穿石:"shān liù chuān shí",山节藻棁:"shān jié zǎo zhuō",杀鸡为黍:"shā jī wéi shǔ",色厉胆薄:"sè lì dǎn bó",桑荫未移:"sāng yīn wèi yí",桑荫不徙:"sāng yīn bù xǐ",桑土绸缪:"sāng tǔ chóu miù",桑户棬枢:"sāng hù juàn shū",三战三北:"sān zhàn sān běi",三瓦两舍:"sān wǎ liǎng shě",三人为众:"sān rén wèi zhòng",三差两错:"sān chā liǎng cuò",塞井焚舍:"sāi jǐng fén shě",洒心更始:"sǎ xīn gèng shǐ",洒扫应对:"sǎ sǎo yìng duì",软红香土:"ruǎn hóng xiāng tǔ",入吾彀中:"rù wú gòu zhōng",入铁主簿:"rù tiě zhǔ bù",入理切情:"rù lǐ qiē qíng",汝成人耶:"rǔ chéng rén yé",如水投石:"rú shuǐ tóu shí",如切如磋:"rú qiē rú cuō",如登春台:"rú dēng chūn tái",肉薄骨并:"ròu bó gǔ bìng",柔情绰态:"róu qíng chuò tài",戎马劻勷:"róng mǎ kuāng ráng",日中为市:"rì zhōng wéi shì",日月参辰:"rì yuè shēn chén",日省月修:"rì xǐng yuè xiū",日削月割:"rì xuē yuè gē",日省月试:"rì xǐng yuè shì",任达不拘:"rèn dá bù jū",人言藉藉:"rén yán jí jí",人模狗样:"rén mú gǒu yàng",人莫予毒:"rén mò yú dú",热熬翻饼:"rè áo fān bǐng",圈牢养物:"juàn láo yǎng wù",取予有节:"qǔ yǔ yǒu jié",诎要桡腘:"qū yāo ráo guó",穷形尽相:"qióng xíng jìn xiàng",情凄意切:"qíng qī yì qiè",情见势屈:"qíng xiàn shì qū",情见乎辞:"qíng xiàn hū cí",清都绛阙:"qīng dōu jiàng què",倾肠倒肚:"qīng cháng dào dǔ",青紫被体:"qīng zǐ pī tǐ",青林黑塞:"qīng lín hēi sài",螓首蛾眉:"qín shǒu é méi",琴瑟之好:"qín sè zhī hào",且住为佳:"qiě zhù wéi jiā",切树倒根:"qiē shù dǎo gēn",切理餍心:"qiē lǐ yàn xīn",切近的当:"qiē jìn de dāng",翘足引领:"qiáo zú yǐn lǐng",巧发奇中:"qiǎo fā qí zhòng",强嘴拗舌:"jiàng zuǐ niù shé",强直自遂:"qiáng zhí zì suí",强死强活:"qiǎng sǐ qiǎng huó",强食自爱:"qiǎng shí zì ài",强食靡角:"qiǎng shí mí jiǎo",强弓劲弩:"qiáng gōng jìng nǔ",强聒不舍:"qiǎng guō bù shě",强凫变鹤:"qiáng fú biàn hè",强而后可:"qiǎng ér hòu kě",强得易贫:"qiǎng dé yì pín",遣兴陶情:"qiǎn xìng táo qíng",牵羊担酒:"qiān yáng dān jiǔ",千了百当:"qiān liǎo bǎi dàng",泣下如雨:"qì xià rú yǔ",起偃为竖:"qǐ yǎn wéi shù",岂弟君子:"kǎi tì jūn zǐ",綦溪利跂:"qí xī lì qí",棋输先著:"qí shū xiān zhuó",齐王舍牛:"qí wáng shě niú",欺天诳地:"qī tiān kuáng dì",普天率土:"pǔ tiān shuài tǔ",铺胸纳地:"pū xiōng nà dì",铺锦列绣:"pū jǐn liè xiù",破家为国:"pò jiā wèi guó",破觚为圜:"pò gū wéi yuán",萍飘蓬转:"píng piāo péng zhuàn",帡天极地:"píng tiān jí dì",屏声息气:"bǐng shēng xī qì",凭几据杖:"píng jī jù zhàng",贫嘴薄舌:"pín zuǐ bó shé",片语只辞:"piàn yǔ zhī cí",披发文身:"pī fà wén shēn",烹龙炮凤:"pēng lóng páo fèng",炰鳖脍鲤:"fǒu biē kuài lǐ",庞眉皓发:"páng méi hào fà",攀花折柳:"pān huā zhé liǔ",攀蟾折桂:"pān chán shé guì",女大难留:"nǚ dà nán liú",弄玉吹箫:"nòng yù chuī xiāo",弄管调弦:"nòng guǎn tiáo xián",弄粉调朱:"nòng fěn diào zhū",浓抹淡妆:"nóng mò dàn zhuāng",捻土为香:"niǎn tǔ wéi xiāng",年谊世好:"nián yì shì hǎo",年华垂暮:"nián huá chuí mù",儗不于伦:"nǐ bù yú lún",泥而不滓:"ní ér bù zǐ",能者为师:"néng zhě wéi shī",能不称官:"néng bú chèn guān",挠直为曲:"náo zhí wéi qū",难进易退:"nán jìn yì tuì",难得糊涂:"nán dé hú tú",南蛮鴂舌:"nán mán jué shé",南贩北贾:"nán fàn běi gǔ",牧猪奴戏:"mù zhū nú xì",目眢心忳:"mù yuān xīn tún",目挑心招:"mù tiǎo xīn zhāo",目量意营:"mù liàng yì yíng",木头木脑:"mù tóu mù nǎo",木干鸟栖:"mù gàn niǎo qī",侔色揣称:"móu sè chuǎi chèn",莫予毒也:"mò yú dú yě",抹粉施脂:"mò fěn shī zhī",磨砻镌切:"mó lóng juān qiē",磨棱刓角:"mó léng wán jiǎo",摸门不着:"mō mén bù zháo",摸不着边:"mō bù zhuó biān",命中注定:"mìng zhōng zhù dìng",鸣鹤之应:"míng hè zhī yìng",明效大验:"míng xiào dà yàn",名我固当:"míng wǒ gù dāng",邈处欿视:"miǎo chǔ kǎn shì",黾穴鸲巢:"měng xué qú cháo",绵里薄材:"mián lǐ bó cái",靡有孑遗:"mǐ yǒu jié yí",靡衣偷食:"mǐ yī tōu shí",迷恋骸骨:"mí liàn hái gǔ",扪参历井:"mén shēn lì jǐng",门单户薄:"mén dān hù bó",昧旦晨兴:"mèi dàn chén xīng",冒名接脚:"mào míng jiē jiǎo",毛遂堕井:"máo suí duò jǐng",毛发倒竖:"máo fā dǎo shù",卖文为生:"mài wén wéi shēng",卖李钻核:"mài lǐ zuān hé",买椟还珠:"mǎi dú huán zhū",埋三怨四:"mán sān yuàn sì",马入华山:"mǎ rù huá shān",落魄江湖:"luò pò jiāng hú",落落难合:"luò luò nán hé",落草为寇:"luò cǎo wéi kòu",罗织构陷:"luó zhī gòu xiàn",鸾凤和鸣:"luán fèng hè míng",率由旧章:"shuài yóu jiù zhāng",率土同庆:"shuài tǔ tóng qìng",率兽食人:"shuài shòu shí rén",率土归心:"shuài tǔ guī xīn",率马以骥:"shuài mǎ yǐ jì",率尔成章:"shuài ěr chéng zhāng",鲁斤燕削:"lǔ jīn yàn xuē",漏尽更阑:"lòu jìn gēng lán",笼鸟槛猿:"lóng niǎo jiàn yuán",笼鸟池鱼:"lóng niǎo chí yú",龙游曲沼:"lóng yóu qū zhǎo",龙血玄黄:"lóng xuè xuán huáng",龙雕凤咀:"lóng diāo fèng jǔ",六尺之讬:"liù chǐ zhī tuō",令原之戚:"líng yuán zhī qī",令人捧腹:"lìng rén pěng fù",陵劲淬砺:"líng jìng cuì lì",临敌易将:"lín dí yì jiàng",裂裳衣疮:"liè shang yī chuāng",裂冠毁冕:"liè guàn huǐ miǎn",了无惧色:"liǎo wú jù sè",了身达命:"liǎo shēn dá mìng",了然无闻:"liǎo rán wú wén",了不可见:"liǎo bù kě jiàn",了不长进:"liǎo bù zhǎng jìn",燎发摧枯:"liǎo fà cuī kū",审时度势:"shěn shí duó shì",量小力微:"liàng xiǎo lì wēi",相时度力:"xiāng shí duó lì",量枘制凿:"liàng ruì zhì záo",量如江海:"liàng rú jiāng hǎi",量金买赋:"liàng jīn mǎi fù",量己审分:"liàng jǐ shěn fēn",敛骨吹魂:"liǎn gǔ chuī hún",詈夷为跖:"lì yí wéi zhí",利令志惛:"lì lìng zhì hūn",李广不侯:"lǐ guǎng bú hòu",礼为情貌:"lǐ wéi qíng mào",礼让为国:"lǐ ràng wéi guó",犁生骍角:"lí shēng xīng jiǎo",离本徼末:"lí běn jiǎo mò",楞眉横眼:"léng méi hèng yǎn",擂天倒地:"léi tiān dǎo dì",累足成步:"lěi zú chéng bù",累瓦结绳:"lěi wǎ jié shéng",累土至山:"lěi tǔ zhì shān",累土聚沙:"lěi tǔ jù shā",累卵之危:"lěi luǎn zhī wēi",累累如珠:"lěi lěi rú zhū",累块积苏:"lěi kuài jī sū",乐山乐水:"lè shān lè shuǐ",潦原浸天:"lǎo yuán jìn tiān",老师宿儒:"lǎo shī xiǔ rú",牢什古子:"láo shí gǔ zi",琅嬛福地:"láng huán fú dì",揆情度理:"kuí qíng duó lǐ",旷日累时:"kuàng rì lěi shí",匡救弥缝:"kuāng jiù mí fèng",枯树生华:"kū shù shēng huā",口轻舌薄:"kǒu qīng shé bó",口角生风:"kǒu jiǎo shēng fēng",口角春风:"kǒu jiǎo chūn fēng",口角风情:"kǒu jiǎo fēng qíng",口干舌焦:"kǒu gān shé jiāo",口腹之累:"kǒu fù zhī lěi",空腹便便:"kōng fù pián pián",嗑牙料嘴:"kē yá liào zuǐ",刻木为鹄:"kè mù wéi hú",咳珠唾玉:"ké zhū tuò yù",咳唾成珠:"ké tuò chéng zhū",抗颜为师:"kàng yán wéi shī",开华结果:"kāi huā jié guǒ",峻阪盐车:"jùn bǎn yán chē",嚼铁咀金:"jiáo tiě jǔ jīn",嚼墨喷纸:"jué mò pēn zhǐ",倔头强脑:"juè tóu jiàng nǎo",倔头倔脑:"juè tóu juè nǎo",倦鸟知还:"juàn niǎo zhī huán",卷席而葬:"juǎn xí ér zàng",卷甲倍道:"juǎn jiǎ bèi dào",聚米为山:"jù mǐ wéi shān",举手相庆:"jǔ shǒu xiāng qìng",举世混浊:"jǔ shì hún zhuó",鞠为茂草:"jū wéi mào cǎo",拘神遣将:"jū shén qiǎn jiàng",居下讪上:"jū xià shàn shàng",久要不忘:"jiǔ yāo bú wàng",九转功成:"jiǔ zhuǎn gōng chéng",九蒸三熯:"jiǔ zhēng sān hàn",敬业乐群:"jìng yè lè qún",井底虾蟆:"jǐng dǐ xiā má",旌旗卷舒:"jīng qí juǎn shū",荆棘载途:"jīng jí zài tú",禁舍开塞:"jìn shě kāi sāi",祲威盛容:"jìn wēi shèng róng",进退消长:"jìn tuì xiāo cháng",进退应矩:"jìn tuì yīng jǔ",进退触籓:"jìn tuì chù fān",进退跋疐:"jìn tuì bá zhì",尽多尽少:"jǐn duō jǐn shǎo",锦囊还矢:"jǐn náng huán shǐ",矜己自饰:"jīn jǐ zì shì",矜功负气:"jīn gōng fù qì",津关险塞:"jīn guān xiǎn sài",金吾不禁:"jīn wú bú jìn",金翅擘海:"jīn chì bāi hǎi",解衣衣人:"jiě yī yī rén",解人难得:"jiě rén nán dé",解铃系铃:"jiě líng xì líng",解发佯狂:"jiě fà yáng kuáng",诘屈磝碻:"jié qū áo qiāo",教猱升木:"jiāo náo shēng mù",较瘦量肥:"jiào shòu liàng féi",角立杰出:"jiǎo lì jié chū",焦沙烂石:"jiāo shā làn shí",骄儿騃女:"jiāo ér sì nǚ",浇风薄俗:"jiāo fēng bó sú",降妖捉怪:"xiáng yāo zhuō guài",将取固予:"jiāng qǔ gù yǔ",将门有将:"jiàng mén yǒu jiàng",将夺固与:"jiāng duó gù yǔ",槛花笼鹤:"jiàn huā lóng hè",鉴影度形:"jiàn yǐng duó xíng",渐不可长:"jiàn bù kě zhǎng",见素抱朴:"xiàn sù bào pǔ",见弃于人:"jiàn qì yú rén",简丝数米:"jiǎn sī shǔ mǐ",俭不中礼:"jiǎn bú zhòng lǐ",间见层出:"jiàn xiàn céng chū",尖嘴薄舌:"jiān zuǐ bó shé",甲冠天下:"jiǎ guàn tiān xià",葭莩之亲:"jiā fú zhī qīn",家累千金:"jiā lèi qiān jīn",家给人足:"jiā jǐ rén zú",家道从容:"jiā dào cóng róng",夹袋人物:"jiā dài rén wù",霁风朗月:"jì fēng lǎng yuè",寄兴寓情:"jì xìng yù qíng",计深虑远:"jì shēn lǜ yuǎn",计功量罪:"jì gōng liàng zuì",掎裳连襼:"jǐ shang lián yì",虮虱相吊:"jǐ shī xiāng diào",疾不可为:"jí bù kě wéi",极深研几:"jí shēn yán jī",及宾有鱼:"jí bīn yǒu yú",激薄停浇:"jī bó tíng jiāo",积素累旧:"jī sù lěi jiù",积时累日:"jī shí lěi rì",积露为波:"jī lù wéi bō",积德累功:"jī dé lěi gōng",积谗糜骨:"jī chán méi gǔ",击排冒没:"jī pái mào mò",祸为福先:"huò wéi fú xiān",祸福相依:"huò fú xiāng yī",获隽公车:"huò jùn gōng chē",混应滥应:"hùn yīng làn yīng",毁舟为杕:"huǐ zhōu wéi duò",毁钟为铎:"huǐ zhōng wéi duó",毁冠裂裳:"huǐ guān liè cháng",晦盲否塞:"huì máng pǐ sè",回船转舵:"huí chuán zhuàn duò",潢池盗弄:"huáng chí dào nòng",黄冠草履:"huáng guàn cǎo lǚ",黄发儿齿:"huáng fà ér chǐ",黄发垂髫:"huáng fà chuí tiáo",还珠返璧:"huán zhū fǎn bì",还年驻色:"huán nián zhù sè",还年却老:"huán nián què lǎo",坏裳为裤:"huài shang wéi kù",画荻和丸:"huà dí huò wán",化枭为鸠:"huà xiāo wéi jiū",化腐为奇:"huà fǔ wéi qí",化鸱为凤:"huà chī wéi fèng",花不棱登:"huā bu lēng dēng",户限为穿:"hù xiàn wéi chuān",呼卢喝雉:"hū lú hè zhì",呼来喝去:"hū lái hè qù",呼不给吸:"hū bù jǐ xī",厚味腊毒:"hòu wèi xī dú",厚德载物:"hòu dé zài wù",鸿渐于干:"hóng jiàn yú gàn",洪炉燎发:"hóng lú liáo fà",红绳系足:"hóng shéng jì zú",红不棱登:"hóng bu lēng dēng",横抢硬夺:"hèng qiǎng yìng duó",横恩滥赏:"hèng ēn làn shǎng",恨海难填:"hèn hǎi nán tián",鹤发鸡皮:"hè fà jī pí",涸思干虑:"hé sī gān lǜ",河涸海干:"hé hé hǎi gān",和颜说色:"hé yán yuè sè",合从连衡:"hé zòng lián héng",浩浩汤汤:"hào hào shāng shāng",好勇斗狠:"hào yǒng dòu hěn",好问则裕:"hào wèn zé yù",好为事端:"hào wéi shì duān",好问决疑:"hào wèn jué yí",好生之德:"hào shēng zhī dé",好奇尚异:"hǎo qí shàng yì",好恶不同:"hǎo è bù tóng",好丹非素:"hào dān fēi sù",豪干暴取:"háo gàn bào qǔ",毫发不爽:"háo fà bù shuǎng",寒酸落魄:"hán suān luò pò",含英咀华:"hán yīng jǔ huá",含糊不明:"hán hú bù míng",过为已甚:"guò wéi yǐ shèn",桂折兰摧:"guì shé lán cuī",规旋矩折:"guī xuán jǔ shé",广文先生:"guǎng wén xiān sheng",广陵散绝:"guǎng líng sǎn jué",冠山戴粒:"guàn shān dài lì",冠屦倒施:"guàn jù dǎo shī",挂席为门:"guà xí wéi mén",寡见鲜闻:"guǎ jiàn xiǎn wén",瓜葛相连:"guā gé xiāng lián",鼓吻奋爪:"gǔ wěn fèn zhǎo",古调单弹:"gǔ diào dān tán",古调不弹:"gǔ diào bù tán",姑射神人:"gū yè shén rén",苟合取容:"gǒu hé qǔ róng",狗续侯冠:"gǒu xù hòu guàn",钩爪锯牙:"gōu zhǎo jù yá",共枝别干:"gòng zhī bié gàn",共为唇齿:"gòng wéi chún chǐ",拱手而降:"gǒng shǒu ér xiáng",拱肩缩背:"gǒng jiān suō bèi",功薄蝉翼:"gōng bó chán yì",弓调马服:"gōng diào mǎ fú",更姓改物:"gēng xìng gǎi wù",更仆难数:"gēng pú nán shǔ",更令明号:"gēng lìng míng hào",更待干罢:"gèng dài gàn bà",更唱迭和:"gēng chàng dié hé",更长梦短:"gēng cháng mèng duǎn",各色名样:"gè sè míng yàng",格格不纳:"gé gé bú nà",格格不吐:"gé gé bù tǔ",告朔饩羊:"gù shuò xì yáng",膏车秣马:"gào chē mò mǎ",高义薄云:"gāo yì bó yún",岗头泽底:"gāng tóu zé dǐ",敢为敢做:"gǎn wéi gǎn zuò",甘分随时:"gān fèn suí shí",甘处下流:"gān chǔ xià liú",干啼湿哭:"gàn tí shī kū",干名犯义:"gàn míng fàn yì",干将莫邪:"gān jiāng mò yé",干城之将:"gān chéng zhī jiàng",腹载五车:"fù zài wǔ chē",父债子还:"fù zhài zǐ huán",父为子隐:"fù wéi zǐ yǐn",辅世长民:"fǔ shì zhǎng mín",福为祸始:"fú wéi huò shǐ",符号逻辑:"fú hào luó jí",浮收勒折:"fú shōu lè shé",肤受之愬:"fū shòu zhī sù",否终则泰:"pǐ zhōng zé tài",佛头著粪:"fó tóu zhuó fèn",奉为楷模:"fèng wéi kǎi mó",凤靡鸾吪:"fèng mǐ luán é",封豨修蛇:"fēng xī xiū shé",风影敷衍:"fēng yǐng fū yǎn",丰屋蔀家:"fēng wū bù jiā",粪土不如:"fèn tǔ bù rú",分风劈流:"fēn fēng pǐ liú",沸沸汤汤:"fèi fèi shāng shāng",菲食薄衣:"fěi shí bó yī",飞将数奇:"fēi jiàng shù qí",放辟邪侈:"fàng pì xié chǐ",方领圆冠:"fāng lǐng yuán guàn",犯而不校:"fàn ér bú jiào",返本还源:"fǎn běn huán yuán",反劳为逸:"fǎn láo wéi yì",法轮常转:"fǎ lún cháng zhuàn",罚不当罪:"fá bù dāng zuì",发引千钧:"fà yǐn qiān jūn",发奸擿伏:"fā jiān tī fú",发短心长:"fà duǎn xīn cháng",二竖为虐:"èr shù wéi nüè",儿女心肠:"ér nǚ xīn cháng",儿女亲家:"ér nǚ qìng jiā",遏恶扬善:"è wù yáng shàn",饿殍枕藉:"è piǎo zhěn jí",饿殍载道:"è piǎo zài dào",恶醉强酒:"wù zuì qiǎng jiǔ",恶意中伤:"è yì zhòng shāng",恶湿居下:"wù shī jū xià",恶居下流:"wù jū xià liú",恶不去善:"wù bú qù shàn",扼吭夺食:"è háng duó shí",扼襟控咽:"è jīn kòng yān",峨峨汤汤:"é é shāng shāng",屙金溺银:"ē jīn niào yín",朵颐大嚼:"duǒ yí dà jiáo",夺人所好:"duó rén suǒ hào",多言数穷:"duō yán shuò qióng",多文为富:"duō wén wéi fù",多端寡要:"duō duān guǎ yào",多财善贾:"duō cái shàn gǔ",遁世无闷:"dùn shì wú mèn",遁迹黄冠:"dùn jì huáng guàn",堆案盈几:"duī àn yíng jī",断还归宗:"duàn huán guī zōng",短见薄识:"duǎn jiàn bó shí",蠹居棊处:"dù jū qí chǔ",度己以绳:"duó jǐ yǐ shéng",杜默为诗:"dù mò wéi shī",杜鹃啼血:"dù juān tí xuè",笃近举远:"dǔ jìn jǔ yuǎn",独有千秋:"dú yǒu qiān qiū",读书得间:"dú shū dé jiàn",斗转参横:"dǒu zhuǎn shēn héng",兜肚连肠:"dōu dǔ lián cháng",洞见症结:"dòng jiàn zhèng jié",恫疑虚喝:"dòng yí xū hè",动中窾要:"dòng zhōng kuǎn yào",东鸣西应:"dōng míng xī yīng",东鳞西爪:"dōng lín xī zhǎo",东量西折:"dōng liàng xī shé",东家西舍:"dōng jiā xī shè",东扯西拽:"dōng chě xī zhuāi",鼎铛有耳:"dǐng chēng yǒu ěr",鼎铛玉石:"dǐng chēng yù shí",钉头磷磷:"dīng tóu lín lín",跌宕不羁:"diē dàng bù jī",跌弹斑鸠:"diē dàn bān jiū",雕心雁爪:"diāo xīn yàn zhǎo",颠倒衣裳:"diān dǎo yī cháng",德薄能鲜:"dé bó néng xiǎn",得马折足:"dé mǎ shé zú",蹈其覆辙:"dǎo qí fù zhé",捣虚撇抗:"dǎo xū piē kàng",倒载干戈:"dào zài gān gē",倒裳索领:"dào cháng suǒ lǐng",倒果为因:"dào guǒ wéi yīn",叨在知己:"tāo zài zhī jǐ",叨陪末座:"tāo péi mò zuò",党豺为虐:"dǎng chái wéi nüè",当轴处中:"dāng zhóu chǔ zhōng",当着不着:"dāng zhuó bù zhuó",当务始终:"dāng wù shǐ zhōng",淡汝浓抹:"dàn rǔ nóng mǒ",弹丸脱手:"tán wán tuō shǒu",弹铗无鱼:"dàn jiá wú yú",箪食瓢饮:"dān sì piáo yǐn",大璞不完:"dà pú bù wán",大明法度:"dà míng fǎ dù",大车以载:"dà chē yǐ zài",打闷葫芦:"dǎ mèn hú lu",沓来踵至:"tà lái zhǒng zhì",厝火燎原:"cuò huǒ liǎo yuán",撮科打哄:"cuō kē dǎ hòng",寸积铢累:"cùn jī zhū lěi",啛啛喳喳:"cuì cuì chā chā",摧折豪强:"cuī zhé háo qiáng",摧刚为柔:"cuī gāng wéi róu",从俗就简:"cóng sú jiù jiǎn",此发彼应:"cǐ fā bǐ yīng",此唱彼和:"cǐ chàng bǐ hè",慈悲为本:"cí bēi wéi běn",纯属骗局:"chún shǔ piàn jú",春笋怒发:"chūn sǔn nù fā",垂头搨翼:"chuí tóu tà yì",传为笑谈:"chuán wéi xiào tán",传风扇火:"chuán fēng shān huǒ",穿红着绿:"chuān hóng zhuó lǜ",触处机来:"chù chǔ jī lái",处尊居显:"chǔ zūn jū xiǎn",处堂燕雀:"chǔ táng yàn què",处实效功:"chǔ shí xiào gōng",处高临深:"chǔ gāo lín shēn",出入无间:"chū rù wú jiān",出门应辙:"chū mén yīng zhé",出处语默:"chū chǔ yǔ mò",出处殊途:"chū chǔ shū tú",出处进退:"chū chǔ jìn tuì",愁山闷海:"chóu shān mèn hǎi",冲冠眦裂:"chōng guàn zì liè",齿牙为祸:"chǐ yá wéi huò",尺二冤家:"chǐ èr yuān jia",尺短寸长:"chǐ duǎn cùn cháng",尺寸之功:"chǐ cùn zhī gōng",城北徐公:"chéng běi xú gōng",成败兴废:"chéng bài xīng fèi",趁水和泥:"chèn shuǐ huò ní",称雨道晴:"chēng yǔ dào qíng",称体载衣:"chēng tǐ zài yī",称体裁衣:"chèn tǐ cái yī",称家有无:"chèn jiā yǒu wú",称德度功:"chēng dé duó gōng",沉吟章句:"chén yín zhāng jù",沉吟不决:"chén yín bù jué",沉疴宿疾:"chén kē sù jí",扯纤拉烟:"chě qiàn lā yān",扯顺风旗:"chě shùn fēng qí",车载船装:"chē zǎi chuán zhuāng",朝升暮合:"zhāo shēng mù gě",朝攀暮折:"zhāo pān mù shé",超今冠古:"chāo jīn guàn gǔ",倡而不和:"chàng ér bú hè",畅所欲为:"chàng suǒ yù wéi",苌弘碧血:"cháng hóng bì xiě",长幼尊卑:"zhǎng yòu zūn bēi",长绳系日:"cháng shéng jì rì",长年三老:"zhǎng nián sān lǎo",长春不老:"cháng chūn bù lǎo",长傲饰非:"zhǎng ào shì fēi",昌亭旅食:"chāng tíng lǚ shí",禅絮沾泥:"chán xù zhān ní",差三错四:"chā sān cuò sì",层台累榭:"céng tái lěi xiè",层见迭出:"céng xiàn dié chū",藏踪蹑迹:"cáng zōng niè jì",苍蝇见血:"cāng yíng jiàn xiě",餐松啖柏:"cān sōng dàn bó",骖风驷霞:"cān fēng sì xiá",参伍错综:"cēn wǔ cuò zōng",参辰卯酉:"shēn chén mǎo yǒu",材优干济:"cái yōu gān jǐ",材薄质衰:"cái bó zhì shuāi",才大难用:"cái dà nán yòng",才薄智浅:"cái bó zhì qiǎn",不足为意:"bù zú wéi yì",不足为据:"bù zú wéi jù",不足为法:"bù zú wéi fǎ",不足齿数:"bù zú chǐ shǔ",不着疼热:"bù zhuó téng rè",不知薡蕫:"bù zhī dǐng dǒng",不越雷池:"bú yuè léi chí",不相为谋:"bù xiāng wéi móu",不贪为宝:"bù tān wéi bǎo",不了而了:"bù liǎo ér liǎo",不可揆度:"bù kě kuí duó",不遑启处:"bù huáng qǐ chǔ",不当不正:"bù dāng bú zhèng",不差什么:"bú chà shén me",不差累黍:"bù chā lěi shǔ",擘两分星:"bò liǎng fēn xīng",簸土扬沙:"bǒ tǔ yáng shā",薄物细故:"bó wù xì gù",薄寒中人:"bó hán zhòng rén",博文约礼:"bó wén yuē lǐ",播糠眯目:"bō kāng mí mù",剥皮抽筋:"bō pí chōu jīn",剥肤椎髓:"bō fū chuí suǐ",波属云委:"bō zhǔ yún wěi",波骇云属:"bō hài yún zhǔ",兵微将寡:"bīng wēi jiàng guǎ",兵强将勇:"bīng qiáng jiàng yǒng",兵多将广:"bīng duō jiàng guǎng",兵不由将:"bīng bù yóu jiàng",冰解的破:"bīng jiě dì pò",彬彬济济:"bīn bīn jǐ jǐ",摽梅之年:"biào méi zhī nián",表里为奸:"biǎo lǐ wéi jiān",飙发电举:"biāo fā diàn jǔ",变贪厉薄:"biàn tān lì bó",敝盖不弃:"bì gài bú qì",秕言谬说:"bǐ yán miù shuō",比物属事:"bǐ wù zhǔ shì",被山带河:"pī shān dài hé",被甲枕戈:"pī jiǎ zhěn gē",被甲据鞍:"pī jiǎ jù ān",被褐怀玉:"pī hè huái yù",被发缨冠:"pī fà yīng guàn",背曲腰躬:"bèi qǔ yāo gōng",北窗高卧:"běi chuāng gāo wò",北辰星拱:"běi chén xīng gǒng",北鄙之音:"běi bǐ zhī yīn",卑宫菲食:"bēi gōng fěi shí",暴衣露冠:"pù yī lù guàn",暴腮龙门:"pù sāi lóng mén",暴露文学:"bào lù wén xué",暴虎冯河:"bào hǔ píng hé",抱蔓摘瓜:"bào wàn zhāi guā",抱法处势:"bào fǎ chǔ shì",褒贬与夺:"bāo biǎn yǔ duó",帮闲钻懒:"bāng xián zuān lǎn",拜将封侯:"bài jiàng fēng hóu",百兽率舞:"bǎi shòu shuài wǔ",百孔千创:"bǎi kǒng qiān chuāng",白衣卿相:"bái yī qīng xiàng",白首为郎:"bái shǒu wéi láng",白首相知:"bái shǒu xiāng zhī",把玩无厌:"bǎ wán wú yàn",拔锅卷席:"bá guō juǎn xí",拔本塞源:"bá běn sè yuán",傲不可长:"ào bù kě zhǎng",熬更守夜:"áo gēng shǒu yè",安时处顺:"ān shí chǔ shùn",安身为乐:"ān shēn wéi lè",安老怀少:"ān lǎo huái shào",安步当车:"ān bù dàng chē",爱人好士:"ài rén hào shì",矮人观场:"ǎi rén guān chǎng",捱风缉缝:"ái fēng jī fèng",挨山塞海:"āi shān sè hǎi",阿家阿翁:"ā jiā ā wēng",阿党相为:"ē dǎng xiāng wéi",追亡逐北:"zhuī wáng zhú běi",竹篮打水:"zhú lán dá shuǐ",知疼着热:"zhī téng zháo rè",语不惊人:"yǔ bù jīng rén",于今为烈:"yú jīn wéi liè",一日三省:"yí rì sān xǐng",穴居野处:"xué jū yě chǔ",五脊六兽:"wǔ jǐ liù shòu",无声无臭:"wú shēng wú xiù",谓予不信:"wèi yú bú xìn",舍身为国:"shě shēn wéi guó",杀妻求将:"shā qī qiú jiàng",强作解人:"qiǎng zuò jiě rén",气冲斗牛:"qì chōng dǒu niú",临深履薄:"lín shēn lǚ bó",钧天广乐:"jūn tiān guǎng yuè",艰难竭蹶:"jiān nán jié jué",夹七夹八:"jiā qī jiā bā",混混噩噩:"hún hún è è",厚古薄今:"hòu gǔ bó jīn",鬼怕恶人:"guǐ pà è rén",伽马射线:"gā mǎ shè xiàn",佛头着粪:"fó tóu zhuó fèn",奉为至宝:"fèng wéi zhì bǎo",登坛拜将:"dēng tán bài jiàng",晨昏定省:"chén hūn dìng xǐng",察察为明:"chá chá wéi míng",博闻强识:"bó wén qiáng zhì",避难就易:"bì nán jiù yì",了无生机:"liǎo wú shēng jī",有一说一:"yǒu yī shuō yī",独一无二:"dú yī wú èr",说一不二:"shuō yī bù èr",举一反三:"jǔ yī fǎn sān",数一数二:"shǔ yī shǔ èr",杀一儆百:"shā yī jǐng bǎi",丁一卯二:"dīng yī mǎo èr",丁一确二:"dīng yī què èr",不一而止:"bù yī ér zhǐ",无一幸免:"wú yī xìng miǎn",表里不一:"biǎo lǐ bù yī",良莠不一:"liáng yǒu bù yī",心口不一:"xīn kǒu bù yī",言行不一:"yán xíng bù yī",政令不一:"zhèng lìng bù yī",参差不一:"cēn cī bù yī",纷纷不一:"fēn fēn bù yī",毁誉不一:"huǐ yù bù yī",不一而三:"bù yī ér sān",百不一遇:"bǎi bù yī yù",言行抱一:"yán xíng bào yī",瑜百瑕一:"yú bǎi xiá yī",背城借一:"bèi chéng jiè yī",凭城借一:"píng chéng jiè yī",劝百讽一:"quàn bǎi fěng yī",群居和一:"qún jū hé yī",百不获一:"bǎi bù huò yī",百不失一:"bǎi bù shī yī",百无失一:"bǎi wú shī yī",万不失一:"wàn bù shī yī",万无失一:"wàn wú shī yī",合而为一:"hé ér wéi yī",合两为一:"hé liǎng wéi yī",合二为一:"hé èr wéi yī",天下为一:"tiān xià wéi yī",相与为一:"xiāng yǔ wéi yī",较若画一:"jiào ruò huà yī",较如画一:"jiào rú huà yī",斠若画一:"jiào ruò huà yī",言行若一:"yán xíng ruò yī",始终若一:"shǐ zhōng ruò yī",终始若一:"zhōng shǐ ruò yī",惟精惟一:"wéi jīng wéi yī",众多非一:"zhòng duō fēi yī",不能赞一:"bù néng zàn yī",问一答十:"wèn yī dá shí",一不扭众:"yī bù niǔ zhòng",一以贯之:"yī yǐ guàn zhī",一以当百:"yī yǐ dāng bǎi",百不当一:"bǎi bù dāng yī",十不当一:"shí bù dāng yī",以一警百:"yǐ yī jǐng bǎi",以一奉百:"yǐ yī fèng bǎi",以一持万:"yǐ yī chí wàn",以一知万:"yǐ yī zhī wàn",百里挑一:"bǎi lǐ tiāo yī",整齐划一:"zhěng qí huà yī",一来二去:"yī lái èr qù",一路公交:"yī lù gōng jiāo",一路汽车:"yī lù qì chē",一路巴士:"yī lù bā shì",朝朝朝落:"zhāo cháo zhāo luò",曲意逢迎:"qū yì féng yíng",一行不行:"yì háng bù xíng",行行不行:"háng háng bù xíng"},Rh=Object.keys(ti).map(n=>({zh:n,pinyin:ti[n],probability:2e-8,length:4,priority:Z.Normal,dict:Symbol("dict4")})),ci={巴尔干半岛:"bā ěr gàn bàn dǎo",巴尔喀什湖:"bā ěr kā shí hú",不幸而言中:"bú xìng ér yán zhòng",布尔什维克:"bù ěr shí wéi kè",何乐而不为:"hé lè ér bù wéi",苛政猛于虎:"kē zhèng měng yú hǔ",蒙得维的亚:"méng dé wéi dì yà",民以食为天:"mín yǐ shí wéi tiān",事后诸葛亮:"shì hòu zhū gě liàng",物以稀为贵:"wù yǐ xī wéi guì",先下手为强:"xiān xià shǒu wéi qiáng",行行出状元:"háng háng chū zhuàng yuan",亚得里亚海:"yà dé lǐ yà hǎi",眼不见为净:"yǎn bú jiàn wéi jìng",竹筒倒豆子:"zhú tǒng dào dòu zi"},Nh=Object.keys(ci).map(n=>({zh:n,pinyin:ci[n],probability:2e-8,length:5,priority:Z.Normal,dict:Symbol("dict5")}));function zi(n,i){return n&&(n.decimali.probability)?n:i}function yi(n){n.probability<1e-300&&(n.probability*=1e300,n.decimal+=1)}function Ah(n){return n.priority===Z.Custom?-(n.length*n.length*100):n.priority===Z.Surname?-(n.length*n.length*10):0}function Zh(n,i){const g=[];let h=n.length-1,u=n[h];for(let e=i-1;e>=0;e--){const o=e+1>=i?{probability:1,decimal:0,patterns:[]}:g[e+1];for(;u&&u.index+u.length-1===e;){const d=u.index,t={probability:u.probability*o.probability,decimal:o.decimal+Ah(u),patterns:o.patterns,concatPattern:u};yi(t),g[d]=zi(g[d],t),u=n[--h]}const l={probability:1e-13*o.probability,decimal:0,patterns:o.patterns};yi(l),g[e]=zi(g[e],l),g[e].concatPattern&&(g[e].patterns=g[e].patterns.concat(g[e].concatPattern),g[e].concatPattern=void 0,delete g[e+1])}return g[0].patterns.reverse()}function di(n,i){return n&&n.count<=i.count?n:i}function Bh(n){return n.priority===Z.Custom?-(n.length*n.length*1e5):n.priority===Z.Surname?-(n.length*n.length*100):1}function Fh(n,i){const g=[];let h=n.length-1,u=n[h];for(let e=i-1;e>=0;e--){const o=e+1>=i?{count:0,patterns:[]}:g[e+1];for(;u&&u.index+u.length-1===e;){const d=u.index,t={count:Bh(u)+o.count,patterns:o.patterns,concatPattern:u};g[d]=di(g[d],t),u=n[--h]}const l={count:1+o.count,patterns:o.patterns};g[e]=di(g[e],l),g[e].concatPattern&&(g[e].patterns=g[e].patterns.concat(g[e].concatPattern),g[e].concatPattern=void 0,delete g[e+1])}return g[0].patterns.reverse()}function Lh(n,i){return!(i.index+i.length<=n.index||i.priority>n.priority||i.priority===n.priority&&i.length>n.length)}function $h(n){const i=[];for(let g=n.length-1;g>=0;){const{index:h}=n[g];let u=g-1;for(;u>=0&&Lh(n[g],n[u]);)u--;(u<0||n[u].index+n[u].length<=h)&&i.push(n[g]),g=u}return i.reverse()}var ai;(function(n){n[n.ReverseMaxMatch=1]="ReverseMaxMatch",n[n.MaxProbability=2]="MaxProbability",n[n.MinTokenization=3]="MinTokenization"})(ai||(ai={}));class ri{constructor(i,g="",h=""){this.children=new Map,this.fail=null,this.patterns=[],this.parent=i,this.prefix=g,this.key=h}}class Oh{constructor(){this.dictMap=new Map,this.queues=[],this.root=new ri(null)}build(i){this.buildTrie(i),this.buildFailPointer()}buildTrie(i){for(let g of i){const h=_n(g.zh);let u=this.root;for(let e=0;e{i=i.concat(h)}),this.queues=[];i.length>g;){let h=i[g++],u=h.parent&&h.parent.fail,e=h.key;for(;u&&!u.children.has(e);)u=u.fail;u?h.fail=u.children.get(e):h.fail=this.root}}addPatternToDictMap(i){this.dictMap.has(i.dict)||this.dictMap.set(i.dict,new Set),this.dictMap.get(i.dict).add(i)}addNodeToQueues(i){this.queues[W(i.prefix)]||(this.queues[W(i.prefix)]=[]),this.queues[W(i.prefix)].push(i)}insertPattern(i,g){for(let h=i.length-1;h>=0;h--){const u=i[h];if(g.priority===u.priority&&g.probability>=u.probability)i[h+1]=u;else if(g.priority>u.priority)i[h+1]=u;else{i[h+1]=g;return}}i[0]=g}removeDict(i){this.dictMap.has(i)&&(this.dictMap.get(i).forEach(h=>{h.node.patterns=h.node.patterns.filter(u=>u!==h)}),this.dictMap.delete(i))}match(i,g){let h=this.root,u=[];const e=_n(i);for(let o=0;og==="off"?y.priority!==Z.Surname:g==="head"?y.length-1-o===0:!0);d&&u.push(Object.assign(Object.assign({},d),{index:o-d.length+1}));let t=h.fail;for(;t!==null;){const y=t.patterns.find(c=>g==="off"?c.priority!==Z.Surname:g==="head"?c.length-1-o===0:!0);y&&u.push(Object.assign(Object.assign({},y),{index:o-y.length+1})),t=t.fail}}}return u}search(i,g,h=2){const u=this.match(i,g);return h===1?$h(u):h===3?Fh(u,W(i)):Zh(u,W(i))}}const Wh=[...Nh,...Rh,..._h,...Eh,...Sh,...Mh],Si=new Oh;Si.build(Wh);const Hh=new ki,Uh=()=>Hh,Yh=[];function Kh(){return Yh}const an=n=>{const i=nn.get(n);return i?i.split(" ")[0]:n},Xh=n=>{const i=[],g=Kh();for(let h=0;h{const e=u?Xh(n):n,o=Si.search(e,g,h);let l=0;const d=_n(n);for(let t=0;tn.replace(/(ā|á|ǎ|à)/g,"a").replace(/(ō|ó|ǒ|ò)/g,"o").replace(/(ē|é|ě|è)/g,"e").replace(/(ī|í|ǐ|ì)/g,"i").replace(/(ū|ú|ǔ|ù)/g,"u").replace(/(ǖ|ǘ|ǚ|ǜ)/g,"ü").replace(/(n̄|ń|ň|ǹ)/g,"n").replace(/(m̄|ḿ|m̌|m̀)/g,"m").replace(/(ê̄|ế|ê̌|ề)/g,"ê"),Pi=(n,i="off")=>{const g=Uh();let h=nn.get(n)?nn.get(n).split(" "):[];if(g.get(n))h=g.get(n).split(" ");else if(i!=="off"){const u=Rn[n];u&&(h=[u].concat(h.filter(e=>e!==u)))}return h},Qh=(n,i="off")=>{let g=Pi(n,i);return g.length>0?g.map(h=>({origin:n,result:h,isZh:!0,originPinyin:h})):[{origin:n,result:n,isZh:!1,originPinyin:n}]},Tn=(n,i)=>{const g=n.split(" "),h=[],u=[];for(let e of g)for(let o of wh)if(e.startsWith(o)){let l=e.slice(o.length);qh.indexOf(o)!==-1&&ph.indexOf(l)!==-1&&(l=vh[l]),h.push(o),u.push(l);break}return i==="standard"&&h.forEach((e,o)=>{(e==="y"||e==="w")&&(h[o]="")}),{final:u.join(" "),initial:h.join(" ")}},pn=n=>{const{final:i}=Tn(n);let g="",h="",u="";return kh.indexOf(Sn(i))!==-1?(g=i[0],h=i[1],u=i.slice(2)):(h=i[0]||"",u=i.slice(1)||""),{head:g,body:h,tail:u}},Pn=n=>{const i=/(ā|ō|ē|ī|ū|ǖ|n̄|m̄|ê̄)/,g=/(á|ó|é|í|ú|ǘ|ń|ḿ|ế)/,h=/(ǎ|ǒ|ě|ǐ|ǔ|ǚ|ň|m̌|ê̌)/,u=/(à|ò|è|ì|ù|ǜ|ǹ|m̀|ề)/,e=/(a|o|e|i|u|ü|ê)/,o=/(n|m)$/,l=[];return n.split(" ").forEach(t=>{i.test(t)?l.push("1"):g.test(t)?l.push("2"):h.test(t)?l.push("3"):u.test(t)?l.push("4"):e.test(t)||o.test(t)?l.push("0"):l.push("")}),l.join(" ")},Jh=(n,i)=>{const g=Sn(n).split(" "),h=Pn(i).split(" "),u=[];return g.forEach((e,o)=>{u.push(`${e}${h[o]}`)}),u.join(" ")},Ci=(n,i)=>{const g=[];return n.split(" ").forEach(u=>{g.push(i?u[0]:u)}),g.join(" ")},nu=n=>typeof n!="string"?(console.error("The first param of pinyin is error: "+n+' is not assignable to type "string".'),!1):!0;function Mn(n,i){return i instanceof RegExp?i.test(n):!0}const iu=(n,i)=>{let g=i.nonZh;if(g==="removed")return n.filter(h=>h.isZh||!Mn(h.origin,i.nonZhScope));if(g==="consecutive"){for(let h=n.length-2;h>=0;h--){const u=n[h],e=n[h+1];!u.isZh&&!e.isZh&&Mn(u.origin,i.nonZhScope)&&Mn(e.origin,i.nonZhScope)&&(u.origin+=e.origin,u.result+=e.result,e.delete=!0)}return n.filter(h=>!h.delete)}else return n},ji=(n,i)=>W(n)===1&&i.multiple?Qh(n,i.surname):!1,gu=(n,i)=>{switch(i.pattern){case"pinyin":break;case"num":n.forEach(g=>{g.result=g.isZh?Pn(g.result):""});break;case"initial":n.forEach(g=>{g.result=g.isZh?Tn(g.result,i.initialPattern).initial:""});break;case"final":n.forEach(g=>{g.result=g.isZh?Tn(g.result,i.initialPattern).final:""});break;case"first":n.forEach(g=>{g.result=Ci(g.result,g.isZh)});break;case"finalHead":n.forEach(g=>{g.result=g.isZh?pn(g.result).head:""});break;case"finalBody":n.forEach(g=>{g.result=g.isZh?pn(g.result).body:""});break;case"finalTail":n.forEach(g=>{g.result=g.isZh?pn(g.result).tail:""});break}},hu=(n,i)=>{switch(i.toneType){case"symbol":break;case"none":n.forEach(g=>{g.isZh&&(g.result=Sn(g.result))});break;case"num":{n.forEach(g=>{g.isZh&&(g.result=Jh(g.result,g.originPinyin))});break}}},uu=(n,i)=>{i.v&&n.forEach(g=>{g.isZh&&(g.result=g.result.replace(/ü/g,typeof i.v=="string"?i.v:"v"))})},eu=(n,i,g)=>{if(i.multiple&&W(g)===1){let h="";n=n.filter(u=>{const e=u.result!==h;return h=u.result,e})}return i.type==="array"?n.map(h=>h.result):i.type==="all"?n.map(h=>{const u=h.isZh?h.result:"",{initial:e,final:o}=Tn(u,i.initialPattern),{head:l,body:d,tail:t}=pn(u);let y=[];return u!==""&&(y=[u].concat(Pi(h.origin,i.surname).filter(c=>c!==u))),{origin:h.origin,pinyin:u,initial:e,final:o,first:Ci(h.result,h.isZh),finalHead:l,finalBody:d,finalTail:t,num:Number(Pn(h.originPinyin)),isZh:h.isZh,polyphonic:y,inZhRange:!!nn.get(h.origin),result:h.result}}):n.map(h=>h.result).join(i.separator)},su=(n,i)=>(i===!1&&n.forEach(g=>{g.origin==="一"?g.result=g.originPinyin="yī":g.origin==="不"&&(g.result=g.originPinyin="bù")}),n),ou={pattern:"pinyin",toneType:"symbol",type:"string",multiple:!1,mode:"normal",removeNonZh:!1,nonZh:"spaced",v:!1,separator:" ",toneSandhi:!0,segmentit:2};function fu(n,i){if(i=Object.assign(Object.assign({},ou),i||{}),!nu(n))return n;if(n==="")return i.type==="array"||i.type==="all"?[]:"";i.surname===void 0&&(i.mode==="surname"?i.surname="all":i.surname="off"),i.type==="all"&&(i.pattern="pinyin"),i.pattern==="num"&&(i.toneType="none"),i.removeNonZh&&(i.nonZh="removed");let h=Array(W(n)),{list:u}=Gh(n,h,i.surname,i.segmentit,i.traditional);return u=su(u,i.toneSandhi),u=iu(u,i),ji(n,i)&&(u=ji(n,i)),gu(u,i),hu(u,i),uu(u,i),eu(u,i,n)}var Nn;(function(n){n[n.AllSegment=1]="AllSegment",n[n.AllArray=2]="AllArray",n[n.AllString=3]="AllString",n[n.PinyinSegment=4]="PinyinSegment",n[n.PinyinArray=5]="PinyinArray",n[n.PinyinString=6]="PinyinString",n[n.ZhSegment=7]="ZhSegment",n[n.ZhArray=8]="ZhArray",n[n.ZhString=9]="ZhString"})(Nn||(Nn={}));Nn.AllSegment;const lu=qi({alwaysFilter:Boolean,autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...hh({filterKeys:["title"]}),...gh({hideNoData:!0,returnObject:!0}),...pi(Ug({modelValue:null,role:"combobox"}),["validationValue","dirty"])},"VCombobox"),xu=fi()({name:"VCombobox",props:lu(),emits:{"update:focused":n=>!0,"update:modelValue":n=>!0,"update:search":n=>!0,"update:menu":n=>!0},setup(n,i){var Ln;let{emit:g,slots:h}=i;const{t:u}=Pg(),e=G(),o=B(!1),l=B(!0),d=B(!1),t=G(),y=G(),c=B(-1);let f=!1;const{items:q,transformIn:k,transformOut:V}=Cg(n),{textColorClasses:gn,textColorStyles:hn}=Dg(()=>{var s;return(s=e.value)==null?void 0:s.color}),{InputIcon:X}=Wg(n),a=En(n,"modelValue",[],s=>k(Ig(s)),s=>{const z=V(s);return n.multiple?z:z[0]??null}),F=Hg(n),Q=qn(()=>n.closableChips&&!F.isReadonly.value&&!F.isDisabled.value),m=C(()=>!!(n.chips||h.chip)),r=C(()=>m.value||!!h.selection),j=B(!n.multiple&&!r.value?((Ln=a.value[0])==null?void 0:Ln.title)??"":""),w=B(null),b=C({get:()=>j.value,set:async s=>{var z;if(j.value=s??"",s===null||s===""&&!n.multiple&&!r.value?a.value=[]:!n.multiple&&!r.value&&(a.value=[yn(n,s)],tn(()=>{var x;return(x=y.value)==null?void 0:x.scrollToIndex(0)})),s&&n.multiple&&((z=n.delimiters)!=null&&z.length)){const x=Bn(s);x.length>1&&(Fn(x),j.value="")}s||(c.value=-1),l.value=!s}}),D=C(()=>typeof n.counterValue=="function"?n.counterValue(a.value):typeof n.counterValue=="number"?n.counterValue:n.multiple?a.value.length:b.value.length),{filteredItems:L,getMatches:un}=Yg(n,q,()=>w.value??(n.alwaysFilter||!l.value?b.value:"")),R=C(()=>n.hideSelected&&w.value===null?L.value.filter(s=>!a.value.some(z=>z.value===s.value)):L.value),en=C(()=>n.hideNoData&&!R.value.length||F.isReadonly.value||F.isDisabled.value),sn=En(n,"menu"),P=C({get:()=>sn.value,set:s=>{var z;sn.value&&!s&&((z=t.value)!=null&&z.ΨopenChildren.size)||s&&en.value||(sn.value=s)}}),{menuId:jn,ariaExpanded:Cn,ariaControls:M}=Kg(n,P);K(j,s=>{f?tn(()=>f=!1):o.value&&!P.value&&(P.value=!0),g("update:search",s)}),K(a,s=>{var z;!n.multiple&&!r.value&&(j.value=((z=s[0])==null?void 0:z.title)??"")});const bn=C(()=>a.value.map(s=>s.value)),J=C(()=>R.value.find(s=>s.type==="item"&&!s.props.disabled)),on=C(()=>{var z;return(n.autoSelectFirst===!0||n.autoSelectFirst==="exact"&&b.value===((z=J.value)==null?void 0:z.title))&&R.value.length>0&&!l.value&&!d.value}),cn=G(),An=G(),Zn=G(),Di=ih(cn,e),{onTabKeydown:Ii}=Xg({groups:[{type:"element",contentRef:An},{type:"list",contentRef:cn,displayItemsCount:()=>R.value.length},{type:"element",contentRef:Zn}],onLeave:()=>{var s;P.value=!1,(s=e.value)==null||s.focus()}});function Vi(s){f=!0,tn(()=>f=!1),n.openOnClear&&(P.value=!0)}function Mi(){en.value||(P.value=!0)}function Ei(s){en.value||(o.value&&(s.preventDefault(),s.stopPropagation()),P.value=!P.value)}function _i(s){var z,x;s.key==="Tab"&&Ii(s),(z=cn.value)!=null&&z.$el.contains(s.target)&&(Xn(s)||s.key==="Backspace")&&((x=e.value)==null||x.focus())}function Ri(s){var I,_,N,v;if(Fg(s)||F.isReadonly.value)return;const z=(I=e.value)==null?void 0:I.selectionStart,x=a.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(s.key)&&s.preventDefault(),["Enter","ArrowDown"].includes(s.key)&&(P.value=!0),["Escape"].includes(s.key)&&(P.value=!1),on.value&&["Enter","Tab"].includes(s.key)&&J.value&&!a.value.some(T=>{let{value:U}=T;return U===J.value.value})&&H(J.value),s.key==="ArrowDown"&&on.value&&((_=cn.value)==null||_.focus("next")),s.key==="Enter"&&b.value&&(H(yn(n,b.value),!0,!0),r.value&&(j.value="")),["Backspace","Delete"].includes(s.key)){if(!n.multiple&&r.value&&a.value.length>0&&!b.value)return H(a.value[0],!1);if(~c.value){s.preventDefault();const T=c.value;H(a.value[c.value],!1),c.value=T>=x-1?x-2:T}else s.key==="Backspace"&&!b.value&&(c.value=x-1);return}if(n.multiple)if(s.key==="ArrowLeft"){if(c.value<0&&z&&z>0)return;const T=c.value>-1?c.value-1:x-1;a.value[T]?c.value=T:(c.value=-1,(N=e.value)==null||N.setSelectionRange(b.value.length,b.value.length))}else if(s.key==="ArrowRight"){if(c.value<0)return;const T=c.value+1;a.value[T]?c.value=T:(c.value=-1,(v=e.value)==null||v.setSelectionRange(0,0))}else~c.value&&Xn(s)&&(c.value=-1)}function Ni(s){var I;const z=((I=s==null?void 0:s.clipboardData)==null?void 0:I.getData("Text"))??"",x=Bn(z);x.length>1&&n.multiple&&(s.preventDefault(),Fn(x))}function Ai(){var s;n.eager&&((s=y.value)==null||s.calculateVisibleItems())}function Zi(){var s;o.value&&((s=e.value)==null||s.focus()),l.value=!0,w.value=null}function H(s){let z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,x=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(!(!s||s.props.disabled))if(n.multiple){const I=a.value.findIndex(N=>(n.valueComparator||Kn)(N.value,s.value)),_=z??!~I;if(~I){const N=_?[...a.value,s]:[...a.value];N.splice(I,1),a.value=N}else _&&(a.value=[...a.value,s]);n.clearOnSelect&&(b.value="")}else{const I=z!==!1;a.value=I?[s]:[],(!l.value||n.alwaysFilter)&&j.value&&(w.value=j.value),j.value=I&&!r.value?s.title:"",tn(()=>{P.value=x,l.value=!0})}}function Bn(s){const x=[` -`,...n.delimiters??[]].map(Lg).join("|");return s.split(new RegExp(`(?:${x})+`))}async function Fn(s){for(let z of s)z=z.trim(),z&&(H(yn(n,z)),await tn())}function Bi(s){o.value=!0,setTimeout(()=>{d.value=!0})}function Fi(s){d.value=!1}function Li(s){var x;const z=(x=t.value)==null?void 0:x.contentEl;z!=null&&z.contains(s.relatedTarget)&&(o.value=!0)}return K(o,(s,z)=>{if(!(s||s===z)&&(c.value=-1,P.value=!1,b.value)){if(n.multiple){H(yn(n,b.value));return}if(!r.value)return;a.value.some(x=>{let{title:I}=x;return I===b.value})?j.value="":H(yn(n,b.value))}}),K(P,s=>{if(!n.hideSelected&&s&&a.value.length&&l.value){const z=R.value.findIndex(x=>a.value.some(I=>(n.valueComparator||Kn)(I.value,x.value)));Vg&&window.requestAnimationFrame(()=>{var x;z>=0&&((x=y.value)==null||x.scrollToIndex(z))})}s&&(w.value=null)}),K(q,(s,z)=>{P.value||o.value&&!z.length&&s.length&&(P.value=!0)}),xi(()=>{const s=!!(!n.hideNoData||R.value.length||h["prepend-item"]||h["append-item"]||h["no-data"]),z=a.value.length>0,x=Gn.filterProps(n),I={search:b,filteredItems:L.value};return p(Gn,O({ref:e},x,{modelValue:b.value,"onUpdate:modelValue":_=>b.value=_,focused:o.value,"onUpdate:focused":_=>o.value=_,validationValue:a.externalValue,counterValue:D.value,dirty:z,class:["v-combobox",{"v-combobox--active-menu":P.value,"v-combobox--chips":!!n.chips,"v-combobox--selection-slot":!!r.value,"v-combobox--selecting-index":c.value>-1,[`v-combobox--${n.multiple?"multiple":"single"}`]:!0},n.class],style:n.style,readonly:F.isReadonly.value,placeholder:z?void 0:n.placeholder,"onClick:clear":Vi,"onMousedown:control":Mi,onKeydown:Ri,onPaste:Ni,onBlur:Li,"aria-expanded":Cn.value,"aria-controls":M.value}),{...h,default:_=>{let{id:N}=_;return E(rn,null,[p(Gg,O({id:jn.value,ref:t,modelValue:P.value,"onUpdate:modelValue":v=>P.value=v,activator:"parent",contentClass:"v-combobox__content",disabled:en.value,eager:n.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,onAfterEnter:Ai,onAfterLeave:Zi},n.menuProps),{default:()=>[p(Qg,{onFocusin:Bi,onKeydown:_i},{default:()=>[h["menu-header"]&&E("header",{ref:An},[h["menu-header"](I)]),s&&p(vi,O({key:"combobox-list",ref:cn,filterable:!0,selected:bn.value,selectStrategy:n.multiple?"independent":"single-independent",onMousedown:v=>v.preventDefault(),selectable:!!R.value.length,onFocusout:Fi,tabindex:"-1","aria-live":"polite","aria-labelledby":`${N.value}-label`,"aria-multiselectable":n.multiple,color:n.itemColor??n.color},Di,n.listProps),{default:()=>{var v,T,U;return[(v=h["prepend-item"])==null?void 0:v.call(h),!R.value.length&&!n.hideNoData&&(((T=h["no-data"])==null?void 0:T.call(h))??p(vn,{key:"no-data",title:u(n.noDataText)},null)),p(Jg,{ref:y,renderless:!0,items:R.value,itemKey:"value"},{default:mn=>{var On,Wn,Hn;let{item:S,index:Y,itemRef:A}=mn;const $n=O(S.props,{ref:A,key:S.value,active:on.value&&S===J.value?!0:void 0,onClick:()=>H(S,null),"aria-posinset":Y+1,"aria-setsize":R.value.length});return S.type==="divider"?((On=h.divider)==null?void 0:On.call(h,{props:S.raw,index:Y}))??p(Eg,O(S.props,{key:`divider-${Y}`}),null):S.type==="subheader"?((Wn=h.subheader)==null?void 0:Wn.call(h,{props:S.raw,index:Y}))??p(_g,O(S.props,{key:`subheader-${Y}`}),null):((Hn=h.item)==null?void 0:Hn.call(h,{item:S,index:Y,props:$n}))??p(vn,O($n,{role:"option"}),{prepend:fn=>{let{isSelected:$i}=fn;return E(rn,null,[n.multiple&&!n.hideSelected?p(uh,{key:S.value,modelValue:$i,ripple:!1,tabindex:"-1","aria-hidden":!0,onClick:Oi=>Oi.preventDefault()},null):void 0,S.props.prependAvatar&&p(Rg,{image:S.props.prependAvatar},null),S.props.prependIcon&&p(kn,{icon:S.props.prependIcon},null)])},title:()=>{var fn;return l.value?S.title:nh("v-combobox",S.title,(fn=un(S))==null?void 0:fn.title)}})}}),(U=h["append-item"])==null?void 0:U.call(h)]}}),h["menu-footer"]&&E("footer",{ref:Zn},[h["menu-footer"](I)])]})]}),a.value.map((v,T)=>{function U(A){A.stopPropagation(),A.preventDefault(),H(v,!1)}const mn=O(Qn.filterProps(v.props),{"onClick:close":U,onKeydown(A){A.key!=="Enter"&&A.key!==" "||(A.preventDefault(),A.stopPropagation(),U(A))},onMousedown(A){A.preventDefault(),A.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0}),S=m.value?!!h.chip:!!h.selection,Y=S?Ng(m.value?h.chip({item:v,index:T,props:mn}):h.selection({item:v,index:T})):void 0;if(!(S&&!Y))return E("div",{key:v.value,class:Zg(["v-combobox__selection",T===c.value&&["v-combobox__selection--selected",gn.value]]),style:Ag(T===c.value?hn.value:{})},[m.value?h.chip?p(wi,{key:"chip-defaults",defaults:{VChip:{closable:Q.value,size:"small",text:v.title}}},{default:()=>[Y]}):p(Qn,O({key:"chip",closable:Q.value,size:"small",text:v.title,disabled:v.props.disabled},mn),null):Y??E("span",{class:"v-combobox__selection-text"},[v.title,n.multiple&&Tinput,.v-combobox .v-field.v-field{cursor:text}.v-combobox .v-field .v-field__input>input{flex:1 1}.v-combobox .v-field input{min-width:64px}.v-combobox .v-field:not(.v-field--focused) input{min-width:0}.v-combobox .v-field--dirty .v-combobox__selection{margin-inline-end:2px}.v-combobox .v-combobox__selection-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v-combobox__content{overflow:hidden}.v-combobox__content{box-shadow:0 2px 4px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 4px 5px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 10px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-menu>.v-overlay__content.v-combobox__content{border-radius:4px}.v-combobox__content>.v-sheet{display:flex;flex-direction:column}.v-combobox__mask{background:rgb(var(--v-theme-surface-light))}.v-combobox__selection{display:inline-flex;align-items:center;height:1.5rem;letter-spacing:inherit;line-height:inherit;max-width:calc(100% - 4px)}.v-combobox__selection:first-child{margin-inline-start:0}.v-combobox--selecting-index .v-combobox__selection{opacity:var(--v-medium-emphasis-opacity)}.v-combobox--selecting-index .v-combobox__selection--selected{opacity:1}.v-combobox--selecting-index .v-field__input>input{caret-color:transparent}.v-combobox--single:not(.v-combobox--selection-slot).v-text-field input{flex:1 1;position:absolute;left:0;right:0;width:100%;padding-inline:inherit}.v-combobox--single:not(.v-combobox--selection-slot) .v-field--active input{transition:none}.v-combobox--single:not(.v-combobox--selection-slot) .v-field--dirty:not(.v-field--focused) input{opacity:0}.v-combobox--single:not(.v-combobox--selection-slot) .v-field--focused .v-combobox__selection{opacity:0}.v-combobox__menu-icon{margin-inline-start:4px;transition:.2s cubic-bezier(.4,0,.2,1)}.v-combobox--active-menu .v-combobox__menu-icon{transform:rotate(180deg)} diff --git a/assets/VContainer-BHAiZEWc.js b/assets/VContainer-BHAiZEWc.js new file mode 100644 index 0000000..5125097 --- /dev/null +++ b/assets/VContainer-BHAiZEWc.js @@ -0,0 +1 @@ +import{f as t,A as r,u as l,p as i,k as m}from"./vendor-vuetify-ChAgIwn2.js";import{b as u,m as c,a as f}from"./index-Bqe1gKo7.js";import{j as p,N as C,n as d}from"./vendor-vue-H0jQBZ7T.js";const y=i({fluid:{type:Boolean,default:!1},...m(),...f(),...c()},"VContainer"),P=t()({name:"VContainer",props:y(),setup(e,s){let{slots:a}=s;const{rtlClasses:n}=r(),{dimensionStyles:o}=u(e);return l(()=>p(e.tag,{class:d(["v-container",{"v-container--fluid":e.fluid},n.value,e.class]),style:C([o.value,e.style])},a)),{}}});export{P as V}; diff --git a/assets/VContainer-x94CJ7kH.js b/assets/VContainer-x94CJ7kH.js deleted file mode 100644 index 8ecc96a..0000000 --- a/assets/VContainer-x94CJ7kH.js +++ /dev/null @@ -1 +0,0 @@ -import{g as t,b7 as l,b as r,c as i,n as m,d as c,e as u,p as d,m as C,f,h as p}from"./index-CHEqx3ZK.js";const y=d({fluid:{type:Boolean,default:!1},...p(),...f(),...C()},"VContainer"),g=t()({name:"VContainer",props:y(),setup(e,s){let{slots:a}=s;const{rtlClasses:n}=l(),{dimensionStyles:o}=u(e);return r(()=>i(e.tag,{class:c(["v-container",{"v-container--fluid":e.fluid},n.value,e.class]),style:m([o.value,e.style])},a)),{}}});export{g as V}; diff --git a/assets/VDatePicker-CyfBxTLk.js b/assets/VDatePicker-CyfBxTLk.js new file mode 100644 index 0000000..8470359 --- /dev/null +++ b/assets/VDatePicker-CyfBxTLk.js @@ -0,0 +1,2 @@ +import{f as U,an as re,u as p,s as ne,p as R,I as ae,ag as We,aQ as X,n as W,w as j,a5 as E,aR as $e,aJ as ge,X as de,aa as Re,A as Fe,aS as Le}from"./vendor-vuetify-ChAgIwn2.js";import{l as I,o as se,a8 as le,E as be,a2 as De,aC as ue,ak as He}from"./index-Bqe1gKo7.js";import{j as g,k as b,F as G,n as Q,e as P,N as we,o as xe,a1 as je,s as Z,b as Ee,t as H,w as Me,m as N,R as Ue}from"./vendor-vue-H0jQBZ7T.js";import{V as pe}from"./VBadge-B7gMUs96.js";import{a as ce,m as ze}from"./VSheet-DHN9xqm_.js";const Pe=R({active:{type:[String,Array],default:void 0},controlHeight:[Number,String],controlVariant:{type:String,default:"docked"},noMonthPicker:Boolean,disabled:{type:[Boolean,String,Array],default:null},nextIcon:{type:ae,default:"$next"},prevIcon:{type:ae,default:"$prev"},modeIcon:{type:ae,default:"$subgroup"},text:String,monthText:String,yearText:String,viewMode:{type:String,default:"month"}},"VDatePickerControls"),ve=U()({name:"VDatePickerControls",props:Pe(),emits:{"click:year":()=>!0,"click:month":()=>!0,"click:prev":()=>!0,"click:next":()=>!0,"click:prev-year":()=>!0,"click:next-year":()=>!0},setup(e,a){let{emit:c,slots:l}=a;const{t}=re(),v=P(()=>Array.isArray(e.disabled)?e.disabled.includes("text"):!!e.disabled),k=P(()=>Array.isArray(e.disabled)?e.disabled.includes("mode"):!!e.disabled),s=P(()=>Array.isArray(e.disabled)?e.disabled.includes("prev-month"):!!e.disabled),o=P(()=>Array.isArray(e.disabled)?e.disabled.includes("next-month"):!!e.disabled),D=P(()=>Array.isArray(e.disabled)?e.disabled.includes("prev-year"):!!e.disabled),f=P(()=>Array.isArray(e.disabled)?e.disabled.includes("next-year"):!!e.disabled);function x(){c("click:prev")}function u(){c("click:next")}function M(){c("click:prev-year")}function V(){c("click:next-year")}function n(){c("click:year")}function y(){c("click:month")}return p(()=>{const i={VBtn:{density:"comfortable",variant:"text"}},C=g(I,{"data-testid":"prev-month",disabled:s.value,icon:e.prevIcon,"aria-label":t("$vuetify.datePicker.ariaLabel.previousMonth"),onClick:x},null),T=g(I,{"data-testid":"next-month",disabled:o.value,icon:e.nextIcon,"aria-label":t("$vuetify.datePicker.ariaLabel.nextMonth"),onClick:u},null),_=g(I,{"data-testid":"prev-year",disabled:D.value,icon:e.prevIcon,"aria-label":t("$vuetify.datePicker.ariaLabel.previousYear"),onClick:M},null),F=g(I,{"data-testid":"next-year",disabled:f.value,icon:e.nextIcon,"aria-label":t("$vuetify.datePicker.ariaLabel.nextYear"),onClick:V},null),m=g(I,{class:"v-date-picker-controls__only-month-btn","data-testid":"month-btn",density:"default",disabled:v.value,text:e.monthText,appendIcon:e.modeIcon,rounded:!0,"aria-label":t("$vuetify.datePicker.ariaLabel.selectMonth"),onClick:y},null),r=g(I,{class:"v-date-picker-controls__only-year-btn","data-testid":"year-btn",density:"default",disabled:k.value,text:e.yearText,appendIcon:e.modeIcon,rounded:!0,"aria-label":t("$vuetify.datePicker.ariaLabel.selectYear"),onClick:n},null),w=g(I,{class:"v-date-picker-controls__year-btn","data-testid":"year-btn",density:"default",disabled:k.value,text:e.text,appendIcon:e.modeIcon,rounded:!0,"aria-label":t("$vuetify.datePicker.ariaLabel.selectYear"),onClick:n},null),A=b(G,null,[g(I,{class:"v-date-picker-controls__month-btn","data-testid":"month-btn",height:"36",disabled:v.value,text:e.text,rounded:!0,"aria-label":t("$vuetify.datePicker.ariaLabel.selectMonth"),onClick:y},null),g(I,{class:"v-date-picker-controls__mode-btn","data-testid":"year-btn",disabled:k.value,icon:e.modeIcon,"aria-label":t("$vuetify.datePicker.ariaLabel.selectYear"),onClick:n},null)]),O={viewMode:e.viewMode,disabled:Array.isArray(e.disabled)?e.disabled:[],monthYearText:e.text??"",monthText:e.monthText??"",yearText:e.yearText??"",openMonths:y,openYears:n,prevMonth:x,nextMonth:u,prevYear:M,nextYear:V},z=b(G,null,[e.noMonthPicker?w:A,g(se,null,null),b("div",{class:"v-date-picker-controls__month"},[C,T])]),ee=b(G,null,[b("div",{class:"v-date-picker-controls__month"},[C,m,T]),g(se,null,null),b("div",{class:"v-date-picker-controls__year"},[_,r,F])]);return g(le,{defaults:i},{default:()=>{var te;return[b("div",{class:Q(["v-date-picker-controls",`v-date-picker-controls--variant-${e.controlVariant}`]),style:{"--v-date-picker-controls-height":ne(e.controlHeight)}},[((te=l.default)==null?void 0:te.call(l,O))??b(G,null,[e.controlVariant==="modal"&&z,e.controlVariant==="docked"&&ee])])]}})}),{}}}),Je=R({appendIcon:ae,color:String,header:String,transition:String,onClick:We()},"VDatePickerHeader"),fe=U()({name:"VDatePickerHeader",props:Je(),emits:{click:()=>!0,"click:append":()=>!0},setup(e,a){let{emit:c,slots:l}=a;const{backgroundColorClasses:t,backgroundColorStyles:v}=be(()=>e.color);function k(){c("click")}function s(){c("click:append")}return p(()=>{const o=!!(l.default||e.header),D=!!(l.append||e.appendIcon);return b("div",{class:Q(["v-date-picker-header",{"v-date-picker-header--clickable":!!e.onClick},t.value]),style:we(v.value),onClick:k},[l.prepend&&b("div",{key:"prepend",class:"v-date-picker-header__prepend"},[l.prepend()]),o&&g(De,{key:"content",name:e.transition},{default:()=>{var f;return[b("div",{key:e.header,class:"v-date-picker-header__content"},[((f=l.default)==null?void 0:f.call(l))??e.header])]}}),D&&b("div",{class:"v-date-picker-header__append"},[l.append?g(le,{key:"append-defaults",disabled:!e.appendIcon,defaults:{VBtn:{icon:e.appendIcon,variant:"text"}}},{default:()=>{var f;return[(f=l.append)==null?void 0:f.call(l)]}}):g(I,{key:"append-btn",icon:e.appendIcon,variant:"text",onClick:s},null)])])}),{}}}),Ke=R({allowedDates:[Array,Function],disabled:{type:Boolean,default:null},displayValue:null,modelValue:Array,month:[Number,String],max:null,min:null,showAdjacentMonths:Boolean,year:[Number,String],weekdays:{type:Array,default:()=>[0,1,2,3,4,5,6]},weeksInMonth:{type:String,default:"dynamic"},firstDayOfWeek:{type:[Number,String],default:void 0},firstDayOfYear:{type:[Number,String],default:void 0},weekdayFormat:String},"calendar");function Qe(e){const a=X(),c=W(e,"modelValue",[],n=>j(n).map(y=>a.date(y))),l=P(()=>e.displayValue?a.date(e.displayValue):c.value.length>0?a.date(c.value[0]):e.min?a.date(e.min):Array.isArray(e.allowedDates)?a.date(e.allowedDates[0]):a.date()),t=W(e,"year",void 0,n=>{const y=n!=null?Number(n):a.getYear(l.value);return a.startOfYear(a.setYear(a.date(),y))},n=>a.getYear(n)),v=W(e,"month",void 0,n=>{const y=n!=null?Number(n):a.getMonth(l.value),i=a.setYear(a.startOfMonth(a.date()),a.getYear(t.value));return a.setMonth(i,y)},n=>a.getMonth(n)),k=P(()=>{const n=a.toJsDate(a.startOfWeek(a.date(),e.firstDayOfWeek)).getDay();return a.getWeekdays(e.firstDayOfWeek,e.weekdayFormat).filter((y,i)=>e.weekdays.includes((i+n)%7))}),s=P(()=>{const n=a.getWeekArray(v.value,e.firstDayOfWeek),y=n.flat(),i=6*7;if(e.weeksInMonth==="static"&&y.lengthe.weekdays.includes(a.toJsDate(i).getDay())).map((i,C)=>{const T=a.toISO(i),_=!a.isSameMonth(i,v.value),F=a.isSameDay(i,a.startOfMonth(v.value)),m=a.isSameDay(i,a.endOfMonth(v.value)),r=a.isSameDay(i,v.value),w=e.weekdays.length;return{date:i,formatted:a.format(i,"keyboardDate"),isAdjacent:_,isDisabled:V(i),isEnd:m,isHidden:_&&!e.showAdjacentMonths,isSame:r,isSelected:c.value.some(A=>a.isSameDay(i,A)),isStart:F,isToday:a.isSameDay(i,y),isWeekEnd:C%w===w-1,isWeekStart:C%w===0,isoDate:T,localized:a.format(i,"dayOfMonth"),month:a.getMonth(i),year:a.getYear(i)}})}const D=P(()=>{const n=a.startOfWeek(l.value,e.firstDayOfWeek),y=[];for(let C=0;C<=6;C++)y.push(a.addDays(n,C));const i=a.date();return o(y,i)}),f=P(()=>{const n=s.value.flat(),y=a.date();return o(n,y)}),x=P(()=>s.value.map(n=>n.length?a.getWeek(n[0],e.firstDayOfWeek,e.firstDayOfYear):null)),{minDate:u,maxDate:M}=Se(e);function V(n){if(e.disabled)return!0;const y=a.date(n);return u.value&&a.isBefore(a.endOfDay(y),u.value)||M.value&&a.isAfter(y,M.value)?!0:Array.isArray(e.allowedDates)&&e.allowedDates.length>0?!e.allowedDates.some(i=>a.isSameDay(a.date(i),y)):typeof e.allowedDates=="function"?!e.allowedDates(y):!1}return{displayValue:l,daysInMonth:f,daysInWeek:D,genDays:o,model:c,weeksInMonth:s,weekdayLabels:k,weekNumbers:x}}function Se(e){const a=X(),c=P(()=>{if(!e.min)return null;const k=a.date(e.min);return a.isValid(k)?k:null}),l=P(()=>{if(!e.max)return null;const k=a.date(e.max);return a.isValid(k)?k:null});function t(k){return c.value&&a.isBefore(k,c.value)?c.value:l.value&&a.isAfter(k,l.value)?l.value:k}function v(k){return(!c.value||a.isAfter(k,c.value))&&(!l.value||a.isBefore(k,l.value))}return{minDate:c,maxDate:l,clampDate:t,isInAllowedRange:v}}const Ve=R({color:String,hideWeekdays:Boolean,multiple:[Boolean,Number,String],showWeek:Boolean,readonly:Boolean,transition:{type:String,default:"picker-transition"},reverseTransition:{type:String,default:"picker-reverse-transition"},events:{type:[Array,Function,Object],default:()=>null},eventColor:{type:[Array,Function,Object,String],default:()=>null},...E(Ke(),["displayValue"])},"VDatePickerMonth"),he=U()({name:"VDatePickerMonth",props:Ve(),emits:{"update:modelValue":e=>!0,"update:month":e=>!0,"update:year":e=>!0},setup(e,a){let{emit:c,slots:l}=a;const t=Ee(),{t:v}=re(),{daysInMonth:k,model:s,weekNumbers:o,weekdayLabels:D}=Qe(e),f=X(),x=Z(),u=Z(),M=Z(!1),V=H(()=>M.value?e.reverseTransition:e.transition);e.multiple==="range"&&s.value.length>0&&(x.value=s.value[0],s.value.length>1&&(u.value=s.value[s.value.length-1]));const n=P(()=>{const m=["number","string"].includes(typeof e.multiple)?Number(e.multiple):1/0;return s.value.length>=m});xe(k,(m,r)=>{r&&(M.value=f.isBefore(m[0].date,r[0].date))});function y(m){const r=f.startOfDay(m);if(s.value.length===0?x.value=void 0:s.value.length===1&&(x.value=s.value[0],u.value=void 0),!x.value)x.value=r,s.value=[x.value];else if(u.value)x.value=m,u.value=void 0,s.value=[x.value];else{if(f.isSameDay(r,x.value)){x.value=void 0,s.value=[];return}else f.isBefore(r,x.value)?(u.value=f.endOfDay(x.value),x.value=r):u.value=f.endOfDay(r);s.value=$e(f,x.value,u.value)}}function i(m){const r=f.format(m.date,"fullDateWithWeekday"),w=m.isToday?"currentDate":"selectDate";return v(`$vuetify.datePicker.ariaLabel.${w}`,r)}function C(m){const r=s.value.findIndex(w=>f.isSameDay(w,m));if(r===-1)s.value=[...s.value,m];else{const w=[...s.value];w.splice(r,1),s.value=w}}function T(m){e.multiple==="range"?y(m):e.multiple?C(m):s.value=[m]}function _(m){const{events:r,eventColor:w}=e;let A,O=[];if(Array.isArray(r)?A=r.includes(m):r instanceof Function?A=r(m)||!1:r?A=r[m]||!1:A=!1,A)A!==!0?O=j(A):typeof w=="string"?O=[w]:typeof w=="function"?O=j(w(m)):Array.isArray(w)?O=w:typeof w=="object"&&w!==null&&(O=j(w[m]));else return[];return O.length?O.filter(Boolean).map(z=>typeof z=="string"?z:"surface-variant"):["surface-variant"]}function F(m){const r=_(m);return r.length?b("div",{class:"v-date-picker-month__events"},[r.map(w=>g(pe,{dot:!0,color:w},null))]):null}p(()=>b("div",{class:"v-date-picker-month",style:{"--v-date-picker-days-in-week":e.weekdays.length}},[e.showWeek&&b("div",{key:"weeks",class:"v-date-picker-month__weeks"},[!e.hideWeekdays&&b("div",{key:"hide-week-days",class:"v-date-picker-month__day"},[je(" ")]),o.value.map(m=>b("div",{class:Q(["v-date-picker-month__day","v-date-picker-month__day--adjacent"])},[m]))]),g(De,{name:V.value},{default:()=>{var m;return[b("div",{ref:t,key:(m=k.value[0].date)==null?void 0:m.toString(),class:"v-date-picker-month__days"},[!e.hideWeekdays&&D.value.map(r=>b("div",{class:Q(["v-date-picker-month__day","v-date-picker-month__weekday"])},[r])),k.value.map((r,w)=>{var O;const A={props:{class:"v-date-picker-month__day-btn",color:r.isSelected||r.isToday?e.color:void 0,disabled:r.isDisabled,readonly:e.readonly,icon:!0,ripple:!1,variant:r.isSelected?"flat":r.isToday?"outlined":"text","aria-label":i(r),"aria-current":r.isToday?"date":void 0,onClick:()=>T(r.date)},item:r,i:w};return n.value&&!r.isSelected&&(r.isDisabled=!0),b("div",{class:Q(["v-date-picker-month__day",{"v-date-picker-month__day--adjacent":r.isAdjacent,"v-date-picker-month__day--hide-adjacent":r.isHidden,"v-date-picker-month__day--selected":r.isSelected,"v-date-picker-month__day--week-end":r.isWeekEnd,"v-date-picker-month__day--week-start":r.isWeekStart}]),"data-v-date":r.isDisabled?void 0:r.isoDate},[(e.showAdjacentMonths||!r.isAdjacent)&&(((O=l.day)==null?void 0:O.call(l,A))??g(I,A.props,{default:()=>[r.localized,F(r.isoDate)]}))])})])]}})]))}}),Ye=R({color:String,height:[String,Number],min:null,max:null,modelValue:Number,year:Number,allowedMonths:[Array,Function]},"VDatePickerMonths"),ye=U()({name:"VDatePickerMonths",props:Ye(),emits:{"update:modelValue":e=>!0},setup(e,a){let{emit:c,slots:l}=a;const t=X(),v=W(e,"modelValue"),k=P(()=>{let o=t.startOfYear(t.date());return e.year&&(o=t.setYear(o,e.year)),ge(12).map(D=>{const f=t.format(o,"monthShort"),x=t.format(o,"month"),u=!!(!s(D)||e.min&&t.isAfter(t.startOfMonth(t.date(e.min)),o)||e.max&&t.isAfter(o,t.startOfMonth(t.date(e.max))));return o=t.getNextMonth(o),{isDisabled:u,text:f,label:x,value:D}})});Me(()=>{v.value=v.value??t.getMonth(t.date())});function s(o){return Array.isArray(e.allowedMonths)&&e.allowedMonths.length?e.allowedMonths.includes(o):typeof e.allowedMonths=="function"?e.allowedMonths(o):!0}return p(()=>b("div",{class:"v-date-picker-months",style:{height:ne(e.height)}},[b("div",{class:"v-date-picker-months__content"},[k.value.map((o,D)=>{var u;const f={active:v.value===D,ariaLabel:o.label,color:v.value===D?e.color:void 0,disabled:o.isDisabled,rounded:!0,text:o.text,variant:v.value===o.value?"flat":"text",onClick:()=>x(D)};function x(M){if(v.value===M){c("update:modelValue",v.value);return}v.value=M}return((u=l.month)==null?void 0:u.call(l,{month:o,i:D,props:f}))??g(I,N({key:"month"},f),null)})])])),{}}}),Ce=R({color:String,height:[String,Number],min:null,max:null,modelValue:Number,allowedYears:[Array,Function]},"VDatePickerYears"),me=U()({name:"VDatePickerYears",props:Ce(),directives:{vIntersect:ue},emits:{"update:modelValue":e=>!0},setup(e,a){let{emit:c,slots:l}=a;const t=X(),v=W(e,"modelValue"),k=Z(!1),s=P(()=>{const u=t.getYear(t.date());let M=u-100,V=u+52;e.min&&(M=t.getYear(t.date(e.min))),e.max&&(V=t.getYear(t.date(e.max)));let n=t.startOfYear(t.date());return n=t.setYear(n,M),ge(V-M+1,M).map(y=>{const i=t.format(n,"year");return n=t.setYear(n,t.getYear(n)+1),{text:i,value:y,isDisabled:!x(y)}})});Me(()=>{v.value=v.value??t.getYear(t.date())});const o=de(),D=de();function f(){const u=o.el,M=D.el;if(!u||!M)return;const V=u.getBoundingClientRect(),n=M.getBoundingClientRect();u.scrollTop+=n.top-V.top-u.clientHeight/2+n.height/2}function x(u){return Array.isArray(e.allowedYears)&&e.allowedYears.length?e.allowedYears.includes(u):typeof e.allowedYears=="function"?e.allowedYears(u):!0}return p(()=>Ue(b("div",{class:"v-date-picker-years",ref:o,style:{height:ne(e.height)}},[b("div",{class:"v-date-picker-years__content",onFocus:()=>{var u;return(u=D.el)==null?void 0:u.focus()},onFocusin:()=>k.value=!0,onFocusout:()=>k.value=!1,tabindex:k.value?-1:0},[s.value.map((u,M)=>{var n;const V={ref:v.value===u.value?D:void 0,active:v.value===u.value,color:v.value===u.value?e.color:void 0,rounded:!0,text:u.text,disabled:u.isDisabled,variant:v.value===u.value?"flat":"text",onClick:()=>{if(v.value===u.value){c("update:modelValue",v.value);return}v.value=u.value}};return((n=l.year)==null?void 0:n.call(l,{year:u,i:M,props:V}))??g(I,N({key:"month"},V),null)})])]),[[ue,{handler:f},null,{once:!0}]])),{}}}),Xe=Re("v-picker-title"),Ae=R({bgColor:String,divided:Boolean,landscape:Boolean,title:String,hideHeader:Boolean,hideTitle:Boolean,...ze()},"VPicker"),ke=U()({name:"VPicker",props:Ae(),setup(e,a){let{slots:c}=a;const{backgroundColorClasses:l,backgroundColorStyles:t}=be(()=>e.color);return p(()=>{const v=ce.filterProps(e),k=!e.hideTitle&&!!(e.title||c.title);return g(ce,N(v,{color:e.bgColor,class:["v-picker",{"v-picker--divided":e.divided,"v-picker--landscape":e.landscape,"v-picker--with-actions":!!c.actions},e.class],style:e.style}),{default:()=>{var s;return[!e.hideHeader&&b("div",{key:"header",class:Q(["v-picker__header-wrapper",l.value]),style:we([t.value])},[k&&g(Xe,{key:"picker-title"},{default:()=>{var o;return[((o=c.title)==null?void 0:o.call(c))??e.title]}}),c.header&&b("div",{class:"v-picker__header"},[c.header()])]),b("div",{class:"v-picker__body"},[(s=c.default)==null?void 0:s.call(c)]),c.actions&&g(le,{defaults:{VBtn:{slim:!0,variant:"text"}}},{default:()=>[b("div",{class:"v-picker__actions"},[c.actions()])]})]}})}),{}}}),qe=R({header:{type:String,default:"$vuetify.datePicker.header"},headerColor:String,headerDateFormat:{type:String,default:"normalDateWithWeekday"},landscapeHeaderWidth:[Number,String],...E(Pe(),["active","monthText","yearText"]),...Ve({weeksInMonth:"static"}),...E(Ye(),["modelValue"]),...E(Ce(),["modelValue"]),...Ae({title:"$vuetify.datePicker.title"}),modelValue:null},"VDatePicker"),nt=U()({name:"VDatePicker",props:qe(),emits:{"update:modelValue":e=>!0,"update:month":e=>!0,"update:year":e=>!0,"update:viewMode":e=>!0},setup(e,a){let{emit:c,slots:l}=a;const t=X(),{t:v}=re(),{rtlClasses:k}=Fe(),s=W(e,"modelValue",void 0,d=>j(d).map(h=>t.date(h)),d=>e.multiple?d:d[0]),o=W(e,"viewMode"),{minDate:D,maxDate:f,clampDate:x}=Se(e),u=P(()=>{var Y;const d=t.date(),h=(Y=s.value)!=null&&Y[0]?t.date(s.value[0]):x(d);return h&&t.isValid(h)?h:d}),M=H(()=>e.headerColor??e.color),V=W(e,"month"),n=P({get:()=>Number(V.value??t.getMonth(t.startOfMonth(u.value))),set:d=>V.value=d}),y=W(e,"year"),i=P({get:()=>Number(y.value??t.getYear(t.startOfYear(t.setMonth(u.value,n.value)))),set:d=>y.value=d}),C=Z(!1),T=P(()=>{if(e.multiple&&s.value.length>1)return v("$vuetify.datePicker.itemsSelected",s.value.length);const d=s.value[0]&&t.isValid(s.value[0])?t.format(t.date(s.value[0]),e.headerDateFormat):v(e.header);return e.landscape&&d.split(" ").length===3?d.replace(" ",` +`):d}),_=H(()=>{let d=t.date();return d=t.setDate(d,1),d=t.setMonth(d,n.value),d=t.setYear(d,i.value),d}),F=H(()=>t.format(_.value,"monthAndYear")),m=H(()=>t.format(_.value,"monthShort")),r=H(()=>t.format(_.value,"year")),w=H(()=>`date-picker-header${C.value?"-reverse":""}-transition`),A=P(()=>{if(e.disabled)return!0;const d=[];if(o.value!=="month")d.push("prev-month","next-month","prev-year","next-year");else{let h=t.date();if(h=t.startOfMonth(h),h=t.setMonth(h,n.value),h=t.setYear(h,i.value),D.value){const Y=t.addDays(t.startOfMonth(h),-1),B=t.addDays(t.startOfYear(h),-1);t.isAfter(D.value,Y)&&d.push("prev-month"),t.isAfter(D.value,B)&&d.push("prev-year")}if(f.value){const Y=t.addDays(t.endOfMonth(h),1),B=t.addDays(t.endOfYear(h),1);t.isAfter(Y,f.value)&&d.push("next-month"),t.isAfter(B,f.value)&&d.push("next-year")}}return d}),O=P(()=>e.allowedYears||te),z=P(()=>e.allowedMonths||_e);function ee(d,h){const Y=e.allowedDates;if(typeof Y!="function")return!0;const B=1+Le(t,d,h);for(let $=0;$0?n.value--:(i.value--,n.value=11,L()),q()}function Te(){if(i.value++,f.value){const d=String(n.value+1).padStart(2,"0"),h=t.parseISO(`${i.value}-${d}-01`);t.isAfter(h,f.value)&&(n.value=t.getMonth(f.value))}L()}function Be(){if(i.value--,D.value){const d=String(n.value+1).padStart(2,"0"),h=t.endOfMonth(t.parseISO(`${i.value}-${d}-01`));t.isAfter(D.value,h)&&(n.value=t.getMonth(D.value))}L()}function Ne(){o.value="month"}function ie(){o.value=o.value==="months"?"month":"months"}function oe(){o.value=o.value==="year"?"month":"year"}function q(){o.value==="months"&&ie()}function L(){o.value==="year"&&oe()}return xe(s,(d,h)=>{const Y=j(h),B=j(d);if(!B.length)return;const $=t.date(Y[Y.length-1]),J=t.date(B[B.length-1]);if(t.isSameDay($,J))return;const K=t.getMonth(J),S=t.getYear(J);K!==n.value&&(n.value=K,q()),S!==i.value&&(i.value=S,L()),C.value=t.isBefore($,J)}),p(()=>{const d=ke.filterProps(e),h=E(ve.filterProps(e),["viewMode"]),Y=fe.filterProps(e),B=he.filterProps(e),$=E(ye.filterProps(e),["modelValue"]),J=E(me.filterProps(e),["modelValue"]),K={color:M.value,header:T.value,transition:w.value};return g(ke,N(d,{color:M.value,class:["v-date-picker",`v-date-picker--${o.value}`,{"v-date-picker--show-week":e.showWeek},k.value,e.class],style:[{"--v-date-picker-landscape-header-width":ne(e.landscapeHeaderWidth)},e.style]}),{title:()=>{var S;return((S=l.title)==null?void 0:S.call(l))??b("div",{class:"v-date-picker__title"},[v(e.title)])},header:()=>l.header?g(le,{defaults:{VDatePickerHeader:{...K}}},{default:()=>{var S;return[(S=l.header)==null?void 0:S.call(l,K)]}}):g(fe,N({key:"header"},Y,K,{onClick:o.value!=="month"?Ne:void 0}),{prepend:l.prepend,append:l.append}),default:()=>b(G,null,[g(ve,N(h,{disabled:A.value,viewMode:o.value,text:F.value,monthText:m.value,yearText:r.value,"onClick:next":Oe,"onClick:prev":Ie,"onClick:nextYear":Te,"onClick:prevYear":Be,"onClick:month":ie,"onClick:year":oe}),{default:l.controls}),g(He,{hideOnLeave:!0},{default:()=>[o.value==="months"?g(ye,N({key:"date-picker-months"},$,{modelValue:n.value,"onUpdate:modelValue":[S=>n.value=S,q],min:D.value,max:f.value,year:i.value,allowedMonths:z.value}),{month:l.month}):o.value==="year"?g(me,N({key:"date-picker-years"},J,{modelValue:i.value,"onUpdate:modelValue":[S=>i.value=S,L],min:D.value,max:f.value,allowedYears:O.value}),{year:l.year}):g(he,N({key:"date-picker-month"},B,{modelValue:s.value,"onUpdate:modelValue":S=>s.value=S,month:n.value,"onUpdate:month":[S=>n.value=S,q],year:i.value,"onUpdate:year":[S=>i.value=S,L],min:D.value,max:f.value}),{day:l.day})]})]),actions:l.actions})}),{}}});export{nt as V,ke as a,Ae as m}; diff --git a/assets/VDatePicker-X4Ryb5EN.css b/assets/VDatePicker-X4Ryb5EN.css new file mode 100644 index 0000000..eb148d2 --- /dev/null +++ b/assets/VDatePicker-X4Ryb5EN.css @@ -0,0 +1 @@ +.v-date-picker{overflow:hidden;width:328px;--v-date-picker-landscape-header-width: 170px}.v-date-picker--show-week{width:368px}.v-date-picker.v-picker--landscape:has(.v-picker__header-wrapper){width:calc(328px + var(--v-date-picker-landscape-header-width))}.v-date-picker.v-picker--landscape:has(.v-picker__header-wrapper) .v-picker__header-wrapper{width:var(--v-date-picker-landscape-header-width)}.v-date-picker.v-picker--landscape:has(.v-picker__header-wrapper) .v-picker__header-wrapper .v-date-picker-header{height:auto;padding-inline:24px}.v-date-picker.v-picker--landscape:has(.v-picker__header-wrapper).v-picker--show-week{width:calc(368px + var(--v-date-picker-landscape-header-width))}.v-date-picker>.v-picker__body{flex-direction:column}.v-date-picker-controls{display:flex;align-items:center;justify-content:space-between;font-size:.875rem;height:var(--v-date-picker-controls-height, 56px);padding:4px 12px}.v-date-picker-controls .v-btn{text-transform:none;font-weight:400;line-height:initial;letter-spacing:initial}.v-date-picker-controls .v-btn>.v-btn__append>.v-icon{transition-property:transform;transition-duration:.28s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.v-date-picker--months .v-date-picker-controls .v-date-picker-controls__only-month-btn>.v-btn__append>.v-icon{transform:rotate(180deg)}.v-date-picker--year .v-date-picker-controls .v-date-picker-controls__mode-btn{transform:rotate(180deg)}.v-date-picker--year .v-date-picker-controls .v-date-picker-controls__year-btn>.v-btn__append>.v-icon,.v-date-picker--year .v-date-picker-controls .v-date-picker-controls__only-year-btn>.v-btn__append>.v-icon{transform:rotate(180deg)}.v-date-picker-controls__date{margin-inline-end:4px}.v-date-picker-controls__month,.v-date-picker-controls__year{display:flex}.v-locale--is-rtl.v-date-picker-controls__month,.v-locale--is-rtl.v-date-picker-controls__year,.v-locale--is-rtl .v-date-picker-controls__month,.v-locale--is-rtl .v-date-picker-controls__year{flex-direction:row-reverse}.v-date-picker-controls .v-date-picker-controls__month-btn,.v-date-picker-controls .v-date-picker-controls__year-btn{padding:0 12px}.v-date-picker-controls .v-date-picker-controls__only-month-btn,.v-date-picker-controls .v-date-picker-controls__only-year-btn{padding-inline:12px 8px;min-width:40px}.v-date-picker-controls .v-date-picker-controls__only-month-btn>.v-btn__append,.v-date-picker-controls .v-date-picker-controls__only-year-btn>.v-btn__append{margin-inline:4px -4px}.v-date-picker__title{display:inline-block}.v-date-picker-header{align-items:flex-end;height:70px;display:grid;grid-template-areas:"prepend content append";grid-template-columns:min-content minmax(0,1fr) min-content;overflow:hidden;padding-inline:24px 12px;padding-bottom:12px}.v-date-picker-header__append{grid-area:append}.v-date-picker-header__prepend{grid-area:prepend;padding-inline-start:8px}.v-date-picker-header__content{align-items:center;display:inline-flex;font-size:32px;line-height:40px;grid-area:content;justify-content:space-between;white-space:pre-wrap}.v-date-picker-header--clickable .v-date-picker-header__content{cursor:pointer}.v-date-picker-header--clickable .v-date-picker-header__content:not(:hover){opacity:.7}.date-picker-header-transition-enter-active,.date-picker-header-reverse-transition-enter-active,.date-picker-header-transition-leave-active,.date-picker-header-reverse-transition-leave-active{transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.date-picker-header-transition-enter-from{transform:translateY(100%)}.date-picker-header-transition-leave-to{opacity:0;transform:translateY(-100%)}.date-picker-header-reverse-transition-enter-from{transform:translateY(-100%)}.date-picker-header-reverse-transition-leave-to{opacity:0;transform:translateY(100%)}.v-date-picker-month{display:flex;justify-content:center;padding:0 12px 8px;--v-date-picker-month-day-diff: 4px}.v-date-picker-month__weeks{display:flex;flex-direction:column;column-gap:4px;font-size:.875rem}.v-date-picker-month__weekday{font-size:.875rem}.v-date-picker-month__days{display:grid;grid-template-columns:repeat(var(--v-date-picker-days-in-week),min-content);column-gap:4px;justify-content:space-around;width:100%}.v-date-picker-month__day{align-items:center;display:flex;justify-content:center;position:relative;height:40px;width:40px}.v-date-picker-month__day--selected .v-btn{background-color:rgb(var(--v-theme-surface-variant));color:rgb(var(--v-theme-on-surface-variant))}.v-date-picker-month__day .v-btn.v-date-picker-month__day-btn{--v-btn-height: 24px;--v-btn-size: .875rem}.v-date-picker-month__day--week{font-size:var(--v-btn-size)}.v-date-picker-month__day--adjacent{opacity:.5}.v-date-picker-month__day--hide-adjacent{opacity:0}.v-date-picker-month__events{height:8px;left:0;text-indent:0;position:absolute;text-align:center;white-space:pre;width:100%}.v-date-picker-month__events>div{height:8px;margin:0 1px -1px;width:8px}.v-date-picker-month__events .v-badge--dot .v-badge__badge{border-radius:4px;height:8px;width:8px}.v-date-picker-month__day .v-date-picker-month__events{bottom:8px}.v-date-picker-months{height:288px}.v-date-picker-months__content{align-items:center;display:grid;flex:1 1;height:inherit;justify-content:space-around;grid-template-columns:repeat(2,1fr);grid-gap:0px 24px;padding-inline-start:36px;padding-inline-end:36px}.v-date-picker-months__content .v-btn{text-transform:none;padding-inline-start:8px;padding-inline-end:8px}.v-date-picker-years{height:288px;overflow-y:scroll}.v-date-picker-years__content{display:grid;flex:1 1;justify-content:space-around;grid-template-columns:repeat(3,1fr);gap:8px 24px;padding-inline:32px}.v-date-picker-years__content .v-btn{padding-inline:8px}.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}.v-picker.v-sheet{display:grid;grid-auto-rows:min-content;grid-template-areas:"header" "body";grid-template-columns:minmax(0,1fr);overflow:hidden}.v-picker.v-sheet{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-picker.v-sheet{border-radius:4px}.v-picker.v-sheet.v-picker--with-actions{grid-template-areas:"header" "body" "actions"}.v-picker.v-sheet.v-picker--landscape{grid-template-columns:auto 1fr;grid-template-areas:"header body" "header body"}.v-picker.v-sheet.v-picker--landscape.v-picker--with-actions{grid-template-areas:"header body" "header actions"}.v-picker__body{grid-area:body;overflow:hidden;position:relative;display:flex;justify-content:center;flex-wrap:wrap}.v-picker__header-wrapper{grid-area:header}.v-picker__actions{grid-area:actions;padding:0 12px 12px;display:flex;align-items:center;justify-content:flex-end}.v-picker__actions .v-btn{min-width:48px}.v-picker__actions .v-btn:not(:last-child){margin-inline-end:8px}.v-picker--divided .v-picker__header{border-bottom-color:rgba(var(--v-border-color),var(--v-border-opacity));border-bottom-style:solid;border-bottom-width:thin}.v-picker-title{text-transform:uppercase;font-size:.75rem;padding-inline:24px 12px;padding-top:16px;padding-bottom:16px;font-weight:400;letter-spacing:.1666666667em} diff --git a/assets/VExpansionPanels-C1X8gcBr.js b/assets/VExpansionPanels-C1X8gcBr.js new file mode 100644 index 0000000..d729e4f --- /dev/null +++ b/assets/VExpansionPanels-C1X8gcBr.js @@ -0,0 +1 @@ +import{d as B,j as c,R as A,V as N,k as v,N as b,n as p,e as P,t as l,p as F}from"./vendor-vue-H0jQBZ7T.js";import{a1 as O,U,a3 as q,am as C,E as _,h as H,a8 as R,b as J,a as K,a0 as M,a7 as Q,a9 as W,m as D,aa as X,a4 as Y,ac as Z,$ as ee,al as ae}from"./index-Bqe1gKo7.js";import{f as y,u as V,p as g,k as S,I as h,h as ne,j as le,m as te,aj as se}from"./vendor-vuetify-ChAgIwn2.js";const f=Symbol.for("vuetify:v-expansion-panel"),j=g({...S(),...q()},"VExpansionPanelText"),T=y()({name:"VExpansionPanelText",props:j(),setup(e,d){let{slots:n}=d;const a=B(f);if(!a)throw new Error("[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel");const{hasContent:s,onAfterLeave:u}=O(e,a.isSelected);return V(()=>c(U,{onAfterLeave:u},{default:()=>{var o;return[A(v("div",{class:p(["v-expansion-panel-text",e.class]),style:b(e.style)},[n.default&&s.value&&v("div",{class:"v-expansion-panel-text__wrapper"},[(o=n.default)==null?void 0:o.call(n)])]),[[N,a.isSelected.value]])]}})),{}}}),z=g({color:String,expandIcon:{type:h,default:"$expand"},collapseIcon:{type:h,default:"$collapse"},hideActions:Boolean,focusable:Boolean,static:Boolean,ripple:{type:[Boolean,Object],default:!1},readonly:Boolean,...S(),...K()},"VExpansionPanelTitle"),w=y()({name:"VExpansionPanelTitle",directives:{vRipple:C},props:z(),setup(e,d){let{slots:n}=d;const a=B(f);if(!a)throw new Error("[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel");const{backgroundColorClasses:s,backgroundColorStyles:u}=_(()=>e.color),{dimensionStyles:o}=J(e),r=P(()=>({collapseIcon:e.collapseIcon,disabled:a.disabled.value,expanded:a.isSelected.value,expandIcon:e.expandIcon,readonly:e.readonly})),E=l(()=>a.isSelected.value?e.collapseIcon:e.expandIcon);return V(()=>{var x;return A(v("button",{class:p(["v-expansion-panel-title",{"v-expansion-panel-title--active":a.isSelected.value,"v-expansion-panel-title--focusable":e.focusable,"v-expansion-panel-title--static":e.static},s.value,e.class]),style:b([u.value,o.value,e.style]),type:"button",tabindex:a.disabled.value?-1:void 0,disabled:a.disabled.value,"aria-expanded":a.isSelected.value,onClick:e.readonly?void 0:a.toggle},[v("span",{class:"v-expansion-panel-title__overlay"},null),(x=n.default)==null?void 0:x.call(n,r.value),!e.hideActions&&c(R,{defaults:{VIcon:{icon:E.value}}},{default:()=>{var m;return[v("span",{class:"v-expansion-panel-title__icon"},[((m=n.actions)==null?void 0:m.call(n,r.value))??c(H,null,null)])]}})]),[[C,e.ripple]])}),{}}}),G=g({title:String,text:String,bgColor:String,...Z(),...Y(),...X(),...D(),...z(),...j()},"VExpansionPanel"),re=y()({name:"VExpansionPanel",props:G(),emits:{"group:selected":e=>!0},setup(e,d){let{slots:n}=d;const a=M(e,f),{backgroundColorClasses:s,backgroundColorStyles:u}=_(()=>e.bgColor),{elevationClasses:o}=W(e),{roundedClasses:r}=Q(e),E=l(()=>(a==null?void 0:a.disabled.value)||e.disabled),x=P(()=>a.group.items.value.reduce((i,t,k)=>(a.group.selected.value.includes(t.id)&&i.push(k),i),[])),m=P(()=>{const i=a.group.items.value.findIndex(t=>t.id===a.id);return!a.isSelected.value&&x.value.some(t=>t-i===1)}),L=P(()=>{const i=a.group.items.value.findIndex(t=>t.id===a.id);return!a.isSelected.value&&x.value.some(t=>t-i===-1)});return F(f,a),V(()=>{const i=!!(n.text||e.text),t=!!(n.title||e.title),k=w.filterProps(e),$=T.filterProps(e);return c(e.tag,{class:p(["v-expansion-panel",{"v-expansion-panel--active":a.isSelected.value,"v-expansion-panel--before-active":m.value,"v-expansion-panel--after-active":L.value,"v-expansion-panel--disabled":E.value},r.value,s.value,e.class]),style:b([u.value,e.style])},{default:()=>[v("div",{class:p(["v-expansion-panel__shadow",...o.value])},null),c(R,{defaults:{VExpansionPanelTitle:{...k},VExpansionPanelText:{...$}}},{default:()=>{var I;return[t&&c(w,{key:"title"},{default:()=>[n.title?n.title():e.title]}),i&&c(T,{key:"text"},{default:()=>[n.text?n.text():e.text]}),(I=n.default)==null?void 0:I.call(n)]}})]})}),{groupItem:a}}}),oe=["default","accordion","inset","popout"],ie=g({flat:Boolean,...ae(),...se(G(),["bgColor","collapseIcon","color","eager","elevation","expandIcon","focusable","hideActions","readonly","ripple","rounded","tile","static"]),...te(),...S(),...D(),variant:{type:String,default:"default",validator:e=>oe.includes(e)}},"VExpansionPanels"),ve=y()({name:"VExpansionPanels",props:ie(),emits:{"update:modelValue":e=>!0},setup(e,d){let{slots:n}=d;const{next:a,prev:s}=ee(e,f),{themeClasses:u}=ne(e),o=l(()=>e.variant&&`v-expansion-panels--variant-${e.variant}`);return le({VExpansionPanel:{bgColor:l(()=>e.bgColor),collapseIcon:l(()=>e.collapseIcon),color:l(()=>e.color),eager:l(()=>e.eager),elevation:l(()=>e.elevation),expandIcon:l(()=>e.expandIcon),focusable:l(()=>e.focusable),hideActions:l(()=>e.hideActions),readonly:l(()=>e.readonly),ripple:l(()=>e.ripple),rounded:l(()=>e.rounded),static:l(()=>e.static)}}),V(()=>c(e.tag,{class:p(["v-expansion-panels",{"v-expansion-panels--flat":e.flat,"v-expansion-panels--tile":e.tile},u.value,o.value,e.class]),style:b(e.style)},{default:()=>{var r;return[(r=n.default)==null?void 0:r.call(n,{prev:s,next:a})]}})),{next:a,prev:s}}});export{ve as V,re as a,w as b,T as c}; diff --git a/assets/VExpansionPanels-DmHhDpJu.js b/assets/VExpansionPanels-DmHhDpJu.js deleted file mode 100644 index d378c80..0000000 --- a/assets/VExpansionPanels-DmHhDpJu.js +++ /dev/null @@ -1 +0,0 @@ -import{g as m,bO as B,bP as N,b as y,c,I as _,J as O,i as v,n as V,d as p,bd as q,p as g,bQ as F,h as k,S as C,aC as A,t as J,aW as R,a3 as P,av as l,e as Q,a_ as T,f as U,bR as W,be as H,bp as K,m as D,bk as M,bS as X,bq as Y,bT as Z,bU as ee,bo as ae,aI as ne,bj as le,aL as te,bV as se}from"./index-CHEqx3ZK.js";const f=Symbol.for("vuetify:v-expansion-panel"),L=g({...k(),...F()},"VExpansionPanelText"),h=m()({name:"VExpansionPanelText",props:L(),setup(e,d){let{slots:n}=d;const a=B(f);if(!a)throw new Error("[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel");const{hasContent:s,onAfterLeave:u}=N(e,a.isSelected);return y(()=>c(q,{onAfterLeave:u},{default:()=>{var o;return[_(v("div",{class:p(["v-expansion-panel-text",e.class]),style:V(e.style)},[n.default&&s.value&&v("div",{class:"v-expansion-panel-text__wrapper"},[(o=n.default)==null?void 0:o.call(n)])]),[[O,a.isSelected.value]])]}})),{}}}),z=g({color:String,expandIcon:{type:T,default:"$expand"},collapseIcon:{type:T,default:"$collapse"},hideActions:Boolean,focusable:Boolean,static:Boolean,ripple:{type:[Boolean,Object],default:!1},readonly:Boolean,...k(),...U()},"VExpansionPanelTitle"),w=m()({name:"VExpansionPanelTitle",directives:{vRipple:C},props:z(),setup(e,d){let{slots:n}=d;const a=B(f);if(!a)throw new Error("[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel");const{backgroundColorClasses:s,backgroundColorStyles:u}=A(()=>e.color),{dimensionStyles:o}=Q(e),r=P(()=>({collapseIcon:e.collapseIcon,disabled:a.disabled.value,expanded:a.isSelected.value,expandIcon:e.expandIcon,readonly:e.readonly})),E=l(()=>a.isSelected.value?e.collapseIcon:e.expandIcon);return y(()=>{var x;return _(v("button",{class:p(["v-expansion-panel-title",{"v-expansion-panel-title--active":a.isSelected.value,"v-expansion-panel-title--focusable":e.focusable,"v-expansion-panel-title--static":e.static},s.value,e.class]),style:V([u.value,o.value,e.style]),type:"button",tabindex:a.disabled.value?-1:void 0,disabled:a.disabled.value,"aria-expanded":a.isSelected.value,onClick:e.readonly?void 0:a.toggle},[v("span",{class:"v-expansion-panel-title__overlay"},null),(x=n.default)==null?void 0:x.call(n,r.value),!e.hideActions&&c(R,{defaults:{VIcon:{icon:E.value}}},{default:()=>{var b;return[v("span",{class:"v-expansion-panel-title__icon"},[((b=n.actions)==null?void 0:b.call(n,r.value))??c(J,null,null)])]}})]),[[C,e.ripple]])}),{}}}),G=g({title:String,text:String,bgColor:String,...Y(),...X(),...M(),...D(),...z(),...L()},"VExpansionPanel"),de=m()({name:"VExpansionPanel",props:G(),emits:{"group:selected":e=>!0},setup(e,d){let{slots:n}=d;const a=W(e,f),{backgroundColorClasses:s,backgroundColorStyles:u}=A(()=>e.bgColor),{elevationClasses:o}=K(e),{roundedClasses:r}=H(e),E=l(()=>(a==null?void 0:a.disabled.value)||e.disabled),x=P(()=>a.group.items.value.reduce((i,t,S)=>(a.group.selected.value.includes(t.id)&&i.push(S),i),[])),b=P(()=>{const i=a.group.items.value.findIndex(t=>t.id===a.id);return!a.isSelected.value&&x.value.some(t=>t-i===1)}),j=P(()=>{const i=a.group.items.value.findIndex(t=>t.id===a.id);return!a.isSelected.value&&x.value.some(t=>t-i===-1)});return Z(f,a),y(()=>{const i=!!(n.text||e.text),t=!!(n.title||e.title),S=w.filterProps(e),$=h.filterProps(e);return c(e.tag,{class:p(["v-expansion-panel",{"v-expansion-panel--active":a.isSelected.value,"v-expansion-panel--before-active":b.value,"v-expansion-panel--after-active":j.value,"v-expansion-panel--disabled":E.value},r.value,s.value,e.class]),style:V([u.value,e.style])},{default:()=>[v("div",{class:p(["v-expansion-panel__shadow",...o.value])},null),c(R,{defaults:{VExpansionPanelTitle:{...S},VExpansionPanelText:{...$}}},{default:()=>{var I;return[t&&c(w,{key:"title"},{default:()=>[n.title?n.title():e.title]}),i&&c(h,{key:"text"},{default:()=>[n.text?n.text():e.text]}),(I=n.default)==null?void 0:I.call(n)]}})]})}),{groupItem:a}}}),oe=["default","accordion","inset","popout"],ie=g({flat:Boolean,...se(),...te(G(),["bgColor","collapseIcon","color","eager","elevation","expandIcon","focusable","hideActions","readonly","ripple","rounded","tile","static"]),...le(),...k(),...D(),variant:{type:String,default:"default",validator:e=>oe.includes(e)}},"VExpansionPanels"),ue=m()({name:"VExpansionPanels",props:ie(),emits:{"update:modelValue":e=>!0},setup(e,d){let{slots:n}=d;const{next:a,prev:s}=ee(e,f),{themeClasses:u}=ae(e),o=l(()=>e.variant&&`v-expansion-panels--variant-${e.variant}`);return ne({VExpansionPanel:{bgColor:l(()=>e.bgColor),collapseIcon:l(()=>e.collapseIcon),color:l(()=>e.color),eager:l(()=>e.eager),elevation:l(()=>e.elevation),expandIcon:l(()=>e.expandIcon),focusable:l(()=>e.focusable),hideActions:l(()=>e.hideActions),readonly:l(()=>e.readonly),ripple:l(()=>e.ripple),rounded:l(()=>e.rounded),static:l(()=>e.static)}}),y(()=>c(e.tag,{class:p(["v-expansion-panels",{"v-expansion-panels--flat":e.flat,"v-expansion-panels--tile":e.tile},u.value,o.value,e.class]),style:V(e.style)},{default:()=>{var r;return[(r=n.default)==null?void 0:r.call(n,{prev:s,next:a})]}})),{next:a,prev:s}}});export{ue as V,de as a,w as b,h as c}; diff --git a/assets/VForm-CLdG1sH8.js b/assets/VForm-CLdG1sH8.js new file mode 100644 index 0000000..35cf079 --- /dev/null +++ b/assets/VForm-CLdG1sH8.js @@ -0,0 +1 @@ +import{f as p,u as b,p as v,k as y}from"./vendor-vuetify-ChAgIwn2.js";import{f as F,g as V}from"./autofocus-Dh4QPNon.js";import{C as h}from"./index-Bqe1gKo7.js";import{k,N as R,n as C,b as P}from"./vendor-vue-H0jQBZ7T.js";const S=v({...y(),...V()},"VForm"),w=p()({name:"VForm",props:S(),emits:{"update:modelValue":o=>!0,submit:o=>!0},setup(o,i){let{slots:s,emit:f}=i;const r=F(o),n=P();function l(t){t.preventDefault(),r.reset()}function u(t){const a=t,e=r.validate();a.then=e.then.bind(e),a.catch=e.catch.bind(e),a.finally=e.finally.bind(e),f("submit",a),a.defaultPrevented||e.then(c=>{var m;let{valid:d}=c;d&&((m=n.value)==null||m.submit())}),a.preventDefault()}return b(()=>{var t;return k("form",{ref:n,class:C(["v-form",o.class]),style:R(o.style),novalidate:!0,onReset:l,onSubmit:u},[(t=s.default)==null?void 0:t.call(s,r)])}),h(r,n)}});export{w as V}; diff --git a/assets/VForm-ovineFXC.js b/assets/VForm-ovineFXC.js deleted file mode 100644 index b052e08..0000000 --- a/assets/VForm-ovineFXC.js +++ /dev/null @@ -1 +0,0 @@ -import{g as p,b,i as v,n as h,d as y,au as F,a2 as V,p as R,h as P}from"./index-CHEqx3ZK.js";import{h as k,i as C}from"./VTextField-BmfQXFFg.js";const S=R({...P(),...C()},"VForm"),D=p()({name:"VForm",props:S(),emits:{"update:modelValue":o=>!0,submit:o=>!0},setup(o,i){let{slots:s,emit:l}=i;const r=k(o),n=V();function f(t){t.preventDefault(),r.reset()}function u(t){const a=t,e=r.validate();a.then=e.then.bind(e),a.catch=e.catch.bind(e),a.finally=e.finally.bind(e),l("submit",a),a.defaultPrevented||e.then(c=>{var m;let{valid:d}=c;d&&((m=n.value)==null||m.submit())}),a.preventDefault()}return b(()=>{var t;return v("form",{ref:n,class:y(["v-form",o.class]),style:h(o.style),novalidate:!0,onReset:f,onSubmit:u},[(t=s.default)==null?void 0:t.call(s,r)])}),F(r,n)}});export{D as V}; diff --git a/assets/VPagination-BF2MZmld.css b/assets/VPagination-BF2MZmld.css new file mode 100644 index 0000000..5856d85 --- /dev/null +++ b/assets/VPagination-BF2MZmld.css @@ -0,0 +1 @@ +.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}.v-pagination__list{display:inline-flex;list-style-type:none;justify-content:center;width:100%}.v-pagination__item,.v-pagination__first,.v-pagination__prev,.v-pagination__next,.v-pagination__last{margin:.3rem} diff --git a/assets/VPagination-DEEAIfju.js b/assets/VPagination-DEEAIfju.js deleted file mode 100644 index 6fa70e8..0000000 --- a/assets/VPagination-DEEAIfju.js +++ /dev/null @@ -1 +0,0 @@ -import{V as z,m as J}from"./VCheckboxBtn-L9oezRC0.js";import{u as Q,a as D,d as Y}from"./VTextField-BmfQXFFg.js";import{g as W,ar as X,bm as Z,b as j,at as ee,c as f,E as m,au as ae,a2 as G,p as O,aA as E,cc as te,aq as le,b7 as ie,bo as ne,X as se,aI as T,cd as ue,i as V,y as p,d as q,n as re,az as oe,a3 as k,ce as K,aw as U,a_ as A,cf as ve,bj as ce,m as de,cg as fe,bk as ge,bq as be,aK as me,h as ye,bI as he,b4 as S,av as b}from"./index-CHEqx3ZK.js";const Ve=O({...E(Y(),["direction"]),...E(J(),["inline"])},"VCheckbox"),Ie=W()({name:"VCheckbox",inheritAttrs:!1,props:Ve(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,x){let{attrs:n,slots:y}=x;const t=X(e,"modelValue"),{isFocused:c,focus:C,blur:h}=Q(e),I=G(),R=Z();return j(()=>{const[P,B]=ee(n),s=D.filterProps(e),u=z.filterProps(e);return f(D,m({ref:I,class:["v-checkbox",e.class]},P,s,{modelValue:t.value,"onUpdate:modelValue":r=>t.value=r,id:e.id||`checkbox-${R}`,focused:c.value,style:e.style}),{...y,default:r=>{let{id:_,messagesId:F,isDisabled:g,isReadonly:$,isValid:w}=r;return f(z,m(u,{id:_.value,"aria-describedby":F.value,disabled:g.value,readonly:$.value},B,{error:w.value===!1,modelValue:t.value,"onUpdate:modelValue":N=>t.value=N,onFocus:C,onBlur:h}),y)}})}),ae({},I)}});function ke(){const e=G([]);te(()=>e.value=[]);function x(n,y){e.value[y]=n}return{refs:e,updateRef:x}}const xe=O({activeColor:String,start:{type:[Number,String],default:1},modelValue:{type:Number,default:e=>e.start},disabled:Boolean,length:{type:[Number,String],default:1,validator:e=>e%1===0},totalVisible:[Number,String],firstIcon:{type:A,default:"$first"},prevIcon:{type:A,default:"$prev"},nextIcon:{type:A,default:"$next"},lastIcon:{type:A,default:"$last"},ariaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.root"},pageAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.page"},currentPageAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.currentPage"},firstAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.first"},previousAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.previous"},nextAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.next"},lastAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.last"},ellipsis:{type:String,default:"..."},showFirstLastPage:Boolean,...he(),...ye(),...me(),...be(),...ge(),...fe(),...de({tag:"nav"}),...ce(),...ve({variant:"text"})},"VPagination"),_e=W()({name:"VPagination",props:xe(),emits:{"update:modelValue":e=>!0,first:e=>!0,prev:e=>!0,next:e=>!0,last:e=>!0},setup(e,x){let{slots:n,emit:y}=x;const t=X(e,"modelValue"),{t:c,n:C}=le(),{isRtl:h}=ie(),{themeClasses:I}=ne(e),{width:R}=se(),P=oe(-1);T(void 0,{scoped:!0});const{resizeRef:B}=ue(a=>{if(!a.length)return;const{target:l,contentRect:i}=a[0],o=l.querySelector(".v-pagination__list > *");if(!o)return;const v=i.width,L=o.offsetWidth+parseFloat(getComputedStyle(o).marginRight)*2;P.value=_(v,L)}),s=k(()=>parseInt(e.length,10)),u=k(()=>parseInt(e.start,10)),r=k(()=>e.totalVisible!=null?parseInt(e.totalVisible,10):P.value>=0?P.value:_(R.value,58));function _(a,l){const i=e.showFirstLastPage?5:3;return Math.max(0,Math.floor(Number(((a-l*i)/l).toFixed(2))))}const F=k(()=>{if(s.value<=0||isNaN(s.value)||s.value>Number.MAX_SAFE_INTEGER)return[];if(r.value<=0)return[];if(r.value===1)return[t.value];if(s.value<=r.value)return S(s.value,u.value);const a=r.value%2===0,l=a?r.value/2:Math.floor(r.value/2),i=a?l:l+1,o=s.value-l;if(i-t.value>=0)return[...S(Math.max(1,r.value-1),u.value),e.ellipsis,s.value];if(t.value-o>=(a?1:0)){const v=r.value-1,L=s.value-v+u.value;return[u.value,e.ellipsis,...S(v,L)]}else{const v=Math.max(1,r.value-2),L=v===1?t.value:t.value-Math.ceil(v/2)+u.value;return[u.value,e.ellipsis,...S(v,L),e.ellipsis,s.value]}});function g(a,l,i){a.preventDefault(),t.value=l,i&&y(i,l)}const{refs:$,updateRef:w}=ke();T({VPaginationBtn:{color:b(()=>e.color),border:b(()=>e.border),density:b(()=>e.density),size:b(()=>e.size),variant:b(()=>e.variant),rounded:b(()=>e.rounded),elevation:b(()=>e.elevation)}});const N=k(()=>F.value.map((a,l)=>{const i=o=>w(o,l);if(typeof a=="string")return{isActive:!1,key:`ellipsis-${l}`,page:a,props:{ref:i,ellipsis:!0,icon:!0,disabled:!0}};{const o=a===t.value;return{isActive:o,key:a,page:C(a),props:{ref:i,ellipsis:!1,icon:!0,disabled:!!e.disabled||Number(e.length)<2,color:o?e.activeColor:e.color,"aria-current":o,"aria-label":c(o?e.currentPageAriaLabel:e.pageAriaLabel,a),onClick:v=>g(v,a)}}}})),d=k(()=>{const a=!!e.disabled||t.value<=u.value,l=!!e.disabled||t.value>=u.value+s.value-1;return{first:e.showFirstLastPage?{icon:h.value?e.lastIcon:e.firstIcon,onClick:i=>g(i,u.value,"first"),disabled:a,"aria-label":c(e.firstAriaLabel),"aria-disabled":a}:void 0,prev:{icon:h.value?e.nextIcon:e.prevIcon,onClick:i=>g(i,t.value-1,"prev"),disabled:a,"aria-label":c(e.previousAriaLabel),"aria-disabled":a},next:{icon:h.value?e.prevIcon:e.nextIcon,onClick:i=>g(i,t.value+1,"next"),disabled:l,"aria-label":c(e.nextAriaLabel),"aria-disabled":l},last:e.showFirstLastPage?{icon:h.value?e.firstIcon:e.lastIcon,onClick:i=>g(i,u.value+s.value-1,"last"),disabled:l,"aria-label":c(e.lastAriaLabel),"aria-disabled":l}:void 0}});function M(){var l;const a=t.value-u.value;(l=$.value[a])==null||l.$el.focus()}function H(a){a.key===K.left&&!e.disabled&&t.value>Number(e.start)?(t.value=t.value-1,U(M)):a.key===K.right&&!e.disabled&&t.valuef(e.tag,{ref:B,class:q(["v-pagination",I.value,e.class]),style:re(e.style),role:"navigation","aria-label":c(e.ariaLabel),onKeydown:H,"data-test":"v-pagination-root"},{default:()=>[V("ul",{class:"v-pagination__list"},[e.showFirstLastPage&&V("li",{key:"first",class:"v-pagination__first","data-test":"v-pagination-first"},[n.first?n.first(d.value.first):f(p,m({_as:"VPaginationBtn"},d.value.first),null)]),V("li",{key:"prev",class:"v-pagination__prev","data-test":"v-pagination-prev"},[n.prev?n.prev(d.value.prev):f(p,m({_as:"VPaginationBtn"},d.value.prev),null)]),N.value.map((a,l)=>V("li",{key:a.key,class:q(["v-pagination__item",{"v-pagination__item--is-active":a.isActive}]),"data-test":"v-pagination-item"},[n.item?n.item(a):f(p,m({_as:"VPaginationBtn"},a.props),{default:()=>[a.page]})])),V("li",{key:"next",class:"v-pagination__next","data-test":"v-pagination-next"},[n.next?n.next(d.value.next):f(p,m({_as:"VPaginationBtn"},d.value.next),null)]),e.showFirstLastPage&&V("li",{key:"last",class:"v-pagination__last","data-test":"v-pagination-last"},[n.last?n.last(d.value.last):f(p,m({_as:"VPaginationBtn"},d.value.last),null)])])]})),{}}});export{_e as V,Ie as a}; diff --git a/assets/VPagination-DNe_r2rg.css b/assets/VPagination-DNe_r2rg.css deleted file mode 100644 index eda330c..0000000 --- a/assets/VPagination-DNe_r2rg.css +++ /dev/null @@ -1 +0,0 @@ -.v-checkbox.v-input{flex:0 1 auto}.v-checkbox .v-selection-control{min-height:var(--v-input-control-height)}.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}.v-pagination__list{display:inline-flex;list-style-type:none;justify-content:center;width:100%}.v-pagination__item,.v-pagination__first,.v-pagination__prev,.v-pagination__next,.v-pagination__last{margin:.3rem} diff --git a/assets/VPagination-Dj4se6cS.js b/assets/VPagination-Dj4se6cS.js new file mode 100644 index 0000000..04f92c6 --- /dev/null +++ b/assets/VPagination-Dj4se6cS.js @@ -0,0 +1 @@ +import{l as P,ai as q,m as K,aq as W,aa as G,ac as J,I as O,ad as U}from"./index-Bqe1gKo7.js";import{f as X,n as H,an as Q,A as Y,h as Z,a0 as aa,j as R,y as ea,u as ta,aI as B,p as la,I as x,m as ia,k as na,aJ as V}from"./vendor-vuetify-ChAgIwn2.js";import{ag as sa,b as ra,j as g,k as b,m as L,n as N,N as ua,s as oa,e as m,I as $,t as d}from"./vendor-vue-H0jQBZ7T.js";function va(){const a=ra([]);sa(()=>a.value=[]);function I(n,_){a.value[_]=n}return{refs:a,updateRef:I}}const ca=la({activeColor:String,start:{type:[Number,String],default:1},modelValue:{type:Number,default:a=>a.start},disabled:Boolean,length:{type:[Number,String],default:1,validator:a=>a%1===0},totalVisible:[Number,String],firstIcon:{type:x,default:"$first"},prevIcon:{type:x,default:"$prev"},nextIcon:{type:x,default:"$next"},lastIcon:{type:x,default:"$last"},ariaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.root"},pageAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.page"},currentPageAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.currentPage"},firstAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.first"},previousAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.previous"},nextAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.next"},lastAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.last"},ellipsis:{type:String,default:"..."},showFirstLastPage:Boolean,...U(),...na(),...O(),...J(),...G(),...W(),...K({tag:"nav"}),...ia(),...q({variant:"text"})},"VPagination"),ba=X()({name:"VPagination",props:ca(),emits:{"update:modelValue":a=>!0,first:a=>!0,prev:a=>!0,next:a=>!0,last:a=>!0},setup(a,I){let{slots:n,emit:_}=I;const i=H(a,"modelValue"),{t:f,n:C}=Q(),{isRtl:k}=Y(),{themeClasses:w}=Z(a),{width:F}=aa(),p=oa(-1);R(void 0,{scoped:!0});const{resizeRef:M}=ea(e=>{if(!e.length)return;const{target:t,contentRect:l}=e[0],u=t.querySelector(".v-pagination__list > *");if(!u)return;const o=l.width,h=u.offsetWidth+parseFloat(getComputedStyle(u).marginRight)*2;p.value=S(o,h)}),s=m(()=>parseInt(a.length,10)),r=m(()=>parseInt(a.start,10)),v=m(()=>a.totalVisible!=null?parseInt(a.totalVisible,10):p.value>=0?p.value:S(F.value,58));function S(e,t){const l=a.showFirstLastPage?5:3;return Math.max(0,Math.floor(Number(((e-t*l)/t).toFixed(2))))}const z=m(()=>{if(s.value<=0||isNaN(s.value)||s.value>Number.MAX_SAFE_INTEGER)return[];if(v.value<=0)return[];if(v.value===1)return[i.value];if(s.value<=v.value)return V(s.value,r.value);const e=v.value%2===0,t=e?v.value/2:Math.floor(v.value/2),l=e?t:t+1,u=s.value-t;if(l-i.value>=0)return[...V(Math.max(1,v.value-1),r.value),a.ellipsis,s.value];if(i.value-u>=(e?1:0)){const o=v.value-1,h=s.value-o+r.value;return[r.value,a.ellipsis,...V(o,h)]}else{const o=Math.max(1,v.value-2),h=o===1?i.value:i.value-Math.ceil(o/2)+r.value;return[r.value,a.ellipsis,...V(o,h),a.ellipsis,s.value]}});function y(e,t,l){e.preventDefault(),i.value=t,l&&_(l,t)}const{refs:D,updateRef:T}=va();R({VPaginationBtn:{color:d(()=>a.color),border:d(()=>a.border),density:d(()=>a.density),size:d(()=>a.size),variant:d(()=>a.variant),rounded:d(()=>a.rounded),elevation:d(()=>a.elevation)}});const E=m(()=>z.value.map((e,t)=>{const l=u=>T(u,t);if(typeof e=="string")return{isActive:!1,key:`ellipsis-${t}`,page:e,props:{ref:l,ellipsis:!0,icon:!0,disabled:!0}};{const u=e===i.value;return{isActive:u,key:e,page:C(e),props:{ref:l,ellipsis:!1,icon:!0,disabled:!!a.disabled||Number(a.length)<2,color:u?a.activeColor:a.color,"aria-current":u,"aria-label":f(u?a.currentPageAriaLabel:a.pageAriaLabel,e),onClick:o=>y(o,e)}}}})),c=m(()=>{const e=!!a.disabled||i.value<=r.value,t=!!a.disabled||i.value>=r.value+s.value-1;return{first:a.showFirstLastPage?{icon:k.value?a.lastIcon:a.firstIcon,onClick:l=>y(l,r.value,"first"),disabled:e,"aria-label":f(a.firstAriaLabel),"aria-disabled":e}:void 0,prev:{icon:k.value?a.nextIcon:a.prevIcon,onClick:l=>y(l,i.value-1,"prev"),disabled:e,"aria-label":f(a.previousAriaLabel),"aria-disabled":e},next:{icon:k.value?a.prevIcon:a.nextIcon,onClick:l=>y(l,i.value+1,"next"),disabled:t,"aria-label":f(a.nextAriaLabel),"aria-disabled":t},last:a.showFirstLastPage?{icon:k.value?a.firstIcon:a.lastIcon,onClick:l=>y(l,r.value+s.value-1,"last"),disabled:t,"aria-label":f(a.lastAriaLabel),"aria-disabled":t}:void 0}});function A(){var t;const e=i.value-r.value;(t=D.value[e])==null||t.$el.focus()}function j(e){e.key===B.left&&!a.disabled&&i.value>Number(a.start)?(i.value=i.value-1,$(A)):e.key===B.right&&!a.disabled&&i.valueg(a.tag,{ref:M,class:N(["v-pagination",w.value,a.class]),style:ua(a.style),role:"navigation","aria-label":f(a.ariaLabel),onKeydown:j,"data-test":"v-pagination-root"},{default:()=>[b("ul",{class:"v-pagination__list"},[a.showFirstLastPage&&b("li",{key:"first",class:"v-pagination__first","data-test":"v-pagination-first"},[n.first?n.first(c.value.first):g(P,L({_as:"VPaginationBtn"},c.value.first),null)]),b("li",{key:"prev",class:"v-pagination__prev","data-test":"v-pagination-prev"},[n.prev?n.prev(c.value.prev):g(P,L({_as:"VPaginationBtn"},c.value.prev),null)]),E.value.map((e,t)=>b("li",{key:e.key,class:N(["v-pagination__item",{"v-pagination__item--is-active":e.isActive}]),"data-test":"v-pagination-item"},[n.item?n.item(e):g(P,L({_as:"VPaginationBtn"},e.props),{default:()=>[e.page]})])),b("li",{key:"next",class:"v-pagination__next","data-test":"v-pagination-next"},[n.next?n.next(c.value.next):g(P,L({_as:"VPaginationBtn"},c.value.next),null)]),a.showFirstLastPage&&b("li",{key:"last",class:"v-pagination__last","data-test":"v-pagination-last"},[n.last?n.last(c.value.last):g(P,L({_as:"VPaginationBtn"},c.value.last),null)])])]})),{}}});export{ba as V}; diff --git a/assets/VRow-7L_239rt.js b/assets/VRow-7L_239rt.js deleted file mode 100644 index dd65179..0000000 --- a/assets/VRow-7L_239rt.js +++ /dev/null @@ -1 +0,0 @@ -import{g as C,cw as S,a3 as b,p as k,m as N,h as j,cx as i,b$ as u}from"./index-CHEqx3ZK.js";const V=i.reduce((e,a)=>(e[a]={type:[Boolean,String,Number],default:!1},e),{}),v=i.reduce((e,a)=>{const t="offset"+u(a);return e[t]={type:[String,Number],default:null},e},{}),L=i.reduce((e,a)=>{const t="order"+u(a);return e[t]={type:[String,Number],default:null},e},{}),y={col:Object.keys(V),offset:Object.keys(v),order:Object.keys(L)};function G(e,a,t){let s=e;if(!(t==null||t===!1)){if(a){const n=a.replace(e,"");s+=`-${n}`}return e==="col"&&(s="v-"+s),e==="col"&&(t===""||t===!0)||(s+=`-${t}`),s.toLowerCase()}}const _=["auto","start","end","center","baseline","stretch"],I=k({cols:{type:[Boolean,String,Number],default:!1},...V,offset:{type:[String,Number],default:null},...v,order:{type:[String,Number],default:null},...L,alignSelf:{type:String,default:null,validator:e=>_.includes(e)},...j(),...N()},"VCol"),K=C()({name:"VCol",props:I(),setup(e,a){let{slots:t}=a;const s=b(()=>{const n=[];let l;for(l in y)y[l].forEach(o=>{const c=e[o],g=G(l,o,c);g&&n.push(g)});const r=n.some(o=>o.startsWith("v-col-"));return n.push({"v-col":!r||!e.cols,[`v-col-${e.cols}`]:e.cols,[`offset-${e.offset}`]:e.offset,[`order-${e.order}`]:e.order,[`align-self-${e.alignSelf}`]:e.alignSelf}),n});return()=>{var n;return S(e.tag,{class:[s.value,e.class],style:e.style},(n=t.default)==null?void 0:n.call(t))}}}),f=["start","end","center"],$=["space-between","space-around","space-evenly"];function d(e,a){return i.reduce((t,s)=>{const n=e+u(s);return t[n]=a(),t},{})}const R=[...f,"baseline","stretch"],h=e=>R.includes(e),w=d("align",()=>({type:String,default:null,validator:h})),T=[...f,...$],P=e=>T.includes(e),E=d("justify",()=>({type:String,default:null,validator:P})),U=[...f,...$,"stretch"],A=e=>U.includes(e),O=d("alignContent",()=>({type:String,default:null,validator:A})),m={align:Object.keys(w),justify:Object.keys(E),alignContent:Object.keys(O)},B={align:"align",justify:"justify",alignContent:"align-content"};function M(e,a,t){let s=B[e];if(t!=null){if(a){const n=a.replace(e,"");s+=`-${n}`}return s+=`-${t}`,s.toLowerCase()}}const x=k({dense:Boolean,noGutters:Boolean,align:{type:String,default:null,validator:h},...w,justify:{type:String,default:null,validator:P},...E,alignContent:{type:String,default:null,validator:A},...O,...j(),...N()},"VRow"),z=C()({name:"VRow",props:x(),setup(e,a){let{slots:t}=a;const s=b(()=>{const n=[];let l;for(l in m)m[l].forEach(r=>{const o=e[r],c=M(l,r,o);c&&n.push(c)});return n.push({"v-row--no-gutters":e.noGutters,"v-row--dense":e.dense,[`align-${e.align}`]:e.align,[`justify-${e.justify}`]:e.justify,[`align-content-${e.alignContent}`]:e.alignContent}),n});return()=>{var n;return S(e.tag,{class:["v-row",s.value,e.class],style:e.style},(n=t.default)==null?void 0:n.call(t))}}});export{z as V,K as a}; diff --git a/assets/VRow-C2iyFaHv.js b/assets/VRow-C2iyFaHv.js new file mode 100644 index 0000000..1b7d7bc --- /dev/null +++ b/assets/VRow-C2iyFaHv.js @@ -0,0 +1 @@ +import{f as C,p as S,k as b,aA as i}from"./vendor-vuetify-ChAgIwn2.js";import{m as k}from"./index-Bqe1gKo7.js";import{h as N,e as j,a as u}from"./vendor-vue-H0jQBZ7T.js";const V=i.reduce((t,a)=>(t[a]={type:[Boolean,String,Number],default:!1},t),{}),v=i.reduce((t,a)=>{const e="offset"+u(a);return t[e]={type:[String,Number],default:null},t},{}),L=i.reduce((t,a)=>{const e="order"+u(a);return t[e]={type:[String,Number],default:null},t},{}),y={col:Object.keys(V),offset:Object.keys(v),order:Object.keys(L)};function G(t,a,e){let s=t;if(!(e==null||e===!1)){if(a){const n=a.replace(t,"");s+=`-${n}`}return t==="col"&&(s="v-"+s),t==="col"&&(e===""||e===!0)||(s+=`-${e}`),s.toLowerCase()}}const _=["auto","start","end","center","baseline","stretch"],I=S({cols:{type:[Boolean,String,Number],default:!1},...V,offset:{type:[String,Number],default:null},...v,order:{type:[String,Number],default:null},...L,alignSelf:{type:String,default:null,validator:t=>_.includes(t)},...b(),...k()},"VCol"),J=C()({name:"VCol",props:I(),setup(t,a){let{slots:e}=a;const s=j(()=>{const n=[];let l;for(l in y)y[l].forEach(o=>{const c=t[o],g=G(l,o,c);g&&n.push(g)});const r=n.some(o=>o.startsWith("v-col-"));return n.push({"v-col":!r||!t.cols,[`v-col-${t.cols}`]:t.cols,[`offset-${t.offset}`]:t.offset,[`order-${t.order}`]:t.order,[`align-self-${t.alignSelf}`]:t.alignSelf}),n});return()=>{var n;return N(t.tag,{class:[s.value,t.class],style:t.style},(n=e.default)==null?void 0:n.call(e))}}}),f=["start","end","center"],$=["space-between","space-around","space-evenly"];function d(t,a){return i.reduce((e,s)=>{const n=t+u(s);return e[n]=a(),e},{})}const R=[...f,"baseline","stretch"],h=t=>R.includes(t),w=d("align",()=>({type:String,default:null,validator:h})),T=[...f,...$],P=t=>T.includes(t),A=d("justify",()=>({type:String,default:null,validator:P})),U=[...f,...$,"stretch"],E=t=>U.includes(t),O=d("alignContent",()=>({type:String,default:null,validator:E})),m={align:Object.keys(w),justify:Object.keys(A),alignContent:Object.keys(O)},B={align:"align",justify:"justify",alignContent:"align-content"};function M(t,a,e){let s=B[t];if(e!=null){if(a){const n=a.replace(t,"");s+=`-${n}`}return s+=`-${e}`,s.toLowerCase()}}const F=S({dense:Boolean,noGutters:Boolean,align:{type:String,default:null,validator:h},...w,justify:{type:String,default:null,validator:P},...A,alignContent:{type:String,default:null,validator:E},...O,...b(),...k()},"VRow"),W=C()({name:"VRow",props:F(),setup(t,a){let{slots:e}=a;const s=j(()=>{const n=[];let l;for(l in m)m[l].forEach(r=>{const o=t[r],c=M(l,r,o);c&&n.push(c)});return n.push({"v-row--no-gutters":t.noGutters,"v-row--dense":t.dense,[`align-${t.align}`]:t.align,[`justify-${t.justify}`]:t.justify,[`align-content-${t.alignContent}`]:t.alignContent}),n});return()=>{var n;return N(t.tag,{class:["v-row",s.value,t.class],style:t.style},(n=e.default)==null?void 0:n.call(e))}}});export{W as V,J as a}; diff --git a/assets/VSelect-B5ZKU6ZJ.js b/assets/VSelect-B5ZKU6ZJ.js deleted file mode 100644 index 665c622..0000000 --- a/assets/VSelect-B5ZKU6ZJ.js +++ /dev/null @@ -1 +0,0 @@ -import{f as it,j as ct,e as ft,V as Be,g as dt}from"./VTextField-BmfQXFFg.js";import{g as fe,ar as pe,aH as vt,b7 as mt,bm as je,bO as ht,ch as Ke,$ as gt,ci as yt,ae as q,b as de,an as _e,c as x,aW as Ge,E as _,au as We,cj as pt,ck as Xe,a3 as H,av as ce,a2 as W,az as U,p as X,aA as Ye,bn as bt,cl as Ze,cm as Se,bT as kt,cn as wt,bo as Vt,aC as St,bz as Pt,bg as Ct,co as It,be as At,n as Qe,d as ie,e as Je,bp as xt,bj as Tt,m as Rt,bk as Ft,cp as Et,bl as Dt,bq as Mt,f as qe,h as Fe,bI as Lt,cd as et,i as C,F as ue,X as Ot,b3 as xe,ba as tt,bc as Pe,bb as Bt,c8 as lt,aw as nt,aS as at,bZ as Kt,by as _t,Z as Ht,ca as $t,aJ as ye,bY as Te,ah as re,as as Re,aq as zt,aR as Ut,aY as Ce,t as He,P as Nt,Q as $e,cq as jt,K as Gt,aU as Wt,L as Xt,aV as Yt,v as Zt,aX as ze,aZ as Ue,bi as Qt,a_ as Jt,cr as qt}from"./index-CHEqx3ZK.js";import{V as el}from"./VCheckboxBtn-L9oezRC0.js";import{V as Ne}from"./VChip-B02B673U.js";const tl=X({id:String,submenu:Boolean,...Ye(bt({captureFocus:!0,closeDelay:250,closeOnContentClick:!0,locationStrategy:"connected",location:void 0,openDelay:300,scrim:!1,scrollStrategy:"reposition",transition:{component:Ze}}),["absolute"])},"VMenu"),ll=fe()({name:"VMenu",props:tl(),emits:{"update:modelValue":e=>!0},setup(e,n){let{slots:t}=n;const u=pe(e,"modelValue"),{scopeId:r}=vt(),{isRtl:c}=mt(),f=je(),a=ce(()=>e.id||`v-menu-${f}`),o=W(),i=ht(Ke,null),y=U(new Set);kt(Ke,{register(){y.value.add(f)},unregister(){y.value.delete(f)},closeParents(l){setTimeout(()=>{var d;!y.value.size&&!e.persistent&&(l==null||(d=o.value)!=null&&d.contentEl&&!wt(l,o.value.contentEl))&&(u.value=!1,i==null||i.closeParents())},40)}}),gt(()=>i==null?void 0:i.unregister()),yt(()=>u.value=!1),q(u,l=>{l?i==null||i.register():i==null||i.unregister()},{immediate:!0});function b(l){i==null||i.closeParents(l)}function k(l){var d,h,P,E,I;if(!e.disabled)if(l.key==="Tab"||l.key==="Enter"&&!e.closeOnContentClick){if(l.key==="Enter"&&(l.target instanceof HTMLTextAreaElement||l.target instanceof HTMLInputElement&&l.target.closest("form")))return;l.key==="Enter"&&l.preventDefault(),!pt(Xe((d=o.value)==null?void 0:d.contentEl,!1),l.shiftKey?"prev":"next",j=>j.tabIndex>=0)&&!e.retainFocus&&(u.value=!1,(P=(h=o.value)==null?void 0:h.activatorEl)==null||P.focus())}else e.submenu&&l.key===(c.value?"ArrowRight":"ArrowLeft")&&(u.value=!1,(I=(E=o.value)==null?void 0:E.activatorEl)==null||I.focus())}function g(l){var h;if(e.disabled)return;const d=(h=o.value)==null?void 0:h.contentEl;d&&u.value?l.key==="ArrowDown"?(l.preventDefault(),l.stopImmediatePropagation(),Se(d,"next")):l.key==="ArrowUp"?(l.preventDefault(),l.stopImmediatePropagation(),Se(d,"prev")):e.submenu&&(l.key===(c.value?"ArrowRight":"ArrowLeft")?u.value=!1:l.key===(c.value?"ArrowLeft":"ArrowRight")&&(l.preventDefault(),Se(d,"first"))):(e.submenu?l.key===(c.value?"ArrowLeft":"ArrowRight"):["ArrowDown","ArrowUp"].includes(l.key))&&(u.value=!0,l.preventDefault(),setTimeout(()=>setTimeout(()=>g(l))))}const v=H(()=>_({"aria-haspopup":"menu","aria-expanded":String(u.value),"aria-controls":a.value,"aria-owns":a.value,onKeydown:g},e.activatorProps));return de(()=>{const l=_e.filterProps(e);return x(_e,_({ref:o,id:a.value,class:["v-menu",e.class],style:e.style},l,{modelValue:u.value,"onUpdate:modelValue":d=>u.value=d,absolute:!0,activatorProps:v.value,location:e.location??(e.submenu?"end":"bottom"),"onClick:outside":b,onKeydown:k},r),{activator:t.activator,default:function(){for(var d=arguments.length,h=new Array(d),P=0;P{var E;return[(E=t.default)==null?void 0:E.call(t,...h)]}})}})}),We({id:a,ΨopenChildren:y},o)}}),nl=X({color:String,...Lt(),...Fe(),...qe(),...Mt(),...Dt(),...Et(),...Ft(),...Rt(),...Tt()},"VSheet"),al=fe()({name:"VSheet",props:nl(),setup(e,n){let{slots:t}=n;const{themeClasses:u}=Vt(e),{backgroundColorClasses:r,backgroundColorStyles:c}=St(()=>e.color),{borderClasses:f}=Pt(e),{dimensionStyles:a}=Je(e),{elevationClasses:o}=xt(e),{locationStyles:i}=Ct(e),{positionClasses:y}=It(e),{roundedClasses:b}=At(e);return de(()=>x(e.tag,{class:ie(["v-sheet",u.value,r.value,f.value,o.value,y.value,b.value,e.class]),style:Qe([c.value,a.value,i.value,e.style])},t)),{}}}),ol=X({renderless:Boolean,...Fe()},"VVirtualScrollItem"),sl=fe()({name:"VVirtualScrollItem",inheritAttrs:!1,props:ol(),emits:{"update:height":e=>!0},setup(e,n){let{attrs:t,emit:u,slots:r}=n;const{resizeRef:c,contentRect:f}=et(void 0,"border");q(()=>{var a;return(a=f.value)==null?void 0:a.height},a=>{a!=null&&u("update:height",a)}),de(()=>{var a,o;return e.renderless?C(ue,null,[(a=r.default)==null?void 0:a.call(r,{itemRef:c})]):C("div",_({ref:c,class:["v-virtual-scroll__item",e.class],style:e.style},t),[(o=r.default)==null?void 0:o.call(r)])})}}),ul=-1,rl=1,Ie=100,il=X({itemHeight:{type:[Number,String],default:null},itemKey:{type:[String,Array,Function],default:null},height:[Number,String]},"virtual");function cl(e,n){const t=Ot(),u=U(0);xe(()=>{u.value=parseFloat(e.itemHeight||0)});const r=U(0),c=U(Math.ceil((parseInt(e.height)||t.height.value)/(u.value||16))||1),f=U(0),a=U(0),o=W(),i=W();let y=0;const{resizeRef:b,contentRect:k}=et();xe(()=>{b.value=o.value});const g=H(()=>{var m;return o.value===document.documentElement?t.height.value:((m=k.value)==null?void 0:m.height)||parseInt(e.height)||0}),v=H(()=>!!(o.value&&i.value&&g.value&&u.value));let l=Array.from({length:n.value.length}),d=Array.from({length:n.value.length});const h=U(0);let P=-1;function E(m){return l[m]||u.value}const I=Bt(()=>{const m=performance.now();d[0]=0;const S=n.value.length;for(let F=1;F<=S;F++)d[F]=(d[F-1]||0)+E(F-1);h.value=Math.max(h.value,performance.now()-m)},h),Y=q(v,m=>{m&&(Y(),y=i.value.offsetTop,I.immediate(),G(),~P&&nt(()=>{at&&window.requestAnimationFrame(()=>{N(P),P=-1})}))});tt(()=>{I.clear()});function j(m,S){const F=l[m],M=u.value;u.value=M?Math.min(u.value,S):S,(F!==S||M!==u.value)&&(l[m]=S,I())}function R(m){m=Pe(m,0,n.value.length);const S=Math.floor(m),F=m%1,M=S+1,Q=d[S]||0,B=d[M]||Q;return Q+(B-Q)*F}function Z(m){return fl(d,m)}let ee=0,D=0,te=0;q(g,(m,S)=>{G(),m{D=0,G()})});let le=-1;function T(){if(!o.value||!i.value)return;const m=o.value.scrollTop,S=performance.now();S-te>500?(D=Math.sign(m-ee),y=i.value.offsetTop):D=m-ee,ee=m,te=S,window.clearTimeout(le),le=window.setTimeout(ve,500),G()}function ve(){!o.value||!i.value||(D=0,te=0,window.clearTimeout(le),G())}let me=-1;function G(){cancelAnimationFrame(me),me=requestAnimationFrame(be)}function be(){if(!o.value||!g.value||!u.value)return;const m=ee-y,S=Math.sign(D),F=Math.max(0,m-Ie),M=Pe(Z(F),0,n.value.length),Q=m+g.value+Ie,B=Pe(Z(Q)+1,M+1,n.value.length);if((S!==ul||Mc.value)){const we=R(r.value)-R(M),Ve=R(B)-R(c.value);Math.max(we,Ve)>Ie?(r.value=M,c.value=B):(M<=0&&(r.value=M),B>=n.value.length&&(c.value=B))}f.value=R(r.value),a.value=R(n.value.length)-R(c.value)}function N(m){const S=R(m);!o.value||m&&!S?P=m:o.value.scrollTop=S}const ke=H(()=>n.value.slice(r.value,c.value).map((m,S)=>{const F=S+r.value;return{raw:m,index:F,key:lt(m,e.itemKey,F)}}));return q(n,()=>{l=Array.from({length:n.value.length}),d=Array.from({length:n.value.length}),I.immediate(),G()},{deep:1}),{calculateVisibleItems:G,containerRef:o,markerRef:i,computedItems:ke,paddingTop:f,paddingBottom:a,scrollToIndex:N,handleScroll:T,handleScrollend:ve,handleItemResize:j}}function fl(e,n){let t=e.length-1,u=0,r=0,c=null,f=-1;if(e[t]>1,c=e[r],c>n)t=r-1;else if(c[]},renderless:Boolean,...il(),...Fe(),...qe()},"VVirtualScroll"),vl=fe()({name:"VVirtualScroll",props:dl(),setup(e,n){let{slots:t}=n;const u=Kt("VVirtualScroll"),{dimensionStyles:r}=Je(e),{calculateVisibleItems:c,containerRef:f,markerRef:a,handleScroll:o,handleScrollend:i,handleItemResize:y,scrollToIndex:b,paddingTop:k,paddingBottom:g,computedItems:v}=cl(e,ce(()=>e.items));return _t(()=>e.renderless,()=>{function l(){var P,E;const h=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1)?"addEventListener":"removeEventListener";f.value===document.documentElement?(document[h]("scroll",o,{passive:!0}),document[h]("scrollend",i)):((P=f.value)==null||P[h]("scroll",o,{passive:!0}),(E=f.value)==null||E[h]("scrollend",i))}Ht(()=>{f.value=$t(u.vnode.el,!0),l(!0)}),tt(l)}),de(()=>{const l=v.value.map(d=>x(sl,{key:d.key,renderless:e.renderless,"onUpdate:height":h=>y(d.index,h)},{default:h=>{var P;return(P=t.default)==null?void 0:P.call(t,{item:d.raw,index:d.index,...h})}}));return e.renderless?C(ue,null,[C("div",{ref:a,class:"v-virtual-scroll__spacer",style:{paddingTop:ye(k.value)}},null),l,C("div",{class:"v-virtual-scroll__spacer",style:{paddingBottom:ye(g.value)}},null)]):C("div",{ref:f,class:ie(["v-virtual-scroll",e.class]),onScrollPassive:o,onScrollend:i,style:Qe([r.value,e.style])},[C("div",{ref:a,class:"v-virtual-scroll__container",style:{paddingTop:ye(k.value),paddingBottom:ye(g.value)}},[l])])}),{calculateVisibleItems:c,scrollToIndex:b}}});function ml(e,n){const t=U(!1);let u;function r(a){cancelAnimationFrame(u),t.value=!0,u=requestAnimationFrame(()=>{u=requestAnimationFrame(()=>{t.value=!1})})}async function c(){await new Promise(a=>requestAnimationFrame(a)),await new Promise(a=>requestAnimationFrame(a)),await new Promise(a=>requestAnimationFrame(a)),await new Promise(a=>{if(t.value){const o=q(t,()=>{o(),a()})}else a()})}async function f(a){var y,b;if(a.key==="Tab"&&((y=n.value)==null||y.focus()),!["PageDown","PageUp","Home","End"].includes(a.key))return;const o=(b=e.value)==null?void 0:b.$el;if(!o)return;(a.key==="Home"||a.key==="End")&&o.scrollTo({top:a.key==="Home"?0:o.scrollHeight,behavior:"smooth"}),await c();const i=o.querySelectorAll(":scope > :not(.v-virtual-scroll__spacer)");if(a.key==="PageDown"||a.key==="Home"){const k=o.getBoundingClientRect().top;for(const g of i)if(g.getBoundingClientRect().top>=k){g.focus();break}}else{const k=o.getBoundingClientRect().bottom;for(const g of[...i].reverse())if(g.getBoundingClientRect().bottom<=k){g.focus();break}}}return{onScrollPassive:r,onKeydown:f}}function hl(e){let{groups:n,onLeave:t}=e;function u(a){var o;return a.type==="list"?(o=a.contentRef.value)==null?void 0:o.$el:a.contentRef.value}function r(a){const o=u(a);return o?Xe(o):[]}function c(a){var g;const o=a.target,i=a.shiftKey?"backward":"forward",y=n.map(r),b=n.map(v=>{var l;return v.type==="list"?(l=v.contentRef.value)==null?void 0:l.$el:v.contentRef.value}).findIndex(v=>v==null?void 0:v.contains(o)),k=f(y,b,i,o);if(k===null){const v=n[b],l=y[b];(v.type==="list"||(i==="forward"?l.at(-1)===a.target:l.at(0)===a.target))&&t()}else{a.preventDefault(),a.stopImmediatePropagation();const v=n[k];if(v.type==="list"&&Te(v.displayItemsCount)>0)(g=v.contentRef.value)==null||g.focus(0);else{const l=i==="forward";y[k].at(l?0:-1).focus()}}}function f(a,o,i,y){const b=n[o],k=a[o];if(b.type!=="list"&&!(i==="forward"?k.at(-1)===y:k.at(0)===y))return null;const g=i==="forward"?1:-1;for(let v=o+g;v>=0&&v0||l.type==="list"&&Te(l.displayItemsCount)>0)return v}return null}return{onTabKeydown:c}}const gl=(e,n,t)=>{if(e==null||n==null)return-1;if(!n.length)return 0;e=e.toString().toLocaleLowerCase(),n=n.toString().toLocaleLowerCase();const u=[];let r=e.indexOf(n);for(;~r;)u.push([r,r+n.length]),r=e.indexOf(n,r+n.length);return u.length?u:-1};function Ae(e,n){if(!(e==null||typeof e=="boolean"||e===-1))return typeof e=="number"?[[e,e+n.length]]:Array.isArray(e[0])?e:[e]}const yl=X({customFilter:Function,customKeyFilter:Object,filterKeys:[Array,String],filterMode:{type:String,default:"intersection"},noFilter:Boolean},"filter");function pl(e,n,t){var o,i;const u=[],r=(t==null?void 0:t.default)??gl,c=t!=null&&t.filterKeys?Re(t.filterKeys):!1,f=Object.keys((t==null?void 0:t.customKeyFilter)??{}).length;if(!(e!=null&&e.length))return u;let a=[];e:for(let y=0;y0)&&!(t!=null&&t.noFilter)){let d=!1;if(typeof b=="object"){if(b.type==="divider"||b.type==="subheader"){(((o=a.at(-1))==null?void 0:o.type)!=="divider"||b.type!=="subheader")&&(a=[]),a.push({index:y,matches:{},type:b.type});continue}const E=c||Object.keys(k);d=E.length===f;for(const I of E){const Y=lt(k,I),j=(i=t==null?void 0:t.customKeyFilter)==null?void 0:i[I];if(l=j?j(Y,n,b):r(Y,n,b),l!==-1&&l!==!1)j?g[I]=Ae(l,n):v[I]=Ae(l,n);else if((t==null?void 0:t.filterMode)==="every")continue e}}else l=r(b,n,b),l!==-1&&l!==!1&&(v.title=Ae(l,n));const h=Object.keys(v).length,P=Object.keys(g).length;if(!h&&!P||(t==null?void 0:t.filterMode)==="union"&&P!==f&&!h||(t==null?void 0:t.filterMode)==="intersection"&&(P!==f||!h&&f>0&&!d))continue}a.length&&(u.push(...a),a=[]),u.push({index:y,matches:{...v,...g}})}return u}function bl(e,n,t,u){const r=U([]),c=U(new Map),f=H(()=>u!=null&&u.transform?re(n).map(o=>[o,u.transform(o)]):re(n));xe(()=>{const o=typeof t=="function"?t():re(t),i=typeof o!="string"&&typeof o!="number"?"":String(o),y=pl(f.value,i,{customKeyFilter:{...e.customKeyFilter,...re(u==null?void 0:u.customKeyFilter)},default:e.customFilter,filterKeys:e.filterKeys,filterMode:e.filterMode,noFilter:e.noFilter}),b=re(n),k=[],g=new Map;y.forEach(v=>{let{index:l,matches:d}=v;const h=b[l];k.push(h),g.set(h.value,d)}),r.value=k,c.value=g});function a(o){return c.value.get(o.value)}return{filteredItems:r,filteredMatches:c,getMatches:a}}function kl(e,n,t){return t==null||!t.length?n:t.map((u,r)=>{const c=r===0?0:t[r-1][1],f=[C("span",{class:ie(`${e}__unmask`)},[n.slice(c,u[0])]),C("span",{class:ie(`${e}__mask`)},[n.slice(u[0],u[1])])];return r===t.length-1&&f.push(C("span",{class:ie(`${e}__unmask`)},[n.slice(u[1])])),C(ue,null,[f])})}const wl=X({closeText:{type:String,default:"$vuetify.close"},openText:{type:String,default:"$vuetify.open"}},"autocomplete");function Vl(e,n){const t=je(),u=H(()=>`menu-${t}`),r=ce(()=>Te(n)),c=ce(()=>u.value);return{menuId:u,ariaExpanded:r,ariaControls:c}}const Sl=X({chips:Boolean,closableChips:Boolean,eager:Boolean,hideNoData:Boolean,hideSelected:Boolean,listProps:{type:Object},menu:Boolean,menuIcon:{type:Jt,default:"$dropdown"},menuProps:{type:Object},multiple:Boolean,noDataText:{type:String,default:"$vuetify.noDataText"},openOnClear:Boolean,itemColor:String,noAutoScroll:Boolean,...wl(),...qt({itemChildren:!1})},"Select"),Pl=X({search:String,...yl({filterKeys:["title"]}),...Sl(),...Ye(dt({modelValue:null,role:"combobox"}),["validationValue","dirty"]),...Qt({transition:{component:Ze}})},"VSelect"),Tl=fe()({name:"VSelect",props:Pl(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:menu":e=>!0,"update:search":e=>!0},setup(e,n){let{slots:t}=n;const{t:u}=zt(),r=W(),c=W(),f=W(),a=W(),o=W(),{items:i,transformIn:y,transformOut:b}=Ut(e),k=pe(e,"search",""),{filteredItems:g,getMatches:v}=bl(e,i,()=>k.value),l=pe(e,"modelValue",[],s=>y(s===null?[null]:Re(s)),s=>{const w=b(s);return e.multiple?w:w[0]??null}),d=H(()=>typeof e.counterValue=="function"?e.counterValue(l.value):typeof e.counterValue=="number"?e.counterValue:l.value.length),h=it(e),P=ct(e),E=H(()=>l.value.map(s=>s.value)),I=U(!1),Y=ce(()=>e.closableChips&&!h.isReadonly.value&&!h.isDisabled.value),{InputIcon:j}=ft(e);let R="",Z=0,ee;const D=H(()=>{const s=k.value?g.value:i.value;return e.hideSelected?s.filter(w=>!l.value.some(A=>(e.valueComparator||Ce)(A,w))):s}),te=H(()=>e.hideNoData&&!D.value.length||h.isReadonly.value||h.isDisabled.value),le=pe(e,"menu"),T=H({get:()=>le.value,set:s=>{var w;le.value&&!s&&((w=c.value)!=null&&w.ΨopenChildren.size)||s&&te.value||(le.value=s)}}),{menuId:ve,ariaExpanded:me,ariaControls:G}=Vl(e,T),be=H(()=>{var s;return{...e.menuProps,activatorProps:{...((s=e.menuProps)==null?void 0:s.activatorProps)||{},"aria-haspopup":"listbox"}}}),N=W(),ke=ml(N,r),{onTabKeydown:m}=hl({groups:[{type:"element",contentRef:f},{type:"list",contentRef:N,displayItemsCount:()=>D.value.length},{type:"element",contentRef:a}],onLeave:()=>{var s;T.value=!1,(s=r.value)==null||s.focus()}});function S(s){e.openOnClear&&(T.value=!0)}function F(){te.value||(T.value=!T.value)}function M(s){var w;s.key==="Tab"&&m(s),(w=N.value)!=null&&w.$el.contains(s.target)&&ze(s)&&Q(s)}function Q(s){var K,z,se;if(!s.key||h.isReadonly.value)return;if(["Enter"," ","ArrowDown","ArrowUp","Home","End"].includes(s.key)&&s.preventDefault(),["Enter","ArrowDown"," "].includes(s.key)&&(T.value=!0),["Escape","Tab"].includes(s.key)&&(T.value=!1),e.clearable&&s.key==="Backspace"){s.preventDefault(),l.value=[],S();return}s.key==="Home"?(K=N.value)==null||K.focus("first"):s.key==="End"&&((z=N.value)==null||z.focus("last"));const w=1e3;if(!ze(s))return;const A=performance.now();A-ee>w&&(R="",Z=0),R+=s.key.toLowerCase(),ee=A;const ne=D.value;function J(){let p=ae();return p||R.at(-1)===R.at(-2)&&(R=R.slice(0,-1),Z++,p=ae(),p)||(Z=0,p=ae(),p)?p:(R=s.key.toLowerCase(),ae())}function ae(){for(let p=Z;p1&&arguments[1]!==void 0?arguments[1]:!0;if(!s.props.disabled)if(e.multiple){const A=l.value.findIndex(J=>(e.valueComparator||Ce)(J.value,s.value)),ne=w??!~A;if(~A){const J=ne?[...l.value,s]:[...l.value];J.splice(A,1),l.value=J}else ne&&(l.value=[...l.value,s])}else{const A=w!==!1;l.value=A?[s]:[],nt(()=>{T.value=!1})}}function we(s){var A;const w=s.target;(A=r.value)!=null&&A.$el.contains(w)||(T.value=!1)}function Ve(){var s;e.eager&&((s=o.value)==null||s.calculateVisibleItems())}function Ee(){var s;k.value="",I.value&&((s=r.value)==null||s.focus())}function ot(s){I.value=!0}function st(s){if(s==null)l.value=[];else if(Ue(r.value,":autofill")||Ue(r.value,":-webkit-autofill")){const w=i.value.find(A=>A.title===s);w&&B(w)}else r.value&&(r.value.value="")}return q(T,()=>{if(!e.hideSelected&&T.value&&l.value.length){const s=D.value.findIndex(w=>l.value.some(A=>(e.valueComparator||Ce)(A.value,w.value)));at&&!e.noAutoScroll&&window.requestAnimationFrame(()=>{var w;s>=0&&((w=o.value)==null||w.scrollToIndex(s))})}}),q(i,(s,w)=>{T.value||I.value&&e.hideNoData&&!w.length&&s.length&&(T.value=!0)}),de(()=>{const s=!!(e.chips||t.chip),w=!!(!e.hideNoData||D.value.length||t["prepend-item"]||t["append-item"]||t["no-data"]),A=l.value.length>0,ne=Be.filterProps(e),J=A||!I.value&&e.label&&!e.persistentPlaceholder?void 0:e.placeholder,ae={search:k,filteredItems:g.value};return x(Be,_({ref:r},ne,{modelValue:l.value.map($=>$.props.title).join(", "),name:void 0,"onUpdate:modelValue":st,focused:I.value,"onUpdate:focused":$=>I.value=$,validationValue:l.externalValue,counterValue:d.value,dirty:A,class:["v-select",{"v-select--active-menu":T.value,"v-select--chips":!!e.chips,[`v-select--${e.multiple?"multiple":"single"}`]:!0,"v-select--selected":l.value.length,"v-select--selection-slot":!!t.selection},e.class],style:e.style,inputmode:"none",placeholder:J,"onClick:clear":S,"onMousedown:control":F,onBlur:we,onKeydown:Q,"aria-expanded":me.value,"aria-controls":G.value}),{...t,default:$=>{let{id:oe}=$;return C(ue,null,[C("select",{hidden:!0,multiple:e.multiple,name:P.fieldName.value},[i.value.map(V=>C("option",{key:V.value,value:V.value,selected:E.value.includes(V.value)},null))]),x(ll,_({id:ve.value,ref:c,modelValue:T.value,"onUpdate:modelValue":V=>T.value=V,activator:"parent",contentClass:"v-select__content",disabled:te.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterEnter:Ve,onAfterLeave:Ee},be.value),{default:()=>[x(al,{onFocusin:ot,onKeydown:M},{default:()=>[t["menu-header"]&&C("header",{ref:f},[t["menu-header"](ae)]),w&&x(Nt,_({key:"select-list",ref:N,selected:E.value,selectStrategy:e.multiple?"independent":"single-independent",tabindex:"-1",selectable:!!D.value.length,"aria-live":"polite","aria-labelledby":`${oe.value}-label`,"aria-multiselectable":e.multiple,color:e.itemColor??e.color},ke,e.listProps),{default:()=>{var V,K,z;return[(V=t["prepend-item"])==null?void 0:V.call(t),!D.value.length&&!e.hideNoData&&(((K=t["no-data"])==null?void 0:K.call(t))??x($e,{key:"no-data",title:u(e.noDataText)},null)),x(vl,{ref:o,renderless:!0,items:D.value,itemKey:"value"},{default:se=>{var Me,Le,Oe;let{item:p,index:L,itemRef:O}=se;const he=jt(p.props),De=_(p.props,{ref:O,key:p.value,onClick:()=>B(p,null),"aria-posinset":L+1,"aria-setsize":D.value.length});return p.type==="divider"?((Me=t.divider)==null?void 0:Me.call(t,{props:p.raw,index:L}))??x(Gt,_(p.props,{key:`divider-${L}`}),null):p.type==="subheader"?((Le=t.subheader)==null?void 0:Le.call(t,{props:p.raw,index:L}))??x(Wt,_(p.props,{key:`subheader-${L}`}),null):((Oe=t.item)==null?void 0:Oe.call(t,{item:p,index:L,props:De}))??x($e,_(De,{role:"option"}),{prepend:ge=>{let{isSelected:ut}=ge;return C(ue,null,[e.multiple&&!e.hideSelected?x(el,{key:p.value,modelValue:ut,ripple:!1,tabindex:"-1","aria-hidden":!0,onClick:rt=>rt.preventDefault()},null):void 0,he.prependAvatar&&x(Xt,{image:he.prependAvatar},null),he.prependIcon&&x(He,{icon:he.prependIcon},null)])},title:()=>{var ge;return k.value?kl("v-select",p.title,(ge=v(p))==null?void 0:ge.title):p.title}})}}),(z=t["append-item"])==null?void 0:z.call(t)]}}),t["menu-footer"]&&C("footer",{ref:a},[t["menu-footer"](ae)])]})]}),l.value.map((V,K)=>{function z(O){O.stopPropagation(),O.preventDefault(),B(V,!1)}const se=_(Ne.filterProps(V.props),{"onClick:close":z,onKeydown(O){O.key!=="Enter"&&O.key!==" "||(O.preventDefault(),O.stopPropagation(),z(O))},onMousedown(O){O.preventDefault(),O.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0}),p=s?!!t.chip:!!t.selection,L=p?Yt(s?t.chip({item:V,index:K,props:se}):t.selection({item:V,index:K})):void 0;if(!(p&&!L))return C("div",{key:V.value,class:"v-select__selection"},[s?t.chip?x(Ge,{key:"chip-defaults",defaults:{VChip:{closable:Y.value,size:"small",text:V.title}}},{default:()=>[L]}):x(Ne,_({key:"chip",closable:Y.value,size:"small",text:V.title,disabled:V.props.disabled},se),null):L??C("span",{class:"v-select__selection-text"},[V.title,e.multiple&&K.v-overlay__content{display:flex;flex-direction:column}.v-menu>.v-overlay__content{border-radius:4px}.v-menu>.v-overlay__content>.v-card,.v-menu>.v-overlay__content>.v-sheet,.v-menu>.v-overlay__content>.v-list{background:rgb(var(--v-theme-surface));border-radius:inherit;overflow:auto;height:100%}.v-menu>.v-overlay__content>.v-card,.v-menu>.v-overlay__content>.v-sheet,.v-menu>.v-overlay__content>.v-list{box-shadow:0 5px 5px -3px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 8px 10px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 3px 14px 2px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-select--chips.v-input--density-compact .v-field--variant-solo .v-label.v-field-label--floating,.v-select--chips.v-input--density-compact .v-field--variant-solo-inverted .v-label.v-field-label--floating,.v-select--chips.v-input--density-compact .v-field--variant-filled .v-label.v-field-label--floating,.v-select--chips.v-input--density-compact .v-field--variant-solo-filled .v-label.v-field-label--floating{top:0}.v-select .v-field .v-text-field__prefix,.v-select .v-field .v-text-field__suffix,.v-select .v-field .v-field__input,.v-select .v-field.v-field{cursor:pointer}.v-select .v-field .v-field__input>input{align-self:flex-start;opacity:1;flex:0 0;position:absolute;left:0;right:0;width:100%;transition:none;pointer-events:none;caret-color:transparent;padding-inline:inherit}.v-select .v-field--dirty .v-select__selection{margin-inline-end:2px}.v-select .v-select__selection-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v-select__content{overflow:hidden}.v-select__content{box-shadow:0 2px 4px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 4px 5px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 10px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-menu>.v-overlay__content.v-select__content{border-radius:4px}.v-select__content>.v-sheet{display:flex;flex-direction:column}.v-select__mask{background:rgb(var(--v-theme-surface-light))}.v-select__selection{display:inline-flex;align-items:center;letter-spacing:inherit;line-height:inherit;max-width:100%}.v-select .v-select__selection:first-child{margin-inline-start:0}.v-select--selected .v-field .v-field__input>input{opacity:0}.v-select__menu-icon{margin-inline-start:4px;transition:.2s cubic-bezier(.4,0,.2,1)}.v-select--active-menu .v-select__menu-icon{transform:rotate(180deg)}.v-sheet{display:block}.v-sheet{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-sheet--border{border-width:thin;box-shadow:none}.v-sheet{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-sheet--absolute{position:absolute}.v-sheet--fixed{position:fixed}.v-sheet--relative{position:relative}.v-sheet--sticky{position:sticky}.v-sheet{border-radius:0}.v-sheet{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-sheet--rounded{border-radius:4px}.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}.v-virtual-scroll{display:block;flex:1 1 auto;max-width:100%;overflow:auto;position:relative}.v-virtual-scroll__container{display:block} diff --git a/assets/VSelect-DC96rbwz.js b/assets/VSelect-DC96rbwz.js new file mode 100644 index 0000000..17f696d --- /dev/null +++ b/assets/VSelect-DC96rbwz.js @@ -0,0 +1 @@ +import{e as Je,h as Ze,d as qe}from"./autofocus-Dh4QPNon.js";import{V as Le,m as et}from"./VTextField-B7edjjhw.js";import{o as oe,k as S,F as ue,m as N,w as Ce,s as U,q as ze,b as X,e as $,I as He,D as tt,j as T,N as lt,n as me,t as he,l as Pe,u as se,E as nt,a1 as at}from"./vendor-vue-H0jQBZ7T.js";import{f as Fe,y as Ne,u as Re,p as re,k as Ue,a0 as ot,z as ke,aM as rt,ai as je,E as Ge,l as ut,C as st,a3 as it,s as ve,$ as ct,w as xe,an as ft,n as be,o as Ve,aN as dt,aE as vt,aF as Ee,_ as Oe,a5 as mt,I as ht}from"./vendor-vuetify-ChAgIwn2.js";import{b as gt,a as pt,ay as yt,h as Be,j as wt,k as Ke,i as kt,W as bt,L as Vt,a8 as It,C as St,aD as Ct,aF as Pt,aG as xt}from"./index-Bqe1gKo7.js";import{V as Ft,a as Rt}from"./VSheet-DHN9xqm_.js";import{V as Tt}from"./VCheckboxBtn-nWqvYDIO.js";import{V as $e}from"./VChip-CPVASmWt.js";const At=re({renderless:Boolean,...Ue()},"VVirtualScrollItem"),Mt=Fe()({name:"VVirtualScrollItem",inheritAttrs:!1,props:At(),emits:{"update:height":e=>!0},setup(e,n){let{attrs:t,emit:s,slots:o}=n;const{resizeRef:f,contentRect:v}=Ne(void 0,"border");oe(()=>{var a;return(a=v.value)==null?void 0:a.height},a=>{a!=null&&s("update:height",a)}),Re(()=>{var a,u;return e.renderless?S(ue,null,[(a=o.default)==null?void 0:a.call(o,{itemRef:f})]):S("div",N({ref:f,class:["v-virtual-scroll__item",e.class],style:e.style},t),[(u=o.default)==null?void 0:u.call(o)])})}}),Dt=-1,_t=1,Ie=100,Lt=re({itemHeight:{type:[Number,String],default:null},itemKey:{type:[String,Array,Function],default:null},height:[Number,String]},"virtual");function Et(e,n){const t=ot(),s=U(0);Ce(()=>{s.value=parseFloat(e.itemHeight||0)});const o=U(0),f=U(Math.ceil((parseInt(e.height)||t.height.value)/(s.value||16))||1),v=U(0),a=U(0),u=X(),m=X();let b=0;const{resizeRef:y,contentRect:p}=Ne();Ce(()=>{y.value=u.value});const h=$(()=>{var i;return u.value===document.documentElement?t.height.value:((i=p.value)==null?void 0:i.height)||parseInt(e.height)||0}),c=$(()=>!!(u.value&&m.value&&h.value&&s.value));let r=Array.from({length:n.value.length}),I=Array.from({length:n.value.length});const w=U(0);let A=-1;function z(i){return r[i]||s.value}const x=rt(()=>{const i=performance.now();I[0]=0;const V=n.value.length;for(let R=1;R<=V;R++)I[R]=(I[R-1]||0)+z(R-1);w.value=Math.max(w.value,performance.now()-i)},w),Y=oe(c,i=>{i&&(Y(),b=m.value.offsetTop,x.immediate(),j(),~A&&He(()=>{Ge&&window.requestAnimationFrame(()=>{H(A),A=-1})}))});ze(()=>{x.clear()});function J(i,V){const R=r[i],D=s.value;s.value=D?Math.min(s.value,V):V,(R!==V||D!==s.value)&&(r[i]=V,x())}function F(i){i=ke(i,0,n.value.length);const V=Math.floor(i),R=i%1,D=V+1,W=I[V]||0,E=I[D]||W;return W+(E-W)*R}function G(i){return Ot(I,i)}let Z=0,M=0,q=0;oe(h,(i,V)=>{j(),i{M=0,j()})});let ee=-1;function P(){if(!u.value||!m.value)return;const i=u.value.scrollTop,V=performance.now();V-q>500?(M=Math.sign(i-Z),b=m.value.offsetTop):M=i-Z,Z=i,q=V,window.clearTimeout(ee),ee=window.setTimeout(ie,500),j()}function ie(){!u.value||!m.value||(M=0,q=0,window.clearTimeout(ee),j())}let ce=-1;function j(){cancelAnimationFrame(ce),ce=requestAnimationFrame(ge)}function ge(){if(!u.value||!h.value||!s.value)return;const i=Z-b,V=Math.sign(M),R=Math.max(0,i-Ie),D=ke(G(R),0,n.value.length),W=i+h.value+Ie,E=ke(G(W)+1,D+1,n.value.length);if((V!==Dt||Df.value)){const ye=F(o.value)-F(D),we=F(E)-F(f.value);Math.max(ye,we)>Ie?(o.value=D,f.value=E):(D<=0&&(o.value=D),E>=n.value.length&&(f.value=E))}v.value=F(o.value),a.value=F(n.value.length)-F(f.value)}function H(i){const V=F(i);!u.value||i&&!V?A=i:u.value.scrollTop=V}const pe=$(()=>n.value.slice(o.value,f.value).map((i,V)=>{const R=V+o.value;return{raw:i,index:R,key:je(i,e.itemKey,R)}}));return oe(n,()=>{r=Array.from({length:n.value.length}),I=Array.from({length:n.value.length}),x.immediate(),j()},{deep:1}),{calculateVisibleItems:j,containerRef:u,markerRef:m,computedItems:pe,paddingTop:v,paddingBottom:a,scrollToIndex:H,handleScroll:P,handleScrollend:ie,handleItemResize:J}}function Ot(e,n){let t=e.length-1,s=0,o=0,f=null,v=-1;if(e[t]>1,f=e[o],f>n)t=o-1;else if(f[]},renderless:Boolean,...Lt(),...Ue(),...pt()},"VVirtualScroll"),Kt=Fe()({name:"VVirtualScroll",props:Bt(),setup(e,n){let{slots:t}=n;const s=ut("VVirtualScroll"),{dimensionStyles:o}=gt(e),{calculateVisibleItems:f,containerRef:v,markerRef:a,handleScroll:u,handleScrollend:m,handleItemResize:b,scrollToIndex:y,paddingTop:p,paddingBottom:h,computedItems:c}=Et(e,he(()=>e.items));return st(()=>e.renderless,()=>{function r(){var A,z;const w=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1)?"addEventListener":"removeEventListener";v.value===document.documentElement?(document[w]("scroll",u,{passive:!0}),document[w]("scrollend",m)):((A=v.value)==null||A[w]("scroll",u,{passive:!0}),(z=v.value)==null||z[w]("scrollend",m))}tt(()=>{v.value=it(s.vnode.el,!0),r(!0)}),ze(r)}),Re(()=>{const r=c.value.map(I=>T(Mt,{key:I.key,renderless:e.renderless,"onUpdate:height":w=>b(I.index,w)},{default:w=>{var A;return(A=t.default)==null?void 0:A.call(t,{item:I.raw,index:I.index,...w})}}));return e.renderless?S(ue,null,[S("div",{ref:a,class:"v-virtual-scroll__spacer",style:{paddingTop:ve(p.value)}},null),r,S("div",{class:"v-virtual-scroll__spacer",style:{paddingBottom:ve(h.value)}},null)]):S("div",{ref:v,class:me(["v-virtual-scroll",e.class]),onScrollPassive:u,onScrollend:m,style:lt([o.value,e.style])},[S("div",{ref:a,class:"v-virtual-scroll__container",style:{paddingTop:ve(p.value),paddingBottom:ve(h.value)}},[r])])}),{calculateVisibleItems:f,scrollToIndex:y}}});function $t(e,n){const t=U(!1);let s;function o(a){cancelAnimationFrame(s),t.value=!0,s=requestAnimationFrame(()=>{s=requestAnimationFrame(()=>{t.value=!1})})}async function f(){await new Promise(a=>requestAnimationFrame(a)),await new Promise(a=>requestAnimationFrame(a)),await new Promise(a=>requestAnimationFrame(a)),await new Promise(a=>{if(t.value){const u=oe(t,()=>{u(),a()})}else a()})}async function v(a){var b,y;if(a.key==="Tab"&&((b=n.value)==null||b.focus()),!["PageDown","PageUp","Home","End"].includes(a.key))return;const u=(y=e.value)==null?void 0:y.$el;if(!u)return;(a.key==="Home"||a.key==="End")&&u.scrollTo({top:a.key==="Home"?0:u.scrollHeight,behavior:"smooth"}),await f();const m=u.querySelectorAll(":scope > :not(.v-virtual-scroll__spacer)");if(a.key==="PageDown"||a.key==="Home"){const p=u.getBoundingClientRect().top;for(const h of m)if(h.getBoundingClientRect().top>=p){h.focus();break}}else{const p=u.getBoundingClientRect().bottom;for(const h of[...m].reverse())if(h.getBoundingClientRect().bottom<=p){h.focus();break}}}return{onScrollPassive:o,onKeydown:v}}function zt(e){let{groups:n,onLeave:t}=e;function s(a){var u;return a.type==="list"?(u=a.contentRef.value)==null?void 0:u.$el:a.contentRef.value}function o(a){const u=s(a);return u?ct(u):[]}function f(a){var h;const u=a.target,m=a.shiftKey?"backward":"forward",b=n.map(o),y=n.map(c=>{var r;return c.type==="list"?(r=c.contentRef.value)==null?void 0:r.$el:c.contentRef.value}).findIndex(c=>c==null?void 0:c.contains(u)),p=v(b,y,m,u);if(p===null){const c=n[y],r=b[y];(c.type==="list"||(m==="forward"?r.at(-1)===a.target:r.at(0)===a.target))&&t()}else{a.preventDefault(),a.stopImmediatePropagation();const c=n[p];if(c.type==="list"&&Pe(c.displayItemsCount)>0)(h=c.contentRef.value)==null||h.focus(0);else{const r=m==="forward";b[p].at(r?0:-1).focus()}}}function v(a,u,m,b){const y=n[u],p=a[u];if(y.type!=="list"&&!(m==="forward"?p.at(-1)===b:p.at(0)===b))return null;const h=m==="forward"?1:-1;for(let c=u+h;c>=0&&c0||r.type==="list"&&Pe(r.displayItemsCount)>0)return c}return null}return{onTabKeydown:f}}const Ht=(e,n,t)=>{if(e==null||n==null)return-1;if(!n.length)return 0;e=e.toString().toLocaleLowerCase(),n=n.toString().toLocaleLowerCase();const s=[];let o=e.indexOf(n);for(;~o;)s.push([o,o+n.length]),o=e.indexOf(n,o+n.length);return s.length?s:-1};function Se(e,n){if(!(e==null||typeof e=="boolean"||e===-1))return typeof e=="number"?[[e,e+n.length]]:Array.isArray(e[0])?e:[e]}const Nt=re({customFilter:Function,customKeyFilter:Object,filterKeys:[Array,String],filterMode:{type:String,default:"intersection"},noFilter:Boolean},"filter");function Ut(e,n,t){var u,m;const s=[],o=(t==null?void 0:t.default)??Ht,f=t!=null&&t.filterKeys?xe(t.filterKeys):!1,v=Object.keys((t==null?void 0:t.customKeyFilter)??{}).length;if(!(e!=null&&e.length))return s;let a=[];e:for(let b=0;b0)&&!(t!=null&&t.noFilter)){let I=!1;if(typeof y=="object"){if(y.type==="divider"||y.type==="subheader"){(((u=a.at(-1))==null?void 0:u.type)!=="divider"||y.type!=="subheader")&&(a=[]),a.push({index:b,matches:{},type:y.type});continue}const z=f||Object.keys(p);I=z.length===v;for(const x of z){const Y=je(p,x),J=(m=t==null?void 0:t.customKeyFilter)==null?void 0:m[x];if(r=J?J(Y,n,y):o(Y,n,y),r!==-1&&r!==!1)J?h[x]=Se(r,n):c[x]=Se(r,n);else if((t==null?void 0:t.filterMode)==="every")continue e}}else r=o(y,n,y),r!==-1&&r!==!1&&(c.title=Se(r,n));const w=Object.keys(c).length,A=Object.keys(h).length;if(!w&&!A||(t==null?void 0:t.filterMode)==="union"&&A!==v&&!w||(t==null?void 0:t.filterMode)==="intersection"&&(A!==v||!w&&v>0&&!I))continue}a.length&&(s.push(...a),a=[]),s.push({index:b,matches:{...c,...h}})}return s}function jt(e,n,t,s){const o=U([]),f=U(new Map),v=$(()=>s!=null&&s.transform?se(n).map(u=>[u,s.transform(u)]):se(n));Ce(()=>{const u=typeof t=="function"?t():se(t),m=typeof u!="string"&&typeof u!="number"?"":String(u),b=Ut(v.value,m,{customKeyFilter:{...e.customKeyFilter,...se(s==null?void 0:s.customKeyFilter)},default:e.customFilter,filterKeys:e.filterKeys,filterMode:e.filterMode,noFilter:e.noFilter}),y=se(n),p=[],h=new Map;b.forEach(c=>{let{index:r,matches:I}=c;const w=y[r];p.push(w),h.set(w.value,I)}),o.value=p,f.value=h});function a(u){return f.value.get(u.value)}return{filteredItems:o,filteredMatches:f,getMatches:a}}function Gt(e,n,t){return t==null||!t.length?n:t.map((s,o)=>{const f=o===0?0:t[o-1][1],v=[S("span",{class:me(`${e}__unmask`)},[n.slice(f,s[0])]),S("span",{class:me(`${e}__mask`)},[n.slice(s[0],s[1])])];return o===t.length-1&&v.push(S("span",{class:me(`${e}__unmask`)},[n.slice(s[1])])),S(ue,null,[v])})}const Wt=re({closeText:{type:String,default:"$vuetify.close"},openText:{type:String,default:"$vuetify.open"}},"autocomplete");function Qt(e,n){const t=nt(),s=$(()=>`menu-${t}`),o=he(()=>Pe(n)),f=he(()=>s.value);return{menuId:s,ariaExpanded:o,ariaControls:f}}const Xt=re({chips:Boolean,closableChips:Boolean,eager:Boolean,hideNoData:Boolean,hideSelected:Boolean,listProps:{type:Object},menu:Boolean,menuIcon:{type:ht,default:"$dropdown"},menuProps:{type:Object},multiple:Boolean,noDataText:{type:String,default:"$vuetify.noDataText"},openOnClear:Boolean,itemColor:String,noAutoScroll:Boolean,...Wt(),...xt({itemChildren:!1})},"Select"),Yt=re({search:String,...Nt({filterKeys:["title"]}),...Xt(),...mt(et({modelValue:null,role:"combobox"}),["validationValue","dirty"]),...Ct({transition:{component:Pt}})},"VSelect"),ol=Fe()({name:"VSelect",props:Yt(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:menu":e=>!0,"update:search":e=>!0},setup(e,n){let{slots:t}=n;const{t:s}=ft(),o=X(),f=X(),v=X(),a=X(),u=X(),{items:m,transformIn:b,transformOut:y}=yt(e),p=be(e,"search",""),{filteredItems:h,getMatches:c}=jt(e,m,()=>p.value),r=be(e,"modelValue",[],l=>b(l===null?[null]:xe(l)),l=>{const g=y(l);return e.multiple?g:g[0]??null}),I=$(()=>typeof e.counterValue=="function"?e.counterValue(r.value):typeof e.counterValue=="number"?e.counterValue:r.value.length),w=Je(e),A=Ze(e),z=$(()=>r.value.map(l=>l.value)),x=U(!1),Y=he(()=>e.closableChips&&!w.isReadonly.value&&!w.isDisabled.value),{InputIcon:J}=qe(e);let F="",G=0,Z;const M=$(()=>{const l=p.value?h.value:m.value;return e.hideSelected?l.filter(g=>!r.value.some(C=>(e.valueComparator||Ve)(C,g))):l}),q=$(()=>e.hideNoData&&!M.value.length||w.isReadonly.value||w.isDisabled.value),ee=be(e,"menu"),P=$({get:()=>ee.value,set:l=>{var g;ee.value&&!l&&((g=f.value)!=null&&g.ΨopenChildren.size)||l&&q.value||(ee.value=l)}}),{menuId:ie,ariaExpanded:ce,ariaControls:j}=Qt(e,P),ge=$(()=>{var l;return{...e.menuProps,activatorProps:{...((l=e.menuProps)==null?void 0:l.activatorProps)||{},"aria-haspopup":"listbox"}}}),H=X(),pe=$t(H,o),{onTabKeydown:i}=zt({groups:[{type:"element",contentRef:v},{type:"list",contentRef:H,displayItemsCount:()=>M.value.length},{type:"element",contentRef:a}],onLeave:()=>{var l;P.value=!1,(l=o.value)==null||l.focus()}});function V(l){e.openOnClear&&(P.value=!0)}function R(){q.value||(P.value=!P.value)}function D(l){var g;l.key==="Tab"&&i(l),(g=H.value)!=null&&g.$el.contains(l.target)&&Ee(l)&&W(l)}function W(l){var O,K,ae;if(!l.key||w.isReadonly.value)return;if(["Enter"," ","ArrowDown","ArrowUp","Home","End"].includes(l.key)&&l.preventDefault(),["Enter","ArrowDown"," "].includes(l.key)&&(P.value=!0),["Escape","Tab"].includes(l.key)&&(P.value=!1),e.clearable&&l.key==="Backspace"){l.preventDefault(),r.value=[],V();return}l.key==="Home"?(O=H.value)==null||O.focus("first"):l.key==="End"&&((K=H.value)==null||K.focus("last"));const g=1e3;if(!Ee(l))return;const C=performance.now();C-Z>g&&(F="",G=0),F+=l.key.toLowerCase(),Z=C;const te=M.value;function Q(){let d=le();return d||F.at(-1)===F.at(-2)&&(F=F.slice(0,-1),G++,d=le(),d)||(G=0,d=le(),d)?d:(F=l.key.toLowerCase(),le())}function le(){for(let d=G;d1&&arguments[1]!==void 0?arguments[1]:!0;if(!l.props.disabled)if(e.multiple){const C=r.value.findIndex(Q=>(e.valueComparator||Ve)(Q.value,l.value)),te=g??!~C;if(~C){const Q=te?[...r.value,l]:[...r.value];Q.splice(C,1),r.value=Q}else te&&(r.value=[...r.value,l])}else{const C=g!==!1;r.value=C?[l]:[],He(()=>{P.value=!1})}}function ye(l){var C;const g=l.target;(C=o.value)!=null&&C.$el.contains(g)||(P.value=!1)}function we(){var l;e.eager&&((l=u.value)==null||l.calculateVisibleItems())}function Te(){var l;p.value="",x.value&&((l=o.value)==null||l.focus())}function We(l){x.value=!0}function Qe(l){if(l==null)r.value=[];else if(Oe(o.value,":autofill")||Oe(o.value,":-webkit-autofill")){const g=m.value.find(C=>C.title===l);g&&E(g)}else o.value&&(o.value.value="")}return oe(P,()=>{if(!e.hideSelected&&P.value&&r.value.length){const l=M.value.findIndex(g=>r.value.some(C=>(e.valueComparator||Ve)(C.value,g.value)));Ge&&!e.noAutoScroll&&window.requestAnimationFrame(()=>{var g;l>=0&&((g=u.value)==null||g.scrollToIndex(l))})}}),oe(m,(l,g)=>{P.value||x.value&&e.hideNoData&&!g.length&&l.length&&(P.value=!0)}),Re(()=>{const l=!!(e.chips||t.chip),g=!!(!e.hideNoData||M.value.length||t["prepend-item"]||t["append-item"]||t["no-data"]),C=r.value.length>0,te=Le.filterProps(e),Q=C||!x.value&&e.label&&!e.persistentPlaceholder?void 0:e.placeholder,le={search:p,filteredItems:h.value};return T(Le,N({ref:o},te,{modelValue:r.value.map(B=>B.props.title).join(", "),name:void 0,"onUpdate:modelValue":Qe,focused:x.value,"onUpdate:focused":B=>x.value=B,validationValue:r.externalValue,counterValue:I.value,dirty:C,class:["v-select",{"v-select--active-menu":P.value,"v-select--chips":!!e.chips,[`v-select--${e.multiple?"multiple":"single"}`]:!0,"v-select--selected":r.value.length,"v-select--selection-slot":!!t.selection},e.class],style:e.style,inputmode:"none",placeholder:Q,"onClick:clear":V,"onMousedown:control":R,onBlur:ye,onKeydown:W,"aria-expanded":ce.value,"aria-controls":j.value}),{...t,default:B=>{let{id:ne}=B;return S(ue,null,[S("select",{hidden:!0,multiple:e.multiple,name:A.fieldName.value},[m.value.map(k=>S("option",{key:k.value,value:k.value,selected:z.value.includes(k.value)},null))]),T(Ft,N({id:ie.value,ref:f,modelValue:P.value,"onUpdate:modelValue":k=>P.value=k,activator:"parent",contentClass:"v-select__content",disabled:q.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterEnter:we,onAfterLeave:Te},ge.value),{default:()=>[T(Rt,{onFocusin:We,onKeydown:D},{default:()=>[t["menu-header"]&&S("header",{ref:v},[t["menu-header"](le)]),g&&T(wt,N({key:"select-list",ref:H,selected:z.value,selectStrategy:e.multiple?"independent":"single-independent",tabindex:"-1",selectable:!!M.value.length,"aria-live":"polite","aria-labelledby":`${ne.value}-label`,"aria-multiselectable":e.multiple,color:e.itemColor??e.color},pe,e.listProps),{default:()=>{var k,O,K;return[(k=t["prepend-item"])==null?void 0:k.call(t),!M.value.length&&!e.hideNoData&&(((O=t["no-data"])==null?void 0:O.call(t))??T(Ke,{key:"no-data",title:s(e.noDataText)},null)),T(Kt,{ref:u,renderless:!0,items:M.value,itemKey:"value"},{default:ae=>{var Me,De,_e;let{item:d,index:_,itemRef:L}=ae;const fe=dt(d.props),Ae=N(d.props,{ref:L,key:d.value,onClick:()=>E(d,null),"aria-posinset":_+1,"aria-setsize":M.value.length});return d.type==="divider"?((Me=t.divider)==null?void 0:Me.call(t,{props:d.raw,index:_}))??T(kt,N(d.props,{key:`divider-${_}`}),null):d.type==="subheader"?((De=t.subheader)==null?void 0:De.call(t,{props:d.raw,index:_}))??T(bt,N(d.props,{key:`subheader-${_}`}),null):((_e=t.item)==null?void 0:_e.call(t,{item:d,index:_,props:Ae}))??T(Ke,N(Ae,{role:"option"}),{prepend:de=>{let{isSelected:Xe}=de;return S(ue,null,[e.multiple&&!e.hideSelected?T(Tt,{key:d.value,modelValue:Xe,ripple:!1,tabindex:"-1","aria-hidden":!0,onClick:Ye=>Ye.preventDefault()},null):void 0,fe.prependAvatar&&T(Vt,{image:fe.prependAvatar},null),fe.prependIcon&&T(Be,{icon:fe.prependIcon},null)])},title:()=>{var de;return p.value?Gt("v-select",d.title,(de=c(d))==null?void 0:de.title):d.title}})}}),(K=t["append-item"])==null?void 0:K.call(t)]}}),t["menu-footer"]&&S("footer",{ref:a},[t["menu-footer"](le)])]})]}),r.value.map((k,O)=>{function K(L){L.stopPropagation(),L.preventDefault(),E(k,!1)}const ae=N($e.filterProps(k.props),{"onClick:close":K,onKeydown(L){L.key!=="Enter"&&L.key!==" "||(L.preventDefault(),L.stopPropagation(),K(L))},onMousedown(L){L.preventDefault(),L.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0}),d=l?!!t.chip:!!t.selection,_=d?vt(l?t.chip({item:k,index:O,props:ae}):t.selection({item:k,index:O})):void 0;if(!(d&&!_))return S("div",{key:k.value,class:"v-select__selection"},[l?t.chip?T(It,{key:"chip-defaults",defaults:{VChip:{closable:Y.value,size:"small",text:k.title}}},{default:()=>[_]}):T($e,N({key:"chip",closable:Y.value,size:"small",text:k.title,disabled:k.props.disabled},ae),null):_??S("span",{class:"v-select__selection-text"},[k.title,e.multiple&&Oinput{align-self:flex-start;opacity:1;flex:0 0;position:absolute;left:0;right:0;width:100%;transition:none;pointer-events:none;caret-color:transparent;padding-inline:inherit}.v-select .v-field--dirty .v-select__selection{margin-inline-end:2px}.v-select .v-select__selection-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v-select__content{overflow:hidden}.v-select__content{box-shadow:0 2px 4px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 4px 5px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 10px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-menu>.v-overlay__content.v-select__content{border-radius:4px}.v-select__content>.v-sheet{display:flex;flex-direction:column}.v-select__mask{background:rgb(var(--v-theme-surface-light))}.v-select__selection{display:inline-flex;align-items:center;letter-spacing:inherit;line-height:inherit;max-width:100%}.v-select .v-select__selection:first-child{margin-inline-start:0}.v-select--selected .v-field .v-field__input>input{opacity:0}.v-select__menu-icon{margin-inline-start:4px;transition:.2s cubic-bezier(.4,0,.2,1)}.v-select--active-menu .v-select__menu-icon{transform:rotate(180deg)}.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}.v-virtual-scroll{display:block;flex:1 1 auto;max-width:100%;overflow:auto;position:relative}.v-virtual-scroll__container{display:block} diff --git a/assets/VSheet-DHN9xqm_.js b/assets/VSheet-DHN9xqm_.js new file mode 100644 index 0000000..b811604 --- /dev/null +++ b/assets/VSheet-DHN9xqm_.js @@ -0,0 +1 @@ +import{H as x,aH as h,A as b,a8 as M,C as p,M as I,aF as L,E as O,a5 as B,a6 as K,ag as F,a7 as H,b as U,a9 as j,m as z,aa as N,aj as $,ab as G,ac as q,a as J,ad as Q}from"./index-Bqe1gKo7.js";import{f as A,n as W,A as X,u as E,aO as Y,$ as Z,p as S,a5 as _,ak as k,aP as ee,h as ae,m as te,k as se}from"./vendor-vuetify-ChAgIwn2.js";import{E as oe,d as ne,A as le,G as re,o as ue,j as P,m as V,e as ie,t as ce,b as me,s as de,p as ve,N as fe,n as ye}from"./vendor-vue-H0jQBZ7T.js";const ge=S({id:String,submenu:Boolean,..._(I({captureFocus:!0,closeDelay:250,closeOnContentClick:!0,locationStrategy:"connected",location:void 0,openDelay:300,scrim:!1,scrollStrategy:"reposition",transition:{component:L}}),["absolute"])},"VMenu"),be=A()({name:"VMenu",props:ge(),emits:{"update:modelValue":a=>!0},setup(a,f){let{slots:u}=f;const o=W(a,"modelValue"),{scopeId:y}=x(),{isRtl:i}=X(),d=oe(),c=ce(()=>a.id||`v-menu-${d}`),n=me(),t=ne(h,null),m=de(new Set);ve(h,{register(){m.value.add(d)},unregister(){m.value.delete(d)},closeParents(e){setTimeout(()=>{var s;!m.value.size&&!a.persistent&&(e==null||(s=n.value)!=null&&s.contentEl&&!ee(e,n.value.contentEl))&&(o.value=!1,t==null||t.closeParents())},40)}}),le(()=>t==null?void 0:t.unregister()),re(()=>o.value=!1),ue(o,e=>{e?t==null||t.register():t==null||t.unregister()},{immediate:!0});function g(e){t==null||t.closeParents(e)}function D(e){var s,l,r,v,C;if(!a.disabled)if(e.key==="Tab"||e.key==="Enter"&&!a.closeOnContentClick){if(e.key==="Enter"&&(e.target instanceof HTMLTextAreaElement||e.target instanceof HTMLInputElement&&e.target.closest("form")))return;e.key==="Enter"&&e.preventDefault(),!Y(Z((s=n.value)==null?void 0:s.contentEl,!1),e.shiftKey?"prev":"next",T=>T.tabIndex>=0)&&!a.retainFocus&&(o.value=!1,(r=(l=n.value)==null?void 0:l.activatorEl)==null||r.focus())}else a.submenu&&e.key===(i.value?"ArrowRight":"ArrowLeft")&&(o.value=!1,(C=(v=n.value)==null?void 0:v.activatorEl)==null||C.focus())}function w(e){var l;if(a.disabled)return;const s=(l=n.value)==null?void 0:l.contentEl;s&&o.value?e.key==="ArrowDown"?(e.preventDefault(),e.stopImmediatePropagation(),k(s,"next")):e.key==="ArrowUp"?(e.preventDefault(),e.stopImmediatePropagation(),k(s,"prev")):a.submenu&&(e.key===(i.value?"ArrowRight":"ArrowLeft")?o.value=!1:e.key===(i.value?"ArrowLeft":"ArrowRight")&&(e.preventDefault(),k(s,"first"))):(a.submenu?e.key===(i.value?"ArrowLeft":"ArrowRight"):["ArrowDown","ArrowUp"].includes(e.key))&&(o.value=!0,e.preventDefault(),setTimeout(()=>setTimeout(()=>w(e))))}const R=ie(()=>V({"aria-haspopup":"menu","aria-expanded":String(o.value),"aria-controls":c.value,"aria-owns":c.value,onKeydown:w},a.activatorProps));return E(()=>{const e=b.filterProps(a);return P(b,V({ref:n,id:c.value,class:["v-menu",a.class],style:a.style},e,{modelValue:o.value,"onUpdate:modelValue":s=>o.value=s,absolute:!0,activatorProps:R.value,location:a.location??(a.submenu?"end":"bottom"),"onClick:outside":g,onKeydown:D},y),{activator:u.activator,default:function(){for(var s=arguments.length,l=new Array(s),r=0;r{var v;return[(v=u.default)==null?void 0:v.call(u,...l)]}})}})}),p({id:c,ΨopenChildren:m},n)}}),ke=S({color:String,...Q(),...se(),...J(),...q(),...G(),...$(),...N(),...z(),...te()},"VSheet"),Ve=A()({name:"VSheet",props:ke(),setup(a,f){let{slots:u}=f;const{themeClasses:o}=ae(a),{backgroundColorClasses:y,backgroundColorStyles:i}=O(()=>a.color),{borderClasses:d}=B(a),{dimensionStyles:c}=U(a),{elevationClasses:n}=j(a),{locationStyles:t}=K(a),{positionClasses:m}=F(a),{roundedClasses:g}=H(a);return E(()=>P(a.tag,{class:ye(["v-sheet",o.value,y.value,d.value,n.value,m.value,g.value,a.class]),style:fe([i.value,c.value,t.value,a.style])},u)),{}}});export{be as V,Ve as a,ke as m}; diff --git a/assets/VSheet-DxsDksIw.css b/assets/VSheet-DxsDksIw.css new file mode 100644 index 0000000..5c47a9a --- /dev/null +++ b/assets/VSheet-DxsDksIw.css @@ -0,0 +1 @@ +.v-menu>.v-overlay__content{display:flex;flex-direction:column}.v-menu>.v-overlay__content{border-radius:4px}.v-menu>.v-overlay__content>.v-card,.v-menu>.v-overlay__content>.v-sheet,.v-menu>.v-overlay__content>.v-list{background:rgb(var(--v-theme-surface));border-radius:inherit;overflow:auto;height:100%}.v-menu>.v-overlay__content>.v-card,.v-menu>.v-overlay__content>.v-sheet,.v-menu>.v-overlay__content>.v-list{box-shadow:0 5px 5px -3px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 8px 10px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 3px 14px 2px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}.v-sheet{display:block}.v-sheet{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-sheet--border{border-width:thin;box-shadow:none}.v-sheet{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-sheet--absolute{position:absolute}.v-sheet--fixed{position:fixed}.v-sheet--relative{position:relative}.v-sheet--sticky{position:sticky}.v-sheet{border-radius:0}.v-sheet{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-sheet--rounded{border-radius:4px} diff --git a/assets/VSkeletonLoader-Bcvvvbke.js b/assets/VSkeletonLoader-Bcvvvbke.js deleted file mode 100644 index c57bfb4..0000000 --- a/assets/VSkeletonLoader-Bcvvvbke.js +++ /dev/null @@ -1 +0,0 @@ -import{g as f,aC as k,bo as x,aq as y,b as S,i as r,E as C,F as L,a3 as w,as as B,e as P,bp as V,p as T,bj as A,bq as _,f as E,d as F}from"./index-CHEqx3ZK.js";const j={actions:"button@2",article:"heading, paragraph",avatar:"avatar",button:"button",card:"image, heading","card-avatar":"image, list-item-avatar",chip:"chip","date-picker":"list-item, heading, divider, date-picker-options, date-picker-days, actions","date-picker-options":"text, avatar@2","date-picker-days":"avatar@28",divider:"divider",heading:"heading",image:"image","list-item":"text","list-item-avatar":"avatar, text","list-item-two-line":"sentences","list-item-avatar-two-line":"avatar, sentences","list-item-three-line":"paragraph","list-item-avatar-three-line":"avatar, paragraph",ossein:"ossein",paragraph:"text@3",sentences:"text@2",subtitle:"text",table:"table-heading, table-thead, table-tbody, table-tfoot","table-heading":"chip, text","table-thead":"heading@6","table-tbody":"table-row-divider@6","table-row-divider":"table-row, divider","table-row":"text@6","table-tfoot":"text@2, avatar@2",text:"text"};function q(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return r("div",{class:F(["v-skeleton-loader__bone",`v-skeleton-loader__${e}`])},[a])}function l(e){const[a,t]=e.split("@");return Array.from({length:t}).map(()=>i(a))}function i(e){let a=[];if(!e)return a;const t=j[e];if(e!==t){if(e.includes(","))return d(e);if(e.includes("@"))return l(e);t.includes(",")?a=d(t):t.includes("@")?a=l(t):t&&a.push(i(t))}return[q(e,a)]}function d(e){return e.replace(/\s/g,"").split(",").map(i)}const D=T({boilerplate:Boolean,color:String,loading:Boolean,loadingText:{type:String,default:"$vuetify.loading"},type:{type:[String,Array],default:"ossein"},...E(),..._(),...A()},"VSkeletonLoader"),z=f()({name:"VSkeletonLoader",inheritAttrs:!1,props:D(),setup(e,a){let{attrs:t,slots:n}=a;const{backgroundColorClasses:c,backgroundColorStyles:u}=k(()=>e.color),{dimensionStyles:g}=P(e),{elevationClasses:m}=V(e),{themeClasses:v}=x(e),{t:b}=y(),p=w(()=>i(B(e.type).join(",")));return S(()=>{var s;const o=!n.default||e.loading,h=e.boilerplate||!o?{}:{ariaLive:"polite",ariaLabel:b(e.loadingText),role:"alert"};return o?r("div",C({class:["v-skeleton-loader",{"v-skeleton-loader--boilerplate":e.boilerplate},v.value,c.value,m.value],style:[u.value,g.value]},h,t),[p.value]):r(L,null,[(s=n.default)==null?void 0:s.call(n)])}),{}}});export{z as V}; diff --git a/assets/VSkeletonLoader-D5uB8vy5.js b/assets/VSkeletonLoader-D5uB8vy5.js new file mode 100644 index 0000000..17a1475 --- /dev/null +++ b/assets/VSkeletonLoader-D5uB8vy5.js @@ -0,0 +1 @@ +import{E as f,b as k,a9 as x,ac as y,a as S}from"./index-Bqe1gKo7.js";import{f as w,h as C,an as L,u as B,w as P,p as V,m as T}from"./vendor-vuetify-ChAgIwn2.js";import{k as r,m as A,F as _,e as E,n as F}from"./vendor-vue-H0jQBZ7T.js";const D={actions:"button@2",article:"heading, paragraph",avatar:"avatar",button:"button",card:"image, heading","card-avatar":"image, list-item-avatar",chip:"chip","date-picker":"list-item, heading, divider, date-picker-options, date-picker-days, actions","date-picker-options":"text, avatar@2","date-picker-days":"avatar@28",divider:"divider",heading:"heading",image:"image","list-item":"text","list-item-avatar":"avatar, text","list-item-two-line":"sentences","list-item-avatar-two-line":"avatar, sentences","list-item-three-line":"paragraph","list-item-avatar-three-line":"avatar, paragraph",ossein:"ossein",paragraph:"text@3",sentences:"text@2",subtitle:"text",table:"table-heading, table-thead, table-tbody, table-tfoot","table-heading":"chip, text","table-thead":"heading@6","table-tbody":"table-row-divider@6","table-row-divider":"table-row, divider","table-row":"text@6","table-tfoot":"text@2, avatar@2",text:"text"};function $(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return r("div",{class:F(["v-skeleton-loader__bone",`v-skeleton-loader__${e}`])},[a])}function l(e){const[a,t]=e.split("@");return Array.from({length:t}).map(()=>i(a))}function i(e){let a=[];if(!e)return a;const t=D[e];if(e!==t){if(e.includes(","))return d(e);if(e.includes("@"))return l(e);t.includes(",")?a=d(t):t.includes("@")?a=l(t):t&&a.push(i(t))}return[$(e,a)]}function d(e){return e.replace(/\s/g,"").split(",").map(i)}const j=V({boilerplate:Boolean,color:String,loading:Boolean,loadingText:{type:String,default:"$vuetify.loading"},type:{type:[String,Array],default:"ossein"},...S(),...y(),...T()},"VSkeletonLoader"),R=w()({name:"VSkeletonLoader",inheritAttrs:!1,props:j(),setup(e,a){let{attrs:t,slots:n}=a;const{backgroundColorClasses:c,backgroundColorStyles:u}=f(()=>e.color),{dimensionStyles:m}=k(e),{elevationClasses:g}=x(e),{themeClasses:v}=C(e),{t:p}=L(),b=E(()=>i(P(e.type).join(",")));return B(()=>{var s;const o=!n.default||e.loading,h=e.boilerplate||!o?{}:{ariaLive:"polite",ariaLabel:p(e.loadingText),role:"alert"};return o?r("div",A({class:["v-skeleton-loader",{"v-skeleton-loader--boilerplate":e.boilerplate},v.value,c.value,g.value],style:[u.value,m.value]},h,t),[b.value]):r(_,null,[(s=n.default)==null?void 0:s.call(n)])}),{}}});export{R as V}; diff --git a/assets/VSwitch-C77LDPed.js b/assets/VSwitch-C77LDPed.js new file mode 100644 index 0000000..70fa436 --- /dev/null +++ b/assets/VSwitch-C77LDPed.js @@ -0,0 +1 @@ +import{I as ie,am as Y,h as Z,G as se,D as re,E as ce,X as de,a8 as ve,aE as fe,Y as me,V as ye,C as Ce}from"./index-Bqe1gKo7.js";import{k as Ve,u as be,V as J,c as ke}from"./autofocus-Dh4QPNon.js";import{p as E,o as ge,I as K,m as Se,k as p,f as H,n as T,j as he,u as O,ao as ee,_ as we,w as $,aL as Ie}from"./vendor-vuetify-ChAgIwn2.js";import{E as X,t as n,k as r,N as G,n as D,p as Pe,q as _e,m as U,R as Ae,F as le,j as C,d as Be,b as q,I as Fe,s as Q,e as x}from"./vendor-vue-H0jQBZ7T.js";const ae=Symbol.for("vuetify:selection-control-group"),te=E({color:String,disabled:{type:Boolean,default:null},defaultsTarget:String,error:Boolean,id:String,inline:Boolean,falseIcon:K,trueIcon:K,ripple:{type:[Boolean,Object],default:!0},multiple:{type:Boolean,default:null},name:String,readonly:{type:Boolean,default:null},modelValue:null,type:String,valueComparator:{type:Function,default:ge},...p(),...ie(),...Se()},"SelectionControlGroup"),xe=E({...te({defaultsTarget:"VSelectionControl"})},"VSelectionControlGroup");H()({name:"VSelectionControlGroup",props:xe(),emits:{"update:modelValue":e=>!0},setup(e,i){let{slots:f}=i;const l=T(e,"modelValue"),a=X(),u=n(()=>e.id||`v-selection-control-group-${a}`),c=n(()=>e.name||u.value),t=new Set;return Pe(ae,{modelValue:l,forceUpdate:()=>{t.forEach(o=>o())},onForceUpdate:o=>{t.add(o),_e(()=>{t.delete(o)})}}),he({[e.defaultsTarget]:{color:n(()=>e.color),disabled:n(()=>e.disabled),density:n(()=>e.density),error:n(()=>e.error),inline:n(()=>e.inline),modelValue:l,multiple:n(()=>!!e.multiple||e.multiple==null&&Array.isArray(l.value)),name:c,falseIcon:n(()=>e.falseIcon),trueIcon:n(()=>e.trueIcon),readonly:n(()=>e.readonly),ripple:n(()=>e.ripple),type:n(()=>e.type),valueComparator:n(()=>e.valueComparator)}}),O(()=>{var o;return r("div",{class:D(["v-selection-control-group",{"v-selection-control-group--inline":e.inline},e.class]),style:G(e.style),role:e.type==="radio"?"radiogroup":void 0},[(o=f.default)==null?void 0:o.call(f)])}),{}}});const ne=E({label:String,baseColor:String,trueValue:null,falseValue:null,value:null,...p(),...te()},"VSelectionControl");function De(e){const i=Be(ae,void 0),{densityClasses:f}=se(e),l=T(e,"modelValue"),a=x(()=>e.trueValue!==void 0?e.trueValue:e.value!==void 0?e.value:!0),u=x(()=>e.falseValue!==void 0?e.falseValue:!1),c=x(()=>!!e.multiple||e.multiple==null&&Array.isArray(l.value)),t=x({get(){const m=i?i.modelValue.value:l.value;return c.value?$(m).some(s=>e.valueComparator(s,a.value)):e.valueComparator(m,a.value)},set(m){if(e.readonly)return;const s=m?a.value:u.value;let y=s;c.value&&(y=m?[...$(l.value),s]:$(l.value).filter(d=>!e.valueComparator(d,a.value))),i?i.modelValue.value=y:l.value=y}}),{textColorClasses:o,textColorStyles:w}=re(()=>{if(!(e.error||e.disabled))return t.value?e.color:e.baseColor}),{backgroundColorClasses:b,backgroundColorStyles:k}=ce(()=>t.value&&!e.error&&!e.disabled?e.color:e.baseColor),I=x(()=>t.value?e.trueIcon:e.falseIcon);return{group:i,densityClasses:f,trueValue:a,falseValue:u,model:t,textColorClasses:o,textColorStyles:w,backgroundColorClasses:b,backgroundColorStyles:k,icon:I}}const W=H()({name:"VSelectionControl",directives:{vRipple:Y},inheritAttrs:!1,props:ne(),emits:{"update:modelValue":e=>!0},setup(e,i){let{attrs:f,slots:l}=i;const{group:a,densityClasses:u,icon:c,model:t,textColorClasses:o,textColorStyles:w,backgroundColorClasses:b,backgroundColorStyles:k,trueValue:I}=De(e),m=X(),s=Q(!1),y=Q(!1),d=q(),P=n(()=>e.id||`input-${m}`),g=n(()=>!e.disabled&&!e.readonly);a==null||a.onForceUpdate(()=>{d.value&&(d.value.checked=t.value)});function S(v){g.value&&(s.value=!0,we(v.target,":focus-visible")!==!1&&(y.value=!0))}function h(){s.value=!1,y.value=!1}function M(v){v.stopPropagation()}function A(v){if(!g.value){d.value&&(d.value.checked=t.value);return}e.readonly&&a&&Fe(()=>a.forceUpdate()),t.value=v.target.checked}return O(()=>{var B,_;const v=l.label?l.label({label:e.label,props:{for:P.value}}):e.label,[z,L]=ee(f),R=r("input",U({ref:d,checked:t.value,disabled:!!e.disabled,id:P.value,onBlur:h,onFocus:S,onInput:A,"aria-disabled":!!e.disabled,"aria-label":e.label,type:e.type,value:I.value,name:e.name,"aria-checked":e.type==="checkbox"?t.value:void 0},L),null);return r("div",U({class:["v-selection-control",{"v-selection-control--dirty":t.value,"v-selection-control--disabled":e.disabled,"v-selection-control--error":e.error,"v-selection-control--focused":s.value,"v-selection-control--focus-visible":y.value,"v-selection-control--inline":e.inline},u.value,e.class]},z,{style:e.style}),[r("div",{class:D(["v-selection-control__wrapper",o.value]),style:G(w.value)},[(B=l.default)==null?void 0:B.call(l,{backgroundColorClasses:b,backgroundColorStyles:k}),Ae(r("div",{class:D(["v-selection-control__input"])},[((_=l.input)==null?void 0:_.call(l,{model:t,textColorClasses:o,textColorStyles:w,backgroundColorClasses:b,backgroundColorStyles:k,inputNode:R,icon:c.value,props:{onFocus:S,onBlur:h,id:P.value}}))??r(le,null,[c.value&&C(Z,{key:"icon",icon:c.value},null),R])]),[[Y,!e.disabled&&!e.readonly&&e.ripple,null,{center:!0,circle:!0}]])]),v&&C(Ve,{for:P.value,onClick:M},{default:()=>[v]})])}),{isFocused:s,input:d}}}),Re=E({indeterminate:Boolean,inset:Boolean,flat:Boolean,loading:{type:[Boolean,String],default:!1},...ke(),...ne()},"VSwitch"),Me=H()({name:"VSwitch",inheritAttrs:!1,props:Re(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,i){let{attrs:f,slots:l}=i;const a=T(e,"indeterminate"),u=T(e,"modelValue"),{loaderClasses:c}=de(e),{isFocused:t,focus:o,blur:w}=be(e),b=q(),k=q(),I=Ie&&window.matchMedia("(forced-colors: active)").matches,m=n(()=>typeof e.loading=="string"&&e.loading!==""?e.loading:e.color),s=X(),y=n(()=>e.id||`switch-${s}`);function d(){a.value&&(a.value=!1)}function P(g){var S,h;g.stopPropagation(),g.preventDefault(),(h=(S=b.value)==null?void 0:S.input)==null||h.click()}return O(()=>{const[g,S]=ee(f),h=J.filterProps(e),M=W.filterProps(e);return C(J,U({ref:k,class:["v-switch",{"v-switch--flat":e.flat},{"v-switch--inset":e.inset},{"v-switch--indeterminate":a.value},c.value,e.class]},g,h,{modelValue:u.value,"onUpdate:modelValue":A=>u.value=A,id:y.value,focused:t.value,style:e.style}),{...l,default:A=>{let{id:v,messagesId:z,isDisabled:L,isReadonly:R,isValid:B}=A;const _={model:u,isValid:B};return C(W,U({ref:b},M,{modelValue:u.value,"onUpdate:modelValue":[F=>u.value=F,d],id:v.value,"aria-describedby":z.value,type:"checkbox","aria-checked":a.value?"mixed":void 0,disabled:L.value,readonly:R.value,onFocus:o,onBlur:w},S),{...l,default:F=>{let{backgroundColorClasses:N,backgroundColorStyles:V}=F;return r("div",{class:D(["v-switch__track",I?void 0:N.value]),style:G(V.value),onClick:P},[l["track-true"]&&r("div",{key:"prepend",class:"v-switch__track-true"},[l["track-true"](_)]),l["track-false"]&&r("div",{key:"append",class:"v-switch__track-false"},[l["track-false"](_)])])},input:F=>{let{inputNode:N,icon:V,backgroundColorClasses:oe,backgroundColorStyles:ue}=F;return r(le,null,[N,r("div",{class:D(["v-switch__thumb",{"v-switch__thumb--filled":V||e.loading},e.inset||I?void 0:oe.value]),style:G(e.inset?void 0:ue.value)},[l.thumb?C(ve,{defaults:{VIcon:{icon:V,size:"x-small"}}},{default:()=>[l.thumb({..._,icon:V})]}):C(fe,null,{default:()=>[e.loading?C(me,{name:"v-switch",active:!0,color:B.value===!1?void 0:m.value},{default:j=>l.loader?l.loader(j):C(ye,{active:j.isActive,color:j.color,indeterminate:!0,size:"16",width:"2"},null)}):V&&C(Z,{key:String(V),icon:V,size:"x-small"},null)]})])])}})}})}),Ce({},k)}});export{Me as V,W as a,ne as m}; diff --git a/assets/VSwitch-CsrhG2o9.js b/assets/VSwitch-CsrhG2o9.js deleted file mode 100644 index ea6672e..0000000 --- a/assets/VSwitch-CsrhG2o9.js +++ /dev/null @@ -1 +0,0 @@ -import{p as U,aY as ie,a_ as W,bj as se,aK as re,h as X,g as H,ar as R,bm as q,aI as ce,av as n,b as K,i as r,n as z,d as T,bT as de,ba as ve,S as Y,at as p,E as G,I as fe,F as ee,c as b,t as le,bO as me,aG as ye,aB as be,aC as Ce,a2 as $,aw as Ve,aZ as ge,az as Z,a3 as x,as as O,c4 as ke,cy as Se,aW as he,cz as we,c5 as Ie,aa as Pe,au as _e}from"./index-CHEqx3ZK.js";import{k as Ae,u as Be,a as J,d as Fe}from"./VTextField-BmfQXFFg.js";const ae=Symbol.for("vuetify:selection-control-group"),te=U({color:String,disabled:{type:Boolean,default:null},defaultsTarget:String,error:Boolean,id:String,inline:Boolean,falseIcon:W,trueIcon:W,ripple:{type:[Boolean,Object],default:!0},multiple:{type:Boolean,default:null},name:String,readonly:{type:Boolean,default:null},modelValue:null,type:String,valueComparator:{type:Function,default:ie},...X(),...re(),...se()},"SelectionControlGroup"),xe=U({...te({defaultsTarget:"VSelectionControl"})},"VSelectionControlGroup");H()({name:"VSelectionControlGroup",props:xe(),emits:{"update:modelValue":e=>!0},setup(e,i){let{slots:f}=i;const l=R(e,"modelValue"),a=q(),u=n(()=>e.id||`v-selection-control-group-${a}`),c=n(()=>e.name||u.value),t=new Set;return de(ae,{modelValue:l,forceUpdate:()=>{t.forEach(o=>o())},onForceUpdate:o=>{t.add(o),ve(()=>{t.delete(o)})}}),ce({[e.defaultsTarget]:{color:n(()=>e.color),disabled:n(()=>e.disabled),density:n(()=>e.density),error:n(()=>e.error),inline:n(()=>e.inline),modelValue:l,multiple:n(()=>!!e.multiple||e.multiple==null&&Array.isArray(l.value)),name:c,falseIcon:n(()=>e.falseIcon),trueIcon:n(()=>e.trueIcon),readonly:n(()=>e.readonly),ripple:n(()=>e.ripple),type:n(()=>e.type),valueComparator:n(()=>e.valueComparator)}}),K(()=>{var o;return r("div",{class:T(["v-selection-control-group",{"v-selection-control-group--inline":e.inline},e.class]),style:z(e.style),role:e.type==="radio"?"radiogroup":void 0},[(o=f.default)==null?void 0:o.call(f)])}),{}}});const ne=U({label:String,baseColor:String,trueValue:null,falseValue:null,value:null,...X(),...te()},"VSelectionControl");function Te(e){const i=me(ae,void 0),{densityClasses:f}=ye(e),l=R(e,"modelValue"),a=x(()=>e.trueValue!==void 0?e.trueValue:e.value!==void 0?e.value:!0),u=x(()=>e.falseValue!==void 0?e.falseValue:!1),c=x(()=>!!e.multiple||e.multiple==null&&Array.isArray(l.value)),t=x({get(){const m=i?i.modelValue.value:l.value;return c.value?O(m).some(s=>e.valueComparator(s,a.value)):e.valueComparator(m,a.value)},set(m){if(e.readonly)return;const s=m?a.value:u.value;let y=s;c.value&&(y=m?[...O(l.value),s]:O(l.value).filter(d=>!e.valueComparator(d,a.value))),i?i.modelValue.value=y:l.value=y}}),{textColorClasses:o,textColorStyles:w}=be(()=>{if(!(e.error||e.disabled))return t.value?e.color:e.baseColor}),{backgroundColorClasses:V,backgroundColorStyles:g}=Ce(()=>t.value&&!e.error&&!e.disabled?e.color:e.baseColor),I=x(()=>t.value?e.trueIcon:e.falseIcon);return{group:i,densityClasses:f,trueValue:a,falseValue:u,model:t,textColorClasses:o,textColorStyles:w,backgroundColorClasses:V,backgroundColorStyles:g,icon:I}}const Q=H()({name:"VSelectionControl",directives:{vRipple:Y},inheritAttrs:!1,props:ne(),emits:{"update:modelValue":e=>!0},setup(e,i){let{attrs:f,slots:l}=i;const{group:a,densityClasses:u,icon:c,model:t,textColorClasses:o,textColorStyles:w,backgroundColorClasses:V,backgroundColorStyles:g,trueValue:I}=Te(e),m=q(),s=Z(!1),y=Z(!1),d=$(),P=n(()=>e.id||`input-${m}`),k=n(()=>!e.disabled&&!e.readonly);a==null||a.onForceUpdate(()=>{d.value&&(d.value.checked=t.value)});function S(v){k.value&&(s.value=!0,ge(v.target,":focus-visible")!==!1&&(y.value=!0))}function h(){s.value=!1,y.value=!1}function M(v){v.stopPropagation()}function A(v){if(!k.value){d.value&&(d.value.checked=t.value);return}e.readonly&&a&&Ve(()=>a.forceUpdate()),t.value=v.target.checked}return K(()=>{var B,_;const v=l.label?l.label({label:e.label,props:{for:P.value}}):e.label,[E,L]=p(f),D=r("input",G({ref:d,checked:t.value,disabled:!!e.disabled,id:P.value,onBlur:h,onFocus:S,onInput:A,"aria-disabled":!!e.disabled,"aria-label":e.label,type:e.type,value:I.value,name:e.name,"aria-checked":e.type==="checkbox"?t.value:void 0},L),null);return r("div",G({class:["v-selection-control",{"v-selection-control--dirty":t.value,"v-selection-control--disabled":e.disabled,"v-selection-control--error":e.error,"v-selection-control--focused":s.value,"v-selection-control--focus-visible":y.value,"v-selection-control--inline":e.inline},u.value,e.class]},E,{style:e.style}),[r("div",{class:T(["v-selection-control__wrapper",o.value]),style:z(w.value)},[(B=l.default)==null?void 0:B.call(l,{backgroundColorClasses:V,backgroundColorStyles:g}),fe(r("div",{class:T(["v-selection-control__input"])},[((_=l.input)==null?void 0:_.call(l,{model:t,textColorClasses:o,textColorStyles:w,backgroundColorClasses:V,backgroundColorStyles:g,inputNode:D,icon:c.value,props:{onFocus:S,onBlur:h,id:P.value}}))??r(ee,null,[c.value&&b(le,{key:"icon",icon:c.value},null),D])]),[[Y,!e.disabled&&!e.readonly&&e.ripple,null,{center:!0,circle:!0}]])]),v&&b(Ae,{for:P.value,onClick:M},{default:()=>[v]})])}),{isFocused:s,input:d}}}),De=U({indeterminate:Boolean,inset:Boolean,flat:Boolean,loading:{type:[Boolean,String],default:!1},...Fe(),...ne()},"VSwitch"),Ge=H()({name:"VSwitch",inheritAttrs:!1,props:De(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,i){let{attrs:f,slots:l}=i;const a=R(e,"indeterminate"),u=R(e,"modelValue"),{loaderClasses:c}=ke(e),{isFocused:t,focus:o,blur:w}=Be(e),V=$(),g=$(),I=Se&&window.matchMedia("(forced-colors: active)").matches,m=n(()=>typeof e.loading=="string"&&e.loading!==""?e.loading:e.color),s=q(),y=n(()=>e.id||`switch-${s}`);function d(){a.value&&(a.value=!1)}function P(k){var S,h;k.stopPropagation(),k.preventDefault(),(h=(S=V.value)==null?void 0:S.input)==null||h.click()}return K(()=>{const[k,S]=p(f),h=J.filterProps(e),M=Q.filterProps(e);return b(J,G({ref:g,class:["v-switch",{"v-switch--flat":e.flat},{"v-switch--inset":e.inset},{"v-switch--indeterminate":a.value},c.value,e.class]},k,h,{modelValue:u.value,"onUpdate:modelValue":A=>u.value=A,id:y.value,focused:t.value,style:e.style}),{...l,default:A=>{let{id:v,messagesId:E,isDisabled:L,isReadonly:D,isValid:B}=A;const _={model:u,isValid:B};return b(Q,G({ref:V},M,{modelValue:u.value,"onUpdate:modelValue":[F=>u.value=F,d],id:v.value,"aria-describedby":E.value,type:"checkbox","aria-checked":a.value?"mixed":void 0,disabled:L.value,readonly:D.value,onFocus:o,onBlur:w},S),{...l,default:F=>{let{backgroundColorClasses:N,backgroundColorStyles:C}=F;return r("div",{class:T(["v-switch__track",I?void 0:N.value]),style:z(C.value),onClick:P},[l["track-true"]&&r("div",{key:"prepend",class:"v-switch__track-true"},[l["track-true"](_)]),l["track-false"]&&r("div",{key:"append",class:"v-switch__track-false"},[l["track-false"](_)])])},input:F=>{let{inputNode:N,icon:C,backgroundColorClasses:oe,backgroundColorStyles:ue}=F;return r(ee,null,[N,r("div",{class:T(["v-switch__thumb",{"v-switch__thumb--filled":C||e.loading},e.inset||I?void 0:oe.value]),style:z(e.inset?void 0:ue.value)},[l.thumb?b(he,{defaults:{VIcon:{icon:C,size:"x-small"}}},{default:()=>[l.thumb({..._,icon:C})]}):b(we,null,{default:()=>[e.loading?b(Ie,{name:"v-switch",active:!0,color:B.value===!1?void 0:m.value},{default:j=>l.loader?l.loader(j):b(Pe,{active:j.isActive,color:j.color,indeterminate:!0,size:"16",width:"2"},null)}):C&&b(le,{key:String(C),icon:C,size:"x-small"},null)]})])])}})}})}),_e({},g)}});export{Ge as V,Q as a,ne as m}; diff --git a/assets/VTabsWindowItem-2AwayTty.js b/assets/VTabsWindowItem-2AwayTty.js deleted file mode 100644 index fecb519..0000000 --- a/assets/VTabsWindowItem-2AwayTty.js +++ /dev/null @@ -1 +0,0 @@ -import{bW as Ft,ax as Ot,bX as Xe,ar as q,bY as j,a3 as V,bO as X,p as _,ae as me,bZ as Ue,bc as pe,bT as J,g as $,aq as ee,b as L,i as S,c as T,E as R,aA as he,a_ as H,b_ as At,aJ as F,d as K,b3 as Rt,b$ as Ht,a2 as z,c0 as $t,as as oe,c1 as Wt,aY as qe,az as ce,av as E,c2 as fe,c3 as re,aM as Gt,c4 as Nt,aC as Lt,X as Be,c5 as Mt,F as Q,t as He,n as ye,c6 as jt,bH as _e,aK as be,y as ve,v as $e,c7 as se,O as ie,A as Yt,b0 as Te,aL as Ve,bo as Je,aG as zt,bj as Qe,m as Ze,h as Ee,c8 as ue,c9 as Kt,aI as Xt,K as Ut,b7 as qt,bU as Jt,aS as We,ca as Qt,aw as de,I as et,cb as Zt,bR as ea,a as ta,bP as aa,J as na,a$ as la,bQ as oa,bS as ra}from"./index-CHEqx3ZK.js";import{V as Ge}from"./VPagination-DEEAIfju.js";import{i as tt,u as sa,e as ia}from"./VSelect-B5ZKU6ZJ.js";import{V as ua}from"./VChip-B02B673U.js";import{V as ge}from"./VCheckboxBtn-L9oezRC0.js";function Ne(e,n,a){return Object.keys(e).filter(t=>Ft(t)&&t.endsWith(n)).reduce((t,l)=>(t[l.slice(0,-n.length)]=r=>Ot(e[l],r,a(r)),t),{})}const da=e=>{const{touchstartX:n,touchendX:a,touchstartY:t,touchendY:l}=e,r=.5,o=16;e.offsetX=a-n,e.offsetY=l-t,Math.abs(e.offsetY)n+o&&e.right(e)),Math.abs(e.offsetX)t+o&&e.down(e))};function ca(e,n){var t;const a=e.changedTouches[0];n.touchstartX=a.clientX,n.touchstartY=a.clientY,(t=n.start)==null||t.call(n,{originalEvent:e,...n})}function fa(e,n){var t;const a=e.changedTouches[0];n.touchendX=a.clientX,n.touchendY=a.clientY,(t=n.end)==null||t.call(n,{originalEvent:e,...n}),da(n)}function va(e,n){var t;const a=e.changedTouches[0];n.touchmoveX=a.clientX,n.touchmoveY=a.clientY,(t=n.move)==null||t.call(n,{originalEvent:e,...n})}function ga(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const n={touchstartX:0,touchstartY:0,touchendX:0,touchendY:0,touchmoveX:0,touchmoveY:0,offsetX:0,offsetY:0,left:e.left,right:e.right,up:e.up,down:e.down,start:e.start,move:e.move,end:e.end};return{touchstart:a=>ca(a,n),touchend:a=>fa(a,n),touchmove:a=>va(a,n)}}function ma(e,n){var s;const a=n.value,t=a!=null&&a.parent?e.parentElement:e,l=(a==null?void 0:a.options)??{passive:!0},r=(s=n.instance)==null?void 0:s.$.uid;if(!t||r===void 0)return;const o=ga(n.value);t._touchHandlers=t._touchHandlers??Object.create(null),t._touchHandlers[r]=o,Xe(o).forEach(i=>{t.addEventListener(i,o[i],l)})}function ha(e,n){var r,o;const a=(r=n.value)!=null&&r.parent?e.parentElement:e,t=(o=n.instance)==null?void 0:o.$.uid;if(!(a!=null&&a._touchHandlers)||t===void 0)return;const l=a._touchHandlers[t];Xe(l).forEach(s=>{a.removeEventListener(s,l[s])}),delete a._touchHandlers[t]}const De={mounted:ma,unmounted:ha},ya=_({page:{type:[Number,String],default:1},itemsPerPage:{type:[Number,String],default:10},pageBy:{type:String,default:"any"}},"DataTable-paginate"),at=Symbol.for("vuetify:data-table-pagination");function ba(e){const n=q(e,"page",void 0,t=>Number(t??1)),a=q(e,"itemsPerPage",void 0,t=>Number(t??10));return{page:n,itemsPerPage:a}}function xa(e){const{page:n,itemsPerPage:a,itemsLength:t}=e,l=V(()=>a.value===-1?0:a.value*(n.value-1)),r=V(()=>a.value===-1?t.value:Math.min(t.value,l.value+a.value)),o=V(()=>a.value===-1||t.value===0?1:Math.ceil(t.value/a.value));me([n,o],()=>{n.value>o.value&&(n.value=o.value)});function s(v){a.value=v,n.value=1}function i(){n.value=pe(n.value+1,1,o.value)}function d(){n.value=pe(n.value-1,1,o.value)}function f(v){n.value=pe(v,1,o.value)}const m={page:n,itemsPerPage:a,startIndex:l,stopIndex:r,pageCount:o,itemsLength:t,nextPage:i,prevPage:d,setPage:f,setItemsPerPage:s};return J(at,m),m}function wa(){const e=X(at);if(!e)throw new Error("Missing pagination!");return e}function Sa(e){const n=Ue("usePaginatedItems"),{items:a,startIndex:t,stopIndex:l,itemsPerPage:r}=e,o=V(()=>r.value<=0?j(a):j(a).slice(t.value,l.value));return me(o,s=>{n.emit("update:currentItems",s)},{immediate:!0}),{paginatedItems:o}}function Pa(e){const{sortedItems:n,paginate:a,group:t}=e,l=j(e.pageBy);if(l==="item"){const{paginatedItems:r,pageCount:o,setItemsPerPage:s}=a(n),{flatItems:i}=t(r);return{pageCount:o,setItemsPerPage:s,paginatedItems:i}}if(l==="group"){const{flatItems:r,groups:o}=t(n),{paginatedItems:s,pageCount:i,setItemsPerPage:d}=a(o),f=V(()=>{if(!s.value.length)return[];const m=s.value.at(0).id,v=s.value.at(-1).id,x=r.value.findIndex(c=>c.type==="group"&&c.id===m),g=r.value.findIndex(c=>c.type==="group"&&c.id===v),y=r.value.findIndex((c,w)=>w>g&&c.type==="group"&&c.depth===0);return r.value.slice(x,y===-1?void 0:y)});return{pageCount:i,setItemsPerPage:d,paginatedItems:f}}if(l==="any"){const{flatItems:r}=t(n),{paginatedItems:o,pageCount:s,setItemsPerPage:i}=a(r);return{pageCount:s,setItemsPerPage:i,paginatedItems:o}}throw new Error(`Unrecognized pagination target ${l}`)}const nt=_({color:String,prevIcon:{type:H,default:"$prev"},nextIcon:{type:H,default:"$next"},firstIcon:{type:H,default:"$first"},lastIcon:{type:H,default:"$last"},itemsPerPageText:{type:String,default:"$vuetify.dataFooter.itemsPerPageText"},pageText:{type:String,default:"$vuetify.dataFooter.pageText"},firstPageLabel:{type:String,default:"$vuetify.dataFooter.firstPage"},prevPageLabel:{type:String,default:"$vuetify.dataFooter.prevPage"},nextPageLabel:{type:String,default:"$vuetify.dataFooter.nextPage"},lastPageLabel:{type:String,default:"$vuetify.dataFooter.lastPage"},itemsPerPageOptions:{type:Array,default:()=>[{value:10,title:"10"},{value:25,title:"25"},{value:50,title:"50"},{value:100,title:"100"},{value:-1,title:"$vuetify.dataFooter.itemsPerPageAll"}]},showCurrentPage:Boolean},"VDataTableFooter"),Le=$()({name:"VDataTableFooter",props:nt(),setup(e,n){let{slots:a}=n;const{t}=ee(),{page:l,pageCount:r,startIndex:o,stopIndex:s,itemsLength:i,itemsPerPage:d,setItemsPerPage:f}=wa(),m=V(()=>e.itemsPerPageOptions.map(v=>typeof v=="number"?{value:v,title:v===-1?t("$vuetify.dataFooter.itemsPerPageAll"):String(v)}:{...v,title:isNaN(Number(v.title))?t(v.title):v.title}));return L(()=>{var x;const v=Ge.filterProps(e);return S("div",{class:"v-data-table-footer"},[(x=a.prepend)==null?void 0:x.call(a),S("div",{class:"v-data-table-footer__items-per-page"},[S("span",null,[t(e.itemsPerPageText)]),T(tt,{items:m.value,itemColor:e.color,modelValue:d.value,"onUpdate:modelValue":g=>f(Number(g)),density:"compact",variant:"outlined","aria-label":t(e.itemsPerPageText),hideDetails:!0},null)]),S("div",{class:"v-data-table-footer__info"},[S("div",null,[t(e.pageText,i.value?o.value+1:0,s.value,i.value)])]),S("div",{class:"v-data-table-footer__pagination"},[T(Ge,R({modelValue:l.value,"onUpdate:modelValue":g=>l.value=g,density:"comfortable",firstAriaLabel:e.firstPageLabel,lastAriaLabel:e.lastPageLabel,length:r.value,nextAriaLabel:e.nextPageLabel,previousAriaLabel:e.prevPageLabel,rounded:!0,showFirstLastPage:!0,totalVisible:e.showCurrentPage?1:0,variant:"plain"},he(v,["color"])),null)])])}),{}}}),Z=At({align:{type:String,default:"start"},fixed:{type:[Boolean,String],default:!1},fixedOffset:[Number,String],fixedEndOffset:[Number,String],height:[Number,String],lastFixed:Boolean,firstFixedEnd:Boolean,noPadding:Boolean,indent:[Number,String],empty:Boolean,tag:String,width:[Number,String],maxWidth:[Number,String],nowrap:Boolean},(e,n)=>{let{slots:a}=n;const t=e.tag??"td",l=typeof e.fixed=="string"?e.fixed:e.fixed?"start":"none";return T(t,{class:K(["v-data-table__td",{"v-data-table-column--fixed":l==="start","v-data-table-column--fixed-end":l==="end","v-data-table-column--last-fixed":e.lastFixed,"v-data-table-column--first-fixed-end":e.firstFixedEnd,"v-data-table-column--no-padding":e.noPadding,"v-data-table-column--nowrap":e.nowrap,"v-data-table-column--empty":e.empty},`v-data-table-column--align-${e.align}`]),style:{height:F(e.height),width:F(e.width),maxWidth:F(e.maxWidth),left:l==="start"?F(e.fixedOffset||null):void 0,right:l==="end"?F(e.fixedEndOffset||null):void 0,paddingInlineStart:e.indent?F(e.indent):void 0}},{default:()=>{var r;return[(r=a.default)==null?void 0:r.call(a)]}})}),Ia=_({headers:Array},"DataTable-header"),lt=Symbol.for("vuetify:data-table-headers"),ot={title:"",sortable:!1},ka={...ot,width:48};function pa(){const n=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).map(a=>({element:a,priority:0}));return{enqueue:(a,t)=>{let l=!1;for(let r=0;rt){n.splice(r,0,{element:a,priority:t}),l=!0;break}l||n.push({element:a,priority:t})},size:()=>n.length,count:()=>{let a=0;if(!n.length)return 0;const t=Math.floor(n[0].priority);for(let l=0;ln.shift()}}function Ce(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];if(!e.children)n.push(e);else for(const a of e.children)Ce(a,n);return n}function rt(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new Set;for(const a of e)a.key&&n.add(a.key),a.children&&rt(a.children,n);return n}function Ta(e){if(e.key){if(e.key==="data-table-group")return ot;if(["data-table-expand","data-table-select"].includes(e.key))return ka}}function Fe(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.children?Math.max(n,...e.children.map(a=>Fe(a,n+1))):n}function Va(e){let n=!1;function a(r,o){let s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"none";if(r)if(s!=="none"&&(r.fixed=s),r.fixed===!0&&(r.fixed="start"),r.fixed===o)if(r.children)if(o==="start")for(let i=r.children.length-1;i>=0;i--)a(r.children[i],o,o);else for(let i=0;i=0;i--)a(r.children[i],o);else for(let i=0;i=0;r--)a(e[r],"start");for(let r=0;r=0;r--)l=it(e[r],l)}function st(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!e)return n;if(e.children){e.fixedOffset=n;for(const a of e.children)n=st(a,n)}else e.fixed&&e.fixed!=="end"&&(e.fixedOffset=n,n+=parseFloat(e.width||"0")||0);return n}function it(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!e)return n;if(e.children){e.fixedEndOffset=n;for(const a of e.children)n=it(a,n)}else e.fixed==="end"&&(e.fixedEndOffset=n,n+=parseFloat(e.width||"0")||0);return n}function Da(e,n){const a=[];let t=0;const l=pa(e);for(;l.size()>0;){let o=l.count();const s=[];let i=1;for(;o>0;){const{element:d,priority:f}=l.dequeue(),m=n-t-Fe(d);if(s.push({...d,rowspan:m??1,colspan:d.children?Ce(d).length:1}),d.children)for(const v of d.children){const x=f%1+i/Math.pow(10,t+2);l.enqueue(v,t+m+x)}i+=1,o-=1}t+=1,a.push(s)}return{columns:e.map(o=>Ce(o)).flat(),headers:a}}function ut(e){const n=[];for(const a of e){const t={...Ta(a),...a},l=t.key??(typeof t.value=="string"?t.value:null),r=t.value??l??null,o={...t,key:l,value:r,sortable:t.sortable??(t.key!=null||!!t.sort),children:t.children?ut(t.children):void 0};n.push(o)}return n}function Ca(e,n){const a=z([]),t=z([]),l=z({}),r=z({}),o=z({});Rt(()=>{var y,c,w;const d=(e.headers||Object.keys(e.items[0]??{}).map(u=>({key:u,title:Ht(u)}))).slice(),f=rt(d);(y=n==null?void 0:n.groupBy)!=null&&y.value.length&&!f.has("data-table-group")&&d.unshift({key:"data-table-group",title:"Group"}),(c=n==null?void 0:n.showSelect)!=null&&c.value&&!f.has("data-table-select")&&d.unshift({key:"data-table-select"}),(w=n==null?void 0:n.showExpand)!=null&&w.value&&!f.has("data-table-expand")&&d.push({key:"data-table-expand"});const m=ut(d);Va(m);const v=Math.max(...m.map(u=>Fe(u)))+1,x=Da(m,v);a.value=x.headers,t.value=x.columns;const g=x.headers.flat(1);for(const u of g)u.key&&(u.sortable&&(u.sort&&(l.value[u.key]=u.sort),u.sortRaw&&(r.value[u.key]=u.sortRaw)),u.filter&&(o.value[u.key]=u.filter))});const s={headers:a,columns:t,sortFunctions:l,sortRawFunctions:r,filterFunctions:o};return J(lt,s),s}function xe(){const e=X(lt);if(!e)throw new Error("Missing headers!");return e}const Ba={showSelectAll:!1,allSelected:()=>[],select:e=>{var t;let{items:n,value:a}=e;return new Set(a?[(t=n[0])==null?void 0:t.value]:[])},selectAll:e=>{let{selected:n}=e;return n}},dt={showSelectAll:!0,allSelected:e=>{let{currentPage:n}=e;return n},select:e=>{let{items:n,value:a,selected:t}=e;for(const l of n)a?t.add(l.value):t.delete(l.value);return t},selectAll:e=>{let{value:n,currentPage:a,selected:t}=e;return dt.select({items:a,value:n,selected:t})}},_a={showSelectAll:!0,allSelected:e=>{let{allItems:n}=e;return n},select:e=>{let{items:n,value:a,selected:t}=e;for(const l of n)a?t.add(l.value):t.delete(l.value);return t},selectAll:e=>{let{value:n,allItems:a}=e;return new Set(n?a.map(t=>t.value):[])}},Ea=_({showSelect:Boolean,selectStrategy:{type:[String,Object],default:"page"},modelValue:{type:Array,default:()=>[]},valueComparator:Function},"DataTable-select"),ct=Symbol.for("vuetify:data-table-selection");function Fa(e,n){let{allItems:a,currentPage:t}=n;const l=q(e,"modelValue",e.modelValue,u=>{const I=e.valueComparator;return I?new Set(oe(u).map(B=>{var k;return((k=a.value.find(b=>I(B,b.value)))==null?void 0:k.value)??B})):new Set(oe(u).map(B=>{var k,b;return Wt(B)?((k=a.value.find(P=>B===P.value))==null?void 0:k.value)??B:((b=a.value.find(P=>qe(B,P.value)))==null?void 0:b.value)??B}))},u=>[...u.values()]),r=V(()=>a.value.filter(u=>u.selectable)),o=V(()=>j(t).filter(u=>u.selectable)),s=V(()=>{if(typeof e.selectStrategy=="object")return e.selectStrategy;switch(e.selectStrategy){case"single":return Ba;case"all":return _a;case"page":default:return dt}}),i=ce(null);function d(u){return oe(u).every(I=>l.value.has(I.value))}function f(u){return oe(u).some(I=>l.value.has(I.value))}function m(u,I){const B=s.value.select({items:u,value:I,selected:new Set(l.value)});l.value=B}function v(u,I,B){const k=[],b=j(t);if(I=I??b.findIndex(P=>P.value===u.value),e.selectStrategy!=="single"&&(B!=null&&B.shiftKey)&&i.value!==null){const[P,D]=[i.value,I].sort((p,h)=>p-h);k.push(...b.slice(P,D+1).filter(p=>p.selectable))}else k.push(u),i.value=I;m(k,!d([u]))}function x(u){const I=s.value.selectAll({value:u,allItems:r.value,currentPage:o.value,selected:new Set(l.value)});l.value=I}const g=V(()=>l.value.size>0),y=V(()=>{const u=s.value.allSelected({allItems:r.value,currentPage:o.value});return!!u.length&&d(u)}),c=E(()=>s.value.showSelectAll),w={toggleSelect:v,select:m,selectAll:x,isSelected:d,isSomeSelected:f,someSelected:g,allSelected:y,showSelectAll:c,lastSelectedIndex:i,selectStrategy:s};return J(ct,w),w}function we(){const e=X(ct);if(!e)throw new Error("Missing selection!");return e}const Oa=_({initialSortOrder:{type:String,default:"asc",validator:e=>!e||["asc","desc"].includes(e)},sortBy:{type:Array,default:()=>[]},customKeySort:Object,multiSort:{type:[Boolean,Object],default:!1},mustSort:Boolean},"DataTable-sort"),ft=Symbol.for("vuetify:data-table-sort");function Aa(e){const n=E(()=>e.initialSortOrder),a=q(e,"sortBy"),t=E(()=>e.mustSort),l=E(()=>e.multiSort);return{initialSortOrder:n,sortBy:a,multiSort:l,mustSort:t}}function Ra(e,n){if(!Gt(e))return{active:!!e};const{key:a,mode:t,modifier:l}=e,r=l==="alt"&&(n==null?void 0:n.altKey)||l==="shift"&&(n==null?void 0:n.shiftKey);return{active:!a||(n==null?void 0:n.ctrlKey)||(n==null?void 0:n.metaKey)||!1,mode:r?t==="append"?"prepend":"append":t}}function Ha(e){const{initialSortOrder:n,sortBy:a,mustSort:t,multiSort:l,page:r}=e,o=(d,f)=>{if(d.key==null)return;let m=a.value.map(y=>({...y}))??[];const v=m.find(y=>y.key===d.key),x=n.value,g=n.value==="desc"?"asc":"desc";if(v)v.order===g?t.value&&m.length===1?v.order=n.value:m=m.filter(y=>y.key!==d.key):v.order=g;else{const{active:y,mode:c}=Ra(l.value,f);y?c==="prepend"?m.unshift({key:d.key,order:x}):m.push({key:d.key,order:x}):m=[{key:d.key,order:x}]}a.value=m,r&&(r.value=1)};function s(d){return!!a.value.find(f=>f.key===d.key)}const i={sortBy:a,toggleSort:o,isSorted:s};return J(ft,i),i}function vt(){const e=X(ft);if(!e)throw new Error("Missing sort!");return e}function $a(e,n,a,t){const l=ee();return{sortedItems:V(()=>{var o,s;return a.value.length?Wa(n.value,a.value,l.current.value,{transform:t==null?void 0:t.transform,sortFunctions:{...e.customKeySort,...(o=t==null?void 0:t.sortFunctions)==null?void 0:o.value},sortRawFunctions:(s=t==null?void 0:t.sortRawFunctions)==null?void 0:s.value}):n.value})}}function Wa(e,n,a,t){const l=new Intl.Collator(a,{sensitivity:"accent",usage:"sort"});return e.map(o=>[o,t!=null&&t.transform?t.transform(o):o]).sort((o,s)=>{var i,d;for(let f=0;fu!=null?u.toString().toLocaleLowerCase():u),g!==y))return re(g)&&re(y)?0:re(g)?-1:re(y)?1:!isNaN(g)&&!isNaN(y)?Number(g)-Number(y):l.compare(g,y)}return 0}).map(o=>{let[s]=o;return s})}const gt=_({color:String,disableSort:Boolean,fixedHeader:Boolean,multiSort:Boolean,initialSortOrder:String,sortIcon:{type:H},sortAscIcon:{type:H,default:"$sortAsc"},sortDescIcon:{type:H,default:"$sortDesc"},headerProps:{type:Object},sticky:Boolean,...be(),..._e(),...jt()},"VDataTableHeaders"),Me=$()({name:"VDataTableHeaders",props:gt(),setup(e,n){let{slots:a}=n;const{t}=ee(),{toggleSort:l,sortBy:r,isSorted:o}=vt(),{someSelected:s,allSelected:i,selectAll:d,showSelectAll:f}=we(),{columns:m,headers:v}=xe(),{loaderClasses:x}=Nt(e);function g(p,h){if(!(e.sticky||e.fixedHeader)&&!p.fixed)return;const C=typeof p.fixed=="string"?p.fixed:p.fixed?"start":"none";return{position:"sticky",left:C==="start"?F(p.fixedOffset):void 0,right:C==="end"?F(p.fixedEndOffset):void 0,top:e.sticky||e.fixedHeader?`calc(var(--v-table-header-height) * ${h})`:void 0}}function y(p,h){p.key==="Enter"&&!e.disableSort&&l(h,p)}function c(p){const h=r.value.find(C=>C.key===p.key);switch(h==null?void 0:h.order){case"asc":return e.sortAscIcon;case"desc":return e.sortDescIcon;default:return e.sortIcon||(e.initialSortOrder==="asc"?e.sortAscIcon:e.sortDescIcon)}}const{backgroundColorClasses:w,backgroundColorStyles:u}=Lt(()=>e.color),{displayClasses:I,mobile:B}=Be(e),k=V(()=>({headers:v.value,columns:m.value,toggleSort:l,isSorted:o,sortBy:r.value,someSelected:s.value,allSelected:i.value,selectAll:d,getSortIcon:c})),b=V(()=>["v-data-table__th",{"v-data-table__th--sticky":e.sticky||e.fixedHeader},I.value,x.value]),P=p=>{let{column:h,x:C,y:A}=p;const W=h.key==="data-table-select"||h.key==="data-table-expand",M=h.key==="data-table-group"&&h.width===0&&!h.title,Y=R(e.headerProps??{},h.headerProps??{});return T(Z,R({tag:"th",align:h.align,class:[{"v-data-table__th--sortable":h.sortable&&!e.disableSort,"v-data-table__th--sorted":o(h),"v-data-table__th--fixed":h.fixed},...b.value],style:{width:F(h.width),minWidth:F(h.minWidth),maxWidth:F(h.maxWidth),...g(h,A)},colspan:h.colspan,rowspan:h.rowspan,fixed:h.fixed,nowrap:h.nowrap,lastFixed:h.lastFixed,firstFixedEnd:h.firstFixedEnd,noPadding:W,empty:M,tabindex:h.sortable?0:void 0,onClick:h.sortable?G=>l(h,G):void 0,onKeydown:h.sortable?G=>y(G,h):void 0},Y),{default:()=>{var ae;const G=`header.${h.key}`,te={column:h,selectAll:d,isSorted:o,toggleSort:l,sortBy:r.value,someSelected:s.value,allSelected:i.value,getSortIcon:c};return a[G]?a[G](te):M?"":h.key==="data-table-select"?((ae=a["header.data-table-select"])==null?void 0:ae.call(a,te))??(f.value&&T(ge,{color:e.color,density:e.density,modelValue:i.value,indeterminate:s.value&&!i.value,"onUpdate:modelValue":d},null)):S("div",{class:"v-data-table-header__content"},[S("span",null,[h.title]),h.sortable&&!e.disableSort&&T(He,{key:"icon",class:"v-data-table-header__sort-icon",icon:c(h)},null),e.multiSort&&o(h)&&S("div",{key:"badge",class:K(["v-data-table-header__sort-badge",...w.value]),style:ye(u.value)},[r.value.findIndex(Se=>Se.key===h.key)+1])])}})},D=()=>{const p=V(()=>m.value.filter(C=>(C==null?void 0:C.sortable)&&!e.disableSort)),h=m.value.find(C=>C.key==="data-table-select");return T(Z,R({tag:"th",class:[...b.value],colspan:v.value.length+1},e.headerProps),{default:()=>[S("div",{class:"v-data-table-header__content"},[T(tt,{chips:!0,color:e.color,class:"v-data-table__td-sort-select",clearable:!0,density:"default",items:p.value,label:t("$vuetify.dataTable.sortBy"),multiple:e.multiSort,variant:"underlined","onClick:clear":()=>r.value=[]},{append:h?()=>T(ge,{color:e.color,density:"compact",modelValue:i.value,indeterminate:s.value&&!i.value,"onUpdate:modelValue":()=>d(!i.value)},null):void 0,chip:C=>{var A;return T(ua,{onClick:(A=C.item.raw)!=null&&A.sortable?()=>l(C.item.raw):void 0,onMousedown:W=>{W.preventDefault(),W.stopPropagation()}},{default:()=>[C.item.title,T(He,{class:K(["v-data-table__td-sort-icon",o(C.item.raw)&&"v-data-table__td-sort-icon-active"]),icon:c(C.item.raw),size:"small"},null)]})}})])]})};L(()=>B.value?S("tr",null,[T(D,null,null)]):S(Q,null,[a.headers?a.headers(k.value):v.value.map((p,h)=>S("tr",null,[p.map((C,A)=>T(P,{column:C,x:A,y:h},null))])),e.loading&&S("tr",{class:"v-data-table-progress"},[S("th",{colspan:m.value.length},[T(Mt,{name:"v-data-table-progress",absolute:!0,active:!0,color:typeof e.loading=="boolean"||e.loading==="true"?e.color:e.loading,indeterminate:!0},{default:a.loader})])])]))}}),Ga=_({groupBy:{type:Array,default:()=>[]}},"DataTable-group"),mt=Symbol.for("vuetify:data-table-group");function Na(e){return{groupBy:q(e,"groupBy")}}function La(e){const{disableSort:n,groupBy:a,sortBy:t}=e,l=z(new Set),r=V(()=>a.value.map(f=>({...f,order:f.order??!1})).concat(n!=null&&n.value?[]:t.value));function o(f){return l.value.has(f.id)}function s(f){const m=new Set(l.value);o(f)?m.delete(f.id):m.add(f.id),l.value=m}function i(f){function m(v){const x=[];for(const g of v.items)"type"in g&&g.type==="group"?x.push(...m(g)):x.push(g);return[...new Set(x)]}return m({items:f})}const d={sortByWithGroups:r,toggleGroup:s,opened:l,groupBy:a,extractRows:i,isGroupOpen:o};return J(mt,d),d}function ht(){const e=X(mt);if(!e)throw new Error("Missing group!");return e}function Ma(e,n){if(!e.length)return[];const a=new Map;for(const t of e){const l=fe(t.raw,n);a.has(l)||a.set(l,[]),a.get(l).push(t)}return a}function yt(e,n){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,t=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"root";if(!n.length)return[];const l=Ma(e,n[0]),r=[],o=n.slice(1);return l.forEach((s,i)=>{const d=n[0],f=`${t}_${d}_${i}`;r.push({depth:a,id:f,key:d,value:i,items:o.length?yt(s,o,a+1,f):s,type:"group"})}),r}function bt(e,n,a){const t=[];for(const l of e)"type"in l&&l.type==="group"?(l.value!=null&&t.push(l),(n.has(l.id)||l.value==null)&&(t.push(...bt(l.items,n,a)),a&&t.push({...l,type:"group-summary"}))):t.push(l);return t}function ja(e,n,a,t){const l=V(()=>n.value.length?yt(j(e),n.value.map(o=>o.key)):[]),r=V(()=>n.value.length?bt(l.value,a.value,j(t)):j(e));return{groups:l,flatItems:r}}const xt=_({item:{type:Object,required:!0},groupCollapseIcon:{type:H,default:"$tableGroupCollapse"},groupExpandIcon:{type:H,default:"$tableGroupExpand"},...be()},"VDataTableGroupHeaderRow"),Ya=$()({name:"VDataTableGroupHeaderRow",props:xt(),setup(e,n){let{slots:a}=n;const{isGroupOpen:t,toggleGroup:l,extractRows:r}=ht(),{isSelected:o,isSomeSelected:s,select:i}=we(),{columns:d}=xe(),f=V(()=>r([e.item])),m=E(()=>d.value.length-(d.value.some(v=>v.key==="data-table-select")?1:0));return()=>S("tr",{class:"v-data-table-group-header-row",style:{"--v-data-table-group-header-row-depth":e.item.depth}},[d.value.map(v=>{var x,g;if(v.key==="data-table-group"){const y=t(e.item)?e.groupCollapseIcon:e.groupExpandIcon,c=()=>l(e.item);return((x=a["data-table-group"])==null?void 0:x.call(a,{item:e.item,count:f.value.length,props:{icon:y,onClick:c}}))??T(Z,{class:"v-data-table-group-header-row__column",colspan:m.value},{default:()=>[T(ve,{size:"small",variant:"text",icon:y,onClick:c},null),S("span",null,[e.item.value]),S("span",null,[$e("("),f.value.length,$e(")")])]})}else if(v.key==="data-table-select"){const y=f.value.filter(I=>I.selectable),c=y.length>0&&o(y),w=s(y)&&!c,u=I=>i(y,I);return((g=a["data-table-select"])==null?void 0:g.call(a,{props:{modelValue:c,indeterminate:w,"onUpdate:modelValue":u}}))??T(Z,{class:"v-data-table__td--select-row",noPadding:!0},{default:()=>[T(ge,{density:e.density,disabled:y.length===0,modelValue:c,indeterminate:w,"onUpdate:modelValue":u},null)]})}return""})])}}),za=_({expandOnClick:Boolean,showExpand:Boolean,expanded:{type:Array,default:()=>[]}},"DataTable-expand"),wt=Symbol.for("vuetify:datatable:expanded");function Ka(e){const n=E(()=>e.expandOnClick),a=q(e,"expanded",e.expanded,s=>new Set(s),s=>[...s.values()]);function t(s,i){const d=new Set(a.value),f=se(s.value);if(i)d.add(f);else{const m=[...a.value].find(v=>se(v)===f);d.delete(m)}a.value=d}function l(s){const i=se(s.value);return[...a.value].some(d=>se(d)===i)}function r(s){t(s,!l(s))}const o={expand:t,expanded:a,expandOnClick:n,isExpanded:l,toggleExpand:r};return J(wt,o),o}function St(){const e=X(wt);if(!e)throw new Error("foo");return e}const Pt=_({color:String,index:Number,item:Object,cellProps:[Object,Function],collapseIcon:{type:H,default:"$collapse"},expandIcon:{type:H,default:"$expand"},onClick:Te(),onContextmenu:Te(),onDblclick:Te(),...be(),..._e()},"VDataTableRow"),Xa=$()({name:"VDataTableRow",props:Pt(),setup(e,n){let{slots:a}=n;const{displayClasses:t,mobile:l}=Be(e,"v-data-table__tr"),{isSelected:r,toggleSelect:o,someSelected:s,allSelected:i,selectAll:d}=we(),{isExpanded:f,toggleExpand:m}=St(),{toggleSort:v,sortBy:x,isSorted:g}=vt(),{columns:y}=xe();L(()=>S("tr",{class:K(["v-data-table__tr",{"v-data-table__tr--clickable":!!(e.onClick||e.onContextmenu||e.onDblclick)},t.value]),onClick:e.onClick,onContextmenu:e.onContextmenu,onDblclick:e.onDblclick},[e.item&&y.value.map((c,w)=>{const u=e.item,I=`item.${c.key}`,B=`header.${c.key}`,k={index:e.index,item:u.raw,internalItem:u,value:fe(u.columns,c.key),column:c,isSelected:r,toggleSelect:o,isExpanded:f,toggleExpand:m},b={column:c,selectAll:d,isSorted:g,toggleSort:v,sortBy:x.value,someSelected:s.value,allSelected:i.value,getSortIcon:()=>""},P=typeof e.cellProps=="function"?e.cellProps({index:k.index,item:k.item,internalItem:k.internalItem,value:k.value,column:c}):e.cellProps,D=typeof c.cellProps=="function"?c.cellProps({index:k.index,item:k.item,internalItem:k.internalItem,value:k.value}):c.cellProps,p=c.key==="data-table-select"||c.key==="data-table-expand",h=c.key==="data-table-group"&&c.width===0&&!c.title;return T(Z,R({align:c.align,indent:c.indent,class:{"v-data-table__td--expanded-row":c.key==="data-table-expand","v-data-table__td--select-row":c.key==="data-table-select"},fixed:c.fixed,fixedOffset:c.fixedOffset,fixedEndOffset:c.fixedEndOffset,lastFixed:c.lastFixed,firstFixedEnd:c.firstFixedEnd,maxWidth:l.value?void 0:c.maxWidth,noPadding:p,empty:h,nowrap:c.nowrap,width:l.value?void 0:c.width},P,D),{default:()=>{var A,W,M,Y;if(c.key==="data-table-select")return((A=a["item.data-table-select"])==null?void 0:A.call(a,{...k,props:{color:e.color,disabled:!u.selectable,modelValue:r([u]),onClick:ie(()=>o(u),["stop"])}}))??T(ge,{color:e.color,disabled:!u.selectable,density:e.density,modelValue:r([u]),onClick:ie(G=>o(u,e.index,G),["stop"])},null);if(c.key==="data-table-expand")return((W=a["item.data-table-expand"])==null?void 0:W.call(a,{...k,props:{icon:f(u)?e.collapseIcon:e.expandIcon,size:"small",variant:"text",onClick:ie(()=>m(u),["stop"])}}))??T(ve,{icon:f(u)?e.collapseIcon:e.expandIcon,size:"small",variant:"text",onClick:ie(()=>m(u),["stop"])},null);if(a[I]&&!l.value)return a[I](k);const C=Yt(k.value);return l.value?S(Q,null,[S("div",{class:"v-data-table__td-title"},[((M=a[B])==null?void 0:M.call(a,b))??c.title]),S("div",{class:"v-data-table__td-value"},[((Y=a[I])==null?void 0:Y.call(a,k))??C])]):C}})})]))}}),It=_({color:String,loading:[Boolean,String],loadingText:{type:String,default:"$vuetify.dataIterator.loadingText"},hideNoData:Boolean,items:{type:Array,default:()=>[]},noDataText:{type:String,default:"$vuetify.noDataText"},rowProps:[Object,Function],cellProps:[Object,Function],...Ve(Pt(),["collapseIcon","expandIcon","density"]),...Ve(xt(),["groupCollapseIcon","groupExpandIcon","density"]),..._e()},"VDataTableRows"),je=$()({name:"VDataTableRows",inheritAttrs:!1,props:It(),setup(e,n){let{attrs:a,slots:t}=n;const{columns:l}=xe(),{expandOnClick:r,toggleExpand:o,isExpanded:s}=St(),{isSelected:i,toggleSelect:d}=we(),{toggleGroup:f,isGroupOpen:m}=ht(),{t:v}=ee(),{mobile:x}=Be(e);return L(()=>{var y,c;const g=Ve(e,["groupCollapseIcon","groupExpandIcon","density"]);return e.loading&&(!e.items.length||t.loading)?S("tr",{class:"v-data-table-rows-loading",key:"loading"},[S("td",{colspan:l.value.length},[((y=t.loading)==null?void 0:y.call(t))??v(e.loadingText)])]):!e.loading&&!e.items.length&&!e.hideNoData?S("tr",{class:"v-data-table-rows-no-data",key:"no-data"},[S("td",{colspan:l.value.length},[((c=t["no-data"])==null?void 0:c.call(t))??v(e.noDataText)])]):S(Q,null,[e.items.map((w,u)=>{var k,b;if(w.type==="group"){const P={index:u,item:w,columns:l.value,isExpanded:s,toggleExpand:o,isSelected:i,toggleSelect:d,toggleGroup:f,isGroupOpen:m};return t["group-header"]?t["group-header"](P):T(Ya,R({key:`group-header_${w.id}`,item:w},Ne(a,":groupHeader",()=>P),g),t)}if(w.type==="group-summary"){const P={index:u,item:w,columns:l.value,toggleGroup:f};return((k=t["group-summary"])==null?void 0:k.call(t,P))??""}const I={index:w.virtualIndex??u,item:w.raw,internalItem:w,columns:l.value,isExpanded:s,toggleExpand:o,isSelected:i,toggleSelect:d},B={...I,props:R({key:`item_${w.key??w.index}`,onClick:r.value?()=>{o(w)}:void 0,index:u,item:w,color:e.color,cellProps:e.cellProps,collapseIcon:e.collapseIcon,expandIcon:e.expandIcon,density:e.density,mobile:x.value},Ne(a,":row",()=>I),typeof e.rowProps=="function"?e.rowProps({item:I.item,index:I.index,internalItem:I.internalItem}):e.rowProps)};return S(Q,{key:B.props.key},[t.item?t.item(B):T(Xa,B.props,t),s(w)&&((b=t["expanded-row"])==null?void 0:b.call(t,I))])})])}),{}}}),kt=_({fixedHeader:Boolean,fixedFooter:Boolean,height:[Number,String],hover:Boolean,striped:{type:String,default:null,validator:e=>["even","odd"].includes(e)},...Ee(),...be(),...Ze(),...Qe()},"VTable"),Ye=$()({name:"VTable",props:kt(),setup(e,n){let{slots:a,emit:t}=n;const{themeClasses:l}=Je(e),{densityClasses:r}=zt(e);return L(()=>T(e.tag,{class:K(["v-table",{"v-table--fixed-height":!!e.height,"v-table--fixed-header":e.fixedHeader,"v-table--fixed-footer":e.fixedFooter,"v-table--has-top":!!a.top,"v-table--has-bottom":!!a.bottom,"v-table--hover":e.hover,"v-table--striped-even":e.striped==="even","v-table--striped-odd":e.striped==="odd"},l.value,r.value,e.class]),style:ye(e.style)},{default:()=>{var o,s,i;return[(o=a.top)==null?void 0:o.call(a),a.default?S("div",{class:"v-table__wrapper",style:{height:F(e.height)}},[S("table",null,[a.default()])]):(s=a.wrapper)==null?void 0:s.call(a),(i=a.bottom)==null?void 0:i.call(a)]}})),{}}}),Ua=_({items:{type:Array,default:()=>[]},itemValue:{type:[String,Array,Function],default:"id"},itemSelectable:{type:[String,Array,Function],default:null},rowProps:[Object,Function],cellProps:[Object,Function],returnObject:Boolean},"DataTable-items");function qa(e,n,a,t){const l=e.returnObject?n:ue(n,e.itemValue),r=ue(n,e.itemSelectable,!0),o=t.reduce((s,i)=>(i.key!=null&&(s[i.key]=ue(n,i.value)),s),{});return{type:"item",key:e.returnObject?ue(n,e.itemValue):l,index:a,value:l,selectable:r,columns:o,raw:n}}function Ja(e,n,a){return n.map((t,l)=>qa(e,t,l,a))}function Qa(e,n){return{items:V(()=>Ja(e,e.items,n.value))}}function Za(e){let{page:n,itemsPerPage:a,sortBy:t,groupBy:l,search:r}=e;const o=Ue("VDataTable"),s=()=>({page:n.value,itemsPerPage:a.value,sortBy:t.value,groupBy:l.value,search:r.value});let i=null;me(s,d=>{qe(i,d)||(i&&i.search!==d.search&&(n.value=1),o.emit("update:options",d),i=d)},{deep:!0,immediate:!0})}const en=_({...It(),hideDefaultBody:Boolean,hideDefaultFooter:Boolean,hideDefaultHeader:Boolean,width:[String,Number],search:String,...za(),...Ga(),...Ia(),...Ua(),...Ea(),...Oa(),...he(gt(),["multiSort","initialSortOrder"]),...kt()},"DataTable"),tn=_({...ya(),...en(),...ia(),...nt()},"VDataTable"),cn=$()({name:"VDataTable",props:tn(),emits:{"update:modelValue":e=>!0,"update:page":e=>!0,"update:itemsPerPage":e=>!0,"update:sortBy":e=>!0,"update:options":e=>!0,"update:groupBy":e=>!0,"update:expanded":e=>!0,"update:currentItems":e=>!0},setup(e,n){let{attrs:a,slots:t}=n;const{groupBy:l}=Na(e),{initialSortOrder:r,sortBy:o,multiSort:s,mustSort:i}=Aa(e),{page:d,itemsPerPage:f}=ba(e),{disableSort:m}=Kt(e),{columns:v,headers:x,sortFunctions:g,sortRawFunctions:y,filterFunctions:c}=Ca(e,{groupBy:l,showSelect:E(()=>e.showSelect),showExpand:E(()=>e.showExpand)}),{items:w}=Qa(e,v),u=E(()=>e.search),{filteredItems:I}=sa(e,w,u,{transform:O=>O.columns,customKeyFilter:c}),{toggleSort:B}=Ha({initialSortOrder:r,sortBy:o,multiSort:s,mustSort:i,page:d}),{sortByWithGroups:k,opened:b,extractRows:P,isGroupOpen:D,toggleGroup:p}=La({groupBy:l,sortBy:o,disableSort:m}),{sortedItems:h}=$a(e,I,k,{transform:O=>({...O.raw,...O.columns}),sortFunctions:g,sortRawFunctions:y}),C=V(()=>e.pageBy==="auto"?e.groupBy.length?"group":"item":e.pageBy),{pageCount:A,setItemsPerPage:W,paginatedItems:M}=Pa({pageBy:C,sortedItems:h,paginate:O=>{const Pe=V(()=>j(O).length),{startIndex:Ie,stopIndex:ke,pageCount:U,setItemsPerPage:ne}=xa({page:d,itemsPerPage:f,itemsLength:Pe}),{paginatedItems:le}=Sa({items:O,startIndex:Ie,stopIndex:ke,itemsPerPage:f});return{paginatedItems:le,pageCount:U,setItemsPerPage:ne}},group:O=>ja(O,l,b,()=>!!t["group-summary"])}),Y=V(()=>P(M.value)),{isSelected:G,select:te,selectAll:ae,toggleSelect:Se,someSelected:Ct,allSelected:Bt}=Fa(e,{allItems:w,currentPage:Y}),{isExpanded:_t,toggleExpand:Et}=Ka(e);Za({page:d,itemsPerPage:f,sortBy:o,groupBy:l,search:u}),Xt({VDataTableRows:{hideNoData:E(()=>e.hideNoData),noDataText:E(()=>e.noDataText),loading:E(()=>e.loading),loadingText:E(()=>e.loadingText)}});const N=V(()=>({page:d.value,itemsPerPage:f.value,sortBy:o.value,pageCount:A.value,toggleSort:B,setItemsPerPage:W,someSelected:Ct.value,allSelected:Bt.value,isSelected:G,select:te,selectAll:ae,toggleSelect:Se,isExpanded:_t,toggleExpand:Et,isGroupOpen:D,toggleGroup:p,items:Y.value.map(O=>O.raw),internalItems:Y.value,groupedItems:M.value,columns:v.value,headers:x.value}));return L(()=>{const O=Le.filterProps(e),Pe=Me.filterProps(he(e,["multiSort"])),Ie=je.filterProps(e),ke=Ye.filterProps(e);return T(Ye,R({class:["v-data-table",{"v-data-table--show-select":e.showSelect,"v-data-table--loading":e.loading},e.class],style:e.style},ke,{fixedHeader:e.fixedHeader||e.sticky}),{top:()=>{var U;return(U=t.top)==null?void 0:U.call(t,N.value)},default:()=>{var U,ne,le,Oe,Ae,Re;return t.default?t.default(N.value):S(Q,null,[(U=t.colgroup)==null?void 0:U.call(t,N.value),!e.hideDefaultHeader&&S("thead",{key:"thead"},[T(Me,R(Pe,{multiSort:!!e.multiSort}),t)]),(ne=t.thead)==null?void 0:ne.call(t,N.value),!e.hideDefaultBody&&S("tbody",null,[(le=t["body.prepend"])==null?void 0:le.call(t,N.value),t.body?t.body(N.value):T(je,R(a,Ie,{items:M.value}),t),(Oe=t["body.append"])==null?void 0:Oe.call(t,N.value)]),(Ae=t.tbody)==null?void 0:Ae.call(t,N.value),(Re=t.tfoot)==null?void 0:Re.call(t,N.value)])},bottom:()=>t.bottom?t.bottom(N.value):!e.hideDefaultFooter&&S(Q,null,[T(Ut,null,null),T(Le,O,{prepend:t["footer.prepend"]})])})}),{}}}),an=Symbol.for("vuetify:v-tabs"),pt=Symbol.for("vuetify:v-window"),Tt=Symbol.for("vuetify:v-window-group"),Vt=_({continuous:Boolean,nextIcon:{type:[Boolean,String,Function,Object],default:"$next"},prevIcon:{type:[Boolean,String,Function,Object],default:"$prev"},reverse:Boolean,showArrows:{type:[Boolean,String],validator:e=>typeof e=="boolean"||e==="hover"},verticalArrows:[Boolean,String],touch:{type:[Object,Boolean],default:void 0},direction:{type:String,default:"horizontal"},modelValue:null,disabled:Boolean,selectedClass:{type:String,default:"v-window-item--active"},mandatory:{type:[Boolean,String],default:"force"},crossfade:Boolean,transitionDuration:Number,...Ee(),...Ze(),...Qe()},"VWindow"),ze=$()({name:"VWindow",directives:{vTouch:De},props:Vt(),emits:{"update:modelValue":e=>!0},setup(e,n){let{slots:a}=n;const{themeClasses:t}=Je(e),{isRtl:l}=qt(),{t:r}=ee(),o=Jt(e,Tt),s=z(),i=V(()=>l.value?!e.reverse:e.reverse),d=ce(!1),f=V(()=>{if(e.crossfade)return"v-window-crossfade-transition";const b=e.direction==="vertical"?"y":"x",D=(i.value?!d.value:d.value)?"-reverse":"";return`v-window-${b}${D}-transition`}),m=ce(0),v=z(void 0),x=V(()=>o.items.value.findIndex(b=>o.selected.value.includes(b.id)));me(x,(b,P)=>{let D;const p={left:0,top:0};We&&P>=0&&(D=Qt(s.value),p.left=D==null?void 0:D.scrollLeft,p.top=D==null?void 0:D.scrollTop);const h=o.items.value.length,C=h-1;h<=2?d.value=b{if(!We||!D)return;D.scrollTop!==p.top&&D.scrollTo({...p,behavior:"instant"}),requestAnimationFrame(()=>{if(!D)return;D.scrollTop!==p.top&&D.scrollTo({...p,behavior:"instant"})})})},{flush:"sync"}),J(pt,{transition:f,isReversed:d,transitionCount:m,transitionHeight:v,rootRef:s});const g=E(()=>e.continuous||x.value!==0),y=E(()=>e.continuous||x.value!==o.items.value.length-1);function c(){g.value&&o.prev()}function w(){y.value&&o.next()}const u=V(()=>{const b=[],P={icon:l.value?e.nextIcon:e.prevIcon,class:`v-window__${i.value?"right":"left"}`,onClick:o.prev,"aria-label":r("$vuetify.carousel.prev")};b.push(g.value?a.prev?a.prev({props:P}):T(ve,P,null):S("div",null,null));const D={icon:l.value?e.prevIcon:e.nextIcon,class:`v-window__${i.value?"left":"right"}`,onClick:o.next,"aria-label":r("$vuetify.carousel.next")};return b.push(y.value?a.next?a.next({props:D}):T(ve,D,null):S("div",null,null)),b}),I=V(()=>e.touch===!1?e.touch:{...{left:()=>{i.value?c():w()},right:()=>{i.value?w():c()},start:P=>{let{originalEvent:D}=P;D.stopPropagation()}},...e.touch===!0?{}:e.touch});function B(b){(e.direction==="horizontal"&&b.key==="ArrowLeft"||e.direction==="vertical"&&b.key==="ArrowUp")&&(b.preventDefault(),c(),de(()=>{g.value?k(0):k(1)})),(e.direction==="horizontal"&&b.key==="ArrowRight"||e.direction==="vertical"&&b.key==="ArrowDown")&&(b.preventDefault(),w(),de(()=>{y.value?k(1):k(0)}))}function k(b){var p;const P=u.value[b];if(!P)return;(p=(Array.isArray(P)?P[0]:P).el)==null||p.focus()}return L(()=>et(T(e.tag,{ref:s,class:K(["v-window",{"v-window--show-arrows-on-hover":e.showArrows==="hover","v-window--vertical-arrows":!!e.verticalArrows,"v-window--crossfade":!!e.crossfade},t.value,e.class]),style:ye([e.style,{"--v-window-transition-duration":Zt()?null:F(e.transitionDuration,"ms")}])},{default:()=>{var b,P;return[S("div",{class:"v-window__container",style:{height:v.value}},[(b=a.default)==null?void 0:b.call(a,{group:o}),e.showArrows!==!1&&S("div",{class:K(["v-window__controls",{"v-window__controls--left":e.verticalArrows==="left"||e.verticalArrows===!0},{"v-window__controls--right":e.verticalArrows==="right"}]),onKeydown:B},[u.value])]),(P=a.additional)==null?void 0:P.call(a,{group:o})]}}),[[De,I.value]])),{group:o}}}),nn=_({...he(Vt(),["continuous","nextIcon","prevIcon","showArrows","touch","mandatory"])},"VTabsWindow"),fn=$()({name:"VTabsWindow",props:nn(),emits:{"update:modelValue":e=>!0},setup(e,n){let{slots:a}=n;const t=X(an,null),l=q(e,"modelValue"),r=V({get(){var o;return l.value!=null||!t?l.value:(o=t.items.value.find(s=>t.selected.value.includes(s.id)))==null?void 0:o.value},set(o){l.value=o}});return L(()=>{const o=ze.filterProps(e);return T(ze,R({_as:"VTabsWindow"},o,{modelValue:r.value,"onUpdate:modelValue":s=>r.value=s,class:["v-tabs-window",e.class],style:e.style,mandatory:!1,touch:!1}),a)}),{}}}),Dt=_({reverseTransition:{type:[Boolean,String],default:void 0},transition:{type:[Boolean,String],default:void 0},...Ee(),...ra(),...oa()},"VWindowItem"),Ke=$()({name:"VWindowItem",directives:{vTouch:De},props:Dt(),emits:{"group:selected":e=>!0},setup(e,n){let{slots:a}=n;const t=X(pt),l=ea(e,Tt),{isBooted:r}=ta();if(!t||!l)throw new Error("[Vuetify] VWindowItem must be used inside VWindow");const o=ce(!1),s=V(()=>r.value&&(t.isReversed.value?e.reverseTransition!==!1:e.transition!==!1));function i(){!o.value||!t||(o.value=!1,t.transitionCount.value>0&&(t.transitionCount.value-=1,t.transitionCount.value===0&&(t.transitionHeight.value=void 0)))}function d(){var g;o.value||!t||(o.value=!0,t.transitionCount.value===0&&(t.transitionHeight.value=F((g=t.rootRef.value)==null?void 0:g.clientHeight)),t.transitionCount.value+=1)}function f(){i()}function m(g){o.value&&de(()=>{!s.value||!o.value||!t||(t.transitionHeight.value=F(g.clientHeight))})}const v=V(()=>{const g=t.isReversed.value?e.reverseTransition:e.transition;return s.value?{name:typeof g!="string"?t.transition.value:g,onBeforeEnter:d,onAfterEnter:i,onEnterCancelled:f,onBeforeLeave:d,onAfterLeave:i,onLeaveCancelled:f,onEnter:m}:!1}),{hasContent:x}=aa(e,l.isSelected);return L(()=>T(la,{transition:v.value,disabled:!r.value},{default:()=>{var g;return[et(S("div",{class:K(["v-window-item",l.selectedClass.value,e.class]),style:ye(e.style)},[x.value&&((g=a.default)==null?void 0:g.call(a))]),[[na,l.isSelected.value]])]}})),{groupItem:l}}}),ln=_({...Dt()},"VTabsWindowItem"),vn=$()({name:"VTabsWindowItem",props:ln(),setup(e,n){let{slots:a}=n;return L(()=>{const t=Ke.filterProps(e);return T(Ke,R({_as:"VTabsWindowItem"},t,{class:["v-tabs-window-item",e.class],style:e.style}),a)}),{}}});export{an as V,vn as a,fn as b,ze as c,Ke as d,cn as e,Ye as f}; diff --git a/assets/VTabsWindowItem-D3P2Hofy.js b/assets/VTabsWindowItem-D3P2Hofy.js new file mode 100644 index 0000000..383f378 --- /dev/null +++ b/assets/VTabsWindowItem-D3P2Hofy.js @@ -0,0 +1 @@ +import{n as q,p as _,l as Ke,z as pe,f as $,an as ee,u as L,a5 as me,I as H,ar as Ft,s as F,as as Ot,w as oe,ah as At,o as Ue,at as ce,au as re,F as Rt,a0 as Be,av as _e,ag as Te,aj as Ve,aw as He,h as qe,m as Qe,k as Ee,ai as se,j as Ht,ax as Ze,A as $t,E as $e,a3 as Nt,P as Wt}from"./vendor-vuetify-ChAgIwn2.js";import{l as j,e as V,d as K,o as he,p as Q,k as S,j as T,m as R,n as X,w as Gt,a as Lt,b as z,s as fe,t as E,F as Z,N as ye,a1 as Ne,x as ie,ad as ue,S as Mt,y as jt,I as de,R as Je,V as Yt}from"./vendor-vue-H0jQBZ7T.js";import{V as We}from"./VPagination-Dj4se6cS.js";import{V as et,u as zt,m as Xt}from"./VSelect-DC96rbwz.js";import{X as Kt,E as Ut,Y as qt,h as Ge,Z as Qt,I as be,l as ve,G as Zt,m as tt,i as Jt,$ as ea,a0 as ta,u as aa,a1 as na,a2 as la,a3 as oa,a4 as ra}from"./index-Bqe1gKo7.js";import{V as sa}from"./VChip-CPVASmWt.js";import{V as ge}from"./VCheckboxBtn-nWqvYDIO.js";const ia=_({page:{type:[Number,String],default:1},itemsPerPage:{type:[Number,String],default:10},pageBy:{type:String,default:"any"}},"DataTable-paginate"),at=Symbol.for("vuetify:data-table-pagination");function ua(e){const n=q(e,"page",void 0,t=>Number(t??1)),a=q(e,"itemsPerPage",void 0,t=>Number(t??10));return{page:n,itemsPerPage:a}}function da(e){const{page:n,itemsPerPage:a,itemsLength:t}=e,l=V(()=>a.value===-1?0:a.value*(n.value-1)),r=V(()=>a.value===-1?t.value:Math.min(t.value,l.value+a.value)),o=V(()=>a.value===-1||t.value===0?1:Math.ceil(t.value/a.value));he([n,o],()=>{n.value>o.value&&(n.value=o.value)});function s(v){a.value=v,n.value=1}function i(){n.value=pe(n.value+1,1,o.value)}function d(){n.value=pe(n.value-1,1,o.value)}function f(v){n.value=pe(v,1,o.value)}const m={page:n,itemsPerPage:a,startIndex:l,stopIndex:r,pageCount:o,itemsLength:t,nextPage:i,prevPage:d,setPage:f,setItemsPerPage:s};return Q(at,m),m}function ca(){const e=K(at);if(!e)throw new Error("Missing pagination!");return e}function fa(e){const n=Ke("usePaginatedItems"),{items:a,startIndex:t,stopIndex:l,itemsPerPage:r}=e,o=V(()=>r.value<=0?j(a):j(a).slice(t.value,l.value));return he(o,s=>{n.emit("update:currentItems",s)},{immediate:!0}),{paginatedItems:o}}function va(e){const{sortedItems:n,paginate:a,group:t}=e,l=j(e.pageBy);if(l==="item"){const{paginatedItems:r,pageCount:o,setItemsPerPage:s}=a(n),{flatItems:i}=t(r);return{pageCount:o,setItemsPerPage:s,paginatedItems:i}}if(l==="group"){const{flatItems:r,groups:o}=t(n),{paginatedItems:s,pageCount:i,setItemsPerPage:d}=a(o),f=V(()=>{if(!s.value.length)return[];const m=s.value.at(0).id,v=s.value.at(-1).id,x=r.value.findIndex(c=>c.type==="group"&&c.id===m),g=r.value.findIndex(c=>c.type==="group"&&c.id===v),y=r.value.findIndex((c,w)=>w>g&&c.type==="group"&&c.depth===0);return r.value.slice(x,y===-1?void 0:y)});return{pageCount:i,setItemsPerPage:d,paginatedItems:f}}if(l==="any"){const{flatItems:r}=t(n),{paginatedItems:o,pageCount:s,setItemsPerPage:i}=a(r);return{pageCount:s,setItemsPerPage:i,paginatedItems:o}}throw new Error(`Unrecognized pagination target ${l}`)}const nt=_({color:String,prevIcon:{type:H,default:"$prev"},nextIcon:{type:H,default:"$next"},firstIcon:{type:H,default:"$first"},lastIcon:{type:H,default:"$last"},itemsPerPageText:{type:String,default:"$vuetify.dataFooter.itemsPerPageText"},pageText:{type:String,default:"$vuetify.dataFooter.pageText"},firstPageLabel:{type:String,default:"$vuetify.dataFooter.firstPage"},prevPageLabel:{type:String,default:"$vuetify.dataFooter.prevPage"},nextPageLabel:{type:String,default:"$vuetify.dataFooter.nextPage"},lastPageLabel:{type:String,default:"$vuetify.dataFooter.lastPage"},itemsPerPageOptions:{type:Array,default:()=>[{value:10,title:"10"},{value:25,title:"25"},{value:50,title:"50"},{value:100,title:"100"},{value:-1,title:"$vuetify.dataFooter.itemsPerPageAll"}]},showCurrentPage:Boolean},"VDataTableFooter"),Le=$()({name:"VDataTableFooter",props:nt(),setup(e,n){let{slots:a}=n;const{t}=ee(),{page:l,pageCount:r,startIndex:o,stopIndex:s,itemsLength:i,itemsPerPage:d,setItemsPerPage:f}=ca(),m=V(()=>e.itemsPerPageOptions.map(v=>typeof v=="number"?{value:v,title:v===-1?t("$vuetify.dataFooter.itemsPerPageAll"):String(v)}:{...v,title:isNaN(Number(v.title))?t(v.title):v.title}));return L(()=>{var x;const v=We.filterProps(e);return S("div",{class:"v-data-table-footer"},[(x=a.prepend)==null?void 0:x.call(a),S("div",{class:"v-data-table-footer__items-per-page"},[S("span",null,[t(e.itemsPerPageText)]),T(et,{items:m.value,itemColor:e.color,modelValue:d.value,"onUpdate:modelValue":g=>f(Number(g)),density:"compact",variant:"outlined","aria-label":t(e.itemsPerPageText),hideDetails:!0},null)]),S("div",{class:"v-data-table-footer__info"},[S("div",null,[t(e.pageText,i.value?o.value+1:0,s.value,i.value)])]),S("div",{class:"v-data-table-footer__pagination"},[T(We,R({modelValue:l.value,"onUpdate:modelValue":g=>l.value=g,density:"comfortable",firstAriaLabel:e.firstPageLabel,lastAriaLabel:e.lastPageLabel,length:r.value,nextAriaLabel:e.nextPageLabel,previousAriaLabel:e.prevPageLabel,rounded:!0,showFirstLastPage:!0,totalVisible:e.showCurrentPage?1:0,variant:"plain"},me(v,["color"])),null)])])}),{}}}),J=Ft({align:{type:String,default:"start"},fixed:{type:[Boolean,String],default:!1},fixedOffset:[Number,String],fixedEndOffset:[Number,String],height:[Number,String],lastFixed:Boolean,firstFixedEnd:Boolean,noPadding:Boolean,indent:[Number,String],empty:Boolean,tag:String,width:[Number,String],maxWidth:[Number,String],nowrap:Boolean},(e,n)=>{let{slots:a}=n;const t=e.tag??"td",l=typeof e.fixed=="string"?e.fixed:e.fixed?"start":"none";return T(t,{class:X(["v-data-table__td",{"v-data-table-column--fixed":l==="start","v-data-table-column--fixed-end":l==="end","v-data-table-column--last-fixed":e.lastFixed,"v-data-table-column--first-fixed-end":e.firstFixedEnd,"v-data-table-column--no-padding":e.noPadding,"v-data-table-column--nowrap":e.nowrap,"v-data-table-column--empty":e.empty},`v-data-table-column--align-${e.align}`]),style:{height:F(e.height),width:F(e.width),maxWidth:F(e.maxWidth),left:l==="start"?F(e.fixedOffset||null):void 0,right:l==="end"?F(e.fixedEndOffset||null):void 0,paddingInlineStart:e.indent?F(e.indent):void 0}},{default:()=>{var r;return[(r=a.default)==null?void 0:r.call(a)]}})}),ga=_({headers:Array},"DataTable-header"),lt=Symbol.for("vuetify:data-table-headers"),ot={title:"",sortable:!1},ma={...ot,width:48};function ha(){const n=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).map(a=>({element:a,priority:0}));return{enqueue:(a,t)=>{let l=!1;for(let r=0;rt){n.splice(r,0,{element:a,priority:t}),l=!0;break}l||n.push({element:a,priority:t})},size:()=>n.length,count:()=>{let a=0;if(!n.length)return 0;const t=Math.floor(n[0].priority);for(let l=0;ln.shift()}}function De(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];if(!e.children)n.push(e);else for(const a of e.children)De(a,n);return n}function rt(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new Set;for(const a of e)a.key&&n.add(a.key),a.children&&rt(a.children,n);return n}function ya(e){if(e.key){if(e.key==="data-table-group")return ot;if(["data-table-expand","data-table-select"].includes(e.key))return ma}}function Fe(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.children?Math.max(n,...e.children.map(a=>Fe(a,n+1))):n}function ba(e){let n=!1;function a(r,o){let s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"none";if(r)if(s!=="none"&&(r.fixed=s),r.fixed===!0&&(r.fixed="start"),r.fixed===o)if(r.children)if(o==="start")for(let i=r.children.length-1;i>=0;i--)a(r.children[i],o,o);else for(let i=0;i=0;i--)a(r.children[i],o);else for(let i=0;i=0;r--)a(e[r],"start");for(let r=0;r=0;r--)l=it(e[r],l)}function st(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!e)return n;if(e.children){e.fixedOffset=n;for(const a of e.children)n=st(a,n)}else e.fixed&&e.fixed!=="end"&&(e.fixedOffset=n,n+=parseFloat(e.width||"0")||0);return n}function it(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!e)return n;if(e.children){e.fixedEndOffset=n;for(const a of e.children)n=it(a,n)}else e.fixed==="end"&&(e.fixedEndOffset=n,n+=parseFloat(e.width||"0")||0);return n}function xa(e,n){const a=[];let t=0;const l=ha(e);for(;l.size()>0;){let o=l.count();const s=[];let i=1;for(;o>0;){const{element:d,priority:f}=l.dequeue(),m=n-t-Fe(d);if(s.push({...d,rowspan:m??1,colspan:d.children?De(d).length:1}),d.children)for(const v of d.children){const x=f%1+i/Math.pow(10,t+2);l.enqueue(v,t+m+x)}i+=1,o-=1}t+=1,a.push(s)}return{columns:e.map(o=>De(o)).flat(),headers:a}}function ut(e){const n=[];for(const a of e){const t={...ya(a),...a},l=t.key??(typeof t.value=="string"?t.value:null),r=t.value??l??null,o={...t,key:l,value:r,sortable:t.sortable??(t.key!=null||!!t.sort),children:t.children?ut(t.children):void 0};n.push(o)}return n}function wa(e,n){const a=z([]),t=z([]),l=z({}),r=z({}),o=z({});Gt(()=>{var y,c,w;const d=(e.headers||Object.keys(e.items[0]??{}).map(u=>({key:u,title:Lt(u)}))).slice(),f=rt(d);(y=n==null?void 0:n.groupBy)!=null&&y.value.length&&!f.has("data-table-group")&&d.unshift({key:"data-table-group",title:"Group"}),(c=n==null?void 0:n.showSelect)!=null&&c.value&&!f.has("data-table-select")&&d.unshift({key:"data-table-select"}),(w=n==null?void 0:n.showExpand)!=null&&w.value&&!f.has("data-table-expand")&&d.push({key:"data-table-expand"});const m=ut(d);ba(m);const v=Math.max(...m.map(u=>Fe(u)))+1,x=xa(m,v);a.value=x.headers,t.value=x.columns;const g=x.headers.flat(1);for(const u of g)u.key&&(u.sortable&&(u.sort&&(l.value[u.key]=u.sort),u.sortRaw&&(r.value[u.key]=u.sortRaw)),u.filter&&(o.value[u.key]=u.filter))});const s={headers:a,columns:t,sortFunctions:l,sortRawFunctions:r,filterFunctions:o};return Q(lt,s),s}function xe(){const e=K(lt);if(!e)throw new Error("Missing headers!");return e}const Sa={showSelectAll:!1,allSelected:()=>[],select:e=>{var t;let{items:n,value:a}=e;return new Set(a?[(t=n[0])==null?void 0:t.value]:[])},selectAll:e=>{let{selected:n}=e;return n}},dt={showSelectAll:!0,allSelected:e=>{let{currentPage:n}=e;return n},select:e=>{let{items:n,value:a,selected:t}=e;for(const l of n)a?t.add(l.value):t.delete(l.value);return t},selectAll:e=>{let{value:n,currentPage:a,selected:t}=e;return dt.select({items:a,value:n,selected:t})}},Pa={showSelectAll:!0,allSelected:e=>{let{allItems:n}=e;return n},select:e=>{let{items:n,value:a,selected:t}=e;for(const l of n)a?t.add(l.value):t.delete(l.value);return t},selectAll:e=>{let{value:n,allItems:a}=e;return new Set(n?a.map(t=>t.value):[])}},Ia=_({showSelect:Boolean,selectStrategy:{type:[String,Object],default:"page"},modelValue:{type:Array,default:()=>[]},valueComparator:Function},"DataTable-select"),ct=Symbol.for("vuetify:data-table-selection");function ka(e,n){let{allItems:a,currentPage:t}=n;const l=q(e,"modelValue",e.modelValue,u=>{const I=e.valueComparator;return I?new Set(oe(u).map(B=>{var k;return((k=a.value.find(b=>I(B,b.value)))==null?void 0:k.value)??B})):new Set(oe(u).map(B=>{var k,b;return At(B)?((k=a.value.find(P=>B===P.value))==null?void 0:k.value)??B:((b=a.value.find(P=>Ue(B,P.value)))==null?void 0:b.value)??B}))},u=>[...u.values()]),r=V(()=>a.value.filter(u=>u.selectable)),o=V(()=>j(t).filter(u=>u.selectable)),s=V(()=>{if(typeof e.selectStrategy=="object")return e.selectStrategy;switch(e.selectStrategy){case"single":return Sa;case"all":return Pa;case"page":default:return dt}}),i=fe(null);function d(u){return oe(u).every(I=>l.value.has(I.value))}function f(u){return oe(u).some(I=>l.value.has(I.value))}function m(u,I){const B=s.value.select({items:u,value:I,selected:new Set(l.value)});l.value=B}function v(u,I,B){const k=[],b=j(t);if(I=I??b.findIndex(P=>P.value===u.value),e.selectStrategy!=="single"&&(B!=null&&B.shiftKey)&&i.value!==null){const[P,D]=[i.value,I].sort((p,h)=>p-h);k.push(...b.slice(P,D+1).filter(p=>p.selectable))}else k.push(u),i.value=I;m(k,!d([u]))}function x(u){const I=s.value.selectAll({value:u,allItems:r.value,currentPage:o.value,selected:new Set(l.value)});l.value=I}const g=V(()=>l.value.size>0),y=V(()=>{const u=s.value.allSelected({allItems:r.value,currentPage:o.value});return!!u.length&&d(u)}),c=E(()=>s.value.showSelectAll),w={toggleSelect:v,select:m,selectAll:x,isSelected:d,isSomeSelected:f,someSelected:g,allSelected:y,showSelectAll:c,lastSelectedIndex:i,selectStrategy:s};return Q(ct,w),w}function we(){const e=K(ct);if(!e)throw new Error("Missing selection!");return e}const pa=_({initialSortOrder:{type:String,default:"asc",validator:e=>!e||["asc","desc"].includes(e)},sortBy:{type:Array,default:()=>[]},customKeySort:Object,multiSort:{type:[Boolean,Object],default:!1},mustSort:Boolean},"DataTable-sort"),ft=Symbol.for("vuetify:data-table-sort");function Ta(e){const n=E(()=>e.initialSortOrder),a=q(e,"sortBy"),t=E(()=>e.mustSort),l=E(()=>e.multiSort);return{initialSortOrder:n,sortBy:a,multiSort:l,mustSort:t}}function Va(e,n){if(!Rt(e))return{active:!!e};const{key:a,mode:t,modifier:l}=e,r=l==="alt"&&(n==null?void 0:n.altKey)||l==="shift"&&(n==null?void 0:n.shiftKey);return{active:!a||(n==null?void 0:n.ctrlKey)||(n==null?void 0:n.metaKey)||!1,mode:r?t==="append"?"prepend":"append":t}}function Da(e){const{initialSortOrder:n,sortBy:a,mustSort:t,multiSort:l,page:r}=e,o=(d,f)=>{if(d.key==null)return;let m=a.value.map(y=>({...y}))??[];const v=m.find(y=>y.key===d.key),x=n.value,g=n.value==="desc"?"asc":"desc";if(v)v.order===g?t.value&&m.length===1?v.order=n.value:m=m.filter(y=>y.key!==d.key):v.order=g;else{const{active:y,mode:c}=Va(l.value,f);y?c==="prepend"?m.unshift({key:d.key,order:x}):m.push({key:d.key,order:x}):m=[{key:d.key,order:x}]}a.value=m,r&&(r.value=1)};function s(d){return!!a.value.find(f=>f.key===d.key)}const i={sortBy:a,toggleSort:o,isSorted:s};return Q(ft,i),i}function vt(){const e=K(ft);if(!e)throw new Error("Missing sort!");return e}function Ca(e,n,a,t){const l=ee();return{sortedItems:V(()=>{var o,s;return a.value.length?Ba(n.value,a.value,l.current.value,{transform:t==null?void 0:t.transform,sortFunctions:{...e.customKeySort,...(o=t==null?void 0:t.sortFunctions)==null?void 0:o.value},sortRawFunctions:(s=t==null?void 0:t.sortRawFunctions)==null?void 0:s.value}):n.value})}}function Ba(e,n,a,t){const l=new Intl.Collator(a,{sensitivity:"accent",usage:"sort"});return e.map(o=>[o,t!=null&&t.transform?t.transform(o):o]).sort((o,s)=>{var i,d;for(let f=0;fu!=null?u.toString().toLocaleLowerCase():u),g!==y))return re(g)&&re(y)?0:re(g)?-1:re(y)?1:!isNaN(g)&&!isNaN(y)?Number(g)-Number(y):l.compare(g,y)}return 0}).map(o=>{let[s]=o;return s})}const gt=_({color:String,disableSort:Boolean,fixedHeader:Boolean,multiSort:Boolean,initialSortOrder:String,sortIcon:{type:H},sortAscIcon:{type:H,default:"$sortAsc"},sortDescIcon:{type:H,default:"$sortDesc"},headerProps:{type:Object},sticky:Boolean,...be(),..._e(),...Qt()},"VDataTableHeaders"),Me=$()({name:"VDataTableHeaders",props:gt(),setup(e,n){let{slots:a}=n;const{t}=ee(),{toggleSort:l,sortBy:r,isSorted:o}=vt(),{someSelected:s,allSelected:i,selectAll:d,showSelectAll:f}=we(),{columns:m,headers:v}=xe(),{loaderClasses:x}=Kt(e);function g(p,h){if(!(e.sticky||e.fixedHeader)&&!p.fixed)return;const C=typeof p.fixed=="string"?p.fixed:p.fixed?"start":"none";return{position:"sticky",left:C==="start"?F(p.fixedOffset):void 0,right:C==="end"?F(p.fixedEndOffset):void 0,top:e.sticky||e.fixedHeader?`calc(var(--v-table-header-height) * ${h})`:void 0}}function y(p,h){p.key==="Enter"&&!e.disableSort&&l(h,p)}function c(p){const h=r.value.find(C=>C.key===p.key);switch(h==null?void 0:h.order){case"asc":return e.sortAscIcon;case"desc":return e.sortDescIcon;default:return e.sortIcon||(e.initialSortOrder==="asc"?e.sortAscIcon:e.sortDescIcon)}}const{backgroundColorClasses:w,backgroundColorStyles:u}=Ut(()=>e.color),{displayClasses:I,mobile:B}=Be(e),k=V(()=>({headers:v.value,columns:m.value,toggleSort:l,isSorted:o,sortBy:r.value,someSelected:s.value,allSelected:i.value,selectAll:d,getSortIcon:c})),b=V(()=>["v-data-table__th",{"v-data-table__th--sticky":e.sticky||e.fixedHeader},I.value,x.value]),P=p=>{let{column:h,x:C,y:A}=p;const N=h.key==="data-table-select"||h.key==="data-table-expand",M=h.key==="data-table-group"&&h.width===0&&!h.title,Y=R(e.headerProps??{},h.headerProps??{});return T(J,R({tag:"th",align:h.align,class:[{"v-data-table__th--sortable":h.sortable&&!e.disableSort,"v-data-table__th--sorted":o(h),"v-data-table__th--fixed":h.fixed},...b.value],style:{width:F(h.width),minWidth:F(h.minWidth),maxWidth:F(h.maxWidth),...g(h,A)},colspan:h.colspan,rowspan:h.rowspan,fixed:h.fixed,nowrap:h.nowrap,lastFixed:h.lastFixed,firstFixedEnd:h.firstFixedEnd,noPadding:N,empty:M,tabindex:h.sortable?0:void 0,onClick:h.sortable?W=>l(h,W):void 0,onKeydown:h.sortable?W=>y(W,h):void 0},Y),{default:()=>{var ae;const W=`header.${h.key}`,te={column:h,selectAll:d,isSorted:o,toggleSort:l,sortBy:r.value,someSelected:s.value,allSelected:i.value,getSortIcon:c};return a[W]?a[W](te):M?"":h.key==="data-table-select"?((ae=a["header.data-table-select"])==null?void 0:ae.call(a,te))??(f.value&&T(ge,{color:e.color,density:e.density,modelValue:i.value,indeterminate:s.value&&!i.value,"onUpdate:modelValue":d},null)):S("div",{class:"v-data-table-header__content"},[S("span",null,[h.title]),h.sortable&&!e.disableSort&&T(Ge,{key:"icon",class:"v-data-table-header__sort-icon",icon:c(h)},null),e.multiSort&&o(h)&&S("div",{key:"badge",class:X(["v-data-table-header__sort-badge",...w.value]),style:ye(u.value)},[r.value.findIndex(Se=>Se.key===h.key)+1])])}})},D=()=>{const p=V(()=>m.value.filter(C=>(C==null?void 0:C.sortable)&&!e.disableSort)),h=m.value.find(C=>C.key==="data-table-select");return T(J,R({tag:"th",class:[...b.value],colspan:v.value.length+1},e.headerProps),{default:()=>[S("div",{class:"v-data-table-header__content"},[T(et,{chips:!0,color:e.color,class:"v-data-table__td-sort-select",clearable:!0,density:"default",items:p.value,label:t("$vuetify.dataTable.sortBy"),multiple:e.multiSort,variant:"underlined","onClick:clear":()=>r.value=[]},{append:h?()=>T(ge,{color:e.color,density:"compact",modelValue:i.value,indeterminate:s.value&&!i.value,"onUpdate:modelValue":()=>d(!i.value)},null):void 0,chip:C=>{var A;return T(sa,{onClick:(A=C.item.raw)!=null&&A.sortable?()=>l(C.item.raw):void 0,onMousedown:N=>{N.preventDefault(),N.stopPropagation()}},{default:()=>[C.item.title,T(Ge,{class:X(["v-data-table__td-sort-icon",o(C.item.raw)&&"v-data-table__td-sort-icon-active"]),icon:c(C.item.raw),size:"small"},null)]})}})])]})};L(()=>B.value?S("tr",null,[T(D,null,null)]):S(Z,null,[a.headers?a.headers(k.value):v.value.map((p,h)=>S("tr",null,[p.map((C,A)=>T(P,{column:C,x:A,y:h},null))])),e.loading&&S("tr",{class:"v-data-table-progress"},[S("th",{colspan:m.value.length},[T(qt,{name:"v-data-table-progress",absolute:!0,active:!0,color:typeof e.loading=="boolean"||e.loading==="true"?e.color:e.loading,indeterminate:!0},{default:a.loader})])])]))}}),_a=_({groupBy:{type:Array,default:()=>[]}},"DataTable-group"),mt=Symbol.for("vuetify:data-table-group");function Ea(e){return{groupBy:q(e,"groupBy")}}function Fa(e){const{disableSort:n,groupBy:a,sortBy:t}=e,l=z(new Set),r=V(()=>a.value.map(f=>({...f,order:f.order??!1})).concat(n!=null&&n.value?[]:t.value));function o(f){return l.value.has(f.id)}function s(f){const m=new Set(l.value);o(f)?m.delete(f.id):m.add(f.id),l.value=m}function i(f){function m(v){const x=[];for(const g of v.items)"type"in g&&g.type==="group"?x.push(...m(g)):x.push(g);return[...new Set(x)]}return m({items:f})}const d={sortByWithGroups:r,toggleGroup:s,opened:l,groupBy:a,extractRows:i,isGroupOpen:o};return Q(mt,d),d}function ht(){const e=K(mt);if(!e)throw new Error("Missing group!");return e}function Oa(e,n){if(!e.length)return[];const a=new Map;for(const t of e){const l=ce(t.raw,n);a.has(l)||a.set(l,[]),a.get(l).push(t)}return a}function yt(e,n){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,t=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"root";if(!n.length)return[];const l=Oa(e,n[0]),r=[],o=n.slice(1);return l.forEach((s,i)=>{const d=n[0],f=`${t}_${d}_${i}`;r.push({depth:a,id:f,key:d,value:i,items:o.length?yt(s,o,a+1,f):s,type:"group"})}),r}function bt(e,n,a){const t=[];for(const l of e)"type"in l&&l.type==="group"?(l.value!=null&&t.push(l),(n.has(l.id)||l.value==null)&&(t.push(...bt(l.items,n,a)),a&&t.push({...l,type:"group-summary"}))):t.push(l);return t}function Aa(e,n,a,t){const l=V(()=>n.value.length?yt(j(e),n.value.map(o=>o.key)):[]),r=V(()=>n.value.length?bt(l.value,a.value,j(t)):j(e));return{groups:l,flatItems:r}}const xt=_({item:{type:Object,required:!0},groupCollapseIcon:{type:H,default:"$tableGroupCollapse"},groupExpandIcon:{type:H,default:"$tableGroupExpand"},...be()},"VDataTableGroupHeaderRow"),Ra=$()({name:"VDataTableGroupHeaderRow",props:xt(),setup(e,n){let{slots:a}=n;const{isGroupOpen:t,toggleGroup:l,extractRows:r}=ht(),{isSelected:o,isSomeSelected:s,select:i}=we(),{columns:d}=xe(),f=V(()=>r([e.item])),m=E(()=>d.value.length-(d.value.some(v=>v.key==="data-table-select")?1:0));return()=>S("tr",{class:"v-data-table-group-header-row",style:{"--v-data-table-group-header-row-depth":e.item.depth}},[d.value.map(v=>{var x,g;if(v.key==="data-table-group"){const y=t(e.item)?e.groupCollapseIcon:e.groupExpandIcon,c=()=>l(e.item);return((x=a["data-table-group"])==null?void 0:x.call(a,{item:e.item,count:f.value.length,props:{icon:y,onClick:c}}))??T(J,{class:"v-data-table-group-header-row__column",colspan:m.value},{default:()=>[T(ve,{size:"small",variant:"text",icon:y,onClick:c},null),S("span",null,[e.item.value]),S("span",null,[Ne("("),f.value.length,Ne(")")])]})}else if(v.key==="data-table-select"){const y=f.value.filter(I=>I.selectable),c=y.length>0&&o(y),w=s(y)&&!c,u=I=>i(y,I);return((g=a["data-table-select"])==null?void 0:g.call(a,{props:{modelValue:c,indeterminate:w,"onUpdate:modelValue":u}}))??T(J,{class:"v-data-table__td--select-row",noPadding:!0},{default:()=>[T(ge,{density:e.density,disabled:y.length===0,modelValue:c,indeterminate:w,"onUpdate:modelValue":u},null)]})}return""})])}}),Ha=_({expandOnClick:Boolean,showExpand:Boolean,expanded:{type:Array,default:()=>[]}},"DataTable-expand"),wt=Symbol.for("vuetify:datatable:expanded");function $a(e){const n=E(()=>e.expandOnClick),a=q(e,"expanded",e.expanded,s=>new Set(s),s=>[...s.values()]);function t(s,i){const d=new Set(a.value),f=ie(s.value);if(i)d.add(f);else{const m=[...a.value].find(v=>ie(v)===f);d.delete(m)}a.value=d}function l(s){const i=ie(s.value);return[...a.value].some(d=>ie(d)===i)}function r(s){t(s,!l(s))}const o={expand:t,expanded:a,expandOnClick:n,isExpanded:l,toggleExpand:r};return Q(wt,o),o}function St(){const e=K(wt);if(!e)throw new Error("foo");return e}const Pt=_({color:String,index:Number,item:Object,cellProps:[Object,Function],collapseIcon:{type:H,default:"$collapse"},expandIcon:{type:H,default:"$expand"},onClick:Te(),onContextmenu:Te(),onDblclick:Te(),...be(),..._e()},"VDataTableRow"),Na=$()({name:"VDataTableRow",props:Pt(),setup(e,n){let{slots:a}=n;const{displayClasses:t,mobile:l}=Be(e,"v-data-table__tr"),{isSelected:r,toggleSelect:o,someSelected:s,allSelected:i,selectAll:d}=we(),{isExpanded:f,toggleExpand:m}=St(),{toggleSort:v,sortBy:x,isSorted:g}=vt(),{columns:y}=xe();L(()=>S("tr",{class:X(["v-data-table__tr",{"v-data-table__tr--clickable":!!(e.onClick||e.onContextmenu||e.onDblclick)},t.value]),onClick:e.onClick,onContextmenu:e.onContextmenu,onDblclick:e.onDblclick},[e.item&&y.value.map((c,w)=>{const u=e.item,I=`item.${c.key}`,B=`header.${c.key}`,k={index:e.index,item:u.raw,internalItem:u,value:ce(u.columns,c.key),column:c,isSelected:r,toggleSelect:o,isExpanded:f,toggleExpand:m},b={column:c,selectAll:d,isSorted:g,toggleSort:v,sortBy:x.value,someSelected:s.value,allSelected:i.value,getSortIcon:()=>""},P=typeof e.cellProps=="function"?e.cellProps({index:k.index,item:k.item,internalItem:k.internalItem,value:k.value,column:c}):e.cellProps,D=typeof c.cellProps=="function"?c.cellProps({index:k.index,item:k.item,internalItem:k.internalItem,value:k.value}):c.cellProps,p=c.key==="data-table-select"||c.key==="data-table-expand",h=c.key==="data-table-group"&&c.width===0&&!c.title;return T(J,R({align:c.align,indent:c.indent,class:{"v-data-table__td--expanded-row":c.key==="data-table-expand","v-data-table__td--select-row":c.key==="data-table-select"},fixed:c.fixed,fixedOffset:c.fixedOffset,fixedEndOffset:c.fixedEndOffset,lastFixed:c.lastFixed,firstFixedEnd:c.firstFixedEnd,maxWidth:l.value?void 0:c.maxWidth,noPadding:p,empty:h,nowrap:c.nowrap,width:l.value?void 0:c.width},P,D),{default:()=>{var A,N,M,Y;if(c.key==="data-table-select")return((A=a["item.data-table-select"])==null?void 0:A.call(a,{...k,props:{color:e.color,disabled:!u.selectable,modelValue:r([u]),onClick:ue(()=>o(u),["stop"])}}))??T(ge,{color:e.color,disabled:!u.selectable,density:e.density,modelValue:r([u]),onClick:ue(W=>o(u,e.index,W),["stop"])},null);if(c.key==="data-table-expand")return((N=a["item.data-table-expand"])==null?void 0:N.call(a,{...k,props:{icon:f(u)?e.collapseIcon:e.expandIcon,size:"small",variant:"text",onClick:ue(()=>m(u),["stop"])}}))??T(ve,{icon:f(u)?e.collapseIcon:e.expandIcon,size:"small",variant:"text",onClick:ue(()=>m(u),["stop"])},null);if(a[I]&&!l.value)return a[I](k);const C=Mt(k.value);return l.value?S(Z,null,[S("div",{class:"v-data-table__td-title"},[((M=a[B])==null?void 0:M.call(a,b))??c.title]),S("div",{class:"v-data-table__td-value"},[((Y=a[I])==null?void 0:Y.call(a,k))??C])]):C}})})]))}}),It=_({color:String,loading:[Boolean,String],loadingText:{type:String,default:"$vuetify.dataIterator.loadingText"},hideNoData:Boolean,items:{type:Array,default:()=>[]},noDataText:{type:String,default:"$vuetify.noDataText"},rowProps:[Object,Function],cellProps:[Object,Function],...Ve(Pt(),["collapseIcon","expandIcon","density"]),...Ve(xt(),["groupCollapseIcon","groupExpandIcon","density"]),..._e()},"VDataTableRows"),je=$()({name:"VDataTableRows",inheritAttrs:!1,props:It(),setup(e,n){let{attrs:a,slots:t}=n;const{columns:l}=xe(),{expandOnClick:r,toggleExpand:o,isExpanded:s}=St(),{isSelected:i,toggleSelect:d}=we(),{toggleGroup:f,isGroupOpen:m}=ht(),{t:v}=ee(),{mobile:x}=Be(e);return L(()=>{var y,c;const g=Ve(e,["groupCollapseIcon","groupExpandIcon","density"]);return e.loading&&(!e.items.length||t.loading)?S("tr",{class:"v-data-table-rows-loading",key:"loading"},[S("td",{colspan:l.value.length},[((y=t.loading)==null?void 0:y.call(t))??v(e.loadingText)])]):!e.loading&&!e.items.length&&!e.hideNoData?S("tr",{class:"v-data-table-rows-no-data",key:"no-data"},[S("td",{colspan:l.value.length},[((c=t["no-data"])==null?void 0:c.call(t))??v(e.noDataText)])]):S(Z,null,[e.items.map((w,u)=>{var k,b;if(w.type==="group"){const P={index:u,item:w,columns:l.value,isExpanded:s,toggleExpand:o,isSelected:i,toggleSelect:d,toggleGroup:f,isGroupOpen:m};return t["group-header"]?t["group-header"](P):T(Ra,R({key:`group-header_${w.id}`,item:w},He(a,":groupHeader",()=>P),g),t)}if(w.type==="group-summary"){const P={index:u,item:w,columns:l.value,toggleGroup:f};return((k=t["group-summary"])==null?void 0:k.call(t,P))??""}const I={index:w.virtualIndex??u,item:w.raw,internalItem:w,columns:l.value,isExpanded:s,toggleExpand:o,isSelected:i,toggleSelect:d},B={...I,props:R({key:`item_${w.key??w.index}`,onClick:r.value?()=>{o(w)}:void 0,index:u,item:w,color:e.color,cellProps:e.cellProps,collapseIcon:e.collapseIcon,expandIcon:e.expandIcon,density:e.density,mobile:x.value},He(a,":row",()=>I),typeof e.rowProps=="function"?e.rowProps({item:I.item,index:I.index,internalItem:I.internalItem}):e.rowProps)};return S(Z,{key:B.props.key},[t.item?t.item(B):T(Na,B.props,t),s(w)&&((b=t["expanded-row"])==null?void 0:b.call(t,I))])})])}),{}}}),kt=_({fixedHeader:Boolean,fixedFooter:Boolean,height:[Number,String],hover:Boolean,striped:{type:String,default:null,validator:e=>["even","odd"].includes(e)},...Ee(),...be(),...tt(),...Qe()},"VTable"),Ye=$()({name:"VTable",props:kt(),setup(e,n){let{slots:a,emit:t}=n;const{themeClasses:l}=qe(e),{densityClasses:r}=Zt(e);return L(()=>T(e.tag,{class:X(["v-table",{"v-table--fixed-height":!!e.height,"v-table--fixed-header":e.fixedHeader,"v-table--fixed-footer":e.fixedFooter,"v-table--has-top":!!a.top,"v-table--has-bottom":!!a.bottom,"v-table--hover":e.hover,"v-table--striped-even":e.striped==="even","v-table--striped-odd":e.striped==="odd"},l.value,r.value,e.class]),style:ye(e.style)},{default:()=>{var o,s,i;return[(o=a.top)==null?void 0:o.call(a),a.default?S("div",{class:"v-table__wrapper",style:{height:F(e.height)}},[S("table",null,[a.default()])]):(s=a.wrapper)==null?void 0:s.call(a),(i=a.bottom)==null?void 0:i.call(a)]}})),{}}}),Wa=_({items:{type:Array,default:()=>[]},itemValue:{type:[String,Array,Function],default:"id"},itemSelectable:{type:[String,Array,Function],default:null},rowProps:[Object,Function],cellProps:[Object,Function],returnObject:Boolean},"DataTable-items");function Ga(e,n,a,t){const l=e.returnObject?n:se(n,e.itemValue),r=se(n,e.itemSelectable,!0),o=t.reduce((s,i)=>(i.key!=null&&(s[i.key]=se(n,i.value)),s),{});return{type:"item",key:e.returnObject?se(n,e.itemValue):l,index:a,value:l,selectable:r,columns:o,raw:n}}function La(e,n,a){return n.map((t,l)=>Ga(e,t,l,a))}function Ma(e,n){return{items:V(()=>La(e,e.items,n.value))}}function ja(e){let{page:n,itemsPerPage:a,sortBy:t,groupBy:l,search:r}=e;const o=Ke("VDataTable"),s=()=>({page:n.value,itemsPerPage:a.value,sortBy:t.value,groupBy:l.value,search:r.value});let i=null;he(s,d=>{Ue(i,d)||(i&&i.search!==d.search&&(n.value=1),o.emit("update:options",d),i=d)},{deep:!0,immediate:!0})}const Ya=_({...It(),hideDefaultBody:Boolean,hideDefaultFooter:Boolean,hideDefaultHeader:Boolean,width:[String,Number],search:String,...Ha(),..._a(),...ga(),...Wa(),...Ia(),...pa(),...me(gt(),["multiSort","initialSortOrder"]),...kt()},"DataTable"),za=_({...ia(),...Ya(),...Xt(),...nt()},"VDataTable"),cn=$()({name:"VDataTable",props:za(),emits:{"update:modelValue":e=>!0,"update:page":e=>!0,"update:itemsPerPage":e=>!0,"update:sortBy":e=>!0,"update:options":e=>!0,"update:groupBy":e=>!0,"update:expanded":e=>!0,"update:currentItems":e=>!0},setup(e,n){let{attrs:a,slots:t}=n;const{groupBy:l}=Ea(e),{initialSortOrder:r,sortBy:o,multiSort:s,mustSort:i}=Ta(e),{page:d,itemsPerPage:f}=ua(e),{disableSort:m}=jt(e),{columns:v,headers:x,sortFunctions:g,sortRawFunctions:y,filterFunctions:c}=wa(e,{groupBy:l,showSelect:E(()=>e.showSelect),showExpand:E(()=>e.showExpand)}),{items:w}=Ma(e,v),u=E(()=>e.search),{filteredItems:I}=zt(e,w,u,{transform:O=>O.columns,customKeyFilter:c}),{toggleSort:B}=Da({initialSortOrder:r,sortBy:o,multiSort:s,mustSort:i,page:d}),{sortByWithGroups:k,opened:b,extractRows:P,isGroupOpen:D,toggleGroup:p}=Fa({groupBy:l,sortBy:o,disableSort:m}),{sortedItems:h}=Ca(e,I,k,{transform:O=>({...O.raw,...O.columns}),sortFunctions:g,sortRawFunctions:y}),C=V(()=>e.pageBy==="auto"?e.groupBy.length?"group":"item":e.pageBy),{pageCount:A,setItemsPerPage:N,paginatedItems:M}=va({pageBy:C,sortedItems:h,paginate:O=>{const Pe=V(()=>j(O).length),{startIndex:Ie,stopIndex:ke,pageCount:U,setItemsPerPage:ne}=da({page:d,itemsPerPage:f,itemsLength:Pe}),{paginatedItems:le}=fa({items:O,startIndex:Ie,stopIndex:ke,itemsPerPage:f});return{paginatedItems:le,pageCount:U,setItemsPerPage:ne}},group:O=>Aa(O,l,b,()=>!!t["group-summary"])}),Y=V(()=>P(M.value)),{isSelected:W,select:te,selectAll:ae,toggleSelect:Se,someSelected:Ct,allSelected:Bt}=ka(e,{allItems:w,currentPage:Y}),{isExpanded:_t,toggleExpand:Et}=$a(e);ja({page:d,itemsPerPage:f,sortBy:o,groupBy:l,search:u}),Ht({VDataTableRows:{hideNoData:E(()=>e.hideNoData),noDataText:E(()=>e.noDataText),loading:E(()=>e.loading),loadingText:E(()=>e.loadingText)}});const G=V(()=>({page:d.value,itemsPerPage:f.value,sortBy:o.value,pageCount:A.value,toggleSort:B,setItemsPerPage:N,someSelected:Ct.value,allSelected:Bt.value,isSelected:W,select:te,selectAll:ae,toggleSelect:Se,isExpanded:_t,toggleExpand:Et,isGroupOpen:D,toggleGroup:p,items:Y.value.map(O=>O.raw),internalItems:Y.value,groupedItems:M.value,columns:v.value,headers:x.value}));return L(()=>{const O=Le.filterProps(e),Pe=Me.filterProps(me(e,["multiSort"])),Ie=je.filterProps(e),ke=Ye.filterProps(e);return T(Ye,R({class:["v-data-table",{"v-data-table--show-select":e.showSelect,"v-data-table--loading":e.loading},e.class],style:e.style},ke,{fixedHeader:e.fixedHeader||e.sticky}),{top:()=>{var U;return(U=t.top)==null?void 0:U.call(t,G.value)},default:()=>{var U,ne,le,Oe,Ae,Re;return t.default?t.default(G.value):S(Z,null,[(U=t.colgroup)==null?void 0:U.call(t,G.value),!e.hideDefaultHeader&&S("thead",{key:"thead"},[T(Me,R(Pe,{multiSort:!!e.multiSort}),t)]),(ne=t.thead)==null?void 0:ne.call(t,G.value),!e.hideDefaultBody&&S("tbody",null,[(le=t["body.prepend"])==null?void 0:le.call(t,G.value),t.body?t.body(G.value):T(je,R(a,Ie,{items:M.value}),t),(Oe=t["body.append"])==null?void 0:Oe.call(t,G.value)]),(Ae=t.tbody)==null?void 0:Ae.call(t,G.value),(Re=t.tfoot)==null?void 0:Re.call(t,G.value)])},bottom:()=>t.bottom?t.bottom(G.value):!e.hideDefaultFooter&&S(Z,null,[T(Jt,null,null),T(Le,O,{prepend:t["footer.prepend"]})])})}),{}}}),Xa=Symbol.for("vuetify:v-tabs"),Ka=e=>{const{touchstartX:n,touchendX:a,touchstartY:t,touchendY:l}=e,r=.5,o=16;e.offsetX=a-n,e.offsetY=l-t,Math.abs(e.offsetY)n+o&&e.right(e)),Math.abs(e.offsetX)t+o&&e.down(e))};function Ua(e,n){var t;const a=e.changedTouches[0];n.touchstartX=a.clientX,n.touchstartY=a.clientY,(t=n.start)==null||t.call(n,{originalEvent:e,...n})}function qa(e,n){var t;const a=e.changedTouches[0];n.touchendX=a.clientX,n.touchendY=a.clientY,(t=n.end)==null||t.call(n,{originalEvent:e,...n}),Ka(n)}function Qa(e,n){var t;const a=e.changedTouches[0];n.touchmoveX=a.clientX,n.touchmoveY=a.clientY,(t=n.move)==null||t.call(n,{originalEvent:e,...n})}function Za(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const n={touchstartX:0,touchstartY:0,touchendX:0,touchendY:0,touchmoveX:0,touchmoveY:0,offsetX:0,offsetY:0,left:e.left,right:e.right,up:e.up,down:e.down,start:e.start,move:e.move,end:e.end};return{touchstart:a=>Ua(a,n),touchend:a=>qa(a,n),touchmove:a=>Qa(a,n)}}function Ja(e,n){var s;const a=n.value,t=a!=null&&a.parent?e.parentElement:e,l=(a==null?void 0:a.options)??{passive:!0},r=(s=n.instance)==null?void 0:s.$.uid;if(!t||r===void 0)return;const o=Za(n.value);t._touchHandlers=t._touchHandlers??Object.create(null),t._touchHandlers[r]=o,Ze(o).forEach(i=>{t.addEventListener(i,o[i],l)})}function en(e,n){var r,o;const a=(r=n.value)!=null&&r.parent?e.parentElement:e,t=(o=n.instance)==null?void 0:o.$.uid;if(!(a!=null&&a._touchHandlers)||t===void 0)return;const l=a._touchHandlers[t];Ze(l).forEach(s=>{a.removeEventListener(s,l[s])}),delete a._touchHandlers[t]}const Ce={mounted:Ja,unmounted:en},pt=Symbol.for("vuetify:v-window"),Tt=Symbol.for("vuetify:v-window-group"),Vt=_({continuous:Boolean,nextIcon:{type:[Boolean,String,Function,Object],default:"$next"},prevIcon:{type:[Boolean,String,Function,Object],default:"$prev"},reverse:Boolean,showArrows:{type:[Boolean,String],validator:e=>typeof e=="boolean"||e==="hover"},verticalArrows:[Boolean,String],touch:{type:[Object,Boolean],default:void 0},direction:{type:String,default:"horizontal"},modelValue:null,disabled:Boolean,selectedClass:{type:String,default:"v-window-item--active"},mandatory:{type:[Boolean,String],default:"force"},crossfade:Boolean,transitionDuration:Number,...Ee(),...tt(),...Qe()},"VWindow"),ze=$()({name:"VWindow",directives:{vTouch:Ce},props:Vt(),emits:{"update:modelValue":e=>!0},setup(e,n){let{slots:a}=n;const{themeClasses:t}=qe(e),{isRtl:l}=$t(),{t:r}=ee(),o=ea(e,Tt),s=z(),i=V(()=>l.value?!e.reverse:e.reverse),d=fe(!1),f=V(()=>{if(e.crossfade)return"v-window-crossfade-transition";const b=e.direction==="vertical"?"y":"x",D=(i.value?!d.value:d.value)?"-reverse":"";return`v-window-${b}${D}-transition`}),m=fe(0),v=z(void 0),x=V(()=>o.items.value.findIndex(b=>o.selected.value.includes(b.id)));he(x,(b,P)=>{let D;const p={left:0,top:0};$e&&P>=0&&(D=Nt(s.value),p.left=D==null?void 0:D.scrollLeft,p.top=D==null?void 0:D.scrollTop);const h=o.items.value.length,C=h-1;h<=2?d.value=b{if(!$e||!D)return;D.scrollTop!==p.top&&D.scrollTo({...p,behavior:"instant"}),requestAnimationFrame(()=>{if(!D)return;D.scrollTop!==p.top&&D.scrollTo({...p,behavior:"instant"})})})},{flush:"sync"}),Q(pt,{transition:f,isReversed:d,transitionCount:m,transitionHeight:v,rootRef:s});const g=E(()=>e.continuous||x.value!==0),y=E(()=>e.continuous||x.value!==o.items.value.length-1);function c(){g.value&&o.prev()}function w(){y.value&&o.next()}const u=V(()=>{const b=[],P={icon:l.value?e.nextIcon:e.prevIcon,class:`v-window__${i.value?"right":"left"}`,onClick:o.prev,"aria-label":r("$vuetify.carousel.prev")};b.push(g.value?a.prev?a.prev({props:P}):T(ve,P,null):S("div",null,null));const D={icon:l.value?e.prevIcon:e.nextIcon,class:`v-window__${i.value?"left":"right"}`,onClick:o.next,"aria-label":r("$vuetify.carousel.next")};return b.push(y.value?a.next?a.next({props:D}):T(ve,D,null):S("div",null,null)),b}),I=V(()=>e.touch===!1?e.touch:{...{left:()=>{i.value?c():w()},right:()=>{i.value?w():c()},start:P=>{let{originalEvent:D}=P;D.stopPropagation()}},...e.touch===!0?{}:e.touch});function B(b){(e.direction==="horizontal"&&b.key==="ArrowLeft"||e.direction==="vertical"&&b.key==="ArrowUp")&&(b.preventDefault(),c(),de(()=>{g.value?k(0):k(1)})),(e.direction==="horizontal"&&b.key==="ArrowRight"||e.direction==="vertical"&&b.key==="ArrowDown")&&(b.preventDefault(),w(),de(()=>{y.value?k(1):k(0)}))}function k(b){var p;const P=u.value[b];if(!P)return;(p=(Array.isArray(P)?P[0]:P).el)==null||p.focus()}return L(()=>Je(T(e.tag,{ref:s,class:X(["v-window",{"v-window--show-arrows-on-hover":e.showArrows==="hover","v-window--vertical-arrows":!!e.verticalArrows,"v-window--crossfade":!!e.crossfade},t.value,e.class]),style:ye([e.style,{"--v-window-transition-duration":Wt()?null:F(e.transitionDuration,"ms")}])},{default:()=>{var b,P;return[S("div",{class:"v-window__container",style:{height:v.value}},[(b=a.default)==null?void 0:b.call(a,{group:o}),e.showArrows!==!1&&S("div",{class:X(["v-window__controls",{"v-window__controls--left":e.verticalArrows==="left"||e.verticalArrows===!0},{"v-window__controls--right":e.verticalArrows==="right"}]),onKeydown:B},[u.value])]),(P=a.additional)==null?void 0:P.call(a,{group:o})]}}),[[Ce,I.value]])),{group:o}}}),tn=_({...me(Vt(),["continuous","nextIcon","prevIcon","showArrows","touch","mandatory"])},"VTabsWindow"),fn=$()({name:"VTabsWindow",props:tn(),emits:{"update:modelValue":e=>!0},setup(e,n){let{slots:a}=n;const t=K(Xa,null),l=q(e,"modelValue"),r=V({get(){var o;return l.value!=null||!t?l.value:(o=t.items.value.find(s=>t.selected.value.includes(s.id)))==null?void 0:o.value},set(o){l.value=o}});return L(()=>{const o=ze.filterProps(e);return T(ze,R({_as:"VTabsWindow"},o,{modelValue:r.value,"onUpdate:modelValue":s=>r.value=s,class:["v-tabs-window",e.class],style:e.style,mandatory:!1,touch:!1}),a)}),{}}}),Dt=_({reverseTransition:{type:[Boolean,String],default:void 0},transition:{type:[Boolean,String],default:void 0},...Ee(),...ra(),...oa()},"VWindowItem"),Xe=$()({name:"VWindowItem",directives:{vTouch:Ce},props:Dt(),emits:{"group:selected":e=>!0},setup(e,n){let{slots:a}=n;const t=K(pt),l=ta(e,Tt),{isBooted:r}=aa();if(!t||!l)throw new Error("[Vuetify] VWindowItem must be used inside VWindow");const o=fe(!1),s=V(()=>r.value&&(t.isReversed.value?e.reverseTransition!==!1:e.transition!==!1));function i(){!o.value||!t||(o.value=!1,t.transitionCount.value>0&&(t.transitionCount.value-=1,t.transitionCount.value===0&&(t.transitionHeight.value=void 0)))}function d(){var g;o.value||!t||(o.value=!0,t.transitionCount.value===0&&(t.transitionHeight.value=F((g=t.rootRef.value)==null?void 0:g.clientHeight)),t.transitionCount.value+=1)}function f(){i()}function m(g){o.value&&de(()=>{!s.value||!o.value||!t||(t.transitionHeight.value=F(g.clientHeight))})}const v=V(()=>{const g=t.isReversed.value?e.reverseTransition:e.transition;return s.value?{name:typeof g!="string"?t.transition.value:g,onBeforeEnter:d,onAfterEnter:i,onEnterCancelled:f,onBeforeLeave:d,onAfterLeave:i,onLeaveCancelled:f,onEnter:m}:!1}),{hasContent:x}=na(e,l.isSelected);return L(()=>T(la,{transition:v.value,disabled:!r.value},{default:()=>{var g;return[Je(S("div",{class:X(["v-window-item",l.selectedClass.value,e.class]),style:ye(e.style)},[x.value&&((g=a.default)==null?void 0:g.call(a))]),[[Yt,l.isSelected.value]])]}})),{groupItem:l}}}),an=_({...Dt()},"VTabsWindowItem"),vn=$()({name:"VTabsWindowItem",props:an(),setup(e,n){let{slots:a}=n;return L(()=>{const t=Xe.filterProps(e);return T(Xe,R({_as:"VTabsWindowItem"},t,{class:["v-tabs-window-item",e.class],style:e.style}),a)}),{}}});export{Xa as V,vn as a,fn as b,ze as c,Xe as d,cn as e,Ye as f}; diff --git a/assets/VTextField-B7edjjhw.js b/assets/VTextField-B7edjjhw.js new file mode 100644 index 0000000..2eb3215 --- /dev/null +++ b/assets/VTextField-B7edjjhw.js @@ -0,0 +1 @@ +import{u as te,h as le,V as D,a as T,b as ae,m as ne,c as ue,i as oe,j as ie}from"./autofocus-Dh4QPNon.js";import{aC as M,C as se}from"./index-Bqe1gKo7.js";import{f as re,n as ce,u as de,ao as fe,a5 as j,ap as ve,p as me}from"./vendor-vuetify-ChAgIwn2.js";import{j as y,k as n,F as b,m as C,R as xe,n as Ve,ai as ge,e as x,b as F,I as P}from"./vendor-vue-H0jQBZ7T.js";const he=["color","file","time","date","datetime-local","week","month"],ye=me({autofocus:Boolean,counter:[Boolean,Number,String],counterValue:[Number,Function],prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,suffix:String,role:String,type:{type:String,default:"text"},modelModifiers:Object,...oe(),...j(ue(),["direction"]),...ne()},"VTextField"),ke=re()({name:"VTextField",directives:{vIntersect:M},inheritAttrs:!1,props:ye(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,E){let{attrs:V,emit:k,slots:a}=E;const u=ce(e,"modelValue",void 0,t=>Object.is(t,-0)?"-0":t),{isFocused:i,focus:_,blur:O}=te(e),{onIntersect:z}=ie(e),U=x(()=>typeof e.counterValue=="function"?e.counterValue(u.value):typeof e.counterValue=="number"?e.counterValue:(u.value??"").toString().length),$=x(()=>{if(V.maxlength)return V.maxlength;if(!(!e.counter||typeof e.counter!="number"&&typeof e.counter!="string"))return e.counter}),I=x(()=>["plain","underlined"].includes(e.variant)),S=F(),A=F(),s=F(),f=le(e),q=x(()=>he.includes(e.type)||e.persistentPlaceholder||i.value||e.active);function p(){f.isSuppressing.value&&f.update(),i.value||_(),P(()=>{var t;s.value!==document.activeElement&&((t=s.value)==null||t.focus())})}function G(t){k("mousedown:control",t),t.target!==s.value&&(p(),t.preventDefault())}function H(t){k("click:control",t)}function J(t,l){t.stopPropagation(),p(),P(()=>{l(),ve(e["onClick:clear"],t)})}function K(t){var m;const l=t.target;if(!((m=e.modelModifiers)!=null&&m.trim&&["text","search","password","tel","url"].includes(e.type))){u.value=l.value;return}const r=l.value,v=l.selectionStart,g=l.selectionEnd;u.value=r,P(()=>{let c=0;r.trimStart().length===l.value.length&&(c=r.length-l.value.length),v!=null&&(l.selectionStart=v-c),g!=null&&(l.selectionEnd=g-c)})}return de(()=>{const t=!!(a.counter||e.counter!==!1&&e.counter!=null),l=!!(t||a.details),[r,v]=fe(V),{modelValue:g,...m}=D.filterProps(e),c=T.filterProps(e);return y(D,C({ref:S,modelValue:u.value,"onUpdate:modelValue":d=>u.value=d,class:["v-text-field",{"v-text-field--prefixed":e.prefix,"v-text-field--suffixed":e.suffix,"v-input--plain-underlined":I.value},e.class],style:e.style},r,m,{centerAffix:!I.value,focused:i.value}),{...a,default:d=>{let{id:o,isDisabled:w,isDirty:R,isReadonly:L,isValid:Q,hasDetails:W,reset:X}=d;return y(T,C({ref:A,onMousedown:G,onClick:H,"onClick:clear":h=>J(h,X),role:e.role},j(c,["onClick:clear"]),{id:o.value,labelId:`${o.value}-label`,active:q.value||R.value,dirty:R.value||e.dirty,disabled:w.value,focused:i.value,details:W.value,error:Q.value===!1}),{...a,default:h=>{let{props:{class:N,...Y},controlRef:Z}=h;const B=n("input",C({ref:ee=>s.value=Z.value=ee,value:u.value,onInput:K,autofocus:e.autofocus,readonly:L.value,disabled:w.value,name:f.fieldName.value,autocomplete:f.fieldAutocomplete.value,placeholder:e.placeholder,size:1,role:e.role,type:e.type,onFocus:_,onBlur:O,"aria-labelledby":`${o.value}-label`},Y,v),null);return n(b,null,[e.prefix&&n("span",{class:"v-text-field__prefix"},[n("span",{class:"v-text-field__prefix__text"},[e.prefix])]),xe(a.default?n("div",{class:Ve(N),"data-no-activator":""},[a.default({id:o}),B]):ge(B,{class:N}),[[M,z,null,{once:!0}]]),e.suffix&&n("span",{class:"v-text-field__suffix"},[n("span",{class:"v-text-field__suffix__text"},[e.suffix])])])}})},details:l?d=>{var o;return n(b,null,[(o=a.details)==null?void 0:o.call(a,d),t&&n(b,null,[n("span",null,null),y(ae,{active:e.persistentCounter||i.value,value:U.value,max:$.value,disabled:e.disabled},a.counter)])])}:void 0})}),se({},S,A,s)}});export{ke as V,ye as m}; diff --git a/assets/VTextField-BmfQXFFg.js b/assets/VTextField-BmfQXFFg.js deleted file mode 100644 index cf1e9bd..0000000 --- a/assets/VTextField-BmfQXFFg.js +++ /dev/null @@ -1 +0,0 @@ -import{g as G,b as Z,i as r,n as p,d as X,p as R,bj as ve,h as ee,b0 as J,aq as Oe,c as C,E as j,t as ze,ax as Ce,aB as Ve,a$ as xe,a3 as m,as as ie,bi as ke,U as Ie,cG as Se,ar as re,av as V,bO as _e,ae as Q,a2 as K,az as oe,bT as Ue,cH as je,bm as de,bZ as Ke,cI as He,$ as We,Z as qe,by as me,aw as se,ah as Je,aG as Ge,bo as Pe,b7 as Be,e as Ze,a_ as ae,aL as Xe,f as Ye,aK as Qe,I as fe,J as we,c4 as pe,be as ea,aC as aa,cb as la,cJ as na,aD as ta,aE as ia,aJ as sa,c5 as ua,aW as oa,cE as ra,F as ue,bk as da,c6 as ca,b5 as ye,at as va,aA as Fe,cK as fa,au as ga}from"./index-CHEqx3ZK.js";const ma=R({text:String,onClick:J(),...ee(),...ve()},"VLabel"),ya=G()({name:"VLabel",props:ma(),setup(e,t){let{slots:u}=t;return Z(()=>{var n;return r("label",{class:X(["v-label",{"v-label--clickable":!!e.onClick},e.class]),style:p(e.style),onClick:e.onClick},[e.text,(n=u.default)==null?void 0:n.call(u)])}),{}}});function $e(e){const{t}=Oe();function u(n){let{name:l,color:a,...y}=n;const b={prepend:"prependAction",prependInner:"prependAction",append:"appendAction",appendInner:"appendAction",clear:"clear"}[l],x=e[`onClick:${l}`];function I(s){s.key!=="Enter"&&s.key!==" "||(s.preventDefault(),s.stopPropagation(),Ce(x,new PointerEvent("click",s)))}const o=x&&b?t(`$vuetify.input.${b}`,e.label??""):void 0;return C(ze,j({icon:e[`${l}Icon`],"aria-label":o,onClick:x,onKeydown:I,color:a},y),null)}return{InputIcon:u}}const ba=R({active:Boolean,color:String,messages:{type:[Array,String],default:()=>[]},...ee(),...ke({transition:{component:Ie,leaveAbsolute:!0,group:!0}})},"VMessages"),ha=G()({name:"VMessages",props:ba(),setup(e,t){let{slots:u}=t;const n=m(()=>ie(e.messages)),{textColorClasses:l,textColorStyles:a}=Ve(()=>e.color);return Z(()=>C(xe,{transition:e.transition,tag:"div",class:X(["v-messages",l.value,e.class]),style:p([a.value,e.style])},{default:()=>[e.active&&n.value.map((y,b)=>r("div",{class:"v-messages__message",key:`${b}-${n.value}`},[u.message?u.message({message:y}):y]))]})),{}}}),De=R({focused:Boolean,"onUpdate:focused":J()},"focus");function Me(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Se();const u=re(e,"focused"),n=V(()=>({[`${t}--focused`]:u.value}));function l(){u.value=!0}function a(){u.value=!1}return{focusClasses:n,isFocused:u,focus:l,blur:a}}const Ae=Symbol.for("vuetify:form"),Ra=R({disabled:Boolean,fastFail:Boolean,readonly:Boolean,modelValue:{type:Boolean,default:null},validateOn:{type:String,default:"input"}},"form");function Ea(e){const t=re(e,"modelValue"),u=V(()=>e.disabled),n=V(()=>e.readonly),l=oe(!1),a=K([]),y=K([]);async function b(){const o=[];let s=!0;y.value=[],l.value=!0;for(const c of a.value){const v=await c.validate();if(v.length>0&&(s=!1,o.push({id:c.id,errorMessages:v})),!s&&e.fastFail)break}return y.value=o,l.value=!1,{valid:s,errors:y.value}}function x(){a.value.forEach(o=>o.reset())}function I(){a.value.forEach(o=>o.resetValidation())}return Q(a,()=>{let o=0,s=0;const c=[];for(const v of a.value)v.isValid===!1?(s++,c.push({id:v.id,errorMessages:v.errorMessages})):v.isValid===!0&&o++;y.value=c,t.value=s>0?!1:o===a.value.length?!0:null},{deep:!0,flush:"post"}),Ue(Ae,{register:o=>{let{id:s,vm:c,validate:v,reset:k,resetValidation:B}=o;a.value.some(h=>h.id===s),a.value.push({id:s,validate:v,reset:k,resetValidation:B,vm:je(c),isValid:null,errorMessages:[]})},unregister:o=>{a.value=a.value.filter(s=>s.id!==o)},update:(o,s,c)=>{const v=a.value.find(k=>k.id===o);v&&(v.isValid=s,v.errorMessages=c)},isDisabled:u,isReadonly:n,isValidating:l,isValid:t,items:a,validateOn:V(()=>e.validateOn)}),{errors:y,isDisabled:u,isReadonly:n,isValidating:l,isValid:t,items:a,validate:b,reset:x,resetValidation:I}}function Ca(e){const t=_e(Ae,null);return{...t,isReadonly:m(()=>!!((e==null?void 0:e.readonly)??(t==null?void 0:t.isReadonly.value))),isDisabled:m(()=>!!((e==null?void 0:e.disabled)??(t==null?void 0:t.isDisabled.value)))}}const Va=Symbol.for("vuetify:rules");function xa(e){const t=_e(Va,null);if(!e){if(!t)throw new Error("Could not find Vuetify rules injection");return t.aliases}return(t==null?void 0:t.resolve(e))??V(e)}const ka=R({disabled:{type:Boolean,default:null},error:Boolean,errorMessages:{type:[Array,String],default:()=>[]},maxErrors:{type:[Number,String],default:1},name:String,label:String,readonly:{type:Boolean,default:null},rules:{type:Array,default:()=>[]},modelValue:null,validateOn:String,validationValue:null,...De()},"validation");function Ia(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Se(),u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:de();const n=re(e,"modelValue"),l=m(()=>e.validationValue===void 0?n.value:e.validationValue),a=Ca(e),y=xa(()=>e.rules),b=K([]),x=oe(!0),I=m(()=>!!(ie(n.value===""?null:n.value).length||ie(l.value===""?null:l.value).length)),o=m(()=>{var i;return(i=e.errorMessages)!=null&&i.length?ie(e.errorMessages).concat(b.value).slice(0,Math.max(0,Number(e.maxErrors))):b.value}),s=m(()=>{var D;let i=(e.validateOn??((D=a.validateOn)==null?void 0:D.value))||"input";i==="lazy"&&(i="input lazy"),i==="eager"&&(i="input eager");const g=new Set((i==null?void 0:i.split(" "))??[]);return{input:g.has("input"),blur:g.has("blur")||g.has("input")||g.has("invalid-input"),invalidInput:g.has("invalid-input"),lazy:g.has("lazy"),eager:g.has("eager")}}),c=m(()=>{var i;return e.error||(i=e.errorMessages)!=null&&i.length?!1:e.rules.length?x.value?b.value.length||s.value.lazy?null:!0:!b.value.length:!0}),v=oe(!1),k=m(()=>({[`${t}--error`]:c.value===!1,[`${t}--dirty`]:I.value,[`${t}--disabled`]:a.isDisabled.value,[`${t}--readonly`]:a.isReadonly.value})),B=Ke("validation"),h=m(()=>e.name??Je(u));He(()=>{var i;(i=a.register)==null||i.call(a,{id:h.value,vm:B,validate:P,reset:T,resetValidation:_})}),We(()=>{var i;(i=a.unregister)==null||i.call(a,h.value)}),qe(async()=>{var i;s.value.lazy||await P(!s.value.eager),(i=a.update)==null||i.call(a,h.value,c.value,o.value)}),me(()=>s.value.input||s.value.invalidInput&&c.value===!1,()=>{Q(l,()=>{if(l.value!=null)P();else if(e.focused){const i=Q(()=>e.focused,g=>{g||P(),i()})}})}),me(()=>s.value.blur,()=>{Q(()=>e.focused,i=>{i||P()})}),Q([c,o],()=>{var i;(i=a.update)==null||i.call(a,h.value,c.value,o.value)});async function T(){n.value=null,await se(),await _()}async function _(){x.value=!0,s.value.lazy?b.value=[]:await P(!s.value.eager)}async function P(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;const g=[];v.value=!0;for(const D of y.value){if(g.length>=Number(e.maxErrors??1))break;const f=await(typeof D=="function"?D:()=>D)(l.value);if(f!==!0){if(f!==!1&&typeof f!="string"){console.warn(`${f} is not a valid value. Rule functions must return boolean true or a string.`);continue}g.push(f||"")}}return b.value=g,v.value=!1,x.value=i,b.value}return{errorMessages:o,isDirty:I,isDisabled:a.isDisabled,isReadonly:a.isReadonly,isPristine:x,isValid:c,isValidating:v,reset:T,resetValidation:_,validate:P,validationClasses:k}}const Re=R({id:String,appendIcon:ae,baseColor:String,centerAffix:{type:Boolean,default:!0},color:String,glow:Boolean,iconColor:[Boolean,String],prependIcon:ae,hideDetails:[Boolean,String],hideSpinButtons:Boolean,hint:String,persistentHint:Boolean,messages:{type:[Array,String],default:()=>[]},direction:{type:String,default:"horizontal",validator:e=>["horizontal","vertical"].includes(e)},"onClick:prepend":J(),"onClick:append":J(),...ee(),...Qe(),...Xe(Ye(),["maxWidth","minWidth","width"]),...ve(),...ka()},"VInput"),be=G()({name:"VInput",props:{...Re()},emits:{"update:modelValue":e=>!0},setup(e,t){let{attrs:u,slots:n,emit:l}=t;const{densityClasses:a}=Ge(e),{dimensionStyles:y}=Ze(e),{themeClasses:b}=Pe(e),{rtlClasses:x}=Be(),{InputIcon:I}=$e(e),o=de(),s=m(()=>e.id||`input-${o}`),{errorMessages:c,isDirty:v,isDisabled:k,isReadonly:B,isPristine:h,isValid:T,isValidating:_,reset:P,resetValidation:i,validate:g,validationClasses:D}=Ia(e,"v-input",s),d=m(()=>{var S;return(S=e.errorMessages)!=null&&S.length||!h.value&&c.value.length?c.value:e.hint&&(e.persistentHint||e.focused)?e.hint:e.messages}),f=V(()=>d.value.length>0),w=V(()=>!e.hideDetails||e.hideDetails==="auto"&&(f.value||!!n.details)),N=m(()=>w.value?`${s.value}-messages`:void 0),E=m(()=>({id:s,messagesId:N,isDirty:v,isDisabled:k,isReadonly:B,isPristine:h,isValid:T,isValidating:_,hasDetails:w,reset:P,resetValidation:i,validate:g})),O=V(()=>e.error||e.disabled?void 0:e.focused?e.color:e.baseColor),A=V(()=>{if(e.iconColor)return e.iconColor===!0?O.value:e.iconColor});return Z(()=>{var H,W;const S=!!(n.prepend||e.prependIcon),M=!!(n.append||e.appendIcon);return r("div",{class:X(["v-input",`v-input--${e.direction}`,{"v-input--center-affix":e.centerAffix,"v-input--focused":e.focused,"v-input--glow":e.glow,"v-input--hide-spin-buttons":e.hideSpinButtons},a.value,b.value,x.value,D.value,e.class]),style:p([y.value,e.style])},[S&&r("div",{key:"prepend",class:"v-input__prepend"},[n.prepend?n.prepend(E.value):e.prependIcon&&C(I,{key:"prepend-icon",name:"prepend",color:A.value},null)]),n.default&&r("div",{class:"v-input__control"},[(H=n.default)==null?void 0:H.call(n,E.value)]),M&&r("div",{key:"append",class:"v-input__append"},[n.append?n.append(E.value):e.appendIcon&&C(I,{key:"append-icon",name:"append",color:A.value},null)]),w.value&&r("div",{id:N.value,class:"v-input__details",role:"alert","aria-live":"polite"},[C(ha,{active:f.value,messages:d.value},{message:n.message}),(W=n.details)==null?void 0:W.call(n,E.value)])])}),{reset:P,resetValidation:i,validate:g,isValid:T,errorMessages:c}}}),Sa=R({active:Boolean,disabled:Boolean,max:[Number,String],value:{type:[Number,String],default:0},...ee(),...ke({transition:{component:Ie}})},"VCounter"),_a=G()({name:"VCounter",functional:!0,props:Sa(),setup(e,t){let{slots:u}=t;const n=V(()=>e.max?`${e.value} / ${e.max}`:String(e.value));return Z(()=>C(xe,{transition:e.transition},{default:()=>[fe(r("div",{class:X(["v-counter",{"text-error":e.max&&!e.disabled&&parseFloat(e.value)>parseFloat(e.max)},e.class]),style:p(e.style)},[u.default?u.default({counter:n.value,max:e.max,value:e.value}):n.value]),[[we,e.active]])]})),{}}}),Pa=R({floating:Boolean,...ee()},"VFieldLabel"),te=G()({name:"VFieldLabel",props:Pa(),setup(e,t){let{slots:u}=t;return Z(()=>C(ya,{class:X(["v-field-label",{"v-field-label--floating":e.floating},e.class]),style:p(e.style)},u)),{}}}),Ba=["underlined","outlined","filled","solo","solo-inverted","solo-filled","plain"],Ee=R({appendInnerIcon:ae,bgColor:String,clearable:Boolean,clearIcon:{type:ae,default:"$clear"},active:Boolean,centerAffix:{type:Boolean,default:void 0},color:String,baseColor:String,dirty:Boolean,disabled:{type:Boolean,default:null},glow:Boolean,error:Boolean,flat:Boolean,iconColor:[Boolean,String],label:String,persistentClear:Boolean,prependInnerIcon:ae,reverse:Boolean,singleLine:Boolean,variant:{type:String,default:"filled",validator:e=>Ba.includes(e)},"onClick:clear":J(),"onClick:appendInner":J(),"onClick:prependInner":J(),...ee(),...ca(),...da(),...ve()},"VField"),he=G()({name:"VField",inheritAttrs:!1,props:{id:String,details:Boolean,labelId:String,...De(),...Ee()},emits:{"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,t){let{attrs:u,emit:n,slots:l}=t;const{themeClasses:a}=Pe(e),{loaderClasses:y}=pe(e),{focusClasses:b,isFocused:x,focus:I,blur:o}=Me(e),{InputIcon:s}=$e(e),{roundedClasses:c}=ea(e),{rtlClasses:v}=Be(),k=V(()=>e.dirty||e.active),B=V(()=>!!(e.label||l.label)),h=V(()=>!e.singleLine&&B.value),T=de(),_=m(()=>e.id||`input-${T}`),P=V(()=>e.details?`${_.value}-messages`:void 0),i=K(),g=K(),D=K(),d=m(()=>["plain","underlined"].includes(e.variant)),f=m(()=>e.error||e.disabled?void 0:k.value&&x.value?e.color:e.baseColor),w=m(()=>{if(!(!e.iconColor||e.glow&&!x.value))return e.iconColor===!0?f.value:e.iconColor}),{backgroundColorClasses:N,backgroundColorStyles:E}=aa(()=>e.bgColor),{textColorClasses:O,textColorStyles:A}=Ve(f);Q(k,F=>{if(h.value&&!la()){const L=i.value.$el,z=g.value.$el;requestAnimationFrame(()=>{const U=na(L),$=z.getBoundingClientRect(),q=$.x-U.x,Y=$.y-U.y-(U.height/2-$.height/2),le=$.width/.75,ne=Math.abs(le-U.width)>1?{maxWidth:sa(le)}:void 0,ce=getComputedStyle(L),ge=getComputedStyle(z),Le=parseFloat(ce.transitionDuration)*1e3||150,Te=parseFloat(ge.getPropertyValue("--v-field-label-scale")),Ne=ge.getPropertyValue("color");L.style.visibility="visible",z.style.visibility="hidden",ta(L,{transform:`translate(${q}px, ${Y}px) scale(${Te})`,color:Ne,...ne},{duration:Le,easing:ia,direction:F?"normal":"reverse"}).finished.then(()=>{L.style.removeProperty("visibility"),z.style.removeProperty("visibility")})})}},{flush:"post"});const S=m(()=>({isActive:k,isFocused:x,controlRef:D,iconColor:w,blur:o,focus:I})),M=V(()=>{const F=!k.value;return{"aria-hidden":F,for:F?void 0:_.value}}),H=V(()=>{const F=h.value&&k.value;return{"aria-hidden":F,for:F?void 0:_.value}});function W(F){F.target!==document.activeElement&&F.preventDefault()}return Z(()=>{var q;const F=e.variant==="outlined",L=!!(l["prepend-inner"]||e.prependInnerIcon),z=!!(e.clearable||l.clear)&&!e.disabled,U=!!(l["append-inner"]||e.appendInnerIcon||z),$=()=>l.label?l.label({...S.value,label:e.label,props:{for:_.value}}):e.label;return r("div",j({class:["v-field",{"v-field--active":k.value,"v-field--appended":U,"v-field--center-affix":e.centerAffix??!d.value,"v-field--disabled":e.disabled,"v-field--dirty":e.dirty,"v-field--error":e.error,"v-field--glow":e.glow,"v-field--flat":e.flat,"v-field--has-background":!!e.bgColor,"v-field--persistent-clear":e.persistentClear,"v-field--prepended":L,"v-field--reverse":e.reverse,"v-field--single-line":e.singleLine,"v-field--no-label":!$(),[`v-field--variant-${e.variant}`]:!0},a.value,N.value,b.value,y.value,c.value,v.value,e.class],style:[E.value,e.style],onClick:W},u),[r("div",{class:"v-field__overlay"},null),C(ua,{name:"v-field",active:!!e.loading,color:e.error?"error":typeof e.loading=="string"?e.loading:e.color},{default:l.loader}),L&&r("div",{key:"prepend",class:"v-field__prepend-inner"},[l["prepend-inner"]?l["prepend-inner"](S.value):e.prependInnerIcon&&C(s,{key:"prepend-icon",name:"prependInner",color:w.value},null)]),r("div",{class:"v-field__field","data-no-activator":""},[["filled","solo","solo-inverted","solo-filled"].includes(e.variant)&&h.value&&C(te,j({key:"floating-label",ref:g,class:[O.value],floating:!0},M.value,{style:A.value}),{default:()=>[$()]}),B.value&&C(te,j({key:"label",ref:i,id:e.labelId},H.value),{default:()=>[$()]}),((q=l.default)==null?void 0:q.call(l,{...S.value,props:{id:_.value,class:"v-field__input","aria-describedby":P.value},focus:I,blur:o}))??r("div",{id:_.value,class:"v-field__input","aria-describedby":P.value},null)]),z&&C(ra,{key:"clear"},{default:()=>[fe(r("div",{class:"v-field__clearable",onMousedown:Y=>{Y.preventDefault(),Y.stopPropagation()}},[C(oa,{defaults:{VIcon:{icon:e.clearIcon}}},{default:()=>[l.clear?l.clear({...S.value,props:{onFocus:I,onBlur:o,onClick:e["onClick:clear"],tabindex:-1}}):C(s,{name:"clear",onFocus:I,onBlur:o,tabindex:-1},null)]})]),[[we,e.dirty]])]}),U&&r("div",{key:"append",class:"v-field__append-inner"},[l["append-inner"]?l["append-inner"](S.value):e.appendInnerIcon&&C(s,{key:"append-icon",name:"appendInner",color:w.value},null)]),r("div",{class:X(["v-field__outline",O.value]),style:p(A.value)},[F&&r(ue,null,[r("div",{class:"v-field__outline__start"},null),h.value&&r("div",{class:"v-field__outline__notch"},[C(te,j({ref:g,floating:!0},M.value),{default:()=>[$()]})]),r("div",{class:"v-field__outline__end"},null)]),d.value&&h.value&&C(te,j({ref:g,floating:!0},M.value),{default:()=>[$()]})])])}),{controlRef:D,fieldIconColor:w}}}),wa=R({autocomplete:String},"autocomplete");function Fa(e){const t=de(),u=oe(0),n=V(()=>e.autocomplete==="suppress"),l=V(()=>{if(e.name)return n.value?`${e.name}-${t}-${u.value}`:e.name}),a=V(()=>n.value?"off":e.autocomplete);return{isSuppressing:n,fieldAutocomplete:a,fieldName:l,update:()=>u.value=new Date().getTime()}}function $a(e){function t(u,n){if(!e.autofocus||!u)return;const l=n[0].target,a=l.matches("input,textarea")?l:l.querySelector("input,textarea");a==null||a.focus()}return{onIntersect:t}}const Da=["color","file","time","date","datetime-local","week","month"],Ma=R({autofocus:Boolean,counter:[Boolean,Number,String],counterValue:[Number,Function],prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,suffix:String,role:String,type:{type:String,default:"text"},modelModifiers:Object,...wa(),...Fe(Re(),["direction"]),...Ee()},"VTextField"),La=G()({name:"VTextField",directives:{vIntersect:ye},inheritAttrs:!1,props:Ma(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,t){let{attrs:u,emit:n,slots:l}=t;const a=re(e,"modelValue",void 0,d=>Object.is(d,-0)?"-0":d),{isFocused:y,focus:b,blur:x}=Me(e),{onIntersect:I}=$a(e),o=m(()=>typeof e.counterValue=="function"?e.counterValue(a.value):typeof e.counterValue=="number"?e.counterValue:(a.value??"").toString().length),s=m(()=>{if(u.maxlength)return u.maxlength;if(!(!e.counter||typeof e.counter!="number"&&typeof e.counter!="string"))return e.counter}),c=m(()=>["plain","underlined"].includes(e.variant)),v=K(),k=K(),B=K(),h=Fa(e),T=m(()=>Da.includes(e.type)||e.persistentPlaceholder||y.value||e.active);function _(){h.isSuppressing.value&&h.update(),y.value||b(),se(()=>{var d;B.value!==document.activeElement&&((d=B.value)==null||d.focus())})}function P(d){n("mousedown:control",d),d.target!==B.value&&(_(),d.preventDefault())}function i(d){n("click:control",d)}function g(d,f){d.stopPropagation(),_(),se(()=>{f(),Ce(e["onClick:clear"],d)})}function D(d){var O;const f=d.target;if(!((O=e.modelModifiers)!=null&&O.trim&&["text","search","password","tel","url"].includes(e.type))){a.value=f.value;return}const w=f.value,N=f.selectionStart,E=f.selectionEnd;a.value=w,se(()=>{let A=0;w.trimStart().length===f.value.length&&(A=w.length-f.value.length),N!=null&&(f.selectionStart=N-A),E!=null&&(f.selectionEnd=E-A)})}return Z(()=>{const d=!!(l.counter||e.counter!==!1&&e.counter!=null),f=!!(d||l.details),[w,N]=va(u),{modelValue:E,...O}=be.filterProps(e),A=he.filterProps(e);return C(be,j({ref:v,modelValue:a.value,"onUpdate:modelValue":S=>a.value=S,class:["v-text-field",{"v-text-field--prefixed":e.prefix,"v-text-field--suffixed":e.suffix,"v-input--plain-underlined":c.value},e.class],style:e.style},w,O,{centerAffix:!c.value,focused:y.value}),{...l,default:S=>{let{id:M,isDisabled:H,isDirty:W,isReadonly:F,isValid:L,hasDetails:z,reset:U}=S;return C(he,j({ref:k,onMousedown:P,onClick:i,"onClick:clear":$=>g($,U),role:e.role},Fe(A,["onClick:clear"]),{id:M.value,labelId:`${M.value}-label`,active:T.value||W.value,dirty:W.value||e.dirty,disabled:H.value,focused:y.value,details:z.value,error:L.value===!1}),{...l,default:$=>{let{props:{class:q,...Y},controlRef:le}=$;const ne=r("input",j({ref:ce=>B.value=le.value=ce,value:a.value,onInput:D,autofocus:e.autofocus,readonly:F.value,disabled:H.value,name:h.fieldName.value,autocomplete:h.fieldAutocomplete.value,placeholder:e.placeholder,size:1,role:e.role,type:e.type,onFocus:b,onBlur:x,"aria-labelledby":`${M.value}-label`},Y,N),null);return r(ue,null,[e.prefix&&r("span",{class:"v-text-field__prefix"},[r("span",{class:"v-text-field__prefix__text"},[e.prefix])]),fe(l.default?r("div",{class:X(q),"data-no-activator":""},[l.default({id:M}),ne]):fa(ne,{class:q}),[[ye,I,null,{once:!0}]]),e.suffix&&r("span",{class:"v-text-field__suffix"},[r("span",{class:"v-text-field__suffix__text"},[e.suffix])])])}})},details:f?S=>{var M;return r(ue,null,[(M=l.details)==null?void 0:M.call(l,S),d&&r(ue,null,[r("span",null,null),C(_a,{active:e.persistentCounter||y.value,value:o.value,max:s.value,disabled:e.disabled},l.counter)])])}:void 0})}),ga({},v,k,B)}});export{La as V,be as a,he as b,_a as c,Re as d,$e as e,Ca as f,Ma as g,Ea as h,Ra as i,Fa as j,ya as k,$a as l,Ee as m,wa as n,Me as u}; diff --git a/assets/VTextarea-DiXZJMiq.js b/assets/VTextarea-DiXZJMiq.js new file mode 100644 index 0000000..5c76627 --- /dev/null +++ b/assets/VTextarea-DiXZJMiq.js @@ -0,0 +1 @@ +import{b as w,w as re,D as se,o as f,A as ce,j as A,k as r,F as M,m as z,R as U,ah as de,n as fe,I as F,e as P,s as ve}from"./vendor-vue-H0jQBZ7T.js";import{u as me,h as xe,V as $,a as j,b as he,m as ge,c as we,i as Ve,j as ye}from"./autofocus-Dh4QPNon.js";import{aC as O,C as be}from"./index-Bqe1gKo7.js";import{f as Ce,n as Fe,a0 as Pe,u as Ie,ao as ke,s as B,z as Re,ap as Ne,p as Se,a5 as He}from"./vendor-vuetify-ChAgIwn2.js";const Ae=Se({autoGrow:Boolean,autofocus:Boolean,counter:[Boolean,Number,String],counterValue:Function,prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,noResize:Boolean,rows:{type:[Number,String],default:5,validator:e=>!isNaN(parseFloat(e))},maxHeight:{type:[Number,String],validator:e=>!isNaN(parseFloat(e))},maxRows:{type:[Number,String],validator:e=>!isNaN(parseFloat(e))},suffix:String,modelModifiers:Object,...Ve(),...He(we(),["direction"]),...ge()},"VTextarea"),Te=Ce()({name:"VTextarea",directives:{vIntersect:O},inheritAttrs:!1,props:Ae(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0,"update:rows":e=>!0},setup(e,W){let{attrs:I,emit:k,slots:o}=W;const l=Fe(e,"modelValue"),{isFocused:V,focus:q,blur:J}=me(e),{onIntersect:K}=ye(e),L=P(()=>typeof e.counterValue=="function"?e.counterValue(l.value):(l.value||"").toString().length),Q=P(()=>{if(I.maxlength)return I.maxlength;if(!(!e.counter||typeof e.counter!="number"&&typeof e.counter!="string"))return e.counter}),D=w(),b=w(),T=ve(""),v=w(),R=w(0),{platform:X}=Pe(),C=xe(e),Y=P(()=>e.persistentPlaceholder||V.value||e.active);function N(){var t;C.isSuppressing.value&&C.update(),v.value!==document.activeElement&&((t=v.value)==null||t.focus()),V.value||q()}function Z(t){N(),k("click:control",t)}function ee(t){k("mousedown:control",t)}function te(t){t.stopPropagation(),N(),F(()=>{l.value="",Ne(e["onClick:clear"],t)})}function ae(t){var h;const a=t.target;if(!((h=e.modelModifiers)!=null&&h.trim)){l.value=a.value;return}const n=a.value,x=a.selectionStart,c=a.selectionEnd;l.value=n,F(()=>{let d=0;n.trimStart().length===a.value.length&&(d=n.length-a.value.length),x!=null&&(a.selectionStart=x-d),c!=null&&(a.selectionEnd=c-d)})}const m=w(),y=w(Number(e.rows)),S=P(()=>["plain","underlined"].includes(e.variant));re(()=>{e.autoGrow||(y.value=Number(e.rows))});function s(){F(()=>{if(!v.value)return;if(X.value.firefox){R.value=12;return}const{offsetWidth:t,clientWidth:a}=v.value;R.value=Math.max(0,t-a)}),e.autoGrow&&F(()=>{if(!m.value||!b.value)return;const t=getComputedStyle(m.value),a=getComputedStyle(b.value.$el),n=parseFloat(t.getPropertyValue("--v-field-padding-top"))+parseFloat(t.getPropertyValue("--v-input-padding-top"))+parseFloat(t.getPropertyValue("--v-field-padding-bottom")),x=m.value.scrollHeight,c=parseFloat(t.lineHeight),h=Math.max(parseFloat(e.rows)*c+n,parseFloat(a.getPropertyValue("--v-input-control-height"))),d=e.maxHeight?parseFloat(e.maxHeight):parseFloat(e.maxRows)*c+n||1/0,i=Re(x??0,h,d);y.value=Math.floor((i-n)/c),T.value=B(i)})}se(s),f(l,s),f(()=>e.rows,s),f(()=>e.maxHeight,s),f(()=>e.maxRows,s),f(()=>e.density,s),f(y,t=>{k("update:rows",t)});let u;return f(m,t=>{t?(u=new ResizeObserver(s),u.observe(m.value)):u==null||u.disconnect()}),ce(()=>{u==null||u.disconnect()}),Ie(()=>{const t=!!(o.counter||e.counter||e.counterValue),a=!!(t||o.details),[n,x]=ke(I),{modelValue:c,...h}=$.filterProps(e),d={...j.filterProps(e),"onClick:clear":te};return A($,z({ref:D,modelValue:l.value,"onUpdate:modelValue":i=>l.value=i,class:["v-textarea v-text-field",{"v-textarea--prefixed":e.prefix,"v-textarea--suffixed":e.suffix,"v-text-field--prefixed":e.prefix,"v-text-field--suffixed":e.suffix,"v-textarea--auto-grow":e.autoGrow,"v-textarea--no-resize":e.noResize||e.autoGrow,"v-input--plain-underlined":S.value},e.class],style:[{"--v-textarea-max-height":e.maxHeight?B(e.maxHeight):void 0,"--v-textarea-scroll-bar-width":B(R.value)},e.style]},n,h,{centerAffix:y.value===1&&!S.value,focused:V.value}),{...o,default:i=>{let{id:g,isDisabled:_,isDirty:p,isReadonly:le,isValid:ne,hasDetails:oe}=i;return A(j,z({ref:b,style:{"--v-textarea-control-height":T.value},onClick:Z,onMousedown:ee,"onClick:prependInner":e["onClick:prependInner"],"onClick:appendInner":e["onClick:appendInner"]},d,{id:g.value,active:Y.value||p.value,labelId:`${g.value}-label`,centerAffix:y.value===1&&!S.value,dirty:p.value||e.dirty,disabled:_.value,focused:V.value,details:oe.value,error:ne.value===!1}),{...o,default:ue=>{let{props:{class:G,...E},controlRef:ie}=ue;return r(M,null,[e.prefix&&r("span",{class:"v-text-field__prefix"},[e.prefix]),U(r("textarea",z({ref:H=>v.value=ie.value=H,class:G,value:l.value,onInput:ae,autofocus:e.autofocus,readonly:le.value,disabled:_.value,placeholder:e.placeholder,rows:e.rows,name:C.fieldName.value,autocomplete:C.fieldAutocomplete.value,onFocus:N,onBlur:J,"aria-labelledby":`${g.value}-label`},E,x),null),[[O,{handler:K},null,{once:!0}]]),e.autoGrow&&U(r("textarea",{class:fe([G,"v-textarea__sizer"]),id:`${E.id}-sizer`,"onUpdate:modelValue":H=>l.value=H,ref:m,readonly:!0,"aria-hidden":"true"},null),[[de,l.value]]),e.suffix&&r("span",{class:"v-text-field__suffix"},[e.suffix])])}})},details:a?i=>{var g;return r(M,null,[(g=o.details)==null?void 0:g.call(o,i),t&&r(M,null,[r("span",null,null),A(he,{active:e.persistentCounter||V.value,value:L.value,max:Q.value,disabled:e.disabled},o.counter)])])}:void 0})}),be({},D,b,v)}});export{Te as V}; diff --git a/assets/VTextarea-uYG2fN8H.js b/assets/VTextarea-uYG2fN8H.js deleted file mode 100644 index 54ce2d7..0000000 --- a/assets/VTextarea-uYG2fN8H.js +++ /dev/null @@ -1 +0,0 @@ -import{g as re,b5 as $,ar as se,X as ce,a2 as w,b3 as de,Z as fe,ae as f,$ as ve,b as me,at as xe,c as A,i as r,F as M,E as z,I as p,cA as ge,d as he,aJ as B,au as we,aw as C,bc as ye,a3 as P,ax as Ve,az as be,p as Fe,aA as Ce}from"./index-CHEqx3ZK.js";import{u as Pe,j as Ie,a as O,b as W,c as ke,l as Ne,m as Re,d as Se,n as He}from"./VTextField-BmfQXFFg.js";const Ae=Fe({autoGrow:Boolean,autofocus:Boolean,counter:[Boolean,Number,String],counterValue:Function,prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,noResize:Boolean,rows:{type:[Number,String],default:5,validator:e=>!isNaN(parseFloat(e))},maxHeight:{type:[Number,String],validator:e=>!isNaN(parseFloat(e))},maxRows:{type:[Number,String],validator:e=>!isNaN(parseFloat(e))},suffix:String,modelModifiers:Object,...He(),...Ce(Se(),["direction"]),...Re()},"VTextarea"),Be=re()({name:"VTextarea",directives:{vIntersect:$},inheritAttrs:!1,props:Ae(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0,"update:rows":e=>!0},setup(e,j){let{attrs:I,emit:k,slots:o}=j;const l=se(e,"modelValue"),{isFocused:y,focus:J,blur:X}=Pe(e),{onIntersect:Z}=Ne(e),q=P(()=>typeof e.counterValue=="function"?e.counterValue(l.value):(l.value||"").toString().length),K=P(()=>{if(I.maxlength)return I.maxlength;if(!(!e.counter||typeof e.counter!="number"&&typeof e.counter!="string"))return e.counter}),T=w(),b=w(),_=be(""),v=w(),N=w(0),{platform:L}=ce(),F=Ie(e),Q=P(()=>e.persistentPlaceholder||y.value||e.active);function R(){var t;F.isSuppressing.value&&F.update(),v.value!==document.activeElement&&((t=v.value)==null||t.focus()),y.value||J()}function Y(t){R(),k("click:control",t)}function ee(t){k("mousedown:control",t)}function te(t){t.stopPropagation(),R(),C(()=>{l.value="",Ve(e["onClick:clear"],t)})}function ae(t){var g;const a=t.target;if(!((g=e.modelModifiers)!=null&&g.trim)){l.value=a.value;return}const n=a.value,x=a.selectionStart,c=a.selectionEnd;l.value=n,C(()=>{let d=0;n.trimStart().length===a.value.length&&(d=n.length-a.value.length),x!=null&&(a.selectionStart=x-d),c!=null&&(a.selectionEnd=c-d)})}const m=w(),V=w(Number(e.rows)),S=P(()=>["plain","underlined"].includes(e.variant));de(()=>{e.autoGrow||(V.value=Number(e.rows))});function s(){C(()=>{if(!v.value)return;if(L.value.firefox){N.value=12;return}const{offsetWidth:t,clientWidth:a}=v.value;N.value=Math.max(0,t-a)}),e.autoGrow&&C(()=>{if(!m.value||!b.value)return;const t=getComputedStyle(m.value),a=getComputedStyle(b.value.$el),n=parseFloat(t.getPropertyValue("--v-field-padding-top"))+parseFloat(t.getPropertyValue("--v-input-padding-top"))+parseFloat(t.getPropertyValue("--v-field-padding-bottom")),x=m.value.scrollHeight,c=parseFloat(t.lineHeight),g=Math.max(parseFloat(e.rows)*c+n,parseFloat(a.getPropertyValue("--v-input-control-height"))),d=e.maxHeight?parseFloat(e.maxHeight):parseFloat(e.maxRows)*c+n||1/0,i=ye(x??0,g,d);V.value=Math.floor((i-n)/c),_.value=B(i)})}fe(s),f(l,s),f(()=>e.rows,s),f(()=>e.maxHeight,s),f(()=>e.maxRows,s),f(()=>e.density,s),f(V,t=>{k("update:rows",t)});let u;return f(m,t=>{t?(u=new ResizeObserver(s),u.observe(m.value)):u==null||u.disconnect()}),ve(()=>{u==null||u.disconnect()}),me(()=>{const t=!!(o.counter||e.counter||e.counterValue),a=!!(t||o.details),[n,x]=xe(I),{modelValue:c,...g}=O.filterProps(e),d={...W.filterProps(e),"onClick:clear":te};return A(O,z({ref:T,modelValue:l.value,"onUpdate:modelValue":i=>l.value=i,class:["v-textarea v-text-field",{"v-textarea--prefixed":e.prefix,"v-textarea--suffixed":e.suffix,"v-text-field--prefixed":e.prefix,"v-text-field--suffixed":e.suffix,"v-textarea--auto-grow":e.autoGrow,"v-textarea--no-resize":e.noResize||e.autoGrow,"v-input--plain-underlined":S.value},e.class],style:[{"--v-textarea-max-height":e.maxHeight?B(e.maxHeight):void 0,"--v-textarea-scroll-bar-width":B(N.value)},e.style]},n,g,{centerAffix:V.value===1&&!S.value,focused:y.value}),{...o,default:i=>{let{id:h,isDisabled:D,isDirty:E,isReadonly:le,isValid:ne,hasDetails:oe}=i;return A(W,z({ref:b,style:{"--v-textarea-control-height":_.value},onClick:Y,onMousedown:ee,"onClick:prependInner":e["onClick:prependInner"],"onClick:appendInner":e["onClick:appendInner"]},d,{id:h.value,active:Q.value||E.value,labelId:`${h.value}-label`,centerAffix:V.value===1&&!S.value,dirty:E.value||e.dirty,disabled:D.value,focused:y.value,details:oe.value,error:ne.value===!1}),{...o,default:ue=>{let{props:{class:G,...U},controlRef:ie}=ue;return r(M,null,[e.prefix&&r("span",{class:"v-text-field__prefix"},[e.prefix]),p(r("textarea",z({ref:H=>v.value=ie.value=H,class:G,value:l.value,onInput:ae,autofocus:e.autofocus,readonly:le.value,disabled:D.value,placeholder:e.placeholder,rows:e.rows,name:F.fieldName.value,autocomplete:F.fieldAutocomplete.value,onFocus:R,onBlur:X,"aria-labelledby":`${h.value}-label`},U,x),null),[[$,{handler:Z},null,{once:!0}]]),e.autoGrow&&p(r("textarea",{class:he([G,"v-textarea__sizer"]),id:`${U.id}-sizer`,"onUpdate:modelValue":H=>l.value=H,ref:m,readonly:!0,"aria-hidden":"true"},null),[[ge,l.value]]),e.suffix&&r("span",{class:"v-text-field__suffix"},[e.suffix])])}})},details:a?i=>{var h;return r(M,null,[(h=o.details)==null?void 0:h.call(o,i),t&&r(M,null,[r("span",null,null),A(ke,{active:e.persistentCounter||y.value,value:q.value,max:K.value,disabled:e.disabled},o.counter)])])}:void 0})}),we({},T,b,v)}});export{Be as V}; diff --git a/assets/VTooltip-C168gwPH.js b/assets/VTooltip-C168gwPH.js deleted file mode 100644 index 08f0bb8..0000000 --- a/assets/VTooltip-C168gwPH.js +++ /dev/null @@ -1 +0,0 @@ -import{g as N,aC as I,be as R,aq as w,aB as A,bf as O,bg as F,b as x,bh as $,c as g,i as h,a$ as D,I as L,J as H,E as m,t as M,e as W,p as T,a_ as X,f as Y,bi as _,bj as j,m as q,bk as E,bl as G,h as J,ar as U,aH as z,bm as K,an as k,au as Q,a3 as S,av as B,a2 as Z,aA as p,bn as ee}from"./index-CHEqx3ZK.js";const ae=T({bordered:Boolean,color:String,content:[Number,String],dot:Boolean,floating:Boolean,icon:X,inline:Boolean,label:{type:String,default:"$vuetify.badge"},max:[Number,String],modelValue:{type:Boolean,default:!0},offsetX:[Number,String],offsetY:[Number,String],textColor:String,...J(),...G({location:"top end"}),...E(),...q(),...j(),..._({transition:"scale-rotate-transition"}),...Y()},"VBadge"),ne=N()({name:"VBadge",inheritAttrs:!1,props:ae(),setup(e,o){const{backgroundColorClasses:n,backgroundColorStyles:l}=I(()=>e.color),{roundedClasses:v}=R(e),{t:b}=w(),{textColorClasses:r,textColorStyles:u}=A(()=>e.textColor),{themeClasses:f}=O(),{locationStyles:V}=F(e,!0,a=>(e.floating?e.dot?2:4:e.dot?8:12)+(["top","bottom"].includes(a)?Number(e.offsetY??0):["left","right"].includes(a)?Number(e.offsetX??0):0)),{dimensionStyles:y}=W(e);return x(()=>{const a=Number(e.content),c=!e.max||isNaN(a)?e.content:a<=Number(e.max)?a:`${e.max}+`,[i,d]=$(o.attrs,["aria-atomic","aria-label","aria-live","role","title"]);return g(e.tag,m({class:["v-badge",{"v-badge--bordered":e.bordered,"v-badge--dot":e.dot,"v-badge--floating":e.floating,"v-badge--inline":e.inline},e.class]},d,{style:e.style}),{default:()=>{var t,s;return[h("div",{class:"v-badge__wrapper"},[(s=(t=o.slots).default)==null?void 0:s.call(t),g(D,{transition:e.transition},{default:()=>{var P,C;return[L(h("span",m({class:["v-badge__badge",f.value,n.value,v.value,r.value],style:[l.value,u.value,y.value,e.inline?{}:V.value],"aria-atomic":"true","aria-label":b(e.label,a),"aria-live":"polite",role:"status"},i),[e.dot?void 0:o.slots.badge?(C=(P=o.slots).badge)==null?void 0:C.call(P):e.icon?g(M,{icon:e.icon},null):c]),[[H,e.modelValue]])]}})])]}})}),{}}}),te=T({id:String,interactive:Boolean,text:String,...p(ee({closeOnBack:!1,location:"end",locationStrategy:"connected",eager:!0,minWidth:0,offset:10,openOnClick:!1,openOnHover:!0,origin:"auto",scrim:!1,scrollStrategy:"reposition",transition:null}),["absolute","retainFocus","captureFocus","disableInitialFocus"])},"VTooltip"),ie=N()({name:"VTooltip",props:te(),emits:{"update:modelValue":e=>!0},setup(e,o){let{slots:n}=o;const l=U(e,"modelValue"),{scopeId:v}=z(),b=K(),r=B(()=>e.id||`v-tooltip-${b}`),u=Z(),f=S(()=>e.location.split(" ").length>1?e.location:e.location+" center"),V=S(()=>e.origin==="auto"||e.origin==="overlap"||e.origin.split(" ").length>1||e.location.split(" ").length>1?e.origin:e.origin+" center"),y=B(()=>e.transition!=null?e.transition:l.value?"scale-transition":"fade-transition"),a=S(()=>m({"aria-describedby":r.value},e.activatorProps));return x(()=>{const c=k.filterProps(e);return g(k,m({ref:u,class:["v-tooltip",{"v-tooltip--interactive":e.interactive},e.class],style:e.style,id:r.value},c,{modelValue:l.value,"onUpdate:modelValue":i=>l.value=i,transition:y.value,absolute:!0,location:f.value,origin:V.value,role:"tooltip",activatorProps:a.value,_disableGlobalStack:!0},v),{activator:n.activator,default:function(){var s;for(var i=arguments.length,d=new Array(i),t=0;t.v-overlay__content{background:rgb(var(--v-theme-surface-variant));color:rgb(var(--v-theme-on-surface-variant));border-radius:4px;font-size:.875rem;line-height:1.6;display:inline-block;padding:5px 16px;text-transform:initial;width:auto;opacity:1;transition-property:opacity,transform;overflow-wrap:break-word}.v-tooltip>.v-overlay__content[class*=enter-active]{transition-timing-function:cubic-bezier(0,0,.2,1);transition-duration:.15s}.v-tooltip>.v-overlay__content[class*=leave-active]{transition-timing-function:cubic-bezier(.4,0,1,1);transition-duration:75ms}.v-tooltip:not(.v-tooltip--interactive)>.v-overlay__content{pointer-events:none} diff --git a/assets/VTooltip-DNuxJ6UK.css b/assets/VTooltip-DNuxJ6UK.css new file mode 100644 index 0000000..4851a56 --- /dev/null +++ b/assets/VTooltip-DNuxJ6UK.css @@ -0,0 +1 @@ +.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}.v-tooltip>.v-overlay__content{background:rgb(var(--v-theme-surface-variant));color:rgb(var(--v-theme-on-surface-variant));border-radius:4px;font-size:.875rem;line-height:1.6;display:inline-block;padding:5px 16px;text-transform:initial;width:auto;opacity:1;transition-property:opacity,transform;overflow-wrap:break-word}.v-tooltip>.v-overlay__content[class*=enter-active]{transition-timing-function:cubic-bezier(0,0,.2,1);transition-duration:.15s}.v-tooltip>.v-overlay__content[class*=leave-active]{transition-timing-function:cubic-bezier(.4,0,1,1);transition-duration:75ms}.v-tooltip:not(.v-tooltip--interactive)>.v-overlay__content{pointer-events:none} diff --git a/assets/VTooltip-UMclv3tZ.js b/assets/VTooltip-UMclv3tZ.js new file mode 100644 index 0000000..4e07e88 --- /dev/null +++ b/assets/VTooltip-UMclv3tZ.js @@ -0,0 +1 @@ +import{H as h,A as u,C as O,M as p}from"./index-Bqe1gKo7.js";import{f as x,n as F,u as I,p as T,a5 as A}from"./vendor-vuetify-ChAgIwn2.js";import{E as C,j as R,m as d,e as n,t as v,b as k}from"./vendor-vue-H0jQBZ7T.js";const w=T({id:String,interactive:Boolean,text:String,...A(p({closeOnBack:!1,location:"end",locationStrategy:"connected",eager:!0,minWidth:0,offset:10,openOnClick:!1,openOnHover:!0,origin:"auto",scrim:!1,scrollStrategy:"reposition",transition:null}),["absolute","retainFocus","captureFocus","disableInitialFocus"])},"VTooltip"),j=x()({name:"VTooltip",props:w(),emits:{"update:modelValue":t=>!0},setup(t,m){let{slots:e}=m;const i=F(t,"modelValue"),{scopeId:f}=h(),g=C(),r=v(()=>t.id||`v-tooltip-${g}`),l=k(),V=n(()=>t.location.split(" ").length>1?t.location:t.location+" center"),P=n(()=>t.origin==="auto"||t.origin==="overlap"||t.origin.split(" ").length>1||t.location.split(" ").length>1?t.origin:t.origin+" center"),b=v(()=>t.transition!=null?t.transition:i.value?"scale-transition":"fade-transition"),y=n(()=>d({"aria-describedby":r.value},t.activatorProps));return I(()=>{const S=u.filterProps(t);return R(u,d({ref:l,class:["v-tooltip",{"v-tooltip--interactive":t.interactive},t.class],style:t.style,id:r.value},S,{modelValue:i.value,"onUpdate:modelValue":o=>i.value=o,transition:b.value,absolute:!0,location:V.value,origin:P.value,role:"tooltip",activatorProps:y.value,_disableGlobalStack:!0},f),{activator:e.activator,default:function(){var c;for(var o=arguments.length,s=new Array(o),a=0;ai(t.tag,{class:_(["v-list-item-action",{"v-list-item-action--start":t.start,"v-list-item-action--end":t.end},t.class]),style:T(t.style)},n)),{}}}),ee={data(){return{listId:null,list:null,items:[],originalItems:[],newItemName:"",sortSeed:"1",sortType:"default",isRandomSorted:!1,deleteDialog:{show:!1,title:"",text:"",itemId:null,action:null},isRenaming:!1,newListName:"",itemDialog:{show:!1,item:null,isEditing:!1,editedItem:null}}},computed:{sortedItems(){return this.sortType==="completed"?[...this.items].sort((t,e)=>t.completed===e.completed?0:t.completed?1:-1):this.items},hasCompletedItems(){return this.items.some(t=>t.completed)}},async created(){this.listId=this.$route.params.id,await Promise.all([this.loadListInfo(),this.loadItems()])},methods:{async loadListInfo(){try{const t=await h.loadData("classworks-list-info");t&&Array.isArray(t)&&(this.list=t.find(e=>e.id===this.listId)),this.list||this.$router.push("/list")}catch(t){console.error("Failed to load list info",t),this.$router.push("/list")}},startRenaming(){this.list&&(this.newListName=this.list.name,this.isRenaming=!0)},cancelRenaming(){this.isRenaming=!1,this.newListName=""},async saveListName(){if(this.newListName.trim())try{const t=await h.loadData("classworks-list-info");if(t&&Array.isArray(t)){const e=t.findIndex(n=>n.id===this.listId);e!==-1&&(t[e].name=this.newListName.trim(),await h.saveData("classworks-list-info",t),this.list.name=this.newListName.trim())}this.isRenaming=!1}catch(t){console.error("Failed to update list name",t)}},async loadItems(){try{let t=await h.loadData(`classworks-list-${this.listId}`);(!t||!Array.isArray(t))&&(t=[],await h.saveData(`classworks-list-${this.listId}`,t)),this.items=t.map(e=>typeof e.completed>"u"?{id:e.id||Date.now()+Math.floor(Math.random()*1e3),name:e.name,completed:!1,description:e.description||""}:{...e,description:e.description||""}),this.originalItems=JSON.parse(JSON.stringify(this.items))}catch(t){console.error("Failed to load items",t),this.items=[],this.originalItems=[]}},async addItem(){if(!this.newItemName)return;const t={id:Date.now().toString(),name:this.newItemName,completed:!1,description:""};this.items.push(t),this.originalItems.push(JSON.parse(JSON.stringify(t))),await this.saveItems(),this.newItemName=""},openItemDetails(t){this.itemDialog={show:!0,item:t,isEditing:!1,editedItem:null}},startEditingItem(){this.itemDialog.item&&(this.itemDialog.isEditing=!0,this.itemDialog.editedItem=JSON.parse(JSON.stringify(this.itemDialog.item)))},cancelEditingItem(){this.itemDialog.isEditing=!1,this.itemDialog.editedItem=null},async saveItemChanges(){if(!this.itemDialog.editedItem)return;const t=this.items.findIndex(e=>e.id===this.itemDialog.item.id);if(t!==-1){this.items[t]={...this.itemDialog.editedItem};const e=this.originalItems.findIndex(n=>n.id===this.itemDialog.item.id);e!==-1&&(this.originalItems[e]=JSON.parse(JSON.stringify(this.items[t]))),await this.saveItems(),this.itemDialog.item=this.items[t],this.itemDialog.isEditing=!1,this.itemDialog.editedItem=null}},confirmDeleteItem(t){var n;const e=this.items.find(g=>g.id===t);e&&(this.deleteDialog={show:!0,title:"删除确认",text:`确定要删除 "${e.name}" 吗?`,itemId:t,action:"deleteItem"},this.itemDialog.show&&((n=this.itemDialog.item)==null?void 0:n.id)===t&&(this.itemDialog.show=!1))},confirmDeleteCompleted(){const t=this.items.filter(e=>e.completed).length;this.deleteDialog={show:!0,title:"删除已完成项目",text:`确定要删除所有已完成的项目吗?(共 ${t} 项)`,action:"deleteCompleted"}},confirmDelete(){this.deleteDialog.action==="deleteItem"&&this.deleteDialog.itemId?this.deleteItem(this.deleteDialog.itemId):this.deleteDialog.action==="deleteCompleted"&&this.deleteCompletedItems(),this.deleteDialog.show=!1},async deleteItem(t){this.items=this.items.filter(e=>e.id!==t),this.originalItems=this.originalItems.filter(e=>e.id!==t),await this.saveItems()},async deleteCompletedItems(){this.items=this.items.filter(t=>!t.completed),this.originalItems=this.originalItems.filter(t=>!t.completed),await this.saveItems()},async updateItemStatus(t,e){const n=this.items.find(g=>g.id===t);if(n){n.completed=e;const g=this.originalItems.find(s=>s.id===t);g&&(g.completed=e),await this.saveItems()}},async saveItems(){try{await h.saveData(`classworks-list-${this.listId}`,this.items)}catch(t){console.error("Failed to save items",t)}},randomSort(){const t=this.items.map(e=>{const n=this.hashCode(e.id+this.sortSeed);return{...e,randomValue:this.seededRandom(n)}});t.sort((e,n)=>e.randomValue-n.randomValue),this.items=t.map(e=>{const n={...e};return delete n.randomValue,n}),this.isRandomSorted=!0,this.saveItems()},resetSort(){this.items=JSON.parse(JSON.stringify(this.originalItems)),this.isRandomSorted=!1,this.saveItems()},hashCode(t){let e=0;for(let n=0;n[i(r,{icon:"mdi-arrow-left",variant:"text",onClick:e[0]||(e[0]=a=>t.$router.push("/"))})]),default:l(()=>[s.list&&!s.isRenaming?(d(),p(E,{key:0,class:"text-h6"},{default:l(()=>[o(f(s.list.name),1)]),_:1})):(d(),p(E,{key:1,class:"text-h6"},{default:l(()=>[...e[14]||(e[14]=[o("列表",-1)])]),_:1}))]),_:1}),i(H,null,{default:l(()=>[B("div",te,[i(r,{border:"",class:"mr-2",icon:"",to:"/list"},{default:l(()=>[i(I,null,{default:l(()=>[...e[15]||(e[15]=[o("mdi-arrow-left",-1)])]),_:1})]),_:1}),s.list&&!s.isRenaming?(d(),u("h1",ie,[o(f(s.list.name)+" ",1),i(r,{border:"",icon:"",size:"small",onClick:m.startRenaming},{default:l(()=>[i(I,null,{default:l(()=>[...e[16]||(e[16]=[o("mdi-pencil",-1)])]),_:1})]),_:1},8,["onClick"])])):s.list&&s.isRenaming?(d(),u("div",le,[i(x,{modelValue:s.newListName,"onUpdate:modelValue":e[1]||(e[1]=a=>s.newListName=a),autofocus:"",class:"mr-2",density:"compact","hide-details":"",label:"列表名称",style:{"min-width":"200px"},onKeyup:U(m.saveListName,["enter"])},null,8,["modelValue","onKeyup"]),i(r,{class:"mr-2",color:"primary",size:"small",onClick:m.saveListName},{default:l(()=>[i(I,null,{default:l(()=>[...e[17]||(e[17]=[o("mdi-check",-1)])]),_:1})]),_:1},8,["onClick"]),i(r,{color:"error",size:"small",onClick:m.cancelRenaming},{default:l(()=>[i(I,null,{default:l(()=>[...e[18]||(e[18]=[o("mdi-close",-1)])]),_:1})]),_:1},8,["onClick"])])):(d(),u("h1",se," 加载中... "))]),i(c,{border:"",class:"mb-5",rounded:"xl"},{default:l(()=>[i(D,{class:"d-flex align-center"},{default:l(()=>[e[21]||(e[21]=o(" 项目列表 ",-1)),i(k),i(M,{modelValue:s.sortType,"onUpdate:modelValue":e[2]||(e[2]=a=>s.sortType=a),mandatory:""},{default:l(()=>[i(r,{value:"default"},{default:l(()=>[i(I,null,{default:l(()=>[...e[19]||(e[19]=[o("mdi-sort-alphabetical-ascending",-1)])]),_:1})]),_:1}),i(r,{value:"completed"},{default:l(()=>[i(I,null,{default:l(()=>[...e[20]||(e[20]=[o("mdi-check-circle-outline",-1)])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1}),m.sortedItems.length===0?(d(),p(V,{key:0},{default:l(()=>[...e[22]||(e[22]=[o(" 暂无项目,请添加新项目 ",-1)])]),_:1})):(d(),p(R,{key:1,"select-strategy":"leaf"},{default:l(()=>[(d(!0),u(y,null,J(m.sortedItems,(a,w)=>(d(),p(C,{key:a.id,class:_({"text-decoration-line-through":a.completed}),onClick:L=>m.openItemDetails(a)},{prepend:l(()=>[i($,{start:""},{default:l(()=>[i(X,{"model-value":a.completed,"onUpdate:modelValue":L=>m.updateItemStatus(a.id,L),onClick:e[3]||(e[3]=O(()=>{},["stop"]))},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024)]),append:l(()=>[o(f(w+1),1)]),default:l(()=>[o(" "+f(a.name)+" ",1),i(v,null,{default:l(()=>[o(f(a.description),1)]),_:2},1024)]),_:2},1032,["class","onClick"]))),128))]),_:1})),m.sortedItems.length>0?(d(),p(N,{key:2},{default:l(()=>[i(k),i(r,{disabled:!m.hasCompletedItems,color:"error","prepend-icon":"mdi-delete-sweep",onClick:m.confirmDeleteCompleted},{default:l(()=>[...e[23]||(e[23]=[o(" 删除已完成项目 ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})):b("",!0)]),_:1}),i(c,{border:"",class:"mb-5",rounded:"xl"},{default:l(()=>[i(D,null,{default:l(()=>[...e[24]||(e[24]=[o("添加新项目",-1)])]),_:1}),i(V,null,{default:l(()=>[i(x,{modelValue:s.newItemName,"onUpdate:modelValue":e[4]||(e[4]=a=>s.newItemName=a),rules:[a=>!!a||"名称不能为空"],label:"项目名称"},null,8,["modelValue","rules"]),i(r,{disabled:!s.newItemName,color:"primary",onClick:m.addItem},{default:l(()=>[...e[25]||(e[25]=[o(" 添加 ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1}),i(c,{border:"",class:"mb-5",rounded:"xl"},{default:l(()=>[i(D,null,{default:l(()=>[...e[26]||(e[26]=[o("列表排序",-1)])]),_:1}),i(V,null,{default:l(()=>[i(x,{modelValue:s.sortSeed,"onUpdate:modelValue":e[5]||(e[5]=a=>s.sortSeed=a),class:"mb-3",hint:"输入相同的种子值可以得到相同的排序结果",label:"排序种子 (任意数字或文本)","persistent-hint":""},null,8,["modelValue"]),i(r,{class:"mr-2",color:"primary",onClick:m.randomSort},{default:l(()=>[...e[27]||(e[27]=[o(" 随机排序 ",-1)])]),_:1},8,["onClick"]),i(r,{variant:"text",onClick:m.resetSort},{default:l(()=>[...e[28]||(e[28]=[o(" 撤销 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1}),i(A,{modelValue:s.deleteDialog.show,"onUpdate:modelValue":e[7]||(e[7]=a=>s.deleteDialog.show=a),"max-width":"500"},{default:l(()=>[i(c,{border:"",rounded:"xl"},{default:l(()=>[i(D,null,{default:l(()=>[o(f(s.deleteDialog.title),1)]),_:1}),i(V,null,{default:l(()=>[o(f(s.deleteDialog.text),1)]),_:1}),i(N,null,{default:l(()=>[i(k),i(r,{color:"primary",variant:"text",onClick:e[6]||(e[6]=a=>s.deleteDialog.show=!1)},{default:l(()=>[...e[29]||(e[29]=[o(" 取消 ",-1)])]),_:1}),i(r,{color:"error",variant:"text",onClick:m.confirmDelete},{default:l(()=>[...e[30]||(e[30]=[o(" 确认删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),i(A,{modelValue:s.itemDialog.show,"onUpdate:modelValue":e[13]||(e[13]=a=>s.itemDialog.show=a),"max-width":"600"},{default:l(()=>[i(c,{border:"",rounded:"xl"},{default:l(()=>[i(D,null,{default:l(()=>[s.itemDialog.isEditing?(d(),u("span",ae,"编辑项目")):(d(),u("span",oe,"项目详情"))]),_:1}),i(V,null,{default:l(()=>[!s.itemDialog.isEditing&&s.itemDialog.item?(d(),u("div",ne,[i(R,null,{default:l(()=>[i(C,null,{default:l(()=>[i(S,{class:"text-subtitle-1 font-weight-bold"},{default:l(()=>[o(f(s.itemDialog.item.name),1)]),_:1}),i(v,null,{default:l(()=>[o(f(s.itemDialog.item.id),1)]),_:1})]),_:1}),i(C,null,{default:l(()=>[i(S,{class:"text-subtitle-1 font-weight-bold"},{default:l(()=>[...e[31]||(e[31]=[o("状态",-1)])]),_:1}),i(v,null,{default:l(()=>[i(Y,{color:s.itemDialog.item.completed?"success":"warning",size:"small"},{default:l(()=>[o(f(s.itemDialog.item.completed?"已完成":"未完成"),1)]),_:1},8,["color"])]),_:1})]),_:1}),s.itemDialog.item.description?(d(),p(C,{key:0},{default:l(()=>[i(S,{class:"text-subtitle-1 font-weight-bold"},{default:l(()=>[...e[32]||(e[32]=[o("描述",-1)])]),_:1}),i(v,null,{default:l(()=>[o(f(s.itemDialog.item.description),1)]),_:1})]),_:1})):b("",!0)]),_:1})])):s.itemDialog.isEditing&&s.itemDialog.item?(d(),u("div",me,[i(x,{modelValue:s.itemDialog.editedItem.name,"onUpdate:modelValue":e[8]||(e[8]=a=>s.itemDialog.editedItem.name=a),class:"mb-3",label:"名称",variant:"outlined"},null,8,["modelValue"]),i(Z,{modelValue:s.itemDialog.editedItem.description,"onUpdate:modelValue":e[9]||(e[9]=a=>s.itemDialog.editedItem.description=a),class:"mb-3",label:"描述",rows:"3",variant:"outlined"},null,8,["modelValue"]),i(G,{modelValue:s.itemDialog.editedItem.completed,"onUpdate:modelValue":e[10]||(e[10]=a=>s.itemDialog.editedItem.completed=a),color:"success","hide-details":"",label:"已完成"},null,8,["modelValue"])])):b("",!0)]),_:1}),i(N,null,{default:l(()=>[i(k),s.itemDialog.isEditing?(d(),u(y,{key:1},[i(r,{color:"success",variant:"text",onClick:m.saveItemChanges},{default:l(()=>[...e[36]||(e[36]=[o(" 保存 ",-1)])]),_:1},8,["onClick"]),i(r,{color:"secondary",variant:"text",onClick:m.cancelEditingItem},{default:l(()=>[...e[37]||(e[37]=[o(" 取消 ",-1)])]),_:1},8,["onClick"])],64)):(d(),u(y,{key:0},[i(r,{color:"primary",variant:"text",onClick:m.startEditingItem},{default:l(()=>[...e[33]||(e[33]=[o(" 编辑 ",-1)])]),_:1},8,["onClick"]),i(r,{color:"error",variant:"text",onClick:e[11]||(e[11]=a=>{var w;return m.confirmDeleteItem((w=s.itemDialog.item)==null?void 0:w.id)})},{default:l(()=>[...e[34]||(e[34]=[o(" 删除 ",-1)])]),_:1}),i(r,{color:"secondary",variant:"text",onClick:e[12]||(e[12]=a=>s.itemDialog.show=!1)},{default:l(()=>[...e[35]||(e[35]=[o(" 关闭 ",-1)])]),_:1})],64))]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})],64)}const ve=z(ee,[["render",de]]);export{ve as default}; diff --git a/assets/_id_-DIwIy-nN.js b/assets/_id_-DIwIy-nN.js deleted file mode 100644 index 7c698a8..0000000 --- a/assets/_id_-DIwIy-nN.js +++ /dev/null @@ -1 +0,0 @@ -import{d as h}from"./dataProvider-B62Oym03.js";import{g as _,b as B,c as i,n as O,d as T,p as U,m as J,h as F,_ as z,o as m,C as u,w as l,j as p,v as o,A as f,y as r,i as M,t as I,N as P,l as c,q as D,x as y,B as K,z as V,P as R,F as k,G as j,Q as C,a1 as v,O as q,M as b,D as N,H as A,a0 as S}from"./index-CHEqx3ZK.js";import{b as E,c as G}from"./VAppBarTitle-P_aLwYn3.js";import{V as x}from"./VTextField-BmfQXFFg.js";import{V as H}from"./VCheckboxBtn-L9oezRC0.js";import{V as Q}from"./VChip-B02B673U.js";import{V as W}from"./VTextarea-uYG2fN8H.js";import{V as X}from"./VSwitch-CsrhG2o9.js";import{V as Y}from"./VContainer-x94CJ7kH.js";import"./serverRotation-D840vVDL.js";const Z=U({start:Boolean,end:Boolean,...F(),...J()},"VListItemAction"),$=_()({name:"VListItemAction",props:Z(),setup(t,e){let{slots:n}=e;return B(()=>i(t.tag,{class:T(["v-list-item-action",{"v-list-item-action--start":t.start,"v-list-item-action--end":t.end},t.class]),style:O(t.style)},n)),{}}}),ee={data(){return{listId:null,list:null,items:[],originalItems:[],newItemName:"",sortSeed:"1",sortType:"default",isRandomSorted:!1,deleteDialog:{show:!1,title:"",text:"",itemId:null,action:null},isRenaming:!1,newListName:"",itemDialog:{show:!1,item:null,isEditing:!1,editedItem:null}}},computed:{sortedItems(){return this.sortType==="completed"?[...this.items].sort((t,e)=>t.completed===e.completed?0:t.completed?1:-1):this.items},hasCompletedItems(){return this.items.some(t=>t.completed)}},async created(){this.listId=this.$route.params.id,await Promise.all([this.loadListInfo(),this.loadItems()])},methods:{async loadListInfo(){try{const t=await h.loadData("classworks-list-info");t&&Array.isArray(t)&&(this.list=t.find(e=>e.id===this.listId)),this.list||this.$router.push("/list")}catch(t){console.error("Failed to load list info",t),this.$router.push("/list")}},startRenaming(){this.list&&(this.newListName=this.list.name,this.isRenaming=!0)},cancelRenaming(){this.isRenaming=!1,this.newListName=""},async saveListName(){if(this.newListName.trim())try{const t=await h.loadData("classworks-list-info");if(t&&Array.isArray(t)){const e=t.findIndex(n=>n.id===this.listId);e!==-1&&(t[e].name=this.newListName.trim(),await h.saveData("classworks-list-info",t),this.list.name=this.newListName.trim())}this.isRenaming=!1}catch(t){console.error("Failed to update list name",t)}},async loadItems(){try{let t=await h.loadData(`classworks-list-${this.listId}`);(!t||!Array.isArray(t))&&(t=[],await h.saveData(`classworks-list-${this.listId}`,t)),this.items=t.map(e=>typeof e.completed>"u"?{id:e.id||Date.now()+Math.floor(Math.random()*1e3),name:e.name,completed:!1,description:e.description||""}:{...e,description:e.description||""}),this.originalItems=JSON.parse(JSON.stringify(this.items))}catch(t){console.error("Failed to load items",t),this.items=[],this.originalItems=[]}},async addItem(){if(!this.newItemName)return;const t={id:Date.now().toString(),name:this.newItemName,completed:!1,description:""};this.items.push(t),this.originalItems.push(JSON.parse(JSON.stringify(t))),await this.saveItems(),this.newItemName=""},openItemDetails(t){this.itemDialog={show:!0,item:t,isEditing:!1,editedItem:null}},startEditingItem(){this.itemDialog.item&&(this.itemDialog.isEditing=!0,this.itemDialog.editedItem=JSON.parse(JSON.stringify(this.itemDialog.item)))},cancelEditingItem(){this.itemDialog.isEditing=!1,this.itemDialog.editedItem=null},async saveItemChanges(){if(!this.itemDialog.editedItem)return;const t=this.items.findIndex(e=>e.id===this.itemDialog.item.id);if(t!==-1){this.items[t]={...this.itemDialog.editedItem};const e=this.originalItems.findIndex(n=>n.id===this.itemDialog.item.id);e!==-1&&(this.originalItems[e]=JSON.parse(JSON.stringify(this.items[t]))),await this.saveItems(),this.itemDialog.item=this.items[t],this.itemDialog.isEditing=!1,this.itemDialog.editedItem=null}},confirmDeleteItem(t){var n;const e=this.items.find(g=>g.id===t);e&&(this.deleteDialog={show:!0,title:"删除确认",text:`确定要删除 "${e.name}" 吗?`,itemId:t,action:"deleteItem"},this.itemDialog.show&&((n=this.itemDialog.item)==null?void 0:n.id)===t&&(this.itemDialog.show=!1))},confirmDeleteCompleted(){const t=this.items.filter(e=>e.completed).length;this.deleteDialog={show:!0,title:"删除已完成项目",text:`确定要删除所有已完成的项目吗?(共 ${t} 项)`,action:"deleteCompleted"}},confirmDelete(){this.deleteDialog.action==="deleteItem"&&this.deleteDialog.itemId?this.deleteItem(this.deleteDialog.itemId):this.deleteDialog.action==="deleteCompleted"&&this.deleteCompletedItems(),this.deleteDialog.show=!1},async deleteItem(t){this.items=this.items.filter(e=>e.id!==t),this.originalItems=this.originalItems.filter(e=>e.id!==t),await this.saveItems()},async deleteCompletedItems(){this.items=this.items.filter(t=>!t.completed),this.originalItems=this.originalItems.filter(t=>!t.completed),await this.saveItems()},async updateItemStatus(t,e){const n=this.items.find(g=>g.id===t);if(n){n.completed=e;const g=this.originalItems.find(s=>s.id===t);g&&(g.completed=e),await this.saveItems()}},async saveItems(){try{await h.saveData(`classworks-list-${this.listId}`,this.items)}catch(t){console.error("Failed to save items",t)}},randomSort(){const t=this.items.map(e=>{const n=this.hashCode(e.id+this.sortSeed);return{...e,randomValue:this.seededRandom(n)}});t.sort((e,n)=>e.randomValue-n.randomValue),this.items=t.map(e=>{const n={...e};return delete n.randomValue,n}),this.isRandomSorted=!0,this.saveItems()},resetSort(){this.items=JSON.parse(JSON.stringify(this.originalItems)),this.isRandomSorted=!1,this.saveItems()},hashCode(t){let e=0;for(let n=0;n[i(r,{icon:"mdi-arrow-left",variant:"text",onClick:e[0]||(e[0]=a=>t.$router.push("/"))})]),default:l(()=>[s.list&&!s.isRenaming?(m(),p(E,{key:0,class:"text-h6"},{default:l(()=>[o(f(s.list.name),1)]),_:1})):(m(),p(E,{key:1,class:"text-h6"},{default:l(()=>[...e[14]||(e[14]=[o("列表",-1)])]),_:1}))]),_:1}),i(Y,null,{default:l(()=>[M("div",te,[i(r,{border:"",class:"mr-2",icon:"",to:"/list"},{default:l(()=>[i(I,null,{default:l(()=>[...e[15]||(e[15]=[o("mdi-arrow-left",-1)])]),_:1})]),_:1}),s.list&&!s.isRenaming?(m(),u("h1",ie,[o(f(s.list.name)+" ",1),i(r,{border:"",icon:"",size:"small",onClick:d.startRenaming},{default:l(()=>[i(I,null,{default:l(()=>[...e[16]||(e[16]=[o("mdi-pencil",-1)])]),_:1})]),_:1},8,["onClick"])])):s.list&&s.isRenaming?(m(),u("div",le,[i(x,{modelValue:s.newListName,"onUpdate:modelValue":e[1]||(e[1]=a=>s.newListName=a),autofocus:"",class:"mr-2",density:"compact","hide-details":"",label:"列表名称",style:{"min-width":"200px"},onKeyup:P(d.saveListName,["enter"])},null,8,["modelValue","onKeyup"]),i(r,{class:"mr-2",color:"primary",size:"small",onClick:d.saveListName},{default:l(()=>[i(I,null,{default:l(()=>[...e[17]||(e[17]=[o("mdi-check",-1)])]),_:1})]),_:1},8,["onClick"]),i(r,{color:"error",size:"small",onClick:d.cancelRenaming},{default:l(()=>[i(I,null,{default:l(()=>[...e[18]||(e[18]=[o("mdi-close",-1)])]),_:1})]),_:1},8,["onClick"])])):(m(),u("h1",se," 加载中... "))]),i(c,{border:"",class:"mb-5",rounded:"xl"},{default:l(()=>[i(D,{class:"d-flex align-center"},{default:l(()=>[e[21]||(e[21]=o(" 项目列表 ",-1)),i(y),i(K,{modelValue:s.sortType,"onUpdate:modelValue":e[2]||(e[2]=a=>s.sortType=a),mandatory:""},{default:l(()=>[i(r,{value:"default"},{default:l(()=>[i(I,null,{default:l(()=>[...e[19]||(e[19]=[o("mdi-sort-alphabetical-ascending",-1)])]),_:1})]),_:1}),i(r,{value:"completed"},{default:l(()=>[i(I,null,{default:l(()=>[...e[20]||(e[20]=[o("mdi-check-circle-outline",-1)])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1}),d.sortedItems.length===0?(m(),p(V,{key:0},{default:l(()=>[...e[22]||(e[22]=[o(" 暂无项目,请添加新项目 ",-1)])]),_:1})):(m(),p(R,{key:1,"select-strategy":"leaf"},{default:l(()=>[(m(!0),u(k,null,j(d.sortedItems,(a,w)=>(m(),p(C,{key:a.id,class:T({"text-decoration-line-through":a.completed}),onClick:L=>d.openItemDetails(a)},{prepend:l(()=>[i($,{start:""},{default:l(()=>[i(H,{"model-value":a.completed,"onUpdate:modelValue":L=>d.updateItemStatus(a.id,L),onClick:e[3]||(e[3]=q(()=>{},["stop"]))},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024)]),append:l(()=>[o(f(w+1),1)]),default:l(()=>[o(" "+f(a.name)+" ",1),i(v,null,{default:l(()=>[o(f(a.description),1)]),_:2},1024)]),_:2},1032,["class","onClick"]))),128))]),_:1})),d.sortedItems.length>0?(m(),p(b,{key:2},{default:l(()=>[i(y),i(r,{disabled:!d.hasCompletedItems,color:"error","prepend-icon":"mdi-delete-sweep",onClick:d.confirmDeleteCompleted},{default:l(()=>[...e[23]||(e[23]=[o(" 删除已完成项目 ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})):N("",!0)]),_:1}),i(c,{border:"",class:"mb-5",rounded:"xl"},{default:l(()=>[i(D,null,{default:l(()=>[...e[24]||(e[24]=[o("添加新项目",-1)])]),_:1}),i(V,null,{default:l(()=>[i(x,{modelValue:s.newItemName,"onUpdate:modelValue":e[4]||(e[4]=a=>s.newItemName=a),rules:[a=>!!a||"名称不能为空"],label:"项目名称"},null,8,["modelValue","rules"]),i(r,{disabled:!s.newItemName,color:"primary",onClick:d.addItem},{default:l(()=>[...e[25]||(e[25]=[o(" 添加 ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1}),i(c,{border:"",class:"mb-5",rounded:"xl"},{default:l(()=>[i(D,null,{default:l(()=>[...e[26]||(e[26]=[o("列表排序",-1)])]),_:1}),i(V,null,{default:l(()=>[i(x,{modelValue:s.sortSeed,"onUpdate:modelValue":e[5]||(e[5]=a=>s.sortSeed=a),class:"mb-3",hint:"输入相同的种子值可以得到相同的排序结果",label:"排序种子 (任意数字或文本)","persistent-hint":""},null,8,["modelValue"]),i(r,{class:"mr-2",color:"primary",onClick:d.randomSort},{default:l(()=>[...e[27]||(e[27]=[o(" 随机排序 ",-1)])]),_:1},8,["onClick"]),i(r,{variant:"text",onClick:d.resetSort},{default:l(()=>[...e[28]||(e[28]=[o(" 撤销 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1}),i(A,{modelValue:s.deleteDialog.show,"onUpdate:modelValue":e[7]||(e[7]=a=>s.deleteDialog.show=a),"max-width":"500"},{default:l(()=>[i(c,{border:"",rounded:"xl"},{default:l(()=>[i(D,null,{default:l(()=>[o(f(s.deleteDialog.title),1)]),_:1}),i(V,null,{default:l(()=>[o(f(s.deleteDialog.text),1)]),_:1}),i(b,null,{default:l(()=>[i(y),i(r,{color:"primary",variant:"text",onClick:e[6]||(e[6]=a=>s.deleteDialog.show=!1)},{default:l(()=>[...e[29]||(e[29]=[o(" 取消 ",-1)])]),_:1}),i(r,{color:"error",variant:"text",onClick:d.confirmDelete},{default:l(()=>[...e[30]||(e[30]=[o(" 确认删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),i(A,{modelValue:s.itemDialog.show,"onUpdate:modelValue":e[13]||(e[13]=a=>s.itemDialog.show=a),"max-width":"600"},{default:l(()=>[i(c,{border:"",rounded:"xl"},{default:l(()=>[i(D,null,{default:l(()=>[s.itemDialog.isEditing?(m(),u("span",ae,"编辑项目")):(m(),u("span",oe,"项目详情"))]),_:1}),i(V,null,{default:l(()=>[!s.itemDialog.isEditing&&s.itemDialog.item?(m(),u("div",ne,[i(R,null,{default:l(()=>[i(C,null,{default:l(()=>[i(S,{class:"text-subtitle-1 font-weight-bold"},{default:l(()=>[o(f(s.itemDialog.item.name),1)]),_:1}),i(v,null,{default:l(()=>[o(f(s.itemDialog.item.id),1)]),_:1})]),_:1}),i(C,null,{default:l(()=>[i(S,{class:"text-subtitle-1 font-weight-bold"},{default:l(()=>[...e[31]||(e[31]=[o("状态",-1)])]),_:1}),i(v,null,{default:l(()=>[i(Q,{color:s.itemDialog.item.completed?"success":"warning",size:"small"},{default:l(()=>[o(f(s.itemDialog.item.completed?"已完成":"未完成"),1)]),_:1},8,["color"])]),_:1})]),_:1}),s.itemDialog.item.description?(m(),p(C,{key:0},{default:l(()=>[i(S,{class:"text-subtitle-1 font-weight-bold"},{default:l(()=>[...e[32]||(e[32]=[o("描述",-1)])]),_:1}),i(v,null,{default:l(()=>[o(f(s.itemDialog.item.description),1)]),_:1})]),_:1})):N("",!0)]),_:1})])):s.itemDialog.isEditing&&s.itemDialog.item?(m(),u("div",de,[i(x,{modelValue:s.itemDialog.editedItem.name,"onUpdate:modelValue":e[8]||(e[8]=a=>s.itemDialog.editedItem.name=a),class:"mb-3",label:"名称",variant:"outlined"},null,8,["modelValue"]),i(W,{modelValue:s.itemDialog.editedItem.description,"onUpdate:modelValue":e[9]||(e[9]=a=>s.itemDialog.editedItem.description=a),class:"mb-3",label:"描述",rows:"3",variant:"outlined"},null,8,["modelValue"]),i(X,{modelValue:s.itemDialog.editedItem.completed,"onUpdate:modelValue":e[10]||(e[10]=a=>s.itemDialog.editedItem.completed=a),color:"success","hide-details":"",label:"已完成"},null,8,["modelValue"])])):N("",!0)]),_:1}),i(b,null,{default:l(()=>[i(y),s.itemDialog.isEditing?(m(),u(k,{key:1},[i(r,{color:"success",variant:"text",onClick:d.saveItemChanges},{default:l(()=>[...e[36]||(e[36]=[o(" 保存 ",-1)])]),_:1},8,["onClick"]),i(r,{color:"secondary",variant:"text",onClick:d.cancelEditingItem},{default:l(()=>[...e[37]||(e[37]=[o(" 取消 ",-1)])]),_:1},8,["onClick"])],64)):(m(),u(k,{key:0},[i(r,{color:"primary",variant:"text",onClick:d.startEditingItem},{default:l(()=>[...e[33]||(e[33]=[o(" 编辑 ",-1)])]),_:1},8,["onClick"]),i(r,{color:"error",variant:"text",onClick:e[11]||(e[11]=a=>{var w;return d.confirmDeleteItem((w=s.itemDialog.item)==null?void 0:w.id)})},{default:l(()=>[...e[34]||(e[34]=[o(" 删除 ",-1)])]),_:1}),i(r,{color:"secondary",variant:"text",onClick:e[12]||(e[12]=a=>s.itemDialog.show=!1)},{default:l(()=>[...e[35]||(e[35]=[o(" 关闭 ",-1)])]),_:1})],64))]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})],64)}const we=z(ee,[["render",me]]);export{we as default}; diff --git a/assets/_id_-DZ6mw6z2.js b/assets/_id_-DZ6mw6z2.js new file mode 100644 index 0000000..6b20811 --- /dev/null +++ b/assets/_id_-DZ6mw6z2.js @@ -0,0 +1 @@ +import f from"./ExamConfigEditor-sH7Cpbyw.js";import{_ as u,o as v,l as n}from"./index-Bqe1gKo7.js";import{a as _,V as g}from"./VAppBarTitle-CKv90Z6x.js";import{V as p}from"./VContainer-BHAiZEWc.js";import{X as m,Y as d,Z as r,j as i,a1 as l,$ as x}from"./vendor-vue-H0jQBZ7T.js";import"./dataProvider-Dty8Zh7m.js";import"./vendor-utils-DDRLRfsI.js";import"./serverRotation-CLP7smnN.js";import"./VAlert-b5nBlHgx.js";import"./vendor-vuetify-ChAgIwn2.js";import"./VSkeletonLoader-D5uB8vy5.js";import"./VTooltip-UMclv3tZ.js";import"./VChip-CPVASmWt.js";import"./VRow-C2iyFaHv.js";import"./VTextField-B7edjjhw.js";import"./autofocus-Dh4QPNon.js";import"./VTextarea-DiXZJMiq.js";import"./VSwitch-C77LDPed.js";import"./VAutocomplete-Buofo9XU.js";import"./VSelect-DC96rbwz.js";import"./VSheet-DHN9xqm_.js";import"./VCheckboxBtn-nWqvYDIO.js";import"./VDatePicker-CyfBxTLk.js";import"./VBadge-B7gMUs96.js";const E={name:"ExamEditorPage",components:{ExamConfigEditor:f},data(){return{id:this.$route.params.id,saving:!1}},watch:{"$route.params.id"(o){this.id=o}},methods:{async save(){if(this.$refs.editor){this.saving=!0;try{await this.$refs.editor.saveConfig()}finally{this.saving=!1}}},onSaved(){var o,t;(t=(o=this.$toast)==null?void 0:o.success)==null||t.call(o,"保存成功")},onError(o){var t,e;(e=(t=this.$toast)==null?void 0:t.error)==null||e.call(t,o||"保存失败")}}};function V(o,t,e,C,a,s){const c=f;return m(),d(p,{class:"pa-0"},{default:r(()=>[i(_,{elevation:"1"},{prepend:r(()=>[i(n,{icon:"mdi-arrow-left",variant:"text",onClick:t[0]||(t[0]=h=>o.$router.back())})]),default:r(()=>[i(g,{class:"text-h6"},{default:r(()=>[...t[1]||(t[1]=[l(" 编辑考试配置 ",-1)])]),_:1}),i(v),i(n,{loading:a.saving,color:"success","prepend-icon":"mdi-content-save",variant:"outlined",onClick:s.save},{default:r(()=>[...t[2]||(t[2]=[l(" 保存 ",-1)])]),_:1},8,["loading","onClick"])]),_:1}),i(p,{class:"py-4",style:{"max-width":"1200px"}},{default:r(()=>[a.id?(m(),d(c,{key:0,ref:"editor","config-id":a.id,onError:s.onError,onSaved:s.onSaved},null,8,["config-id","onError","onSaved"])):x("",!0)]),_:1})]),_:1})}const L=u(E,[["render",V]]);export{L as default}; diff --git a/assets/_id_-d28sCpy1.js b/assets/_id_-d28sCpy1.js deleted file mode 100644 index a30effd..0000000 --- a/assets/_id_-d28sCpy1.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as c}from"./ExamConfigEditor-C3cHfqxx.js";import{_ as u,o as n,j as d,w as r,c as e,v as p,x as v,y as m,D as _}from"./index-CHEqx3ZK.js";import{c as g,b as x}from"./VAppBarTitle-P_aLwYn3.js";import{V as l}from"./VContainer-x94CJ7kH.js";import"./dataProvider-B62Oym03.js";import"./serverRotation-D840vVDL.js";import"./VAlert-B7dotCy7.js";import"./VSkeletonLoader-Bcvvvbke.js";import"./VTooltip-C168gwPH.js";import"./VChip-B02B673U.js";import"./VRow-7L_239rt.js";import"./VTextField-BmfQXFFg.js";import"./VTextarea-uYG2fN8H.js";import"./VSwitch-CsrhG2o9.js";import"./VSelect-B5ZKU6ZJ.js";import"./VCheckboxBtn-L9oezRC0.js";const E={name:"ExamEditorPage",components:{ExamConfigEditor:c},data(){return{id:this.$route.params.id,saving:!1}},watch:{"$route.params.id"(o){this.id=o}},methods:{async save(){if(this.$refs.editor){this.saving=!0;try{await this.$refs.editor.saveConfig()}finally{this.saving=!1}}},onSaved(){var o,t;(t=(o=this.$toast)==null?void 0:o.success)==null||t.call(o,"保存成功")},onError(o){var t,i;(i=(t=this.$toast)==null?void 0:t.error)==null||i.call(t,o||"保存失败")}}};function C(o,t,i,V,a,s){const f=c;return n(),d(l,{class:"pa-0"},{default:r(()=>[e(g,{elevation:"1"},{prepend:r(()=>[e(m,{icon:"mdi-arrow-left",variant:"text",onClick:t[0]||(t[0]=h=>o.$router.back())})]),default:r(()=>[e(x,{class:"text-h6"},{default:r(()=>[...t[1]||(t[1]=[p(" 编辑考试配置 ",-1)])]),_:1}),e(v),e(m,{loading:a.saving,color:"success","prepend-icon":"mdi-content-save",variant:"outlined",onClick:s.save},{default:r(()=>[...t[2]||(t[2]=[p(" 保存 ",-1)])]),_:1},8,["loading","onClick"])]),_:1}),e(l,{class:"py-4",style:{"max-width":"1200px"}},{default:r(()=>[a.id?(n(),d(f,{key:0,ref:"editor","config-id":a.id,onError:s.onError,onSaved:s.onSaved},null,8,["config-id","onError","onSaved"])):_("",!0)]),_:1})]),_:1})}const G=u(E,[["render",C]]);export{G as default}; diff --git a/assets/authorize-B3-irupf.js b/assets/authorize-B3-irupf.js new file mode 100644 index 0000000..d9065bd --- /dev/null +++ b/assets/authorize-B3-irupf.js @@ -0,0 +1 @@ +import{a9 as V,aa as g,D as _,X as u,Y as l,Z as e,j as s,a1 as c,S as i,$ as d,k,b as m}from"./vendor-vue-H0jQBZ7T.js";import{v as p,g as y,e as C,c as h,d as x,B,q as S,o as T,l as N}from"./index-Bqe1gKo7.js";import{V as R,a as b}from"./VRow-C2iyFaHv.js";import{V as j}from"./VContainer-BHAiZEWc.js";import"./vendor-vuetify-ChAgIwn2.js";const H={__name:"authorize",setup(q){const f=V(),n=g(),a=m("processing"),r=m("正在验证授权信息...");_(async()=>{try{const t=f.query.token;if(!t){a.value="error",r.value="未获取到授权令牌";return}p("server.kvToken",t);const o=y("device.uuid");o&&o!=="00000000-0000-4000-8000-000000000000"?(p("device.uuid","00000000-0000-4000-8000-000000000000"),r.value="授权成功!已完成数据迁移。"):r.value="授权成功!",a.value="success",n.push("/")}catch(t){console.error("授权处理失败:",t),a.value="error",r.value=`授权失败: ${t.message}`}});const v=()=>{n.push("/")};return(t,o)=>(u(),l(j,{class:"fill-height",fluid:""},{default:e(()=>[s(R,{align:"center",justify:"center"},{default:e(()=>[s(b,{cols:"12",md:"6",sm:"8"},{default:e(()=>[s(C,null,{default:e(()=>[s(h,{class:"text-h5"},{default:e(()=>[c(i(a.value==="processing"?"正在处理授权...":a.value==="success"?"授权成功":"授权失败"),1)]),_:1}),s(x,null,{default:e(()=>[a.value==="processing"?(u(),l(B,{key:0,class:"mb-4",color:"primary",indeterminate:""})):d("",!0),k("p",null,i(r.value),1)]),_:1}),a.value!=="processing"?(u(),l(S,{key:0},{default:e(()=>[s(T),s(N,{color:"primary",onClick:v},{default:e(()=>[...o[0]||(o[0]=[c("返回首页",-1)])]),_:1})]),_:1})):d("",!0)]),_:1})]),_:1})]),_:1})]),_:1}))}};export{H as default}; diff --git a/assets/authorize-CL9LOs4t.js b/assets/authorize-CL9LOs4t.js deleted file mode 100644 index f760d36..0000000 --- a/assets/authorize-CL9LOs4t.js +++ /dev/null @@ -1 +0,0 @@ -import{ao as V,ap as g,Z as _,s as c,k,o as u,j as l,w as e,c as a,l as y,q as C,v as i,A as d,z as h,ag as x,D as p,i as T,M as B,x as N,y as S,a2 as f}from"./index-CHEqx3ZK.js";import{V as w,a as R}from"./VRow-7L_239rt.js";import{V as j}from"./VContainer-x94CJ7kH.js";const M={__name:"authorize",setup(q){const m=V(),n=g(),s=f("processing"),r=f("正在验证授权信息...");_(async()=>{try{const t=m.query.token;if(!t){s.value="error",r.value="未获取到授权令牌";return}c("server.kvToken",t);const o=k("device.uuid");o&&o!=="00000000-0000-4000-8000-000000000000"?(c("device.uuid","00000000-0000-4000-8000-000000000000"),r.value="授权成功!已完成数据迁移。"):r.value="授权成功!",s.value="success",n.push("/")}catch(t){console.error("授权处理失败:",t),s.value="error",r.value=`授权失败: ${t.message}`}});const v=()=>{n.push("/")};return(t,o)=>(u(),l(j,{class:"fill-height",fluid:""},{default:e(()=>[a(w,{align:"center",justify:"center"},{default:e(()=>[a(R,{cols:"12",md:"6",sm:"8"},{default:e(()=>[a(y,null,{default:e(()=>[a(C,{class:"text-h5"},{default:e(()=>[i(d(s.value==="processing"?"正在处理授权...":s.value==="success"?"授权成功":"授权失败"),1)]),_:1}),a(h,null,{default:e(()=>[s.value==="processing"?(u(),l(x,{key:0,class:"mb-4",color:"primary",indeterminate:""})):p("",!0),T("p",null,d(r.value),1)]),_:1}),s.value!=="processing"?(u(),l(B,{key:0},{default:e(()=>[a(N),a(S,{color:"primary",onClick:v},{default:e(()=>[...o[0]||(o[0]=[i("返回首页",-1)])]),_:1})]),_:1})):p("",!0)]),_:1})]),_:1})]),_:1})]),_:1}))}};export{M as default}; diff --git a/assets/VTextField-D1VSzmed.css b/assets/autofocus-D1VSzmed.css similarity index 100% rename from assets/VTextField-D1VSzmed.css rename to assets/autofocus-D1VSzmed.css diff --git a/assets/autofocus-Dh4QPNon.js b/assets/autofocus-Dh4QPNon.js new file mode 100644 index 0000000..f152eac --- /dev/null +++ b/assets/autofocus-Dh4QPNon.js @@ -0,0 +1 @@ +import{h as Fe,D as ce,a2 as ve,aD as fe,aw as ge,G as De,b as $e,a as Me,I as Re,X as Ae,a7 as Ee,E as Le,Y as Te,a8 as pe,ap as ze,aa as Ne,Z as Oe}from"./index-Bqe1gKo7.js";import{f as j,u as U,p as F,m as se,k as H,ag as L,an as je,ap as Ue,w as le,g as me,n as oe,l as He,C as de,h as ye,A as be,I as Y,aj as Ke,P as We,T as qe,a4 as Xe,s as Ye,a6 as Ge}from"./vendor-vuetify-ChAgIwn2.js";import{k as v,N as K,n as W,j as y,m as z,e as f,t as g,o as N,d as he,b as O,s as te,p as Ze,aj as Je,E as ie,a0 as Qe,A as ea,D as aa,I as na,u as la,R as Ce,V as Ve,F as ta}from"./vendor-vue-H0jQBZ7T.js";const ia=F({text:String,onClick:L(),...H(),...se()},"VLabel"),sa=j()({name:"VLabel",props:ia(),setup(e,l){let{slots:o}=l;return U(()=>{var n;return v("label",{class:W(["v-label",{"v-label--clickable":!!e.onClick},e.class]),style:K(e.style),onClick:e.onClick},[e.text,(n=o.default)==null?void 0:n.call(o)])}),{}}});function ke(e){const{t:l}=je();function o(n){let{name:t,color:a,...b}=n;const m={prepend:"prependAction",prependInner:"prependAction",append:"appendAction",appendInner:"appendAction",clear:"clear"}[t],h=e[`onClick:${t}`];function V(s){s.key!=="Enter"&&s.key!==" "||(s.preventDefault(),s.stopPropagation(),Ue(h,new PointerEvent("click",s)))}const u=h&&m?l(`$vuetify.input.${m}`,e.label??""):void 0;return y(Fe,z({icon:e[`${t}Icon`],"aria-label":u,onClick:h,onKeydown:V,color:a},b),null)}return{InputIcon:o}}const oa=F({active:Boolean,color:String,messages:{type:[Array,String],default:()=>[]},...H(),...fe({transition:{component:ge,leaveAbsolute:!0,group:!0}})},"VMessages"),ua=j()({name:"VMessages",props:oa(),setup(e,l){let{slots:o}=l;const n=f(()=>le(e.messages)),{textColorClasses:t,textColorStyles:a}=ce(()=>e.color);return U(()=>y(ve,{transition:e.transition,tag:"div",class:W(["v-messages",t.value,e.class]),style:K([a.value,e.style])},{default:()=>[e.active&&n.value.map((b,m)=>v("div",{class:"v-messages__message",key:`${m}-${n.value}`},[o.message?o.message({message:b}):b]))]})),{}}}),Ie=F({focused:Boolean,"onUpdate:focused":L()},"focus");function ra(e){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:me();const o=oe(e,"focused"),n=g(()=>({[`${l}--focused`]:o.value}));function t(){o.value=!0}function a(){o.value=!1}return{focusClasses:n,isFocused:o,focus:t,blur:a}}const Se=Symbol.for("vuetify:form"),Sa=F({disabled:Boolean,fastFail:Boolean,readonly:Boolean,modelValue:{type:Boolean,default:null},validateOn:{type:String,default:"input"}},"form");function xa(e){const l=oe(e,"modelValue"),o=g(()=>e.disabled),n=g(()=>e.readonly),t=te(!1),a=O([]),b=O([]);async function m(){const u=[];let s=!0;b.value=[],t.value=!0;for(const r of a.value){const d=await r.validate();if(d.length>0&&(s=!1,u.push({id:r.id,errorMessages:d})),!s&&e.fastFail)break}return b.value=u,t.value=!1,{valid:s,errors:b.value}}function h(){a.value.forEach(u=>u.reset())}function V(){a.value.forEach(u=>u.resetValidation())}return N(a,()=>{let u=0,s=0;const r=[];for(const d of a.value)d.isValid===!1?(s++,r.push({id:d.id,errorMessages:d.errorMessages})):d.isValid===!0&&u++;b.value=r,l.value=s>0?!1:u===a.value.length?!0:null},{deep:!0,flush:"post"}),Ze(Se,{register:u=>{let{id:s,vm:r,validate:d,reset:k,resetValidation:D}=u;a.value.some(C=>C.id===s),a.value.push({id:s,validate:d,reset:k,resetValidation:D,vm:Je(r),isValid:null,errorMessages:[]})},unregister:u=>{a.value=a.value.filter(s=>s.id!==u)},update:(u,s,r)=>{const d=a.value.find(k=>k.id===u);d&&(d.isValid=s,d.errorMessages=r)},isDisabled:o,isReadonly:n,isValidating:t,isValid:l,items:a,validateOn:g(()=>e.validateOn)}),{errors:b,isDisabled:o,isReadonly:n,isValidating:t,isValid:l,items:a,validate:m,reset:h,resetValidation:V}}function da(e){const l=he(Se,null);return{...l,isReadonly:f(()=>!!((e==null?void 0:e.readonly)??(l==null?void 0:l.isReadonly.value))),isDisabled:f(()=>!!((e==null?void 0:e.disabled)??(l==null?void 0:l.isDisabled.value)))}}const ca=Symbol.for("vuetify:rules");function va(e){const l=he(ca,null);if(!e){if(!l)throw new Error("Could not find Vuetify rules injection");return l.aliases}return(l==null?void 0:l.resolve(e))??g(e)}const fa=F({disabled:{type:Boolean,default:null},error:Boolean,errorMessages:{type:[Array,String],default:()=>[]},maxErrors:{type:[Number,String],default:1},name:String,label:String,readonly:{type:Boolean,default:null},rules:{type:Array,default:()=>[]},modelValue:null,validateOn:String,validationValue:null,...Ie()},"validation");function ga(e){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:me(),o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ie();const n=oe(e,"modelValue"),t=f(()=>e.validationValue===void 0?n.value:e.validationValue),a=da(e),b=va(()=>e.rules),m=O([]),h=te(!0),V=f(()=>!!(le(n.value===""?null:n.value).length||le(t.value===""?null:t.value).length)),u=f(()=>{var i;return(i=e.errorMessages)!=null&&i.length?le(e.errorMessages).concat(m.value).slice(0,Math.max(0,Number(e.maxErrors))):m.value}),s=f(()=>{var B;let i=(e.validateOn??((B=a.validateOn)==null?void 0:B.value))||"input";i==="lazy"&&(i="input lazy"),i==="eager"&&(i="input eager");const c=new Set((i==null?void 0:i.split(" "))??[]);return{input:c.has("input"),blur:c.has("blur")||c.has("input")||c.has("invalid-input"),invalidInput:c.has("invalid-input"),lazy:c.has("lazy"),eager:c.has("eager")}}),r=f(()=>{var i;return e.error||(i=e.errorMessages)!=null&&i.length?!1:e.rules.length?h.value?m.value.length||s.value.lazy?null:!0:!m.value.length:!0}),d=te(!1),k=f(()=>({[`${l}--error`]:r.value===!1,[`${l}--dirty`]:V.value,[`${l}--disabled`]:a.isDisabled.value,[`${l}--readonly`]:a.isReadonly.value})),D=He("validation"),C=f(()=>e.name??la(o));Qe(()=>{var i;(i=a.register)==null||i.call(a,{id:C.value,vm:D,validate:I,reset:R,resetValidation:S})}),ea(()=>{var i;(i=a.unregister)==null||i.call(a,C.value)}),aa(async()=>{var i;s.value.lazy||await I(!s.value.eager),(i=a.update)==null||i.call(a,C.value,r.value,u.value)}),de(()=>s.value.input||s.value.invalidInput&&r.value===!1,()=>{N(t,()=>{if(t.value!=null)I();else if(e.focused){const i=N(()=>e.focused,c=>{c||I(),i()})}})}),de(()=>s.value.blur,()=>{N(()=>e.focused,i=>{i||I()})}),N([r,u],()=>{var i;(i=a.update)==null||i.call(a,C.value,r.value,u.value)});async function R(){n.value=null,await na(),await S()}async function S(){h.value=!0,s.value.lazy?m.value=[]:await I(!s.value.eager)}async function I(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;const c=[];d.value=!0;for(const B of b.value){if(c.length>=Number(e.maxErrors??1))break;const _=await(typeof B=="function"?B:()=>B)(t.value);if(_!==!0){if(_!==!1&&typeof _!="string"){console.warn(`${_} is not a valid value. Rule functions must return boolean true or a string.`);continue}c.push(_||"")}}return m.value=c,d.value=!1,h.value=i,m.value}return{errorMessages:u,isDirty:V,isDisabled:a.isDisabled,isReadonly:a.isReadonly,isPristine:h,isValid:r,isValidating:d,reset:R,resetValidation:S,validate:I,validationClasses:k}}const ma=F({id:String,appendIcon:Y,baseColor:String,centerAffix:{type:Boolean,default:!0},color:String,glow:Boolean,iconColor:[Boolean,String],prependIcon:Y,hideDetails:[Boolean,String],hideSpinButtons:Boolean,hint:String,persistentHint:Boolean,messages:{type:[Array,String],default:()=>[]},direction:{type:String,default:"horizontal",validator:e=>["horizontal","vertical"].includes(e)},"onClick:prepend":L(),"onClick:append":L(),...H(),...Re(),...Ke(Me(),["maxWidth","minWidth","width"]),...se(),...fa()},"VInput"),Ba=j()({name:"VInput",props:{...ma()},emits:{"update:modelValue":e=>!0},setup(e,l){let{attrs:o,slots:n,emit:t}=l;const{densityClasses:a}=De(e),{dimensionStyles:b}=$e(e),{themeClasses:m}=ye(e),{rtlClasses:h}=be(),{InputIcon:V}=ke(e),u=ie(),s=f(()=>e.id||`input-${u}`),{errorMessages:r,isDirty:d,isDisabled:k,isReadonly:D,isPristine:C,isValid:R,isValidating:S,reset:I,resetValidation:i,validate:c,validationClasses:B}=ga(e,"v-input",s),T=f(()=>{var P;return(P=e.errorMessages)!=null&&P.length||!C.value&&r.value.length?r.value:e.hint&&(e.persistentHint||e.focused)?e.hint:e.messages}),_=g(()=>T.value.length>0),$=g(()=>!e.hideDetails||e.hideDetails==="auto"&&(_.value||!!n.details)),G=f(()=>$.value?`${s.value}-messages`:void 0),p=f(()=>({id:s,messagesId:G,isDirty:d,isDisabled:k,isReadonly:D,isPristine:C,isValid:R,isValidating:S,hasDetails:$,reset:I,resetValidation:i,validate:c})),Z=g(()=>e.error||e.disabled?void 0:e.focused?e.color:e.baseColor),q=g(()=>{if(e.iconColor)return e.iconColor===!0?Z.value:e.iconColor});return U(()=>{var J,Q;const P=!!(n.prepend||e.prependIcon),X=!!(n.append||e.appendIcon);return v("div",{class:W(["v-input",`v-input--${e.direction}`,{"v-input--center-affix":e.centerAffix,"v-input--focused":e.focused,"v-input--glow":e.glow,"v-input--hide-spin-buttons":e.hideSpinButtons},a.value,m.value,h.value,B.value,e.class]),style:K([b.value,e.style])},[P&&v("div",{key:"prepend",class:"v-input__prepend"},[n.prepend?n.prepend(p.value):e.prependIcon&&y(V,{key:"prepend-icon",name:"prepend",color:q.value},null)]),n.default&&v("div",{class:"v-input__control"},[(J=n.default)==null?void 0:J.call(n,p.value)]),X&&v("div",{key:"append",class:"v-input__append"},[n.append?n.append(p.value):e.appendIcon&&y(V,{key:"append-icon",name:"append",color:q.value},null)]),$.value&&v("div",{id:G.value,class:"v-input__details",role:"alert","aria-live":"polite"},[y(ua,{active:_.value,messages:T.value},{message:n.message}),(Q=n.details)==null?void 0:Q.call(n,p.value)])])}),{reset:I,resetValidation:i,validate:c,isValid:R,errorMessages:r}}}),ya=F({active:Boolean,disabled:Boolean,max:[Number,String],value:{type:[Number,String],default:0},...H(),...fe({transition:{component:ge}})},"VCounter"),_a=j()({name:"VCounter",functional:!0,props:ya(),setup(e,l){let{slots:o}=l;const n=g(()=>e.max?`${e.value} / ${e.max}`:String(e.value));return U(()=>y(ve,{transition:e.transition},{default:()=>[Ce(v("div",{class:W(["v-counter",{"text-error":e.max&&!e.disabled&&parseFloat(e.value)>parseFloat(e.max)},e.class]),style:K(e.style)},[o.default?o.default({counter:n.value,max:e.max,value:e.value}):n.value]),[[Ve,e.active]])]})),{}}}),ba=F({floating:Boolean,...H()},"VFieldLabel"),ne=j()({name:"VFieldLabel",props:ba(),setup(e,l){let{slots:o}=l;return U(()=>y(sa,{class:W(["v-field-label",{"v-field-label--floating":e.floating},e.class]),style:K(e.style)},o)),{}}}),ha=["underlined","outlined","filled","solo","solo-inverted","solo-filled","plain"],Ca=F({appendInnerIcon:Y,bgColor:String,clearable:Boolean,clearIcon:{type:Y,default:"$clear"},active:Boolean,centerAffix:{type:Boolean,default:void 0},color:String,baseColor:String,dirty:Boolean,disabled:{type:Boolean,default:null},glow:Boolean,error:Boolean,flat:Boolean,iconColor:[Boolean,String],label:String,persistentClear:Boolean,prependInnerIcon:Y,reverse:Boolean,singleLine:Boolean,variant:{type:String,default:"filled",validator:e=>ha.includes(e)},"onClick:clear":L(),"onClick:appendInner":L(),"onClick:prependInner":L(),...H(),...Oe(),...Ne(),...se()},"VField"),Pa=j()({name:"VField",inheritAttrs:!1,props:{id:String,details:Boolean,labelId:String,...Ie(),...Ca()},emits:{"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,l){let{attrs:o,emit:n,slots:t}=l;const{themeClasses:a}=ye(e),{loaderClasses:b}=Ae(e),{focusClasses:m,isFocused:h,focus:V,blur:u}=ra(e),{InputIcon:s}=ke(e),{roundedClasses:r}=Ee(e),{rtlClasses:d}=be(),k=g(()=>e.dirty||e.active),D=g(()=>!!(e.label||t.label)),C=g(()=>!e.singleLine&&D.value),R=ie(),S=f(()=>e.id||`input-${R}`),I=g(()=>e.details?`${S.value}-messages`:void 0),i=O(),c=O(),B=O(),T=f(()=>["plain","underlined"].includes(e.variant)),_=f(()=>e.error||e.disabled?void 0:k.value&&h.value?e.color:e.baseColor),$=f(()=>{if(!(!e.iconColor||e.glow&&!h.value))return e.iconColor===!0?_.value:e.iconColor}),{backgroundColorClasses:G,backgroundColorStyles:p}=Le(()=>e.bgColor),{textColorClasses:Z,textColorStyles:q}=ce(_);N(k,x=>{if(C.value&&!We()){const M=i.value.$el,A=c.value.$el;requestAnimationFrame(()=>{const E=qe(M),w=A.getBoundingClientRect(),ee=w.x-E.x,ae=w.y-E.y-(E.height/2-w.height/2),ue=w.width/.75,xe=Math.abs(ue-E.width)>1?{maxWidth:Ye(ue)}:void 0,Be=getComputedStyle(M),re=getComputedStyle(A),_e=parseFloat(Be.transitionDuration)*1e3||150,Pe=parseFloat(re.getPropertyValue("--v-field-label-scale")),we=re.getPropertyValue("color");M.style.visibility="visible",A.style.visibility="hidden",Xe(M,{transform:`translate(${ee}px, ${ae}px) scale(${Pe})`,color:we,...xe},{duration:_e,easing:Ge,direction:x?"normal":"reverse"}).finished.then(()=>{M.style.removeProperty("visibility"),A.style.removeProperty("visibility")})})}},{flush:"post"});const P=f(()=>({isActive:k,isFocused:h,controlRef:B,iconColor:$,blur:u,focus:V})),X=g(()=>{const x=!k.value;return{"aria-hidden":x,for:x?void 0:S.value}}),J=g(()=>{const x=C.value&&k.value;return{"aria-hidden":x,for:x?void 0:S.value}});function Q(x){x.target!==document.activeElement&&x.preventDefault()}return U(()=>{var ee;const x=e.variant==="outlined",M=!!(t["prepend-inner"]||e.prependInnerIcon),A=!!(e.clearable||t.clear)&&!e.disabled,E=!!(t["append-inner"]||e.appendInnerIcon||A),w=()=>t.label?t.label({...P.value,label:e.label,props:{for:S.value}}):e.label;return v("div",z({class:["v-field",{"v-field--active":k.value,"v-field--appended":E,"v-field--center-affix":e.centerAffix??!T.value,"v-field--disabled":e.disabled,"v-field--dirty":e.dirty,"v-field--error":e.error,"v-field--glow":e.glow,"v-field--flat":e.flat,"v-field--has-background":!!e.bgColor,"v-field--persistent-clear":e.persistentClear,"v-field--prepended":M,"v-field--reverse":e.reverse,"v-field--single-line":e.singleLine,"v-field--no-label":!w(),[`v-field--variant-${e.variant}`]:!0},a.value,G.value,m.value,b.value,r.value,d.value,e.class],style:[p.value,e.style],onClick:Q},o),[v("div",{class:"v-field__overlay"},null),y(Te,{name:"v-field",active:!!e.loading,color:e.error?"error":typeof e.loading=="string"?e.loading:e.color},{default:t.loader}),M&&v("div",{key:"prepend",class:"v-field__prepend-inner"},[t["prepend-inner"]?t["prepend-inner"](P.value):e.prependInnerIcon&&y(s,{key:"prepend-icon",name:"prependInner",color:$.value},null)]),v("div",{class:"v-field__field","data-no-activator":""},[["filled","solo","solo-inverted","solo-filled"].includes(e.variant)&&C.value&&y(ne,z({key:"floating-label",ref:c,class:[Z.value],floating:!0},X.value,{style:q.value}),{default:()=>[w()]}),D.value&&y(ne,z({key:"label",ref:i,id:e.labelId},J.value),{default:()=>[w()]}),((ee=t.default)==null?void 0:ee.call(t,{...P.value,props:{id:S.value,class:"v-field__input","aria-describedby":I.value},focus:V,blur:u}))??v("div",{id:S.value,class:"v-field__input","aria-describedby":I.value},null)]),A&&y(ze,{key:"clear"},{default:()=>[Ce(v("div",{class:"v-field__clearable",onMousedown:ae=>{ae.preventDefault(),ae.stopPropagation()}},[y(pe,{defaults:{VIcon:{icon:e.clearIcon}}},{default:()=>[t.clear?t.clear({...P.value,props:{onFocus:V,onBlur:u,onClick:e["onClick:clear"],tabindex:-1}}):y(s,{name:"clear",onFocus:V,onBlur:u,tabindex:-1},null)]})]),[[Ve,e.dirty]])]}),E&&v("div",{key:"append",class:"v-field__append-inner"},[t["append-inner"]?t["append-inner"](P.value):e.appendInnerIcon&&y(s,{key:"append-icon",name:"appendInner",color:$.value},null)]),v("div",{class:W(["v-field__outline",Z.value]),style:K(q.value)},[x&&v(ta,null,[v("div",{class:"v-field__outline__start"},null),C.value&&v("div",{class:"v-field__outline__notch"},[y(ne,z({ref:c,floating:!0},X.value),{default:()=>[w()]})]),v("div",{class:"v-field__outline__end"},null)]),T.value&&C.value&&y(ne,z({ref:c,floating:!0},X.value),{default:()=>[w()]})])])}),{controlRef:B,fieldIconColor:$}}}),wa=F({autocomplete:String},"autocomplete");function Fa(e){const l=ie(),o=te(0),n=g(()=>e.autocomplete==="suppress"),t=g(()=>{if(e.name)return n.value?`${e.name}-${l}-${o.value}`:e.name}),a=g(()=>n.value?"off":e.autocomplete);return{isSuppressing:n,fieldAutocomplete:a,fieldName:t,update:()=>o.value=new Date().getTime()}}function Da(e){function l(o,n){if(!e.autofocus||!o)return;const t=n[0].target,a=t.matches("input,textarea")?t:t.querySelector("input,textarea");a==null||a.focus()}return{onIntersect:l}}export{Ba as V,Pa as a,_a as b,ma as c,ke as d,da as e,xa as f,Sa as g,Fa as h,wa as i,Da as j,sa as k,Ca as m,ra as u}; diff --git a/assets/core-IlBOtVFl.js b/assets/core-IlBOtVFl.js new file mode 100644 index 0000000..faa89c2 --- /dev/null +++ b/assets/core-IlBOtVFl.js @@ -0,0 +1,2 @@ +function ve(w,G){for(var j=0;jT[d]})}}}return Object.freeze(Object.defineProperty(w,Symbol.toStringTag,{value:"Module"}))}var me=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function he(w){return w&&w.__esModule&&Object.prototype.hasOwnProperty.call(w,"default")?w.default:w}var ne={exports:{}};(function(w,G){(function(j,T){w.exports=T()})(typeof self<"u"?self:me,()=>(()=>{var j={3146:(s,c,p)=>{for(var C=p(3491),h=typeof window>"u"?p.g:window,b=["moz","webkit"],y="AnimationFrame",f=h["request"+y],L=h["cancel"+y]||h["cancelRequest"+y],D=0;!f&&D{var c=s&&s.__esModule?()=>s.default:()=>s;return d.d(c,{a:c}),c},d.d=(s,c)=>{for(var p in c)d.o(c,p)&&!d.o(s,p)&&Object.defineProperty(s,p,{enumerable:!0,get:c[p]})},d.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}(),d.o=(s,c)=>Object.prototype.hasOwnProperty.call(s,c);var x={};return(()=>{d.d(x,{default:()=>ae});var s=d(3146),c=d.n(s);const p=function(o){return new RegExp(/<[a-z][\s\S]*>/i).test(o)},C=function(o,t){return Math.floor(Math.random()*(t-o+1))+o};var h="TYPE_CHARACTER",b="REMOVE_CHARACTER",y="REMOVE_ALL",f="REMOVE_LAST_VISIBLE_NODE",L="PAUSE_FOR",D="CALL_FUNCTION",R="ADD_HTML_TAG_ELEMENT",P="CHANGE_DELETE_SPEED",A="CHANGE_DELAY",Q="CHANGE_CURSOR",g="PASTE_STRING",S="HTML_TAG";function M(o){return M=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},M(o)}function k(o,t){var a=Object.keys(o);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(o);t&&(r=r.filter(function(N){return Object.getOwnPropertyDescriptor(o,N).enumerable})),a.push.apply(a,r)}return a}function _(o){for(var t=1;to.length)&&(t=o.length);for(var a=0,r=Array(t);a1&&arguments[1]!==void 0?arguments[1]:null;if(p(n))return e.typeOutHTMLString(n,i);if(n){var v=(e.options||{}).stringSplitter,m=typeof v=="function"?v(n):n.split("");e.typeCharacters(m,i)}return e}),u(this,"pasteString",function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return p(n)?e.typeOutHTMLString(n,i,!0):(n&&e.addEventToQueue(g,{character:n,node:i}),e)}),u(this,"typeOutHTMLString",function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,v=arguments.length>2?arguments[2]:void 0,m=function(H){var I=document.createElement("div");return I.innerHTML=H,I.childNodes}(n);if(m.length>0)for(var l=0;l0&&arguments[0]!==void 0?arguments[0]:"natural";return e.addEventToQueue(y,{speed:n}),e}),u(this,"changeDeleteSpeed",function(n){if(!n)throw new Error("Must provide new delete speed");return e.addEventToQueue(P,{speed:n}),e}),u(this,"changeDelay",function(n){if(!n)throw new Error("Must provide new delay");return e.addEventToQueue(A,{delay:n}),e}),u(this,"changeCursor",function(n){if(!n)throw new Error("Must provide new cursor");return e.addEventToQueue(Q,{cursor:n}),e}),u(this,"deleteChars",function(n){if(!n)throw new Error("Must provide amount of characters to delete");for(var i=0;i1&&arguments[1]!==void 0?arguments[1]:null;if(!n||!Array.isArray(n))throw new Error("Characters must be an array");return n.forEach(function(v){e.addEventToQueue(h,{character:v,node:i})}),e}),u(this,"removeCharacters",function(n){if(!n||!Array.isArray(n))throw new Error("Characters must be an array");return n.forEach(function(){e.addEventToQueue(b)}),e}),u(this,"addEventToQueue",function(n,i){var v=arguments.length>2&&arguments[2]!==void 0&&arguments[2];return e.addEventToStateProperty(n,i,v,"eventQueue")}),u(this,"addReverseCalledEvent",function(n,i){var v=arguments.length>2&&arguments[2]!==void 0&&arguments[2];return e.options.loop?e.addEventToStateProperty(n,i,v,"reverseCalledEvents"):e}),u(this,"addEventToStateProperty",function(n,i){var v=arguments.length>2&&arguments[2]!==void 0&&arguments[2],m=arguments.length>3?arguments[3]:void 0,l={eventName:n,eventArgs:i||{}};return e.state[m]=v?[l].concat(O(e.state[m])):[].concat(O(e.state[m]),[l]),e}),u(this,"runEventLoop",function(){e.state.lastFrameTime||(e.state.lastFrameTime=Date.now());var n=Date.now(),i=n-e.state.lastFrameTime;if(!e.state.eventQueue.length){if(!e.options.loop)return;e.state.eventQueue=O(e.state.calledEvents),e.state.calledEvents=[],e.options=_({},e.state.initialOptions)}if(e.state.eventLoop=c()(e.runEventLoop),!e.state.eventLoopPaused){if(e.state.pauseUntil){if(nl.kind==="file").map(l=>l.webkitGetAsEntry()).filter(Boolean).length>0||[...((i=o.dataTransfer)==null?void 0:i.files)??[]].length>0}async function e(o){var i,l;const a=[],s=[...((i=o.dataTransfer)==null?void 0:i.items)??[]].filter(d=>d.kind==="file").map(d=>d.webkitGetAsEntry()).filter(Boolean);if(s.length)for(const d of s){const f=await ze(d,_e(".",d));a.push(...f.map(h=>h.file))}else a.push(...((l=o.dataTransfer)==null?void 0:l.files)??[]);return a}return{handleDrop:e,hasFilesOrFolders:t}}function ze(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return new Promise((o,a)=>{t.isFile?t.file(i=>o([{file:i,path:e}]),a):t.isDirectory&&t.createReader().readEntries(async i=>{const l=[];for(const d of i)l.push(...await ze(d,_e(e,d)));o(l)})})}function _e(t,e){return e.isDirectory?`${t}/${e.name}`:t}const _t=le({filterByType:String},"file-accept");function Ut(t){const e=W(()=>t.filterByType?Ot(t.filterByType):null);function o(a){if(e.value){const s=a.filter(e.value);return{accepted:s,rejected:a.filter(i=>!s.includes(i))}}return{accepted:a,rejected:[]}}return{filterAccepted:o}}function Ot(t){const e=t.split(",").map(i=>i.trim().toLowerCase()),o=e.filter(i=>i.startsWith(".")),a=e.filter(i=>i.endsWith("/*")),s=e.filter(i=>!o.includes(i)&&!a.includes(i));return i=>{var f,h;const l=((f=i.name.split(".").at(-1))==null?void 0:f.toLowerCase())??"",d=((h=i.type.split("/").at(0))==null?void 0:h.toLowerCase())??"";return s.includes(i.type)||o.includes(`.${l}`)||a.includes(`${d}/*`)}}const Yt=le({chips:Boolean,counter:Boolean,counterSizeString:{type:String,default:"$vuetify.fileInput.counterSize"},counterString:{type:String,default:"$vuetify.fileInput.counter"},hideInput:Boolean,multiple:Boolean,showSize:{type:[Boolean,Number,String],default:!1,validator:t=>typeof t=="boolean"||[1e3,1024].includes(Number(t))},truncateLength:{type:[Number,String],default:22},...We(Ft({prependIcon:"$file"}),["direction"]),modelValue:{type:[Array,Object],default:t=>t.multiple?[]:null,validator:t=>Le(t).every(e=>e!=null&&typeof e=="object")},..._t(),...Rt({clearable:!0})},"VFileInput"),Ht=ye()({name:"VFileInput",inheritAttrs:!1,props:Yt(),emits:{"click:control":t=>!0,"mousedown:control":t=>!0,"update:focused":t=>!0,"update:modelValue":t=>!0,rejected:t=>!0},setup(t,e){let{attrs:o,emit:a,slots:s}=e;const{t:i}=pt(),{filterAccepted:l}=Ut(t),d=Me(t,"modelValue",t.modelValue,u=>Le(u),u=>!t.multiple&&Array.isArray(u)?u[0]:u),{isFocused:f,focus:h,blur:v}=Bt(t),k=W(()=>typeof t.showSize!="boolean"?t.showSize:void 0),T=W(()=>(d.value??[]).reduce((u,g)=>{let{size:Y=0}=g;return u+Y},0)),V=W(()=>De(T.value,k.value)),D=W(()=>(d.value??[]).map(u=>{const{name:g="",size:Y=0}=u,H=re(g);return t.showSize?`${H} (${De(Y,k.value)})`:H})),J=W(()=>{var g;const u=((g=d.value)==null?void 0:g.length)??0;return t.showSize?i(t.counterSizeString,u,V.value):i(t.counterString,u)}),A=Q(),P=Q(),x=Q(),B=M(()=>f.value||t.active),N=W(()=>["plain","underlined"].includes(t.variant)),E=Vt(!1),{handleDrop:U,hasFilesOrFolders:F}=zt();function O(){var u;x.value!==document.activeElement&&((u=x.value)==null||u.focus()),f.value||h()}function ae(u){var g;(g=x.value)==null||g.click()}function _(u){a("mousedown:control",u)}function ie(u){var g;(g=x.value)==null||g.click(),a("click:control",u)}function be(u){u.stopPropagation(),O(),Ct(()=>{d.value=[],gt(t["onClick:clear"],u)})}function re(u){if(u.length{(!Array.isArray(u)||!u.length)&&x.value&&(x.value.value="")}),pe(()=>{const u=!!(s.counter||t.counter),g=!!(u||s.details),[Y,H]=bt(o),{modelValue:oe,...de}=Ve.filterProps(t),He={...Se.filterProps(t),"onClick:clear":be},Ge=o.webkitdirectory!==void 0&&o.webkitdirectory!==!1,Je=o.accept?String(o.accept):void 0,qe=Ge?void 0:t.filterByType??Je;return n(Ve,z({ref:A,modelValue:t.multiple?d.value:d.value[0],class:["v-file-input",{"v-file-input--chips":!!t.chips,"v-file-input--dragging":E.value,"v-file-input--hide":t.hideInput,"v-input--plain-underlined":N.value},t.class],style:t.style,"onClick:prepend":ae},Y,de,{centerAffix:!N.value,focused:f.value}),{...s,default:ue=>{let{id:ee,isDisabled:Z,isDirty:ve,isReadonly:ke,isValid:Xe,hasDetails:Ze}=ue;return n(Se,z({ref:P,prependIcon:t.prependIcon,onMousedown:_,onClick:ie,"onClick:prependInner":t["onClick:prependInner"],"onClick:appendInner":t["onClick:appendInner"]},He,{id:ee.value,active:B.value||ve.value,dirty:ve.value||t.dirty,disabled:Z.value,focused:f.value,details:Ze.value,error:Xe.value===!1,onDragover:ne,onDrop:Oe}),{...s,default:Ke=>{var Te;let{props:{class:Qe,...$e},controlRef:et}=Ke;return y(C,null,[y("input",z({ref:G=>x.value=et.value=G,type:"file",accept:qe,readonly:ke.value,disabled:Z.value,multiple:t.multiple,name:t.name,onClick:G=>{G.stopPropagation(),ke.value&&G.preventDefault(),O()},onChange:Ye,onDragleave:$,onFocus:O,onBlur:v},$e,H),null),y("div",{class:Ie(Qe)},[!!((Te=d.value)!=null&&Te.length)&&!t.hideInput&&(s.selection?s.selection({fileNames:D.value,totalBytes:T.value,totalBytesReadable:V.value}):t.chips?D.value.map(G=>n(I,{key:G,size:"small",text:G},null)):D.value.join(", "))])])}})},details:g?ue=>{var ee,Z;return y(C,null,[(ee=s.details)==null?void 0:ee.call(s,ue),u&&y(C,null,[y("span",null,null),n(Nt,{active:!!((Z=d.value)!=null&&Z.length),value:J.value,disabled:t.disabled},s.counter)])])}:void 0})}),Ne({},A,P,x)}}),Ue=le({fixed:Boolean,sliderColor:String,sliderTransition:String,sliderTransitionDuration:[String,Number],hideSlider:Boolean,inset:Boolean,direction:{type:String,default:"horizontal"},...We(st({selectedClass:"v-tab--selected",variant:"text"}),["active","block","flat","location","position","symbol"])},"VTab"),se=ye()({name:"VTab",props:Ue(),setup(t,e){let{slots:o,attrs:a}=e;const{textColorClasses:s,textColorStyles:i}=tt(()=>t.sliderColor),{backgroundColorClasses:l,backgroundColorStyles:d}=Re(()=>t.sliderColor),f=Q(),h=Q(),v=W(()=>t.direction==="horizontal"),k=W(()=>{var A,P;return((P=(A=f.value)==null?void 0:A.group)==null?void 0:P.isSelected.value)??!1});function T(A,P){return{opacity:[0,1]}}function V(A,P){return t.direction==="vertical"?{transform:["scaleY(0)","scaleY(1)"]}:{transform:["scaleX(0)","scaleX(1)"]}}function D(A,P){const x=P.getBoundingClientRect(),B=A.getBoundingClientRect(),N=v.value?"x":"y",E=v.value?"X":"Y",U=v.value?"right":"bottom",F=v.value?"width":"height",O=x[N],ae=B[N],_=O>ae?x[U]-B[U]:x[N]-B[N],ie=Math.sign(_)>0?v.value?"right":"bottom":Math.sign(_)<0?v.value?"left":"top":"center",re=(Math.abs(_)+(Math.sign(_)<0?x[F]:B[F]))/Math.max(x[F],B[F])||0,ne=x[F]/B[F]||0,$=1.5;return{transform:[`translate${E}(${_}px) scale${E}(${ne})`,`translate${E}(${_/$}px) scale${E}(${(re-1)/$+1})`,"none"],transformOrigin:Array(3).fill(ie)}}function J(A){var x,B;let{value:P}=A;if(P){const N=(B=(x=f.value)==null?void 0:x.$el.parentElement)==null?void 0:B.querySelector(".v-tab--selected .v-tab__slider"),E=h.value;if(!N||!E)return;const U=getComputedStyle(N).backgroundColor,F={fade:T,grow:V,shift:D}[t.sliderTransition??"shift"]??D,O=Number(t.sliderTransitionDuration)||({fade:400,grow:350,shift:225}[t.sliderTransition??"shift"]??225);vt(E,{backgroundColor:[U,U],...F(E,N)},{duration:O,easing:kt})}}return pe(()=>{const A=L.filterProps(t);return n(L,z({symbol:Fe,ref:f,class:["v-tab",t.class,k.value&&t.inset?l.value:[]],style:[t.style,k.value&&t.inset?d.value:[],{backgroundColor:k.value&&t.inset?"transparent !important":void 0}],tabindex:k.value?0:-1,role:"tab","aria-selected":String(k.value),active:!1},A,a,{block:t.fixed,maxWidth:t.fixed?300:void 0,"onGroup:selected":J}),{...o,default:()=>{var P;return y(C,null,[((P=o.default)==null?void 0:P.call(o))??t.text,!t.hideSlider&&y("div",{ref:h,class:Ie(["v-tab__slider",t.inset?l.value:s.value]),style:St([i.value,t.inset?d.value:s.value])},null)])}})}),Ne({},f)}});function Gt(t){return t?t.map(e=>xt(e)?e:{text:e,value:e}):[]}const Jt=le({alignTabs:{type:String,default:"start"},color:String,fixedTabs:Boolean,items:{type:Array,default:()=>[]},stacked:Boolean,bgColor:String,grow:Boolean,height:{type:[Number,String],default:void 0},hideSlider:Boolean,inset:Boolean,insetPadding:[String,Number],insetRadius:[String,Number],sliderColor:String,...wt(Ue(),["spaced","sliderTransition","sliderTransitionDuration"]),...Pt({mandatory:"force",selectedClass:"v-tab-item--selected"}),...rt(),...it()},"VTabs"),Ae=ye()({name:"VTabs",props:Jt(),emits:{"update:modelValue":t=>!0},setup(t,e){let{attrs:o,slots:a}=e;const s=Me(t,"modelValue"),i=W(()=>Gt(t.items)),{densityClasses:l}=lt(t),{backgroundColorClasses:d,backgroundColorStyles:f}=Re(()=>t.bgColor),{scopeId:h}=at();return Tt({VTab:{color:M(t,"color"),direction:M(t,"direction"),stacked:M(t,"stacked"),fixed:M(t,"fixedTabs"),inset:M(t,"inset"),sliderColor:M(t,"sliderColor"),sliderTransition:M(t,"sliderTransition"),sliderTransitionDuration:M(t,"sliderTransitionDuration"),hideSlider:M(t,"hideSlider")}}),pe(()=>{const v=Ce.filterProps(t),k=!!(a.window||t.items.length>0);return y(C,null,[n(Ce,z(v,{modelValue:s.value,"onUpdate:modelValue":T=>s.value=T,class:["v-tabs",`v-tabs--${t.direction}`,`v-tabs--align-tabs-${t.alignTabs}`,{"v-tabs--fixed-tabs":t.fixedTabs,"v-tabs--grow":t.grow,"v-tabs--inset":t.inset,"v-tabs--stacked":t.stacked},l.value,d.value,t.class],style:[{"--v-tabs-height":fe(t.height),"--v-tabs-inset-padding":t.inset?fe(t.insetPadding):void 0,"--v-tabs-inset-radius":t.inset?fe(t.insetRadius):void 0},f.value,t.style],role:"tablist",symbol:Fe},h,o),{default:a.default??(()=>i.value.map(T=>{var V;return((V=a.tab)==null?void 0:V.call(a,{item:T}))??n(se,z(T,{key:T.text,value:T.value,spaced:t.spaced}),{default:a[`tab.${T.value}`]?()=>{var D;return(D=a[`tab.${T.value}`])==null?void 0:D.call(a,{item:T})}:void 0})})),prev:a.prev,next:a.next}),k&&n(ft,z({modelValue:s.value,"onUpdate:modelValue":T=>s.value=T,key:"tabs-window"},h),{default:()=>{var T;return[i.value.map(V=>{var D;return((D=a.item)==null?void 0:D.call(a,{item:V}))??n(mt,{value:V.value},{default:()=>{var J;return(J=a[`item.${V.value}`])==null?void 0:J.call(a,{item:V})}})}),(T=a.window)==null?void 0:T.call(a)]}})])}),{}}}),Ee=()=>new Promise((t,e)=>{if(typeof window.jsyaml<"u")return t(window.jsyaml);const o=document.createElement("script");o.src="https://cdnjs.cloudflare.com/ajax/libs/js-yaml/4.1.0/js-yaml.min.js",o.async=!0,o.onload=()=>t(window.jsyaml),o.onerror=()=>e(new Error("无法加载YAML解析库")),document.head.appendChild(o)});class Be{constructor(e){this.data=e,this.version=null,this.subjects=[],this.schedules=[],this._parseData()}_parseData(){if(!this.data)return;this.version=this.data.version||1;const e=this.data.subjects||[];for(const a of e)this.subjects.push({name:a.name,simplified_name:a.simplified_name||null,teacher:a.teacher||null,room:a.room||null});const o=this.data.schedules||[];for(const a of o){const s=[];for(const i of a.classes||[])s.push({subject:i.subject,start_time:i.start_time,end_time:i.end_time});this.schedules.push({name:a.name,enable_day:a.enable_day,weeks:a.weeks||"all",classes:s})}}getSubjects(){return this.subjects}getSchedules(){return this.schedules}getScheduleByDay(e){const o=this.schedules.find(a=>a.enable_day===e);return o?o.classes:[]}toCsesData(){return{version:this.version,subjects:this.subjects,schedules:this.schedules}}}const qt={name:"Cses2Wakeup",data(){return{activeTab:"text",file:null,jsonText:"",loading:!1,error:"",success:"",processedData:null,selectedRows:[],exportPeriods:[],selectedDays:[1,2,3,4,5,6,7],formatMode:"auto",yamlLibLoaded:!1,activeDay:null,subjectColors:{数学:"blue",语文:"red",英语:"green",物理:"purple",化学:"orange",生物:"teal",历史:"brown",地理:"indigo",政治:"pink",体育:"cyan",自习:"grey",早读:"amber",班会:"deep-purple",听力:"light-blue",信息技术:"light-green"},settings:{hideTeacherName:!1,hideRoom:!1,totalWeeks:30},tableHeaders:[{title:"",key:"data-table-select"},{title:"节次",key:"period"},{title:"周一",key:"1"},{title:"周二",key:"2"},{title:"周三",key:"3"},{title:"周四",key:"4"},{title:"周五",key:"5"},{title:"周六",key:"6"},{title:"周日",key:"7"}],timeTableHeaders:[{title:"节次",key:"period"},{title:"课程",key:"subject"},{title:"星期",key:"day"},{title:"开始时间",key:"startTime"},{title:"结束时间",key:"endTime"},{title:"教师",key:"teacher"},{title:"教室",key:"room"},{title:"周次",key:"weeks"}],dayNames:{1:"周一",2:"周二",3:"周三",4:"周四",5:"周五",6:"周六",7:"周日"}}},computed:{timeTableData(){if(!this.processedData||!this.processedData.tableData)return[];const t=[],e=this.processedData.tableData.filter(a=>this.exportPeriods.includes(a.period)),o={};return e.sort((a,s)=>a.period-s.period).forEach((a,s)=>{o[a.period]=s+1}),e.forEach(a=>{for(let s=1;s<=7;s++){if(!this.selectedDays.includes(s))continue;const i=a[s];if(i)if(Array.isArray(i))i.forEach(l=>{!l||!l.name||t.push({originalPeriod:a.period,period:o[a.period],subject:l.name,day:this.dayNames[s],startTime:l.startTime,endTime:l.endTime,teacher:this.settings.hideTeacherName?"":l.teacher||"",room:this.settings.hideRoom?"":l.room||"",weeks:l.weekType?`1-${this.settings.totalWeeks}${l.weekType}`:`1-${this.settings.totalWeeks}`})});else{if(!i.name)continue;t.push({originalPeriod:a.period,period:o[a.period],subject:i.name,day:this.dayNames[s],startTime:i.startTime,endTime:i.endTime,teacher:this.settings.hideTeacherName?"":i.teacher||"",room:this.settings.hideRoom?"":i.room||"",weeks:i.weekType?`1-${this.settings.totalWeeks}${i.weekType}`:`1-${this.settings.totalWeeks}`})}}}),t.sort((a,s)=>{if(a.period!==s.period)return a.period-s.period;const i={周一:1,周二:2,周三:3,周四:4,周五:5,周六:6,周日:7};return i[a.day]-i[s.day]})},hasExportData(){return this.processedData&&this.exportPeriods.length>0},totalClassHours(){return this.timeTableData.length},daysWithSchedule(){const t=[];for(let e=1;e<=7;e++)this.selectedDays.includes(e)&&this.getDaySchedule(e).length>0&&t.push(e);return t}},methods:{async handleFileChange(){if(this.resetData(),!this.file)return;const t=this.file.name.toLowerCase();if(t.endsWith(".json")||t.endsWith(".js"))this.formatMode="json";else if((t.endsWith(".yml")||t.endsWith(".yaml"))&&(this.formatMode="yaml",!this.yamlLibLoaded))try{await Ee(),this.yamlLibLoaded=!0}catch(e){this.error=`无法加载YAML解析库: ${e.message}`;return}try{const e=new FileReader;e.onload=async o=>{try{this.jsonText=o.target.result,await this.processInput()}catch(a){this.error=`文件读取失败: ${a.message}`}},e.onerror=()=>{this.error="文件读取失败"},e.readAsText(this.file)}catch(e){this.error=`文件处理失败: ${e.message}`}},handleTextChange(){this.resetData()},resetData(){this.error="",this.success="",this.processedData=null,this.selectedRows=[],this.exportPeriods=[]},async processInput(){if(!this.jsonText&&!this.file){this.error="请粘贴文本或上传文件";return}this.loading=!0,this.error="",this.success="";try{await this.$nextTick();let t;try{if(this.formatMode==="yaml"||this.formatMode==="auto"&&this.isYaml(this.jsonText)){const o=this.parseYaml(this.jsonText);t=new Be(o).toCsesData()}else t=JSON.parse(this.jsonText)}catch(o){throw new Error(`格式解析错误: ${o.message}`)}if(!this.validateCsesFormat(t))throw new Error("不是有效的CSES格式数据");const e=this.processCsesData(t);this.processedData=e,this.selectedDays=[1,2,3,4,5],this.success="数据处理成功!",e.tableData&&e.tableData.length>0&&(this.selectedRows=[...e.tableData],this.exportPeriods=e.tableData.map(o=>o.period))}catch(t){this.error="数据处理失败:"+t.message,console.error(t)}finally{this.loading=!1}},validateCsesFormat(t){return t instanceof Be?t.version===1&&Array.isArray(t.subjects)&&Array.isArray(t.schedules):!(!t||typeof t!="object"||t.version!==1||!Array.isArray(t.subjects)||!Array.isArray(t.schedules))},processCsesData(t){const{schedules:e,subjects:o}=t,a=Object.fromEntries(o.map(l=>[l.name,l])),s=[];let i=0;e.forEach(l=>{l.classes&&l.classes.length>i&&(i=l.classes.length)});for(let l=1;l<=i;l++)s.push({period:l,1:null,2:null,3:null,4:null,5:null,6:null,7:null});return e.forEach(l=>{const d=l.enable_day;if(!d||d<1||d>7)return;let f="";l.weeks==="odd"?f="单":l.weeks==="even"&&(f="双"),l.classes.forEach((h,v)=>{if(!h.subject)return;const k=v+1;if(k>i)return;const T=a[h.subject]||{},V={name:h.subject,teacher:T.teacher||"",room:T.room||"",period:k,startTime:h.start_time,endTime:h.end_time,day:d,weekType:f},D=s[k-1][d];D?f&&D.weekType&&f!==D.weekType?(Array.isArray(s[k-1][d])||(s[k-1][d]=[D]),s[k-1][d].push(V)):f===D.weekType?s[k-1][d]=V:f||(s[k-1][d]=V):s[k-1][d]=V})}),{tableData:s,originalData:t}},updateSelectedPeriods(t){this.exportPeriods=[],t&&t.length>0&&(this.exportPeriods=[...new Set(t.filter(e=>e&&typeof e.period=="number").map(e=>e.period))])},getTimeTableData(){return this.timeTableData},downloadCSV(){var s;if(!((s=this.processedData)!=null&&s.tableData)){this.error="没有可下载的数据";return}if(this.exportPeriods.length===0){this.error="请至少选择一节要导出的课";return}if(this.daysWithSchedule.length===0||this.totalClassHours===0){this.error="没有课程数据可导出";return}let t=`课程名称,星期,开始节数,结束节数,老师,地点,周数 +`;for(const i of this.daysWithSchedule){const l=this.groupByPeriod(this.getDaySchedule(i));for(const d of l)for(const f of d.items){const h={周一:1,周二:2,周三:3,周四:4,周五:5,周六:6,周日:7}[f.day],v=this.settings.hideTeacherName?"":f.teacher||"",k=this.settings.hideRoom?"":f.room||"";t+=`${f.subject},${h},${f.period},${f.period},${v},${k},${f.weeks} +`}}const e="\uFEFF",o=new Blob([e+t],{type:"text/csv;charset=utf-8"}),a=document.createElement("a");a.href=URL.createObjectURL(o),a.download=`course_schedule_${this.totalClassHours}课时.csv`,a.click(),URL.revokeObjectURL(a.href),this.success=`导出成功!共计 ${this.totalClassHours} 课时`},showExportPreview(){if(!this.hasExportData){this.error="请先选择要导出的节次";return}const t=this.timeTableData.slice(0,5).map(e=>`${e.subject} (${e.day} 第${e.period}节)`).join(` +`);this.timeTableData.length>5?this.success=`导出预览 (共${this.totalClassHours}课时): +${t} +...等${this.totalClassHours-5}节课程`:this.success=`导出预览 (共${this.totalClassHours}课时): +${t}`,this.$nextTick(()=>{this.daysWithSchedule.length>0&&!this.activeDay&&(this.activeDay=this.daysWithSchedule[0])})},isYaml(t){const e=t.trim();if(e.startsWith("{")||e.startsWith("["))try{return JSON.parse(e),!1}catch{}return/^\s*[a-zA-Z0-9_-]+\s*:/.test(e)||/\n\s*[a-zA-Z0-9_-]+\s*:/.test(e)},parseYaml(t){try{if(typeof window.jsyaml<"u")return window.jsyaml.load(t);throw new Error("YAML解析器未加载")}catch(e){throw new Error(`YAML解析错误: ${e.message}`)}},getDaySchedule(t){return this.timeTableData?this.getUnfilteredTimeTableData().filter(o=>({周一:1,周二:2,周三:3,周四:4,周五:5,周六:6,周日:7})[o.day]===t):[]},getUnfilteredTimeTableData(){if(!this.processedData||!this.processedData.tableData)return[];const t=[],e=this.processedData.tableData.filter(a=>this.exportPeriods.includes(a.period)),o={};return e.sort((a,s)=>a.period-s.period).forEach((a,s)=>{o[a.period]=s+1}),e.forEach(a=>{for(let s=1;s<=7;s++){const i=a[s];if(i)if(Array.isArray(i))i.forEach(l=>{!l||!l.name||t.push({originalPeriod:a.period,period:o[a.period],subject:l.name,day:this.dayNames[s],startTime:l.startTime,endTime:l.endTime,teacher:this.settings.hideTeacherName?"":l.teacher||"",room:this.settings.hideRoom?"":l.room||"",weeks:l.weekType?`1-${this.settings.totalWeeks}${l.weekType}`:`1-${this.settings.totalWeeks}`})});else{if(!i.name)continue;t.push({originalPeriod:a.period,period:o[a.period],subject:i.name,day:this.dayNames[s],startTime:i.startTime,endTime:i.endTime,teacher:this.settings.hideTeacherName?"":i.teacher||"",room:this.settings.hideRoom?"":i.room||"",weeks:i.weekType?`1-${this.settings.totalWeeks}${i.weekType}`:`1-${this.settings.totalWeeks}`})}}}),t.sort((a,s)=>{if(a.period!==s.period)return a.period-s.period;const i={周一:1,周二:2,周三:3,周四:4,周五:5,周六:6,周日:7};return i[a.day]-i[s.day]})},groupByPeriod(t){const e={};return t.forEach(o=>{e[o.period]||(e[o.period]={period:o.period,originalPeriod:o.originalPeriod,items:[],timeSlots:[]}),e[o.period].items.push(o),e[o.period].timeSlots.push({startTime:o.startTime,endTime:o.endTime})}),Object.values(e).forEach(o=>{o.uniqueTimeSlots=[],o.timeSlots.forEach(a=>{o.uniqueTimeSlots.some(s=>s.startTime===a.startTime&&s.endTime===a.endTime)||o.uniqueTimeSlots.push(a)}),o.uniqueTimeSlots.sort((a,s)=>a.startTime.localeCompare(s.startTime))}),Object.values(e).sort((o,a)=>o.period-a.period)},formatTime(t){return t?t.substring(0,5):""},getSubjectColor(t){return this.subjectColors[t]||"grey"},selectAllDays(){this.selectedDays=[1,2,3,4,5,6,7]},clearSelectedDays(){this.selectedDays=[]}},async mounted(){try{await Ee(),this.yamlLibLoaded=!0}catch(t){this.error=t.message}this.$watch("daysWithSchedule",t=>{t.length>0&&!this.activeDay&&(this.activeDay=t[0])})}},Xt={class:"d-flex align-center"},Zt={class:"d-flex align-center"},Kt={key:2,class:"text-caption mb-2"},Qt={class:"d-flex align-center mb-2"},$t={class:"d-flex align-center mb-3"},es={class:"d-flex align-center mb-3"},ts={key:0,class:"course-cell"},ss={key:0},ls={key:1},as={key:2,class:"week-type"},is={key:0},rs={key:1},ns={key:2,class:"week-type"},os={class:"text-center font-weight-bold"};function ds(t,e,o,a,s,i){return m(),S(It,{class:"fill-height"},{default:r(()=>[n(we,null,{default:r(()=>[n(X,{cols:"12"},{default:r(()=>[n(q,{class:"elevation-12",border:""},{default:r(()=>[n(ce,{class:"d-flex align-center primary lighten-1 white--text py-3 px-4"},{default:r(()=>[n(j,{color:"white",class:"mr-2"},{default:r(()=>[...e[15]||(e[15]=[c("mdi-swap-horizontal",-1)])]),_:1}),e[16]||(e[16]=c(" 课程表转换工具 ",-1))]),_:1}),n(ot,null,{default:r(()=>[...e[17]||(e[17]=[c(" 将CSES格式的JSON或YAML文本转换为WakeUp软件使用的课程表 ",-1)])]),_:1}),n(te,null,{default:r(()=>[s.error?(m(),S(K,{key:0,type:"error",class:"mb-4 mt-3 mx-2",variant:"tonal",border:"start",closable:"","onClick:close":e[0]||(e[0]=l=>s.error="")},{default:r(()=>[y("div",Xt,[n(j,{class:"mr-2"},{default:r(()=>[...e[18]||(e[18]=[c("mdi-alert-circle",-1)])]),_:1}),c(" "+p(s.error),1)])]),_:1})):w("",!0),s.success?(m(),S(K,{key:1,type:"success",class:"mb-4 mt-3 mx-2",variant:"tonal",border:"start",closable:"","onClick:close":e[1]||(e[1]=l=>s.success="")},{default:r(()=>[y("div",Zt,[n(j,{class:"mr-2"},{default:r(()=>[...e[19]||(e[19]=[c("mdi-check-circle",-1)])]),_:1}),c(" "+p(s.success),1)])]),_:1})):w("",!0),n(Ae,{modelValue:s.activeTab,"onUpdate:modelValue":e[2]||(e[2]=l=>s.activeTab=l),class:"mb-4 mx-2",color:"primary",rounded:""},{default:r(()=>[n(se,{value:"text",class:"px-5"},{default:r(()=>[n(j,{start:""},{default:r(()=>[...e[20]||(e[20]=[c("mdi-text-box",-1)])]),_:1}),e[21]||(e[21]=c(" 文本粘贴 ",-1))]),_:1}),n(se,{value:"file",class:"px-5"},{default:r(()=>[n(j,{start:""},{default:r(()=>[...e[22]||(e[22]=[c("mdi-file-upload",-1)])]),_:1}),e[23]||(e[23]=c(" 文件上传 ",-1))]),_:1})]),_:1},8,["modelValue"]),n(dt,{modelValue:s.formatMode,"onUpdate:modelValue":e[3]||(e[3]=l=>s.formatMode=l),color:"primary",class:"mb-4 mx-2",mandatory:"",density:"comfortable",border:"",rounded:""},{default:r(()=>[n(L,{value:"auto"},{default:r(()=>[...e[24]||(e[24]=[c("自动检测",-1)])]),_:1}),n(L,{value:"json"},{default:r(()=>[...e[25]||(e[25]=[c("JSON",-1)])]),_:1}),n(L,{value:"yaml",disabled:!s.yamlLibLoaded},{default:r(()=>[e[26]||(e[26]=c(" YAML ",-1)),n(he,{activator:"parent",location:"bottom"},{default:r(()=>[c(p(s.yamlLibLoaded?"YAML解析库已加载":"正在加载YAML解析库..."),1)]),_:1})]),_:1},8,["disabled"])]),_:1},8,["modelValue"]),s.jsonText&&s.formatMode==="auto"?(m(),b("div",Kt," 检测到的格式: "+p(i.isYaml(s.jsonText)?"YAML":"JSON"),1)):w("",!0),n(xe,{modelValue:s.activeTab,"onUpdate:modelValue":e[6]||(e[6]=l=>s.activeTab=l)},{default:r(()=>[n(me,{value:"text"},{default:r(()=>[y("div",Qt,[n(Et,{modelValue:s.jsonText,"onUpdate:modelValue":e[4]||(e[4]=l=>s.jsonText=l),label:"粘贴JSON或YAML文本",loading:s.loading,disabled:s.loading,"row-height":"25",rows:"6",placeholder:"请在此粘贴CSES格式的数据...",onInput:i.handleTextChange},null,8,["modelValue","loading","disabled","onInput"])])]),_:1}),n(me,{value:"file"},{default:r(()=>[n(Ht,{modelValue:s.file,"onUpdate:modelValue":e[5]||(e[5]=l=>s.file=l),accept:".js,.json,.yml,.yaml",label:"选择课程表文件","prepend-icon":"mdi-file-upload",loading:s.loading,disabled:s.loading,onChange:i.handleFileChange,hint:"支持JSON、YAML格式文件","persistent-hint":"",rules:[l=>!l||l.size<2e6||"文件大小不能超过 2 MB"]},null,8,["modelValue","loading","disabled","onChange","rules"]),s.file&&s.formatMode==="auto"?(m(),S(K,{key:0,type:"info",class:"mb-4",variant:"tonal",density:"compact"},{default:r(()=>[...e[27]||(e[27]=[c(" 将根据文件扩展名自动检测格式 ",-1)])]),_:1})):w("",!0)]),_:1})]),_:1},8,["modelValue"]),n(X,{cols:"12"},{default:r(()=>[n(q,{flat:"",class:"pa-4 rounded-lg",border:""},{default:r(()=>[y("div",$t,[n(j,{color:"primary",class:"mr-2"},{default:r(()=>[...e[28]||(e[28]=[c("mdi-calendar-multiselect",-1)])]),_:1}),e[33]||(e[33]=y("h3",{class:"text-subtitle-1 font-weight-medium mr-auto"},"选择导出天数",-1)),n(L,{variant:"text",color:"primary",class:"ml-2",onClick:i.selectAllDays},{default:r(()=>[n(j,{start:"",size:"small"},{default:r(()=>[...e[29]||(e[29]=[c("mdi-checkbox-multiple-marked",-1)])]),_:1}),e[30]||(e[30]=c(" 全选 ",-1))]),_:1},8,["onClick"]),n(L,{variant:"text",color:"error",class:"ml-2",onClick:i.clearSelectedDays},{default:r(()=>[n(j,{start:"",size:"small"},{default:r(()=>[...e[31]||(e[31]=[c("mdi-checkbox-multiple-blank-outline",-1)])]),_:1}),e[32]||(e[32]=c(" 清除 ",-1))]),_:1},8,["onClick"])]),n(At,{modelValue:s.selectedDays,"onUpdate:modelValue":e[7]||(e[7]=l=>s.selectedDays=l),multiple:"",class:"mb-2",color:"primary"},{default:r(()=>[(m(),b(C,null,R(7,l=>n(I,{key:l,value:l,filter:"",variant:"tonal",class:"filter-chip",label:""},{default:r(()=>[c(p(s.dayNames[l])+" ",1),i.getDaySchedule(l).length>0?(m(),S(je,{key:0,content:i.getDaySchedule(l).length,color:"primary",inline:""},null,8,["content"])):w("",!0)]),_:2},1032,["value"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1}),n(X,{cols:"12"},{default:r(()=>[n(q,{flat:"",class:"pa-4 rounded-lg",border:""},{default:r(()=>[y("div",es,[n(j,{color:"primary",class:"mr-2"},{default:r(()=>[...e[34]||(e[34]=[c("mdi-cog",-1)])]),_:1}),e[35]||(e[35]=y("h3",{class:"text-subtitle-1 font-weight-medium"},"显示配置",-1))]),n(we,null,{default:r(()=>[n(X,{cols:"12",sm:"6"},{default:r(()=>[n(Pe,{modelValue:s.settings.hideTeacherName,"onUpdate:modelValue":e[8]||(e[8]=l=>s.settings.hideTeacherName=l),label:"不显示教师姓名",color:"primary",inset:"","hide-details":""},null,8,["modelValue"])]),_:1}),n(X,{cols:"12",sm:"6"},{default:r(()=>[n(Pe,{modelValue:s.settings.hideRoom,"onUpdate:modelValue":e[9]||(e[9]=l=>s.settings.hideRoom=l),label:"不显示教室信息",color:"primary",inset:"","hide-details":""},null,8,["modelValue"])]),_:1}),n(X,{cols:"12",sm:"6"},{default:r(()=>[n(Mt,{modelValue:s.settings.totalWeeks,"onUpdate:modelValue":e[10]||(e[10]=l=>s.settings.totalWeeks=l),modelModifiers:{number:!0},label:"总周数",type:"number",min:"1",max:"30",rules:[l=>l>0||"周数必须大于0"],density:"comfortable",variant:"outlined","prepend-inner-icon":"mdi-calendar-week",class:"mt-3"},null,8,["modelValue","rules"])]),_:1})]),_:1})]),_:1})]),_:1}),s.loading?(m(),S(q,{key:3,class:"my-4",outlined:""},{default:r(()=>[n(te,null,{default:r(()=>[n(Lt,{type:"table",class:"mx-auto"})]),_:1})]),_:1})):w("",!0),s.processedData?(m(),S(I,{key:4,color:"primary",class:"ml-2","prepend-icon":"mdi-book-open-variant"},{default:r(()=>[c(p(s.processedData.tableData.length)+" 节课程 ",1)]),_:1})):w("",!0),s.processedData&&s.exportPeriods.length===0?(m(),S(K,{key:5,type:"warning",class:"mb-4",closable:""},{default:r(()=>[...e[36]||(e[36]=[c(" 请选择要导出的节次 ",-1)])]),_:1})):w("",!0),s.processedData?(m(),S(q,{key:6,class:"my-4",elevation:"1"},{default:r(()=>[n(ce,{class:"d-flex align-center pa-4 bg-primary-lighten-5"},{default:r(()=>[n(j,{color:"primary",class:"mr-2"},{default:r(()=>[...e[37]||(e[37]=[c("mdi-table",-1)])]),_:1}),e[39]||(e[39]=y("span",{class:"font-weight-bold"},"课程表",-1)),n(I,{color:"primary",class:"ml-3",size:"small",pill:""},{default:r(()=>[n(j,{start:"",size:"x-small"},{default:r(()=>[...e[38]||(e[38]=[c("mdi-book-open-variant",-1)])]),_:1}),c(" "+p(s.processedData.tableData.length)+" 节课程 ",1)]),_:1})]),_:1}),n(te,{class:"pa-0"},{default:r(()=>[n(ht,{"items-selected":s.selectedRows,"onUpdate:itemsSelected":[e[12]||(e[12]=l=>s.selectedRows=l),i.updateSelectedPeriods],headers:s.tableHeaders,items:s.processedData.tableData,"hide-default-footer":"",class:"elevation-1","items-per-page":-1,"item-value":"period","show-select":"","select-strategy":"single-independent","sort-by":[],"disable-sort":""},jt({"item.data-table-select":r(({item:l})=>[n(Wt,{modelValue:s.exportPeriods,"onUpdate:modelValue":e[11]||(e[11]=d=>s.exportPeriods=d),value:l.period,"hide-details":"",density:"compact"},null,8,["modelValue","value"])]),_:2},[R(7,l=>({name:`item.${l}`,fn:r(({item:d})=>[d[l]?(m(),b("div",ts,[Array.isArray(d[l])?(m(!0),b(C,{key:0},R(d[l],(f,h)=>(m(),b("div",{key:h,class:"course-item"},[c(p(f.name)+" ",1),!s.settings.hideTeacherName&&f.teacher?(m(),b("span",ss,[e[40]||(e[40]=y("br",null,null,-1)),c(p(f.teacher),1)])):w("",!0),!s.settings.hideRoom&&f.room?(m(),b("span",ls,[e[41]||(e[41]=y("br",null,null,-1)),c(p(f.room),1)])):w("",!0),f.weekType?(m(),b("span",as,p(f.weekType)+"周 ",1)):w("",!0)]))),128)):(m(),b(C,{key:1},[c(p(d[l].name)+" ",1),!s.settings.hideTeacherName&&d[l].teacher?(m(),b("span",is,[e[42]||(e[42]=y("br",null,null,-1)),c(p(d[l].teacher),1)])):w("",!0),!s.settings.hideRoom&&d[l].room?(m(),b("span",rs,[e[43]||(e[43]=y("br",null,null,-1)),c(p(d[l].room),1)])):w("",!0),d[l].weekType?(m(),b("span",ns,p(d[l].weekType)+"周 ",1)):w("",!0)],64))])):w("",!0)])}))]),1032,["items-selected","headers","items","onUpdate:itemsSelected"])]),_:1})]),_:1})):w("",!0),i.hasExportData?(m(),S(q,{key:7,class:"my-4",elevation:"1"},{default:r(()=>[n(ce,{class:"d-flex align-center pa-4 bg-primary-lighten-5"},{default:r(()=>[n(j,{color:"primary",class:"mr-2"},{default:r(()=>[...e[44]||(e[44]=[c("mdi-timetable",-1)])]),_:1}),e[48]||(e[48]=y("span",{class:"font-weight-bold"},"每日课程时间表",-1)),n(I,{class:"ml-3",size:"small",color:"primary",pill:""},{default:r(()=>[n(j,{start:"",size:"x-small"},{default:r(()=>[...e[45]||(e[45]=[c("mdi-clock-outline",-1)])]),_:1}),c(" "+p(i.totalClassHours)+" 课时 ",1)]),_:1}),s.exportPeriods.length>0?(m(),S(he,{key:0},{activator:r(({props:l})=>[n(I,z({class:"ml-2",size:"small",color:"info"},l,{pill:""}),{default:r(()=>[n(j,{start:"",size:"x-small"},{default:r(()=>[...e[46]||(e[46]=[c("mdi-information-outline",-1)])]),_:1}),e[47]||(e[47]=c(" 节次已重排 ",-1))]),_:1},16)]),default:r(()=>[y("span",null,"已将选中的节次 "+p(s.exportPeriods.join(", "))+" 重新排序为连续的 1-"+p(s.exportPeriods.length),1)]),_:1})):w("",!0)]),_:1}),n(te,null,{default:r(()=>[i.daysWithSchedule.length>0?(m(),S(Ae,{key:0,modelValue:s.activeDay,"onUpdate:modelValue":e[13]||(e[13]=l=>s.activeDay=l),class:"mb-4",color:"primary",grow:"","align-tabs":"center"},{default:r(()=>[(m(!0),b(C,null,R(i.daysWithSchedule,l=>(m(),S(se,{key:l,value:l,class:"px-2 font-weight-medium"},{default:r(()=>[c(p(s.dayNames[l])+" ",1),n(je,{content:i.getDaySchedule(l).length,color:"primary",inline:""},null,8,["content"])]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])):w("",!0),n(xe,{modelValue:s.activeDay,"onUpdate:modelValue":e[14]||(e[14]=l=>s.activeDay=l)},{default:r(()=>[(m(!0),b(C,null,R(i.daysWithSchedule,l=>(m(),S(me,{key:l,value:l},{default:r(()=>[n(yt,{density:"compact",class:"rounded","headers-length":6,"disable-sort":""},{default:r(()=>[e[50]||(e[50]=y("thead",null,[y("tr",null,[y("th",{class:"text-center"},"节次"),y("th",null,"课程"),y("th",null,"时间"),y("th",null,"教师"),y("th",null,"教室"),y("th",null,"周次")])],-1)),y("tbody",null,[(m(!0),b(C,null,R(i.groupByPeriod(i.getDaySchedule(l)),(d,f)=>(m(),b("tr",{key:f},[y("td",os,[c(p(d.period)+" ",1),d.originalPeriod!==d.period?(m(),S(he,{key:0},{activator:r(({props:h})=>[n(j,z({size:"x-small"},{ref_for:!0},h,{color:"info",class:"ml-1"}),{default:r(()=>[...e[49]||(e[49]=[c("mdi-sync",-1)])]),_:1},16)]),default:r(()=>[c(" 原节次: "+p(d.originalPeriod),1)]),_:2},1024)):w("",!0)]),y("td",null,[(m(!0),b(C,null,R(d.items,(h,v)=>(m(),b("div",{key:v,class:"mb-1"},[n(I,{size:"small",color:i.getSubjectColor(h.subject),label:"","text-color":"white",class:"mr-1"},{default:r(()=>[c(p(h.subject),1)]),_:2},1032,["color"]),d.items.length>1?(m(),S(I,{key:0,size:"x-small",class:"ml-1",color:h.weekType==="单"?"warning":"success"},{default:r(()=>[c(p(h.weekType)+"周 ",1)]),_:2},1032,["color"])):w("",!0)]))),128))]),y("td",null,[(m(!0),b(C,null,R(d.uniqueTimeSlots,(h,v)=>(m(),b("div",{key:v,class:"mb-1"},[n(I,{size:"x-small",class:"time-chip"},{default:r(()=>[c(p(i.formatTime(h.startTime))+" - "+p(i.formatTime(h.endTime)),1)]),_:2},1024)]))),128))]),y("td",null,[s.settings.hideTeacherName?(m(),b(C,{key:1},[c("-")],64)):(m(!0),b(C,{key:0},R(d.items,(h,v)=>(m(),b("div",{key:v,class:"mb-1"},p(h.teacher||"-"),1))),128))]),y("td",null,[s.settings.hideRoom?(m(),b(C,{key:1},[c("-")],64)):(m(!0),b(C,{key:0},R(d.items,(h,v)=>(m(),b("div",{key:v,class:"mb-1"},p(h.room||"-"),1))),128))]),y("td",null,[(m(!0),b(C,null,R(d.items,(h,v)=>(m(),b("div",{key:v,class:"mb-1"},p(h.weeks),1))),128))])]))),128))])]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"]),i.hasExportData&&i.daysWithSchedule.length===0?(m(),S(K,{key:1,type:"info",class:"mt-3"},{default:r(()=>[...e[51]||(e[51]=[c(" 没有找到任何课程数据 ",-1)])]),_:1})):w("",!0)]),_:1})]),_:1})):w("",!0)]),_:1}),n(ut,{class:""},{default:r(()=>[n(ct),n(L,{color:"primary",variant:"outlined",loading:s.loading,disabled:!s.jsonText&&!s.file||s.loading,onClick:i.processInput,"prepend-icon":"mdi-cog-refresh"},{default:r(()=>[...e[52]||(e[52]=[c(" 处理数据 ",-1)])]),_:1},8,["loading","disabled","onClick"]),n(L,{color:"info",disabled:!i.hasExportData,onClick:i.showExportPreview,class:"ml-2","prepend-icon":"mdi-eye",border:""},{default:r(()=>[...e[53]||(e[53]=[c(" 刷新 ",-1)])]),_:1},8,["disabled","onClick"]),n(L,{color:"success",variant:"outlined",disabled:!i.hasExportData,onClick:i.downloadCSV,class:"ml-2","prepend-icon":"mdi-download",border:""},{default:r(()=>[...e[54]||(e[54]=[c(" 下载CSV ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}const As=nt(qt,[["render",ds],["__scopeId","data-v-c07f22af"]]);export{As as default}; diff --git a/assets/cses2wakeup-Y-ZBCCNd.js b/assets/cses2wakeup-Y-ZBCCNd.js deleted file mode 100644 index ae04b34..0000000 --- a/assets/cses2wakeup-Y-ZBCCNd.js +++ /dev/null @@ -1,7 +0,0 @@ -import{p as le,a3 as z,g as ye,aq as tt,ar as Ne,as as Re,ae as st,b as pe,at as lt,c as n,i as y,F as C,E as I,d as Fe,au as Me,a2 as Q,av as M,aw as at,ax as it,ay as we,az as rt,aA as Le,aB as nt,aC as ze,y as L,n as ot,aD as dt,aE as ut,aF as ct,aG as mt,aH as ft,aI as ht,aJ as ce,m as yt,aK as pt,aL as bt,aM as gt,_ as vt,o as m,j as S,w as r,l as q,q as me,t as j,v as c,Y as kt,z as te,A as p,D as w,B as Tt,C as b,G as R,aN as wt,M as xt,x as Dt}from"./index-CHEqx3ZK.js";import{V as xe,a as X}from"./VRow-7L_239rt.js";import{V as Z}from"./VAlert-B7dotCy7.js";import{V as We,a as Ct,b as Vt,c as De,d as fe,e as St,f as jt}from"./VTabsWindowItem-2AwayTty.js";import{V as W,a as Ce,m as Pt,b as At}from"./VChip-B02B673U.js";import{V as he,a as Ve}from"./VTooltip-C168gwPH.js";import{V as Et}from"./VTextarea-uYG2fN8H.js";import{u as Bt,a as Se,b as je,c as Nt,m as Rt,d as Ft,V as Mt}from"./VTextField-BmfQXFFg.js";import{V as Pe}from"./VSwitch-CsrhG2o9.js";import{V as Lt}from"./VSkeletonLoader-Bcvvvbke.js";import{a as zt}from"./VPagination-DEEAIfju.js";import{V as Wt}from"./VContainer-x94CJ7kH.js";import"./VSelect-B5ZKU6ZJ.js";import"./VCheckboxBtn-L9oezRC0.js";function It(){function t(o){var s,i;return[...((s=o.dataTransfer)==null?void 0:s.items)??[]].filter(l=>l.kind==="file").map(l=>l.webkitGetAsEntry()).filter(Boolean).length>0||[...((i=o.dataTransfer)==null?void 0:i.files)??[]].length>0}async function e(o){var i,l;const a=[],s=[...((i=o.dataTransfer)==null?void 0:i.items)??[]].filter(d=>d.kind==="file").map(d=>d.webkitGetAsEntry()).filter(Boolean);if(s.length)for(const d of s){const f=await Ie(d,_e(".",d));a.push(...f.map(h=>h.file))}else a.push(...((l=o.dataTransfer)==null?void 0:l.files)??[]);return a}return{handleDrop:e,hasFilesOrFolders:t}}function Ie(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return new Promise((o,a)=>{t.isFile?t.file(i=>o([{file:i,path:e}]),a):t.isDirectory&&t.createReader().readEntries(async i=>{const l=[];for(const d of i)l.push(...await Ie(d,_e(e,d)));o(l)})})}function _e(t,e){return e.isDirectory?`${t}/${e.name}`:t}const _t=le({filterByType:String},"file-accept");function Ut(t){const e=z(()=>t.filterByType?Ot(t.filterByType):null);function o(a){if(e.value){const s=a.filter(e.value);return{accepted:s,rejected:a.filter(i=>!s.includes(i))}}return{accepted:a,rejected:[]}}return{filterAccepted:o}}function Ot(t){const e=t.split(",").map(i=>i.trim().toLowerCase()),o=e.filter(i=>i.startsWith(".")),a=e.filter(i=>i.endsWith("/*")),s=e.filter(i=>!o.includes(i)&&!a.includes(i));return i=>{var f,h;const l=((f=i.name.split(".").at(-1))==null?void 0:f.toLowerCase())??"",d=((h=i.type.split("/").at(0))==null?void 0:h.toLowerCase())??"";return s.includes(i.type)||o.includes(`.${l}`)||a.includes(`${d}/*`)}}const Yt=le({chips:Boolean,counter:Boolean,counterSizeString:{type:String,default:"$vuetify.fileInput.counterSize"},counterString:{type:String,default:"$vuetify.fileInput.counter"},hideInput:Boolean,multiple:Boolean,showSize:{type:[Boolean,Number,String],default:!1,validator:t=>typeof t=="boolean"||[1e3,1024].includes(Number(t))},truncateLength:{type:[Number,String],default:22},...Le(Ft({prependIcon:"$file"}),["direction"]),modelValue:{type:[Array,Object],default:t=>t.multiple?[]:null,validator:t=>Re(t).every(e=>e!=null&&typeof e=="object")},..._t(),...Rt({clearable:!0})},"VFileInput"),Ht=ye()({name:"VFileInput",inheritAttrs:!1,props:Yt(),emits:{"click:control":t=>!0,"mousedown:control":t=>!0,"update:focused":t=>!0,"update:modelValue":t=>!0,rejected:t=>!0},setup(t,e){let{attrs:o,emit:a,slots:s}=e;const{t:i}=tt(),{filterAccepted:l}=Ut(t),d=Ne(t,"modelValue",t.modelValue,u=>Re(u),u=>!t.multiple&&Array.isArray(u)?u[0]:u),{isFocused:f,focus:h,blur:v}=Bt(t),k=z(()=>typeof t.showSize!="boolean"?t.showSize:void 0),T=z(()=>(d.value??[]).reduce((u,g)=>{let{size:Y=0}=g;return u+Y},0)),V=z(()=>we(T.value,k.value)),D=z(()=>(d.value??[]).map(u=>{const{name:g="",size:Y=0}=u,H=re(g);return t.showSize?`${H} (${we(Y,k.value)})`:H})),J=z(()=>{var g;const u=((g=d.value)==null?void 0:g.length)??0;return t.showSize?i(t.counterSizeString,u,V.value):i(t.counterString,u)}),A=Q(),P=Q(),x=Q(),B=M(()=>f.value||t.active),N=z(()=>["plain","underlined"].includes(t.variant)),E=rt(!1),{handleDrop:U,hasFilesOrFolders:F}=It();function O(){var u;x.value!==document.activeElement&&((u=x.value)==null||u.focus()),f.value||h()}function ae(u){var g;(g=x.value)==null||g.click()}function _(u){a("mousedown:control",u)}function ie(u){var g;(g=x.value)==null||g.click(),a("click:control",u)}function be(u){u.stopPropagation(),O(),at(()=>{d.value=[],it(t["onClick:clear"],u)})}function re(u){if(u.length{(!Array.isArray(u)||!u.length)&&x.value&&(x.value.value="")}),pe(()=>{const u=!!(s.counter||t.counter),g=!!(u||s.details),[Y,H]=lt(o),{modelValue:oe,...de}=Se.filterProps(t),He={...je.filterProps(t),"onClick:clear":be},Ge=o.webkitdirectory!==void 0&&o.webkitdirectory!==!1,Je=o.accept?String(o.accept):void 0,qe=Ge?void 0:t.filterByType??Je;return n(Se,I({ref:A,modelValue:t.multiple?d.value:d.value[0],class:["v-file-input",{"v-file-input--chips":!!t.chips,"v-file-input--dragging":E.value,"v-file-input--hide":t.hideInput,"v-input--plain-underlined":N.value},t.class],style:t.style,"onClick:prepend":ae},Y,de,{centerAffix:!N.value,focused:f.value}),{...s,default:ue=>{let{id:ee,isDisabled:K,isDirty:ve,isReadonly:ke,isValid:Xe,hasDetails:Ke}=ue;return n(je,I({ref:P,prependIcon:t.prependIcon,onMousedown:_,onClick:ie,"onClick:prependInner":t["onClick:prependInner"],"onClick:appendInner":t["onClick:appendInner"]},He,{id:ee.value,active:B.value||ve.value,dirty:ve.value||t.dirty,disabled:K.value,focused:f.value,details:Ke.value,error:Xe.value===!1,onDragover:ne,onDrop:Oe}),{...s,default:Ze=>{var Te;let{props:{class:Qe,...$e},controlRef:et}=Ze;return y(C,null,[y("input",I({ref:G=>x.value=et.value=G,type:"file",accept:qe,readonly:ke.value,disabled:K.value,multiple:t.multiple,name:t.name,onClick:G=>{G.stopPropagation(),ke.value&&G.preventDefault(),O()},onChange:Ye,onDragleave:$,onFocus:O,onBlur:v},$e,H),null),y("div",{class:Fe(Qe)},[!!((Te=d.value)!=null&&Te.length)&&!t.hideInput&&(s.selection?s.selection({fileNames:D.value,totalBytes:T.value,totalBytesReadable:V.value}):t.chips?D.value.map(G=>n(W,{key:G,size:"small",text:G},null)):D.value.join(", "))])])}})},details:g?ue=>{var ee,K;return y(C,null,[(ee=s.details)==null?void 0:ee.call(s,ue),u&&y(C,null,[y("span",null,null),n(Nt,{active:!!((K=d.value)!=null&&K.length),value:J.value,disabled:t.disabled},s.counter)])])}:void 0})}),Me({},A,P,x)}}),Ue=le({fixed:Boolean,sliderColor:String,sliderTransition:String,sliderTransitionDuration:[String,Number],hideSlider:Boolean,inset:Boolean,direction:{type:String,default:"horizontal"},...Le(ct({selectedClass:"v-tab--selected",variant:"text"}),["active","block","flat","location","position","symbol"])},"VTab"),se=ye()({name:"VTab",props:Ue(),setup(t,e){let{slots:o,attrs:a}=e;const{textColorClasses:s,textColorStyles:i}=nt(()=>t.sliderColor),{backgroundColorClasses:l,backgroundColorStyles:d}=ze(()=>t.sliderColor),f=Q(),h=Q(),v=z(()=>t.direction==="horizontal"),k=z(()=>{var A,P;return((P=(A=f.value)==null?void 0:A.group)==null?void 0:P.isSelected.value)??!1});function T(A,P){return{opacity:[0,1]}}function V(A,P){return t.direction==="vertical"?{transform:["scaleY(0)","scaleY(1)"]}:{transform:["scaleX(0)","scaleX(1)"]}}function D(A,P){const x=P.getBoundingClientRect(),B=A.getBoundingClientRect(),N=v.value?"x":"y",E=v.value?"X":"Y",U=v.value?"right":"bottom",F=v.value?"width":"height",O=x[N],ae=B[N],_=O>ae?x[U]-B[U]:x[N]-B[N],ie=Math.sign(_)>0?v.value?"right":"bottom":Math.sign(_)<0?v.value?"left":"top":"center",re=(Math.abs(_)+(Math.sign(_)<0?x[F]:B[F]))/Math.max(x[F],B[F])||0,ne=x[F]/B[F]||0,$=1.5;return{transform:[`translate${E}(${_}px) scale${E}(${ne})`,`translate${E}(${_/$}px) scale${E}(${(re-1)/$+1})`,"none"],transformOrigin:Array(3).fill(ie)}}function J(A){var x,B;let{value:P}=A;if(P){const N=(B=(x=f.value)==null?void 0:x.$el.parentElement)==null?void 0:B.querySelector(".v-tab--selected .v-tab__slider"),E=h.value;if(!N||!E)return;const U=getComputedStyle(N).backgroundColor,F={fade:T,grow:V,shift:D}[t.sliderTransition??"shift"]??D,O=Number(t.sliderTransitionDuration)||({fade:400,grow:350,shift:225}[t.sliderTransition??"shift"]??225);dt(E,{backgroundColor:[U,U],...F(E,N)},{duration:O,easing:ut})}}return pe(()=>{const A=L.filterProps(t);return n(L,I({symbol:We,ref:f,class:["v-tab",t.class,k.value&&t.inset?l.value:[]],style:[t.style,k.value&&t.inset?d.value:[],{backgroundColor:k.value&&t.inset?"transparent !important":void 0}],tabindex:k.value?0:-1,role:"tab","aria-selected":String(k.value),active:!1},A,a,{block:t.fixed,maxWidth:t.fixed?300:void 0,"onGroup:selected":J}),{...o,default:()=>{var P;return y(C,null,[((P=o.default)==null?void 0:P.call(o))??t.text,!t.hideSlider&&y("div",{ref:h,class:Fe(["v-tab__slider",t.inset?l.value:s.value]),style:ot([i.value,t.inset?d.value:s.value])},null)])}})}),Me({},f)}});function Gt(t){return t?t.map(e=>gt(e)?e:{text:e,value:e}):[]}const Jt=le({alignTabs:{type:String,default:"start"},color:String,fixedTabs:Boolean,items:{type:Array,default:()=>[]},stacked:Boolean,bgColor:String,grow:Boolean,height:{type:[Number,String],default:void 0},hideSlider:Boolean,inset:Boolean,insetPadding:[String,Number],insetRadius:[String,Number],sliderColor:String,...bt(Ue(),["spaced","sliderTransition","sliderTransitionDuration"]),...Pt({mandatory:"force",selectedClass:"v-tab-item--selected"}),...pt(),...yt()},"VTabs"),Ae=ye()({name:"VTabs",props:Jt(),emits:{"update:modelValue":t=>!0},setup(t,e){let{attrs:o,slots:a}=e;const s=Ne(t,"modelValue"),i=z(()=>Gt(t.items)),{densityClasses:l}=mt(t),{backgroundColorClasses:d,backgroundColorStyles:f}=ze(()=>t.bgColor),{scopeId:h}=ft();return ht({VTab:{color:M(t,"color"),direction:M(t,"direction"),stacked:M(t,"stacked"),fixed:M(t,"fixedTabs"),inset:M(t,"inset"),sliderColor:M(t,"sliderColor"),sliderTransition:M(t,"sliderTransition"),sliderTransitionDuration:M(t,"sliderTransitionDuration"),hideSlider:M(t,"hideSlider")}}),pe(()=>{const v=Ce.filterProps(t),k=!!(a.window||t.items.length>0);return y(C,null,[n(Ce,I(v,{modelValue:s.value,"onUpdate:modelValue":T=>s.value=T,class:["v-tabs",`v-tabs--${t.direction}`,`v-tabs--align-tabs-${t.alignTabs}`,{"v-tabs--fixed-tabs":t.fixedTabs,"v-tabs--grow":t.grow,"v-tabs--inset":t.inset,"v-tabs--stacked":t.stacked},l.value,d.value,t.class],style:[{"--v-tabs-height":ce(t.height),"--v-tabs-inset-padding":t.inset?ce(t.insetPadding):void 0,"--v-tabs-inset-radius":t.inset?ce(t.insetRadius):void 0},f.value,t.style],role:"tablist",symbol:We},h,o),{default:a.default??(()=>i.value.map(T=>{var V;return((V=a.tab)==null?void 0:V.call(a,{item:T}))??n(se,I(T,{key:T.text,value:T.value,spaced:t.spaced}),{default:a[`tab.${T.value}`]?()=>{var D;return(D=a[`tab.${T.value}`])==null?void 0:D.call(a,{item:T})}:void 0})})),prev:a.prev,next:a.next}),k&&n(Vt,I({modelValue:s.value,"onUpdate:modelValue":T=>s.value=T,key:"tabs-window"},h),{default:()=>{var T;return[i.value.map(V=>{var D;return((D=a.item)==null?void 0:D.call(a,{item:V}))??n(Ct,{value:V.value},{default:()=>{var J;return(J=a[`item.${V.value}`])==null?void 0:J.call(a,{item:V})}})}),(T=a.window)==null?void 0:T.call(a)]}})])}),{}}}),Ee=()=>new Promise((t,e)=>{if(typeof window.jsyaml<"u")return t(window.jsyaml);const o=document.createElement("script");o.src="https://cdnjs.cloudflare.com/ajax/libs/js-yaml/4.1.0/js-yaml.min.js",o.async=!0,o.onload=()=>t(window.jsyaml),o.onerror=()=>e(new Error("无法加载YAML解析库")),document.head.appendChild(o)});class Be{constructor(e){this.data=e,this.version=null,this.subjects=[],this.schedules=[],this._parseData()}_parseData(){if(!this.data)return;this.version=this.data.version||1;const e=this.data.subjects||[];for(const a of e)this.subjects.push({name:a.name,simplified_name:a.simplified_name||null,teacher:a.teacher||null,room:a.room||null});const o=this.data.schedules||[];for(const a of o){const s=[];for(const i of a.classes||[])s.push({subject:i.subject,start_time:i.start_time,end_time:i.end_time});this.schedules.push({name:a.name,enable_day:a.enable_day,weeks:a.weeks||"all",classes:s})}}getSubjects(){return this.subjects}getSchedules(){return this.schedules}getScheduleByDay(e){const o=this.schedules.find(a=>a.enable_day===e);return o?o.classes:[]}toCsesData(){return{version:this.version,subjects:this.subjects,schedules:this.schedules}}}const qt={name:"Cses2Wakeup",data(){return{activeTab:"text",file:null,jsonText:"",loading:!1,error:"",success:"",processedData:null,selectedRows:[],exportPeriods:[],selectedDays:[1,2,3,4,5,6,7],formatMode:"auto",yamlLibLoaded:!1,activeDay:null,subjectColors:{数学:"blue",语文:"red",英语:"green",物理:"purple",化学:"orange",生物:"teal",历史:"brown",地理:"indigo",政治:"pink",体育:"cyan",自习:"grey",早读:"amber",班会:"deep-purple",听力:"light-blue",信息技术:"light-green"},settings:{hideTeacherName:!1,hideRoom:!1,totalWeeks:30},tableHeaders:[{title:"",key:"data-table-select"},{title:"节次",key:"period"},{title:"周一",key:"1"},{title:"周二",key:"2"},{title:"周三",key:"3"},{title:"周四",key:"4"},{title:"周五",key:"5"},{title:"周六",key:"6"},{title:"周日",key:"7"}],timeTableHeaders:[{title:"节次",key:"period"},{title:"课程",key:"subject"},{title:"星期",key:"day"},{title:"开始时间",key:"startTime"},{title:"结束时间",key:"endTime"},{title:"教师",key:"teacher"},{title:"教室",key:"room"},{title:"周次",key:"weeks"}],dayNames:{1:"周一",2:"周二",3:"周三",4:"周四",5:"周五",6:"周六",7:"周日"}}},computed:{timeTableData(){if(!this.processedData||!this.processedData.tableData)return[];const t=[],e=this.processedData.tableData.filter(a=>this.exportPeriods.includes(a.period)),o={};return e.sort((a,s)=>a.period-s.period).forEach((a,s)=>{o[a.period]=s+1}),e.forEach(a=>{for(let s=1;s<=7;s++){if(!this.selectedDays.includes(s))continue;const i=a[s];if(i)if(Array.isArray(i))i.forEach(l=>{!l||!l.name||t.push({originalPeriod:a.period,period:o[a.period],subject:l.name,day:this.dayNames[s],startTime:l.startTime,endTime:l.endTime,teacher:this.settings.hideTeacherName?"":l.teacher||"",room:this.settings.hideRoom?"":l.room||"",weeks:l.weekType?`1-${this.settings.totalWeeks}${l.weekType}`:`1-${this.settings.totalWeeks}`})});else{if(!i.name)continue;t.push({originalPeriod:a.period,period:o[a.period],subject:i.name,day:this.dayNames[s],startTime:i.startTime,endTime:i.endTime,teacher:this.settings.hideTeacherName?"":i.teacher||"",room:this.settings.hideRoom?"":i.room||"",weeks:i.weekType?`1-${this.settings.totalWeeks}${i.weekType}`:`1-${this.settings.totalWeeks}`})}}}),t.sort((a,s)=>{if(a.period!==s.period)return a.period-s.period;const i={周一:1,周二:2,周三:3,周四:4,周五:5,周六:6,周日:7};return i[a.day]-i[s.day]})},hasExportData(){return this.processedData&&this.exportPeriods.length>0},totalClassHours(){return this.timeTableData.length},daysWithSchedule(){const t=[];for(let e=1;e<=7;e++)this.selectedDays.includes(e)&&this.getDaySchedule(e).length>0&&t.push(e);return t}},methods:{async handleFileChange(){if(this.resetData(),!this.file)return;const t=this.file.name.toLowerCase();if(t.endsWith(".json")||t.endsWith(".js"))this.formatMode="json";else if((t.endsWith(".yml")||t.endsWith(".yaml"))&&(this.formatMode="yaml",!this.yamlLibLoaded))try{await Ee(),this.yamlLibLoaded=!0}catch(e){this.error=`无法加载YAML解析库: ${e.message}`;return}try{const e=new FileReader;e.onload=async o=>{try{this.jsonText=o.target.result,await this.processInput()}catch(a){this.error=`文件读取失败: ${a.message}`}},e.onerror=()=>{this.error="文件读取失败"},e.readAsText(this.file)}catch(e){this.error=`文件处理失败: ${e.message}`}},handleTextChange(){this.resetData()},resetData(){this.error="",this.success="",this.processedData=null,this.selectedRows=[],this.exportPeriods=[]},async processInput(){if(!this.jsonText&&!this.file){this.error="请粘贴文本或上传文件";return}this.loading=!0,this.error="",this.success="";try{await this.$nextTick();let t;try{if(this.formatMode==="yaml"||this.formatMode==="auto"&&this.isYaml(this.jsonText)){const o=this.parseYaml(this.jsonText);t=new Be(o).toCsesData()}else t=JSON.parse(this.jsonText)}catch(o){throw new Error(`格式解析错误: ${o.message}`)}if(!this.validateCsesFormat(t))throw new Error("不是有效的CSES格式数据");const e=this.processCsesData(t);this.processedData=e,this.selectedDays=[1,2,3,4,5],this.success="数据处理成功!",e.tableData&&e.tableData.length>0&&(this.selectedRows=[...e.tableData],this.exportPeriods=e.tableData.map(o=>o.period))}catch(t){this.error="数据处理失败:"+t.message,console.error(t)}finally{this.loading=!1}},validateCsesFormat(t){return t instanceof Be?t.version===1&&Array.isArray(t.subjects)&&Array.isArray(t.schedules):!(!t||typeof t!="object"||t.version!==1||!Array.isArray(t.subjects)||!Array.isArray(t.schedules))},processCsesData(t){const{schedules:e,subjects:o}=t,a=Object.fromEntries(o.map(l=>[l.name,l])),s=[];let i=0;e.forEach(l=>{l.classes&&l.classes.length>i&&(i=l.classes.length)});for(let l=1;l<=i;l++)s.push({period:l,1:null,2:null,3:null,4:null,5:null,6:null,7:null});return e.forEach(l=>{const d=l.enable_day;if(!d||d<1||d>7)return;let f="";l.weeks==="odd"?f="单":l.weeks==="even"&&(f="双"),l.classes.forEach((h,v)=>{if(!h.subject)return;const k=v+1;if(k>i)return;const T=a[h.subject]||{},V={name:h.subject,teacher:T.teacher||"",room:T.room||"",period:k,startTime:h.start_time,endTime:h.end_time,day:d,weekType:f},D=s[k-1][d];D?f&&D.weekType&&f!==D.weekType?(Array.isArray(s[k-1][d])||(s[k-1][d]=[D]),s[k-1][d].push(V)):f===D.weekType?s[k-1][d]=V:f||(s[k-1][d]=V):s[k-1][d]=V})}),{tableData:s,originalData:t}},updateSelectedPeriods(t){this.exportPeriods=[],t&&t.length>0&&(this.exportPeriods=[...new Set(t.filter(e=>e&&typeof e.period=="number").map(e=>e.period))])},getTimeTableData(){return this.timeTableData},downloadCSV(){var s;if(!((s=this.processedData)!=null&&s.tableData)){this.error="没有可下载的数据";return}if(this.exportPeriods.length===0){this.error="请至少选择一节要导出的课";return}if(this.daysWithSchedule.length===0||this.totalClassHours===0){this.error="没有课程数据可导出";return}let t=`课程名称,星期,开始节数,结束节数,老师,地点,周数 -`;for(const i of this.daysWithSchedule){const l=this.groupByPeriod(this.getDaySchedule(i));for(const d of l)for(const f of d.items){const h={周一:1,周二:2,周三:3,周四:4,周五:5,周六:6,周日:7}[f.day],v=this.settings.hideTeacherName?"":f.teacher||"",k=this.settings.hideRoom?"":f.room||"";t+=`${f.subject},${h},${f.period},${f.period},${v},${k},${f.weeks} -`}}const e="\uFEFF",o=new Blob([e+t],{type:"text/csv;charset=utf-8"}),a=document.createElement("a");a.href=URL.createObjectURL(o),a.download=`course_schedule_${this.totalClassHours}课时.csv`,a.click(),URL.revokeObjectURL(a.href),this.success=`导出成功!共计 ${this.totalClassHours} 课时`},showExportPreview(){if(!this.hasExportData){this.error="请先选择要导出的节次";return}const t=this.timeTableData.slice(0,5).map(e=>`${e.subject} (${e.day} 第${e.period}节)`).join(` -`);this.timeTableData.length>5?this.success=`导出预览 (共${this.totalClassHours}课时): -${t} -...等${this.totalClassHours-5}节课程`:this.success=`导出预览 (共${this.totalClassHours}课时): -${t}`,this.$nextTick(()=>{this.daysWithSchedule.length>0&&!this.activeDay&&(this.activeDay=this.daysWithSchedule[0])})},isYaml(t){const e=t.trim();if(e.startsWith("{")||e.startsWith("["))try{return JSON.parse(e),!1}catch{}return/^\s*[a-zA-Z0-9_-]+\s*:/.test(e)||/\n\s*[a-zA-Z0-9_-]+\s*:/.test(e)},parseYaml(t){try{if(typeof window.jsyaml<"u")return window.jsyaml.load(t);throw new Error("YAML解析器未加载")}catch(e){throw new Error(`YAML解析错误: ${e.message}`)}},getDaySchedule(t){return this.timeTableData?this.getUnfilteredTimeTableData().filter(o=>({周一:1,周二:2,周三:3,周四:4,周五:5,周六:6,周日:7})[o.day]===t):[]},getUnfilteredTimeTableData(){if(!this.processedData||!this.processedData.tableData)return[];const t=[],e=this.processedData.tableData.filter(a=>this.exportPeriods.includes(a.period)),o={};return e.sort((a,s)=>a.period-s.period).forEach((a,s)=>{o[a.period]=s+1}),e.forEach(a=>{for(let s=1;s<=7;s++){const i=a[s];if(i)if(Array.isArray(i))i.forEach(l=>{!l||!l.name||t.push({originalPeriod:a.period,period:o[a.period],subject:l.name,day:this.dayNames[s],startTime:l.startTime,endTime:l.endTime,teacher:this.settings.hideTeacherName?"":l.teacher||"",room:this.settings.hideRoom?"":l.room||"",weeks:l.weekType?`1-${this.settings.totalWeeks}${l.weekType}`:`1-${this.settings.totalWeeks}`})});else{if(!i.name)continue;t.push({originalPeriod:a.period,period:o[a.period],subject:i.name,day:this.dayNames[s],startTime:i.startTime,endTime:i.endTime,teacher:this.settings.hideTeacherName?"":i.teacher||"",room:this.settings.hideRoom?"":i.room||"",weeks:i.weekType?`1-${this.settings.totalWeeks}${i.weekType}`:`1-${this.settings.totalWeeks}`})}}}),t.sort((a,s)=>{if(a.period!==s.period)return a.period-s.period;const i={周一:1,周二:2,周三:3,周四:4,周五:5,周六:6,周日:7};return i[a.day]-i[s.day]})},groupByPeriod(t){const e={};return t.forEach(o=>{e[o.period]||(e[o.period]={period:o.period,originalPeriod:o.originalPeriod,items:[],timeSlots:[]}),e[o.period].items.push(o),e[o.period].timeSlots.push({startTime:o.startTime,endTime:o.endTime})}),Object.values(e).forEach(o=>{o.uniqueTimeSlots=[],o.timeSlots.forEach(a=>{o.uniqueTimeSlots.some(s=>s.startTime===a.startTime&&s.endTime===a.endTime)||o.uniqueTimeSlots.push(a)}),o.uniqueTimeSlots.sort((a,s)=>a.startTime.localeCompare(s.startTime))}),Object.values(e).sort((o,a)=>o.period-a.period)},formatTime(t){return t?t.substring(0,5):""},getSubjectColor(t){return this.subjectColors[t]||"grey"},selectAllDays(){this.selectedDays=[1,2,3,4,5,6,7]},clearSelectedDays(){this.selectedDays=[]}},async mounted(){try{await Ee(),this.yamlLibLoaded=!0}catch(t){this.error=t.message}this.$watch("daysWithSchedule",t=>{t.length>0&&!this.activeDay&&(this.activeDay=t[0])})}},Xt={class:"d-flex align-center"},Kt={class:"d-flex align-center"},Zt={key:2,class:"text-caption mb-2"},Qt={class:"d-flex align-center mb-2"},$t={class:"d-flex align-center mb-3"},es={class:"d-flex align-center mb-3"},ts={key:0,class:"course-cell"},ss={key:0},ls={key:1},as={key:2,class:"week-type"},is={key:0},rs={key:1},ns={key:2,class:"week-type"},os={class:"text-center font-weight-bold"};function ds(t,e,o,a,s,i){return m(),S(Wt,{class:"fill-height"},{default:r(()=>[n(xe,null,{default:r(()=>[n(X,{cols:"12"},{default:r(()=>[n(q,{class:"elevation-12",border:""},{default:r(()=>[n(me,{class:"d-flex align-center primary lighten-1 white--text py-3 px-4"},{default:r(()=>[n(j,{color:"white",class:"mr-2"},{default:r(()=>[...e[15]||(e[15]=[c("mdi-swap-horizontal",-1)])]),_:1}),e[16]||(e[16]=c(" 课程表转换工具 ",-1))]),_:1}),n(kt,null,{default:r(()=>[...e[17]||(e[17]=[c(" 将CSES格式的JSON或YAML文本转换为WakeUp软件使用的课程表 ",-1)])]),_:1}),n(te,null,{default:r(()=>[s.error?(m(),S(Z,{key:0,type:"error",class:"mb-4 mt-3 mx-2",variant:"tonal",border:"start",closable:"","onClick:close":e[0]||(e[0]=l=>s.error="")},{default:r(()=>[y("div",Xt,[n(j,{class:"mr-2"},{default:r(()=>[...e[18]||(e[18]=[c("mdi-alert-circle",-1)])]),_:1}),c(" "+p(s.error),1)])]),_:1})):w("",!0),s.success?(m(),S(Z,{key:1,type:"success",class:"mb-4 mt-3 mx-2",variant:"tonal",border:"start",closable:"","onClick:close":e[1]||(e[1]=l=>s.success="")},{default:r(()=>[y("div",Kt,[n(j,{class:"mr-2"},{default:r(()=>[...e[19]||(e[19]=[c("mdi-check-circle",-1)])]),_:1}),c(" "+p(s.success),1)])]),_:1})):w("",!0),n(Ae,{modelValue:s.activeTab,"onUpdate:modelValue":e[2]||(e[2]=l=>s.activeTab=l),class:"mb-4 mx-2",color:"primary",rounded:""},{default:r(()=>[n(se,{value:"text",class:"px-5"},{default:r(()=>[n(j,{start:""},{default:r(()=>[...e[20]||(e[20]=[c("mdi-text-box",-1)])]),_:1}),e[21]||(e[21]=c(" 文本粘贴 ",-1))]),_:1}),n(se,{value:"file",class:"px-5"},{default:r(()=>[n(j,{start:""},{default:r(()=>[...e[22]||(e[22]=[c("mdi-file-upload",-1)])]),_:1}),e[23]||(e[23]=c(" 文件上传 ",-1))]),_:1})]),_:1},8,["modelValue"]),n(Tt,{modelValue:s.formatMode,"onUpdate:modelValue":e[3]||(e[3]=l=>s.formatMode=l),color:"primary",class:"mb-4 mx-2",mandatory:"",density:"comfortable",border:"",rounded:""},{default:r(()=>[n(L,{value:"auto"},{default:r(()=>[...e[24]||(e[24]=[c("自动检测",-1)])]),_:1}),n(L,{value:"json"},{default:r(()=>[...e[25]||(e[25]=[c("JSON",-1)])]),_:1}),n(L,{value:"yaml",disabled:!s.yamlLibLoaded},{default:r(()=>[e[26]||(e[26]=c(" YAML ",-1)),n(he,{activator:"parent",location:"bottom"},{default:r(()=>[c(p(s.yamlLibLoaded?"YAML解析库已加载":"正在加载YAML解析库..."),1)]),_:1})]),_:1},8,["disabled"])]),_:1},8,["modelValue"]),s.jsonText&&s.formatMode==="auto"?(m(),b("div",Zt," 检测到的格式: "+p(i.isYaml(s.jsonText)?"YAML":"JSON"),1)):w("",!0),n(De,{modelValue:s.activeTab,"onUpdate:modelValue":e[6]||(e[6]=l=>s.activeTab=l)},{default:r(()=>[n(fe,{value:"text"},{default:r(()=>[y("div",Qt,[n(Et,{modelValue:s.jsonText,"onUpdate:modelValue":e[4]||(e[4]=l=>s.jsonText=l),label:"粘贴JSON或YAML文本",loading:s.loading,disabled:s.loading,"row-height":"25",rows:"6",placeholder:"请在此粘贴CSES格式的数据...",onInput:i.handleTextChange},null,8,["modelValue","loading","disabled","onInput"])])]),_:1}),n(fe,{value:"file"},{default:r(()=>[n(Ht,{modelValue:s.file,"onUpdate:modelValue":e[5]||(e[5]=l=>s.file=l),accept:".js,.json,.yml,.yaml",label:"选择课程表文件","prepend-icon":"mdi-file-upload",loading:s.loading,disabled:s.loading,onChange:i.handleFileChange,hint:"支持JSON、YAML格式文件","persistent-hint":"",rules:[l=>!l||l.size<2e6||"文件大小不能超过 2 MB"]},null,8,["modelValue","loading","disabled","onChange","rules"]),s.file&&s.formatMode==="auto"?(m(),S(Z,{key:0,type:"info",class:"mb-4",variant:"tonal",density:"compact"},{default:r(()=>[...e[27]||(e[27]=[c(" 将根据文件扩展名自动检测格式 ",-1)])]),_:1})):w("",!0)]),_:1})]),_:1},8,["modelValue"]),n(X,{cols:"12"},{default:r(()=>[n(q,{flat:"",class:"pa-4 rounded-lg",border:""},{default:r(()=>[y("div",$t,[n(j,{color:"primary",class:"mr-2"},{default:r(()=>[...e[28]||(e[28]=[c("mdi-calendar-multiselect",-1)])]),_:1}),e[33]||(e[33]=y("h3",{class:"text-subtitle-1 font-weight-medium mr-auto"},"选择导出天数",-1)),n(L,{variant:"text",color:"primary",class:"ml-2",onClick:i.selectAllDays},{default:r(()=>[n(j,{start:"",size:"small"},{default:r(()=>[...e[29]||(e[29]=[c("mdi-checkbox-multiple-marked",-1)])]),_:1}),e[30]||(e[30]=c(" 全选 ",-1))]),_:1},8,["onClick"]),n(L,{variant:"text",color:"error",class:"ml-2",onClick:i.clearSelectedDays},{default:r(()=>[n(j,{start:"",size:"small"},{default:r(()=>[...e[31]||(e[31]=[c("mdi-checkbox-multiple-blank-outline",-1)])]),_:1}),e[32]||(e[32]=c(" 清除 ",-1))]),_:1},8,["onClick"])]),n(At,{modelValue:s.selectedDays,"onUpdate:modelValue":e[7]||(e[7]=l=>s.selectedDays=l),multiple:"",class:"mb-2",color:"primary"},{default:r(()=>[(m(),b(C,null,R(7,l=>n(W,{key:l,value:l,filter:"",variant:"tonal",class:"filter-chip",label:""},{default:r(()=>[c(p(s.dayNames[l])+" ",1),i.getDaySchedule(l).length>0?(m(),S(Ve,{key:0,content:i.getDaySchedule(l).length,color:"primary",inline:""},null,8,["content"])):w("",!0)]),_:2},1032,["value"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1}),n(X,{cols:"12"},{default:r(()=>[n(q,{flat:"",class:"pa-4 rounded-lg",border:""},{default:r(()=>[y("div",es,[n(j,{color:"primary",class:"mr-2"},{default:r(()=>[...e[34]||(e[34]=[c("mdi-cog",-1)])]),_:1}),e[35]||(e[35]=y("h3",{class:"text-subtitle-1 font-weight-medium"},"显示配置",-1))]),n(xe,null,{default:r(()=>[n(X,{cols:"12",sm:"6"},{default:r(()=>[n(Pe,{modelValue:s.settings.hideTeacherName,"onUpdate:modelValue":e[8]||(e[8]=l=>s.settings.hideTeacherName=l),label:"不显示教师姓名",color:"primary",inset:"","hide-details":""},null,8,["modelValue"])]),_:1}),n(X,{cols:"12",sm:"6"},{default:r(()=>[n(Pe,{modelValue:s.settings.hideRoom,"onUpdate:modelValue":e[9]||(e[9]=l=>s.settings.hideRoom=l),label:"不显示教室信息",color:"primary",inset:"","hide-details":""},null,8,["modelValue"])]),_:1}),n(X,{cols:"12",sm:"6"},{default:r(()=>[n(Mt,{modelValue:s.settings.totalWeeks,"onUpdate:modelValue":e[10]||(e[10]=l=>s.settings.totalWeeks=l),modelModifiers:{number:!0},label:"总周数",type:"number",min:"1",max:"30",rules:[l=>l>0||"周数必须大于0"],density:"comfortable",variant:"outlined","prepend-inner-icon":"mdi-calendar-week",class:"mt-3"},null,8,["modelValue","rules"])]),_:1})]),_:1})]),_:1})]),_:1}),s.loading?(m(),S(q,{key:3,class:"my-4",outlined:""},{default:r(()=>[n(te,null,{default:r(()=>[n(Lt,{type:"table",class:"mx-auto"})]),_:1})]),_:1})):w("",!0),s.processedData?(m(),S(W,{key:4,color:"primary",class:"ml-2","prepend-icon":"mdi-book-open-variant"},{default:r(()=>[c(p(s.processedData.tableData.length)+" 节课程 ",1)]),_:1})):w("",!0),s.processedData&&s.exportPeriods.length===0?(m(),S(Z,{key:5,type:"warning",class:"mb-4",closable:""},{default:r(()=>[...e[36]||(e[36]=[c(" 请选择要导出的节次 ",-1)])]),_:1})):w("",!0),s.processedData?(m(),S(q,{key:6,class:"my-4",elevation:"1"},{default:r(()=>[n(me,{class:"d-flex align-center pa-4 bg-primary-lighten-5"},{default:r(()=>[n(j,{color:"primary",class:"mr-2"},{default:r(()=>[...e[37]||(e[37]=[c("mdi-table",-1)])]),_:1}),e[39]||(e[39]=y("span",{class:"font-weight-bold"},"课程表",-1)),n(W,{color:"primary",class:"ml-3",size:"small",pill:""},{default:r(()=>[n(j,{start:"",size:"x-small"},{default:r(()=>[...e[38]||(e[38]=[c("mdi-book-open-variant",-1)])]),_:1}),c(" "+p(s.processedData.tableData.length)+" 节课程 ",1)]),_:1})]),_:1}),n(te,{class:"pa-0"},{default:r(()=>[n(St,{"items-selected":s.selectedRows,"onUpdate:itemsSelected":[e[12]||(e[12]=l=>s.selectedRows=l),i.updateSelectedPeriods],headers:s.tableHeaders,items:s.processedData.tableData,"hide-default-footer":"",class:"elevation-1","items-per-page":-1,"item-value":"period","show-select":"","select-strategy":"single-independent","sort-by":[],"disable-sort":""},wt({"item.data-table-select":r(({item:l})=>[n(zt,{modelValue:s.exportPeriods,"onUpdate:modelValue":e[11]||(e[11]=d=>s.exportPeriods=d),value:l.period,"hide-details":"",density:"compact"},null,8,["modelValue","value"])]),_:2},[R(7,l=>({name:`item.${l}`,fn:r(({item:d})=>[d[l]?(m(),b("div",ts,[Array.isArray(d[l])?(m(!0),b(C,{key:0},R(d[l],(f,h)=>(m(),b("div",{key:h,class:"course-item"},[c(p(f.name)+" ",1),!s.settings.hideTeacherName&&f.teacher?(m(),b("span",ss,[e[40]||(e[40]=y("br",null,null,-1)),c(p(f.teacher),1)])):w("",!0),!s.settings.hideRoom&&f.room?(m(),b("span",ls,[e[41]||(e[41]=y("br",null,null,-1)),c(p(f.room),1)])):w("",!0),f.weekType?(m(),b("span",as,p(f.weekType)+"周 ",1)):w("",!0)]))),128)):(m(),b(C,{key:1},[c(p(d[l].name)+" ",1),!s.settings.hideTeacherName&&d[l].teacher?(m(),b("span",is,[e[42]||(e[42]=y("br",null,null,-1)),c(p(d[l].teacher),1)])):w("",!0),!s.settings.hideRoom&&d[l].room?(m(),b("span",rs,[e[43]||(e[43]=y("br",null,null,-1)),c(p(d[l].room),1)])):w("",!0),d[l].weekType?(m(),b("span",ns,p(d[l].weekType)+"周 ",1)):w("",!0)],64))])):w("",!0)])}))]),1032,["items-selected","headers","items","onUpdate:itemsSelected"])]),_:1})]),_:1})):w("",!0),i.hasExportData?(m(),S(q,{key:7,class:"my-4",elevation:"1"},{default:r(()=>[n(me,{class:"d-flex align-center pa-4 bg-primary-lighten-5"},{default:r(()=>[n(j,{color:"primary",class:"mr-2"},{default:r(()=>[...e[44]||(e[44]=[c("mdi-timetable",-1)])]),_:1}),e[48]||(e[48]=y("span",{class:"font-weight-bold"},"每日课程时间表",-1)),n(W,{class:"ml-3",size:"small",color:"primary",pill:""},{default:r(()=>[n(j,{start:"",size:"x-small"},{default:r(()=>[...e[45]||(e[45]=[c("mdi-clock-outline",-1)])]),_:1}),c(" "+p(i.totalClassHours)+" 课时 ",1)]),_:1}),s.exportPeriods.length>0?(m(),S(he,{key:0},{activator:r(({props:l})=>[n(W,I({class:"ml-2",size:"small",color:"info"},l,{pill:""}),{default:r(()=>[n(j,{start:"",size:"x-small"},{default:r(()=>[...e[46]||(e[46]=[c("mdi-information-outline",-1)])]),_:1}),e[47]||(e[47]=c(" 节次已重排 ",-1))]),_:1},16)]),default:r(()=>[y("span",null,"已将选中的节次 "+p(s.exportPeriods.join(", "))+" 重新排序为连续的 1-"+p(s.exportPeriods.length),1)]),_:1})):w("",!0)]),_:1}),n(te,null,{default:r(()=>[i.daysWithSchedule.length>0?(m(),S(Ae,{key:0,modelValue:s.activeDay,"onUpdate:modelValue":e[13]||(e[13]=l=>s.activeDay=l),class:"mb-4",color:"primary",grow:"","align-tabs":"center"},{default:r(()=>[(m(!0),b(C,null,R(i.daysWithSchedule,l=>(m(),S(se,{key:l,value:l,class:"px-2 font-weight-medium"},{default:r(()=>[c(p(s.dayNames[l])+" ",1),n(Ve,{content:i.getDaySchedule(l).length,color:"primary",inline:""},null,8,["content"])]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])):w("",!0),n(De,{modelValue:s.activeDay,"onUpdate:modelValue":e[14]||(e[14]=l=>s.activeDay=l)},{default:r(()=>[(m(!0),b(C,null,R(i.daysWithSchedule,l=>(m(),S(fe,{key:l,value:l},{default:r(()=>[n(jt,{density:"compact",class:"rounded","headers-length":6,"disable-sort":""},{default:r(()=>[e[50]||(e[50]=y("thead",null,[y("tr",null,[y("th",{class:"text-center"},"节次"),y("th",null,"课程"),y("th",null,"时间"),y("th",null,"教师"),y("th",null,"教室"),y("th",null,"周次")])],-1)),y("tbody",null,[(m(!0),b(C,null,R(i.groupByPeriod(i.getDaySchedule(l)),(d,f)=>(m(),b("tr",{key:f},[y("td",os,[c(p(d.period)+" ",1),d.originalPeriod!==d.period?(m(),S(he,{key:0},{activator:r(({props:h})=>[n(j,I({size:"x-small"},{ref_for:!0},h,{color:"info",class:"ml-1"}),{default:r(()=>[...e[49]||(e[49]=[c("mdi-sync",-1)])]),_:1},16)]),default:r(()=>[c(" 原节次: "+p(d.originalPeriod),1)]),_:2},1024)):w("",!0)]),y("td",null,[(m(!0),b(C,null,R(d.items,(h,v)=>(m(),b("div",{key:v,class:"mb-1"},[n(W,{size:"small",color:i.getSubjectColor(h.subject),label:"","text-color":"white",class:"mr-1"},{default:r(()=>[c(p(h.subject),1)]),_:2},1032,["color"]),d.items.length>1?(m(),S(W,{key:0,size:"x-small",class:"ml-1",color:h.weekType==="单"?"warning":"success"},{default:r(()=>[c(p(h.weekType)+"周 ",1)]),_:2},1032,["color"])):w("",!0)]))),128))]),y("td",null,[(m(!0),b(C,null,R(d.uniqueTimeSlots,(h,v)=>(m(),b("div",{key:v,class:"mb-1"},[n(W,{size:"x-small",class:"time-chip"},{default:r(()=>[c(p(i.formatTime(h.startTime))+" - "+p(i.formatTime(h.endTime)),1)]),_:2},1024)]))),128))]),y("td",null,[s.settings.hideTeacherName?(m(),b(C,{key:1},[c("-")],64)):(m(!0),b(C,{key:0},R(d.items,(h,v)=>(m(),b("div",{key:v,class:"mb-1"},p(h.teacher||"-"),1))),128))]),y("td",null,[s.settings.hideRoom?(m(),b(C,{key:1},[c("-")],64)):(m(!0),b(C,{key:0},R(d.items,(h,v)=>(m(),b("div",{key:v,class:"mb-1"},p(h.room||"-"),1))),128))]),y("td",null,[(m(!0),b(C,null,R(d.items,(h,v)=>(m(),b("div",{key:v,class:"mb-1"},p(h.weeks),1))),128))])]))),128))])]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"]),i.hasExportData&&i.daysWithSchedule.length===0?(m(),S(Z,{key:1,type:"info",class:"mt-3"},{default:r(()=>[...e[51]||(e[51]=[c(" 没有找到任何课程数据 ",-1)])]),_:1})):w("",!0)]),_:1})]),_:1})):w("",!0)]),_:1}),n(xt,{class:""},{default:r(()=>[n(Dt),n(L,{color:"primary",variant:"outlined",loading:s.loading,disabled:!s.jsonText&&!s.file||s.loading,onClick:i.processInput,"prepend-icon":"mdi-cog-refresh"},{default:r(()=>[...e[52]||(e[52]=[c(" 处理数据 ",-1)])]),_:1},8,["loading","disabled","onClick"]),n(L,{color:"info",disabled:!i.hasExportData,onClick:i.showExportPreview,class:"ml-2","prepend-icon":"mdi-eye",border:""},{default:r(()=>[...e[53]||(e[53]=[c(" 刷新 ",-1)])]),_:1},8,["disabled","onClick"]),n(L,{color:"success",variant:"outlined",disabled:!i.hasExportData,onClick:i.downloadCSV,class:"ml-2","prepend-icon":"mdi-download",border:""},{default:r(()=>[...e[54]||(e[54]=[c(" 下载CSV ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}const Ds=vt(qt,[["render",ds],["__scopeId","data-v-c07f22af"]]);export{Ds as default}; diff --git a/assets/dataProvider-B62Oym03.js b/assets/dataProvider-B62Oym03.js deleted file mode 100644 index ce62bbf..0000000 --- a/assets/dataProvider-B62Oym03.js +++ /dev/null @@ -1,6 +0,0 @@ -import{k as S,cs as Ar,s as De}from"./index-CHEqx3ZK.js";import{i as ee,t as te,g as lt}from"./serverRotation-D840vVDL.js";const Ie=(e,t)=>t.some(r=>e instanceof r);let ft,dt;function xr(){return ft||(ft=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Tr(){return dt||(dt=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const je=new WeakMap,Ne=new WeakMap,Ee=new WeakMap;function _r(e){const t=new Promise((r,n)=>{const s=()=>{e.removeEventListener("success",o),e.removeEventListener("error",i)},o=()=>{r(z(e.result)),s()},i=()=>{n(e.error),s()};e.addEventListener("success",o),e.addEventListener("error",i)});return Ee.set(t,e),t}function Cr(e){if(je.has(e))return;const t=new Promise((r,n)=>{const s=()=>{e.removeEventListener("complete",o),e.removeEventListener("error",i),e.removeEventListener("abort",i)},o=()=>{r(),s()},i=()=>{n(e.error||new DOMException("AbortError","AbortError")),s()};e.addEventListener("complete",o),e.addEventListener("error",i),e.addEventListener("abort",i)});je.set(e,t)}let $e={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return je.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return z(e[t])},set(e,t,r){return e[t]=r,!0},has(e,t){return e instanceof IDBTransaction&&(t==="done"||t==="store")?!0:t in e}};function It(e){$e=e($e)}function Dr(e){return Tr().includes(e)?function(...t){return e.apply(Me(this),t),z(this.request)}:function(...t){return z(e.apply(Me(this),t))}}function Nr(e){return typeof e=="function"?Dr(e):(e instanceof IDBTransaction&&Cr(e),Ie(e,xr())?new Proxy(e,$e):e)}function z(e){if(e instanceof IDBRequest)return _r(e);if(Ne.has(e))return Ne.get(e);const t=Nr(e);return t!==e&&(Ne.set(e,t),Ee.set(t,e)),t}const Me=e=>Ee.get(e);function Pr(e,t,{blocked:r,upgrade:n,blocking:s,terminated:o}={}){const i=indexedDB.open(e,t),a=z(i);return n&&i.addEventListener("upgradeneeded",f=>{n(z(i.result),f.oldVersion,f.newVersion,z(i.transaction),f)}),r&&i.addEventListener("blocked",f=>r(f.oldVersion,f.newVersion,f)),a.then(f=>{o&&f.addEventListener("close",()=>o()),s&&f.addEventListener("versionchange",l=>s(l.oldVersion,l.newVersion,l))}).catch(()=>{}),a}const Ur=["get","getKey","getAll","getAllKeys","count"],vr=["put","add","delete","clear"],Pe=new Map;function pt(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(Pe.get(t))return Pe.get(t);const r=t.replace(/FromIndex$/,""),n=t!==r,s=vr.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(s||Ur.includes(r)))return;const o=async function(i,...a){const f=this.transaction(i,s?"readwrite":"readonly");let l=f.store;return n&&(l=l.index(a.shift())),(await Promise.all([l[r](...a),s&&f.done]))[0]};return Pe.set(t,o),o}It(e=>({...e,get:(t,r,n)=>pt(t,r)||e.get(t,r,n),has:(t,r)=>!!pt(t,r)||e.has(t,r)}));const Br=["continue","continuePrimaryKey","advance"],ht={},He=new WeakMap,jt=new WeakMap,kr={get(e,t){if(!Br.includes(t))return e[t];let r=ht[t];return r||(r=ht[t]=function(...n){He.set(this,jt.get(this)[t](...n))}),r}};async function*Fr(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;t=t;const r=new Proxy(t,kr);for(jt.set(r,t),Ee.set(r,Me(t));t;)yield r,t=await(He.get(r)||t.continue()),He.delete(r)}function mt(e,t){return t===Symbol.asyncIterator&&Ie(e,[IDBIndex,IDBObjectStore,IDBCursor])||t==="iterate"&&Ie(e,[IDBIndex,IDBObjectStore])}It(e=>({...e,get(t,r,n){return mt(t,r)?Fr:e.get(t,r,n)},has(t,r){return mt(t,r)||e.has(t,r)}}));const Lr="ClassworksDB",Ir=2,Ue=async()=>Pr(Lr,Ir,{upgrade(e){e.objectStoreNames.contains("kv")||e.createObjectStore("kv"),e.objectStoreNames.contains("system")||e.createObjectStore("system")}}),pe={async loadData(e){try{const r=await(await Ue()).get("kv",e);return r?k(JSON.parse(r)):x("数据不存在","NOT_FOUND")}catch(t){return x("读取本地数据失败:"+t)}},async saveData(e,t){try{return await(await Ue()).put("kv",JSON.stringify(t),e),k(!0)}catch(r){return x("保存本地数据失败:"+r)}},async loadKeys(e={}){try{const s=await(await Ue()).transaction(["kv"],"readonly").objectStore("kv").getAllKeys(),{sortDir:o="asc",limit:i=100,skip:a=0}=e,f=s.sort((b,g)=>o==="desc"?g.localeCompare(b):b.localeCompare(g)),l=f.length,u=f.slice(a,a+i),h={keys:u,total_rows:l,current_page:{limit:i,skip:a,count:u.length},load_more:null};return k(h)}catch(t){return x("获取本地键名列表失败:"+t.message)}}};function $t(e,t){return function(){return e.apply(t,arguments)}}const{toString:jr}=Object.prototype,{getPrototypeOf:Ze}=Object,{iterator:Se,toStringTag:Mt}=Symbol,Oe=(e=>t=>{const r=jr.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),L=e=>(e=e.toLowerCase(),t=>Oe(t)===e),Ae=e=>t=>typeof t===e,{isArray:G}=Array,Z=Ae("undefined");function oe(e){return e!==null&&!Z(e)&&e.constructor!==null&&!Z(e.constructor)&&C(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const Ht=L("ArrayBuffer");function $r(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Ht(e.buffer),t}const Mr=Ae("string"),C=Ae("function"),qt=Ae("number"),ie=e=>e!==null&&typeof e=="object",Hr=e=>e===!0||e===!1,ye=e=>{if(Oe(e)!=="object")return!1;const t=Ze(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Mt in e)&&!(Se in e)},qr=e=>{if(!ie(e)||oe(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},Kr=L("Date"),zr=L("File"),Vr=e=>!!(e&&typeof e.uri<"u"),Wr=e=>e&&typeof e.getParts<"u",Jr=L("Blob"),Xr=L("FileList"),Zr=e=>ie(e)&&C(e.pipe);function Gr(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}const yt=Gr(),bt=typeof yt.FormData<"u"?yt.FormData:void 0,Qr=e=>{let t;return e&&(bt&&e instanceof bt||C(e.append)&&((t=Oe(e))==="formdata"||t==="object"&&C(e.toString)&&e.toString()==="[object FormData]"))},Yr=L("URLSearchParams"),[en,tn,rn,nn]=["ReadableStream","Request","Response","Headers"].map(L),sn=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function ae(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let n,s;if(typeof e!="object"&&(e=[e]),G(e))for(n=0,s=e.length;n0;)if(s=r[n],t===s.toLowerCase())return s;return null}const K=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,zt=e=>!Z(e)&&e!==K;function qe(){const{caseless:e,skipUndefined:t}=zt(this)&&this||{},r={},n=(s,o)=>{if(o==="__proto__"||o==="constructor"||o==="prototype")return;const i=e&&Kt(r,o)||o;ye(r[i])&&ye(s)?r[i]=qe(r[i],s):ye(s)?r[i]=qe({},s):G(s)?r[i]=s.slice():(!t||!Z(s))&&(r[i]=s)};for(let s=0,o=arguments.length;s(ae(t,(s,o)=>{r&&C(s)?Object.defineProperty(e,o,{value:$t(s,r),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,o,{value:s,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:n}),e),an=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),cn=(e,t,r,n)=>{e.prototype=Object.create(t.prototype,n),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},un=(e,t,r,n)=>{let s,o,i;const a={};if(t=t||{},e==null)return t;do{for(s=Object.getOwnPropertyNames(e),o=s.length;o-- >0;)i=s[o],(!n||n(i,e,t))&&!a[i]&&(t[i]=e[i],a[i]=!0);e=r!==!1&&Ze(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},ln=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;const n=e.indexOf(t,r);return n!==-1&&n===r},fn=e=>{if(!e)return null;if(G(e))return e;let t=e.length;if(!qt(t))return null;const r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},dn=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Ze(Uint8Array)),pn=(e,t)=>{const n=(e&&e[Se]).call(e);let s;for(;(s=n.next())&&!s.done;){const o=s.value;t.call(e,o[0],o[1])}},hn=(e,t)=>{let r;const n=[];for(;(r=e.exec(t))!==null;)n.push(r);return n},mn=L("HTMLFormElement"),yn=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,n,s){return n.toUpperCase()+s}),gt=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),bn=L("RegExp"),Vt=(e,t)=>{const r=Object.getOwnPropertyDescriptors(e),n={};ae(r,(s,o)=>{let i;(i=t(s,o,e))!==!1&&(n[o]=i||s)}),Object.defineProperties(e,n)},gn=e=>{Vt(e,(t,r)=>{if(C(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;const n=e[r];if(C(n)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},wn=(e,t)=>{const r={},n=s=>{s.forEach(o=>{r[o]=!0})};return G(e)?n(e):n(String(e).split(t)),r},Rn=()=>{},En=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Sn(e){return!!(e&&C(e.append)&&e[Mt]==="FormData"&&e[Se])}const On=e=>{const t=new Array(10),r=(n,s)=>{if(ie(n)){if(t.indexOf(n)>=0)return;if(oe(n))return n;if(!("toJSON"in n)){t[s]=n;const o=G(n)?[]:{};return ae(n,(i,a)=>{const f=r(i,s+1);!Z(f)&&(o[a]=f)}),t[s]=void 0,o}}return n};return r(e,0)},An=L("AsyncFunction"),xn=e=>e&&(ie(e)||C(e))&&C(e.then)&&C(e.catch),Wt=((e,t)=>e?setImmediate:t?((r,n)=>(K.addEventListener("message",({source:s,data:o})=>{s===K&&o===r&&n.length&&n.shift()()},!1),s=>{n.push(s),K.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",C(K.postMessage)),Tn=typeof queueMicrotask<"u"?queueMicrotask.bind(K):typeof process<"u"&&process.nextTick||Wt,_n=e=>e!=null&&C(e[Se]),c={isArray:G,isArrayBuffer:Ht,isBuffer:oe,isFormData:Qr,isArrayBufferView:$r,isString:Mr,isNumber:qt,isBoolean:Hr,isObject:ie,isPlainObject:ye,isEmptyObject:qr,isReadableStream:en,isRequest:tn,isResponse:rn,isHeaders:nn,isUndefined:Z,isDate:Kr,isFile:zr,isReactNativeBlob:Vr,isReactNative:Wr,isBlob:Jr,isRegExp:bn,isFunction:C,isStream:Zr,isURLSearchParams:Yr,isTypedArray:dn,isFileList:Xr,forEach:ae,merge:qe,extend:on,trim:sn,stripBOM:an,inherits:cn,toFlatObject:un,kindOf:Oe,kindOfTest:L,endsWith:ln,toArray:fn,forEachEntry:pn,matchAll:hn,isHTMLForm:mn,hasOwnProperty:gt,hasOwnProp:gt,reduceDescriptors:Vt,freezeMethods:gn,toObjectSet:wn,toCamelCase:yn,noop:Rn,toFiniteNumber:En,findKey:Kt,global:K,isContextDefined:zt,isSpecCompliantForm:Sn,toJSONObject:On,isAsyncFn:An,isThenable:xn,setImmediate:Wt,asap:Tn,isIterable:_n};let y=class Jt extends Error{static from(t,r,n,s,o,i){const a=new Jt(t.message,r||t.code,n,s,o);return a.cause=t,a.name=t.name,t.status!=null&&a.status==null&&(a.status=t.status),i&&Object.assign(a,i),a}constructor(t,r,n,s,o){super(t),Object.defineProperty(this,"message",{value:t,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,r&&(this.code=r),n&&(this.config=n),s&&(this.request=s),o&&(this.response=o,this.status=o.status)}toJSON(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:c.toJSONObject(this.config),code:this.code,status:this.status}}};y.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";y.ERR_BAD_OPTION="ERR_BAD_OPTION";y.ECONNABORTED="ECONNABORTED";y.ETIMEDOUT="ETIMEDOUT";y.ERR_NETWORK="ERR_NETWORK";y.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";y.ERR_DEPRECATED="ERR_DEPRECATED";y.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";y.ERR_BAD_REQUEST="ERR_BAD_REQUEST";y.ERR_CANCELED="ERR_CANCELED";y.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";y.ERR_INVALID_URL="ERR_INVALID_URL";const Cn=null;function Ke(e){return c.isPlainObject(e)||c.isArray(e)}function Xt(e){return c.endsWith(e,"[]")?e.slice(0,-2):e}function ve(e,t,r){return e?e.concat(t).map(function(s,o){return s=Xt(s),!r&&o?"["+s+"]":s}).join(r?".":""):t}function Dn(e){return c.isArray(e)&&!e.some(Ke)}const Nn=c.toFlatObject(c,{},null,function(t){return/^is[A-Z]/.test(t)});function xe(e,t,r){if(!c.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,r=c.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(m,p){return!c.isUndefined(p[m])});const n=r.metaTokens,s=r.visitor||u,o=r.dots,i=r.indexes,f=(r.Blob||typeof Blob<"u"&&Blob)&&c.isSpecCompliantForm(t);if(!c.isFunction(s))throw new TypeError("visitor must be a function");function l(d){if(d===null)return"";if(c.isDate(d))return d.toISOString();if(c.isBoolean(d))return d.toString();if(!f&&c.isBlob(d))throw new y("Blob is not supported. Use a Buffer instead.");return c.isArrayBuffer(d)||c.isTypedArray(d)?f&&typeof Blob=="function"?new Blob([d]):Buffer.from(d):d}function u(d,m,p){let R=d;if(c.isReactNative(t)&&c.isReactNativeBlob(d))return t.append(ve(p,m,o),l(d)),!1;if(d&&!p&&typeof d=="object"){if(c.endsWith(m,"{}"))m=n?m:m.slice(0,-2),d=JSON.stringify(d);else if(c.isArray(d)&&Dn(d)||(c.isFileList(d)||c.endsWith(m,"[]"))&&(R=c.toArray(d)))return m=Xt(m),R.forEach(function(E,T){!(c.isUndefined(E)||E===null)&&t.append(i===!0?ve([m],T,o):i===null?m:m+"[]",l(E))}),!1}return Ke(d)?!0:(t.append(ve(p,m,o),l(d)),!1)}const h=[],b=Object.assign(Nn,{defaultVisitor:u,convertValue:l,isVisitable:Ke});function g(d,m){if(!c.isUndefined(d)){if(h.indexOf(d)!==-1)throw Error("Circular reference detected in "+m.join("."));h.push(d),c.forEach(d,function(R,P){(!(c.isUndefined(R)||R===null)&&s.call(t,R,c.isString(P)?P.trim():P,m,b))===!0&&g(R,m?m.concat(P):[P])}),h.pop()}}if(!c.isObject(e))throw new TypeError("data must be an object");return g(e),t}function wt(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(n){return t[n]})}function Ge(e,t){this._pairs=[],e&&xe(e,this,t)}const Zt=Ge.prototype;Zt.append=function(t,r){this._pairs.push([t,r])};Zt.toString=function(t){const r=t?function(n){return t.call(this,n,wt)}:wt;return this._pairs.map(function(s){return r(s[0])+"="+r(s[1])},"").join("&")};function Pn(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function Gt(e,t,r){if(!t)return e;const n=r&&r.encode||Pn,s=c.isFunction(r)?{serialize:r}:r,o=s&&s.serialize;let i;if(o?i=o(t,s):i=c.isURLSearchParams(t)?t.toString():new Ge(t,s).toString(n),i){const a=e.indexOf("#");a!==-1&&(e=e.slice(0,a)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}class Rt{constructor(){this.handlers=[]}use(t,r,n){return this.handlers.push({fulfilled:t,rejected:r,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){c.forEach(this.handlers,function(n){n!==null&&t(n)})}}const Qe={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0},Un=typeof URLSearchParams<"u"?URLSearchParams:Ge,vn=typeof FormData<"u"?FormData:null,Bn=typeof Blob<"u"?Blob:null,kn={isBrowser:!0,classes:{URLSearchParams:Un,FormData:vn,Blob:Bn},protocols:["http","https","file","blob","url","data"]},Ye=typeof window<"u"&&typeof document<"u",ze=typeof navigator=="object"&&navigator||void 0,Fn=Ye&&(!ze||["ReactNative","NativeScript","NS"].indexOf(ze.product)<0),Ln=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",In=Ye&&window.location.href||"http://localhost",jn=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Ye,hasStandardBrowserEnv:Fn,hasStandardBrowserWebWorkerEnv:Ln,navigator:ze,origin:In},Symbol.toStringTag,{value:"Module"})),A={...jn,...kn};function $n(e,t){return xe(e,new A.classes.URLSearchParams,{visitor:function(r,n,s,o){return A.isNode&&c.isBuffer(r)?(this.append(n,r.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)},...t})}function Mn(e){return c.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function Hn(e){const t={},r=Object.keys(e);let n;const s=r.length;let o;for(n=0;n=r.length;return i=!i&&c.isArray(s)?s.length:i,f?(c.hasOwnProp(s,i)?s[i]=[s[i],n]:s[i]=n,!a):((!s[i]||!c.isObject(s[i]))&&(s[i]=[]),t(r,n,s[i],o)&&c.isArray(s[i])&&(s[i]=Hn(s[i])),!a)}if(c.isFormData(e)&&c.isFunction(e.entries)){const r={};return c.forEachEntry(e,(n,s)=>{t(Mn(n),s,r,0)}),r}return null}function qn(e,t,r){if(c.isString(e))try{return(t||JSON.parse)(e),c.trim(e)}catch(n){if(n.name!=="SyntaxError")throw n}return(r||JSON.stringify)(e)}const ce={transitional:Qe,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){const n=r.getContentType()||"",s=n.indexOf("application/json")>-1,o=c.isObject(t);if(o&&c.isHTMLForm(t)&&(t=new FormData(t)),c.isFormData(t))return s?JSON.stringify(Qt(t)):t;if(c.isArrayBuffer(t)||c.isBuffer(t)||c.isStream(t)||c.isFile(t)||c.isBlob(t)||c.isReadableStream(t))return t;if(c.isArrayBufferView(t))return t.buffer;if(c.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return $n(t,this.formSerializer).toString();if((a=c.isFileList(t))||n.indexOf("multipart/form-data")>-1){const f=this.env&&this.env.FormData;return xe(a?{"files[]":t}:t,f&&new f,this.formSerializer)}}return o||s?(r.setContentType("application/json",!1),qn(t)):t}],transformResponse:[function(t){const r=this.transitional||ce.transitional,n=r&&r.forcedJSONParsing,s=this.responseType==="json";if(c.isResponse(t)||c.isReadableStream(t))return t;if(t&&c.isString(t)&&(n&&!this.responseType||s)){const i=!(r&&r.silentJSONParsing)&&s;try{return JSON.parse(t,this.parseReviver)}catch(a){if(i)throw a.name==="SyntaxError"?y.from(a,y.ERR_BAD_RESPONSE,this,null,this.response):a}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:A.classes.FormData,Blob:A.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};c.forEach(["delete","get","head","post","put","patch"],e=>{ce.headers[e]={}});const Kn=c.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),zn=e=>{const t={};let r,n,s;return e&&e.split(` -`).forEach(function(i){s=i.indexOf(":"),r=i.substring(0,s).trim().toLowerCase(),n=i.substring(s+1).trim(),!(!r||t[r]&&Kn[r])&&(r==="set-cookie"?t[r]?t[r].push(n):t[r]=[n]:t[r]=t[r]?t[r]+", "+n:n)}),t},Et=Symbol("internals");function re(e){return e&&String(e).trim().toLowerCase()}function be(e){return e===!1||e==null?e:c.isArray(e)?e.map(be):String(e)}function Vn(e){const t=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=r.exec(e);)t[n[1]]=n[2];return t}const Wn=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Be(e,t,r,n,s){if(c.isFunction(n))return n.call(this,t,r);if(s&&(t=r),!!c.isString(t)){if(c.isString(n))return t.indexOf(n)!==-1;if(c.isRegExp(n))return n.test(t)}}function Jn(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,r,n)=>r.toUpperCase()+n)}function Xn(e,t){const r=c.toCamelCase(" "+t);["get","set","has"].forEach(n=>{Object.defineProperty(e,n+r,{value:function(s,o,i){return this[n].call(this,t,s,o,i)},configurable:!0})})}let D=class{constructor(t){t&&this.set(t)}set(t,r,n){const s=this;function o(a,f,l){const u=re(f);if(!u)throw new Error("header name must be a non-empty string");const h=c.findKey(s,u);(!h||s[h]===void 0||l===!0||l===void 0&&s[h]!==!1)&&(s[h||f]=be(a))}const i=(a,f)=>c.forEach(a,(l,u)=>o(l,u,f));if(c.isPlainObject(t)||t instanceof this.constructor)i(t,r);else if(c.isString(t)&&(t=t.trim())&&!Wn(t))i(zn(t),r);else if(c.isObject(t)&&c.isIterable(t)){let a={},f,l;for(const u of t){if(!c.isArray(u))throw TypeError("Object iterator must return a key-value pair");a[l=u[0]]=(f=a[l])?c.isArray(f)?[...f,u[1]]:[f,u[1]]:u[1]}i(a,r)}else t!=null&&o(r,t,n);return this}get(t,r){if(t=re(t),t){const n=c.findKey(this,t);if(n){const s=this[n];if(!r)return s;if(r===!0)return Vn(s);if(c.isFunction(r))return r.call(this,s,n);if(c.isRegExp(r))return r.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,r){if(t=re(t),t){const n=c.findKey(this,t);return!!(n&&this[n]!==void 0&&(!r||Be(this,this[n],n,r)))}return!1}delete(t,r){const n=this;let s=!1;function o(i){if(i=re(i),i){const a=c.findKey(n,i);a&&(!r||Be(n,n[a],a,r))&&(delete n[a],s=!0)}}return c.isArray(t)?t.forEach(o):o(t),s}clear(t){const r=Object.keys(this);let n=r.length,s=!1;for(;n--;){const o=r[n];(!t||Be(this,this[o],o,t,!0))&&(delete this[o],s=!0)}return s}normalize(t){const r=this,n={};return c.forEach(this,(s,o)=>{const i=c.findKey(n,o);if(i){r[i]=be(s),delete r[o];return}const a=t?Jn(o):String(o).trim();a!==o&&delete r[o],r[a]=be(s),n[a]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const r=Object.create(null);return c.forEach(this,(n,s)=>{n!=null&&n!==!1&&(r[s]=t&&c.isArray(n)?n.join(", "):n)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,r])=>t+": "+r).join(` -`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...r){const n=new this(t);return r.forEach(s=>n.set(s)),n}static accessor(t){const n=(this[Et]=this[Et]={accessors:{}}).accessors,s=this.prototype;function o(i){const a=re(i);n[a]||(Xn(s,i),n[a]=!0)}return c.isArray(t)?t.forEach(o):o(t),this}};D.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);c.reduceDescriptors(D.prototype,({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(n){this[r]=n}}});c.freezeMethods(D);function ke(e,t){const r=this||ce,n=t||r,s=D.from(n.headers);let o=n.data;return c.forEach(e,function(a){o=a.call(r,o,s.normalize(),t?t.status:void 0)}),s.normalize(),o}function Yt(e){return!!(e&&e.__CANCEL__)}let ue=class extends y{constructor(t,r,n){super(t??"canceled",y.ERR_CANCELED,r,n),this.name="CanceledError",this.__CANCEL__=!0}};function er(e,t,r){const n=r.config.validateStatus;!r.status||!n||n(r.status)?e(r):t(new y("Request failed with status code "+r.status,[y.ERR_BAD_REQUEST,y.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}function Zn(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function Gn(e,t){e=e||10;const r=new Array(e),n=new Array(e);let s=0,o=0,i;return t=t!==void 0?t:1e3,function(f){const l=Date.now(),u=n[o];i||(i=l),r[s]=f,n[s]=l;let h=o,b=0;for(;h!==s;)b+=r[h++],h=h%e;if(s=(s+1)%e,s===o&&(o=(o+1)%e),l-i{r=u,s=null,o&&(clearTimeout(o),o=null),e(...l)};return[(...l)=>{const u=Date.now(),h=u-r;h>=n?i(l,u):(s=l,o||(o=setTimeout(()=>{o=null,i(s)},n-h)))},()=>s&&i(s)]}const Re=(e,t,r=3)=>{let n=0;const s=Gn(50,250);return Qn(o=>{const i=o.loaded,a=o.lengthComputable?o.total:void 0,f=i-n,l=s(f),u=i<=a;n=i;const h={loaded:i,total:a,progress:a?i/a:void 0,bytes:f,rate:l||void 0,estimated:l&&a&&u?(a-i)/l:void 0,event:o,lengthComputable:a!=null,[t?"download":"upload"]:!0};e(h)},r)},St=(e,t)=>{const r=e!=null;return[n=>t[0]({lengthComputable:r,total:e,loaded:n}),t[1]]},Ot=e=>(...t)=>c.asap(()=>e(...t)),Yn=A.hasStandardBrowserEnv?((e,t)=>r=>(r=new URL(r,A.origin),e.protocol===r.protocol&&e.host===r.host&&(t||e.port===r.port)))(new URL(A.origin),A.navigator&&/(msie|trident)/i.test(A.navigator.userAgent)):()=>!0,es=A.hasStandardBrowserEnv?{write(e,t,r,n,s,o,i){if(typeof document>"u")return;const a=[`${e}=${encodeURIComponent(t)}`];c.isNumber(r)&&a.push(`expires=${new Date(r).toUTCString()}`),c.isString(n)&&a.push(`path=${n}`),c.isString(s)&&a.push(`domain=${s}`),o===!0&&a.push("secure"),c.isString(i)&&a.push(`SameSite=${i}`),document.cookie=a.join("; ")},read(e){if(typeof document>"u")return null;const t=document.cookie.match(new RegExp("(?:^|; )"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function ts(e){return typeof e!="string"?!1:/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function rs(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function tr(e,t,r){let n=!ts(t);return e&&(n||r==!1)?rs(e,t):t}const At=e=>e instanceof D?{...e}:e;function W(e,t){t=t||{};const r={};function n(l,u,h,b){return c.isPlainObject(l)&&c.isPlainObject(u)?c.merge.call({caseless:b},l,u):c.isPlainObject(u)?c.merge({},u):c.isArray(u)?u.slice():u}function s(l,u,h,b){if(c.isUndefined(u)){if(!c.isUndefined(l))return n(void 0,l,h,b)}else return n(l,u,h,b)}function o(l,u){if(!c.isUndefined(u))return n(void 0,u)}function i(l,u){if(c.isUndefined(u)){if(!c.isUndefined(l))return n(void 0,l)}else return n(void 0,u)}function a(l,u,h){if(h in t)return n(l,u);if(h in e)return n(void 0,l)}const f={url:o,method:o,data:o,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:a,headers:(l,u,h)=>s(At(l),At(u),h,!0)};return c.forEach(Object.keys({...e,...t}),function(u){if(u==="__proto__"||u==="constructor"||u==="prototype")return;const h=c.hasOwnProp(f,u)?f[u]:s,b=h(e[u],t[u],u);c.isUndefined(b)&&h!==a||(r[u]=b)}),r}const rr=e=>{const t=W({},e);let{data:r,withXSRFToken:n,xsrfHeaderName:s,xsrfCookieName:o,headers:i,auth:a}=t;if(t.headers=i=D.from(i),t.url=Gt(tr(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),a&&i.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):""))),c.isFormData(r)){if(A.hasStandardBrowserEnv||A.hasStandardBrowserWebWorkerEnv)i.setContentType(void 0);else if(c.isFunction(r.getHeaders)){const f=r.getHeaders(),l=["content-type","content-length"];Object.entries(f).forEach(([u,h])=>{l.includes(u.toLowerCase())&&i.set(u,h)})}}if(A.hasStandardBrowserEnv&&(n&&c.isFunction(n)&&(n=n(t)),n||n!==!1&&Yn(t.url))){const f=s&&o&&es.read(o);f&&i.set(s,f)}return t},ns=typeof XMLHttpRequest<"u",ss=ns&&function(e){return new Promise(function(r,n){const s=rr(e);let o=s.data;const i=D.from(s.headers).normalize();let{responseType:a,onUploadProgress:f,onDownloadProgress:l}=s,u,h,b,g,d;function m(){g&&g(),d&&d(),s.cancelToken&&s.cancelToken.unsubscribe(u),s.signal&&s.signal.removeEventListener("abort",u)}let p=new XMLHttpRequest;p.open(s.method.toUpperCase(),s.url,!0),p.timeout=s.timeout;function R(){if(!p)return;const E=D.from("getAllResponseHeaders"in p&&p.getAllResponseHeaders()),B={data:!a||a==="text"||a==="json"?p.responseText:p.response,status:p.status,statusText:p.statusText,headers:E,config:e,request:p};er(function(U){r(U),m()},function(U){n(U),m()},B),p=null}"onloadend"in p?p.onloadend=R:p.onreadystatechange=function(){!p||p.readyState!==4||p.status===0&&!(p.responseURL&&p.responseURL.indexOf("file:")===0)||setTimeout(R)},p.onabort=function(){p&&(n(new y("Request aborted",y.ECONNABORTED,e,p)),p=null)},p.onerror=function(T){const B=T&&T.message?T.message:"Network Error",H=new y(B,y.ERR_NETWORK,e,p);H.event=T||null,n(H),p=null},p.ontimeout=function(){let T=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded";const B=s.transitional||Qe;s.timeoutErrorMessage&&(T=s.timeoutErrorMessage),n(new y(T,B.clarifyTimeoutError?y.ETIMEDOUT:y.ECONNABORTED,e,p)),p=null},o===void 0&&i.setContentType(null),"setRequestHeader"in p&&c.forEach(i.toJSON(),function(T,B){p.setRequestHeader(B,T)}),c.isUndefined(s.withCredentials)||(p.withCredentials=!!s.withCredentials),a&&a!=="json"&&(p.responseType=s.responseType),l&&([b,d]=Re(l,!0),p.addEventListener("progress",b)),f&&p.upload&&([h,g]=Re(f),p.upload.addEventListener("progress",h),p.upload.addEventListener("loadend",g)),(s.cancelToken||s.signal)&&(u=E=>{p&&(n(!E||E.type?new ue(null,e,p):E),p.abort(),p=null)},s.cancelToken&&s.cancelToken.subscribe(u),s.signal&&(s.signal.aborted?u():s.signal.addEventListener("abort",u)));const P=Zn(s.url);if(P&&A.protocols.indexOf(P)===-1){n(new y("Unsupported protocol "+P+":",y.ERR_BAD_REQUEST,e));return}p.send(o||null)})},os=(e,t)=>{const{length:r}=e=e?e.filter(Boolean):[];if(t||r){let n=new AbortController,s;const o=function(l){if(!s){s=!0,a();const u=l instanceof Error?l:this.reason;n.abort(u instanceof y?u:new ue(u instanceof Error?u.message:u))}};let i=t&&setTimeout(()=>{i=null,o(new y(`timeout of ${t}ms exceeded`,y.ETIMEDOUT))},t);const a=()=>{e&&(i&&clearTimeout(i),i=null,e.forEach(l=>{l.unsubscribe?l.unsubscribe(o):l.removeEventListener("abort",o)}),e=null)};e.forEach(l=>l.addEventListener("abort",o));const{signal:f}=n;return f.unsubscribe=()=>c.asap(a),f}},is=function*(e,t){let r=e.byteLength;if(r{const s=as(e,t);let o=0,i,a=f=>{i||(i=!0,n&&n(f))};return new ReadableStream({async pull(f){try{const{done:l,value:u}=await s.next();if(l){a(),f.close();return}let h=u.byteLength;if(r){let b=o+=h;r(b)}f.enqueue(new Uint8Array(u))}catch(l){throw a(l),l}},cancel(f){return a(f),s.return()}},{highWaterMark:2})},Tt=64*1024,{isFunction:he}=c,us=(({Request:e,Response:t})=>({Request:e,Response:t}))(c.global),{ReadableStream:_t,TextEncoder:Ct}=c.global,Dt=(e,...t)=>{try{return!!e(...t)}catch{return!1}},ls=e=>{e=c.merge.call({skipUndefined:!0},us,e);const{fetch:t,Request:r,Response:n}=e,s=t?he(t):typeof fetch=="function",o=he(r),i=he(n);if(!s)return!1;const a=s&&he(_t),f=s&&(typeof Ct=="function"?(d=>m=>d.encode(m))(new Ct):async d=>new Uint8Array(await new r(d).arrayBuffer())),l=o&&a&&Dt(()=>{let d=!1;const m=new r(A.origin,{body:new _t,method:"POST",get duplex(){return d=!0,"half"}}).headers.has("Content-Type");return d&&!m}),u=i&&a&&Dt(()=>c.isReadableStream(new n("").body)),h={stream:u&&(d=>d.body)};s&&["text","arrayBuffer","blob","formData","stream"].forEach(d=>{!h[d]&&(h[d]=(m,p)=>{let R=m&&m[d];if(R)return R.call(m);throw new y(`Response type '${d}' is not supported`,y.ERR_NOT_SUPPORT,p)})});const b=async d=>{if(d==null)return 0;if(c.isBlob(d))return d.size;if(c.isSpecCompliantForm(d))return(await new r(A.origin,{method:"POST",body:d}).arrayBuffer()).byteLength;if(c.isArrayBufferView(d)||c.isArrayBuffer(d))return d.byteLength;if(c.isURLSearchParams(d)&&(d=d+""),c.isString(d))return(await f(d)).byteLength},g=async(d,m)=>{const p=c.toFiniteNumber(d.getContentLength());return p??b(m)};return async d=>{let{url:m,method:p,data:R,signal:P,cancelToken:E,timeout:T,onDownloadProgress:B,onUploadProgress:H,responseType:U,headers:_e,withCredentials:le="same-origin",fetchOptions:st}=rr(d),ot=t||fetch;U=U?(U+"").toLowerCase():"text";let fe=os([P,E&&E.toAbortSignal()],T),Y=null;const q=fe&&fe.unsubscribe&&(()=>{fe.unsubscribe()});let it;try{if(H&&l&&p!=="get"&&p!=="head"&&(it=await g(_e,R))!==0){let M=new r(m,{method:"POST",body:R,duplex:"half"}),J;if(c.isFormData(R)&&(J=M.headers.get("content-type"))&&_e.setContentType(J),M.body){const[Ce,de]=St(it,Re(Ot(H)));R=xt(M.body,Tt,Ce,de)}}c.isString(le)||(le=le?"include":"omit");const _=o&&"credentials"in r.prototype,at={...st,signal:fe,method:p.toUpperCase(),headers:_e.normalize().toJSON(),body:R,duplex:"half",credentials:_?le:void 0};Y=o&&new r(m,at);let $=await(o?ot(Y,st):ot(m,at));const ct=u&&(U==="stream"||U==="response");if(u&&(B||ct&&q)){const M={};["status","statusText","headers"].forEach(ut=>{M[ut]=$[ut]});const J=c.toFiniteNumber($.headers.get("content-length")),[Ce,de]=B&&St(J,Re(Ot(B),!0))||[];$=new n(xt($.body,Tt,Ce,()=>{de&&de(),q&&q()}),M)}U=U||"text";let Or=await h[c.findKey(h,U)||"text"]($,d);return!ct&&q&&q(),await new Promise((M,J)=>{er(M,J,{data:Or,headers:D.from($.headers),status:$.status,statusText:$.statusText,config:d,request:Y})})}catch(_){throw q&&q(),_&&_.name==="TypeError"&&/Load failed|fetch/i.test(_.message)?Object.assign(new y("Network Error",y.ERR_NETWORK,d,Y,_&&_.response),{cause:_.cause||_}):y.from(_,_&&_.code,d,Y,_&&_.response)}}},fs=new Map,nr=e=>{let t=e&&e.env||{};const{fetch:r,Request:n,Response:s}=t,o=[n,s,r];let i=o.length,a=i,f,l,u=fs;for(;a--;)f=o[a],l=u.get(f),l===void 0&&u.set(f,l=a?new Map:ls(t)),u=l;return l};nr();const et={http:Cn,xhr:ss,fetch:{get:nr}};c.forEach(et,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const Nt=e=>`- ${e}`,ds=e=>c.isFunction(e)||e===null||e===!1;function ps(e,t){e=c.isArray(e)?e:[e];const{length:r}=e;let n,s;const o={};for(let i=0;i`adapter ${f} `+(l===!1?"is not supported by the environment":"is not available in the build"));let a=r?i.length>1?`since : -`+i.map(Nt).join(` -`):" "+Nt(i[0]):"as no adapter specified";throw new y("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return s}const sr={getAdapter:ps,adapters:et};function Fe(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new ue(null,e)}function Pt(e){return Fe(e),e.headers=D.from(e.headers),e.data=ke.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),sr.getAdapter(e.adapter||ce.adapter,e)(e).then(function(n){return Fe(e),n.data=ke.call(e,e.transformResponse,n),n.headers=D.from(n.headers),n},function(n){return Yt(n)||(Fe(e),n&&n.response&&(n.response.data=ke.call(e,e.transformResponse,n.response),n.response.headers=D.from(n.response.headers))),Promise.reject(n)})}const or="1.13.6",Te={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Te[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}});const Ut={};Te.transitional=function(t,r,n){function s(o,i){return"[Axios v"+or+"] Transitional option '"+o+"'"+i+(n?". "+n:"")}return(o,i,a)=>{if(t===!1)throw new y(s(i," has been removed"+(r?" in "+r:"")),y.ERR_DEPRECATED);return r&&!Ut[i]&&(Ut[i]=!0,console.warn(s(i," has been deprecated since v"+r+" and will be removed in the near future"))),t?t(o,i,a):!0}};Te.spelling=function(t){return(r,n)=>(console.warn(`${n} is likely a misspelling of ${t}`),!0)};function hs(e,t,r){if(typeof e!="object")throw new y("options must be an object",y.ERR_BAD_OPTION_VALUE);const n=Object.keys(e);let s=n.length;for(;s-- >0;){const o=n[s],i=t[o];if(i){const a=e[o],f=a===void 0||i(a,o,e);if(f!==!0)throw new y("option "+o+" must be "+f,y.ERR_BAD_OPTION_VALUE);continue}if(r!==!0)throw new y("Unknown option "+o,y.ERR_BAD_OPTION)}}const ge={assertOptions:hs,validators:Te},v=ge.validators;let V=class{constructor(t){this.defaults=t||{},this.interceptors={request:new Rt,response:new Rt}}async request(t,r){try{return await this._request(t,r)}catch(n){if(n instanceof Error){let s={};Error.captureStackTrace?Error.captureStackTrace(s):s=new Error;const o=s.stack?s.stack.replace(/^.+\n/,""):"";try{n.stack?o&&!String(n.stack).endsWith(o.replace(/^.+\n.+\n/,""))&&(n.stack+=` -`+o):n.stack=o}catch{}}throw n}}_request(t,r){typeof t=="string"?(r=r||{},r.url=t):r=t||{},r=W(this.defaults,r);const{transitional:n,paramsSerializer:s,headers:o}=r;n!==void 0&&ge.assertOptions(n,{silentJSONParsing:v.transitional(v.boolean),forcedJSONParsing:v.transitional(v.boolean),clarifyTimeoutError:v.transitional(v.boolean),legacyInterceptorReqResOrdering:v.transitional(v.boolean)},!1),s!=null&&(c.isFunction(s)?r.paramsSerializer={serialize:s}:ge.assertOptions(s,{encode:v.function,serialize:v.function},!0)),r.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?r.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:r.allowAbsoluteUrls=!0),ge.assertOptions(r,{baseUrl:v.spelling("baseURL"),withXsrfToken:v.spelling("withXSRFToken")},!0),r.method=(r.method||this.defaults.method||"get").toLowerCase();let i=o&&c.merge(o.common,o[r.method]);o&&c.forEach(["delete","get","head","post","put","patch","common"],d=>{delete o[d]}),r.headers=D.concat(i,o);const a=[];let f=!0;this.interceptors.request.forEach(function(m){if(typeof m.runWhen=="function"&&m.runWhen(r)===!1)return;f=f&&m.synchronous;const p=r.transitional||Qe;p&&p.legacyInterceptorReqResOrdering?a.unshift(m.fulfilled,m.rejected):a.push(m.fulfilled,m.rejected)});const l=[];this.interceptors.response.forEach(function(m){l.push(m.fulfilled,m.rejected)});let u,h=0,b;if(!f){const d=[Pt.bind(this),void 0];for(d.unshift(...a),d.push(...l),b=d.length,u=Promise.resolve(r);h{if(!n._listeners)return;let o=n._listeners.length;for(;o-- >0;)n._listeners[o](s);n._listeners=null}),this.promise.then=s=>{let o;const i=new Promise(a=>{n.subscribe(a),o=a}).then(s);return i.cancel=function(){n.unsubscribe(o)},i},t(function(o,i,a){n.reason||(n.reason=new ue(o,i,a),r(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const r=this._listeners.indexOf(t);r!==-1&&this._listeners.splice(r,1)}toAbortSignal(){const t=new AbortController,r=n=>{t.abort(n)};return this.subscribe(r),t.signal.unsubscribe=()=>this.unsubscribe(r),t.signal}static source(){let t;return{token:new ir(function(s){t=s}),cancel:t}}};function ys(e){return function(r){return e.apply(null,r)}}function bs(e){return c.isObject(e)&&e.isAxiosError===!0}const Ve={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(Ve).forEach(([e,t])=>{Ve[t]=e});function ar(e){const t=new V(e),r=$t(V.prototype.request,t);return c.extend(r,V.prototype,t,{allOwnKeys:!0}),c.extend(r,t,null,{allOwnKeys:!0}),r.create=function(s){return ar(W(e,s))},r}const w=ar(ce);w.Axios=V;w.CanceledError=ue;w.CancelToken=ms;w.isCancel=Yt;w.VERSION=or;w.toFormData=xe;w.AxiosError=y;w.Cancel=w.CanceledError;w.all=function(t){return Promise.all(t)};w.spread=ys;w.isAxiosError=bs;w.mergeConfig=W;w.AxiosHeaders=D;w.formToJSON=e=>Qt(c.isHTMLForm(e)?new FormData(e):e);w.getAdapter=sr.getAdapter;w.HttpStatusCode=Ve;w.default=w;const{Axios:Hs,AxiosError:qs,CanceledError:Ks,isCancel:zs,CancelToken:Vs,VERSION:Ws,all:Js,Cancel:Xs,isAxiosError:Zs,spread:Gs,toFormData:Qs,AxiosHeaders:Ys,HttpStatusCode:eo,formToJSON:to,getAdapter:ro,mergeConfig:no}=w;function gs(e,t){return"headers"in e&&typeof e.headers=="object"&&!Array.isArray(e.headers)?Le(e.headers):"getHeaders"in e&&typeof e.getHeaders=="function"?Le(e.getHeaders()):Le(e)}function Le(e,t){const r=I(e,"ratelimit");if(r)return Ss(r);let n;if(I(e,"ratelimit-remaining"))n="ratelimit-";else if(I(e,"x-ratelimit-remaining"))n="x-ratelimit-";else if(I(e,"x-rate-limit-remaining"))n="x-rate-limit-";else return;const s=F(I(e,`${n}limit`)),o=F(I(e,`${n}used`))||F(I(e,`${n}observed`)),i=F(I(e,`${n}remaining`));let a;const f=I(e,`${n}reset`);switch(void 0){case"date":{a=cr(f??"");break}case"unix":{a=We(f??"");break}case"seconds":{a=ur(f??"");break}case"milliseconds":{a=Os(f??"");break}default:if(f)a=xs(f);else{const u=I(e,"retry-after");u&&(a=We(u))}}return{limit:Number.isNaN(s)?o+i:s,used:Number.isNaN(o)?s-i:o,remaining:i,reset:a}}var ws=/limit\s*=\s*(\d+)/i,Rs=/remaining\s*=\s*(\d+)/i,Es=/reset\s*=\s*(\d+)/i;function Ss(e){var t,r,n;const s=F((t=ws.exec(e))==null?void 0:t[1]),o=F((r=Rs.exec(e))==null?void 0:r[1]),i=F((n=Es.exec(e))==null?void 0:n[1]),a=tt(i);return{limit:s,used:s-o,remaining:o,reset:a}}function tt(e){const t=new Date;return t.setSeconds(t.getSeconds()+e),t}function F(e){return typeof e=="number"?e:Number.parseInt(e??"",10)}function I(e,t){var r;if("get"in e&&typeof e.get=="function")return(r=e.get(t))!=null?r:void 0;if(t in e&&typeof e[t]=="string")return e[t]}function cr(e){return new Date(e)}function We(e){const t=F(e);return new Date(t*1e3)}function ur(e){const t=F(e);return tt(t)}function Os(e){const t=F(e);return tt(t/1e3)}var As=/[a-z]/i;function xs(e){if(As.test(e))return cr(e);const t=F(e);return t&&t>1e9?We(t):ur(t)}const lr="3.7.8",Ts=lr,Q=typeof Buffer=="function",vt=typeof TextDecoder=="function"?new TextDecoder:void 0,Bt=typeof TextEncoder=="function"?new TextEncoder:void 0,_s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",se=Array.prototype.slice.call(_s),me=(e=>{let t={};return e.forEach((r,n)=>t[r]=n),t})(se),Cs=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,O=String.fromCharCode.bind(String),kt=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):e=>new Uint8Array(Array.prototype.slice.call(e,0)),fr=e=>e.replace(/=/g,"").replace(/[+\/]/g,t=>t=="+"?"-":"_"),dr=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),pr=e=>{let t,r,n,s,o="";const i=e.length%3;for(let a=0;a255||(n=e.charCodeAt(a++))>255||(s=e.charCodeAt(a++))>255)throw new TypeError("invalid character found");t=r<<16|n<<8|s,o+=se[t>>18&63]+se[t>>12&63]+se[t>>6&63]+se[t&63]}return i?o.slice(0,i-3)+"===".substring(i):o},rt=typeof btoa=="function"?e=>btoa(e):Q?e=>Buffer.from(e,"binary").toString("base64"):pr,Je=Q?e=>Buffer.from(e).toString("base64"):e=>{let r=[];for(let n=0,s=e.length;nt?fr(Je(e)):Je(e),Ds=e=>{if(e.length<2){var t=e.charCodeAt(0);return t<128?e:t<2048?O(192|t>>>6)+O(128|t&63):O(224|t>>>12&15)+O(128|t>>>6&63)+O(128|t&63)}else{var t=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return O(240|t>>>18&7)+O(128|t>>>12&63)+O(128|t>>>6&63)+O(128|t&63)}},Ns=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,hr=e=>e.replace(Ns,Ds),Ft=Q?e=>Buffer.from(e,"utf8").toString("base64"):Bt?e=>Je(Bt.encode(e)):e=>rt(hr(e)),X=(e,t=!1)=>t?fr(Ft(e)):Ft(e),Lt=e=>X(e,!0),Ps=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,Us=e=>{switch(e.length){case 4:var t=(7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3),r=t-65536;return O((r>>>10)+55296)+O((r&1023)+56320);case 3:return O((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return O((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},mr=e=>e.replace(Ps,Us),yr=e=>{if(e=e.replace(/\s+/g,""),!Cs.test(e))throw new TypeError("malformed base64.");e+="==".slice(2-(e.length&3));let t,r,n,s=[];for(let o=0;o>16&255)):n===64?s.push(O(t>>16&255,t>>8&255)):s.push(O(t>>16&255,t>>8&255,t&255));return s.join("")},nt=typeof atob=="function"?e=>atob(dr(e)):Q?e=>Buffer.from(e,"base64").toString("binary"):yr,br=Q?e=>kt(Buffer.from(e,"base64")):e=>kt(nt(e).split("").map(t=>t.charCodeAt(0))),gr=e=>br(wr(e)),vs=Q?e=>Buffer.from(e,"base64").toString("utf8"):vt?e=>vt.decode(br(e)):e=>mr(nt(e)),wr=e=>dr(e.replace(/[-_]/g,t=>t=="-"?"+":"/")),Xe=e=>vs(wr(e)),Bs=e=>{if(typeof e!="string")return!1;const t=e.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(t)||!/[^\s0-9a-zA-Z\-_]/.test(t)},Rr=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),Er=function(){const e=(t,r)=>Object.defineProperty(String.prototype,t,Rr(r));e("fromBase64",function(){return Xe(this)}),e("toBase64",function(t){return X(this,t)}),e("toBase64URI",function(){return X(this,!0)}),e("toBase64URL",function(){return X(this,!0)}),e("toUint8Array",function(){return gr(this)})},Sr=function(){const e=(t,r)=>Object.defineProperty(Uint8Array.prototype,t,Rr(r));e("toBase64",function(t){return we(this,t)}),e("toBase64URI",function(){return we(this,!0)}),e("toBase64URL",function(){return we(this,!0)})},ks=()=>{Er(),Sr()},Fs={version:lr,VERSION:Ts,atob:nt,atobPolyfill:yr,btoa:rt,btoaPolyfill:pr,fromBase64:Xe,toBase64:X,encode:X,encodeURI:Lt,encodeURL:Lt,utob:hr,btou:mr,decode:Xe,isValid:Bs,fromUint8Array:we,toUint8Array:gr,extendString:Er,extendUint8Array:Sr,extendBuiltins:ks},N=w.create({timeout:1e4});N.interceptors.request.use(e=>{const t=S("server.provider");if(t==="kv-server"||t==="classworkscloud"){const r=S("server.kvToken");if(r)e.headers["x-app-token"]=r;else{const n=S("server.siteKey");n&&(e.headers["x-site-key"]=Fs.encode(n))}}return e},e=>(console.log(e),Promise.reject(e)));N.interceptors.response.use(e=>e,e=>{if(e.response&&e.response.status===429)try{const t=gs(e.response);t&&Ar.show(t.reset,e.config.url,e.config.method.toUpperCase())}catch(t){console.error("解析限速头信息失败:",t)}return Promise.reject(e)});const so=Object.freeze(Object.defineProperty({__proto__:null,default:N},Symbol.toStringTag,{value:"Module"})),j=()=>{const e={Accept:"application/json"},t=S("server.kvToken"),r=S("server.siteKey");return t?e["x-app-token"]=t:r&&(e["x-site-key"]=r),e},ne={async loadNamespaceInfo(){var e,t;try{if(ee())return await te(async s=>{const o=await N.get(`${s}/kv/_info`,{headers:j()});return k(o.data)});const r=S("server.domain"),n=await N.get(`${r}/kv/_info`,{headers:j()});return k(n.data)}catch(r){return console.error("获取命名空间信息失败:",r),x(((t=(e=r.response)==null?void 0:e.data)==null?void 0:t.message)||"获取命名空间信息失败","NAMESPACE_ERROR")}},async updateNamespaceInfo(e){var t,r;try{if(ee())return await te(async o=>await N.put(`${o}/kv/_info`,e,{headers:j()}));const n=S("server.domain");return await N.put(`${n}/kv/_info`,e,{headers:j()})}catch(n){return x(((r=(t=n.response)==null?void 0:t.data)==null?void 0:r.message)||"更新命名空间信息失败","NAMESPACE_ERROR")}},async loadData(e){var t,r,n;try{if(ee())return await te(async i=>{const a=await N.get(`${i}/kv/${e}`,{headers:j()});return k(a.data)});const s=S("server.domain"),o=await N.get(`${s}/kv/${e}`,{headers:j()});return k(o.data)}catch(s){return((t=s.response)==null?void 0:t.status)===404?x("数据不存在","NOT_FOUND"):(console.log(s),x(((n=(r=s.response)==null?void 0:r.data)==null?void 0:n.message)||"服务器连接失败","NETWORK_ERROR"))}},async saveData(e,t){var r,n;try{if(ee())return await te(async o=>(await N.post(`${o}/kv/${e}`,t,{headers:j()}),k(!0)));const s=S("server.domain");return await N.post(`${s}/kv/${e}`,t,{headers:j()}),k(!0)}catch(s){return console.log(s),x(((n=(r=s.response)==null?void 0:r.data)==null?void 0:n.message)||"保存失败","SAVE_ERROR")}},async loadKeys(e={}){var t,r,n,s,o;try{const{sortBy:i="key",sortDir:a="asc",limit:f=100,skip:l=0}=e,u=new URLSearchParams({sortBy:i,sortDir:a,limit:f.toString(),skip:l.toString()});if(ee())return await te(async g=>{const d=await N.get(`${g}/kv/_keys?${u}`,{headers:j()});return k(d.data)});const h=S("server.domain"),b=await N.get(`${h}/kv/_keys?${u}`,{headers:j()});return k(b.data)}catch(i){return((t=i.response)==null?void 0:t.status)===404?x("命名空间不存在","NOT_FOUND"):((r=i.response)==null?void 0:r.status)===403?x("无权限访问此命名空间","PERMISSION_DENIED"):((n=i.response)==null?void 0:n.status)===401?x("认证失败","UNAUTHORIZED"):(console.log(i),x(((o=(s=i.response)==null?void 0:s.data)==null?void 0:o.message)||"获取键名列表失败","NETWORK_ERROR"))}}},k=e=>e,x=(e,t="UNKNOWN_ERROR")=>({success:!1,error:{code:t,message:e}}),oo={loadData:async e=>{const t=S("server.provider");return t==="kv-server"||t==="classworkscloud"?ne.loadData(e):pe.loadData(e)},saveData:async(e,t)=>{const r=S("server.provider");return r==="kv-server"||r==="classworkscloud"?ne.saveData(e,t):pe.saveData(e,t)},loadKeys:async(e={})=>{const t=S("server.provider");return t==="kv-server"||t==="classworkscloud"?ne.loadKeys(e):pe.loadKeys(e)},async getKeyCloudUrl(e,t={}){var s;const{migrateFromLocal:r=!0,autoConfigureCloud:n=!0}=t;try{const o=S("server.provider");let i;o==="classworkscloud"?i=lt():i=S("server.domain");let a=S("server.siteKey");const f=S("device.uuid");let l=!1;if(!i||!f)if(n){const g={"server.domain":"https://kv-service.houlang.cloud","server.siteKey":""};i||(De("server.domain",g["server.domain"]),i=g["server.domain"],l=!0),a||(De("server.siteKey",g["server.siteKey"]),a=g["server.siteKey"]),De("server.provider","classworkscloud"),i=lt()}else return x("云端配置无效,请检查服务器域名和设备UUID","CONFIG_ERROR");let u=!1;if(r)try{const g=await pe.loadData(e);if(g&&g.success!==!1){const d=await ne.loadData(e);if(d&&d.success===!1&&((s=d.error)==null?void 0:s.code)==="NOT_FOUND"){const m=await ne.saveData(e,g);m&&m.success!==!1&&(u=!0,console.log(`已成功将键 ${e} 的数据从本地迁移到云端`))}}}catch(g){console.warn(`迁移键 ${e} 的数据时出错:`,g)}const h=S("server.kvToken");return{success:!0,url:`${i}/kv/${e}?token=${h}`,migrated:u,configured:l}}catch(o){return console.error("获取键云端地址时出错:",o),x(o.message||"获取键云端地址失败","CLOUD_URL_ERROR")}}};export{w as a,N as b,pe as c,oo as d,so as e,Fs as g,ne as k,Pr as o}; diff --git a/assets/dataProvider-Dty8Zh7m.js b/assets/dataProvider-Dty8Zh7m.js new file mode 100644 index 0000000..340decf --- /dev/null +++ b/assets/dataProvider-Dty8Zh7m.js @@ -0,0 +1 @@ +import{a as X,g as Y}from"./vendor-utils-DDRLRfsI.js";import{g as u,ae as q,v as O}from"./index-Bqe1gKo7.js";import{i as R,t as I,g as j}from"./serverRotation-CLP7smnN.js";const K=(e,r)=>r.some(t=>e instanceof t);let F,V;function ee(){return F||(F=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function re(){return V||(V=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const P=new WeakMap,_=new WeakMap,S=new WeakMap;function te(e){const r=new Promise((t,s)=>{const o=()=>{e.removeEventListener("success",a),e.removeEventListener("error",n)},a=()=>{t(p(e.result)),o()},n=()=>{s(e.error),o()};e.addEventListener("success",a),e.addEventListener("error",n)});return S.set(r,e),r}function se(e){if(P.has(e))return;const r=new Promise((t,s)=>{const o=()=>{e.removeEventListener("complete",a),e.removeEventListener("error",n),e.removeEventListener("abort",n)},a=()=>{t(),o()},n=()=>{s(e.error||new DOMException("AbortError","AbortError")),o()};e.addEventListener("complete",a),e.addEventListener("error",n),e.addEventListener("abort",n)});P.set(e,r)}let L={get(e,r,t){if(e instanceof IDBTransaction){if(r==="done")return P.get(e);if(r==="store")return t.objectStoreNames[1]?void 0:t.objectStore(t.objectStoreNames[0])}return p(e[r])},set(e,r,t){return e[r]=t,!0},has(e,r){return e instanceof IDBTransaction&&(r==="done"||r==="store")?!0:r in e}};function J(e){L=e(L)}function ne(e){return re().includes(e)?function(...r){return e.apply(C(this),r),p(this.request)}:function(...r){return p(e.apply(C(this),r))}}function oe(e){return typeof e=="function"?ne(e):(e instanceof IDBTransaction&&se(e),K(e,ee())?new Proxy(e,L):e)}function p(e){if(e instanceof IDBRequest)return te(e);if(_.has(e))return _.get(e);const r=oe(e);return r!==e&&(_.set(e,r),S.set(r,e)),r}const C=e=>S.get(e);function ae(e,r,{blocked:t,upgrade:s,blocking:o,terminated:a}={}){const n=indexedDB.open(e,r),c=p(n);return s&&n.addEventListener("upgradeneeded",i=>{s(p(n.result),i.oldVersion,i.newVersion,p(n.transaction),i)}),t&&n.addEventListener("blocked",i=>t(i.oldVersion,i.newVersion,i)),c.then(i=>{a&&i.addEventListener("close",()=>a()),o&&i.addEventListener("versionchange",d=>o(d.oldVersion,d.newVersion,d))}).catch(()=>{}),c}const ie=["get","getKey","getAll","getAllKeys","count"],ce=["put","add","delete","clear"],B=new Map;function W(e,r){if(!(e instanceof IDBDatabase&&!(r in e)&&typeof r=="string"))return;if(B.get(r))return B.get(r);const t=r.replace(/FromIndex$/,""),s=r!==t,o=ce.includes(t);if(!(t in(s?IDBIndex:IDBObjectStore).prototype)||!(o||ie.includes(t)))return;const a=async function(n,...c){const i=this.transaction(n,o?"readwrite":"readonly");let d=i.store;return s&&(d=d.index(c.shift())),(await Promise.all([d[t](...c),o&&i.done]))[0]};return B.set(r,a),a}J(e=>({...e,get:(r,t,s)=>W(r,t)||e.get(r,t,s),has:(r,t)=>!!W(r,t)||e.has(r,t)}));const ue=["continue","continuePrimaryKey","advance"],H={},T=new WeakMap,G=new WeakMap,de={get(e,r){if(!ue.includes(r))return e[r];let t=H[r];return t||(t=H[r]=function(...s){T.set(this,G.get(this)[r](...s))}),t}};async function*le(...e){let r=this;if(r instanceof IDBCursor||(r=await r.openCursor(...e)),!r)return;r=r;const t=new Proxy(r,de);for(G.set(t,r),S.set(t,C(r));r;)yield t,r=await(T.get(t)||r.continue()),T.delete(t)}function z(e,r){return r===Symbol.asyncIterator&&K(e,[IDBIndex,IDBObjectStore,IDBCursor])||r==="iterate"&&K(e,[IDBIndex,IDBObjectStore])}J(e=>({...e,get(r,t,s){return z(r,t)?le:e.get(r,t,s)},has(r,t){return z(r,t)||e.has(r,t)}}));const fe="ClassworksDB",ve=2,x=async()=>ae(fe,ve,{upgrade(e){e.objectStoreNames.contains("kv")||e.createObjectStore("kv"),e.objectStoreNames.contains("system")||e.createObjectStore("system")}}),N={async loadData(e){try{const t=await(await x()).get("kv",e);return t?y(JSON.parse(t)):f("数据不存在","NOT_FOUND")}catch(r){return f("读取本地数据失败:"+r)}},async saveData(e,r){try{return await(await x()).put("kv",JSON.stringify(r),e),y(!0)}catch(t){return f("保存本地数据失败:"+t)}},async loadKeys(e={}){try{const o=await(await x()).transaction(["kv"],"readonly").objectStore("kv").getAllKeys(),{sortDir:a="asc",limit:n=100,skip:c=0}=e,i=o.sort((k,l)=>a==="desc"?l.localeCompare(k):k.localeCompare(l)),d=i.length,m=i.slice(c,c+n),w={keys:m,total_rows:d,current_page:{limit:n,skip:c,count:m.length},load_more:null};return y(w)}catch(r){return f("获取本地键名列表失败:"+r.message)}}};function me(e,r){return"headers"in e&&typeof e.headers=="object"&&!Array.isArray(e.headers)?$(e.headers):"getHeaders"in e&&typeof e.getHeaders=="function"?$(e.getHeaders()):$(e)}function $(e,r){const t=h(e,"ratelimit");if(t)return De(t);let s;if(h(e,"ratelimit-remaining"))s="ratelimit-";else if(h(e,"x-ratelimit-remaining"))s="x-ratelimit-";else if(h(e,"x-rate-limit-remaining"))s="x-rate-limit-";else return;const o=g(h(e,`${s}limit`)),a=g(h(e,`${s}used`))||g(h(e,`${s}observed`)),n=g(h(e,`${s}remaining`));let c;const i=h(e,`${s}reset`);switch(void 0){case"date":{c=Z(i??"");break}case"unix":{c=M(i??"");break}case"seconds":{c=Q(i??"");break}case"milliseconds":{c=pe(i??"");break}default:if(i)c=ke(i);else{const m=h(e,"retry-after");m&&(c=M(m))}}return{limit:Number.isNaN(o)?a+n:o,used:Number.isNaN(a)?o-n:a,remaining:n,reset:c}}var ye=/limit\s*=\s*(\d+)/i,ge=/remaining\s*=\s*(\d+)/i,he=/reset\s*=\s*(\d+)/i;function De(e){var r,t,s;const o=g((r=ye.exec(e))==null?void 0:r[1]),a=g((t=ge.exec(e))==null?void 0:t[1]),n=g((s=he.exec(e))==null?void 0:s[1]),c=U(n);return{limit:o,used:o-a,remaining:a,reset:c}}function U(e){const r=new Date;return r.setSeconds(r.getSeconds()+e),r}function g(e){return typeof e=="number"?e:Number.parseInt(e??"",10)}function h(e,r){var t;if("get"in e&&typeof e.get=="function")return(t=e.get(r))!=null?t:void 0;if(r in e&&typeof e[r]=="string")return e[r]}function Z(e){return new Date(e)}function M(e){const r=g(e);return new Date(r*1e3)}function Q(e){const r=g(e);return U(r)}function pe(e){const r=g(e);return U(r/1e3)}var we=/[a-z]/i;function ke(e){if(we.test(e))return Z(e);const r=g(e);return r&&r>1e9?M(r):Q(r)}const v=X.create({timeout:1e4});v.interceptors.request.use(e=>{const r=u("server.provider");if(r==="kv-server"||r==="classworkscloud"){const t=u("server.kvToken");if(t)e.headers["x-app-token"]=t;else{const s=u("server.siteKey");s&&(e.headers["x-site-key"]=Y.encode(s))}}return e},e=>(console.log(e),Promise.reject(e)));v.interceptors.response.use(e=>e,e=>{if(e.response&&e.response.status===429)try{const r=me(e.response);r&&q.show(r.reset,e.config.url,e.config.method.toUpperCase())}catch(r){console.error("解析限速头信息失败:",r)}return Promise.reject(e)});const Ee=Object.freeze(Object.defineProperty({__proto__:null,default:v},Symbol.toStringTag,{value:"Module"})),D=()=>{const e={Accept:"application/json"},r=u("server.kvToken"),t=u("server.siteKey");return r?e["x-app-token"]=r:t&&(e["x-site-key"]=t),e},E={async loadNamespaceInfo(){var e,r;try{if(R())return await I(async o=>{const a=await v.get(`${o}/kv/_info`,{headers:D()});return y(a.data)});const t=u("server.domain"),s=await v.get(`${t}/kv/_info`,{headers:D()});return y(s.data)}catch(t){return console.error("获取命名空间信息失败:",t),f(((r=(e=t.response)==null?void 0:e.data)==null?void 0:r.message)||"获取命名空间信息失败","NAMESPACE_ERROR")}},async updateNamespaceInfo(e){var r,t;try{if(R())return await I(async a=>await v.put(`${a}/kv/_info`,e,{headers:D()}));const s=u("server.domain");return await v.put(`${s}/kv/_info`,e,{headers:D()})}catch(s){return f(((t=(r=s.response)==null?void 0:r.data)==null?void 0:t.message)||"更新命名空间信息失败","NAMESPACE_ERROR")}},async loadData(e){var r,t,s;try{if(R())return await I(async n=>{const c=await v.get(`${n}/kv/${e}`,{headers:D()});return y(c.data)});const o=u("server.domain"),a=await v.get(`${o}/kv/${e}`,{headers:D()});return y(a.data)}catch(o){return((r=o.response)==null?void 0:r.status)===404?f("数据不存在","NOT_FOUND"):(console.log(o),f(((s=(t=o.response)==null?void 0:t.data)==null?void 0:s.message)||"服务器连接失败","NETWORK_ERROR"))}},async saveData(e,r){var t,s;try{if(R())return await I(async a=>(await v.post(`${a}/kv/${e}`,r,{headers:D()}),y(!0)));const o=u("server.domain");return await v.post(`${o}/kv/${e}`,r,{headers:D()}),y(!0)}catch(o){return console.log(o),f(((s=(t=o.response)==null?void 0:t.data)==null?void 0:s.message)||"保存失败","SAVE_ERROR")}},async loadKeys(e={}){var r,t,s,o,a;try{const{sortBy:n="key",sortDir:c="asc",limit:i=100,skip:d=0}=e,m=new URLSearchParams({sortBy:n,sortDir:c,limit:i.toString(),skip:d.toString()});if(R())return await I(async l=>{const b=await v.get(`${l}/kv/_keys?${m}`,{headers:D()});return y(b.data)});const w=u("server.domain"),k=await v.get(`${w}/kv/_keys?${m}`,{headers:D()});return y(k.data)}catch(n){return((r=n.response)==null?void 0:r.status)===404?f("命名空间不存在","NOT_FOUND"):((t=n.response)==null?void 0:t.status)===403?f("无权限访问此命名空间","PERMISSION_DENIED"):((s=n.response)==null?void 0:s.status)===401?f("认证失败","UNAUTHORIZED"):(console.log(n),f(((a=(o=n.response)==null?void 0:o.data)==null?void 0:a.message)||"获取键名列表失败","NETWORK_ERROR"))}}},y=e=>e,f=(e,r="UNKNOWN_ERROR")=>({success:!1,error:{code:r,message:e}}),Ne={loadData:async e=>{const r=u("server.provider");return r==="kv-server"||r==="classworkscloud"?E.loadData(e):N.loadData(e)},saveData:async(e,r)=>{const t=u("server.provider");return t==="kv-server"||t==="classworkscloud"?E.saveData(e,r):N.saveData(e,r)},loadKeys:async(e={})=>{const r=u("server.provider");return r==="kv-server"||r==="classworkscloud"?E.loadKeys(e):N.loadKeys(e)},async getKeyCloudUrl(e,r={}){var o;const{migrateFromLocal:t=!0,autoConfigureCloud:s=!0}=r;try{const a=u("server.provider");let n;a==="classworkscloud"?n=j():n=u("server.domain");let c=u("server.siteKey");const i=u("device.uuid");let d=!1;if(!n||!i)if(s){const l={"server.domain":"https://kv-service.houlang.cloud","server.siteKey":""};n||(O("server.domain",l["server.domain"]),n=l["server.domain"],d=!0),c||(O("server.siteKey",l["server.siteKey"]),c=l["server.siteKey"]),O("server.provider","classworkscloud"),n=j()}else return f("云端配置无效,请检查服务器域名和设备UUID","CONFIG_ERROR");let m=!1;if(t)try{const l=await N.loadData(e);if(l&&l.success!==!1){const b=await E.loadData(e);if(b&&b.success===!1&&((o=b.error)==null?void 0:o.code)==="NOT_FOUND"){const A=await E.saveData(e,l);A&&A.success!==!1&&(m=!0,console.log(`已成功将键 ${e} 的数据从本地迁移到云端`))}}}catch(l){console.warn(`迁移键 ${e} 的数据时出错:`,l)}const w=u("server.kvToken");return{success:!0,url:`${n}/kv/${e}?token=${w}`,migrated:m,configured:d}}catch(a){return console.error("获取键云端地址时出错:",a),f(a.message||"获取键云端地址失败","CLOUD_URL_ERROR")}}};export{v as a,N as b,Ee as c,Ne as d,E as k,ae as o}; diff --git a/assets/debug-1sG7GG2I.js b/assets/debug-1sG7GG2I.js new file mode 100644 index 0000000..ce99686 --- /dev/null +++ b/assets/debug-1sG7GG2I.js @@ -0,0 +1 @@ +import{getVisitorId as u,getFingerprintData as f}from"./visitorId-CSigcYRT.js";import{aa as m}from"./vendor-vuetify-ChAgIwn2.js";import{e as c,c as p,J as g,d as V,q as v,l as C}from"./index-Bqe1gKo7.js";import{V as b}from"./VContainer-BHAiZEWc.js";import{D,X as _,Y as x,Z as t,j as e,a1 as l,k as y,S as k,b as s}from"./vendor-vue-H0jQBZ7T.js";const I=m("v-code","code"),j={__name:"debug",setup(B){const o=s(""),d=s({}),r=s(!1),n=async()=>{r.value=!0;try{o.value=await u(),d.value=await f()}catch(i){console.error(i),o.value="Error loading visitor ID"}finally{r.value=!1}};return D(()=>{n()}),(i,a)=>(_(),x(b,null,{default:t(()=>[e(c,{class:"mb-4"},{default:t(()=>[e(p,null,{default:t(()=>[...a[0]||(a[0]=[l("调试信息",-1)])]),_:1}),e(g,null,{default:t(()=>[...a[1]||(a[1]=[l(" 请将这个ID复制并私聊给开发者,以便进行问题排查。 ",-1)])]),_:1}),e(V,null,{default:t(()=>[a[2]||(a[2]=y("div",{class:"text-h6 mb-2"},"访客 ID",-1)),e(I,{class:"d-block pa-2 bg-grey-lighten-4 rounded mb-4"},{default:t(()=>[l(k(o.value||"加载中..."),1)]),_:1})]),_:1}),e(v,null,{default:t(()=>[e(C,{color:"primary",onClick:n,loading:r.value},{default:t(()=>[...a[3]||(a[3]=[l(" Refresh ",-1)])]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1}))}};export{j as default}; diff --git a/assets/debug-C73Oop6R.js b/assets/debug-C73Oop6R.js deleted file mode 100644 index 805704a..0000000 --- a/assets/debug-C73Oop6R.js +++ /dev/null @@ -1 +0,0 @@ -import{aO as u,Z as f,o as c,j as g,w as t,c as e,l as p,q as V,v as l,Y as v,z as m,i as C,A as _,M as b,y,aP as D,aQ as x,a2 as r}from"./index-CHEqx3ZK.js";import{V as I}from"./VContainer-x94CJ7kH.js";const k=u("v-code","code"),S={__name:"debug",setup(w){const s=r(""),d=r({}),o=r(!1),n=async()=>{o.value=!0;try{s.value=await D(),d.value=await x()}catch(i){console.error(i),s.value="Error loading visitor ID"}finally{o.value=!1}};return f(()=>{n()}),(i,a)=>(c(),g(I,null,{default:t(()=>[e(p,{class:"mb-4"},{default:t(()=>[e(V,null,{default:t(()=>[...a[0]||(a[0]=[l("调试信息",-1)])]),_:1}),e(v,null,{default:t(()=>[...a[1]||(a[1]=[l(" 请将这个ID复制并私聊给开发者,以便进行问题排查。 ",-1)])]),_:1}),e(m,null,{default:t(()=>[a[2]||(a[2]=C("div",{class:"text-h6 mb-2"},"访客 ID",-1)),e(k,{class:"d-block pa-2 bg-grey-lighten-4 rounded mb-4"},{default:t(()=>[l(_(s.value||"加载中..."),1)]),_:1})]),_:1}),e(b,null,{default:t(()=>[e(y,{color:"primary",onClick:n,loading:o.value},{default:t(()=>[...a[3]||(a[3]=[l(" Refresh ",-1)])]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1}))}};export{S as default}; diff --git a/assets/debug-init-BJiHfLeM.js b/assets/debug-init-BJiHfLeM.js new file mode 100644 index 0000000..d13cb58 --- /dev/null +++ b/assets/debug-init-BJiHfLeM.js @@ -0,0 +1 @@ +import{g as r,e as k,c as g,d as _,i as R,l as f,j as U,k as C,s as S,t as T,v as s}from"./index-Bqe1gKo7.js";import{k as N}from"./dataProvider-Dty8Zh7m.js";import{V as B,a as D}from"./VRow-C2iyFaHv.js";import{V as G}from"./VForm-CLdG1sH8.js";import{V as n}from"./VTextField-B7edjjhw.js";import{V as j}from"./VContainer-BHAiZEWc.js";import{b as i,a3 as F,X as K,Y,Z as t,j as e,a1 as o,S as c,e as y}from"./vendor-vue-H0jQBZ7T.js";import"./vendor-vuetify-ChAgIwn2.js";import"./vendor-utils-DDRLRfsI.js";import"./serverRotation-CLP7smnN.js";import"./autofocus-Dh4QPNon.js";const I="kvinit.redirecting",$={__name:"debug-init",setup(z){const d=i(r("server.provider")||"kv-server"),m=i(r("server.kvToken")||""),v=i(r("device.uuid")||"00000000-0000-4000-8000-000000000000"),p=i(r("server.authDomain")||"https://cs.example.com"),b=()=>{s("server.provider",d.value),s("server.kvToken",m.value),s("device.uuid",v.value),s("server.authDomain",p.value),location.reload()},w=()=>{try{sessionStorage.removeItem(I)}catch(u){console.debug(u)}},x=()=>{N.loadNamespaceInfo=async()=>{throw new Error("模拟加载错误")},location.reload()},E=y(()=>{try{return sessionStorage.getItem(I)}catch(u){return String(u)}}),L=y(()=>JSON.stringify({provider:r("server.provider"),kvToken:r("server.kvToken"),uuid:r("device.uuid"),authDomain:r("server.authDomain")},null,2));return(u,l)=>{const V=F("v-list-item-content");return K(),Y(j,null,{default:t(()=>[e(B,null,{default:t(()=>[e(D,{cols:"12",md:"6"},{default:t(()=>[e(k,null,{default:t(()=>[e(g,null,{default:t(()=>[...l[4]||(l[4]=[o("KvInitialize 调试面板",-1)])]),_:1}),e(_,null,{default:t(()=>[e(G,null,{default:t(()=>[e(n,{modelValue:d.value,"onUpdate:modelValue":l[0]||(l[0]=a=>d.value=a),label:"server.provider (kv-server/classworkscloud/other)"},null,8,["modelValue"]),e(n,{modelValue:m.value,"onUpdate:modelValue":l[1]||(l[1]=a=>m.value=a),label:"server.kvToken (空表示未授权)"},null,8,["modelValue"]),e(n,{modelValue:v.value,"onUpdate:modelValue":l[2]||(l[2]=a=>v.value=a),label:"device.uuid"},null,8,["modelValue"]),e(n,{modelValue:p.value,"onUpdate:modelValue":l[3]||(l[3]=a=>p.value=a),label:"server.authDomain"},null,8,["modelValue"])]),_:1}),e(R,{class:"my-4"}),e(f,{class:"me-2",color:"primary",onClick:b},{default:t(()=>[...l[5]||(l[5]=[o(" 应用设置 ",-1)])]),_:1}),e(f,{class:"me-2",color:"secondary",onClick:w},{default:t(()=>[...l[6]||(l[6]=[o(" 清除重定向守卫 ",-1)])]),_:1}),e(f,{color:"error",onClick:x},{default:t(()=>[...l[7]||(l[7]=[o(" 模拟命名空间加载错误 ",-1)])]),_:1}),e(U,{"two-line":""},{default:t(()=>[e(C,null,{default:t(()=>[e(V,null,{default:t(()=>[e(S,null,{default:t(()=>[...l[8]||(l[8]=[o("当前 sessionGuard",-1)])]),_:1}),e(T,null,{default:t(()=>[o(c(E.value),1)]),_:1})]),_:1})]),_:1}),e(C,null,{default:t(()=>[e(V,null,{default:t(()=>[e(S,null,{default:t(()=>[...l[9]||(l[9]=[o("当前 settings",-1)])]),_:1}),e(T,null,{default:t(()=>[o(c(L.value),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),e(D,{cols:"12",md:"6"},{default:t(()=>[e(k,null,{default:t(()=>[e(g,null,{default:t(()=>[...l[10]||(l[10]=[o("初始化组件已替换",-1)])]),_:1}),e(_,null,{default:t(()=>[...l[11]||(l[11]=[o(" 已迁移为首页内联的 InitServiceChooser 组件。 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}}};export{$ as default}; diff --git a/assets/debug-init-qEmxm5BC.js b/assets/debug-init-qEmxm5BC.js deleted file mode 100644 index ec02135..0000000 --- a/assets/debug-init-qEmxm5BC.js +++ /dev/null @@ -1 +0,0 @@ -import{a2 as s,k as a,r as R,o as U,j as N,w as t,c as e,l as k,q as g,v as o,z as _,K as B,y as p,P as G,Q as C,a0 as T,a1 as D,A as S,s as n,a3 as c}from"./index-CHEqx3ZK.js";import{k as K}from"./dataProvider-B62Oym03.js";import{V as z,a as y}from"./VRow-7L_239rt.js";import{V as A}from"./VForm-ovineFXC.js";import{V as d}from"./VTextField-BmfQXFFg.js";import{V as F}from"./VContainer-x94CJ7kH.js";import"./serverRotation-D840vVDL.js";const I="kvinit.redirecting",M={__name:"debug-init",setup(P){const i=s(a("server.provider")||"kv-server"),v=s(a("server.kvToken")||""),m=s(a("device.uuid")||"00000000-0000-4000-8000-000000000000"),f=s(a("server.authDomain")||"https://cs.example.com"),w=()=>{n("server.provider",i.value),n("server.kvToken",v.value),n("device.uuid",m.value),n("server.authDomain",f.value),location.reload()},b=()=>{try{sessionStorage.removeItem(I)}catch(u){console.debug(u)}},x=()=>{K.loadNamespaceInfo=async()=>{throw new Error("模拟加载错误")},location.reload()},E=c(()=>{try{return sessionStorage.getItem(I)}catch(u){return String(u)}}),L=c(()=>JSON.stringify({provider:a("server.provider"),kvToken:a("server.kvToken"),uuid:a("device.uuid"),authDomain:a("server.authDomain")},null,2));return(u,l)=>{const V=R("v-list-item-content");return U(),N(F,null,{default:t(()=>[e(z,null,{default:t(()=>[e(y,{cols:"12",md:"6"},{default:t(()=>[e(k,null,{default:t(()=>[e(g,null,{default:t(()=>[...l[4]||(l[4]=[o("KvInitialize 调试面板",-1)])]),_:1}),e(_,null,{default:t(()=>[e(A,null,{default:t(()=>[e(d,{modelValue:i.value,"onUpdate:modelValue":l[0]||(l[0]=r=>i.value=r),label:"server.provider (kv-server/classworkscloud/other)"},null,8,["modelValue"]),e(d,{modelValue:v.value,"onUpdate:modelValue":l[1]||(l[1]=r=>v.value=r),label:"server.kvToken (空表示未授权)"},null,8,["modelValue"]),e(d,{modelValue:m.value,"onUpdate:modelValue":l[2]||(l[2]=r=>m.value=r),label:"device.uuid"},null,8,["modelValue"]),e(d,{modelValue:f.value,"onUpdate:modelValue":l[3]||(l[3]=r=>f.value=r),label:"server.authDomain"},null,8,["modelValue"])]),_:1}),e(B,{class:"my-4"}),e(p,{class:"me-2",color:"primary",onClick:w},{default:t(()=>[...l[5]||(l[5]=[o(" 应用设置 ",-1)])]),_:1}),e(p,{class:"me-2",color:"secondary",onClick:b},{default:t(()=>[...l[6]||(l[6]=[o(" 清除重定向守卫 ",-1)])]),_:1}),e(p,{color:"error",onClick:x},{default:t(()=>[...l[7]||(l[7]=[o(" 模拟命名空间加载错误 ",-1)])]),_:1}),e(G,{"two-line":""},{default:t(()=>[e(C,null,{default:t(()=>[e(V,null,{default:t(()=>[e(T,null,{default:t(()=>[...l[8]||(l[8]=[o("当前 sessionGuard",-1)])]),_:1}),e(D,null,{default:t(()=>[o(S(E.value),1)]),_:1})]),_:1})]),_:1}),e(C,null,{default:t(()=>[e(V,null,{default:t(()=>[e(T,null,{default:t(()=>[...l[9]||(l[9]=[o("当前 settings",-1)])]),_:1}),e(D,null,{default:t(()=>[o(S(L.value),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),e(y,{cols:"12",md:"6"},{default:t(()=>[e(k,null,{default:t(()=>[e(g,null,{default:t(()=>[...l[10]||(l[10]=[o("初始化组件已替换",-1)])]),_:1}),e(_,null,{default:t(()=>[...l[11]||(l[11]=[o(" 已迁移为首页内联的 InitServiceChooser 组件。 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}}};export{M as default}; diff --git a/assets/debug-socket-TPDi_m6Y.js b/assets/debug-socket-TPDi_m6Y.js new file mode 100644 index 0000000..2d03038 --- /dev/null +++ b/assets/debug-socket-TPDi_m6Y.js @@ -0,0 +1 @@ +import{g as te,e as x,c as b,d as j,j as A,k as f,s as v,t as m,i as K,l as i,o as M,L as le}from"./index-Bqe1gKo7.js";import{g as U,b as J,j as O,a as p,c as ne,l as ae}from"./socketClient-DM3fpE4o.js";import{s as oe,D as se}from"./deviceEvents-BIvMKD-7.js";import{V as w,a as _}from"./VRow-C2iyFaHv.js";import{V as re}from"./VChip-CPVASmWt.js";import{V as ue}from"./VTextField-B7edjjhw.js";import{V as ie}from"./VTextarea-DiXZJMiq.js";import{V as de}from"./VContainer-BHAiZEWc.js";import{b as d,D as ce,A as fe,a3 as ve,X as c,Y as L,Z as l,j as t,a1 as o,S as u,_ as D,$ as me,k as B,F as R,a2 as Y,e as I}from"./vendor-vue-H0jQBZ7T.js";import"./vendor-vuetify-ChAgIwn2.js";import"./vendor-socket-CyTcV1HU.js";import"./serverRotation-CLP7smnN.js";import"./autofocus-Dh4QPNon.js";const pe={key:0},_e={class:"d-flex"},ge={key:1,class:"text-grey"},ke={class:"text-caption text-grey"},ye={class:"ml-2"},Ve={class:"mb-2",style:{"white-space":"pre-wrap"}},Ne={__name:"debug-socket",setup(Se){const g=d(te("server.kvToken")||""),$=d(""),r=d(""),k=d(!1),T=d(""),y=d([]),C=d([]),V=d(""),N=I(()=>ne()),H=I(()=>{const n=new Date,e=n.getFullYear(),S=String(n.getMonth()+1).padStart(2,"0"),s=String(n.getDate()).padStart(2,"0");return`classworks-data-${e}${S}${s}`});function a(n,e){const S=new Date().toLocaleTimeString();y.value.unshift({time:S,event:n,payload:typeof e=="string"?e:JSON.stringify(e,null,2)}),y.value.length>200&&y.value.pop()}function X(){const n=U();k.value=!!n.connected,T.value=n.id||"",n.on("connect",()=>{k.value=!0,T.value=n.id||"",a("connect",{id:n.id}),r.value&&O(r.value)}),n.on("disconnect",e=>{k.value=!1,a("disconnect",{reason:e})}),n.on("connect_error",e=>a("connect_error",{message:e==null?void 0:e.message})),n.on("reconnect_attempt",e=>a("reconnect_attempt",{attempt:e})),n.on("reconnect",e=>a("reconnect",{attempt:e}))}function Z(){p("kv-key-changed",n=>{a("kv-key-changed",n)}),p("device-joined",n=>{a("device-joined",n)}),p("joined",n=>{a("joined",n)}),p("join-error",n=>{a("join-error",n)}),p("chat:message",n=>{a("chat:message",n)}),p("device-event",n=>{a("device-event",n)})}function z(n){try{if(!n){a("join-error","Token 为空");return}O(n),r.value=n,a("join-token",{token:n})}catch(e){a("join-token-error",String(e))}}function q(n){try{J(n),r.value===n&&(r.value=""),a("leave-token",{token:n})}catch(e){a("leave-token-error",String(e))}}function G(){try{ae(),r.value="",a("leave-all",{})}catch(n){a("leave-all-error",String(n))}}function P(){try{U().connect()}catch(n){a("reconnect-error",String(n))}}const Q=I(()=>{var e;return!!((((e=V.value)==null?void 0:e.trim())||"")&&(r.value||g.value))});function W(){try{const n=(V.value||"").trim();if(!n)return;oe(n),a("send-event",{type:se.CHAT,content:{text:n}}),V.value=""}catch(n){a("chat:error",String(n))}}function h(n){a("select-device",{message:"请输入该设备对应的 KV Token 以加入频道",device:n})}async function E(){try{const e=await(await fetch(`${N.value}/devices/online`)).json();C.value=Array.isArray(e==null?void 0:e.devices)?e.devices:[],a("fetch-online",{count:C.value.length})}catch(n){a("fetch-online-error",String(n))}}function ee(){y.value=[]}return ce(()=>{U(),X(),Z(),g.value&&z(g.value),E()}),fe(()=>{try{r.value&&J(r.value)}catch{}}),(n,e)=>{const S=ve("v-list-item-text");return c(),L(de,null,{default:l(()=>[t(w,null,{default:l(()=>[t(_,{cols:"12",md:"6"},{default:l(()=>[t(x,{border:"",class:"mb-4"},{default:l(()=>[t(b,null,{default:l(()=>[...e[4]||(e[4]=[o("连接信息",-1)])]),_:1}),t(j,null,{default:l(()=>[t(A,{density:"compact"},{default:l(()=>[t(f,null,{default:l(()=>[t(v,null,{default:l(()=>[...e[5]||(e[5]=[o("Server URL",-1)])]),_:1}),t(m,null,{default:l(()=>[o(u(N.value),1)]),_:1})]),_:1}),t(f,null,{default:l(()=>[t(v,null,{default:l(()=>[...e[6]||(e[6]=[o("当前 KV Token",-1)])]),_:1}),t(m,null,{default:l(()=>[o(u(g.value||"(未配置)"),1)]),_:1})]),_:1}),t(f,null,{default:l(()=>[t(v,null,{default:l(()=>[...e[7]||(e[7]=[o("连接状态",-1)])]),_:1}),t(m,null,{default:l(()=>[t(re,{color:k.value?"success":"error",class:"mr-2",size:"small"},{default:l(()=>[o(u(k.value?"connected":"disconnected"),1)]),_:1},8,["color"]),T.value?(c(),D("span",pe,"id: "+u(T.value),1)):me("",!0)]),_:1})]),_:1}),t(f,null,{default:l(()=>[t(v,null,{default:l(()=>[...e[8]||(e[8]=[o("已加入 Token",-1)])]),_:1}),t(m,null,{default:l(()=>[o(u(r.value||"-"),1)]),_:1})]),_:1}),t(f,null,{default:l(()=>[t(v,null,{default:l(()=>[...e[9]||(e[9]=[o("当前数据键",-1)])]),_:1}),t(m,null,{default:l(()=>[o(u(H.value),1)]),_:1})]),_:1})]),_:1}),t(K,{class:"my-4"}),t(w,null,{default:l(()=>[t(_,{cols:"12",md:"8"},{default:l(()=>[t(ue,{modelValue:$.value,"onUpdate:modelValue":e[0]||(e[0]=s=>$.value=s),clearable:"",label:"手动加入 Token (留空使用配置的 Token)"},null,8,["modelValue"])]),_:1}),t(_,{class:"d-flex align-center",cols:"12",md:"4"},{default:l(()=>[t(i,{class:"mr-2",color:"primary",onClick:e[1]||(e[1]=s=>z($.value||g.value))},{default:l(()=>[...e[10]||(e[10]=[o(" 加入 ",-1)])]),_:1}),t(i,{disabled:!r.value,class:"mr-2",color:"warning",onClick:e[2]||(e[2]=s=>q(r.value))},{default:l(()=>[...e[11]||(e[11]=[o(" 离开当前 ",-1)])]),_:1},8,["disabled"]),t(i,{color:"error",variant:"tonal",onClick:G},{default:l(()=>[...e[12]||(e[12]=[o(" 离开全部 ",-1)])]),_:1})]),_:1})]),_:1}),t(K,{class:"my-4"}),t(w,null,{default:l(()=>[t(_,{cols:"12"},{default:l(()=>[t(x,{border:"",color:"primary",variant:"tonal"},{default:l(()=>[t(b,{class:"text-subtitle-1"},{default:l(()=>[...e[13]||(e[13]=[o("聊天室消息",-1)])]),_:1}),t(j,null,{default:l(()=>[t(ie,{modelValue:V.value,"onUpdate:modelValue":e[3]||(e[3]=s=>V.value=s),"auto-grow":"",clearable:"",label:"发送到当前已加入的设备频道",rows:"2"},null,8,["modelValue"]),B("div",_e,[t(M),t(i,{disabled:!Q.value,color:"primary",onClick:W},{default:l(()=>[...e[14]||(e[14]=[o(" 发送聊天 ",-1)])]),_:1},8,["disabled"])])]),_:1})]),_:1})]),_:1})]),_:1}),t(w,null,{default:l(()=>[t(_,{cols:"12"},{default:l(()=>[t(i,{color:"secondary",variant:"tonal",onClick:P},{default:l(()=>[...e[15]||(e[15]=[o(" 重新连接 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),t(x,{border:""},{default:l(()=>[t(b,null,{default:l(()=>[...e[16]||(e[16]=[o("在线设备",-1)])]),_:1}),t(j,null,{default:l(()=>[t(i,{class:"mb-3",color:"primary",onClick:E},{default:l(()=>[...e[17]||(e[17]=[o(" 刷新在线列表 ",-1)])]),_:1}),C.value.length?(c(),L(A,{key:0,density:"compact"},{default:l(()=>[(c(!0),D(R,null,Y(C.value,s=>(c(),L(f,{key:s.uuid},{prepend:l(()=>[t(le,{color:s.connections>0?"success":"grey",size:"24"},null,8,["color"])]),append:l(()=>[t(i,{size:"small",variant:"text",onClick:F=>h(s)},{default:l(()=>[...e[18]||(e[18]=[o(" 选择 ",-1)])]),_:1},8,["onClick"])]),default:l(()=>[t(v,null,{default:l(()=>[o(u(s.name||"(未命名)"),1)]),_:2},1024),t(m,null,{default:l(()=>[o(u(s.uuid)+" · 连接数 "+u(s.connections),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(c(),D("div",ge," 暂无数据 "))]),_:1})]),_:1})]),_:1}),t(_,{cols:"12",md:"6"},{default:l(()=>[t(x,{border:""},{default:l(()=>[t(b,{class:"d-flex align-center"},{default:l(()=>[e[20]||(e[20]=o(" 事件日志 ",-1)),t(M),t(i,{color:"error",size:"small",variant:"text",onClick:ee},{default:l(()=>[...e[19]||(e[19]=[o(" 清空 ",-1)])]),_:1})]),_:1}),t(j,null,{default:l(()=>[t(A,{density:"compact"},{default:l(()=>[(c(!0),D(R,null,Y(y.value,(s,F)=>(c(),L(f,{key:F},{default:l(()=>[t(v,null,{default:l(()=>[B("span",ke,u(s.time),1),B("span",ye,u(s.event),1)]),_:2},1024),t(S,null,{default:l(()=>[B("pre",Ve,u(s.payload),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}}};export{Ne as default}; diff --git a/assets/debug-socket-gX5zuEJb.js b/assets/debug-socket-gX5zuEJb.js deleted file mode 100644 index 5989305..0000000 --- a/assets/debug-socket-gX5zuEJb.js +++ /dev/null @@ -1 +0,0 @@ -import{a2 as i,k as te,Z as le,$ as ne,r as ae,o as d,j as S,w as l,c as t,l as b,q as w,v as o,z as j,P as A,Q as f,a0 as v,a1 as m,A as u,C as L,D as oe,K,y as c,i as D,x as M,F as J,G as O,L as se,a3 as U}from"./index-CHEqx3ZK.js";import{g as z,b as R,j as q,o as p,c as re,l as ue}from"./socketClient-BXJ0f21_.js";import{s as ie,D as de}from"./deviceEvents-BFCOw6Nh.js";import{V as B,a as _}from"./VRow-7L_239rt.js";import{V as ce}from"./VChip-B02B673U.js";import{V as fe}from"./VTextField-BmfQXFFg.js";import{V as ve}from"./VTextarea-uYG2fN8H.js";import{V as me}from"./VContainer-x94CJ7kH.js";import"./serverRotation-D840vVDL.js";const pe={key:0},_e={class:"d-flex"},ge={key:1,class:"text-grey"},ke={class:"text-caption text-grey"},ye={class:"ml-2"},Ve={class:"mb-2",style:{"white-space":"pre-wrap"}},$e={__name:"debug-socket",setup(Ce){const g=i(te("server.kvToken")||""),$=i(""),r=i(""),k=i(!1),T=i(""),y=i([]),x=i([]),V=i(""),I=U(()=>re()),G=U(()=>{const n=new Date,e=n.getFullYear(),C=String(n.getMonth()+1).padStart(2,"0"),s=String(n.getDate()).padStart(2,"0");return`classworks-data-${e}${C}${s}`});function a(n,e){const C=new Date().toLocaleTimeString();y.value.unshift({time:C,event:n,payload:typeof e=="string"?e:JSON.stringify(e,null,2)}),y.value.length>200&&y.value.pop()}function H(){const n=z();k.value=!!n.connected,T.value=n.id||"",n.on("connect",()=>{k.value=!0,T.value=n.id||"",a("connect",{id:n.id}),r.value&&q(r.value)}),n.on("disconnect",e=>{k.value=!1,a("disconnect",{reason:e})}),n.on("connect_error",e=>a("connect_error",{message:e==null?void 0:e.message})),n.on("reconnect_attempt",e=>a("reconnect_attempt",{attempt:e})),n.on("reconnect",e=>a("reconnect",{attempt:e}))}function P(){p("kv-key-changed",n=>{a("kv-key-changed",n)}),p("device-joined",n=>{a("device-joined",n)}),p("joined",n=>{a("joined",n)}),p("join-error",n=>{a("join-error",n)}),p("chat:message",n=>{a("chat:message",n)}),p("device-event",n=>{a("device-event",n)})}function N(n){try{if(!n){a("join-error","Token 为空");return}q(n),r.value=n,a("join-token",{token:n})}catch(e){a("join-token-error",String(e))}}function Q(n){try{R(n),r.value===n&&(r.value=""),a("leave-token",{token:n})}catch(e){a("leave-token-error",String(e))}}function Y(){try{ue(),r.value="",a("leave-all",{})}catch(n){a("leave-all-error",String(n))}}function Z(){try{z().connect()}catch(n){a("reconnect-error",String(n))}}const W=U(()=>{var e;return!!((((e=V.value)==null?void 0:e.trim())||"")&&(r.value||g.value))});function X(){try{const n=(V.value||"").trim();if(!n)return;ie(n),a("send-event",{type:de.CHAT,content:{text:n}}),V.value=""}catch(n){a("chat:error",String(n))}}function h(n){a("select-device",{message:"请输入该设备对应的 KV Token 以加入频道",device:n})}async function E(){try{const e=await(await fetch(`${I.value}/devices/online`)).json();x.value=Array.isArray(e==null?void 0:e.devices)?e.devices:[],a("fetch-online",{count:x.value.length})}catch(n){a("fetch-online-error",String(n))}}function ee(){y.value=[]}return le(()=>{z(),H(),P(),g.value&&N(g.value),E()}),ne(()=>{try{r.value&&R(r.value)}catch{}}),(n,e)=>{const C=ae("v-list-item-text");return d(),S(me,null,{default:l(()=>[t(B,null,{default:l(()=>[t(_,{cols:"12",md:"6"},{default:l(()=>[t(b,{border:"",class:"mb-4"},{default:l(()=>[t(w,null,{default:l(()=>[...e[4]||(e[4]=[o("连接信息",-1)])]),_:1}),t(j,null,{default:l(()=>[t(A,{density:"compact"},{default:l(()=>[t(f,null,{default:l(()=>[t(v,null,{default:l(()=>[...e[5]||(e[5]=[o("Server URL",-1)])]),_:1}),t(m,null,{default:l(()=>[o(u(I.value),1)]),_:1})]),_:1}),t(f,null,{default:l(()=>[t(v,null,{default:l(()=>[...e[6]||(e[6]=[o("当前 KV Token",-1)])]),_:1}),t(m,null,{default:l(()=>[o(u(g.value||"(未配置)"),1)]),_:1})]),_:1}),t(f,null,{default:l(()=>[t(v,null,{default:l(()=>[...e[7]||(e[7]=[o("连接状态",-1)])]),_:1}),t(m,null,{default:l(()=>[t(ce,{color:k.value?"success":"error",class:"mr-2",size:"small"},{default:l(()=>[o(u(k.value?"connected":"disconnected"),1)]),_:1},8,["color"]),T.value?(d(),L("span",pe,"id: "+u(T.value),1)):oe("",!0)]),_:1})]),_:1}),t(f,null,{default:l(()=>[t(v,null,{default:l(()=>[...e[8]||(e[8]=[o("已加入 Token",-1)])]),_:1}),t(m,null,{default:l(()=>[o(u(r.value||"-"),1)]),_:1})]),_:1}),t(f,null,{default:l(()=>[t(v,null,{default:l(()=>[...e[9]||(e[9]=[o("当前数据键",-1)])]),_:1}),t(m,null,{default:l(()=>[o(u(G.value),1)]),_:1})]),_:1})]),_:1}),t(K,{class:"my-4"}),t(B,null,{default:l(()=>[t(_,{cols:"12",md:"8"},{default:l(()=>[t(fe,{modelValue:$.value,"onUpdate:modelValue":e[0]||(e[0]=s=>$.value=s),clearable:"",label:"手动加入 Token (留空使用配置的 Token)"},null,8,["modelValue"])]),_:1}),t(_,{class:"d-flex align-center",cols:"12",md:"4"},{default:l(()=>[t(c,{class:"mr-2",color:"primary",onClick:e[1]||(e[1]=s=>N($.value||g.value))},{default:l(()=>[...e[10]||(e[10]=[o(" 加入 ",-1)])]),_:1}),t(c,{disabled:!r.value,class:"mr-2",color:"warning",onClick:e[2]||(e[2]=s=>Q(r.value))},{default:l(()=>[...e[11]||(e[11]=[o(" 离开当前 ",-1)])]),_:1},8,["disabled"]),t(c,{color:"error",variant:"tonal",onClick:Y},{default:l(()=>[...e[12]||(e[12]=[o(" 离开全部 ",-1)])]),_:1})]),_:1})]),_:1}),t(K,{class:"my-4"}),t(B,null,{default:l(()=>[t(_,{cols:"12"},{default:l(()=>[t(b,{border:"",color:"primary",variant:"tonal"},{default:l(()=>[t(w,{class:"text-subtitle-1"},{default:l(()=>[...e[13]||(e[13]=[o("聊天室消息",-1)])]),_:1}),t(j,null,{default:l(()=>[t(ve,{modelValue:V.value,"onUpdate:modelValue":e[3]||(e[3]=s=>V.value=s),"auto-grow":"",clearable:"",label:"发送到当前已加入的设备频道",rows:"2"},null,8,["modelValue"]),D("div",_e,[t(M),t(c,{disabled:!W.value,color:"primary",onClick:X},{default:l(()=>[...e[14]||(e[14]=[o(" 发送聊天 ",-1)])]),_:1},8,["disabled"])])]),_:1})]),_:1})]),_:1})]),_:1}),t(B,null,{default:l(()=>[t(_,{cols:"12"},{default:l(()=>[t(c,{color:"secondary",variant:"tonal",onClick:Z},{default:l(()=>[...e[15]||(e[15]=[o(" 重新连接 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),t(b,{border:""},{default:l(()=>[t(w,null,{default:l(()=>[...e[16]||(e[16]=[o("在线设备",-1)])]),_:1}),t(j,null,{default:l(()=>[t(c,{class:"mb-3",color:"primary",onClick:E},{default:l(()=>[...e[17]||(e[17]=[o(" 刷新在线列表 ",-1)])]),_:1}),x.value.length?(d(),S(A,{key:0,density:"compact"},{default:l(()=>[(d(!0),L(J,null,O(x.value,s=>(d(),S(f,{key:s.uuid},{prepend:l(()=>[t(se,{color:s.connections>0?"success":"grey",size:"24"},null,8,["color"])]),append:l(()=>[t(c,{size:"small",variant:"text",onClick:F=>h(s)},{default:l(()=>[...e[18]||(e[18]=[o(" 选择 ",-1)])]),_:1},8,["onClick"])]),default:l(()=>[t(v,null,{default:l(()=>[o(u(s.name||"(未命名)"),1)]),_:2},1024),t(m,null,{default:l(()=>[o(u(s.uuid)+" · 连接数 "+u(s.connections),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(d(),L("div",ge," 暂无数据 "))]),_:1})]),_:1})]),_:1}),t(_,{cols:"12",md:"6"},{default:l(()=>[t(b,{border:""},{default:l(()=>[t(w,{class:"d-flex align-center"},{default:l(()=>[e[20]||(e[20]=o(" 事件日志 ",-1)),t(M),t(c,{color:"error",size:"small",variant:"text",onClick:ee},{default:l(()=>[...e[19]||(e[19]=[o(" 清空 ",-1)])]),_:1})]),_:1}),t(j,null,{default:l(()=>[t(A,{density:"compact"},{default:l(()=>[(d(!0),L(J,null,O(y.value,(s,F)=>(d(),S(f,{key:F},{default:l(()=>[t(v,null,{default:l(()=>[D("span",ke,u(s.time),1),D("span",ye,u(s.event),1)]),_:2},1024),t(C,null,{default:l(()=>[D("pre",Ve,u(s.payload),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}}};export{$e as default}; diff --git a/assets/default-BeYWhc3q.js b/assets/default-BeYWhc3q.js deleted file mode 100644 index 77a8237..0000000 --- a/assets/default-BeYWhc3q.js +++ /dev/null @@ -1 +0,0 @@ -import{g as u,u as m,a as _,b as d,c as n,n as p,d as f,e as v,p as y,m as V,f as k,h as B,i as b,j as g,r as C,o as S,w as r,V as w}from"./index-CHEqx3ZK.js";const M=y({scrollable:Boolean,...B(),...k(),...V({tag:"main"})},"VMain"),P=u()({name:"VMain",props:M(),setup(e,o){let{slots:a}=o;const{dimensionStyles:s}=v(e),{mainStyles:c}=m(),{ssrBootStyles:i}=_();return d(()=>n(e.tag,{class:f(["v-main",{"v-main--scrollable":e.scrollable},e.class]),style:p([c.value,i.value,s.value,e.style])},{default:()=>{var t,l;return[e.scrollable?b("div",{class:"v-main__scroller"},[(t=a.default)==null?void 0:t.call(a)]):(l=a.default)==null?void 0:l.call(a)]}})),{}}}),x={__name:"default",setup(e){return(o,a)=>{const s=C("router-view");return S(),g(w,null,{default:r(()=>[n(P,null,{default:r(()=>[n(s)]),_:1})]),_:1})}}};export{x as default}; diff --git a/assets/default-Jxvz9VCH.js b/assets/default-Jxvz9VCH.js new file mode 100644 index 0000000..b180d44 --- /dev/null +++ b/assets/default-Jxvz9VCH.js @@ -0,0 +1 @@ +import{p as c,k as i,f as u,a7 as _,u as p}from"./vendor-vuetify-ChAgIwn2.js";import{m as d,a as f,u as v,b as k}from"./index-Bqe1gKo7.js";import{j as l,N as y,n as B,k as V,Y as b,a3 as C,X as S,Z as g}from"./vendor-vue-H0jQBZ7T.js";const M=c({scrollable:Boolean,...i(),...f(),...d({tag:"main"})},"VMain"),P=u()({name:"VMain",props:M(),setup(e,o){let{slots:a}=o;const{dimensionStyles:s}=k(e),{mainStyles:r}=_(),{ssrBootStyles:m}=v();return p(()=>l(e.tag,{class:B(["v-main",{"v-main--scrollable":e.scrollable},e.class]),style:y([r.value,m.value,s.value,e.style])},{default:()=>{var n,t;return[e.scrollable?V("div",{class:"v-main__scroller"},[(n=a.default)==null?void 0:n.call(a)]):(t=a.default)==null?void 0:t.call(a)]}})),{}}}),h={__name:"default",setup(e){return(o,a)=>{const s=C("router-view");return S(),b(P,null,{default:g(()=>[l(s)]),_:1})}}};export{h as default}; diff --git a/assets/deviceEvents-BFCOw6Nh.js b/assets/deviceEvents-BIvMKD-7.js similarity index 97% rename from assets/deviceEvents-BFCOw6Nh.js rename to assets/deviceEvents-BIvMKD-7.js index 93577e4..c13260c 100644 --- a/assets/deviceEvents-BFCOw6Nh.js +++ b/assets/deviceEvents-BIvMKD-7.js @@ -1 +1 @@ -import{s as E}from"./socketClient-BXJ0f21_.js";const t={CHAT:"chat",KV_KEY_CHANGED:"kv-key-changed",URGENT_NOTICE:"urgent-notice",NOTIFICATION:"notification"};function m(e){if(!e||typeof e!="string")throw new Error("消息文本不能为空");E(t.CHAT,{text:e.trim()})}function I(e,n={}){if(!e||!e.type){console.warn("无效的设备事件数据:",e);return}const o=n[e.type];if(typeof o=="function")try{o(e)}catch(c){console.error(`处理设备事件 ${e.type} 时出错:`,c)}}function g(e){var n;if(e.type!==t.CHAT)throw new Error("不是聊天事件");return{text:((n=e.content)==null?void 0:n.text)||"",senderId:e.senderId,at:e.timestamp,uuid:e.uuid,senderInfo:e.senderInfo}}function T(e){var n,o,c,i,u,s;if(e.type!==t.KV_KEY_CHANGED)throw new Error("不是 KV 变化事件");return{uuid:e.uuid,key:(n=e.content)==null?void 0:n.key,action:(o=e.content)==null?void 0:o.action,created:(c=e.content)==null?void 0:c.created,updatedAt:(i=e.content)==null?void 0:i.updatedAt,deletedAt:(u=e.content)==null?void 0:u.deletedAt,batch:(s=e.content)==null?void 0:s.batch}}function p(e){var n,o,c,i;if(e.type!==t.URGENT_NOTICE)throw new Error("不是紧急通知事件");return{urgency:((n=e.content)==null?void 0:n.urgency)||"info",message:((o=e.content)==null?void 0:o.message)||"",targetDevices:((c=e.content)==null?void 0:c.targetDevices)||[],senderId:e.senderId,senderInfo:((i=e.content)==null?void 0:i.senderInfo)||e.senderInfo,timestamp:e.timestamp}}function y(e){var n,o,c,i;if(e.type!==t.NOTIFICATION)throw new Error("不是通知事件");return{message:((n=e.content)==null?void 0:n.message)||"",isUrgent:((o=e.content)==null?void 0:o.isUrgent)||!1,targetDevices:((c=e.content)==null?void 0:c.targetDevices)||[],senderId:e.senderId,senderInfo:((i=e.content)==null?void 0:i.senderInfo)||e.senderInfo,timestamp:e.timestamp,eventId:e.eventId}}function C(e){return e?e.deviceName==="realtime"?"实时同步":`${e.deviceName||"未知设备"} (${e.deviceType||"未知类型"})`:"未知设备"}function h(e={}){const{onChat:n,onKvChanged:o,onUrgentNotice:c,onNotification:i,onOtherEvent:u,enableLegacySupport:s=!0}=e;return d=>{I(d,{[t.CHAT]:r=>{if(n){const f=s?g(r):r;n(f,r)}},[t.KV_KEY_CHANGED]:r=>{if(o){const f=s?T(r):r;o(f,r)}},[t.URGENT_NOTICE]:r=>{if(c){const f=s?p(r):r;c(f,r)}},[t.NOTIFICATION]:r=>{if(i){const f=s?y(r):r;i(f,r)}}}),u&&d.type!==t.CHAT&&d.type!==t.KV_KEY_CHANGED&&d.type!==t.URGENT_NOTICE&&d.type!==t.NOTIFICATION&&u(d)}}export{t as D,h as c,C as f,m as s}; +import{s as E}from"./socketClient-DM3fpE4o.js";const t={CHAT:"chat",KV_KEY_CHANGED:"kv-key-changed",URGENT_NOTICE:"urgent-notice",NOTIFICATION:"notification"};function m(e){if(!e||typeof e!="string")throw new Error("消息文本不能为空");E(t.CHAT,{text:e.trim()})}function I(e,n={}){if(!e||!e.type){console.warn("无效的设备事件数据:",e);return}const o=n[e.type];if(typeof o=="function")try{o(e)}catch(c){console.error(`处理设备事件 ${e.type} 时出错:`,c)}}function g(e){var n;if(e.type!==t.CHAT)throw new Error("不是聊天事件");return{text:((n=e.content)==null?void 0:n.text)||"",senderId:e.senderId,at:e.timestamp,uuid:e.uuid,senderInfo:e.senderInfo}}function T(e){var n,o,c,i,u,s;if(e.type!==t.KV_KEY_CHANGED)throw new Error("不是 KV 变化事件");return{uuid:e.uuid,key:(n=e.content)==null?void 0:n.key,action:(o=e.content)==null?void 0:o.action,created:(c=e.content)==null?void 0:c.created,updatedAt:(i=e.content)==null?void 0:i.updatedAt,deletedAt:(u=e.content)==null?void 0:u.deletedAt,batch:(s=e.content)==null?void 0:s.batch}}function p(e){var n,o,c,i;if(e.type!==t.URGENT_NOTICE)throw new Error("不是紧急通知事件");return{urgency:((n=e.content)==null?void 0:n.urgency)||"info",message:((o=e.content)==null?void 0:o.message)||"",targetDevices:((c=e.content)==null?void 0:c.targetDevices)||[],senderId:e.senderId,senderInfo:((i=e.content)==null?void 0:i.senderInfo)||e.senderInfo,timestamp:e.timestamp}}function y(e){var n,o,c,i;if(e.type!==t.NOTIFICATION)throw new Error("不是通知事件");return{message:((n=e.content)==null?void 0:n.message)||"",isUrgent:((o=e.content)==null?void 0:o.isUrgent)||!1,targetDevices:((c=e.content)==null?void 0:c.targetDevices)||[],senderId:e.senderId,senderInfo:((i=e.content)==null?void 0:i.senderInfo)||e.senderInfo,timestamp:e.timestamp,eventId:e.eventId}}function C(e){return e?e.deviceName==="realtime"?"实时同步":`${e.deviceName||"未知设备"} (${e.deviceType||"未知类型"})`:"未知设备"}function h(e={}){const{onChat:n,onKvChanged:o,onUrgentNotice:c,onNotification:i,onOtherEvent:u,enableLegacySupport:s=!0}=e;return d=>{I(d,{[t.CHAT]:r=>{if(n){const f=s?g(r):r;n(f,r)}},[t.KV_KEY_CHANGED]:r=>{if(o){const f=s?T(r):r;o(f,r)}},[t.URGENT_NOTICE]:r=>{if(c){const f=s?p(r):r;c(f,r)}},[t.NOTIFICATION]:r=>{if(i){const f=s?y(r):r;i(f,r)}}}),u&&d.type!==t.CHAT&&d.type!==t.KV_KEY_CHANGED&&d.type!==t.URGENT_NOTICE&&d.type!==t.NOTIFICATION&&u(d)}}export{t as D,h as c,C as f,m as s}; diff --git a/assets/examschedule-CWlyTxDY.js b/assets/examschedule-TpcQJRWX.js similarity index 90% rename from assets/examschedule-CWlyTxDY.js rename to assets/examschedule-TpcQJRWX.js index c9b96f8..08e4577 100644 --- a/assets/examschedule-CWlyTxDY.js +++ b/assets/examschedule-TpcQJRWX.js @@ -1,4 +1,4 @@ -import{_ as A}from"./ExamConfigEditor-C3cHfqxx.js";import{d as C}from"./dataProvider-B62Oym03.js";import{_ as z,o as p,j as h,w as i,c as s,l as y,q as V,t as g,v as l,Y as J,z as v,i as f,A as x,D,y as u,P as R,C as F,F as O,G as H,Q as L,a0 as U,a1 as j,L as B,H as S,N as X,M as T,x as k,k as P}from"./index-CHEqx3ZK.js";import{V as W,a as q}from"./VRow-7L_239rt.js";import{V as N}from"./VAlert-B7dotCy7.js";import{V as M}from"./VChip-B02B673U.js";import{V as G}from"./VSkeletonLoader-Bcvvvbke.js";import{V as Y}from"./VTextField-BmfQXFFg.js";import{V as K}from"./VTextarea-uYG2fN8H.js";import{V as Q}from"./VContainer-x94CJ7kH.js";import"./VTooltip-C168gwPH.js";import"./VSwitch-CsrhG2o9.js";import"./VSelect-B5ZKU6ZJ.js";import"./VCheckboxBtn-L9oezRC0.js";import"./serverRotation-D840vVDL.js";const Z={name:"ExamScheduleManager",components:{ExamConfigEditor:A},data(){return{configs:[],loading:!1,error:"",success:"",renameDialog:!1,editDialog:!1,configToRename:null,editingConfig:null,newConfigName:"",renaming:!1,saving:!1,importDialog:!1,importJson:"",importError:"",importing:!1,datePickerDialog:!1,baseDate:"",virtualDateInfo:null,pendingImportConfig:null,aiDialog:!1,copied:!1}},async mounted(){await this.loadConfigs()},computed:{aiPrompt(){const a=new Date;return`Your task is to generate a JSON configuration file for an exam dashboard. Based on the exam information input by the user, generate the configuration strictly following these rules. +import A from"./ExamConfigEditor-sH7Cpbyw.js";import{d as C}from"./dataProvider-Dty8Zh7m.js";import{_ as J,e as y,c as V,h as g,J as R,d as v,l as u,j as z,k as F,s as O,t as H,L,p as S,q as T,o as k,g as P}from"./index-Bqe1gKo7.js";import{X as p,Y as h,Z as i,j as s,a1 as l,k as f,S as x,$ as D,_ as U,F as j,a2 as X,ac as B}from"./vendor-vue-H0jQBZ7T.js";import{V as W,a as q}from"./VRow-C2iyFaHv.js";import{V as N}from"./VAlert-b5nBlHgx.js";import{V as M}from"./VChip-CPVASmWt.js";import{V as K}from"./VSkeletonLoader-D5uB8vy5.js";import{V as Y}from"./VTextField-B7edjjhw.js";import{V as G}from"./VTextarea-DiXZJMiq.js";import{V as Z}from"./VContainer-BHAiZEWc.js";import"./VTooltip-UMclv3tZ.js";import"./vendor-vuetify-ChAgIwn2.js";import"./VSwitch-C77LDPed.js";import"./autofocus-Dh4QPNon.js";import"./VAutocomplete-Buofo9XU.js";import"./VSelect-DC96rbwz.js";import"./VSheet-DHN9xqm_.js";import"./VCheckboxBtn-nWqvYDIO.js";import"./VDatePicker-CyfBxTLk.js";import"./VBadge-B7gMUs96.js";import"./vendor-utils-DDRLRfsI.js";import"./serverRotation-CLP7smnN.js";const Q={name:"ExamScheduleManager",components:{ExamConfigEditor:A},data(){return{configs:[],loading:!1,error:"",success:"",renameDialog:!1,editDialog:!1,configToRename:null,editingConfig:null,newConfigName:"",renaming:!1,saving:!1,importDialog:!1,importJson:"",importError:"",importing:!1,datePickerDialog:!1,baseDate:"",virtualDateInfo:null,pendingImportConfig:null,aiDialog:!1,copied:!1}},async mounted(){await this.loadConfigs()},computed:{aiPrompt(){const a=new Date;return`Your task is to generate a JSON configuration file for an exam dashboard. Based on the exam information input by the user, generate the configuration strictly following these rules. Generation Requirements: * Output using JSON blocks in Markdown @@ -36,7 +36,7 @@ Date and Time Handling: * For multiple exams, calculate dates sequentially in order Now please generate the exam configuration based on the above rules:`}},methods:{inferExamType(){const a=new Date,e=a.getMonth()+1,r=a.getDate();let o="新考试",t=`请保持卷面整洁,字迹清晰,遵守考场纪律,诚信应考。 -听到终考铃声时,请立即起立并停止作答。`;return e>=9||e<=1?e===9&&r<=15?o="开学摸底考试":e===9&&r>15?o="第一次月考":e===10?o="第二次月考":e===11&&r<=20?o="期中考试":e===11&&r>20?o="第三次月考":e===12?o="第四次月考":e===1&&(o="期末考试"):e>=2&&e<=7&&(e===2||e===3&&r<=10?o="开学摸底考试":e===3&&r>10?o="第一次月考":e===4&&r<=25?o="期中考试":e===4&&r>25?o="第二次月考":e===5?o="第三次月考":(e===6||e===7)&&(o="期末考试")),{examName:o,message:t}},async initializeExampleData(){const a=[{id:"exam_example_001",examName:"期末考试安排",message:"请按时参加考试,携带学生证和身份证",examInfos:[{name:"数学",start:"2025/01/15 09:00",end:"2025/01/15 11:00"},{name:"英语",start:"2025/01/16 14:00",end:"2025/01/16 16:00"}]},{id:"exam_example_002",examName:"期中考试安排",message:"考试期间请保持安静",examInfos:[{name:"物理",start:"2025/01/20 10:00",end:"2025/01/20 12:00"},{name:"化学",start:"2025/01/21 14:00",end:"2025/01/21 16:00"}]},{id:"exam_example_003",examName:"模拟考试安排",message:"模拟考试,请认真对待",examInfos:[{name:"语文",start:"2025/01/25 09:00",end:"2025/01/25 11:30"}]}],e=a.map(r=>({id:r.id}));await C.saveData("es_list",e);for(let r of a){const o={...r};delete o.id,await C.saveData(`es_${r.id}`,o)}return a},async loadConfigs(){this.loading=!0,this.error="";try{const a=await C.loadData("es_list");if(a&&a&&a.length>0){this.configs=[];for(let e of a)try{const r=await C.loadData(`es_${e.id}`);r&&this.configs.push({id:e.id,...r})}catch(r){console.warn(`加载配置 es_${e.id} 失败:`,r)}}else this.configs=await this.initializeExampleData()}catch(a){this.error="加载配置列表失败: "+a.message,this.configs=[]}finally{this.loading=!1}},async createNewConfig(){var c,n;const a=Date.now().toString(),e=new Date;e.setDate(e.getDate()+1),e.setHours(8,0,0,0);const r=new Date(e);r.setHours(r.getHours()+2);const o=d=>{const E=d.getFullYear(),I=String(d.getMonth()+1).padStart(2,"0"),w=String(d.getDate()).padStart(2,"0"),b=String(d.getHours()).padStart(2,"0"),_=String(d.getMinutes()).padStart(2,"0");return`${E}/${I}/${w} ${b}:${_}`},t=this.inferExamType(),m={examName:t.examName,message:t.message,room:P("server.classNumber")||"",examInfos:[{name:"语文",start:o(e),end:o(r)}]};try{const d=await C.saveData(`es_${a}`,m);if(!d)throw new Error(((c=d.error)==null?void 0:c.message)||"保存失败");this.configs.push({id:a,...m});const E=this.configs.map(b=>({id:b.id})),I=await C.saveData("es_list",E);if(!I)throw new Error(((n=I.error)==null?void 0:n.message)||"更新列表失败");this.$message.success("新配置创建成功");const w=this.configs.find(b=>b.id===a);w&&(this.editingConfig=w,this.editDialog=!0)}catch(d){this.$message.error("创建配置失败: "+d.message)}},showRenameDialog(a){this.configToRename=a,this.newConfigName=a.examName||`配置 ${a.id}`,this.renameDialog=!0},async renameConfig(){var a;if(!(!this.configToRename||!this.newConfigName)){this.renaming=!0;try{const e={examName:this.newConfigName,message:this.configToRename.message,examInfos:this.configToRename.examInfos},r=await C.saveData(`es_${this.configToRename.id}`,e);if(!r)throw new Error(((a=r.error)==null?void 0:a.message)||"保存失败");const o=this.configs.findIndex(t=>t.id===this.configToRename.id);o!==-1&&(this.configs[o].examName=this.newConfigName),this.$message.success("配置重命名成功"),this.renameDialog=!1,this.configToRename=null,this.newConfigName=""}catch(e){this.$message.error("重命名配置失败: "+e.message)}finally{this.renaming=!1}}},showEditDialog(a){this.editingConfig=a,this.editDialog=!0},closeEditDialog(){this.editDialog=!1,this.editingConfig=null,this.saving=!1},async saveConfigInDialog(){if(this.$refs.configEditor){this.saving=!0;try{await this.$refs.configEditor.saveConfig()}catch(a){console.error("保存配置失败:",a)}finally{this.saving=!1}}},onConfigSaved(){this.$message.success("配置保存成功!"),this.loadConfigs(),this.$message.success("配置保存成功!")},onConfigError(a){this.$message.error(a||"保存配置时发生错误"),this.$message.error(a||"保存配置时发生错误")},onConfigOpened(){this.$message.success("配置已在新窗口中打开"),this.$message.success("配置已在新窗口中打开")},onConfigDeleted(a){a.success?(this.$message.success(a.message||"配置删除成功"),this.editDialog=!1,this.loadConfigs()):this.$message.error(a.message||"删除失败")},showImportDialog(){this.importDialog=!0,this.importJson="",this.importError=""},closeImportDialog(){this.importDialog=!1,this.importJson="",this.importError="",this.importing=!1},detectVirtualDates(a){const e=/^0000-00-(\d{2})/;let r=!1,o=1/0,t=-1/0,m=0;if(a.examInfos&&Array.isArray(a.examInfos))for(let c of a.examInfos){if(c.start){const n=c.start.match(e);if(n){r=!0,m++;const d=parseInt(n[1]);o=Math.min(o,d),t=Math.max(t,d)}}if(c.end){const n=c.end.match(e);if(n){r=!0;const d=parseInt(n[1]);o=Math.min(o,d),t=Math.max(t,d)}}}return r?{hasVirtual:!0,count:m,span:t-o+1,minDay:o,maxDay:t}:null},convertVirtualDate(a,e){const r=/^0000-00-(\d{2})\s+(.+)$/,o=a.match(r);if(!o)return a;const t=parseInt(o[1]),m=o[2],c=new Date(e),n=new Date(c);n.setDate(c.getDate()+(t-1));const d=n.getFullYear(),E=String(n.getMonth()+1).padStart(2,"0"),I=String(n.getDate()).padStart(2,"0"),w=m.match(/(\d{2}):(\d{2})(?::(\d{2}))?/);if(w){const b=w[1],_=w[2];return`${d}/${E}/${I} ${b}:${_}`}return`${d}/${E}/${I} ${m}`},normalizeDateFormat(a){if(!a)return"";if(/^\d{4}\/\d{2}\/\d{2}\s+\d{2}:\d{2}$/.test(a))return a;const e=/^(\d{4})-(\d{2})-(\d{2})\s+(\d{2}):(\d{2})(?::(\d{2}))?$/,r=a.match(e);if(r)return`${r[1]}/${r[2]}/${r[3]} ${r[4]}:${r[5]}`;const o=/^(\d{4})-(\d{2})-(\d{2})$/,t=a.match(o);return t?`${t[1]}/${t[2]}/${t[3]} 08:00`:a},validateAndFillConfig(a){const e=this.inferExamType(),r={examName:a.examName||e.examName,message:a.message||e.message,room:a.room||P("server.classNumber")||"",examInfos:[]};if(!a.examInfos||!Array.isArray(a.examInfos))throw new Error("配置中缺少 examInfos 数组");if(a.examInfos.length===0)throw new Error("examInfos 数组不能为空");for(let o=0;o({id:d.id})),c=await C.saveData("es_list",m);if(!c)throw new Error(((o=c.error)==null?void 0:o.message)||"更新列表失败");this.success="配置导入成功!",this.closeImportDialog();const n=this.configs.find(d=>d.id===e);n&&(this.editingConfig=n,this.editDialog=!0)}catch(t){throw new Error("保存配置失败: "+t.message)}},showAIDialog(){this.aiDialog=!0,this.copied=!1},closeAIDialog(){this.aiDialog=!1,this.copied=!1},async copyPrompt(){try{await navigator.clipboard.writeText(this.aiPrompt),this.copied=!0,setTimeout(()=>{this.copied=!1},3e3)}catch{const e=document.createElement("textarea");e.value=this.aiPrompt,e.style.position="fixed",e.style.left="-999999px",document.body.appendChild(e),e.select();try{document.execCommand("copy"),this.copied=!0,setTimeout(()=>{this.copied=!1},3e3)}catch{this.error="复制失败,请手动复制"}document.body.removeChild(e)}},goToImport(){this.aiDialog=!1,this.showImportDialog()}}},$={class:"d-flex align-center"},ee={class:"d-flex align-center"},te={class:"d-flex justify-space-between align-center mb-4"},ie={class:"d-flex align-center"},se={class:"d-flex align-center"},ae={class:"d-flex align-center mt-1"},oe={class:"d-flex align-center"},ne={class:"text-caption"},re={class:"mb-3"},le={class:"d-flex justify-space-between align-center mb-2"},me={class:"ai-prompt-text"};function de(a,e,r,o,t,m){const c=A;return p(),h(Q,{class:"fill-height"},{default:i(()=>[s(W,null,{default:i(()=>[s(q,{cols:"12"},{default:i(()=>[s(y,{border:"",class:"elevation-12"},{default:i(()=>[s(V,{class:"d-flex align-center primary lighten-1 white--text py-3 px-4"},{default:i(()=>[s(g,{class:"mr-2",color:"white"},{default:i(()=>[...e[12]||(e[12]=[l("mdi-calendar-check",-1)])]),_:1}),e[13]||(e[13]=l(" 考试看板 ",-1))]),_:1}),s(J,null,{default:i(()=>[...e[14]||(e[14]=[l(" 不只是考试看板。 ",-1)])]),_:1}),s(v,null,{default:i(()=>[t.error?(p(),h(N,{key:0,border:"start",class:"mb-4 mt-3 mx-2",closable:"",type:"error",variant:"tonal","onClick:close":e[0]||(e[0]=n=>t.error="")},{default:i(()=>[f("div",$,[s(g,{class:"mr-2"},{default:i(()=>[...e[15]||(e[15]=[l("mdi-alert-circle",-1)])]),_:1}),l(" "+x(t.error),1)])]),_:1})):D("",!0),t.success?(p(),h(N,{key:1,border:"start",class:"mb-4 mt-3 mx-2",closable:"",type:"success",variant:"tonal","onClick:close":e[1]||(e[1]=n=>t.success="")},{default:i(()=>[f("div",ee,[s(g,{class:"mr-2"},{default:i(()=>[...e[16]||(e[16]=[l("mdi-check-circle",-1)])]),_:1}),l(" "+x(t.success),1)])]),_:1})):D("",!0),f("div",te,[f("div",ie,[s(u,{class:"mr-2",color:"primary","prepend-icon":"mdi-plus",onClick:m.createNewConfig},{default:i(()=>[...e[17]||(e[17]=[l(" 新建配置 ",-1)])]),_:1},8,["onClick"]),s(u,{class:"mr-2",color:"success","prepend-icon":"mdi-import",variant:"outlined",onClick:m.showImportDialog},{default:i(()=>[...e[18]||(e[18]=[l(" 导入配置 ",-1)])]),_:1},8,["onClick"]),s(u,{class:"mr-2",color:"purple","prepend-icon":"mdi-brain",variant:"outlined",onClick:m.showAIDialog},{default:i(()=>[...e[19]||(e[19]=[l(" AI生成 ",-1)])]),_:1},8,["onClick"]),s(u,{loading:t.loading,color:"info","prepend-icon":"mdi-refresh",variant:"outlined",onClick:m.loadConfigs},{default:i(()=>[...e[20]||(e[20]=[l(" 刷新 ",-1)])]),_:1},8,["loading","onClick"])]),t.configs.length>0?(p(),h(M,{key:0,color:"primary","prepend-icon":"mdi-format-list-numbered"},{default:i(()=>[l(x(t.configs.length)+" 个配置 ",1)]),_:1})):D("",!0)]),t.loading?(p(),h(y,{key:2,class:"my-4",outlined:""},{default:i(()=>[s(v,null,{default:i(()=>[s(G,{class:"mx-auto",type:"list-item-avatar-two-line@3"})]),_:1})]),_:1})):D("",!0),!t.loading&&t.configs.length>0?(p(),h(y,{key:3,class:"my-4",elevation:"1"},{default:i(()=>[s(V,{class:"d-flex align-center pa-4 bg-primary-lighten-5"},{default:i(()=>[s(g,{class:"mr-2"},{default:i(()=>[...e[21]||(e[21]=[l("mdi-format-list-bulleted",-1)])]),_:1}),e[22]||(e[22]=f("span",{class:"font-weight-bold"},"配置列表",-1))]),_:1}),s(R,null,{default:i(()=>[(p(!0),F(O,null,H(t.configs,n=>(p(),h(L,{key:n.id,class:"border-b",style:{cursor:"pointer"},onClick:d=>m.showEditDialog(n)},{prepend:i(()=>[s(B,{class:"mr-2",color:"primary"},{default:i(()=>[s(g,{color:"white"},{default:i(()=>[...e[23]||(e[23]=[l("mdi-calendar-text",-1)])]),_:1})]),_:1})]),append:i(()=>[f("div",oe,[s(u,{class:"mr-1",color:"primary",icon:"mdi-pencil",size:"small",variant:"text",onClick:d=>m.showEditDialog(n)},{default:i(()=>[s(g,null,{default:i(()=>[...e[26]||(e[26]=[l("mdi-pencil",-1)])]),_:1})]),_:1},8,["onClick"]),s(u,{class:"mr-1",color:"info",icon:"mdi-eye",size:"small",variant:"text",onClick:d=>m.showEditDialog(n)},{default:i(()=>[s(g,null,{default:i(()=>[...e[27]||(e[27]=[l("mdi-eye",-1)])]),_:1})]),_:1},8,["onClick"])])]),default:i(()=>[s(U,{class:"font-weight-medium"},{default:i(()=>[l(x(n.examName||`配置 ${n.id}`),1)]),_:2},1024),s(j,{class:"text-caption mt-1"},{default:i(()=>[f("div",se,[s(g,{class:"mr-1",size:"small"},{default:i(()=>[...e[24]||(e[24]=[l("mdi-information-outline",-1)])]),_:1}),l(" "+x(n.message||"无描述"),1)]),f("div",ae,[s(g,{class:"mr-1",size:"small"},{default:i(()=>[...e[25]||(e[25]=[l("mdi-book-multiple",-1)])]),_:1}),l(" "+x(n.examInfos?n.examInfos.length:0)+" 堂考试 ",1)])]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1})):D("",!0),!t.loading&&t.configs.length===0?(p(),h(y,{key:4,class:"my-4",elevation:"1"},{default:i(()=>[s(v,{class:"text-center py-8"},{default:i(()=>[s(g,{class:"mb-4",color:"grey-lighten-1",size:"64"},{default:i(()=>[...e[28]||(e[28]=[l(" mdi-calendar-blank ",-1)])]),_:1}),e[30]||(e[30]=f("h3",{class:"text-h6 mb-2 text-grey-darken-1"},"暂无配置",-1)),e[31]||(e[31]=f("p",{class:"text-body-2 text-grey-darken-1 mb-4"},' 点击"新建配置"按钮创建您的第一个考试配置 ',-1)),s(u,{color:"primary","prepend-icon":"mdi-plus",onClick:m.createNewConfig},{default:i(()=>[...e[29]||(e[29]=[l(" 新建配置 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})):D("",!0)]),_:1})]),_:1})]),_:1})]),_:1}),s(S,{modelValue:t.renameDialog,"onUpdate:modelValue":e[4]||(e[4]=n=>t.renameDialog=n),"max-width":"500"},{default:i(()=>[s(y,null,{default:i(()=>[s(V,{class:"d-flex align-center"},{default:i(()=>[s(g,{class:"mr-2",color:"primary"},{default:i(()=>[...e[32]||(e[32]=[l("mdi-rename-box",-1)])]),_:1}),e[33]||(e[33]=l(" 重命名配置 ",-1))]),_:1}),s(v,null,{default:i(()=>[s(Y,{modelValue:t.newConfigName,"onUpdate:modelValue":e[2]||(e[2]=n=>t.newConfigName=n),rules:[n=>!!n||"配置名称不能为空"],label:"配置名称","prepend-inner-icon":"mdi-calendar-text",variant:"outlined",onKeyup:X(m.renameConfig,["enter"])},null,8,["modelValue","rules","onKeyup"])]),_:1}),s(T,null,{default:i(()=>[s(k),s(u,{color:"grey",variant:"text",onClick:e[3]||(e[3]=n=>t.renameDialog=!1)},{default:i(()=>[...e[34]||(e[34]=[l(" 取消 ",-1)])]),_:1}),s(u,{disabled:!t.newConfigName,loading:t.renaming,color:"primary",variant:"outlined",onClick:m.renameConfig},{default:i(()=>[...e[35]||(e[35]=[l(" 确认 ",-1)])]),_:1},8,["disabled","loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),s(S,{modelValue:t.editDialog,"onUpdate:modelValue":e[5]||(e[5]=n=>t.editDialog=n),"max-width":"1200",persistent:""},{default:i(()=>[s(y,null,{default:i(()=>[s(V,{class:"d-flex align-center primary lighten-1 white--text py-3 px-4"},{default:i(()=>[s(g,{class:"mr-2",color:"white"},{default:i(()=>[...e[36]||(e[36]=[l("mdi-pencil",-1)])]),_:1}),e[38]||(e[38]=l(" 编辑考试配置 ",-1)),s(k),t.editingConfig?(p(),h(M,{key:0,class:"mr-2",color:"white",size:"small","text-color":"primary"},{default:i(()=>[l(" ID: "+x(t.editingConfig.id),1)]),_:1})):D("",!0),s(u,{color:"white",icon:"mdi-close",variant:"text",onClick:m.closeEditDialog},{default:i(()=>[s(g,null,{default:i(()=>[...e[37]||(e[37]=[l("mdi-close",-1)])]),_:1})]),_:1},8,["onClick"])]),_:1}),s(v,{class:"pa-4",style:{"max-height":"70vh","overflow-y":"auto"}},{default:i(()=>[t.editingConfig?(p(),h(c,{key:0,ref:"configEditor","config-id":t.editingConfig.id,"dialog-mode":!0,onDeleted:m.onConfigDeleted,onError:m.onConfigError,onOpened:m.onConfigOpened,onSaved:m.onConfigSaved},null,8,["config-id","onDeleted","onError","onOpened","onSaved"])):D("",!0)]),_:1}),s(T,{class:"pa-4"},{default:i(()=>[s(u,{color:"grey","prepend-icon":"mdi-close",variant:"outlined",onClick:m.closeEditDialog},{default:i(()=>[...e[39]||(e[39]=[l(" 关闭 ",-1)])]),_:1},8,["onClick"]),s(k),s(u,{loading:t.saving,color:"success","prepend-icon":"mdi-content-save",variant:"outlined",onClick:m.saveConfigInDialog},{default:i(()=>[...e[40]||(e[40]=[l(" 保存配置 ",-1)])]),_:1},8,["loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),s(S,{modelValue:t.importDialog,"onUpdate:modelValue":e[8]||(e[8]=n=>t.importDialog=n),"max-width":"800",persistent:""},{default:i(()=>[s(y,null,{default:i(()=>[s(V,{class:"d-flex align-center primary lighten-1 white--text py-3 px-4"},{default:i(()=>[s(g,{class:"mr-2",color:"white"},{default:i(()=>[...e[41]||(e[41]=[l("mdi-import",-1)])]),_:1}),e[43]||(e[43]=l(" 导入考试配置 ",-1)),s(k),s(u,{color:"white",icon:"mdi-close",variant:"text",onClick:m.closeImportDialog},{default:i(()=>[s(g,null,{default:i(()=>[...e[42]||(e[42]=[l("mdi-close",-1)])]),_:1})]),_:1},8,["onClick"])]),_:1}),s(v,{class:"pa-4"},{default:i(()=>[t.importError?(p(),h(N,{key:0,border:"start",class:"mb-4",closable:"",type:"error",variant:"tonal","onClick:close":e[6]||(e[6]=n=>t.importError="")},{default:i(()=>[l(x(t.importError),1)]),_:1})):D("",!0),s(K,{modelValue:t.importJson,"onUpdate:modelValue":e[7]||(e[7]=n=>t.importJson=n),rules:[n=>!!n||"JSON内容不能为空"],label:"请输入JSON配置",placeholder:`{ +听到终考铃声时,请立即起立并停止作答。`;return e>=9||e<=1?e===9&&r<=15?o="开学摸底考试":e===9&&r>15?o="第一次月考":e===10?o="第二次月考":e===11&&r<=20?o="期中考试":e===11&&r>20?o="第三次月考":e===12?o="第四次月考":e===1&&(o="期末考试"):e>=2&&e<=7&&(e===2||e===3&&r<=10?o="开学摸底考试":e===3&&r>10?o="第一次月考":e===4&&r<=25?o="期中考试":e===4&&r>25?o="第二次月考":e===5?o="第三次月考":(e===6||e===7)&&(o="期末考试")),{examName:o,message:t}},async initializeExampleData(){const a=[{id:"exam_example_001",examName:"期末考试安排",message:"请按时参加考试,携带学生证和身份证",examInfos:[{name:"数学",start:"2025/01/15 09:00",end:"2025/01/15 11:00"},{name:"英语",start:"2025/01/16 14:00",end:"2025/01/16 16:00"}]},{id:"exam_example_002",examName:"期中考试安排",message:"考试期间请保持安静",examInfos:[{name:"物理",start:"2025/01/20 10:00",end:"2025/01/20 12:00"},{name:"化学",start:"2025/01/21 14:00",end:"2025/01/21 16:00"}]},{id:"exam_example_003",examName:"模拟考试安排",message:"模拟考试,请认真对待",examInfos:[{name:"语文",start:"2025/01/25 09:00",end:"2025/01/25 11:30"}]}],e=a.map(r=>({id:r.id}));await C.saveData("es_list",e);for(let r of a){const o={...r};delete o.id,await C.saveData(`es_${r.id}`,o)}return a},async loadConfigs(){this.loading=!0,this.error="";try{const a=await C.loadData("es_list");if(a&&a&&a.length>0){this.configs=[];for(let e of a)try{const r=await C.loadData(`es_${e.id}`);r&&this.configs.push({id:e.id,...r})}catch(r){console.warn(`加载配置 es_${e.id} 失败:`,r)}}else this.configs=await this.initializeExampleData()}catch(a){this.error="加载配置列表失败: "+a.message,this.configs=[]}finally{this.loading=!1}},async createNewConfig(){var c,n;const a=Date.now().toString(),e=new Date;e.setDate(e.getDate()+1),e.setHours(8,0,0,0);const r=new Date(e);r.setHours(r.getHours()+2);const o=d=>{const E=d.getFullYear(),I=String(d.getMonth()+1).padStart(2,"0"),w=String(d.getDate()).padStart(2,"0"),b=String(d.getHours()).padStart(2,"0"),_=String(d.getMinutes()).padStart(2,"0");return`${E}/${I}/${w} ${b}:${_}`},t=this.inferExamType(),m={examName:t.examName,message:t.message,room:P("server.classNumber")||"",examInfos:[{name:"语文",start:o(e),end:o(r)}]};try{const d=await C.saveData(`es_${a}`,m);if(!d)throw new Error(((c=d.error)==null?void 0:c.message)||"保存失败");this.configs.push({id:a,...m});const E=this.configs.map(b=>({id:b.id})),I=await C.saveData("es_list",E);if(!I)throw new Error(((n=I.error)==null?void 0:n.message)||"更新列表失败");this.$message.success("新配置创建成功");const w=this.configs.find(b=>b.id===a);w&&(this.editingConfig=w,this.editDialog=!0)}catch(d){this.$message.error("创建配置失败: "+d.message)}},showRenameDialog(a){this.configToRename=a,this.newConfigName=a.examName||`配置 ${a.id}`,this.renameDialog=!0},async renameConfig(){var a;if(!(!this.configToRename||!this.newConfigName)){this.renaming=!0;try{const e={examName:this.newConfigName,message:this.configToRename.message,examInfos:this.configToRename.examInfos},r=await C.saveData(`es_${this.configToRename.id}`,e);if(!r)throw new Error(((a=r.error)==null?void 0:a.message)||"保存失败");const o=this.configs.findIndex(t=>t.id===this.configToRename.id);o!==-1&&(this.configs[o].examName=this.newConfigName),this.$message.success("配置重命名成功"),this.renameDialog=!1,this.configToRename=null,this.newConfigName=""}catch(e){this.$message.error("重命名配置失败: "+e.message)}finally{this.renaming=!1}}},showEditDialog(a){this.editingConfig=a,this.editDialog=!0},closeEditDialog(){this.editDialog=!1,this.editingConfig=null,this.saving=!1},async saveConfigInDialog(){if(this.$refs.configEditor){this.saving=!0;try{await this.$refs.configEditor.saveConfig()}catch(a){console.error("保存配置失败:",a)}finally{this.saving=!1}}},onConfigSaved(){this.$message.success("配置保存成功!"),this.loadConfigs(),this.$message.success("配置保存成功!")},onConfigError(a){this.$message.error(a||"保存配置时发生错误"),this.$message.error(a||"保存配置时发生错误")},onConfigOpened(){this.$message.success("配置已在新窗口中打开"),this.$message.success("配置已在新窗口中打开")},onConfigDeleted(a){a.success?(this.$message.success(a.message||"配置删除成功"),this.editDialog=!1,this.loadConfigs()):this.$message.error(a.message||"删除失败")},showImportDialog(){this.importDialog=!0,this.importJson="",this.importError=""},closeImportDialog(){this.importDialog=!1,this.importJson="",this.importError="",this.importing=!1},detectVirtualDates(a){const e=/^0000-00-(\d{2})/;let r=!1,o=1/0,t=-1/0,m=0;if(a.examInfos&&Array.isArray(a.examInfos))for(let c of a.examInfos){if(c.start){const n=c.start.match(e);if(n){r=!0,m++;const d=parseInt(n[1]);o=Math.min(o,d),t=Math.max(t,d)}}if(c.end){const n=c.end.match(e);if(n){r=!0;const d=parseInt(n[1]);o=Math.min(o,d),t=Math.max(t,d)}}}return r?{hasVirtual:!0,count:m,span:t-o+1,minDay:o,maxDay:t}:null},convertVirtualDate(a,e){const r=/^0000-00-(\d{2})\s+(.+)$/,o=a.match(r);if(!o)return a;const t=parseInt(o[1]),m=o[2],c=new Date(e),n=new Date(c);n.setDate(c.getDate()+(t-1));const d=n.getFullYear(),E=String(n.getMonth()+1).padStart(2,"0"),I=String(n.getDate()).padStart(2,"0"),w=m.match(/(\d{2}):(\d{2})(?::(\d{2}))?/);if(w){const b=w[1],_=w[2];return`${d}/${E}/${I} ${b}:${_}`}return`${d}/${E}/${I} ${m}`},normalizeDateFormat(a){if(!a)return"";if(/^\d{4}\/\d{2}\/\d{2}\s+\d{2}:\d{2}$/.test(a))return a;const e=/^(\d{4})-(\d{2})-(\d{2})\s+(\d{2}):(\d{2})(?::(\d{2}))?$/,r=a.match(e);if(r)return`${r[1]}/${r[2]}/${r[3]} ${r[4]}:${r[5]}`;const o=/^(\d{4})-(\d{2})-(\d{2})$/,t=a.match(o);return t?`${t[1]}/${t[2]}/${t[3]} 08:00`:a},validateAndFillConfig(a){const e=this.inferExamType(),r={examName:a.examName||e.examName,message:a.message||e.message,room:a.room||P("server.classNumber")||"",examInfos:[]};if(!a.examInfos||!Array.isArray(a.examInfos))throw new Error("配置中缺少 examInfos 数组");if(a.examInfos.length===0)throw new Error("examInfos 数组不能为空");for(let o=0;o({id:d.id})),c=await C.saveData("es_list",m);if(!c)throw new Error(((o=c.error)==null?void 0:o.message)||"更新列表失败");this.success="配置导入成功!",this.closeImportDialog();const n=this.configs.find(d=>d.id===e);n&&(this.editingConfig=n,this.editDialog=!0)}catch(t){throw new Error("保存配置失败: "+t.message)}},showAIDialog(){this.aiDialog=!0,this.copied=!1},closeAIDialog(){this.aiDialog=!1,this.copied=!1},async copyPrompt(){try{await navigator.clipboard.writeText(this.aiPrompt),this.copied=!0,setTimeout(()=>{this.copied=!1},3e3)}catch{const e=document.createElement("textarea");e.value=this.aiPrompt,e.style.position="fixed",e.style.left="-999999px",document.body.appendChild(e),e.select();try{document.execCommand("copy"),this.copied=!0,setTimeout(()=>{this.copied=!1},3e3)}catch{this.error="复制失败,请手动复制"}document.body.removeChild(e)}},goToImport(){this.aiDialog=!1,this.showImportDialog()}}},$={class:"d-flex align-center"},ee={class:"d-flex align-center"},te={class:"d-flex justify-space-between align-center mb-4"},ie={class:"d-flex align-center"},se={class:"d-flex align-center"},ae={class:"d-flex align-center mt-1"},oe={class:"d-flex align-center"},ne={class:"text-caption"},re={class:"mb-3"},le={class:"d-flex justify-space-between align-center mb-2"},me={class:"ai-prompt-text"};function de(a,e,r,o,t,m){const c=A;return p(),h(Z,{class:"fill-height"},{default:i(()=>[s(W,null,{default:i(()=>[s(q,{cols:"12"},{default:i(()=>[s(y,{border:"",class:"elevation-12"},{default:i(()=>[s(V,{class:"d-flex align-center primary lighten-1 white--text py-3 px-4"},{default:i(()=>[s(g,{class:"mr-2",color:"white"},{default:i(()=>[...e[12]||(e[12]=[l("mdi-calendar-check",-1)])]),_:1}),e[13]||(e[13]=l(" 考试看板 ",-1))]),_:1}),s(R,null,{default:i(()=>[...e[14]||(e[14]=[l(" 不只是考试看板。 ",-1)])]),_:1}),s(v,null,{default:i(()=>[t.error?(p(),h(N,{key:0,border:"start",class:"mb-4 mt-3 mx-2",closable:"",type:"error",variant:"tonal","onClick:close":e[0]||(e[0]=n=>t.error="")},{default:i(()=>[f("div",$,[s(g,{class:"mr-2"},{default:i(()=>[...e[15]||(e[15]=[l("mdi-alert-circle",-1)])]),_:1}),l(" "+x(t.error),1)])]),_:1})):D("",!0),t.success?(p(),h(N,{key:1,border:"start",class:"mb-4 mt-3 mx-2",closable:"",type:"success",variant:"tonal","onClick:close":e[1]||(e[1]=n=>t.success="")},{default:i(()=>[f("div",ee,[s(g,{class:"mr-2"},{default:i(()=>[...e[16]||(e[16]=[l("mdi-check-circle",-1)])]),_:1}),l(" "+x(t.success),1)])]),_:1})):D("",!0),f("div",te,[f("div",ie,[s(u,{class:"mr-2",color:"primary","prepend-icon":"mdi-plus",onClick:m.createNewConfig},{default:i(()=>[...e[17]||(e[17]=[l(" 新建配置 ",-1)])]),_:1},8,["onClick"]),s(u,{class:"mr-2",color:"success","prepend-icon":"mdi-import",variant:"outlined",onClick:m.showImportDialog},{default:i(()=>[...e[18]||(e[18]=[l(" 导入配置 ",-1)])]),_:1},8,["onClick"]),s(u,{class:"mr-2",color:"purple","prepend-icon":"mdi-brain",variant:"outlined",onClick:m.showAIDialog},{default:i(()=>[...e[19]||(e[19]=[l(" AI生成 ",-1)])]),_:1},8,["onClick"]),s(u,{loading:t.loading,color:"info","prepend-icon":"mdi-refresh",variant:"outlined",onClick:m.loadConfigs},{default:i(()=>[...e[20]||(e[20]=[l(" 刷新 ",-1)])]),_:1},8,["loading","onClick"])]),t.configs.length>0?(p(),h(M,{key:0,color:"primary","prepend-icon":"mdi-format-list-numbered"},{default:i(()=>[l(x(t.configs.length)+" 个配置 ",1)]),_:1})):D("",!0)]),t.loading?(p(),h(y,{key:2,class:"my-4",outlined:""},{default:i(()=>[s(v,null,{default:i(()=>[s(K,{class:"mx-auto",type:"list-item-avatar-two-line@3"})]),_:1})]),_:1})):D("",!0),!t.loading&&t.configs.length>0?(p(),h(y,{key:3,class:"my-4",elevation:"1"},{default:i(()=>[s(V,{class:"d-flex align-center pa-4 bg-primary-lighten-5"},{default:i(()=>[s(g,{class:"mr-2"},{default:i(()=>[...e[21]||(e[21]=[l("mdi-format-list-bulleted",-1)])]),_:1}),e[22]||(e[22]=f("span",{class:"font-weight-bold"},"配置列表",-1))]),_:1}),s(z,null,{default:i(()=>[(p(!0),U(j,null,X(t.configs,n=>(p(),h(F,{key:n.id,class:"border-b",style:{cursor:"pointer"},onClick:d=>m.showEditDialog(n)},{prepend:i(()=>[s(L,{class:"mr-2",color:"primary"},{default:i(()=>[s(g,{color:"white"},{default:i(()=>[...e[23]||(e[23]=[l("mdi-calendar-text",-1)])]),_:1})]),_:1})]),append:i(()=>[f("div",oe,[s(u,{class:"mr-1",color:"primary",icon:"mdi-pencil",size:"small",variant:"text",onClick:d=>m.showEditDialog(n)},{default:i(()=>[s(g,null,{default:i(()=>[...e[26]||(e[26]=[l("mdi-pencil",-1)])]),_:1})]),_:1},8,["onClick"]),s(u,{class:"mr-1",color:"info",icon:"mdi-eye",size:"small",variant:"text",onClick:d=>m.showEditDialog(n)},{default:i(()=>[s(g,null,{default:i(()=>[...e[27]||(e[27]=[l("mdi-eye",-1)])]),_:1})]),_:1},8,["onClick"])])]),default:i(()=>[s(O,{class:"font-weight-medium"},{default:i(()=>[l(x(n.examName||`配置 ${n.id}`),1)]),_:2},1024),s(H,{class:"text-caption mt-1"},{default:i(()=>[f("div",se,[s(g,{class:"mr-1",size:"small"},{default:i(()=>[...e[24]||(e[24]=[l("mdi-information-outline",-1)])]),_:1}),l(" "+x(n.message||"无描述"),1)]),f("div",ae,[s(g,{class:"mr-1",size:"small"},{default:i(()=>[...e[25]||(e[25]=[l("mdi-book-multiple",-1)])]),_:1}),l(" "+x(n.examInfos?n.examInfos.length:0)+" 堂考试 ",1)])]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1})):D("",!0),!t.loading&&t.configs.length===0?(p(),h(y,{key:4,class:"my-4",elevation:"1"},{default:i(()=>[s(v,{class:"text-center py-8"},{default:i(()=>[s(g,{class:"mb-4",color:"grey-lighten-1",size:"64"},{default:i(()=>[...e[28]||(e[28]=[l(" mdi-calendar-blank ",-1)])]),_:1}),e[30]||(e[30]=f("h3",{class:"text-h6 mb-2 text-grey-darken-1"},"暂无配置",-1)),e[31]||(e[31]=f("p",{class:"text-body-2 text-grey-darken-1 mb-4"},' 点击"新建配置"按钮创建您的第一个考试配置 ',-1)),s(u,{color:"primary","prepend-icon":"mdi-plus",onClick:m.createNewConfig},{default:i(()=>[...e[29]||(e[29]=[l(" 新建配置 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})):D("",!0)]),_:1})]),_:1})]),_:1})]),_:1}),s(S,{modelValue:t.renameDialog,"onUpdate:modelValue":e[4]||(e[4]=n=>t.renameDialog=n),"max-width":"500"},{default:i(()=>[s(y,null,{default:i(()=>[s(V,{class:"d-flex align-center"},{default:i(()=>[s(g,{class:"mr-2",color:"primary"},{default:i(()=>[...e[32]||(e[32]=[l("mdi-rename-box",-1)])]),_:1}),e[33]||(e[33]=l(" 重命名配置 ",-1))]),_:1}),s(v,null,{default:i(()=>[s(Y,{modelValue:t.newConfigName,"onUpdate:modelValue":e[2]||(e[2]=n=>t.newConfigName=n),rules:[n=>!!n||"配置名称不能为空"],label:"配置名称","prepend-inner-icon":"mdi-calendar-text",variant:"outlined",onKeyup:B(m.renameConfig,["enter"])},null,8,["modelValue","rules","onKeyup"])]),_:1}),s(T,null,{default:i(()=>[s(k),s(u,{color:"grey",variant:"text",onClick:e[3]||(e[3]=n=>t.renameDialog=!1)},{default:i(()=>[...e[34]||(e[34]=[l(" 取消 ",-1)])]),_:1}),s(u,{disabled:!t.newConfigName,loading:t.renaming,color:"primary",variant:"outlined",onClick:m.renameConfig},{default:i(()=>[...e[35]||(e[35]=[l(" 确认 ",-1)])]),_:1},8,["disabled","loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),s(S,{modelValue:t.editDialog,"onUpdate:modelValue":e[5]||(e[5]=n=>t.editDialog=n),"max-width":"1200",persistent:""},{default:i(()=>[s(y,null,{default:i(()=>[s(V,{class:"d-flex align-center primary lighten-1 white--text py-3 px-4"},{default:i(()=>[s(g,{class:"mr-2",color:"white"},{default:i(()=>[...e[36]||(e[36]=[l("mdi-pencil",-1)])]),_:1}),e[38]||(e[38]=l(" 编辑考试配置 ",-1)),s(k),t.editingConfig?(p(),h(M,{key:0,class:"mr-2",color:"white",size:"small","text-color":"primary"},{default:i(()=>[l(" ID: "+x(t.editingConfig.id),1)]),_:1})):D("",!0),s(u,{color:"white",icon:"mdi-close",variant:"text",onClick:m.closeEditDialog},{default:i(()=>[s(g,null,{default:i(()=>[...e[37]||(e[37]=[l("mdi-close",-1)])]),_:1})]),_:1},8,["onClick"])]),_:1}),s(v,{class:"pa-4",style:{"max-height":"70vh","overflow-y":"auto"}},{default:i(()=>[t.editingConfig?(p(),h(c,{key:0,ref:"configEditor","config-id":t.editingConfig.id,"dialog-mode":!0,onDeleted:m.onConfigDeleted,onError:m.onConfigError,onOpened:m.onConfigOpened,onSaved:m.onConfigSaved},null,8,["config-id","onDeleted","onError","onOpened","onSaved"])):D("",!0)]),_:1}),s(T,{class:"pa-4"},{default:i(()=>[s(u,{color:"grey","prepend-icon":"mdi-close",variant:"outlined",onClick:m.closeEditDialog},{default:i(()=>[...e[39]||(e[39]=[l(" 关闭 ",-1)])]),_:1},8,["onClick"]),s(k),s(u,{loading:t.saving,color:"success","prepend-icon":"mdi-content-save",variant:"outlined",onClick:m.saveConfigInDialog},{default:i(()=>[...e[40]||(e[40]=[l(" 保存配置 ",-1)])]),_:1},8,["loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),s(S,{modelValue:t.importDialog,"onUpdate:modelValue":e[8]||(e[8]=n=>t.importDialog=n),"max-width":"800",persistent:""},{default:i(()=>[s(y,null,{default:i(()=>[s(V,{class:"d-flex align-center primary lighten-1 white--text py-3 px-4"},{default:i(()=>[s(g,{class:"mr-2",color:"white"},{default:i(()=>[...e[41]||(e[41]=[l("mdi-import",-1)])]),_:1}),e[43]||(e[43]=l(" 导入考试配置 ",-1)),s(k),s(u,{color:"white",icon:"mdi-close",variant:"text",onClick:m.closeImportDialog},{default:i(()=>[s(g,null,{default:i(()=>[...e[42]||(e[42]=[l("mdi-close",-1)])]),_:1})]),_:1},8,["onClick"])]),_:1}),s(v,{class:"pa-4"},{default:i(()=>[t.importError?(p(),h(N,{key:0,border:"start",class:"mb-4",closable:"",type:"error",variant:"tonal","onClick:close":e[6]||(e[6]=n=>t.importError="")},{default:i(()=>[l(x(t.importError),1)]),_:1})):D("",!0),s(G,{modelValue:t.importJson,"onUpdate:modelValue":e[7]||(e[7]=n=>t.importJson=n),rules:[n=>!!n||"JSON内容不能为空"],label:"请输入JSON配置",placeholder:`{ "examName": "期末考试", "message": "考试信息", "room": "01", @@ -47,4 +47,4 @@ Now please generate the exam configuration based on the above rules:`}},methods: "end": "2025/12/14 11:00" } ] -}`,"prepend-inner-icon":"mdi-code-json",rows:"15",variant:"outlined"},null,8,["modelValue","rules"]),s(N,{border:"start",class:"mt-2",density:"compact",type:"info",variant:"tonal"},{default:i(()=>[...e[44]||(e[44]=[f("div",{class:"text-caption"},[f("strong",null,"提示:"),f("ul",{class:"mt-1"},[f("li",null,"日期格式支持: YYYY/MM/DD HH:mm 或 YYYY-MM-DD HH:mm:ss"),f("li",null,"虚拟日期格式: 0000-00-01 (表示第1天), 0000-00-02 (第2天)..."),f("li",null,"如使用虚拟日期,系统会要求您指定起始日期"),f("li",null,"缺省字段将自动填充默认值")])],-1)])]),_:1})]),_:1}),s(T,{class:"pa-4"},{default:i(()=>[s(u,{color:"grey","prepend-icon":"mdi-close",variant:"outlined",onClick:m.closeImportDialog},{default:i(()=>[...e[45]||(e[45]=[l(" 取消 ",-1)])]),_:1},8,["onClick"]),s(k),s(u,{disabled:!t.importJson,loading:t.importing,color:"success","prepend-icon":"mdi-check",variant:"outlined",onClick:m.processImport},{default:i(()=>[...e[46]||(e[46]=[l(" 导入 ",-1)])]),_:1},8,["disabled","loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),s(S,{modelValue:t.datePickerDialog,"onUpdate:modelValue":e[10]||(e[10]=n=>t.datePickerDialog=n),"max-width":"500",persistent:""},{default:i(()=>[s(y,null,{default:i(()=>[s(V,{class:"d-flex align-center primary lighten-1 white--text py-3 px-4"},{default:i(()=>[s(g,{class:"mr-2",color:"white"},{default:i(()=>[...e[47]||(e[47]=[l("mdi-calendar",-1)])]),_:1}),e[48]||(e[48]=l(" 选择起始日期 ",-1))]),_:1}),s(v,{class:"pa-4"},{default:i(()=>[e[49]||(e[49]=f("p",{class:"mb-4 text-body-2"}," 检测到配置中使用了虚拟日期格式 (0000-00-XX),请选择第一天的日期,系统将自动推算其他日期。 ",-1)),s(Y,{modelValue:t.baseDate,"onUpdate:modelValue":e[9]||(e[9]=n=>t.baseDate=n),label:"起始日期","prepend-inner-icon":"mdi-calendar",type:"date",variant:"outlined"},null,8,["modelValue"]),t.virtualDateInfo?(p(),h(N,{key:0,border:"start",class:"mt-2",density:"compact",type:"info",variant:"tonal"},{default:i(()=>[f("div",ne," 检测到 "+x(t.virtualDateInfo.count)+" 个虚拟日期,跨度 "+x(t.virtualDateInfo.span)+" 天 ",1)]),_:1})):D("",!0)]),_:1}),s(T,{class:"pa-4"},{default:i(()=>[s(u,{color:"grey","prepend-icon":"mdi-close",variant:"outlined",onClick:m.cancelDatePicker},{default:i(()=>[...e[50]||(e[50]=[l(" 取消 ",-1)])]),_:1},8,["onClick"]),s(k),s(u,{disabled:!t.baseDate,color:"primary","prepend-icon":"mdi-check",variant:"outlined",onClick:m.confirmDatePicker},{default:i(()=>[...e[51]||(e[51]=[l(" 确认 ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),s(S,{modelValue:t.aiDialog,"onUpdate:modelValue":e[11]||(e[11]=n=>t.aiDialog=n),"max-width":"900",persistent:""},{default:i(()=>[s(y,null,{default:i(()=>[s(V,{class:"d-flex align-center purple lighten-1 white--text py-3 px-4"},{default:i(()=>[s(g,{class:"mr-2",color:"white"},{default:i(()=>[...e[52]||(e[52]=[l("mdi-brain",-1)])]),_:1}),e[54]||(e[54]=l(" AI生成考试配置 ",-1)),s(k),s(u,{color:"white",icon:"mdi-close",variant:"text",onClick:m.closeAIDialog},{default:i(()=>[s(g,null,{default:i(()=>[...e[53]||(e[53]=[l("mdi-close",-1)])]),_:1})]),_:1},8,["onClick"])]),_:1}),s(v,{class:"pa-4"},{default:i(()=>[s(N,{border:"start",class:"mb-4",type:"info",variant:"tonal"},{default:i(()=>[...e[55]||(e[55]=[f("div",{class:"d-flex align-center"},[f("div",null," 复制下方提示词到任意AI工具(如ChatGPT、Claude、Copilot等),描述您的考试安排,AI将生成符合格式的JSON配置。生成后复制JSON内容,通过“导入配置”按钮导入即可。 ")],-1)])]),_:1}),f("div",re,[f("div",le,[e[56]||(e[56]=f("h3",{class:"text-h6"},"提示词模板",-1)),s(u,{color:t.copied?"success":"primary","prepend-icon":t.copied?"mdi-check":"mdi-content-copy",size:"small",variant:"tonal",onClick:m.copyPrompt},{default:i(()=>[l(x(t.copied?"已复制":"复制提示词"),1)]),_:1},8,["color","prepend-icon","onClick"])]),s(y,{class:"pa-4",variant:"outlined"},{default:i(()=>[f("pre",me,x(m.aiPrompt),1)]),_:1})])]),_:1}),s(T,{class:"pa-4"},{default:i(()=>[s(u,{color:"grey","prepend-icon":"mdi-close",variant:"outlined",onClick:m.closeAIDialog},{default:i(()=>[...e[57]||(e[57]=[l(" 关闭 ",-1)])]),_:1},8,["onClick"]),s(k),s(u,{color:"success","prepend-icon":"mdi-import",variant:"outlined",onClick:m.goToImport},{default:i(()=>[...e[58]||(e[58]=[l(" 去导入配置 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})}const Ve=z(Z,[["render",de],["__scopeId","data-v-7ffcce90"]]);export{Ve as default}; +}`,"prepend-inner-icon":"mdi-code-json",rows:"15",variant:"outlined"},null,8,["modelValue","rules"]),s(N,{border:"start",class:"mt-2",density:"compact",type:"info",variant:"tonal"},{default:i(()=>[...e[44]||(e[44]=[f("div",{class:"text-caption"},[f("strong",null,"提示:"),f("ul",{class:"mt-1"},[f("li",null,"日期格式支持: YYYY/MM/DD HH:mm 或 YYYY-MM-DD HH:mm:ss"),f("li",null,"虚拟日期格式: 0000-00-01 (表示第1天), 0000-00-02 (第2天)..."),f("li",null,"如使用虚拟日期,系统会要求您指定起始日期"),f("li",null,"缺省字段将自动填充默认值")])],-1)])]),_:1})]),_:1}),s(T,{class:"pa-4"},{default:i(()=>[s(u,{color:"grey","prepend-icon":"mdi-close",variant:"outlined",onClick:m.closeImportDialog},{default:i(()=>[...e[45]||(e[45]=[l(" 取消 ",-1)])]),_:1},8,["onClick"]),s(k),s(u,{disabled:!t.importJson,loading:t.importing,color:"success","prepend-icon":"mdi-check",variant:"outlined",onClick:m.processImport},{default:i(()=>[...e[46]||(e[46]=[l(" 导入 ",-1)])]),_:1},8,["disabled","loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),s(S,{modelValue:t.datePickerDialog,"onUpdate:modelValue":e[10]||(e[10]=n=>t.datePickerDialog=n),"max-width":"500",persistent:""},{default:i(()=>[s(y,null,{default:i(()=>[s(V,{class:"d-flex align-center primary lighten-1 white--text py-3 px-4"},{default:i(()=>[s(g,{class:"mr-2",color:"white"},{default:i(()=>[...e[47]||(e[47]=[l("mdi-calendar",-1)])]),_:1}),e[48]||(e[48]=l(" 选择起始日期 ",-1))]),_:1}),s(v,{class:"pa-4"},{default:i(()=>[e[49]||(e[49]=f("p",{class:"mb-4 text-body-2"}," 检测到配置中使用了虚拟日期格式 (0000-00-XX),请选择第一天的日期,系统将自动推算其他日期。 ",-1)),s(Y,{modelValue:t.baseDate,"onUpdate:modelValue":e[9]||(e[9]=n=>t.baseDate=n),label:"起始日期","prepend-inner-icon":"mdi-calendar",type:"date",variant:"outlined"},null,8,["modelValue"]),t.virtualDateInfo?(p(),h(N,{key:0,border:"start",class:"mt-2",density:"compact",type:"info",variant:"tonal"},{default:i(()=>[f("div",ne," 检测到 "+x(t.virtualDateInfo.count)+" 个虚拟日期,跨度 "+x(t.virtualDateInfo.span)+" 天 ",1)]),_:1})):D("",!0)]),_:1}),s(T,{class:"pa-4"},{default:i(()=>[s(u,{color:"grey","prepend-icon":"mdi-close",variant:"outlined",onClick:m.cancelDatePicker},{default:i(()=>[...e[50]||(e[50]=[l(" 取消 ",-1)])]),_:1},8,["onClick"]),s(k),s(u,{disabled:!t.baseDate,color:"primary","prepend-icon":"mdi-check",variant:"outlined",onClick:m.confirmDatePicker},{default:i(()=>[...e[51]||(e[51]=[l(" 确认 ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),s(S,{modelValue:t.aiDialog,"onUpdate:modelValue":e[11]||(e[11]=n=>t.aiDialog=n),"max-width":"900",persistent:""},{default:i(()=>[s(y,null,{default:i(()=>[s(V,{class:"d-flex align-center purple lighten-1 white--text py-3 px-4"},{default:i(()=>[s(g,{class:"mr-2",color:"white"},{default:i(()=>[...e[52]||(e[52]=[l("mdi-brain",-1)])]),_:1}),e[54]||(e[54]=l(" AI生成考试配置 ",-1)),s(k),s(u,{color:"white",icon:"mdi-close",variant:"text",onClick:m.closeAIDialog},{default:i(()=>[s(g,null,{default:i(()=>[...e[53]||(e[53]=[l("mdi-close",-1)])]),_:1})]),_:1},8,["onClick"])]),_:1}),s(v,{class:"pa-4"},{default:i(()=>[s(N,{border:"start",class:"mb-4",type:"info",variant:"tonal"},{default:i(()=>[...e[55]||(e[55]=[f("div",{class:"d-flex align-center"},[f("div",null," 复制下方提示词到任意AI工具(如ChatGPT、Claude、Copilot等),描述您的考试安排,AI将生成符合格式的JSON配置。生成后复制JSON内容,通过“导入配置”按钮导入即可。 ")],-1)])]),_:1}),f("div",re,[f("div",le,[e[56]||(e[56]=f("h3",{class:"text-h6"},"提示词模板",-1)),s(u,{color:t.copied?"success":"primary","prepend-icon":t.copied?"mdi-check":"mdi-content-copy",size:"small",variant:"tonal",onClick:m.copyPrompt},{default:i(()=>[l(x(t.copied?"已复制":"复制提示词"),1)]),_:1},8,["color","prepend-icon","onClick"])]),s(y,{class:"pa-4",variant:"outlined"},{default:i(()=>[f("pre",me,x(m.aiPrompt),1)]),_:1})])]),_:1}),s(T,{class:"pa-4"},{default:i(()=>[s(u,{color:"grey","prepend-icon":"mdi-close",variant:"outlined",onClick:m.closeAIDialog},{default:i(()=>[...e[57]||(e[57]=[l(" 关闭 ",-1)])]),_:1},8,["onClick"]),s(k),s(u,{color:"success","prepend-icon":"mdi-import",variant:"outlined",onClick:m.goToImport},{default:i(()=>[...e[58]||(e[58]=[l(" 去导入配置 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})}const Ye=J(Q,[["render",de],["__scopeId","data-v-7ffcce90"]]);export{Ye as default}; diff --git a/assets/index-BBzZrCva.js b/assets/index-BBzZrCva.js deleted file mode 100644 index f5c6313..0000000 --- a/assets/index-BBzZrCva.js +++ /dev/null @@ -1 +0,0 @@ -import{d as n}from"./dataProvider-B62Oym03.js";import{_ as N,o,C as f,c as s,w as i,v as d,y as r,l as h,q as k,j as g,z as V,P as C,F as v,G as x,Q as I,a0 as b,A as y,N as A,O as L,t as w,D as _,H as B,M as E,x as F}from"./index-CHEqx3ZK.js";import{b as T,c as S}from"./VAppBarTitle-P_aLwYn3.js";import{V as D}from"./VTextField-BmfQXFFg.js";import{V as M}from"./VContainer-x94CJ7kH.js";import"./serverRotation-D840vVDL.js";const K={data(){return{lists:[],newListName:"",studentList:[],deleteDialog:{show:!1,text:"",listId:null},editingListId:null,editListName:""}},async created(){await Promise.all([this.loadLists(),this.loadStudentList()])},methods:{async loadLists(){try{let e=await n.loadData("classworks-list-info");(!e||!Array.isArray(e))&&(e=[],await n.saveData("classworks-list-info",e)),this.lists=e}catch(e){console.error("Failed to load lists",e),this.lists=[],await n.saveData("classworks-list-info",[])}},async loadStudentList(){try{const e=await n.loadData("classworks-list-main");e&&Array.isArray(e)?this.studentList=e:this.studentList=[]}catch(e){console.error("Failed to load student list",e),this.studentList=[]}},async createNewList(){if(!this.newListName)return;const e=Date.now().toString(),t={id:e,name:this.newListName};this.lists.push(t),await n.saveData("classworks-list-info",this.lists);const u=[];this.studentList&&this.studentList.length>0&&this.studentList.forEach(p=>{u.push({id:p.id||Date.now()+Math.floor(Math.random()*1e3),name:p.name,completed:!1})}),await n.saveData(`classworks-list-${e}`,u),this.newListName="",this.$router.push(`/list/${e}`)},startEditing(e){const t=this.lists.find(u=>u.id===e);t&&(this.editingListId=e,this.editListName=t.name)},cancelEditing(){this.editingListId=null,this.editListName=""},async saveListName(){if(!(!this.editListName.trim()||!this.editingListId))try{const e=this.lists.findIndex(t=>t.id===this.editingListId);e!==-1&&(this.lists[e].name=this.editListName.trim(),await n.saveData("classworks-list-info",this.lists)),this.editingListId=null,this.editListName=""}catch(e){console.error("Failed to update list name",e)}},confirmDeleteList(e){const t=this.lists.find(u=>u.id===e);t&&(this.deleteDialog={show:!0,text:`确定要删除列表 "${t.name}" 吗?`,listId:e})},confirmDelete(){this.deleteDialog.listId&&this.deleteList(this.deleteDialog.listId),this.deleteDialog.show=!1},async deleteList(e){this.lists=this.lists.filter(t=>t.id!==e),await n.saveData("classworks-list-info",this.lists)}}},P={key:0},U={key:1,class:"d-flex align-center w-100"},j={key:0};function q(e,t,u,p,a,m){return o(),f(v,null,[s(S,{elevation:"1"},{prepend:i(()=>[s(r,{icon:"mdi-arrow-left",variant:"text",onClick:t[0]||(t[0]=l=>e.$router.push("/"))})]),default:i(()=>[s(T,{class:"text-h6"},{default:i(()=>[...t[5]||(t[5]=[d("列表",-1)])]),_:1})]),_:1}),s(M,null,{default:i(()=>[s(h,{border:"",class:"mb-5",rounded:"xl"},{default:i(()=>[s(k,null,{default:i(()=>[...t[6]||(t[6]=[d("现有列表",-1)])]),_:1}),a.lists.length===0?(o(),g(V,{key:0},{default:i(()=>[...t[7]||(t[7]=[d(" 暂无列表,请创建新列表 ",-1)])]),_:1})):(o(),g(C,{key:1},{default:i(()=>[(o(!0),f(v,null,x(a.lists,l=>(o(),g(I,{key:l.id,active:l.id===a.editingListId,to:l.id!==a.editingListId?`/list/${l.id}`:void 0},{append:i(()=>[l.id!==a.editingListId?(o(),f("div",j,[s(r,{border:"",class:"mr-2",icon:"",onClick:L(c=>m.startEditing(l.id),["stop","prevent"])},{default:i(()=>[s(w,null,{default:i(()=>[...t[10]||(t[10]=[d("mdi-pencil",-1)])]),_:1})]),_:1},8,["onClick"]),s(r,{border:"",icon:"",onClick:L(c=>m.confirmDeleteList(l.id),["stop","prevent"])},{default:i(()=>[s(w,null,{default:i(()=>[...t[11]||(t[11]=[d("mdi-delete",-1)])]),_:1})]),_:1},8,["onClick"])])):_("",!0)]),default:i(()=>[l.id!==a.editingListId?(o(),f("div",P,[s(b,null,{default:i(()=>[d(y(l.name),1)]),_:2},1024)])):(o(),f("div",U,[s(D,{modelValue:a.editListName,"onUpdate:modelValue":t[1]||(t[1]=c=>a.editListName=c),autofocus:"",class:"mr-2",density:"compact","hide-details":"",label:"列表名称",onKeyup:A(m.saveListName,["enter"])},null,8,["modelValue","onKeyup"]),s(r,{border:"",class:"mr-2",color:"primary",icon:"",onClick:L(m.saveListName,["stop","prevent"])},{default:i(()=>[s(w,null,{default:i(()=>[...t[8]||(t[8]=[d("mdi-check",-1)])]),_:1})]),_:1},8,["onClick"]),s(r,{border:"",color:"error",icon:"",onClick:L(m.cancelEditing,["stop","prevent"])},{default:i(()=>[s(w,null,{default:i(()=>[...t[9]||(t[9]=[d("mdi-close",-1)])]),_:1})]),_:1},8,["onClick"])]))]),_:2},1032,["active","to"]))),128))]),_:1}))]),_:1}),s(h,{border:"",class:"mb-5",rounded:"xl"},{default:i(()=>[s(k,null,{default:i(()=>[...t[12]||(t[12]=[d("创建新列表",-1)])]),_:1}),s(V,null,{default:i(()=>[s(D,{modelValue:a.newListName,"onUpdate:modelValue":t[2]||(t[2]=l=>a.newListName=l),rules:[l=>!!l||"名称不能为空"],label:"列表名称"},null,8,["modelValue","rules"]),s(r,{disabled:!a.newListName,color:"primary",onClick:m.createNewList},{default:i(()=>[...t[13]||(t[13]=[d(" 创建列表 ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1}),s(B,{modelValue:a.deleteDialog.show,"onUpdate:modelValue":t[4]||(t[4]=l=>a.deleteDialog.show=l),"max-width":"500"},{default:i(()=>[s(h,{border:""},{default:i(()=>[s(k,null,{default:i(()=>[...t[14]||(t[14]=[d("删除列表",-1)])]),_:1}),s(V,null,{default:i(()=>[d(y(a.deleteDialog.text),1)]),_:1}),s(E,null,{default:i(()=>[s(F),s(r,{color:"primary",variant:"text",onClick:t[3]||(t[3]=l=>a.deleteDialog.show=!1)},{default:i(()=>[...t[15]||(t[15]=[d(" 取消 ",-1)])]),_:1}),s(r,{color:"error",variant:"text",onClick:m.confirmDelete},{default:i(()=>[...t[16]||(t[16]=[d(" 确认删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})],64)}const R=N(K,[["render",q]]);export{R as default}; diff --git a/assets/index-Bqe1gKo7.js b/assets/index-Bqe1gKo7.js new file mode 100644 index 0000000..1f8c5e2 --- /dev/null +++ b/assets/index-Bqe1gKo7.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./default-Jxvz9VCH.js","./vendor-vuetify-ChAgIwn2.js","./vendor-vue-H0jQBZ7T.js","./default-CmdaPMSp.css","./index-DQBDs7lF.js","./dataProvider-Dty8Zh7m.js","./vendor-utils-DDRLRfsI.js","./serverRotation-CLP7smnN.js","./VChip-CPVASmWt.js","./VChip-Dmz_1Lnv.css","./VContainer-BHAiZEWc.js","./VContainer-B1KSavhG.css","./socketClient-DM3fpE4o.js","./vendor-socket-CyTcV1HU.js","./deviceEvents-BIvMKD-7.js","./VAppBarTitle-CKv90Z6x.js","./VAppBarTitle-CczdD-Q2.css","./VRow-C2iyFaHv.js","./VRow-D2ArqUC2.css","./VAlert-b5nBlHgx.js","./VAlert-D_OX1cfW.css","./VTooltip-UMclv3tZ.js","./VTooltip-DNuxJ6UK.css","./index-BqspaPWT.css","./404-CFrnywFw.js","./authorize-B3-irupf.js","./CacheManagement-qEZ3gyiz.js","./VExpansionPanels-C1X8gcBr.js","./VExpansionPanels-kEj4ZJQK.css","./VSkeletonLoader-D5uB8vy5.js","./VSkeletonLoader-C11ZEozu.css","./cses2wakeup-Bgb2szvb.js","./VTabsWindowItem-D3P2Hofy.js","./VPagination-Dj4se6cS.js","./VPagination-BF2MZmld.css","./VSelect-DC96rbwz.js","./autofocus-Dh4QPNon.js","./autofocus-D1VSzmed.css","./VTextField-B7edjjhw.js","./VSheet-DHN9xqm_.js","./VSheet-DxsDksIw.css","./VCheckboxBtn-nWqvYDIO.js","./VSwitch-C77LDPed.js","./VSwitch-C87GkfUP.css","./VSelect-DHZViySU.css","./VTabsWindowItem-BWevsoWc.css","./VTextarea-DiXZJMiq.js","./VTextarea-_xVwaw_z.css","./VBadge-B7gMUs96.js","./VBadge-BGqjJnM0.css","./VCheckbox-DHAqPlv1.js","./VCheckbox-ZL-u1kGB.css","./cses2wakeup-BDtPgT2c.css","./debug-1sG7GG2I.js","./visitorId-CSigcYRT.js","./debug-CbS14biG.css","./debug-init-BJiHfLeM.js","./VForm-CLdG1sH8.js","./debug-socket-TPDi_m6Y.js","./_id_-DZ6mw6z2.js","./ExamConfigEditor-sH7Cpbyw.js","./VAutocomplete-Buofo9XU.js","./VAutocomplete-Ygy_KjMW.css","./VDatePicker-CyfBxTLk.js","./VDatePicker-X4Ryb5EN.css","./ExamConfigEditor-DV8lOLSp.css","./examschedule-TpcQJRWX.js","./examschedule-CU_Gxm4i.css","./index-CWRRKaNU.js","./_id_-BqyJqePz.js","./settings-CJNzJrPW.js","./MessageLog-Bk_BSM_5.js","./MessageLog-BGkFwivK.css","./soundList-BZnE47k0.js","./VCombobox-CmqRIcRE.js","./VCombobox-r6cc1Iy_.css","./settings-cNI4NbxC.css","./socket-debugger-56kW4wD8.js","./socket-debugger-ykBk0O32.css","./sentry-BmncddYq.js","./vendor-sentry-lCQUUJMT.js"])))=>i.map(i=>d[i]); +import{c as yi,g as We,p as T,d as yn,i as Wn,a as hi,b as bi,e as Si,f as G,h as ye,j as $t,u as J,m as fe,k as ee,l as xe,n as Pe,o as Ye,w as hn,q as pi,r as wi,s as B,t as ha,v as ki,x as Ci,I as le,S as bn,y as ba,P as Vt,z as Ze,A as Dt,B as en,C as ht,D as qn,E as Ae,F as tn,G as _i,H as xi,J as jt,K as Sa,L as Lt,M as Ii,N as jn,O as Hn,Q as Ht,R as Gt,T as pa,U as Gn,V as Pi,W as Ai,X as Un,Y as Ei,Z as Vi,_ as Li,$ as xt,a0 as Ti,a1 as Oi,a2 as wa,a3 as Bi,a4 as Me,a5 as at,a6 as nn,a7 as Ri,a8 as Ni,a9 as $i,aa as Sn,ab as Kn,ac as Xn,ad as Di,ae as Mi,af as Fi,ag as ft,ah as an,ai as ke,aj as ka,ak as zi,al as Wi,am as qi}from"./vendor-vuetify-ChAgIwn2.js";import{J as ji,K as Hi,L as Gi,e as _,t as k,M as sn,l as se,k as P,n as H,F as Be,j as b,N as Q,E as pn,p as qe,d as Ee,A as je,o as W,D as it,O as Ui,r as vt,u as Ki,m as Y,y as Xi,T as Yi,s as z,q as ve,b as q,w as Re,P as Ne,Q as Ca,I as ce,R as ze,S as Ce,v as _a,x as ae,B as xa,U as wn,h as kn,V as Cn,W as Ji,X as Ie,Y as Fe,Z as ie,f as Qi,_ as Ia,$ as ln,a0 as _n,a1 as Ct,a2 as Zi,a3 as es,a4 as ts}from"./vendor-vue-H0jQBZ7T.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))a(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const l of s.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&a(l)}).observe(document,{childList:!0,subtree:!0});function n(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function a(i){if(i.ep)return;i.ep=!0;const s=n(i);fetch(i.href,s)}})();const ns="modulepreload",as=function(e,t){return new URL(e,t).href},Yn={},ne=function(t,n,a){let i=Promise.resolve();if(n&&n.length>0){const l=document.getElementsByTagName("link"),o=document.querySelector("meta[property=csp-nonce]"),r=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));i=Promise.allSettled(n.map(u=>{if(u=as(u,a),u in Yn)return;Yn[u]=!0;const c=u.endsWith(".css"),m=c?'[rel="stylesheet"]':"";if(!!a)for(let y=l.length-1;y>=0;y--){const f=l[y];if(f.href===u&&(!c||f.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${u}"]${m}`))return;const d=document.createElement("link");if(d.rel=c?"stylesheet":ns,c||(d.as="script"),d.crossOrigin="",d.href=u,r&&d.setAttribute("nonce",r),document.head.appendChild(d),c)return new Promise((y,f)=>{d.addEventListener("load",y),d.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${u}`)))})}))}function s(l){const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=l,window.dispatchEvent(o),!o.defaultPrevented)throw l}return i.then(l=>{for(const o of l||[])o.status==="rejected"&&s(o.reason);return t().catch(s)})},is=yi({theme:{defaultTheme:"dark"}}),ss=ji(),ls=e=>{const t={};Object.entries(Object.assign({"/src/layouts/default.vue":()=>ne(()=>import("./default-Jxvz9VCH.js"),__vite__mapDeps([0,1,2,3]),import.meta.url)})).forEach(([i,s])=>{let l=i.replace("/src/layouts/","").replace(".vue","");t[l]=s});function a(i,s=!0){return i.map(l=>{var o,r,u,c,m,v;if(((o=l.children)==null?void 0:o.length)>0&&(l.children=a(l.children,!1)),s){if(!l.component&&((r=l.children)==null?void 0:r.find(y=>{var f;return(y.path===""||y.path==="/")&&((f=y.meta)==null?void 0:f.isLayout)})))return l;if(((u=l.meta)==null?void 0:u.layout)!==!1)return{path:l.path,component:t[((c=l.meta)==null?void 0:c.layout)||"default"],children:l.path==="/"?[l]:[{...l,path:""}],meta:{isLayout:!0}}}return(m=l.meta)!=null&&m.layout?{path:l.path,component:t[(v=l.meta)==null?void 0:v.layout],children:[{...l,path:""}],meta:{isLayout:!0}}:l})}return a(e)},os=[{path:"/",name:"/",component:()=>ne(()=>import("./index-DQBDs7lF.js").then(e=>e.i),__vite__mapDeps([4,2,5,6,7,8,1,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]),import.meta.url)},{path:"/404",name:"/404",component:()=>ne(()=>import("./404-CFrnywFw.js"),__vite__mapDeps([24,17,1,2,18,10,11]),import.meta.url)},{path:"/authorize",name:"/authorize",component:()=>ne(()=>import("./authorize-B3-irupf.js"),__vite__mapDeps([25,2,17,1,18,10,11]),import.meta.url)},{path:"/CacheManagement",name:"/CacheManagement",component:()=>ne(()=>import("./CacheManagement-qEZ3gyiz.js"),__vite__mapDeps([26,19,1,2,20,27,28,8,9,29,30,17,18,10,11]),import.meta.url)},{path:"/cses2wakeup",name:"/cses2wakeup",component:()=>ne(()=>import("./cses2wakeup-Bgb2szvb.js"),__vite__mapDeps([31,17,1,2,18,19,20,32,33,34,35,36,37,38,39,40,41,42,43,8,9,44,45,21,22,46,47,48,49,29,30,50,51,10,11,52]),import.meta.url)},{path:"/debug",name:"/debug",component:()=>ne(()=>import("./debug-1sG7GG2I.js"),__vite__mapDeps([53,54,1,2,10,11,55]),import.meta.url)},{path:"/debug-init",name:"/debug-init",component:()=>ne(()=>import("./debug-init-BJiHfLeM.js"),__vite__mapDeps([56,5,6,7,17,1,2,18,57,36,37,38,10,11]),import.meta.url)},{path:"/debug-socket",name:"/debug-socket",component:()=>ne(()=>import("./debug-socket-TPDi_m6Y.js"),__vite__mapDeps([58,12,13,7,14,17,1,2,18,8,9,38,36,37,46,47,10,11]),import.meta.url)},{path:"/exam-editor",children:[{path:":id",name:"/exam-editor/[id]",component:()=>ne(()=>import("./_id_-DZ6mw6z2.js"),__vite__mapDeps([59,60,5,6,7,2,19,1,20,29,30,21,22,8,9,17,18,38,36,37,46,47,42,43,61,35,39,40,41,44,62,63,48,49,64,65,15,16,10,11]),import.meta.url)}]},{path:"/examschedule",name:"/examschedule",component:()=>ne(()=>import("./examschedule-TpcQJRWX.js"),__vite__mapDeps([66,60,5,6,7,2,19,1,20,29,30,21,22,8,9,17,18,38,36,37,46,47,42,43,61,35,39,40,41,44,62,63,48,49,64,65,10,11,67]),import.meta.url)},{path:"/list",children:[{path:"",name:"/list/",component:()=>ne(()=>import("./index-CWRRKaNU.js"),__vite__mapDeps([68,5,6,7,2,15,1,16,38,36,37,10,11]),import.meta.url)},{path:":id",name:"/list/[id]",component:()=>ne(()=>import("./_id_-BqyJqePz.js"),__vite__mapDeps([69,5,6,7,2,15,1,16,38,36,37,41,42,43,8,9,46,47,10,11]),import.meta.url)}]},{path:"/settings",name:"/settings",component:()=>ne(()=>import("./settings-CJNzJrPW.js"),__vite__mapDeps([70,71,15,1,2,16,72,8,9,42,36,37,43,35,38,39,40,41,44,5,6,7,19,20,17,18,10,11,50,51,46,47,73,57,27,28,32,33,34,45,74,75,54,76]),import.meta.url)},{path:"/socket-debugger",name:"/socket-debugger",component:()=>ne(()=>import("./socket-debugger-56kW4wD8.js"),__vite__mapDeps([77,12,13,7,17,1,2,18,8,9,38,36,37,46,47,42,43,19,20,10,11,78]),import.meta.url)}],xn=Hi({history:Gi("./"),routes:ls(os)});xn.onError((e,t)=>{var n,a;(a=(n=e==null?void 0:e.message)==null?void 0:n.includes)!=null&&a.call(n,"Failed to fetch dynamically imported module")?localStorage.getItem("vuetify:dynamic-reload")?console.error("Dynamic import error, reloading page did not fix it",e):(console.log("Reloading page to fix dynamic import error"),localStorage.setItem("vuetify:dynamic-reload","true"),location.assign(t.fullPath)):console.error(e)});xn.isReady().then(()=>{localStorage.removeItem("vuetify:dynamic-reload")});function rs(e){e.use(is).use(xn).use(ss)}async function us(){return typeof Notification<"u"&&Notification.requestPermission?await Notification.requestPermission()==="granted"?(console.log("通知权限已授予"),!0):(console.warn("通知权限被拒绝"),!1):(console.warn("浏览器不支持通知权限请求"),!1)}async function cs(){var e;try{return(e=navigator.storage)!=null&&e.persist?await navigator.storage.persist():!1}catch(t){return console.warn("请求持久性存储失败:",t),!1}}const Ut="Classworks_settings",Jn={"server.domain":"https://kv-service.houlang.cloud","server.siteKey":""},Oe={"device.uuid":{type:"string",default:"00000000-0000-4000-8000-000000000000",description:"设备唯一标识符",icon:"mdi-identifier"},"storage.persistOnLoad":{type:"boolean",default:!0,description:"是否在页面加载时自动请求持久性存储",icon:"mdi-database-sync"},"display.emptySubjectDisplay":{type:"string",default:"card",validate:e=>["card","button"].includes(e),description:"空科目的显示方式",icon:"mdi-card-outline"},"timeCard.enabled":{type:"boolean",default:!0,description:"启用时间卡片",icon:"mdi-clock-outline"},"hitokoto.enabled":{type:"boolean",default:!0,description:"启用一言",icon:"mdi-comment-quote"},"hitokoto.refreshInterval":{type:"number",default:300,description:"刷新时间(秒,0为不自动刷新)",icon:"mdi-timer-refresh"},"display.dynamicSort":{type:"boolean",default:!0,description:"是否启用动态排序",icon:"mdi-sort-variant"},"display.showRandomButton":{type:"boolean",default:!1,description:"是否显示随机点人按钮",icon:"mdi-shuffle-variant"},"display.showFullscreenButton":{type:"boolean",default:!0,description:"是否显示全屏按钮",icon:"mdi-fullscreen"},"display.cardHoverEffect":{type:"boolean",default:!0,description:"是否启用卡片悬浮效果",icon:"mdi-gesture-tap"},"display.enhancedTouchMode":{type:"boolean",default:!0,description:"是否启用增强触摸模式",icon:"mdi-gesture-tap-button"},"display.showAntiScreenBurnCard":{type:"boolean",default:!1,description:"是否显示防烧屏忽悠卡片",icon:"mdi-monitor-shimmer"},"display.showListCard":{type:"boolean",default:!0,description:"是否显示列表卡片",icon:"mdi-list-box"},"display.showExamScheduleButton":{type:"boolean",default:!0,description:"是否显示考试看板",icon:"mdi-calendar-check"},"display.showQuickTools":{type:"boolean",default:!0,description:"是否显示快捷键盘",icon:"mdi-dialpad"},"display.forceDesktopMode":{type:"boolean",default:!1,description:"强制使用一体机UI模式",icon:"mdi-monitor"},"display.lateStudentsArePresent":{type:"boolean",default:!1,description:"将迟到人数算入出勤人数",icon:"mdi-clock-fast"},"server.domain":{type:"string",default:"",validate:e=>{if(!e)return!0;try{return new URL(e),!0}catch(t){return console.error("域名格式无效:",t),!1}},description:"后端服务器域名",icon:"mdi-web"},"server.classNumber":{type:"string",default:"高三八班",validate:e=>/.*/.test(e),description:"班级编号",icon:"mdi-account-group"},"server.siteKey":{type:"string",default:"",description:"网站令牌",icon:"mdi-key-chain"},"server.kvToken":{type:"string",default:"",description:"KV授权令牌",icon:"mdi-shield-key"},"server.authDomain":{type:"string",default:"https://kv.houlang.cloud",description:"授权服务器域名",icon:"mdi-shield-account",validate:e=>{if(!e)return!0;try{return new URL(e),!0}catch(t){return console.error("授权域名格式无效:",t),!1}}},"server.provider":{type:"string",default:"classworkscloud",validate:e=>["kv-local","kv-server","classworkscloud"].includes(e),description:"数据提供者",icon:"mdi-database"},"refresh.auto":{type:"boolean",default:!1,description:"是否启用自动刷新",icon:"mdi-refresh-auto"},"refresh.interval":{type:"number",default:300,validate:e=>e>=10&&e<=3600,description:"自动刷新间隔(秒)",icon:"mdi-timer-outline"},"font.size":{type:"number",default:28,validate:e=>e>=16&&e<=100,description:"字体大小",icon:"mdi-format-size"},"edit.autoSave":{type:"boolean",default:!0,description:"是否启用自动保存",icon:"mdi-content-save-outline"},"edit.blockNonTodayAutoSave":{type:"boolean",default:!0,description:"禁止自动保存非当天数据",icon:"mdi-calendar-lock"},"edit.refreshBeforeEdit":{type:"boolean",default:!0,description:"编辑前是否自动刷新",icon:"mdi-refresh"},"edit.confirmNonTodaySave":{type:"boolean",default:!0,description:"保存非当天数据需确认",icon:"mdi-calendar-alert"},"edit.blockPastDataEdit":{type:"boolean",default:!1,description:"禁止编辑过往数据",icon:"mdi-lock-clock"},"edit.autoSavePromptText":{type:"string",default:"喵?喵呜!",description:"自动保存模式提示文本",icon:"mdi-text-box-outline"},"edit.manualSavePromptText":{type:"string",default:"写完后点击上传谢谢喵",description:"手动保存模式提示文本",icon:"mdi-text-box-outline"},"developer.enabled":{type:"boolean",default:!1,description:"是否启用开发者选项",icon:"mdi-developer-board"},"developer.showDebugConfig":{type:"boolean",default:!1,description:"是否显示调试配置",icon:"mdi-bug-outline"},"developer.disableMessageLog":{type:"boolean",default:!1,description:"禁用消息日志记录",requireDeveloper:!0,icon:"mdi-message-off-outline"},"message.showSidebar":{type:"boolean",default:!0,description:"是否显示消息记录侧栏",requireDeveloper:!0,icon:"mdi-message-text-outline"},"message.maxActiveMessages":{type:"number",default:5,validate:e=>e>=1&&e<=10,description:"同时显示的最大消息数量",requireDeveloper:!0,icon:"mdi-message-badge-outline"},"message.timeout":{type:"number",default:5e3,validate:e=>e>=1e3&&e<=3e4,description:"消息自动关闭时间(毫秒)",requireDeveloper:!0,icon:"mdi-timer-sand"},"message.saveHistory":{type:"boolean",default:!0,description:"是否保存消息历史记录",requireDeveloper:!0,icon:"mdi-history"},"theme.mode":{type:"string",default:"dark",validate:e=>["light","dark"].includes(e),description:"主题模式",icon:"mdi-theme-light-dark"},"notification.singleSound":{type:"string",default:"Teams 默认.mp3",description:"单次通知铃声",icon:"mdi-bell-ring"},"notification.urgentSound":{type:"string",default:"Teams 默认通话铃.mp3",description:"持续通知铃声",icon:"mdi-bell-alert"},"randomPicker.enabled":{type:"boolean",default:!0,description:"是否启用随机点名功能",icon:"mdi-account-question"},"randomPicker.animation":{type:"boolean",default:!0,description:"是否启用随机点名动画效果",icon:"mdi-animation-play"},"randomPicker.defaultCount":{type:"number",default:1,validate:e=>e>=1&&e,description:"默认抽取人数",icon:"mdi-counter"},"randomPicker.excludeAbsent":{type:"boolean",default:!0,description:"是否排除请假学生",icon:"mdi-account-off"},"randomPicker.excludeLate":{type:"boolean",default:!1,description:"是否排除迟到学生",icon:"mdi-clock-alert"},"randomPicker.excludeExcluded":{type:"boolean",default:!0,description:"是否排除不参与学生",icon:"mdi-account-cancel"},"randomPicker.mode":{type:"string",default:"name",validate:e=>["name","number"].includes(e),description:"随机点名模式",icon:"mdi-format-list-numbered"},"randomPicker.maxNumber":{type:"number",default:60,validate:e=>e>=1&&e,description:"学号模式最大值",icon:"mdi-numeric"},"randomPicker.minNumber":{type:"number",default:1,validate:e=>e>=1&&e,description:"学号模式最小值",icon:"mdi-numeric-negative-1"},"pwa.hideInstallCard":{type:"boolean",default:!1,description:"不显示PWA安装卡片",icon:"mdi-download-off"}};class ds{constructor(){this.settingsCache=null,this.isInitialized=!1}init(){this.isInitialized||(this.loadSettings(),this.isInitialized=!0)}loadSettings(){this.settingsCache={};try{const t=typeof localStorage<"u"?localStorage.getItem(Ut):null;t&&(this.settingsCache=JSON.parse(t))}catch(t){console.error("加载设置失败:",t)}for(const[t,n]of Object.entries(Oe))t in this.settingsCache||(this.settingsCache[t]=n.default);return this.settingsCache}saveSettings(){if(!(typeof localStorage>"u"))try{localStorage.setItem(Ut,JSON.stringify(this.settingsCache))}catch(t){console.error("保存设置失败:",t)}}getSetting(t){this.isInitialized||this.init();const n=Oe[t];if(!n)return console.warn(`未定义的设置项: ${t}`),null;if(n.requireDeveloper&&!this.settingsCache["developer.enabled"])return n.default;if(this.settingsCache["server.provider"]==="classworkscloud"&&Jn[t]!==void 0)return Jn[t];const a=this.settingsCache[t];return a!==void 0?a:n.default}setSetting(t,n){this.isInitialized||this.init();const a=Oe[t];if(!a)return console.warn(`未定义的设置项: ${t}`),!1;if(a.requireDeveloper&&!this.settingsCache["developer.enabled"])return console.warn(`设置项 ${t} 需要启用开发者选项`),!1;try{const i=this.settingsCache[t];if(typeof n!==a.type&&(n=a.type==="boolean"?!!n:a.type==="number"?Number(n):String(n)),a.validate&&!a.validate(n))return console.warn(`设置项 ${t} 的值无效`),!1;this.settingsCache[t]=n,this.saveSettings(),this.logSettingsChange(t,i,n);const s=a.legacyKey;return s&&typeof localStorage<"u"&&localStorage.setItem(s,n.toString()),!0}catch(i){return console.error(`设置配置项 ${t} 失败:`,i),!1}}logSettingsChange(t,n,a){this.settingsCache["developer.enabled"]&&this.settingsCache["developer.showDebugConfig"]&&console.log(`[Settings] ${t}:`,{old:n,new:a,time:new Date().toLocaleTimeString()})}resetSetting(t){this.isInitialized||this.init();const n=Oe[t];if(!n){console.warn(`未定义的设置项: ${t}`);return}this.settingsCache[t]=n.default,this.saveSettings()}resetAllSettings(){this.settingsCache={};for(const[t,n]of Object.entries(Oe))this.settingsCache[t]=n.default;this.saveSettings()}watchSettings(t){if(typeof window>"u")return()=>{};const n=a=>{a.key===Ut&&(this.settingsCache=JSON.parse(a.newValue),t(this.settingsCache))};return window.addEventListener("storage",n),()=>window.removeEventListener("storage",n)}getSettingDefinition(t){return Oe[t]||null}exportSettingsAsKeyValue(){this.isInitialized||this.init();const t={};for(const n in Oe)t[n]=this.getSetting(n);return t}}const Ve=new ds;typeof window<"u"&&Ve.init();const In=e=>Ve.getSetting(e),fs=(e,t)=>Ve.setSetting(e,t),vs=e=>Ve.resetSetting(e),ms=()=>Ve.resetAllSettings(),gs=e=>Ve.watchSettings(e),ys=e=>Ve.getSettingDefinition(e),hs=()=>Ve.exportSettingsAsKeyValue(),Mo=Object.freeze(Object.defineProperty({__proto__:null,SettingsManager:Ve,exportSettingsAsKeyValue:hs,getSetting:In,getSettingDefinition:ys,requestNotificationPermission:us,requestPersistentStorage:cs,resetAllSettings:ms,resetSetting:vs,setSetting:fs,settingsDefinitions:Oe,watchSettings:gs},Symbol.toStringTag,{value:"Module"}));class bs{constructor(){this.logs=[]}async addLog(t){return this.logs.push(t),this.logs.length>100&&this.logs.shift(),!0}async getLogs(t=20){return this.logs.slice(-t).reverse()}}const It=new bs,we=[];let Pt=null,pe=null;const ct={SUCCESS:"success",ERROR:"error",INFO:"info",WARNING:"warning"},Ss={timeout:3e3,showSnackbar:!0,addToLog:!0};async function _t(e,t,n="",a={}){const i={...Ss,...a},s={id:Date.now()+Math.random(),type:e,title:t,content:n.substring(0,500),timestamp:new Date};if(i.addToLog)try{for(await It.addLog(s),we.unshift(s);we.length>In("message.maxActiveMessages");)we.pop();pe==null||pe(we)}catch(l){console.error("保存日志失败:",l)}return i.showSnackbar&&(Pt==null||Pt(s)),s}function ps(e,t){let n=null;return function(...a){n&&clearTimeout(n),n=setTimeout(()=>{e.apply(this,a)},t)}}const Ke={install:e=>{e.config.globalProperties.$message={success:(t,n,a)=>_t(ct.SUCCESS,t,n,a),error:(t,n,a)=>_t(ct.ERROR,t,n,a),info:(t,n,a)=>_t(ct.INFO,t,n,a),warning:(t,n,a)=>_t(ct.WARNING,t,n,a)}},onSnackbar:e=>{Pt=e},onLog:e=>{pe=e},getMessages:async()=>{try{return await It.getLogs()}catch(e){return console.error("获取日志失败:",e),[...we]}},clearMessages:async()=>{try{await It.clearLogs(),we.length=0,pe==null||pe(we)}catch(e){console.error("清除日志失败:",e)}},MessageType:ct,markAsRead:()=>{},deleteMessage:async e=>{try{await It.deleteLog(e);const t=we.findIndex(n=>n.id===e);t!==-1&&we.splice(t,1),pe==null||pe(we)}catch(t){console.error("删除消息失败:",t)}},getUnreadCount:()=>0,debounce:ps},Pa=(e,t)=>{const n=e.__vccOpts||e;for(const[a,i]of t)n[a]=i;return n},st=T({border:[Boolean,Number,String]},"border");function lt(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:We();return{borderClasses:_(()=>{const a=e.border;return a===!0||a===""?`${t}--border`:typeof a=="string"||a===0?String(a).split(" ").map(i=>`border-${i}`):[]})}}const ws=[null,"default","comfortable","compact"],He=T({density:{type:String,default:"default",validator:e=>ws.includes(e)}},"density");function ot(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:We();return{densityClasses:k(()=>`${t}--density-${e.density}`)}}const bt=T({elevation:{type:[Number,String],validator(e){const t=parseInt(e);return!isNaN(t)&&t>=0&&t<=24}}},"elevation");function St(e){return{elevationClasses:k(()=>{const n=sn(e)?e.value:e.elevation;return n==null?[]:[`elevation-${n}`]})}}const Le=T({rounded:{type:[Boolean,Number,String],default:void 0},tile:Boolean},"rounded");function Te(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:We();return{roundedClasses:_(()=>{const a=sn(e)?e.value:e.rounded,i=sn(e)?!1:e.tile,s=[];if(i||a===!1)s.push("rounded-0");else if(a===!0||a==="")s.push(`${t}--rounded`);else if(typeof a=="string"||a===0)for(const l of String(a).split(" "))s.push(`rounded-${l}`);return s})}}const oe=T({tag:{type:[String,Object,Function],default:"div"}},"tag");function Pn(e){return yn(()=>{const{class:t,style:n}=Cs(e);return{colorClasses:t,colorStyles:n}})}function et(e){const{colorClasses:t,colorStyles:n}=Pn(()=>({text:se(e)}));return{textColorClasses:t,textColorStyles:n}}function Je(e){const{colorClasses:t,colorStyles:n}=Pn(()=>({background:se(e)}));return{backgroundColorClasses:t,backgroundColorStyles:n}}function ks(e){return{text:typeof e.text=="string"?e.text.replace(/^text-/,""):e.text,background:typeof e.background=="string"?e.background.replace(/^bg-/,""):e.background}}function Cs(e){const t=ks(se(e)),n=[],a={};if(t.background)if(Wn(t.background)){if(a.backgroundColor=t.background,!t.text&&hi(t.background)){const i=bi(t.background);if(i.a==null||i.a===1){const s=Si(i);a.color=s,a.caretColor=s}}}else n.push(`bg-${t.background}`);return t.text&&(Wn(t.text)?(a.color=t.text,a.caretColor=t.text):n.push(`text-${t.text}`)),{class:n,style:a}}const _s=["elevated","flat","tonal","outlined","text","plain"];function pt(e,t){return P(Be,null,[e&&P("span",{key:"overlay",class:H(`${t}__overlay`)},null),P("span",{key:"underlay",class:H(`${t}__underlay`)},null)])}const Ge=T({color:String,variant:{type:String,default:"elevated",validator:e=>_s.includes(e)}},"variant");function wt(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:We();const n=k(()=>{const{variant:s}=se(e);return`${t}--variant-${s}`}),{colorClasses:a,colorStyles:i}=Pn(()=>{const{variant:s,color:l}=se(e);return{[["elevated","flat"].includes(s)?"background":"text"]:l}});return{colorClasses:a,colorStyles:i,variantClasses:n}}const Aa=T({baseColor:String,divided:Boolean,direction:{type:String,default:"horizontal"},...st(),...ee(),...He(),...bt(),...Le(),...oe(),...fe(),...Ge()},"VBtnGroup"),Qn=G()({name:"VBtnGroup",props:Aa(),setup(e,t){let{slots:n}=t;const{themeClasses:a}=ye(e),{densityClasses:i}=ot(e),{borderClasses:s}=lt(e),{elevationClasses:l}=St(e),{roundedClasses:o}=Te(e);$t({VBtn:{height:k(()=>e.direction==="horizontal"?"auto":null),baseColor:k(()=>e.baseColor),color:k(()=>e.color),density:k(()=>e.density),flat:!0,variant:k(()=>e.variant)}}),J(()=>b(e.tag,{class:H(["v-btn-group",`v-btn-group--${e.direction}`,{"v-btn-group--divided":e.divided},a.value,s.value,i.value,l.value,o.value,e.class]),style:Q(e.style)},n))}}),xs=T({modelValue:{type:null,default:void 0},multiple:Boolean,mandatory:[Boolean,String],max:Number,selectedClass:String,disabled:Boolean},"group"),Is=T({value:null,disabled:Boolean,selectedClass:String},"group-item");function Ps(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;const a=xe("useGroupItem");if(!a)throw new Error("[Vuetify] useGroupItem composable must be used inside a component setup function");const i=pn();qe(Symbol.for(`${t.description}:id`),i);const s=Ee(t,null);if(!s){if(!n)return s;throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${t.description}`)}const l=k(()=>e.value),o=_(()=>!!(s.disabled.value||e.disabled));function r(){s==null||s.register({id:i,value:l,disabled:o},a)}function u(){s==null||s.unregister(i)}r(),je(()=>u());const c=_(()=>s.isSelected(i)),m=_(()=>s.items.value[0].id===i),v=_(()=>s.items.value[s.items.value.length-1].id===i),d=_(()=>c.value&&[s.selectedClass.value,e.selectedClass]);return W(c,y=>{a.emit("group:selected",{value:y})},{flush:"sync"}),{id:i,isSelected:c,isFirst:m,isLast:v,toggle:()=>s.select(i,!c.value),select:y=>s.select(i,y),selectedClass:d,value:l,disabled:o,group:s,register:r,unregister:u}}function As(e,t){let n=!1;const a=vt([]),i=Pe(e,"modelValue",[],v=>v===void 0?[]:Ea(a,v===null?[null]:hn(v)),v=>{const d=Vs(a,v);return e.multiple?d:d[0]}),s=xe("useGroup");function l(v,d){const y=v,f=Symbol.for(`${t.description}:id`),S=pi(f,s==null?void 0:s.vnode).indexOf(d);Ki(y.value)===void 0&&(y.value=S,y.useIndexAsValue=!0),S>-1?a.splice(S,0,y):a.push(y)}function o(v){if(n)return;r();const d=a.findIndex(y=>y.id===v);a.splice(d,1)}function r(){const v=a.find(d=>!d.disabled);v&&e.mandatory==="force"&&!i.value.length&&(i.value=[v.id])}it(()=>{r()}),je(()=>{n=!0}),Ui(()=>{for(let v=0;vf.id===v);if(!(d&&(y!=null&&y.disabled)))if(e.multiple){const f=i.value.slice(),p=f.findIndex(I=>I===v),S=~p;if(d=d??!S,S&&e.mandatory&&f.length<=1||!S&&e.max!=null&&f.length+1>e.max)return;p<0&&d?f.push(v):p>=0&&!d&&f.splice(p,1),i.value=f}else{const f=i.value.includes(v);if(e.mandatory&&f||!f&&!d)return;i.value=d??!f?[v]:[]}}function c(v){if(e.multiple,i.value.length){const d=i.value[0],y=a.findIndex(S=>S.id===d);let f=(y+v)%a.length,p=a[f];for(;p.disabled&&f!==y;)f=(f+v)%a.length,p=a[f];if(p.disabled)return;i.value=[a[f].id]}else{const d=a.find(y=>!y.disabled);d&&(i.value=[d.id])}}const m={register:l,unregister:o,selected:i,select:u,disabled:k(()=>e.disabled),prev:()=>c(a.length-1),next:()=>c(1),isSelected:v=>i.value.includes(v),selectedClass:k(()=>e.selectedClass),items:k(()=>a),getItemIndex:v=>Es(a,v)};return qe(t,m),m}function Es(e,t){const n=Ea(e,[t]);return n.length?e.findIndex(a=>a.id===n[0]):-1}function Ea(e,t){const n=[];return t.forEach(a=>{const i=e.find(l=>Ye(a,l.value)),s=e[a];(i==null?void 0:i.value)!==void 0?n.push(i.id):s!=null&&s.useIndexAsValue&&n.push(s.id)}),n}function Vs(e,t){const n=[];return t.forEach(a=>{const i=e.findIndex(s=>s.id===a);if(~i){const s=e[i];n.push(s.value!==void 0?s.value:i)}}),n}const Va=Symbol.for("vuetify:v-btn-toggle"),Ls=T({...Aa(),...xs()},"VBtnToggle"),Fo=G()({name:"VBtnToggle",props:Ls(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:n}=t;const{isSelected:a,next:i,prev:s,select:l,selected:o}=As(e,Va);return J(()=>{const r=Qn.filterProps(e);return b(Qn,Y({class:["v-btn-toggle",e.class]},r,{style:e.style}),{default:()=>{var u;return[(u=n.default)==null?void 0:u.call(n,{isSelected:a,next:i,prev:s,select:l,selected:o})]}})}),{next:i,prev:s,select:l}}}),Ts=T({defaults:Object,disabled:Boolean,reset:[Number,String],root:[Boolean,String],scoped:Boolean},"VDefaultsProvider"),ge=G(!1)({name:"VDefaultsProvider",props:Ts(),setup(e,t){let{slots:n}=t;const{defaults:a,disabled:i,reset:s,root:l,scoped:o}=Xi(e);return $t(a,{reset:s,root:l,scoped:o,disabled:i}),()=>{var r;return(r=n.default)==null?void 0:r.call(n)}}}),Os=["x-small","small","default","large","x-large"],Mt=T({size:{type:[String,Number],default:"default"}},"size");function Ft(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:We();return yn(()=>{const n=e.size;let a,i;return wi(Os,n)?a=`${t}--size-${n}`:n&&(i={width:B(n),height:B(n)}),{sizeClasses:a,sizeStyles:i}})}const Bs=T({color:String,disabled:Boolean,start:Boolean,end:Boolean,icon:le,opacity:[String,Number],...ee(),...Mt(),...oe({tag:"i"}),...fe()},"VIcon"),_e=G()({name:"VIcon",props:Bs(),setup(e,t){let{attrs:n,slots:a}=t;const i=z(),{themeClasses:s}=ha(),{iconData:l}=ki(()=>i.value||e.icon),{sizeClasses:o}=Ft(e),{textColorClasses:r,textColorStyles:u}=et(()=>e.color);return J(()=>{var v,d;const c=(v=a.default)==null?void 0:v.call(a);c&&(i.value=(d=Ci(c).filter(y=>y.type===Yi&&y.children&&typeof y.children=="string")[0])==null?void 0:d.children);const m=!!(n.onClick||n.onClickOnce);return b(l.value.component,{tag:e.tag,icon:l.value.icon,class:H(["v-icon","notranslate",s.value,o.value,r.value,{"v-icon--clickable":m,"v-icon--disabled":e.disabled,"v-icon--start":e.start,"v-icon--end":e.end},e.class]),style:Q([{"--v-icon-opacity":e.opacity},o.value?void 0:{fontSize:B(e.size),height:B(e.size),width:B(e.size)},u.value,e.style]),role:m?"button":void 0,"aria-hidden":!m,tabindex:m?e.disabled?-1:0:void 0},{default:()=>[c]})}),{}}});function La(e,t){const n=q(),a=z(!1);if(bn){const i=new IntersectionObserver(s=>{a.value=!!s.find(l=>l.isIntersecting)},t);ve(()=>{i.disconnect()}),W(n,(s,l)=>{l&&(i.unobserve(l),a.value=!1),s&&i.observe(s)},{flush:"post"})}return{intersectionRef:n,isIntersecting:a}}const Rs=T({reveal:{type:[Boolean,Object],default:!1}},"reveal");function Ns(e){const n=k(()=>typeof e.reveal=="object"?Math.max(0,Number(e.reveal.duration??900)):900),a=z(e.reveal?"initial":"disabled");return it(async()=>{e.reveal&&(a.value="initial",await new Promise(i=>requestAnimationFrame(i)),a.value="pending",await new Promise(i=>setTimeout(i,n.value)),a.value="done")}),{duration:n,state:a}}const $s=T({bgColor:String,color:String,indeterminate:[Boolean,String],rounded:Boolean,modelValue:{type:[Number,String],default:0},rotate:{type:[Number,String],default:0},width:{type:[Number,String],default:4},...ee(),...Rs(),...Mt(),...oe({tag:"div"}),...fe()},"VProgressCircular"),Ds=G()({name:"VProgressCircular",props:$s(),setup(e,t){let{slots:n}=t;const a=20,i=2*Math.PI*a,s=q(),{themeClasses:l}=ye(e),{sizeClasses:o,sizeStyles:r}=Ft(e),{textColorClasses:u,textColorStyles:c}=et(()=>e.color),{textColorClasses:m,textColorStyles:v}=et(()=>e.bgColor),{intersectionRef:d,isIntersecting:y}=La(),{resizeRef:f,contentRect:p}=ba(),{state:S,duration:I}=Ns(e),L=k(()=>S.value==="initial"?0:Ze(parseFloat(e.modelValue),0,100)),w=k(()=>Number(e.width)),h=k(()=>r.value?Number(e.size):p.value?p.value.width:Math.max(w.value,32)),C=k(()=>a/(1-w.value/h.value)*2),x=k(()=>w.value/h.value*C.value),g=k(()=>{const M=(100-L.value)/100*i;return e.rounded&&L.value>0&&L.value<100?B(Math.min(i-.01,M+x.value)):B(M)}),R=_(()=>{const M=Number(e.rotate);return e.rounded?M+x.value/2/i*360:M});return Re(()=>{d.value=s.value,f.value=s.value}),J(()=>b(e.tag,{ref:s,class:H(["v-progress-circular",{"v-progress-circular--indeterminate":!!e.indeterminate,"v-progress-circular--visible":y.value,"v-progress-circular--disable-shrink":e.indeterminate&&(e.indeterminate==="disable-shrink"||Vt()),"v-progress-circular--revealing":["initial","pending"].includes(S.value)},l.value,o.value,u.value,e.class]),style:Q([r.value,c.value,{"--progress-reveal-duration":`${I.value}ms`},e.style]),role:"progressbar","aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":e.indeterminate?void 0:L.value},{default:()=>[P("svg",{style:{transform:`rotate(calc(-90deg + ${R.value}deg))`},xmlns:"http://www.w3.org/2000/svg",viewBox:`0 0 ${C.value} ${C.value}`},[P("circle",{class:H(["v-progress-circular__underlay",m.value]),style:Q(v.value),fill:"transparent",cx:"50%",cy:"50%",r:a,"stroke-width":x.value,"stroke-dasharray":i,"stroke-dashoffset":0},null),P("circle",{class:"v-progress-circular__overlay",fill:"transparent",cx:"50%",cy:"50%",r:a,"stroke-width":x.value,"stroke-dasharray":i,"stroke-dashoffset":g.value,"stroke-linecap":e.rounded?"round":void 0},null)]),n.default&&P("div",{class:"v-progress-circular__content"},[n.default({value:L.value})])]})),{}}}),rt=T({height:[Number,String],maxHeight:[Number,String],maxWidth:[Number,String],minHeight:[Number,String],minWidth:[Number,String],width:[Number,String]},"dimension");function ut(e){return{dimensionStyles:_(()=>{const n={},a=B(e.height),i=B(e.maxHeight),s=B(e.maxWidth),l=B(e.minHeight),o=B(e.minWidth),r=B(e.width);return a!=null&&(n.height=a),i!=null&&(n.maxHeight=i),s!=null&&(n.maxWidth=s),l!=null&&(n.minHeight=l),o!=null&&(n.minWidth=o),r!=null&&(n.width=r),n})}}const Zn={center:"center",top:"bottom",bottom:"top",left:"right",right:"left"},zt=T({location:String},"location");function An(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=arguments.length>2?arguments[2]:void 0;const{isRtl:a}=Dt();return{locationStyles:_(()=>{if(!e.location)return{};const{side:s,align:l}=en(e.location.split(" ").length>1?e.location:`${e.location} center`,a.value);function o(u){return n?n(u):0}const r={};return s!=="center"&&(t?r[Zn[s]]=`calc(100% - ${o(s)}px)`:r[s]=0),l!=="center"?t?r[Zn[l]]=`calc(100% - ${o(l)}px)`:r[l]=0:(s==="center"?r.top=r.left="50%":r[{top:"left",bottom:"left",left:"top",right:"top"}[s]]="50%",r.transform={top:"translateX(-50%)",bottom:"translateX(-50%)",left:"translateY(-50%)",right:"translateY(-50%)",center:"translate(-50%, -50%)"}[s]),r})}}const Ms=T({chunkCount:{type:[Number,String],default:null},chunkWidth:{type:[Number,String],default:null},chunkGap:{type:[Number,String],default:4}},"chunks");function Fs(e,t){const n=k(()=>!!e.chunkCount||!!e.chunkWidth),a=_(()=>{const o=se(t);if(!o)return 0;if(!e.chunkCount)return Number(e.chunkWidth);const r=Number(e.chunkCount);return(o-Number(e.chunkGap)*(r-1))/r}),i=k(()=>Number(e.chunkGap)),s=_(()=>{if(!n.value)return{};const o=B(i.value),r=B(a.value);return{maskRepeat:"repeat-x",maskImage:`linear-gradient(90deg, #000, #000 ${r}, transparent ${r}, transparent)`,maskSize:`calc(${r} + ${o}) 100%`}});function l(o){const r=se(t);if(!r)return o;const u=100*i.value/r,c=100*(a.value+i.value)/r,m=Math.floor((o+u)/c);return Ze(0,m*c-u/2,100)}return{hasChunks:n,chunksMaskStyles:s,snapValueToChunk:l}}const zs=T({absolute:Boolean,active:{type:Boolean,default:!0},bgColor:String,bgOpacity:[Number,String],bufferValue:{type:[Number,String],default:0},bufferColor:String,bufferOpacity:[Number,String],clickable:Boolean,color:String,height:{type:[Number,String],default:4},indeterminate:Boolean,max:{type:[Number,String],default:100},modelValue:{type:[Number,String],default:0},opacity:[Number,String],reverse:Boolean,stream:Boolean,striped:Boolean,roundedBar:Boolean,...Ms(),...ee(),...zt({location:"top"}),...Le(),...oe(),...fe()},"VProgressLinear"),Ta=G()({name:"VProgressLinear",props:zs(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:n}=t;const a=q(),i=Pe(e,"modelValue"),{isRtl:s,rtlClasses:l}=Dt(),{themeClasses:o}=ye(e),{locationStyles:r}=An(e),{textColorClasses:u,textColorStyles:c}=et(()=>e.color),{backgroundColorClasses:m,backgroundColorStyles:v}=Je(()=>e.bgColor||e.color),{backgroundColorClasses:d,backgroundColorStyles:y}=Je(()=>e.bufferColor||e.bgColor||e.color),{backgroundColorClasses:f,backgroundColorStyles:p}=Je(()=>e.color),{roundedClasses:S}=Te(e),{intersectionRef:I,isIntersecting:L}=La(),w=_(()=>parseFloat(e.max)),h=_(()=>parseFloat(e.height)),C=_(()=>Ze(parseFloat(e.bufferValue)/w.value*100,0,100)),x=_(()=>Ze(parseFloat(i.value)/w.value*100,0,100)),g=_(()=>s.value!==e.reverse),R=_(()=>e.indeterminate?"fade-transition":"slide-x-transition"),M=z(0),{hasChunks:E,chunksMaskStyles:V,snapValueToChunk:A}=Fs(e,M);ht(E,()=>{const{resizeRef:X}=ba(te=>M.value=te[0].contentRect.width);Re(()=>X.value=a.value)});const N=_(()=>E.value?A(C.value):C.value),O=_(()=>E.value?A(x.value):x.value);function U(X){if(!I.value)return;const{left:te,right:he,width:K}=I.value.getBoundingClientRect(),$=g.value?K-X.clientX+(he-K):X.clientX-te;i.value=Math.round($/K*w.value)}return Re(()=>{I.value=a.value}),J(()=>b(e.tag,{ref:a,class:H(["v-progress-linear",{"v-progress-linear--absolute":e.absolute,"v-progress-linear--active":e.active&&L.value,"v-progress-linear--reverse":g.value,"v-progress-linear--rounded":e.rounded,"v-progress-linear--rounded-bar":e.roundedBar,"v-progress-linear--striped":e.striped,"v-progress-linear--clickable":e.clickable},S.value,o.value,l.value,e.class]),style:Q([{bottom:e.location==="bottom"?0:void 0,top:e.location==="top"?0:void 0,height:e.active?B(h.value):0,"--v-progress-linear-height":B(h.value),...e.absolute?r.value:{}},V.value,e.style]),role:"progressbar","aria-hidden":e.active?"false":"true","aria-valuemin":"0","aria-valuemax":e.max,"aria-valuenow":e.indeterminate?void 0:Math.min(parseFloat(i.value),w.value),onClick:e.clickable&&U},{default:()=>[e.stream&&P("div",{key:"stream",class:H(["v-progress-linear__stream",u.value]),style:{...c.value,[g.value?"left":"right"]:B(-h.value),borderTop:`${B(h.value/2)} dotted`,opacity:parseFloat(e.bufferOpacity),top:`calc(50% - ${B(h.value/4)})`,width:B(100-C.value,"%"),"--v-progress-linear-stream-to":B(h.value*(g.value?1:-1))}},null),P("div",{class:H(["v-progress-linear__background",m.value]),style:Q([v.value,{opacity:parseFloat(e.bgOpacity),width:e.stream?0:void 0}])},null),P("div",{class:H(["v-progress-linear__buffer",d.value]),style:Q([y.value,{opacity:parseFloat(e.bufferOpacity),width:B(N.value,"%")}])},null),b(Ne,{name:R.value},{default:()=>[e.indeterminate?P("div",{class:"v-progress-linear__indeterminate"},[["long","short"].map(X=>P("div",{key:X,class:H(["v-progress-linear__indeterminate",X,f.value]),style:Q(p.value)},null))]):P("div",{class:H(["v-progress-linear__determinate",f.value]),style:Q([p.value,{width:B(O.value,"%")}])},null)]}),n.default&&P("div",{class:"v-progress-linear__content"},[n.default({value:x.value,buffer:C.value})])]})),{}}}),Oa=T({loading:[Boolean,String]},"loader");function Ba(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:We();return{loaderClasses:k(()=>({[`${t}--loading`]:e.loading}))}}function Ws(e,t){var a;let{slots:n}=t;return P("div",{class:H(`${e.name}__loader`)},[((a=n.default)==null?void 0:a.call(n,{color:e.color,isActive:e.active}))||b(Ta,{absolute:e.absolute,active:e.active,color:e.color,height:"2",indeterminate:!0},null)])}const qs=["static","relative","fixed","absolute","sticky"],En=T({position:{type:String,validator:e=>qs.includes(e)}},"position");function Vn(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:We();return{positionClasses:k(()=>e.position?`${t}--${e.position}`:void 0)}}function js(){const e=xe("useRoute");return _(()=>{var t;return(t=e==null?void 0:e.proxy)==null?void 0:t.$route})}function Hs(){var e,t;return(t=(e=xe("useRouter"))==null?void 0:e.proxy)==null?void 0:t.$router}function Ln(e,t){const n=Ca("RouterLink"),a=k(()=>!!(e.href||e.to)),i=_(()=>(a==null?void 0:a.value)||qn(t,"click")||qn(e,"click"));if(typeof n=="string"||!("useLink"in n)){const m=k(()=>e.href);return{isLink:a,isRouterLink:k(()=>!1),isClickable:i,href:m,linkProps:vt({href:m}),route:k(()=>{}),navigate:k(()=>{})}}const s=n.useLink({to:k(()=>e.to||""),replace:k(()=>e.replace)}),l=_(()=>e.to?s:void 0),o=js(),r=_(()=>{var m,v,d;return l.value?e.exact?o.value?((d=l.value.isExactActive)==null?void 0:d.value)&&Ye(l.value.route.value.query,o.value.query):((v=l.value.isExactActive)==null?void 0:v.value)??!1:((m=l.value.isActive)==null?void 0:m.value)??!1:!1}),u=_(()=>{var m;return e.to?(m=l.value)==null?void 0:m.route.value.href:e.href}),c=k(()=>!!e.to);return{isLink:a,isRouterLink:c,isClickable:i,isActive:r,route:k(()=>{var m;return(m=l.value)==null?void 0:m.route.value}),navigate:k(()=>{var m;return(m=l.value)==null?void 0:m.navigate}),href:u,linkProps:vt({href:u,"aria-current":k(()=>r.value?"page":void 0),"aria-disabled":k(()=>e.disabled&&a.value?"true":void 0),tabindex:k(()=>e.disabled&&a.value?"-1":void 0)})}}const Tn=T({href:String,replace:Boolean,to:[String,Object],exact:Boolean},"router");let Kt=!1;function Gs(e,t){let n=!1,a,i;Ae&&(e!=null&&e.beforeEach)&&(ce(()=>{window.addEventListener("popstate",s),a=e.beforeEach((l,o,r)=>{Kt?n?t(r):r():setTimeout(()=>n?t(r):r()),Kt=!0}),i=e==null?void 0:e.afterEach(()=>{Kt=!1})}),ve(()=>{window.removeEventListener("popstate",s),a==null||a(),i==null||i()}));function s(l){var o;(o=l.state)!=null&&o.replaced||(n=!0,setTimeout(()=>n=!1))}}function Us(e,t){W(()=>{var n;return(n=e.isActive)==null?void 0:n.value},n=>{e.isLink.value&&n!=null&&t&&ce(()=>{t(n)})},{immediate:!0})}const on=Symbol("rippleStop"),Ks=80;function ea(e,t){e.style.transform=t,e.style.webkitTransform=t}function rn(e){return e.constructor.name==="TouchEvent"}function Ra(e){return e.constructor.name==="KeyboardEvent"}const Xs=function(e,t){var m;let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=0,i=0;if(!Ra(e)){const v=t.getBoundingClientRect(),d=rn(e)?e.touches[e.touches.length-1]:e;a=d.clientX-v.left,i=d.clientY-v.top}let s=0,l=.3;(m=t._ripple)!=null&&m.circle?(l=.15,s=t.clientWidth/2,s=n.center?s:s+Math.sqrt((a-s)**2+(i-s)**2)/4):s=Math.sqrt(t.clientWidth**2+t.clientHeight**2)/2;const o=`${(t.clientWidth-s*2)/2}px`,r=`${(t.clientHeight-s*2)/2}px`,u=n.center?o:`${a-s}px`,c=n.center?r:`${i-s}px`;return{radius:s,scale:l,x:u,y:c,centerX:o,centerY:r}},Tt={show(e,t){var d;let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!((d=t==null?void 0:t._ripple)!=null&&d.enabled))return;const a=document.createElement("span"),i=document.createElement("span");a.appendChild(i),a.className="v-ripple__container",n.class&&(a.className+=` ${n.class}`);const{radius:s,scale:l,x:o,y:r,centerX:u,centerY:c}=Xs(e,t,n),m=`${s*2}px`;i.className="v-ripple__animation",i.style.width=m,i.style.height=m,t.appendChild(a);const v=window.getComputedStyle(t);v&&v.position==="static"&&(t.style.position="relative",t.dataset.previousPosition="static"),i.classList.add("v-ripple__animation--enter"),i.classList.add("v-ripple__animation--visible"),ea(i,`translate(${o}, ${r}) scale3d(${l},${l},${l})`),i.dataset.activated=String(performance.now()),requestAnimationFrame(()=>{requestAnimationFrame(()=>{i.classList.remove("v-ripple__animation--enter"),i.classList.add("v-ripple__animation--in"),ea(i,`translate(${u}, ${c}) scale3d(1,1,1)`)})})},hide(e){var s;if(!((s=e==null?void 0:e._ripple)!=null&&s.enabled))return;const t=e.getElementsByClassName("v-ripple__animation");if(t.length===0)return;const n=Array.from(t).findLast(l=>!l.dataset.isHiding);if(n)n.dataset.isHiding="true";else return;const a=performance.now()-Number(n.dataset.activated),i=Math.max(250-a,0);setTimeout(()=>{n.classList.remove("v-ripple__animation--in"),n.classList.add("v-ripple__animation--out"),setTimeout(()=>{var o;e.getElementsByClassName("v-ripple__animation").length===1&&e.dataset.previousPosition&&(e.style.position=e.dataset.previousPosition,delete e.dataset.previousPosition),((o=n.parentNode)==null?void 0:o.parentNode)===e&&e.removeChild(n.parentNode)},300)},i)}};function Na(e){return typeof e>"u"||!!e}function mt(e){const t={},n=e.currentTarget;if(!(!(n!=null&&n._ripple)||n._ripple.touched||e[on])){if(e[on]=!0,rn(e))n._ripple.touched=!0,n._ripple.isTouch=!0;else if(n._ripple.isTouch)return;if(t.center=n._ripple.centered||Ra(e),n._ripple.class&&(t.class=n._ripple.class),rn(e)){if(n._ripple.showTimerCommit)return;n._ripple.showTimerCommit=()=>{Tt.show(e,n,t)},n._ripple.showTimer=window.setTimeout(()=>{var a;(a=n==null?void 0:n._ripple)!=null&&a.showTimerCommit&&(n._ripple.showTimerCommit(),n._ripple.showTimerCommit=null)},Ks)}else Tt.show(e,n,t)}}function Ot(e){e[on]=!0}function de(e){const t=e.currentTarget;if(t!=null&&t._ripple){if(window.clearTimeout(t._ripple.showTimer),e.type==="touchend"&&t._ripple.showTimerCommit){t._ripple.showTimerCommit(),t._ripple.showTimerCommit=null,t._ripple.showTimer=window.setTimeout(()=>{de(e)});return}window.setTimeout(()=>{t._ripple&&(t._ripple.touched=!1)}),Tt.hide(t)}}function $a(e){const t=e.currentTarget;t!=null&&t._ripple&&(t._ripple.showTimerCommit&&(t._ripple.showTimerCommit=null),window.clearTimeout(t._ripple.showTimer))}let gt=!1;function Ys(e,t){!gt&&t.includes(e.key)&&(gt=!0,mt(e))}function Da(e){gt=!1,de(e)}function Ma(e){gt&&(gt=!1,de(e))}function Fa(e,t,n){const{value:a,modifiers:i}=t,s=Na(a);s||Tt.hide(e),e._ripple=e._ripple??{},e._ripple.enabled=s,e._ripple.centered=i.center,e._ripple.circle=i.circle;const l=tn(a)?a:{};l.class&&(e._ripple.class=l.class);const o=l.keys??["Enter","Space"];if(e._ripple.keyDownHandler=r=>Ys(r,o),s&&!n){if(i.stop){e.addEventListener("touchstart",Ot,{passive:!0}),e.addEventListener("mousedown",Ot);return}e.addEventListener("touchstart",mt,{passive:!0}),e.addEventListener("touchend",de,{passive:!0}),e.addEventListener("touchmove",$a,{passive:!0}),e.addEventListener("touchcancel",de),e.addEventListener("mousedown",mt),e.addEventListener("mouseup",de),e.addEventListener("mouseleave",de),e.addEventListener("keydown",e._ripple.keyDownHandler),e.addEventListener("keyup",Da),e.addEventListener("blur",Ma),e.addEventListener("dragstart",de,{passive:!0})}else!s&&n&&za(e)}function za(e){var t;e.removeEventListener("touchstart",Ot),e.removeEventListener("mousedown",Ot),e.removeEventListener("touchstart",mt),e.removeEventListener("touchend",de),e.removeEventListener("touchmove",$a),e.removeEventListener("touchcancel",de),e.removeEventListener("mousedown",mt),e.removeEventListener("mouseup",de),e.removeEventListener("mouseleave",de),(t=e._ripple)!=null&&t.keyDownHandler&&e.removeEventListener("keydown",e._ripple.keyDownHandler),e.removeEventListener("keyup",Da),e.removeEventListener("blur",Ma),e.removeEventListener("dragstart",de)}function Js(e,t){Fa(e,t,!1)}function Qs(e){za(e),delete e._ripple}function Zs(e,t){if(t.value===t.oldValue)return;const n=Na(t.oldValue);Fa(e,t,n)}const yt={mounted:Js,unmounted:Qs,updated:Zs},el=T({active:{type:Boolean,default:void 0},activeColor:String,baseColor:String,symbol:{type:null,default:Va},flat:Boolean,icon:[Boolean,String,Function,Object],prependIcon:le,appendIcon:le,block:Boolean,readonly:Boolean,slim:Boolean,stacked:Boolean,spaced:String,ripple:{type:[Boolean,Object],default:!0},text:{type:[String,Number,Boolean],default:void 0},...st(),...ee(),...He(),...rt(),...bt(),...Is(),...Oa(),...zt(),...En(),...Le(),...Tn(),...Mt(),...oe({tag:"button"}),...fe(),...Ge({variant:"elevated"})},"VBtn"),Wa=G()({name:"VBtn",props:el(),emits:{"group:selected":e=>!0},setup(e,t){let{attrs:n,slots:a}=t;const{themeClasses:i}=ye(e),{borderClasses:s}=lt(e),{densityClasses:l}=ot(e),{dimensionStyles:o}=ut(e),{elevationClasses:r}=St(e),{loaderClasses:u}=Ba(e),{locationStyles:c}=An(e),{positionClasses:m}=Vn(e),{roundedClasses:v}=Te(e),{sizeClasses:d,sizeStyles:y}=Ft(e),f=Ps(e,e.symbol,!1),p=Ln(e,n),S=_(()=>{var E;return e.active!==void 0?e.active:p.isRouterLink.value?(E=p.isActive)==null?void 0:E.value:f==null?void 0:f.isSelected.value}),I=k(()=>S.value?e.activeColor??e.color:e.color),L=_(()=>{var V,A;return{color:(f==null?void 0:f.isSelected.value)&&(!p.isLink.value||((V=p.isActive)==null?void 0:V.value))||!f||((A=p.isActive)==null?void 0:A.value)?I.value??e.baseColor:e.baseColor,variant:e.variant}}),{colorClasses:w,colorStyles:h,variantClasses:C}=wt(L),x=_(()=>(f==null?void 0:f.disabled.value)||e.disabled),g=k(()=>e.variant==="elevated"&&!(e.disabled||e.flat||e.border)),R=_(()=>{if(!(e.value===void 0||typeof e.value=="symbol"))return Object(e.value)===e.value?JSON.stringify(e.value,null,0):e.value});function M(E){var V,A;x.value||p.isLink.value&&(E.metaKey||E.ctrlKey||E.shiftKey||E.button!==0||n.target==="_blank")||(p.isRouterLink.value?(A=(V=p.navigate).value)==null||A.call(V,E):f==null||f.toggle())}return Us(p,f==null?void 0:f.select),J(()=>{const E=p.isLink.value?"a":e.tag,V=!!(e.prependIcon||a.prepend),A=!!(e.appendIcon||a.append),N=!!(e.icon&&e.icon!==!0);return ze(b(E,Y(p.linkProps,{type:E==="a"?void 0:"button",class:["v-btn",f==null?void 0:f.selectedClass.value,{"v-btn--active":S.value,"v-btn--block":e.block,"v-btn--disabled":x.value,"v-btn--elevated":g.value,"v-btn--flat":e.flat,"v-btn--icon":!!e.icon,"v-btn--loading":e.loading,"v-btn--readonly":e.readonly,"v-btn--slim":e.slim,"v-btn--stacked":e.stacked},e.spaced?["v-btn--spaced",`v-btn--spaced-${e.spaced}`]:[],i.value,s.value,w.value,l.value,r.value,u.value,m.value,v.value,d.value,C.value,e.class],style:[h.value,o.value,c.value,y.value,e.style],"aria-busy":e.loading?!0:void 0,disabled:x.value&&E!=="a"||void 0,tabindex:e.loading||e.readonly?-1:void 0,onClick:M,value:R.value}),{default:()=>{var O;return[pt(!0,"v-btn"),!e.icon&&V&&P("span",{key:"prepend",class:"v-btn__prepend"},[a.prepend?b(ge,{key:"prepend-defaults",disabled:!e.prependIcon,defaults:{VIcon:{icon:e.prependIcon}}},a.prepend):b(_e,{key:"prepend-icon",icon:e.prependIcon},null)]),P("span",{class:"v-btn__content","data-no-activator":""},[!a.default&&N?b(_e,{key:"content-icon",icon:e.icon},null):b(ge,{key:"content-defaults",disabled:!N,defaults:{VIcon:{icon:e.icon}}},{default:()=>{var U;return[((U=a.default)==null?void 0:U.call(a))??Ce(e.text)]}})]),!e.icon&&A&&P("span",{key:"append",class:"v-btn__append"},[a.append?b(ge,{key:"append-defaults",disabled:!e.appendIcon,defaults:{VIcon:{icon:e.appendIcon}}},a.append):b(_e,{key:"append-icon",icon:e.appendIcon},null)]),!!e.loading&&P("span",{key:"loader",class:"v-btn__loader"},[((O=a.loader)==null?void 0:O.call(a))??b(Ds,{color:typeof e.loading=="boolean"?void 0:e.loading,indeterminate:!0,width:"2"},null)])]}}),[[yt,!x.value&&e.ripple,"",{center:!!e.icon}]])}),{group:f}}});function Xt(e,t){return{x:e.x+t.x,y:e.y+t.y}}function tl(e,t){return{x:e.x-t.x,y:e.y-t.y}}function ta(e,t){if(e.side==="top"||e.side==="bottom"){const{side:n,align:a}=e,i=a==="left"?0:a==="center"?t.width/2:a==="right"?t.width:a,s=n==="top"?0:n==="bottom"?t.height:n;return Xt({x:i,y:s},t)}else if(e.side==="left"||e.side==="right"){const{side:n,align:a}=e,i=n==="left"?0:n==="right"?t.width:n,s=a==="top"?0:a==="center"?t.height/2:a==="bottom"?t.height:a;return Xt({x:i,y:s},t)}return Xt({x:t.width/2,y:t.height/2},t)}const qa={static:il,connected:ll},nl=T({locationStrategy:{type:[String,Function],default:"static",validator:e=>typeof e=="function"||e in qa},location:{type:String,default:"bottom"},origin:{type:String,default:"auto"},offset:[Number,String,Array],stickToTarget:Boolean,viewportMargin:{type:[Number,String],default:12}},"VOverlay-location-strategies");function al(e,t){const n=q({}),a=q();Ae&&ht(()=>!!(t.isActive.value&&e.locationStrategy),o=>{var r,u;W(()=>e.locationStrategy,o),ve(()=>{window.removeEventListener("resize",i),visualViewport==null||visualViewport.removeEventListener("resize",s),visualViewport==null||visualViewport.removeEventListener("scroll",l),a.value=void 0}),window.addEventListener("resize",i,{passive:!0}),visualViewport==null||visualViewport.addEventListener("resize",s,{passive:!0}),visualViewport==null||visualViewport.addEventListener("scroll",l,{passive:!0}),typeof e.locationStrategy=="function"?a.value=(r=e.locationStrategy(t,e,n))==null?void 0:r.updateLocation:a.value=(u=qa[e.locationStrategy](t,e,n))==null?void 0:u.updateLocation});function i(o){var r;(r=a.value)==null||r.call(a,o)}function s(o){var r;(r=a.value)==null||r.call(a,o)}function l(o){var r;(r=a.value)==null||r.call(a,o)}return{contentStyles:n,updateLocation:a}}function il(){}function sl(e,t){const n=pa(e);return t?n.x+=parseFloat(e.style.right||0):n.x-=parseFloat(e.style.left||0),n.y-=parseFloat(e.style.top||0),n}function ll(e,t,n){(Array.isArray(e.target.value)||_i(e.target.value))&&Object.assign(n.value,{position:"fixed",top:0,[e.isRtl.value?"right":"left"]:0});const{preferredAnchor:i,preferredOrigin:s}=yn(()=>{const S=en(t.location,e.isRtl.value),I=t.origin==="overlap"?S:t.origin==="auto"?Gt(S):en(t.origin,e.isRtl.value);return S.side===I.side&&S.align===Ht(I).align?{preferredAnchor:Gn(S),preferredOrigin:Gn(I)}:{preferredAnchor:S,preferredOrigin:I}}),[l,o,r,u]=["minWidth","minHeight","maxWidth","maxHeight"].map(S=>_(()=>{const I=parseFloat(t[S]);return isNaN(I)?1/0:I})),c=_(()=>{if(Array.isArray(t.offset))return t.offset;if(typeof t.offset=="string"){const S=t.offset.split(" ").map(parseFloat);return S.length<2&&S.push(0),S}return typeof t.offset=="number"?[t.offset,0]:[0,0]});let m=!1,v=-1;const d=new xi(4),y=new ResizeObserver(()=>{if(!m)return;if(requestAnimationFrame(I=>{I!==v&&d.clear(),requestAnimationFrame(L=>{v=L})}),d.isFull){const I=d.values();if(Ye(I.at(-1),I.at(-3))&&!Ye(I.at(-1),I.at(-2)))return}const S=p();S&&d.push(S.flipped)});let f=new jt({x:0,y:0,width:0,height:0});W(e.target,(S,I)=>{I&&!Array.isArray(I)&&y.unobserve(I),Array.isArray(S)?Ye(S,I)||p():S&&y.observe(S)},{immediate:!0}),W(e.contentEl,(S,I)=>{I&&y.unobserve(I),S&&y.observe(S)},{immediate:!0}),ve(()=>{y.disconnect()});function p(){if(m=!1,requestAnimationFrame(()=>m=!0),!e.target.value||!e.contentEl.value)return;(Array.isArray(e.target.value)||e.target.value.offsetParent||e.target.value.getClientRects().length)&&(f=Sa(e.target.value));const S=sl(e.contentEl.value,e.isRtl.value),I=Lt(e.contentEl.value),L=Number(t.viewportMargin);I.length||(I.push(document.documentElement),e.contentEl.value.style.top&&e.contentEl.value.style.left||(S.x-=parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-x")||0),S.y-=parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-y")||0)));const w=I.reduce((A,N)=>{const O=Ii(N);return A?new jt({x:Math.max(A.left,O.left),y:Math.max(A.top,O.top),width:Math.min(A.right,O.right)-Math.max(A.left,O.left),height:Math.min(A.bottom,O.bottom)-Math.max(A.top,O.top)}):O},void 0);t.stickToTarget?(w.x+=Math.min(L,f.x),w.y+=Math.min(L,f.y),w.width=Math.max(w.width-L*2,f.x+f.width-L),w.height=Math.max(w.height-L*2,f.y+f.height-L)):(w.x+=L,w.y+=L,w.width-=L*2,w.height-=L*2);let h={anchor:i.value,origin:s.value};function C(A){const N=new jt(S),O=ta(A.anchor,f),U=ta(A.origin,N);let{x:X,y:te}=tl(O,U);switch(A.anchor.side){case"top":te-=c.value[0];break;case"bottom":te+=c.value[0];break;case"left":X-=c.value[0];break;case"right":X+=c.value[0];break}switch(A.anchor.align){case"top":te-=c.value[1];break;case"bottom":te+=c.value[1];break;case"left":X-=c.value[1];break;case"right":X+=c.value[1];break}return N.x+=X,N.y+=te,N.width=Math.min(N.width,r.value),N.height=Math.min(N.height,u.value),{overflows:Hn(N,w),x:X,y:te}}let x=0,g=0;const R={x:0,y:0},M={x:!1,y:!1};let E=-1;for(;!(E++>10);){const{x:A,y:N,overflows:O}=C(h);x+=A,g+=N,S.x+=A,S.y+=N;{const U=jn(h.anchor),X=O.x.before||O.x.after,te=O.y.before||O.y.after;let he=!1;if(["x","y"].forEach(K=>{if(K==="x"&&X&&!M.x||K==="y"&&te&&!M.y){const $={anchor:{...h.anchor},origin:{...h.origin}},Z=K==="x"?U==="y"?Ht:Gt:U==="y"?Gt:Ht;$.anchor=Z($.anchor),$.origin=Z($.origin);const{overflows:j}=C($);(j[K].before<=O[K].before&&j[K].after<=O[K].after||j[K].before+j[K].after<(O[K].before+O[K].after)/2)&&(h=$,he=M[K]=!0)}}),he)continue}O.x.before&&(x+=O.x.before,S.x+=O.x.before),O.x.after&&(x-=O.x.after,S.x-=O.x.after),O.y.before&&(g+=O.y.before,S.y+=O.y.before),O.y.after&&(g-=O.y.after,S.y-=O.y.after);{const U=Hn(S,w);R.x=w.width-U.x.before-U.x.after,R.y=w.height-U.y.before-U.y.after,x+=U.x.before,S.x+=U.x.before,g+=U.y.before,S.y+=U.y.before}break}const V=jn(h.anchor);return Object.assign(n.value,{"--v-overlay-anchor-origin":`${h.anchor.side} ${h.anchor.align}`,transformOrigin:`${h.origin.side} ${h.origin.align}`,top:B(Yt(g)),left:e.isRtl.value?void 0:B(Yt(x)),right:e.isRtl.value?B(Yt(-x)):void 0,minWidth:B(V==="y"?Math.min(l.value,f.width):l.value),maxWidth:B(na(Ze(R.x,l.value===1/0?0:l.value,r.value))),maxHeight:B(na(Ze(R.y,o.value===1/0?0:o.value,u.value)))}),{available:R,contentBox:S,flipped:M}}return W(()=>[i.value,s.value,t.offset,t.minWidth,t.minHeight,t.maxWidth,t.maxHeight],()=>p()),ce(()=>{const S=p();if(!S)return;const{available:I,contentBox:L}=S;L.height>I.y&&requestAnimationFrame(()=>{p(),requestAnimationFrame(()=>{p()})})}),{updateLocation:p}}function Yt(e){return Math.round(e*devicePixelRatio)/devicePixelRatio}function na(e){return Math.ceil(e*devicePixelRatio)/devicePixelRatio}let un=!0;const Bt=[];function ol(e){!un||Bt.length?(Bt.push(e),cn()):(un=!1,e(),cn())}let aa=-1;function cn(){cancelAnimationFrame(aa),aa=requestAnimationFrame(()=>{const e=Bt.shift();e&&e(),Bt.length?cn():un=!0})}const At={none:null,close:cl,block:dl,reposition:fl},rl=T({scrollStrategy:{type:[String,Function],default:"block",validator:e=>typeof e=="function"||e in At}},"VOverlay-scroll-strategies");function ul(e,t){if(!Ae)return;let n;Re(async()=>{n==null||n.stop(),t.isActive.value&&e.scrollStrategy&&(n=_a(),await new Promise(a=>setTimeout(a)),n.active&&n.run(()=>{var a;typeof e.scrollStrategy=="function"?e.scrollStrategy(t,e,n):(a=At[e.scrollStrategy])==null||a.call(At,t,e,n)}))}),ve(()=>{n==null||n.stop()})}function cl(e){function t(n){e.isActive.value=!1}ja(On(e.target.value,e.contentEl.value),t)}function dl(e,t){var o;const n=(o=e.root.value)==null?void 0:o.offsetParent,a=On(e.target.value,e.contentEl.value),i=[...new Set([...Lt(a,t.contained?n:void 0),...Lt(e.contentEl.value,t.contained?n:void 0)])].filter(r=>!r.classList.contains("v-overlay-scroll-blocked")),s=window.innerWidth-document.documentElement.offsetWidth,l=(r=>Pi(r)&&r)(n||document.documentElement);l&&e.root.value.classList.add("v-overlay--scroll-blocked"),i.forEach((r,u)=>{r.style.setProperty("--v-body-scroll-x",B(-r.scrollLeft)),r.style.setProperty("--v-body-scroll-y",B(-r.scrollTop)),r!==document.documentElement&&r.style.setProperty("--v-scrollbar-offset",B(s)),r.classList.add("v-overlay-scroll-blocked")}),ve(()=>{i.forEach((r,u)=>{const c=parseFloat(r.style.getPropertyValue("--v-body-scroll-x")),m=parseFloat(r.style.getPropertyValue("--v-body-scroll-y")),v=r.style.scrollBehavior;r.style.scrollBehavior="auto",r.style.removeProperty("--v-body-scroll-x"),r.style.removeProperty("--v-body-scroll-y"),r.style.removeProperty("--v-scrollbar-offset"),r.classList.remove("v-overlay-scroll-blocked"),r.scrollLeft=-c,r.scrollTop=-m,r.style.scrollBehavior=v}),l&&e.root.value.classList.remove("v-overlay--scroll-blocked")})}function fl(e,t,n){let a=!1,i=-1,s=-1;function l(o){ol(()=>{var c,m;const r=performance.now();(m=(c=e.updateLocation).value)==null||m.call(c,o),a=(performance.now()-r)/(1e3/60)>2})}s=(typeof requestIdleCallback>"u"?o=>o():requestIdleCallback)(()=>{n.run(()=>{ja(On(e.target.value,e.contentEl.value),o=>{a?(cancelAnimationFrame(i),i=requestAnimationFrame(()=>{i=requestAnimationFrame(()=>{l(o)})})):l(o)})})}),ve(()=>{typeof cancelIdleCallback<"u"&&cancelIdleCallback(s),cancelAnimationFrame(i)})}function On(e,t){return Array.isArray(e)?document.elementsFromPoint(...e).find(n=>!(t!=null&&t.contains(n))):e??t}function ja(e,t){const n=[document,...Lt(e)];n.forEach(a=>{a.addEventListener("scroll",t,{passive:!0})}),ve(()=>{n.forEach(a=>{a.removeEventListener("scroll",t)})})}const vl=Symbol.for("vuetify:v-menu"),ml=T({closeDelay:[Number,String],openDelay:[Number,String]},"delay");function gl(e,t){let n=()=>{};function a(l,o){n==null||n();const r=l?e.openDelay:e.closeDelay,u=Math.max((o==null?void 0:o.minDelay)??0,Number(r??0));return new Promise(c=>{n=Ai(u,()=>{t==null||t(l),c(l)})})}function i(){return a(!0)}function s(l){return a(!1,l)}return{clearDelay:n,runOpenDelay:i,runCloseDelay:s}}const yl=T({target:[String,Object],activator:[String,Object],activatorProps:{type:Object,default:()=>({})},openOnClick:{type:Boolean,default:void 0},openOnHover:Boolean,openOnFocus:{type:Boolean,default:void 0},closeOnContentClick:Boolean,...ml()},"VOverlay-activator");function hl(e,t){let{isActive:n,isTop:a,contentEl:i}=t;const s=xe("useActivator"),l=q();let o=!1,r=!1,u=!0;const c=_(()=>e.openOnFocus||e.openOnFocus==null&&e.openOnHover),m=_(()=>e.openOnClick||e.openOnClick==null&&!e.openOnHover&&!c.value),{runOpenDelay:v,runCloseDelay:d}=gl(e,g=>{g===(e.openOnHover&&o||c.value&&r)&&!(e.openOnHover&&n.value&&!a.value)&&(n.value!==g&&(u=!0),n.value=g)}),y=q(),f={onClick:g=>{g.stopPropagation(),l.value=g.currentTarget||g.target,n.value||(y.value=[g.clientX,g.clientY]),n.value=!n.value},onMouseenter:g=>{o=!0,l.value=g.currentTarget||g.target,v()},onMouseleave:g=>{o=!1,d()},onFocus:g=>{Li(g.target,":focus-visible")!==!1&&(r=!0,g.stopPropagation(),l.value=g.currentTarget||g.target,v())},onBlur:g=>{r=!1,g.stopPropagation(),d({minDelay:1})}},p=_(()=>{const g={};return m.value&&(g.onClick=f.onClick),e.openOnHover&&(g.onMouseenter=f.onMouseenter,g.onMouseleave=f.onMouseleave),c.value&&(g.onFocus=f.onFocus,g.onBlur=f.onBlur),g}),S=_(()=>{const g={};if(e.openOnHover&&(g.onMouseenter=()=>{o=!0,v()},g.onMouseleave=()=>{o=!1,d()}),c.value&&(g.onFocusin=R=>{R.target.matches(":focus-visible")&&(r=!0,v())},g.onFocusout=()=>{r=!1,d({minDelay:1})}),e.closeOnContentClick){const R=Ee(vl,null);g.onClick=()=>{n.value=!1,R==null||R.closeParents()}}return g}),I=_(()=>{const g={};return e.openOnHover&&(g.onMouseenter=()=>{u&&(o=!0,u=!1,v())},g.onMouseleave=()=>{o=!1,d()}),g});W(a,g=>{var R;g&&(e.openOnHover&&!o&&(!c.value||!r)||c.value&&!r&&(!e.openOnHover||!o))&&!((R=i.value)!=null&&R.contains(document.activeElement))&&(n.value=!1)}),W(n,g=>{g||setTimeout(()=>{y.value=void 0})},{flush:"post"});const L=Un();Re(()=>{L.value&&ce(()=>{l.value=L.el})});const w=Un(),h=_(()=>e.target==="cursor"&&y.value?y.value:w.value?w.el:Ha(e.target,s)||l.value),C=_(()=>Array.isArray(h.value)?void 0:h.value);let x;return W(()=>!!e.activator,g=>{g&&Ae?(x=_a(),x.run(()=>{bl(e,s,{activatorEl:l,activatorEvents:p})})):x&&x.stop()},{flush:"post",immediate:!0}),ve(()=>{x==null||x.stop()}),{activatorEl:l,activatorRef:L,target:h,targetEl:C,targetRef:w,activatorEvents:p,contentEvents:S,scrimEvents:I}}function bl(e,t,n){let{activatorEl:a,activatorEvents:i}=n;W(()=>e.activator,(r,u)=>{if(u&&r!==u){const c=o(u);c&&l(c)}r&&ce(()=>s())},{immediate:!0}),W(()=>e.activatorProps,()=>{s()}),ve(()=>{l()});function s(){let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:o(),u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e.activatorProps;r&&Ei(r,Y(i.value,u))}function l(){let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:o(),u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e.activatorProps;r&&Vi(r,Y(i.value,u))}function o(){let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:e.activator;const u=Ha(r,t);return a.value=(u==null?void 0:u.nodeType)===Node.ELEMENT_NODE?u:void 0,a.value}}function Ha(e,t){var a,i;if(!e)return;let n;if(e==="parent"){let s=(i=(a=t==null?void 0:t.proxy)==null?void 0:a.$el)==null?void 0:i.parentNode;for(;s!=null&&s.hasAttribute("data-no-activator");)s=s.parentNode;n=s}else typeof e=="string"?n=document.querySelector(e):"$el"in e?n=e.$el:n=e;return n}const Sl=T({retainFocus:Boolean,captureFocus:Boolean,disableInitialFocus:Boolean},"focusTrap"),Et=new Map;let ia=0;function sa(e){const t=document.activeElement;if(e.key!=="Tab"||!t)return;const n=Array.from(Et.values()).filter(u=>{var v;let{isActive:c,contentEl:m}=u;return c.value&&((v=m.value)==null?void 0:v.contains(t))}).map(u=>u.contentEl.value);let a,i=t.parentElement;for(;i;){if(n.includes(i)){a=i;break}i=i.parentElement}if(!a)return;const s=xt(a).filter(u=>u.tabIndex>=0);if(!s.length)return;const l=document.activeElement;if(s.length===1&&s[0].classList.contains("v-list")&&s[0].contains(l)){e.preventDefault();return}const o=s[0],r=s[s.length-1];e.shiftKey&&(l===o||o.classList.contains("v-list")&&o.contains(l))&&(e.preventDefault(),r.focus()),!e.shiftKey&&(l===r||r.classList.contains("v-list")&&r.contains(l))&&(e.preventDefault(),o.focus())}function pl(e,t){let{isActive:n,localTop:a,activatorEl:i,contentEl:s}=t;const l=Symbol("trap");let o=!1,r=-1;async function u(){o=!0,r=window.setTimeout(()=>{o=!1},100)}async function c(d){var p;const y=d.relatedTarget,f=d.target;document.removeEventListener("pointerdown",u),document.removeEventListener("keydown",m),await ce(),n.value&&!o&&y!==f&&s.value&&se(a)&&![document,s.value].includes(f)&&!s.value.contains(f)&&((p=xt(s.value)[0])==null||p.focus())}function m(d){if(d.key==="Tab"&&(document.removeEventListener("keydown",m),n.value&&s.value&&d.target&&!s.value.contains(d.target))){const y=xt(document.documentElement);if(d.shiftKey&&d.target===y.at(0)||!d.shiftKey&&d.target===y.at(-1)){const f=xt(s.value);f.length>0&&(d.preventDefault(),f[0].focus())}}}const v=k(()=>n.value&&e.captureFocus&&!e.disableInitialFocus);Ae&&(W(()=>e.retainFocus,d=>{d?Et.set(l,{isActive:n,contentEl:s}):Et.delete(l)},{immediate:!0}),W(v,d=>{d?(document.addEventListener("pointerdown",u),document.addEventListener("focusin",c,{once:!0}),document.addEventListener("keydown",m)):(document.removeEventListener("pointerdown",u),document.removeEventListener("focusin",c),document.removeEventListener("keydown",m))},{immediate:!0}),ia++<1&&document.addEventListener("keydown",sa)),ve(()=>{Et.delete(l),clearTimeout(r),document.removeEventListener("pointerdown",u),document.removeEventListener("focusin",c),document.removeEventListener("keydown",m),--ia<1&&document.removeEventListener("keydown",sa)})}function wl(){if(!Ae)return z(!1);const{ssr:e}=Ti();if(e){const t=z(!1);return it(()=>{t.value=!0}),t}else return z(!0)}const kl=T({eager:Boolean},"lazy");function Cl(e,t){const n=z(!1),a=k(()=>n.value||e.eager||t.value);W(t,()=>n.value=!0);function i(){e.eager||(n.value=!1)}return{isBooted:n,hasContent:a,onAfterLeave:i}}function Bn(){const t=xe("useScopeId").vnode.scopeId;return{scopeId:t?{[t]:""}:void 0}}const la=Symbol.for("vuetify:stack"),dt=vt([]);function _l(e,t,n){const a=xe("useStack"),i=!n,s=Ee(la,void 0),l=vt({activeChildren:new Set});qe(la,l);const o=z(Number(se(t)));ht(e,()=>{var m;const c=(m=dt.at(-1))==null?void 0:m[1];o.value=c?c+10:Number(se(t)),i&&dt.push([a.uid,o.value]),s==null||s.activeChildren.add(a.uid),ve(()=>{if(i){const v=ae(dt).findIndex(d=>d[0]===a.uid);dt.splice(v,1)}s==null||s.activeChildren.delete(a.uid)})});const r=z(!0);i&&Re(()=>{var m;const c=((m=dt.at(-1))==null?void 0:m[0])===a.uid;setTimeout(()=>r.value=c)});const u=k(()=>!l.activeChildren.size);return{globalTop:xa(r),localTop:u,stackStyles:k(()=>({zIndex:o.value}))}}function xl(e){return{teleportTarget:_(()=>{const n=e();if(n===!0||!Ae)return;const a=n===!1?document.body:typeof n=="string"?document.querySelector(n):n;if(a==null)return;let i=[...a.children].find(s=>s.matches(".v-overlay-container"));return i||(i=document.createElement("div"),i.className="v-overlay-container",a.appendChild(i)),i})}}const Ga=T({transition:{type:null,default:"fade-transition",validator:e=>e!==!0}},"transition"),Xe=(e,t)=>{let{slots:n}=t;const{transition:a,disabled:i,group:s,...l}=e,{component:o=s?wn:Ne,...r}=tn(a)?a:{};let u;return tn(a)?u=Y(r,Oi({disabled:i,group:s}),l):u=Y({name:i||!a?"":a},l),kn(o,u,n)};function Il(){return!0}function Ua(e,t,n){if(!e||Ka(e,n)===!1)return!1;const a=wa(t);if(typeof ShadowRoot<"u"&&a instanceof ShadowRoot&&a.host===e.target)return!1;const i=(typeof n.value=="object"&&n.value.include||(()=>[]))();return i.push(t),!i.some(s=>s==null?void 0:s.contains(e.target))}function Ka(e,t){return(typeof t.value=="object"&&t.value.closeConditional||Il)(e)}function Pl(e,t,n){const a=typeof n.value=="function"?n.value:n.value.handler;e.shadowTarget=e.target,t._clickOutside.lastMousedownWasOutside&&Ua(e,t,n)&&setTimeout(()=>{Ka(e,n)&&a&&a(e)},0)}function oa(e,t){const n=wa(e);t(document),typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&t(n)}const ra={mounted(e,t){const n=i=>Pl(i,e,t),a=i=>{e._clickOutside.lastMousedownWasOutside=Ua(i,e,t)};oa(e,i=>{i.addEventListener("click",n,!0),i.addEventListener("mousedown",a,!0)}),e._clickOutside||(e._clickOutside={lastMousedownWasOutside:!1}),e._clickOutside[t.instance.$.uid]={onClick:n,onMousedown:a}},beforeUnmount(e,t){e._clickOutside&&(oa(e,n=>{var s;if(!n||!((s=e._clickOutside)!=null&&s[t.instance.$.uid]))return;const{onClick:a,onMousedown:i}=e._clickOutside[t.instance.$.uid];n.removeEventListener("click",a,!0),n.removeEventListener("mousedown",i,!0)}),delete e._clickOutside[t.instance.$.uid])}};function Al(e){const{modelValue:t,color:n,...a}=e;return b(Ne,{name:"fade-transition",appear:!0},{default:()=>[e.modelValue&&P("div",Y({class:["v-overlay__scrim",e.color.backgroundColorClasses.value],style:e.color.backgroundColorStyles.value},a),null)]})}const Rn=T({absolute:Boolean,attach:[Boolean,String,Object],closeOnBack:{type:Boolean,default:!0},contained:Boolean,contentClass:null,contentProps:null,disabled:Boolean,opacity:[Number,String],noClickAnimation:Boolean,modelValue:Boolean,persistent:Boolean,scrim:{type:[Boolean,String],default:!0},zIndex:{type:[Number,String],default:2e3},...yl(),...ee(),...rt(),...kl(),...nl(),...rl(),...Sl(),...fe(),...Ga()},"VOverlay"),Rt=G()({name:"VOverlay",directives:{vClickOutside:ra},inheritAttrs:!1,props:{_disableGlobalStack:Boolean,...at(Rn(),["disableInitialFocus"])},emits:{"click:outside":e=>!0,"update:modelValue":e=>!0,keydown:e=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(e,t){let{slots:n,attrs:a,emit:i}=t;const s=xe("VOverlay"),l=q(),o=q(),r=q(),u=Pe(e,"modelValue"),c=_({get:()=>u.value,set:F=>{F&&e.disabled||(u.value=F)}}),{themeClasses:m}=ye(e),{rtlClasses:v,isRtl:d}=Dt(),{hasContent:y,onAfterLeave:f}=Cl(e,c),p=Je(()=>typeof e.scrim=="string"?e.scrim:null),{globalTop:S,localTop:I,stackStyles:L}=_l(c,()=>e.zIndex,e._disableGlobalStack),{activatorEl:w,activatorRef:h,target:C,targetEl:x,targetRef:g,activatorEvents:R,contentEvents:M,scrimEvents:E}=hl(e,{isActive:c,isTop:I,contentEl:r}),{teleportTarget:V}=xl(()=>{var De,D,re;const F=e.attach||e.contained;if(F)return F;const ue=((De=w==null?void 0:w.value)==null?void 0:De.getRootNode())||((re=(D=s.proxy)==null?void 0:D.$el)==null?void 0:re.getRootNode());return ue instanceof ShadowRoot?ue:!1}),{dimensionStyles:A}=ut(e),N=wl(),{scopeId:O}=Bn();W(()=>e.disabled,F=>{F&&(c.value=!1)});const{contentStyles:U,updateLocation:X}=al(e,{isRtl:d,contentEl:r,target:C,isActive:c});ul(e,{root:l,contentEl:r,targetEl:x,target:C,isActive:c,updateLocation:X});function te(F){i("click:outside",F),e.persistent?be():c.value=!1}function he(F){return c.value&&I.value&&(!e.scrim||F.target===o.value||F instanceof MouseEvent&&F.shadowTarget===o.value)}pl(e,{isActive:c,localTop:I,contentEl:r,activatorEl:w}),Ae&&W(c,F=>{F?window.addEventListener("keydown",K):window.removeEventListener("keydown",K)},{immediate:!0}),je(()=>{Ae&&window.removeEventListener("keydown",K)});function K(F){var ue,De,D;F.key==="Escape"&&S.value&&((ue=r.value)!=null&&ue.contains(document.activeElement)||i("keydown",F),e.persistent?be():(c.value=!1,(De=r.value)!=null&&De.contains(document.activeElement)&&((D=w.value)==null||D.focus())))}function $(F){F.key==="Escape"&&!S.value||i("keydown",F)}const Z=Hs();ht(()=>e.closeOnBack,()=>{Gs(Z,F=>{S.value&&c.value?(F(!1),e.persistent?be():c.value=!1):F()})});const j=q();W(()=>c.value&&(e.absolute||e.contained)&&V.value==null,F=>{if(F){const ue=Bi(l.value);ue&&ue!==document.scrollingElement&&(j.value=ue.scrollTop)}});function be(){e.noClickAnimation||r.value&&Me(r.value,[{transformOrigin:"center"},{transform:"scale(1.03)"},{transformOrigin:"center"}],{duration:150,easing:nn})}function Ue(){i("afterEnter")}function $e(){f(),i("afterLeave")}return J(()=>{var F;return P(Be,null,[(F=n.activator)==null?void 0:F.call(n,{isActive:c.value,targetRef:g,props:Y({ref:h},R.value,e.activatorProps)}),N.value&&y.value&&b(Ji,{disabled:!V.value,to:V.value},{default:()=>[P("div",Y({class:["v-overlay",{"v-overlay--absolute":e.absolute||e.contained,"v-overlay--active":c.value,"v-overlay--contained":e.contained},m.value,v.value,e.class],style:[L.value,{"--v-overlay-opacity":e.opacity,top:B(j.value)},e.style],ref:l,onKeydown:$},O,a),[b(Al,Y({color:p,modelValue:c.value&&!!e.scrim,ref:o},E.value),null),b(Xe,{appear:!0,persisted:!0,transition:e.transition,target:C.value,onAfterEnter:Ue,onAfterLeave:$e},{default:()=>{var ue;return[ze(P("div",Y({ref:r,class:["v-overlay__content",e.contentClass],style:[A.value,U.value]},M.value,e.contentProps),[(ue=n.default)==null?void 0:ue.call(n,{isActive:c})]),[[Cn,c.value],[ra,{handler:te,closeConditional:he,include:()=>[w.value]}]])]}})])]})])}),{activatorEl:w,scrimEl:o,target:C,animateClick:be,contentEl:r,rootEl:l,globalTop:S,localTop:I,updateLocation:X}}}),Jt=Symbol("Forwarded refs");function Qt(e,t){let n=e;for(;n;){const a=Reflect.getOwnPropertyDescriptor(n,t);if(a)return a;n=Object.getPrototypeOf(n)}}function Xa(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;at.value=e())}function s(l){const o=l?getComputedStyle(l):{transitionDuration:.2},r=parseFloat(o.transitionDuration)*1e3||200;if(a(),t.value<=0)return;const u=performance.now();n=window.setInterval(()=>{const c=performance.now()-u+r;t.value=Math.max(e()-c,0),t.value<=0&&a()},r)}return ve(a),{clear:a,time:t,start:s,reset:i}}const Vl=T({multiLine:Boolean,text:String,timer:[Boolean,String],timeout:{type:[Number,String],default:5e3},vertical:Boolean,...zt({location:"bottom"}),...En(),...Le(),...Ge(),...fe(),...at(Rn({transition:"v-snackbar-transition"}),["persistent","noClickAnimation","retainFocus","captureFocus","disableInitialFocus","scrim","scrollStrategy","stickToTarget","viewportMargin"])},"VSnackbar"),Ll=G()({name:"VSnackbar",props:Vl(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:n}=t;const a=Pe(e,"modelValue"),{positionClasses:i}=Vn(e),{scopeId:s}=Bn(),{themeClasses:l}=ye(e),{colorClasses:o,colorStyles:r,variantClasses:u}=wt(e),{roundedClasses:c}=Te(e),m=El(()=>Number(e.timeout)),v=q(),d=q(),y=z(!1),f=z(0),p=q(),S=Ee($i,void 0);ht(()=>!!S,()=>{const E=Ri();Re(()=>{p.value=E.mainStyles.value})}),W(a,L),W(()=>e.timeout,L),it(()=>{a.value&&L()});let I=-1;function L(){m.reset(),window.clearTimeout(I);const E=Number(e.timeout);if(!a.value||E===-1)return;const V=Ni(d.value);m.start(V),I=window.setTimeout(()=>{a.value=!1},E)}function w(){m.reset(),window.clearTimeout(I)}function h(){y.value=!0,w()}function C(){y.value=!1,L()}function x(E){f.value=E.touches[0].clientY}function g(E){Math.abs(f.value-E.changedTouches[0].clientY)>50&&(a.value=!1)}function R(){y.value&&C()}const M=_(()=>e.location.split(" ").reduce((E,V)=>(E[`v-snackbar--${V}`]=!0,E),{}));return J(()=>{const E=Rt.filterProps(e),V=!!(n.default||n.text||e.text);return b(Rt,Y({ref:v,class:["v-snackbar",{"v-snackbar--active":a.value,"v-snackbar--multi-line":e.multiLine&&!e.vertical,"v-snackbar--timer":!!e.timer,"v-snackbar--vertical":e.vertical},M.value,i.value,e.class],style:[p.value,e.style]},E,{modelValue:a.value,"onUpdate:modelValue":A=>a.value=A,contentProps:Y({class:["v-snackbar__wrapper",l.value,o.value,c.value,u.value],style:[r.value],onPointerenter:h,onPointerleave:C},E.contentProps),persistent:!0,noClickAnimation:!0,scrim:!1,scrollStrategy:"none",_disableGlobalStack:!0,onTouchstartPassive:x,onTouchend:g,onAfterLeave:R},s),{default:()=>{var A,N;return[pt(!1,"v-snackbar"),e.timer&&!y.value&&P("div",{key:"timer",class:"v-snackbar__timer"},[b(Ta,{ref:d,color:typeof e.timer=="string"?e.timer:"info",max:e.timeout,modelValue:m.time.value},null)]),V&&P("div",{key:"content",class:"v-snackbar__content",role:"status","aria-live":"polite"},[((A=n.text)==null?void 0:A.call(n))??e.text,(N=n.default)==null?void 0:N.call(n)]),n.actions&&b(ge,{defaults:{VBtn:{variant:"text",ripple:!1,slim:!0}}},{default:()=>[P("div",{class:"v-snackbar__actions"},[n.actions({isActive:a})])]})]},activator:n.activator})}),Xa({},v)}}),Tl=Qi({name:"GlobalMessage",setup(){var s;const e=q(!1),t=q(null),n={success:"mdi-check-circle",error:"mdi-alert-circle",warning:"mdi-alert",info:"mdi-information"},a={success:"success",error:"error",warning:"warning",info:"info"},i=(s=Ke==null?void 0:Ke.onSnackbar)==null?void 0:s.call(Ke,async l=>{l&&(e.value&&(e.value=!1,await ce()),t.value=l,e.value=!0)});return je(()=>i==null?void 0:i()),{snackbar:e,message:t,icons:n,colors:a}}}),Ol={class:"d-flex align-center"},Bl={class:"text-subtitle-2 font-weight-medium"},Rl={key:0,class:"text-body-2"};function Nl(e,t,n,a,i,s){var l;return Ie(),Fe(Ll,{modelValue:e.snackbar,"onUpdate:modelValue":t[1]||(t[1]=o=>e.snackbar=o),color:e.colors[(l=e.message)==null?void 0:l.type]||e.colors.info,timeout:2e3,location:"top right","multi-line":"",variant:"tonal"},{actions:ie(()=>[b(Wa,{icon:"mdi-close",variant:"text",onClick:t[0]||(t[0]=o=>e.snackbar=!1)})]),default:ie(()=>{var o,r,u,c;return[P("div",Ol,[b(_e,{icon:e.icons[(o=e.message)==null?void 0:o.type]||e.icons.info,class:"mr-2"},null,8,["icon"]),P("div",null,[P("div",Bl,Ce((r=e.message)==null?void 0:r.title),1),(u=e.message)!=null&&u.content?(Ie(),Ia("div",Rl,Ce((c=e.message)==null?void 0:c.content),1)):ln("",!0)])])]}),_:1},8,["modelValue","color"])}const Ya=Pa(Tl,[["render",Nl]]),$l=T({...ee(),...oe()},"VCardActions"),Ja=G()({name:"VCardActions",props:$l(),setup(e,t){let{slots:n}=t;return $t({VBtn:{slim:!0,variant:"text"}}),J(()=>b(e.tag,{class:H(["v-card-actions",e.class]),style:Q(e.style)},n)),{}}}),Dl=T({opacity:[Number,String],...ee(),...oe()},"VCardSubtitle"),Ml=G()({name:"VCardSubtitle",props:Dl(),setup(e,t){let{slots:n}=t;return J(()=>b(e.tag,{class:H(["v-card-subtitle",e.class]),style:Q([{"--v-card-subtitle-opacity":e.opacity},e.style])},n)),{}}}),Qa=Sn("v-card-title");function Fl(e){return{aspectStyles:_(()=>{const t=Number(e.aspectRatio);return t?{paddingBottom:String(1/t*100)+"%"}:void 0})}}const Za=T({aspectRatio:[String,Number],contentClass:null,inline:Boolean,...ee(),...rt()},"VResponsive"),ua=G()({name:"VResponsive",props:Za(),setup(e,t){let{slots:n}=t;const{aspectStyles:a}=Fl(e),{dimensionStyles:i}=ut(e);return J(()=>{var s;return P("div",{class:H(["v-responsive",{"v-responsive--inline":e.inline},e.class]),style:Q([i.value,e.style])},[P("div",{class:"v-responsive__sizer",style:Q(a.value)},null),(s=n.additional)==null?void 0:s.call(n),n.default&&P("div",{class:H(["v-responsive__content",e.contentClass])},[n.default()])])}),{}}});function ca(e,t){if(!bn)return;const n=t.modifiers||{},a=t.value,{handler:i,options:s}=typeof a=="object"?a:{handler:a,options:{}},l=new IntersectionObserver(function(){var m;let o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],r=arguments.length>1?arguments[1]:void 0;const u=(m=e._observe)==null?void 0:m[t.instance.$.uid];if(!u)return;const c=o.some(v=>v.isIntersecting);i&&(!n.quiet||u.init)&&(!n.once||c||u.init)&&i(c,o,r),c&&n.once?dn(e,t):u.init=!0},s);e._observe=Object(e._observe),e._observe[t.instance.$.uid]={init:!1,observer:l},l.observe(e)}function dn(e,t){var a;const n=(a=e._observe)==null?void 0:a[t.instance.$.uid];n&&(n.observer.unobserve(e),delete e._observe[t.instance.$.uid])}const da={mounted:ca,unmounted:dn,updated:(e,t)=>{var n;(n=e._observe)!=null&&n[t.instance.$.uid]&&(dn(e,t),ca(e,t))}},zl=T({absolute:Boolean,alt:String,cover:Boolean,color:String,draggable:{type:[Boolean,String],default:void 0},eager:Boolean,gradient:String,imageClass:null,lazySrc:String,options:{type:Object,default:()=>({root:void 0,rootMargin:void 0,threshold:void 0})},sizes:String,src:{type:[String,Object],default:""},crossorigin:String,referrerpolicy:String,srcset:String,position:String,...Za(),...ee(),...Le(),...Ga()},"VImg"),ei=G()({name:"VImg",directives:{vIntersect:da},props:zl(),emits:{loadstart:e=>!0,load:e=>!0,error:e=>!0},setup(e,t){let{emit:n,slots:a}=t;const{backgroundColorClasses:i,backgroundColorStyles:s}=Je(()=>e.color),{roundedClasses:l}=Te(e),o=xe("VImg"),r=z(""),u=q(),c=z(e.eager?"loading":"idle"),m=z(),v=z(),d=_(()=>e.src&&typeof e.src=="object"?{src:e.src.src,srcset:e.srcset||e.src.srcset,lazySrc:e.lazySrc||e.src.lazySrc,aspect:Number(e.aspectRatio||e.src.aspect||0)}:{src:e.src,srcset:e.srcset,lazySrc:e.lazySrc,aspect:Number(e.aspectRatio||0)}),y=_(()=>d.value.aspect||m.value/v.value||0);W(()=>e.src,()=>{f(c.value!=="idle")}),W(y,(V,A)=>{!V&&A&&u.value&&w(u.value)}),_n(()=>f());function f(V){if(!(e.eager&&V)&&!(bn&&!V&&!e.eager)){if(c.value="loading",d.value.lazySrc){const A=new Image;A.src=d.value.lazySrc,w(A,null)}d.value.src&&ce(()=>{var A;n("loadstart",((A=u.value)==null?void 0:A.currentSrc)||d.value.src),setTimeout(()=>{var N;if(!o.isUnmounted)if((N=u.value)!=null&&N.complete){if(u.value.naturalWidth||S(),c.value==="error")return;y.value||w(u.value,null),c.value==="loading"&&p()}else y.value||w(u.value),I()})})}}function p(){var V;o.isUnmounted||(I(),w(u.value),c.value="loaded",n("load",((V=u.value)==null?void 0:V.currentSrc)||d.value.src))}function S(){var V;o.isUnmounted||(c.value="error",n("error",((V=u.value)==null?void 0:V.currentSrc)||d.value.src))}function I(){const V=u.value;V&&(r.value=V.currentSrc||V.src)}let L=-1;je(()=>{clearTimeout(L)});function w(V){let A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:100;const N=()=>{if(clearTimeout(L),o.isUnmounted)return;const{naturalHeight:O,naturalWidth:U}=V;O||U?(m.value=U,v.value=O):!V.complete&&c.value==="loading"&&A!=null?L=window.setTimeout(N,A):(V.currentSrc.endsWith(".svg")||V.currentSrc.startsWith("data:image/svg+xml"))&&(m.value=1,v.value=1)};N()}const h=k(()=>({"v-img__img--cover":e.cover,"v-img__img--contain":!e.cover})),C=()=>{var N;if(!d.value.src||c.value==="idle")return null;const V=P("img",{class:H(["v-img__img",h.value,e.imageClass]),style:{objectPosition:e.position},crossorigin:e.crossorigin,src:d.value.src,srcset:d.value.srcset,alt:e.alt,referrerpolicy:e.referrerpolicy,draggable:e.draggable,sizes:e.sizes,ref:u,onLoad:p,onError:S},null),A=(N=a.sources)==null?void 0:N.call(a);return b(Xe,{transition:e.transition,appear:!0},{default:()=>[ze(A?P("picture",{class:"v-img__picture"},[A,V]):V,[[Cn,c.value==="loaded"]])]})},x=()=>b(Xe,{transition:e.transition},{default:()=>[d.value.lazySrc&&c.value!=="loaded"&&P("img",{class:H(["v-img__img","v-img__img--preload",h.value]),style:{objectPosition:e.position},crossorigin:e.crossorigin,src:d.value.lazySrc,alt:e.alt,referrerpolicy:e.referrerpolicy,draggable:e.draggable},null)]}),g=()=>a.placeholder?b(Xe,{transition:e.transition,appear:!0},{default:()=>[(c.value==="loading"||c.value==="error"&&!a.error)&&P("div",{class:"v-img__placeholder"},[a.placeholder()])]}):null,R=()=>a.error?b(Xe,{transition:e.transition,appear:!0},{default:()=>[c.value==="error"&&P("div",{class:"v-img__error"},[a.error()])]}):null,M=()=>e.gradient?P("div",{class:"v-img__gradient",style:{backgroundImage:`linear-gradient(${e.gradient})`}},null):null,E=z(!1);{const V=W(y,A=>{A&&(requestAnimationFrame(()=>{requestAnimationFrame(()=>{E.value=!0})}),V())})}return J(()=>{const V=ua.filterProps(e);return ze(b(ua,Y({class:["v-img",{"v-img--absolute":e.absolute,"v-img--booting":!E.value,"v-img--fit-content":e.width==="fit-content"},i.value,l.value,e.class],style:[{width:B(e.width==="auto"?m.value:e.width)},s.value,e.style]},V,{aspectRatio:y.value,"aria-label":e.alt,role:e.alt?"img":void 0}),{additional:()=>P(Be,null,[b(C,null,null),b(x,null,null),b(M,null,null),b(g,null,null),b(R,null,null)]),default:a.default}),[[da,{handler:f,options:e.options},null,{once:!0}]])}),{currentSrc:r,image:u,state:c,naturalWidth:m,naturalHeight:v}}}),Wl=T({start:Boolean,end:Boolean,icon:le,image:String,text:String,...st(),...ee(),...He(),...Le(),...Mt(),...oe(),...fe(),...Ge({variant:"flat"})},"VAvatar"),Nt=G()({name:"VAvatar",props:Wl(),setup(e,t){let{slots:n}=t;const{themeClasses:a}=ye(e),{borderClasses:i}=lt(e),{colorClasses:s,colorStyles:l,variantClasses:o}=wt(e),{densityClasses:r}=ot(e),{roundedClasses:u}=Te(e),{sizeClasses:c,sizeStyles:m}=Ft(e);return J(()=>b(e.tag,{class:H(["v-avatar",{"v-avatar--start":e.start,"v-avatar--end":e.end},a.value,i.value,s.value,r.value,u.value,c.value,o.value,e.class]),style:Q([l.value,m.value,e.style])},{default:()=>[n.default?b(ge,{key:"content-defaults",defaults:{VImg:{cover:!0,src:e.image},VIcon:{icon:e.icon}}},{default:()=>[n.default()]}):e.image?b(ei,{key:"image",src:e.image,alt:"",cover:!0},null):e.icon?b(_e,{key:"icon",icon:e.icon},null):e.text,pt(!1,"v-avatar")]})),{}}}),ql=T({appendAvatar:String,appendIcon:le,prependAvatar:String,prependIcon:le,subtitle:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},...ee(),...He(),...oe()},"VCardItem"),jl=G()({name:"VCardItem",props:ql(),setup(e,t){let{slots:n}=t;return J(()=>{const a=!!(e.prependAvatar||e.prependIcon),i=!!(a||n.prepend),s=!!(e.appendAvatar||e.appendIcon),l=!!(s||n.append),o=!!(e.title!=null||n.title),r=!!(e.subtitle!=null||n.subtitle);return b(e.tag,{class:H(["v-card-item",e.class]),style:Q(e.style)},{default:()=>{var u;return[i&&P("div",{key:"prepend",class:"v-card-item__prepend"},[n.prepend?b(ge,{key:"prepend-defaults",disabled:!a,defaults:{VAvatar:{density:e.density,image:e.prependAvatar},VIcon:{density:e.density,icon:e.prependIcon}}},n.prepend):P(Be,null,[e.prependAvatar&&b(Nt,{key:"prepend-avatar",density:e.density,image:e.prependAvatar},null),e.prependIcon&&b(_e,{key:"prepend-icon",density:e.density,icon:e.prependIcon},null)])]),P("div",{class:"v-card-item__content"},[o&&b(Qa,{key:"title"},{default:()=>{var c;return[((c=n.title)==null?void 0:c.call(n))??Ce(e.title)]}}),r&&b(Ml,{key:"subtitle"},{default:()=>{var c;return[((c=n.subtitle)==null?void 0:c.call(n))??Ce(e.subtitle)]}}),(u=n.default)==null?void 0:u.call(n)]),l&&P("div",{key:"append",class:"v-card-item__append"},[n.append?b(ge,{key:"append-defaults",disabled:!s,defaults:{VAvatar:{density:e.density,image:e.appendAvatar},VIcon:{density:e.density,icon:e.appendIcon}}},n.append):P(Be,null,[e.appendIcon&&b(_e,{key:"append-icon",density:e.density,icon:e.appendIcon},null),e.appendAvatar&&b(Nt,{key:"append-avatar",density:e.density,image:e.appendAvatar},null)])])]}})}),{}}}),Hl=T({opacity:[Number,String],...ee(),...oe()},"VCardText"),fn=G()({name:"VCardText",props:Hl(),setup(e,t){let{slots:n}=t;return J(()=>b(e.tag,{class:H(["v-card-text",e.class]),style:Q([{"--v-card-text-opacity":e.opacity},e.style])},n)),{}}}),Gl=T({appendAvatar:String,appendIcon:le,disabled:Boolean,flat:Boolean,hover:Boolean,image:String,link:{type:Boolean,default:void 0},prependAvatar:String,prependIcon:le,ripple:{type:[Boolean,Object],default:!0},subtitle:{type:[String,Number,Boolean],default:void 0},text:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},...st(),...ee(),...He(),...rt(),...bt(),...Oa(),...zt(),...En(),...Le(),...Tn(),...oe(),...fe(),...Ge({variant:"elevated"})},"VCard"),fa=G()({name:"VCard",directives:{vRipple:yt},props:Gl(),setup(e,t){let{attrs:n,slots:a}=t;const{themeClasses:i}=ye(e),{borderClasses:s}=lt(e),{colorClasses:l,colorStyles:o,variantClasses:r}=wt(e),{densityClasses:u}=ot(e),{dimensionStyles:c}=ut(e),{elevationClasses:m}=St(e),{loaderClasses:v}=Ba(e),{locationStyles:d}=An(e),{positionClasses:y}=Vn(e),{roundedClasses:f}=Te(e),p=Ln(e,n),S=z(void 0);return W(()=>e.loading,(I,L)=>{S.value=!I&&typeof L=="string"?L:typeof I=="boolean"?void 0:I},{immediate:!0}),J(()=>{const I=e.link!==!1&&p.isLink.value,L=!e.disabled&&e.link!==!1&&(e.link||p.isClickable.value),w=I?"a":e.tag,h=!!(a.title||e.title!=null),C=!!(a.subtitle||e.subtitle!=null),x=h||C,g=!!(a.append||e.appendAvatar||e.appendIcon),R=!!(a.prepend||e.prependAvatar||e.prependIcon),M=!!(a.image||e.image),E=x||R||g,V=!!(a.text||e.text!=null);return ze(b(w,Y(p.linkProps,{class:["v-card",{"v-card--disabled":e.disabled,"v-card--flat":e.flat,"v-card--hover":e.hover&&!(e.disabled||e.flat),"v-card--link":L},i.value,s.value,l.value,u.value,m.value,v.value,y.value,f.value,r.value,e.class],style:[o.value,c.value,d.value,{"--v-card-height":B(e.height)},e.style],onClick:L&&p.navigate.value,tabindex:e.disabled?-1:void 0}),{default:()=>{var A;return[M&&P("div",{key:"image",class:"v-card__image"},[a.image?b(ge,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{cover:!0,src:e.image}}},a.image):b(ei,{key:"image-img",cover:!0,src:e.image},null)]),b(Ws,{name:"v-card",active:!!e.loading,color:S.value},{default:a.loader}),E&&b(jl,{key:"item",prependAvatar:e.prependAvatar,prependIcon:e.prependIcon,title:e.title,subtitle:e.subtitle,appendAvatar:e.appendAvatar,appendIcon:e.appendIcon},{default:a.item,prepend:a.prepend,title:a.title,subtitle:a.subtitle,append:a.append}),V&&b(fn,{key:"text"},{default:()=>{var N;return[((N=a.text)==null?void 0:N.call(a))??e.text]}}),(A=a.default)==null?void 0:A.call(a),a.actions&&b(Ja,null,{default:a.actions}),pt(L,"v-card")]}}),[[yt,L&&e.ripple]])}),{}}}),Ul=T({disabled:Boolean,group:Boolean,hideOnLeave:Boolean,leaveAbsolute:Boolean,mode:String,origin:String},"transition");function me(e,t,n){return G()({name:e,props:Ul({mode:n,origin:t}),setup(a,i){let{slots:s}=i;const l={onBeforeEnter(o){a.origin&&(o.style.transformOrigin=a.origin)},onLeave(o){if(a.leaveAbsolute){const{offsetTop:r,offsetLeft:u,offsetWidth:c,offsetHeight:m}=o;o._transitionInitialStyles={position:o.style.position,top:o.style.top,left:o.style.left,width:o.style.width,height:o.style.height},o.style.position="absolute",o.style.top=`${r}px`,o.style.left=`${u}px`,o.style.width=`${c}px`,o.style.height=`${m}px`}a.hideOnLeave&&o.style.setProperty("display","none","important")},onAfterLeave(o){if(a.leaveAbsolute&&(o!=null&&o._transitionInitialStyles)){const{position:r,top:u,left:c,width:m,height:v}=o._transitionInitialStyles;delete o._transitionInitialStyles,o.style.position=r||"",o.style.top=u||"",o.style.left=c||"",o.style.width=m||"",o.style.height=v||""}}};return()=>{const o=a.group?wn:Ne;return kn(o,{name:a.disabled?"":e,css:!a.disabled,...a.group?void 0:{mode:a.mode},...a.disabled?{}:l},s.default)}}})}function Nn(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"in-out";return G()({name:e,props:{mode:{type:String,default:n},disabled:{type:Boolean,default:Vt()},group:Boolean,hideOnLeave:Boolean},setup(a,i){let{slots:s}=i;const l=a.group?wn:Ne;return()=>kn(l,{name:a.disabled?"":e,css:!a.disabled,...a.disabled?{}:{...t,onLeave:o=>{var r;a.hideOnLeave?o.style.setProperty("display","none","important"):(r=t.onLeave)==null||r.call(t,o)}}},s.default)}})}function $n(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"y";return{onBeforeEnter(i){i._parent=i.parentNode,i._initialStyle={transition:i.style.transition,overflow:i.style.overflow,width:i.style.width,height:i.style.height}},onEnter(i){const s=i._initialStyle;if(!s)return;i.style.setProperty("transition","none","important"),i.style.overflow="hidden";const l=`${i.offsetWidth}px`,o=`${i.offsetHeight}px`;["x","both"].includes(t)&&(i.style.width="0"),["y","both"].includes(t)&&(i.style.height="0"),i.offsetHeight,i.style.transition=s.transition,e&&i._parent&&i._parent.classList.add(e),requestAnimationFrame(()=>{["x","both"].includes(t)&&(i.style.width=l),["y","both"].includes(t)&&(i.style.height=o)})},onAfterEnter:a,onEnterCancelled:a,onLeave(i){i._initialStyle={transition:"",overflow:i.style.overflow,width:i.style.width,height:i.style.height},i.style.overflow="hidden",["x","both"].includes(t)&&(i.style.width=`${i.offsetWidth}px`),["y","both"].includes(t)&&(i.style.height=`${i.offsetHeight}px`),i.offsetHeight,requestAnimationFrame(()=>{["x","both"].includes(t)&&(i.style.width="0"),["y","both"].includes(t)&&(i.style.height="0")})},onAfterLeave:n,onLeaveCancelled:n};function n(i){e&&i._parent&&i._parent.classList.remove(e),a(i)}function a(i){if(!i._initialStyle)return;const{width:s,height:l}=i._initialStyle;i.style.overflow=i._initialStyle.overflow,s!=null&&["x","both"].includes(t)&&(i.style.width=s),l!=null&&["y","both"].includes(t)&&(i.style.height=l),delete i._initialStyle}}const Kl=T({target:[Object,Array]},"v-dialog-transition"),Zt=new WeakMap,Xl=G()({name:"VDialogTransition",props:Kl(),setup(e,t){let{slots:n}=t;const a={onBeforeEnter(i){i.style.pointerEvents="none",i.style.visibility="hidden"},async onEnter(i,s){var v;await new Promise(d=>requestAnimationFrame(d)),await new Promise(d=>requestAnimationFrame(d)),i.style.visibility="";const l=ma(e.target,i),{x:o,y:r,sx:u,sy:c,speed:m}=l;if(Zt.set(i,l),Vt())Me(i,[{opacity:0},{}],{duration:125*m,easing:Xn}).finished.then(()=>s());else{const d=Me(i,[{transform:`translate(${o}px, ${r}px) scale(${u}, ${c})`,opacity:0},{}],{duration:225*m,easing:Xn});(v=va(i))==null||v.forEach(y=>{Me(y,[{opacity:0},{opacity:0,offset:.33},{}],{duration:225*2*m,easing:nn})}),d.finished.then(()=>s())}},onAfterEnter(i){i.style.removeProperty("pointer-events")},onBeforeLeave(i){i.style.pointerEvents="none"},async onLeave(i,s){var v;await new Promise(d=>requestAnimationFrame(d));let l;!Zt.has(i)||Array.isArray(e.target)||e.target.offsetParent||e.target.getClientRects().length?l=ma(e.target,i):l=Zt.get(i);const{x:o,y:r,sx:u,sy:c,speed:m}=l;Vt()?Me(i,[{},{opacity:0}],{duration:85*m,easing:Kn}).finished.then(()=>s()):(Me(i,[{},{transform:`translate(${o}px, ${r}px) scale(${u}, ${c})`,opacity:0}],{duration:125*m,easing:Kn}).finished.then(()=>s()),(v=va(i))==null||v.forEach(y=>{Me(y,[{},{opacity:0,offset:.2},{opacity:0}],{duration:125*2*m,easing:nn})}))},onAfterLeave(i){i.style.removeProperty("pointer-events")}};return()=>e.target?b(Ne,Y({name:"dialog-transition"},a,{css:!1}),n):b(Ne,{name:"dialog-transition"},n)}});function va(e){var n;const t=(n=e.querySelector(":scope > .v-card, :scope > .v-sheet, :scope > .v-list"))==null?void 0:n.children;return t&&[...t]}function ma(e,t){const n=Sa(e),a=pa(t),[i,s]=getComputedStyle(t).transformOrigin.split(" ").map(S=>parseFloat(S)),[l,o]=getComputedStyle(t).getPropertyValue("--v-overlay-anchor-origin").split(" ");let r=n.left+n.width/2;l==="left"||o==="left"?r-=n.width/2:(l==="right"||o==="right")&&(r+=n.width/2);let u=n.top+n.height/2;l==="top"||o==="top"?u-=n.height/2:(l==="bottom"||o==="bottom")&&(u+=n.height/2);const c=n.width/a.width,m=n.height/a.height,v=Math.max(1,c,m),d=c/v||0,y=m/v||0,f=a.width*a.height/(window.innerWidth*window.innerHeight),p=f>.12?Math.min(1.5,(f-.12)*10+1):1;return{x:r-(i+a.left),y:u-(s+a.top),sx:d,sy:y,speed:p}}me("fab-transition","center center","out-in");me("dialog-bottom-transition");me("dialog-top-transition");const zo=me("fade-transition"),Wo=me("scale-transition");me("scroll-x-transition");me("scroll-x-reverse-transition");me("scroll-y-transition");me("scroll-y-reverse-transition");me("slide-x-transition");const qo=me("slide-x-reverse-transition"),jo=me("slide-y-transition");me("slide-y-reverse-transition");const Yl=Nn("expand-transition",$n()),Ho=Nn("expand-x-transition",$n("","x"));Nn("expand-both-transition",$n("","both"));const Jl=T({fullscreen:Boolean,scrollable:Boolean,...at(Rn({captureFocus:!0,origin:"center center",scrollStrategy:"block",transition:{component:Xl},zIndex:2400,retainFocus:!0}),["disableInitialFocus"])},"VDialog"),Ql=G()({name:"VDialog",props:Jl(),emits:{"update:modelValue":e=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(e,t){let{emit:n,slots:a}=t;const i=Pe(e,"modelValue"),{scopeId:s}=Bn(),l=q();function o(){var u;n("afterEnter"),(e.scrim||e.retainFocus)&&((u=l.value)!=null&&u.contentEl)&&!l.value.contentEl.contains(document.activeElement)&&l.value.contentEl.focus({preventScroll:!0})}function r(){n("afterLeave")}return W(i,async u=>{var c;u||(await ce(),(c=l.value.activatorEl)==null||c.focus({preventScroll:!0}))}),J(()=>{const u=Rt.filterProps(e),c=Y({"aria-haspopup":"dialog"},e.activatorProps),m=Y({tabindex:-1},e.contentProps);return b(Rt,Y({ref:l,class:["v-dialog",{"v-dialog--fullscreen":e.fullscreen,"v-dialog--scrollable":e.scrollable},e.class],style:e.style},u,{modelValue:i.value,"onUpdate:modelValue":v=>i.value=v,"aria-modal":"true",activatorProps:c,contentProps:m,height:e.fullscreen?void 0:e.height,width:e.fullscreen?void 0:e.width,maxHeight:e.fullscreen?void 0:e.maxHeight,maxWidth:e.fullscreen?void 0:e.maxWidth,role:"dialog",onAfterEnter:o,onAfterLeave:r},s),{activator:a.activator,default:function(){for(var v=arguments.length,d=new Array(v),y=0;y{var f;return[(f=a.default)==null?void 0:f.call(a,...d)]}})}})}),Xa({},l)}}),Zl=["dotted","dashed","solid","double"],eo=T({color:String,contentOffset:[Number,String,Array],gradient:Boolean,inset:Boolean,length:[Number,String],opacity:[Number,String],thickness:[Number,String],vertical:Boolean,variant:{type:String,default:"solid",validator:e=>Zl.includes(e)},...ee(),...fe()},"VDivider"),ti=G()({name:"VDivider",props:eo(),setup(e,t){let{attrs:n,slots:a}=t;const{themeClasses:i}=ye(e),{textColorClasses:s,textColorStyles:l}=et(()=>e.color),o=_(()=>{const u={};return e.length&&(u[e.vertical?"height":"width"]=B(e.length)),e.thickness&&(u[e.vertical?"borderRightWidth":"borderTopWidth"]=B(e.thickness)),u}),r=k(()=>{const u=Array.isArray(e.contentOffset)?e.contentOffset[0]:e.contentOffset,c=Array.isArray(e.contentOffset)?e.contentOffset[1]:0;return{marginBlock:e.vertical&&u?B(u):void 0,marginInline:!e.vertical&&u?B(u):void 0,transform:c?`translate${e.vertical?"X":"Y"}(${B(c)})`:void 0}});return J(()=>{const u=P("hr",{class:H([{"v-divider":!0,"v-divider--gradient":e.gradient&&!a.default,"v-divider--inset":e.inset,"v-divider--vertical":e.vertical},i.value,s.value,e.class]),style:Q([o.value,l.value,{"--v-border-opacity":e.opacity},{"border-style":e.variant},e.style]),"aria-orientation":!n.role||n.role==="separator"?e.vertical?"vertical":"horizontal":void 0,role:`${n.role||"separator"}`},null);return a.default?P("div",{class:H(["v-divider__wrapper",{"v-divider__wrapper--gradient":e.gradient,"v-divider__wrapper--inset":e.inset,"v-divider__wrapper--vertical":e.vertical}])},[u,P("div",{class:"v-divider__content",style:Q(r.value)},[a.default()]),u]):u}),{}}}),to=Sn("v-spacer","div","VSpacer"),vn=Symbol.for("vuetify:list");function ni(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{filterable:!1};const t=Ee(vn,{filterable:!1,hasPrepend:z(!1),updateHasPrepend:()=>null,trackingIndex:z(-1),navigationStrategy:z("focus"),uid:""}),{filterable:n,trackingIndex:a=t.trackingIndex,navigationStrategy:i=t.navigationStrategy,uid:s=t.uid||pn()}=e,l={filterable:t.filterable||n,hasPrepend:z(!1),updateHasPrepend:o=>{o&&(l.hasPrepend.value=o)},trackingIndex:a,navigationStrategy:i,uid:s};return qe(vn,l),t}function ai(){return Ee(vn,null)}const Dn=e=>{const t={activate:n=>{let{id:a,value:i,activated:s}=n;return a=ae(a),e&&!i&&s.size===1&&s.has(a)||(i?s.add(a):s.delete(a)),s},in:(n,a,i)=>{let s=new Set;if(n!=null)for(const l of hn(n))s=t.activate({id:l,value:!0,activated:new Set(s),children:a,parents:i});return s},out:n=>Array.from(n)};return t},ii=e=>{const t=Dn(e);return{activate:a=>{let{activated:i,id:s,...l}=a;s=ae(s);const o=i.has(s)?new Set([s]):new Set;return t.activate({...l,id:s,activated:o})},in:(a,i,s)=>{let l=new Set;if(a!=null){const o=hn(a);o.length&&(l=t.in(o.slice(0,1),i,s))}return l},out:(a,i,s)=>t.out(a,i,s)}},no=e=>{const t=Dn(e);return{activate:a=>{let{id:i,activated:s,children:l,...o}=a;return i=ae(i),l.has(i)?s:t.activate({id:i,activated:s,children:l,...o})},in:t.in,out:t.out}},ao=e=>{const t=ii(e);return{activate:a=>{let{id:i,activated:s,children:l,...o}=a;return i=ae(i),l.has(i)?s:t.activate({id:i,activated:s,children:l,...o})},in:t.in,out:t.out}},io={open:e=>{let{id:t,value:n,opened:a,parents:i}=e;if(n){const s=new Set;s.add(t);let l=i.get(t);for(;l!=null;)s.add(l),l=i.get(l);return s}else return a.delete(t),a},select:()=>null},si={open:e=>{let{id:t,value:n,opened:a,parents:i}=e;if(n){let s=i.get(t);for(a.add(t);s!=null&&s!==t;)a.add(s),s=i.get(s);return a}else a.delete(t);return a},select:()=>null},so={open:si.open,select:e=>{let{id:t,value:n,opened:a,parents:i}=e;if(!n)return a;const s=[];let l=i.get(t);for(;l!=null;)s.push(l),l=i.get(l);return new Set(s)}},Mn=e=>{const t={select:n=>{let{id:a,value:i,selected:s}=n;if(a=ae(a),e&&!i){const l=Array.from(s.entries()).reduce((o,r)=>{let[u,c]=r;return c==="on"&&o.push(u),o},[]);if(l.length===1&&l[0]===a)return s}return s.set(a,i?"on":"off"),s},in:(n,a,i,s)=>{const l=new Map;for(const o of n||[])t.select({id:o,value:!0,selected:l,children:a,parents:i,disabled:s});return l},out:n=>{const a=[];for(const[i,s]of n.entries())s==="on"&&a.push(i);return a}};return t},li=e=>{const t=Mn(e);return{select:a=>{let{selected:i,id:s,...l}=a;s=ae(s);const o=i.has(s)?new Map([[s,i.get(s)]]):new Map;return t.select({...l,id:s,selected:o})},in:(a,i,s,l)=>a!=null&&a.length?t.in(a.slice(0,1),i,s,l):new Map,out:(a,i,s)=>t.out(a,i,s)}},lo=e=>{const t=Mn(e);return{select:a=>{let{id:i,selected:s,children:l,...o}=a;return i=ae(i),l.has(i)?s:t.select({id:i,selected:s,children:l,...o})},in:t.in,out:t.out}},oo=e=>{const t=li(e);return{select:a=>{let{id:i,selected:s,children:l,...o}=a;return i=ae(i),l.has(i)?s:t.select({id:i,selected:s,children:l,...o})},in:t.in,out:t.out}},Fn=e=>{const t={select:n=>{let{id:a,value:i,selected:s,children:l,parents:o,disabled:r}=n;a=ae(a);const u=new Map(s),c=[a];for(;c.length;){const v=c.shift();r.has(v)||s.set(ae(v),i?"on":"off"),l.has(v)&&c.push(...l.get(v))}let m=ae(o.get(a));for(;m;){let v=!0,d=!0;for(const y of l.get(m)){const f=ae(y);if(!r.has(f)&&(s.get(f)!=="on"&&(v=!1),s.has(f)&&s.get(f)!=="off"&&(d=!1),!v&&!d))break}s.set(m,v?"on":d?"off":"indeterminate"),m=ae(o.get(m))}return e&&!i&&Array.from(s.entries()).reduce((d,y)=>{let[f,p]=y;return p==="on"&&d.push(f),d},[]).length===0?u:s},in:(n,a,i)=>{let s=new Map;for(const l of n||[])s=t.select({id:l,value:!0,selected:s,children:a,parents:i,disabled:new Set});return s},out:(n,a)=>{const i=[];for(const[s,l]of n.entries())l==="on"&&!a.has(s)&&i.push(s);return i}};return t},ro=e=>{const t=Fn(e);return{select:t.select,in:t.in,out:(a,i,s)=>{const l=[];for(const[o,r]of a.entries())if(r==="on"){if(s.has(o)){const u=s.get(o);if(a.get(u)==="on")continue}l.push(o)}return l}}},uo=e=>{const n={select:Fn(e).select,in:(a,i,s,l)=>{let o=new Map;for(const r of a||[])i.has(r)||(o=n.select({id:r,value:!0,selected:o,children:i,parents:s,disabled:l}));return o},out:a=>{const i=[];for(const[s,l]of a.entries())(l==="on"||l==="indeterminate")&&i.push(s);return i}};return n},tt=Symbol.for("vuetify:nested"),oi={id:z(),root:{itemsRegistration:q("render"),register:()=>null,unregister:()=>null,updateDisabled:()=>null,children:q(new Map),parents:q(new Map),disabled:q(new Set),open:()=>null,openOnSelect:()=>null,activate:()=>null,select:()=>null,activatable:q(!1),scrollToActive:q(!1),selectable:q(!1),opened:q(new Set),activated:q(new Set),selected:q(new Map),selectedValues:q([]),getPath:()=>[]}},co=T({activatable:Boolean,selectable:Boolean,activeStrategy:[String,Function,Object],selectStrategy:[String,Function,Object],openStrategy:[String,Object],opened:null,activated:null,selected:null,mandatory:Boolean,itemsRegistration:{type:String,default:"render"}},"nested"),fo=(e,t)=>{let{items:n,returnObject:a,scrollToActive:i}=t,s=!1;const l=z(new Map),o=z(new Map),r=z(new Set),u=Pe(e,"opened",e.opened,h=>new Set(Array.isArray(h)?h.map(C=>ae(C)):h),h=>[...h.values()]),c=_(()=>{if(typeof e.activeStrategy=="object")return e.activeStrategy;if(typeof e.activeStrategy=="function")return e.activeStrategy(e.mandatory);switch(e.activeStrategy){case"leaf":return no(e.mandatory);case"single-leaf":return ao(e.mandatory);case"independent":return Dn(e.mandatory);case"single-independent":default:return ii(e.mandatory)}}),m=_(()=>{if(typeof e.selectStrategy=="object")return e.selectStrategy;if(typeof e.selectStrategy=="function")return e.selectStrategy(e.mandatory);switch(e.selectStrategy){case"single-leaf":return oo(e.mandatory);case"leaf":return lo(e.mandatory);case"independent":return Mn(e.mandatory);case"single-independent":return li(e.mandatory);case"trunk":return ro(e.mandatory);case"branch":return uo(e.mandatory);case"classic":default:return Fn(e.mandatory)}}),v=_(()=>{if(typeof e.openStrategy=="object")return e.openStrategy;switch(e.openStrategy){case"list":return so;case"single":return io;case"multiple":default:return si}}),d=Pe(e,"activated",e.activated,h=>c.value.in(h,l.value,o.value),h=>c.value.out(h,l.value,o.value)),y=Pe(e,"selected",e.selected,h=>m.value.in(h,l.value,o.value,r.value),h=>m.value.out(h,l.value,o.value));je(()=>{s=!0});function f(h){const C=[];let x=ae(h);for(;x!==void 0;)C.unshift(x),x=o.value.get(x);return C}const p=xe("nested"),S=new Set,I=Di(()=>{ce(()=>{l.value=new Map(l.value),o.value=new Map(o.value)})},100);W(()=>[n.value,se(a)],()=>{e.itemsRegistration==="props"&&L()},{immediate:!0});function L(){const h=new Map,C=new Map,x=new Set,g=se(a)?E=>ae(E.raw):E=>E.value,R=[...n.value];let M=0;for(;Me.activatable),scrollToActive:k(()=>se(i)),selectable:k(()=>e.selectable),activated:d,selected:y,selectedValues:_(()=>{const h=[];for(const[C,x]of y.value.entries())x==="on"&&h.push(C);return h}),itemsRegistration:k(()=>e.itemsRegistration),register:(h,C,x,g)=>{if(S.has(h)){f(h).map(String).join(" -> "),f(C).concat(h).map(String).join(" -> ");return}else S.add(h);C&&h!==C&&o.value.set(h,C),x&&r.value.add(h),g&&l.value.set(h,[]),C!=null&&l.value.set(C,[...l.value.get(C)||[],h]),I()},unregister:h=>{if(s)return;S.delete(h),l.value.delete(h),r.value.delete(h);const C=o.value.get(h);if(C){const x=l.value.get(C)??[];l.value.set(C,x.filter(g=>g!==h))}o.value.delete(h),I()},updateDisabled:(h,C)=>{C?r.value.add(h):r.value.delete(h)},open:(h,C,x)=>{p.emit("click:open",{id:h,value:C,path:f(h),event:x});const g=v.value.open({id:h,value:C,opened:new Set(u.value),children:l.value,parents:o.value,event:x});g&&(u.value=g)},openOnSelect:(h,C,x)=>{const g=v.value.select({id:h,value:C,selected:new Map(y.value),opened:new Set(u.value),children:l.value,parents:o.value,event:x});g&&(u.value=g)},select:(h,C,x)=>{p.emit("click:select",{id:h,value:C,path:f(h),event:x});const g=m.value.select({id:h,value:C,selected:new Map(y.value),children:l.value,parents:o.value,disabled:r.value,event:x});g&&(y.value=g),w.root.openOnSelect(h,C,x)},activate:(h,C,x)=>{if(!e.activatable)return w.root.select(h,!0,x);p.emit("click:activate",{id:h,value:C,path:f(h),event:x});const g=c.value.activate({id:h,value:C,activated:new Set(d.value),children:l.value,parents:o.value,event:x});if(g.size!==d.value.size)d.value=g;else{for(const R of g)if(!d.value.has(R)){d.value=g;return}for(const R of d.value)if(!g.has(R)){d.value=g;return}}},children:l,parents:o,disabled:r,getPath:f}};return qe(tt,w),w.root},ri=(e,t,n)=>{const a=Ee(tt,oi),i=Symbol("nested item"),s=_(()=>{const o=ae(se(e));return o!==void 0?o:i}),l={...a,id:s,open:(o,r)=>a.root.open(s.value,o,r),openOnSelect:(o,r)=>a.root.openOnSelect(s.value,o,r),isOpen:_(()=>a.root.opened.value.has(s.value)),parent:_(()=>a.root.parents.value.get(s.value)),activate:(o,r)=>a.root.activate(s.value,o,r),isActivated:_(()=>a.root.activated.value.has(s.value)),scrollToActive:a.root.scrollToActive,select:(o,r)=>a.root.select(s.value,o,r),isSelected:_(()=>a.root.selected.value.get(s.value)==="on"),isIndeterminate:_(()=>a.root.selected.value.get(s.value)==="indeterminate"),isLeaf:_(()=>!a.root.children.value.get(s.value)),isGroupActivator:a.isGroupActivator};return _n(()=>{a.isGroupActivator||a.root.itemsRegistration.value==="props"||ce(()=>{a.root.register(s.value,a.id.value,se(t),n)})}),je(()=>{a.isGroupActivator||a.root.itemsRegistration.value==="props"||a.root.unregister(s.value)}),W(s,(o,r)=>{a.isGroupActivator||a.root.itemsRegistration.value==="props"||(a.root.unregister(r),ce(()=>{a.root.register(o,a.id.value,se(t),n)}))}),W(()=>se(t),o=>{a.root.updateDisabled(s.value,o)}),n&&qe(tt,l),l},vo=()=>{const e=Ee(tt,oi);qe(tt,{...e,isGroupActivator:!0})};function mo(){const e=z(!1);return it(()=>{window.requestAnimationFrame(()=>{e.value=!0})}),{ssrBootStyles:k(()=>e.value?void 0:{transition:"none !important"}),isBooted:xa(e)}}const go=Mi({name:"VListGroupActivator",setup(e,t){let{slots:n}=t;return vo(),()=>{var a;return(a=n.default)==null?void 0:a.call(n)}}}),yo=T({activeColor:String,baseColor:String,color:String,collapseIcon:{type:le,default:"$collapse"},disabled:Boolean,expandIcon:{type:le,default:"$expand"},rawId:[String,Number],prependIcon:le,appendIcon:le,fluid:Boolean,subgroup:Boolean,title:String,value:null,...ee(),...oe()},"VListGroup"),ga=G()({name:"VListGroup",props:yo(),setup(e,t){let{slots:n}=t;const{isOpen:a,open:i,id:s}=ri(()=>e.value,()=>e.disabled,!0),l=_(()=>`v-list-group--id-${String(e.rawId??s.value)}`),o=ai(),{isBooted:r}=mo(),u=Ee(tt),c=k(()=>{var f;return((f=u==null?void 0:u.root)==null?void 0:f.itemsRegistration.value)==="render"});function m(f){var p;["INPUT","TEXTAREA"].includes((p=f.target)==null?void 0:p.tagName)||i(!a.value,f)}const v=_(()=>({onClick:m,class:"v-list-group__header",id:l.value})),d=_(()=>a.value?e.collapseIcon:e.expandIcon),y=_(()=>({VListItem:{activeColor:e.activeColor,baseColor:e.baseColor,color:e.color,prependIcon:e.prependIcon||e.subgroup&&d.value,appendIcon:e.appendIcon||!e.subgroup&&d.value,title:e.title,value:e.value}}));return J(()=>b(e.tag,{class:H(["v-list-group",{"v-list-group--prepend":o==null?void 0:o.hasPrepend.value,"v-list-group--fluid":e.fluid,"v-list-group--subgroup":e.subgroup,"v-list-group--open":a.value},e.class]),style:Q(e.style)},{default:()=>[n.activator&&b(ge,{defaults:y.value},{default:()=>[b(go,null,{default:()=>[n.activator({props:v.value,isOpen:a.value})]})]}),b(Xe,{transition:{component:Yl},disabled:!r.value},{default:()=>{var f,p;return[c.value?ze(P("div",{class:"v-list-group__items",role:"group","aria-labelledby":l.value},[(f=n.default)==null?void 0:f.call(n)]),[[Cn,a.value]]):a.value&&P("div",{class:"v-list-group__items",role:"group","aria-labelledby":l.value},[(p=n.default)==null?void 0:p.call(n)])]}})]})),{isOpen:a}}}),ho=T({opacity:[Number,String],...ee(),...oe()},"VListItemSubtitle"),ui=G()({name:"VListItemSubtitle",props:ho(),setup(e,t){let{slots:n}=t;return J(()=>b(e.tag,{class:H(["v-list-item-subtitle",e.class]),style:Q([{"--v-list-item-subtitle-opacity":e.opacity},e.style])},n)),{}}}),ci=Sn("v-list-item-title"),bo=T({active:{type:Boolean,default:void 0},activeClass:String,activeColor:String,appendAvatar:String,appendIcon:le,baseColor:String,disabled:Boolean,lines:[Boolean,String],link:{type:Boolean,default:void 0},nav:Boolean,prependAvatar:String,prependIcon:le,ripple:{type:[Boolean,Object],default:!0},slim:Boolean,prependGap:[Number,String],subtitle:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},value:null,index:Number,tabindex:[Number,String],onClick:ft(),onClickOnce:ft(),...st(),...ee(),...He(),...rt(),...bt(),...Le(),...Tn(),...oe(),...fe(),...Ge({variant:"text"})},"VListItem"),mn=G()({name:"VListItem",directives:{vRipple:yt},props:bo(),emits:{click:e=>!0},setup(e,t){let{attrs:n,slots:a,emit:i}=t;const s=Ln(e,n),l=q(),o=_(()=>e.value===void 0?s.href.value:e.value),{activate:r,isActivated:u,select:c,isOpen:m,isSelected:v,isIndeterminate:d,isGroupActivator:y,root:f,parent:p,openOnSelect:S,scrollToActive:I,id:L}=ri(o,()=>e.disabled,!1),w=ai(),h=_(()=>{var D;return e.active!==!1&&(e.active||((D=s.isActive)==null?void 0:D.value)||(f.activatable.value?u.value:v.value))}),C=k(()=>e.link!==!1&&s.isLink.value),x=_(()=>!!w&&(f.selectable.value||f.activatable.value||e.value!=null)),g=_(()=>!e.disabled&&e.link!==!1&&(e.link||s.isClickable.value||x.value)),R=_(()=>w&&w.navigationStrategy.value==="track"&&e.index!==void 0&&w.trackingIndex.value===e.index),M=_(()=>w?C.value?"link":x.value?"option":"listitem":void 0),E=_(()=>{if(x.value)return f.activatable.value?u.value:f.selectable.value?v.value:h.value}),V=k(()=>e.rounded||e.nav),A=k(()=>e.color??e.activeColor),N=k(()=>({color:h.value?A.value??e.baseColor:e.baseColor,variant:e.variant}));W(()=>{var D;return(D=s.isActive)==null?void 0:D.value},D=>{D&&O()}),W(u,D=>{var re;!D||!I||(re=l.value)==null||re.scrollIntoView({block:"nearest",behavior:"instant"})}),W(R,D=>{var re;D&&((re=l.value)==null||re.scrollIntoView({block:"nearest",behavior:"instant"}))}),_n(()=>{var D;(D=s.isActive)!=null&&D.value&&ce(()=>O())});function O(){p.value!=null&&f.open(p.value,!0),S(!0)}const{themeClasses:U}=ye(e),{borderClasses:X}=lt(e),{colorClasses:te,colorStyles:he,variantClasses:K}=wt(N),{densityClasses:$}=ot(e),{dimensionStyles:Z}=ut(e),{elevationClasses:j}=St(e),{roundedClasses:be}=Te(V),Ue=k(()=>e.lines?`v-list-item--${e.lines}-line`:void 0),$e=k(()=>e.ripple!==void 0&&e.ripple&&(w!=null&&w.filterable)?{keys:["Enter"]}:e.ripple),F=_(()=>({isActive:h.value,select:c,isOpen:m.value,isSelected:v.value,isIndeterminate:d.value,isDisabled:e.disabled}));function ue(D){var re,kt,Wt;i("click",D),!["INPUT","TEXTAREA"].includes((re=D.target)==null?void 0:re.tagName)&&g.value&&((Wt=(kt=s.navigate).value)==null||Wt.call(kt,D),!y&&(f.activatable.value?r(!u.value,D):(f.selectable.value||e.value!=null&&!C.value)&&c(!v.value,D)))}function De(D){const re=D.target;["INPUT","TEXTAREA"].includes(re.tagName)||(D.key==="Enter"||D.key===" "&&!(w!=null&&w.filterable))&&(D.preventDefault(),D.stopPropagation(),D.target.dispatchEvent(new MouseEvent("click",D)))}return J(()=>{const D=C.value?"a":e.tag,re=a.title||e.title!=null,kt=a.subtitle||e.subtitle!=null,gi=!!(!!(e.appendAvatar||e.appendIcon)||a.append),qt=!!(!!(e.prependAvatar||e.prependIcon)||a.prepend);return w==null||w.updateHasPrepend(qt),e.activeColor&&Fi("active-color",["color","base-color"]),ze(b(D,Y(s.linkProps,{ref:l,id:e.index!==void 0&&w?`v-list-item-${w.uid}-${e.index}`:void 0,class:["v-list-item",{"v-list-item--active":h.value,"v-list-item--disabled":e.disabled,"v-list-item--link":g.value,"v-list-item--nav":e.nav,"v-list-item--prepend":!qt&&(w==null?void 0:w.hasPrepend.value),"v-list-item--slim":e.slim,"v-list-item--focus-visible":R.value,[`${e.activeClass}`]:e.activeClass&&h.value},U.value,X.value,te.value,$.value,j.value,Ue.value,be.value,K.value,e.class],style:[{"--v-list-prepend-gap":B(e.prependGap)},he.value,Z.value,e.style],tabindex:e.tabindex??(g.value?w?-2:0:void 0),"aria-selected":E.value,role:M.value,onClick:ue,onKeydown:g.value&&!C.value&&De}),{default:()=>{var zn;return[pt(g.value||h.value,"v-list-item"),qt&&P("div",{key:"prepend",class:"v-list-item__prepend"},[a.prepend?b(ge,{key:"prepend-defaults",defaults:{VAvatar:{density:e.density,image:e.prependAvatar},VIcon:{density:e.density,icon:e.prependIcon},VListItemAction:{start:!0},VCheckboxBtn:{density:e.density}}},{default:()=>{var Se;return[(Se=a.prepend)==null?void 0:Se.call(a,F.value)]}}):P(Be,null,[e.prependAvatar&&b(Nt,{key:"prepend-avatar",density:e.density,image:e.prependAvatar},null),e.prependIcon&&b(_e,{key:"prepend-icon",density:e.density,icon:e.prependIcon},null)]),P("div",{class:"v-list-item__spacer"},null)]),P("div",{class:"v-list-item__content","data-no-activator":""},[re&&b(ci,{key:"title"},{default:()=>{var Se;return[((Se=a.title)==null?void 0:Se.call(a,{title:e.title}))??Ce(e.title)]}}),kt&&b(ui,{key:"subtitle"},{default:()=>{var Se;return[((Se=a.subtitle)==null?void 0:Se.call(a,{subtitle:e.subtitle}))??Ce(e.subtitle)]}}),(zn=a.default)==null?void 0:zn.call(a,F.value)]),gi&&P("div",{key:"append",class:"v-list-item__append"},[a.append?b(ge,{key:"append-defaults",defaults:{VAvatar:{density:e.density,image:e.appendAvatar},VIcon:{density:e.density,icon:e.appendIcon},VListItemAction:{end:!0},VCheckboxBtn:{density:e.density}}},{default:()=>{var Se;return[(Se=a.append)==null?void 0:Se.call(a,F.value)]}}):P(Be,null,[e.appendIcon&&b(_e,{key:"append-icon",density:e.density,icon:e.appendIcon},null),e.appendAvatar&&b(Nt,{key:"append-avatar",density:e.density,image:e.appendAvatar},null)]),P("div",{class:"v-list-item__spacer"},null)])]}}),[[yt,g.value&&$e.value]])}),{activate:r,isActivated:u,isGroupActivator:y,isSelected:v,list:w,select:c,root:f,id:L,link:s}}}),So=T({color:String,inset:Boolean,sticky:Boolean,title:String,...ee(),...oe()},"VListSubheader"),po=G()({name:"VListSubheader",props:So(),setup(e,t){let{slots:n}=t;const{textColorClasses:a,textColorStyles:i}=et(()=>e.color);return J(()=>{const s=!!(n.default||e.title);return b(e.tag,{class:H(["v-list-subheader",{"v-list-subheader--inset":e.inset,"v-list-subheader--sticky":e.sticky},a.value,e.class]),style:Q([{textColorStyles:i},e.style])},{default:()=>{var l;return[s&&P("div",{class:"v-list-subheader__text"},[((l=n.default)==null?void 0:l.call(n))??e.title])]}})}),{}}}),wo=T({items:Array,returnObject:Boolean},"VListChildren"),di=G()({name:"VListChildren",props:wo(),setup(e,t){let{slots:n}=t;return ni(),()=>{var a,i;return((a=n.default)==null?void 0:a.call(n))??((i=e.items)==null?void 0:i.map((s,l)=>{var d,y;let{children:o,props:r,type:u,raw:c}=s;if(u==="divider")return((d=n.divider)==null?void 0:d.call(n,{props:r}))??b(ti,r,null);if(u==="subheader")return((y=n.subheader)==null?void 0:y.call(n,{props:r}))??b(po,r,null);const m={subtitle:n.subtitle?f=>{var p;return(p=n.subtitle)==null?void 0:p.call(n,{...f,item:c})}:void 0,prepend:n.prepend?f=>{var p;return(p=n.prepend)==null?void 0:p.call(n,{...f,item:c})}:void 0,append:n.append?f=>{var p;return(p=n.append)==null?void 0:p.call(n,{...f,item:c})}:void 0,title:n.title?f=>{var p;return(p=n.title)==null?void 0:p.call(n,{...f,item:c})}:void 0},v=ga.filterProps(r);return o?b(ga,Y(v,{value:e.returnObject?c:r==null?void 0:r.value,rawId:r==null?void 0:r.value}),{activator:f=>{let{props:p}=f;const S=Y(r,p,{value:e.returnObject?c:r.value});return n.header?n.header({props:S}):b(mn,Y(S,{index:l}),m)},default:()=>b(di,{items:o,returnObject:e.returnObject},n)}):n.item?n.item({props:{...r,index:l}}):b(mn,Y(r,{index:l,value:e.returnObject?c:r.value}),m)}))}}}),ko=T({items:{type:Array,default:()=>[]},itemTitle:{type:[String,Array,Function],default:"title"},itemValue:{type:[String,Array,Function],default:"value"},itemChildren:{type:[Boolean,String,Array,Function],default:"children"},itemProps:{type:[Boolean,String,Array,Function],default:"props"},itemType:{type:[Boolean,String,Array,Function],default:"type"},returnObject:Boolean,valueComparator:Function},"list-items"),Co=new Set(["item","divider","subheader"]);function Qe(e,t){const n=ke(t,e.itemTitle,t),a=ke(t,e.itemValue,n),i=ke(t,e.itemChildren),s=e.itemProps===!0?typeof t=="object"&&t!=null&&!Array.isArray(t)?"children"in t?at(t,["children"]):t:void 0:ke(t,e.itemProps);let l=ke(t,e.itemType,"item");Co.has(l)||(l="item");const o={title:n,value:a,...s};return{type:l,title:String(o.title??""),value:o.value,props:o,children:l==="item"&&Array.isArray(i)?fi(e,i):void 0,raw:t}}Qe.neededProps=["itemTitle","itemValue","itemChildren","itemProps","itemType"];function fi(e,t){const n=ka(e,Qe.neededProps),a=[];for(const i of t)a.push(Qe(n,i));return a}function Go(e){const t=_(()=>fi(e,e.items)),n=_(()=>t.value.some(o=>o.value===null)),a=z(new Map),i=z([]);Re(()=>{const o=t.value,r=new Map,u=[];for(let c=0;c{let{raw:u}=r;return u}):o.map(r=>{let{value:u}=r;return u})}return{items:t,transformIn:s,transformOut:l}}const _o=new Set(["item","divider","subheader"]);function xo(e,t){const n=an(t)?t:ke(t,e.itemTitle),a=an(t)?t:ke(t,e.itemValue,void 0),i=ke(t,e.itemChildren),s=e.itemProps===!0?at(t,["children"]):ke(t,e.itemProps);let l=ke(t,e.itemType,"item");_o.has(l)||(l="item");const o={title:n,value:a,...s};return{type:l,title:o.title,value:o.value,props:o,children:l==="item"&&i?vi(e,i):void 0,raw:t}}function vi(e,t){const n=[];for(const a of t)n.push(xo(e,a));return n}function Io(e){return{items:_(()=>vi(e,e.items))}}const Po=T({baseColor:String,activeColor:String,activeClass:String,bgColor:String,disabled:Boolean,filterable:Boolean,expandIcon:le,collapseIcon:le,lines:{type:[Boolean,String],default:"one"},slim:Boolean,prependGap:[Number,String],indent:[Number,String],nav:Boolean,navigationStrategy:{type:String,default:"focus"},navigationIndex:Number,"onClick:open":ft(),"onClick:select":ft(),"onUpdate:opened":ft(),...co({selectStrategy:"single-leaf",openStrategy:"list"}),...st(),...ee(),...He(),...rt(),...bt(),...ko(),...Le(),...oe(),...fe(),...Ge({variant:"text"})},"VList"),Ao=G()({name:"VList",props:Po(),emits:{"update:selected":e=>!0,"update:activated":e=>!0,"update:opened":e=>!0,"update:navigationIndex":e=>!0,"click:open":e=>!0,"click:activate":e=>!0,"click:select":e=>!0},setup(e,t){let{attrs:n,slots:a,emit:i}=t;const{items:s}=Io(e),{themeClasses:l}=ye(e),{backgroundColorClasses:o,backgroundColorStyles:r}=Je(()=>e.bgColor),{borderClasses:u}=lt(e),{densityClasses:c}=ot(e),{dimensionStyles:m}=ut(e),{elevationClasses:v}=St(e),{roundedClasses:d}=Te(e),{children:y,open:f,parents:p,select:S,getPath:I}=fo(e,{items:s,returnObject:k(()=>e.returnObject),scrollToActive:k(()=>e.navigationStrategy==="track")}),L=k(()=>e.lines?`v-list--${e.lines}-line`:void 0),w=k(()=>e.activeColor),h=k(()=>e.baseColor),C=k(()=>e.color),x=k(()=>e.selectable||e.activatable),g=Pe(e,"navigationIndex",-1,$=>$??-1),R=pn();ni({filterable:e.filterable,trackingIndex:g,navigationStrategy:k(()=>e.navigationStrategy),uid:R}),W(s,()=>{e.navigationStrategy==="track"&&(g.value=-1)}),$t({VListGroup:{activeColor:w,baseColor:h,color:C,expandIcon:k(()=>e.expandIcon),collapseIcon:k(()=>e.collapseIcon)},VListItem:{activeClass:k(()=>e.activeClass),activeColor:w,baseColor:h,color:C,density:k(()=>e.density),disabled:k(()=>e.disabled),lines:k(()=>e.lines),nav:k(()=>e.nav),slim:k(()=>e.slim),variant:k(()=>e.variant),tabindex:k(()=>e.navigationStrategy==="track"?-1:void 0)}});const M=z(!1),E=q();function V($){M.value=!0}function A($){M.value=!1}function N($){var Z;e.navigationStrategy==="track"?~g.value||(g.value=X("first")):!M.value&&!($.relatedTarget&&((Z=E.value)!=null&&Z.contains($.relatedTarget)))&&K()}function O(){e.navigationStrategy==="track"&&(g.value=-1)}function U($){switch($){case"ArrowDown":return"next";case"ArrowUp":return"prev";case"Home":return"first";case"End":return"last";default:return null}}function X($){const Z=s.value.length;if(Z===0)return-1;let j;$==="first"?j=0:$==="last"?j=Z-1:(j=g.value+($==="next"?1:-1),j<0&&(j=Z-1),j>=Z&&(j=0));const be=j;let Ue=0;for(;Ue=Z&&(j=0),j===be)return-1;Ue++}return-1}function te($){const Z=$.target;if(!E.value||Z.tagName==="INPUT"&&["Home","End"].includes($.key)||Z.tagName==="TEXTAREA")return;const j=U($.key);if(j!==null)if($.preventDefault(),e.navigationStrategy==="track"){const be=X(j);be!==-1&&(g.value=be)}else K(j)}function he($){M.value=!0}function K($){if(E.value)return zi(E.value,$)}return J(()=>{const $=e.indent??(e.prependGap?Number(e.prependGap)+24:void 0),Z=x.value?n.ariaMultiselectable??!String(e.selectStrategy).startsWith("single-"):void 0;return b(e.tag,{ref:E,class:H(["v-list",{"v-list--disabled":e.disabled,"v-list--nav":e.nav,"v-list--slim":e.slim},l.value,o.value,u.value,c.value,v.value,L.value,d.value,e.class]),style:Q([{"--v-list-indent":B($),"--v-list-group-prepend":$?"0px":void 0,"--v-list-prepend-gap":B(e.prependGap)},r.value,m.value,e.style]),tabindex:e.disabled?-1:0,role:x.value?"listbox":"list","aria-activedescendant":e.navigationStrategy==="track"&&g.value>=0?`v-list-item-${R}-${g.value}`:void 0,"aria-multiselectable":Z,onFocusin:V,onFocusout:A,onFocus:N,onBlur:O,onKeydown:te,onMousedown:he},{default:()=>[b(di,{items:s.value,returnObject:e.returnObject},a)]})}),{open:f,select:S,focus:K,children:y,parents:p,getPath:I,navigationIndex:g}}});let gn=null;const mi={name:"RateLimitModal",data(){return{isVisible:!1,activeRequests:[]}},computed:{hasActiveRequests(){return this.activeRequests.length>0}},watch:{hasActiveRequests(e){this.isVisible=e}},methods:{close(){this.isVisible=!1},show(e,t,n){const a=Date.now()+Math.random().toString(36).substring(2,9),i=Math.max(0,Math.floor((new Date(e)-new Date)/1e3)),s={id:a,resetTime:e,path:t,method:n,remainingSeconds:i};this.activeRequests.push(s),this.startCountdown(a),this.isVisible=!0},startCountdown(e){const t=this.activeRequests.find(a=>a.id===e);if(!t)return;const n=setInterval(()=>{const a=this.activeRequests.findIndex(i=>i.id===e);if(a===-1){clearInterval(n);return}this.activeRequests[a].remainingSeconds--,this.activeRequests[a].remainingSeconds<=0&&(clearInterval(n),this.activeRequests.splice(a,1))},1e3);t.intervalId=n},clearAllCountdowns(){this.activeRequests.forEach(e=>{e.intervalId&&clearInterval(e.intervalId)}),this.activeRequests=[]}},beforeUnmount(){this.clearAllCountdowns()},created(){gn=this}};mi.show=function(e,t,n){gn&&gn.show(e,t,n)};const Eo=mi,Vo={class:"text-primary font-weight-bold"};function Lo(e,t,n,a,i,s){return Ie(),Fe(Ql,{modelValue:e.isVisible,"onUpdate:modelValue":t[0]||(t[0]=l=>e.isVisible=l),"max-width":"500",persistent:""},{default:ie(()=>[b(fa,{class:"rate-limit-modal"},{default:ie(()=>[b(Qa,{class:"text-center pa-4 bg-error text-white"},{default:ie(()=>[b(_e,{class:"mr-2",icon:"mdi-clock-alert-outline",size:"large"}),t[1]||(t[1]=Ct(" 请求频率超限 ",-1))]),_:1}),b(fn,{class:"pa-6"},{default:ie(()=>[t[3]||(t[3]=P("div",{class:"text-body-1 mb-4"},"您的请求过于频繁,请稍后再试。",-1)),e.activeRequests.length>0?(Ie(),Fe(fa,{key:0,class:"mb-4",flat:""},{default:ie(()=>[b(fn,null,{default:ie(()=>[(Ie(!0),Ia(Be,null,Zi(e.activeRequests,(l,o)=>(Ie(),Fe(Ao,{key:o,class:"mb-4"},{default:ie(()=>[b(mn,{color:"primary","prepend-icon":"mdi-web"},{default:ie(()=>[b(ci,null,{default:ie(()=>[t[2]||(t[2]=Ct(" 等待时间: ",-1)),P("span",Vo,Ce(l.remainingSeconds),1)]),_:2},1024),b(ui,null,{default:ie(()=>[Ct(Ce(l.method)+" "+Ce(l.path),1)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128)),e.index[b(to),b(Wa,{color:"primary",variant:"tonal",onClick:e.close},{default:ie(()=>[...t[5]||(t[5]=[Ct(" 我知道了",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])}const To=Pa(Eo,[["render",Lo]]),Oo=T({...ee(),...at(qi(),["fullHeight"]),...fe()},"VApp"),Bo=G()({name:"VApp",props:Oo(),setup(e,t){let{slots:n}=t;const a=ye(e),{layoutClasses:i,getLayoutItem:s,items:l,layoutRef:o}=Wi({...e,fullHeight:!0}),{rtlClasses:r}=Dt();return J(()=>{var u;return P("div",{ref:o,class:H(["v-application",a.themeClasses.value,i.value,r.value,e.class]),style:Q([e.style])},[P("div",{class:"v-application__wrap"},[(u=n.default)==null?void 0:u.call(n)])])}),{getLayoutItem:s,items:l,theme:a}}}),Ro={__name:"App",setup(e){const t=ha();return it(()=>{const n=In("theme.mode");t.global.name.value=n,window.addEventListener("beforeinstallprompt",a=>{a.preventDefault(),window.deferredPwaPrompt=a,window.dispatchEvent(new Event("pwa-prompt-ready"))})}),(n,a)=>{const i=es("router-view"),s=Ya;return Ie(),Fe(Bo,null,{default:ie(()=>[b(i,null,{default:ie(({Component:l,route:o})=>[b(Ne,{mode:"out-in",name:"md3"},{default:ie(()=>[(Ie(),Fe(Ca(l),{key:o.path}))]),_:2},1024)]),_:1}),b(s),b(To)]),_:1})}}},nt=ts(Ro);rs(nt);nt.use(Ke);nt.component("GlobalMessage",Ya);nt.mount("#app");setTimeout(()=>{ne(async()=>{const{initSentry:e}=await import("./sentry-BmncddYq.js");return{initSentry:e}},__vite__mapDeps([79,54,1,2,80]),import.meta.url).then(({initSentry:e})=>{const t=nt.config.globalProperties.$router;e(nt,t)}).catch(e=>{console.warn("Sentry 初始化失败:",e)})},1e3);const ya=async()=>{try{const{getVisitorId:e}=await ne(async()=>{const{getVisitorId:a}=await import("./visitorId-CSigcYRT.js");return{getVisitorId:a}},__vite__mapDeps([54,1,2]),import.meta.url),t=(await ne(async()=>{const{default:a}=await import("./index-ghQi_28l.js");return{default:a}},[],import.meta.url)).default;t.init("rhp8uqoc3l");const n=await e();console.log("Visitor ID:",n),t.identify(n),t.setTag("fingerprintjs",n)}catch(e){console.warn("Clarity 加载或标识设置失败:",e)}};document.readyState==="complete"?ya():window.addEventListener("load",ya,{once:!0});export{As as $,Rt as A,Ta as B,Xa as C,et as D,Je as E,el as F,ot as G,Bn as H,He as I,Ml as J,Fo as K,Nt as L,Rn as M,jl as N,vs as O,ys as P,hs as Q,gl as R,Ve as S,ml as T,Yl as U,Ds as V,po as W,Ba as X,Ws as Y,Oa as Z,Pa as _,rt as a,Ps as a0,Cl as a1,Xe as a2,kl as a3,Is as a4,lt as a5,An as a6,Te as a7,ge as a8,St as a9,us as aA,cs as aB,da as aC,Ga as aD,Wo as aE,Xl as aF,ko as aG,vl as aH,Mo as aI,Le as aa,zt as ab,bt as ac,st as ad,To as ae,wt as af,Vn as ag,pt as ah,Ge as ai,En as aj,zo as ak,xs as al,yt as am,Ft as an,Ln as ao,Ho as ap,Mt as aq,Tn as ar,Hs as as,pl as at,Sl as au,Ke as av,jo as aw,qo as ax,Go as ay,Qe as az,ut as b,Qa as c,fn as d,fa as e,ne as f,In as g,_e as h,ti as i,Ao as j,mn as k,Wa as l,oe as m,Qn as n,to as o,Ql as p,Ja as q,Ll as r,ci as s,ui as t,mo as u,fs as v,gs as w,Oe as x,ua as y,ei as z}; diff --git a/assets/index-BqspaPWT.css b/assets/index-BqspaPWT.css new file mode 100644 index 0000000..5e1168a --- /dev/null +++ b/assets/index-BqspaPWT.css @@ -0,0 +1 @@ +.async-loading-placeholder[data-v-2d12e0c7]{width:100%;opacity:.6}.gap-1[data-v-33424f55]{gap:0px}.border-b-sm[data-v-33424f55]{border-bottom:1px solid rgba(0,0,0,.05)}.border-none[data-v-33424f55]{border-bottom:none}.hover-elevation[data-v-33424f55]{transition:box-shadow .2s}.hover-elevation[data-v-33424f55]:hover{box-shadow:0 4px 8px #0000001a!important}.hitokoto-card[data-v-de957b7d]{cursor:pointer;transition:all .3s ease}.hitokoto-card[data-v-de957b7d]:hover{transform:translateY(-2px)}.serif-font[data-v-de957b7d]{font-family:"Noto Serif SC","Source Han Serif SC","Source Han Serif",source-han-serif-sc,Songti SC,SimSun,Hiragino Sans GB,system-ui,serif}.time-card[data-v-725dbda6]{transition:all .3s ease;overflow:hidden}.time-card[data-v-725dbda6]:hover{transform:translateY(-2px)}.time-display[data-v-725dbda6]{font-family:JetBrains Mono,Fira Code,Cascadia Code,Consolas,monospace;white-space:nowrap}.seconds-text[data-v-725dbda6]{font-family:JetBrains Mono,Fira Code,Cascadia Code,Consolas,monospace}.date-line[data-v-725dbda6]{opacity:.75;letter-spacing:1px}.cursor-not-allowed[data-v-5f84fa28]{cursor:not-allowed!important}.cursor-pointer[data-v-5f84fa28]{cursor:pointer}.v-card.cursor-not-allowed[data-v-5f84fa28]:hover{transform:none!important}.floating-icp-link[data-v-fa73670f]{position:fixed;right:4px;bottom:0;z-index:100;font-size:14px;font-weight:500;letter-spacing:.2px;color:#6b6b6b;text-decoration:none;background:transparent;border:none;box-shadow:none;transition:none!important}.floating-icp-link[data-v-fa73670f]:hover,.floating-icp-link[data-v-fa73670f]:focus,.floating-icp-link[data-v-fa73670f]:active{color:#414141;text-decoration:none;outline:none}@media (max-width: 600px){.floating-icp-link[data-v-fa73670f]{right:16px;bottom:0;font-size:14px}}.skeleton-grid[data-v-ea69d8df]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.skeleton-card[data-v-ea69d8df]{border:1px solid rgba(var(--v-border-color),var(--v-border-opacity, .12));border-radius:12px;padding:16px}.skeleton-heading[data-v-ea69d8df]{height:24px;width:60%;background:rgba(var(--v-theme-on-surface),.08);border-radius:4px;margin-bottom:12px}.skeleton-line[data-v-ea69d8df]{height:14px;width:100%;background:rgba(var(--v-theme-on-surface),.08);border-radius:4px;margin-bottom:8px}.skeleton-line--short[data-v-ea69d8df]{width:40%}.skeleton-btn[data-v-ea69d8df]{height:36px;width:100px;background:rgba(var(--v-theme-on-surface),.08);border-radius:8px}.skeleton-pulse[data-v-ea69d8df]{animation:skeleton-pulse-ea69d8df 1.5s ease-in-out infinite}@keyframes skeleton-pulse-ea69d8df{0%,to{opacity:1}50%{opacity:.4}} diff --git a/assets/index-CHEqx3ZK.js b/assets/index-CHEqx3ZK.js deleted file mode 100644 index 33303ed..0000000 --- a/assets/index-CHEqx3ZK.js +++ /dev/null @@ -1,544 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./default-BeYWhc3q.js","./default-CmdaPMSp.css","./index-Ct5Llh5_.js","./ExamConfigEditor-C3cHfqxx.js","./dataProvider-B62Oym03.js","./serverRotation-D840vVDL.js","./VAlert-B7dotCy7.js","./VAlert-D_OX1cfW.css","./VSkeletonLoader-Bcvvvbke.js","./VSkeletonLoader-C11ZEozu.css","./VTooltip-C168gwPH.js","./VTooltip-D7EaNDeY.css","./VChip-B02B673U.js","./VChip-Dmz_1Lnv.css","./VRow-7L_239rt.js","./VRow-D2ArqUC2.css","./VTextField-BmfQXFFg.js","./VTextField-D1VSzmed.css","./VTextarea-uYG2fN8H.js","./VTextarea-_xVwaw_z.css","./VSwitch-CsrhG2o9.js","./VSwitch-C87GkfUP.css","./VSelect-B5ZKU6ZJ.js","./VCheckboxBtn-L9oezRC0.js","./VSelect-Cw72qNvy.css","./ExamConfigEditor-giorLija.css","./socketClient-BXJ0f21_.js","./VCombobox-DuoJlmmF.js","./VAppBarTitle-P_aLwYn3.js","./VAppBarTitle-DHaTV8xv.css","./VCombobox-BhMWB5Rk.css","./deviceEvents-BFCOw6Nh.js","./VPagination-DEEAIfju.js","./VPagination-DNe_r2rg.css","./VContainer-x94CJ7kH.js","./VContainer-B1KSavhG.css","./VForm-ovineFXC.js","./VExpansionPanels-DmHhDpJu.js","./VExpansionPanels-kEj4ZJQK.css","./index-DBBDlRhV.css","./404-C7Ce-VYe.js","./authorize-CL9LOs4t.js","./CacheManagement-BY7T1F66.js","./cses2wakeup-Y-ZBCCNd.js","./VTabsWindowItem-2AwayTty.js","./VTabsWindowItem-BWevsoWc.css","./cses2wakeup-BDtPgT2c.css","./debug-C73Oop6R.js","./debug-CbS14biG.css","./debug-init-qEmxm5BC.js","./debug-socket-gX5zuEJb.js","./_id_-d28sCpy1.js","./examschedule-CWlyTxDY.js","./examschedule-CU_Gxm4i.css","./index-BBzZrCva.js","./_id_-DIwIy-nN.js","./settings-DjYY_dPH.js","./settings-BuoTKm8j.css","./socket-debugger-BstARi-S.js","./socket-debugger-ykBk0O32.css"])))=>i.map(i=>d[i]); -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}})();const Rw="modulepreload",Aw=function(e,t){return new URL(e,t).href},dp={},_t=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){const o=document.getElementsByTagName("link"),a=document.querySelector("meta[property=csp-nonce]"),c=(a==null?void 0:a.nonce)||(a==null?void 0:a.getAttribute("nonce"));s=Promise.allSettled(n.map(l=>{if(l=Aw(l,r),l in dp)return;dp[l]=!0;const d=l.endsWith(".css"),u=d?'[rel="stylesheet"]':"";if(!!r)for(let p=o.length-1;p>=0;p--){const m=o[p];if(m.href===l&&(!d||m.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${l}"]${u}`))return;const h=document.createElement("link");if(h.rel=d?"stylesheet":Rw,d||(h.as="script"),h.crossOrigin="",h.href=l,c&&h.setAttribute("nonce",c),document.head.appendChild(h),d)return new Promise((p,m)=>{h.addEventListener("load",p),h.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${l}`)))})}))}function i(o){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=o,window.dispatchEvent(a),!a.defaultPrevented)throw o}return s.then(o=>{for(const a of o||[])a.status==="rejected"&&i(a.reason);return t().catch(i)})};/** -* @vue/shared v3.5.29 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function ff(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const Ue={},ii=[],Vn=()=>{},Ey=()=>!1,il=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),hf=e=>e.startsWith("onUpdate:"),dt=Object.assign,pf=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Mw=Object.prototype.hasOwnProperty,He=(e,t)=>Mw.call(e,t),he=Array.isArray,oi=e=>ea(e)==="[object Map]",wy=e=>ea(e)==="[object Set]",fp=e=>ea(e)==="[object Date]",ye=e=>typeof e=="function",rt=e=>typeof e=="string",En=e=>typeof e=="symbol",Fe=e=>e!==null&&typeof e=="object",Cy=e=>(Fe(e)||ye(e))&&ye(e.then)&&ye(e.catch),Ty=Object.prototype.toString,ea=e=>Ty.call(e),Pw=e=>ea(e).slice(8,-1),ky=e=>ea(e)==="[object Object]",ol=e=>rt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,uo=ff(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),al=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Ow=/-\w/g,zt=al(e=>e.replace(Ow,t=>t.slice(1).toUpperCase())),Lw=/\B([A-Z])/g,zr=al(e=>e.replace(Lw,"-$1").toLowerCase()),Oi=al(e=>e.charAt(0).toUpperCase()+e.slice(1)),jl=al(e=>e?`on${Oi(e)}`:""),Lr=(e,t)=>!Object.is(e,t),Ka=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},mf=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Nw=e=>{const t=rt(e)?Number(e):NaN;return isNaN(t)?e:t};let hp;const cl=()=>hp||(hp=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Xe(e){if(he(e)){const t={};for(let n=0;n{if(n){const r=n.split(Fw);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function Le(e){let t="";if(rt(e))t=e;else if(he(e))for(let n=0;n!!(e&&e.__v_isRef===!0),bn=e=>rt(e)?e:e==null?"":he(e)||Fe(e)&&(e.toString===Ty||!ye(e.toString))?Ry(e)?bn(e.value):JSON.stringify(e,Ay,2):String(e),Ay=(e,t)=>Ry(t)?Ay(e,t.value):oi(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],i)=>(n[zl(r,i)+" =>"]=s,n),{})}:wy(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>zl(n))}:En(t)?zl(t):Fe(t)&&!he(t)&&!ky(t)?String(t):t,zl=(e,t="")=>{var n;return En(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** -* @vue/reactivity v3.5.29 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let It;class My{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.__v_skip=!0,this.parent=It,!t&&It&&(this.index=(It.scopes||(It.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0&&--this._on===0&&(It=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let n,r;for(n=0,r=this.effects.length;n0)return;if(ho){let t=ho;for(ho=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;fo;){let t=fo;for(fo=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=n}}if(e)throw e}function Ny(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Dy(e){let t,n=e.depsTail,r=n;for(;r;){const s=r.prevDep;r.version===-1?(r===n&&(n=s),bf(r),Ww(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=s}e.deps=t,e.depsTail=n}function Ku(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Fy(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Fy(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===xo)||(e.globalVersion=xo,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Ku(e))))return;e.flags|=2;const t=e.dep,n=Ke,r=Sn;Ke=e,Sn=!0;try{Ny(e);const s=e.fn(e._value);(t.version===0||Lr(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{Ke=n,Sn=r,Dy(e),e.flags&=-3}}function bf(e,t=!1){const{dep:n,prevSub:r,nextSub:s}=e;if(r&&(r.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)bf(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Ww(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Sn=!0;const $y=[];function ir(){$y.push(Sn),Sn=!1}function or(){const e=$y.pop();Sn=e===void 0?!0:e}function pp(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Ke;Ke=void 0;try{t()}finally{Ke=n}}}let xo=0;class jw{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Sf{constructor(t){this.computed=t,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(t){if(!Ke||!Sn||Ke===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Ke)n=this.activeLink=new jw(Ke,this),Ke.deps?(n.prevDep=Ke.depsTail,Ke.depsTail.nextDep=n,Ke.depsTail=n):Ke.deps=Ke.depsTail=n,By(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const r=n.nextDep;r.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=r),n.prevDep=Ke.depsTail,n.nextDep=void 0,Ke.depsTail.nextDep=n,Ke.depsTail=n,Ke.deps===n&&(Ke.deps=r)}return n}trigger(t){this.version++,xo++,this.notify(t)}notify(t){yf();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{_f()}}}function By(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)By(r)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const _c=new WeakMap,hs=Symbol(""),Yu=Symbol(""),Ro=Symbol("");function xt(e,t,n){if(Sn&&Ke){let r=_c.get(e);r||_c.set(e,r=new Map);let s=r.get(n);s||(r.set(n,s=new Sf),s.map=r,s.key=n),s.track()}}function Zn(e,t,n,r,s,i){const o=_c.get(e);if(!o){xo++;return}const a=c=>{c&&c.trigger()};if(yf(),t==="clear")o.forEach(a);else{const c=he(e),l=c&&ol(n);if(c&&n==="length"){const d=Number(r);o.forEach((u,f)=>{(f==="length"||f===Ro||!En(f)&&f>=d)&&a(u)})}else switch((n!==void 0||o.has(void 0))&&a(o.get(n)),l&&a(o.get(Ro)),t){case"add":c?l&&a(o.get("length")):(a(o.get(hs)),oi(e)&&a(o.get(Yu)));break;case"delete":c||(a(o.get(hs)),oi(e)&&a(o.get(Yu)));break;case"set":oi(e)&&a(o.get(hs));break}}_f()}function zw(e,t){const n=_c.get(e);return n&&n.get(t)}function Fs(e){const t=fe(e);return t===e?t:(xt(t,"iterate",Ro),en(e)?t:t.map(wn))}function ll(e){return xt(e=fe(e),"iterate",Ro),e}function Ir(e,t){return ar(e)?pi(er(e)?wn(t):t):wn(t)}const qw={__proto__:null,[Symbol.iterator](){return Gl(this,Symbol.iterator,e=>Ir(this,e))},concat(...e){return Fs(this).concat(...e.map(t=>he(t)?Fs(t):t))},entries(){return Gl(this,"entries",e=>(e[1]=Ir(this,e[1]),e))},every(e,t){return zn(this,"every",e,t,void 0,arguments)},filter(e,t){return zn(this,"filter",e,t,n=>n.map(r=>Ir(this,r)),arguments)},find(e,t){return zn(this,"find",e,t,n=>Ir(this,n),arguments)},findIndex(e,t){return zn(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return zn(this,"findLast",e,t,n=>Ir(this,n),arguments)},findLastIndex(e,t){return zn(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return zn(this,"forEach",e,t,void 0,arguments)},includes(...e){return Kl(this,"includes",e)},indexOf(...e){return Kl(this,"indexOf",e)},join(e){return Fs(this).join(e)},lastIndexOf(...e){return Kl(this,"lastIndexOf",e)},map(e,t){return zn(this,"map",e,t,void 0,arguments)},pop(){return Zi(this,"pop")},push(...e){return Zi(this,"push",e)},reduce(e,...t){return mp(this,"reduce",e,t)},reduceRight(e,...t){return mp(this,"reduceRight",e,t)},shift(){return Zi(this,"shift")},some(e,t){return zn(this,"some",e,t,void 0,arguments)},splice(...e){return Zi(this,"splice",e)},toReversed(){return Fs(this).toReversed()},toSorted(e){return Fs(this).toSorted(e)},toSpliced(...e){return Fs(this).toSpliced(...e)},unshift(...e){return Zi(this,"unshift",e)},values(){return Gl(this,"values",e=>Ir(this,e))}};function Gl(e,t,n){const r=ll(e),s=r[t]();return r!==e&&!en(e)&&(s._next=s.next,s.next=()=>{const i=s._next();return i.done||(i.value=n(i.value)),i}),s}const Gw=Array.prototype;function zn(e,t,n,r,s,i){const o=ll(e),a=o!==e&&!en(e),c=o[t];if(c!==Gw[t]){const u=c.apply(e,i);return a?wn(u):u}let l=n;o!==e&&(a?l=function(u,f){return n.call(this,Ir(e,u),f,e)}:n.length>2&&(l=function(u,f){return n.call(this,u,f,e)}));const d=c.call(o,l,r);return a&&s?s(d):d}function mp(e,t,n,r){const s=ll(e);let i=n;return s!==e&&(en(e)?n.length>3&&(i=function(o,a,c){return n.call(this,o,a,c,e)}):i=function(o,a,c){return n.call(this,o,Ir(e,a),c,e)}),s[t](i,...r)}function Kl(e,t,n){const r=fe(e);xt(r,"iterate",Ro);const s=r[t](...n);return(s===-1||s===!1)&&ul(n[0])?(n[0]=fe(n[0]),r[t](...n)):s}function Zi(e,t,n=[]){ir(),yf();const r=fe(e)[t].apply(e,n);return _f(),or(),r}const Kw=ff("__proto__,__v_isRef,__isVue"),Hy=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(En));function Yw(e){En(e)||(e=String(e));const t=fe(this);return xt(t,"has",e),t.hasOwnProperty(e)}class Vy{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return i;if(n==="__v_raw")return r===(s?i?i1:zy:i?jy:Wy).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const o=he(t);if(!s){let c;if(o&&(c=qw[n]))return c;if(n==="hasOwnProperty")return Yw}const a=Reflect.get(t,n,Ze(t)?t:r);if((En(n)?Hy.has(n):Kw(n))||(s||xt(t,"get",n),i))return a;if(Ze(a)){const c=o&&ol(n)?a:a.value;return s&&Fe(c)?hi(c):c}return Fe(a)?s?hi(a):pt(a):a}}class Uy extends Vy{constructor(t=!1){super(!1,t)}set(t,n,r,s){let i=t[n];const o=he(t)&&ol(n);if(!this._isShallow){const l=ar(i);if(!en(r)&&!ar(r)&&(i=fe(i),r=fe(r)),!o&&Ze(i)&&!Ze(r))return l||(i.value=r),!0}const a=o?Number(n)e,Ia=e=>Reflect.getPrototypeOf(e);function e1(e,t,n){return function(...r){const s=this.__v_raw,i=fe(s),o=oi(i),a=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,l=s[e](...r),d=n?Xu:t?pi:wn;return!t&&xt(i,"iterate",c?Yu:hs),dt(Object.create(l),{next(){const{value:u,done:f}=l.next();return f?{value:u,done:f}:{value:a?[d(u[0]),d(u[1])]:d(u),done:f}}})}}function xa(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function t1(e,t){const n={get(s){const i=this.__v_raw,o=fe(i),a=fe(s);e||(Lr(s,a)&&xt(o,"get",s),xt(o,"get",a));const{has:c}=Ia(o),l=t?Xu:e?pi:wn;if(c.call(o,s))return l(i.get(s));if(c.call(o,a))return l(i.get(a));i!==o&&i.get(s)},get size(){const s=this.__v_raw;return!e&&xt(fe(s),"iterate",hs),s.size},has(s){const i=this.__v_raw,o=fe(i),a=fe(s);return e||(Lr(s,a)&&xt(o,"has",s),xt(o,"has",a)),s===a?i.has(s):i.has(s)||i.has(a)},forEach(s,i){const o=this,a=o.__v_raw,c=fe(a),l=t?Xu:e?pi:wn;return!e&&xt(c,"iterate",hs),a.forEach((d,u)=>s.call(i,l(d),l(u),o))}};return dt(n,e?{add:xa("add"),set:xa("set"),delete:xa("delete"),clear:xa("clear")}:{add(s){!t&&!en(s)&&!ar(s)&&(s=fe(s));const i=fe(this);return Ia(i).has.call(i,s)||(i.add(s),Zn(i,"add",s,s)),this},set(s,i){!t&&!en(i)&&!ar(i)&&(i=fe(i));const o=fe(this),{has:a,get:c}=Ia(o);let l=a.call(o,s);l||(s=fe(s),l=a.call(o,s));const d=c.call(o,s);return o.set(s,i),l?Lr(i,d)&&Zn(o,"set",s,i):Zn(o,"add",s,i),this},delete(s){const i=fe(this),{has:o,get:a}=Ia(i);let c=o.call(i,s);c||(s=fe(s),c=o.call(i,s)),a&&a.call(i,s);const l=i.delete(s);return c&&Zn(i,"delete",s,void 0),l},clear(){const s=fe(this),i=s.size!==0,o=s.clear();return i&&Zn(s,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=e1(s,e,t)}),n}function Ef(e,t){const n=t1(e,t);return(r,s,i)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(He(n,s)&&s in r?n:r,s,i)}const n1={get:Ef(!1,!1)},r1={get:Ef(!1,!0)},s1={get:Ef(!0,!1)};const Wy=new WeakMap,jy=new WeakMap,zy=new WeakMap,i1=new WeakMap;function o1(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function a1(e){return e.__v_skip||!Object.isExtensible(e)?0:o1(Pw(e))}function pt(e){return ar(e)?e:wf(e,!1,Jw,n1,Wy)}function qy(e){return wf(e,!1,Qw,r1,jy)}function hi(e){return wf(e,!0,Zw,s1,zy)}function wf(e,t,n,r,s){if(!Fe(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=a1(e);if(i===0)return e;const o=s.get(e);if(o)return o;const a=new Proxy(e,i===2?r:n);return s.set(e,a),a}function er(e){return ar(e)?er(e.__v_raw):!!(e&&e.__v_isReactive)}function ar(e){return!!(e&&e.__v_isReadonly)}function en(e){return!!(e&&e.__v_isShallow)}function ul(e){return e?!!e.__v_raw:!1}function fe(e){const t=e&&e.__v_raw;return t?fe(t):e}function Cf(e){return!He(e,"__v_skip")&&Object.isExtensible(e)&&Iy(e,"__v_skip",!0),e}const wn=e=>Fe(e)?pt(e):e,pi=e=>Fe(e)?hi(e):e;function Ze(e){return e?e.__v_isRef===!0:!1}function we(e){return Gy(e,!1)}function be(e){return Gy(e,!0)}function Gy(e,t){return Ze(e)?e:new c1(e,t)}class c1{constructor(t,n){this.dep=new Sf,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:fe(t),this._value=n?t:wn(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,r=this.__v_isShallow||en(t)||ar(t);t=r?t:fe(t),Lr(t,n)&&(this._rawValue=t,this._value=r?t:wn(t),this.dep.trigger())}}function Ut(e){return Ze(e)?e.value:e}function vt(e){return ye(e)?e():Ut(e)}const l1={get:(e,t,n)=>t==="__v_raw"?e:Ut(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return Ze(s)&&!Ze(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function Ky(e){return er(e)?e:new Proxy(e,l1)}function Tf(e){const t=he(e)?new Array(e.length):{};for(const n in e)t[n]=Yy(e,n);return t}class u1{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0,this._raw=fe(t);let s=!0,i=t;if(!he(t)||!ol(String(n)))do s=!ul(i)||en(i);while(s&&(i=i.__v_raw));this._shallow=s}get value(){let t=this._object[this._key];return this._shallow&&(t=Ut(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Ze(this._raw[this._key])){const n=this._object[this._key];if(Ze(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return zw(this._raw,this._key)}}class d1{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function ee(e,t,n){return Ze(e)?e:ye(e)?new d1(e):Fe(e)&&arguments.length>1?Yy(e,t,n):we(e)}function Yy(e,t,n){return new u1(e,t,n)}class f1{constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Sf(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=xo-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&Ke!==this)return Ly(this,!0),!0}get value(){const t=this.dep.track();return Fy(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function h1(e,t,n=!1){let r,s;return ye(e)?r=e:(r=e.get,s=e.set),new f1(r,s,n)}const Ra={},bc=new WeakMap;let rs;function p1(e,t=!1,n=rs){if(n){let r=bc.get(n);r||bc.set(n,r=[]),r.push(e)}}function m1(e,t,n=Ue){const{immediate:r,deep:s,once:i,scheduler:o,augmentJob:a,call:c}=n,l=w=>s?w:en(w)||s===!1||s===0?Qn(w,1):Qn(w);let d,u,f,h,p=!1,m=!1;if(Ze(e)?(u=()=>e.value,p=en(e)):er(e)?(u=()=>l(e),p=!0):he(e)?(m=!0,p=e.some(w=>er(w)||en(w)),u=()=>e.map(w=>{if(Ze(w))return w.value;if(er(w))return l(w);if(ye(w))return c?c(w,2):w()})):ye(e)?t?u=c?()=>c(e,2):e:u=()=>{if(f){ir();try{f()}finally{or()}}const w=rs;rs=d;try{return c?c(e,3,[h]):e(h)}finally{rs=w}}:u=Vn,t&&s){const w=u,I=s===!0?1/0:s;u=()=>Qn(w(),I)}const v=vf(),g=()=>{d.stop(),v&&v.active&&pf(v.effects,d)};if(i&&t){const w=t;t=(...I)=>{w(...I),g()}}let y=m?new Array(e.length).fill(Ra):Ra;const C=w=>{if(!(!(d.flags&1)||!d.dirty&&!w))if(t){const I=d.run();if(s||p||(m?I.some((x,S)=>Lr(x,y[S])):Lr(I,y))){f&&f();const x=rs;rs=d;try{const S=[I,y===Ra?void 0:m&&y[0]===Ra?[]:y,h];y=I,c?c(t,3,S):t(...S)}finally{rs=x}}}else d.run()};return a&&a(C),d=new Py(u),d.scheduler=o?()=>o(C,!1):C,h=w=>p1(w,!1,d),f=d.onStop=()=>{const w=bc.get(d);if(w){if(c)c(w,4);else for(const I of w)I();bc.delete(d)}},t?r?C(!0):y=d.run():o?o(C.bind(null,!0),!0):d.run(),g.pause=d.pause.bind(d),g.resume=d.resume.bind(d),g.stop=g,g}function Qn(e,t=1/0,n){if(t<=0||!Fe(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Ze(e))Qn(e.value,t,n);else if(he(e))for(let r=0;r{Qn(r,t,n)});else if(ky(e)){for(const r in e)Qn(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Qn(e[r],t,n)}return e}/** -* @vue/runtime-core v3.5.29 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function ta(e,t,n,r){try{return r?e(...r):e()}catch(s){dl(s,t,n)}}function Cn(e,t,n,r){if(ye(e)){const s=ta(e,t,n,r);return s&&Cy(s)&&s.catch(i=>{dl(i,t,n)}),s}if(he(e)){const s=[];for(let i=0;i>>1,s=Dt[r],i=Ao(s);i=Ao(n)?Dt.push(e):Dt.splice(v1(t),0,e),e.flags|=1,Jy()}}function Jy(){Sc||(Sc=Xy.then(Qy))}function y1(e){he(e)?ai.push(...e):xr&&e.id===-1?xr.splice(qs+1,0,e):e.flags&1||(ai.push(e),e.flags|=1),Jy()}function gp(e,t,n=Pn+1){for(;nAo(n)-Ao(r));if(ai.length=0,xr){xr.push(...t);return}for(xr=t,qs=0;qse.id==null?e.flags&2?-1:1/0:e.id;function Qy(e){try{for(Pn=0;Pn{r._d&&Tc(-1);const i=Ec(t);let o;try{o=e(...s)}finally{Ec(i),r._d&&Tc(1)}return o};return r._n=!0,r._c=!0,r._d=!0,r}function ws(e,t){if(St===null)return e;const n=yl(St),r=e.dirs||(e.dirs=[]);for(let s=0;s1)return n&&ye(t)?t.call(r&&r.proxy):t}}function _1(){return!!(Li()||ps)}const b1=Symbol.for("v-scx"),S1=()=>Ne(b1);function hn(e,t){return If(e,null,t)}function Se(e,t,n){return If(e,t,n)}function If(e,t,n=Ue){const{immediate:r,deep:s,flush:i,once:o}=n,a=dt({},n),c=t&&r||!t&&i!=="post";let l;if(Oo){if(i==="sync"){const h=S1();l=h.__watcherHandles||(h.__watcherHandles=[])}else if(!c){const h=()=>{};return h.stop=Vn,h.resume=Vn,h.pause=Vn,h}}const d=Rt;a.call=(h,p,m)=>Cn(h,d,p,m);let u=!1;i==="post"?a.scheduler=h=>{kt(h,d&&d.suspense)}:i!=="sync"&&(u=!0,a.scheduler=(h,p)=>{p?h():kf(h)}),a.augmentJob=h=>{t&&(h.flags|=4),u&&(h.flags|=2,d&&(h.id=d.uid,h.i=d))};const f=m1(e,t,a);return Oo&&(l?l.push(f):c&&f()),f}function E1(e,t,n){const r=this.proxy,s=rt(e)?e.includes(".")?t_(r,e):()=>r[e]:e.bind(r,r);let i;ye(t)?i=t:(i=t.handler,n=t);const o=ra(this),a=If(s,i.bind(r),n);return o(),a}function t_(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;se.__isTeleport,po=e=>e&&(e.disabled||e.disabled===""),vp=e=>e&&(e.defer||e.defer===""),yp=e=>typeof SVGElement<"u"&&e instanceof SVGElement,_p=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Ju=(e,t)=>{const n=e&&e.to;return rt(n)?t?t(n):null:n},s_={name:"Teleport",__isTeleport:!0,process(e,t,n,r,s,i,o,a,c,l){const{mc:d,pc:u,pbc:f,o:{insert:h,querySelector:p,createText:m,createComment:v}}=l,g=po(t.props);let{shapeFlag:y,children:C,dynamicChildren:w}=t;if(e==null){const I=t.el=m(""),x=t.anchor=m("");h(I,n,r),h(x,n,r);const S=(k,R)=>{y&16&&d(C,k,R,s,i,o,a,c)},b=()=>{const k=t.target=Ju(t.props,p),R=Zu(k,t,m,h);k&&(o!=="svg"&&yp(k)?o="svg":o!=="mathml"&&_p(k)&&(o="mathml"),s&&s.isCE&&(s.ce._teleportTargets||(s.ce._teleportTargets=new Set)).add(k),g||(S(k,R),Ya(t,!1)))};g&&(S(n,x),Ya(t,!0)),vp(t.props)?(t.el.__isMounted=!1,kt(()=>{b(),delete t.el.__isMounted},i)):b()}else{if(vp(t.props)&&e.el.__isMounted===!1){kt(()=>{s_.process(e,t,n,r,s,i,o,a,c,l)},i);return}t.el=e.el,t.targetStart=e.targetStart;const I=t.anchor=e.anchor,x=t.target=e.target,S=t.targetAnchor=e.targetAnchor,b=po(e.props),k=b?n:x,R=b?I:S;if(o==="svg"||yp(x)?o="svg":(o==="mathml"||_p(x))&&(o="mathml"),w?(f(e.dynamicChildren,w,k,s,i,o,a),Pf(e,t,!0)):c||u(e,t,k,R,s,i,o,a,!1),g)b?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Aa(t,n,I,l,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const M=t.target=Ju(t.props,p);M&&Aa(t,M,null,l,0)}else b&&Aa(t,x,S,l,1);Ya(t,g)}},remove(e,t,n,{um:r,o:{remove:s}},i){const{shapeFlag:o,children:a,anchor:c,targetStart:l,targetAnchor:d,target:u,props:f}=e;if(u&&(s(l),s(d)),i&&s(c),o&16){const h=i||!po(f);for(let p=0;p{e.isMounted=!0}),kn(()=>{e.isUnmounting=!0}),e}const sn=[Function,Array],o_={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:sn,onEnter:sn,onAfterEnter:sn,onEnterCancelled:sn,onBeforeLeave:sn,onLeave:sn,onAfterLeave:sn,onLeaveCancelled:sn,onBeforeAppear:sn,onAppear:sn,onAfterAppear:sn,onAppearCancelled:sn},a_=e=>{const t=e.subTree;return t.component?a_(t.component):t},T1={name:"BaseTransition",props:o_,setup(e,{slots:t}){const n=Li(),r=i_();return()=>{const s=t.default&&xf(t.default(),!0);if(!s||!s.length)return;const i=c_(s),o=fe(e),{mode:a}=o;if(r.isLeaving)return Yl(i);const c=bp(i);if(!c)return Yl(i);let l=Mo(c,o,r,n,u=>l=u);c.type!==bt&&Cs(c,l);let d=n.subTree&&bp(n.subTree);if(d&&d.type!==bt&&!os(d,c)&&a_(n).type!==bt){let u=Mo(d,o,r,n);if(Cs(d,u),a==="out-in"&&c.type!==bt)return r.isLeaving=!0,u.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete u.afterLeave,d=void 0},Yl(i);a==="in-out"&&c.type!==bt?u.delayLeave=(f,h,p)=>{const m=l_(r,d);m[String(d.key)]=d,f[On]=()=>{h(),f[On]=void 0,delete l.delayedLeave,d=void 0},l.delayedLeave=()=>{p(),delete l.delayedLeave,d=void 0}}:d=void 0}else d&&(d=void 0);return i}}};function c_(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==bt){t=n;break}}return t}const k1=T1;function l_(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Mo(e,t,n,r,s){const{appear:i,mode:o,persisted:a=!1,onBeforeEnter:c,onEnter:l,onAfterEnter:d,onEnterCancelled:u,onBeforeLeave:f,onLeave:h,onAfterLeave:p,onLeaveCancelled:m,onBeforeAppear:v,onAppear:g,onAfterAppear:y,onAppearCancelled:C}=t,w=String(e.key),I=l_(n,e),x=(k,R)=>{k&&Cn(k,r,9,R)},S=(k,R)=>{const M=R[1];x(k,R),he(k)?k.every(T=>T.length<=1)&&M():k.length<=1&&M()},b={mode:o,persisted:a,beforeEnter(k){let R=c;if(!n.isMounted)if(i)R=v||c;else return;k[On]&&k[On](!0);const M=I[w];M&&os(e,M)&&M.el[On]&&M.el[On](),x(R,[k])},enter(k){if(I[w]===e)return;let R=l,M=d,T=u;if(!n.isMounted)if(i)R=g||l,M=y||d,T=C||u;else return;let O=!1;k[Qi]=K=>{O||(O=!0,K?x(T,[k]):x(M,[k]),b.delayedLeave&&b.delayedLeave(),k[Qi]=void 0)};const $=k[Qi].bind(null,!1);R?S(R,[k,$]):$()},leave(k,R){const M=String(e.key);if(k[Qi]&&k[Qi](!0),n.isUnmounting)return R();x(f,[k]);let T=!1;k[On]=$=>{T||(T=!0,R(),$?x(m,[k]):x(p,[k]),k[On]=void 0,I[M]===e&&delete I[M])};const O=k[On].bind(null,!1);I[M]=e,h?S(h,[k,O]):O()},clone(k){const R=Mo(k,t,n,r,s);return s&&s(R),R}};return b}function Yl(e){if(pl(e))return e=Br(e),e.children=null,e}function bp(e){if(!pl(e))return r_(e.type)&&e.children?c_(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&ye(n.default))return n.default()}}function Cs(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Cs(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 xf(e,t=!1,n){let r=[],s=0;for(let i=0;i1)for(let i=0;imo(m,t&&(he(t)?t[v]:t),n,r,s));return}if(ci(r)&&!s){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&mo(e,t,n,r.component.subTree);return}const i=r.shapeFlag&4?yl(r.component):r.el,o=s?null:i,{i:a,r:c}=e,l=t&&t.r,d=a.refs===Ue?a.refs={}:a.refs,u=a.setupState,f=fe(u),h=u===Ue?Ey:m=>Sp(d,m)?!1:He(f,m),p=(m,v)=>!(v&&Sp(d,v));if(l!=null&&l!==c){if(Ep(t),rt(l))d[l]=null,h(l)&&(u[l]=null);else if(Ze(l)){const m=t;p(l,m.k)&&(l.value=null),m.k&&(d[m.k]=null)}}if(ye(c))ta(c,a,12,[o,d]);else{const m=rt(c),v=Ze(c);if(m||v){const g=()=>{if(e.f){const y=m?h(c)?u[c]:d[c]:p()||!e.k?c.value:d[e.k];if(s)he(y)&&pf(y,i);else if(he(y))y.includes(i)||y.push(i);else if(m)d[c]=[i],h(c)&&(u[c]=d[c]);else{const C=[i];p(c,e.k)&&(c.value=C),e.k&&(d[e.k]=C)}}else m?(d[c]=o,h(c)&&(u[c]=o)):v&&(p(c,e.k)&&(c.value=o),e.k&&(d[e.k]=o))};if(o){const y=()=>{g(),wc.delete(e)};y.id=-1,wc.set(e,y),kt(y,n)}else Ep(e),g()}}}function Ep(e){const t=wc.get(e);t&&(t.flags|=8,wc.delete(e))}cl().requestIdleCallback;cl().cancelIdleCallback;const ci=e=>!!e.type.__asyncLoader,pl=e=>e.type.__isKeepAlive;function d_(e,t){h_(e,"a",t)}function f_(e,t){h_(e,"da",t)}function h_(e,t,n=Rt){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(ml(t,r,n),n){let s=n.parent;for(;s&&s.parent;)pl(s.parent.vnode)&&I1(r,t,n,s),s=s.parent}}function I1(e,t,n,r){const s=ml(t,e,r,!0);p_(()=>{pf(r[t],s)},n)}function ml(e,t,n=Rt,r=!1){if(n){const s=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{ir();const a=ra(n),c=Cn(t,n,e,o);return a(),or(),c});return r?s.unshift(i):s.push(i),i}}const mr=e=>(t,n=Rt)=>{(!Oo||e==="sp")&&ml(e,(...r)=>t(...r),n)},gl=mr("bm"),gr=mr("m"),x1=mr("bu"),Rf=mr("u"),kn=mr("bum"),p_=mr("um"),R1=mr("sp"),A1=mr("rtg"),M1=mr("rtc");function P1(e,t=Rt){ml("ec",e,t)}const m_="components";function O1(e,t){return y_(m_,e,!0,t)||e}const g_=Symbol.for("v-ndc");function v_(e){return rt(e)?y_(m_,e,!1)||e:e||g_}function y_(e,t,n=!0,r=!1){const s=St||Rt;if(s){const i=s.type;{const a=vC(i,!1);if(a&&(a===t||a===zt(t)||a===Oi(zt(t))))return i}const o=wp(s[e]||i[e],t)||wp(s.appContext[e],t);return!o&&r?i:o}}function wp(e,t){return e&&(e[t]||e[zt(t)]||e[Oi(zt(t))])}function L1(e,t,n,r){let s;const i=n,o=he(e);if(o||rt(e)){const a=o&&er(e);let c=!1,l=!1;a&&(c=!en(e),l=ar(e),e=ll(e)),s=new Array(e.length);for(let d=0,u=e.length;dt(a,c,void 0,i));else{const a=Object.keys(e);s=new Array(a.length);for(let c=0,l=a.length;c{const i=r.fn(...s);return i&&(i.key=r.key),i}:r.fn)}return e}function o4(e,t,n={},r,s){if(St.ce||St.parent&&ci(St.parent)&&St.parent.ce){const l=Object.keys(n).length>0;return t!=="default"&&(n.name=t),cn(),$n(Qe,null,[H("slot",n,r)],l?-2:64)}let i=e[t];i&&i._c&&(i._d=!1),cn();const o=i&&__(i(n)),a=n.key||o&&o.key,c=$n(Qe,{key:(a&&!En(a)?a:`_${t}`)+(!o&&r?"_fb":"")},o||[],o&&e._===1?64:-2);return i&&i._c&&(i._d=!0),c}function __(e){return e.some(t=>mi(t)?!(t.type===bt||t.type===Qe&&!__(t.children)):!0)?e:null}const Qu=e=>e?B_(e)?yl(e):Qu(e.parent):null,go=dt(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=>Qu(e.parent),$root:e=>Qu(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>S_(e),$forceUpdate:e=>e.f||(e.f=()=>{kf(e.update)}),$nextTick:e=>e.n||(e.n=yt.bind(e.proxy)),$watch:e=>E1.bind(e)}),Xl=(e,t)=>e!==Ue&&!e.__isScriptSetup&&He(e,t),N1={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:s,props:i,accessCache:o,type:a,appContext:c}=e;if(t[0]!=="$"){const f=o[t];if(f!==void 0)switch(f){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return i[t]}else{if(Xl(r,t))return o[t]=1,r[t];if(s!==Ue&&He(s,t))return o[t]=2,s[t];if(He(i,t))return o[t]=3,i[t];if(n!==Ue&&He(n,t))return o[t]=4,n[t];ed&&(o[t]=0)}}const l=go[t];let d,u;if(l)return t==="$attrs"&&xt(e.attrs,"get",""),l(e);if((d=a.__cssModules)&&(d=d[t]))return d;if(n!==Ue&&He(n,t))return o[t]=4,n[t];if(u=c.config.globalProperties,He(u,t))return u[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:i}=e;return Xl(s,t)?(s[t]=n,!0):r!==Ue&&He(r,t)?(r[t]=n,!0):He(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,props:i,type:o}},a){let c;return!!(n[a]||e!==Ue&&a[0]!=="$"&&He(e,a)||Xl(t,a)||He(i,a)||He(r,a)||He(go,a)||He(s.config.globalProperties,a)||(c=o.__cssModules)&&c[a])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:He(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Cp(e){return he(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let ed=!0;function D1(e){const t=S_(e),n=e.proxy,r=e.ctx;ed=!1,t.beforeCreate&&Tp(t.beforeCreate,e,"bc");const{data:s,computed:i,methods:o,watch:a,provide:c,inject:l,created:d,beforeMount:u,mounted:f,beforeUpdate:h,updated:p,activated:m,deactivated:v,beforeDestroy:g,beforeUnmount:y,destroyed:C,unmounted:w,render:I,renderTracked:x,renderTriggered:S,errorCaptured:b,serverPrefetch:k,expose:R,inheritAttrs:M,components:T,directives:O,filters:$}=t;if(l&&F1(l,r,null),o)for(const z in o){const N=o[z];ye(N)&&(r[z]=N.bind(n))}if(s){const z=s.call(n,n);Fe(z)&&(e.data=pt(z))}if(ed=!0,i)for(const z in i){const N=i[z],oe=ye(N)?N.bind(n,n):ye(N.get)?N.get.bind(n,n):Vn,U=!ye(N)&&ye(N.set)?N.set.bind(n):Vn,J=j({get:oe,set:U});Object.defineProperty(r,z,{enumerable:!0,configurable:!0,get:()=>J.value,set:re=>J.value=re})}if(a)for(const z in a)b_(a[z],r,n,z);if(c){const z=ye(c)?c.call(n):c;Reflect.ownKeys(z).forEach(N=>{Mt(N,z[N])})}d&&Tp(d,e,"c");function Z(z,N){he(N)?N.forEach(oe=>z(oe.bind(n))):N&&z(N.bind(n))}if(Z(gl,u),Z(gr,f),Z(x1,h),Z(Rf,p),Z(d_,m),Z(f_,v),Z(P1,b),Z(M1,x),Z(A1,S),Z(kn,y),Z(p_,w),Z(R1,k),he(R))if(R.length){const z=e.exposed||(e.exposed={});R.forEach(N=>{Object.defineProperty(z,N,{get:()=>n[N],set:oe=>n[N]=oe,enumerable:!0})})}else e.exposed||(e.exposed={});I&&e.render===Vn&&(e.render=I),M!=null&&(e.inheritAttrs=M),T&&(e.components=T),O&&(e.directives=O),k&&u_(e)}function F1(e,t,n=Vn){he(e)&&(e=td(e));for(const r in e){const s=e[r];let i;Fe(s)?"default"in s?i=Ne(s.from||r,s.default,!0):i=Ne(s.from||r):i=Ne(s),Ze(i)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[r]=i}}function Tp(e,t,n){Cn(he(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function b_(e,t,n,r){let s=r.includes(".")?t_(n,r):()=>n[r];if(rt(e)){const i=t[e];ye(i)&&Se(s,i)}else if(ye(e))Se(s,e.bind(n));else if(Fe(e))if(he(e))e.forEach(i=>b_(i,t,n,r));else{const i=ye(e.handler)?e.handler.bind(n):t[e.handler];ye(i)&&Se(s,i,e)}}function S_(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,a=i.get(t);let c;return a?c=a:!s.length&&!n&&!r?c=t:(c={},s.length&&s.forEach(l=>Cc(c,l,o,!0)),Cc(c,t,o)),Fe(t)&&i.set(t,c),c}function Cc(e,t,n,r=!1){const{mixins:s,extends:i}=t;i&&Cc(e,i,n,!0),s&&s.forEach(o=>Cc(e,o,n,!0));for(const o in t)if(!(r&&o==="expose")){const a=$1[o]||n&&n[o];e[o]=a?a(e[o],t[o]):t[o]}return e}const $1={data:kp,props:Ip,emits:Ip,methods:ao,computed:ao,beforeCreate:Ot,created:Ot,beforeMount:Ot,mounted:Ot,beforeUpdate:Ot,updated:Ot,beforeDestroy:Ot,beforeUnmount:Ot,destroyed:Ot,unmounted:Ot,activated:Ot,deactivated:Ot,errorCaptured:Ot,serverPrefetch:Ot,components:ao,directives:ao,watch:H1,provide:kp,inject:B1};function kp(e,t){return t?e?function(){return dt(ye(e)?e.call(this,this):e,ye(t)?t.call(this,this):t)}:t:e}function B1(e,t){return ao(td(e),td(t))}function td(e){if(he(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${zt(t)}Modifiers`]||e[`${zr(t)}Modifiers`];function j1(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||Ue;let s=n;const i=t.startsWith("update:"),o=i&&W1(r,t.slice(7));o&&(o.trim&&(s=n.map(d=>rt(d)?d.trim():d)),o.number&&(s=n.map(mf)));let a,c=r[a=jl(t)]||r[a=jl(zt(t))];!c&&i&&(c=r[a=jl(zr(t))]),c&&Cn(c,e,6,s);const l=r[a+"Once"];if(l){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,Cn(l,e,6,s)}}const z1=new WeakMap;function w_(e,t,n=!1){const r=n?z1:t.emitsCache,s=r.get(e);if(s!==void 0)return s;const i=e.emits;let o={},a=!1;if(!ye(e)){const c=l=>{const d=w_(l,t,!0);d&&(a=!0,dt(o,d))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!a?(Fe(e)&&r.set(e,null),null):(he(i)?i.forEach(c=>o[c]=null):dt(o,i),Fe(e)&&r.set(e,o),o)}function vl(e,t){return!e||!il(t)?!1:(t=t.slice(2).replace(/Once$/,""),He(e,t[0].toLowerCase()+t.slice(1))||He(e,zr(t))||He(e,t))}function xp(e){const{type:t,vnode:n,proxy:r,withProxy:s,propsOptions:[i],slots:o,attrs:a,emit:c,render:l,renderCache:d,props:u,data:f,setupState:h,ctx:p,inheritAttrs:m}=e,v=Ec(e);let g,y;try{if(n.shapeFlag&4){const w=s||r,I=w;g=Nn(l.call(I,w,d,u,h,f,p)),y=a}else{const w=t;g=Nn(w.length>1?w(u,{attrs:a,slots:o,emit:c}):w(u,null)),y=t.props?a:q1(a)}}catch(w){vo.length=0,dl(w,e,1),g=H(bt)}let C=g;if(y&&m!==!1){const w=Object.keys(y),{shapeFlag:I}=C;w.length&&I&7&&(i&&w.some(hf)&&(y=G1(y,i)),C=Br(C,y,!1,!0))}return n.dirs&&(C=Br(C,null,!1,!0),C.dirs=C.dirs?C.dirs.concat(n.dirs):n.dirs),n.transition&&Cs(C,n.transition),g=C,Ec(v),g}const q1=e=>{let t;for(const n in e)(n==="class"||n==="style"||il(n))&&((t||(t={}))[n]=e[n]);return t},G1=(e,t)=>{const n={};for(const r in e)(!hf(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function K1(e,t,n){const{props:r,children:s,component:i}=e,{props:o,children:a,patchFlag:c}=t,l=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?Rp(r,o,l):!!o;if(c&8){const d=t.dynamicProps;for(let u=0;uObject.create(T_),I_=e=>Object.getPrototypeOf(e)===T_;function X1(e,t,n,r=!1){const s={},i=k_();e.propsDefaults=Object.create(null),x_(e,t,s,i);for(const o in e.propsOptions[0])o in s||(s[o]=void 0);n?e.props=r?s:qy(s):e.type.props?e.props=s:e.props=i,e.attrs=i}function J1(e,t,n,r){const{props:s,attrs:i,vnode:{patchFlag:o}}=e,a=fe(s),[c]=e.propsOptions;let l=!1;if((r||o>0)&&!(o&16)){if(o&8){const d=e.vnode.dynamicProps;for(let u=0;u{c=!0;const[f,h]=R_(u,t,!0);dt(o,f),h&&a.push(...h)};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!i&&!c)return Fe(e)&&r.set(e,ii),ii;if(he(i))for(let d=0;de==="_"||e==="_ctx"||e==="$stable",Mf=e=>he(e)?e.map(Nn):[Nn(e)],Q1=(e,t,n)=>{if(t._n)return t;const r=gt((...s)=>Mf(t(...s)),n);return r._c=!1,r},A_=(e,t,n)=>{const r=e._ctx;for(const s in e){if(Af(s))continue;const i=e[s];if(ye(i))t[s]=Q1(s,i,r);else if(i!=null){const o=Mf(i);t[s]=()=>o}}},M_=(e,t)=>{const n=Mf(t);e.slots.default=()=>n},P_=(e,t,n)=>{for(const r in t)(n||!Af(r))&&(e[r]=t[r])},eC=(e,t,n)=>{const r=e.slots=k_();if(e.vnode.shapeFlag&32){const s=t._;s?(P_(r,t,n),n&&Iy(r,"_",s,!0)):A_(t,r)}else t&&M_(e,t)},tC=(e,t,n)=>{const{vnode:r,slots:s}=e;let i=!0,o=Ue;if(r.shapeFlag&32){const a=t._;a?n&&a===1?i=!1:P_(s,t,n):(i=!t.$stable,A_(t,s)),o=t}else t&&(M_(e,t),o={default:1});if(i)for(const a in s)!Af(a)&&o[a]==null&&delete s[a]},kt=oC;function nC(e){return rC(e)}function rC(e,t){const n=cl();n.__VUE__=!0;const{insert:r,remove:s,patchProp:i,createElement:o,createText:a,createComment:c,setText:l,setElementText:d,parentNode:u,nextSibling:f,setScopeId:h=Vn,insertStaticContent:p}=e,m=(_,E,A,L=null,D=null,F=null,q=void 0,Y=null,B=!!E.dynamicChildren)=>{if(_===E)return;_&&!os(_,E)&&(L=P(_),re(_,D,F,!0),_=null),E.patchFlag===-2&&(B=!1,E.dynamicChildren=null);const{type:V,ref:Q,shapeFlag:ne}=E;switch(V){case na:v(_,E,A,L);break;case bt:g(_,E,A,L);break;case Zl:_==null&&y(E,A,L,q);break;case Qe:T(_,E,A,L,D,F,q,Y,B);break;default:ne&1?I(_,E,A,L,D,F,q,Y,B):ne&6?O(_,E,A,L,D,F,q,Y,B):(ne&64||ne&128)&&V.process(_,E,A,L,D,F,q,Y,B,G)}Q!=null&&D?mo(Q,_&&_.ref,F,E||_,!E):Q==null&&_&&_.ref!=null&&mo(_.ref,null,F,_,!0)},v=(_,E,A,L)=>{if(_==null)r(E.el=a(E.children),A,L);else{const D=E.el=_.el;E.children!==_.children&&l(D,E.children)}},g=(_,E,A,L)=>{_==null?r(E.el=c(E.children||""),A,L):E.el=_.el},y=(_,E,A,L)=>{[_.el,_.anchor]=p(_.children,E,A,L,_.el,_.anchor)},C=({el:_,anchor:E},A,L)=>{let D;for(;_&&_!==E;)D=f(_),r(_,A,L),_=D;r(E,A,L)},w=({el:_,anchor:E})=>{let A;for(;_&&_!==E;)A=f(_),s(_),_=A;s(E)},I=(_,E,A,L,D,F,q,Y,B)=>{if(E.type==="svg"?q="svg":E.type==="math"&&(q="mathml"),_==null)x(E,A,L,D,F,q,Y,B);else{const V=_.el&&_.el._isVueCE?_.el:null;try{V&&V._beginPatch(),k(_,E,D,F,q,Y,B)}finally{V&&V._endPatch()}}},x=(_,E,A,L,D,F,q,Y)=>{let B,V;const{props:Q,shapeFlag:ne,transition:ce,dirs:se}=_;if(B=_.el=o(_.type,F,Q&&Q.is,Q),ne&8?d(B,_.children):ne&16&&b(_.children,B,null,L,D,Jl(_,F),q,Y),se&&Zr(_,null,L,"created"),S(B,_,_.scopeId,q,L),Q){for(const qe in Q)qe!=="value"&&!uo(qe)&&i(B,qe,null,Q[qe],F,L);"value"in Q&&i(B,"value",null,Q.value,F),(V=Q.onVnodeBeforeMount)&&An(V,L,_)}se&&Zr(_,null,L,"beforeMount");const Ie=sC(D,ce);Ie&&ce.beforeEnter(B),r(B,E,A),((V=Q&&Q.onVnodeMounted)||Ie||se)&&kt(()=>{V&&An(V,L,_),Ie&&ce.enter(B),se&&Zr(_,null,L,"mounted")},D)},S=(_,E,A,L,D)=>{if(A&&h(_,A),L)for(let F=0;F{for(let V=B;V<_.length;V++){const Q=_[V]=Y?Jn(_[V]):Nn(_[V]);m(null,Q,E,A,L,D,F,q,Y)}},k=(_,E,A,L,D,F,q)=>{const Y=E.el=_.el;let{patchFlag:B,dynamicChildren:V,dirs:Q}=E;B|=_.patchFlag&16;const ne=_.props||Ue,ce=E.props||Ue;let se;if(A&&Qr(A,!1),(se=ce.onVnodeBeforeUpdate)&&An(se,A,E,_),Q&&Zr(E,_,A,"beforeUpdate"),A&&Qr(A,!0),(ne.innerHTML&&ce.innerHTML==null||ne.textContent&&ce.textContent==null)&&d(Y,""),V?R(_.dynamicChildren,V,Y,A,L,Jl(E,D),F):q||N(_,E,Y,null,A,L,Jl(E,D),F,!1),B>0){if(B&16)M(Y,ne,ce,A,D);else if(B&2&&ne.class!==ce.class&&i(Y,"class",null,ce.class,D),B&4&&i(Y,"style",ne.style,ce.style,D),B&8){const Ie=E.dynamicProps;for(let qe=0;qe{se&&An(se,A,E,_),Q&&Zr(E,_,A,"updated")},L)},R=(_,E,A,L,D,F,q)=>{for(let Y=0;Y{if(E!==A){if(E!==Ue)for(const F in E)!uo(F)&&!(F in A)&&i(_,F,E[F],null,D,L);for(const F in A){if(uo(F))continue;const q=A[F],Y=E[F];q!==Y&&F!=="value"&&i(_,F,Y,q,D,L)}"value"in A&&i(_,"value",E.value,A.value,D)}},T=(_,E,A,L,D,F,q,Y,B)=>{const V=E.el=_?_.el:a(""),Q=E.anchor=_?_.anchor:a("");let{patchFlag:ne,dynamicChildren:ce,slotScopeIds:se}=E;se&&(Y=Y?Y.concat(se):se),_==null?(r(V,A,L),r(Q,A,L),b(E.children||[],A,Q,D,F,q,Y,B)):ne>0&&ne&64&&ce&&_.dynamicChildren&&_.dynamicChildren.length===ce.length?(R(_.dynamicChildren,ce,A,D,F,q,Y),(E.key!=null||D&&E===D.subTree)&&Pf(_,E,!0)):N(_,E,A,Q,D,F,q,Y,B)},O=(_,E,A,L,D,F,q,Y,B)=>{E.slotScopeIds=Y,_==null?E.shapeFlag&512?D.ctx.activate(E,A,L,q,B):$(E,A,L,D,F,q,B):K(_,E,B)},$=(_,E,A,L,D,F,q)=>{const Y=_.component=fC(_,L,D);if(pl(_)&&(Y.ctx.renderer=G),hC(Y,!1,q),Y.asyncDep){if(D&&D.registerDep(Y,Z,q),!_.el){const B=Y.subTree=H(bt);g(null,B,E,A),_.placeholder=B.el}}else Z(Y,_,E,A,D,F,q)},K=(_,E,A)=>{const L=E.component=_.component;if(K1(_,E,A))if(L.asyncDep&&!L.asyncResolved){z(L,E,A);return}else L.next=E,L.update();else E.el=_.el,L.vnode=E},Z=(_,E,A,L,D,F,q)=>{const Y=()=>{if(_.isMounted){let{next:ne,bu:ce,u:se,parent:Ie,vnode:qe}=_;{const xn=O_(_);if(xn){ne&&(ne.el=qe.el,z(_,ne,q)),xn.asyncDep.then(()=>{kt(()=>{_.isUnmounted||V()},D)});return}}let Ve=ne,Bt;Qr(_,!1),ne?(ne.el=qe.el,z(_,ne,q)):ne=qe,ce&&Ka(ce),(Bt=ne.props&&ne.props.onVnodeBeforeUpdate)&&An(Bt,Ie,ne,qe),Qr(_,!0);const Ht=xp(_),In=_.subTree;_.subTree=Ht,m(In,Ht,u(In.el),P(In),_,D,F),ne.el=Ht.el,Ve===null&&Y1(_,Ht.el),se&&kt(se,D),(Bt=ne.props&&ne.props.onVnodeUpdated)&&kt(()=>An(Bt,Ie,ne,qe),D)}else{let ne;const{el:ce,props:se}=E,{bm:Ie,m:qe,parent:Ve,root:Bt,type:Ht}=_,In=ci(E);Qr(_,!1),Ie&&Ka(Ie),!In&&(ne=se&&se.onVnodeBeforeMount)&&An(ne,Ve,E),Qr(_,!0);{Bt.ce&&Bt.ce._hasShadowRoot()&&Bt.ce._injectChildStyle(Ht);const xn=_.subTree=xp(_);m(null,xn,A,L,_,D,F),E.el=xn.el}if(qe&&kt(qe,D),!In&&(ne=se&&se.onVnodeMounted)){const xn=E;kt(()=>An(ne,Ve,xn),D)}(E.shapeFlag&256||Ve&&ci(Ve.vnode)&&Ve.vnode.shapeFlag&256)&&_.a&&kt(_.a,D),_.isMounted=!0,E=A=L=null}};_.scope.on();const B=_.effect=new Py(Y);_.scope.off();const V=_.update=B.run.bind(B),Q=_.job=B.runIfDirty.bind(B);Q.i=_,Q.id=_.uid,B.scheduler=()=>kf(Q),Qr(_,!0),V()},z=(_,E,A)=>{E.component=_;const L=_.vnode.props;_.vnode=E,_.next=null,J1(_,E.props,L,A),tC(_,E.children,A),ir(),gp(_),or()},N=(_,E,A,L,D,F,q,Y,B=!1)=>{const V=_&&_.children,Q=_?_.shapeFlag:0,ne=E.children,{patchFlag:ce,shapeFlag:se}=E;if(ce>0){if(ce&128){U(V,ne,A,L,D,F,q,Y,B);return}else if(ce&256){oe(V,ne,A,L,D,F,q,Y,B);return}}se&8?(Q&16&&De(V,D,F),ne!==V&&d(A,ne)):Q&16?se&16?U(V,ne,A,L,D,F,q,Y,B):De(V,D,F,!0):(Q&8&&d(A,""),se&16&&b(ne,A,L,D,F,q,Y,B))},oe=(_,E,A,L,D,F,q,Y,B)=>{_=_||ii,E=E||ii;const V=_.length,Q=E.length,ne=Math.min(V,Q);let ce;for(ce=0;ceQ?De(_,D,F,!0,!1,ne):b(E,A,L,D,F,q,Y,B,ne)},U=(_,E,A,L,D,F,q,Y,B)=>{let V=0;const Q=E.length;let ne=_.length-1,ce=Q-1;for(;V<=ne&&V<=ce;){const se=_[V],Ie=E[V]=B?Jn(E[V]):Nn(E[V]);if(os(se,Ie))m(se,Ie,A,null,D,F,q,Y,B);else break;V++}for(;V<=ne&&V<=ce;){const se=_[ne],Ie=E[ce]=B?Jn(E[ce]):Nn(E[ce]);if(os(se,Ie))m(se,Ie,A,null,D,F,q,Y,B);else break;ne--,ce--}if(V>ne){if(V<=ce){const se=ce+1,Ie=sece)for(;V<=ne;)re(_[V],D,F,!0),V++;else{const se=V,Ie=V,qe=new Map;for(V=Ie;V<=ce;V++){const Yt=E[V]=B?Jn(E[V]):Nn(E[V]);Yt.key!=null&&qe.set(Yt.key,V)}let Ve,Bt=0;const Ht=ce-Ie+1;let In=!1,xn=0;const Ji=new Array(Ht);for(V=0;V=Ht){re(Yt,D,F,!0);continue}let Rn;if(Yt.key!=null)Rn=qe.get(Yt.key);else for(Ve=Ie;Ve<=ce;Ve++)if(Ji[Ve-Ie]===0&&os(Yt,E[Ve])){Rn=Ve;break}Rn===void 0?re(Yt,D,F,!0):(Ji[Rn-Ie]=V+1,Rn>=xn?xn=Rn:In=!0,m(Yt,E[Rn],A,null,D,F,q,Y,B),Bt++)}const cp=In?iC(Ji):ii;for(Ve=cp.length-1,V=Ht-1;V>=0;V--){const Yt=Ie+V,Rn=E[Yt],lp=E[Yt+1],up=Yt+1{const{el:F,type:q,transition:Y,children:B,shapeFlag:V}=_;if(V&6){J(_.component.subTree,E,A,L);return}if(V&128){_.suspense.move(E,A,L);return}if(V&64){q.move(_,E,A,G);return}if(q===Qe){r(F,E,A);for(let ne=0;neY.enter(F),D);else{const{leave:ne,delayLeave:ce,afterLeave:se}=Y,Ie=()=>{_.ctx.isUnmounted?s(F):r(F,E,A)},qe=()=>{F._isLeaving&&F[On](!0),ne(F,()=>{Ie(),se&&se()})};ce?ce(F,Ie,qe):qe()}else r(F,E,A)},re=(_,E,A,L=!1,D=!1)=>{const{type:F,props:q,ref:Y,children:B,dynamicChildren:V,shapeFlag:Q,patchFlag:ne,dirs:ce,cacheIndex:se}=_;if(ne===-2&&(D=!1),Y!=null&&(ir(),mo(Y,null,A,_,!0),or()),se!=null&&(E.renderCache[se]=void 0),Q&256){E.ctx.deactivate(_);return}const Ie=Q&1&&ce,qe=!ci(_);let Ve;if(qe&&(Ve=q&&q.onVnodeBeforeUnmount)&&An(Ve,E,_),Q&6)Me(_.component,A,L);else{if(Q&128){_.suspense.unmount(A,L);return}Ie&&Zr(_,null,E,"beforeUnmount"),Q&64?_.type.remove(_,E,A,G,L):V&&!V.hasOnce&&(F!==Qe||ne>0&&ne&64)?De(V,E,A,!1,!0):(F===Qe&&ne&384||!D&&Q&16)&&De(B,E,A),L&&ie(_)}(qe&&(Ve=q&&q.onVnodeUnmounted)||Ie)&&kt(()=>{Ve&&An(Ve,E,_),Ie&&Zr(_,null,E,"unmounted")},A)},ie=_=>{const{type:E,el:A,anchor:L,transition:D}=_;if(E===Qe){Ee(A,L);return}if(E===Zl){w(_);return}const F=()=>{s(A),D&&!D.persisted&&D.afterLeave&&D.afterLeave()};if(_.shapeFlag&1&&D&&!D.persisted){const{leave:q,delayLeave:Y}=D,B=()=>q(A,F);Y?Y(_.el,F,B):B()}else F()},Ee=(_,E)=>{let A;for(;_!==E;)A=f(_),s(_),_=A;s(E)},Me=(_,E,A)=>{const{bum:L,scope:D,job:F,subTree:q,um:Y,m:B,a:V}=_;Mp(B),Mp(V),L&&Ka(L),D.stop(),F&&(F.flags|=8,re(q,_,E,A)),Y&&kt(Y,E),kt(()=>{_.isUnmounted=!0},E)},De=(_,E,A,L=!1,D=!1,F=0)=>{for(let q=F;q<_.length;q++)re(_[q],E,A,L,D)},P=_=>{if(_.shapeFlag&6)return P(_.component.subTree);if(_.shapeFlag&128)return _.suspense.next();const E=f(_.anchor||_.el),A=E&&E[n_];return A?f(A):E};let W=!1;const X=(_,E,A)=>{let L;_==null?E._vnode&&(re(E._vnode,null,null,!0),L=E._vnode.component):m(E._vnode||null,_,E,null,null,null,A),E._vnode=_,W||(W=!0,gp(L),Zy(),W=!1)},G={p:m,um:re,m:J,r:ie,mt:$,mc:b,pc:N,pbc:R,n:P,o:e};return{render:X,hydrate:void 0,createApp:U1(X)}}function Jl({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 Qr({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function sC(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Pf(e,t,n=!1){const r=e.children,s=t.children;if(he(r)&&he(s))for(let i=0;i>1,e[n[a]]0&&(t[r]=n[i-1]),n[i]=r)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function O_(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:O_(t)}function Mp(e){if(e)for(let t=0;te.__isSuspense;function oC(e,t){t&&t.pendingBranch?he(e)?t.effects.push(...e):t.effects.push(e):y1(e)}const Qe=Symbol.for("v-fgt"),na=Symbol.for("v-txt"),bt=Symbol.for("v-cmt"),Zl=Symbol.for("v-stc"),vo=[];let Qt=null;function cn(e=!1){vo.push(Qt=e?null:[])}function aC(){vo.pop(),Qt=vo[vo.length-1]||null}let Po=1;function Tc(e,t=!1){Po+=e,e<0&&Qt&&t&&(Qt.hasOnce=!0)}function D_(e){return e.dynamicChildren=Po>0?Qt||ii:null,aC(),Po>0&&Qt&&Qt.push(e),e}function F_(e,t,n,r,s,i){return D_(ae(e,t,n,r,s,i,!0))}function $n(e,t,n,r,s){return D_(H(e,t,n,r,s,!0))}function mi(e){return e?e.__v_isVNode===!0:!1}function os(e,t){return e.type===t.type&&e.key===t.key}const $_=({key:e})=>e??null,Xa=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?rt(e)||Ze(e)||ye(e)?{i:St,r:e,k:t,f:!!n}:e:null);function ae(e,t=null,n=null,r=0,s=null,i=e===Qe?0:1,o=!1,a=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&$_(t),ref:t&&Xa(t),scopeId:e_,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:i,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:St};return a?(Of(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=rt(n)?8:16),Po>0&&!o&&Qt&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Qt.push(c),c}const H=cC;function cC(e,t=null,n=null,r=0,s=null,i=!1){if((!e||e===g_)&&(e=bt),mi(e)){const a=Br(e,t,!0);return n&&Of(a,n),Po>0&&!i&&Qt&&(a.shapeFlag&6?Qt[Qt.indexOf(e)]=a:Qt.push(a)),a.patchFlag=-2,a}if(yC(e)&&(e=e.__vccOpts),t){t=lC(t);let{class:a,style:c}=t;a&&!rt(a)&&(t.class=Le(a)),Fe(c)&&(ul(c)&&!he(c)&&(c=dt({},c)),t.style=Xe(c))}const o=rt(e)?1:N_(e)?128:r_(e)?64:Fe(e)?4:ye(e)?2:0;return ae(e,t,n,r,s,o,i,!0)}function lC(e){return e?ul(e)||I_(e)?dt({},e):e:null}function Br(e,t,n=!1,r=!1){const{props:s,ref:i,patchFlag:o,children:a,transition:c}=e,l=t?Je(s||{},t):s,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&$_(l),ref:t&&t.ref?n&&i?he(i)?i.concat(Xa(t)):[i,Xa(t)]:Xa(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Qe?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&&Br(e.ssContent),ssFallback:e.ssFallback&&Br(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&Cs(d,c.clone(d)),d}function co(e=" ",t=0){return H(na,null,e,t)}function rd(e="",t=!1){return t?(cn(),$n(bt,null,e)):H(bt,null,e)}function Nn(e){return e==null||typeof e=="boolean"?H(bt):he(e)?H(Qe,null,e.slice()):mi(e)?Jn(e):H(na,null,String(e))}function Jn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Br(e)}function Of(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(he(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),Of(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!I_(t)?t._ctx=St:s===3&&St&&(St.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ye(t)?(t={default:t,_ctx:St},n=32):(t=String(t),r&64?(n=16,t=[co(t)]):n=8);e.children=t,e.shapeFlag|=n}function Je(...e){const t={};for(let n=0;nRt||St;let kc,sd;{const e=cl(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),i=>{s.length>1?s.forEach(o=>o(i)):s[0](i)}};kc=t("__VUE_INSTANCE_SETTERS__",n=>Rt=n),sd=t("__VUE_SSR_SETTERS__",n=>Oo=n)}const ra=e=>{const t=Rt;return kc(e),e.scope.on(),()=>{e.scope.off(),kc(t)}},Pp=()=>{Rt&&Rt.scope.off(),kc(null)};function B_(e){return e.vnode.shapeFlag&4}let Oo=!1;function hC(e,t=!1,n=!1){t&&sd(t);const{props:r,children:s}=e.vnode,i=B_(e);X1(e,r,i,t),eC(e,s,n||t);const o=i?pC(e,t):void 0;return t&&sd(!1),o}function pC(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,N1);const{setup:r}=n;if(r){ir();const s=e.setupContext=r.length>1?gC(e):null,i=ra(e),o=ta(r,e,0,[e.props,s]),a=Cy(o);if(or(),i(),(a||e.sp)&&!ci(e)&&u_(e),a){if(o.then(Pp,Pp),t)return o.then(c=>{Op(e,c)}).catch(c=>{dl(c,e,0)});e.asyncDep=o}else Op(e,o)}else H_(e)}function Op(e,t,n){ye(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Fe(t)&&(e.setupState=Ky(t)),H_(e)}function H_(e,t,n){const r=e.type;e.render||(e.render=r.render||Vn);{const s=ra(e);ir();try{D1(e)}finally{or(),s()}}}const mC={get(e,t){return xt(e,"get",""),e[t]}};function gC(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,mC),slots:e.slots,emit:e.emit,expose:t}}function yl(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Ky(Cf(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in go)return go[n](e)},has(t,n){return n in t||n in go}})):e.proxy}function vC(e,t=!0){return ye(e)?e.displayName||e.name:e.name||t&&e.__name}function yC(e){return ye(e)&&"__vccOpts"in e}const j=(e,t)=>h1(e,t,Oo);function qr(e,t,n){try{Tc(-1);const r=arguments.length;return r===2?Fe(t)&&!he(t)?mi(t)?H(e,null,[t]):H(e,t):H(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&mi(n)&&(n=[n]),H(e,t,n))}finally{Tc(1)}}const _C="3.5.29";/** -* @vue/runtime-dom v3.5.29 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let id;const Lp=typeof window<"u"&&window.trustedTypes;if(Lp)try{id=Lp.createPolicy("vue",{createHTML:e=>e})}catch{}const V_=id?e=>id.createHTML(e):e=>e,bC="http://www.w3.org/2000/svg",SC="http://www.w3.org/1998/Math/MathML",Xn=typeof document<"u"?document:null,Np=Xn&&Xn.createElement("template"),EC={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?Xn.createElementNS(bC,e):t==="mathml"?Xn.createElementNS(SC,e):n?Xn.createElement(e,{is:n}):Xn.createElement(e);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>Xn.createTextNode(e),createComment:e=>Xn.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Xn.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,i){const o=n?n.previousSibling:t.lastChild;if(s&&(s===i||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===i||!(s=s.nextSibling)););else{Np.innerHTML=V_(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const a=Np.content;if(r==="svg"||r==="mathml"){const c=a.firstChild;for(;c.firstChild;)a.appendChild(c.firstChild);a.removeChild(c)}t.insertBefore(a,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Sr="transition",eo="animation",gi=Symbol("_vtc"),U_={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},W_=dt({},o_,U_),wC=e=>(e.displayName="Transition",e.props=W_,e),Hr=wC((e,{slots:t})=>qr(k1,j_(e),t)),es=(e,t=[])=>{he(e)?e.forEach(n=>n(...t)):e&&e(...t)},Dp=e=>e?he(e)?e.some(t=>t.length>1):e.length>1:!1;function j_(e){const t={};for(const T in e)T in U_||(t[T]=e[T]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:l=o,appearToClass:d=a,leaveFromClass:u=`${n}-leave-from`,leaveActiveClass:f=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,p=CC(s),m=p&&p[0],v=p&&p[1],{onBeforeEnter:g,onEnter:y,onEnterCancelled:C,onLeave:w,onLeaveCancelled:I,onBeforeAppear:x=g,onAppear:S=y,onAppearCancelled:b=C}=t,k=(T,O,$,K)=>{T._enterCancelled=K,Cr(T,O?d:a),Cr(T,O?l:o),$&&$()},R=(T,O)=>{T._isLeaving=!1,Cr(T,u),Cr(T,h),Cr(T,f),O&&O()},M=T=>(O,$)=>{const K=T?S:y,Z=()=>k(O,T,$);es(K,[O,Z]),Fp(()=>{Cr(O,T?c:i),Mn(O,T?d:a),Dp(K)||$p(O,r,m,Z)})};return dt(t,{onBeforeEnter(T){es(g,[T]),Mn(T,i),Mn(T,o)},onBeforeAppear(T){es(x,[T]),Mn(T,c),Mn(T,l)},onEnter:M(!1),onAppear:M(!0),onLeave(T,O){T._isLeaving=!0;const $=()=>R(T,O);Mn(T,u),T._enterCancelled?(Mn(T,f),od(T)):(od(T),Mn(T,f)),Fp(()=>{T._isLeaving&&(Cr(T,u),Mn(T,h),Dp(w)||$p(T,r,v,$))}),es(w,[T,$])},onEnterCancelled(T){k(T,!1,void 0,!0),es(C,[T])},onAppearCancelled(T){k(T,!0,void 0,!0),es(b,[T])},onLeaveCancelled(T){R(T),es(I,[T])}})}function CC(e){if(e==null)return null;if(Fe(e))return[Ql(e.enter),Ql(e.leave)];{const t=Ql(e);return[t,t]}}function Ql(e){return Nw(e)}function Mn(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[gi]||(e[gi]=new Set)).add(t)}function Cr(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[gi];n&&(n.delete(t),n.size||(e[gi]=void 0))}function Fp(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let TC=0;function $p(e,t,n,r){const s=e._endId=++TC,i=()=>{s===e._endId&&r()};if(n!=null)return setTimeout(i,n);const{type:o,timeout:a,propCount:c}=z_(e,t);if(!o)return r();const l=o+"end";let d=0;const u=()=>{e.removeEventListener(l,f),i()},f=h=>{h.target===e&&++d>=c&&u()};setTimeout(()=>{d(n[p]||"").split(", "),s=r(`${Sr}Delay`),i=r(`${Sr}Duration`),o=Bp(s,i),a=r(`${eo}Delay`),c=r(`${eo}Duration`),l=Bp(a,c);let d=null,u=0,f=0;t===Sr?o>0&&(d=Sr,u=o,f=i.length):t===eo?l>0&&(d=eo,u=l,f=c.length):(u=Math.max(o,l),d=u>0?o>l?Sr:eo:null,f=d?d===Sr?i.length:c.length:0);const h=d===Sr&&/\b(?:transform|all)(?:,|$)/.test(r(`${Sr}Property`).toString());return{type:d,timeout:u,propCount:f,hasTransform:h}}function Bp(e,t){for(;e.lengthHp(n)+Hp(e[r])))}function Hp(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function od(e){return(e?e.ownerDocument:document).body.offsetHeight}function kC(e,t,n){const r=e[gi];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Ic=Symbol("_vod"),q_=Symbol("_vsh"),Lf={name:"show",beforeMount(e,{value:t},{transition:n}){e[Ic]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):to(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),to(e,!0),r.enter(e)):r.leave(e,()=>{to(e,!1)}):to(e,t))},beforeUnmount(e,{value:t}){to(e,t)}};function to(e,t){e.style.display=t?e[Ic]:"none",e[q_]=!t}const IC=Symbol(""),xC=/(?:^|;)\s*display\s*:/;function RC(e,t,n){const r=e.style,s=rt(n);let i=!1;if(n&&!s){if(t)if(rt(t))for(const o of t.split(";")){const a=o.slice(0,o.indexOf(":")).trim();n[a]==null&&Ja(r,a,"")}else for(const o in t)n[o]==null&&Ja(r,o,"");for(const o in n)o==="display"&&(i=!0),Ja(r,o,n[o])}else if(s){if(t!==n){const o=r[IC];o&&(n+=";"+o),r.cssText=n,i=xC.test(n)}}else t&&e.removeAttribute("style");Ic in e&&(e[Ic]=i?r.display:"",e[q_]&&(r.display="none"))}const Vp=/\s*!important$/;function Ja(e,t,n){if(he(n))n.forEach(r=>Ja(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=AC(e,t);Vp.test(n)?e.setProperty(zr(r),n.replace(Vp,""),"important"):e[r]=n}}const Up=["Webkit","Moz","ms"],eu={};function AC(e,t){const n=eu[t];if(n)return n;let r=zt(t);if(r!=="filter"&&r in e)return eu[t]=r;r=Oi(r);for(let s=0;stu||(LC.then(()=>tu=0),tu=Date.now());function DC(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;Cn(FC(r,n.value),t,5,[r])};return n.value=e,n.attached=NC(),n}function FC(e,t){if(he(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>s=>!s._stopped&&r&&r(s))}else return t}const Kp=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,$C=(e,t,n,r,s,i)=>{const o=s==="svg";t==="class"?kC(e,r,o):t==="style"?RC(e,n,r):il(t)?hf(t)||PC(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):BC(e,t,r,o))?(zp(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&jp(e,t,r,o,i,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!rt(r))?zp(e,zt(t),r,i,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),jp(e,t,r,o))};function BC(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Kp(t)&&ye(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"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return Kp(t)&&rt(n)?!1:t in e}const G_=new WeakMap,K_=new WeakMap,xc=Symbol("_moveCb"),Yp=Symbol("_enterCb"),HC=e=>(delete e.props.mode,e),VC=HC({name:"TransitionGroup",props:dt({},W_,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=Li(),r=i_();let s,i;return Rf(()=>{if(!s.length)return;const o=e.moveClass||`${e.name||"v"}-move`;if(!zC(s[0].el,n.vnode.el,o)){s=[];return}s.forEach(UC),s.forEach(WC);const a=s.filter(jC);od(n.vnode.el),a.forEach(c=>{const l=c.el,d=l.style;Mn(l,o),d.transform=d.webkitTransform=d.transitionDuration="";const u=l[xc]=f=>{f&&f.target!==l||(!f||f.propertyName.endsWith("transform"))&&(l.removeEventListener("transitionend",u),l[xc]=null,Cr(l,o))};l.addEventListener("transitionend",u)}),s=[]}),()=>{const o=fe(e),a=j_(o);let c=o.tag||Qe;if(s=[],i)for(let l=0;l{a.split(/\s+/).forEach(c=>c&&r.classList.remove(c))}),n.split(/\s+/).forEach(a=>a&&r.classList.add(a)),r.style.display="none";const i=t.nodeType===1?t:t.parentNode;i.appendChild(r);const{hasTransform:o}=z_(r);return i.removeChild(r),o}const Xp=e=>{const t=e.props["onUpdate:modelValue"]||!1;return he(t)?n=>Ka(t,n):t};function qC(e){e.target.composing=!0}function Jp(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const nu=Symbol("_assign");function Zp(e,t,n){return t&&(e=e.trim()),n&&(e=mf(e)),e}const a4={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[nu]=Xp(s);const i=r||s.props&&s.props.type==="number";Gs(e,t?"change":"input",o=>{o.target.composing||e[nu](Zp(e.value,n,i))}),(n||i)&&Gs(e,"change",()=>{e.value=Zp(e.value,n,i)}),t||(Gs(e,"compositionstart",qC),Gs(e,"compositionend",Jp),Gs(e,"change",Jp))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:s,number:i}},o){if(e[nu]=Xp(o),e.composing)return;const a=(i||e.type==="number")&&!/^0\d/.test(e.value)?mf(e.value):e.value,c=t??"";a!==c&&(document.activeElement===e&&e.type!=="range"&&(r&&t===n||s&&e.value.trim()===c)||(e.value=c))}},GC=["ctrl","shift","alt","meta"],KC={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)=>GC.some(n=>e[`${n}Key`]&&!t.includes(n))},c4=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=(s,...i)=>{for(let o=0;o{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=s=>{if(!("key"in s))return;const i=zr(s.key);if(t.some(o=>o===i||YC[o]===i))return e(s)})},XC=dt({patchProp:$C},EC);let Qp;function JC(){return Qp||(Qp=nC(XC))}const ZC=(...e)=>{const t=JC().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=eT(r);if(!s)return;const i=t._component;!ye(i)&&!i.render&&!i.template&&(i.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const o=n(s,!1,QC(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),o},t};function QC(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function eT(e){return rt(e)?document.querySelector(e):e}function u4(e){}function X_(e,t){t=Array.isArray(t)?t.slice(0,-1).map(n=>`'${n}'`).join(", ")+` or '${t.at(-1)}'`:`'${t}'`}const et=typeof window<"u",Df=et&&"IntersectionObserver"in window,tT=et&&("ontouchstart"in window||window.navigator.maxTouchPoints>0),J_=et&&"matchMedia"in window&&typeof window.matchMedia=="function",Lo=()=>J_&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;function em(e,t,n){nT(e,t),t.set(e,n)}function nT(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function tm(e,t,n){return e.set(Z_(e,t),n),n}function qn(e,t){return e.get(Z_(e,t))}function Z_(e,t,n){if(typeof e=="function"?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}function Q_(e,t,n){const r=t.length-1;if(r<0)return e===void 0?n:e;for(let s=0;s"u"?n:s}if(typeof t=="string")return ad(e,t,n);if(Array.isArray(t))return Q_(e,t,n);if(typeof t!="function")return n;const r=t(e,n);return typeof r>"u"?n:r}function eb(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Array.from({length:e},(n,r)=>t+r)}function ge(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"px";if(e==null||e==="")return;const n=Number(e);return isNaN(n)?String(e):isFinite(n)?`${n}${t}`:void 0}function cd(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function nm(e){let t;return e!==null&&typeof e=="object"&&((t=Object.getPrototypeOf(e))===Object.prototype||t===null)}function Ff(e){if(e&&"$el"in e){const t=e.$el;return(t==null?void 0:t.nodeType)===Node.TEXT_NODE?t.nextElementSibling:t}return e}const d4=Object.freeze({enter:"Enter",tab:"Tab",delete:"Delete",esc:"Escape",space:"Space",up:"ArrowUp",down:"ArrowDown",left:"ArrowLeft",right:"ArrowRight",end:"End",home:"Home",del:"Delete",backspace:"Backspace",insert:"Insert",pageup:"PageUp",pagedown:"PageDown",shift:"Shift"});function f4(e){return Object.keys(e)}function ru(e,t){return t.every(n=>e.hasOwnProperty(n))}function $f(e,t){const n={};for(const r of t)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function rm(e,t,n){const r=Object.create(null),s=Object.create(null);for(const i in e)t.some(o=>o instanceof RegExp?o.test(i):o===i)?r[i]=e[i]:s[i]=e[i];return[r,s]}function As(e,t){const n={...e};return t.forEach(r=>delete n[r]),n}const tb=/^on[^a-z]/,nb=e=>tb.test(e),rT=["onAfterscriptexecute","onAnimationcancel","onAnimationend","onAnimationiteration","onAnimationstart","onAuxclick","onBeforeinput","onBeforescriptexecute","onChange","onClick","onCompositionend","onCompositionstart","onCompositionupdate","onContextmenu","onCopy","onCut","onDblclick","onFocusin","onFocusout","onFullscreenchange","onFullscreenerror","onGesturechange","onGestureend","onGesturestart","onGotpointercapture","onInput","onKeydown","onKeypress","onKeyup","onLostpointercapture","onMousedown","onMousemove","onMouseout","onMouseover","onMouseup","onMousewheel","onPaste","onPointercancel","onPointerdown","onPointerenter","onPointerleave","onPointermove","onPointerout","onPointerover","onPointerup","onReset","onSelect","onSubmit","onTouchcancel","onTouchend","onTouchmove","onTouchstart","onTransitioncancel","onTransitionend","onTransitionrun","onTransitionstart","onWheel"],sT=["ArrowUp","ArrowDown","ArrowRight","ArrowLeft","Enter","Escape","Tab"," "];function h4(e){return e.isComposing&&sT.includes(e.key)}function p4(e){const[t,n]=rm(e,[tb]),r=As(t,rT),[s,i]=rm(n,["class","style","id","inert",/^data-/]);return Object.assign(s,t),Object.assign(i,r),[s,i]}function Bf(e){return e==null?[]:Array.isArray(e)?e:[e]}function m4(e,t){let n=0;const r=function(){for(var s=arguments.length,i=new Array(s),o=0;oe(...i),Ut(t))};return r.clear=()=>{clearTimeout(n)},r.immediate=e,r}function cr(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1;return Math.max(t,Math.min(n,e))}function sm(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"0";return e+n.repeat(Math.max(0,t-e.length))}function im(e,t){return(arguments.length>2&&arguments[2]!==void 0?arguments[2]:"0").repeat(Math.max(0,t-e.length))+e}function iT(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;const n=[];let r=0;for(;r1&&arguments[1]!==void 0?arguments[1]:1e3;if(e=t&&r0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;const r={};for(const s in e)r[s]=e[s];for(const s in t){const i=e[s],o=t[s];if(nm(i)&&nm(o)){r[s]=At(i,o,n);continue}if(n&&Array.isArray(i)&&Array.isArray(o)){r[s]=n(i,o);continue}r[s]=o}return r}function rb(e){return e.map(t=>t.type===Qe?rb(t.children):t).flat()}function ms(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";if(ms.cache.has(e))return ms.cache.get(e);const t=e.replace(/[^a-z]/gi,"-").replace(/\B([A-Z])/g,"-$1").toLowerCase();return ms.cache.set(e,t),t}ms.cache=new Map;function Zs(e,t){if(!t||typeof t!="object")return[];if(Array.isArray(t))return t.map(n=>Zs(e,n)).flat(1);if(t.suspense)return Zs(e,t.ssContent);if(Array.isArray(t.children))return t.children.map(n=>Zs(e,n)).flat(1);if(t.component){if(Object.getOwnPropertyDescriptor(t.component.provides,e))return[t.component];if(t.component.subTree)return Zs(e,t.component.subTree).flat(1)}return[]}var $s=new WeakMap,ts=new WeakMap;class oT{constructor(t){em(this,$s,[]),em(this,ts,0),this.size=t}get isFull(){return qn($s,this).length===this.size}push(t){qn($s,this)[qn(ts,this)]=t,tm(ts,this,(qn(ts,this)+1)%this.size)}values(){return qn($s,this).slice(qn(ts,this)).concat(qn($s,this).slice(0,qn(ts,this)))}clear(){qn($s,this).length=0,tm(ts,this,0)}}function Hf(e){const t=pt({});hn(()=>{const r=e();for(const s in r)t[s]=r[s]},{flush:"sync"});const n={};for(const r in t)n[r]=ee(()=>t[r]);return n}function Rc(e,t){return e.includes(t)}function sb(e){return e[2].toLowerCase()+e.slice(3)}const yo=()=>[Function,Array];function om(e,t){return t="on"+Oi(t),!!(e[t]||e[`${t}Once`]||e[`${t}Capture`]||e[`${t}OnceCapture`]||e[`${t}CaptureOnce`])}function v4(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r1&&arguments[1]!==void 0?arguments[1]:!0;const n=["button","[href]",'input:not([type="hidden"])',"select","textarea","details:not(:has(> summary))","details > summary","[tabindex]",'[contenteditable]:not([contenteditable="false"])',"audio[controls]","video[controls]"].map(s=>`${s}${t?':not([tabindex="-1"])':""}:not([disabled], [inert])`).join(", ");let r;try{r=[...e.querySelectorAll(n)]}catch{return[]}return r.filter(s=>!s.closest("[inert]")).filter(s=>!!s.offsetParent||s.getClientRects().length>0).filter(s=>{var i,o;return!((i=s.parentElement)!=null&&i.closest("details:not([open])"))||s.tagName==="SUMMARY"&&((o=s.parentElement)==null?void 0:o.tagName)==="DETAILS"})}function aT(e,t,n){let r,s=e.indexOf(document.activeElement);const i=t==="next"?1:-1;do s+=i,r=e[s];while((!r||r.offsetParent==null||!((n==null?void 0:n(r))??!0))&&s=0);return r}function ib(e,t){var r,s,i,o;const n=_o(e);if(t==null)(e===document.activeElement||!e.contains(document.activeElement))&&((r=n[0])==null||r.focus());else if(t==="first")(s=n[0])==null||s.focus();else if(t==="last")(i=n.at(-1))==null||i.focus();else if(typeof t=="number")(o=n[t])==null||o.focus();else{const a=aT(n,t);a?a.focus():ib(e,t==="next"?"first":"last")}}function y4(e){return e==null||typeof e=="string"&&e.trim()===""}function _4(){}function cT(e,t){if(!(et&&typeof CSS<"u"&&typeof CSS.supports<"u"&&CSS.supports(`selector(${t})`)))return null;try{return!!e&&e.matches(t)}catch{return null}}function lT(e){return e.some(t=>mi(t)?t.type===bt?!1:t.type!==Qe||lT(t.children):!0)?e:null}function uT(e,t){if(!et||e===0)return t(),()=>{};const n=window.setTimeout(t,e);return()=>window.clearTimeout(n)}function b4(e,t){const n=e.clientX,r=e.clientY,s=t.getBoundingClientRect(),i=s.left,o=s.top,a=s.right,c=s.bottom;return n>=i&&n<=a&&r>=o&&r<=c}function ld(){const e=be(),t=n=>{e.value=n};return Object.defineProperty(t,"value",{enumerable:!0,get:()=>e.value,set:n=>e.value=n}),Object.defineProperty(t,"el",{enumerable:!0,get:()=>Ff(e.value)}),t}function S4(e){const t=e.key.length===1,n=!e.ctrlKey&&!e.metaKey&&!e.altKey;return t&&n}function Ts(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"||typeof e=="bigint"}function E4(e){return"\\^$*+?.()|{}[]".includes(e)?`\\${e}`:e}function w4(e){const t={};for(const n in e)t[zt(n)]=e[n];return t}function dT(e){const t=["checked","disabled"];return Object.fromEntries(Object.entries(e).filter(n=>{let[r,s]=n;return t.includes(r)?!!s:s!==void 0}))}const ob=["top","bottom"],fT=["start","end","left","right"];function ud(e,t){let[n,r]=e.split(" ");return r||(r=Rc(ob,n)?"start":Rc(fT,n)?"top":"center"),{side:am(n,t),align:am(r,t)}}function am(e,t){return e==="start"?t?"right":"left":e==="end"?t?"left":"right":e}function su(e){return{side:{center:"center",top:"bottom",bottom:"top",left:"right",right:"left"}[e.side],align:e.align}}function iu(e){return{side:e.side,align:{center:"center",top:"bottom",bottom:"top",left:"right",right:"left"}[e.align]}}function cm(e){return{side:e.align,align:e.side}}function lm(e){return Rc(ob,e.side)?"y":"x"}class ln{constructor(t){const n=document.body.currentCSSZoom??1,r=t instanceof Element,s=r?1+(1-n)/n:1,{x:i,y:o,width:a,height:c}=r?t.getBoundingClientRect():t;this.x=i*s,this.y=o*s,this.width=a*s,this.height=c*s}get top(){return this.y}get bottom(){return this.y+this.height}get left(){return this.x}get right(){return this.x+this.width}}function um(e,t){return{x:{before:Math.max(0,t.left-e.left),after:Math.max(0,e.right-t.right)},y:{before:Math.max(0,t.top-e.top),after:Math.max(0,e.bottom-t.bottom)}}}function ab(e){if(Array.isArray(e)){const t=document.body.currentCSSZoom??1,n=1+(1-t)/t;return new ln({x:e[0]*n,y:e[1]*n,width:0*n,height:0*n})}else return new ln(e)}function hT(e){if(e===document.documentElement)if(visualViewport){const t=document.body.currentCSSZoom??1;return new ln({x:visualViewport.scale>1?0:visualViewport.offsetLeft,y:visualViewport.scale>1?0:visualViewport.offsetTop,width:visualViewport.width*visualViewport.scale/t,height:visualViewport.height*visualViewport.scale/t})}else return new ln({x:0,y:0,width:document.documentElement.clientWidth,height:document.documentElement.clientHeight});else return new ln(e)}function cb(e){const t=new ln(e),n=getComputedStyle(e),r=n.transform;if(r){let s,i,o,a,c;if(r.startsWith("matrix3d("))s=r.slice(9,-1).split(/, /),i=Number(s[0]),o=Number(s[5]),a=Number(s[12]),c=Number(s[13]);else if(r.startsWith("matrix("))s=r.slice(7,-1).split(/, /),i=Number(s[0]),o=Number(s[3]),a=Number(s[4]),c=Number(s[5]);else return new ln(t);const l=n.transformOrigin,d=t.x-a-(1-i)*parseFloat(l),u=t.y-c-(1-o)*parseFloat(l.slice(l.indexOf(" ")+1)),f=i?t.width/i:e.offsetWidth+1,h=o?t.height/o:e.offsetHeight+1;return new ln({x:d,y:u,width:f,height:h})}else return new ln(t)}function ss(e,t,n){if(typeof e.animate>"u")return{finished:Promise.resolve()};let r;try{r=e.animate(t,n)}catch{return{finished:Promise.resolve()}}return typeof r.finished>"u"&&(r.finished=new Promise(s=>{r.onfinish=()=>{s(r)}})),r}const Za=new WeakMap;function pT(e,t){Object.keys(t).forEach(n=>{if(nb(n)){const r=sb(n),s=Za.get(e);if(t[n]==null)s==null||s.forEach(i=>{const[o,a]=i;o===r&&(e.removeEventListener(r,a),s.delete(i))});else if(!s||![...s].some(i=>i[0]===r&&i[1]===t[n])){e.addEventListener(r,t[n]);const i=s||new Set;i.add([r,t[n]]),Za.has(e)||Za.set(e,i)}}else t[n]==null?e.removeAttribute(n):e.setAttribute(n,t[n])})}function mT(e,t){Object.keys(t).forEach(n=>{if(nb(n)){const r=sb(n),s=Za.get(e);s==null||s.forEach(i=>{const[o,a]=i;o===r&&(e.removeEventListener(r,a),s.delete(i))})}else e.removeAttribute(n)})}const Bs=2.4,dm=.2126729,fm=.7151522,hm=.072175,gT=.55,vT=.58,yT=.57,_T=.62,Ma=.03,pm=1.45,bT=5e-4,ST=1.25,ET=1.25,mm=.078,gm=12.82051282051282,Pa=.06,vm=.001;function ym(e,t){const n=(e.r/255)**Bs,r=(e.g/255)**Bs,s=(e.b/255)**Bs,i=(t.r/255)**Bs,o=(t.g/255)**Bs,a=(t.b/255)**Bs;let c=n*dm+r*fm+s*hm,l=i*dm+o*fm+a*hm;if(c<=Ma&&(c+=(Ma-c)**pm),l<=Ma&&(l+=(Ma-l)**pm),Math.abs(l-c)c){const u=(l**gT-c**vT)*ST;d=u-vm?0:u>-mm?u-u*gm*Pa:u+Pa}return d*100}const Ac=.20689655172413793,wT=e=>e>Ac**3?Math.cbrt(e):e/(3*Ac**2)+4/29,CT=e=>e>Ac?e**3:3*Ac**2*(e-4/29);function lb(e){const t=wT,n=t(e[1]);return[116*n-16,500*(t(e[0]/.95047)-n),200*(n-t(e[2]/1.08883))]}function ub(e){const t=CT,n=(e[0]+16)/116;return[t(n+e[1]/500)*.95047,t(n),t(n-e[2]/200)*1.08883]}const TT=[[3.2406,-1.5372,-.4986],[-.9689,1.8758,.0415],[.0557,-.204,1.057]],kT=e=>e<=.0031308?e*12.92:1.055*e**(1/2.4)-.055,IT=[[.4124,.3576,.1805],[.2126,.7152,.0722],[.0193,.1192,.9505]],xT=e=>e<=.04045?e/12.92:((e+.055)/1.055)**2.4;function db(e){const t=Array(3),n=kT,r=TT;for(let s=0;s<3;++s)t[s]=Math.round(cr(n(r[s][0]*e[0]+r[s][1]*e[1]+r[s][2]*e[2]))*255);return{r:t[0],g:t[1],b:t[2]}}function Vf(e){let{r:t,g:n,b:r}=e;const s=[0,0,0],i=xT,o=IT;t=i(t/255),n=i(n/255),r=i(r/255);for(let a=0;a<3;++a)s[a]=o[a][0]*t+o[a][1]*n+o[a][2]*r;return s}function dd(e){return!!e&&/^(#|var\(--|(rgb|hsl)a?\()/.test(e)}function RT(e){return dd(e)&&!/^((rgb|hsl)a?\()?var\(--/.test(e)}const _m=/^(?(?:rgb|hsl)a?)\((?.+)\)/,AT={rgb:(e,t,n,r)=>({r:e,g:t,b:n,a:r}),rgba:(e,t,n,r)=>({r:e,g:t,b:n,a:r}),hsl:(e,t,n,r)=>bm({h:e,s:t,l:n,a:r}),hsla:(e,t,n,r)=>bm({h:e,s:t,l:n,a:r}),hsv:(e,t,n,r)=>No({h:e,s:t,v:n,a:r}),hsva:(e,t,n,r)=>No({h:e,s:t,v:n,a:r})};function Bn(e){if(typeof e=="number")return{r:(e&16711680)>>16,g:(e&65280)>>8,b:e&255};if(typeof e=="string"&&_m.test(e)){const{groups:t}=e.match(_m),{fn:n,values:r}=t,s=r.split(/,\s*|\s*\/\s*|\s+/).map((i,o)=>i.endsWith("%")||o>0&&o<3&&["hsl","hsla","hsv","hsva"].includes(n)?parseFloat(i)/100:parseFloat(i));return AT[n](...s)}else if(typeof e=="string"){let t=e.startsWith("#")?e.slice(1):e;return[3,4].includes(t.length)?t=t.split("").map(n=>n+n).join(""):[6,8].includes(t.length),PT(t)}else if(typeof e=="object"){if(ru(e,["r","g","b"]))return e;if(ru(e,["h","s","l"]))return No(fb(e));if(ru(e,["h","s","v"]))return No(e)}throw new TypeError(`Invalid color: ${e==null?e:String(e)||e.constructor.name} -Expected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`)}function No(e){const{h:t,s:n,v:r,a:s}=e,i=a=>{const c=(a+t/60)%6;return r-r*n*Math.max(Math.min(c,4-c,1),0)},o=[i(5),i(3),i(1)].map(a=>Math.round(a*255));return{r:o[0],g:o[1],b:o[2],a:s}}function bm(e){return No(fb(e))}function fb(e){const{h:t,s:n,l:r,a:s}=e,i=r+n*Math.min(r,1-r),o=i===0?0:2-2*r/i;return{h:t,s:o,v:i,a:s}}function Oa(e){const t=Math.round(e).toString(16);return("00".substr(0,2-t.length)+t).toUpperCase()}function MT(e){let{r:t,g:n,b:r,a:s}=e;return`#${[Oa(t),Oa(n),Oa(r),s!==void 0?Oa(Math.round(s*255)):""].join("")}`}function PT(e){e=OT(e);let[t,n,r,s]=iT(e,2).map(i=>parseInt(i,16));return s=s===void 0?s:s/255,{r:t,g:n,b:r,a:s}}function OT(e){return e.startsWith("#")&&(e=e.slice(1)),e=e.replace(/([^0-9a-f])/gi,"F"),(e.length===3||e.length===4)&&(e=e.split("").map(t=>t+t).join("")),e.length!==6&&(e=sm(sm(e,6),8,"F")),e}function LT(e,t){const n=lb(Vf(e));return n[0]=n[0]+t*10,db(ub(n))}function NT(e,t){const n=lb(Vf(e));return n[0]=n[0]-t*10,db(ub(n))}function DT(e){const t=Bn(e);return Vf(t)[1]}function hb(e){const t=Math.abs(ym(Bn(0),Bn(e)));return Math.abs(ym(Bn(16777215),Bn(e)))>Math.min(t,50)?"#fff":"#000"}function ue(e,t){return n=>Object.keys(e).reduce((r,s)=>{const o=typeof e[s]=="object"&&e[s]!=null&&!Array.isArray(e[s])?e[s]:{type:e[s]};return n&&s in n?r[s]={...o,default:n[s]}:r[s]=o,t&&!r[s].source&&(r[s].source=t),r},{})}const ct=ue({class:[String,Array,Object],style:{type:[String,Array,Object],default:null}},"component");function mt(e,t){const n=Li();if(!n)throw new Error(`[Vuetify] ${e} must be called from inside a setup function`);return n}function Gr(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"composables";const t=mt(e).type;return ms((t==null?void 0:t.aliasName)||(t==null?void 0:t.name))}function FT(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:mt("injectSelf");const{provides:n}=t;if(n&&e in n)return n[e]}const vi=Symbol.for("vuetify:defaults");function $T(e){return we(e)}function Uf(){const e=Ne(vi);if(!e)throw new Error("[Vuetify] Could not find defaults instance");return e}function _l(e,t){const n=Uf(),r=we(e),s=j(()=>{if(Ut(t==null?void 0:t.disabled))return n.value;const o=Ut(t==null?void 0:t.scoped),a=Ut(t==null?void 0:t.reset),c=Ut(t==null?void 0:t.root);if(r.value==null&&!(o||a||c))return n.value;let l=At(r.value,{prev:n.value});if(o)return l;if(a||c){const d=Number(a||1/0);for(let u=0;u<=d&&!(!l||!("prev"in l));u++)l=l.prev;return l&&typeof c=="string"&&c in l&&(l=At(At(l,{prev:l}),l[c])),l}return l.prev?At(l.prev,l):l});return Mt(vi,s),s}function BT(e,t){return e.props&&(typeof e.props[t]<"u"||typeof e.props[ms(t)]<"u")}function HT(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Uf();const r=mt("useDefaults");if(t=t??r.type.name??r.type.__name,!t)throw new Error("[Vuetify] Could not determine component name");const s=j(()=>{var c;return(c=n.value)==null?void 0:c[e._as??t]}),i=new Proxy(e,{get(c,l){var h,p,m,v;const d=Reflect.get(c,l);if(l==="class"||l==="style")return[(h=s.value)==null?void 0:h[l],d].filter(g=>g!=null);if(BT(r.vnode,l))return d;const u=(p=s.value)==null?void 0:p[l];if(u!==void 0)return u;const f=(v=(m=n.value)==null?void 0:m.global)==null?void 0:v[l];return f!==void 0?f:d}}),o=be();hn(()=>{if(s.value){const c=Object.entries(s.value).filter(l=>{let[d]=l;return d.startsWith(d[0].toUpperCase())});o.value=c.length?Object.fromEntries(c):void 0}else o.value=void 0});function a(){const c=FT(vi,r);Mt(vi,j(()=>o.value?At((c==null?void 0:c.value)??{},o.value):c==null?void 0:c.value))}return{props:i,provideSubDefaults:a}}function Ni(e){if(e._setup=e._setup??e.setup,!e.name)return e;if(e._setup){e.props=ue(e.props??{},e.name)();const t=Object.keys(e.props).filter(n=>n!=="class"&&n!=="style");e.filterProps=function(r){return $f(r,t)},e.props._as=String,e.setup=function(r,s){const i=Uf();if(!i.value)return e._setup(r,s);const{props:o,provideSubDefaults:a}=HT(r,r._as??e.name,i),c=e._setup(o,s);return a(),c}}return e}function $e(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return t=>(e?Ni:fl)(t)}function C4(e,t){return t.props=e,t}function Wf(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"div",n=arguments.length>2?arguments[2]:void 0;return $e()({name:n??Oi(zt(e.replace(/__/g,"-"))),props:{tag:{type:String,default:t},...ct()},setup(r,s){let{slots:i}=s;return()=>{var o;return qr(r.tag,{class:[e,r.class],style:r.style},(o=i.default)==null?void 0:o.call(i))}}})}function VT(e,t,n,r){if(!n||Ts(e)||Ts(t))return;const s=n.get(e);if(s)s.set(t,r);else{const i=new WeakMap;i.set(t,r),n.set(e,i)}}function UT(e,t,n){var i,o;if(!n||Ts(e)||Ts(t))return null;const r=(i=n.get(e))==null?void 0:i.get(t);if(typeof r=="boolean")return r;const s=(o=n.get(t))==null?void 0:o.get(e);return typeof s=="boolean"?s:null}function gs(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new WeakMap;if(e===t)return!0;if(e instanceof Date&&t instanceof Date&&e.getTime()!==t.getTime()||e!==Object(e)||t!==Object(t))return!1;const r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;const s=UT(e,t,n);return s||(VT(e,t,n,!0),r.every(i=>gs(e[i],t[i],n)))}function pb(e){if(typeof e.getRootNode!="function"){for(;e.parentNode;)e=e.parentNode;return e!==document?null:document}const t=e.getRootNode();return t!==document&&t.getRootNode({composed:!0})!==document?null:t}const fd="cubic-bezier(0.4, 0, 0.2, 1)",Sm="cubic-bezier(0.0, 0, 0.2, 1)",Em="cubic-bezier(0.4, 0, 1, 1)",WT={linear:e=>e,easeInQuad:e=>e**2,easeOutQuad:e=>e*(2-e),easeInOutQuad:e=>e<.5?2*e**2:-1+(4-2*e)*e,easeInCubic:e=>e**3,easeOutCubic:e=>--e**3+1,easeInOutCubic:e=>e<.5?4*e**3:(e-1)*(2*e-2)*(2*e-2)+1,easeInQuart:e=>e**4,easeOutQuart:e=>1- --e**4,easeInOutQuart:e=>e<.5?8*e**4:1-8*--e**4,easeInQuint:e=>e**5,easeOutQuint:e=>1+--e**5,easeInOutQuint:e=>e<.5?16*e**5:1+16*--e**5,instant:e=>1};function jT(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;for(;e;){if(t?zT(e):jf(e))return e;e=e.parentElement}return document.scrollingElement}function Mc(e,t){const n=[];if(t&&e&&!t.contains(e))return n;for(;e&&(jf(e)&&n.push(e),e!==t);)e=e.parentElement;return n}function jf(e){if(!e||e.nodeType!==Node.ELEMENT_NODE)return!1;const t=window.getComputedStyle(e),n=t.overflowY==="scroll"||t.overflowY==="auto"&&e.scrollHeight>e.clientHeight,r=t.overflowX==="scroll"||t.overflowX==="auto"&&e.scrollWidth>e.clientWidth;return n||r}function zT(e){if(!e||e.nodeType!==Node.ELEMENT_NODE)return!1;const t=window.getComputedStyle(e);return["scroll","auto"].includes(t.overflowY)}function qT(e){for(;e;){if(window.getComputedStyle(e).position==="fixed")return!0;e=e.offsetParent}return!1}function tt(e){const t=mt("useRender");t.render=e}function GT(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{leading:!0,trailing:!0},r=0,s=0,i=!1,o=0;function a(){clearTimeout(r),i=!1,o=0}const c=function(){for(var l=arguments.length,d=new Array(l),u=0;u=t?p():n.trailing&&(r=setTimeout(p,t-h)):(i=!0,n.leading&&p())};return c.clear=a,c.immediate=e,c}const Et=[String,Function,Object,Array],hd=Symbol.for("vuetify:icons"),bl=ue({icon:{type:Et},tag:{type:[String,Object,Function],required:!0}},"icon"),wm=$e()({name:"VComponentIcon",props:bl(),setup(e,t){let{slots:n}=t;return()=>{const r=e.icon;return H(e.tag,null,{default:()=>{var s;return[e.icon?H(r,null,null):(s=n.default)==null?void 0:s.call(n)]}})}}}),mb=Ni({name:"VSvgIcon",inheritAttrs:!1,props:bl(),setup(e,t){let{attrs:n}=t;return()=>H(e.tag,Je(n,{style:null}),{default:()=>[ae("svg",{class:"v-icon__svg",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",role:"img","aria-hidden":"true"},[Array.isArray(e.icon)?e.icon.map(r=>Array.isArray(r)?ae("path",{d:r[0],"fill-opacity":r[1]},null):ae("path",{d:r},null)):ae("path",{d:e.icon},null)])]})}});Ni({name:"VLigatureIcon",props:bl(),setup(e){return()=>H(e.tag,null,{default:()=>[e.icon]})}});const gb=Ni({name:"VClassIcon",props:bl(),setup(e){return()=>H(e.tag,{class:Le(e.icon)},null)}}),KT=e=>{const t=Ne(hd);if(!t)throw new Error("Missing Vuetify Icons provide!");return{iconData:j(()=>{var c;const r=vt(e);if(!r)return{component:wm};let s=r;if(typeof s=="string"&&(s=s.trim(),s.startsWith("$")&&(s=(c=t.aliases)==null?void 0:c[s.slice(1)])),Array.isArray(s))return{component:mb,icon:s};if(typeof s!="string")return{component:wm,icon:s};const i=Object.keys(t.sets).find(l=>typeof s=="string"&&s.startsWith(`${l}:`)),o=i?s.slice(i.length+1):s;return{component:t.sets[i??t.defaultSet].component,icon:o}})}},YT={collapse:"mdi-chevron-up",complete:"mdi-check",cancel:"mdi-close-circle",close:"mdi-close",delete:"mdi-close-circle",clear:"mdi-close-circle",success:"mdi-check-circle",info:"mdi-information",warning:"mdi-alert-circle",error:"mdi-close-circle",prev:"mdi-chevron-left",next:"mdi-chevron-right",checkboxOn:"mdi-checkbox-marked",checkboxOff:"mdi-checkbox-blank-outline",checkboxIndeterminate:"mdi-minus-box",delimiter:"mdi-circle",sortAsc:"mdi-arrow-up",sortDesc:"mdi-arrow-down",expand:"mdi-chevron-down",menu:"mdi-menu",subgroup:"mdi-menu-down",dropdown:"mdi-menu-down",radioOn:"mdi-radiobox-marked",radioOff:"mdi-radiobox-blank",edit:"mdi-pencil",ratingEmpty:"mdi-star-outline",ratingFull:"mdi-star",ratingHalf:"mdi-star-half-full",loading:"mdi-cached",first:"mdi-page-first",last:"mdi-page-last",unfold:"mdi-unfold-more-horizontal",file:"mdi-paperclip",plus:"mdi-plus",minus:"mdi-minus",calendar:"mdi-calendar",treeviewCollapse:"mdi-menu-down",treeviewExpand:"mdi-menu-right",tableGroupCollapse:"mdi-chevron-down",tableGroupExpand:"mdi-chevron-right",eyeDropper:"mdi-eyedropper",upload:"mdi-cloud-upload",color:"mdi-palette",command:"mdi-apple-keyboard-command",ctrl:"mdi-apple-keyboard-control",space:"mdi-keyboard-space",shift:"mdi-apple-keyboard-shift",alt:"mdi-apple-keyboard-option",enter:"mdi-keyboard-return",arrowup:"mdi-arrow-up",arrowdown:"mdi-arrow-down",arrowleft:"mdi-arrow-left",arrowright:"mdi-arrow-right",backspace:"mdi-backspace",play:"mdi-play",pause:"mdi-pause",fullscreen:"mdi-fullscreen",fullscreenExit:"mdi-fullscreen-exit",volumeHigh:"mdi-volume-high",volumeMedium:"mdi-volume-medium",volumeLow:"mdi-volume-low",volumeOff:"mdi-volume-variant-off",search:"mdi-magnify"},XT={component:e=>qr(gb,{...e,class:"mdi"})};function JT(){return{svg:{component:mb},class:{component:gb}}}function ZT(e){const t=JT(),n=(e==null?void 0:e.defaultSet)??"mdi";return n==="mdi"&&!t.mdi&&(t.mdi=XT),At({defaultSet:n,sets:t,aliases:{...YT,vuetify:["M8.2241 14.2009L12 21L22 3H14.4459L8.2241 14.2009Z",["M7.26303 12.4733L7.00113 12L2 3H12.5261C12.5261 3 12.5261 3 12.5261 3L7.26303 12.4733Z",.6]],"vuetify-outline":"svg:M7.26 12.47 12.53 3H2L7.26 12.47ZM14.45 3 8.22 14.2 12 21 22 3H14.45ZM18.6 5 12 16.88 10.51 14.2 15.62 5ZM7.26 8.35 5.4 5H9.13L7.26 8.35Z","vuetify-play":["m6.376 13.184-4.11-7.192C1.505 4.66 2.467 3 4.003 3h8.532l-.953 1.576-.006.01-.396.677c-.429.732-.214 1.507.194 2.015.404.503 1.092.878 1.869.806a3.72 3.72 0 0 1 1.005.022c.276.053.434.143.523.237.138.146.38.635-.25 2.09-.893 1.63-1.553 1.722-1.847 1.677-.213-.033-.468-.158-.756-.406a4.95 4.95 0 0 1-.8-.927c-.39-.564-1.04-.84-1.66-.846-.625-.006-1.316.27-1.693.921l-.478.826-.911 1.506Z",["M9.093 11.552c.046-.079.144-.15.32-.148a.53.53 0 0 1 .43.207c.285.414.636.847 1.046 1.2.405.35.914.662 1.516.754 1.334.205 2.502-.698 3.48-2.495l.014-.028.013-.03c.687-1.574.774-2.852-.005-3.675-.37-.391-.861-.586-1.333-.676a5.243 5.243 0 0 0-1.447-.044c-.173.016-.393-.073-.54-.257-.145-.18-.127-.316-.082-.392l.393-.672L14.287 3h5.71c1.536 0 2.499 1.659 1.737 2.992l-7.997 13.996c-.768 1.344-2.706 1.344-3.473 0l-3.037-5.314 1.377-2.278.004-.006.004-.007.481-.831Z",.6]]}},e)}function Di(e,t){let n;function r(){n=Es(),n.run(()=>t.length?t(()=>{n==null||n.stop(),r()}):t())}Se(e,s=>{s&&!n?r():s||(n==null||n.stop(),n=void 0)},{immediate:!0}),Ct(()=>{n==null||n.stop()})}function Un(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:u=>u,s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:u=>u;const i=mt("useProxiedModel"),o=we(e[t]!==void 0?e[t]:n),a=ms(t),l=j(a!==t?()=>{var u,f,h,p;return e[t],!!(((u=i.vnode.props)!=null&&u.hasOwnProperty(t)||(f=i.vnode.props)!=null&&f.hasOwnProperty(a))&&((h=i.vnode.props)!=null&&h.hasOwnProperty(`onUpdate:${t}`)||(p=i.vnode.props)!=null&&p.hasOwnProperty(`onUpdate:${a}`)))}:()=>{var u,f;return e[t],!!((u=i.vnode.props)!=null&&u.hasOwnProperty(t)&&((f=i.vnode.props)!=null&&f.hasOwnProperty(`onUpdate:${t}`)))});Di(()=>!l.value,()=>{Se(()=>e[t],u=>{o.value=u})});const d=j({get(){const u=e[t];return r(l.value?u:o.value)},set(u){const f=s(u),h=fe(l.value?e[t]:o.value);h===f||r(h)===u||(o.value=f,i==null||i.emit(`update:${t}`,f))}});return Object.defineProperty(d,"externalValue",{get:()=>l.value?e[t]:o.value}),d}const QT={badge:"Badge",open:"Open",close:"Close",dismiss:"Dismiss",confirmEdit:{ok:"OK",cancel:"Cancel"},dataIterator:{noResultsText:"No matching records found",loadingText:"Loading items..."},dataTable:{itemsPerPageText:"Rows per page:",ariaLabel:{sortDescending:"Sorted descending.",sortAscending:"Sorted ascending.",sortNone:"Not sorted.",activateNone:"Activate to remove sorting.",activateDescending:"Activate to sort descending.",activateAscending:"Activate to sort ascending."},sortBy:"Sort by"},dataFooter:{itemsPerPageText:"Items per page:",itemsPerPageAll:"All",nextPage:"Next page",prevPage:"Previous page",firstPage:"First page",lastPage:"Last page",pageText:"{0}-{1} of {2}"},dateRangeInput:{divider:"to"},datePicker:{itemsSelected:"{0} selected",range:{title:"Select dates",header:"Enter dates"},title:"Select date",header:"Enter date",input:{placeholder:"Enter date"},ariaLabel:{previousMonth:"Previous month",nextMonth:"Next month",selectYear:"Select year",previousYear:"Previous year",nextYear:"Next year",selectMonth:"Select month",selectDate:"{0}",currentDate:"Today, {0}"}},noDataText:"No data available",carousel:{prev:"Previous visual",next:"Next visual",ariaLabel:{delimiter:"Carousel slide {0} of {1}"}},calendar:{moreEvents:"{0} more",today:"Today"},input:{clear:"Clear {0}",prependAction:"{0} prepended action",appendAction:"{0} appended action",otp:"Please enter OTP character {0}"},fileInput:{counter:"{0} files",counterSize:"{0} files ({1} in total)"},fileUpload:{title:"Drag and drop files here",divider:"or",browse:"Browse Files"},timePicker:{am:"AM",pm:"PM",title:"Select Time",hour:"Hour",minute:"Minute",second:"Second",notAllowed:"Value is not allowed"},pagination:{ariaLabel:{root:"Pagination Navigation",next:"Next page",previous:"Previous page",page:"Go to page {0}",currentPage:"Page {0}, Current page",first:"First page",last:"Last page"}},stepper:{next:"Next",prev:"Previous"},rating:{ariaLabel:{item:"Rating {0} of {1}"}},loading:"Loading...",infiniteScroll:{loadMore:"Load more",empty:"No more"},rules:{required:"This field is required",email:"Please enter a valid email",number:"This field can only contain numbers",integer:"This field can only contain integer values",capital:"This field can only contain uppercase letters",maxLength:"You must enter a maximum of {0} characters",minLength:"You must enter a minimum of {0} characters",strictLength:"The length of the entered field is invalid",exclude:"The {0} character is not allowed",notEmpty:"Please choose at least one value",pattern:"Invalid format"},command:{search:"Type a command or search..."},hotkey:{then:"then",ctrl:"Ctrl",command:"Command",space:"Space",shift:"Shift",alt:"Alt",enter:"Enter",escape:"Escape",upArrow:"Up Arrow",downArrow:"Down Arrow",leftArrow:"Left Arrow",rightArrow:"Right Arrow",backspace:"Backspace",option:"Option",plus:"plus",shortcut:"Keyboard shortcut: {0}",or:"or"},video:{play:"Play",pause:"Pause",seek:"Seek",volume:"Volume",showVolume:"Show volume control",mute:"Mute",unmute:"Unmute",enterFullscreen:"Full screen",exitFullscreen:"Exit full screen"},colorPicker:{ariaLabel:{eyedropper:"Select color with eyedropper",hueSlider:"Hue",alphaSlider:"Alpha",redInput:"Red value",greenInput:"Green value",blueInput:"Blue value",alphaInput:"Alpha value",hueInput:"Hue value",saturationInput:"Saturation value",lightnessInput:"Lightness value",hexInput:"HEX value",hexaInput:"HEX with alpha value",changeFormat:"Change color format"}}},Cm="$vuetify.",Tm=(e,t)=>e.replace(/\{(\d+)\}/g,(n,r)=>String(t[Number(r)])),vb=(e,t,n)=>function(r){for(var s=arguments.length,i=new Array(s>1?s-1:0),o=1;onew Intl.NumberFormat([e.value,t.value],r).format(n)}function yb(e,t){return zf(e,t)(.1).includes(",")?",":"."}function ou(e,t,n){const r=Un(e,t,e[t]??n.value);return r.value=e[t]??n.value,Se(n,s=>{e[t]==null&&(r.value=n.value)}),r}function _b(e){return t=>{const n=ou(t,"locale",e.current),r=ou(t,"fallback",e.fallback),s=ou(t,"messages",e.messages);return{name:"vuetify",current:n,fallback:r,messages:s,decimalSeparator:ee(()=>yb(n,r)),t:vb(n,r,s),n:zf(n,r),provide:_b({current:n,fallback:r,messages:s})}}}function ek(e){const t=be((e==null?void 0:e.locale)??"en"),n=be((e==null?void 0:e.fallback)??"en"),r=we({en:QT,...e==null?void 0:e.messages});return{name:"vuetify",current:t,fallback:n,messages:r,decimalSeparator:ee(()=>(e==null?void 0:e.decimalSeparator)??yb(t,n)),t:vb(t,n,r),n:zf(t,n),provide:_b({current:t,fallback:n,messages:r})}}const Pc=Symbol.for("vuetify:locale");function tk(e){return e.name!=null}function nk(e){const t=e!=null&&e.adapter&&tk(e==null?void 0:e.adapter)?e==null?void 0:e.adapter:ek(e),n=ik(t,e);return{...t,...n}}function rk(){const e=Ne(Pc);if(!e)throw new Error("[Vuetify] Could not find injected locale instance");return e}function sk(){return{af:!1,ar:!0,bg:!1,ca:!1,ckb:!1,cs:!1,de:!1,el:!1,en:!1,es:!1,et:!1,fa:!0,fi:!1,fr:!1,hr:!1,hu:!1,he:!0,id:!1,it:!1,ja:!1,km:!1,ko:!1,lv:!1,lt:!1,nl:!1,no:!1,pl:!1,pt:!1,ro:!1,ru:!1,sk:!1,sl:!1,srCyrl:!1,srLatn:!1,sv:!1,th:!1,tr:!1,az:!1,uk:!1,vi:!1,zhHans:!1,zhHant:!1}}function ik(e,t){const n=we((t==null?void 0:t.rtl)??sk()),r=j(()=>n.value[e.current.value]??!1);return{isRtl:r,rtl:n,rtlClasses:ee(()=>`v-locale--is-${r.value?"rtl":"ltr"}`)}}function sa(){const e=Ne(Pc);if(!e)throw new Error("[Vuetify] Could not find injected rtl instance");return{isRtl:e.isRtl,rtlClasses:e.rtlClasses}}function ia(e){const t=e.slice(-2).toUpperCase();switch(!0){case e==="GB-alt-variant":return{firstDay:0,firstWeekSize:4};case e==="001":return{firstDay:1,firstWeekSize:1};case`AG AS BD BR BS BT BW BZ CA CO DM DO ET GT GU HK HN ID IL IN JM JP KE - KH KR LA MH MM MO MT MX MZ NI NP PA PE PH PK PR PY SA SG SV TH TT TW UM US - VE VI WS YE ZA ZW`.includes(t):return{firstDay:0,firstWeekSize:1};case`AI AL AM AR AU AZ BA BM BN BY CL CM CN CR CY EC GE HR KG KZ LB LK LV - MD ME MK MN MY NZ RO RS SI TJ TM TR UA UY UZ VN XK`.includes(t):return{firstDay:1,firstWeekSize:1};case`AD AN AT AX BE BG CH CZ DE DK EE ES FI FJ FO FR GB GF GP GR HU IE IS - IT LI LT LU MC MQ NL NO PL RE RU SE SK SM VA`.includes(t):return{firstDay:1,firstWeekSize:4};case"AE AF BH DJ DZ EG IQ IR JO KW LY OM QA SD SY".includes(t):return{firstDay:6,firstWeekSize:1};case t==="MV":return{firstDay:5,firstWeekSize:1};case t==="PT":return{firstDay:0,firstWeekSize:4};default:return null}}function ok(e,t,n){var d;const r=[];let s=[];const i=bb(e),o=Sb(e),a=n??((d=ia(t))==null?void 0:d.firstDay)??0,c=(i.getDay()-a+7)%7,l=(o.getDay()-a+7)%7;for(let u=0;u0&&r.push(s),r}function bo(e,t,n){var i;let r=(n??((i=ia(t))==null?void 0:i.firstDay)??0)%7;[0,1,2,3,4,5,6].includes(r)||(r=0);const s=new Date(e);for(;s.getDay()!==r;)s.setDate(s.getDate()-1);return s}function ak(e,t){var s;const n=new Date(e),r=((((s=ia(t))==null?void 0:s.firstDay)??0)+6)%7;for(;n.getDay()!==r;)n.setDate(n.getDate()+1);return n}function bb(e){return new Date(e.getFullYear(),e.getMonth(),1)}function Sb(e){return new Date(e.getFullYear(),e.getMonth()+1,0)}function ck(e){const t=e.split("-").map(Number);return new Date(t[0],t[1]-1,t[2])}const lk=/^([12]\d{3}-([1-9]|0[1-9]|1[0-2])-([1-9]|0[1-9]|[12]\d|3[01]))$/;function Eb(e){if(e==null)return new Date;if(e instanceof Date)return e;if(typeof e=="string"){let t;if(lk.test(e))return ck(e);if(t=Date.parse(e),!isNaN(t))return new Date(t)}return null}const km=new Date(2e3,0,2);function uk(e,t,n){var s;const r=t??((s=ia(e))==null?void 0:s.firstDay)??0;return eb(7).map(i=>{const o=new Date(km);return o.setDate(km.getDate()+r+i),new Intl.DateTimeFormat(e,{weekday:n??"narrow"}).format(o)})}function dk(e,t,n,r){const s=Eb(e)??new Date,i=r==null?void 0:r[t];if(typeof i=="function")return i(s,t,n);let o={};switch(t){case"fullDate":o={year:"numeric",month:"short",day:"numeric"};break;case"fullDateWithWeekday":o={weekday:"long",year:"numeric",month:"long",day:"numeric"};break;case"normalDate":const a=s.getDate(),c=new Intl.DateTimeFormat(n,{month:"long"}).format(s);return`${a} ${c}`;case"normalDateWithWeekday":o={weekday:"short",day:"numeric",month:"short"};break;case"shortDate":o={month:"short",day:"numeric"};break;case"year":o={year:"numeric"};break;case"month":o={month:"long"};break;case"monthShort":o={month:"short"};break;case"monthAndYear":o={month:"long",year:"numeric"};break;case"monthAndDate":o={month:"long",day:"numeric"};break;case"weekday":o={weekday:"long"};break;case"weekdayShort":o={weekday:"short"};break;case"dayOfMonth":return new Intl.NumberFormat(n).format(s.getDate());case"hours12h":o={hour:"numeric",hour12:!0};break;case"hours24h":o={hour:"numeric",hour12:!1};break;case"minutes":o={minute:"numeric"};break;case"seconds":o={second:"numeric"};break;case"fullTime":o={hour:"numeric",minute:"numeric"};break;case"fullTime12h":o={hour:"numeric",minute:"numeric",hour12:!0};break;case"fullTime24h":o={hour:"numeric",minute:"numeric",hour12:!1};break;case"fullDateTime":o={year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric"};break;case"fullDateTime12h":o={year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric",hour12:!0};break;case"fullDateTime24h":o={year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric",hour12:!1};break;case"keyboardDate":o={year:"numeric",month:"2-digit",day:"2-digit"};break;case"keyboardDateTime":return o={year:"numeric",month:"2-digit",day:"2-digit",hour:"numeric",minute:"numeric"},new Intl.DateTimeFormat(n,o).format(s).replace(/, /g," ");case"keyboardDateTime12h":return o={year:"numeric",month:"2-digit",day:"2-digit",hour:"numeric",minute:"numeric",hour12:!0},new Intl.DateTimeFormat(n,o).format(s).replace(/, /g," ");case"keyboardDateTime24h":return o={year:"numeric",month:"2-digit",day:"2-digit",hour:"numeric",minute:"numeric",hour12:!1},new Intl.DateTimeFormat(n,o).format(s).replace(/, /g," ");default:o=i??{timeZone:"UTC",timeZoneName:"short"}}return new Intl.DateTimeFormat(n,o).format(s)}function fk(e,t){const n=e.toJsDate(t),r=n.getFullYear(),s=im(String(n.getMonth()+1),2,"0"),i=im(String(n.getDate()),2,"0");return`${r}-${s}-${i}`}function hk(e){const[t,n,r]=e.split("-").map(Number);return new Date(t,n-1,r)}function pk(e,t){const n=new Date(e);return n.setMinutes(n.getMinutes()+t),n}function mk(e,t){const n=new Date(e);return n.setHours(n.getHours()+t),n}function vs(e,t){const n=new Date(e);return n.setDate(n.getDate()+t),n}function gk(e,t){const n=new Date(e);return n.setDate(n.getDate()+t*7),n}function vk(e,t){const n=new Date(e);return n.setDate(1),n.setMonth(n.getMonth()+t),n}function Do(e){return e.getFullYear()}function yk(e){return e.getMonth()}function _k(e,t,n,r){const s=ia(t),i=n??(s==null?void 0:s.firstDay)??0,o=(s==null?void 0:s.firstWeekSize)??1;return r!==void 0?bk(e,t,i,r):Sk(e,t,i,o)}function bk(e,t,n,r){const s=(7+r-n)%7,i=bo(e,t,n),o=vs(i,6);function a(f){return(7+new Date(f,0,1).getDay()-n)%7}let c=Do(i);c=r&&a++;const c=new Date(a,0,1),l=o(a),d=l>=r?vs(c,l-7):vs(c,l);return 1+Lc(qf(s),Fo(d),"weeks")}function Ek(e){return e.getDate()}function wk(e){return new Date(e.getFullYear(),e.getMonth()+1,1)}function Ck(e){return new Date(e.getFullYear(),e.getMonth()-1,1)}function Tk(e){return e.getHours()}function kk(e){return e.getMinutes()}function Ik(e){return new Date(e.getFullYear(),0,1)}function xk(e){return new Date(e.getFullYear(),11,31)}function Rk(e,t){return Oc(e,t[0])&&Pk(e,t[1])}function Ak(e){const t=new Date(e);return t instanceof Date&&!isNaN(t.getTime())}function Oc(e,t){return e.getTime()>t.getTime()}function Mk(e,t){return Oc(Fo(e),Fo(t))}function Pk(e,t){return e.getTime(){n.locale=e.locale[r]??r??n.locale}),n}function k4(){const e=Ne(wb);if(!e)throw new Error("[Vuetify] Could not find injected date options");const t=rk();return Cb(e,t)}const I4=["sm","md","lg","xl","xxl"],pd=Symbol.for("vuetify:display"),Rm={mobileBreakpoint:"lg",thresholds:{xs:0,sm:600,md:960,lg:1280,xl:1920,xxl:2560}},jk=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Rm;return At(Rm,e)};function Am(e){return et&&!e?window.innerWidth:typeof e=="object"&&e.clientWidth||0}function Mm(e){return et&&!e?window.innerHeight:typeof e=="object"&&e.clientHeight||0}function Pm(e){const t=et&&!e?window.navigator.userAgent:"ssr";function n(p){return!!t.match(p)}const r=n(/android/i),s=n(/iphone|ipad|ipod/i),i=n(/cordova/i),o=n(/electron/i),a=n(/chrome/i),c=n(/edge/i),l=n(/firefox/i),d=n(/opera/i),u=n(/win/i),f=n(/mac/i),h=n(/linux/i);return{android:r,ios:s,cordova:i,electron:o,chrome:a,edge:c,firefox:l,opera:d,win:u,mac:f,linux:h,touch:tT,ssr:t==="ssr"}}function zk(e,t){const{thresholds:n,mobileBreakpoint:r}=jk(e),s=be(Mm(t)),i=be(Pm(t)),o=pt({}),a=be(Am(t));function c(){s.value=Mm(),a.value=Am()}function l(){c(),i.value=Pm()}return hn(()=>{const d=a.value=n.xxl,v=d?"xs":u?"sm":f?"md":h?"lg":p?"xl":"xxl",g=typeof r=="number"?r:n[r],y=a.value{window.removeEventListener("resize",c)},!0)),{...Tf(o),update:l,ssr:!!t}}const x4=ue({mobile:{type:Boolean,default:!1},mobileBreakpoint:[Number,String]},"display");function qk(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{mobile:null},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Gr();const n=Ne(pd);if(!n)throw new Error("Could not find Vuetify display injection");const r=j(()=>e.mobile?!0:typeof e.mobileBreakpoint=="number"?n.width.valuet?{[`${t}--mobile`]:r.value}:{}),mobile:r}}const Tb=Symbol.for("vuetify:goto");function kb(){return{container:void 0,duration:300,layout:!1,offset:0,easing:"easeInOutCubic",patterns:WT}}function Gk(e){return Gf(e)??(document.scrollingElement||document.body)}function Gf(e){return typeof e=="string"?document.querySelector(e):Ff(e)}function au(e,t,n){if(typeof e=="number")return t&&n?-e:e;let r=Gf(e),s=0;for(;r;)s+=t?r.offsetLeft:r.offsetTop,r=r.offsetParent;return s}function Kk(e,t){return{rtl:t.isRtl,options:At(kb(),e)}}async function Om(e,t,n,r){const s=n?"scrollLeft":"scrollTop",i=At((r==null?void 0:r.options)??kb(),t),o=r==null?void 0:r.rtl.value,a=(typeof e=="number"?e:Gf(e))??0,c=i.container==="parent"&&a instanceof HTMLElement?a.parentElement:Gk(i.container),l=Lo()?i.patterns.instant:typeof i.easing=="function"?i.easing:i.patterns[i.easing];if(!l)throw new TypeError(`Easing function "${i.easing}" not found.`);let d;if(typeof a=="number")d=au(a,n,o);else if(d=au(a,n,o)-au(c,n,o),i.layout){const p=window.getComputedStyle(a).getPropertyValue("--v-layout-top");p&&(d-=parseInt(p,10))}d+=i.offset,d=Yk(c,d,!!o,!!n);const u=c[s]??0;if(d===u)return Promise.resolve(d);const f=performance.now();return new Promise(h=>requestAnimationFrame(function p(m){const g=(m-f)/i.duration,y=Math.floor(u+(d-u)*l(cr(g,0,1)));if(c[s]=y,g>=1&&Math.abs(y-c[s])<10)return h(d);if(g>2)return h(c[s]);requestAnimationFrame(p)}))}function R4(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const t=Ne(Tb),{isRtl:n}=sa();if(!t)throw new Error("[Vuetify] Could not find injected goto instance");const r={...t,rtl:ee(()=>t.rtl.value||n.value)};async function s(i,o){return Om(i,At(e,o),!1,r)}return s.horizontal=async(i,o)=>Om(i,At(e,o),!0,r),s}function Yk(e,t,n,r){const{scrollWidth:s,scrollHeight:i}=e,[o,a]=e===document.scrollingElement?[window.innerWidth,window.innerHeight]:[e.offsetWidth,e.offsetHeight];let c,l;return r?n?(c=-(s-o),l=0):(c=0,l=s-o):(c=0,l=i+-a),cr(t,c,l)}const $o=Symbol.for("vuetify:theme"),nn=ue({theme:String},"theme");function Lm(){return{defaultTheme:"light",prefix:"v-",variations:{colors:[],lighten:0,darken:0},themes:{light:{dark:!1,colors:{background:"#FFFFFF",surface:"#FFFFFF","surface-bright":"#FFFFFF","surface-light":"#EEEEEE","surface-variant":"#424242","on-surface-variant":"#EEEEEE",primary:"#1867C0","primary-darken-1":"#1F5592",secondary:"#48A9A6","secondary-darken-1":"#018786",error:"#B00020",info:"#2196F3",success:"#4CAF50",warning:"#FB8C00"},variables:{"border-color":"#000000","border-opacity":.12,"high-emphasis-opacity":.87,"medium-emphasis-opacity":.6,"disabled-opacity":.38,"idle-opacity":.04,"hover-opacity":.04,"focus-opacity":.12,"selected-opacity":.08,"activated-opacity":.12,"pressed-opacity":.12,"dragged-opacity":.08,"theme-kbd":"#EEEEEE","theme-on-kbd":"#000000","theme-code":"#F5F5F5","theme-on-code":"#000000"}},dark:{dark:!0,colors:{background:"#121212",surface:"#212121","surface-bright":"#ccbfd6","surface-light":"#424242","surface-variant":"#c8c8c8","on-surface-variant":"#000000",primary:"#2196F3","primary-darken-1":"#277CC1",secondary:"#54B6B2","secondary-darken-1":"#48A9A6",error:"#CF6679",info:"#2196F3",success:"#4CAF50",warning:"#FB8C00"},variables:{"border-color":"#FFFFFF","border-opacity":.12,"high-emphasis-opacity":1,"medium-emphasis-opacity":.7,"disabled-opacity":.5,"idle-opacity":.1,"hover-opacity":.04,"focus-opacity":.12,"selected-opacity":.08,"activated-opacity":.12,"pressed-opacity":.16,"dragged-opacity":.08,"theme-kbd":"#424242","theme-on-kbd":"#FFFFFF","theme-code":"#343434","theme-on-code":"#CCCCCC"}}},stylesheetId:"vuetify-theme-stylesheet",scoped:!1,unimportant:!1,utilities:!0}}function Xk(){var r,s;let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Lm();const t=Lm();if(!e)return{...t,isDisabled:!0};const n={};for(const[i,o]of Object.entries(e.themes??{})){const a=o.dark||i==="dark"?(r=t.themes)==null?void 0:r.dark:(s=t.themes)==null?void 0:s.light;n[i]=At(a,o)}return At(t,{...e,themes:n})}function ns(e,t,n,r){e.push(`${eI(t,r)} { -`,...n.map(s=>` ${s}; -`),`} -`)}function Nm(e,t){const n=e.dark?2:1,r=e.dark?1:2,s=[];for(const[i,o]of Object.entries(e.colors)){const a=Bn(o);s.push(`--${t}theme-${i}: ${a.r},${a.g},${a.b}`),i.startsWith("on-")||s.push(`--${t}theme-${i}-overlay-multiplier: ${DT(o)>.18?n:r}`)}for(const[i,o]of Object.entries(e.variables)){const a=typeof o=="string"&&o.startsWith("#")?Bn(o):void 0,c=a?`${a.r}, ${a.g}, ${a.b}`:void 0;s.push(`--${t}${i}: ${c??o}`)}return s}function Jk(e,t,n){const r={};if(n)for(const s of["lighten","darken"]){const i=s==="lighten"?LT:NT;for(const o of eb(n[s],1))r[`${e}-${s}-${o}`]=MT(i(Bn(t),o))}return r}function Zk(e,t){if(!t)return{};let n={};for(const r of t.colors){const s=e[r];s&&(n={...n,...Jk(r,s,t)})}return n}function Qk(e){const t={};for(const n of Object.keys(e)){if(n.startsWith("on-")||e[`on-${n}`])continue;const r=`on-${n}`,s=Bn(e[n]);t[r]=hb(s)}return t}function eI(e,t){if(!t)return e;const n=`:where(${t})`;return e===":root"?n:`${n} ${e}`}function tI(e,t,n){const r=nI(e,t);r&&(r.innerHTML=n)}function nI(e,t){if(!et)return null;let n=document.getElementById(e);return n||(n=document.createElement("style"),n.id=e,n.type="text/css",t&&n.setAttribute("nonce",t),document.head.appendChild(n)),n}function rI(e){const t=Xk(e),n=be(t.defaultTheme),r=we(t.themes),s=be("light"),i=j({get(){return n.value==="system"?s.value:n.value},set(g){n.value=g}}),o=j(()=>{const g={};for(const[y,C]of Object.entries(r.value)){const w={...C.colors,...Zk(C.colors,t.variations)};g[y]={...C,colors:{...w,...Qk(w)}}}return g}),a=ee(()=>o.value[i.value]),c=ee(()=>n.value==="system"),l=j(()=>{var I;const g=[],y=t.unimportant?"":" !important",C=t.scoped?t.prefix:"";(I=a.value)!=null&&I.dark&&ns(g,":root",["color-scheme: dark"],t.scope),ns(g,":root",Nm(a.value,t.prefix),t.scope);for(const[x,S]of Object.entries(o.value))ns(g,`.${t.prefix}theme--${x}`,[`color-scheme: ${S.dark?"dark":"normal"}`,...Nm(S,t.prefix)],t.scope);if(t.utilities){const x=[],S=[],b=new Set(Object.values(o.value).flatMap(k=>Object.keys(k.colors)));for(const k of b)k.startsWith("on-")?ns(S,`.${k}`,[`color: rgb(var(--${t.prefix}theme-${k}))${y}`],t.scope):(ns(x,`.${C}bg-${k}`,[`--${t.prefix}theme-overlay-multiplier: var(--${t.prefix}theme-${k}-overlay-multiplier)`,`background-color: rgb(var(--${t.prefix}theme-${k}))${y}`,`color: rgb(var(--${t.prefix}theme-on-${k}))${y}`],t.scope),ns(S,`.${C}text-${k}`,[`color: rgb(var(--${t.prefix}theme-${k}))${y}`],t.scope),ns(S,`.${C}border-${k}`,[`--${t.prefix}border-color: var(--${t.prefix}theme-${k})`],t.scope));t.layers?g.push(`@layer background { -`,...x.map(k=>` ${k}`),`} -`,`@layer foreground { -`,...S.map(k=>` ${k}`),`} -`):g.push(...x,...S)}let w=g.map((x,S)=>S===0?x:` ${x}`).join("");return t.layers&&(w=`@layer vuetify.theme { -`+g.map(x=>` ${x}`).join("")+` -}`),w}),d=ee(()=>t.isDisabled?void 0:`${t.prefix}theme--${i.value}`),u=ee(()=>Object.keys(o.value));if(J_){let y=function(){s.value=g.matches?"dark":"light"};const g=window.matchMedia("(prefers-color-scheme: dark)");y(),g.addEventListener("change",y,{passive:!0}),vf()&&Ct(()=>{g.removeEventListener("change",y)})}function f(g){if(t.isDisabled)return;const y=g._context.provides.usehead;if(y){let C=function(){return{style:[{textContent:l.value,id:t.stylesheetId,nonce:t.cspNonce||!1}]}};if(y.push){const w=y.push(C);et&&Se(l,()=>{w.patch(C)})}else et?(y.addHeadObjs(ee(C)),hn(()=>y.updateDOM())):y.addHeadObjs(C())}else{let C=function(){tI(t.stylesheetId,t.cspNonce,l.value)};et?Se(l,C,{immediate:!0}):C()}}function h(g){g!=="system"&&!u.value.includes(g)||(i.value=g)}function p(){let g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:u.value;const y=g.indexOf(i.value),C=y===-1?0:(y+1)%g.length;h(g[C])}function m(){let g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["light","dark"];p(g)}const v=new Proxy(i,{get(g,y){return Reflect.get(g,y)},set(g,y,C){return y==="value"&&X_(`theme.global.name.value = ${C}`,`theme.change('${C}')`),Reflect.set(g,y,C)}});return{install:f,change:h,cycle:p,toggle:m,isDisabled:t.isDisabled,isSystem:c,name:i,themes:r,current:a,computedThemes:o,prefix:t.prefix,themeClasses:d,styles:l,global:{name:v,current:a}}}function mn(e){mt("provideTheme");const t=Ne($o,null);if(!t)throw new Error("Could not find Vuetify theme injection");const n=ee(()=>e.theme??t.name.value),i={...t,name:n,current:ee(()=>t.themes.value[n.value]),themeClasses:ee(()=>t.isDisabled?void 0:`${t.prefix}theme--${n.value}`)};return Mt($o,i),i}function Ib(){mt("useTheme");const e=Ne($o,null);if(!e)throw new Error("Could not find Vuetify theme injection");return e}function Kf(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"content";const n=ld(),r=we();if(et){const s=new ResizeObserver(i=>{e==null||e(i,s),i.length&&(t==="content"?r.value=i[0].contentRect:r.value=i[0].target.getBoundingClientRect())});kn(()=>{s.disconnect()}),Se(()=>n.el,(i,o)=>{o&&(s.unobserve(o),r.value=void 0),i&&s.observe(i)},{flush:"post"})}return{resizeRef:n,contentRect:hi(r)}}const Bo=Symbol.for("vuetify:layout"),xb=Symbol.for("vuetify:layout-item"),Dm=1e3,sI=ue({overlaps:{type:Array,default:()=>[]},fullHeight:Boolean},"layout"),A4=ue({name:{type:String},order:{type:[Number,String],default:0},absolute:Boolean},"layout-item");function iI(){const e=Ne(Bo);if(!e)throw new Error("[Vuetify] Could not find injected layout");return{getLayoutItem:e.getLayoutItem,mainRect:e.mainRect,mainStyles:e.mainStyles}}function M4(e){const t=Ne(Bo);if(!t)throw new Error("[Vuetify] Could not find injected layout");const n=e.id??`layout-item-${hl()}`,r=mt("useLayoutItem");Mt(xb,{id:n});const s=be(!1);f_(()=>s.value=!0),d_(()=>s.value=!1);const{layoutItemStyles:i,layoutItemScrimStyles:o}=t.register(r,{...e,active:j(()=>s.value?!1:e.active.value),id:n});return kn(()=>t.unregister(n)),{layoutItemStyles:i,layoutRect:t.layoutRect,layoutItemScrimStyles:o}}const oI=(e,t,n,r)=>{let s={top:0,left:0,right:0,bottom:0};const i=[{id:"",layer:{...s}}];for(const o of e){const a=t.get(o),c=n.get(o),l=r.get(o);if(!a||!c||!l)continue;const d={...s,[a.value]:parseInt(s[a.value],10)+(l.value?parseInt(c.value,10):0)};i.push({id:o,layer:d}),s=d}return i};function aI(e){const t=Ne(Bo,null),n=j(()=>t?t.rootZIndex.value-100:Dm),r=we([]),s=pt(new Map),i=pt(new Map),o=pt(new Map),a=pt(new Map),c=pt(new Map),{resizeRef:l,contentRect:d}=Kf(),u=j(()=>{const x=new Map,S=e.overlaps??[];for(const b of S.filter(k=>k.includes(":"))){const[k,R]=b.split(":");if(!r.value.includes(k)||!r.value.includes(R))continue;const M=s.get(k),T=s.get(R),O=i.get(k),$=i.get(R);!M||!T||!O||!$||(x.set(R,{position:M.value,amount:parseInt(O.value,10)}),x.set(k,{position:T.value,amount:-parseInt($.value,10)}))}return x}),f=j(()=>{const x=[...new Set([...o.values()].map(b=>b.value))].sort((b,k)=>b-k),S=[];for(const b of x){const k=r.value.filter(R=>{var M;return((M=o.get(R))==null?void 0:M.value)===b});S.push(...k)}return oI(S,s,i,a)}),h=j(()=>!Array.from(c.values()).some(x=>x.value)),p=j(()=>f.value[f.value.length-1].layer),m=ee(()=>({"--v-layout-left":ge(p.value.left),"--v-layout-right":ge(p.value.right),"--v-layout-top":ge(p.value.top),"--v-layout-bottom":ge(p.value.bottom),...h.value?void 0:{transition:"none"}})),v=j(()=>f.value.slice(1).map((x,S)=>{let{id:b}=x;const{layer:k}=f.value[S],R=i.get(b),M=s.get(b);return{id:b,...k,size:Number(R.value),position:M.value}})),g=x=>v.value.find(S=>S.id===x),y=mt("createLayout"),C=be(!1);return gr(()=>{C.value=!0}),Mt(Bo,{register:(x,S)=>{let{id:b,order:k,position:R,layoutSize:M,elementSize:T,active:O,disableTransitions:$,absolute:K}=S;o.set(b,k),s.set(b,R),i.set(b,M),a.set(b,O),$&&c.set(b,$);const z=Zs(xb,y==null?void 0:y.vnode).indexOf(x);z>-1?r.value.splice(z,0,b):r.value.push(b);const N=j(()=>v.value.findIndex(re=>re.id===b)),oe=j(()=>n.value+f.value.length*2-N.value*2),U=j(()=>{const re=R.value==="left"||R.value==="right",ie=R.value==="right",Ee=R.value==="bottom",Me=T.value??M.value,De=Me===0?"%":"px",P={[R.value]:0,zIndex:oe.value,transform:`translate${re?"X":"Y"}(${(O.value?0:-(Me===0?100:Me))*(ie||Ee?-1:1)}${De})`,position:K.value||n.value!==Dm?"absolute":"fixed",...h.value?void 0:{transition:"none"}};if(!C.value)return P;const W=v.value[N.value],X=u.value.get(b);return X&&(W[X.position]+=X.amount),{...P,height:re?`calc(100% - ${W.top}px - ${W.bottom}px)`:T.value?`${T.value}px`:void 0,left:ie?void 0:`${W.left}px`,right:ie?`${W.right}px`:void 0,top:R.value!=="bottom"?`${W.top}px`:void 0,bottom:R.value!=="top"?`${W.bottom}px`:void 0,width:re?T.value?`${T.value}px`:void 0:`calc(100% - ${W.left}px - ${W.right}px)`}}),J=j(()=>({zIndex:oe.value-1}));return{layoutItemStyles:U,layoutItemScrimStyles:J,zIndex:oe}},unregister:x=>{o.delete(x),s.delete(x),i.delete(x),a.delete(x),c.delete(x),r.value=r.value.filter(S=>S!==x)},mainRect:p,mainStyles:m,getLayoutItem:g,items:v,layoutRect:d,rootZIndex:n}),{layoutClasses:ee(()=>["v-layout",{"v-layout--full-height":e.fullHeight}]),layoutStyles:ee(()=>({zIndex:t?n.value:void 0,position:t?"relative":void 0,overflow:t?"hidden":void 0})),getLayoutItem:g,items:v,layoutRect:d,layoutRef:l}}function Rb(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const{blueprint:t,...n}=e,r=At(t,n),{aliases:s={},components:i={},directives:o={}}=r,a=Es();return a.run(()=>{const c=$T(r.defaults),l=zk(r.display,r.ssr),d=rI(r.theme),u=ZT(r.icons),f=nk(r.locale),h=Uk(r.date,f),p=Kk(r.goTo,f);function m(g){for(const C in o)g.directive(C,o[C]);for(const C in i)g.component(C,i[C]);for(const C in s)g.component(C,Ni({...s[C],name:C,aliasName:s[C].name}));const y=Es();if(y.run(()=>{d.install(g)}),g.onUnmount(()=>y.stop()),g.provide(vi,c),g.provide(pd,l),g.provide($o,d),g.provide(hd,u),g.provide(Pc,f),g.provide(wb,h.options),g.provide(xm,h.instance),g.provide(Tb,p),et&&r.ssr)if(g.$nuxt)g.$nuxt.hook("app:suspense:resolve",()=>{l.update()});else{const{mount:C}=g;g.mount=function(){const w=C(...arguments);return yt(()=>l.update()),g.mount=C,w}}g.mixin({computed:{$vuetify(){return pt({defaults:Hs.call(this,vi),display:Hs.call(this,pd),theme:Hs.call(this,$o),icons:Hs.call(this,hd),locale:Hs.call(this,Pc),date:Hs.call(this,xm)})}}})}function v(){a.stop()}return{install:m,unmount:v,defaults:c,display:l,theme:d,icons:u,locale:f,date:h,goTo:p}})}const cI="3.12.1";Rb.version=cI;function Hs(e){var r,s;const t=this.$,n=((r=t.parent)==null?void 0:r.provides)??((s=t.vnode.appContext)==null?void 0:s.provides);if(n&&e in n)return n[e]}const lI=Rb({theme:{defaultTheme:"dark"}});/*! - * pinia v3.0.4 - * (c) 2025 Eduardo San Martin Morote - * @license MIT - */let Ab;const Sl=e=>Ab=e,Mb=Symbol();function md(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var So;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(So||(So={}));function Pb(){const e=Es(!0),t=e.run(()=>we({}));let n=[],r=[];const s=Cf({install(i){Sl(s),s._a=i,i.provide(Mb,s),i.config.globalProperties.$pinia=s,r.forEach(o=>n.push(o)),r=[]},use(i){return this._a?n.push(i):r.push(i),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return s}const Ob=()=>{};function Fm(e,t,n,r=Ob){e.add(t);const s=()=>{e.delete(t)&&r()};return!n&&vf()&&Ct(s),s}function Vs(e,...t){e.forEach(n=>{n(...t)})}const uI=e=>e(),$m=Symbol(),cu=Symbol();function gd(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,r)=>e.set(r,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],s=e[n];md(s)&&md(r)&&e.hasOwnProperty(n)&&!Ze(r)&&!er(r)?e[n]=gd(s,r):e[n]=r}return e}const dI=Symbol();function fI(e){return!md(e)||!Object.prototype.hasOwnProperty.call(e,dI)}const{assign:Tr}=Object;function hI(e){return!!(Ze(e)&&e.effect)}function pI(e,t,n,r){const{state:s,actions:i,getters:o}=t,a=n.state.value[e];let c;function l(){a||(n.state.value[e]=s?s():{});const d=Tf(n.state.value[e]);return Tr(d,i,Object.keys(o||{}).reduce((u,f)=>(u[f]=Cf(j(()=>{Sl(n);const h=n._s.get(e);return o[f].call(h,h)})),u),{}))}return c=Lb(e,l,t,n,r,!0),c}function Lb(e,t,n={},r,s,i){let o;const a=Tr({actions:{}},n),c={deep:!0};let l,d,u=new Set,f=new Set,h;const p=r.state.value[e];!i&&!p&&(r.state.value[e]={});let m;function v(b){let k;l=d=!1,typeof b=="function"?(b(r.state.value[e]),k={type:So.patchFunction,storeId:e,events:h}):(gd(r.state.value[e],b),k={type:So.patchObject,payload:b,storeId:e,events:h});const R=m=Symbol();yt().then(()=>{m===R&&(l=!0)}),d=!0,Vs(u,k,r.state.value[e])}const g=i?function(){const{state:k}=n,R=k?k():{};this.$patch(M=>{Tr(M,R)})}:Ob;function y(){o.stop(),u.clear(),f.clear(),r._s.delete(e)}const C=(b,k="")=>{if($m in b)return b[cu]=k,b;const R=function(){Sl(r);const M=Array.from(arguments),T=new Set,O=new Set;function $(z){T.add(z)}function K(z){O.add(z)}Vs(f,{args:M,name:R[cu],store:I,after:$,onError:K});let Z;try{Z=b.apply(this&&this.$id===e?this:I,M)}catch(z){throw Vs(O,z),z}return Z instanceof Promise?Z.then(z=>(Vs(T,z),z)).catch(z=>(Vs(O,z),Promise.reject(z))):(Vs(T,Z),Z)};return R[$m]=!0,R[cu]=k,R},w={_p:r,$id:e,$onAction:Fm.bind(null,f),$patch:v,$reset:g,$subscribe(b,k={}){const R=Fm(u,b,k.detached,()=>M()),M=o.run(()=>Se(()=>r.state.value[e],T=>{(k.flush==="sync"?d:l)&&b({storeId:e,type:So.direct,events:h},T)},Tr({},c,k)));return R},$dispose:y},I=pt(w);r._s.set(e,I);const S=(r._a&&r._a.runWithContext||uI)(()=>r._e.run(()=>(o=Es()).run(()=>t({action:C}))));for(const b in S){const k=S[b];if(Ze(k)&&!hI(k)||er(k))i||(p&&fI(k)&&(Ze(k)?k.value=p[b]:gd(k,p[b])),r.state.value[e][b]=k);else if(typeof k=="function"){const R=C(k,b);S[b]=R,a.actions[b]=k}}return Tr(I,S),Tr(fe(I),S),Object.defineProperty(I,"$state",{get:()=>r.state.value[e],set:b=>{v(k=>{Tr(k,b)})}}),r._p.forEach(b=>{Tr(I,o.run(()=>b({store:I,app:r._a,pinia:r,options:a})))}),p&&i&&n.hydrate&&n.hydrate(I.$state,p),l=!0,d=!0,I}/*! #__NO_SIDE_EFFECTS__ */function P4(e,t,n){let r;const s=typeof t=="function";r=s?n:t;function i(o,a){const c=_1();return o=o||(c?Ne(Mb,null):null),o&&Sl(o),o=Ab,o._s.has(e)||(s?Lb(e,t,r,o):pI(e,r,o)),o._s.get(e)}return i.$id=e,i}function O4(e,t){return Array.isArray(t)?t.reduce((n,r)=>(n[r]=function(){return e(this.$pinia)[r]},n),{}):Object.keys(t).reduce((n,r)=>(n[r]=function(){const s=e(this.$pinia),i=t[r];return typeof i=="function"?i.call(this,s):s[i]},n),{})}function L4(e,t){return Array.isArray(t)?t.reduce((n,r)=>(n[r]=function(...s){return e(this.$pinia)[r](...s)},n),{}):Object.keys(t).reduce((n,r)=>(n[r]=function(...s){return e(this.$pinia)[t[r]](...s)},n),{})}const mI=Pb();/*! - * vue-router v4.6.4 - * (c) 2025 Eduardo San Martin Morote - * @license MIT - */const Ks=typeof document<"u";function Nb(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function gI(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Nb(e.default)}const Be=Object.assign;function lu(e,t){const n={};for(const r in t){const s=t[r];n[r]=Tn(s)?s.map(e):e(s)}return n}const Eo=()=>{},Tn=Array.isArray;function Bm(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}const Db=/#/g,vI=/&/g,yI=/\//g,_I=/=/g,bI=/\?/g,Fb=/\+/g,SI=/%5B/g,EI=/%5D/g,$b=/%5E/g,wI=/%60/g,Bb=/%7B/g,CI=/%7C/g,Hb=/%7D/g,TI=/%20/g;function Yf(e){return e==null?"":encodeURI(""+e).replace(CI,"|").replace(SI,"[").replace(EI,"]")}function kI(e){return Yf(e).replace(Bb,"{").replace(Hb,"}").replace($b,"^")}function vd(e){return Yf(e).replace(Fb,"%2B").replace(TI,"+").replace(Db,"%23").replace(vI,"%26").replace(wI,"`").replace(Bb,"{").replace(Hb,"}").replace($b,"^")}function II(e){return vd(e).replace(_I,"%3D")}function xI(e){return Yf(e).replace(Db,"%23").replace(bI,"%3F")}function RI(e){return xI(e).replace(yI,"%2F")}function Ho(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const AI=/\/$/,MI=e=>e.replace(AI,"");function uu(e,t,n="/"){let r,s={},i="",o="";const a=t.indexOf("#");let c=t.indexOf("?");return c=a>=0&&c>a?-1:c,c>=0&&(r=t.slice(0,c),i=t.slice(c,a>0?a:t.length),s=e(i.slice(1))),a>=0&&(r=r||t.slice(0,a),o=t.slice(a,t.length)),r=NI(r??t,n),{fullPath:r+i+o,path:r,query:s,hash:Ho(o)}}function PI(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Hm(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function OI(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&yi(t.matched[r],n.matched[s])&&Vb(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function yi(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Vb(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!LI(e[n],t[n]))return!1;return!0}function LI(e,t){return Tn(e)?Vm(e,t):Tn(t)?Vm(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function Vm(e,t){return Tn(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function NI(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let i=n.length-1,o,a;for(o=0;o1&&i--;else break;return n.slice(0,i).join("/")+"/"+r.slice(o).join("/")}const Er={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let yd=function(e){return e.pop="pop",e.push="push",e}({}),du=function(e){return e.back="back",e.forward="forward",e.unknown="",e}({});function DI(e){if(!e)if(Ks){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),MI(e)}const FI=/^[^#]+#/;function $I(e,t){return e.replace(FI,"#")+t}function BI(e,t){const 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)}}const El=()=>({left:window.scrollX,top:window.scrollY});function HI(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=BI(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Um(e,t){return(history.state?history.state.position-t:-1)+e}const _d=new Map;function VI(e,t){_d.set(e,t)}function UI(e){const t=_d.get(e);return _d.delete(e),t}function WI(e){return typeof e=="string"||e&&typeof e=="object"}function Ub(e){return typeof e=="string"||typeof e=="symbol"}let ot=function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e}({});const Wb=Symbol("");ot.MATCHER_NOT_FOUND+"",ot.NAVIGATION_GUARD_REDIRECT+"",ot.NAVIGATION_ABORTED+"",ot.NAVIGATION_CANCELLED+"",ot.NAVIGATION_DUPLICATED+"";function _i(e,t){return Be(new Error,{type:e,[Wb]:!0},t)}function Gn(e,t){return e instanceof Error&&Wb in e&&(t==null||!!(e.type&t))}const jI=["params","query","hash"];function zI(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of jI)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function qI(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;rs&&vd(s)):[r&&vd(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function GI(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=Tn(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const KI=Symbol(""),jm=Symbol(""),wl=Symbol(""),Xf=Symbol(""),bd=Symbol("");function no(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Rr(e,t,n,r,s,i=o=>o()){const o=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((a,c)=>{const l=f=>{f===!1?c(_i(ot.NAVIGATION_ABORTED,{from:n,to:t})):f instanceof Error?c(f):WI(f)?c(_i(ot.NAVIGATION_GUARD_REDIRECT,{from:t,to:f})):(o&&r.enterCallbacks[s]===o&&typeof f=="function"&&o.push(f),a())},d=i(()=>e.call(r&&r.instances[s],t,n,l));let u=Promise.resolve(d);e.length<3&&(u=u.then(l)),u.catch(f=>c(f))})}function fu(e,t,n,r,s=i=>i()){const i=[];for(const o of e)for(const a in o.components){let c=o.components[a];if(!(t!=="beforeRouteEnter"&&!o.instances[a]))if(Nb(c)){const l=(c.__vccOpts||c)[t];l&&i.push(Rr(l,n,r,o,a,s))}else{let l=c();i.push(()=>l.then(d=>{if(!d)throw new Error(`Couldn't resolve component "${a}" at "${o.path}"`);const u=gI(d)?d.default:d;o.mods[a]=d,o.components[a]=u;const f=(u.__vccOpts||u)[t];return f&&Rr(f,n,r,o,a,s)()}))}}return i}function YI(e,t){const n=[],r=[],s=[],i=Math.max(t.matched.length,e.matched.length);for(let o=0;oyi(l,a))?r.push(a):n.push(a));const c=e.matched[o];c&&(t.matched.find(l=>yi(l,c))||s.push(c))}return[n,r,s]}/*! - * vue-router v4.6.4 - * (c) 2025 Eduardo San Martin Morote - * @license MIT - */let XI=()=>location.protocol+"//"+location.host;function jb(e,t){const{pathname:n,search:r,hash:s}=t,i=e.indexOf("#");if(i>-1){let o=s.includes(e.slice(i))?e.slice(i).length:1,a=s.slice(o);return a[0]!=="/"&&(a="/"+a),Hm(a,"")}return Hm(n,e)+r+s}function JI(e,t,n,r){let s=[],i=[],o=null;const a=({state:f})=>{const h=jb(e,location),p=n.value,m=t.value;let v=0;if(f){if(n.value=h,t.value=f,o&&o===p){o=null;return}v=m?f.position-m.position:0}else r(h);s.forEach(g=>{g(n.value,p,{delta:v,type:yd.pop,direction:v?v>0?du.forward:du.back:du.unknown})})};function c(){o=n.value}function l(f){s.push(f);const h=()=>{const p=s.indexOf(f);p>-1&&s.splice(p,1)};return i.push(h),h}function d(){if(document.visibilityState==="hidden"){const{history:f}=window;if(!f.state)return;f.replaceState(Be({},f.state,{scroll:El()}),"")}}function u(){for(const f of i)f();i=[],window.removeEventListener("popstate",a),window.removeEventListener("pagehide",d),document.removeEventListener("visibilitychange",d)}return window.addEventListener("popstate",a),window.addEventListener("pagehide",d),document.addEventListener("visibilitychange",d),{pauseListeners:c,listen:l,destroy:u}}function zm(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?El():null}}function ZI(e){const{history:t,location:n}=window,r={value:jb(e,n)},s={value:t.state};s.value||i(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(c,l,d){const u=e.indexOf("#"),f=u>-1?(n.host&&document.querySelector("base")?e:e.slice(u))+c:XI()+e+c;try{t[d?"replaceState":"pushState"](l,"",f),s.value=l}catch(h){console.error(h),n[d?"replace":"assign"](f)}}function o(c,l){i(c,Be({},t.state,zm(s.value.back,c,s.value.forward,!0),l,{position:s.value.position}),!0),r.value=c}function a(c,l){const d=Be({},s.value,t.state,{forward:c,scroll:El()});i(d.current,d,!0),i(c,Be({},zm(r.value,c,null),{position:d.position+1},l),!1),r.value=c}return{location:r,state:s,push:a,replace:o}}function QI(e){e=DI(e);const t=ZI(e),n=JI(e,t.state,t.location,t.replace);function r(i,o=!0){o||n.pauseListeners(),history.go(i)}const s=Be({location:"",base:e,go:r,createHref:$I.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}let ls=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e}({});var ft=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e}(ft||{});const ex={type:ls.Static,value:""},tx=/[a-zA-Z0-9_]/;function nx(e){if(!e)return[[]];if(e==="/")return[[ex]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(h){throw new Error(`ERR (${n})/"${l}": ${h}`)}let n=ft.Static,r=n;const s=[];let i;function o(){i&&s.push(i),i=[]}let a=0,c,l="",d="";function u(){l&&(n===ft.Static?i.push({type:ls.Static,value:l}):n===ft.Param||n===ft.ParamRegExp||n===ft.ParamRegExpEnd?(i.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),i.push({type:ls.Param,value:l,regexp:d,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),l="")}function f(){l+=c}for(;at.length?t.length===1&&t[0]===Nt.Static+Nt.Segment?1:-1:0}function zb(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const ax={strict:!1,end:!0,sensitive:!1};function cx(e,t,n){const r=ix(nx(e.path),n),s=Be(r,{record:e,parent:t,children:[],alias:[]});return t&&!s.record.aliasOf==!t.record.aliasOf&&t.children.push(s),s}function lx(e,t){const n=[],r=new Map;t=Bm(ax,t);function s(u){return r.get(u)}function i(u,f,h){const p=!h,m=Ym(u);m.aliasOf=h&&h.record;const v=Bm(t,u),g=[m];if("alias"in u){const w=typeof u.alias=="string"?[u.alias]:u.alias;for(const I of w)g.push(Ym(Be({},m,{components:h?h.record.components:m.components,path:I,aliasOf:h?h.record:m})))}let y,C;for(const w of g){const{path:I}=w;if(f&&I[0]!=="/"){const x=f.record.path,S=x[x.length-1]==="/"?"":"/";w.path=f.record.path+(I&&S+I)}if(y=cx(w,f,v),h?h.alias.push(y):(C=C||y,C!==y&&C.alias.push(y),p&&u.name&&!Xm(y)&&o(u.name)),qb(y)&&c(y),m.children){const x=m.children;for(let S=0;S{o(C)}:Eo}function o(u){if(Ub(u)){const f=r.get(u);f&&(r.delete(u),n.splice(n.indexOf(f),1),f.children.forEach(o),f.alias.forEach(o))}else{const f=n.indexOf(u);f>-1&&(n.splice(f,1),u.record.name&&r.delete(u.record.name),u.children.forEach(o),u.alias.forEach(o))}}function a(){return n}function c(u){const f=fx(u,n);n.splice(f,0,u),u.record.name&&!Xm(u)&&r.set(u.record.name,u)}function l(u,f){let h,p={},m,v;if("name"in u&&u.name){if(h=r.get(u.name),!h)throw _i(ot.MATCHER_NOT_FOUND,{location:u});v=h.record.name,p=Be(Km(f.params,h.keys.filter(C=>!C.optional).concat(h.parent?h.parent.keys.filter(C=>C.optional):[]).map(C=>C.name)),u.params&&Km(u.params,h.keys.map(C=>C.name))),m=h.stringify(p)}else if(u.path!=null)m=u.path,h=n.find(C=>C.re.test(m)),h&&(p=h.parse(m),v=h.record.name);else{if(h=f.name?r.get(f.name):n.find(C=>C.re.test(f.path)),!h)throw _i(ot.MATCHER_NOT_FOUND,{location:u,currentLocation:f});v=h.record.name,p=Be({},f.params,u.params),m=h.stringify(p)}const g=[];let y=h;for(;y;)g.unshift(y.record),y=y.parent;return{name:v,path:m,params:p,matched:g,meta:dx(g)}}e.forEach(u=>i(u));function d(){n.length=0,r.clear()}return{addRoute:i,resolve:l,removeRoute:o,clearRoutes:d,getRoutes:a,getRecordMatcher:s}}function Km(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function Ym(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:ux(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 ux(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function Xm(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function dx(e){return e.reduce((t,n)=>Be(t,n.meta),{})}function fx(e,t){let n=0,r=t.length;for(;n!==r;){const i=n+r>>1;zb(e,t[i])<0?r=i:n=i+1}const s=hx(e);return s&&(r=t.lastIndexOf(s,r-1)),r}function hx(e){let t=e;for(;t=t.parent;)if(qb(t)&&zb(e,t)===0)return t}function qb({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Jm(e){const t=Ne(wl),n=Ne(Xf),r=j(()=>{const c=Ut(e.to);return t.resolve(c)}),s=j(()=>{const{matched:c}=r.value,{length:l}=c,d=c[l-1],u=n.matched;if(!d||!u.length)return-1;const f=u.findIndex(yi.bind(null,d));if(f>-1)return f;const h=Zm(c[l-2]);return l>1&&Zm(d)===h&&u[u.length-1].path!==h?u.findIndex(yi.bind(null,c[l-2])):f}),i=j(()=>s.value>-1&&yx(n.params,r.value.params)),o=j(()=>s.value>-1&&s.value===n.matched.length-1&&Vb(n.params,r.value.params));function a(c={}){if(vx(c)){const l=t[Ut(e.replace)?"replace":"push"](Ut(e.to)).catch(Eo);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>l),l}return Promise.resolve()}return{route:r,href:j(()=>r.value.href),isActive:i,isExactActive:o,navigate:a}}function px(e){return e.length===1?e[0]:e}const mx=fl({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:Jm,setup(e,{slots:t}){const n=pt(Jm(e)),{options:r}=Ne(wl),s=j(()=>({[Qm(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Qm(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&px(t.default(n));return e.custom?i:qr("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},i)}}}),gx=mx;function vx(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function yx(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!Tn(s)||s.length!==r.length||r.some((i,o)=>i.valueOf()!==s[o].valueOf()))return!1}return!0}function Zm(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Qm=(e,t,n)=>e??t??n,_x=fl({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Ne(bd),s=j(()=>e.route||r.value),i=Ne(jm,0),o=j(()=>{let l=Ut(i);const{matched:d}=s.value;let u;for(;(u=d[l])&&!u.components;)l++;return l}),a=j(()=>s.value.matched[o.value]);Mt(jm,j(()=>o.value+1)),Mt(KI,a),Mt(bd,s);const c=we();return Se(()=>[c.value,a.value,e.name],([l,d,u],[f,h,p])=>{d&&(d.instances[u]=l,h&&h!==d&&l&&l===f&&(d.leaveGuards.size||(d.leaveGuards=h.leaveGuards),d.updateGuards.size||(d.updateGuards=h.updateGuards))),l&&d&&(!h||!yi(d,h)||!f)&&(d.enterCallbacks[u]||[]).forEach(m=>m(l))},{flush:"post"}),()=>{const l=s.value,d=e.name,u=a.value,f=u&&u.components[d];if(!f)return eg(n.default,{Component:f,route:l});const h=u.props[d],p=h?h===!0?l.params:typeof h=="function"?h(l):h:null,v=qr(f,Be({},p,t,{onVnodeUnmounted:g=>{g.component.isUnmounted&&(u.instances[d]=null)},ref:c}));return eg(n.default,{Component:v,route:l})||v}}});function eg(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const bx=_x;function Sx(e){const t=lx(e.routes,e),n=e.parseQuery||qI,r=e.stringifyQuery||Wm,s=e.history,i=no(),o=no(),a=no(),c=be(Er);let l=Er;Ks&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const d=lu.bind(null,P=>""+P),u=lu.bind(null,RI),f=lu.bind(null,Ho);function h(P,W){let X,G;return Ub(P)?(X=t.getRecordMatcher(P),G=W):G=P,t.addRoute(G,X)}function p(P){const W=t.getRecordMatcher(P);W&&t.removeRoute(W)}function m(){return t.getRoutes().map(P=>P.record)}function v(P){return!!t.getRecordMatcher(P)}function g(P,W){if(W=Be({},W||c.value),typeof P=="string"){const A=uu(n,P,W.path),L=t.resolve({path:A.path},W),D=s.createHref(A.fullPath);return Be(A,L,{params:f(L.params),hash:Ho(A.hash),redirectedFrom:void 0,href:D})}let X;if(P.path!=null)X=Be({},P,{path:uu(n,P.path,W.path).path});else{const A=Be({},P.params);for(const L in A)A[L]==null&&delete A[L];X=Be({},P,{params:u(A)}),W.params=u(W.params)}const G=t.resolve(X,W),de=P.hash||"";G.params=d(f(G.params));const _=PI(r,Be({},P,{hash:kI(de),path:G.path})),E=s.createHref(_);return Be({fullPath:_,hash:de,query:r===Wm?GI(P.query):P.query||{}},G,{redirectedFrom:void 0,href:E})}function y(P){return typeof P=="string"?uu(n,P,c.value.path):Be({},P)}function C(P,W){if(l!==P)return _i(ot.NAVIGATION_CANCELLED,{from:W,to:P})}function w(P){return S(P)}function I(P){return w(Be(y(P),{replace:!0}))}function x(P,W){const X=P.matched[P.matched.length-1];if(X&&X.redirect){const{redirect:G}=X;let de=typeof G=="function"?G(P,W):G;return typeof de=="string"&&(de=de.includes("?")||de.includes("#")?de=y(de):{path:de},de.params={}),Be({query:P.query,hash:P.hash,params:de.path!=null?{}:P.params},de)}}function S(P,W){const X=l=g(P),G=c.value,de=P.state,_=P.force,E=P.replace===!0,A=x(X,G);if(A)return S(Be(y(A),{state:typeof A=="object"?Be({},de,A.state):de,force:_,replace:E}),W||X);const L=X;L.redirectedFrom=W;let D;return!_&&OI(r,G,X)&&(D=_i(ot.NAVIGATION_DUPLICATED,{to:L,from:G}),J(G,G,!0,!1)),(D?Promise.resolve(D):R(L,G)).catch(F=>Gn(F)?Gn(F,ot.NAVIGATION_GUARD_REDIRECT)?F:U(F):N(F,L,G)).then(F=>{if(F){if(Gn(F,ot.NAVIGATION_GUARD_REDIRECT))return S(Be({replace:E},y(F.to),{state:typeof F.to=="object"?Be({},de,F.to.state):de,force:_}),W||L)}else F=T(L,G,!0,E,de);return M(L,G,F),F})}function b(P,W){const X=C(P,W);return X?Promise.reject(X):Promise.resolve()}function k(P){const W=Ee.values().next().value;return W&&typeof W.runWithContext=="function"?W.runWithContext(P):P()}function R(P,W){let X;const[G,de,_]=YI(P,W);X=fu(G.reverse(),"beforeRouteLeave",P,W);for(const A of G)A.leaveGuards.forEach(L=>{X.push(Rr(L,P,W))});const E=b.bind(null,P,W);return X.push(E),De(X).then(()=>{X=[];for(const A of i.list())X.push(Rr(A,P,W));return X.push(E),De(X)}).then(()=>{X=fu(de,"beforeRouteUpdate",P,W);for(const A of de)A.updateGuards.forEach(L=>{X.push(Rr(L,P,W))});return X.push(E),De(X)}).then(()=>{X=[];for(const A of _)if(A.beforeEnter)if(Tn(A.beforeEnter))for(const L of A.beforeEnter)X.push(Rr(L,P,W));else X.push(Rr(A.beforeEnter,P,W));return X.push(E),De(X)}).then(()=>(P.matched.forEach(A=>A.enterCallbacks={}),X=fu(_,"beforeRouteEnter",P,W,k),X.push(E),De(X))).then(()=>{X=[];for(const A of o.list())X.push(Rr(A,P,W));return X.push(E),De(X)}).catch(A=>Gn(A,ot.NAVIGATION_CANCELLED)?A:Promise.reject(A))}function M(P,W,X){a.list().forEach(G=>k(()=>G(P,W,X)))}function T(P,W,X,G,de){const _=C(P,W);if(_)return _;const E=W===Er,A=Ks?history.state:{};X&&(G||E?s.replace(P.fullPath,Be({scroll:E&&A&&A.scroll},de)):s.push(P.fullPath,de)),c.value=P,J(P,W,X,E),U()}let O;function $(){O||(O=s.listen((P,W,X)=>{if(!Me.listening)return;const G=g(P),de=x(G,Me.currentRoute.value);if(de){S(Be(de,{replace:!0,force:!0}),G).catch(Eo);return}l=G;const _=c.value;Ks&&VI(Um(_.fullPath,X.delta),El()),R(G,_).catch(E=>Gn(E,ot.NAVIGATION_ABORTED|ot.NAVIGATION_CANCELLED)?E:Gn(E,ot.NAVIGATION_GUARD_REDIRECT)?(S(Be(y(E.to),{force:!0}),G).then(A=>{Gn(A,ot.NAVIGATION_ABORTED|ot.NAVIGATION_DUPLICATED)&&!X.delta&&X.type===yd.pop&&s.go(-1,!1)}).catch(Eo),Promise.reject()):(X.delta&&s.go(-X.delta,!1),N(E,G,_))).then(E=>{E=E||T(G,_,!1),E&&(X.delta&&!Gn(E,ot.NAVIGATION_CANCELLED)?s.go(-X.delta,!1):X.type===yd.pop&&Gn(E,ot.NAVIGATION_ABORTED|ot.NAVIGATION_DUPLICATED)&&s.go(-1,!1)),M(G,_,E)}).catch(Eo)}))}let K=no(),Z=no(),z;function N(P,W,X){U(P);const G=Z.list();return G.length?G.forEach(de=>de(P,W,X)):console.error(P),Promise.reject(P)}function oe(){return z&&c.value!==Er?Promise.resolve():new Promise((P,W)=>{K.add([P,W])})}function U(P){return z||(z=!P,$(),K.list().forEach(([W,X])=>P?X(P):W()),K.reset()),P}function J(P,W,X,G){const{scrollBehavior:de}=e;if(!Ks||!de)return Promise.resolve();const _=!X&&UI(Um(P.fullPath,0))||(G||!X)&&history.state&&history.state.scroll||null;return yt().then(()=>de(P,W,_)).then(E=>E&&HI(E)).catch(E=>N(E,P,W))}const re=P=>s.go(P);let ie;const Ee=new Set,Me={currentRoute:c,listening:!0,addRoute:h,removeRoute:p,clearRoutes:t.clearRoutes,hasRoute:v,getRoutes:m,resolve:g,options:e,push:w,replace:I,go:re,back:()=>re(-1),forward:()=>re(1),beforeEach:i.add,beforeResolve:o.add,afterEach:a.add,onError:Z.add,isReady:oe,install(P){P.component("RouterLink",gx),P.component("RouterView",bx),P.config.globalProperties.$router=Me,Object.defineProperty(P.config.globalProperties,"$route",{enumerable:!0,get:()=>Ut(c)}),Ks&&!ie&&c.value===Er&&(ie=!0,w(s.location).catch(G=>{}));const W={};for(const G in Er)Object.defineProperty(W,G,{get:()=>c.value[G],enumerable:!0});P.provide(wl,Me),P.provide(Xf,qy(W)),P.provide(bd,c);const X=P.unmount;Ee.add(P),P.unmount=function(){Ee.delete(P),Ee.size<1&&(l=Er,O&&O(),O=null,c.value=Er,ie=!1,z=!1),X()}}};function De(P){return P.reduce((W,X)=>W.then(()=>k(X)),Promise.resolve())}return Me}function N4(){return Ne(wl)}function D4(e){return Ne(Xf)}const Ex=e=>{const t={};Object.entries(Object.assign({"/src/layouts/default.vue":()=>_t(()=>import("./default-BeYWhc3q.js"),__vite__mapDeps([0,1]),import.meta.url)})).forEach(([s,i])=>{let o=s.replace("/src/layouts/","").replace(".vue","");t[o]=i});function r(s,i=!0){return s.map(o=>{var a,c,l,d,u,f;if(((a=o.children)==null?void 0:a.length)>0&&(o.children=r(o.children,!1)),i){if(!o.component&&((c=o.children)==null?void 0:c.find(p=>{var m;return(p.path===""||p.path==="/")&&((m=p.meta)==null?void 0:m.isLayout)})))return o;if(((l=o.meta)==null?void 0:l.layout)!==!1)return{path:o.path,component:t[((d=o.meta)==null?void 0:d.layout)||"default"],children:o.path==="/"?[o]:[{...o,path:""}],meta:{isLayout:!0}}}return(u=o.meta)!=null&&u.layout?{path:o.path,component:t[(f=o.meta)==null?void 0:f.layout],children:[{...o,path:""}],meta:{isLayout:!0}}:o})}return r(e)},wx=[{path:"/",name:"/",component:()=>_t(()=>import("./index-Ct5Llh5_.js"),__vite__mapDeps([2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39]),import.meta.url)},{path:"/404",name:"/404",component:()=>_t(()=>import("./404-C7Ce-VYe.js"),__vite__mapDeps([40,14,15,34,35]),import.meta.url)},{path:"/authorize",name:"/authorize",component:()=>_t(()=>import("./authorize-CL9LOs4t.js"),__vite__mapDeps([41,14,15,34,35]),import.meta.url)},{path:"/CacheManagement",name:"/CacheManagement",component:()=>_t(()=>import("./CacheManagement-BY7T1F66.js"),__vite__mapDeps([42,6,7,37,38,12,13,8,9,14,15,34,35]),import.meta.url)},{path:"/cses2wakeup",name:"/cses2wakeup",component:()=>_t(()=>import("./cses2wakeup-Y-ZBCCNd.js"),__vite__mapDeps([43,14,15,6,7,44,32,23,20,16,17,21,33,22,12,13,24,45,10,11,18,19,8,9,34,35,46]),import.meta.url)},{path:"/debug",name:"/debug",component:()=>_t(()=>import("./debug-C73Oop6R.js"),__vite__mapDeps([47,34,35,48]),import.meta.url)},{path:"/debug-init",name:"/debug-init",component:()=>_t(()=>import("./debug-init-qEmxm5BC.js"),__vite__mapDeps([49,4,5,14,15,36,16,17,34,35]),import.meta.url)},{path:"/debug-socket",name:"/debug-socket",component:()=>_t(()=>import("./debug-socket-gX5zuEJb.js"),__vite__mapDeps([50,26,5,31,14,15,12,13,16,17,18,19,34,35]),import.meta.url)},{path:"/exam-editor",children:[{path:":id",name:"/exam-editor/[id]",component:()=>_t(()=>import("./_id_-d28sCpy1.js"),__vite__mapDeps([51,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,28,29,34,35]),import.meta.url)}]},{path:"/examschedule",name:"/examschedule",component:()=>_t(()=>import("./examschedule-CWlyTxDY.js"),__vite__mapDeps([52,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,34,35,53]),import.meta.url)},{path:"/list",children:[{path:"",name:"/list/",component:()=>_t(()=>import("./index-BBzZrCva.js"),__vite__mapDeps([54,4,5,28,29,16,17,34,35]),import.meta.url)},{path:":id",name:"/list/[id]",component:()=>_t(()=>import("./_id_-DIwIy-nN.js"),__vite__mapDeps([55,4,5,28,29,16,17,23,20,21,12,13,18,19,34,35]),import.meta.url)}]},{path:"/settings",name:"/settings",component:()=>_t(()=>import("./settings-DjYY_dPH.js"),__vite__mapDeps([56,27,28,29,16,17,22,23,20,21,12,13,24,30,4,5,6,7,14,15,34,35,32,33,18,19,36,37,38,44,45,57]),import.meta.url)},{path:"/socket-debugger",name:"/socket-debugger",component:()=>_t(()=>import("./socket-debugger-BstARi-S.js"),__vite__mapDeps([58,26,5,14,15,12,13,16,17,18,19,20,21,6,7,34,35,59]),import.meta.url)}],Cl=Sx({history:QI("./"),routes:Ex(wx)});Cl.onError((e,t)=>{var n,r;(r=(n=e==null?void 0:e.message)==null?void 0:n.includes)!=null&&r.call(n,"Failed to fetch dynamically imported module")?localStorage.getItem("vuetify:dynamic-reload")?console.error("Dynamic import error, reloading page did not fix it",e):(console.log("Reloading page to fix dynamic import error"),localStorage.setItem("vuetify:dynamic-reload","true"),location.assign(t.fullPath)):console.error(e)});Cl.isReady().then(()=>{localStorage.removeItem("vuetify:dynamic-reload")});function Cx(e){e.use(lI).use(Cl).use(mI)}async function Tx(){return typeof Notification<"u"&&Notification.requestPermission?await Notification.requestPermission()==="granted"?(console.log("通知权限已授予"),!0):(console.warn("通知权限被拒绝"),!1):(console.warn("浏览器不支持通知权限请求"),!1)}async function kx(){var e;try{return(e=navigator.storage)!=null&&e.persist?await navigator.storage.persist():!1}catch(t){return console.warn("请求持久性存储失败:",t),!1}}const hu="Classworks_settings",tg={"server.domain":"https://kv-service.houlang.cloud","server.siteKey":""},kr={"device.uuid":{type:"string",default:"00000000-0000-4000-8000-000000000000",description:"设备唯一标识符",icon:"mdi-identifier"},"storage.persistOnLoad":{type:"boolean",default:!0,description:"是否在页面加载时自动请求持久性存储",icon:"mdi-database-sync"},"display.emptySubjectDisplay":{type:"string",default:"card",validate:e=>["card","button"].includes(e),description:"空科目的显示方式",icon:"mdi-card-outline"},"timeCard.enabled":{type:"boolean",default:!0,description:"启用时间卡片",icon:"mdi-clock-outline"},"hitokoto.enabled":{type:"boolean",default:!0,description:"启用一言",icon:"mdi-comment-quote"},"hitokoto.refreshInterval":{type:"number",default:300,description:"刷新时间(秒,0为不自动刷新)",icon:"mdi-timer-refresh"},"display.dynamicSort":{type:"boolean",default:!0,description:"是否启用动态排序",icon:"mdi-sort-variant"},"display.showRandomButton":{type:"boolean",default:!1,description:"是否显示随机点人按钮",icon:"mdi-shuffle-variant"},"display.showFullscreenButton":{type:"boolean",default:!0,description:"是否显示全屏按钮",icon:"mdi-fullscreen"},"display.cardHoverEffect":{type:"boolean",default:!0,description:"是否启用卡片悬浮效果",icon:"mdi-gesture-tap"},"display.enhancedTouchMode":{type:"boolean",default:!0,description:"是否启用增强触摸模式",icon:"mdi-gesture-tap-button"},"display.showAntiScreenBurnCard":{type:"boolean",default:!1,description:"是否显示防烧屏忽悠卡片",icon:"mdi-monitor-shimmer"},"display.showListCard":{type:"boolean",default:!0,description:"是否显示列表卡片",icon:"mdi-list-box"},"display.showExamScheduleButton":{type:"boolean",default:!0,description:"是否显示考试看板",icon:"mdi-calendar-check"},"display.showQuickTools":{type:"boolean",default:!0,description:"是否显示快捷键盘",icon:"mdi-dialpad"},"display.forceDesktopMode":{type:"boolean",default:!1,description:"强制使用一体机UI模式",icon:"mdi-monitor"},"display.lateStudentsArePresent":{type:"boolean",default:!1,description:"将迟到人数算入出勤人数",icon:"mdi-clock-fast"},"server.domain":{type:"string",default:"",validate:e=>{if(!e)return!0;try{return new URL(e),!0}catch(t){return console.error("域名格式无效:",t),!1}},description:"后端服务器域名",icon:"mdi-web"},"server.classNumber":{type:"string",default:"高三八班",validate:e=>/.*/.test(e),description:"班级编号",icon:"mdi-account-group"},"server.siteKey":{type:"string",default:"",description:"网站令牌",icon:"mdi-key-chain"},"server.kvToken":{type:"string",default:"",description:"KV授权令牌",icon:"mdi-shield-key"},"server.authDomain":{type:"string",default:"https://kv.houlang.cloud",description:"授权服务器域名",icon:"mdi-shield-account",validate:e=>{if(!e)return!0;try{return new URL(e),!0}catch(t){return console.error("授权域名格式无效:",t),!1}}},"server.provider":{type:"string",default:"classworkscloud",validate:e=>["kv-local","kv-server","classworkscloud"].includes(e),description:"数据提供者",icon:"mdi-database"},"refresh.auto":{type:"boolean",default:!1,description:"是否启用自动刷新",icon:"mdi-refresh-auto"},"refresh.interval":{type:"number",default:300,validate:e=>e>=10&&e<=3600,description:"自动刷新间隔(秒)",icon:"mdi-timer-outline"},"font.size":{type:"number",default:28,validate:e=>e>=16&&e<=100,description:"字体大小",icon:"mdi-format-size"},"edit.autoSave":{type:"boolean",default:!0,description:"是否启用自动保存",icon:"mdi-content-save-outline"},"edit.blockNonTodayAutoSave":{type:"boolean",default:!0,description:"禁止自动保存非当天数据",icon:"mdi-calendar-lock"},"edit.refreshBeforeEdit":{type:"boolean",default:!0,description:"编辑前是否自动刷新",icon:"mdi-refresh"},"edit.confirmNonTodaySave":{type:"boolean",default:!0,description:"保存非当天数据需确认",icon:"mdi-calendar-alert"},"edit.blockPastDataEdit":{type:"boolean",default:!1,description:"禁止编辑过往数据",icon:"mdi-lock-clock"},"edit.autoSavePromptText":{type:"string",default:"喵?喵呜!",description:"自动保存模式提示文本",icon:"mdi-text-box-outline"},"edit.manualSavePromptText":{type:"string",default:"写完后点击上传谢谢喵",description:"手动保存模式提示文本",icon:"mdi-text-box-outline"},"developer.enabled":{type:"boolean",default:!1,description:"是否启用开发者选项",icon:"mdi-developer-board"},"developer.showDebugConfig":{type:"boolean",default:!1,description:"是否显示调试配置",icon:"mdi-bug-outline"},"developer.disableMessageLog":{type:"boolean",default:!1,description:"禁用消息日志记录",requireDeveloper:!0,icon:"mdi-message-off-outline"},"message.showSidebar":{type:"boolean",default:!0,description:"是否显示消息记录侧栏",requireDeveloper:!0,icon:"mdi-message-text-outline"},"message.maxActiveMessages":{type:"number",default:5,validate:e=>e>=1&&e<=10,description:"同时显示的最大消息数量",requireDeveloper:!0,icon:"mdi-message-badge-outline"},"message.timeout":{type:"number",default:5e3,validate:e=>e>=1e3&&e<=3e4,description:"消息自动关闭时间(毫秒)",requireDeveloper:!0,icon:"mdi-timer-sand"},"message.saveHistory":{type:"boolean",default:!0,description:"是否保存消息历史记录",requireDeveloper:!0,icon:"mdi-history"},"theme.mode":{type:"string",default:"dark",validate:e=>["light","dark"].includes(e),description:"主题模式",icon:"mdi-theme-light-dark"},"notification.singleSound":{type:"string",default:"Teams 默认.mp3",description:"单次通知铃声",icon:"mdi-bell-ring"},"notification.urgentSound":{type:"string",default:"Teams 默认通话铃.mp3",description:"持续通知铃声",icon:"mdi-bell-alert"},"randomPicker.enabled":{type:"boolean",default:!0,description:"是否启用随机点名功能",icon:"mdi-account-question"},"randomPicker.animation":{type:"boolean",default:!0,description:"是否启用随机点名动画效果",icon:"mdi-animation-play"},"randomPicker.defaultCount":{type:"number",default:1,validate:e=>e>=1&&e,description:"默认抽取人数",icon:"mdi-counter"},"randomPicker.excludeAbsent":{type:"boolean",default:!0,description:"是否排除请假学生",icon:"mdi-account-off"},"randomPicker.excludeLate":{type:"boolean",default:!1,description:"是否排除迟到学生",icon:"mdi-clock-alert"},"randomPicker.excludeExcluded":{type:"boolean",default:!0,description:"是否排除不参与学生",icon:"mdi-account-cancel"},"randomPicker.mode":{type:"string",default:"name",validate:e=>["name","number"].includes(e),description:"随机点名模式",icon:"mdi-format-list-numbered"},"randomPicker.maxNumber":{type:"number",default:60,validate:e=>e>=1&&e,description:"学号模式最大值",icon:"mdi-numeric"},"randomPicker.minNumber":{type:"number",default:1,validate:e=>e>=1&&e,description:"学号模式最小值",icon:"mdi-numeric-negative-1"},"pwa.hideInstallCard":{type:"boolean",default:!1,description:"不显示PWA安装卡片",icon:"mdi-download-off"}};class Ix{constructor(){this.settingsCache=null,this.isInitialized=!1}init(){this.isInitialized||(this.loadSettings(),this.isInitialized=!0)}loadSettings(){this.settingsCache={};try{const t=typeof localStorage<"u"?localStorage.getItem(hu):null;t&&(this.settingsCache=JSON.parse(t))}catch(t){console.error("加载设置失败:",t)}for(const[t,n]of Object.entries(kr))t in this.settingsCache||(this.settingsCache[t]=n.default);return this.settingsCache}saveSettings(){if(!(typeof localStorage>"u"))try{localStorage.setItem(hu,JSON.stringify(this.settingsCache))}catch(t){console.error("保存设置失败:",t)}}getSetting(t){this.isInitialized||this.init();const n=kr[t];if(!n)return console.warn(`未定义的设置项: ${t}`),null;if(n.requireDeveloper&&!this.settingsCache["developer.enabled"])return n.default;if(this.settingsCache["server.provider"]==="classworkscloud"&&tg[t]!==void 0)return tg[t];const r=this.settingsCache[t];return r!==void 0?r:n.default}setSetting(t,n){this.isInitialized||this.init();const r=kr[t];if(!r)return console.warn(`未定义的设置项: ${t}`),!1;if(r.requireDeveloper&&!this.settingsCache["developer.enabled"])return console.warn(`设置项 ${t} 需要启用开发者选项`),!1;try{const s=this.settingsCache[t];if(typeof n!==r.type&&(n=r.type==="boolean"?!!n:r.type==="number"?Number(n):String(n)),r.validate&&!r.validate(n))return console.warn(`设置项 ${t} 的值无效`),!1;this.settingsCache[t]=n,this.saveSettings(),this.logSettingsChange(t,s,n);const i=r.legacyKey;return i&&typeof localStorage<"u"&&localStorage.setItem(i,n.toString()),!0}catch(s){return console.error(`设置配置项 ${t} 失败:`,s),!1}}logSettingsChange(t,n,r){this.settingsCache["developer.enabled"]&&this.settingsCache["developer.showDebugConfig"]&&console.log(`[Settings] ${t}:`,{old:n,new:r,time:new Date().toLocaleTimeString()})}resetSetting(t){this.isInitialized||this.init();const n=kr[t];if(!n){console.warn(`未定义的设置项: ${t}`);return}this.settingsCache[t]=n.default,this.saveSettings()}resetAllSettings(){this.settingsCache={};for(const[t,n]of Object.entries(kr))this.settingsCache[t]=n.default;this.saveSettings()}watchSettings(t){if(typeof window>"u")return()=>{};const n=r=>{r.key===hu&&(this.settingsCache=JSON.parse(r.newValue),t(this.settingsCache))};return window.addEventListener("storage",n),()=>window.removeEventListener("storage",n)}getSettingDefinition(t){return kr[t]||null}exportSettingsAsKeyValue(){this.isInitialized||this.init();const t={};for(const n in kr)t[n]=this.getSetting(n);return t}}const vr=new Ix;typeof window<"u"&&vr.init();const Jf=e=>vr.getSetting(e),xx=(e,t)=>vr.setSetting(e,t),Rx=e=>vr.resetSetting(e),Ax=()=>vr.resetAllSettings(),Mx=e=>vr.watchSettings(e),Px=e=>vr.getSettingDefinition(e),Ox=()=>vr.exportSettingsAsKeyValue(),F4=Object.freeze(Object.defineProperty({__proto__:null,SettingsManager:vr,exportSettingsAsKeyValue:Ox,getSetting:Jf,getSettingDefinition:Px,requestNotificationPermission:Tx,requestPersistentStorage:kx,resetAllSettings:Ax,resetSetting:Rx,setSetting:xx,settingsDefinitions:kr,watchSettings:Mx},Symbol.toStringTag,{value:"Module"}));class Lx{constructor(){this.logs=[]}async addLog(t){return this.logs.push(t),this.logs.length>100&&this.logs.shift(),!0}async getLogs(t=20){return this.logs.slice(-t).reverse()}}const Qa=new Lx,Dn=[];let ec=null,Ln=null;const ro={SUCCESS:"success",ERROR:"error",INFO:"info",WARNING:"warning"},Nx={timeout:3e3,showSnackbar:!0,addToLog:!0};async function La(e,t,n="",r={}){const s={...Nx,...r},i={id:Date.now()+Math.random(),type:e,title:t,content:n.substring(0,500),timestamp:new Date};if(s.addToLog)try{for(await Qa.addLog(i),Dn.unshift(i);Dn.length>Jf("message.maxActiveMessages");)Dn.pop();Ln==null||Ln(Dn)}catch(o){console.error("保存日志失败:",o)}return s.showSnackbar&&(ec==null||ec(i)),i}function Dx(e,t){let n=null;return function(...r){n&&clearTimeout(n),n=setTimeout(()=>{e.apply(this,r)},t)}}const Ys={install:e=>{e.config.globalProperties.$message={success:(t,n,r)=>La(ro.SUCCESS,t,n,r),error:(t,n,r)=>La(ro.ERROR,t,n,r),info:(t,n,r)=>La(ro.INFO,t,n,r),warning:(t,n,r)=>La(ro.WARNING,t,n,r)}},onSnackbar:e=>{ec=e},onLog:e=>{Ln=e},getMessages:async()=>{try{return await Qa.getLogs()}catch(e){return console.error("获取日志失败:",e),[...Dn]}},clearMessages:async()=>{try{await Qa.clearLogs(),Dn.length=0,Ln==null||Ln(Dn)}catch(e){console.error("清除日志失败:",e)}},MessageType:ro,markAsRead:()=>{},deleteMessage:async e=>{try{await Qa.deleteLog(e);const t=Dn.findIndex(n=>n.id===e);t!==-1&&Dn.splice(t,1),Ln==null||Ln(Dn)}catch(t){console.error("删除消息失败:",t)}},getUnreadCount:()=>0,debounce:Dx},Gb=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},Fi=ue({border:[Boolean,Number,String]},"border");function $i(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Gr();return{borderClasses:j(()=>{const r=e.border;return r===!0||r===""?`${t}--border`:typeof r=="string"||r===0?String(r).split(" ").map(s=>`border-${s}`):[]})}}const Fx=[null,"default","comfortable","compact"],Ms=ue({density:{type:String,default:"default",validator:e=>Fx.includes(e)}},"density");function Bi(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Gr();return{densityClasses:ee(()=>`${t}--density-${e.density}`)}}const oa=ue({elevation:{type:[Number,String],validator(e){const t=parseInt(e);return!isNaN(t)&&t>=0&&t<=24}}},"elevation");function aa(e){return{elevationClasses:ee(()=>{const n=Ze(e)?e.value:e.elevation;return n==null?[]:[`elevation-${n}`]})}}const yr=ue({rounded:{type:[Boolean,Number,String],default:void 0},tile:Boolean},"rounded");function _r(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Gr();return{roundedClasses:j(()=>{const r=Ze(e)?e.value:e.rounded,s=Ze(e)?!1:e.tile,i=[];if(s||r===!1)i.push("rounded-0");else if(r===!0||r==="")i.push(`${t}--rounded`);else if(typeof r=="string"||r===0)for(const o of String(r).split(" "))i.push(`rounded-${o}`);return i})}}const Pt=ue({tag:{type:[String,Object,Function],default:"div"}},"tag");function Zf(e){return Hf(()=>{const{class:t,style:n}=Bx(e);return{colorClasses:t,colorStyles:n}})}function bi(e){const{colorClasses:t,colorStyles:n}=Zf(()=>({text:vt(e)}));return{textColorClasses:t,textColorStyles:n}}function li(e){const{colorClasses:t,colorStyles:n}=Zf(()=>({background:vt(e)}));return{backgroundColorClasses:t,backgroundColorStyles:n}}function $x(e){return{text:typeof e.text=="string"?e.text.replace(/^text-/,""):e.text,background:typeof e.background=="string"?e.background.replace(/^bg-/,""):e.background}}function Bx(e){const t=$x(vt(e)),n=[],r={};if(t.background)if(dd(t.background)){if(r.backgroundColor=t.background,!t.text&&RT(t.background)){const s=Bn(t.background);if(s.a==null||s.a===1){const i=hb(s);r.color=i,r.caretColor=i}}}else n.push(`bg-${t.background}`);return t.text&&(dd(t.text)?(r.color=t.text,r.caretColor=t.text):n.push(`text-${t.text}`)),{class:n,style:r}}const Hx=["elevated","flat","tonal","outlined","text","plain"];function ca(e,t){return ae(Qe,null,[e&&ae("span",{key:"overlay",class:Le(`${t}__overlay`)},null),ae("span",{key:"underlay",class:Le(`${t}__underlay`)},null)])}const Ps=ue({color:String,variant:{type:String,default:"elevated",validator:e=>Hx.includes(e)}},"variant");function la(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Gr();const n=ee(()=>{const{variant:i}=vt(e);return`${t}--variant-${i}`}),{colorClasses:r,colorStyles:s}=Zf(()=>{const{variant:i,color:o}=vt(e);return{[["elevated","flat"].includes(i)?"background":"text"]:o}});return{colorClasses:r,colorStyles:s,variantClasses:n}}const Kb=ue({baseColor:String,divided:Boolean,direction:{type:String,default:"horizontal"},...Fi(),...ct(),...Ms(),...oa(),...yr(),...Pt(),...nn(),...Ps()},"VBtnGroup"),ng=$e()({name:"VBtnGroup",props:Kb(),setup(e,t){let{slots:n}=t;const{themeClasses:r}=mn(e),{densityClasses:s}=Bi(e),{borderClasses:i}=$i(e),{elevationClasses:o}=aa(e),{roundedClasses:a}=_r(e);_l({VBtn:{height:ee(()=>e.direction==="horizontal"?"auto":null),baseColor:ee(()=>e.baseColor),color:ee(()=>e.color),density:ee(()=>e.density),flat:!0,variant:ee(()=>e.variant)}}),tt(()=>H(e.tag,{class:Le(["v-btn-group",`v-btn-group--${e.direction}`,{"v-btn-group--divided":e.divided},r.value,i.value,s.value,o.value,a.value,e.class]),style:Xe(e.style)},n))}}),Vx=ue({modelValue:{type:null,default:void 0},multiple:Boolean,mandatory:[Boolean,String],max:Number,selectedClass:String,disabled:Boolean},"group"),Ux=ue({value:null,disabled:Boolean,selectedClass:String},"group-item");function Wx(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;const r=mt("useGroupItem");if(!r)throw new Error("[Vuetify] useGroupItem composable must be used inside a component setup function");const s=hl();Mt(Symbol.for(`${t.description}:id`),s);const i=Ne(t,null);if(!i){if(!n)return i;throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${t.description}`)}const o=ee(()=>e.value),a=j(()=>!!(i.disabled.value||e.disabled));function c(){i==null||i.register({id:s,value:o,disabled:a},r)}function l(){i==null||i.unregister(s)}c(),kn(()=>l());const d=j(()=>i.isSelected(s)),u=j(()=>i.items.value[0].id===s),f=j(()=>i.items.value[i.items.value.length-1].id===s),h=j(()=>d.value&&[i.selectedClass.value,e.selectedClass]);return Se(d,p=>{r.emit("group:selected",{value:p})},{flush:"sync"}),{id:s,isSelected:d,isFirst:u,isLast:f,toggle:()=>i.select(s,!d.value),select:p=>i.select(s,p),selectedClass:h,value:o,disabled:a,group:i,register:c,unregister:l}}function jx(e,t){let n=!1;const r=pt([]),s=Un(e,"modelValue",[],f=>f===void 0?[]:Yb(r,f===null?[null]:Bf(f)),f=>{const h=qx(r,f);return e.multiple?h:h[0]}),i=mt("useGroup");function o(f,h){const p=f,m=Symbol.for(`${t.description}:id`),g=Zs(m,i==null?void 0:i.vnode).indexOf(h);Ut(p.value)===void 0&&(p.value=g,p.useIndexAsValue=!0),g>-1?r.splice(g,0,p):r.push(p)}function a(f){if(n)return;c();const h=r.findIndex(p=>p.id===f);r.splice(h,1)}function c(){const f=r.find(h=>!h.disabled);f&&e.mandatory==="force"&&!s.value.length&&(s.value=[f.id])}gr(()=>{c()}),kn(()=>{n=!0}),Rf(()=>{for(let f=0;fm.id===f);if(!(h&&(p!=null&&p.disabled)))if(e.multiple){const m=s.value.slice(),v=m.findIndex(y=>y===f),g=~v;if(h=h??!g,g&&e.mandatory&&m.length<=1||!g&&e.max!=null&&m.length+1>e.max)return;v<0&&h?m.push(f):v>=0&&!h&&m.splice(v,1),s.value=m}else{const m=s.value.includes(f);if(e.mandatory&&m||!m&&!h)return;s.value=h??!m?[f]:[]}}function d(f){if(e.multiple,s.value.length){const h=s.value[0],p=r.findIndex(g=>g.id===h);let m=(p+f)%r.length,v=r[m];for(;v.disabled&&m!==p;)m=(m+f)%r.length,v=r[m];if(v.disabled)return;s.value=[r[m].id]}else{const h=r.find(p=>!p.disabled);h&&(s.value=[h.id])}}const u={register:o,unregister:a,selected:s,select:l,disabled:ee(()=>e.disabled),prev:()=>d(r.length-1),next:()=>d(1),isSelected:f=>s.value.includes(f),selectedClass:ee(()=>e.selectedClass),items:ee(()=>r),getItemIndex:f=>zx(r,f)};return Mt(t,u),u}function zx(e,t){const n=Yb(e,[t]);return n.length?e.findIndex(r=>r.id===n[0]):-1}function Yb(e,t){const n=[];return t.forEach(r=>{const s=e.find(o=>gs(r,o.value)),i=e[r];(s==null?void 0:s.value)!==void 0?n.push(s.id):i!=null&&i.useIndexAsValue&&n.push(i.id)}),n}function qx(e,t){const n=[];return t.forEach(r=>{const s=e.findIndex(i=>i.id===r);if(~s){const i=e[s];n.push(i.value!==void 0?i.value:s)}}),n}const Xb=Symbol.for("vuetify:v-btn-toggle"),Gx=ue({...Kb(),...Vx()},"VBtnToggle"),$4=$e()({name:"VBtnToggle",props:Gx(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:n}=t;const{isSelected:r,next:s,prev:i,select:o,selected:a}=jx(e,Xb);return tt(()=>{const c=ng.filterProps(e);return H(ng,Je({class:["v-btn-toggle",e.class]},c,{style:e.style}),{default:()=>{var l;return[(l=n.default)==null?void 0:l.call(n,{isSelected:r,next:s,prev:i,select:o,selected:a})]}})}),{next:s,prev:i,select:o}}}),Kx=ue({defaults:Object,disabled:Boolean,reset:[Number,String],root:[Boolean,String],scoped:Boolean},"VDefaultsProvider"),un=$e(!1)({name:"VDefaultsProvider",props:Kx(),setup(e,t){let{slots:n}=t;const{defaults:r,disabled:s,reset:i,root:o,scoped:a}=Tf(e);return _l(r,{reset:i,root:o,scoped:a,disabled:s}),()=>{var c;return(c=n.default)==null?void 0:c.call(n)}}}),Yx=["x-small","small","default","large","x-large"],Tl=ue({size:{type:[String,Number],default:"default"}},"size");function kl(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Gr();return Hf(()=>{const n=e.size;let r,s;return Rc(Yx,n)?r=`${t}--size-${n}`:n&&(s={width:ge(n),height:ge(n)}),{sizeClasses:r,sizeStyles:s}})}const Xx=ue({color:String,disabled:Boolean,start:Boolean,end:Boolean,icon:Et,opacity:[String,Number],...ct(),...Tl(),...Pt({tag:"i"}),...nn()},"VIcon"),Wn=$e()({name:"VIcon",props:Xx(),setup(e,t){let{attrs:n,slots:r}=t;const s=be(),{themeClasses:i}=Ib(),{iconData:o}=KT(()=>s.value||e.icon),{sizeClasses:a}=kl(e),{textColorClasses:c,textColorStyles:l}=bi(()=>e.color);return tt(()=>{var f,h;const d=(f=r.default)==null?void 0:f.call(r);d&&(s.value=(h=rb(d).filter(p=>p.type===na&&p.children&&typeof p.children=="string")[0])==null?void 0:h.children);const u=!!(n.onClick||n.onClickOnce);return H(o.value.component,{tag:e.tag,icon:o.value.icon,class:Le(["v-icon","notranslate",i.value,a.value,c.value,{"v-icon--clickable":u,"v-icon--disabled":e.disabled,"v-icon--start":e.start,"v-icon--end":e.end},e.class]),style:Xe([{"--v-icon-opacity":e.opacity},a.value?void 0:{fontSize:ge(e.size),height:ge(e.size),width:ge(e.size)},l.value,e.style]),role:u?"button":void 0,"aria-hidden":!u,tabindex:u?e.disabled?-1:0:void 0},{default:()=>[d]})}),{}}});function Jb(e,t){const n=we(),r=be(!1);if(Df){const s=new IntersectionObserver(i=>{r.value=!!i.find(o=>o.isIntersecting)},t);Ct(()=>{s.disconnect()}),Se(n,(i,o)=>{o&&(s.unobserve(o),r.value=!1),i&&s.observe(i)},{flush:"post"})}return{intersectionRef:n,isIntersecting:r}}const Jx=ue({reveal:{type:[Boolean,Object],default:!1}},"reveal");function Zx(e){const n=ee(()=>typeof e.reveal=="object"?Math.max(0,Number(e.reveal.duration??900)):900),r=be(e.reveal?"initial":"disabled");return gr(async()=>{e.reveal&&(r.value="initial",await new Promise(s=>requestAnimationFrame(s)),r.value="pending",await new Promise(s=>setTimeout(s,n.value)),r.value="done")}),{duration:n,state:r}}const Qx=ue({bgColor:String,color:String,indeterminate:[Boolean,String],rounded:Boolean,modelValue:{type:[Number,String],default:0},rotate:{type:[Number,String],default:0},width:{type:[Number,String],default:4},...ct(),...Jx(),...Tl(),...Pt({tag:"div"}),...nn()},"VProgressCircular"),eR=$e()({name:"VProgressCircular",props:Qx(),setup(e,t){let{slots:n}=t;const r=20,s=2*Math.PI*r,i=we(),{themeClasses:o}=mn(e),{sizeClasses:a,sizeStyles:c}=kl(e),{textColorClasses:l,textColorStyles:d}=bi(()=>e.color),{textColorClasses:u,textColorStyles:f}=bi(()=>e.bgColor),{intersectionRef:h,isIntersecting:p}=Jb(),{resizeRef:m,contentRect:v}=Kf(),{state:g,duration:y}=Zx(e),C=ee(()=>g.value==="initial"?0:cr(parseFloat(e.modelValue),0,100)),w=ee(()=>Number(e.width)),I=ee(()=>c.value?Number(e.size):v.value?v.value.width:Math.max(w.value,32)),x=ee(()=>r/(1-w.value/I.value)*2),S=ee(()=>w.value/I.value*x.value),b=ee(()=>{const R=(100-C.value)/100*s;return e.rounded&&C.value>0&&C.value<100?ge(Math.min(s-.01,R+S.value)):ge(R)}),k=j(()=>{const R=Number(e.rotate);return e.rounded?R+S.value/2/s*360:R});return hn(()=>{h.value=i.value,m.value=i.value}),tt(()=>H(e.tag,{ref:i,class:Le(["v-progress-circular",{"v-progress-circular--indeterminate":!!e.indeterminate,"v-progress-circular--visible":p.value,"v-progress-circular--disable-shrink":e.indeterminate&&(e.indeterminate==="disable-shrink"||Lo()),"v-progress-circular--revealing":["initial","pending"].includes(g.value)},o.value,a.value,l.value,e.class]),style:Xe([c.value,d.value,{"--progress-reveal-duration":`${y.value}ms`},e.style]),role:"progressbar","aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":e.indeterminate?void 0:C.value},{default:()=>[ae("svg",{style:{transform:`rotate(calc(-90deg + ${k.value}deg))`},xmlns:"http://www.w3.org/2000/svg",viewBox:`0 0 ${x.value} ${x.value}`},[ae("circle",{class:Le(["v-progress-circular__underlay",u.value]),style:Xe(f.value),fill:"transparent",cx:"50%",cy:"50%",r,"stroke-width":S.value,"stroke-dasharray":s,"stroke-dashoffset":0},null),ae("circle",{class:"v-progress-circular__overlay",fill:"transparent",cx:"50%",cy:"50%",r,"stroke-width":S.value,"stroke-dasharray":s,"stroke-dashoffset":b.value,"stroke-linecap":e.rounded?"round":void 0},null)]),n.default&&ae("div",{class:"v-progress-circular__content"},[n.default({value:C.value})])]})),{}}}),Hi=ue({height:[Number,String],maxHeight:[Number,String],maxWidth:[Number,String],minHeight:[Number,String],minWidth:[Number,String],width:[Number,String]},"dimension");function Vi(e){return{dimensionStyles:j(()=>{const n={},r=ge(e.height),s=ge(e.maxHeight),i=ge(e.maxWidth),o=ge(e.minHeight),a=ge(e.minWidth),c=ge(e.width);return r!=null&&(n.height=r),s!=null&&(n.maxHeight=s),i!=null&&(n.maxWidth=i),o!=null&&(n.minHeight=o),a!=null&&(n.minWidth=a),c!=null&&(n.width=c),n})}}const rg={center:"center",top:"bottom",bottom:"top",left:"right",right:"left"},Il=ue({location:String},"location");function Qf(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=arguments.length>2?arguments[2]:void 0;const{isRtl:r}=sa();return{locationStyles:j(()=>{if(!e.location)return{};const{side:i,align:o}=ud(e.location.split(" ").length>1?e.location:`${e.location} center`,r.value);function a(l){return n?n(l):0}const c={};return i!=="center"&&(t?c[rg[i]]=`calc(100% - ${a(i)}px)`:c[i]=0),o!=="center"?t?c[rg[o]]=`calc(100% - ${a(o)}px)`:c[o]=0:(i==="center"?c.top=c.left="50%":c[{top:"left",bottom:"left",left:"top",right:"top"}[i]]="50%",c.transform={top:"translateX(-50%)",bottom:"translateX(-50%)",left:"translateY(-50%)",right:"translateY(-50%)",center:"translate(-50%, -50%)"}[i]),c})}}const tR=ue({chunkCount:{type:[Number,String],default:null},chunkWidth:{type:[Number,String],default:null},chunkGap:{type:[Number,String],default:4}},"chunks");function nR(e,t){const n=ee(()=>!!e.chunkCount||!!e.chunkWidth),r=j(()=>{const a=vt(t);if(!a)return 0;if(!e.chunkCount)return Number(e.chunkWidth);const c=Number(e.chunkCount);return(a-Number(e.chunkGap)*(c-1))/c}),s=ee(()=>Number(e.chunkGap)),i=j(()=>{if(!n.value)return{};const a=ge(s.value),c=ge(r.value);return{maskRepeat:"repeat-x",maskImage:`linear-gradient(90deg, #000, #000 ${c}, transparent ${c}, transparent)`,maskSize:`calc(${c} + ${a}) 100%`}});function o(a){const c=vt(t);if(!c)return a;const l=100*s.value/c,d=100*(r.value+s.value)/c,u=Math.floor((a+l)/d);return cr(0,u*d-l/2,100)}return{hasChunks:n,chunksMaskStyles:i,snapValueToChunk:o}}const rR=ue({absolute:Boolean,active:{type:Boolean,default:!0},bgColor:String,bgOpacity:[Number,String],bufferValue:{type:[Number,String],default:0},bufferColor:String,bufferOpacity:[Number,String],clickable:Boolean,color:String,height:{type:[Number,String],default:4},indeterminate:Boolean,max:{type:[Number,String],default:100},modelValue:{type:[Number,String],default:0},opacity:[Number,String],reverse:Boolean,stream:Boolean,striped:Boolean,roundedBar:Boolean,...tR(),...ct(),...Il({location:"top"}),...yr(),...Pt(),...nn()},"VProgressLinear"),Zb=$e()({name:"VProgressLinear",props:rR(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:n}=t;const r=we(),s=Un(e,"modelValue"),{isRtl:i,rtlClasses:o}=sa(),{themeClasses:a}=mn(e),{locationStyles:c}=Qf(e),{textColorClasses:l,textColorStyles:d}=bi(()=>e.color),{backgroundColorClasses:u,backgroundColorStyles:f}=li(()=>e.bgColor||e.color),{backgroundColorClasses:h,backgroundColorStyles:p}=li(()=>e.bufferColor||e.bgColor||e.color),{backgroundColorClasses:m,backgroundColorStyles:v}=li(()=>e.color),{roundedClasses:g}=_r(e),{intersectionRef:y,isIntersecting:C}=Jb(),w=j(()=>parseFloat(e.max)),I=j(()=>parseFloat(e.height)),x=j(()=>cr(parseFloat(e.bufferValue)/w.value*100,0,100)),S=j(()=>cr(parseFloat(s.value)/w.value*100,0,100)),b=j(()=>i.value!==e.reverse),k=j(()=>e.indeterminate?"fade-transition":"slide-x-transition"),R=be(0),{hasChunks:M,chunksMaskStyles:T,snapValueToChunk:O}=nR(e,R);Di(M,()=>{const{resizeRef:z}=Kf(N=>R.value=N[0].contentRect.width);hn(()=>z.value=r.value)});const $=j(()=>M.value?O(x.value):x.value),K=j(()=>M.value?O(S.value):S.value);function Z(z){if(!y.value)return;const{left:N,right:oe,width:U}=y.value.getBoundingClientRect(),J=b.value?U-z.clientX+(oe-U):z.clientX-N;s.value=Math.round(J/U*w.value)}return hn(()=>{y.value=r.value}),tt(()=>H(e.tag,{ref:r,class:Le(["v-progress-linear",{"v-progress-linear--absolute":e.absolute,"v-progress-linear--active":e.active&&C.value,"v-progress-linear--reverse":b.value,"v-progress-linear--rounded":e.rounded,"v-progress-linear--rounded-bar":e.roundedBar,"v-progress-linear--striped":e.striped,"v-progress-linear--clickable":e.clickable},g.value,a.value,o.value,e.class]),style:Xe([{bottom:e.location==="bottom"?0:void 0,top:e.location==="top"?0:void 0,height:e.active?ge(I.value):0,"--v-progress-linear-height":ge(I.value),...e.absolute?c.value:{}},T.value,e.style]),role:"progressbar","aria-hidden":e.active?"false":"true","aria-valuemin":"0","aria-valuemax":e.max,"aria-valuenow":e.indeterminate?void 0:Math.min(parseFloat(s.value),w.value),onClick:e.clickable&&Z},{default:()=>[e.stream&&ae("div",{key:"stream",class:Le(["v-progress-linear__stream",l.value]),style:{...d.value,[b.value?"left":"right"]:ge(-I.value),borderTop:`${ge(I.value/2)} dotted`,opacity:parseFloat(e.bufferOpacity),top:`calc(50% - ${ge(I.value/4)})`,width:ge(100-x.value,"%"),"--v-progress-linear-stream-to":ge(I.value*(b.value?1:-1))}},null),ae("div",{class:Le(["v-progress-linear__background",u.value]),style:Xe([f.value,{opacity:parseFloat(e.bgOpacity),width:e.stream?0:void 0}])},null),ae("div",{class:Le(["v-progress-linear__buffer",h.value]),style:Xe([p.value,{opacity:parseFloat(e.bufferOpacity),width:ge($.value,"%")}])},null),H(Hr,{name:k.value},{default:()=>[e.indeterminate?ae("div",{class:"v-progress-linear__indeterminate"},[["long","short"].map(z=>ae("div",{key:z,class:Le(["v-progress-linear__indeterminate",z,m.value]),style:Xe(v.value)},null))]):ae("div",{class:Le(["v-progress-linear__determinate",m.value]),style:Xe([v.value,{width:ge(K.value,"%")}])},null)]}),n.default&&ae("div",{class:"v-progress-linear__content"},[n.default({value:S.value,buffer:x.value})])]})),{}}}),Qb=ue({loading:[Boolean,String]},"loader");function eS(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Gr();return{loaderClasses:ee(()=>({[`${t}--loading`]:e.loading}))}}function sR(e,t){var r;let{slots:n}=t;return ae("div",{class:Le(`${e.name}__loader`)},[((r=n.default)==null?void 0:r.call(n,{color:e.color,isActive:e.active}))||H(Zb,{absolute:e.absolute,active:e.active,color:e.color,height:"2",indeterminate:!0},null)])}const iR=["static","relative","fixed","absolute","sticky"],eh=ue({position:{type:String,validator:e=>iR.includes(e)}},"position");function th(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Gr();return{positionClasses:ee(()=>e.position?`${t}--${e.position}`:void 0)}}function oR(){const e=mt("useRoute");return j(()=>{var t;return(t=e==null?void 0:e.proxy)==null?void 0:t.$route})}function aR(){var e,t;return(t=(e=mt("useRouter"))==null?void 0:e.proxy)==null?void 0:t.$router}function nh(e,t){const n=v_("RouterLink"),r=ee(()=>!!(e.href||e.to)),s=j(()=>(r==null?void 0:r.value)||om(t,"click")||om(e,"click"));if(typeof n=="string"||!("useLink"in n)){const u=ee(()=>e.href);return{isLink:r,isRouterLink:ee(()=>!1),isClickable:s,href:u,linkProps:pt({href:u}),route:ee(()=>{}),navigate:ee(()=>{})}}const i=n.useLink({to:ee(()=>e.to||""),replace:ee(()=>e.replace)}),o=j(()=>e.to?i:void 0),a=oR(),c=j(()=>{var u,f,h;return o.value?e.exact?a.value?((h=o.value.isExactActive)==null?void 0:h.value)&&gs(o.value.route.value.query,a.value.query):((f=o.value.isExactActive)==null?void 0:f.value)??!1:((u=o.value.isActive)==null?void 0:u.value)??!1:!1}),l=j(()=>{var u;return e.to?(u=o.value)==null?void 0:u.route.value.href:e.href});return{isLink:r,isRouterLink:ee(()=>!!e.to),isClickable:s,isActive:c,route:ee(()=>{var u;return(u=o.value)==null?void 0:u.route.value}),navigate:ee(()=>{var u;return(u=o.value)==null?void 0:u.navigate}),href:l,linkProps:pt({href:l,"aria-current":ee(()=>c.value?"page":void 0),"aria-disabled":ee(()=>e.disabled&&r.value?"true":void 0),tabindex:ee(()=>e.disabled&&r.value?"-1":void 0)})}}const rh=ue({href:String,replace:Boolean,to:[String,Object],exact:Boolean},"router");let pu=!1;function cR(e,t){let n=!1,r,s;et&&(e!=null&&e.beforeEach)&&(yt(()=>{window.addEventListener("popstate",i),r=e.beforeEach((o,a,c)=>{pu?n?t(c):c():setTimeout(()=>n?t(c):c()),pu=!0}),s=e==null?void 0:e.afterEach(()=>{pu=!1})}),Ct(()=>{window.removeEventListener("popstate",i),r==null||r(),s==null||s()}));function i(o){var a;(a=o.state)!=null&&a.replaced||(n=!0,setTimeout(()=>n=!1))}}function lR(e,t){Se(()=>{var n;return(n=e.isActive)==null?void 0:n.value},n=>{e.isLink.value&&n!=null&&t&&yt(()=>{t(n)})},{immediate:!0})}const Sd=Symbol("rippleStop"),uR=80;function sg(e,t){e.style.transform=t,e.style.webkitTransform=t}function Ed(e){return e.constructor.name==="TouchEvent"}function tS(e){return e.constructor.name==="KeyboardEvent"}const dR=function(e,t){var u;let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=0,s=0;if(!tS(e)){const f=t.getBoundingClientRect(),h=Ed(e)?e.touches[e.touches.length-1]:e;r=h.clientX-f.left,s=h.clientY-f.top}let i=0,o=.3;(u=t._ripple)!=null&&u.circle?(o=.15,i=t.clientWidth/2,i=n.center?i:i+Math.sqrt((r-i)**2+(s-i)**2)/4):i=Math.sqrt(t.clientWidth**2+t.clientHeight**2)/2;const a=`${(t.clientWidth-i*2)/2}px`,c=`${(t.clientHeight-i*2)/2}px`,l=n.center?a:`${r-i}px`,d=n.center?c:`${s-i}px`;return{radius:i,scale:o,x:l,y:d,centerX:a,centerY:c}},Nc={show(e,t){var h;let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!((h=t==null?void 0:t._ripple)!=null&&h.enabled))return;const r=document.createElement("span"),s=document.createElement("span");r.appendChild(s),r.className="v-ripple__container",n.class&&(r.className+=` ${n.class}`);const{radius:i,scale:o,x:a,y:c,centerX:l,centerY:d}=dR(e,t,n),u=`${i*2}px`;s.className="v-ripple__animation",s.style.width=u,s.style.height=u,t.appendChild(r);const f=window.getComputedStyle(t);f&&f.position==="static"&&(t.style.position="relative",t.dataset.previousPosition="static"),s.classList.add("v-ripple__animation--enter"),s.classList.add("v-ripple__animation--visible"),sg(s,`translate(${a}, ${c}) scale3d(${o},${o},${o})`),s.dataset.activated=String(performance.now()),requestAnimationFrame(()=>{requestAnimationFrame(()=>{s.classList.remove("v-ripple__animation--enter"),s.classList.add("v-ripple__animation--in"),sg(s,`translate(${l}, ${d}) scale3d(1,1,1)`)})})},hide(e){var i;if(!((i=e==null?void 0:e._ripple)!=null&&i.enabled))return;const t=e.getElementsByClassName("v-ripple__animation");if(t.length===0)return;const n=Array.from(t).findLast(o=>!o.dataset.isHiding);if(n)n.dataset.isHiding="true";else return;const r=performance.now()-Number(n.dataset.activated),s=Math.max(250-r,0);setTimeout(()=>{n.classList.remove("v-ripple__animation--in"),n.classList.add("v-ripple__animation--out"),setTimeout(()=>{var a;e.getElementsByClassName("v-ripple__animation").length===1&&e.dataset.previousPosition&&(e.style.position=e.dataset.previousPosition,delete e.dataset.previousPosition),((a=n.parentNode)==null?void 0:a.parentNode)===e&&e.removeChild(n.parentNode)},300)},s)}};function nS(e){return typeof e>"u"||!!e}function Vo(e){const t={},n=e.currentTarget;if(!(!(n!=null&&n._ripple)||n._ripple.touched||e[Sd])){if(e[Sd]=!0,Ed(e))n._ripple.touched=!0,n._ripple.isTouch=!0;else if(n._ripple.isTouch)return;if(t.center=n._ripple.centered||tS(e),n._ripple.class&&(t.class=n._ripple.class),Ed(e)){if(n._ripple.showTimerCommit)return;n._ripple.showTimerCommit=()=>{Nc.show(e,n,t)},n._ripple.showTimer=window.setTimeout(()=>{var r;(r=n==null?void 0:n._ripple)!=null&&r.showTimerCommit&&(n._ripple.showTimerCommit(),n._ripple.showTimerCommit=null)},uR)}else Nc.show(e,n,t)}}function Dc(e){e[Sd]=!0}function Zt(e){const t=e.currentTarget;if(t!=null&&t._ripple){if(window.clearTimeout(t._ripple.showTimer),e.type==="touchend"&&t._ripple.showTimerCommit){t._ripple.showTimerCommit(),t._ripple.showTimerCommit=null,t._ripple.showTimer=window.setTimeout(()=>{Zt(e)});return}window.setTimeout(()=>{t._ripple&&(t._ripple.touched=!1)}),Nc.hide(t)}}function rS(e){const t=e.currentTarget;t!=null&&t._ripple&&(t._ripple.showTimerCommit&&(t._ripple.showTimerCommit=null),window.clearTimeout(t._ripple.showTimer))}let Uo=!1;function fR(e,t){!Uo&&t.includes(e.key)&&(Uo=!0,Vo(e))}function sS(e){Uo=!1,Zt(e)}function iS(e){Uo&&(Uo=!1,Zt(e))}function oS(e,t,n){const{value:r,modifiers:s}=t,i=nS(r);i||Nc.hide(e),e._ripple=e._ripple??{},e._ripple.enabled=i,e._ripple.centered=s.center,e._ripple.circle=s.circle;const o=cd(r)?r:{};o.class&&(e._ripple.class=o.class);const a=o.keys??["Enter","Space"];if(e._ripple.keyDownHandler=c=>fR(c,a),i&&!n){if(s.stop){e.addEventListener("touchstart",Dc,{passive:!0}),e.addEventListener("mousedown",Dc);return}e.addEventListener("touchstart",Vo,{passive:!0}),e.addEventListener("touchend",Zt,{passive:!0}),e.addEventListener("touchmove",rS,{passive:!0}),e.addEventListener("touchcancel",Zt),e.addEventListener("mousedown",Vo),e.addEventListener("mouseup",Zt),e.addEventListener("mouseleave",Zt),e.addEventListener("keydown",e._ripple.keyDownHandler),e.addEventListener("keyup",sS),e.addEventListener("blur",iS),e.addEventListener("dragstart",Zt,{passive:!0})}else!i&&n&&aS(e)}function aS(e){var t;e.removeEventListener("touchstart",Dc),e.removeEventListener("mousedown",Dc),e.removeEventListener("touchstart",Vo),e.removeEventListener("touchend",Zt),e.removeEventListener("touchmove",rS),e.removeEventListener("touchcancel",Zt),e.removeEventListener("mousedown",Vo),e.removeEventListener("mouseup",Zt),e.removeEventListener("mouseleave",Zt),(t=e._ripple)!=null&&t.keyDownHandler&&e.removeEventListener("keydown",e._ripple.keyDownHandler),e.removeEventListener("keyup",sS),e.removeEventListener("blur",iS),e.removeEventListener("dragstart",Zt)}function hR(e,t){oS(e,t,!1)}function pR(e){aS(e),delete e._ripple}function mR(e,t){if(t.value===t.oldValue)return;const n=nS(t.oldValue);oS(e,t,n)}const Wo={mounted:hR,unmounted:pR,updated:mR},gR=ue({active:{type:Boolean,default:void 0},activeColor:String,baseColor:String,symbol:{type:null,default:Xb},flat:Boolean,icon:[Boolean,String,Function,Object],prependIcon:Et,appendIcon:Et,block:Boolean,readonly:Boolean,slim:Boolean,stacked:Boolean,spaced:String,ripple:{type:[Boolean,Object],default:!0},text:{type:[String,Number,Boolean],default:void 0},...Fi(),...ct(),...Ms(),...Hi(),...oa(),...Ux(),...Qb(),...Il(),...eh(),...yr(),...rh(),...Tl(),...Pt({tag:"button"}),...nn(),...Ps({variant:"elevated"})},"VBtn"),cS=$e()({name:"VBtn",props:gR(),emits:{"group:selected":e=>!0},setup(e,t){let{attrs:n,slots:r}=t;const{themeClasses:s}=mn(e),{borderClasses:i}=$i(e),{densityClasses:o}=Bi(e),{dimensionStyles:a}=Vi(e),{elevationClasses:c}=aa(e),{loaderClasses:l}=eS(e),{locationStyles:d}=Qf(e),{positionClasses:u}=th(e),{roundedClasses:f}=_r(e),{sizeClasses:h,sizeStyles:p}=kl(e),m=Wx(e,e.symbol,!1),v=nh(e,n),g=j(()=>{var M;return e.active!==void 0?e.active:v.isRouterLink.value?(M=v.isActive)==null?void 0:M.value:m==null?void 0:m.isSelected.value}),y=ee(()=>g.value?e.activeColor??e.color:e.color),C=j(()=>{var T,O;return{color:(m==null?void 0:m.isSelected.value)&&(!v.isLink.value||((T=v.isActive)==null?void 0:T.value))||!m||((O=v.isActive)==null?void 0:O.value)?y.value??e.baseColor:e.baseColor,variant:e.variant}}),{colorClasses:w,colorStyles:I,variantClasses:x}=la(C),S=j(()=>(m==null?void 0:m.disabled.value)||e.disabled),b=ee(()=>e.variant==="elevated"&&!(e.disabled||e.flat||e.border)),k=j(()=>{if(!(e.value===void 0||typeof e.value=="symbol"))return Object(e.value)===e.value?JSON.stringify(e.value,null,0):e.value});function R(M){var T,O;S.value||v.isLink.value&&(M.metaKey||M.ctrlKey||M.shiftKey||M.button!==0||n.target==="_blank")||(v.isRouterLink.value?(O=(T=v.navigate).value)==null||O.call(T,M):m==null||m.toggle())}return lR(v,m==null?void 0:m.select),tt(()=>{const M=v.isLink.value?"a":e.tag,T=!!(e.prependIcon||r.prepend),O=!!(e.appendIcon||r.append),$=!!(e.icon&&e.icon!==!0);return ws(H(M,Je(v.linkProps,{type:M==="a"?void 0:"button",class:["v-btn",m==null?void 0:m.selectedClass.value,{"v-btn--active":g.value,"v-btn--block":e.block,"v-btn--disabled":S.value,"v-btn--elevated":b.value,"v-btn--flat":e.flat,"v-btn--icon":!!e.icon,"v-btn--loading":e.loading,"v-btn--readonly":e.readonly,"v-btn--slim":e.slim,"v-btn--stacked":e.stacked},e.spaced?["v-btn--spaced",`v-btn--spaced-${e.spaced}`]:[],s.value,i.value,w.value,o.value,c.value,l.value,u.value,f.value,h.value,x.value,e.class],style:[I.value,a.value,d.value,p.value,e.style],"aria-busy":e.loading?!0:void 0,disabled:S.value&&M!=="a"||void 0,tabindex:e.loading||e.readonly?-1:void 0,onClick:R,value:k.value}),{default:()=>{var K;return[ca(!0,"v-btn"),!e.icon&&T&&ae("span",{key:"prepend",class:"v-btn__prepend"},[r.prepend?H(un,{key:"prepend-defaults",disabled:!e.prependIcon,defaults:{VIcon:{icon:e.prependIcon}}},r.prepend):H(Wn,{key:"prepend-icon",icon:e.prependIcon},null)]),ae("span",{class:"v-btn__content","data-no-activator":""},[!r.default&&$?H(Wn,{key:"content-icon",icon:e.icon},null):H(un,{key:"content-defaults",disabled:!$,defaults:{VIcon:{icon:e.icon}}},{default:()=>{var Z;return[((Z=r.default)==null?void 0:Z.call(r))??bn(e.text)]}})]),!e.icon&&O&&ae("span",{key:"append",class:"v-btn__append"},[r.append?H(un,{key:"append-defaults",disabled:!e.appendIcon,defaults:{VIcon:{icon:e.appendIcon}}},r.append):H(Wn,{key:"append-icon",icon:e.appendIcon},null)]),!!e.loading&&ae("span",{key:"loader",class:"v-btn__loader"},[((K=r.loader)==null?void 0:K.call(r))??H(eR,{color:typeof e.loading=="boolean"?void 0:e.loading,indeterminate:!0,width:"2"},null)])]}}),[[Wo,!S.value&&e.ripple,"",{center:!!e.icon}]])}),{group:m}}});function mu(e,t){return{x:e.x+t.x,y:e.y+t.y}}function vR(e,t){return{x:e.x-t.x,y:e.y-t.y}}function ig(e,t){if(e.side==="top"||e.side==="bottom"){const{side:n,align:r}=e,s=r==="left"?0:r==="center"?t.width/2:r==="right"?t.width:r,i=n==="top"?0:n==="bottom"?t.height:n;return mu({x:s,y:i},t)}else if(e.side==="left"||e.side==="right"){const{side:n,align:r}=e,s=n==="left"?0:n==="right"?t.width:n,i=r==="top"?0:r==="center"?t.height/2:r==="bottom"?t.height:r;return mu({x:s,y:i},t)}return mu({x:t.width/2,y:t.height/2},t)}const lS={static:bR,connected:ER},yR=ue({locationStrategy:{type:[String,Function],default:"static",validator:e=>typeof e=="function"||e in lS},location:{type:String,default:"bottom"},origin:{type:String,default:"auto"},offset:[Number,String,Array],stickToTarget:Boolean,viewportMargin:{type:[Number,String],default:12}},"VOverlay-location-strategies");function _R(e,t){const n=we({}),r=we();et&&Di(()=>!!(t.isActive.value&&e.locationStrategy),a=>{var c,l;Se(()=>e.locationStrategy,a),Ct(()=>{window.removeEventListener("resize",s),visualViewport==null||visualViewport.removeEventListener("resize",i),visualViewport==null||visualViewport.removeEventListener("scroll",o),r.value=void 0}),window.addEventListener("resize",s,{passive:!0}),visualViewport==null||visualViewport.addEventListener("resize",i,{passive:!0}),visualViewport==null||visualViewport.addEventListener("scroll",o,{passive:!0}),typeof e.locationStrategy=="function"?r.value=(c=e.locationStrategy(t,e,n))==null?void 0:c.updateLocation:r.value=(l=lS[e.locationStrategy](t,e,n))==null?void 0:l.updateLocation});function s(a){var c;(c=r.value)==null||c.call(r,a)}function i(a){var c;(c=r.value)==null||c.call(r,a)}function o(a){var c;(c=r.value)==null||c.call(r,a)}return{contentStyles:n,updateLocation:r}}function bR(){}function SR(e,t){const n=cb(e);return t?n.x+=parseFloat(e.style.right||0):n.x-=parseFloat(e.style.left||0),n.y-=parseFloat(e.style.top||0),n}function ER(e,t,n){(Array.isArray(e.target.value)||qT(e.target.value))&&Object.assign(n.value,{position:"fixed",top:0,[e.isRtl.value?"right":"left"]:0});const{preferredAnchor:s,preferredOrigin:i}=Hf(()=>{const g=ud(t.location,e.isRtl.value),y=t.origin==="overlap"?g:t.origin==="auto"?su(g):ud(t.origin,e.isRtl.value);return g.side===y.side&&g.align===iu(y).align?{preferredAnchor:cm(g),preferredOrigin:cm(y)}:{preferredAnchor:g,preferredOrigin:y}}),[o,a,c,l]=["minWidth","minHeight","maxWidth","maxHeight"].map(g=>j(()=>{const y=parseFloat(t[g]);return isNaN(y)?1/0:y})),d=j(()=>{if(Array.isArray(t.offset))return t.offset;if(typeof t.offset=="string"){const g=t.offset.split(" ").map(parseFloat);return g.length<2&&g.push(0),g}return typeof t.offset=="number"?[t.offset,0]:[0,0]});let u=!1,f=-1;const h=new oT(4),p=new ResizeObserver(()=>{if(!u)return;if(requestAnimationFrame(y=>{y!==f&&h.clear(),requestAnimationFrame(C=>{f=C})}),h.isFull){const y=h.values();if(gs(y.at(-1),y.at(-3))&&!gs(y.at(-1),y.at(-2)))return}const g=v();g&&h.push(g.flipped)});let m=new ln({x:0,y:0,width:0,height:0});Se(e.target,(g,y)=>{y&&!Array.isArray(y)&&p.unobserve(y),Array.isArray(g)?gs(g,y)||v():g&&p.observe(g)},{immediate:!0}),Se(e.contentEl,(g,y)=>{y&&p.unobserve(y),g&&p.observe(g)},{immediate:!0}),Ct(()=>{p.disconnect()});function v(){if(u=!1,requestAnimationFrame(()=>u=!0),!e.target.value||!e.contentEl.value)return;(Array.isArray(e.target.value)||e.target.value.offsetParent||e.target.value.getClientRects().length)&&(m=ab(e.target.value));const g=SR(e.contentEl.value,e.isRtl.value),y=Mc(e.contentEl.value),C=Number(t.viewportMargin);y.length||(y.push(document.documentElement),e.contentEl.value.style.top&&e.contentEl.value.style.left||(g.x-=parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-x")||0),g.y-=parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-y")||0)));const w=y.reduce((O,$)=>{const K=hT($);return O?new ln({x:Math.max(O.left,K.left),y:Math.max(O.top,K.top),width:Math.min(O.right,K.right)-Math.max(O.left,K.left),height:Math.min(O.bottom,K.bottom)-Math.max(O.top,K.top)}):K},void 0);t.stickToTarget?(w.x+=Math.min(C,m.x),w.y+=Math.min(C,m.y),w.width=Math.max(w.width-C*2,m.x+m.width-C),w.height=Math.max(w.height-C*2,m.y+m.height-C)):(w.x+=C,w.y+=C,w.width-=C*2,w.height-=C*2);let I={anchor:s.value,origin:i.value};function x(O){const $=new ln(g),K=ig(O.anchor,m),Z=ig(O.origin,$);let{x:z,y:N}=vR(K,Z);switch(O.anchor.side){case"top":N-=d.value[0];break;case"bottom":N+=d.value[0];break;case"left":z-=d.value[0];break;case"right":z+=d.value[0];break}switch(O.anchor.align){case"top":N-=d.value[1];break;case"bottom":N+=d.value[1];break;case"left":z-=d.value[1];break;case"right":z+=d.value[1];break}return $.x+=z,$.y+=N,$.width=Math.min($.width,c.value),$.height=Math.min($.height,l.value),{overflows:um($,w),x:z,y:N}}let S=0,b=0;const k={x:0,y:0},R={x:!1,y:!1};let M=-1;for(;!(M++>10);){const{x:O,y:$,overflows:K}=x(I);S+=O,b+=$,g.x+=O,g.y+=$;{const Z=lm(I.anchor),z=K.x.before||K.x.after,N=K.y.before||K.y.after;let oe=!1;if(["x","y"].forEach(U=>{if(U==="x"&&z&&!R.x||U==="y"&&N&&!R.y){const J={anchor:{...I.anchor},origin:{...I.origin}},re=U==="x"?Z==="y"?iu:su:Z==="y"?su:iu;J.anchor=re(J.anchor),J.origin=re(J.origin);const{overflows:ie}=x(J);(ie[U].before<=K[U].before&&ie[U].after<=K[U].after||ie[U].before+ie[U].after<(K[U].before+K[U].after)/2)&&(I=J,oe=R[U]=!0)}}),oe)continue}K.x.before&&(S+=K.x.before,g.x+=K.x.before),K.x.after&&(S-=K.x.after,g.x-=K.x.after),K.y.before&&(b+=K.y.before,g.y+=K.y.before),K.y.after&&(b-=K.y.after,g.y-=K.y.after);{const Z=um(g,w);k.x=w.width-Z.x.before-Z.x.after,k.y=w.height-Z.y.before-Z.y.after,S+=Z.x.before,g.x+=Z.x.before,b+=Z.y.before,g.y+=Z.y.before}break}const T=lm(I.anchor);return Object.assign(n.value,{"--v-overlay-anchor-origin":`${I.anchor.side} ${I.anchor.align}`,transformOrigin:`${I.origin.side} ${I.origin.align}`,top:ge(gu(b)),left:e.isRtl.value?void 0:ge(gu(S)),right:e.isRtl.value?ge(gu(-S)):void 0,minWidth:ge(T==="y"?Math.min(o.value,m.width):o.value),maxWidth:ge(og(cr(k.x,o.value===1/0?0:o.value,c.value))),maxHeight:ge(og(cr(k.y,a.value===1/0?0:a.value,l.value)))}),{available:k,contentBox:g,flipped:R}}return Se(()=>[s.value,i.value,t.offset,t.minWidth,t.minHeight,t.maxWidth,t.maxHeight],()=>v()),yt(()=>{const g=v();if(!g)return;const{available:y,contentBox:C}=g;C.height>y.y&&requestAnimationFrame(()=>{v(),requestAnimationFrame(()=>{v()})})}),{updateLocation:v}}function gu(e){return Math.round(e*devicePixelRatio)/devicePixelRatio}function og(e){return Math.ceil(e*devicePixelRatio)/devicePixelRatio}let wd=!0;const Fc=[];function wR(e){!wd||Fc.length?(Fc.push(e),Cd()):(wd=!1,e(),Cd())}let ag=-1;function Cd(){cancelAnimationFrame(ag),ag=requestAnimationFrame(()=>{const e=Fc.shift();e&&e(),Fc.length?Cd():wd=!0})}const tc={none:null,close:kR,block:IR,reposition:xR},CR=ue({scrollStrategy:{type:[String,Function],default:"block",validator:e=>typeof e=="function"||e in tc}},"VOverlay-scroll-strategies");function TR(e,t){if(!et)return;let n;hn(async()=>{n==null||n.stop(),t.isActive.value&&e.scrollStrategy&&(n=Es(),await new Promise(r=>setTimeout(r)),n.active&&n.run(()=>{var r;typeof e.scrollStrategy=="function"?e.scrollStrategy(t,e,n):(r=tc[e.scrollStrategy])==null||r.call(tc,t,e,n)}))}),Ct(()=>{n==null||n.stop()})}function kR(e){function t(n){e.isActive.value=!1}uS(sh(e.target.value,e.contentEl.value),t)}function IR(e,t){var a;const n=(a=e.root.value)==null?void 0:a.offsetParent,r=sh(e.target.value,e.contentEl.value),s=[...new Set([...Mc(r,t.contained?n:void 0),...Mc(e.contentEl.value,t.contained?n:void 0)])].filter(c=>!c.classList.contains("v-overlay-scroll-blocked")),i=window.innerWidth-document.documentElement.offsetWidth,o=(c=>jf(c)&&c)(n||document.documentElement);o&&e.root.value.classList.add("v-overlay--scroll-blocked"),s.forEach((c,l)=>{c.style.setProperty("--v-body-scroll-x",ge(-c.scrollLeft)),c.style.setProperty("--v-body-scroll-y",ge(-c.scrollTop)),c!==document.documentElement&&c.style.setProperty("--v-scrollbar-offset",ge(i)),c.classList.add("v-overlay-scroll-blocked")}),Ct(()=>{s.forEach((c,l)=>{const d=parseFloat(c.style.getPropertyValue("--v-body-scroll-x")),u=parseFloat(c.style.getPropertyValue("--v-body-scroll-y")),f=c.style.scrollBehavior;c.style.scrollBehavior="auto",c.style.removeProperty("--v-body-scroll-x"),c.style.removeProperty("--v-body-scroll-y"),c.style.removeProperty("--v-scrollbar-offset"),c.classList.remove("v-overlay-scroll-blocked"),c.scrollLeft=-d,c.scrollTop=-u,c.style.scrollBehavior=f}),o&&e.root.value.classList.remove("v-overlay--scroll-blocked")})}function xR(e,t,n){let r=!1,s=-1,i=-1;function o(a){wR(()=>{var d,u;const c=performance.now();(u=(d=e.updateLocation).value)==null||u.call(d,a),r=(performance.now()-c)/(1e3/60)>2})}i=(typeof requestIdleCallback>"u"?a=>a():requestIdleCallback)(()=>{n.run(()=>{uS(sh(e.target.value,e.contentEl.value),a=>{r?(cancelAnimationFrame(s),s=requestAnimationFrame(()=>{s=requestAnimationFrame(()=>{o(a)})})):o(a)})})}),Ct(()=>{typeof cancelIdleCallback<"u"&&cancelIdleCallback(i),cancelAnimationFrame(s)})}function sh(e,t){return Array.isArray(e)?document.elementsFromPoint(...e).find(n=>!(t!=null&&t.contains(n))):e??t}function uS(e,t){const n=[document,...Mc(e)];n.forEach(r=>{r.addEventListener("scroll",t,{passive:!0})}),Ct(()=>{n.forEach(r=>{r.removeEventListener("scroll",t)})})}const RR=Symbol.for("vuetify:v-menu"),AR=ue({closeDelay:[Number,String],openDelay:[Number,String]},"delay");function MR(e,t){let n=()=>{};function r(o,a){n==null||n();const c=o?e.openDelay:e.closeDelay,l=Math.max((a==null?void 0:a.minDelay)??0,Number(c??0));return new Promise(d=>{n=uT(l,()=>{t==null||t(o),d(o)})})}function s(){return r(!0)}function i(o){return r(!1,o)}return{clearDelay:n,runOpenDelay:s,runCloseDelay:i}}const PR=ue({target:[String,Object],activator:[String,Object],activatorProps:{type:Object,default:()=>({})},openOnClick:{type:Boolean,default:void 0},openOnHover:Boolean,openOnFocus:{type:Boolean,default:void 0},closeOnContentClick:Boolean,...AR()},"VOverlay-activator");function OR(e,t){let{isActive:n,isTop:r,contentEl:s}=t;const i=mt("useActivator"),o=we();let a=!1,c=!1,l=!0;const d=j(()=>e.openOnFocus||e.openOnFocus==null&&e.openOnHover),u=j(()=>e.openOnClick||e.openOnClick==null&&!e.openOnHover&&!d.value),{runOpenDelay:f,runCloseDelay:h}=MR(e,b=>{b===(e.openOnHover&&a||d.value&&c)&&!(e.openOnHover&&n.value&&!r.value)&&(n.value!==b&&(l=!0),n.value=b)}),p=we(),m={onClick:b=>{b.stopPropagation(),o.value=b.currentTarget||b.target,n.value||(p.value=[b.clientX,b.clientY]),n.value=!n.value},onMouseenter:b=>{a=!0,o.value=b.currentTarget||b.target,f()},onMouseleave:b=>{a=!1,h()},onFocus:b=>{cT(b.target,":focus-visible")!==!1&&(c=!0,b.stopPropagation(),o.value=b.currentTarget||b.target,f())},onBlur:b=>{c=!1,b.stopPropagation(),h({minDelay:1})}},v=j(()=>{const b={};return u.value&&(b.onClick=m.onClick),e.openOnHover&&(b.onMouseenter=m.onMouseenter,b.onMouseleave=m.onMouseleave),d.value&&(b.onFocus=m.onFocus,b.onBlur=m.onBlur),b}),g=j(()=>{const b={};if(e.openOnHover&&(b.onMouseenter=()=>{a=!0,f()},b.onMouseleave=()=>{a=!1,h()}),d.value&&(b.onFocusin=k=>{k.target.matches(":focus-visible")&&(c=!0,f())},b.onFocusout=()=>{c=!1,h({minDelay:1})}),e.closeOnContentClick){const k=Ne(RR,null);b.onClick=()=>{n.value=!1,k==null||k.closeParents()}}return b}),y=j(()=>{const b={};return e.openOnHover&&(b.onMouseenter=()=>{l&&(a=!0,l=!1,f())},b.onMouseleave=()=>{a=!1,h()}),b});Se(r,b=>{var k;b&&(e.openOnHover&&!a&&(!d.value||!c)||d.value&&!c&&(!e.openOnHover||!a))&&!((k=s.value)!=null&&k.contains(document.activeElement))&&(n.value=!1)}),Se(n,b=>{b||setTimeout(()=>{p.value=void 0})},{flush:"post"});const C=ld();hn(()=>{C.value&&yt(()=>{o.value=C.el})});const w=ld(),I=j(()=>e.target==="cursor"&&p.value?p.value:w.value?w.el:dS(e.target,i)||o.value),x=j(()=>Array.isArray(I.value)?void 0:I.value);let S;return Se(()=>!!e.activator,b=>{b&&et?(S=Es(),S.run(()=>{LR(e,i,{activatorEl:o,activatorEvents:v})})):S&&S.stop()},{flush:"post",immediate:!0}),Ct(()=>{S==null||S.stop()}),{activatorEl:o,activatorRef:C,target:I,targetEl:x,targetRef:w,activatorEvents:v,contentEvents:g,scrimEvents:y}}function LR(e,t,n){let{activatorEl:r,activatorEvents:s}=n;Se(()=>e.activator,(c,l)=>{if(l&&c!==l){const d=a(l);d&&o(d)}c&&yt(()=>i())},{immediate:!0}),Se(()=>e.activatorProps,()=>{i()}),Ct(()=>{o()});function i(){let c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:a(),l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e.activatorProps;c&&pT(c,Je(s.value,l))}function o(){let c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:a(),l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e.activatorProps;c&&mT(c,Je(s.value,l))}function a(){let c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:e.activator;const l=dS(c,t);return r.value=(l==null?void 0:l.nodeType)===Node.ELEMENT_NODE?l:void 0,r.value}}function dS(e,t){var r,s;if(!e)return;let n;if(e==="parent"){let i=(s=(r=t==null?void 0:t.proxy)==null?void 0:r.$el)==null?void 0:s.parentNode;for(;i!=null&&i.hasAttribute("data-no-activator");)i=i.parentNode;n=i}else typeof e=="string"?n=document.querySelector(e):"$el"in e?n=e.$el:n=e;return n}const NR=ue({retainFocus:Boolean,captureFocus:Boolean,disableInitialFocus:Boolean},"focusTrap"),nc=new Map;let cg=0;function lg(e){const t=document.activeElement;if(e.key!=="Tab"||!t)return;const n=Array.from(nc.values()).filter(l=>{var f;let{isActive:d,contentEl:u}=l;return d.value&&((f=u.value)==null?void 0:f.contains(t))}).map(l=>l.contentEl.value);let r,s=t.parentElement;for(;s;){if(n.includes(s)){r=s;break}s=s.parentElement}if(!r)return;const i=_o(r).filter(l=>l.tabIndex>=0);if(!i.length)return;const o=document.activeElement;if(i.length===1&&i[0].classList.contains("v-list")&&i[0].contains(o)){e.preventDefault();return}const a=i[0],c=i[i.length-1];e.shiftKey&&(o===a||a.classList.contains("v-list")&&a.contains(o))&&(e.preventDefault(),c.focus()),!e.shiftKey&&(o===c||c.classList.contains("v-list")&&c.contains(o))&&(e.preventDefault(),a.focus())}function DR(e,t){let{isActive:n,localTop:r,activatorEl:s,contentEl:i}=t;const o=Symbol("trap");let a=!1,c=-1;async function l(){a=!0,c=window.setTimeout(()=>{a=!1},100)}async function d(h){var v;const p=h.relatedTarget,m=h.target;document.removeEventListener("pointerdown",l),document.removeEventListener("keydown",u),await yt(),n.value&&!a&&p!==m&&i.value&&vt(r)&&![document,i.value].includes(m)&&!i.value.contains(m)&&((v=_o(i.value)[0])==null||v.focus())}function u(h){if(h.key==="Tab"&&(document.removeEventListener("keydown",u),n.value&&i.value&&h.target&&!i.value.contains(h.target))){const p=_o(document.documentElement);if(h.shiftKey&&h.target===p.at(0)||!h.shiftKey&&h.target===p.at(-1)){const m=_o(i.value);m.length>0&&(h.preventDefault(),m[0].focus())}}}const f=ee(()=>n.value&&e.captureFocus&&!e.disableInitialFocus);et&&(Se(()=>e.retainFocus,h=>{h?nc.set(o,{isActive:n,contentEl:i}):nc.delete(o)},{immediate:!0}),Se(f,h=>{h?(document.addEventListener("pointerdown",l),document.addEventListener("focusin",d,{once:!0}),document.addEventListener("keydown",u)):(document.removeEventListener("pointerdown",l),document.removeEventListener("focusin",d),document.removeEventListener("keydown",u))},{immediate:!0}),cg++<1&&document.addEventListener("keydown",lg)),Ct(()=>{nc.delete(o),clearTimeout(c),document.removeEventListener("pointerdown",l),document.removeEventListener("focusin",d),document.removeEventListener("keydown",u),--cg<1&&document.removeEventListener("keydown",lg)})}function FR(){if(!et)return be(!1);const{ssr:e}=qk();if(e){const t=be(!1);return gr(()=>{t.value=!0}),t}else return be(!0)}const $R=ue({eager:Boolean},"lazy");function BR(e,t){const n=be(!1),r=ee(()=>n.value||e.eager||t.value);Se(t,()=>n.value=!0);function s(){e.eager||(n.value=!1)}return{isBooted:n,hasContent:r,onAfterLeave:s}}function ih(){const t=mt("useScopeId").vnode.scopeId;return{scopeId:t?{[t]:""}:void 0}}const ug=Symbol.for("vuetify:stack"),so=pt([]);function HR(e,t,n){const r=mt("useStack"),s=!n,i=Ne(ug,void 0),o=pt({activeChildren:new Set});Mt(ug,o);const a=be(Number(vt(t)));Di(e,()=>{var u;const d=(u=so.at(-1))==null?void 0:u[1];a.value=d?d+10:Number(vt(t)),s&&so.push([r.uid,a.value]),i==null||i.activeChildren.add(r.uid),Ct(()=>{if(s){const f=fe(so).findIndex(h=>h[0]===r.uid);so.splice(f,1)}i==null||i.activeChildren.delete(r.uid)})});const c=be(!0);return s&&hn(()=>{var u;const d=((u=so.at(-1))==null?void 0:u[0])===r.uid;setTimeout(()=>c.value=d)}),{globalTop:hi(c),localTop:ee(()=>!o.activeChildren.size),stackStyles:ee(()=>({zIndex:a.value}))}}function VR(e){return{teleportTarget:j(()=>{const n=e();if(n===!0||!et)return;const r=n===!1?document.body:typeof n=="string"?document.querySelector(n):n;if(r==null)return;let s=[...r.children].find(i=>i.matches(".v-overlay-container"));return s||(s=document.createElement("div"),s.className="v-overlay-container",r.appendChild(s)),s})}}const fS=ue({transition:{type:null,default:"fade-transition",validator:e=>e!==!0}},"transition"),Qs=(e,t)=>{let{slots:n}=t;const{transition:r,disabled:s,group:i,...o}=e,{component:a=i?Nf:Hr,...c}=cd(r)?r:{};let l;return cd(r)?l=Je(c,dT({disabled:s,group:i}),o):l=Je({name:s||!r?"":r},o),qr(a,l,n)};function UR(){return!0}function hS(e,t,n){if(!e||pS(e,n)===!1)return!1;const r=pb(t);if(typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&r.host===e.target)return!1;const s=(typeof n.value=="object"&&n.value.include||(()=>[]))();return s.push(t),!s.some(i=>i==null?void 0:i.contains(e.target))}function pS(e,t){return(typeof t.value=="object"&&t.value.closeConditional||UR)(e)}function WR(e,t,n){const r=typeof n.value=="function"?n.value:n.value.handler;e.shadowTarget=e.target,t._clickOutside.lastMousedownWasOutside&&hS(e,t,n)&&setTimeout(()=>{pS(e,n)&&r&&r(e)},0)}function dg(e,t){const n=pb(e);t(document),typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&t(n)}const fg={mounted(e,t){const n=s=>WR(s,e,t),r=s=>{e._clickOutside.lastMousedownWasOutside=hS(s,e,t)};dg(e,s=>{s.addEventListener("click",n,!0),s.addEventListener("mousedown",r,!0)}),e._clickOutside||(e._clickOutside={lastMousedownWasOutside:!1}),e._clickOutside[t.instance.$.uid]={onClick:n,onMousedown:r}},beforeUnmount(e,t){e._clickOutside&&(dg(e,n=>{var i;if(!n||!((i=e._clickOutside)!=null&&i[t.instance.$.uid]))return;const{onClick:r,onMousedown:s}=e._clickOutside[t.instance.$.uid];n.removeEventListener("click",r,!0),n.removeEventListener("mousedown",s,!0)}),delete e._clickOutside[t.instance.$.uid])}};function jR(e){const{modelValue:t,color:n,...r}=e;return H(Hr,{name:"fade-transition",appear:!0},{default:()=>[e.modelValue&&ae("div",Je({class:["v-overlay__scrim",e.color.backgroundColorClasses.value],style:e.color.backgroundColorStyles.value},r),null)]})}const oh=ue({absolute:Boolean,attach:[Boolean,String,Object],closeOnBack:{type:Boolean,default:!0},contained:Boolean,contentClass:null,contentProps:null,disabled:Boolean,opacity:[Number,String],noClickAnimation:Boolean,modelValue:Boolean,persistent:Boolean,scrim:{type:[Boolean,String],default:!0},zIndex:{type:[Number,String],default:2e3},...PR(),...ct(),...Hi(),...$R(),...yR(),...CR(),...NR(),...nn(),...fS()},"VOverlay"),$c=$e()({name:"VOverlay",directives:{vClickOutside:fg},inheritAttrs:!1,props:{_disableGlobalStack:Boolean,...As(oh(),["disableInitialFocus"])},emits:{"click:outside":e=>!0,"update:modelValue":e=>!0,keydown:e=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(e,t){let{slots:n,attrs:r,emit:s}=t;const i=mt("VOverlay"),o=we(),a=we(),c=we(),l=Un(e,"modelValue"),d=j({get:()=>l.value,set:P=>{P&&e.disabled||(l.value=P)}}),{themeClasses:u}=mn(e),{rtlClasses:f,isRtl:h}=sa(),{hasContent:p,onAfterLeave:m}=BR(e,d),v=li(()=>typeof e.scrim=="string"?e.scrim:null),{globalTop:g,localTop:y,stackStyles:C}=HR(d,()=>e.zIndex,e._disableGlobalStack),{activatorEl:w,activatorRef:I,target:x,targetEl:S,targetRef:b,activatorEvents:k,contentEvents:R,scrimEvents:M}=OR(e,{isActive:d,isTop:y,contentEl:c}),{teleportTarget:T}=VR(()=>{var X,G,de;const P=e.attach||e.contained;if(P)return P;const W=((X=w==null?void 0:w.value)==null?void 0:X.getRootNode())||((de=(G=i.proxy)==null?void 0:G.$el)==null?void 0:de.getRootNode());return W instanceof ShadowRoot?W:!1}),{dimensionStyles:O}=Vi(e),$=FR(),{scopeId:K}=ih();Se(()=>e.disabled,P=>{P&&(d.value=!1)});const{contentStyles:Z,updateLocation:z}=_R(e,{isRtl:h,contentEl:c,target:x,isActive:d});TR(e,{root:o,contentEl:c,targetEl:S,target:x,isActive:d,updateLocation:z});function N(P){s("click:outside",P),e.persistent?Ee():d.value=!1}function oe(P){return d.value&&y.value&&(!e.scrim||P.target===a.value||P instanceof MouseEvent&&P.shadowTarget===a.value)}DR(e,{isActive:d,localTop:y,contentEl:c,activatorEl:w}),et&&Se(d,P=>{P?window.addEventListener("keydown",U):window.removeEventListener("keydown",U)},{immediate:!0}),kn(()=>{et&&window.removeEventListener("keydown",U)});function U(P){var W,X,G;P.key==="Escape"&&g.value&&((W=c.value)!=null&&W.contains(document.activeElement)||s("keydown",P),e.persistent?Ee():(d.value=!1,(X=c.value)!=null&&X.contains(document.activeElement)&&((G=w.value)==null||G.focus())))}function J(P){P.key==="Escape"&&!g.value||s("keydown",P)}const re=aR();Di(()=>e.closeOnBack,()=>{cR(re,P=>{g.value&&d.value?(P(!1),e.persistent?Ee():d.value=!1):P()})});const ie=we();Se(()=>d.value&&(e.absolute||e.contained)&&T.value==null,P=>{if(P){const W=jT(o.value);W&&W!==document.scrollingElement&&(ie.value=W.scrollTop)}});function Ee(){e.noClickAnimation||c.value&&ss(c.value,[{transformOrigin:"center"},{transform:"scale(1.03)"},{transformOrigin:"center"}],{duration:150,easing:fd})}function Me(){s("afterEnter")}function De(){m(),s("afterLeave")}return tt(()=>{var P;return ae(Qe,null,[(P=n.activator)==null?void 0:P.call(n,{isActive:d.value,targetRef:b,props:Je({ref:I},k.value,e.activatorProps)}),$.value&&p.value&&H(C1,{disabled:!T.value,to:T.value},{default:()=>[ae("div",Je({class:["v-overlay",{"v-overlay--absolute":e.absolute||e.contained,"v-overlay--active":d.value,"v-overlay--contained":e.contained},u.value,f.value,e.class],style:[C.value,{"--v-overlay-opacity":e.opacity,top:ge(ie.value)},e.style],ref:o,onKeydown:J},K,r),[H(jR,Je({color:v,modelValue:d.value&&!!e.scrim,ref:a},M.value),null),H(Qs,{appear:!0,persisted:!0,transition:e.transition,target:x.value,onAfterEnter:Me,onAfterLeave:De},{default:()=>{var W;return[ws(ae("div",Je({ref:c,class:["v-overlay__content",e.contentClass],style:[O.value,Z.value]},R.value,e.contentProps),[(W=n.default)==null?void 0:W.call(n,{isActive:d})]),[[Lf,d.value],[fg,{handler:N,closeConditional:oe,include:()=>[w.value]}]])]}})])]})])}),{activatorEl:w,scrimEl:a,target:x,animateClick:Ee,contentEl:c,rootEl:o,globalTop:g,localTop:y,updateLocation:z}}}),vu=Symbol("Forwarded refs");function yu(e,t){let n=e;for(;n;){const r=Reflect.getOwnPropertyDescriptor(n,t);if(r)return r;n=Object.getPrototypeOf(n)}}function mS(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;rt.value=e())}function i(o){const a=o?getComputedStyle(o):{transitionDuration:.2},c=parseFloat(a.transitionDuration)*1e3||200;if(r(),t.value<=0)return;const l=performance.now();n=window.setInterval(()=>{const d=performance.now()-l+c;t.value=Math.max(e()-d,0),t.value<=0&&r()},c)}return Ct(r),{clear:r,time:t,start:i,reset:s}}const qR=ue({multiLine:Boolean,text:String,timer:[Boolean,String],timeout:{type:[Number,String],default:5e3},vertical:Boolean,...Il({location:"bottom"}),...eh(),...yr(),...Ps(),...nn(),...As(oh({transition:"v-snackbar-transition"}),["persistent","noClickAnimation","retainFocus","captureFocus","disableInitialFocus","scrim","scrollStrategy","stickToTarget","viewportMargin"])},"VSnackbar"),GR=$e()({name:"VSnackbar",props:qR(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:n}=t;const r=Un(e,"modelValue"),{positionClasses:s}=th(e),{scopeId:i}=ih(),{themeClasses:o}=mn(e),{colorClasses:a,colorStyles:c,variantClasses:l}=la(e),{roundedClasses:d}=_r(e),u=zR(()=>Number(e.timeout)),f=we(),h=we(),p=be(!1),m=be(0),v=we(),g=Ne(Bo,void 0);Di(()=>!!g,()=>{const M=iI();hn(()=>{v.value=M.mainStyles.value})}),Se(r,C),Se(()=>e.timeout,C),gr(()=>{r.value&&C()});let y=-1;function C(){u.reset(),window.clearTimeout(y);const M=Number(e.timeout);if(!r.value||M===-1)return;const T=Ff(h.value);u.start(T),y=window.setTimeout(()=>{r.value=!1},M)}function w(){u.reset(),window.clearTimeout(y)}function I(){p.value=!0,w()}function x(){p.value=!1,C()}function S(M){m.value=M.touches[0].clientY}function b(M){Math.abs(m.value-M.changedTouches[0].clientY)>50&&(r.value=!1)}function k(){p.value&&x()}const R=j(()=>e.location.split(" ").reduce((M,T)=>(M[`v-snackbar--${T}`]=!0,M),{}));return tt(()=>{const M=$c.filterProps(e),T=!!(n.default||n.text||e.text);return H($c,Je({ref:f,class:["v-snackbar",{"v-snackbar--active":r.value,"v-snackbar--multi-line":e.multiLine&&!e.vertical,"v-snackbar--timer":!!e.timer,"v-snackbar--vertical":e.vertical},R.value,s.value,e.class],style:[v.value,e.style]},M,{modelValue:r.value,"onUpdate:modelValue":O=>r.value=O,contentProps:Je({class:["v-snackbar__wrapper",o.value,a.value,d.value,l.value],style:[c.value],onPointerenter:I,onPointerleave:x},M.contentProps),persistent:!0,noClickAnimation:!0,scrim:!1,scrollStrategy:"none",_disableGlobalStack:!0,onTouchstartPassive:S,onTouchend:b,onAfterLeave:k},i),{default:()=>{var O,$;return[ca(!1,"v-snackbar"),e.timer&&!p.value&&ae("div",{key:"timer",class:"v-snackbar__timer"},[H(Zb,{ref:h,color:typeof e.timer=="string"?e.timer:"info",max:e.timeout,modelValue:u.time.value},null)]),T&&ae("div",{key:"content",class:"v-snackbar__content",role:"status","aria-live":"polite"},[((O=n.text)==null?void 0:O.call(n))??e.text,($=n.default)==null?void 0:$.call(n)]),n.actions&&H(un,{defaults:{VBtn:{variant:"text",ripple:!1,slim:!0}}},{default:()=>[ae("div",{class:"v-snackbar__actions"},[n.actions({isActive:r})])]})]},activator:n.activator})}),mS({},f)}}),KR=fl({name:"GlobalMessage",setup(){var i;const e=we(!1),t=we(null),n={success:"mdi-check-circle",error:"mdi-alert-circle",warning:"mdi-alert",info:"mdi-information"},r={success:"success",error:"error",warning:"warning",info:"info"},s=(i=Ys==null?void 0:Ys.onSnackbar)==null?void 0:i.call(Ys,async o=>{o&&(e.value&&(e.value=!1,await yt()),t.value=o,e.value=!0)});return kn(()=>s==null?void 0:s()),{snackbar:e,message:t,icons:n,colors:r}}}),YR={class:"d-flex align-center"},XR={class:"text-subtitle-2 font-weight-medium"},JR={key:0,class:"text-body-2"};function ZR(e,t,n,r,s,i){var o;return cn(),$n(GR,{modelValue:e.snackbar,"onUpdate:modelValue":t[1]||(t[1]=a=>e.snackbar=a),color:e.colors[(o=e.message)==null?void 0:o.type]||e.colors.info,timeout:2e3,location:"top right","multi-line":"",variant:"tonal"},{actions:gt(()=>[H(cS,{icon:"mdi-close",variant:"text",onClick:t[0]||(t[0]=a=>e.snackbar=!1)})]),default:gt(()=>{var a,c,l,d;return[ae("div",YR,[H(Wn,{icon:e.icons[(a=e.message)==null?void 0:a.type]||e.icons.info,class:"mr-2"},null,8,["icon"]),ae("div",null,[ae("div",XR,bn((c=e.message)==null?void 0:c.title),1),(l=e.message)!=null&&l.content?(cn(),F_("div",JR,bn((d=e.message)==null?void 0:d.content),1)):rd("",!0)])])]}),_:1},8,["modelValue","color"])}const gS=Gb(KR,[["render",ZR]]),QR=ue({...ct(),...Pt()},"VCardActions"),vS=$e()({name:"VCardActions",props:QR(),setup(e,t){let{slots:n}=t;return _l({VBtn:{slim:!0,variant:"text"}}),tt(()=>H(e.tag,{class:Le(["v-card-actions",e.class]),style:Xe(e.style)},n)),{}}}),eA=ue({opacity:[Number,String],...ct(),...Pt()},"VCardSubtitle"),tA=$e()({name:"VCardSubtitle",props:eA(),setup(e,t){let{slots:n}=t;return tt(()=>H(e.tag,{class:Le(["v-card-subtitle",e.class]),style:Xe([{"--v-card-subtitle-opacity":e.opacity},e.style])},n)),{}}}),yS=Wf("v-card-title");function nA(e){return{aspectStyles:j(()=>{const t=Number(e.aspectRatio);return t?{paddingBottom:String(1/t*100)+"%"}:void 0})}}const _S=ue({aspectRatio:[String,Number],contentClass:null,inline:Boolean,...ct(),...Hi()},"VResponsive"),hg=$e()({name:"VResponsive",props:_S(),setup(e,t){let{slots:n}=t;const{aspectStyles:r}=nA(e),{dimensionStyles:s}=Vi(e);return tt(()=>{var i;return ae("div",{class:Le(["v-responsive",{"v-responsive--inline":e.inline},e.class]),style:Xe([s.value,e.style])},[ae("div",{class:"v-responsive__sizer",style:Xe(r.value)},null),(i=n.additional)==null?void 0:i.call(n),n.default&&ae("div",{class:Le(["v-responsive__content",e.contentClass])},[n.default()])])}),{}}});function pg(e,t){if(!Df)return;const n=t.modifiers||{},r=t.value,{handler:s,options:i}=typeof r=="object"?r:{handler:r,options:{}},o=new IntersectionObserver(function(){var u;let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],c=arguments.length>1?arguments[1]:void 0;const l=(u=e._observe)==null?void 0:u[t.instance.$.uid];if(!l)return;const d=a.some(f=>f.isIntersecting);s&&(!n.quiet||l.init)&&(!n.once||d||l.init)&&s(d,a,c),d&&n.once?Td(e,t):l.init=!0},i);e._observe=Object(e._observe),e._observe[t.instance.$.uid]={init:!1,observer:o},o.observe(e)}function Td(e,t){var r;const n=(r=e._observe)==null?void 0:r[t.instance.$.uid];n&&(n.observer.unobserve(e),delete e._observe[t.instance.$.uid])}const mg={mounted:pg,unmounted:Td,updated:(e,t)=>{var n;(n=e._observe)!=null&&n[t.instance.$.uid]&&(Td(e,t),pg(e,t))}},rA=ue({absolute:Boolean,alt:String,cover:Boolean,color:String,draggable:{type:[Boolean,String],default:void 0},eager:Boolean,gradient:String,imageClass:null,lazySrc:String,options:{type:Object,default:()=>({root:void 0,rootMargin:void 0,threshold:void 0})},sizes:String,src:{type:[String,Object],default:""},crossorigin:String,referrerpolicy:String,srcset:String,position:String,..._S(),...ct(),...yr(),...fS()},"VImg"),bS=$e()({name:"VImg",directives:{vIntersect:mg},props:rA(),emits:{loadstart:e=>!0,load:e=>!0,error:e=>!0},setup(e,t){let{emit:n,slots:r}=t;const{backgroundColorClasses:s,backgroundColorStyles:i}=li(()=>e.color),{roundedClasses:o}=_r(e),a=mt("VImg"),c=be(""),l=we(),d=be(e.eager?"loading":"idle"),u=be(),f=be(),h=j(()=>e.src&&typeof e.src=="object"?{src:e.src.src,srcset:e.srcset||e.src.srcset,lazySrc:e.lazySrc||e.src.lazySrc,aspect:Number(e.aspectRatio||e.src.aspect||0)}:{src:e.src,srcset:e.srcset,lazySrc:e.lazySrc,aspect:Number(e.aspectRatio||0)}),p=j(()=>h.value.aspect||u.value/f.value||0);Se(()=>e.src,()=>{m(d.value!=="idle")}),Se(p,(T,O)=>{!T&&O&&l.value&&w(l.value)}),gl(()=>m());function m(T){if(!(e.eager&&T)&&!(Df&&!T&&!e.eager)){if(d.value="loading",h.value.lazySrc){const O=new Image;O.src=h.value.lazySrc,w(O,null)}h.value.src&&yt(()=>{var O;n("loadstart",((O=l.value)==null?void 0:O.currentSrc)||h.value.src),setTimeout(()=>{var $;if(!a.isUnmounted)if(($=l.value)!=null&&$.complete){if(l.value.naturalWidth||g(),d.value==="error")return;p.value||w(l.value,null),d.value==="loading"&&v()}else p.value||w(l.value),y()})})}}function v(){var T;a.isUnmounted||(y(),w(l.value),d.value="loaded",n("load",((T=l.value)==null?void 0:T.currentSrc)||h.value.src))}function g(){var T;a.isUnmounted||(d.value="error",n("error",((T=l.value)==null?void 0:T.currentSrc)||h.value.src))}function y(){const T=l.value;T&&(c.value=T.currentSrc||T.src)}let C=-1;kn(()=>{clearTimeout(C)});function w(T){let O=arguments.length>1&&arguments[1]!==void 0?arguments[1]:100;const $=()=>{if(clearTimeout(C),a.isUnmounted)return;const{naturalHeight:K,naturalWidth:Z}=T;K||Z?(u.value=Z,f.value=K):!T.complete&&d.value==="loading"&&O!=null?C=window.setTimeout($,O):(T.currentSrc.endsWith(".svg")||T.currentSrc.startsWith("data:image/svg+xml"))&&(u.value=1,f.value=1)};$()}const I=ee(()=>({"v-img__img--cover":e.cover,"v-img__img--contain":!e.cover})),x=()=>{var $;if(!h.value.src||d.value==="idle")return null;const T=ae("img",{class:Le(["v-img__img",I.value,e.imageClass]),style:{objectPosition:e.position},crossorigin:e.crossorigin,src:h.value.src,srcset:h.value.srcset,alt:e.alt,referrerpolicy:e.referrerpolicy,draggable:e.draggable,sizes:e.sizes,ref:l,onLoad:v,onError:g},null),O=($=r.sources)==null?void 0:$.call(r);return H(Qs,{transition:e.transition,appear:!0},{default:()=>[ws(O?ae("picture",{class:"v-img__picture"},[O,T]):T,[[Lf,d.value==="loaded"]])]})},S=()=>H(Qs,{transition:e.transition},{default:()=>[h.value.lazySrc&&d.value!=="loaded"&&ae("img",{class:Le(["v-img__img","v-img__img--preload",I.value]),style:{objectPosition:e.position},crossorigin:e.crossorigin,src:h.value.lazySrc,alt:e.alt,referrerpolicy:e.referrerpolicy,draggable:e.draggable},null)]}),b=()=>r.placeholder?H(Qs,{transition:e.transition,appear:!0},{default:()=>[(d.value==="loading"||d.value==="error"&&!r.error)&&ae("div",{class:"v-img__placeholder"},[r.placeholder()])]}):null,k=()=>r.error?H(Qs,{transition:e.transition,appear:!0},{default:()=>[d.value==="error"&&ae("div",{class:"v-img__error"},[r.error()])]}):null,R=()=>e.gradient?ae("div",{class:"v-img__gradient",style:{backgroundImage:`linear-gradient(${e.gradient})`}},null):null,M=be(!1);{const T=Se(p,O=>{O&&(requestAnimationFrame(()=>{requestAnimationFrame(()=>{M.value=!0})}),T())})}return tt(()=>{const T=hg.filterProps(e);return ws(H(hg,Je({class:["v-img",{"v-img--absolute":e.absolute,"v-img--booting":!M.value,"v-img--fit-content":e.width==="fit-content"},s.value,o.value,e.class],style:[{width:ge(e.width==="auto"?u.value:e.width)},i.value,e.style]},T,{aspectRatio:p.value,"aria-label":e.alt,role:e.alt?"img":void 0}),{additional:()=>ae(Qe,null,[H(x,null,null),H(S,null,null),H(R,null,null),H(b,null,null),H(k,null,null)]),default:r.default}),[[mg,{handler:m,options:e.options},null,{once:!0}]])}),{currentSrc:c,image:l,state:d,naturalWidth:u,naturalHeight:f}}}),sA=ue({start:Boolean,end:Boolean,icon:Et,image:String,text:String,...Fi(),...ct(),...Ms(),...yr(),...Tl(),...Pt(),...nn(),...Ps({variant:"flat"})},"VAvatar"),Bc=$e()({name:"VAvatar",props:sA(),setup(e,t){let{slots:n}=t;const{themeClasses:r}=mn(e),{borderClasses:s}=$i(e),{colorClasses:i,colorStyles:o,variantClasses:a}=la(e),{densityClasses:c}=Bi(e),{roundedClasses:l}=_r(e),{sizeClasses:d,sizeStyles:u}=kl(e);return tt(()=>H(e.tag,{class:Le(["v-avatar",{"v-avatar--start":e.start,"v-avatar--end":e.end},r.value,s.value,i.value,c.value,l.value,d.value,a.value,e.class]),style:Xe([o.value,u.value,e.style])},{default:()=>[n.default?H(un,{key:"content-defaults",defaults:{VImg:{cover:!0,src:e.image},VIcon:{icon:e.icon}}},{default:()=>[n.default()]}):e.image?H(bS,{key:"image",src:e.image,alt:"",cover:!0},null):e.icon?H(Wn,{key:"icon",icon:e.icon},null):e.text,ca(!1,"v-avatar")]})),{}}}),iA=ue({appendAvatar:String,appendIcon:Et,prependAvatar:String,prependIcon:Et,subtitle:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},...ct(),...Ms(),...Pt()},"VCardItem"),oA=$e()({name:"VCardItem",props:iA(),setup(e,t){let{slots:n}=t;return tt(()=>{const r=!!(e.prependAvatar||e.prependIcon),s=!!(r||n.prepend),i=!!(e.appendAvatar||e.appendIcon),o=!!(i||n.append),a=!!(e.title!=null||n.title),c=!!(e.subtitle!=null||n.subtitle);return H(e.tag,{class:Le(["v-card-item",e.class]),style:Xe(e.style)},{default:()=>{var l;return[s&&ae("div",{key:"prepend",class:"v-card-item__prepend"},[n.prepend?H(un,{key:"prepend-defaults",disabled:!r,defaults:{VAvatar:{density:e.density,image:e.prependAvatar},VIcon:{density:e.density,icon:e.prependIcon}}},n.prepend):ae(Qe,null,[e.prependAvatar&&H(Bc,{key:"prepend-avatar",density:e.density,image:e.prependAvatar},null),e.prependIcon&&H(Wn,{key:"prepend-icon",density:e.density,icon:e.prependIcon},null)])]),ae("div",{class:"v-card-item__content"},[a&&H(yS,{key:"title"},{default:()=>{var d;return[((d=n.title)==null?void 0:d.call(n))??bn(e.title)]}}),c&&H(tA,{key:"subtitle"},{default:()=>{var d;return[((d=n.subtitle)==null?void 0:d.call(n))??bn(e.subtitle)]}}),(l=n.default)==null?void 0:l.call(n)]),o&&ae("div",{key:"append",class:"v-card-item__append"},[n.append?H(un,{key:"append-defaults",disabled:!i,defaults:{VAvatar:{density:e.density,image:e.appendAvatar},VIcon:{density:e.density,icon:e.appendIcon}}},n.append):ae(Qe,null,[e.appendIcon&&H(Wn,{key:"append-icon",density:e.density,icon:e.appendIcon},null),e.appendAvatar&&H(Bc,{key:"append-avatar",density:e.density,image:e.appendAvatar},null)])])]}})}),{}}}),aA=ue({opacity:[Number,String],...ct(),...Pt()},"VCardText"),kd=$e()({name:"VCardText",props:aA(),setup(e,t){let{slots:n}=t;return tt(()=>H(e.tag,{class:Le(["v-card-text",e.class]),style:Xe([{"--v-card-text-opacity":e.opacity},e.style])},n)),{}}}),cA=ue({appendAvatar:String,appendIcon:Et,disabled:Boolean,flat:Boolean,hover:Boolean,image:String,link:{type:Boolean,default:void 0},prependAvatar:String,prependIcon:Et,ripple:{type:[Boolean,Object],default:!0},subtitle:{type:[String,Number,Boolean],default:void 0},text:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},...Fi(),...ct(),...Ms(),...Hi(),...oa(),...Qb(),...Il(),...eh(),...yr(),...rh(),...Pt(),...nn(),...Ps({variant:"elevated"})},"VCard"),gg=$e()({name:"VCard",directives:{vRipple:Wo},props:cA(),setup(e,t){let{attrs:n,slots:r}=t;const{themeClasses:s}=mn(e),{borderClasses:i}=$i(e),{colorClasses:o,colorStyles:a,variantClasses:c}=la(e),{densityClasses:l}=Bi(e),{dimensionStyles:d}=Vi(e),{elevationClasses:u}=aa(e),{loaderClasses:f}=eS(e),{locationStyles:h}=Qf(e),{positionClasses:p}=th(e),{roundedClasses:m}=_r(e),v=nh(e,n),g=be(void 0);return Se(()=>e.loading,(y,C)=>{g.value=!y&&typeof C=="string"?C:typeof y=="boolean"?void 0:y},{immediate:!0}),tt(()=>{const y=e.link!==!1&&v.isLink.value,C=!e.disabled&&e.link!==!1&&(e.link||v.isClickable.value),w=y?"a":e.tag,I=!!(r.title||e.title!=null),x=!!(r.subtitle||e.subtitle!=null),S=I||x,b=!!(r.append||e.appendAvatar||e.appendIcon),k=!!(r.prepend||e.prependAvatar||e.prependIcon),R=!!(r.image||e.image),M=S||k||b,T=!!(r.text||e.text!=null);return ws(H(w,Je(v.linkProps,{class:["v-card",{"v-card--disabled":e.disabled,"v-card--flat":e.flat,"v-card--hover":e.hover&&!(e.disabled||e.flat),"v-card--link":C},s.value,i.value,o.value,l.value,u.value,f.value,p.value,m.value,c.value,e.class],style:[a.value,d.value,h.value,{"--v-card-height":ge(e.height)},e.style],onClick:C&&v.navigate.value,tabindex:e.disabled?-1:void 0}),{default:()=>{var O;return[R&&ae("div",{key:"image",class:"v-card__image"},[r.image?H(un,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{cover:!0,src:e.image}}},r.image):H(bS,{key:"image-img",cover:!0,src:e.image},null)]),H(sR,{name:"v-card",active:!!e.loading,color:g.value},{default:r.loader}),M&&H(oA,{key:"item",prependAvatar:e.prependAvatar,prependIcon:e.prependIcon,title:e.title,subtitle:e.subtitle,appendAvatar:e.appendAvatar,appendIcon:e.appendIcon},{default:r.item,prepend:r.prepend,title:r.title,subtitle:r.subtitle,append:r.append}),T&&H(kd,{key:"text"},{default:()=>{var $;return[(($=r.text)==null?void 0:$.call(r))??e.text]}}),(O=r.default)==null?void 0:O.call(r),r.actions&&H(vS,null,{default:r.actions}),ca(C,"v-card")]}}),[[Wo,C&&e.ripple]])}),{}}}),lA=ue({disabled:Boolean,group:Boolean,hideOnLeave:Boolean,leaveAbsolute:Boolean,mode:String,origin:String},"transition");function rn(e,t,n){return $e()({name:e,props:lA({mode:n,origin:t}),setup(r,s){let{slots:i}=s;const o={onBeforeEnter(a){r.origin&&(a.style.transformOrigin=r.origin)},onLeave(a){if(r.leaveAbsolute){const{offsetTop:c,offsetLeft:l,offsetWidth:d,offsetHeight:u}=a;a._transitionInitialStyles={position:a.style.position,top:a.style.top,left:a.style.left,width:a.style.width,height:a.style.height},a.style.position="absolute",a.style.top=`${c}px`,a.style.left=`${l}px`,a.style.width=`${d}px`,a.style.height=`${u}px`}r.hideOnLeave&&a.style.setProperty("display","none","important")},onAfterLeave(a){if(r.leaveAbsolute&&(a!=null&&a._transitionInitialStyles)){const{position:c,top:l,left:d,width:u,height:f}=a._transitionInitialStyles;delete a._transitionInitialStyles,a.style.position=c||"",a.style.top=l||"",a.style.left=d||"",a.style.width=u||"",a.style.height=f||""}}};return()=>{const a=r.group?Nf:Hr;return qr(a,{name:r.disabled?"":e,css:!r.disabled,...r.group?void 0:{mode:r.mode},...r.disabled?{}:o},i.default)}}})}function ah(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"in-out";return $e()({name:e,props:{mode:{type:String,default:n},disabled:{type:Boolean,default:Lo()},group:Boolean,hideOnLeave:Boolean},setup(r,s){let{slots:i}=s;const o=r.group?Nf:Hr;return()=>qr(o,{name:r.disabled?"":e,css:!r.disabled,...r.disabled?{}:{...t,onLeave:a=>{var c;r.hideOnLeave?a.style.setProperty("display","none","important"):(c=t.onLeave)==null||c.call(t,a)}}},i.default)}})}function ch(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"y";return{onBeforeEnter(s){s._parent=s.parentNode,s._initialStyle={transition:s.style.transition,overflow:s.style.overflow,width:s.style.width,height:s.style.height}},onEnter(s){const i=s._initialStyle;if(!i)return;s.style.setProperty("transition","none","important"),s.style.overflow="hidden";const o=`${s.offsetWidth}px`,a=`${s.offsetHeight}px`;["x","both"].includes(t)&&(s.style.width="0"),["y","both"].includes(t)&&(s.style.height="0"),s.offsetHeight,s.style.transition=i.transition,e&&s._parent&&s._parent.classList.add(e),requestAnimationFrame(()=>{["x","both"].includes(t)&&(s.style.width=o),["y","both"].includes(t)&&(s.style.height=a)})},onAfterEnter:r,onEnterCancelled:r,onLeave(s){s._initialStyle={transition:"",overflow:s.style.overflow,width:s.style.width,height:s.style.height},s.style.overflow="hidden",["x","both"].includes(t)&&(s.style.width=`${s.offsetWidth}px`),["y","both"].includes(t)&&(s.style.height=`${s.offsetHeight}px`),s.offsetHeight,requestAnimationFrame(()=>{["x","both"].includes(t)&&(s.style.width="0"),["y","both"].includes(t)&&(s.style.height="0")})},onAfterLeave:n,onLeaveCancelled:n};function n(s){e&&s._parent&&s._parent.classList.remove(e),r(s)}function r(s){if(!s._initialStyle)return;const{width:i,height:o}=s._initialStyle;s.style.overflow=s._initialStyle.overflow,i!=null&&["x","both"].includes(t)&&(s.style.width=i),o!=null&&["y","both"].includes(t)&&(s.style.height=o),delete s._initialStyle}}const uA=ue({target:[Object,Array]},"v-dialog-transition"),_u=new WeakMap,dA=$e()({name:"VDialogTransition",props:uA(),setup(e,t){let{slots:n}=t;const r={onBeforeEnter(s){s.style.pointerEvents="none",s.style.visibility="hidden"},async onEnter(s,i){var f;await new Promise(h=>requestAnimationFrame(h)),await new Promise(h=>requestAnimationFrame(h)),s.style.visibility="";const o=yg(e.target,s),{x:a,y:c,sx:l,sy:d,speed:u}=o;if(_u.set(s,o),Lo())ss(s,[{opacity:0},{}],{duration:125*u,easing:Sm}).finished.then(()=>i());else{const h=ss(s,[{transform:`translate(${a}px, ${c}px) scale(${l}, ${d})`,opacity:0},{}],{duration:225*u,easing:Sm});(f=vg(s))==null||f.forEach(p=>{ss(p,[{opacity:0},{opacity:0,offset:.33},{}],{duration:225*2*u,easing:fd})}),h.finished.then(()=>i())}},onAfterEnter(s){s.style.removeProperty("pointer-events")},onBeforeLeave(s){s.style.pointerEvents="none"},async onLeave(s,i){var f;await new Promise(h=>requestAnimationFrame(h));let o;!_u.has(s)||Array.isArray(e.target)||e.target.offsetParent||e.target.getClientRects().length?o=yg(e.target,s):o=_u.get(s);const{x:a,y:c,sx:l,sy:d,speed:u}=o;Lo()?ss(s,[{},{opacity:0}],{duration:85*u,easing:Em}).finished.then(()=>i()):(ss(s,[{},{transform:`translate(${a}px, ${c}px) scale(${l}, ${d})`,opacity:0}],{duration:125*u,easing:Em}).finished.then(()=>i()),(f=vg(s))==null||f.forEach(p=>{ss(p,[{},{opacity:0,offset:.2},{opacity:0}],{duration:125*2*u,easing:fd})}))},onAfterLeave(s){s.style.removeProperty("pointer-events")}};return()=>e.target?H(Hr,Je({name:"dialog-transition"},r,{css:!1}),n):H(Hr,{name:"dialog-transition"},n)}});function vg(e){var n;const t=(n=e.querySelector(":scope > .v-card, :scope > .v-sheet, :scope > .v-list"))==null?void 0:n.children;return t&&[...t]}function yg(e,t){const n=ab(e),r=cb(t),[s,i]=getComputedStyle(t).transformOrigin.split(" ").map(g=>parseFloat(g)),[o,a]=getComputedStyle(t).getPropertyValue("--v-overlay-anchor-origin").split(" ");let c=n.left+n.width/2;o==="left"||a==="left"?c-=n.width/2:(o==="right"||a==="right")&&(c+=n.width/2);let l=n.top+n.height/2;o==="top"||a==="top"?l-=n.height/2:(o==="bottom"||a==="bottom")&&(l+=n.height/2);const d=n.width/r.width,u=n.height/r.height,f=Math.max(1,d,u),h=d/f||0,p=u/f||0,m=r.width*r.height/(window.innerWidth*window.innerHeight),v=m>.12?Math.min(1.5,(m-.12)*10+1):1;return{x:c-(s+r.left),y:l-(i+r.top),sx:h,sy:p,speed:v}}rn("fab-transition","center center","out-in");rn("dialog-bottom-transition");rn("dialog-top-transition");const B4=rn("fade-transition"),H4=rn("scale-transition");rn("scroll-x-transition");rn("scroll-x-reverse-transition");rn("scroll-y-transition");rn("scroll-y-reverse-transition");rn("slide-x-transition");const V4=rn("slide-x-reverse-transition"),U4=rn("slide-y-transition");rn("slide-y-reverse-transition");const fA=ah("expand-transition",ch()),W4=ah("expand-x-transition",ch("","x"));ah("expand-both-transition",ch("","both"));const hA=ue({fullscreen:Boolean,scrollable:Boolean,...As(oh({captureFocus:!0,origin:"center center",scrollStrategy:"block",transition:{component:dA},zIndex:2400,retainFocus:!0}),["disableInitialFocus"])},"VDialog"),pA=$e()({name:"VDialog",props:hA(),emits:{"update:modelValue":e=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(e,t){let{emit:n,slots:r}=t;const s=Un(e,"modelValue"),{scopeId:i}=ih(),o=we();function a(){var l;n("afterEnter"),(e.scrim||e.retainFocus)&&((l=o.value)!=null&&l.contentEl)&&!o.value.contentEl.contains(document.activeElement)&&o.value.contentEl.focus({preventScroll:!0})}function c(){n("afterLeave")}return Se(s,async l=>{var d;l||(await yt(),(d=o.value.activatorEl)==null||d.focus({preventScroll:!0}))}),tt(()=>{const l=$c.filterProps(e),d=Je({"aria-haspopup":"dialog"},e.activatorProps),u=Je({tabindex:-1},e.contentProps);return H($c,Je({ref:o,class:["v-dialog",{"v-dialog--fullscreen":e.fullscreen,"v-dialog--scrollable":e.scrollable},e.class],style:e.style},l,{modelValue:s.value,"onUpdate:modelValue":f=>s.value=f,"aria-modal":"true",activatorProps:d,contentProps:u,height:e.fullscreen?void 0:e.height,width:e.fullscreen?void 0:e.width,maxHeight:e.fullscreen?void 0:e.maxHeight,maxWidth:e.fullscreen?void 0:e.maxWidth,role:"dialog",onAfterEnter:a,onAfterLeave:c},i),{activator:r.activator,default:function(){for(var f=arguments.length,h=new Array(f),p=0;p{var m;return[(m=r.default)==null?void 0:m.call(r,...h)]}})}})}),mS({},o)}}),mA=["dotted","dashed","solid","double"],gA=ue({color:String,contentOffset:[Number,String,Array],gradient:Boolean,inset:Boolean,length:[Number,String],opacity:[Number,String],thickness:[Number,String],vertical:Boolean,variant:{type:String,default:"solid",validator:e=>mA.includes(e)},...ct(),...nn()},"VDivider"),SS=$e()({name:"VDivider",props:gA(),setup(e,t){let{attrs:n,slots:r}=t;const{themeClasses:s}=mn(e),{textColorClasses:i,textColorStyles:o}=bi(()=>e.color),a=j(()=>{const l={};return e.length&&(l[e.vertical?"height":"width"]=ge(e.length)),e.thickness&&(l[e.vertical?"borderRightWidth":"borderTopWidth"]=ge(e.thickness)),l}),c=ee(()=>{const l=Array.isArray(e.contentOffset)?e.contentOffset[0]:e.contentOffset,d=Array.isArray(e.contentOffset)?e.contentOffset[1]:0;return{marginBlock:e.vertical&&l?ge(l):void 0,marginInline:!e.vertical&&l?ge(l):void 0,transform:d?`translate${e.vertical?"X":"Y"}(${ge(d)})`:void 0}});return tt(()=>{const l=ae("hr",{class:Le([{"v-divider":!0,"v-divider--gradient":e.gradient&&!r.default,"v-divider--inset":e.inset,"v-divider--vertical":e.vertical},s.value,i.value,e.class]),style:Xe([a.value,o.value,{"--v-border-opacity":e.opacity},{"border-style":e.variant},e.style]),"aria-orientation":!n.role||n.role==="separator"?e.vertical?"vertical":"horizontal":void 0,role:`${n.role||"separator"}`},null);return r.default?ae("div",{class:Le(["v-divider__wrapper",{"v-divider__wrapper--gradient":e.gradient,"v-divider__wrapper--inset":e.inset,"v-divider__wrapper--vertical":e.vertical}])},[l,ae("div",{class:"v-divider__content",style:Xe(c.value)},[r.default()]),l]):l}),{}}}),vA=Wf("v-spacer","div","VSpacer"),Id=Symbol.for("vuetify:list");function ES(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{filterable:!1};const t=Ne(Id,{filterable:!1,hasPrepend:be(!1),updateHasPrepend:()=>null,trackingIndex:be(-1),navigationStrategy:be("focus"),uid:""}),{filterable:n,trackingIndex:r=t.trackingIndex,navigationStrategy:s=t.navigationStrategy,uid:i=t.uid||hl()}=e,o={filterable:t.filterable||n,hasPrepend:be(!1),updateHasPrepend:a=>{a&&(o.hasPrepend.value=a)},trackingIndex:r,navigationStrategy:s,uid:i};return Mt(Id,o),t}function wS(){return Ne(Id,null)}const lh=e=>{const t={activate:n=>{let{id:r,value:s,activated:i}=n;return r=fe(r),e&&!s&&i.size===1&&i.has(r)||(s?i.add(r):i.delete(r)),i},in:(n,r,s)=>{let i=new Set;if(n!=null)for(const o of Bf(n))i=t.activate({id:o,value:!0,activated:new Set(i),children:r,parents:s});return i},out:n=>Array.from(n)};return t},CS=e=>{const t=lh(e);return{activate:r=>{let{activated:s,id:i,...o}=r;i=fe(i);const a=s.has(i)?new Set([i]):new Set;return t.activate({...o,id:i,activated:a})},in:(r,s,i)=>{let o=new Set;if(r!=null){const a=Bf(r);a.length&&(o=t.in(a.slice(0,1),s,i))}return o},out:(r,s,i)=>t.out(r,s,i)}},yA=e=>{const t=lh(e);return{activate:r=>{let{id:s,activated:i,children:o,...a}=r;return s=fe(s),o.has(s)?i:t.activate({id:s,activated:i,children:o,...a})},in:t.in,out:t.out}},_A=e=>{const t=CS(e);return{activate:r=>{let{id:s,activated:i,children:o,...a}=r;return s=fe(s),o.has(s)?i:t.activate({id:s,activated:i,children:o,...a})},in:t.in,out:t.out}},bA={open:e=>{let{id:t,value:n,opened:r,parents:s}=e;if(n){const i=new Set;i.add(t);let o=s.get(t);for(;o!=null;)i.add(o),o=s.get(o);return i}else return r.delete(t),r},select:()=>null},TS={open:e=>{let{id:t,value:n,opened:r,parents:s}=e;if(n){let i=s.get(t);for(r.add(t);i!=null&&i!==t;)r.add(i),i=s.get(i);return r}else r.delete(t);return r},select:()=>null},SA={open:TS.open,select:e=>{let{id:t,value:n,opened:r,parents:s}=e;if(!n)return r;const i=[];let o=s.get(t);for(;o!=null;)i.push(o),o=s.get(o);return new Set(i)}},uh=e=>{const t={select:n=>{let{id:r,value:s,selected:i}=n;if(r=fe(r),e&&!s){const o=Array.from(i.entries()).reduce((a,c)=>{let[l,d]=c;return d==="on"&&a.push(l),a},[]);if(o.length===1&&o[0]===r)return i}return i.set(r,s?"on":"off"),i},in:(n,r,s,i)=>{const o=new Map;for(const a of n||[])t.select({id:a,value:!0,selected:o,children:r,parents:s,disabled:i});return o},out:n=>{const r=[];for(const[s,i]of n.entries())i==="on"&&r.push(s);return r}};return t},kS=e=>{const t=uh(e);return{select:r=>{let{selected:s,id:i,...o}=r;i=fe(i);const a=s.has(i)?new Map([[i,s.get(i)]]):new Map;return t.select({...o,id:i,selected:a})},in:(r,s,i,o)=>r!=null&&r.length?t.in(r.slice(0,1),s,i,o):new Map,out:(r,s,i)=>t.out(r,s,i)}},EA=e=>{const t=uh(e);return{select:r=>{let{id:s,selected:i,children:o,...a}=r;return s=fe(s),o.has(s)?i:t.select({id:s,selected:i,children:o,...a})},in:t.in,out:t.out}},wA=e=>{const t=kS(e);return{select:r=>{let{id:s,selected:i,children:o,...a}=r;return s=fe(s),o.has(s)?i:t.select({id:s,selected:i,children:o,...a})},in:t.in,out:t.out}},dh=e=>{const t={select:n=>{let{id:r,value:s,selected:i,children:o,parents:a,disabled:c}=n;r=fe(r);const l=new Map(i),d=[r];for(;d.length;){const f=d.shift();c.has(f)||i.set(fe(f),s?"on":"off"),o.has(f)&&d.push(...o.get(f))}let u=fe(a.get(r));for(;u;){let f=!0,h=!0;for(const p of o.get(u)){const m=fe(p);if(!c.has(m)&&(i.get(m)!=="on"&&(f=!1),i.has(m)&&i.get(m)!=="off"&&(h=!1),!f&&!h))break}i.set(u,f?"on":h?"off":"indeterminate"),u=fe(a.get(u))}return e&&!s&&Array.from(i.entries()).reduce((h,p)=>{let[m,v]=p;return v==="on"&&h.push(m),h},[]).length===0?l:i},in:(n,r,s)=>{let i=new Map;for(const o of n||[])i=t.select({id:o,value:!0,selected:i,children:r,parents:s,disabled:new Set});return i},out:(n,r)=>{const s=[];for(const[i,o]of n.entries())o==="on"&&!r.has(i)&&s.push(i);return s}};return t},CA=e=>{const t=dh(e);return{select:t.select,in:t.in,out:(r,s,i)=>{const o=[];for(const[a,c]of r.entries())if(c==="on"){if(i.has(a)){const l=i.get(a);if(r.get(l)==="on")continue}o.push(a)}return o}}},TA=e=>{const n={select:dh(e).select,in:(r,s,i,o)=>{let a=new Map;for(const c of r||[])s.has(c)||(a=n.select({id:c,value:!0,selected:a,children:s,parents:i,disabled:o}));return a},out:r=>{const s=[];for(const[i,o]of r.entries())(o==="on"||o==="indeterminate")&&s.push(i);return s}};return n},Si=Symbol.for("vuetify:nested"),IS={id:be(),root:{itemsRegistration:we("render"),register:()=>null,unregister:()=>null,updateDisabled:()=>null,children:we(new Map),parents:we(new Map),disabled:we(new Set),open:()=>null,openOnSelect:()=>null,activate:()=>null,select:()=>null,activatable:we(!1),scrollToActive:we(!1),selectable:we(!1),opened:we(new Set),activated:we(new Set),selected:we(new Map),selectedValues:we([]),getPath:()=>[]}},kA=ue({activatable:Boolean,selectable:Boolean,activeStrategy:[String,Function,Object],selectStrategy:[String,Function,Object],openStrategy:[String,Object],opened:null,activated:null,selected:null,mandatory:Boolean,itemsRegistration:{type:String,default:"render"}},"nested"),IA=(e,t)=>{let{items:n,returnObject:r,scrollToActive:s}=t,i=!1;const o=be(new Map),a=be(new Map),c=be(new Set),l=Un(e,"opened",e.opened,I=>new Set(Array.isArray(I)?I.map(x=>fe(x)):I),I=>[...I.values()]),d=j(()=>{if(typeof e.activeStrategy=="object")return e.activeStrategy;if(typeof e.activeStrategy=="function")return e.activeStrategy(e.mandatory);switch(e.activeStrategy){case"leaf":return yA(e.mandatory);case"single-leaf":return _A(e.mandatory);case"independent":return lh(e.mandatory);case"single-independent":default:return CS(e.mandatory)}}),u=j(()=>{if(typeof e.selectStrategy=="object")return e.selectStrategy;if(typeof e.selectStrategy=="function")return e.selectStrategy(e.mandatory);switch(e.selectStrategy){case"single-leaf":return wA(e.mandatory);case"leaf":return EA(e.mandatory);case"independent":return uh(e.mandatory);case"single-independent":return kS(e.mandatory);case"trunk":return CA(e.mandatory);case"branch":return TA(e.mandatory);case"classic":default:return dh(e.mandatory)}}),f=j(()=>{if(typeof e.openStrategy=="object")return e.openStrategy;switch(e.openStrategy){case"list":return SA;case"single":return bA;case"multiple":default:return TS}}),h=Un(e,"activated",e.activated,I=>d.value.in(I,o.value,a.value),I=>d.value.out(I,o.value,a.value)),p=Un(e,"selected",e.selected,I=>u.value.in(I,o.value,a.value,c.value),I=>u.value.out(I,o.value,a.value));kn(()=>{i=!0});function m(I){const x=[];let S=fe(I);for(;S!==void 0;)x.unshift(S),S=a.value.get(S);return x}const v=mt("nested"),g=new Set,y=GT(()=>{yt(()=>{o.value=new Map(o.value),a.value=new Map(a.value)})},100);Se(()=>[n.value,vt(r)],()=>{e.itemsRegistration==="props"&&C()},{immediate:!0});function C(){const I=new Map,x=new Map,S=new Set,b=vt(r)?M=>fe(M.raw):M=>M.value,k=[...n.value];let R=0;for(;Re.activatable),scrollToActive:ee(()=>vt(s)),selectable:ee(()=>e.selectable),activated:h,selected:p,selectedValues:j(()=>{const I=[];for(const[x,S]of p.value.entries())S==="on"&&I.push(x);return I}),itemsRegistration:ee(()=>e.itemsRegistration),register:(I,x,S,b)=>{if(g.has(I)){m(I).map(String).join(" -> "),m(x).concat(I).map(String).join(" -> ");return}else g.add(I);x&&I!==x&&a.value.set(I,x),S&&c.value.add(I),b&&o.value.set(I,[]),x!=null&&o.value.set(x,[...o.value.get(x)||[],I]),y()},unregister:I=>{if(i)return;g.delete(I),o.value.delete(I),c.value.delete(I);const x=a.value.get(I);if(x){const S=o.value.get(x)??[];o.value.set(x,S.filter(b=>b!==I))}a.value.delete(I),y()},updateDisabled:(I,x)=>{x?c.value.add(I):c.value.delete(I)},open:(I,x,S)=>{v.emit("click:open",{id:I,value:x,path:m(I),event:S});const b=f.value.open({id:I,value:x,opened:new Set(l.value),children:o.value,parents:a.value,event:S});b&&(l.value=b)},openOnSelect:(I,x,S)=>{const b=f.value.select({id:I,value:x,selected:new Map(p.value),opened:new Set(l.value),children:o.value,parents:a.value,event:S});b&&(l.value=b)},select:(I,x,S)=>{v.emit("click:select",{id:I,value:x,path:m(I),event:S});const b=u.value.select({id:I,value:x,selected:new Map(p.value),children:o.value,parents:a.value,disabled:c.value,event:S});b&&(p.value=b),w.root.openOnSelect(I,x,S)},activate:(I,x,S)=>{if(!e.activatable)return w.root.select(I,!0,S);v.emit("click:activate",{id:I,value:x,path:m(I),event:S});const b=d.value.activate({id:I,value:x,activated:new Set(h.value),children:o.value,parents:a.value,event:S});if(b.size!==h.value.size)h.value=b;else{for(const k of b)if(!h.value.has(k)){h.value=b;return}for(const k of h.value)if(!b.has(k)){h.value=b;return}}},children:o,parents:a,disabled:c,getPath:m}};return Mt(Si,w),w.root},xS=(e,t,n)=>{const r=Ne(Si,IS),s=Symbol("nested item"),i=j(()=>{const a=fe(vt(e));return a!==void 0?a:s}),o={...r,id:i,open:(a,c)=>r.root.open(i.value,a,c),openOnSelect:(a,c)=>r.root.openOnSelect(i.value,a,c),isOpen:j(()=>r.root.opened.value.has(i.value)),parent:j(()=>r.root.parents.value.get(i.value)),activate:(a,c)=>r.root.activate(i.value,a,c),isActivated:j(()=>r.root.activated.value.has(i.value)),scrollToActive:r.root.scrollToActive,select:(a,c)=>r.root.select(i.value,a,c),isSelected:j(()=>r.root.selected.value.get(i.value)==="on"),isIndeterminate:j(()=>r.root.selected.value.get(i.value)==="indeterminate"),isLeaf:j(()=>!r.root.children.value.get(i.value)),isGroupActivator:r.isGroupActivator};return gl(()=>{r.isGroupActivator||r.root.itemsRegistration.value==="props"||yt(()=>{r.root.register(i.value,r.id.value,vt(t),n)})}),kn(()=>{r.isGroupActivator||r.root.itemsRegistration.value==="props"||r.root.unregister(i.value)}),Se(i,(a,c)=>{r.isGroupActivator||r.root.itemsRegistration.value==="props"||(r.root.unregister(c),yt(()=>{r.root.register(a,r.id.value,vt(t),n)}))}),Se(()=>vt(t),a=>{r.root.updateDisabled(i.value,a)}),n&&Mt(Si,o),o},xA=()=>{const e=Ne(Si,IS);Mt(Si,{...e,isGroupActivator:!0})};function RA(){const e=be(!1);return gr(()=>{window.requestAnimationFrame(()=>{e.value=!0})}),{ssrBootStyles:ee(()=>e.value?void 0:{transition:"none !important"}),isBooted:hi(e)}}const AA=Ni({name:"VListGroupActivator",setup(e,t){let{slots:n}=t;return xA(),()=>{var r;return(r=n.default)==null?void 0:r.call(n)}}}),MA=ue({activeColor:String,baseColor:String,color:String,collapseIcon:{type:Et,default:"$collapse"},disabled:Boolean,expandIcon:{type:Et,default:"$expand"},rawId:[String,Number],prependIcon:Et,appendIcon:Et,fluid:Boolean,subgroup:Boolean,title:String,value:null,...ct(),...Pt()},"VListGroup"),_g=$e()({name:"VListGroup",props:MA(),setup(e,t){let{slots:n}=t;const{isOpen:r,open:s,id:i}=xS(()=>e.value,()=>e.disabled,!0),o=j(()=>`v-list-group--id-${String(e.rawId??i.value)}`),a=wS(),{isBooted:c}=RA(),l=Ne(Si),d=ee(()=>{var m;return((m=l==null?void 0:l.root)==null?void 0:m.itemsRegistration.value)==="render"});function u(m){var v;["INPUT","TEXTAREA"].includes((v=m.target)==null?void 0:v.tagName)||s(!r.value,m)}const f=j(()=>({onClick:u,class:"v-list-group__header",id:o.value})),h=j(()=>r.value?e.collapseIcon:e.expandIcon),p=j(()=>({VListItem:{activeColor:e.activeColor,baseColor:e.baseColor,color:e.color,prependIcon:e.prependIcon||e.subgroup&&h.value,appendIcon:e.appendIcon||!e.subgroup&&h.value,title:e.title,value:e.value}}));return tt(()=>H(e.tag,{class:Le(["v-list-group",{"v-list-group--prepend":a==null?void 0:a.hasPrepend.value,"v-list-group--fluid":e.fluid,"v-list-group--subgroup":e.subgroup,"v-list-group--open":r.value},e.class]),style:Xe(e.style)},{default:()=>[n.activator&&H(un,{defaults:p.value},{default:()=>[H(AA,null,{default:()=>[n.activator({props:f.value,isOpen:r.value})]})]}),H(Qs,{transition:{component:fA},disabled:!c.value},{default:()=>{var m,v;return[d.value?ws(ae("div",{class:"v-list-group__items",role:"group","aria-labelledby":o.value},[(m=n.default)==null?void 0:m.call(n)]),[[Lf,r.value]]):r.value&&ae("div",{class:"v-list-group__items",role:"group","aria-labelledby":o.value},[(v=n.default)==null?void 0:v.call(n)])]}})]})),{isOpen:r}}}),PA=ue({opacity:[Number,String],...ct(),...Pt()},"VListItemSubtitle"),RS=$e()({name:"VListItemSubtitle",props:PA(),setup(e,t){let{slots:n}=t;return tt(()=>H(e.tag,{class:Le(["v-list-item-subtitle",e.class]),style:Xe([{"--v-list-item-subtitle-opacity":e.opacity},e.style])},n)),{}}}),AS=Wf("v-list-item-title"),OA=ue({active:{type:Boolean,default:void 0},activeClass:String,activeColor:String,appendAvatar:String,appendIcon:Et,baseColor:String,disabled:Boolean,lines:[Boolean,String],link:{type:Boolean,default:void 0},nav:Boolean,prependAvatar:String,prependIcon:Et,ripple:{type:[Boolean,Object],default:!0},slim:Boolean,prependGap:[Number,String],subtitle:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},value:null,index:Number,tabindex:[Number,String],onClick:yo(),onClickOnce:yo(),...Fi(),...ct(),...Ms(),...Hi(),...oa(),...yr(),...rh(),...Pt(),...nn(),...Ps({variant:"text"})},"VListItem"),xd=$e()({name:"VListItem",directives:{vRipple:Wo},props:OA(),emits:{click:e=>!0},setup(e,t){let{attrs:n,slots:r,emit:s}=t;const i=nh(e,n),o=we(),a=j(()=>e.value===void 0?i.href.value:e.value),{activate:c,isActivated:l,select:d,isOpen:u,isSelected:f,isIndeterminate:h,isGroupActivator:p,root:m,parent:v,openOnSelect:g,scrollToActive:y,id:C}=xS(a,()=>e.disabled,!1),w=wS(),I=j(()=>{var G;return e.active!==!1&&(e.active||((G=i.isActive)==null?void 0:G.value)||(m.activatable.value?l.value:f.value))}),x=ee(()=>e.link!==!1&&i.isLink.value),S=j(()=>!!w&&(m.selectable.value||m.activatable.value||e.value!=null)),b=j(()=>!e.disabled&&e.link!==!1&&(e.link||i.isClickable.value||S.value)),k=j(()=>w&&w.navigationStrategy.value==="track"&&e.index!==void 0&&w.trackingIndex.value===e.index),R=j(()=>w?x.value?"link":S.value?"option":"listitem":void 0),M=j(()=>{if(S.value)return m.activatable.value?l.value:m.selectable.value?f.value:I.value}),T=ee(()=>e.rounded||e.nav),O=ee(()=>e.color??e.activeColor),$=ee(()=>({color:I.value?O.value??e.baseColor:e.baseColor,variant:e.variant}));Se(()=>{var G;return(G=i.isActive)==null?void 0:G.value},G=>{G&&K()}),Se(l,G=>{var de;!G||!y||(de=o.value)==null||de.scrollIntoView({block:"nearest",behavior:"instant"})}),Se(k,G=>{var de;G&&((de=o.value)==null||de.scrollIntoView({block:"nearest",behavior:"instant"}))}),gl(()=>{var G;(G=i.isActive)!=null&&G.value&&yt(()=>K())});function K(){v.value!=null&&m.open(v.value,!0),g(!0)}const{themeClasses:Z}=mn(e),{borderClasses:z}=$i(e),{colorClasses:N,colorStyles:oe,variantClasses:U}=la($),{densityClasses:J}=Bi(e),{dimensionStyles:re}=Vi(e),{elevationClasses:ie}=aa(e),{roundedClasses:Ee}=_r(T),Me=ee(()=>e.lines?`v-list-item--${e.lines}-line`:void 0),De=ee(()=>e.ripple!==void 0&&e.ripple&&(w!=null&&w.filterable)?{keys:["Enter"]}:e.ripple),P=j(()=>({isActive:I.value,select:d,isOpen:u.value,isSelected:f.value,isIndeterminate:h.value,isDisabled:e.disabled}));function W(G){var de,_,E;s("click",G),!["INPUT","TEXTAREA"].includes((de=G.target)==null?void 0:de.tagName)&&b.value&&((E=(_=i.navigate).value)==null||E.call(_,G),!p&&(m.activatable.value?c(!l.value,G):(m.selectable.value||e.value!=null&&!x.value)&&d(!f.value,G)))}function X(G){const de=G.target;["INPUT","TEXTAREA"].includes(de.tagName)||(G.key==="Enter"||G.key===" "&&!(w!=null&&w.filterable))&&(G.preventDefault(),G.stopPropagation(),G.target.dispatchEvent(new MouseEvent("click",G)))}return tt(()=>{const G=x.value?"a":e.tag,de=r.title||e.title!=null,_=r.subtitle||e.subtitle!=null,A=!!(!!(e.appendAvatar||e.appendIcon)||r.append),D=!!(!!(e.prependAvatar||e.prependIcon)||r.prepend);return w==null||w.updateHasPrepend(D),e.activeColor&&X_("active-color",["color","base-color"]),ws(H(G,Je(i.linkProps,{ref:o,id:e.index!==void 0&&w?`v-list-item-${w.uid}-${e.index}`:void 0,class:["v-list-item",{"v-list-item--active":I.value,"v-list-item--disabled":e.disabled,"v-list-item--link":b.value,"v-list-item--nav":e.nav,"v-list-item--prepend":!D&&(w==null?void 0:w.hasPrepend.value),"v-list-item--slim":e.slim,"v-list-item--focus-visible":k.value,[`${e.activeClass}`]:e.activeClass&&I.value},Z.value,z.value,N.value,J.value,ie.value,Me.value,Ee.value,U.value,e.class],style:[{"--v-list-prepend-gap":ge(e.prependGap)},oe.value,re.value,e.style],tabindex:e.tabindex??(b.value?w?-2:0:void 0),"aria-selected":M.value,role:R.value,onClick:W,onKeydown:b.value&&!x.value&&X}),{default:()=>{var F;return[ca(b.value||I.value,"v-list-item"),D&&ae("div",{key:"prepend",class:"v-list-item__prepend"},[r.prepend?H(un,{key:"prepend-defaults",defaults:{VAvatar:{density:e.density,image:e.prependAvatar},VIcon:{density:e.density,icon:e.prependIcon},VListItemAction:{start:!0},VCheckboxBtn:{density:e.density}}},{default:()=>{var q;return[(q=r.prepend)==null?void 0:q.call(r,P.value)]}}):ae(Qe,null,[e.prependAvatar&&H(Bc,{key:"prepend-avatar",density:e.density,image:e.prependAvatar},null),e.prependIcon&&H(Wn,{key:"prepend-icon",density:e.density,icon:e.prependIcon},null)]),ae("div",{class:"v-list-item__spacer"},null)]),ae("div",{class:"v-list-item__content","data-no-activator":""},[de&&H(AS,{key:"title"},{default:()=>{var q;return[((q=r.title)==null?void 0:q.call(r,{title:e.title}))??bn(e.title)]}}),_&&H(RS,{key:"subtitle"},{default:()=>{var q;return[((q=r.subtitle)==null?void 0:q.call(r,{subtitle:e.subtitle}))??bn(e.subtitle)]}}),(F=r.default)==null?void 0:F.call(r,P.value)]),A&&ae("div",{key:"append",class:"v-list-item__append"},[r.append?H(un,{key:"append-defaults",defaults:{VAvatar:{density:e.density,image:e.appendAvatar},VIcon:{density:e.density,icon:e.appendIcon},VListItemAction:{end:!0},VCheckboxBtn:{density:e.density}}},{default:()=>{var q;return[(q=r.append)==null?void 0:q.call(r,P.value)]}}):ae(Qe,null,[e.appendIcon&&H(Wn,{key:"append-icon",density:e.density,icon:e.appendIcon},null),e.appendAvatar&&H(Bc,{key:"append-avatar",density:e.density,image:e.appendAvatar},null)]),ae("div",{class:"v-list-item__spacer"},null)])]}}),[[Wo,b.value&&De.value]])}),{activate:c,isActivated:l,isGroupActivator:p,isSelected:f,list:w,select:d,root:m,id:C,link:i}}}),LA=ue({color:String,inset:Boolean,sticky:Boolean,title:String,...ct(),...Pt()},"VListSubheader"),NA=$e()({name:"VListSubheader",props:LA(),setup(e,t){let{slots:n}=t;const{textColorClasses:r,textColorStyles:s}=bi(()=>e.color);return tt(()=>{const i=!!(n.default||e.title);return H(e.tag,{class:Le(["v-list-subheader",{"v-list-subheader--inset":e.inset,"v-list-subheader--sticky":e.sticky},r.value,e.class]),style:Xe([{textColorStyles:s},e.style])},{default:()=>{var o;return[i&&ae("div",{class:"v-list-subheader__text"},[((o=n.default)==null?void 0:o.call(n))??e.title])]}})}),{}}}),DA=ue({items:Array,returnObject:Boolean},"VListChildren"),MS=$e()({name:"VListChildren",props:DA(),setup(e,t){let{slots:n}=t;return ES(),()=>{var r,s;return((r=n.default)==null?void 0:r.call(n))??((s=e.items)==null?void 0:s.map((i,o)=>{var h,p;let{children:a,props:c,type:l,raw:d}=i;if(l==="divider")return((h=n.divider)==null?void 0:h.call(n,{props:c}))??H(SS,c,null);if(l==="subheader")return((p=n.subheader)==null?void 0:p.call(n,{props:c}))??H(NA,c,null);const u={subtitle:n.subtitle?m=>{var v;return(v=n.subtitle)==null?void 0:v.call(n,{...m,item:d})}:void 0,prepend:n.prepend?m=>{var v;return(v=n.prepend)==null?void 0:v.call(n,{...m,item:d})}:void 0,append:n.append?m=>{var v;return(v=n.append)==null?void 0:v.call(n,{...m,item:d})}:void 0,title:n.title?m=>{var v;return(v=n.title)==null?void 0:v.call(n,{...m,item:d})}:void 0},f=_g.filterProps(c);return a?H(_g,Je(f,{value:e.returnObject?d:c==null?void 0:c.value,rawId:c==null?void 0:c.value}),{activator:m=>{let{props:v}=m;const g=Je(c,v,{value:e.returnObject?d:c.value});return n.header?n.header({props:g}):H(xd,Je(g,{index:o}),u)},default:()=>H(MS,{items:a,returnObject:e.returnObject},n)}):n.item?n.item({props:{...c,index:o}}):H(xd,Je(c,{index:o,value:e.returnObject?d:c.value}),u)}))}}}),FA=ue({items:{type:Array,default:()=>[]},itemTitle:{type:[String,Array,Function],default:"title"},itemValue:{type:[String,Array,Function],default:"value"},itemChildren:{type:[Boolean,String,Array,Function],default:"children"},itemProps:{type:[Boolean,String,Array,Function],default:"props"},itemType:{type:[Boolean,String,Array,Function],default:"type"},returnObject:Boolean,valueComparator:Function},"list-items"),$A=new Set(["item","divider","subheader"]);function ui(e,t){const n=Fn(t,e.itemTitle,t),r=Fn(t,e.itemValue,n),s=Fn(t,e.itemChildren),i=e.itemProps===!0?typeof t=="object"&&t!=null&&!Array.isArray(t)?"children"in t?As(t,["children"]):t:void 0:Fn(t,e.itemProps);let o=Fn(t,e.itemType,"item");$A.has(o)||(o="item");const a={title:n,value:r,...i};return{type:o,title:String(a.title??""),value:a.value,props:a,children:o==="item"&&Array.isArray(s)?PS(e,s):void 0,raw:t}}ui.neededProps=["itemTitle","itemValue","itemChildren","itemProps","itemType"];function PS(e,t){const n=$f(e,ui.neededProps),r=[];for(const s of t)r.push(ui(n,s));return r}function j4(e){const t=j(()=>PS(e,e.items)),n=j(()=>t.value.some(a=>a.value===null)),r=be(new Map),s=be([]);hn(()=>{const a=t.value,c=new Map,l=[];for(let d=0;d{let{raw:l}=c;return l}):a.map(c=>{let{value:l}=c;return l})}return{items:t,transformIn:i,transformOut:o}}const BA=new Set(["item","divider","subheader"]);function HA(e,t){const n=Ts(t)?t:Fn(t,e.itemTitle),r=Ts(t)?t:Fn(t,e.itemValue,void 0),s=Fn(t,e.itemChildren),i=e.itemProps===!0?As(t,["children"]):Fn(t,e.itemProps);let o=Fn(t,e.itemType,"item");BA.has(o)||(o="item");const a={title:n,value:r,...i};return{type:o,title:a.title,value:a.value,props:a,children:o==="item"&&s?OS(e,s):void 0,raw:t}}function OS(e,t){const n=[];for(const r of t)n.push(HA(e,r));return n}function VA(e){return{items:j(()=>OS(e,e.items))}}const UA=ue({baseColor:String,activeColor:String,activeClass:String,bgColor:String,disabled:Boolean,filterable:Boolean,expandIcon:Et,collapseIcon:Et,lines:{type:[Boolean,String],default:"one"},slim:Boolean,prependGap:[Number,String],indent:[Number,String],nav:Boolean,navigationStrategy:{type:String,default:"focus"},navigationIndex:Number,"onClick:open":yo(),"onClick:select":yo(),"onUpdate:opened":yo(),...kA({selectStrategy:"single-leaf",openStrategy:"list"}),...Fi(),...ct(),...Ms(),...Hi(),...oa(),...FA(),...yr(),...Pt(),...nn(),...Ps({variant:"text"})},"VList"),WA=$e()({name:"VList",props:UA(),emits:{"update:selected":e=>!0,"update:activated":e=>!0,"update:opened":e=>!0,"update:navigationIndex":e=>!0,"click:open":e=>!0,"click:activate":e=>!0,"click:select":e=>!0},setup(e,t){let{attrs:n,slots:r,emit:s}=t;const{items:i}=VA(e),{themeClasses:o}=mn(e),{backgroundColorClasses:a,backgroundColorStyles:c}=li(()=>e.bgColor),{borderClasses:l}=$i(e),{densityClasses:d}=Bi(e),{dimensionStyles:u}=Vi(e),{elevationClasses:f}=aa(e),{roundedClasses:h}=_r(e),{children:p,open:m,parents:v,select:g,getPath:y}=IA(e,{items:i,returnObject:ee(()=>e.returnObject),scrollToActive:ee(()=>e.navigationStrategy==="track")}),C=ee(()=>e.lines?`v-list--${e.lines}-line`:void 0),w=ee(()=>e.activeColor),I=ee(()=>e.baseColor),x=ee(()=>e.color),S=ee(()=>e.selectable||e.activatable),b=Un(e,"navigationIndex",-1,J=>J??-1),k=hl();ES({filterable:e.filterable,trackingIndex:b,navigationStrategy:ee(()=>e.navigationStrategy),uid:k}),Se(i,()=>{e.navigationStrategy==="track"&&(b.value=-1)}),_l({VListGroup:{activeColor:w,baseColor:I,color:x,expandIcon:ee(()=>e.expandIcon),collapseIcon:ee(()=>e.collapseIcon)},VListItem:{activeClass:ee(()=>e.activeClass),activeColor:w,baseColor:I,color:x,density:ee(()=>e.density),disabled:ee(()=>e.disabled),lines:ee(()=>e.lines),nav:ee(()=>e.nav),slim:ee(()=>e.slim),variant:ee(()=>e.variant),tabindex:ee(()=>e.navigationStrategy==="track"?-1:void 0)}});const R=be(!1),M=we();function T(J){R.value=!0}function O(J){R.value=!1}function $(J){var re;e.navigationStrategy==="track"?~b.value||(b.value=z("first")):!R.value&&!(J.relatedTarget&&((re=M.value)!=null&&re.contains(J.relatedTarget)))&&U()}function K(){e.navigationStrategy==="track"&&(b.value=-1)}function Z(J){switch(J){case"ArrowDown":return"next";case"ArrowUp":return"prev";case"Home":return"first";case"End":return"last";default:return null}}function z(J){const re=i.value.length;if(re===0)return-1;let ie;J==="first"?ie=0:J==="last"?ie=re-1:(ie=b.value+(J==="next"?1:-1),ie<0&&(ie=re-1),ie>=re&&(ie=0));const Ee=ie;let Me=0;for(;Me=re&&(ie=0),ie===Ee)return-1;Me++}return-1}function N(J){const re=J.target;if(!M.value||re.tagName==="INPUT"&&["Home","End"].includes(J.key)||re.tagName==="TEXTAREA")return;const ie=Z(J.key);if(ie!==null)if(J.preventDefault(),e.navigationStrategy==="track"){const Ee=z(ie);Ee!==-1&&(b.value=Ee)}else U(ie)}function oe(J){R.value=!0}function U(J){if(M.value)return ib(M.value,J)}return tt(()=>{const J=e.indent??(e.prependGap?Number(e.prependGap)+24:void 0),re=S.value?n.ariaMultiselectable??!String(e.selectStrategy).startsWith("single-"):void 0;return H(e.tag,{ref:M,class:Le(["v-list",{"v-list--disabled":e.disabled,"v-list--nav":e.nav,"v-list--slim":e.slim},o.value,a.value,l.value,d.value,f.value,C.value,h.value,e.class]),style:Xe([{"--v-list-indent":ge(J),"--v-list-group-prepend":J?"0px":void 0,"--v-list-prepend-gap":ge(e.prependGap)},c.value,u.value,e.style]),tabindex:e.disabled?-1:0,role:S.value?"listbox":"list","aria-activedescendant":e.navigationStrategy==="track"&&b.value>=0?`v-list-item-${k}-${b.value}`:void 0,"aria-multiselectable":re,onFocusin:T,onFocusout:O,onFocus:$,onBlur:K,onKeydown:N,onMousedown:oe},{default:()=>[H(MS,{items:i.value,returnObject:e.returnObject},r)]})}),{open:m,select:g,focus:U,children:p,parents:v,getPath:y,navigationIndex:b}}});let Rd=null;const LS={name:"RateLimitModal",data(){return{isVisible:!1,activeRequests:[]}},computed:{hasActiveRequests(){return this.activeRequests.length>0}},watch:{hasActiveRequests(e){this.isVisible=e}},methods:{close(){this.isVisible=!1},show(e,t,n){const r=Date.now()+Math.random().toString(36).substring(2,9),s=Math.max(0,Math.floor((new Date(e)-new Date)/1e3)),i={id:r,resetTime:e,path:t,method:n,remainingSeconds:s};this.activeRequests.push(i),this.startCountdown(r),this.isVisible=!0},startCountdown(e){const t=this.activeRequests.find(r=>r.id===e);if(!t)return;const n=setInterval(()=>{const r=this.activeRequests.findIndex(s=>s.id===e);if(r===-1){clearInterval(n);return}this.activeRequests[r].remainingSeconds--,this.activeRequests[r].remainingSeconds<=0&&(clearInterval(n),this.activeRequests.splice(r,1))},1e3);t.intervalId=n},clearAllCountdowns(){this.activeRequests.forEach(e=>{e.intervalId&&clearInterval(e.intervalId)}),this.activeRequests=[]}},beforeUnmount(){this.clearAllCountdowns()},created(){Rd=this}};LS.show=function(e,t,n){Rd&&Rd.show(e,t,n)};const jA=LS,zA={class:"text-primary font-weight-bold"};function qA(e,t,n,r,s,i){return cn(),$n(pA,{modelValue:e.isVisible,"onUpdate:modelValue":t[0]||(t[0]=o=>e.isVisible=o),"max-width":"500",persistent:""},{default:gt(()=>[H(gg,{class:"rate-limit-modal"},{default:gt(()=>[H(yS,{class:"text-center pa-4 bg-error text-white"},{default:gt(()=>[H(Wn,{class:"mr-2",icon:"mdi-clock-alert-outline",size:"large"}),t[1]||(t[1]=co(" 请求频率超限 ",-1))]),_:1}),H(kd,{class:"pa-6"},{default:gt(()=>[t[3]||(t[3]=ae("div",{class:"text-body-1 mb-4"},"您的请求过于频繁,请稍后再试。",-1)),e.activeRequests.length>0?(cn(),$n(gg,{key:0,class:"mb-4",flat:""},{default:gt(()=>[H(kd,null,{default:gt(()=>[(cn(!0),F_(Qe,null,L1(e.activeRequests,(o,a)=>(cn(),$n(WA,{key:a,class:"mb-4"},{default:gt(()=>[H(xd,{color:"primary","prepend-icon":"mdi-web"},{default:gt(()=>[H(AS,null,{default:gt(()=>[t[2]||(t[2]=co(" 等待时间: ",-1)),ae("span",zA,bn(o.remainingSeconds),1)]),_:2},1024),H(RS,null,{default:gt(()=>[co(bn(o.method)+" "+bn(o.path),1)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128)),e.index[H(vA),H(cS,{color:"primary",variant:"tonal",onClick:e.close},{default:gt(()=>[...t[5]||(t[5]=[co(" 我知道了",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])}const GA=Gb(jA,[["render",qA]]),KA=ue({...ct(),...As(sI(),["fullHeight"]),...nn()},"VApp"),YA=$e()({name:"VApp",props:KA(),setup(e,t){let{slots:n}=t;const r=mn(e),{layoutClasses:s,getLayoutItem:i,items:o,layoutRef:a}=aI({...e,fullHeight:!0}),{rtlClasses:c}=sa();return tt(()=>{var l;return ae("div",{ref:a,class:Le(["v-application",r.themeClasses.value,s.value,c.value,e.class]),style:Xe([e.style])},[ae("div",{class:"v-application__wrap"},[(l=n.default)==null?void 0:l.call(n)])])}),{getLayoutItem:i,items:o,theme:r}}}),XA={__name:"App",setup(e){const t=Ib();return gr(()=>{const n=Jf("theme.mode");t.global.name.value=n,window.addEventListener("beforeinstallprompt",r=>{r.preventDefault(),window.deferredPwaPrompt=r,window.dispatchEvent(new Event("pwa-prompt-ready"))})}),(n,r)=>{const s=O1("router-view"),i=gS;return cn(),$n(YA,null,{default:gt(()=>[H(s,null,{default:gt(({Component:o,route:a})=>[H(Hr,{mode:"out-in",name:"md3"},{default:gt(()=>[(cn(),$n(v_(o),{key:a.path}))]),_:2},1024)]),_:1}),H(i),H(GA)]),_:1})}}};let bu;const bg=e=>({get:async()=>({visitorId:"unknown",error:(e==null?void 0:e.message)||String(e||""),fallback:!0})}),JA=async()=>{try{const e=await _t(()=>import("./fp.esm-DTPSfLWv.js"),[],import.meta.url);return(e==null?void 0:e.default)||e}catch(e){return console.warn("Fingerprint library blocked or failed to load; using fallback agent.",e),null}},NS=()=>(bu||(bu=(async()=>{const e=await JA();if(!e)return bg(new Error("fingerprint module unavailable"));try{return await e.load()}catch(t){return console.warn("FingerprintJS.load failed, using fallback agent.",t),bg(t)}})()),bu),DS=async()=>{const t=await(await NS()).get();return(t==null?void 0:t.visitorId)||"unknown"},z4=async()=>await(await NS()).get(),le=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,xe=globalThis,ys="10.41.0";function Os(){return xl(xe),xe}function xl(e){const t=e.__SENTRY__=e.__SENTRY__||{};return t.version=t.version||ys,t[ys]=t[ys]||{}}function Ui(e,t,n=xe){const r=n.__SENTRY__=n.__SENTRY__||{},s=r[ys]=r[ys]||{};return s[e]||(s[e]=t())}const ZA=["debug","info","warn","error","log","assert","trace"],QA="Sentry Logger ",Hc={};function br(e){if(!("console"in xe))return e();const t=xe.console,n={},r=Object.keys(Hc);r.forEach(s=>{const i=Hc[s];n[s]=t[s],t[s]=i});try{return e()}finally{r.forEach(s=>{t[s]=n[s]})}}function eM(){hh().enabled=!0}function tM(){hh().enabled=!1}function FS(){return hh().enabled}function nM(...e){fh("log",...e)}function rM(...e){fh("warn",...e)}function sM(...e){fh("error",...e)}function fh(e,...t){le&&FS()&&br(()=>{xe.console[e](`${QA}[${e}]:`,...t)})}function hh(){return le?Ui("loggerSettings",()=>({enabled:!1})):{enabled:!1}}const te={enable:eM,disable:tM,isEnabled:FS,log:nM,warn:rM,error:sM},$S=50,ks="?",Sg=/\(error: (.*)\)/,Eg=/captureMessage|captureException/;function BS(...e){const t=e.sort((n,r)=>n[0]-r[0]).map(n=>n[1]);return(n,r=0,s=0)=>{const i=[],o=n.split(` -`);for(let a=r;a1024&&(c=c.slice(0,1024));const l=Sg.test(c)?c.replace(Sg,"$1"):c;if(!l.match(/\S*Error: /)){for(const d of t){const u=d(l);if(u){i.push(u);break}}if(i.length>=$S+s)break}}return oM(i.slice(s))}}function iM(e){return Array.isArray(e)?BS(...e):e}function oM(e){if(!e.length)return[];const t=Array.from(e);return/sentryWrapped/.test(Na(t).function||"")&&t.pop(),t.reverse(),Eg.test(Na(t).function||"")&&(t.pop(),Eg.test(Na(t).function||"")&&t.pop()),t.slice(0,$S).map(n=>({...n,filename:n.filename||Na(t).filename,function:n.function||ks}))}function Na(e){return e[e.length-1]||{}}const Su="";function lr(e){try{return!e||typeof e!="function"?Su:e.name||Su}catch{return Su}}function wg(e){const t=e.exception;if(t){const n=[];try{return t.values.forEach(r=>{r.stacktrace.frames&&n.push(...r.stacktrace.frames)}),n}catch{return}}}function HS(e){return"__v_isVNode"in e&&e.__v_isVNode?"[VueVNode]":"[VueViewModel]"}const rc={},Cg={};function Kr(e,t){rc[e]=rc[e]||[],rc[e].push(t)}function Yr(e,t){if(!Cg[e]){Cg[e]=!0;try{t()}catch(n){le&&te.error(`Error while instrumenting ${e}`,n)}}}function dn(e,t){const n=e&&rc[e];if(n)for(const r of n)try{r(t)}catch(s){le&&te.error(`Error while triggering instrumentation handler. -Type: ${e} -Name: ${lr(r)} -Error:`,s)}}let Eu=null;function VS(e){const t="error";Kr(t,e),Yr(t,aM)}function aM(){Eu=xe.onerror,xe.onerror=function(e,t,n,r,s){return dn("error",{column:r,error:s,line:n,msg:e,url:t}),Eu?Eu.apply(this,arguments):!1},xe.onerror.__SENTRY_INSTRUMENTED__=!0}let wu=null;function US(e){const t="unhandledrejection";Kr(t,e),Yr(t,cM)}function cM(){wu=xe.onunhandledrejection,xe.onunhandledrejection=function(e){return dn("unhandledrejection",e),wu?wu.apply(this,arguments):!0},xe.onunhandledrejection.__SENTRY_INSTRUMENTED__=!0}const WS=Object.prototype.toString;function Rl(e){switch(WS.call(e)){case"[object Error]":case"[object Exception]":case"[object DOMException]":case"[object WebAssembly.Exception]":return!0;default:return ur(e,Error)}}function Wi(e,t){return WS.call(e)===`[object ${t}]`}function jS(e){return Wi(e,"ErrorEvent")}function Tg(e){return Wi(e,"DOMError")}function lM(e){return Wi(e,"DOMException")}function tr(e){return Wi(e,"String")}function ph(e){return typeof e=="object"&&e!==null&&"__sentry_template_string__"in e&&"__sentry_template_values__"in e}function Ei(e){return e===null||ph(e)||typeof e!="object"&&typeof e!="function"}function jo(e){return Wi(e,"Object")}function Al(e){return typeof Event<"u"&&ur(e,Event)}function uM(e){return typeof Element<"u"&&ur(e,Element)}function dM(e){return Wi(e,"RegExp")}function ji(e){return!!(e!=null&&e.then&&typeof e.then=="function")}function fM(e){return jo(e)&&"nativeEvent"in e&&"preventDefault"in e&&"stopPropagation"in e}function ur(e,t){try{return e instanceof t}catch{return!1}}function zS(e){return!!(typeof e=="object"&&e!==null&&(e.__isVue||e._isVue||e.__v_isVNode))}function mh(e){return typeof Request<"u"&&ur(e,Request)}const gh=xe,hM=80;function qt(e,t={}){if(!e)return"";try{let n=e;const r=5,s=[];let i=0,o=0;const a=" > ",c=a.length;let l;const d=Array.isArray(t)?t:t.keyAttrs,u=!Array.isArray(t)&&t.maxStringLength||hM;for(;n&&i++1&&o+s.length*c+l.length>=u));)s.push(l),o+=l.length,n=n.parentNode;return s.reverse().join(a)}catch{return""}}function pM(e,t){const n=e,r=[];if(!(n!=null&&n.tagName))return"";if(gh.HTMLElement&&n instanceof HTMLElement&&n.dataset){if(n.dataset.sentryComponent)return n.dataset.sentryComponent;if(n.dataset.sentryElement)return n.dataset.sentryElement}r.push(n.tagName.toLowerCase());const s=t!=null&&t.length?t.filter(o=>n.getAttribute(o)).map(o=>[o,n.getAttribute(o)]):null;if(s!=null&&s.length)s.forEach(o=>{r.push(`[${o[0]}="${o[1]}"]`)});else{n.id&&r.push(`#${n.id}`);const o=n.className;if(o&&tr(o)){const a=o.split(/\s+/);for(const c of a)r.push(`.${c}`)}}const i=["aria-label","type","name","title","alt"];for(const o of i){const a=n.getAttribute(o);a&&r.push(`[${o}="${a}"]`)}return r.join("")}function Ls(){try{return gh.document.location.href}catch{return""}}function qS(e){if(!gh.HTMLElement)return null;let t=e;const n=5;for(let r=0;r"}}function Ig(e){if(typeof e=="object"&&e!==null){const t={};for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}else return{}}function mM(e){const t=Object.keys(KS(e));return t.sort(),t[0]?t.join(", "):"[object has no keys]"}let Us;function ua(e){if(Us!==void 0)return Us?Us(e):e();const t=Symbol.for("__SENTRY_SAFE_RANDOM_ID_WRAPPER__"),n=xe;return t in n&&typeof n[t]=="function"?(Us=n[t],Us(e)):(Us=null,e())}function Nr(){return ua(()=>Math.random())}function da(){return ua(()=>Date.now())}function Ad(e,t=0){return typeof e!="string"||t===0||e.length<=t?e:`${e.slice(0,t)}...`}function xg(e,t){if(!Array.isArray(e))return"";const n=[];for(let r=0;rsc(e,r,n))}function gM(){const e=xe;return e.crypto||e.msCrypto}let Cu;function vM(){return Nr()*16}function tn(e=gM()){try{if(e!=null&&e.randomUUID)return ua(()=>e.randomUUID()).replace(/-/g,"")}catch{}return Cu||(Cu="10000000100040008000"+1e11),Cu.replace(/[018]/g,t=>(t^(vM()&15)>>t/4).toString(16))}function YS(e){var t,n;return(n=(t=e.exception)==null?void 0:t.values)==null?void 0:n[0]}function as(e){const{message:t,event_id:n}=e;if(t)return t;const r=YS(e);return r?r.type&&r.value?`${r.type}: ${r.value}`:r.type||r.value||n||"":n||""}function Md(e,t,n){const r=e.exception=e.exception||{},s=r.values=r.values||[],i=s[0]=s[0]||{};i.value||(i.value=t||""),i.type||(i.type="Error")}function wi(e,t){const n=YS(e);if(!n)return;const r={type:"generic",handled:!0},s=n.mechanism;if(n.mechanism={...r,...s,...t},t&&"data"in t){const i={...s==null?void 0:s.data,...t.data};n.mechanism.data=i}}function Rg(e){if(yM(e))return!0;try{Gt(e,"__sentry_captured__",!0)}catch{}return!1}function yM(e){try{return e.__sentry_captured__}catch{}}const XS=1e3;function Ns(){return da()/XS}function _M(){const{performance:e}=xe;if(!(e!=null&&e.now)||!e.timeOrigin)return Ns;const t=e.timeOrigin;return()=>(t+ua(()=>e.now()))/XS}let Ag;function lt(){return(Ag??(Ag=_M()))()}let Tu=null;function bM(){var o;const{performance:e}=xe;if(!(e!=null&&e.now))return;const t=3e5,n=ua(()=>e.now()),r=da(),s=e.timeOrigin;if(typeof s=="number"&&Math.abs(s+n-r)wM(n)};return e&&Ci(n,e),n}function Ci(e,t={}){if(t.user&&(!e.ipAddress&&t.user.ip_address&&(e.ipAddress=t.user.ip_address),!e.did&&!t.did&&(e.did=t.user.id||t.user.email||t.user.username)),e.timestamp=t.timestamp||lt(),t.abnormal_mechanism&&(e.abnormal_mechanism=t.abnormal_mechanism),t.ignoreDuration&&(e.ignoreDuration=t.ignoreDuration),t.sid&&(e.sid=t.sid.length===32?t.sid:tn()),t.init!==void 0&&(e.init=t.init),!e.did&&t.did&&(e.did=`${t.did}`),typeof t.started=="number"&&(e.started=t.started),e.ignoreDuration)e.duration=void 0;else if(typeof t.duration=="number")e.duration=t.duration;else{const n=e.timestamp-e.started;e.duration=n>=0?n:0}t.release&&(e.release=t.release),t.environment&&(e.environment=t.environment),!e.ipAddress&&t.ipAddress&&(e.ipAddress=t.ipAddress),!e.userAgent&&t.userAgent&&(e.userAgent=t.userAgent),typeof t.errors=="number"&&(e.errors=t.errors),t.status&&(e.status=t.status)}function EM(e,t){let n={};e.status==="ok"&&(n={status:"exited"}),Ci(e,n)}function wM(e){return{sid:`${e.sid}`,init:e.init,started:new Date(e.started*1e3).toISOString(),timestamp:new Date(e.timestamp*1e3).toISOString(),status:e.status,errors:e.errors,did:typeof e.did=="number"||typeof e.did=="string"?`${e.did}`:void 0,duration:e.duration,abnormal_mechanism:e.abnormal_mechanism,attrs:{release:e.release,environment:e.environment,ip_address:e.ipAddress,user_agent:e.userAgent}}}function fa(e,t,n=2){if(!t||typeof t!="object"||n<=0)return t;if(e&&Object.keys(t).length===0)return e;const r={...e};for(const s in t)Object.prototype.hasOwnProperty.call(t,s)&&(r[s]=fa(r[s],t[s],n-1));return r}function dr(){return tn()}function rr(){return tn().substring(16)}const Pd="_sentrySpan";function Ti(e,t){t?Gt(e,Pd,t):delete e[Pd]}function Vc(e){return e[Pd]}const CM=100;class jn{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._attributes={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext={traceId:dr(),sampleRand:Nr()}}clone(){const t=new jn;return t._breadcrumbs=[...this._breadcrumbs],t._tags={...this._tags},t._attributes={...this._attributes},t._extra={...this._extra},t._contexts={...this._contexts},this._contexts.flags&&(t._contexts.flags={values:[...this._contexts.flags.values]}),t._user=this._user,t._level=this._level,t._session=this._session,t._transactionName=this._transactionName,t._fingerprint=this._fingerprint,t._eventProcessors=[...this._eventProcessors],t._attachments=[...this._attachments],t._sdkProcessingMetadata={...this._sdkProcessingMetadata},t._propagationContext={...this._propagationContext},t._client=this._client,t._lastEventId=this._lastEventId,t._conversationId=this._conversationId,Ti(t,Vc(this)),t}setClient(t){this._client=t}setLastEventId(t){this._lastEventId=t}getClient(){return this._client}lastEventId(){return this._lastEventId}addScopeListener(t){this._scopeListeners.push(t)}addEventProcessor(t){return this._eventProcessors.push(t),this}setUser(t){return this._user=t||{email:void 0,id:void 0,ip_address:void 0,username:void 0},this._session&&Ci(this._session,{user:t}),this._notifyScopeListeners(),this}getUser(){return this._user}setConversationId(t){return this._conversationId=t||void 0,this._notifyScopeListeners(),this}setTags(t){return this._tags={...this._tags,...t},this._notifyScopeListeners(),this}setTag(t,n){return this.setTags({[t]:n})}setAttributes(t){return this._attributes={...this._attributes,...t},this._notifyScopeListeners(),this}setAttribute(t,n){return this.setAttributes({[t]:n})}removeAttribute(t){return t in this._attributes&&(delete this._attributes[t],this._notifyScopeListeners()),this}setExtras(t){return this._extra={...this._extra,...t},this._notifyScopeListeners(),this}setExtra(t,n){return this._extra={...this._extra,[t]:n},this._notifyScopeListeners(),this}setFingerprint(t){return this._fingerprint=t,this._notifyScopeListeners(),this}setLevel(t){return this._level=t,this._notifyScopeListeners(),this}setTransactionName(t){return this._transactionName=t,this._notifyScopeListeners(),this}setContext(t,n){return n===null?delete this._contexts[t]:this._contexts[t]=n,this._notifyScopeListeners(),this}setSession(t){return t?this._session=t:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(t){if(!t)return this;const n=typeof t=="function"?t(this):t,r=n instanceof jn?n.getScopeData():jo(n)?t:void 0,{tags:s,attributes:i,extra:o,user:a,contexts:c,level:l,fingerprint:d=[],propagationContext:u,conversationId:f}=r||{};return this._tags={...this._tags,...s},this._attributes={...this._attributes,...i},this._extra={...this._extra,...o},this._contexts={...this._contexts,...c},a&&Object.keys(a).length&&(this._user=a),l&&(this._level=l),d.length&&(this._fingerprint=d),u&&(this._propagationContext=u),f&&(this._conversationId=f),this}clear(){return this._breadcrumbs=[],this._tags={},this._attributes={},this._extra={},this._user={},this._contexts={},this._level=void 0,this._transactionName=void 0,this._fingerprint=void 0,this._session=void 0,this._conversationId=void 0,Ti(this,void 0),this._attachments=[],this.setPropagationContext({traceId:dr(),sampleRand:Nr()}),this._notifyScopeListeners(),this}addBreadcrumb(t,n){var i;const r=typeof n=="number"?n:CM;if(r<=0)return this;const s={timestamp:Ns(),...t,message:t.message?Ad(t.message,2048):t.message};return this._breadcrumbs.push(s),this._breadcrumbs.length>r&&(this._breadcrumbs=this._breadcrumbs.slice(-r),(i=this._client)==null||i.recordDroppedEvent("buffer_overflow","log_item")),this._notifyScopeListeners(),this}getLastBreadcrumb(){return this._breadcrumbs[this._breadcrumbs.length-1]}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(t){return this._attachments.push(t),this}clearAttachments(){return this._attachments=[],this}getScopeData(){return{breadcrumbs:this._breadcrumbs,attachments:this._attachments,contexts:this._contexts,tags:this._tags,attributes:this._attributes,extra:this._extra,user:this._user,level:this._level,fingerprint:this._fingerprint||[],eventProcessors:this._eventProcessors,propagationContext:this._propagationContext,sdkProcessingMetadata:this._sdkProcessingMetadata,transactionName:this._transactionName,span:Vc(this),conversationId:this._conversationId}}setSDKProcessingMetadata(t){return this._sdkProcessingMetadata=fa(this._sdkProcessingMetadata,t,2),this}setPropagationContext(t){return this._propagationContext=t,this}getPropagationContext(){return this._propagationContext}captureException(t,n){const r=(n==null?void 0:n.event_id)||tn();if(!this._client)return le&&te.warn("No client configured on scope - will not capture exception!"),r;const s=new Error("Sentry syntheticException");return this._client.captureException(t,{originalException:t,syntheticException:s,...n,event_id:r},this),r}captureMessage(t,n,r){const s=(r==null?void 0:r.event_id)||tn();if(!this._client)return le&&te.warn("No client configured on scope - will not capture message!"),s;const i=(r==null?void 0:r.syntheticException)??new Error(t);return this._client.captureMessage(t,n,{originalException:t,syntheticException:i,...r,event_id:s},this),s}captureEvent(t,n){const r=t.event_id||(n==null?void 0:n.event_id)||tn();return this._client?(this._client.captureEvent(t,{...n,event_id:r},this),r):(le&&te.warn("No client configured on scope - will not capture event!"),r)}_notifyScopeListeners(){this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach(t=>{t(this)}),this._notifyingListeners=!1)}}function TM(){return Ui("defaultCurrentScope",()=>new jn)}function kM(){return Ui("defaultIsolationScope",()=>new jn)}class IM{constructor(t,n){let r;t?r=t:r=new jn;let s;n?s=n:s=new jn,this._stack=[{scope:r}],this._isolationScope=s}withScope(t){const n=this._pushScope();let r;try{r=t(n)}catch(s){throw this._popScope(),s}return ji(r)?r.then(s=>(this._popScope(),s),s=>{throw this._popScope(),s}):(this._popScope(),r)}getClient(){return this.getStackTop().client}getScope(){return this.getStackTop().scope}getIsolationScope(){return this._isolationScope}getStackTop(){return this._stack[this._stack.length-1]}_pushScope(){const t=this.getScope().clone();return this._stack.push({client:this.getClient(),scope:t}),t}_popScope(){return this._stack.length<=1?!1:!!this._stack.pop()}}function ki(){const e=Os(),t=xl(e);return t.stack=t.stack||new IM(TM(),kM())}function xM(e){return ki().withScope(e)}function RM(e,t){const n=ki();return n.withScope(()=>(n.getStackTop().scope=e,t(e)))}function Mg(e){return ki().withScope(()=>e(ki().getIsolationScope()))}function AM(){return{withIsolationScope:Mg,withScope:xM,withSetScope:RM,withSetIsolationScope:(e,t)=>Mg(t),getCurrentScope:()=>ki().getScope(),getIsolationScope:()=>ki().getIsolationScope()}}function zi(e){const t=xl(e);return t.acs?t.acs:AM()}function Oe(){const e=Os();return zi(e).getCurrentScope()}function $t(){const e=Os();return zi(e).getIsolationScope()}function JS(){return Ui("globalScope",()=>new jn)}function Ml(...e){const t=Os(),n=zi(t);if(e.length===2){const[r,s]=e;return r?n.withSetScope(r,s):n.withScope(s)}return n.withScope(e[0])}function Ce(){return Oe().getClient()}function MM(e){const t=e.getPropagationContext(),{traceId:n,parentSpanId:r,propagationSpanId:s}=t,i={trace_id:n,span_id:s||rr()};return r&&(i.parent_span_id=r),i}const jt="sentry.source",yh="sentry.sample_rate",ZS="sentry.previous_trace_sample_rate",fr="sentry.op",st="sentry.origin",zo="sentry.idle_span_finish_reason",ha="sentry.measurement_unit",pa="sentry.measurement_value",Pg="sentry.custom_span_name",_h="sentry.profile_id",qi="sentry.exclusive_time",PM="sentry.link.type",OM="gen_ai.conversation.id",LM=0,bh=1,ht=2;function NM(e){if(e<400&&e>=100)return{code:bh};if(e>=400&&e<500)switch(e){case 401:return{code:ht,message:"unauthenticated"};case 403:return{code:ht,message:"permission_denied"};case 404:return{code:ht,message:"not_found"};case 409:return{code:ht,message:"already_exists"};case 413:return{code:ht,message:"failed_precondition"};case 429:return{code:ht,message:"resource_exhausted"};case 499:return{code:ht,message:"cancelled"};default:return{code:ht,message:"invalid_argument"}}if(e>=500&&e<600)switch(e){case 501:return{code:ht,message:"unimplemented"};case 503:return{code:ht,message:"unavailable"};case 504:return{code:ht,message:"deadline_exceeded"};default:return{code:ht,message:"internal_error"}}return{code:ht,message:"internal_error"}}function QS(e,t){e.setAttribute("http.response.status_code",t);const n=NM(t);n.message!=="unknown_error"&&e.setStatus(n)}const e0="_sentryScope",t0="_sentryIsolationScope";function DM(e){try{const t=xe.WeakRef;if(typeof t=="function")return new t(e)}catch{}return e}function FM(e){if(e){if(typeof e=="object"&&"deref"in e&&typeof e.deref=="function")try{return e.deref()}catch{return}return e}}function $M(e,t,n){e&&(Gt(e,t0,DM(n)),Gt(e,e0,t))}function Uc(e){const t=e;return{scope:t[e0],isolationScope:FM(t[t0])}}const Sh="sentry-",BM=/^sentry-/,HM=8192;function n0(e){const t=UM(e);if(!t)return;const n=Object.entries(t).reduce((r,[s,i])=>{if(s.match(BM)){const o=s.slice(Sh.length);r[o]=i}return r},{});if(Object.keys(n).length>0)return n}function VM(e){if(!e)return;const t=Object.entries(e).reduce((n,[r,s])=>(s&&(n[`${Sh}${r}`]=s),n),{});return WM(t)}function UM(e){if(!(!e||!tr(e)&&!Array.isArray(e)))return Array.isArray(e)?e.reduce((t,n)=>{const r=Og(n);return Object.entries(r).forEach(([s,i])=>{t[s]=i}),t},{}):Og(e)}function Og(e){return e.split(",").map(t=>{const n=t.indexOf("=");if(n===-1)return[];const r=t.slice(0,n),s=t.slice(n+1);return[r,s].map(i=>{try{return decodeURIComponent(i.trim())}catch{return}})}).reduce((t,[n,r])=>(n&&r&&(t[n]=r),t),{})}function WM(e){if(Object.keys(e).length!==0)return Object.entries(e).reduce((t,[n,r],s)=>{const i=`${encodeURIComponent(n)}=${encodeURIComponent(r)}`,o=s===0?i:`${t},${i}`;return o.length>HM?(le&&te.warn(`Not adding key: ${n} with val: ${r} to baggage header due to exceeding baggage size limits.`),t):o},"")}const jM=/^o(\d+)\./,zM=/^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)((?:\[[:.%\w]+\]|[\w.-]+))(?::(\d+))?\/(.+)/;function qM(e){return e==="http"||e==="https"}function Gi(e,t=!1){const{host:n,path:r,pass:s,port:i,projectId:o,protocol:a,publicKey:c}=e;return`${a}://${c}${t&&s?`:${s}`:""}@${n}${i?`:${i}`:""}/${r&&`${r}/`}${o}`}function GM(e){const t=zM.exec(e);if(!t){br(()=>{console.error(`Invalid Sentry Dsn: ${e}`)});return}const[n,r,s="",i="",o="",a=""]=t.slice(1);let c="",l=a;const d=l.split("/");if(d.length>1&&(c=d.slice(0,-1).join("/"),l=d.pop()),l){const u=l.match(/^\d+/);u&&(l=u[0])}return r0({host:i,pass:s,path:c,projectId:l,port:o,protocol:n,publicKey:r})}function r0(e){return{protocol:e.protocol,publicKey:e.publicKey||"",pass:e.pass||"",host:e.host,port:e.port||"",path:e.path||"",projectId:e.projectId}}function KM(e){if(!le)return!0;const{port:t,projectId:n,protocol:r}=e;return["protocol","publicKey","host","projectId"].find(o=>e[o]?!1:(te.error(`Invalid Sentry Dsn: ${o} missing`),!0))?!1:n.match(/^\d+$/)?qM(r)?t&&isNaN(parseInt(t,10))?(te.error(`Invalid Sentry Dsn: Invalid port ${t}`),!1):!0:(te.error(`Invalid Sentry Dsn: Invalid protocol ${r}`),!1):(te.error(`Invalid Sentry Dsn: Invalid projectId ${n}`),!1)}function YM(e){const t=e.match(jM);return t==null?void 0:t[1]}function XM(e){const t=e.getOptions(),{host:n}=e.getDsn()||{};let r;return t.orgId?r=String(t.orgId):n&&(r=YM(n)),r}function JM(e){const t=typeof e=="string"?GM(e):r0(e);if(!(!t||!KM(t)))return t}function Is(e){if(typeof e=="boolean")return Number(e);const t=typeof e=="string"?parseFloat(e):e;if(!(typeof t!="number"||isNaN(t)||t<0||t>1))return t}const s0=new RegExp("^[ \\t]*([0-9a-f]{32})?-?([0-9a-f]{16})?-?([01])?[ \\t]*$");function ZM(e){if(!e)return;const t=e.match(s0);if(!t)return;let n;return t[3]==="1"?n=!0:t[3]==="0"&&(n=!1),{traceId:t[1],parentSampled:n,parentSpanId:t[2]}}function QM(e,t){const n=ZM(e),r=n0(t);if(!(n!=null&&n.traceId))return{traceId:dr(),sampleRand:Nr()};const s=eP(n,r);r&&(r.sample_rand=s.toString());const{traceId:i,parentSpanId:o,parentSampled:a}=n;return{traceId:i,parentSpanId:o,sampled:a,dsc:r||{},sampleRand:s}}function i0(e=dr(),t=rr(),n){let r="";return n!==void 0&&(r=n?"-1":"-0"),`${e}-${t}${r}`}function o0(e=dr(),t=rr(),n){return`00-${e}-${t}-${n?"01":"00"}`}function eP(e,t){const n=Is(t==null?void 0:t.sample_rand);if(n!==void 0)return n;const r=Is(t==null?void 0:t.sample_rate);return r&&(e==null?void 0:e.parentSampled)!==void 0?e.parentSampled?Nr()*r:r+Nr()*(1-r):Nr()}const a0=0,Eh=1;let Lg=!1;function tP(e){const{spanId:t,traceId:n}=e.spanContext(),{data:r,op:s,parent_span_id:i,status:o,origin:a,links:c}=Re(e);return{parent_span_id:i,span_id:t,trace_id:n,data:r,op:s,status:o,origin:a,links:c}}function nP(e){const{spanId:t,traceId:n,isRemote:r}=e.spanContext(),s=r?t:Re(e).parent_span_id,i=Uc(e).scope,o=r?(i==null?void 0:i.getPropagationContext().propagationSpanId)||rr():t;return{parent_span_id:s,span_id:o,trace_id:n}}function rP(e){const{traceId:t,spanId:n}=e.spanContext(),r=Xr(e);return i0(t,n,r)}function sP(e){const{traceId:t,spanId:n}=e.spanContext(),r=Xr(e);return o0(t,n,r)}function c0(e){if(e&&e.length>0)return e.map(({context:{spanId:t,traceId:n,traceFlags:r,...s},attributes:i})=>({span_id:t,trace_id:n,sampled:r===Eh,attributes:i,...s}))}function _s(e){return typeof e=="number"?Ng(e):Array.isArray(e)?e[0]+e[1]/1e9:e instanceof Date?Ng(e.getTime()):lt()}function Ng(e){return e>9999999999?e/1e3:e}function Re(e){var r;if(oP(e))return e.getSpanJSON();const{spanId:t,traceId:n}=e.spanContext();if(iP(e)){const{attributes:s,startTime:i,name:o,endTime:a,status:c,links:l}=e,d="parentSpanId"in e?e.parentSpanId:"parentSpanContext"in e?(r=e.parentSpanContext)==null?void 0:r.spanId:void 0;return{span_id:t,trace_id:n,data:s,description:o,parent_span_id:d,start_timestamp:_s(i),timestamp:_s(a)||void 0,status:l0(c),op:s[fr],origin:s[st],links:c0(l)}}return{span_id:t,trace_id:n,start_timestamp:0,data:{}}}function iP(e){const t=e;return!!t.attributes&&!!t.startTime&&!!t.name&&!!t.endTime&&!!t.status}function oP(e){return typeof e.getSpanJSON=="function"}function Xr(e){const{traceFlags:t}=e.spanContext();return t===Eh}function l0(e){if(!(!e||e.code===LM))return e.code===bh?"ok":e.message||"internal_error"}const bs="_sentryChildSpans",Od="_sentryRootSpan";function u0(e,t){const n=e[Od]||e;Gt(t,Od,n),e[bs]?e[bs].add(t):Gt(e,bs,new Set([t]))}function aP(e,t){e[bs]&&e[bs].delete(t)}function ic(e){const t=new Set;function n(r){if(!t.has(r)&&Xr(r)){t.add(r);const s=r[bs]?Array.from(r[bs]):[];for(const i of s)n(i)}}return n(e),Array.from(t)}function wt(e){return e[Od]||e}function Tt(){const e=Os(),t=zi(e);return t.getActiveSpan?t.getActiveSpan():Vc(Oe())}function Ld(){Lg||(br(()=>{console.warn("[Sentry] Returning null from `beforeSendSpan` is disallowed. To drop certain spans, configure the respective integrations directly or use `ignoreSpans`.")}),Lg=!0)}let Dg=!1;function cP(){if(Dg)return;function e(){const t=Tt(),n=t&&wt(t);if(n){const r="internal_error";le&&te.log(`[Tracing] Root span: ${r} -> Global error occurred`),n.setStatus({code:ht,message:r})}}e.tag="sentry_tracingErrorCallback",Dg=!0,VS(e),US(e)}function fn(e){var n;if(typeof __SENTRY_TRACING__=="boolean"&&!__SENTRY_TRACING__)return!1;const t=e||((n=Ce())==null?void 0:n.getOptions());return!!t&&(t.tracesSampleRate!=null||!!t.tracesSampler)}function Fg(e){te.log(`Ignoring span ${e.op} - ${e.description} because it matches \`ignoreSpans\`.`)}function Wc(e,t){if(!(t!=null&&t.length)||!e.description)return!1;for(const n of t){if(uP(n)){if(sc(e.description,n))return le&&Fg(e),!0;continue}if(!n.name&&!n.op)continue;const r=n.name?sc(e.description,n.name):!0,s=n.op?e.op&&sc(e.op,n.op):!0;if(r&&s)return le&&Fg(e),!0}return!1}function lP(e,t){const n=t.parent_span_id,r=t.span_id;if(n)for(const s of e)s.parent_span_id===r&&(s.parent_span_id=n)}function uP(e){return typeof e=="string"||e instanceof RegExp}const wh="production",d0="_frozenDsc";function oc(e,t){Gt(e,d0,t)}function f0(e,t){const n=t.getOptions(),{publicKey:r}=t.getDsn()||{},s={environment:n.environment||wh,release:n.release,public_key:r,trace_id:e,org_id:XM(t)};return t.emit("createDsc",s),s}function h0(e,t){const n=t.getPropagationContext();return n.dsc||f0(n.traceId,e)}function hr(e){var p;const t=Ce();if(!t)return{};const n=wt(e),r=Re(n),s=r.data,i=n.spanContext().traceState,o=(i==null?void 0:i.get("sentry.sample_rate"))??s[yh]??s[ZS];function a(m){return(typeof o=="number"||typeof o=="string")&&(m.sample_rate=`${o}`),m}const c=n[d0];if(c)return a(c);const l=i==null?void 0:i.get("sentry.dsc"),d=l&&n0(l);if(d)return a(d);const u=f0(e.spanContext().traceId,t),f=s[jt],h=r.description;return f!=="url"&&h&&(u.transaction=h),fn()&&(u.sampled=String(Xr(n)),u.sample_rand=(i==null?void 0:i.get("sentry.sample_rand"))??((p=Uc(n).scope)==null?void 0:p.getPropagationContext().sampleRand.toString())),a(u),t.emit("createDsc",u,n),u}class Vr{constructor(t={}){this._traceId=t.traceId||dr(),this._spanId=t.spanId||rr()}spanContext(){return{spanId:this._spanId,traceId:this._traceId,traceFlags:a0}}end(t){}setAttribute(t,n){return this}setAttributes(t){return this}setStatus(t){return this}updateName(t){return this}isRecording(){return!1}addEvent(t,n,r){return this}addLink(t){return this}addLinks(t){return this}recordException(t,n){}}function vn(e,t=100,n=1/0){try{return Nd("",e,t,n)}catch(r){return{ERROR:`**non-serializable** (${r})`}}}function p0(e,t=3,n=100*1024){const r=vn(e,t);return pP(r)>n?p0(e,t-1,n):r}function Nd(e,t,n=1/0,r=1/0,s=mP()){const[i,o]=s;if(t==null||["boolean","string"].includes(typeof t)||typeof t=="number"&&Number.isFinite(t))return t;const a=dP(e,t);if(!a.startsWith("[object "))return a;if(t.__sentry_skip_normalization__)return t;const c=typeof t.__sentry_override_normalization_depth__=="number"?t.__sentry_override_normalization_depth__:n;if(c===0)return a.replace("object ","");if(i(t))return"[Circular ~]";const l=t;if(l&&typeof l.toJSON=="function")try{const h=l.toJSON();return Nd("",h,c-1,r,s)}catch{}const d=Array.isArray(t)?[]:{};let u=0;const f=KS(t);for(const h in f){if(!Object.prototype.hasOwnProperty.call(f,h))continue;if(u>=r){d[h]="[MaxProperties ~]";break}const p=f[h];d[h]=Nd(h,p,c-1,r,s),u++}return o(t),d}function dP(e,t){try{if(e==="domain"&&t&&typeof t=="object"&&t._events)return"[Domain]";if(e==="domainEmitter")return"[DomainEmitter]";if(typeof global<"u"&&t===global)return"[Global]";if(typeof window<"u"&&t===window)return"[Window]";if(typeof document<"u"&&t===document)return"[Document]";if(zS(t))return HS(t);if(fM(t))return"[SyntheticEvent]";if(typeof t=="number"&&!Number.isFinite(t))return`[${t}]`;if(typeof t=="function")return`[Function: ${lr(t)}]`;if(typeof t=="symbol")return`[${String(t)}]`;if(typeof t=="bigint")return`[BigInt: ${String(t)}]`;const n=fP(t);return/^HTML(\w*)Element$/.test(n)?`[HTMLElement: ${n}]`:`[object ${n}]`}catch(n){return`**non-serializable** (${n})`}}function fP(e){const t=Object.getPrototypeOf(e);return t!=null&&t.constructor?t.constructor.name:"null prototype"}function hP(e){return~-encodeURI(e).split(/%..|./).length}function pP(e){return hP(JSON.stringify(e))}function mP(){const e=new WeakSet;function t(r){return e.has(r)?!0:(e.add(r),!1)}function n(r){e.delete(r)}return[t,n]}function Jr(e,t=[]){return[e,t]}function gP(e,t){const[n,r]=e;return[n,[...r,t]]}function Dd(e,t){const n=e[1];for(const r of n){const s=r[0].type;if(t(r,s))return!0}return!1}function vP(e,t){return Dd(e,(n,r)=>t.includes(r))}function Fd(e){const t=xl(xe);return t.encodePolyfill?t.encodePolyfill(e):new TextEncoder().encode(e)}function yP(e){const[t,n]=e;let r=JSON.stringify(t);function s(i){typeof r=="string"?r=typeof i=="string"?r+i:[Fd(r),i]:r.push(typeof i=="string"?Fd(i):i)}for(const i of n){const[o,a]=i;if(s(` -${JSON.stringify(o)} -`),typeof a=="string"||a instanceof Uint8Array)s(a);else{let c;try{c=JSON.stringify(a)}catch{c=JSON.stringify(vn(a))}s(c)}}return typeof r=="string"?r:_P(r)}function _P(e){const t=e.reduce((s,i)=>s+i.length,0),n=new Uint8Array(t);let r=0;for(const s of e)n.set(s,r),r+=s.length;return n}function bP(e){return[{type:"span"},e]}function SP(e){const t=typeof e.data=="string"?Fd(e.data):e.data;return[{type:"attachment",length:t.length,filename:e.filename,content_type:e.contentType,attachment_type:e.attachmentType},t]}const EP={session:"session",sessions:"session",attachment:"attachment",transaction:"transaction",event:"error",client_report:"internal",user_report:"default",profile:"profile",profile_chunk:"profile",replay_event:"replay",replay_recording:"replay",check_in:"monitor",feedback:"feedback",span:"span",raw_security:"security",log:"log_item",metric:"metric",trace_metric:"metric"};function $g(e){return EP[e]}function Ch(e){if(!(e!=null&&e.sdk))return;const{name:t,version:n}=e.sdk;return{name:t,version:n}}function m0(e,t,n,r){var i;const s=(i=e.sdkProcessingMetadata)==null?void 0:i.dynamicSamplingContext;return{event_id:e.event_id,sent_at:new Date().toISOString(),...t&&{sdk:t},...!!n&&r&&{dsn:Gi(r)},...s&&{trace:s}}}function wP(e,t){var r,s,i,o;if(!t)return e;const n=e.sdk||{};return e.sdk={...n,name:n.name||t.name,version:n.version||t.version,integrations:[...((r=e.sdk)==null?void 0:r.integrations)||[],...t.integrations||[]],packages:[...((s=e.sdk)==null?void 0:s.packages)||[],...t.packages||[]],settings:(i=e.sdk)!=null&&i.settings||t.settings?{...(o=e.sdk)==null?void 0:o.settings,...t.settings}:void 0},e}function CP(e,t,n,r){const s=Ch(n),i={sent_at:new Date().toISOString(),...s&&{sdk:s},...!!r&&t&&{dsn:Gi(t)}},o="aggregates"in e?[{type:"sessions"},e]:[{type:"session"},e.toJSON()];return Jr(i,[o])}function TP(e,t,n,r){const s=Ch(n),i=e.type&&e.type!=="replay_event"?e.type:"event";wP(e,n==null?void 0:n.sdk);const o=m0(e,s,r,t);return delete e.sdkProcessingMetadata,Jr(o,[[{type:i},e]])}function kP(e,t){function n(h){return!!h.trace_id&&!!h.public_key}const r=hr(e[0]),s=t==null?void 0:t.getDsn(),i=t==null?void 0:t.getOptions().tunnel,o={sent_at:new Date().toISOString(),...n(r)&&{trace:r},...!!i&&s&&{dsn:Gi(s)}},{beforeSendSpan:a,ignoreSpans:c}=(t==null?void 0:t.getOptions())||{},l=c!=null&&c.length?e.filter(h=>!Wc(Re(h),c)):e,d=e.length-l.length;d&&(t==null||t.recordDroppedEvent("before_send","span",d));const u=a?h=>{const p=Re(h),m=a(p);return m||(Ld(),p)}:Re,f=[];for(const h of l){const p=u(h);p&&f.push(bP(p))}return Jr(o,f)}function IP(e){if(!le)return;const{description:t="< unknown name >",op:n="< unknown op >",parent_span_id:r}=Re(e),{spanId:s}=e.spanContext(),i=Xr(e),o=wt(e),a=o===e,c=`[Tracing] Starting ${i?"sampled":"unsampled"} ${a?"root ":""}span`,l=[`op: ${n}`,`name: ${t}`,`ID: ${s}`];if(r&&l.push(`parent ID: ${r}`),!a){const{op:d,description:u}=Re(o);l.push(`root ID: ${o.spanContext().spanId}`),d&&l.push(`root op: ${d}`),u&&l.push(`root description: ${u}`)}te.log(`${c} - ${l.join(` - `)}`)}function xP(e){if(!le)return;const{description:t="< unknown name >",op:n="< unknown op >"}=Re(e),{spanId:r}=e.spanContext(),i=wt(e)===e,o=`[Tracing] Finishing "${n}" ${i?"root ":""}span "${t}" with ID ${r}`;te.log(o)}function RP(e,t,n,r=Tt()){const s=r&&wt(r);s&&(le&&te.log(`[Measurement] Setting measurement on root span: ${e} = ${t} ${n}`),s.addEvent(e,{[pa]:t,[ha]:n}))}function Bg(e){if(!e||e.length===0)return;const t={};return e.forEach(n=>{const r=n.attributes||{},s=r[ha],i=r[pa];typeof s=="string"&&typeof i=="number"&&(t[n.name]={value:i,unit:s})}),t}const Hg=1e3;class Pl{constructor(t={}){this._traceId=t.traceId||dr(),this._spanId=t.spanId||rr(),this._startTime=t.startTimestamp||lt(),this._links=t.links,this._attributes={},this.setAttributes({[st]:"manual",[fr]:t.op,...t.attributes}),this._name=t.name,t.parentSpanId&&(this._parentSpanId=t.parentSpanId),"sampled"in t&&(this._sampled=t.sampled),t.endTimestamp&&(this._endTime=t.endTimestamp),this._events=[],this._isStandaloneSpan=t.isStandalone,this._endTime&&this._onSpanEnded()}addLink(t){return this._links?this._links.push(t):this._links=[t],this}addLinks(t){return this._links?this._links.push(...t):this._links=t,this}recordException(t,n){}spanContext(){const{_spanId:t,_traceId:n,_sampled:r}=this;return{spanId:t,traceId:n,traceFlags:r?Eh:a0}}setAttribute(t,n){return n===void 0?delete this._attributes[t]:this._attributes[t]=n,this}setAttributes(t){return Object.keys(t).forEach(n=>this.setAttribute(n,t[n])),this}updateStartTime(t){this._startTime=_s(t)}setStatus(t){return this._status=t,this}updateName(t){return this._name=t,this.setAttribute(jt,"custom"),this}end(t){this._endTime||(this._endTime=_s(t),xP(this),this._onSpanEnded())}getSpanJSON(){return{data:this._attributes,description:this._name,op:this._attributes[fr],parent_span_id:this._parentSpanId,span_id:this._spanId,start_timestamp:this._startTime,status:l0(this._status),timestamp:this._endTime,trace_id:this._traceId,origin:this._attributes[st],profile_id:this._attributes[_h],exclusive_time:this._attributes[qi],measurements:Bg(this._events),is_segment:this._isStandaloneSpan&&wt(this)===this||void 0,segment_id:this._isStandaloneSpan?wt(this).spanContext().spanId:void 0,links:c0(this._links)}}isRecording(){return!this._endTime&&!!this._sampled}addEvent(t,n,r){le&&te.log("[Tracing] Adding an event to span:",t);const s=Vg(n)?n:r||lt(),i=Vg(n)?{}:n||{},o={name:t,time:_s(s),attributes:i};return this._events.push(o),this}isStandaloneSpan(){return!!this._isStandaloneSpan}_onSpanEnded(){const t=Ce();if(t&&t.emit("spanEnd",this),!(this._isStandaloneSpan||this===wt(this)))return;if(this._isStandaloneSpan){this._sampled?MP(kP([this],t)):(le&&te.log("[Tracing] Discarding standalone span because its trace was not chosen to be sampled."),t&&t.recordDroppedEvent("sample_rate","span"));return}const r=this._convertSpanToTransaction();r&&(Uc(this).scope||Oe()).captureEvent(r)}_convertSpanToTransaction(){var d;if(!Ug(Re(this)))return;this._name||(le&&te.warn("Transaction has no name, falling back to ``."),this._name="");const{scope:t,isolationScope:n}=Uc(this),r=(d=t==null?void 0:t.getScopeData().sdkProcessingMetadata)==null?void 0:d.normalizedRequest;if(this._sampled!==!0)return;const i=ic(this).filter(u=>u!==this&&!AP(u)).map(u=>Re(u)).filter(Ug),o=this._attributes[jt];delete this._attributes[Pg],i.forEach(u=>{delete u.data[Pg]});const a={contexts:{trace:tP(this)},spans:i.length>Hg?i.sort((u,f)=>u.start_timestamp-f.start_timestamp).slice(0,Hg):i,start_timestamp:this._startTime,timestamp:this._endTime,transaction:this._name,type:"transaction",sdkProcessingMetadata:{capturedSpanScope:t,capturedSpanIsolationScope:n,dynamicSamplingContext:hr(this)},request:r,...o&&{transaction_info:{source:o}}},c=Bg(this._events);return c&&Object.keys(c).length&&(le&&te.log("[Measurements] Adding measurements to transaction event",JSON.stringify(c,void 0,2)),a.measurements=c),a}}function Vg(e){return e&&typeof e=="number"||e instanceof Date||Array.isArray(e)}function Ug(e){return!!e.start_timestamp&&!!e.timestamp&&!!e.span_id&&!!e.trace_id}function AP(e){return e instanceof Pl&&e.isStandaloneSpan()}function MP(e){const t=Ce();if(!t)return;const n=e[1];if(!n||n.length===0){t.recordDroppedEvent("before_send","span");return}t.sendEnvelope(e)}function PP(e,t,n=()=>{},r=()=>{}){let s;try{s=e()}catch(i){throw t(i),n(),i}return OP(s,t,n,r)}function OP(e,t,n,r){return ji(e)?e.then(s=>(n(),r(s),s),s=>{throw t(s),n(),s}):(n(),r(e),e)}function LP(e,t,n){if(!fn(e))return[!1];let r,s;typeof e.tracesSampler=="function"?(s=e.tracesSampler({...t,inheritOrSampleWith:a=>typeof t.parentSampleRate=="number"?t.parentSampleRate:typeof t.parentSampled=="boolean"?Number(t.parentSampled):a}),r=!0):t.parentSampled!==void 0?s=t.parentSampled:typeof e.tracesSampleRate<"u"&&(s=e.tracesSampleRate,r=!0);const i=Is(s);if(i===void 0)return le&&te.warn(`[Tracing] Discarding root span because of invalid sample rate. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(s)} of type ${JSON.stringify(typeof s)}.`),[!1];if(!i)return le&&te.log(`[Tracing] Discarding transaction because ${typeof e.tracesSampler=="function"?"tracesSampler returned 0 or false":"a negative sampling decision was inherited or tracesSampleRate is set to 0"}`),[!1,i,r];const o=nFP(i)(()=>{const l=Oe(),d=_0(l,i),f=e.onlyIfParent&&!d?new Vr:v0({parentSpan:d,spanArguments:r,forceTransaction:s,scope:l});return Ti(l,f),PP(()=>t(f),()=>{const{status:h}=Re(f);f.isRecording()&&(!h||h==="ok")&&f.setStatus({code:ht,message:"internal_error"})},()=>{f.end()})}))}function Ur(e){const t=kh();if(t.startInactiveSpan)return t.startInactiveSpan(e);const n=y0(e),{forceTransaction:r,parentSpan:s}=e;return(e.scope?o=>Ml(e.scope,o):s!==void 0?o=>Th(s,o):o=>o())(()=>{const o=Oe(),a=_0(o,s);return e.onlyIfParent&&!a?new Vr:v0({parentSpan:a,spanArguments:n,forceTransaction:r,scope:o})})}function Th(e,t){const n=kh();return n.withActiveSpan?n.withActiveSpan(e,t):Ml(r=>(Ti(r,e||void 0),t(r)))}function v0({parentSpan:e,spanArguments:t,forceTransaction:n,scope:r}){if(!fn()){const o=new Vr;if(n||!e){const a={sampled:"false",sample_rate:"0",transaction:t.name,...hr(o)};oc(o,a)}return o}const s=$t();let i;if(e&&!n)i=DP(e,r,t),u0(e,i);else if(e){const o=hr(e),{traceId:a,spanId:c}=e.spanContext(),l=Xr(e);i=Wg({traceId:a,parentSpanId:c,...t},r,l),oc(i,o)}else{const{traceId:o,dsc:a,parentSpanId:c,sampled:l}={...s.getPropagationContext(),...r.getPropagationContext()};i=Wg({traceId:o,parentSpanId:c,...t},r,l),a&&oc(i,a)}return IP(i),$M(i,r,s),i}function y0(e){const n={isStandalone:(e.experimental||{}).standalone,...e};if(e.startTime){const r={...n};return r.startTimestamp=_s(e.startTime),delete r.startTime,r}return n}function kh(){const e=Os();return zi(e)}function Wg(e,t,n){var p;const r=Ce(),s=(r==null?void 0:r.getOptions())||{},{name:i=""}=e,o={spanAttributes:{...e.attributes},spanName:i,parentSampled:n};r==null||r.emit("beforeSampling",o,{decision:!1});const a=o.parentSampled??n,c=o.spanAttributes,l=t.getPropagationContext(),[d,u,f]=t.getScopeData().sdkProcessingMetadata[g0]?[!1]:LP(s,{name:i,parentSampled:a,attributes:c,parentSampleRate:Is((p=l.dsc)==null?void 0:p.sample_rate)},l.sampleRand),h=new Pl({...e,attributes:{[jt]:"custom",[yh]:u!==void 0&&f?u:void 0,...c},sampled:d});return!d&&r&&(le&&te.log("[Tracing] Discarding root span because its trace was not chosen to be sampled."),r.recordDroppedEvent("sample_rate","transaction")),r&&r.emit("spanStart",h),h}function DP(e,t,n){const{spanId:r,traceId:s}=e.spanContext(),i=t.getScopeData().sdkProcessingMetadata[g0]?!1:Xr(e),o=i?new Pl({...n,parentSpanId:r,traceId:s,sampled:i}):new Vr({traceId:s});u0(e,o);const a=Ce();return a&&(a.emit("spanStart",o),n.endTimestamp&&a.emit("spanEnd",o)),o}function _0(e,t){if(t)return t;if(t===null)return;const n=Vc(e);if(!n)return;const r=Ce();return(r?r.getOptions():{}).parentSpanIsAlwaysRootSpan?wt(n):n}function FP(e){return e!==void 0?t=>Th(e,t):t=>t()}const ac={idleTimeout:1e3,finalTimeout:3e4,childSpanTimeout:15e3},$P="heartbeatFailed",BP="idleTimeout",HP="finalTimeout",VP="externalFinish";function b0(e,t={}){const n=new Map;let r=!1,s,i=VP,o=!t.disableAutoFinish;const a=[],{idleTimeout:c=ac.idleTimeout,finalTimeout:l=ac.finalTimeout,childSpanTimeout:d=ac.childSpanTimeout,beforeSpanEnd:u,trimIdleSpanEndTimestamp:f=!0}=t,h=Ce();if(!h||!fn()){const S=new Vr,b={sample_rate:"0",sampled:"false",...hr(S)};return oc(S,b),S}const p=Oe(),m=Tt(),v=UP(e);v.end=new Proxy(v.end,{apply(S,b,k){if(u&&u(v),b instanceof Vr)return;const[R,...M]=k,T=R||lt(),O=_s(T),$=ic(v).filter(U=>U!==v),K=Re(v);if(!$.length||!f)return x(O),Reflect.apply(S,b,[O,...M]);const Z=h.getOptions().ignoreSpans,z=$==null?void 0:$.reduce((U,J)=>{const re=Re(J);return!re.timestamp||Z&&Wc(re,Z)?U:U?Math.max(U,re.timestamp):re.timestamp},void 0),N=K.start_timestamp,oe=Math.min(N?N+l/1e3:1/0,Math.max(N||-1/0,Math.min(O,z||1/0)));return x(oe),Reflect.apply(S,b,[oe,...M])}});function g(){s&&(clearTimeout(s),s=void 0)}function y(S){g(),s=setTimeout(()=>{!r&&n.size===0&&o&&(i=BP,v.end(S))},c)}function C(S){s=setTimeout(()=>{!r&&o&&(i=$P,v.end(S))},d)}function w(S){g(),n.set(S,!0);const b=lt();C(b+d/1e3)}function I(S){if(n.has(S)&&n.delete(S),n.size===0){const b=lt();y(b+c/1e3)}}function x(S){r=!0,n.clear(),a.forEach($=>$()),Ti(p,m);const b=Re(v),{start_timestamp:k}=b;if(!k)return;b.data[zo]||v.setAttribute(zo,i);const M=b.status;(!M||M==="unknown")&&v.setStatus({code:bh}),te.log(`[Tracing] Idle span "${b.op}" finished`);const T=ic(v).filter($=>$!==v);let O=0;T.forEach($=>{$.isRecording()&&($.setStatus({code:ht,message:"cancelled"}),$.end(S),le&&te.log("[Tracing] Cancelling span since span ended early",JSON.stringify($,void 0,2)));const K=Re($),{timestamp:Z=0,start_timestamp:z=0}=K,N=z<=S,oe=(l+c)/1e3,U=Z-z<=oe;if(le){const J=JSON.stringify($,void 0,2);N?U||te.log("[Tracing] Discarding span since it finished after idle span final timeout",J):te.log("[Tracing] Discarding span since it happened after idle span was finished",J)}(!U||!N)&&(aP(v,$),O++)}),O>0&&v.setAttribute("sentry.idle_span_discarded_spans",O)}return a.push(h.on("spanStart",S=>{if(r||S===v||Re(S).timestamp||S instanceof Pl&&S.isStandaloneSpan())return;ic(v).includes(S)&&w(S.spanContext().spanId)})),a.push(h.on("spanEnd",S=>{r||I(S.spanContext().spanId)})),a.push(h.on("idleSpanEnableAutoFinish",S=>{S===v&&(o=!0,y(),n.size&&C())})),t.disableAutoFinish||y(),setTimeout(()=>{r||(v.setStatus({code:ht,message:"deadline_exceeded"}),i=HP,v.end())},l),v}function UP(e){const t=Ur(e);return Ti(Oe(),t),le&&te.log("[Tracing] Started span is an idle span"),t}const ku=0,jg=1,zg=2;function ma(e){return new qo(t=>{t(e)})}function Ih(e){return new qo((t,n)=>{n(e)})}class qo{constructor(t){this._state=ku,this._handlers=[],this._runExecutor(t)}then(t,n){return new qo((r,s)=>{this._handlers.push([!1,i=>{if(!t)r(i);else try{r(t(i))}catch(o){s(o)}},i=>{if(!n)s(i);else try{r(n(i))}catch(o){s(o)}}]),this._executeHandlers()})}catch(t){return this.then(n=>n,t)}finally(t){return new qo((n,r)=>{let s,i;return this.then(o=>{i=!1,s=o,t&&t()},o=>{i=!0,s=o,t&&t()}).then(()=>{if(i){r(s);return}n(s)})})}_executeHandlers(){if(this._state===ku)return;const t=this._handlers.slice();this._handlers=[],t.forEach(n=>{n[0]||(this._state===jg&&n[1](this._value),this._state===zg&&n[2](this._value),n[0]=!0)})}_runExecutor(t){const n=(i,o)=>{if(this._state===ku){if(ji(o)){o.then(r,s);return}this._state=i,this._value=o,this._executeHandlers()}},r=i=>{n(jg,i)},s=i=>{n(zg,i)};try{t(r,s)}catch(i){s(i)}}}function WP(e,t,n,r=0){try{const s=$d(t,n,e,r);return ji(s)?s:ma(s)}catch(s){return Ih(s)}}function $d(e,t,n,r){const s=n[r];if(!e||!s)return e;const i=s({...e},t);return le&&i===null&&te.log(`Event processor "${s.id||"?"}" dropped event`),ji(i)?i.then(o=>$d(o,t,n,r+1)):$d(i,t,n,r+1)}let Kn,qg,Gg,wr;function jP(e){const t=xe._sentryDebugIds,n=xe._debugIds;if(!t&&!n)return{};const r=t?Object.keys(t):[],s=n?Object.keys(n):[];if(wr&&r.length===qg&&s.length===Gg)return wr;qg=r.length,Gg=s.length,wr={},Kn||(Kn={});const i=(o,a)=>{for(const c of o){const l=a[c],d=Kn==null?void 0:Kn[c];if(d&&wr&&l)wr[d[0]]=l,Kn&&(Kn[c]=[d[0],l]);else if(l){const u=e(c);for(let f=u.length-1;f>=0;f--){const h=u[f],p=h==null?void 0:h.filename;if(p&&wr&&Kn){wr[p]=l,Kn[c]=[p,l];break}}}}};return t&&i(r,t),n&&i(s,n),wr}function zP(e,t){const{fingerprint:n,span:r,breadcrumbs:s,sdkProcessingMetadata:i}=t;qP(e,t),r&&YP(e,r),XP(e,n),GP(e,s),KP(e,i)}function Kg(e,t){const{extra:n,tags:r,attributes:s,user:i,contexts:o,level:a,sdkProcessingMetadata:c,breadcrumbs:l,fingerprint:d,eventProcessors:u,attachments:f,propagationContext:h,transactionName:p,span:m}=t;io(e,"extra",n),io(e,"tags",r),io(e,"attributes",s),io(e,"user",i),io(e,"contexts",o),e.sdkProcessingMetadata=fa(e.sdkProcessingMetadata,c,2),a&&(e.level=a),p&&(e.transactionName=p),m&&(e.span=m),l.length&&(e.breadcrumbs=[...e.breadcrumbs,...l]),d.length&&(e.fingerprint=[...e.fingerprint,...d]),u.length&&(e.eventProcessors=[...e.eventProcessors,...u]),f.length&&(e.attachments=[...e.attachments,...f]),e.propagationContext={...e.propagationContext,...h}}function io(e,t,n){e[t]=fa(e[t],n,1)}function S0(e,t){const n=JS().getScopeData();return e&&Kg(n,e.getScopeData()),t&&Kg(n,t.getScopeData()),n}function qP(e,t){const{extra:n,tags:r,user:s,contexts:i,level:o,transactionName:a}=t;Object.keys(n).length&&(e.extra={...n,...e.extra}),Object.keys(r).length&&(e.tags={...r,...e.tags}),Object.keys(s).length&&(e.user={...s,...e.user}),Object.keys(i).length&&(e.contexts={...i,...e.contexts}),o&&(e.level=o),a&&e.type!=="transaction"&&(e.transaction=a)}function GP(e,t){const n=[...e.breadcrumbs||[],...t];e.breadcrumbs=n.length?n:void 0}function KP(e,t){e.sdkProcessingMetadata={...e.sdkProcessingMetadata,...t}}function YP(e,t){e.contexts={trace:nP(t),...e.contexts},e.sdkProcessingMetadata={dynamicSamplingContext:hr(t),...e.sdkProcessingMetadata};const n=wt(t),r=Re(n).description;r&&!e.transaction&&e.type==="transaction"&&(e.transaction=r)}function XP(e,t){e.fingerprint=e.fingerprint?Array.isArray(e.fingerprint)?e.fingerprint:[e.fingerprint]:[],t&&(e.fingerprint=e.fingerprint.concat(t)),e.fingerprint.length||delete e.fingerprint}function E0(e,t,n,r,s,i){const{normalizeDepth:o=3,normalizeMaxBreadth:a=1e3}=e,c={...t,event_id:t.event_id||n.event_id||tn(),timestamp:t.timestamp||Ns()},l=n.integrations||e.integrations.map(g=>g.name);JP(c,e),eO(c,l),s&&s.emit("applyFrameMetadata",t),t.type===void 0&&ZP(c,e.stackParser);const d=nO(r,n.captureContext);n.mechanism&&wi(c,n.mechanism);const u=s?s.getEventProcessors():[],f=S0(i,d),h=[...n.attachments||[],...f.attachments];h.length&&(n.attachments=h),zP(c,f);const p=[...u,...f.eventProcessors];return(n.data&&n.data.__sentry__===!0?ma(c):WP(p,c,n)).then(g=>(g&&QP(g),typeof o=="number"&&o>0?tO(g,o,a):g))}function JP(e,t){var a,c;const{environment:n,release:r,dist:s,maxValueLength:i}=t;e.environment=e.environment||n||wh,!e.release&&r&&(e.release=r),!e.dist&&s&&(e.dist=s);const o=e.request;o!=null&&o.url&&i&&(o.url=Ad(o.url,i)),i&&((c=(a=e.exception)==null?void 0:a.values)==null||c.forEach(l=>{l.value&&(l.value=Ad(l.value,i))}))}function ZP(e,t){var r,s;const n=jP(t);(s=(r=e.exception)==null?void 0:r.values)==null||s.forEach(i=>{var o,a;(a=(o=i.stacktrace)==null?void 0:o.frames)==null||a.forEach(c=>{c.filename&&(c.debug_id=n[c.filename])})})}function QP(e){var r,s;const t={};if((s=(r=e.exception)==null?void 0:r.values)==null||s.forEach(i=>{var o,a;(a=(o=i.stacktrace)==null?void 0:o.frames)==null||a.forEach(c=>{c.debug_id&&(c.abs_path?t[c.abs_path]=c.debug_id:c.filename&&(t[c.filename]=c.debug_id),delete c.debug_id)})}),Object.keys(t).length===0)return;e.debug_meta=e.debug_meta||{},e.debug_meta.images=e.debug_meta.images||[];const n=e.debug_meta.images;Object.entries(t).forEach(([i,o])=>{n.push({type:"sourcemap",code_file:i,debug_id:o})})}function eO(e,t){t.length>0&&(e.sdk=e.sdk||{},e.sdk.integrations=[...e.sdk.integrations||[],...t])}function tO(e,t,n){var s,i;if(!e)return null;const r={...e,...e.breadcrumbs&&{breadcrumbs:e.breadcrumbs.map(o=>({...o,...o.data&&{data:vn(o.data,t,n)}}))},...e.user&&{user:vn(e.user,t,n)},...e.contexts&&{contexts:vn(e.contexts,t,n)},...e.extra&&{extra:vn(e.extra,t,n)}};return(s=e.contexts)!=null&&s.trace&&r.contexts&&(r.contexts.trace=e.contexts.trace,e.contexts.trace.data&&(r.contexts.trace.data=vn(e.contexts.trace.data,t,n))),e.spans&&(r.spans=e.spans.map(o=>({...o,...o.data&&{data:vn(o.data,t,n)}}))),(i=e.contexts)!=null&&i.flags&&r.contexts&&(r.contexts.flags=vn(e.contexts.flags,3,n)),r}function nO(e,t){if(!t)return e;const n=e?e.clone():new jn;return n.update(t),n}function rO(e){if(e)return sO(e)?{captureContext:e}:oO(e)?{captureContext:e}:e}function sO(e){return e instanceof jn||typeof e=="function"}const iO=["user","level","extra","contexts","tags","fingerprint","propagationContext"];function oO(e){return Object.keys(e).some(t=>iO.includes(t))}function Ol(e,t){return Oe().captureException(e,rO(t))}function w0(e,t){return Oe().captureEvent(e,t)}function aO(e,t){$t().setContext(e,t)}function cO(e,t){$t().setTag(e,t)}function lO(e){$t().setUser(e)}function uO(){const e=Ce();return(e==null?void 0:e.getOptions().enabled)!==!1&&!!(e!=null&&e.getTransport())}function dO(e){$t().addEventProcessor(e)}function Yg(e){const t=$t(),{user:n}=S0(t,Oe()),{userAgent:r}=xe.navigator||{},s=SM({user:n,...r&&{userAgent:r},...e}),i=t.getSession();return(i==null?void 0:i.status)==="ok"&&Ci(i,{status:"exited"}),C0(),t.setSession(s),s}function C0(){const e=$t(),n=Oe().getSession()||e.getSession();n&&EM(n),T0(),e.setSession()}function T0(){const e=$t(),t=Ce(),n=e.getSession();n&&t&&t.captureSession(n)}function Iu(e=!1){if(e){C0();return}T0()}const fO="7";function hO(e){const t=e.protocol?`${e.protocol}:`:"",n=e.port?`:${e.port}`:"";return`${t}//${e.host}${n}${e.path?`/${e.path}`:""}/api/`}function pO(e){return`${hO(e)}${e.projectId}/envelope/`}function mO(e,t){const n={sentry_version:fO};return e.publicKey&&(n.sentry_key=e.publicKey),t&&(n.sentry_client=`${t.name}/${t.version}`),new URLSearchParams(n).toString()}function gO(e,t,n){return t||`${pO(e)}?${mO(e,n)}`}const Xg=[];function vO(e){const t={};return e.forEach(n=>{const{name:r}=n,s=t[r];s&&!s.isDefaultInstance&&n.isDefaultInstance||(t[r]=n)}),Object.values(t)}function yO(e){const t=e.defaultIntegrations||[],n=e.integrations;t.forEach(s=>{s.isDefaultInstance=!0});let r;if(Array.isArray(n))r=[...t,...n];else if(typeof n=="function"){const s=n(t);r=Array.isArray(s)?s:[s]}else r=t;return vO(r)}function _O(e,t){const n={};return t.forEach(r=>{r&&k0(e,r,n)}),n}function Jg(e,t){for(const n of t)n!=null&&n.afterAllSetup&&n.afterAllSetup(e)}function k0(e,t,n){if(n[t.name]){le&&te.log(`Integration skipped because it was already installed: ${t.name}`);return}if(n[t.name]=t,!Xg.includes(t.name)&&typeof t.setupOnce=="function"&&(t.setupOnce(),Xg.push(t.name)),t.setup&&typeof t.setup=="function"&&t.setup(e),typeof t.preprocessEvent=="function"){const r=t.preprocessEvent.bind(t);e.on("preprocessEvent",(s,i)=>r(s,i,e))}if(typeof t.processEvent=="function"){const r=t.processEvent.bind(t),s=Object.assign((i,o)=>r(i,o,e),{id:t.name});e.addEventProcessor(s)}le&&te.log(`Integration installed: ${t.name}`)}function Zg(e){const t=Ce();if(!t){le&&te.warn(`Cannot add integration "${e.name}" because no SDK Client is available.`);return}t.addIntegration(e)}function bO(e){return[{type:"log",item_count:e.length,content_type:"application/vnd.sentry.items.log+json"},{items:e}]}function SO(e,t,n,r){const s={};return t!=null&&t.sdk&&(s.sdk={name:t.sdk.name,version:t.sdk.version}),n&&r&&(s.dsn=Gi(r)),Jr(s,[bO(e)])}function Bd(e,t){const n=t??EO(e)??[];if(n.length===0)return;const r=e.getOptions(),s=SO(n,r._metadata,r.tunnel,e.getDsn());I0().set(e,[]),e.emit("flushLogs"),e.sendEnvelope(s)}function EO(e){return I0().get(e)}function I0(){return Ui("clientToLogBufferMap",()=>new WeakMap)}function wO(e){return[{type:"trace_metric",item_count:e.length,content_type:"application/vnd.sentry.items.trace-metric+json"},{items:e}]}function CO(e,t,n,r){const s={};return t!=null&&t.sdk&&(s.sdk={name:t.sdk.name,version:t.sdk.version}),n&&r&&(s.dsn=Gi(r)),Jr(s,[wO(e)])}function x0(e,t){const n=t??TO(e)??[];if(n.length===0)return;const r=e.getOptions(),s=CO(n,r._metadata,r.tunnel,e.getDsn());R0().set(e,[]),e.emit("flushMetrics"),e.sendEnvelope(s)}function TO(e){return R0().get(e)}function R0(){return Ui("clientToMetricBufferMap",()=>new WeakMap)}function A0(e){return typeof e=="object"&&typeof e.unref=="function"&&e.unref(),e}const xh=Symbol.for("SentryBufferFullError");function Rh(e=100){const t=new Set;function n(){return t.sizer(a),()=>r(a)),a}function i(o){if(!t.size)return ma(!0);const a=Promise.allSettled(Array.from(t)).then(()=>!0);if(!o)return a;const c=[a,new Promise(l=>A0(setTimeout(()=>l(!1),o)))];return Promise.race(c)}return{get $(){return Array.from(t)},add:s,drain:i}}const kO=60*1e3;function IO(e,t=da()){const n=parseInt(`${e}`,10);if(!isNaN(n))return n*1e3;const r=Date.parse(`${e}`);return isNaN(r)?kO:r-t}function xO(e,t){return e[t]||e.all||0}function M0(e,t,n=da()){return xO(e,t)>n}function P0(e,{statusCode:t,headers:n},r=da()){const s={...e},i=n==null?void 0:n["x-sentry-rate-limits"],o=n==null?void 0:n["retry-after"];if(i)for(const a of i.trim().split(",")){const[c,l,,,d]=a.split(":",5),u=parseInt(c,10),f=(isNaN(u)?60:u)*1e3;if(!l)s.all=r+f;else for(const h of l.split(";"))h==="metric_bucket"?(!d||d.split(";").includes("custom"))&&(s[h]=r+f):s[h]=r+f}else o?s.all=r+IO(o,r):t===429&&(s.all=r+60*1e3);return s}const O0=64;function RO(e,t,n=Rh(e.bufferSize||O0)){let r={};const s=o=>n.drain(o);function i(o){const a=[];if(Dd(o,(u,f)=>{const h=$g(f);M0(r,h)?e.recordDroppedEvent("ratelimit_backoff",h):a.push(u)}),a.length===0)return Promise.resolve({});const c=Jr(o[0],a),l=u=>{if(vP(c,["client_report"])){le&&te.warn(`Dropping client report. Will not send outcomes (reason: ${u}).`);return}Dd(c,(f,h)=>{e.recordDroppedEvent(u,$g(h))})},d=()=>t({body:yP(c)}).then(u=>u.statusCode===413?(le&&te.error("Sentry responded with status code 413. Envelope was discarded due to exceeding size limits."),l("send_error"),u):(le&&u.statusCode!==void 0&&(u.statusCode<200||u.statusCode>=300)&&te.warn(`Sentry responded with status code ${u.statusCode} to sent event.`),r=P0(r,u),u),u=>{throw l("network_error"),le&&te.error("Encountered error running transport request:",u),u});return n.add(d).then(u=>u,u=>{if(u===xh)return le&&te.error("Skipped sending event because buffer is full."),l("queue_overflow"),Promise.resolve({});throw u})}return{send:i,flush:s}}function AO(e,t,n){const r=[{type:"client_report"},{timestamp:Ns(),discarded_events:e}];return Jr(t?{dsn:t}:{},[r])}function L0(e){const t=[];e.message&&t.push(e.message);try{const n=e.exception.values[e.exception.values.length-1];n!=null&&n.value&&(t.push(n.value),n.type&&t.push(`${n.type}: ${n.value}`))}catch{}return t}function MO(e){var c;const{trace_id:t,parent_span_id:n,span_id:r,status:s,origin:i,data:o,op:a}=((c=e.contexts)==null?void 0:c.trace)??{};return{data:o??{},description:e.transaction,op:a,parent_span_id:n,span_id:r??"",start_timestamp:e.start_timestamp??0,status:s,timestamp:e.timestamp,trace_id:t??"",origin:i,profile_id:o==null?void 0:o[_h],exclusive_time:o==null?void 0:o[qi],measurements:e.measurements,is_segment:!0}}function PO(e){return{type:"transaction",timestamp:e.timestamp,start_timestamp:e.start_timestamp,transaction:e.description,contexts:{trace:{trace_id:e.trace_id,span_id:e.span_id,parent_span_id:e.parent_span_id,op:e.op,status:e.status,origin:e.origin,data:{...e.data,...e.profile_id&&{[_h]:e.profile_id},...e.exclusive_time&&{[qi]:e.exclusive_time}}}},measurements:e.measurements}}const Qg="Not capturing exception because it's already been captured.",ev="Discarded session because of missing or non-string release",N0=Symbol.for("SentryInternalError"),D0=Symbol.for("SentryDoNotSendEventError"),OO=5e3;function cc(e){return{message:e,[N0]:!0}}function xu(e){return{message:e,[D0]:!0}}function tv(e){return!!e&&typeof e=="object"&&N0 in e}function nv(e){return!!e&&typeof e=="object"&&D0 in e}function rv(e,t,n,r,s){let i=0,o,a=!1;e.on(n,()=>{i=0,clearTimeout(o),a=!1}),e.on(t,c=>{i+=r(c),i>=8e5?s(e):a||(a=!0,o=A0(setTimeout(()=>{s(e)},OO)))}),e.on("flush",()=>{s(e)})}class LO{constructor(t){var r,s,i;if(this._options=t,this._integrations={},this._numProcessing=0,this._outcomes={},this._hooks={},this._eventProcessors=[],this._promiseBuffer=Rh(((r=t.transportOptions)==null?void 0:r.bufferSize)??O0),t.dsn?this._dsn=JM(t.dsn):le&&te.warn("No DSN provided, client will not send events."),this._dsn){const o=gO(this._dsn,t.tunnel,t._metadata?t._metadata.sdk:void 0);this._transport=t.transport({tunnel:this._options.tunnel,recordDroppedEvent:this.recordDroppedEvent.bind(this),...t.transportOptions,url:o})}this._options.enableLogs=this._options.enableLogs??((s=this._options._experiments)==null?void 0:s.enableLogs),this._options.enableLogs&&rv(this,"afterCaptureLog","flushLogs",$O,Bd),(this._options.enableMetrics??((i=this._options._experiments)==null?void 0:i.enableMetrics)??!0)&&rv(this,"afterCaptureMetric","flushMetrics",FO,x0)}captureException(t,n,r){const s=tn();if(Rg(t))return le&&te.log(Qg),s;const i={event_id:s,...n};return this._process(()=>this.eventFromException(t,i).then(o=>this._captureEvent(o,i,r)).then(o=>o),"error"),i.event_id}captureMessage(t,n,r,s){const i={event_id:tn(),...r},o=ph(t)?t:String(t),a=Ei(t),c=a?this.eventFromMessage(o,n,i):this.eventFromException(t,i);return this._process(()=>c.then(l=>this._captureEvent(l,i,s)),a?"unknown":"error"),i.event_id}captureEvent(t,n,r){const s=tn();if(n!=null&&n.originalException&&Rg(n.originalException))return le&&te.log(Qg),s;const i={event_id:s,...n},o=t.sdkProcessingMetadata||{},a=o.capturedSpanScope,c=o.capturedSpanIsolationScope,l=sv(t.type);return this._process(()=>this._captureEvent(t,i,a||r,c),l),i.event_id}captureSession(t){this.sendSession(t),Ci(t,{init:!1})}getDsn(){return this._dsn}getOptions(){return this._options}getSdkMetadata(){return this._options._metadata}getTransport(){return this._transport}async flush(t){const n=this._transport;if(!n)return!0;this.emit("flush");const r=await this._isClientDoneProcessing(t),s=await n.flush(t);return r&&s}async close(t){Bd(this);const n=await this.flush(t);return this.getOptions().enabled=!1,this.emit("close"),n}getEventProcessors(){return this._eventProcessors}addEventProcessor(t){this._eventProcessors.push(t)}init(){(this._isEnabled()||this._options.integrations.some(({name:t})=>t.startsWith("Spotlight")))&&this._setupIntegrations()}getIntegrationByName(t){return this._integrations[t]}addIntegration(t){const n=this._integrations[t.name];k0(this,t,this._integrations),n||Jg(this,[t])}sendEvent(t,n={}){this.emit("beforeSendEvent",t,n);let r=TP(t,this._dsn,this._options._metadata,this._options.tunnel);for(const s of n.attachments||[])r=gP(r,SP(s));this.sendEnvelope(r).then(s=>this.emit("afterSendEvent",t,s))}sendSession(t){const{release:n,environment:r=wh}=this._options;if("aggregates"in t){const i=t.attrs||{};if(!i.release&&!n){le&&te.warn(ev);return}i.release=i.release||n,i.environment=i.environment||r,t.attrs=i}else{if(!t.release&&!n){le&&te.warn(ev);return}t.release=t.release||n,t.environment=t.environment||r}this.emit("beforeSendSession",t);const s=CP(t,this._dsn,this._options._metadata,this._options.tunnel);this.sendEnvelope(s)}recordDroppedEvent(t,n,r=1){if(this._options.sendClientReports){const s=`${t}:${n}`;le&&te.log(`Recording outcome: "${s}"${r>1?` (${r} times)`:""}`),this._outcomes[s]=(this._outcomes[s]||0)+r}}on(t,n){const r=this._hooks[t]=this._hooks[t]||new Set,s=(...i)=>n(...i);return r.add(s),()=>{r.delete(s)}}emit(t,...n){const r=this._hooks[t];r&&r.forEach(s=>s(...n))}async sendEnvelope(t){if(this.emit("beforeEnvelope",t),this._isEnabled()&&this._transport)try{return await this._transport.send(t)}catch(n){return le&&te.error("Error while sending envelope:",n),{}}return le&&te.error("Transport disabled"),{}}dispose(){}_setupIntegrations(){const{integrations:t}=this._options;this._integrations=_O(this,t),Jg(this,t)}_updateSessionFromEvent(t,n){var c,l;let r=n.level==="fatal",s=!1;const i=(c=n.exception)==null?void 0:c.values;if(i){s=!0,r=!1;for(const d of i)if(((l=d.mechanism)==null?void 0:l.handled)===!1){r=!0;break}}const o=t.status==="ok";(o&&t.errors===0||o&&r)&&(Ci(t,{...r&&{status:"crashed"},errors:t.errors||Number(s||r)}),this.captureSession(t))}async _isClientDoneProcessing(t){let n=0;for(;!t||nsetTimeout(r,1)),!this._numProcessing)return!0;n++}return!1}_isEnabled(){return this.getOptions().enabled!==!1&&this._transport!==void 0}_prepareEvent(t,n,r,s){const i=this.getOptions(),o=Object.keys(this._integrations);return!n.integrations&&(o!=null&&o.length)&&(n.integrations=o),this.emit("preprocessEvent",t,n),t.type||s.setLastEventId(t.event_id||n.event_id),E0(i,t,n,r,this,s).then(a=>{if(a===null)return a;this.emit("postprocessEvent",a,n),a.contexts={trace:MM(r),...a.contexts};const c=h0(this,r);return a.sdkProcessingMetadata={dynamicSamplingContext:c,...a.sdkProcessingMetadata},a})}_captureEvent(t,n={},r=Oe(),s=$t()){return le&&Hd(t)&&te.log(`Captured error event \`${L0(t)[0]||""}\``),this._processEvent(t,n,r,s).then(i=>i.event_id,i=>{le&&(nv(i)?te.log(i.message):tv(i)?te.warn(i.message):te.warn(i))})}_processEvent(t,n,r,s){const i=this.getOptions(),{sampleRate:o}=i,a=F0(t),c=Hd(t),d=`before send for type \`${t.type||"error"}\``,u=typeof o>"u"?void 0:Is(o);if(c&&typeof u=="number"&&Nr()>u)return this.recordDroppedEvent("sample_rate","error"),Ih(xu(`Discarding event because it's not included in the random sample (sampling rate = ${o})`));const f=sv(t.type);return this._prepareEvent(t,n,r,s).then(h=>{if(h===null)throw this.recordDroppedEvent("event_processor",f),xu("An event processor returned `null`, will not send event.");if(n.data&&n.data.__sentry__===!0)return h;const m=DO(this,i,h,n);return NO(m,d)}).then(h=>{var v;if(h===null){if(this.recordDroppedEvent("before_send",f),a){const y=1+(t.spans||[]).length;this.recordDroppedEvent("before_send","span",y)}throw xu(`${d} returned \`null\`, will not send event.`)}const p=r.getSession()||s.getSession();if(c&&p&&this._updateSessionFromEvent(p,h),a){const g=((v=h.sdkProcessingMetadata)==null?void 0:v.spanCountBeforeProcessing)||0,y=h.spans?h.spans.length:0,C=g-y;C>0&&this.recordDroppedEvent("before_send","span",C)}const m=h.transaction_info;if(a&&m&&h.transaction!==t.transaction){const g="custom";h.transaction_info={...m,source:g}}return this.sendEvent(h,n),h}).then(null,h=>{throw nv(h)||tv(h)?h:(this.captureException(h,{mechanism:{handled:!1,type:"internal"},data:{__sentry__:!0},originalException:h}),cc(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event. -Reason: ${h}`))})}_process(t,n){this._numProcessing++,this._promiseBuffer.add(t).then(r=>(this._numProcessing--,r),r=>(this._numProcessing--,r===xh&&this.recordDroppedEvent("queue_overflow",n),r))}_clearOutcomes(){const t=this._outcomes;return this._outcomes={},Object.entries(t).map(([n,r])=>{const[s,i]=n.split(":");return{reason:s,category:i,quantity:r}})}_flushOutcomes(){le&&te.log("Flushing outcomes...");const t=this._clearOutcomes();if(t.length===0){le&&te.log("No outcomes to send");return}if(!this._dsn){le&&te.log("No dsn provided, will not send outcomes");return}le&&te.log("Sending outcomes:",t);const n=AO(t,this._options.tunnel&&Gi(this._dsn));this.sendEnvelope(n)}}function sv(e){return e==="replay_event"?"replay":e||"error"}function NO(e,t){const n=`${t} must return \`null\` or a valid event.`;if(ji(e))return e.then(r=>{if(!jo(r)&&r!==null)throw cc(n);return r},r=>{throw cc(`${t} rejected with ${r}`)});if(!jo(e)&&e!==null)throw cc(n);return e}function DO(e,t,n,r){const{beforeSend:s,beforeSendTransaction:i,beforeSendSpan:o,ignoreSpans:a}=t;let c=n;if(Hd(c)&&s)return s(c,r);if(F0(c)){if(o||a){const l=MO(c);if(a!=null&&a.length&&Wc(l,a))return null;if(o){const d=o(l);d?c=fa(n,PO(d)):Ld()}if(c.spans){const d=[],u=c.spans;for(const h of u){if(a!=null&&a.length&&Wc(h,a)){lP(u,h);continue}if(o){const p=o(h);p?d.push(p):(Ld(),d.push(h))}else d.push(h)}const f=c.spans.length-d.length;f&&e.recordDroppedEvent("before_send","span",f),c.spans=d}}if(i){if(c.spans){const l=c.spans.length;c.sdkProcessingMetadata={...n.sdkProcessingMetadata,spanCountBeforeProcessing:l}}return i(c,r)}}return c}function Hd(e){return e.type===void 0}function F0(e){return e.type==="transaction"}function FO(e){let t=0;return e.name&&(t+=e.name.length*2),t+=8,t+$0(e.attributes)}function $O(e){let t=0;return e.message&&(t+=e.message.length*2),t+$0(e.attributes)}function $0(e){if(!e)return 0;let t=0;return Object.values(e).forEach(n=>{Array.isArray(n)?t+=n.length*iv(n[0]):Ei(n)?t+=iv(n):t+=100}),t}function iv(e){return typeof e=="string"?e.length*2:typeof e=="number"?8:typeof e=="boolean"?4:0}function BO(e){return Rl(e)&&"__sentry_fetch_url_host__"in e&&typeof e.__sentry_fetch_url_host__=="string"}function ov(e){return BO(e)?`${e.message} (${e.__sentry_fetch_url_host__})`:e.message}function HO(e,t){t.debug===!0&&(le?te.enable():br(()=>{console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.")})),Oe().update(t.initialScope);const r=new e(t);return VO(r),r.init(),r}function VO(e){Oe().setClient(e)}const UO="thismessage:/";function Ah(e){return"isRelative"in e}function Mh(e,t){const n=e.indexOf("://")<=0&&e.indexOf("//")!==0,r=n?UO:void 0;try{if("canParse"in URL&&!URL.canParse(e,r))return;const s=new URL(e,r);return n?{isRelative:n,pathname:s.pathname,search:s.search,hash:s.hash}:s}catch{}}function WO(e){if(Ah(e))return e.pathname;const t=new URL(e);return t.search="",t.hash="",["80","443"].includes(t.port)&&(t.port=""),t.password&&(t.password="%filtered%"),t.username&&(t.username="%filtered%"),t.toString()}function Ss(e){if(!e)return{};const t=e.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!t)return{};const n=t[6]||"",r=t[8]||"";return{host:t[4],path:t[5],protocol:t[2],search:n,hash:r,relative:t[5]+n+r}}function jO(e){return e.split(/[?#]/,1)[0]}function Dr(e,t=!0){if(e.startsWith("data:")){const n=e.match(/^data:([^;,]+)/),r=n?n[1]:"text/plain",s=e.includes(";base64,"),i=e.indexOf(",");let o="";if(t&&i!==-1){const a=e.slice(i+1);o=a.length>10?`${a.slice(0,10)}... [truncated]`:a}return`data:${r}${s?",base64":""}${o?`,${o}`:""}`}return e}function zO(e,t){const n=t==null?void 0:t.getDsn(),r=t==null?void 0:t.getOptions().tunnel;return GO(e,n)||qO(e,r)}function qO(e,t){return t?av(e)===av(t):!1}function GO(e,t){const n=Mh(e);return!n||Ah(n)?!1:t?n.host.includes(t.host)&&/(^|&|\?)sentry_key=/.test(n.search):!1}function av(e){return e[e.length-1]==="/"?e.slice(0,-1):e}function KO(e){var t;"aggregates"in e?((t=e.attrs)==null?void 0:t.ip_address)===void 0&&(e.attrs={...e.attrs,ip_address:"{{auto}}"}):e.ipAddress===void 0&&(e.ipAddress="{{auto}}")}function B0(e,t,n=[t],r="npm"){const s=(e._metadata=e._metadata||{}).sdk=e._metadata.sdk||{};s.name||(s.name=`sentry.javascript.${t}`,s.packages=n.map(i=>({name:`${r}:@sentry/${i}`,version:ys})),s.version=ys)}function H0(e={}){const t=e.client||Ce();if(!uO()||!t)return{};const n=Os(),r=zi(n);if(r.getTraceData)return r.getTraceData(e);const s=e.scope||Oe(),i=e.span||Tt(),o=i?rP(i):YO(s),a=i?hr(i):h0(t,s),c=VM(a);if(!s0.test(o))return te.warn("Invalid sentry-trace data. Cannot generate trace data"),{};const d={"sentry-trace":o,baggage:c};return e.propagateTraceparent&&(d.traceparent=i?sP(i):XO(s)),d}function YO(e){const{traceId:t,sampled:n,propagationSpanId:r}=e.getPropagationContext();return i0(t,r,n)}function XO(e){const{traceId:t,sampled:n,propagationSpanId:r}=e.getPropagationContext();return o0(t,r,n)}function JO(e,t,n){let r,s,i;const o=n!=null&&n.maxWait?Math.max(n.maxWait,t):0,a=(n==null?void 0:n.setTimeoutImpl)||setTimeout;function c(){return l(),r=e(),r}function l(){s!==void 0&&clearTimeout(s),i!==void 0&&clearTimeout(i),s=i=void 0}function d(){return s!==void 0||i!==void 0?c():r}function u(){return s&&clearTimeout(s),s=a(c,t),o&&i===void 0&&(i=a(c,o)),r}return u.cancel=l,u.flush=d,u}const ZO=100;function Wr(e,t){const n=Ce(),r=$t();if(!n)return;const{beforeBreadcrumb:s=null,maxBreadcrumbs:i=ZO}=n.getOptions();if(i<=0)return;const a={timestamp:Ns(),...e},c=s?br(()=>s(a,t)):a;c!==null&&(n.emit&&n.emit("beforeAddBreadcrumb",c,t),r.addBreadcrumb(c,i))}let cv;const QO="FunctionToString",lv=new WeakMap,eL=()=>({name:QO,setupOnce(){cv=Function.prototype.toString;try{Function.prototype.toString=function(...e){const t=vh(this),n=lv.has(Ce())&&t!==void 0?t:this;return cv.apply(n,e)}}catch{}},setup(e){lv.set(e,!0)}}),tL=eL,nL=[/^Script error\.?$/,/^Javascript error: Script error\.? on line 0$/,/^ResizeObserver loop completed with undelivered notifications.$/,/^Cannot redefine property: googletag$/,/^Can't find variable: gmo$/,/^undefined is not an object \(evaluating 'a\.[A-Z]'\)$/,`can't redefine non-configurable property "solana"`,"vv().getRestrictions is not a function. (In 'vv().getRestrictions(1,a)', 'vv().getRestrictions' is undefined)","Can't find variable: _AutofillCallbackHandler",/^Non-Error promise rejection captured with value: Object Not Found Matching Id:\d+, MethodName:simulateEvent, ParamCount:\d+$/,/^Java exception was raised during method invocation$/],rL="EventFilters",sL=(e={})=>{let t;return{name:rL,setup(n){const r=n.getOptions();t=uv(e,r)},processEvent(n,r,s){if(!t){const i=s.getOptions();t=uv(e,i)}return oL(n,t)?null:n}}},iL=(e={})=>({...sL(e),name:"InboundFilters"});function uv(e={},t={}){return{allowUrls:[...e.allowUrls||[],...t.allowUrls||[]],denyUrls:[...e.denyUrls||[],...t.denyUrls||[]],ignoreErrors:[...e.ignoreErrors||[],...t.ignoreErrors||[],...e.disableErrorDefaults?[]:nL],ignoreTransactions:[...e.ignoreTransactions||[],...t.ignoreTransactions||[]]}}function oL(e,t){if(e.type){if(e.type==="transaction"&&cL(e,t.ignoreTransactions))return le&&te.warn(`Event dropped due to being matched by \`ignoreTransactions\` option. -Event: ${as(e)}`),!0}else{if(aL(e,t.ignoreErrors))return le&&te.warn(`Event dropped due to being matched by \`ignoreErrors\` option. -Event: ${as(e)}`),!0;if(fL(e))return le&&te.warn(`Event dropped due to not having an error message, error type or stacktrace. -Event: ${as(e)}`),!0;if(lL(e,t.denyUrls))return le&&te.warn(`Event dropped due to being matched by \`denyUrls\` option. -Event: ${as(e)}. -Url: ${jc(e)}`),!0;if(!uL(e,t.allowUrls))return le&&te.warn(`Event dropped due to not being matched by \`allowUrls\` option. -Event: ${as(e)}. -Url: ${jc(e)}`),!0}return!1}function aL(e,t){return t!=null&&t.length?L0(e).some(n=>nr(n,t)):!1}function cL(e,t){if(!(t!=null&&t.length))return!1;const n=e.transaction;return n?nr(n,t):!1}function lL(e,t){if(!(t!=null&&t.length))return!1;const n=jc(e);return n?nr(n,t):!1}function uL(e,t){if(!(t!=null&&t.length))return!0;const n=jc(e);return n?nr(n,t):!0}function dL(e=[]){for(let t=e.length-1;t>=0;t--){const n=e[t];if(n&&n.filename!==""&&n.filename!=="[native code]")return n.filename||null}return null}function jc(e){var t,n;try{const r=[...((t=e.exception)==null?void 0:t.values)??[]].reverse().find(i=>{var o,a,c;return((o=i.mechanism)==null?void 0:o.parent_id)===void 0&&((c=(a=i.stacktrace)==null?void 0:a.frames)==null?void 0:c.length)}),s=(n=r==null?void 0:r.stacktrace)==null?void 0:n.frames;return s?dL(s):null}catch{return le&&te.error(`Cannot extract url for event ${as(e)}`),null}}function fL(e){var t,n;return(n=(t=e.exception)==null?void 0:t.values)!=null&&n.length?!e.message&&!e.exception.values.some(r=>r.stacktrace||r.type&&r.type!=="Error"||r.value):!1}function hL(e,t,n,r,s,i){var a;if(!((a=s.exception)!=null&&a.values)||!i||!ur(i.originalException,Error))return;const o=s.exception.values.length>0?s.exception.values[s.exception.values.length-1]:void 0;o&&(s.exception.values=Vd(e,t,r,i.originalException,n,s.exception.values,o,0))}function Vd(e,t,n,r,s,i,o,a){if(i.length>=n+1)return i;let c=[...i];if(ur(r[s],Error)){dv(o,a,r);const l=e(t,r[s]),d=c.length;fv(l,s,d,a),c=Vd(e,t,n,r[s],s,[l,...c],l,d)}return V0(r)&&r.errors.forEach((l,d)=>{if(ur(l,Error)){dv(o,a,r);const u=e(t,l),f=c.length;fv(u,`errors[${d}]`,f,a),c=Vd(e,t,n,l,s,[u,...c],u,f)}}),c}function V0(e){return Array.isArray(e.errors)}function dv(e,t,n){e.mechanism={handled:!0,type:"auto.core.linked_errors",...V0(n)&&{is_exception_group:!0},...e.mechanism,exception_id:t}}function fv(e,t,n,r){e.mechanism={handled:!0,...e.mechanism,type:"chained",source:t,exception_id:n,parent_id:r}}function pL(e){const t="console";Kr(t,e),Yr(t,mL)}function mL(){"console"in xe&&ZA.forEach(function(e){e in xe.console&&Wt(xe.console,e,function(t){return Hc[e]=t,function(...n){dn("console",{args:n,level:e});const s=Hc[e];s==null||s.apply(xe.console,n)}})})}function U0(e){return e==="warn"?"warning":["fatal","error","warning","log","info","debug"].includes(e)?e:"log"}const gL="Dedupe",vL=()=>{let e;return{name:gL,processEvent(t){if(t.type)return t;try{if(_L(t,e))return le&&te.warn("Event dropped due to being a duplicate of previously captured event."),null}catch{}return e=t}}},yL=vL;function _L(e,t){return t?!!(bL(e,t)||SL(e,t)):!1}function bL(e,t){const n=e.message,r=t.message;return!(!n&&!r||n&&!r||!n&&r||n!==r||!j0(e,t)||!W0(e,t))}function SL(e,t){const n=hv(t),r=hv(e);return!(!n||!r||n.type!==r.type||n.value!==r.value||!j0(e,t)||!W0(e,t))}function W0(e,t){let n=wg(e),r=wg(t);if(!n&&!r)return!0;if(n&&!r||!n&&r||(n=n,r=r,r.length!==n.length))return!1;for(let s=0;s({name:EL,setup(e){e.on("spanStart",t=>{const n=Oe().getScopeData(),r=$t().getScopeData(),s=n.conversationId||r.conversationId;s&&t.setAttribute(OM,s)})}}),CL=wL;function TL(e,t,n,r,s){if(!e.fetchData)return;const{method:i,url:o}=e.fetchData,a=fn()&&t(o);if(e.endTimestamp){const h=e.fetchData.__span;if(!h)return;const p=r[h];p&&(a&&(xL(p,e),kL(p,e,s)),delete r[h]);return}const{spanOrigin:c="auto.http.browser",propagateTraceparent:l=!1}=typeof s=="object"?s:{spanOrigin:s},d=!!Tt(),u=a&&d?Ur(AL(o,i,c)):new Vr;if(e.fetchData.__span=u.spanContext().spanId,r[u.spanContext().spanId]=u,n(e.fetchData.url)){const h=e.args[0],p={...e.args[1]||{}},m=IL(h,p,fn()&&d?u:void 0,l);m&&(e.args[1]=p,p.headers=m)}const f=Ce();if(f){const h={input:e.args,response:e.response,startTimestamp:e.startTimestamp,endTimestamp:e.endTimestamp};f.emit("beforeOutgoingRequestSpan",u,h)}return u}function kL(e,t,n){var s;const r=typeof n=="object"&&n!==null?n.onRequestSpanEnd:void 0;r==null||r(e,{headers:(s=t.response)==null?void 0:s.headers,error:t.error})}function IL(e,t,n,r){const s=H0({span:n,propagateTraceparent:r}),i=s["sentry-trace"],o=s.baggage,a=s.traceparent;if(!i)return;const c=t.headers||(mh(e)?e.headers:void 0);if(c)if(RL(c)){const l=new Headers(c);if(l.get("sentry-trace")||l.set("sentry-trace",i),r&&a&&!l.get("traceparent")&&l.set("traceparent",a),o){const d=l.get("baggage");d?Da(d)||l.set("baggage",`${d},${o}`):l.set("baggage",o)}return l}else if(Array.isArray(c)){const l=[...c];c.find(u=>u[0]==="sentry-trace")||l.push(["sentry-trace",i]),r&&a&&!c.find(u=>u[0]==="traceparent")&&l.push(["traceparent",a]);const d=c.find(u=>u[0]==="baggage"&&Da(u[1]));return o&&!d&&l.push(["baggage",o]),l}else{const l="sentry-trace"in c?c["sentry-trace"]:void 0,d="traceparent"in c?c.traceparent:void 0,u="baggage"in c?c.baggage:void 0,f=u?Array.isArray(u)?[...u]:[u]:[],h=u&&(Array.isArray(u)?u.find(m=>Da(m)):Da(u));o&&!h&&f.push(o);const p={...c,"sentry-trace":l??i,baggage:f.length>0?f.join(","):void 0};return r&&a&&!d&&(p.traceparent=a),p}else return{...s}}function xL(e,t){var n,r;if(t.response){QS(e,t.response.status);const s=(r=(n=t.response)==null?void 0:n.headers)==null?void 0:r.get("content-length");if(s){const i=parseInt(s);i>0&&e.setAttribute("http.response_content_length",i)}}else t.error&&e.setStatus({code:ht,message:"internal_error"});e.end()}function Da(e){return e.split(",").some(t=>t.trim().startsWith(Sh))}function RL(e){return typeof Headers<"u"&&ur(e,Headers)}function AL(e,t,n){if(e.startsWith("data:")){const i=Dr(e);return{name:`${t} ${i}`,attributes:pv(e,void 0,t,n)}}const r=Mh(e),s=r?WO(r):e;return{name:`${t} ${s}`,attributes:pv(e,r,t,n)}}function pv(e,t,n,r){const s={url:Dr(e),type:"fetch","http.method":n,[st]:r,[fr]:"http.client"};return t&&(Ah(t)||(s["http.url"]=Dr(t.href),s["server.address"]=t.host),t.search&&(s["http.query"]=t.search),t.hash&&(s["http.fragment"]=t.hash)),s}function ML(e,t={},n=Oe()){const{message:r,name:s,email:i,url:o,source:a,associatedEventId:c,tags:l}=e,d={contexts:{feedback:{contact_email:i,name:s,message:r,url:o,source:a,associated_event_id:c}},type:"feedback",level:"info",tags:l},u=(n==null?void 0:n.getClient())||Ce();return u&&u.emit("beforeSendFeedback",d,t),n.captureEvent(d,t)}function z0(e){if(e!==void 0)return e>=400&&e<500?"warning":e>=500?"error":void 0}const Go=xe;function PL(){return"history"in Go&&!!Go.history}function OL(){if(!("fetch"in Go))return!1;try{return new Headers,new Request("data:,"),new Response,!0}catch{return!1}}function Ud(e){return e&&/^function\s+\w+\(\)\s+\{\s+\[native code\]\s+\}$/.test(e.toString())}function LL(){var n;if(typeof EdgeRuntime=="string")return!0;if(!OL())return!1;if(Ud(Go.fetch))return!0;let e=!1;const t=Go.document;if(t&&typeof t.createElement=="function")try{const r=t.createElement("iframe");r.hidden=!0,t.head.appendChild(r),(n=r.contentWindow)!=null&&n.fetch&&(e=Ud(r.contentWindow.fetch)),t.head.removeChild(r)}catch(r){le&&te.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ",r)}return e}function q0(e,t){const n="fetch";Kr(n,e),Yr(n,()=>G0(void 0,t))}function NL(e){const t="fetch-body-resolved";Kr(t,e),Yr(t,()=>G0(FL))}function G0(e,t=!1){t&&!LL()||Wt(xe,"fetch",function(n){return function(...r){const s=new Error,{method:i,url:o}=$L(r),a={args:r,fetchData:{method:i,url:o},startTimestamp:lt()*1e3,virtualError:s,headers:BL(r)};return e||dn("fetch",{...a}),n.apply(xe,r).then(async c=>(e?e(c):dn("fetch",{...a,endTimestamp:lt()*1e3,response:c}),c),c=>{dn("fetch",{...a,endTimestamp:lt()*1e3,error:c}),Rl(c)&&c.stack===void 0&&(c.stack=s.stack,Gt(c,"framesToPop",1));const l=Ce(),d=(l==null?void 0:l.getOptions().enhanceFetchErrorMessages)??"always";if(d!==!1&&c instanceof TypeError&&(c.message==="Failed to fetch"||c.message==="Load failed"||c.message==="NetworkError when attempting to fetch resource."))try{const h=new URL(a.fetchData.url).host;d==="always"?c.message=`${c.message} (${h})`:Gt(c,"__sentry_fetch_url_host__",h)}catch{}throw c})}})}async function DL(e,t){if(e!=null&&e.body){const n=e.body,r=n.getReader(),s=setTimeout(()=>{n.cancel().then(null,()=>{})},90*1e3);let i=!0;for(;i;){let o;try{o=setTimeout(()=>{n.cancel().then(null,()=>{})},5e3);const{done:a}=await r.read();clearTimeout(o),a&&(t(),i=!1)}catch{i=!1}finally{clearTimeout(o)}}clearTimeout(s),r.releaseLock(),n.cancel().then(null,()=>{})}}function FL(e){let t;try{t=e.clone()}catch{return}DL(t,()=>{dn("fetch-body-resolved",{endTimestamp:lt()*1e3,response:e})})}function lc(e,t){return!!e&&typeof e=="object"&&!!e[t]}function mv(e){return typeof e=="string"?e:e?lc(e,"url")?e.url:e.toString?e.toString():"":""}function $L(e){if(e.length===0)return{method:"GET",url:""};if(e.length===2){const[n,r]=e;return{url:mv(n),method:lc(r,"method")?String(r.method).toUpperCase():mh(n)&&lc(n,"method")?String(n.method).toUpperCase():"GET"}}const t=e[0];return{url:mv(t),method:lc(t,"method")?String(t.method).toUpperCase():"GET"}}function BL(e){const[t,n]=e;try{if(typeof n=="object"&&n!==null&&"headers"in n&&n.headers)return new Headers(n.headers);if(mh(t))return new Headers(t.headers)}catch{}}function HL(){return typeof __SENTRY_BROWSER_BUNDLE__<"u"&&!!__SENTRY_BROWSER_BUNDLE__}function VL(){return"npm"}function UL(){return!HL()&&Object.prototype.toString.call(typeof process<"u"?process:0)==="[object process]"}function zc(){return typeof window<"u"&&(!UL()||WL())}function WL(){const e=xe.process;return(e==null?void 0:e.type)==="renderer"}const _n=xe,We=_n.document,lo=_n.navigator,K0="Report a Bug",jL="Cancel",zL="Send Bug Report",qL="Confirm",GL="Report a Bug",KL="your.email@example.org",YL="Email",XL="What's the bug? What did you expect?",JL="Description",ZL="Your Name",QL="Name",eN="Thank you for your report!",tN="(required)",nN="Add a screenshot",rN="Remove screenshot",sN="Highlight",iN="Hide",oN="Remove",aN="widget",cN="api",lN=5e3,uN=(e,t={includeReplay:!0})=>{if(!e.message)throw new Error("Unable to submit feedback with empty message");const n=Ce();if(!n)throw new Error("No client setup, cannot send feedback.");e.tags&&Object.keys(e.tags).length&&Oe().setTags(e.tags);const r=ML({source:cN,url:Ls(),...e},t);return new Promise((s,i)=>{const o=setTimeout(()=>i("Unable to determine if Feedback was correctly sent."),3e4),a=n.on("afterSendEvent",(c,l)=>{if(c.event_id===r)return clearTimeout(o),a(),l!=null&&l.statusCode&&l.statusCode>=200&&l.statusCode<300?s(r):(l==null?void 0:l.statusCode)===403?i("Unable to send feedback. This could be because this domain is not in your list of allowed domains."):i("Unable to send feedback. This could be because of network issues, or because you are using an ad-blocker.")})})},uc=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__;function dN(){return!(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(lo.userAgent)||/Macintosh/i.test(lo.userAgent)&&lo.maxTouchPoints&&lo.maxTouchPoints>1||!isSecureContext)}function Fa(e,t){return{...e,...t,tags:{...e.tags,...t.tags},onFormOpen:()=>{var n,r;(n=t.onFormOpen)==null||n.call(t),(r=e.onFormOpen)==null||r.call(e)},onFormClose:()=>{var n,r;(n=t.onFormClose)==null||n.call(t),(r=e.onFormClose)==null||r.call(e)},onSubmitSuccess:(n,r)=>{var s,i;(s=t.onSubmitSuccess)==null||s.call(t,n,r),(i=e.onSubmitSuccess)==null||i.call(e,n,r)},onSubmitError:n=>{var r,s;(r=t.onSubmitError)==null||r.call(t,n),(s=e.onSubmitError)==null||s.call(e,n)},onFormSubmitted:()=>{var n,r;(n=t.onFormSubmitted)==null||n.call(t),(r=e.onFormSubmitted)==null||r.call(e)},themeDark:{...e.themeDark,...t.themeDark},themeLight:{...e.themeLight,...t.themeLight}}}function fN(e){const t=We.createElement("style");return t.textContent=` -.widget__actor { - position: fixed; - z-index: var(--z-index); - margin: var(--page-margin); - inset: var(--actor-inset); - - display: flex; - align-items: center; - gap: 8px; - padding: 16px; - - font-family: inherit; - font-size: var(--font-size); - font-weight: 600; - line-height: 1.14em; - text-decoration: none; - - background: var(--actor-background, var(--background)); - border-radius: var(--actor-border-radius, 1.7em/50%); - border: var(--actor-border, var(--border)); - box-shadow: var(--actor-box-shadow, var(--box-shadow)); - color: var(--actor-color, var(--foreground)); - fill: var(--actor-color, var(--foreground)); - cursor: pointer; - opacity: 1; - transition: transform 0.2s ease-in-out; - transform: translate(0, 0) scale(1); -} -.widget__actor[aria-hidden="true"] { - opacity: 0; - pointer-events: none; - visibility: hidden; - transform: translate(0, 16px) scale(0.98); -} - -.widget__actor:hover { - background: var(--actor-hover-background, var(--background)); - filter: var(--interactive-filter); -} - -.widget__actor svg { - width: 1.14em; - height: 1.14em; -} - -@media (max-width: 600px) { - .widget__actor span { - display: none; - } -} -`,e&&t.setAttribute("nonce",e),t}function Jt(e,t){return Object.entries(t).forEach(([n,r])=>{e.setAttributeNS(null,n,r)}),e}const Ws=20,hN="http://www.w3.org/2000/svg";function pN(){const e=a=>_n.document.createElementNS(hN,a),t=Jt(e("svg"),{width:`${Ws}`,height:`${Ws}`,viewBox:`0 0 ${Ws} ${Ws}`,fill:"var(--actor-color, var(--foreground))"}),n=Jt(e("g"),{clipPath:"url(#clip0_57_80)"}),r=Jt(e("path"),{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M15.6622 15H12.3997C12.2129 14.9959 12.031 14.9396 11.8747 14.8375L8.04965 12.2H7.49956V19.1C7.4875 19.3348 7.3888 19.5568 7.22256 19.723C7.05632 19.8892 6.83435 19.9879 6.59956 20H2.04956C1.80193 19.9968 1.56535 19.8969 1.39023 19.7218C1.21511 19.5467 1.1153 19.3101 1.11206 19.0625V12.2H0.949652C0.824431 12.2017 0.700142 12.1783 0.584123 12.1311C0.468104 12.084 0.362708 12.014 0.274155 11.9255C0.185602 11.8369 0.115689 11.7315 0.0685419 11.6155C0.0213952 11.4995 -0.00202913 11.3752 -0.00034808 11.25V3.75C-0.00900498 3.62067 0.0092504 3.49095 0.0532651 3.36904C0.0972798 3.24712 0.166097 3.13566 0.255372 3.04168C0.344646 2.94771 0.452437 2.87327 0.571937 2.82307C0.691437 2.77286 0.82005 2.74798 0.949652 2.75H8.04965L11.8747 0.1625C12.031 0.0603649 12.2129 0.00407221 12.3997 0H15.6622C15.9098 0.00323746 16.1464 0.103049 16.3215 0.278167C16.4966 0.453286 16.5964 0.689866 16.5997 0.9375V3.25269C17.3969 3.42959 18.1345 3.83026 18.7211 4.41679C19.5322 5.22788 19.9878 6.32796 19.9878 7.47502C19.9878 8.62209 19.5322 9.72217 18.7211 10.5333C18.1345 11.1198 17.3969 11.5205 16.5997 11.6974V14.0125C16.6047 14.1393 16.5842 14.2659 16.5395 14.3847C16.4948 14.5035 16.4268 14.6121 16.3394 14.7042C16.252 14.7962 16.147 14.8698 16.0307 14.9206C15.9144 14.9714 15.7891 14.9984 15.6622 15ZM1.89695 10.325H1.88715V4.625H8.33715C8.52423 4.62301 8.70666 4.56654 8.86215 4.4625L12.6872 1.875H14.7247V13.125H12.6872L8.86215 10.4875C8.70666 10.3835 8.52423 10.327 8.33715 10.325H2.20217C2.15205 10.3167 2.10102 10.3125 2.04956 10.3125C1.9981 10.3125 1.94708 10.3167 1.89695 10.325ZM2.98706 12.2V18.1625H5.66206V12.2H2.98706ZM16.5997 9.93612V5.01393C16.6536 5.02355 16.7072 5.03495 16.7605 5.04814C17.1202 5.13709 17.4556 5.30487 17.7425 5.53934C18.0293 5.77381 18.2605 6.06912 18.4192 6.40389C18.578 6.73866 18.6603 7.10452 18.6603 7.47502C18.6603 7.84552 18.578 8.21139 18.4192 8.54616C18.2605 8.88093 18.0293 9.17624 17.7425 9.41071C17.4556 9.64518 17.1202 9.81296 16.7605 9.90191C16.7072 9.91509 16.6536 9.9265 16.5997 9.93612Z"});t.appendChild(n).appendChild(r);const s=e("defs"),i=Jt(e("clipPath"),{id:"clip0_57_80"}),o=Jt(e("rect"),{width:`${Ws}`,height:`${Ws}`,fill:"white"});return i.appendChild(o),s.appendChild(i),t.appendChild(s).appendChild(i).appendChild(o),t}function mN({triggerLabel:e,triggerAriaLabel:t,shadow:n,styleNonce:r}){const s=We.createElement("button");if(s.type="button",s.className="widget__actor",s.ariaHidden="false",s.ariaLabel=t||e||K0,s.appendChild(pN()),e){const o=We.createElement("span");o.appendChild(We.createTextNode(e)),s.appendChild(o)}const i=fN(r);return{el:s,appendToDom(){n.appendChild(i),n.appendChild(s)},removeFromDom(){s.remove(),i.remove()},show(){s.ariaHidden="false"},hide(){s.ariaHidden="true"}}}const Y0="rgba(88, 74, 192, 1)",gN={foreground:"#2b2233",background:"#ffffff",accentForeground:"white",accentBackground:Y0,successColor:"#268d75",errorColor:"#df3338",border:"1.5px solid rgba(41, 35, 47, 0.13)",boxShadow:"0px 4px 24px 0px rgba(43, 34, 51, 0.12)",outline:"1px auto var(--accent-background)",interactiveFilter:"brightness(95%)"},gv={foreground:"#ebe6ef",background:"#29232f",accentForeground:"white",accentBackground:Y0,successColor:"#2da98c",errorColor:"#f55459",border:"1.5px solid rgba(235, 230, 239, 0.15)",boxShadow:"0px 4px 24px 0px rgba(43, 34, 51, 0.12)",outline:"1px auto var(--accent-background)",interactiveFilter:"brightness(150%)"};function vv(e){return` - --foreground: ${e.foreground}; - --background: ${e.background}; - --accent-foreground: ${e.accentForeground}; - --accent-background: ${e.accentBackground}; - --success-color: ${e.successColor}; - --error-color: ${e.errorColor}; - --border: ${e.border}; - --box-shadow: ${e.boxShadow}; - --outline: ${e.outline}; - --interactive-filter: ${e.interactiveFilter}; - `}function yv({colorScheme:e,themeDark:t,themeLight:n,styleNonce:r}){const s=We.createElement("style");return s.textContent=` -:host { - --font-family: system-ui, 'Helvetica Neue', Arial, sans-serif; - --font-size: 14px; - --z-index: 100000; - - --page-margin: 16px; - --inset: auto 0 0 auto; - --actor-inset: var(--inset); - - font-family: var(--font-family); - font-size: var(--font-size); - - ${e!=="system"?`color-scheme: only ${e};`:""} - - ${vv(e==="dark"?{...gv,...t}:{...gN,...n})} -} - -${e==="system"?` -@media (prefers-color-scheme: dark) { - :host { - color-scheme: only dark; - - ${vv({...gv,...t})} - } -}`:""} -`,r&&s.setAttribute("nonce",r),s}const vN=({lazyLoadIntegration:e,getModalIntegration:t,getScreenshotIntegration:n})=>({id:s="sentry-feedback",autoInject:i=!0,showBranding:o=!0,isEmailRequired:a=!1,isNameRequired:c=!1,showEmail:l=!0,showName:d=!0,enableScreenshot:u=!0,useSentryUser:f={email:"email",name:"username"},tags:h,styleNonce:p,scriptNonce:m,colorScheme:v="system",themeLight:g={},themeDark:y={},addScreenshotButtonLabel:C=nN,cancelButtonLabel:w=jL,confirmButtonLabel:I=qL,emailLabel:x=YL,emailPlaceholder:S=KL,formTitle:b=GL,isRequiredLabel:k=tN,messageLabel:R=JL,messagePlaceholder:M=XL,nameLabel:T=QL,namePlaceholder:O=ZL,removeScreenshotButtonLabel:$=rN,submitButtonLabel:K=zL,successMessageText:Z=eN,triggerLabel:z=K0,triggerAriaLabel:N="",highlightToolText:oe=sN,hideToolText:U=iN,removeHighlightText:J=oN,onFormOpen:re,onFormClose:ie,onSubmitSuccess:Ee,onSubmitError:Me,onFormSubmitted:De}={})=>{const P={id:s,autoInject:i,showBranding:o,isEmailRequired:a,isNameRequired:c,showEmail:l,showName:d,enableScreenshot:u,useSentryUser:f,tags:h,styleNonce:p,scriptNonce:m,colorScheme:v,themeDark:y,themeLight:g,triggerLabel:z,triggerAriaLabel:N,cancelButtonLabel:w,submitButtonLabel:K,confirmButtonLabel:I,formTitle:b,emailLabel:x,emailPlaceholder:S,messageLabel:R,messagePlaceholder:M,nameLabel:T,namePlaceholder:O,successMessageText:Z,isRequiredLabel:k,addScreenshotButtonLabel:C,removeScreenshotButtonLabel:$,highlightToolText:oe,hideToolText:U,removeHighlightText:J,onFormClose:ie,onFormOpen:re,onSubmitError:Me,onSubmitSuccess:Ee,onFormSubmitted:De};let W=null,X=null,G=[];const de=L=>{if(!W){const D=We.createElement("div");D.id=String(L.id),We.body.appendChild(D),W=D.attachShadow({mode:"open"}),X=yv(L),W.appendChild(X)}return W},_=async L=>{const D=L.enableScreenshot&&dN();let F,q;try{F=(t?t():await e("feedbackModalIntegration",m))(),Zg(F)}catch{throw uc&&te.error("[Feedback] Error when trying to load feedback integrations. Try using `feedbackSyncIntegration` in your `Sentry.init`."),new Error("[Feedback] Missing feedback modal integration!")}try{const B=D?n?n():await e("feedbackScreenshotIntegration",m):void 0;B&&(q=B(),Zg(q))}catch{uc&&te.error("[Feedback] Missing feedback screenshot integration. Proceeding without screenshots.")}const Y=F.createDialog({options:{...L,onFormClose:()=>{var B;Y==null||Y.close(),(B=L.onFormClose)==null||B.call(L)},onFormSubmitted:()=>{var B;Y==null||Y.close(),(B=L.onFormSubmitted)==null||B.call(L)}},screenshotIntegration:q,sendFeedback:uN,shadow:de(L)});return Y},E=(L,D={})=>{const F=Fa(P,D),q=typeof L=="string"?We.querySelector(L):typeof L.addEventListener=="function"?L:null;if(!q)throw uc&&te.error("[Feedback] Unable to attach to target element"),new Error("Unable to attach to target element");let Y=null;const B=async()=>{Y||(Y=await _({...F,onFormSubmitted:()=>{var Q;Y==null||Y.removeFromDom(),(Q=F.onFormSubmitted)==null||Q.call(F)}})),Y.appendToDom(),Y.open()};q.addEventListener("click",B);const V=()=>{G=G.filter(Q=>Q!==V),Y==null||Y.removeFromDom(),Y=null,q.removeEventListener("click",B)};return G.push(V),V},A=(L={})=>{const D=Fa(P,L),F=de(D),q=mN({triggerLabel:D.triggerLabel,triggerAriaLabel:D.triggerAriaLabel,shadow:F,styleNonce:p});return E(q.el,{...D,onFormOpen(){q.hide()},onFormClose(){q.show()},onFormSubmitted(){q.show()}}),q};return{name:"Feedback",setupOnce(){!zc()||!P.autoInject||(We.readyState==="loading"?We.addEventListener("DOMContentLoaded",()=>A().appendToDom()):A().appendToDom())},attachTo:E,createWidget(L={}){const D=A(Fa(P,L));return D.appendToDom(),D},async createForm(L={}){return _(Fa(P,L))},setTheme(L){if(P.colorScheme=L,W){const D=yv(P);X?W.replaceChild(D,X):W.prepend(D),X=D}},remove(){var L;W&&((L=W.parentElement)==null||L.remove(),W=null,X=null),G.forEach(D=>D()),G=[]}}};var Ll,ze,X0,cs,_v,J0,Wd,Ko={},Ph=[],yN=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,Oh=Array.isArray;function Or(e,t){for(var n in t)e[n]=t[n];return e}function Z0(e){var t=e.parentNode;t&&t.removeChild(e)}function ke(e,t,n){var r,s,i,o={};for(i in t)i=="key"?r=t[i]:i=="ref"?s=t[i]:o[i]=t[i];if(arguments.length>2&&(o.children=arguments.length>3?Ll.call(arguments,2):n),typeof e=="function"&&e.defaultProps!=null)for(i in e.defaultProps)o[i]===void 0&&(o[i]=e.defaultProps[i]);return dc(e,o,r,s,null)}function dc(e,t,n,r,s){var i={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:s??++X0,__i:-1,__u:0};return s==null&&ze.vnode!=null&&ze.vnode(i),i}function ga(e){return e.children}function fc(e,t){this.props=e,this.context=t}function Ii(e,t){if(t==null)return e.__?Ii(e.__,e.__i+1):null;for(var n;tn?(jd(r,t,s),s.length=r.length=0,t=void 0,cs.sort(Wd)):t&&ze.__c&&ze.__c(t,Ph));t&&jd(r,t,s),qc.__r=0}function eE(e,t,n,r,s,i,o,a,c,l,d){var u,f,h,p,m,v=r&&r.__k||Ph,g=t.length;for(n.__d=c,bN(n,t,v),c=n.__d,u=0;u0?dc(s.type,s.props,s.key,s.ref?s.ref:null,s.__v):s)!=null?(s.__=e,s.__b=e.__b+1,a=SN(s,n,o=r+u,d),s.__i=a,i=null,a!==-1&&(d--,(i=n[a])&&(i.__u|=131072)),i==null||i.__v===null?(a==-1&&u--,typeof s.type!="function"&&(s.__u|=65536)):a!==o&&(a===o+1?u++:a>o?d>c-o?u+=a-o:u--:u=a(c!=null&&!(131072&c.__u)?1:0))for(;o>=0||a=0){if((c=t[o])&&!(131072&c.__u)&&s==c.key&&i===c.type)return o;o--}if(a=n.__.length&&n.__.push({__V:hc}),n.__[e]}function us(e){return xi=1,rE(iE,e)}function rE(e,t,n){var r=Ds(pr++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):iE(void 0,t),function(a){var c=r.__N?r.__N[0]:r.__[0],l=r.t(c,a);c!==l&&(r.__N=[l,r.__[1]],r.__c.setState({}))}],r.__c=je,!je.u)){var s=function(a,c,l){if(!r.__c.__H)return!0;var d=r.__c.__H.__.filter(function(f){return!!f.__c});if(d.every(function(f){return!f.__N}))return!i||i.call(this,a,c,l);var u=!1;return d.forEach(function(f){if(f.__N){var h=f.__[0];f.__=f.__N,f.__N=void 0,h!==f.__[0]&&(u=!0)}}),!(!u&&r.__c.props===a)&&(!i||i.call(this,a,c,l))};je.u=!0;var i=je.shouldComponentUpdate,o=je.componentWillUpdate;je.componentWillUpdate=function(a,c,l){if(this.__e){var d=i;i=void 0,s(a,c,l),i=d}o&&o.call(this,a,c,l)},je.shouldComponentUpdate=s}return r.__N||r.__}function TN(e,t){var n=Ds(pr++,3);!nt.__s&&Dh(n.__H,t)&&(n.__=e,n.i=t,je.__H.__h.push(n))}function sE(e,t){var n=Ds(pr++,4);!nt.__s&&Dh(n.__H,t)&&(n.__=e,n.i=t,je.__h.push(n))}function kN(e){return xi=5,va(function(){return{current:e}},[])}function IN(e,t,n){xi=6,sE(function(){return typeof e=="function"?(e(t()),function(){return e(null)}):e?(e.current=t(),function(){return e.current=null}):void 0},n==null?n:n.concat(e))}function va(e,t){var n=Ds(pr++,7);return Dh(n.__H,t)?(n.__V=e(),n.i=t,n.__h=e,n.__V):n.__}function di(e,t){return xi=8,va(function(){return e},t)}function xN(e){var t=je.context[e.__c],n=Ds(pr++,9);return n.c=e,t?(n.__==null&&(n.__=!0,t.sub(je)),t.props.value):e.__}function RN(e,t){nt.useDebugValue&&nt.useDebugValue(t?t(e):e)}function AN(e){var t=Ds(pr++,10),n=us();return t.__=e,je.componentDidCatch||(je.componentDidCatch=function(r,s){t.__&&t.__(r,s),n[1](r)}),[n[0],function(){n[1](void 0)}]}function MN(){var e=Ds(pr++,11);if(!e.__){for(var t=je.__v;t!==null&&!t.__m&&t.__!==null;)t=t.__;var n=t.__m||(t.__m=[0,0]);e.__="P"+n[0]+"-"+n[1]++}return e.__}function PN(){for(var e;e=nE.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(pc),e.__H.__h.forEach(qd),e.__H.__h=[]}catch(t){e.__H.__h=[],nt.__e(t,e.__v)}}nt.__b=function(e){je=null,Tv&&Tv(e)},nt.__=function(e,t){t.__k&&t.__k.__m&&(e.__m=t.__k.__m),Av&&Av(e,t)},nt.__r=function(e){kv&&kv(e),pr=0;var t=(je=e.__c).__H;t&&(Ru===je?(t.__h=[],je.__h=[],t.__.forEach(function(n){n.__N&&(n.__=n.__N),n.__V=hc,n.__N=n.i=void 0})):(t.__h.forEach(pc),t.__h.forEach(qd),t.__h=[],pr=0)),Ru=je},nt.diffed=function(e){Iv&&Iv(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(nE.push(t)!==1&&Cv===nt.requestAnimationFrame||((Cv=nt.requestAnimationFrame)||ON)(PN)),t.__H.__.forEach(function(n){n.i&&(n.__H=n.i),n.__V!==hc&&(n.__=n.__V),n.i=void 0,n.__V=hc})),Ru=je=null},nt.__c=function(e,t){t.some(function(n){try{n.__h.forEach(pc),n.__h=n.__h.filter(function(r){return!r.__||qd(r)})}catch(r){t.some(function(s){s.__h&&(s.__h=[])}),t=[],nt.__e(r,n.__v)}}),xv&&xv(e,t)},nt.unmount=function(e){Rv&&Rv(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach(function(r){try{pc(r)}catch(s){t=s}}),n.__H=void 0,t&&nt.__e(t,n.__v))};var Mv=typeof requestAnimationFrame=="function";function ON(e){var t,n=function(){clearTimeout(r),Mv&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,100);Mv&&(t=requestAnimationFrame(n))}function pc(e){var t=je,n=e.__c;typeof n=="function"&&(e.__c=void 0,n()),je=t}function qd(e){var t=je;e.__c=e.__(),je=t}function Dh(e,t){return!e||e.length!==t.length||t.some(function(n,r){return n!==e[r]})}function iE(e,t){return typeof t=="function"?t(e):t}const LN=Object.defineProperty({__proto__:null,useCallback:di,useContext:xN,useDebugValue:RN,useEffect:TN,useErrorBoundary:AN,useId:MN,useImperativeHandle:IN,useLayoutEffect:sE,useMemo:va,useReducer:rE,useRef:kN,useState:us},Symbol.toStringTag,{value:"Module"}),NN="http://www.w3.org/2000/svg";function DN(){const e=r=>We.createElementNS(NN,r),t=Jt(e("svg"),{width:"32",height:"30",viewBox:"0 0 72 66",fill:"inherit"}),n=Jt(e("path"),{transform:"translate(11, 11)",d:"M29,2.26a4.67,4.67,0,0,0-8,0L14.42,13.53A32.21,32.21,0,0,1,32.17,40.19H27.55A27.68,27.68,0,0,0,12.09,17.47L6,28a15.92,15.92,0,0,1,9.23,12.17H4.62A.76.76,0,0,1,4,39.06l2.94-5a10.74,10.74,0,0,0-3.36-1.9l-2.91,5a4.54,4.54,0,0,0,1.69,6.24A4.66,4.66,0,0,0,4.62,44H19.15a19.4,19.4,0,0,0-8-17.31l2.31-4A23.87,23.87,0,0,1,23.76,44H36.07a35.88,35.88,0,0,0-16.41-31.8l4.67-8a.77.77,0,0,1,1.05-.27c.53.29,20.29,34.77,20.66,35.17a.76.76,0,0,1-.68,1.13H40.6q.09,1.91,0,3.81h4.78A4.59,4.59,0,0,0,50,39.43a4.49,4.49,0,0,0-.62-2.28Z"});return t.appendChild(n),t}function FN({options:e}){const t=va(()=>({__html:DN().outerHTML}),[]);return ke("h2",{class:"dialog__header"},ke("span",{class:"dialog__title"},e.formTitle),e.showBranding?ke("a",{class:"brand-link",target:"_blank",href:"https://sentry.io/welcome/",title:"Powered by Sentry",rel:"noopener noreferrer",dangerouslySetInnerHTML:t}):null)}function $N(e,t){const n=[];return t.isNameRequired&&!e.name&&n.push(t.nameLabel),t.isEmailRequired&&!e.email&&n.push(t.emailLabel),e.message||n.push(t.messageLabel),n}function Au(e,t){const n=e.get(t);return typeof n=="string"?n.trim():""}function BN({options:e,defaultEmail:t,defaultName:n,onFormClose:r,onSubmit:s,onSubmitSuccess:i,onSubmitError:o,showEmail:a,showName:c,screenshotInput:l}){const{tags:d,addScreenshotButtonLabel:u,removeScreenshotButtonLabel:f,cancelButtonLabel:h,emailLabel:p,emailPlaceholder:m,isEmailRequired:v,isNameRequired:g,messageLabel:y,messagePlaceholder:C,nameLabel:w,namePlaceholder:I,submitButtonLabel:x,isRequiredLabel:S}=e,[b,k]=us(!1),[R,M]=us(null),[T,O]=us(!1),$=l==null?void 0:l.input,[K,Z]=us(null),z=di(U=>{Z(U),O(!1)},[]),N=di(U=>{const J=$N(U,{emailLabel:p,isEmailRequired:v,isNameRequired:g,messageLabel:y,nameLabel:w});return J.length>0?M(`Please enter in the following required fields: ${J.join(", ")}`):M(null),J.length===0},[p,v,g,y,w]),oe=di(async U=>{k(!0);try{if(U.preventDefault(),!(U.target instanceof HTMLFormElement))return;const J=new FormData(U.target),re=await(l&&T?l.value():void 0),ie={name:Au(J,"name"),email:Au(J,"email"),message:Au(J,"message"),attachments:re?[re]:void 0};if(!N(ie))return;try{const Ee=await s({name:ie.name,email:ie.email,message:ie.message,source:aN,tags:d},{attachments:ie.attachments});i(ie,Ee)}catch(Ee){uc&&te.error(Ee),M(Ee),o(Ee)}}finally{k(!1)}},[l&&T,i,o]);return ke("form",{class:"form",onSubmit:oe},$&&T?ke($,{onError:z}):null,ke("fieldset",{class:"form__right","data-sentry-feedback":!0,disabled:b},ke("div",{class:"form__top"},R?ke("div",{class:"form__error-container"},R):null,c?ke("label",{for:"name",class:"form__label"},ke(Mu,{label:w,isRequiredLabel:S,isRequired:g}),ke("input",{class:"form__input",defaultValue:n,id:"name",name:"name",placeholder:I,required:g,type:"text"})):ke("input",{"aria-hidden":!0,value:n,name:"name",type:"hidden"}),a?ke("label",{for:"email",class:"form__label"},ke(Mu,{label:p,isRequiredLabel:S,isRequired:v}),ke("input",{class:"form__input",defaultValue:t,id:"email",name:"email",placeholder:m,required:v,type:"email"})):ke("input",{"aria-hidden":!0,value:t,name:"email",type:"hidden"}),ke("label",{for:"message",class:"form__label"},ke(Mu,{label:y,isRequiredLabel:S,isRequired:!0}),ke("textarea",{autoFocus:!0,class:"form__input form__input--textarea",id:"message",name:"message",placeholder:C,required:!0,rows:5})),$?ke("label",{for:"screenshot",class:"form__label"},ke("button",{class:"btn btn--default",disabled:b,type:"button",onClick:()=>{Z(null),O(U=>!U)}},T?f:u),K?ke("div",{class:"form__error-container"},K.message):null):null),ke("div",{class:"btn-group"},ke("button",{class:"btn btn--primary",disabled:b,type:"submit"},x),ke("button",{class:"btn btn--default",disabled:b,type:"button",onClick:r},h))))}function Mu({label:e,isRequired:t,isRequiredLabel:n}){return ke("span",{class:"form__label__text"},e,t&&ke("span",{class:"form__label__text--required"},n))}const Ba=16,Pv=17,HN="http://www.w3.org/2000/svg";function VN(){const e=c=>_n.document.createElementNS(HN,c),t=Jt(e("svg"),{width:`${Ba}`,height:`${Pv}`,viewBox:`0 0 ${Ba} ${Pv}`,fill:"inherit"}),n=Jt(e("g"),{clipPath:"url(#clip0_57_156)"}),r=Jt(e("path"),{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M3.55544 15.1518C4.87103 16.0308 6.41775 16.5 8 16.5C10.1217 16.5 12.1566 15.6571 13.6569 14.1569C15.1571 12.6566 16 10.6217 16 8.5C16 6.91775 15.5308 5.37103 14.6518 4.05544C13.7727 2.73985 12.5233 1.71447 11.0615 1.10897C9.59966 0.503466 7.99113 0.34504 6.43928 0.653721C4.88743 0.962403 3.46197 1.72433 2.34315 2.84315C1.22433 3.96197 0.462403 5.38743 0.153721 6.93928C-0.15496 8.49113 0.00346625 10.0997 0.608967 11.5615C1.21447 13.0233 2.23985 14.2727 3.55544 15.1518ZM4.40546 3.1204C5.46945 2.40946 6.72036 2.03 8 2.03C9.71595 2.03 11.3616 2.71166 12.575 3.92502C13.7883 5.13838 14.47 6.78405 14.47 8.5C14.47 9.77965 14.0905 11.0306 13.3796 12.0945C12.6687 13.1585 11.6582 13.9878 10.476 14.4775C9.29373 14.9672 7.99283 15.0953 6.73777 14.8457C5.48271 14.596 4.32987 13.9798 3.42502 13.075C2.52018 12.1701 1.90397 11.0173 1.65432 9.76224C1.40468 8.50718 1.5328 7.20628 2.0225 6.02404C2.5122 4.8418 3.34148 3.83133 4.40546 3.1204Z"}),s=Jt(e("path"),{d:"M6.68775 12.4297C6.78586 12.4745 6.89218 12.4984 7 12.5C7.11275 12.4955 7.22315 12.4664 7.32337 12.4145C7.4236 12.3627 7.51121 12.2894 7.58 12.2L12 5.63999C12.0848 5.47724 12.1071 5.28902 12.0625 5.11098C12.0178 4.93294 11.9095 4.77744 11.7579 4.67392C11.6064 4.57041 11.4221 4.52608 11.24 4.54931C11.0579 4.57254 10.8907 4.66173 10.77 4.79999L6.88 10.57L5.13 8.56999C5.06508 8.49566 4.98613 8.43488 4.89768 8.39111C4.80922 8.34735 4.713 8.32148 4.61453 8.31498C4.51605 8.30847 4.41727 8.32147 4.32382 8.35322C4.23038 8.38497 4.14413 8.43484 4.07 8.49999C3.92511 8.63217 3.83692 8.81523 3.82387 9.01092C3.81083 9.2066 3.87393 9.39976 4 9.54999L6.43 12.24C6.50187 12.3204 6.58964 12.385 6.68775 12.4297Z"});t.appendChild(n).append(s,r);const i=e("defs"),o=Jt(e("clipPath"),{id:"clip0_57_156"}),a=Jt(e("rect"),{width:`${Ba}`,height:`${Ba}`,fill:"white",transform:"translate(0 0.5)"});return o.appendChild(a),i.appendChild(o),t.appendChild(i).appendChild(o).appendChild(a),t}function UN({open:e,onFormSubmitted:t,...n}){const r=n.options,s=va(()=>({__html:VN().outerHTML}),[]),[i,o]=us(null),a=di(()=>{i&&(clearTimeout(i),o(null)),t()},[i]),c=di((l,d)=>{n.onSubmitSuccess(l,d),o(setTimeout(()=>{t(),o(null)},lN))},[t]);return ke(ga,null,i?ke("div",{class:"success__position",onClick:a},ke("div",{class:"success__content"},r.successMessageText,ke("span",{class:"success__icon",dangerouslySetInnerHTML:s}))):ke("dialog",{class:"dialog",onClick:r.onFormClose,open:e},ke("div",{class:"dialog__position"},ke("div",{class:"dialog__content",onClick:l=>{l.stopPropagation()}},ke(FN,{options:r}),ke(BN,{...n,onSubmitSuccess:c})))))}const WN=` -.dialog { - position: fixed; - z-index: var(--z-index); - margin: 0; - inset: 0; - - display: flex; - align-items: center; - justify-content: center; - padding: 0; - height: 100vh; - width: 100vw; - - color: var(--dialog-color, var(--foreground)); - fill: var(--dialog-color, var(--foreground)); - line-height: 1.75em; - - background-color: rgba(0, 0, 0, 0.05); - border: none; - inset: 0; - opacity: 1; - transition: opacity 0.2s ease-in-out; -} - -.dialog__position { - position: fixed; - z-index: var(--z-index); - inset: var(--dialog-inset); - padding: var(--page-margin); - display: flex; - max-height: calc(100vh - (2 * var(--page-margin))); -} -@media (max-width: 600px) { - .dialog__position { - inset: var(--page-margin); - padding: 0; - } -} - -.dialog__position:has(.editor) { - inset: var(--page-margin); - padding: 0; -} - -.dialog:not([open]) { - opacity: 0; - pointer-events: none; - visibility: hidden; -} -.dialog:not([open]) .dialog__content { - transform: translate(0, -16px) scale(0.98); -} - -.dialog__content { - display: flex; - flex-direction: column; - gap: 16px; - padding: var(--dialog-padding, 24px); - max-width: 100%; - width: 100%; - max-height: 100%; - overflow: auto; - - background: var(--dialog-background, var(--background)); - border-radius: var(--dialog-border-radius, 20px); - border: var(--dialog-border, var(--border)); - box-shadow: var(--dialog-box-shadow, var(--box-shadow)); - transform: translate(0, 0) scale(1); - transition: transform 0.2s ease-in-out; -} - -`,jN=` -.dialog__header { - display: flex; - gap: 4px; - justify-content: space-between; - font-weight: var(--dialog-header-weight, 600); - margin: 0; -} -.dialog__title { - align-self: center; - width: var(--form-width, 272px); -} - -@media (max-width: 600px) { - .dialog__title { - width: auto; - } -} - -.dialog__position:has(.editor) .dialog__title { - width: auto; -} - - -.brand-link { - display: inline-flex; -} -.brand-link:focus-visible { - outline: var(--outline); -} -`,zN=` -.form { - display: flex; - overflow: auto; - flex-direction: row; - gap: 16px; - flex: 1 0; -} - -.form fieldset { - border: none; - margin: 0; - padding: 0; -} - -.form__right { - flex: 0 0 auto; - display: flex; - overflow: auto; - flex-direction: column; - justify-content: space-between; - gap: 20px; - width: var(--form-width, 100%); -} - -.dialog__position:has(.editor) .form__right { - width: var(--form-width, 272px); -} - -.form__top { - display: flex; - flex-direction: column; - gap: 8px; -} - -.form__error-container { - color: var(--error-color); - fill: var(--error-color); -} - -.form__label { - display: flex; - flex-direction: column; - gap: 4px; - margin: 0px; -} - -.form__label__text { - display: flex; - gap: 4px; - align-items: center; -} - -.form__label__text--required { - font-size: 0.85em; -} - -.form__input { - font-family: inherit; - line-height: inherit; - background: transparent; - box-sizing: border-box; - border: var(--input-border, var(--border)); - border-radius: var(--input-border-radius, 6px); - color: var(--input-color, inherit); - fill: var(--input-color, inherit); - font-size: var(--input-font-size, inherit); - font-weight: var(--input-font-weight, 500); - padding: 6px 12px; -} - -.form__input::placeholder { - opacity: 0.65; - color: var(--input-placeholder-color, inherit); - filter: var(--interactive-filter); -} - -.form__input:focus-visible { - outline: var(--input-focus-outline, var(--outline)); -} - -.form__input--textarea { - font-family: inherit; - resize: vertical; -} - -.error { - color: var(--error-color); - fill: var(--error-color); -} -`,qN=` -.btn-group { - display: grid; - gap: 8px; -} - -.btn { - line-height: inherit; - border: var(--button-border, var(--border)); - border-radius: var(--button-border-radius, 6px); - cursor: pointer; - font-family: inherit; - font-size: var(--button-font-size, inherit); - font-weight: var(--button-font-weight, 600); - padding: var(--button-padding, 6px 16px); -} -.btn[disabled] { - opacity: 0.6; - pointer-events: none; -} - -.btn--primary { - color: var(--button-primary-color, var(--accent-foreground)); - fill: var(--button-primary-color, var(--accent-foreground)); - background: var(--button-primary-background, var(--accent-background)); - border: var(--button-primary-border, var(--border)); - border-radius: var(--button-primary-border-radius, 6px); - font-weight: var(--button-primary-font-weight, 500); -} -.btn--primary:hover { - color: var(--button-primary-hover-color, var(--accent-foreground)); - fill: var(--button-primary-hover-color, var(--accent-foreground)); - background: var(--button-primary-hover-background, var(--accent-background)); - filter: var(--interactive-filter); -} -.btn--primary:focus-visible { - background: var(--button-primary-hover-background, var(--accent-background)); - filter: var(--interactive-filter); - outline: var(--button-primary-focus-outline, var(--outline)); -} - -.btn--default { - color: var(--button-color, var(--foreground)); - fill: var(--button-color, var(--foreground)); - background: var(--button-background, var(--background)); - border: var(--button-border, var(--border)); - border-radius: var(--button-border-radius, 6px); - font-weight: var(--button-font-weight, 500); -} -.btn--default:hover { - color: var(--button-color, var(--foreground)); - fill: var(--button-color, var(--foreground)); - background: var(--button-hover-background, var(--background)); - filter: var(--interactive-filter); -} -.btn--default:focus-visible { - background: var(--button-hover-background, var(--background)); - filter: var(--interactive-filter); - outline: var(--button-focus-outline, var(--outline)); -} -`,GN=` -.success__position { - position: fixed; - inset: var(--dialog-inset); - padding: var(--page-margin); - z-index: var(--z-index); -} -.success__content { - background: var(--success-background, var(--background)); - border: var(--success-border, var(--border)); - border-radius: var(--success-border-radius, 1.7em/50%); - box-shadow: var(--success-box-shadow, var(--box-shadow)); - font-weight: var(--success-font-weight, 600); - color: var(--success-color); - fill: var(--success-color); - padding: 12px 24px; - line-height: 1.75em; - - display: grid; - align-items: center; - grid-auto-flow: column; - gap: 6px; - cursor: default; -} - -.success__icon { - display: flex; -} -`;function KN(e){const t=We.createElement("style");return t.textContent=` -:host { - --dialog-inset: var(--inset); -} - -${WN} -${jN} -${zN} -${qN} -${GN} -`,e&&t.setAttribute("nonce",e),t}function YN(){const e=Oe().getUser(),t=$t().getUser(),n=JS().getUser();return e&&Object.keys(e).length?e:t&&Object.keys(t).length?t:n}const XN=()=>({name:"FeedbackModal",setupOnce(){},createDialog:({options:e,screenshotIntegration:t,sendFeedback:n,shadow:r})=>{const s=r,i=e.useSentryUser,o=YN(),a=We.createElement("div"),c=KN(e.styleNonce);let l="";const d={get el(){return a},appendToDom(){!s.contains(c)&&!s.contains(a)&&(s.appendChild(c),s.appendChild(a))},removeFromDom(){a.remove(),c.remove(),We.body.style.overflow=l},open(){var h,p;f(!0),(h=e.onFormOpen)==null||h.call(e),(p=Ce())==null||p.emit("openFeedbackWidget"),l=We.body.style.overflow,We.body.style.overflow="hidden"},close(){f(!1),We.body.style.overflow=l}},u=t==null?void 0:t.createInput({h:ke,hooks:LN,dialog:d,options:e}),f=h=>{CN(ke(UN,{options:e,screenshotInput:u,showName:e.showName||e.isNameRequired,showEmail:e.showEmail||e.isEmailRequired,defaultName:String(i&&(o==null?void 0:o[i.name])||""),defaultEmail:String(i&&(o==null?void 0:o[i.email])||""),onFormClose:()=>{var p;f(!1),(p=e.onFormClose)==null||p.call(e)},onSubmit:n,onSubmitSuccess:(p,m)=>{var v;f(!1),(v=e.onSubmitSuccess)==null||v.call(e,p,m)},onSubmitError:p=>{var m;(m=e.onSubmitError)==null||m.call(e,p)},onFormSubmitted:()=>{var p;(p=e.onFormSubmitted)==null||p.call(e)},open:h}),a)};return d}});function JN({h:e}){return function(){return e("svg",{"data-test-id":"icon-close",viewBox:"0 0 16 16",fill:"#2B2233",height:"25px",width:"25px"},e("circle",{r:"7",cx:"8",cy:"8",fill:"white"}),e("path",{strokeWidth:"1.5",d:"M8,16a8,8,0,1,1,8-8A8,8,0,0,1,8,16ZM8,1.53A6.47,6.47,0,1,0,14.47,8,6.47,6.47,0,0,0,8,1.53Z"}),e("path",{strokeWidth:"1.5",d:"M5.34,11.41a.71.71,0,0,1-.53-.22.74.74,0,0,1,0-1.06l5.32-5.32a.75.75,0,0,1,1.06,1.06L5.87,11.19A.74.74,0,0,1,5.34,11.41Z"}),e("path",{strokeWidth:"1.5",d:"M10.66,11.41a.74.74,0,0,1-.53-.22L4.81,5.87A.75.75,0,0,1,5.87,4.81l5.32,5.32a.74.74,0,0,1,0,1.06A.71.71,0,0,1,10.66,11.41Z"}))}}function ZN(e){const t=We.createElement("style"),n="#1A141F",r="#302735";return t.textContent=` -.editor { - display: flex; - flex-grow: 1; - flex-direction: column; -} - -.editor__image-container { - justify-items: center; - padding: 15px; - position: relative; - height: 100%; - border-radius: var(--menu-border-radius, 6px); - - background-color: ${n}; - background-image: repeating-linear-gradient( - -145deg, - transparent, - transparent 8px, - ${n} 8px, - ${n} 11px - ), - repeating-linear-gradient( - -45deg, - transparent, - transparent 15px, - ${r} 15px, - ${r} 16px - ); -} - -.editor__canvas-container { - width: 100%; - height: 100%; - position: relative; - display: flex; - align-items: center; - justify-content: center; -} - -.editor__canvas-container > * { - object-fit: contain; - position: absolute; -} - -.editor__tool-container { - padding-top: 8px; - display: flex; - justify-content: center; -} - -.editor__tool-bar { - display: flex; - gap: 8px; -} - -.editor__tool { - display: flex; - padding: 8px 12px; - justify-content: center; - align-items: center; - border: var(--button-border, var(--border)); - border-radius: var(--button-border-radius, 6px); - background: var(--button-background, var(--background)); - color: var(--button-color, var(--foreground)); -} - -.editor__tool--active { - background: var(--button-primary-background, var(--accent-background)); - color: var(--button-primary-color, var(--accent-foreground)); -} - -.editor__rect { - position: absolute; - z-index: 2; -} - -.editor__rect button { - opacity: 0; - position: absolute; - top: -12px; - right: -12px; - cursor: pointer; - padding: 0; - z-index: 3; - border: none; - background: none; -} - -.editor__rect:hover button { - opacity: 1; -} -`,e&&t.setAttribute("nonce",e),t}function QN({h:e}){return function({action:n,setAction:r,options:s}){return e("div",{class:"editor__tool-container"},e("div",{class:"editor__tool-bar"},e("button",{type:"button",class:`editor__tool ${n==="highlight"?"editor__tool--active":""}`,onClick:()=>{r(n==="highlight"?"":"highlight")}},s.highlightToolText),e("button",{type:"button",class:`editor__tool ${n==="hide"?"editor__tool--active":""}`,onClick:()=>{r(n==="hide"?"":"hide")}},s.hideToolText)))}}function eD({hooks:e}){function t(){const[n,r]=e.useState(_n.devicePixelRatio??1);return e.useEffect(()=>{const s=()=>{r(_n.devicePixelRatio)},i=matchMedia(`(resolution: ${_n.devicePixelRatio}dppx)`);return i.addEventListener("change",s),()=>{i.removeEventListener("change",s)}},[]),n}return function({onBeforeScreenshot:r,onScreenshot:s,onAfterScreenshot:i,onError:o}){const a=t();e.useEffect(()=>{(async()=>{r();const l=await lo.mediaDevices.getDisplayMedia({video:{width:_n.innerWidth*a,height:_n.innerHeight*a},audio:!1,monitorTypeSurfaces:"exclude",preferCurrentTab:!0,selfBrowserSurface:"include",surfaceSwitching:"exclude"}),d=We.createElement("video");await new Promise((u,f)=>{d.srcObject=l,d.onloadedmetadata=()=>{s(d,a),l.getTracks().forEach(h=>h.stop()),u()},d.play().catch(f)}),i()})().catch(o)},[])}}function tD(e,t,n){switch(e.type){case"highlight":{t.shadowColor="rgba(0, 0, 0, 0.7)",t.shadowBlur=50,t.fillStyle=n,t.fillRect(e.x-1,e.y-1,e.w+2,e.h+2),t.clearRect(e.x,e.y,e.w,e.h);break}case"hide":t.fillStyle="rgb(0, 0, 0)",t.fillRect(e.x,e.y,e.w,e.h);break}}function Ar(e,t,n){if(!e)return;const r=e.getContext("2d",t);r&&n(e,r)}function Pu(e,t){Ar(e,{alpha:!0},(n,r)=>{r.drawImage(t,0,0,t.width,t.height,0,0,n.width,n.height)})}function Ou(e,t,n){Ar(e,{alpha:!0},(r,s)=>{n.length&&(s.fillStyle="rgba(0, 0, 0, 0.25)",s.fillRect(0,0,r.width,r.height)),n.forEach(i=>{tD(i,s,t)})})}function nD({h:e,hooks:t,outputBuffer:n,dialog:r,options:s}){const i=eD({hooks:t}),o=QN({h:e}),a=JN({h:e}),c={__html:ZN(s.styleNonce).innerText},l=r.el.style,d=({screenshot:u})=>{const[f,h]=t.useState("highlight"),[p,m]=t.useState([]),v=t.useRef(null),g=t.useRef(null),y=t.useRef(null),C=t.useRef(null),[w,I]=t.useState(1),x=t.useMemo(()=>{const T=We.getElementById(s.id);if(!T)return"white";const O=getComputedStyle(T);return O.getPropertyValue("--button-primary-background")||O.getPropertyValue("--accent-background")},[s.id]);t.useLayoutEffect(()=>{const T=()=>{const O=v.current;O&&(Ar(u.canvas,{alpha:!1},$=>{const K=Math.min(O.clientWidth/$.width,O.clientHeight/$.height);I(K)}),(O.clientHeight===0||O.clientWidth===0)&&setTimeout(T,0))};return T(),_n.addEventListener("resize",T),()=>{_n.removeEventListener("resize",T)}},[u]);const S=t.useCallback((T,O)=>{Ar(T,{alpha:!0},($,K)=>{K.scale(O,O),$.width=u.canvas.width,$.height=u.canvas.height})},[u]);t.useEffect(()=>{S(g.current,u.dpi),Pu(g.current,u.canvas)},[u]),t.useEffect(()=>{S(y.current,u.dpi),Ar(y.current,{alpha:!0},(T,O)=>{O.clearRect(0,0,T.width,T.height)}),Ou(y.current,x,p)},[p,x]),t.useEffect(()=>{S(n,u.dpi),Pu(n,u.canvas),Ar(We.createElement("canvas"),{alpha:!0},(T,O)=>{O.scale(u.dpi,u.dpi),T.width=u.canvas.width,T.height=u.canvas.height,Ou(T,x,p),Pu(n,T)})},[p,u,x]);const b=T=>{if(!f||!C.current)return;const O=C.current.getBoundingClientRect(),$={type:f,x:T.offsetX/w,y:T.offsetY/w},K=(N,oe)=>{const U=(oe.clientX-O.x)/w,J=(oe.clientY-O.y)/w;return{type:N.type,x:Math.min(N.x,U),y:Math.min(N.y,J),w:Math.abs(U-N.x),h:Math.abs(J-N.y)}},Z=N=>{Ar(y.current,{alpha:!0},(oe,U)=>{U.clearRect(0,0,oe.width,oe.height)}),Ou(y.current,x,[...p,K($,N)])},z=N=>{const oe=K($,N);oe.w*w>=1&&oe.h*w>=1&&m(U=>[...U,oe]),We.removeEventListener("mousemove",Z),We.removeEventListener("mouseup",z)};We.addEventListener("mousemove",Z),We.addEventListener("mouseup",z)},k=t.useCallback(T=>O=>{O.preventDefault(),O.stopPropagation(),m($=>{const K=[...$];return K.splice(T,1),K})},[]),R={width:`${u.canvas.width*w}px`,height:`${u.canvas.height*w}px`},M=T=>{T.stopPropagation()};return e("div",{class:"editor"},e("style",{nonce:s.styleNonce,dangerouslySetInnerHTML:c}),e("div",{class:"editor__image-container"},e("div",{class:"editor__canvas-container",ref:v},e("canvas",{ref:g,id:"background",style:R}),e("canvas",{ref:y,id:"foreground",style:R}),e("div",{ref:C,onMouseDown:b,style:R},p.map((T,O)=>e("div",{key:O,class:"editor__rect",style:{top:`${T.y*w}px`,left:`${T.x*w}px`,width:`${T.w*w}px`,height:`${T.h*w}px`}},e("button",{"aria-label":s.removeHighlightText,onClick:k(O),onMouseDown:M,onMouseUp:M,type:"button"},e(a,null))))))),e(o,{options:s,action:f,setAction:h}))};return function({onError:f}){const[h,p]=t.useState();return i({onBeforeScreenshot:t.useCallback(()=>{l.display="none"},[]),onScreenshot:t.useCallback((m,v)=>{Ar(We.createElement("canvas"),{alpha:!1},(g,y)=>{y.scale(v,v),g.width=m.videoWidth,g.height=m.videoHeight,y.drawImage(m,0,0,g.width,g.height),p({canvas:g,dpi:v})}),n.width=m.videoWidth,n.height=m.videoHeight},[]),onAfterScreenshot:t.useCallback(()=>{l.display="block"},[]),onError:t.useCallback(m=>{l.display="block",f(m)},[])}),h?e(d,{screenshot:h}):e("div",null)}}const rD=()=>({name:"FeedbackScreenshot",setupOnce(){},createInput:({h:e,hooks:t,dialog:n,options:r})=>{const s=We.createElement("canvas");return{input:nD({h:e,hooks:t,outputBuffer:s,dialog:n,options:r}),value:async()=>{const i=await new Promise(o=>{s.toBlob(o,"image/png")});if(i)return{data:new Uint8Array(await i.arrayBuffer()),filename:"screenshot.png",contentType:"application/png"}}}}}),Ae=xe;let Gd=0;function oE(){return Gd>0}function sD(){Gd++,setTimeout(()=>{Gd--})}function Ri(e,t={}){function n(s){return typeof s=="function"}if(!n(e))return e;try{const s=e.__sentry_wrapped__;if(s)return typeof s=="function"?s:e;if(vh(e))return e}catch{return e}const r=function(...s){try{const i=s.map(o=>Ri(o,t));return e.apply(this,i)}catch(i){throw sD(),Ml(o=>{o.addEventProcessor(a=>(t.mechanism&&(Md(a,void 0),wi(a,t.mechanism)),a.extra={...a.extra,arguments:s},a)),Ol(i)}),i}};try{for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&(r[s]=e[s])}catch{}GS(r,e),Gt(e,"__sentry_wrapped__",r);try{Object.getOwnPropertyDescriptor(r,"name").configurable&&Object.defineProperty(r,"name",{get(){return e.name}})}catch{}return r}function Fh(){const e=Ls(),{referrer:t}=Ae.document||{},{userAgent:n}=Ae.navigator||{},r={...t&&{Referer:t},...n&&{"User-Agent":n}};return{url:e,headers:r}}const iD=vN({getModalIntegration:()=>XN,getScreenshotIntegration:()=>rD});function $h(e,t){const n=Bh(e,t),r={type:uD(t),value:dD(t)};return n.length&&(r.stacktrace={frames:n}),r.type===void 0&&r.value===""&&(r.value="Unrecoverable error caught"),r}function oD(e,t,n,r){const s=Ce(),i=s==null?void 0:s.getOptions().normalizeDepth,o=gD(t),a={__serialized__:p0(t,i)};if(o)return{exception:{values:[$h(e,o)]},extra:a};const c={exception:{values:[{type:Al(t)?t.constructor.name:r?"UnhandledRejection":"Error",value:pD(t,{isUnhandledRejection:r})}]},extra:a};if(n){const l=Bh(e,n);l.length&&(c.exception.values[0].stacktrace={frames:l})}return c}function Lu(e,t){return{exception:{values:[$h(e,t)]}}}function Bh(e,t){const n=t.stacktrace||t.stack||"",r=cD(t),s=lD(t);try{return e(n,r,s)}catch{}return[]}const aD=/Minified React error #\d+;/i;function cD(e){return e&&aD.test(e.message)?1:0}function lD(e){return typeof e.framesToPop=="number"?e.framesToPop:0}function aE(e){return typeof WebAssembly<"u"&&typeof WebAssembly.Exception<"u"?e instanceof WebAssembly.Exception:!1}function uD(e){const t=e==null?void 0:e.name;return!t&&aE(e)?e.message&&Array.isArray(e.message)&&e.message.length==2?e.message[0]:"WebAssembly.Exception":t}function dD(e){const t=e==null?void 0:e.message;return aE(e)?Array.isArray(e.message)&&e.message.length==2?e.message[1]:"wasm exception":t?t.error&&typeof t.error.message=="string"?ov(t.error):ov(e):"No error message"}function fD(e,t,n,r){const s=(n==null?void 0:n.syntheticException)||void 0,i=Hh(e,t,s,r);return wi(i),i.level="error",n!=null&&n.event_id&&(i.event_id=n.event_id),ma(i)}function hD(e,t,n="info",r,s){const i=(r==null?void 0:r.syntheticException)||void 0,o=Kd(e,t,i,s);return o.level=n,r!=null&&r.event_id&&(o.event_id=r.event_id),ma(o)}function Hh(e,t,n,r,s){let i;if(jS(t)&&t.error)return Lu(e,t.error);if(Tg(t)||lM(t)){const o=t;if("stack"in t)i=Lu(e,t);else{const a=o.name||(Tg(o)?"DOMError":"DOMException"),c=o.message?`${a}: ${o.message}`:a;i=Kd(e,c,n,r),Md(i,c)}return"code"in o&&(i.tags={...i.tags,"DOMException.code":`${o.code}`}),i}return Rl(t)?Lu(e,t):jo(t)||Al(t)?(i=oD(e,t,n,s),wi(i,{synthetic:!0}),i):(i=Kd(e,t,n,r),Md(i,`${t}`),wi(i,{synthetic:!0}),i)}function Kd(e,t,n,r){const s={};if(r&&n){const i=Bh(e,n);i.length&&(s.exception={values:[{value:t,stacktrace:{frames:i}}]}),wi(s,{synthetic:!0})}if(ph(t)){const{__sentry_template_string__:i,__sentry_template_values__:o}=t;return s.logentry={message:i,params:o},s}return s.message=t,s}function pD(e,{isUnhandledRejection:t}){const n=mM(e),r=t?"promise rejection":"exception";return jS(e)?`Event \`ErrorEvent\` captured as ${r} with message \`${e.message}\``:Al(e)?`Event \`${mD(e)}\` (type=${e.type}) captured as ${r}`:`Object captured as ${r} with keys: ${n}`}function mD(e){try{const t=Object.getPrototypeOf(e);return t?t.constructor.name:void 0}catch{}}function gD(e){for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)){const n=e[t];if(n instanceof Error)return n}}class vD extends LO{constructor(t){var d;const n=yD(t),r=Ae.SENTRY_SDK_SOURCE||VL();B0(n,"browser",["browser"],r),(d=n._metadata)!=null&&d.sdk&&(n._metadata.sdk.settings={infer_ip:n.sendDefaultPii?"auto":"never",...n._metadata.sdk.settings}),super(n);const{sendDefaultPii:s,sendClientReports:i,enableLogs:o,_experiments:a,enableMetrics:c}=this._options,l=c??(a==null?void 0:a.enableMetrics)??!0;Ae.document&&(i||o||l)&&Ae.document.addEventListener("visibilitychange",()=>{Ae.document.visibilityState==="hidden"&&(i&&this._flushOutcomes(),o&&Bd(this),l&&x0(this))}),s&&this.on("beforeSendSession",KO)}eventFromException(t,n){return fD(this._options.stackParser,t,n,this._options.attachStacktrace)}eventFromMessage(t,n="info",r){return hD(this._options.stackParser,t,n,r,this._options.attachStacktrace)}_prepareEvent(t,n,r,s){return t.platform=t.platform||"javascript",super._prepareEvent(t,n,r,s)}}function yD(e){var t;return{release:typeof __SENTRY_RELEASE__=="string"?__SENTRY_RELEASE__:(t=Ae.SENTRY_RELEASE)==null?void 0:t.id,sendClientReports:!0,parentSpanIsAlwaysRootSpan:!0,...e}}const xs=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,ve=xe,_D=(e,t)=>e>t[1]?"poor":e>t[0]?"needs-improvement":"good",ya=(e,t,n,r)=>{let s,i;return o=>{t.value>=0&&(o||r)&&(i=t.value-(s??0),(i||s===void 0)&&(s=t.value,t.delta=i,t.rating=_D(t.value,n),e(t)))}},_a=(e=!0)=>{var n,r;const t=(r=(n=ve.performance)==null?void 0:n.getEntriesByType)==null?void 0:r.call(n,"navigation")[0];if(!e||t&&t.responseStart>0&&t.responseStart{const e=_a();return(e==null?void 0:e.activationStart)??0};function Fr(e,t,n){ve.document&&ve.addEventListener(e,t,n)}function Gc(e,t,n){ve.document&&ve.removeEventListener(e,t,n)}let fi=-1;const cE=new Set,bD=()=>{var e,t;return((e=ve.document)==null?void 0:e.visibilityState)==="hidden"&&!((t=ve.document)!=null&&t.prerendering)?0:1/0},mc=e=>{if(SD(e)&&fi>-1){if(e.type==="visibilitychange"||e.type==="pagehide")for(const t of cE)t();isFinite(fi)||(fi=e.type==="visibilitychange"?e.timeStamp:0,Gc("prerenderingchange",mc,!0))}},ba=()=>{var e;if(ve.document&&fi<0){const t=Ki();fi=(ve.document.prerendering||(e=globalThis.performance.getEntriesByType("visibility-state").filter(r=>r.name==="hidden"&&r.startTime>t)[0])==null?void 0:e.startTime)??bD(),Fr("visibilitychange",mc,!0),Fr("pagehide",mc,!0),Fr("prerenderingchange",mc,!0)}return{get firstHiddenTime(){return fi},onHidden(t){cE.add(t)}}};function SD(e){var t;return e.type==="pagehide"||((t=ve.document)==null?void 0:t.visibilityState)==="hidden"}const ED=()=>`v5-${Date.now()}-${Math.floor(Math.random()*(9e12-1))+1e12}`,Sa=(e,t=-1)=>{var i,o;const n=_a();let r="navigate";return n&&((i=ve.document)!=null&&i.prerendering||Ki()>0?r="prerender":(o=ve.document)!=null&&o.wasDiscarded?r="restore":n.type&&(r=n.type.replace(/_/g,"-"))),{name:e,value:t,rating:"good",delta:0,entries:[],id:ED(),navigationType:r}},Nu=new WeakMap;function Vh(e,t){try{return Nu.get(e)||Nu.set(e,new t),Nu.get(e)}catch{return new t}}class Kc{constructor(){Kc.prototype.__init.call(this),Kc.prototype.__init2.call(this)}__init(){this._sessionValue=0}__init2(){this._sessionEntries=[]}_processEntry(t){var s;if(t.hadRecentInput)return;const n=this._sessionEntries[0],r=this._sessionEntries[this._sessionEntries.length-1];this._sessionValue&&n&&r&&t.startTime-r.startTime<1e3&&t.startTime-n.startTime<5e3?(this._sessionValue+=t.value,this._sessionEntries.push(t)):(this._sessionValue=t.value,this._sessionEntries=[t]),(s=this._onAfterProcessingUnexpectedShift)==null||s.call(this,t)}}const Yi=(e,t,n={})=>{try{if(PerformanceObserver.supportedEntryTypes.includes(e)){const r=new PerformanceObserver(s=>{Promise.resolve().then(()=>{t(s.getEntries())})});return r.observe({type:e,buffered:!0,...n}),r}}catch{}},Uh=e=>{let t=!1;return()=>{t||(e(),t=!0)}},Nl=e=>{var t;(t=ve.document)!=null&&t.prerendering?addEventListener("prerenderingchange",()=>e(),!0):e()},wD=[1800,3e3],CD=(e,t={})=>{Nl(()=>{const n=ba(),r=Sa("FCP");let s;const o=Yi("paint",a=>{for(const c of a)c.name==="first-contentful-paint"&&(o.disconnect(),c.startTime{CD(Uh(()=>{var c;const n=Sa("CLS",0);let r;const s=ba(),i=Vh(t,Kc),o=l=>{for(const d of l)i._processEntry(d);i._sessionValue>n.value&&(n.value=i._sessionValue,n.entries=i._sessionEntries,r())},a=Yi("layout-shift",o);a&&(r=ya(e,n,TD,t.reportAllChanges),s.onHidden(()=>{o(a.takeRecords()),r(!0)}),(c=ve==null?void 0:ve.setTimeout)==null||c.call(ve,r))}))};let lE=0,Du=1/0,Ha=0;const ID=e=>{e.forEach(t=>{t.interactionId&&(Du=Math.min(Du,t.interactionId),Ha=Math.max(Ha,t.interactionId),lE=Ha?(Ha-Du)/7+1:0)})};let Yd;const uE=()=>Yd?lE:performance.interactionCount||0,xD=()=>{"interactionCount"in performance||Yd||(Yd=Yi("event",ID,{type:"event",buffered:!0,durationThreshold:0}))},Fu=10;let dE=0;const RD=()=>uE()-dE;class Yc{constructor(){Yc.prototype.__init.call(this),Yc.prototype.__init2.call(this)}__init(){this._longestInteractionList=[]}__init2(){this._longestInteractionMap=new Map}_resetInteractions(){dE=uE(),this._longestInteractionList.length=0,this._longestInteractionMap.clear()}_estimateP98LongestInteraction(){const t=Math.min(this._longestInteractionList.length-1,Math.floor(RD()/50));return this._longestInteractionList[t]}_processEntry(t){var s,i;if((s=this._onBeforeProcessingEntry)==null||s.call(this,t),!(t.interactionId||t.entryType==="first-input"))return;const n=this._longestInteractionList.at(-1);let r=this._longestInteractionMap.get(t.interactionId);if(r||this._longestInteractionList.lengthn._latency){if(r?t.duration>r._latency?(r.entries=[t],r._latency=t.duration):t.duration===r._latency&&t.startTime===r.entries[0].startTime&&r.entries.push(t):(r={id:t.interactionId,entries:[t],_latency:t.duration},this._longestInteractionMap.set(r.id,r),this._longestInteractionList.push(r)),this._longestInteractionList.sort((o,a)=>a._latency-o._latency),this._longestInteractionList.length>Fu){const o=this._longestInteractionList.splice(Fu);for(const a of o)this._longestInteractionMap.delete(a.id)}(i=this._onAfterProcessingINPCandidate)==null||i.call(this,r)}}}const fE=e=>{var n;const t=ve.requestIdleCallback||ve.setTimeout;((n=ve.document)==null?void 0:n.visibilityState)==="hidden"?e():(e=Uh(e),Fr("visibilitychange",e,{once:!0,capture:!0}),Fr("pagehide",e,{once:!0,capture:!0}),t(()=>{e(),Gc("visibilitychange",e,{capture:!0}),Gc("pagehide",e,{capture:!0})}))},AD=[200,500],MD=40,PD=(e,t={})=>{if(!(globalThis.PerformanceEventTiming&&"interactionId"in PerformanceEventTiming.prototype))return;const n=ba();Nl(()=>{xD();const r=Sa("INP");let s;const i=Vh(t,Yc),o=c=>{fE(()=>{for(const d of c)i._processEntry(d);const l=i._estimateP98LongestInteraction();l&&l._latency!==r.value&&(r.value=l._latency,r.entries=l.entries,s())})},a=Yi("event",o,{durationThreshold:t.durationThreshold??MD});s=ya(e,r,AD,t.reportAllChanges),a&&(a.observe({type:"first-input",buffered:!0}),n.onHidden(()=>{o(a.takeRecords()),s(!0)}))})};class OD{_processEntry(t){var n;(n=this._onBeforeProcessingEntry)==null||n.call(this,t)}}const LD=[2500,4e3],ND=(e,t={})=>{Nl(()=>{const n=ba(),r=Sa("LCP");let s;const i=Vh(t,OD),o=c=>{t.reportAllChanges||(c=c.slice(-1));for(const l of c)i._processEntry(l),l.startTime{o(a.takeRecords()),a.disconnect(),s(!0)}),l=d=>{d.isTrusted&&(fE(c),Gc(d.type,l,{capture:!0}))};for(const d of["keydown","click","visibilitychange"])Fr(d,l,{capture:!0})}})},DD=[800,1800],Xd=e=>{var t,n;(t=ve.document)!=null&&t.prerendering?Nl(()=>Xd(e)):((n=ve.document)==null?void 0:n.readyState)!=="complete"?addEventListener("load",()=>Xd(e),!0):setTimeout(e)},FD=(e,t={})=>{const n=Sa("TTFB"),r=ya(e,n,DD,t.reportAllChanges);Xd(()=>{const s=_a();s&&(n.value=Math.max(s.responseStart-Ki(),0),n.entries=[s],r(!0))})},wo={},Xc={};let hE,pE,mE,gE;function Wh(e,t=!1){return Dl("cls",e,BD,hE,t)}function jh(e,t=!1){return Dl("lcp",e,HD,pE,t)}function $D(e){return Dl("ttfb",e,VD,mE)}function vE(e){return Dl("inp",e,UD,gE)}function Rs(e,t){return yE(e,t),Xc[e]||(WD(e),Xc[e]=!0),_E(e,t)}function Ea(e,t){const n=wo[e];if(n!=null&&n.length)for(const r of n)try{r(t)}catch(s){xs&&te.error(`Error while triggering instrumentation handler. -Type: ${e} -Name: ${lr(r)} -Error:`,s)}}function BD(){return kD(e=>{Ea("cls",{metric:e}),hE=e},{reportAllChanges:!0})}function HD(){return ND(e=>{Ea("lcp",{metric:e}),pE=e},{reportAllChanges:!0})}function VD(){return FD(e=>{Ea("ttfb",{metric:e}),mE=e})}function UD(){return PD(e=>{Ea("inp",{metric:e}),gE=e})}function Dl(e,t,n,r,s=!1){yE(e,t);let i;return Xc[e]||(i=n(),Xc[e]=!0),r&&t({metric:r}),_E(e,t,s?i:void 0)}function WD(e){const t={};e==="event"&&(t.durationThreshold=0),Yi(e,n=>{Ea(e,{entries:n})},t)}function yE(e,t){wo[e]=wo[e]||[],wo[e].push(t)}function _E(e,t,n){return()=>{n&&n();const r=wo[e];if(!r)return;const s=r.indexOf(t);s!==-1&&r.splice(s,1)}}function jD(e){return"duration"in e}const zD=e=>{const t=n=>{var r;(n.type==="pagehide"||((r=ve.document)==null?void 0:r.visibilityState)==="hidden")&&e(n)};Fr("visibilitychange",t,{capture:!0,once:!0}),Fr("pagehide",t,{capture:!0,once:!0})};function $u(e){return typeof e=="number"&&isFinite(e)}function jr(e,t,n,{...r}){const s=Re(e).start_timestamp;return s&&s>t&&typeof e.updateStartTime=="function"&&e.updateStartTime(t),Th(e,()=>{const i=Ur({startTime:t,...r});return i&&i.end(n),i})}function zh(e){var v;const t=Ce();if(!t)return;const{name:n,transaction:r,attributes:s,startTime:i}=e,{release:o,environment:a,sendDefaultPii:c}=t.getOptions(),l=t.getIntegrationByName("Replay"),d=l==null?void 0:l.getReplayId(),u=Oe(),f=u.getUser(),h=f!==void 0?f.email||f.id||f.ip_address:void 0;let p;try{p=u.getScopeData().contexts.profile.profile_id}catch{}const m={release:o,environment:a,user:h||void 0,profile_id:p||void 0,replay_id:d||void 0,transaction:r,"user_agent.original":(v=ve.navigator)==null?void 0:v.userAgent,"client.address":c?"{{auto}}":void 0,...s};return Ur({name:n,attributes:m,startTime:i,experimental:{standalone:!0}})}function wa(){return ve.addEventListener&&ve.performance}function at(e){return e/1e3}function qD(e){let t="unknown",n="unknown",r="";for(const s of e){if(s==="/"){[t,n]=e.split("/");break}if(!isNaN(Number(s))){t=r==="h"?"http":r,n=e.split(r)[1];break}r+=s}return r===e&&(t=r),{name:t,version:n}}function bE(e){try{return PerformanceObserver.supportedEntryTypes.includes(e)}catch{return!1}}function SE(e,t){let n,r=!1;function s(a){!r&&n&&t(a,n),r=!0}zD(()=>{s("pagehide")});const i=e.on("beforeStartNavigationSpan",(a,c)=>{c!=null&&c.isRedirect||(s("navigation"),i(),o())}),o=e.on("afterStartPageLoadSpan",a=>{n=a.spanContext().spanId,o()})}function GD(e){let t=0,n;if(!bE("layout-shift"))return;const r=Wh(({metric:s})=>{const i=s.entries[s.entries.length-1];i&&(t=s.value,n=i)},!0);SE(e,(s,i)=>{KD(t,n,i,s),r()})}function KD(e,t,n,r){var l;xs&&te.log(`Sending CLS span (${e})`);const s=t?at((Kt()||0)+t.startTime):lt(),i=Oe().getScopeData().transactionName,o=t?qt((l=t.sources[0])==null?void 0:l.node):"Layout shift",a={[st]:"auto.http.browser.cls",[fr]:"ui.webvital.cls",[qi]:0,"sentry.pageload.span_id":n,"sentry.report_event":r};t!=null&&t.sources&&t.sources.forEach((d,u)=>{a[`cls.source.${u+1}`]=qt(d.node)});const c=zh({name:o,transaction:i,attributes:a,startTime:s});c&&(c.addEvent("cls",{[ha]:"",[pa]:e}),c.end(s))}function YD(e){let t=0,n;if(!bE("largest-contentful-paint"))return;const r=jh(({metric:s})=>{const i=s.entries[s.entries.length-1];i&&(t=s.value,n=i)},!0);SE(e,(s,i)=>{XD(t,n,i,s),r()})}function XD(e,t,n,r){xs&&te.log(`Sending LCP span (${e})`);const s=at((Kt()||0)+((t==null?void 0:t.startTime)||0)),i=Oe().getScopeData().transactionName,o=t?qt(t.element):"Largest contentful paint",a={[st]:"auto.http.browser.lcp",[fr]:"ui.webvital.lcp",[qi]:0,"sentry.pageload.span_id":n,"sentry.report_event":r};t&&(t.element&&(a["lcp.element"]=qt(t.element)),t.id&&(a["lcp.id"]=t.id),t.url&&(a["lcp.url"]=t.url),t.loadTime!=null&&(a["lcp.loadTime"]=t.loadTime),t.renderTime!=null&&(a["lcp.renderTime"]=t.renderTime),t.size!=null&&(a["lcp.size"]=t.size));const c=zh({name:o,transaction:i,attributes:a,startTime:s});c&&(c.addEvent("lcp",{[ha]:"millisecond",[pa]:e}),c.end(s))}function on(e){return e&&((Kt()||performance.timeOrigin)+e)/1e3}function EE(e){var n;const t={};if(e.nextHopProtocol!=null){const{name:r,version:s}=qD(e.nextHopProtocol);t["network.protocol.version"]=s,t["network.protocol.name"]=r}return Kt()||(n=wa())!=null&&n.timeOrigin?JD({...t,"http.request.redirect_start":on(e.redirectStart),"http.request.redirect_end":on(e.redirectEnd),"http.request.worker_start":on(e.workerStart),"http.request.fetch_start":on(e.fetchStart),"http.request.domain_lookup_start":on(e.domainLookupStart),"http.request.domain_lookup_end":on(e.domainLookupEnd),"http.request.connect_start":on(e.connectStart),"http.request.secure_connection_start":on(e.secureConnectionStart),"http.request.connection_end":on(e.connectEnd),"http.request.request_start":on(e.requestStart),"http.request.response_start":on(e.responseStart),"http.request.response_end":on(e.responseEnd),"http.request.time_to_first_byte":e.responseStart!=null?e.responseStart/1e3:void 0}):t}function JD(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null))}const ZD=2147483647;let Ov=0,yn={},Vt,ei;function QD({recordClsStandaloneSpans:e,recordLcpStandaloneSpans:t,client:n}){const r=wa();if(r&&Kt()){r.mark&&ve.performance.mark("sentry-tracing-init");const s=t?YD(n):sF(),i=iF(),o=e?GD(n):rF();return()=>{s==null||s(),i(),o==null||o()}}return()=>{}}function eF(){Rs("longtask",({entries:e})=>{const t=Tt();if(!t)return;const{op:n,start_timestamp:r}=Re(t);for(const s of e){const i=at(Kt()+s.startTime),o=at(s.duration);n==="navigation"&&r&&i{const n=Tt();if(n)for(const r of t.getEntries()){if(!r.scripts[0])continue;const s=at(Kt()+r.startTime),{start_timestamp:i,op:o}=Re(n);if(o==="navigation"&&i&&s{const t=Tt();if(t){for(const n of e)if(n.name==="click"){const r=at(Kt()+n.startTime),s=at(n.duration),i={name:qt(n.target),op:`ui.interaction.${n.name}`,startTime:r,attributes:{[st]:"auto.ui.browser.metrics"}},o=qS(n.target);o&&(i.attributes["ui.component_name"]=o),jr(t,r,r+s,i)}}})}function rF(){return Wh(({metric:e})=>{const t=e.entries[e.entries.length-1];t&&(yn.cls={value:e.value,unit:""},ei=t)},!0)}function sF(){return jh(({metric:e})=>{const t=e.entries[e.entries.length-1];t&&(yn.lcp={value:e.value,unit:"millisecond"},Vt=t)},!0)}function iF(){return $D(({metric:e})=>{e.entries[e.entries.length-1]&&(yn.ttfb={value:e.value,unit:"millisecond"})})}function oF(e,t){const n=wa(),r=Kt();if(!(n!=null&&n.getEntries)||!r)return;const s=at(r),i=n.getEntries(),{op:o,start_timestamp:a}=Re(e);i.slice(Ov).forEach(c=>{const l=at(c.startTime),d=at(Math.max(0,c.duration));if(!(o==="navigation"&&a&&s+l{RP(c,l.value,l.unit)}),e.setAttribute("performance.timeOrigin",s),e.setAttribute("performance.activationStart",Ki()),mF(e,t)),Vt=void 0,ei=void 0,yn={}}function aF(e){if((e==null?void 0:e.entryType)==="measure")try{return e.detail.devtools.track==="Components ⚛"}catch{return}}function cF(e,t,n,r,s,i){if(aF(t)||["mark","measure"].includes(t.entryType)&&nr(t.name,i))return;const o=_a(!1),a=at(o?o.requestStart:0),c=s+Math.max(n,a),l=s+n,d=l+r,u={[st]:"auto.resource.browser.metrics"};c!==l&&(u["sentry.browser.measure_happened_before_request"]=!0,u["sentry.browser.measure_start_time"]=c),lF(u,t),c<=d&&jr(e,c,d,{name:t.name,op:t.entryType,attributes:u})}function lF(e,t){try{const n=t.detail;if(!n)return;if(typeof n=="object"){for(const[r,s]of Object.entries(n))if(s&&Ei(s))e[`sentry.browser.measure.detail.${r}`]=s;else if(s!==void 0)try{e[`sentry.browser.measure.detail.${r}`]=JSON.stringify(s)}catch{}return}if(Ei(n)){e["sentry.browser.measure.detail"]=n;return}try{e["sentry.browser.measure.detail"]=JSON.stringify(n)}catch{}}catch{}}function uF(e,t,n){["unloadEvent","redirect","domContentLoadedEvent","loadEvent","connect"].forEach(r=>{Va(e,t,r,n)}),Va(e,t,"secureConnection",n,"TLS/SSL"),Va(e,t,"fetch",n,"cache"),Va(e,t,"domainLookup",n,"DNS"),fF(e,t,n)}function Va(e,t,n,r,s=n){const i=dF(n),o=t[i],a=t[`${n}Start`];!a||!o||jr(e,r+at(a),r+at(o),{op:`browser.${s}`,name:t.name,attributes:{[st]:"auto.ui.browser.metrics",...n==="redirect"&&t.redirectCount!=null?{"http.redirect_count":t.redirectCount}:{}}})}function dF(e){return e==="secureConnection"?"connectEnd":e==="fetch"?"domainLookupStart":`${e}End`}function fF(e,t,n){const r=n+at(t.requestStart),s=n+at(t.responseEnd),i=n+at(t.responseStart);t.responseEnd&&(jr(e,r,s,{op:"browser.request",name:t.name,attributes:{[st]:"auto.ui.browser.metrics"}}),jr(e,i,s,{op:"browser.response",name:t.name,attributes:{[st]:"auto.ui.browser.metrics"}}))}function hF(e,t,n,r,s,i,o){if(t.initiatorType==="xmlhttprequest"||t.initiatorType==="fetch")return;const a=t.initiatorType?`resource.${t.initiatorType}`:"resource.other";if(o!=null&&o.includes(a))return;const c={[st]:"auto.resource.browser.metrics"},l=Ss(n);l.protocol&&(c["url.scheme"]=l.protocol.split(":").pop()),l.host&&(c["server.address"]=l.host),c["url.same_origin"]=n.includes(ve.location.origin),gF(t,c,[["responseStatus","http.response.status_code"],["transferSize","http.response_transfer_size"],["encodedBodySize","http.response_content_length"],["decodedBodySize","http.decoded_response_content_length"],["renderBlockingStatus","resource.render_blocking_status"],["deliveryType","http.response_delivery_type"]]);const d={...c,...EE(t)},u=i+r,f=u+s;jr(e,u,f,{name:n.replace(ve.location.origin,""),op:a,attributes:d})}function pF(e){const t=ve.navigator;if(!t)return;const n=t.connection;n&&(n.effectiveType&&e.setAttribute("effectiveConnectionType",n.effectiveType),n.type&&e.setAttribute("connectionType",n.type),$u(n.rtt)&&(yn["connection.rtt"]={value:n.rtt,unit:"millisecond"})),$u(t.deviceMemory)&&e.setAttribute("deviceMemory",`${t.deviceMemory} GB`),$u(t.hardwareConcurrency)&&e.setAttribute("hardwareConcurrency",String(t.hardwareConcurrency))}function mF(e,t){Vt&&t.recordLcpOnPageloadSpan&&(Vt.element&&e.setAttribute("lcp.element",qt(Vt.element)),Vt.id&&e.setAttribute("lcp.id",Vt.id),Vt.url&&e.setAttribute("lcp.url",Vt.url.trim().slice(0,200)),Vt.loadTime!=null&&e.setAttribute("lcp.loadTime",Vt.loadTime),Vt.renderTime!=null&&e.setAttribute("lcp.renderTime",Vt.renderTime),e.setAttribute("lcp.size",Vt.size)),ei!=null&&ei.sources&&t.recordClsOnPageloadSpan&&ei.sources.forEach((n,r)=>e.setAttribute(`cls.source.${r+1}`,qt(n.node)))}function gF(e,t,n){n.forEach(([r,s])=>{const i=e[r];i!=null&&(typeof i=="number"&&i{}}const _F=({entries:e})=>{const t=Tt(),n=t?wt(t):void 0,r=n?Re(n).description:Oe().getScopeData().transactionName;e.forEach(s=>{var h,p;const i=s;if(!i.identifier)return;const o=i.name,a=i.renderTime,c=i.loadTime,[l,d]=c?[at(c),"load-time"]:a?[at(a),"render-time"]:[lt(),"entry-emission"],u=o==="image-paint"?at(Math.max(0,(a??0)-(c??0))):0,f={[st]:"auto.ui.browser.elementtiming",[fr]:"ui.elementtiming",[jt]:"component","sentry.span_start_time_source":d,"sentry.transaction_name":r,"element.id":i.id,"element.type":((p=(h=i.element)==null?void 0:h.tagName)==null?void 0:p.toLowerCase())||"unknown","element.size":i.naturalWidth&&i.naturalHeight?`${i.naturalWidth}x${i.naturalHeight}`:void 0,"element.render_time":a,"element.load_time":c,"element.url":i.url||void 0,"element.identifier":i.identifier,"element.paint_type":o};NP({name:`element[${i.identifier}]`,attributes:f,startTime:l,onlyIfParent:!0},m=>{m.end(l+u)})})},bF=1e3;let Lv,Jd,Zd;function wE(e){const t="dom";Kr(t,e),Yr(t,SF)}function SF(){if(!ve.document)return;const e=dn.bind(null,"dom"),t=Nv(e,!0);ve.document.addEventListener("click",t,!1),ve.document.addEventListener("keypress",t,!1),["EventTarget","Node"].forEach(n=>{var i,o;const s=(i=ve[n])==null?void 0:i.prototype;(o=s==null?void 0:s.hasOwnProperty)!=null&&o.call(s,"addEventListener")&&(Wt(s,"addEventListener",function(a){return function(c,l,d){if(c==="click"||c=="keypress")try{const u=this.__sentry_instrumentation_handlers__=this.__sentry_instrumentation_handlers__||{},f=u[c]=u[c]||{refCount:0};if(!f.handler){const h=Nv(e);f.handler=h,a.call(this,c,h,d)}f.refCount++}catch{}return a.call(this,c,l,d)}}),Wt(s,"removeEventListener",function(a){return function(c,l,d){if(c==="click"||c=="keypress")try{const u=this.__sentry_instrumentation_handlers__||{},f=u[c];f&&(f.refCount--,f.refCount<=0&&(a.call(this,c,f.handler,d),f.handler=void 0,delete u[c]),Object.keys(u).length===0&&delete this.__sentry_instrumentation_handlers__)}catch{}return a.call(this,c,l,d)}}))})}function EF(e){if(e.type!==Jd)return!1;try{if(!e.target||e.target._sentryId!==Zd)return!1}catch{}return!0}function wF(e,t){return e!=="keypress"?!1:t!=null&&t.tagName?!(t.tagName==="INPUT"||t.tagName==="TEXTAREA"||t.isContentEditable):!0}function Nv(e,t=!1){return n=>{if(!n||n._sentryCaptured)return;const r=CF(n);if(wF(n.type,r))return;Gt(n,"_sentryCaptured",!0),r&&!r._sentryId&&Gt(r,"_sentryId",tn());const s=n.type==="keypress"?"input":n.type;EF(n)||(e({event:n,name:s,global:t}),Jd=n.type,Zd=r?r._sentryId:void 0),clearTimeout(Lv),Lv=ve.setTimeout(()=>{Zd=void 0,Jd=void 0},bF)}}function CF(e){try{return e.target}catch{return null}}let Ua;function Fl(e){const t="history";Kr(t,e),Yr(t,TF)}function TF(){if(ve.addEventListener("popstate",()=>{const t=ve.location.href,n=Ua;if(Ua=t,n===t)return;dn("history",{from:n,to:t})}),!PL())return;function e(t){return function(...n){const r=n.length>2?n[2]:void 0;if(r){const s=Ua,i=kF(String(r));if(Ua=i,s===i)return t.apply(this,n);dn("history",{from:s,to:i})}return t.apply(this,n)}}Wt(ve.history,"pushState",e),Wt(ve.history,"replaceState",e)}function kF(e){try{return new URL(e,ve.location.origin).toString()}catch{return e}}const gc={};function CE(e){const t=gc[e];if(t)return t;let n=ve[e];if(Ud(n))return gc[e]=n.bind(ve);const r=ve.document;if(r&&typeof r.createElement=="function")try{const s=r.createElement("iframe");s.hidden=!0,r.head.appendChild(s);const i=s.contentWindow;i!=null&&i[e]&&(n=i[e]),r.head.removeChild(s)}catch(s){xs&&te.warn(`Could not create sandbox iframe for ${e} check, bailing to window.${e}: `,s)}return n&&(gc[e]=n.bind(ve))}function IF(e){gc[e]=void 0}function Ca(...e){return CE("setTimeout")(...e)}const ds="__sentry_xhr_v3__";function TE(e){const t="xhr";Kr(t,e),Yr(t,xF)}function xF(){if(!ve.XMLHttpRequest)return;const e=XMLHttpRequest.prototype;e.open=new Proxy(e.open,{apply(t,n,r){const s=new Error,i=lt()*1e3,o=tr(r[0])?r[0].toUpperCase():void 0,a=RF(r[1]);if(!o||!a)return t.apply(n,r);n[ds]={method:o,url:a,request_headers:{}},o==="POST"&&a.match(/sentry_key/)&&(n.__sentry_own_request__=!0);const c=()=>{const l=n[ds];if(l&&n.readyState===4){try{l.status_code=n.status}catch{}const d={endTimestamp:lt()*1e3,startTimestamp:i,xhr:n,virtualError:s};dn("xhr",d)}};return"onreadystatechange"in n&&typeof n.onreadystatechange=="function"?n.onreadystatechange=new Proxy(n.onreadystatechange,{apply(l,d,u){return c(),l.apply(d,u)}}):n.addEventListener("readystatechange",c),n.setRequestHeader=new Proxy(n.setRequestHeader,{apply(l,d,u){const[f,h]=u,p=d[ds];return p&&tr(f)&&tr(h)&&(p.request_headers[f.toLowerCase()]=h),l.apply(d,u)}}),t.apply(n,r)}}),e.send=new Proxy(e.send,{apply(t,n,r){const s=n[ds];if(!s)return t.apply(n,r);r[0]!==void 0&&(s.body=r[0]);const i={startTimestamp:lt()*1e3,xhr:n};return dn("xhr",i),t.apply(n,r)}})}function RF(e){if(tr(e))return e;try{return e.toString()}catch{}}const AF=Symbol.for("sentry__originalRequestBody");function kE(e){return new URLSearchParams(e).toString()}function IE(e,t=te){try{if(typeof e=="string")return[e];if(e instanceof URLSearchParams)return[e.toString()];if(e instanceof FormData)return[kE(e)];if(!e)return[void 0]}catch(n){return xs&&t.error(n,"Failed to serialize body",e),[void 0,"BODY_PARSE_ERROR"]}return xs&&t.log("Skipping network body because of body type",e),[void 0,"UNPARSEABLE_BODY_TYPE"]}function xE(e=[]){if(e.length>=2&&e[1]&&typeof e[1]=="object"&&"body"in e[1])return e[1].body;if(e.length>=1&&e[0]instanceof Request){const n=e[0][AF];return n!==void 0?n:void 0}}function RE(e){let t;try{t=e.getAllResponseHeaders()}catch(n){return xs&&te.error(n,"Failed to get xhr response headers",e),{}}return t?t.split(`\r -`).reduce((n,r)=>{const[s,i]=r.split(": ");return i&&(n[s.toLowerCase()]=i),n},{}):{}}const Bu=[],vc=new Map,js=new Map,MF=60;function PF(){if(wa()&&Kt()){const t=OF();return()=>{t()}}return()=>{}}const Qd={click:"click",pointerdown:"click",pointerup:"click",mousedown:"click",mouseup:"click",touchstart:"click",touchend:"click",mouseover:"hover",mouseout:"hover",mouseenter:"hover",mouseleave:"hover",pointerover:"hover",pointerout:"hover",pointerenter:"hover",pointerleave:"hover",dragstart:"drag",dragend:"drag",drag:"drag",dragenter:"drag",dragleave:"drag",dragover:"drag",drop:"drag",keydown:"press",keyup:"press",keypress:"press",input:"press"};function OF(){return vE(LF)}const LF=({metric:e})=>{if(e.value==null)return;const t=at(e.value);if(t>MF)return;const n=e.entries.find(p=>p.duration===e.value&&Qd[p.name]);if(!n)return;const{interactionId:r}=n,s=Qd[n.name],i=at(Kt()+n.startTime),o=Tt(),a=o?wt(o):void 0,c=r!=null?vc.get(r):void 0,l=(c==null?void 0:c.span)||a,d=l?Re(l).description:Oe().getScopeData().transactionName,u=(c==null?void 0:c.elementName)||qt(n.target),f={[st]:"auto.http.browser.inp",[fr]:`ui.interaction.${s}`,[qi]:n.duration},h=zh({name:u,transaction:d,attributes:f,startTime:i});h&&(h.addEvent("inp",{[ha]:"millisecond",[pa]:e.value}),h.end(i+t))};function NF(){const e=Object.keys(Qd);zc()&&e.forEach(s=>{ve.addEventListener(s,t,{capture:!0,passive:!0})});function t(s){const i=s.target;if(!i)return;const o=qt(i),a=Math.round(s.timeStamp);if(js.set(a,o),js.size>50){const c=js.keys().next().value;c!==void 0&&js.delete(c)}}function n(s){const i=Math.round(s.startTime);let o=js.get(i);if(!o)for(let a=-5;a<=5;a++){const c=js.get(i+a);if(c){o=c;break}}return o||""}const r=({entries:s})=>{const i=Tt(),o=i&&wt(i);s.forEach(a=>{if(!jD(a))return;const c=a.interactionId;if(c==null||vc.has(c))return;const l=a.target?qt(a.target):n(a);if(Bu.length>10){const d=Bu.shift();vc.delete(d)}Bu.push(c),vc.set(c,{span:o,elementName:l})})};Rs("event",r),Rs("first-input",r)}const DF=40;function FF(e,t=CE("fetch")){let n=0,r=0;async function s(i){const o=i.body.length;n+=o,r++;const a={body:i.body,method:"POST",referrerPolicy:"strict-origin",headers:e.headers,keepalive:n<=6e4&&r<15,...e.fetchOptions};try{const c=await t(e.url,a);return{statusCode:c.status,headers:{"x-sentry-rate-limits":c.headers.get("X-Sentry-Rate-Limits"),"retry-after":c.headers.get("Retry-After")}}}catch(c){throw IF("fetch"),c}finally{n-=o,r--}}return RO(e,s,Rh(e.bufferSize||DF))}const pn=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,$F=30,BF=50;function ef(e,t,n,r){const s={filename:e,function:t===""?ks:t,in_app:!0};return n!==void 0&&(s.lineno=n),r!==void 0&&(s.colno=r),s}const HF=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,VF=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,UF=/\((\S*)(?::(\d+))(?::(\d+))\)/,WF=/at (.+?) ?\(data:(.+?),/,jF=e=>{const t=e.match(WF);if(t)return{filename:``,function:t[1]};const n=HF.exec(e);if(n){const[,s,i,o]=n;return ef(s,ks,+i,+o)}const r=VF.exec(e);if(r){if(r[2]&&r[2].indexOf("eval")===0){const a=UF.exec(r[2]);a&&(r[2]=a[1],r[3]=a[2],r[4]=a[3])}const[i,o]=AE(r[1]||ks,r[2]);return ef(o,i,r[3]?+r[3]:void 0,r[4]?+r[4]:void 0)}},zF=[$F,jF],qF=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,GF=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,KF=e=>{const t=qF.exec(e);if(t){if(t[3]&&t[3].indexOf(" > eval")>-1){const i=GF.exec(t[3]);i&&(t[1]=t[1]||"eval",t[3]=i[1],t[4]=i[2],t[5]="")}let r=t[3],s=t[1]||ks;return[s,r]=AE(s,r),ef(r,s,t[4]?+t[4]:void 0,t[5]?+t[5]:void 0)}},YF=[BF,KF],XF=[zF,YF],JF=BS(...XF),AE=(e,t)=>{const n=e.indexOf("safari-extension")!==-1,r=e.indexOf("safari-web-extension")!==-1;return n||r?[e.indexOf("@")!==-1?e.split("@")[0]:ks,n?`safari-extension:${t}`:`safari-web-extension:${t}`]:[e,t]},Wa=1024,ZF="Breadcrumbs",QF=(e={})=>{const t={console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0,...e};return{name:ZF,setup(n){t.console&&pL(r$(n)),t.dom&&wE(n$(n,t.dom)),t.xhr&&TE(s$(n)),t.fetch&&q0(i$(n)),t.history&&Fl(o$(n)),t.sentry&&n.on("beforeSendEvent",t$(n))}}},e$=QF;function t$(e){return function(n){Ce()===e&&Wr({category:`sentry.${n.type==="transaction"?"transaction":"event"}`,event_id:n.event_id,level:n.level,message:as(n)},{event:n})}}function n$(e,t){return function(r){if(Ce()!==e)return;let s,i,o=typeof t=="object"?t.serializeAttribute:void 0,a=typeof t=="object"&&typeof t.maxStringLength=="number"?t.maxStringLength:void 0;a&&a>Wa&&(pn&&te.warn(`\`dom.maxStringLength\` cannot exceed ${Wa}, but a value of ${a} was configured. Sentry will use ${Wa} instead.`),a=Wa),typeof o=="string"&&(o=[o]);try{const l=r.event,d=a$(l)?l.target:l;s=qt(d,{keyAttrs:o,maxStringLength:a}),i=qS(d)}catch{s=""}if(s.length===0)return;const c={category:`ui.${r.name}`,message:s};i&&(c.data={"ui.component_name":i}),Wr(c,{event:r.event,name:r.name,global:r.global})}}function r$(e){return function(n){if(Ce()!==e)return;const r={category:"console",data:{arguments:n.args,logger:"console"},level:U0(n.level),message:xg(n.args," ")};if(n.level==="assert")if(n.args[0]===!1)r.message=`Assertion failed: ${xg(n.args.slice(1)," ")||"console.assert"}`,r.data.arguments=n.args.slice(1);else return;Wr(r,{input:n.args,level:n.level})}}function s$(e){return function(n){if(Ce()!==e)return;const{startTimestamp:r,endTimestamp:s}=n,i=n.xhr[ds];if(!r||!s||!i)return;const{method:o,url:a,status_code:c,body:l}=i,d={method:o,url:a,status_code:c},u={xhr:n.xhr,input:l,startTimestamp:r,endTimestamp:s},f={category:"xhr",data:d,type:"http",level:z0(c)};e.emit("beforeOutgoingRequestBreadcrumb",f,u),Wr(f,u)}}function i$(e){return function(n){if(Ce()!==e)return;const{startTimestamp:r,endTimestamp:s}=n;if(s&&!(n.fetchData.url.match(/sentry_key/)&&n.fetchData.method==="POST"))if(n.fetchData.method,n.fetchData.url,n.error){const i=n.fetchData,o={data:n.error,input:n.args,startTimestamp:r,endTimestamp:s},a={category:"fetch",data:i,level:"error",type:"http"};e.emit("beforeOutgoingRequestBreadcrumb",a,o),Wr(a,o)}else{const i=n.response,o={...n.fetchData,status_code:i==null?void 0:i.status};n.fetchData.request_body_size,n.fetchData.response_body_size,i==null||i.status;const a={input:n.args,response:i,startTimestamp:r,endTimestamp:s},c={category:"fetch",data:o,type:"http",level:z0(o.status_code)};e.emit("beforeOutgoingRequestBreadcrumb",c,a),Wr(c,a)}}}function o$(e){return function(n){if(Ce()!==e)return;let r=n.from,s=n.to;const i=Ss(Ae.location.href);let o=r?Ss(r):void 0;const a=Ss(s);o!=null&&o.path||(o=i),i.protocol===a.protocol&&i.host===a.host&&(s=a.relative),i.protocol===o.protocol&&i.host===o.host&&(r=o.relative),Wr({category:"navigation",data:{from:r,to:s}})}}function a$(e){return!!e&&!!e.target}const c$=["EventTarget","Window","Node","ApplicationCache","AudioTrackList","BroadcastChannel","ChannelMergerNode","CryptoOperation","EventSource","FileReader","HTMLUnknownElement","IDBDatabase","IDBRequest","IDBTransaction","KeyOperation","MediaController","MessagePort","ModalWindow","Notification","SVGElementInstance","Screen","SharedWorker","TextTrack","TextTrackCue","TextTrackList","WebSocket","WebSocketWorker","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestUpload"],l$="BrowserApiErrors",u$=(e={})=>{const t={XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0,unregisterOriginalCallbacks:!1,...e};return{name:l$,setupOnce(){t.setTimeout&&Wt(Ae,"setTimeout",Dv),t.setInterval&&Wt(Ae,"setInterval",Dv),t.requestAnimationFrame&&Wt(Ae,"requestAnimationFrame",f$),t.XMLHttpRequest&&"XMLHttpRequest"in Ae&&Wt(XMLHttpRequest.prototype,"send",h$);const n=t.eventTarget;n&&(Array.isArray(n)?n:c$).forEach(s=>p$(s,t))}}},d$=u$;function Dv(e){return function(...t){const n=t[0];return t[0]=Ri(n,{mechanism:{handled:!1,type:`auto.browser.browserapierrors.${lr(e)}`}}),e.apply(this,t)}}function f$(e){return function(t){return e.apply(this,[Ri(t,{mechanism:{data:{handler:lr(e)},handled:!1,type:"auto.browser.browserapierrors.requestAnimationFrame"}})])}}function h$(e){return function(...t){const n=this;return["onload","onerror","onprogress","onreadystatechange"].forEach(s=>{s in n&&typeof n[s]=="function"&&Wt(n,s,function(i){const o={mechanism:{data:{handler:lr(i)},handled:!1,type:`auto.browser.browserapierrors.xhr.${s}`}},a=vh(i);return a&&(o.mechanism.data.handler=lr(a)),Ri(i,o)})}),e.apply(this,t)}}function p$(e,t){var s,i;const r=(s=Ae[e])==null?void 0:s.prototype;(i=r==null?void 0:r.hasOwnProperty)!=null&&i.call(r,"addEventListener")&&(Wt(r,"addEventListener",function(o){return function(a,c,l){try{m$(c)&&(c.handleEvent=Ri(c.handleEvent,{mechanism:{data:{handler:lr(c),target:e},handled:!1,type:"auto.browser.browserapierrors.handleEvent"}}))}catch{}return t.unregisterOriginalCallbacks&&g$(this,a,c),o.apply(this,[a,Ri(c,{mechanism:{data:{handler:lr(c),target:e},handled:!1,type:"auto.browser.browserapierrors.addEventListener"}}),l])}}),Wt(r,"removeEventListener",function(o){return function(a,c,l){try{const d=c.__sentry_wrapped__;d&&o.call(this,a,d,l)}catch{}return o.call(this,a,c,l)}}))}function m$(e){return typeof e.handleEvent=="function"}function g$(e,t,n){e&&typeof e=="object"&&"removeEventListener"in e&&typeof e.removeEventListener=="function"&&e.removeEventListener(t,n)}const v$=(e={})=>{const t=e.lifecycle??"route";return{name:"BrowserSession",setupOnce(){if(typeof Ae.document>"u"){pn&&te.warn("Using the `browserSessionIntegration` in non-browser environments is not supported.");return}Yg({ignoreDuration:!0}),Iu();const n=$t();let r=n.getUser();n.addScopeListener(s=>{const i=s.getUser();((r==null?void 0:r.id)!==(i==null?void 0:i.id)||(r==null?void 0:r.ip_address)!==(i==null?void 0:i.ip_address))&&(Iu(),r=i)}),t==="route"&&Fl(({from:s,to:i})=>{s!==i&&(Yg({ignoreDuration:!0}),Iu())})}}},y$="CultureContext",_$=()=>({name:y$,preprocessEvent(e){var n;const t=S$();t&&(e.contexts={...e.contexts,culture:{...t,...(n=e.contexts)==null?void 0:n.culture}})}}),b$=_$;function S$(){try{const e=Ae.Intl;if(!e)return;const t=e.DateTimeFormat().resolvedOptions();return{locale:t.locale,timezone:t.timeZone,calendar:t.calendar}}catch{return}}const E$="GlobalHandlers",w$=(e={})=>{const t={onerror:!0,onunhandledrejection:!0,...e};return{name:E$,setupOnce(){Error.stackTraceLimit=50},setup(n){t.onerror&&(T$(n),Fv("onerror")),t.onunhandledrejection&&(k$(n),Fv("onunhandledrejection"))}}},C$=w$;function T$(e){VS(t=>{const{stackParser:n,attachStacktrace:r}=ME();if(Ce()!==e||oE())return;const{msg:s,url:i,line:o,column:a,error:c}=t,l=R$(Hh(n,c||s,void 0,r,!1),i,o,a);l.level="error",w0(l,{originalException:c,mechanism:{handled:!1,type:"auto.browser.global_handlers.onerror"}})})}function k$(e){US(t=>{const{stackParser:n,attachStacktrace:r}=ME();if(Ce()!==e||oE())return;const s=I$(t),i=Ei(s)?x$(s):Hh(n,s,void 0,r,!0);i.level="error",w0(i,{originalException:s,mechanism:{handled:!1,type:"auto.browser.global_handlers.onunhandledrejection"}})})}function I$(e){if(Ei(e))return e;try{if("reason"in e)return e.reason;if("detail"in e&&"reason"in e.detail)return e.detail.reason}catch{}return e}function x$(e){return{exception:{values:[{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(e)}`}]}}}function R$(e,t,n,r){const s=e.exception=e.exception||{},i=s.values=s.values||[],o=i[0]=i[0]||{},a=o.stacktrace=o.stacktrace||{},c=a.frames=a.frames||[],l=r,d=n,u=A$(t)??Ls();return c.length===0&&c.push({colno:l,filename:u,function:ks,in_app:!0,lineno:d}),e}function Fv(e){pn&&te.log(`Global Handler attached: ${e}`)}function ME(){const e=Ce();return(e==null?void 0:e.getOptions())||{stackParser:()=>[],attachStacktrace:!1}}function A$(e){if(!(!tr(e)||e.length===0))return e.startsWith("data:")?`<${Dr(e,!1)}>`:e}const M$=()=>({name:"HttpContext",preprocessEvent(e){var r;if(!Ae.navigator&&!Ae.location&&!Ae.document)return;const t=Fh(),n={...t.headers,...(r=e.request)==null?void 0:r.headers};e.request={...t,...e.request,headers:n}}}),P$="cause",O$=5,L$="LinkedErrors",N$=(e={})=>{const t=e.limit||O$,n=e.key||P$;return{name:L$,preprocessEvent(r,s,i){const o=i.getOptions();hL($h,o.stackParser,n,t,r,s)}}},D$=N$;function F$(){return $$()?(pn&&br(()=>{console.error("[Sentry] You cannot use Sentry.init() in a browser extension, see: https://docs.sentry.io/platforms/javascript/best-practices/browser-extensions/")}),!0):!1}function $$(){var i;if(typeof Ae.window>"u")return!1;const e=Ae;if(e.nw)return!1;const t=e.chrome||e.browser;if(!((i=t==null?void 0:t.runtime)!=null&&i.id))return!1;const n=Ls(),r=["chrome-extension","moz-extension","ms-browser-extension","safari-web-extension"];return!(Ae===Ae.top&&r.some(o=>n.startsWith(`${o}://`)))}function PE(e){return[iL(),tL(),CL(),d$(),e$(),C$(),D$(),yL(),M$(),b$(),v$()]}function B$(e={}){const t=!e.skipBrowserExtensionCheck&&F$();let n=e.defaultIntegrations==null?PE():e.defaultIntegrations;const r={...e,enabled:t?!1:e.enabled,stackParser:iM(e.stackParser||JF),integrations:yO({integrations:e.integrations,defaultIntegrations:n}),transport:e.transport||FF};return HO(vD,r)}const Ye=xe,qh="sentryReplaySession",H$="replay_event",Gh="Unable to send Replay",V$=3e5,U$=9e5,W$=5e3,j$=5500,z$=6e4,q$=5e3,G$=3,$v=15e4,ja=5e3,K$=3e3,Y$=300,Kh=2e7,X$=4999,J$=5e4,Bv=36e5;var Z$=Object.defineProperty,Q$=(e,t,n)=>t in e?Z$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Hv=(e,t,n)=>Q$(e,typeof t!="symbol"?t+"":t,n),ut=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(ut||{});function eB(e){return e.nodeType===e.ELEMENT_NODE}function Co(e){const t=e==null?void 0:e.host;return(t==null?void 0:t.shadowRoot)===e}function To(e){return Object.prototype.toString.call(e)==="[object ShadowRoot]"}function tB(e){return e.includes(" background-clip: text;")&&!e.includes(" -webkit-background-clip: text;")&&(e=e.replace(/\sbackground-clip:\s*text;/g," -webkit-background-clip: text; background-clip: text;")),e}function nB(e){const{cssText:t}=e;if(t.split('"').length<3)return t;const n=["@import",`url(${JSON.stringify(e.href)})`];return e.layerName===""?n.push("layer"):e.layerName&&n.push(`layer(${e.layerName})`),e.supportsText&&n.push(`supports(${e.supportsText})`),e.media.length&&n.push(e.media.mediaText),n.join(" ")+";"}function Jc(e){try{const t=e.rules||e.cssRules;return t?tB(Array.from(t,OE).join("")):null}catch{return null}}function rB(e){let t="";for(let n=0;nthis.removeNodeFromMap(r))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,n){const r=n.id;this.idNodeMap.set(r,t),this.nodeMetaMap.set(t,n)}replace(t,n){const r=this.getNode(t);if(r){const s=this.nodeMetaMap.get(r);s&&this.nodeMetaMap.set(n,s)}this.idNodeMap.set(t,n)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}}function aB(){return new LE}function $l({maskInputOptions:e,tagName:t,type:n}){return t==="OPTION"&&(t="SELECT"),!!(e[t.toLowerCase()]||n&&e[n]||n==="password"||t==="INPUT"&&!n&&e.text)}function Yo({isMasked:e,element:t,value:n,maskInputFn:r}){let s=n||"";return e?(r&&(s=r(s,t)),"*".repeat(s.length)):s}function Ai(e){return e.toLowerCase()}function tf(e){return e.toUpperCase()}const Vv="__rrweb_original__";function cB(e){const t=e.getContext("2d");if(!t)return!0;const n=50;for(let r=0;rc!==0))return!1}return!0}function Yh(e){const t=e.type;return e.hasAttribute("data-rr-is-password")?"password":t?Ai(t):null}function Zc(e,t,n){return t==="INPUT"&&(n==="radio"||n==="checkbox")?e.getAttribute("value")||"":e.value}function NE(e,t){let n;try{n=new URL(e,t??window.location.href)}catch{return null}const r=/\.([0-9a-z]+)(?:$)/i,s=n.pathname.match(r);return(s==null?void 0:s[1])??null}const Uv={};function DE(e){const t=Uv[e];if(t)return t;const n=window.document;let r=window[e];if(n&&typeof n.createElement=="function")try{const s=n.createElement("iframe");s.hidden=!0,n.head.appendChild(s);const i=s.contentWindow;i&&i[e]&&(r=i[e]),n.head.removeChild(s)}catch{}return Uv[e]=r.bind(window)}function nf(...e){return DE("setTimeout")(...e)}function FE(...e){return DE("clearTimeout")(...e)}function $E(e){try{return e.contentDocument}catch{}}let lB=1;const uB=new RegExp("[^a-z0-9-_:]"),Xo=-2;function Xh(){return lB++}function dB(e){if(e instanceof HTMLFormElement)return"form";const t=Ai(e.tagName);return uB.test(t)?"div":t}function fB(e){let t="";return e.indexOf("//")>-1?t=e.split("/").slice(0,3).join("/"):t=e.split("/")[0],t=t.split("?")[0],t}let zs,Wv;const hB=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,pB=/^(?:[a-z+]+:)?\/\//i,mB=/^www\..*/i,gB=/^(data:)([^,]*),(.*)/i;function vB(e,t){if(!e||t.size===0)return e;try{const n=e.split(";"),r=[];for(let s of n){if(s=s.trim(),!s)continue;const i=s.indexOf(":");if(i===-1){r.push(s);continue}const o=s.slice(0,i).trim();t.has(o)||r.push(s)}return r.join("; ")+(r.length>0&&e.endsWith(";")?";":"")}catch(n){return console.warn("Error filtering CSS properties:",n),e}}function Qc(e,t){return(e||"").replace(hB,(n,r,s,i,o,a)=>{const c=s||o||a,l=r||i||"";if(!c)return n;if(pB.test(c)||mB.test(c))return`url(${l}${c}${l})`;if(gB.test(c))return`url(${l}${c}${l})`;if(c[0]==="/")return`url(${l}${fB(t)+c}${l})`;const d=t.split("/"),u=c.split("/");d.pop();for(const f of u)f!=="."&&(f===".."?d.pop():d.push(f));return`url(${l}${d.join("/")}${l})`})}const yB=/^[^ \t\n\r\u000c]+/,_B=/^[, \t\n\r\u000c]+/;function bB(e,t){if(t.trim()==="")return t;let n=0;function r(i){let o;const a=i.exec(t.substring(n));return a?(o=a[0],n+=o.length,o):""}const s=[];for(;r(_B),!(n>=t.length);){let i=r(yB);if(i.slice(-1)===",")i=ti(e,i.substring(0,i.length-1)),s.push(i);else{let o="";i=ti(e,i);let a=!1;for(;;){const c=t.charAt(n);if(c===""){s.push((i+o).trim());break}else if(a)c===")"&&(a=!1);else if(c===","){n+=1,s.push((i+o).trim());break}else c==="("&&(a=!0);o+=c,n+=1}}}return s.join(", ")}const jv=new WeakMap;function ti(e,t){return!t||t.trim()===""?t:Bl(e,t)}function SB(e){return!!(e.tagName==="svg"||e.ownerSVGElement)}function Bl(e,t){let n=jv.get(e);if(n||(n=e.createElement("a"),jv.set(e,n)),!t)t="";else if(t.startsWith("blob:")||t.startsWith("data:"))return t;return n.setAttribute("href",t),n.href}function BE(e,t,n,r,s,i,o){if(!r)return r;if(n==="src"||n==="href"&&!(t==="use"&&r[0]==="#"))return ti(e,r);if(n==="xlink:href"&&r[0]!=="#")return ti(e,r);if(n==="background"&&(t==="table"||t==="td"||t==="th"))return ti(e,r);if(n==="srcset")return bB(e,r);if(n==="style"){let a=Qc(r,Bl(e));return o&&o.size>0&&(a=vB(a,o)),a}else if(t==="object"&&n==="data")return ti(e,r);return typeof i=="function"?i(n,r,s):r}function HE(e,t,n){return(e==="video"||e==="audio")&&t==="autoplay"}function EB(e,t,n,r){try{if(r&&e.matches(r))return!1;if(typeof t=="string"){if(e.classList.contains(t))return!0}else for(let s=e.classList.length;s--;){const i=e.classList[s];if(t.test(i))return!0}if(n)return e.matches(n)}catch{}return!1}function wB(e,t){for(let n=e.classList.length;n--;){const r=e.classList[n];if(t.test(r))return!0}return!1}function fs(e,t,n=1/0,r=0){return!e||e.nodeType!==e.ELEMENT_NODE||r>n?-1:t(e)?r:fs(e.parentNode,t,n,r+1)}function ni(e,t){return n=>{const r=n;if(r===null)return!1;try{if(e){if(typeof e=="string"){if(r.matches(`.${e}`))return!0}else if(wB(r,e))return!0}return!!(t&&r.matches(t))}catch{return!1}}}function Mi(e,t,n,r,s,i){try{const o=e.nodeType===e.ELEMENT_NODE?e:e.parentElement;if(o===null)return!1;if(o.tagName==="INPUT"){const l=o.getAttribute("autocomplete");if(["current-password","new-password","cc-number","cc-exp","cc-exp-month","cc-exp-year","cc-csc"].includes(l))return!0}let a=-1,c=-1;if(i){if(c=fs(o,ni(r,s)),c<0)return!0;a=fs(o,ni(t,n),c>=0?c:1/0)}else{if(a=fs(o,ni(t,n)),a<0)return!1;c=fs(o,ni(r,s),a>=0?a:1/0)}return a>=0?c>=0?a<=c:!0:c>=0?!1:!!i}catch{}return!!i}function CB(e,t,n){const r=e.contentWindow;if(!r)return;let s=!1,i;try{i=r.document.readyState}catch{return}if(i!=="complete"){const a=nf(()=>{s||(t(),s=!0)},n);e.addEventListener("load",()=>{FE(a),s=!0,t()});return}const o="about:blank";if(r.location.href!==o||e.src===o||e.src==="")return nf(t,0),e.addEventListener("load",t);e.addEventListener("load",t)}function TB(e,t,n){let r=!1,s;try{s=e.sheet}catch{return}if(s)return;const i=nf(()=>{r||(t(),r=!0)},n);e.addEventListener("load",()=>{FE(i),r=!0,t()})}function kB(e,t){const{doc:n,mirror:r,blockClass:s,blockSelector:i,unblockSelector:o,maskAllText:a,maskAttributeFn:c,maskTextClass:l,unmaskTextClass:d,maskTextSelector:u,unmaskTextSelector:f,inlineStylesheet:h,maskInputOptions:p={},maskTextFn:m,maskInputFn:v,dataURLOptions:g={},inlineImages:y,recordCanvas:C,keepIframeSrcFn:w,newlyAddedElement:I=!1,ignoreCSSAttributes:x}=t,S=IB(n,r);switch(e.nodeType){case e.DOCUMENT_NODE:return e.compatMode!=="CSS1Compat"?{type:ut.Document,childNodes:[],compatMode:e.compatMode}:{type:ut.Document,childNodes:[]};case e.DOCUMENT_TYPE_NODE:return{type:ut.DocumentType,name:e.name,publicId:e.publicId,systemId:e.systemId,rootId:S};case e.ELEMENT_NODE:return RB(e,{doc:n,blockClass:s,blockSelector:i,unblockSelector:o,inlineStylesheet:h,maskAttributeFn:c,maskInputOptions:p,maskInputFn:v,dataURLOptions:g,inlineImages:y,recordCanvas:C,keepIframeSrcFn:w,newlyAddedElement:I,rootId:S,maskTextClass:l,unmaskTextClass:d,maskTextSelector:u,unmaskTextSelector:f,ignoreCSSAttributes:x});case e.TEXT_NODE:return xB(e,{doc:n,maskAllText:a,maskTextClass:l,unmaskTextClass:d,maskTextSelector:u,unmaskTextSelector:f,maskTextFn:m,maskInputOptions:p,maskInputFn:v,rootId:S});case e.CDATA_SECTION_NODE:return{type:ut.CDATA,textContent:"",rootId:S};case e.COMMENT_NODE:return{type:ut.Comment,textContent:e.textContent||"",rootId:S};default:return!1}}function IB(e,t){if(!t.hasNode(e))return;const n=t.getId(e);return n===1?void 0:n}function xB(e,t){var g;const{maskAllText:n,maskTextClass:r,unmaskTextClass:s,maskTextSelector:i,unmaskTextSelector:o,maskTextFn:a,maskInputOptions:c,maskInputFn:l,rootId:d}=t,u=e.parentNode&&e.parentNode.tagName;let f=e.textContent;const h=u==="STYLE"?!0:void 0,p=u==="SCRIPT"?!0:void 0,m=u==="TEXTAREA"?!0:void 0;if(h&&f){try{e.nextSibling||e.previousSibling||(g=e.parentNode.sheet)!=null&&g.cssRules&&(f=Jc(e.parentNode.sheet))}catch(y){console.warn(`Cannot get CSS styles from text's parentNode. Error: ${y}`,e)}f=Qc(f,Bl(t.doc))}p&&(f="SCRIPT_PLACEHOLDER");const v=Mi(e,r,i,s,o,n);if(!h&&!p&&!m&&f&&v&&(f=a?a(f,e.parentElement):f.replace(/[\S]/g,"*")),m&&f&&(c.textarea||v)&&(f=l?l(f,e.parentNode):f.replace(/[\S]/g,"*")),u==="OPTION"&&f){const y=$l({type:null,tagName:u,maskInputOptions:c});f=Yo({isMasked:Mi(e,r,i,s,o,y),element:e,value:f,maskInputFn:l})}return{type:ut.Text,textContent:f||"",isStyle:h,rootId:d}}function RB(e,t){const{doc:n,blockClass:r,blockSelector:s,unblockSelector:i,inlineStylesheet:o,maskInputOptions:a={},maskAttributeFn:c,maskInputFn:l,dataURLOptions:d={},inlineImages:u,recordCanvas:f,keepIframeSrcFn:h,newlyAddedElement:p=!1,rootId:m,maskTextClass:v,unmaskTextClass:g,maskTextSelector:y,unmaskTextSelector:C,ignoreCSSAttributes:w}=t,I=EB(e,r,s,i),x=dB(e);let S={};const b=e.attributes.length;for(let R=0;RT.href===e.href);let M=null;R&&(M=Jc(R)),M&&(S.rel=null,S.href=null,S.crossorigin=null,S._cssText=Qc(M,R.href))}if(x==="style"&&e.sheet&&!(e.innerText||e.textContent||"").trim().length){const R=Jc(e.sheet);R&&(S._cssText=Qc(R,Bl(n)))}if(x==="input"||x==="textarea"||x==="select"||x==="option"){const R=e,M=Yh(R),T=Zc(R,tf(x),M),O=R.checked;if(M!=="submit"&&M!=="button"&&T){const $=Mi(R,v,y,g,C,$l({type:M,tagName:tf(x),maskInputOptions:a}));S.value=Yo({isMasked:$,element:R,value:T,maskInputFn:l})}O&&(S.checked=O)}if(x==="option"&&(e.selected&&!a.select?S.selected=!0:delete S.selected),x==="canvas"&&f){if(e.__context==="2d")cB(e)||(S.rr_dataURL=e.toDataURL(d.type,d.quality));else if(!("__context"in e)){const R=e.toDataURL(d.type,d.quality),M=n.createElement("canvas");M.width=e.width,M.height=e.height;const T=M.toDataURL(d.type,d.quality);R!==T&&(S.rr_dataURL=R)}}if(x==="img"&&u){zs||(zs=n.createElement("canvas"),Wv=zs.getContext("2d"));const R=e,M=R.currentSrc||R.getAttribute("src")||"",T=R.crossOrigin,O=()=>{R.removeEventListener("load",O);try{zs.width=R.naturalWidth,zs.height=R.naturalHeight,Wv.drawImage(R,0,0),S.rr_dataURL=zs.toDataURL(d.type,d.quality)}catch($){if(R.crossOrigin!=="anonymous"){R.crossOrigin="anonymous",R.complete&&R.naturalWidth!==0?O():R.addEventListener("load",O);return}else console.warn(`Cannot inline img src=${M}! Error: ${$}`)}R.crossOrigin==="anonymous"&&(T?S.crossOrigin=T:R.removeAttribute("crossorigin"))};R.complete&&R.naturalWidth!==0?O():R.addEventListener("load",O)}if((x==="audio"||x==="video")&&(S.rr_mediaState=e.paused?"paused":"played",S.rr_mediaCurrentTime=e.currentTime),p||(e.scrollLeft&&(S.rr_scrollLeft=e.scrollLeft),e.scrollTop&&(S.rr_scrollTop=e.scrollTop)),I){const{width:R,height:M}=e.getBoundingClientRect();S={class:S.class,rr_width:`${R}px`,rr_height:`${M}px`}}x==="iframe"&&!h(S.src)&&(!I&&!$E(e)&&(S.rr_src=S.src),delete S.src);let k;try{customElements.get(x)&&(k=!0)}catch{}return{type:ut.Element,tagName:x,attributes:S,childNodes:[],isSVG:SB(e)||void 0,needBlock:I,rootId:m,isCustom:k}}function Ge(e){return e==null?"":e.toLowerCase()}function AB(e,t){if(t.comment&&e.type===ut.Comment)return!0;if(e.type===ut.Element){if(t.script&&(e.tagName==="script"||e.tagName==="link"&&(e.attributes.rel==="preload"||e.attributes.rel==="modulepreload")||e.tagName==="link"&&e.attributes.rel==="prefetch"&&typeof e.attributes.href=="string"&&NE(e.attributes.href)==="js"))return!0;if(t.headFavicon&&(e.tagName==="link"&&e.attributes.rel==="shortcut icon"||e.tagName==="meta"&&(Ge(e.attributes.name).match(/^msapplication-tile(image|color)$/)||Ge(e.attributes.name)==="application-name"||Ge(e.attributes.rel)==="icon"||Ge(e.attributes.rel)==="apple-touch-icon"||Ge(e.attributes.rel)==="shortcut icon")))return!0;if(e.tagName==="meta"){if(t.headMetaDescKeywords&&Ge(e.attributes.name).match(/^description|keywords$/))return!0;if(t.headMetaSocial&&(Ge(e.attributes.property).match(/^(og|twitter|fb):/)||Ge(e.attributes.name).match(/^(og|twitter):/)||Ge(e.attributes.name)==="pinterest"))return!0;if(t.headMetaRobots&&(Ge(e.attributes.name)==="robots"||Ge(e.attributes.name)==="googlebot"||Ge(e.attributes.name)==="bingbot"))return!0;if(t.headMetaHttpEquiv&&e.attributes["http-equiv"]!==void 0)return!0;if(t.headMetaAuthorship&&(Ge(e.attributes.name)==="author"||Ge(e.attributes.name)==="generator"||Ge(e.attributes.name)==="framework"||Ge(e.attributes.name)==="publisher"||Ge(e.attributes.name)==="progid"||Ge(e.attributes.property).match(/^article:/)||Ge(e.attributes.property).match(/^product:/)))return!0;if(t.headMetaVerification&&(Ge(e.attributes.name)==="google-site-verification"||Ge(e.attributes.name)==="yandex-verification"||Ge(e.attributes.name)==="csrf-token"||Ge(e.attributes.name)==="p:domain_verify"||Ge(e.attributes.name)==="verify-v1"||Ge(e.attributes.name)==="verification"||Ge(e.attributes.name)==="shopify-checkout-api-token"))return!0}}return!1}function ri(e,t){const{doc:n,mirror:r,blockClass:s,blockSelector:i,unblockSelector:o,maskAllText:a,maskTextClass:c,unmaskTextClass:l,maskTextSelector:d,unmaskTextSelector:u,skipChild:f=!1,inlineStylesheet:h=!0,maskInputOptions:p={},maskAttributeFn:m,maskTextFn:v,maskInputFn:g,slimDOMOptions:y,dataURLOptions:C={},inlineImages:w=!1,recordCanvas:I=!1,onSerialize:x,onIframeLoad:S,iframeLoadTimeout:b=5e3,onBlockedImageLoad:k,onStylesheetLoad:R,stylesheetLoadTimeout:M=5e3,keepIframeSrcFn:T=()=>!1,newlyAddedElement:O=!1,ignoreCSSAttributes:$}=t;let{preserveWhiteSpace:K=!0}=t;const Z=kB(e,{doc:n,mirror:r,blockClass:s,blockSelector:i,maskAllText:a,unblockSelector:o,maskTextClass:c,unmaskTextClass:l,maskTextSelector:d,unmaskTextSelector:u,inlineStylesheet:h,maskInputOptions:p,maskAttributeFn:m,maskTextFn:v,maskInputFn:g,dataURLOptions:C,inlineImages:w,recordCanvas:I,keepIframeSrcFn:T,newlyAddedElement:O,ignoreCSSAttributes:$});if(!Z)return console.warn(e,"not serialized"),null;let z;r.hasNode(e)?z=r.getId(e):AB(Z,y)||!K&&Z.type===ut.Text&&!Z.isStyle&&!Z.textContent.replace(/^\s+|\s+$/gm,"").length?z=Xo:z=Xh();const N=Object.assign(Z,{id:z});if(r.add(e,N),z===Xo)return null;x&&x(e);let oe=!f;if(N.type===ut.Element){oe=oe&&!N.needBlock;const U=e.shadowRoot;U&&To(U)&&(N.isShadowHost=!0)}if((N.type===ut.Document||N.type===ut.Element)&&oe){y.headWhitespace&&N.type===ut.Element&&N.tagName==="head"&&(K=!1);const U={doc:n,mirror:r,blockClass:s,blockSelector:i,maskAllText:a,unblockSelector:o,maskTextClass:c,unmaskTextClass:l,maskTextSelector:d,unmaskTextSelector:u,skipChild:f,inlineStylesheet:h,maskInputOptions:p,maskAttributeFn:m,maskTextFn:v,maskInputFn:g,slimDOMOptions:y,dataURLOptions:C,inlineImages:w,recordCanvas:I,preserveWhiteSpace:K,onSerialize:x,onIframeLoad:S,iframeLoadTimeout:b,onBlockedImageLoad:k,onStylesheetLoad:R,stylesheetLoadTimeout:M,keepIframeSrcFn:T,ignoreCSSAttributes:$},J=e.childNodes?Array.from(e.childNodes):[];for(const re of J){const ie=ri(re,U);ie&&N.childNodes.push(ie)}if(eB(e)&&e.shadowRoot)for(const re of Array.from(e.shadowRoot.childNodes)){const ie=ri(re,U);ie&&(To(e.shadowRoot)&&(ie.isShadow=!0),N.childNodes.push(ie))}}if(e.parentNode&&Co(e.parentNode)&&To(e.parentNode)&&(N.isShadow=!0),N.type===ut.Element&&N.tagName==="iframe"&&!N.needBlock&&CB(e,()=>{const U=$E(e);if(U&&S){const J=ri(U,{doc:U,mirror:r,blockClass:s,blockSelector:i,unblockSelector:o,maskAllText:a,maskTextClass:c,unmaskTextClass:l,maskTextSelector:d,unmaskTextSelector:u,skipChild:!1,inlineStylesheet:h,maskInputOptions:p,maskAttributeFn:m,maskTextFn:v,maskInputFn:g,slimDOMOptions:y,dataURLOptions:C,inlineImages:w,recordCanvas:I,preserveWhiteSpace:K,onSerialize:x,onIframeLoad:S,iframeLoadTimeout:b,onStylesheetLoad:R,stylesheetLoadTimeout:M,keepIframeSrcFn:T,ignoreCSSAttributes:$});J&&S(e,J)}},b),N.type===ut.Element&&N.tagName==="img"&&!e.complete&&N.needBlock){const U=e,J=()=>{if(U.isConnected&&!U.complete&&k)try{const re=U.getBoundingClientRect();re.width>0&&re.height>0&&k(U,N,re)}catch{}U.removeEventListener("load",J)};U.isConnected&&U.addEventListener("load",J)}return N.type===ut.Element&&N.tagName==="link"&&typeof N.attributes.rel=="string"&&(N.attributes.rel==="stylesheet"||N.attributes.rel==="preload"&&typeof N.attributes.href=="string"&&NE(N.attributes.href)==="css")&&TB(e,()=>{if(R){const U=ri(e,{doc:n,mirror:r,blockClass:s,blockSelector:i,unblockSelector:o,maskAllText:a,maskTextClass:c,unmaskTextClass:l,maskTextSelector:d,unmaskTextSelector:u,skipChild:!1,inlineStylesheet:h,maskInputOptions:p,maskAttributeFn:m,maskTextFn:v,maskInputFn:g,slimDOMOptions:y,dataURLOptions:C,inlineImages:w,recordCanvas:I,preserveWhiteSpace:K,onSerialize:x,onIframeLoad:S,iframeLoadTimeout:b,onStylesheetLoad:R,stylesheetLoadTimeout:M,keepIframeSrcFn:T,ignoreCSSAttributes:$});U&&R(e,U)}},M),N.type===ut.Element&&delete N.needBlock,N}function MB(e,t){const{mirror:n=new LE,blockClass:r="rr-block",blockSelector:s=null,unblockSelector:i=null,maskAllText:o=!1,maskTextClass:a="rr-mask",unmaskTextClass:c=null,maskTextSelector:l=null,unmaskTextSelector:d=null,inlineStylesheet:u=!0,inlineImages:f=!1,recordCanvas:h=!1,maskAllInputs:p=!1,maskAttributeFn:m,maskTextFn:v,maskInputFn:g,slimDOM:y=!1,dataURLOptions:C,preserveWhiteSpace:w,onSerialize:I,onIframeLoad:x,iframeLoadTimeout:S,onBlockedImageLoad:b,onStylesheetLoad:k,stylesheetLoadTimeout:R,keepIframeSrcFn:M=()=>!1,ignoreCSSAttributes:T=new Set([])}=t||{};return ri(e,{doc:e,mirror:n,blockClass:r,blockSelector:s,unblockSelector:i,maskAllText:o,maskTextClass:a,unmaskTextClass:c,maskTextSelector:l,unmaskTextSelector:d,skipChild:!1,inlineStylesheet:u,maskInputOptions:p===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0}:p===!1?{}:p,maskAttributeFn:m,maskTextFn:v,maskInputFn:g,slimDOMOptions:y===!0||y==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaDescKeywords:y==="all",headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaAuthorship:!0,headMetaVerification:!0}:y===!1?{}:y,dataURLOptions:C,inlineImages:f,recordCanvas:h,preserveWhiteSpace:w,onSerialize:I,onIframeLoad:x,iframeLoadTimeout:S,onBlockedImageLoad:b,onStylesheetLoad:k,stylesheetLoadTimeout:R,keepIframeSrcFn:M,newlyAddedElement:!1,ignoreCSSAttributes:T})}function Ft(e,t,n=document){const r={capture:!0,passive:!0};return n.addEventListener(e,t,r),()=>n.removeEventListener(e,t,r)}const Xs=`Please stop import mirror directly. Instead of that,\r -now you can use replayer.getMirror() to access the mirror instance of a replayer,\r -or you can use record.mirror to access the mirror instance during recording.`;let zv={map:{},getId(){return console.error(Xs),-1},getNode(){return console.error(Xs),null},removeNodeFromMap(){console.error(Xs)},has(){return console.error(Xs),!1},reset(){console.error(Xs)}};typeof window<"u"&&window.Proxy&&window.Reflect&&(zv=new Proxy(zv,{get(e,t,n){return t==="map"&&console.error(Xs),Reflect.get(e,t,n)}}));function Jo(e,t,n={}){let r=null,s=0;return function(...i){const o=Date.now();!s&&n.leading===!1&&(s=o);const a=t-(o-s),c=this;a<=0||a>t?(r&&($B(r),r=null),s=o,e.apply(c,i)):!r&&n.trailing!==!1&&(r=Hl(()=>{s=n.leading===!1?0:Date.now(),r=null,e.apply(c,i)},a))}}function VE(e,t,n,r,s=window){const i=s.Object.getOwnPropertyDescriptor(e,t);return s.Object.defineProperty(e,t,r?n:{set(o){Hl(()=>{n.set.call(this,o)},0),i&&i.set&&i.set.call(this,o)}}),()=>VE(e,t,i||{},!0)}function Jh(e,t,n){try{if(!(t in e))return()=>{};const r=e[t],s=n(r);return typeof s=="function"&&(s.prototype=s.prototype||{},Object.defineProperties(s,{__rrweb_original__:{enumerable:!1,value:r}})),e[t]=s,()=>{e[t]=r}}catch{return()=>{}}}let el=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(el=()=>new Date().getTime());function UE(e){var n,r,s,i,o,a;const t=e.document;return{left:t.scrollingElement?t.scrollingElement.scrollLeft:e.pageXOffset!==void 0?e.pageXOffset:(t==null?void 0:t.documentElement.scrollLeft)||((r=(n=t==null?void 0:t.body)==null?void 0:n.parentElement)==null?void 0:r.scrollLeft)||((s=t==null?void 0:t.body)==null?void 0:s.scrollLeft)||0,top:t.scrollingElement?t.scrollingElement.scrollTop:e.pageYOffset!==void 0?e.pageYOffset:(t==null?void 0:t.documentElement.scrollTop)||((o=(i=t==null?void 0:t.body)==null?void 0:i.parentElement)==null?void 0:o.scrollTop)||((a=t==null?void 0:t.body)==null?void 0:a.scrollTop)||0}}function WE(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function jE(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function zE(e){if(!e)return null;try{return e.nodeType===e.ELEMENT_NODE?e:e.parentElement}catch{return null}}function Xt(e,t,n,r,s){if(!e)return!1;const i=zE(e);if(!i)return!1;const o=ni(t,n);if(!s){const l=r&&i.matches(r);return o(i)&&!l}const a=fs(i,o);let c=-1;return a<0?!1:(r&&(c=fs(i,ni(null,r))),a>-1&&c<0?!0:a{let n=t[0];if(!(0 in t))throw new TypeError("1 argument is required");do if(this===n)return!0;while(n=n&&n.parentNode);return!1})}function GE(e,t){return!!(e.nodeName==="IFRAME"&&t.getMeta(e))}function KE(e,t){return!!(e.nodeName==="LINK"&&e.nodeType===e.ELEMENT_NODE&&e.getAttribute&&e.getAttribute("rel")==="stylesheet"&&t.getMeta(e))}function sf(e){return!!(e!=null&&e.shadowRoot)}class LB{constructor(){this.id=1,this.styleIDMap=new WeakMap,this.idStyleMap=new Map}getId(t){return this.styleIDMap.get(t)??-1}has(t){return this.styleIDMap.has(t)}add(t,n){if(this.has(t))return this.getId(t);let r;return n===void 0?r=this.id++:r=n,this.styleIDMap.set(t,r),this.idStyleMap.set(r,t),r}getStyle(t){return this.idStyleMap.get(t)||null}reset(){this.styleIDMap=new WeakMap,this.idStyleMap=new Map,this.id=1}generateId(){return this.id++}}function YE(e){var n,r;let t=null;return((r=(n=e.getRootNode)==null?void 0:n.call(e))==null?void 0:r.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&e.getRootNode().host&&(t=e.getRootNode().host),t}function NB(e){let t=e,n;for(;n=YE(t);)t=n;return t}function DB(e){const t=e.ownerDocument;if(!t)return!1;const n=NB(e);return t.contains(n)}function XE(e){const t=e.ownerDocument;return t?t.contains(e)||DB(e):!1}const qv={};function Zh(e){const t=qv[e];if(t)return t;const n=window.document;let r=window[e];if(n&&typeof n.createElement=="function")try{const s=n.createElement("iframe");s.hidden=!0,n.head.appendChild(s);const i=s.contentWindow;i&&i[e]&&(r=i[e]),n.head.removeChild(s)}catch{}return qv[e]=r.bind(window)}function FB(...e){return Zh("requestAnimationFrame")(...e)}function Hl(...e){return Zh("setTimeout")(...e)}function $B(...e){return Zh("clearTimeout")(...e)}var Te=(e=>(e[e.DomContentLoaded=0]="DomContentLoaded",e[e.Load=1]="Load",e[e.FullSnapshot=2]="FullSnapshot",e[e.IncrementalSnapshot=3]="IncrementalSnapshot",e[e.Meta=4]="Meta",e[e.Custom=5]="Custom",e[e.Plugin=6]="Plugin",e))(Te||{}),_e=(e=>(e[e.Mutation=0]="Mutation",e[e.MouseMove=1]="MouseMove",e[e.MouseInteraction=2]="MouseInteraction",e[e.Scroll=3]="Scroll",e[e.ViewportResize=4]="ViewportResize",e[e.Input=5]="Input",e[e.TouchMove=6]="TouchMove",e[e.MediaInteraction=7]="MediaInteraction",e[e.StyleSheetRule=8]="StyleSheetRule",e[e.CanvasMutation=9]="CanvasMutation",e[e.Font=10]="Font",e[e.Log=11]="Log",e[e.Drag=12]="Drag",e[e.StyleDeclaration=13]="StyleDeclaration",e[e.Selection=14]="Selection",e[e.AdoptedStyleSheet=15]="AdoptedStyleSheet",e[e.CustomElement=16]="CustomElement",e))(_e||{}),Lt=(e=>(e[e.MouseUp=0]="MouseUp",e[e.MouseDown=1]="MouseDown",e[e.Click=2]="Click",e[e.ContextMenu=3]="ContextMenu",e[e.DblClick=4]="DblClick",e[e.Focus=5]="Focus",e[e.Blur=6]="Blur",e[e.TouchStart=7]="TouchStart",e[e.TouchMove_Departed=8]="TouchMove_Departed",e[e.TouchEnd=9]="TouchEnd",e[e.TouchCancel=10]="TouchCancel",e))(Lt||{}),Yn=(e=>(e[e.Mouse=0]="Mouse",e[e.Pen=1]="Pen",e[e.Touch=2]="Touch",e))(Yn||{}),Js=(e=>(e[e.Play=0]="Play",e[e.Pause=1]="Pause",e[e.Seeked=2]="Seeked",e[e.VolumeChange=3]="VolumeChange",e[e.RateChange=4]="RateChange",e))(Js||{});function Qh(e){try{return e.contentDocument}catch{}}function BB(e){try{return e.contentWindow}catch{}}function Gv(e){return"__ln"in e}class HB{constructor(){this.length=0,this.head=null,this.tail=null}get(t){if(t>=this.length)throw new Error("Position outside of list range");let n=this.head;for(let r=0;r`${e}@${t}`;class VB{constructor(){this.frozen=!1,this.locked=!1,this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.mapRemoves=[],this.movedMap={},this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.processMutations=t=>{t.forEach(this.processMutation),this.emit()},this.emit=()=>{if(this.frozen||this.locked)return;const t=[],n=new Set,r=new HB,s=c=>{let l=c,d=Xo;for(;d===Xo;)l=l&&l.nextSibling,d=l&&this.mirror.getId(l);return d},i=c=>{if(!c.parentNode||!XE(c))return;const l=Co(c.parentNode)?this.mirror.getId(YE(c)):this.mirror.getId(c.parentNode),d=s(c);if(l===-1||d===-1)return r.addNode(c);const u=ri(c,{doc:this.doc,mirror:this.mirror,blockClass:this.blockClass,blockSelector:this.blockSelector,maskAllText:this.maskAllText,unblockSelector:this.unblockSelector,maskTextClass:this.maskTextClass,unmaskTextClass:this.unmaskTextClass,maskTextSelector:this.maskTextSelector,unmaskTextSelector:this.unmaskTextSelector,skipChild:!0,newlyAddedElement:!0,inlineStylesheet:this.inlineStylesheet,maskInputOptions:this.maskInputOptions,maskAttributeFn:this.maskAttributeFn,maskTextFn:this.maskTextFn,maskInputFn:this.maskInputFn,slimDOMOptions:this.slimDOMOptions,dataURLOptions:this.dataURLOptions,recordCanvas:this.recordCanvas,inlineImages:this.inlineImages,onSerialize:f=>{GE(f,this.mirror)&&!Xt(f,this.blockClass,this.blockSelector,this.unblockSelector,!1)&&this.iframeManager.addIframe(f),KE(f,this.mirror)&&this.stylesheetManager.trackLinkElement(f),sf(c)&&this.shadowDomManager.addShadowRoot(c.shadowRoot,this.doc)},onIframeLoad:(f,h)=>{Xt(f,this.blockClass,this.blockSelector,this.unblockSelector,!1)||(this.iframeManager.attachIframe(f,h),f.contentWindow&&this.canvasManager.addWindow(f.contentWindow),this.shadowDomManager.observeAttachShadow(f))},onStylesheetLoad:(f,h)=>{this.stylesheetManager.attachLinkElement(f,h)},onBlockedImageLoad:(f,h,{width:p,height:m})=>{this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:h.id,attributes:{style:{width:`${p}px`,height:`${m}px`}}}]})},ignoreCSSAttributes:this.ignoreCSSAttributes});u&&(t.push({parentId:l,nextId:d,node:u}),n.add(u.id))};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(const c of this.movedSet)Yv(this.removes,c,this.mirror)&&!this.movedSet.has(c.parentNode)||i(c);for(const c of this.addedSet)!Xv(this.droppedSet,c)&&!Yv(this.removes,c,this.mirror)||Xv(this.movedSet,c)?i(c):this.droppedSet.add(c);let o=null;for(;r.length;){let c=null;if(o){const l=this.mirror.getId(o.value.parentNode),d=s(o.value);l!==-1&&d!==-1&&(c=o)}if(!c){let l=r.tail;for(;l;){const d=l;if(l=l.previous,d){const u=this.mirror.getId(d.value.parentNode);if(s(d.value)===-1)continue;if(u!==-1){c=d;break}else{const h=d.value;if(h.parentNode&&h.parentNode.nodeType===Node.DOCUMENT_FRAGMENT_NODE){const p=h.parentNode.host;if(this.mirror.getId(p)!==-1){c=d;break}}}}}}if(!c){for(;r.head;)r.removeNode(r.head.value);break}o=c.previous,r.removeNode(c.value),i(c.value)}const a={texts:this.texts.map(c=>({id:this.mirror.getId(c.node),value:c.value})).filter(c=>!n.has(c.id)).filter(c=>this.mirror.has(c.id)),attributes:this.attributes.map(c=>{const{attributes:l}=c;if(typeof l.style=="string"){const d=JSON.stringify(c.styleDiff),u=JSON.stringify(c._unchangedStyles);d.length!n.has(c.id)).filter(c=>this.mirror.has(c.id)),removes:this.removes,adds:t};!a.texts.length&&!a.attributes.length&&!a.removes.length&&!a.adds.length||(this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.movedMap={},this.mutationCb(a))},this.processMutation=t=>{if(!Hu(t.target,this.mirror))switch(t.type){case"characterData":{const n=t.target.textContent;!Xt(t.target,this.blockClass,this.blockSelector,this.unblockSelector,!1)&&n!==t.oldValue&&this.texts.push({value:Mi(t.target,this.maskTextClass,this.maskTextSelector,this.unmaskTextClass,this.unmaskTextSelector,this.maskAllText)&&n?this.maskTextFn?this.maskTextFn(n,zE(t.target)):n.replace(/[\S]/g,"*"):n,node:t.target});break}case"attributes":{const n=t.target;let r=t.attributeName,s=t.target.getAttribute(r);if(r==="value"){const o=Yh(n),a=n.tagName;s=Zc(n,a,o);const c=$l({maskInputOptions:this.maskInputOptions,tagName:a,type:o}),l=Mi(t.target,this.maskTextClass,this.maskTextSelector,this.unmaskTextClass,this.unmaskTextSelector,c);s=Yo({isMasked:l,element:n,value:s,maskInputFn:this.maskInputFn})}if(Xt(t.target,this.blockClass,this.blockSelector,this.unblockSelector,!1)||s===t.oldValue)return;let i=this.attributeMap.get(t.target);if(n.tagName==="IFRAME"&&r==="src"&&!this.keepIframeSrcFn(s))if(!Qh(n))r="rr_src";else return;if(i||(i={node:t.target,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(i),this.attributeMap.set(t.target,i)),r==="type"&&n.tagName==="INPUT"&&(t.oldValue||"").toLowerCase()==="password"&&n.setAttribute("data-rr-is-password","true"),!HE(n.tagName,r)&&(i.attributes[r]=BE(this.doc,Ai(n.tagName),Ai(r),s,n,this.maskAttributeFn),r==="style")){if(!this.unattachedDoc)try{this.unattachedDoc=document.implementation.createHTMLDocument()}catch{this.unattachedDoc=this.doc}const o=this.unattachedDoc.createElement("span");t.oldValue&&o.setAttribute("style",t.oldValue);for(const a of Array.from(n.style)){const c=n.style.getPropertyValue(a),l=n.style.getPropertyPriority(a);c!==o.style.getPropertyValue(a)||l!==o.style.getPropertyPriority(a)?l===""?i.styleDiff[a]=c:i.styleDiff[a]=[c,l]:i._unchangedStyles[a]=[c,l]}for(const a of Array.from(o.style))n.style.getPropertyValue(a)===""&&(i.styleDiff[a]=!1)}break}case"childList":{if(Xt(t.target,this.blockClass,this.blockSelector,this.unblockSelector,!0))return;t.addedNodes.forEach(n=>this.genAdds(n,t.target)),t.removedNodes.forEach(n=>{const r=this.mirror.getId(n),s=Co(t.target)?this.mirror.getId(t.target.host):this.mirror.getId(t.target);Xt(t.target,this.blockClass,this.blockSelector,this.unblockSelector,!1)||Hu(n,this.mirror)||!PB(n,this.mirror)||(this.addedSet.has(n)?(of(this.addedSet,n),this.droppedSet.add(n)):this.addedSet.has(t.target)&&r===-1||qE(t.target,this.mirror)||(this.movedSet.has(n)&&this.movedMap[Kv(r,s)]?of(this.movedSet,n):this.removes.push({parentId:s,id:r,isShadow:Co(t.target)&&To(t.target)?!0:void 0})),this.mapRemoves.push(n))});break}}},this.genAdds=(t,n)=>{if(!this.processedNodeManager.inOtherBuffer(t,this)&&!(this.addedSet.has(t)||this.movedSet.has(t))){if(this.mirror.hasNode(t)){if(Hu(t,this.mirror))return;this.movedSet.add(t);let r=null;n&&this.mirror.hasNode(n)&&(r=this.mirror.getId(n)),r&&r!==-1&&(this.movedMap[Kv(this.mirror.getId(t),r)]=!0)}else this.addedSet.add(t),this.droppedSet.delete(t);Xt(t,this.blockClass,this.blockSelector,this.unblockSelector,!1)||(t.childNodes&&t.childNodes.forEach(r=>this.genAdds(r)),sf(t)&&t.shadowRoot.childNodes.forEach(r=>{this.processedNodeManager.add(r,this),this.genAdds(r,t)}))}}}init(t){["mutationCb","blockClass","blockSelector","unblockSelector","maskAllText","maskTextClass","unmaskTextClass","maskTextSelector","unmaskTextSelector","inlineStylesheet","maskInputOptions","maskAttributeFn","maskTextFn","maskInputFn","keepIframeSrcFn","recordCanvas","inlineImages","slimDOMOptions","dataURLOptions","doc","mirror","iframeManager","stylesheetManager","shadowDomManager","canvasManager","processedNodeManager","ignoreCSSAttributes"].forEach(n=>{this[n]=t[n]})}freeze(){this.frozen=!0,this.canvasManager.freeze()}unfreeze(){this.frozen=!1,this.canvasManager.unfreeze(),this.emit()}isFrozen(){return this.frozen}lock(){this.locked=!0,this.canvasManager.lock()}unlock(){this.locked=!1,this.canvasManager.unlock(),this.emit()}reset(){this.shadowDomManager.reset(),this.canvasManager.reset()}}function of(e,t){var n;e.delete(t),(n=t.childNodes)==null||n.forEach(r=>of(e,r))}function Yv(e,t,n){return e.length===0?!1:UB(e,t,n)}function UB(e,t,n){let r=t.parentNode;for(;r;){const s=n.getId(r);if(e.some(i=>i.id===s))return!0;r=r.parentNode}return!1}function Xv(e,t){return e.size===0?!1:JE(e,t)}function JE(e,t){const{parentNode:n}=t;return n?e.has(n)?!0:JE(e,n):!1}let ko;function WB(e){ko=e}function jB(){ko=void 0}const Pe=e=>ko?(...n)=>{try{return e(...n)}catch(r){if(ko&&ko(r)===!0)return()=>{};throw r}}:e,si=[];function Ta(e){try{if("composedPath"in e){const t=e.composedPath();if(t.length)return t[0]}else if("path"in e&&e.path.length)return e.path[0]}catch{}return e&&e.target}function ZE(e,t){var o,a;const n=new VB;si.push(n),n.init(e);let r=window.MutationObserver||window.__rrMutationObserver;const s=(a=(o=window==null?void 0:window.Zone)==null?void 0:o.__symbol__)==null?void 0:a.call(o,"MutationObserver");s&&window[s]&&(r=window[s]);const i=new r(Pe(c=>{e.onMutation&&e.onMutation(c)===!1||n.processMutations.bind(n)(c)}));return i.observe(t,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),i}function zB({mousemoveCb:e,sampling:t,doc:n,mirror:r}){if(t.mousemove===!1)return()=>{};const s=typeof t.mousemove=="number"?t.mousemove:50,i=typeof t.mousemoveCallback=="number"?t.mousemoveCallback:500;let o=[],a;const c=Jo(Pe(u=>{const f=Date.now()-a;e(o.map(h=>(h.timeOffset-=f,h)),u),o=[],a=null}),i),l=Pe(Jo(Pe(u=>{const f=Ta(u),{clientX:h,clientY:p}=rf(u)?u.changedTouches[0]:u;a||(a=el()),o.push({x:h,y:p,id:r.getId(f),timeOffset:el()-a}),c(typeof DragEvent<"u"&&u instanceof DragEvent?_e.Drag:u instanceof MouseEvent?_e.MouseMove:_e.TouchMove)}),s,{trailing:!1})),d=[Ft("mousemove",l,n),Ft("touchmove",l,n),Ft("drag",l,n)];return Pe(()=>{d.forEach(u=>u())})}function qB({mouseInteractionCb:e,doc:t,mirror:n,blockClass:r,blockSelector:s,unblockSelector:i,sampling:o}){if(o.mouseInteraction===!1)return()=>{};const a=o.mouseInteraction===!0||o.mouseInteraction===void 0?{}:o.mouseInteraction,c=[];let l=null;const d=u=>f=>{const h=Ta(f);if(Xt(h,r,s,i,!0))return;let p=null,m=u;if("pointerType"in f){switch(f.pointerType){case"mouse":p=Yn.Mouse;break;case"touch":p=Yn.Touch;break;case"pen":p=Yn.Pen;break}p===Yn.Touch?Lt[u]===Lt.MouseDown?m="TouchStart":Lt[u]===Lt.MouseUp&&(m="TouchEnd"):Yn.Pen}else rf(f)&&(p=Yn.Touch);p!==null?(l=p,(m.startsWith("Touch")&&p===Yn.Touch||m.startsWith("Mouse")&&p===Yn.Mouse)&&(p=null)):Lt[u]===Lt.Click&&(p=l,l=null);const v=rf(f)?f.changedTouches[0]:f;if(!v)return;const g=n.getId(h),{clientX:y,clientY:C}=v;Pe(e)({type:Lt[m],id:g,x:y,y:C,...p!==null&&{pointerType:p}})};return Object.keys(Lt).filter(u=>Number.isNaN(Number(u))&&!u.endsWith("_Departed")&&a[u]!==!1).forEach(u=>{let f=Ai(u);const h=d(u);if(window.PointerEvent)switch(Lt[u]){case Lt.MouseDown:case Lt.MouseUp:f=f.replace("mouse","pointer");break;case Lt.TouchStart:case Lt.TouchEnd:return}c.push(Ft(f,h,t))}),Pe(()=>{c.forEach(u=>u())})}function QE({scrollCb:e,doc:t,mirror:n,blockClass:r,blockSelector:s,unblockSelector:i,sampling:o}){const a=Pe(Jo(Pe(c=>{const l=Ta(c);if(!l||Xt(l,r,s,i,!0))return;const d=n.getId(l);if(l===t&&t.defaultView){const u=UE(t.defaultView);e({id:d,x:u.left,y:u.top})}else e({id:d,x:l.scrollLeft,y:l.scrollTop})}),o.scroll||100));return Ft("scroll",a,t)}function GB({viewportResizeCb:e},{win:t}){let n=-1,r=-1;const s=Pe(Jo(Pe(()=>{const i=WE(),o=jE();(n!==i||r!==o)&&(e({width:Number(o),height:Number(i)}),n=i,r=o)}),200));return Ft("resize",s,t)}const KB=["INPUT","TEXTAREA","SELECT"],Jv=new WeakMap;function YB({inputCb:e,doc:t,mirror:n,blockClass:r,blockSelector:s,unblockSelector:i,ignoreClass:o,ignoreSelector:a,maskInputOptions:c,maskInputFn:l,sampling:d,userTriggeredOnInput:u,maskTextClass:f,unmaskTextClass:h,maskTextSelector:p,unmaskTextSelector:m}){function v(S){let b=Ta(S);const k=S.isTrusted,R=b&&tf(b.tagName);if(R==="OPTION"&&(b=b.parentElement),!b||!R||KB.indexOf(R)<0||Xt(b,r,s,i,!0))return;const M=b;if(M.classList.contains(o)||a&&M.matches(a))return;const T=Yh(b);let O=Zc(M,R,T),$=!1;const K=$l({maskInputOptions:c,tagName:R,type:T}),Z=Mi(b,f,p,h,m,K);(T==="radio"||T==="checkbox")&&($=b.checked),O=Yo({isMasked:Z,element:b,value:O,maskInputFn:l}),g(b,u?{text:O,isChecked:$,userTriggered:k}:{text:O,isChecked:$});const z=b.name;T==="radio"&&z&&$&&t.querySelectorAll(`input[type="radio"][name="${z}"]`).forEach(N=>{if(N!==b){const oe=Yo({isMasked:Z,element:N,value:Zc(N,R,T),maskInputFn:l});g(N,u?{text:oe,isChecked:!$,userTriggered:!1}:{text:oe,isChecked:!$})}})}function g(S,b){const k=Jv.get(S);if(!k||k.text!==b.text||k.isChecked!==b.isChecked){Jv.set(S,b);const R=n.getId(S);Pe(e)({...b,id:R})}}const C=(d.input==="last"?["change"]:["input","change"]).map(S=>Ft(S,Pe(v),t)),w=t.defaultView;if(!w)return()=>{C.forEach(S=>S())};const I=w.Object.getOwnPropertyDescriptor(w.HTMLInputElement.prototype,"value"),x=[[w.HTMLInputElement.prototype,"value"],[w.HTMLInputElement.prototype,"checked"],[w.HTMLSelectElement.prototype,"value"],[w.HTMLTextAreaElement.prototype,"value"],[w.HTMLSelectElement.prototype,"selectedIndex"],[w.HTMLOptionElement.prototype,"selected"]];return I&&I.set&&C.push(...x.map(S=>VE(S[0],S[1],{set(){Pe(v)({target:this,isTrusted:!1})}},!1,w))),Pe(()=>{C.forEach(S=>S())})}function tl(e){const t=[];function n(r,s){if(za("CSSGroupingRule")&&r.parentRule instanceof CSSGroupingRule||za("CSSMediaRule")&&r.parentRule instanceof CSSMediaRule||za("CSSSupportsRule")&&r.parentRule instanceof CSSSupportsRule||za("CSSConditionRule")&&r.parentRule instanceof CSSConditionRule){const o=Array.from(r.parentRule.cssRules).indexOf(r);s.unshift(o)}else if(r.parentStyleSheet){const o=Array.from(r.parentStyleSheet.cssRules).indexOf(r);s.unshift(o)}return s}return n(e,t)}function Mr(e,t,n){let r,s;return e?(e.ownerNode?r=t.getId(e.ownerNode):s=n.getId(e),{styleId:s,id:r}):{}}function XB({styleSheetRuleCb:e,mirror:t,stylesheetManager:n},{win:r}){if(!r.CSSStyleSheet||!r.CSSStyleSheet.prototype)return()=>{};const s=r.CSSStyleSheet.prototype.insertRule;r.CSSStyleSheet.prototype.insertRule=new Proxy(s,{apply:Pe((d,u,f)=>{const[h,p]=f,{id:m,styleId:v}=Mr(u,t,n.styleMirror);return(m&&m!==-1||v&&v!==-1)&&e({id:m,styleId:v,adds:[{rule:h,index:p}]}),d.apply(u,f)})});const i=r.CSSStyleSheet.prototype.deleteRule;r.CSSStyleSheet.prototype.deleteRule=new Proxy(i,{apply:Pe((d,u,f)=>{const[h]=f,{id:p,styleId:m}=Mr(u,t,n.styleMirror);return(p&&p!==-1||m&&m!==-1)&&e({id:p,styleId:m,removes:[{index:h}]}),d.apply(u,f)})});let o;r.CSSStyleSheet.prototype.replace&&(o=r.CSSStyleSheet.prototype.replace,r.CSSStyleSheet.prototype.replace=new Proxy(o,{apply:Pe((d,u,f)=>{const[h]=f,{id:p,styleId:m}=Mr(u,t,n.styleMirror);return(p&&p!==-1||m&&m!==-1)&&e({id:p,styleId:m,replace:h}),d.apply(u,f)})}));let a;r.CSSStyleSheet.prototype.replaceSync&&(a=r.CSSStyleSheet.prototype.replaceSync,r.CSSStyleSheet.prototype.replaceSync=new Proxy(a,{apply:Pe((d,u,f)=>{const[h]=f,{id:p,styleId:m}=Mr(u,t,n.styleMirror);return(p&&p!==-1||m&&m!==-1)&&e({id:p,styleId:m,replaceSync:h}),d.apply(u,f)})}));const c={};qa("CSSGroupingRule")?c.CSSGroupingRule=r.CSSGroupingRule:(qa("CSSMediaRule")&&(c.CSSMediaRule=r.CSSMediaRule),qa("CSSConditionRule")&&(c.CSSConditionRule=r.CSSConditionRule),qa("CSSSupportsRule")&&(c.CSSSupportsRule=r.CSSSupportsRule));const l={};return Object.entries(c).forEach(([d,u])=>{l[d]={insertRule:u.prototype.insertRule,deleteRule:u.prototype.deleteRule},u.prototype.insertRule=new Proxy(l[d].insertRule,{apply:Pe((f,h,p)=>{const[m,v]=p,{id:g,styleId:y}=Mr(h.parentStyleSheet,t,n.styleMirror);return(g&&g!==-1||y&&y!==-1)&&e({id:g,styleId:y,adds:[{rule:m,index:[...tl(h),v||0]}]}),f.apply(h,p)})}),u.prototype.deleteRule=new Proxy(l[d].deleteRule,{apply:Pe((f,h,p)=>{const[m]=p,{id:v,styleId:g}=Mr(h.parentStyleSheet,t,n.styleMirror);return(v&&v!==-1||g&&g!==-1)&&e({id:v,styleId:g,removes:[{index:[...tl(h),m]}]}),f.apply(h,p)})})}),Pe(()=>{r.CSSStyleSheet.prototype.insertRule=s,r.CSSStyleSheet.prototype.deleteRule=i,o&&(r.CSSStyleSheet.prototype.replace=o),a&&(r.CSSStyleSheet.prototype.replaceSync=a),Object.entries(c).forEach(([d,u])=>{u.prototype.insertRule=l[d].insertRule,u.prototype.deleteRule=l[d].deleteRule})})}function ew({mirror:e,stylesheetManager:t},n){var o,a,c;let r=null;n.nodeName==="#document"?r=e.getId(n):r=e.getId(n.host);const s=n.nodeName==="#document"?(o=n.defaultView)==null?void 0:o.Document:(c=(a=n.ownerDocument)==null?void 0:a.defaultView)==null?void 0:c.ShadowRoot,i=s!=null&&s.prototype?Object.getOwnPropertyDescriptor(s==null?void 0:s.prototype,"adoptedStyleSheets"):void 0;return r===null||r===-1||!s||!i?()=>{}:(Object.defineProperty(n,"adoptedStyleSheets",{configurable:i.configurable,enumerable:i.enumerable,get(){var l;return(l=i.get)==null?void 0:l.call(this)},set(l){var u;const d=(u=i.set)==null?void 0:u.call(this,l);if(r!==null&&r!==-1)try{t.adoptStyleSheets(l,r)}catch{}return d}}),Pe(()=>{Object.defineProperty(n,"adoptedStyleSheets",{configurable:i.configurable,enumerable:i.enumerable,get:i.get,set:i.set})}))}function JB({styleDeclarationCb:e,mirror:t,ignoreCSSAttributes:n,stylesheetManager:r},{win:s}){const i=s.CSSStyleDeclaration.prototype.setProperty;s.CSSStyleDeclaration.prototype.setProperty=new Proxy(i,{apply:Pe((a,c,l)=>{var m;const[d,u,f]=l;if(n.has(d))return i.apply(c,[d,u,f]);const{id:h,styleId:p}=Mr((m=c.parentRule)==null?void 0:m.parentStyleSheet,t,r.styleMirror);return(h&&h!==-1||p&&p!==-1)&&e({id:h,styleId:p,set:{property:d,value:u,priority:f},index:tl(c.parentRule)}),a.apply(c,l)})});const o=s.CSSStyleDeclaration.prototype.removeProperty;return s.CSSStyleDeclaration.prototype.removeProperty=new Proxy(o,{apply:Pe((a,c,l)=>{var h;const[d]=l;if(n.has(d))return o.apply(c,[d]);const{id:u,styleId:f}=Mr((h=c.parentRule)==null?void 0:h.parentStyleSheet,t,r.styleMirror);return(u&&u!==-1||f&&f!==-1)&&e({id:u,styleId:f,remove:{property:d},index:tl(c.parentRule)}),a.apply(c,l)})}),Pe(()=>{s.CSSStyleDeclaration.prototype.setProperty=i,s.CSSStyleDeclaration.prototype.removeProperty=o})}function ZB({mediaInteractionCb:e,blockClass:t,blockSelector:n,unblockSelector:r,mirror:s,sampling:i,doc:o}){const a=Pe(l=>Jo(Pe(d=>{const u=Ta(d);if(!u||Xt(u,t,n,r,!0))return;const{currentTime:f,volume:h,muted:p,playbackRate:m}=u;e({type:l,id:s.getId(u),currentTime:f,volume:h,muted:p,playbackRate:m})}),i.media||500)),c=[Ft("play",a(Js.Play),o),Ft("pause",a(Js.Pause),o),Ft("seeked",a(Js.Seeked),o),Ft("volumechange",a(Js.VolumeChange),o),Ft("ratechange",a(Js.RateChange),o)];return Pe(()=>{c.forEach(l=>l())})}function QB({fontCb:e,doc:t}){const n=t.defaultView;if(!n)return()=>{};const r=[],s=new WeakMap,i=n.FontFace;n.FontFace=function(c,l,d){const u=new i(c,l,d);return s.set(u,{family:c,buffer:typeof l!="string",descriptors:d,fontSource:typeof l=="string"?l:JSON.stringify(Array.from(new Uint8Array(l)))}),u};const o=Jh(t.fonts,"add",function(a){return function(c){return Hl(Pe(()=>{const l=s.get(c);l&&(e(l),s.delete(c))}),0),a.apply(this,[c])}});return r.push(()=>{n.FontFace=i}),r.push(o),Pe(()=>{r.forEach(a=>a())})}function e5(e){const{doc:t,mirror:n,blockClass:r,blockSelector:s,unblockSelector:i,selectionCb:o}=e;let a=!0;const c=Pe(()=>{const l=t.getSelection();if(!l||a&&(l!=null&&l.isCollapsed))return;a=l.isCollapsed||!1;const d=[],u=l.rangeCount||0;for(let f=0;f{}:Jh(n.customElements,"define",function(s){return function(i,o,a){try{t({define:{name:i}})}catch{}return s.apply(this,[i,o,a])}})}function n5(e,t={}){const n=e.doc.defaultView;if(!n)return()=>{};let r;e.recordDOM&&(r=ZE(e,e.doc));const s=zB(e),i=qB(e),o=QE(e),a=GB(e,{win:n}),c=YB(e),l=ZB(e);let d=()=>{},u=()=>{},f=()=>{},h=()=>{};e.recordDOM&&(d=XB(e,{win:n}),u=ew(e,e.doc),f=JB(e,{win:n}),e.collectFonts&&(h=QB(e)));const p=e5(e),m=t5(e),v=[];for(const g of e.plugins)v.push(g.observer(g.callback,n,g.options));return Pe(()=>{si.forEach(g=>g.reset()),r==null||r.disconnect(),s(),i(),o(),a(),c(),l(),d(),u(),f(),h(),p(),m(),v.forEach(g=>g())})}function za(e){return typeof window[e]<"u"}function qa(e){return!!(typeof window[e]<"u"&&window[e].prototype&&"insertRule"in window[e].prototype&&"deleteRule"in window[e].prototype)}class af{constructor(t){this.generateIdFn=t,this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap}getId(t,n,r,s){const i=r||this.getIdToRemoteIdMap(t),o=s||this.getRemoteIdToIdMap(t);let a=i.get(n);return a||(a=this.generateIdFn(),i.set(n,a),o.set(a,n)),a}getIds(t,n){const r=this.getIdToRemoteIdMap(t),s=this.getRemoteIdToIdMap(t);return n.map(i=>this.getId(t,i,r,s))}getRemoteId(t,n,r){const s=r||this.getRemoteIdToIdMap(t);if(typeof n!="number")return n;const i=s.get(n);return i||-1}getRemoteIds(t,n){const r=this.getRemoteIdToIdMap(t);return n.map(s=>this.getRemoteId(t,s,r))}reset(t){if(!t){this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap;return}this.iframeIdToRemoteIdMap.delete(t),this.iframeRemoteIdToIdMap.delete(t)}getIdToRemoteIdMap(t){let n=this.iframeIdToRemoteIdMap.get(t);return n||(n=new Map,this.iframeIdToRemoteIdMap.set(t,n)),n}getRemoteIdToIdMap(t){let n=this.iframeRemoteIdToIdMap.get(t);return n||(n=new Map,this.iframeRemoteIdToIdMap.set(t,n)),n}}class r5{constructor(){this.crossOriginIframeMirror=new af(Xh),this.crossOriginIframeRootIdMap=new WeakMap}addIframe(){}addLoadListener(){}attachIframe(){}}class s5{constructor(t){this.iframes=new WeakMap,this.crossOriginIframeMap=new WeakMap,this.crossOriginIframeMirror=new af(Xh),this.crossOriginIframeRootIdMap=new WeakMap,this.mutationCb=t.mutationCb,this.wrappedEmit=t.wrappedEmit,this.stylesheetManager=t.stylesheetManager,this.recordCrossOriginIframes=t.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new af(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)),this.mirror=t.mirror,this.recordCrossOriginIframes&&window.addEventListener("message",this.handleMessage.bind(this))}addIframe(t){this.iframes.set(t,!0),t.contentWindow&&this.crossOriginIframeMap.set(t.contentWindow,t)}addLoadListener(t){this.loadListener=t}attachIframe(t,n){var s,i;this.mutationCb({adds:[{parentId:this.mirror.getId(t),nextId:null,node:n}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),this.recordCrossOriginIframes&&((s=t.contentWindow)==null||s.addEventListener("message",this.handleMessage.bind(this))),(i=this.loadListener)==null||i.call(this,t);const r=Qh(t);r&&r.adoptedStyleSheets&&r.adoptedStyleSheets.length>0&&this.stylesheetManager.adoptStyleSheets(r.adoptedStyleSheets,this.mirror.getId(r))}handleMessage(t){const n=t;if(n.data.type!=="rrweb"||n.origin!==n.data.origin||!t.source)return;const s=this.crossOriginIframeMap.get(t.source);if(!s)return;const i=this.transformCrossOriginEvent(s,n.data.event);i&&this.wrappedEmit(i,n.data.isCheckout)}transformCrossOriginEvent(t,n){var r;switch(n.type){case Te.FullSnapshot:{this.crossOriginIframeMirror.reset(t),this.crossOriginIframeStyleMirror.reset(t),this.replaceIdOnNode(n.data.node,t);const s=n.data.node.id;return this.crossOriginIframeRootIdMap.set(t,s),this.patchRootIdOnNode(n.data.node,s),{timestamp:n.timestamp,type:Te.IncrementalSnapshot,data:{source:_e.Mutation,adds:[{parentId:this.mirror.getId(t),nextId:null,node:n.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}}}case Te.Meta:case Te.Load:case Te.DomContentLoaded:return!1;case Te.Plugin:return n;case Te.Custom:return this.replaceIds(n.data.payload,t,["id","parentId","previousId","nextId"]),n;case Te.IncrementalSnapshot:switch(n.data.source){case _e.Mutation:return n.data.adds.forEach(s=>{this.replaceIds(s,t,["parentId","nextId","previousId"]),this.replaceIdOnNode(s.node,t);const i=this.crossOriginIframeRootIdMap.get(t);i&&this.patchRootIdOnNode(s.node,i)}),n.data.removes.forEach(s=>{this.replaceIds(s,t,["parentId","id"])}),n.data.attributes.forEach(s=>{this.replaceIds(s,t,["id"])}),n.data.texts.forEach(s=>{this.replaceIds(s,t,["id"])}),n;case _e.Drag:case _e.TouchMove:case _e.MouseMove:return n.data.positions.forEach(s=>{this.replaceIds(s,t,["id"])}),n;case _e.ViewportResize:return!1;case _e.MediaInteraction:case _e.MouseInteraction:case _e.Scroll:case _e.CanvasMutation:case _e.Input:return this.replaceIds(n.data,t,["id"]),n;case _e.StyleSheetRule:case _e.StyleDeclaration:return this.replaceIds(n.data,t,["id"]),this.replaceStyleIds(n.data,t,["styleId"]),n;case _e.Font:return n;case _e.Selection:return n.data.ranges.forEach(s=>{this.replaceIds(s,t,["start","end"])}),n;case _e.AdoptedStyleSheet:return this.replaceIds(n.data,t,["id"]),this.replaceStyleIds(n.data,t,["styleIds"]),(r=n.data.styles)==null||r.forEach(s=>{this.replaceStyleIds(s,t,["styleId"])}),n}}return!1}replace(t,n,r,s){for(const i of s)!Array.isArray(n[i])&&typeof n[i]!="number"||(Array.isArray(n[i])?n[i]=t.getIds(r,n[i]):n[i]=t.getId(r,n[i]));return n}replaceIds(t,n,r){return this.replace(this.crossOriginIframeMirror,t,n,r)}replaceStyleIds(t,n,r){return this.replace(this.crossOriginIframeStyleMirror,t,n,r)}replaceIdOnNode(t,n){this.replaceIds(t,n,["id","rootId"]),"childNodes"in t&&t.childNodes.forEach(r=>{this.replaceIdOnNode(r,n)})}patchRootIdOnNode(t,n){t.type!==ut.Document&&!t.rootId&&(t.rootId=n),"childNodes"in t&&t.childNodes.forEach(r=>{this.patchRootIdOnNode(r,n)})}}class i5{init(){}addShadowRoot(){}observeAttachShadow(){}reset(){}}class o5{constructor(t){this.shadowDoms=new WeakSet,this.restoreHandlers=[],this.mutationCb=t.mutationCb,this.scrollCb=t.scrollCb,this.bypassOptions=t.bypassOptions,this.mirror=t.mirror,this.init()}init(){this.reset(),this.patchAttachShadow(Element,document)}addShadowRoot(t,n){if(!To(t)||this.shadowDoms.has(t))return;this.shadowDoms.add(t),this.bypassOptions.canvasManager.addShadowRoot(t);const r=ZE({...this.bypassOptions,doc:n,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this},t);this.restoreHandlers.push(()=>r.disconnect()),this.restoreHandlers.push(QE({...this.bypassOptions,scrollCb:this.scrollCb,doc:t,mirror:this.mirror})),Hl(()=>{t.adoptedStyleSheets&&t.adoptedStyleSheets.length>0&&this.bypassOptions.stylesheetManager.adoptStyleSheets(t.adoptedStyleSheets,this.mirror.getId(t.host)),this.restoreHandlers.push(ew({mirror:this.mirror,stylesheetManager:this.bypassOptions.stylesheetManager},t))},0)}observeAttachShadow(t){const n=Qh(t),r=BB(t);!n||!r||this.patchAttachShadow(r.Element,n)}patchAttachShadow(t,n){const r=this;this.restoreHandlers.push(Jh(t.prototype,"attachShadow",function(s){return function(i){const o=s.call(this,i);return this.shadowRoot&&XE(this)&&r.addShadowRoot(this.shadowRoot,n),o}}))}reset(){this.restoreHandlers.forEach(t=>{try{t()}catch{}}),this.restoreHandlers=[],this.shadowDoms=new WeakSet,this.bypassOptions.canvasManager.resetShadowRoots()}}var Zv="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a5=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(var Ga=0;Ga({rule:OE(a),index:c}))})),r.styleIds.push(o)}s.length>0&&(r.styles=s),this.adoptedStyleSheetCb(r)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(t){}}class l5{constructor(){this.nodeMap=new WeakMap,this.active=!1}inOtherBuffer(t,n){const r=this.nodeMap.get(t);return r&&Array.from(r).some(s=>s!==n)}add(t,n){this.active||(this.active=!0,FB(()=>{this.nodeMap=new WeakMap,this.active=!1})),this.nodeMap.set(t,(this.nodeMap.get(t)||new Set).add(n))}destroy(){}}let it,nl;var Sy;try{if(Array.from([1],e=>e*2)[0]!==2){const e=document.createElement("iframe");document.body.appendChild(e),Array.from=((Sy=e.contentWindow)==null?void 0:Sy.Array.from)||Array.from,document.body.removeChild(e)}}catch(e){console.debug("Unable to override Array.from",e)}const gn=aB();function sr(e={}){const{emit:t,checkoutEveryNms:n,checkoutEveryNth:r,blockClass:s="rr-block",blockSelector:i=null,unblockSelector:o=null,ignoreClass:a="rr-ignore",ignoreSelector:c=null,maskAllText:l=!1,maskTextClass:d="rr-mask",unmaskTextClass:u=null,maskTextSelector:f=null,unmaskTextSelector:h=null,inlineStylesheet:p=!0,maskAllInputs:m,maskInputOptions:v,slimDOMOptions:g,maskAttributeFn:y,maskInputFn:C,maskTextFn:w,maxCanvasSize:I=null,packFn:x,sampling:S={},dataURLOptions:b={},mousemoveWait:k,recordDOM:R=!0,recordCanvas:M=!1,recordCrossOriginIframes:T=!1,recordAfter:O=e.recordAfter==="DOMContentLoaded"?e.recordAfter:"load",userTriggeredOnInput:$=!1,collectFonts:K=!1,inlineImages:Z=!1,plugins:z,keepIframeSrcFn:N=()=>!1,ignoreCSSAttributes:oe=new Set([]),errorHandler:U,onMutation:J,getCanvasManager:re}=e;WB(U);const ie=T?window.parent===window:!0;let Ee=!1;if(!ie)try{window.parent.document&&(Ee=!1)}catch{Ee=!0}if(ie&&!t)throw new Error("emit function is required");if(!ie&&!Ee)return()=>{};k!==void 0&&S.mousemove===void 0&&(S.mousemove=k),gn.reset();const Me=m===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,radio:!0,checkbox:!0}:v!==void 0?v:{},De=g===!0||g==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:g==="all",headMetaDescKeywords:g==="all"}:g||{};OB();let P,W=0;const X=B=>{for(const V of z||[])V.eventProcessor&&(B=V.eventProcessor(B));return x&&!Ee&&(B=x(B)),B};it=(B,V)=>{var ne;const Q=B;if(Q.timestamp=el(),(ne=si[0])!=null&&ne.isFrozen()&&Q.type!==Te.FullSnapshot&&!(Q.type===Te.IncrementalSnapshot&&Q.data.source===_e.Mutation)&&si.forEach(ce=>ce.unfreeze()),ie)t==null||t(X(Q),V);else if(Ee){const ce={type:"rrweb",event:X(Q),origin:window.location.origin,isCheckout:V};window.parent.postMessage(ce,"*")}if(Q.type===Te.FullSnapshot)P=Q,W=0;else if(Q.type===Te.IncrementalSnapshot){if(Q.data.source===_e.Mutation&&Q.data.isAttachIframe)return;W++;const ce=r&&W>=r,se=n&&P&&Q.timestamp-P.timestamp>n;(ce||se)&&Y(!0)}};const G=B=>{it({type:Te.IncrementalSnapshot,data:{source:_e.Mutation,...B}})},de=B=>it({type:Te.IncrementalSnapshot,data:{source:_e.Scroll,...B}}),_=B=>it({type:Te.IncrementalSnapshot,data:{source:_e.CanvasMutation,...B}}),E=B=>it({type:Te.IncrementalSnapshot,data:{source:_e.AdoptedStyleSheet,...B}}),A=new c5({mutationCb:G,adoptedStyleSheetCb:E}),L=typeof __RRWEB_EXCLUDE_IFRAME__=="boolean"&&__RRWEB_EXCLUDE_IFRAME__?new r5:new s5({mirror:gn,mutationCb:G,stylesheetManager:A,recordCrossOriginIframes:T,wrappedEmit:it});for(const B of z||[])B.getMirror&&B.getMirror({nodeMirror:gn,crossOriginIframeMirror:L.crossOriginIframeMirror,crossOriginIframeStyleMirror:L.crossOriginIframeStyleMirror});const D=new l5,F=d5(re,{mirror:gn,win:window,mutationCb:B=>it({type:Te.IncrementalSnapshot,data:{source:_e.CanvasMutation,...B}}),recordCanvas:M,blockClass:s,blockSelector:i,unblockSelector:o,maxCanvasSize:I,sampling:S.canvas,dataURLOptions:b,errorHandler:U}),q=typeof __RRWEB_EXCLUDE_SHADOW_DOM__=="boolean"&&__RRWEB_EXCLUDE_SHADOW_DOM__?new i5:new o5({mutationCb:G,scrollCb:de,bypassOptions:{onMutation:J,blockClass:s,blockSelector:i,unblockSelector:o,maskAllText:l,maskTextClass:d,unmaskTextClass:u,maskTextSelector:f,unmaskTextSelector:h,inlineStylesheet:p,maskInputOptions:Me,dataURLOptions:b,maskAttributeFn:y,maskTextFn:w,maskInputFn:C,recordCanvas:M,inlineImages:Z,sampling:S,slimDOMOptions:De,iframeManager:L,stylesheetManager:A,canvasManager:F,keepIframeSrcFn:N,processedNodeManager:D,ignoreCSSAttributes:oe},mirror:gn}),Y=(B=!1)=>{if(!R)return;it({type:Te.Meta,data:{href:window.location.href,width:jE(),height:WE()}},B),A.reset(),q.init(),si.forEach(Q=>Q.lock());const V=MB(document,{mirror:gn,blockClass:s,blockSelector:i,unblockSelector:o,maskAllText:l,maskTextClass:d,unmaskTextClass:u,maskTextSelector:f,unmaskTextSelector:h,inlineStylesheet:p,maskAllInputs:Me,maskAttributeFn:y,maskInputFn:C,maskTextFn:w,slimDOM:De,dataURLOptions:b,recordCanvas:M,inlineImages:Z,onSerialize:Q=>{GE(Q,gn)&&L.addIframe(Q),KE(Q,gn)&&A.trackLinkElement(Q),sf(Q)&&q.addShadowRoot(Q.shadowRoot,document)},onIframeLoad:(Q,ne)=>{L.attachIframe(Q,ne),Q.contentWindow&&F.addWindow(Q.contentWindow),q.observeAttachShadow(Q)},onStylesheetLoad:(Q,ne)=>{A.attachLinkElement(Q,ne)},onBlockedImageLoad:(Q,ne,{width:ce,height:se})=>{G({adds:[],removes:[],texts:[],attributes:[{id:ne.id,attributes:{style:{width:`${ce}px`,height:`${se}px`}}}]})},keepIframeSrcFn:N,ignoreCSSAttributes:oe});if(!V)return console.warn("Failed to snapshot the document");it({type:Te.FullSnapshot,data:{node:V,initialOffset:UE(window)}}),si.forEach(Q=>Q.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&A.adoptStyleSheets(document.adoptedStyleSheets,gn.getId(document))};nl=Y;try{const B=[],V=ne=>{var ce;return Pe(n5)({onMutation:J,mutationCb:G,mousemoveCb:(se,Ie)=>it({type:Te.IncrementalSnapshot,data:{source:Ie,positions:se}}),mouseInteractionCb:se=>it({type:Te.IncrementalSnapshot,data:{source:_e.MouseInteraction,...se}}),scrollCb:de,viewportResizeCb:se=>it({type:Te.IncrementalSnapshot,data:{source:_e.ViewportResize,...se}}),inputCb:se=>it({type:Te.IncrementalSnapshot,data:{source:_e.Input,...se}}),mediaInteractionCb:se=>it({type:Te.IncrementalSnapshot,data:{source:_e.MediaInteraction,...se}}),styleSheetRuleCb:se=>it({type:Te.IncrementalSnapshot,data:{source:_e.StyleSheetRule,...se}}),styleDeclarationCb:se=>it({type:Te.IncrementalSnapshot,data:{source:_e.StyleDeclaration,...se}}),canvasMutationCb:_,fontCb:se=>it({type:Te.IncrementalSnapshot,data:{source:_e.Font,...se}}),selectionCb:se=>{it({type:Te.IncrementalSnapshot,data:{source:_e.Selection,...se}})},customElementCb:se=>{it({type:Te.IncrementalSnapshot,data:{source:_e.CustomElement,...se}})},blockClass:s,ignoreClass:a,ignoreSelector:c,maskAllText:l,maskTextClass:d,unmaskTextClass:u,maskTextSelector:f,unmaskTextSelector:h,maskInputOptions:Me,inlineStylesheet:p,sampling:S,recordDOM:R,recordCanvas:M,inlineImages:Z,userTriggeredOnInput:$,collectFonts:K,doc:ne,maskAttributeFn:y,maskInputFn:C,maskTextFn:w,keepIframeSrcFn:N,blockSelector:i,unblockSelector:o,slimDOMOptions:De,dataURLOptions:b,mirror:gn,iframeManager:L,stylesheetManager:A,shadowDomManager:q,processedNodeManager:D,canvasManager:F,ignoreCSSAttributes:oe,plugins:((ce=z==null?void 0:z.filter(se=>se.observer))==null?void 0:ce.map(se=>({observer:se.observer,options:se.options,callback:Ie=>it({type:Te.Plugin,data:{plugin:se.name,payload:Ie}})})))||[]},{})};L.addLoadListener(ne=>{try{B.push(V(ne.contentDocument))}catch(ce){console.warn(ce)}});const Q=()=>{Y(),B.push(V(document))};return document.readyState==="interactive"||document.readyState==="complete"?Q():(B.push(Ft("DOMContentLoaded",()=>{it({type:Te.DomContentLoaded,data:{}}),O==="DOMContentLoaded"&&Q()})),B.push(Ft("load",()=>{it({type:Te.Load,data:{}}),O==="load"&&Q()},window))),()=>{B.forEach(ne=>ne()),D.destroy(),nl=void 0,jB()}}catch(B){console.warn(B)}}function u5(e){if(!nl)throw new Error("please take full snapshot after start recording");nl(e)}sr.mirror=gn;sr.takeFullSnapshot=u5;function d5(e,t){try{return e?e(t):new Qv}catch{return console.warn("Unable to initialize CanvasManager"),new Qv}}var ey;(function(e){e[e.NotStarted=0]="NotStarted",e[e.Running=1]="Running",e[e.Stopped=2]="Stopped"})(ey||(ey={}));const f5=3,h5=5;function ep(e){return e>9999999999?e:e*1e3}function Vu(e){return e>9999999999?e/1e3:e}function ka(e,t){t.category!=="sentry.transaction"&&(["ui.click","ui.input"].includes(t.category)?e.triggerUserActivity():e.checkAndHandleExpiredSession(),e.addUpdate(()=>(e.throttledAddEvent({type:Te.Custom,timestamp:(t.timestamp||0)*1e3,data:{tag:"breadcrumb",payload:vn(t,10,1e3)}}),t.category==="console")))}const p5="button,a";function tw(e){return e.closest(p5)||e}function nw(e){const t=rw(e);return!t||!(t instanceof Element)?t:tw(t)}function rw(e){return m5(e)?e.target:e}function m5(e){return typeof e=="object"&&!!e&&"target"in e}let Pr;function g5(e){return Pr||(Pr=[],v5()),Pr.push(e),()=>{const t=Pr?Pr.indexOf(e):-1;t>-1&&Pr.splice(t,1)}}function v5(){Wt(Ye,"open",function(e){return function(...t){if(Pr)try{Pr.forEach(n=>n())}catch{}return e.apply(Ye,t)}})}const y5=new Set([_e.Mutation,_e.StyleSheetRule,_e.StyleDeclaration,_e.AdoptedStyleSheet,_e.CanvasMutation,_e.Selection,_e.MediaInteraction]);function _5(e,t,n){e.handleClick(t,n)}class b5{constructor(t,n,r=ka){this._lastMutation=0,this._lastScroll=0,this._clicks=[],this._timeout=n.timeout/1e3,this._threshold=n.threshold/1e3,this._scrollTimeout=n.scrollTimeout/1e3,this._replay=t,this._ignoreSelector=n.ignoreSelector,this._addBreadcrumbEvent=r}addListeners(){const t=g5(()=>{this._lastMutation=ty()});this._teardown=()=>{t(),this._clicks=[],this._lastMutation=0,this._lastScroll=0}}removeListeners(){this._teardown&&this._teardown(),this._checkClickTimeout&&clearTimeout(this._checkClickTimeout)}handleClick(t,n){if(E5(n,this._ignoreSelector)||!w5(t))return;const r={timestamp:Vu(t.timestamp),clickBreadcrumb:t,clickCount:0,node:n};this._clicks.some(s=>s.node===r.node&&Math.abs(s.timestamp-r.timestamp)<1)||(this._clicks.push(r),this._clicks.length===1&&this._scheduleCheckClicks())}registerMutation(t=Date.now()){this._lastMutation=Vu(t)}registerScroll(t=Date.now()){this._lastScroll=Vu(t)}registerClick(t){const n=tw(t);this._handleMultiClick(n)}_handleMultiClick(t){this._getClicks(t).forEach(n=>{n.clickCount++})}_getClicks(t){return this._clicks.filter(n=>n.node===t)}_checkClicks(){const t=[],n=ty();this._clicks.forEach(r=>{!r.mutationAfter&&this._lastMutation&&(r.mutationAfter=r.timestamp<=this._lastMutation?this._lastMutation-r.timestamp:void 0),!r.scrollAfter&&this._lastScroll&&(r.scrollAfter=r.timestamp<=this._lastScroll?this._lastScroll-r.timestamp:void 0),r.timestamp+this._timeout<=n&&t.push(r)});for(const r of t){const s=this._clicks.indexOf(r);s>-1&&(this._generateBreadcrumbs(r),this._clicks.splice(s,1))}this._clicks.length&&this._scheduleCheckClicks()}_generateBreadcrumbs(t){const n=this._replay,r=t.scrollAfter&&t.scrollAfter<=this._scrollTimeout,s=t.mutationAfter&&t.mutationAfter<=this._threshold,i=!r&&!s,{clickCount:o,clickBreadcrumb:a}=t;if(i){const c=Math.min(t.mutationAfter||this._timeout,this._timeout)*1e3,l=c1){const c={type:"default",message:a.message,timestamp:a.timestamp,category:"ui.multiClick",data:{...a.data,url:Ye.location.href,route:n.getCurrentRoute(),clickCount:o,metric:!0}};this._addBreadcrumbEvent(n,c)}}_scheduleCheckClicks(){this._checkClickTimeout&&clearTimeout(this._checkClickTimeout),this._checkClickTimeout=Ca(()=>this._checkClicks(),1e3)}}const S5=["A","BUTTON","INPUT"];function E5(e,t){return!!(!S5.includes(e.tagName)||e.tagName==="INPUT"&&!["submit","button"].includes(e.getAttribute("type")||"")||e.tagName==="A"&&(e.hasAttribute("download")||e.hasAttribute("target")&&e.getAttribute("target")!=="_self")||t&&e.matches(t))}function w5(e){return!!(e.data&&typeof e.data.nodeId=="number"&&e.timestamp)}function ty(){return Date.now()/1e3}function C5(e,t){try{if(!T5(t))return;const{source:n}=t.data;if(y5.has(n)&&e.registerMutation(t.timestamp),n===_e.Scroll&&e.registerScroll(t.timestamp),k5(t)){const{type:r,id:s}=t.data,i=sr.mirror.getNode(s);i instanceof HTMLElement&&r===Lt.Click&&e.registerClick(i)}}catch{}}function T5(e){return e.type===f5}function k5(e){return e.data.source===_e.MouseInteraction}function Hn(e){return{timestamp:Date.now()/1e3,type:"default",...e}}var tp=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(tp||{});const I5=new Set(["id","class","aria-label","role","name","alt","title","data-test-id","data-testid","disabled","aria-disabled","data-sentry-component"]);function x5(e){const t={};!e["data-sentry-component"]&&e["data-sentry-element"]&&(e["data-sentry-component"]=e["data-sentry-element"]);for(const n in e)if(I5.has(n)){let r=n;(n==="data-testid"||n==="data-test-id")&&(r="testId"),t[r]=e[n]}return t}const R5=e=>t=>{if(!e.isEnabled())return;const n=A5(t);if(!n)return;const r=t.name==="click",s=r?t.event:void 0;r&&e.clickDetector&&(s!=null&&s.target)&&!s.altKey&&!s.metaKey&&!s.ctrlKey&&!s.shiftKey&&_5(e.clickDetector,n,nw(t.event)),ka(e,n)};function sw(e,t){const n=sr.mirror.getId(e),r=n&&sr.mirror.getNode(n),s=r&&sr.mirror.getMeta(r),i=s&&P5(s)?s:null;return{message:t,data:i?{nodeId:n,node:{id:n,tagName:i.tagName,textContent:Array.from(i.childNodes).map(o=>o.type===tp.Text&&o.textContent).filter(Boolean).map(o=>o.trim()).join(""),attributes:x5(i.attributes)}}:{}}}function A5(e){const{target:t,message:n}=M5(e);return Hn({category:`ui.${e.name}`,...sw(t,n)})}function M5(e){const t=e.name==="click";let n,r=null;try{r=t?nw(e.event):rw(e.event),n=qt(r,{maxStringLength:200})||""}catch{n=""}return{target:r,message:n}}function P5(e){return e.type===tp.Element}function O5(e,t){if(!e.isEnabled())return;e.updateUserActivity();const n=L5(t);n&&ka(e,n)}function L5(e){const{metaKey:t,shiftKey:n,ctrlKey:r,altKey:s,key:i,target:o}=e;if(!o||N5(o)||!i)return null;const a=t||r||s,c=i.length===1;if(!a&&c)return null;const l=qt(o,{maxStringLength:200})||"",d=sw(o,l);return Hn({category:"ui.keyDown",message:l,data:{...d.data,metaKey:t,shiftKey:n,ctrlKey:r,altKey:s,key:i}})}function N5(e){return e.tagName==="INPUT"||e.tagName==="TEXTAREA"||e.isContentEditable}const D5={resource:V5,paint:B5,navigation:H5};function Uu(e,t){return({metric:n})=>void t.replayPerformanceEntries.push(e(n))}function F5(e){return e.map($5).filter(Boolean)}function $5(e){const t=D5[e.entryType];return t?t(e):null}function Pi(e){return((Kt()||Ye.performance.timeOrigin)+e)/1e3}function B5(e){const{duration:t,entryType:n,name:r,startTime:s}=e,i=Pi(s);return{type:n,name:r,start:i,end:i+t,data:void 0}}function H5(e){const{entryType:t,name:n,decodedBodySize:r,duration:s,domComplete:i,encodedBodySize:o,domContentLoadedEventStart:a,domContentLoadedEventEnd:c,domInteractive:l,loadEventStart:d,loadEventEnd:u,redirectCount:f,startTime:h,transferSize:p,type:m}=e;return s===0?null:{type:`${t}.${m}`,start:Pi(h),end:Pi(i),name:n,data:{size:p,decodedBodySize:r,encodedBodySize:o,duration:s,domInteractive:l,domContentLoadedEventStart:a,domContentLoadedEventEnd:c,loadEventStart:d,loadEventEnd:u,domComplete:i,redirectCount:f}}}function V5(e){const{entryType:t,initiatorType:n,name:r,responseEnd:s,startTime:i,decodedBodySize:o,encodedBodySize:a,responseStatus:c,transferSize:l}=e;return["fetch","xmlhttprequest"].includes(n)?null:{type:`${t}.${n}`,start:Pi(i),end:Pi(s),name:r,data:{size:l,statusCode:c,decodedBodySize:o,encodedBodySize:a}}}function U5(e){const t=e.entries[e.entries.length-1],n=t!=null&&t.element?[t.element]:void 0;return np(e,"largest-contentful-paint",n)}function W5(e){return e.sources!==void 0}function j5(e){const t=[],n=[];for(const r of e.entries)if(W5(r)){const s=[];for(const i of r.sources)if(i.node){n.push(i.node);const o=sr.mirror.getId(i.node);o&&s.push(o)}t.push({value:r.value,nodeIds:s.length?s:void 0})}return np(e,"cumulative-layout-shift",n,t)}function z5(e){const t=e.entries[e.entries.length-1],n=t!=null&&t.target?[t.target]:void 0;return np(e,"interaction-to-next-paint",n)}function np(e,t,n,r){const s=e.value,i=e.rating,o=Pi(s);return{type:"web-vital",name:t,start:o,end:o,data:{value:s,size:s,rating:i,nodeIds:n?n.map(a=>sr.mirror.getId(a)):void 0,attributions:r}}}function q5(e){function t(s){e.performanceEntries.includes(s)||e.performanceEntries.push(s)}function n({entries:s}){s.forEach(t)}const r=[];return["navigation","paint","resource"].forEach(s=>{r.push(Rs(s,n))}),r.push(jh(Uu(U5,e)),Wh(Uu(j5,e)),vE(Uu(z5,e))),()=>{r.forEach(s=>s())}}const pe=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,G5='var t=Uint8Array,n=Uint16Array,r=Int32Array,e=new t([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),i=new t([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),s=new t([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),a=function(t,e){for(var i=new n(31),s=0;s<31;++s)i[s]=e+=1<>1|(21845&c)<<1;v=(61680&(v=(52428&v)>>2|(13107&v)<<2))>>4|(3855&v)<<4,u[c]=((65280&v)>>8|(255&v)<<8)>>1}var d=function(t,r,e){for(var i=t.length,s=0,a=new n(r);s>f]=l}else for(o=new n(i),s=0;s>15-t[s]);return o},p=new t(288);for(c=0;c<144;++c)p[c]=8;for(c=144;c<256;++c)p[c]=9;for(c=256;c<280;++c)p[c]=7;for(c=280;c<288;++c)p[c]=8;var g=new t(32);for(c=0;c<32;++c)g[c]=5;var w=d(p,9,0),y=d(g,5,0),m=function(t){return(t+7)/8|0},b=function(n,r,e){return(null==e||e>n.length)&&(e=n.length),new t(n.subarray(r,e))},M=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],E=function(t,n,r){var e=new Error(n||M[t]);if(e.code=t,Error.captureStackTrace&&Error.captureStackTrace(e,E),!r)throw e;return e},z=function(t,n,r){r<<=7&n;var e=n/8|0;t[e]|=r,t[e+1]|=r>>8},_=function(t,n,r){r<<=7&n;var e=n/8|0;t[e]|=r,t[e+1]|=r>>8,t[e+2]|=r>>16},x=function(r,e){for(var i=[],s=0;sd&&(d=o[s].s);var p=new n(d+1),g=A(i[c-1],p,0);if(g>e){s=0;var w=0,y=g-e,m=1<e))break;w+=m-(1<>=y;w>0;){var M=o[s].s;p[M]=0&&w;--s){var E=o[s].s;p[E]==e&&(--p[E],++w)}g=e}return{t:new t(p),l:g}},A=function(t,n,r){return-1==t.s?Math.max(A(t.l,n,r+1),A(t.r,n,r+1)):n[t.s]=r},D=function(t){for(var r=t.length;r&&!t[--r];);for(var e=new n(++r),i=0,s=t[0],a=1,o=function(t){e[i++]=t},h=1;h<=r;++h)if(t[h]==s&&h!=r)++a;else{if(!s&&a>2){for(;a>138;a-=138)o(32754);a>2&&(o(a>10?a-11<<5|28690:a-3<<5|12305),a=0)}else if(a>3){for(o(s),--a;a>6;a-=6)o(8304);a>2&&(o(a-3<<5|8208),a=0)}for(;a--;)o(s);a=1,s=t[h]}return{c:e.subarray(0,i),n:r}},T=function(t,n){for(var r=0,e=0;e>8,t[i+2]=255^t[i],t[i+3]=255^t[i+1];for(var s=0;s4&&!H[s[K-1]];--K);var N,P,Q,R,V=v+5<<3,W=T(h,p)+T(f,g)+l,X=T(h,M)+T(f,U)+l+14+3*K+T(q,H)+2*q[16]+3*q[17]+7*q[18];if(c>=0&&V<=W&&V<=X)return k(r,m,t.subarray(c,c+v));if(z(r,m,1+(X15&&(z(r,m,tt[B]>>5&127),m+=tt[B]>>12)}}}else N=w,P=p,Q=y,R=g;for(B=0;B255){_(r,m,N[(nt=rt>>18&31)+257]),m+=P[nt+257],nt>7&&(z(r,m,rt>>23&31),m+=e[nt]);var et=31&rt;_(r,m,Q[et]),m+=R[et],et>3&&(_(r,m,rt>>5&8191),m+=i[et])}else _(r,m,N[rt]),m+=P[rt]}return _(r,m,N[256]),m+P[256]},C=new r([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),F=new t(0),I=function(){for(var t=new Int32Array(256),n=0;n<256;++n){for(var r=n,e=9;--e;)r=(1&r&&-306674912)^r>>>1;t[n]=r}return t}(),S=function(){var t=1,n=0;return{p:function(r){for(var e=t,i=n,s=0|r.length,a=0;a!=s;){for(var o=Math.min(a+2655,s);a>16),i=(65535&i)+15*(i>>16)}t=e,n=i},d:function(){return(255&(t%=65521))<<24|(65280&t)<<8|(255&(n%=65521))<<8|n>>8}}},L=function(s,a,o,h,u){if(!u&&(u={l:1},a.dictionary)){var c=a.dictionary.subarray(-32768),v=new t(c.length+s.length);v.set(c),v.set(s,c.length),s=v,u.w=c.length}return function(s,a,o,h,u,c){var v=c.z||s.length,d=new t(h+v+5*(1+Math.ceil(v/7e3))+u),p=d.subarray(h,d.length-u),g=c.l,w=7&(c.r||0);if(a){w&&(p[0]=c.r>>3);for(var y=C[a-1],M=y>>13,E=8191&y,z=(1<7e3||q>24576)&&(N>423||!g)){w=U(s,p,0,F,I,S,O,q,G,j-G,w),q=L=O=0,G=j;for(var P=0;P<286;++P)I[P]=0;for(P=0;P<30;++P)S[P]=0}var Q=2,R=0,V=E,W=J-K&32767;if(N>2&&H==T(j-W))for(var X=Math.min(M,N)-1,Y=Math.min(32767,j),Z=Math.min(258,N);W<=Y&&--V&&J!=K;){if(s[j+Q]==s[j+Q-W]){for(var $=0;$Q){if(Q=$,R=W,$>X)break;var tt=Math.min(W,$-2),nt=0;for(P=0;Pnt&&(nt=et,K=rt)}}}W+=(J=K)-(K=_[J])&32767}if(R){F[q++]=268435456|f[Q]<<18|l[R];var it=31&f[Q],st=31&l[R];O+=e[it]+i[st],++I[257+it],++S[st],B=j+Q,++L}else F[q++]=s[j],++I[s[j]]}}for(j=Math.max(j,B);j=v&&(p[w/8|0]=g,at=v),w=k(p,w+1,s.subarray(j,at))}c.i=v}return b(d,0,h+m(w)+u)}(s,null==a.level?6:a.level,null==a.mem?u.l?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(s.length)))):20:12+a.mem,o,h,u)},O=function(t,n,r){for(;r;++n)t[n]=r,r>>>=8},j=function(){function n(n,r){if("function"==typeof n&&(r=n,n={}),this.ondata=r,this.o=n||{},this.s={l:0,i:32768,w:32768,z:32768},this.b=new t(98304),this.o.dictionary){var e=this.o.dictionary.subarray(-32768);this.b.set(e,32768-e.length),this.s.i=32768-e.length}}return n.prototype.p=function(t,n){this.ondata(L(t,this.o,0,0,this.s),n)},n.prototype.push=function(n,r){this.ondata||E(5),this.s.l&&E(4);var e=n.length+this.s.z;if(e>this.b.length){if(e>2*this.b.length-32768){var i=new t(-32768&e);i.set(this.b.subarray(0,this.s.z)),this.b=i}var s=this.b.length-this.s.z;this.b.set(n.subarray(0,s),this.s.z),this.s.z=this.b.length,this.p(this.b,!1),this.b.set(this.b.subarray(-32768)),this.b.set(n.subarray(s),32768),this.s.z=n.length-s+32768,this.s.i=32766,this.s.w=32768}else this.b.set(n,this.s.z),this.s.z+=n.length;this.s.l=1&r,(this.s.z>this.s.w+8191||r)&&(this.p(this.b,r||!1),this.s.w=this.s.i,this.s.i-=2)},n.prototype.flush=function(){this.ondata||E(5),this.s.l&&E(4),this.p(this.b,!1),this.s.w=this.s.i,this.s.i-=2},n}();function q(t,n){n||(n={});var r=function(){var t=-1;return{p:function(n){for(var r=t,e=0;e>>8;t=r},d:function(){return~t}}}(),e=t.length;r.p(t);var i,s=L(t,n,10+((i=n).filename?i.filename.length+1:0),8),a=s.length;return function(t,n){var r=n.filename;if(t[0]=31,t[1]=139,t[2]=8,t[8]=n.level<2?4:9==n.level?2:0,t[9]=3,0!=n.mtime&&O(t,4,Math.floor(new Date(n.mtime||Date.now())/1e3)),r){t[3]=8;for(var e=0;e<=r.length;++e)t[e+10]=r.charCodeAt(e)}}(s,n),O(s,a-8,r.d()),O(s,a-4,e),s}var B=function(){function t(t,n){this.c=S(),this.v=1,j.call(this,t,n)}return t.prototype.push=function(t,n){this.c.p(t),j.prototype.push.call(this,t,n)},t.prototype.p=function(t,n){var r=L(t,this.o,this.v&&(this.o.dictionary?6:2),n&&4,this.s);this.v&&(function(t,n){var r=n.level,e=0==r?0:r<6?1:9==r?3:2;if(t[0]=120,t[1]=e<<6|(n.dictionary&&32),t[1]|=31-(t[0]<<8|t[1])%31,n.dictionary){var i=S();i.p(n.dictionary),O(t,2,i.d())}}(r,this.o),this.v=0),n&&O(r,r.length-4,this.c.d()),this.ondata(r,n)},t.prototype.flush=function(){j.prototype.flush.call(this)},t}(),G="undefined"!=typeof TextEncoder&&new TextEncoder,H="undefined"!=typeof TextDecoder&&new TextDecoder;try{H.decode(F,{stream:!0})}catch(t){}var J=function(){function t(t){this.ondata=t}return t.prototype.push=function(t,n){this.ondata||E(5),this.d&&E(4),this.ondata(K(t),this.d=n||!1)},t}();function K(n,r){if(G)return G.encode(n);for(var e=n.length,i=new t(n.length+(n.length>>1)),s=0,a=function(t){i[s++]=t},o=0;oi.length){var h=new t(s+8+(e-o<<1));h.set(i),i=h}var f=n.charCodeAt(o);f<128||r?a(f):f<2048?(a(192|f>>6),a(128|63&f)):f>55295&&f<57344?(a(240|(f=65536+(1047552&f)|1023&n.charCodeAt(++o))>>18),a(128|f>>12&63),a(128|f>>6&63),a(128|63&f)):(a(224|f>>12),a(128|f>>6&63),a(128|63&f))}return b(i,0,s)}const N=new class{constructor(){this._init()}clear(){this._init()}addEvent(t){if(!t)throw new Error("Adding invalid event");const n=this._hasEvents?",":"";this.stream.push(n+t),this._hasEvents=!0}finish(){this.stream.push("]",!0);const t=function(t){let n=0;for(const r of t)n+=r.length;const r=new Uint8Array(n);for(let n=0,e=0,i=t.length;n{this._deflatedData.push(t)},this.stream=new J((t,n)=>{this.deflate.push(t,n)}),this.stream.push("[")}},P={clear:()=>{N.clear()},addEvent:t=>N.addEvent(t),finish:()=>N.finish(),compress:t=>function(t){return q(K(t))}(t)};addEventListener("message",function(t){const n=t.data.method,r=t.data.id,e=t.data.arg;if(n in P&&"function"==typeof P[n])try{const t=P[n](e);postMessage({id:r,method:n,success:!0,response:t})}catch(t){postMessage({id:r,method:n,success:!1,response:t.message}),console.error(t)}}),postMessage({id:void 0,method:"init",success:!0,response:void 0});';function K5(){const e=new Blob([G5]);return URL.createObjectURL(e)}const ny=["log","warn","error"],yc="[Replay] ";function Wu(e,t="info"){Wr({category:"console",data:{logger:"replay"},level:t,message:`${yc}${e}`},{level:t})}function Y5(){let e=!1,t=!1;const n={exception:()=>{},infoTick:()=>{},setConfig:r=>{e=!!r.captureExceptions,t=!!r.traceInternals}};return pe?(ny.forEach(r=>{n[r]=(...s)=>{te[r](yc,...s),t&&Wu(s.join(""),U0(r))}}),n.exception=(r,...s)=>{s.length&&n.error&&n.error(...s),te.error(yc,r),e?Ol(r,{mechanism:{handled:!0,type:"auto.function.replay.debug"}}):t&&Wu(r,"error")},n.infoTick=(...r)=>{te.log(yc,...r),t&&setTimeout(()=>Wu(r[0]),0)}):ny.forEach(r=>{n[r]=()=>{}}),n}const me=Y5();class rp extends Error{constructor(){super(`Event buffer exceeded maximum size of ${Kh}.`)}}class iw{constructor(){this.events=[],this._totalSize=0,this.hasCheckout=!1,this.waitForCheckout=!1}get hasEvents(){return this.events.length>0}get type(){return"sync"}destroy(){this.events=[]}async addEvent(t){const n=JSON.stringify(t).length;if(this._totalSize+=n,this._totalSize>Kh)throw new rp;this.events.push(t)}finish(){return new Promise(t=>{const n=this.events;this.clear(),t(JSON.stringify(n))})}clear(){this.events=[],this._totalSize=0,this.hasCheckout=!1}getEarliestTimestamp(){const t=this.events.map(n=>n.timestamp).sort()[0];return t?ep(t):null}}class X5{constructor(t){this._worker=t,this._id=0}ensureReady(){return this._ensureReadyPromise?this._ensureReadyPromise:(this._ensureReadyPromise=new Promise((t,n)=>{this._worker.addEventListener("message",({data:r})=>{r.success?t():(pe&&me.warn("Received worker message with unsuccessful status",r),n(new Error("Received worker message with unsuccessful status")))},{once:!0}),this._worker.addEventListener("error",r=>{pe&&me.warn("Failed to load Replay compression worker",r),n(new Error(`Failed to load Replay compression worker: ${r instanceof ErrorEvent&&r.message?r.message:"Unknown error. This can happen due to CSP policy restrictions, network issues, or the worker script failing to load."}`))},{once:!0})}),this._ensureReadyPromise)}destroy(){pe&&me.log("Destroying compression worker"),this._worker.terminate()}postMessage(t,n){const r=this._getAndIncrementId();return new Promise((s,i)=>{const o=({data:a})=>{const c=a;if(c.method===t&&c.id===r){if(this._worker.removeEventListener("message",o),!c.success){pe&&me.error("Error in compression worker: ",c.response),i(new Error("Error in compression worker"));return}s(c.response)}};this._worker.addEventListener("message",o),this._worker.postMessage({id:r,method:t,arg:n})})}_getAndIncrementId(){return this._id++}}class J5{constructor(t){this._worker=new X5(t),this._earliestTimestamp=null,this._totalSize=0,this.hasCheckout=!1,this.waitForCheckout=!1}get hasEvents(){return!!this._earliestTimestamp}get type(){return"worker"}ensureReady(){return this._worker.ensureReady()}destroy(){this._worker.destroy()}addEvent(t){const n=ep(t.timestamp);(!this._earliestTimestamp||nKh?Promise.reject(new rp):this._sendEventToWorker(r)}finish(){return this._finishRequest()}clear(){this._earliestTimestamp=null,this._totalSize=0,this.hasCheckout=!1,this._worker.postMessage("clear").then(null,t=>{pe&&me.exception(t,'Sending "clear" message to worker failed',t)})}getEarliestTimestamp(){return this._earliestTimestamp}_sendEventToWorker(t){return this._worker.postMessage("addEvent",t)}async _finishRequest(){const t=await this._worker.postMessage("finish");return this._earliestTimestamp=null,this._totalSize=0,t}}class Z5{constructor(t){this._fallback=new iw,this._compression=new J5(t),this._used=this._fallback,this._ensureWorkerIsLoadedPromise=this._ensureWorkerIsLoaded()}get waitForCheckout(){return this._used.waitForCheckout}get type(){return this._used.type}get hasEvents(){return this._used.hasEvents}get hasCheckout(){return this._used.hasCheckout}set hasCheckout(t){this._used.hasCheckout=t}set waitForCheckout(t){this._used.waitForCheckout=t}destroy(){this._fallback.destroy(),this._compression.destroy()}clear(){return this._used.clear()}getEarliestTimestamp(){return this._used.getEarliestTimestamp()}addEvent(t){return this._used.addEvent(t)}async finish(){return await this.ensureWorkerIsLoaded(),this._used.finish()}ensureWorkerIsLoaded(){return this._ensureWorkerIsLoadedPromise}async _ensureWorkerIsLoaded(){try{await this._compression.ensureReady()}catch(t){pe&&me.exception(t,"Failed to load the compression worker, falling back to simple buffer");return}await this._switchToCompressionWorker()}async _switchToCompressionWorker(){const{events:t,hasCheckout:n,waitForCheckout:r}=this._fallback,s=[];for(const i of t)s.push(this._compression.addEvent(i));this._compression.hasCheckout=n,this._compression.waitForCheckout=r,this._used=this._compression;try{await Promise.all(s),this._fallback.clear()}catch(i){pe&&me.exception(i,"Failed to add events when switching buffers.")}}}function Q5({useCompression:e,workerUrl:t}){if(e&&window.Worker){const n=e2(t);if(n)return n}return pe&&me.log("Using simple buffer"),new iw}function e2(e){try{const t=e||t2();if(!t)return;pe&&me.log(`Using compression worker${e?` from ${e}`:""}`);const n=new Worker(t);return new Z5(n)}catch(t){pe&&me.exception(t,"Failed to create compression worker")}}function t2(){return typeof __SENTRY_EXCLUDE_REPLAY_WORKER__>"u"||!__SENTRY_EXCLUDE_REPLAY_WORKER__?K5():""}function sp(){try{return"sessionStorage"in Ye&&!!Ye.sessionStorage}catch{return!1}}function n2(e){r2(),e.session=void 0}function r2(){if(sp())try{Ye.sessionStorage.removeItem(qh)}catch{}}function ow(e){return e===void 0?!1:Math.random()e.getContext().initialTimestamp+e.getOptions().maxReplayDuration?(pe&&me.infoTick(`Skipping event with timestamp ${n} because it is after maxReplayDuration`),!1):!0}function c2(e,t){try{if(typeof t=="function"&&o2(e))return t(e)}catch(n){return pe&&me.exception(n,"An error occurred in the `beforeAddRecordingEvent` callback, skipping the event..."),null}return e}function op(e){return!e.type}function lf(e){return e.type==="transaction"}function l2(e){return e.type==="replay_event"}function sy(e){return e.type==="feedback"}function u2(e){return(t,n)=>{if(!e.isEnabled()||!op(t)&&!lf(t))return;const r=n.statusCode;if(!(!r||r<200||r>=300)){if(lf(t)){d2(e,t);return}f2(e,t)}}}function d2(e,t){var r,s;const n=e.getContext();(s=(r=t.contexts)==null?void 0:r.trace)!=null&&s.trace_id&&n.traceIds.size<100&&n.traceIds.add(t.contexts.trace.trace_id)}function f2(e,t){const n=e.getContext();if(t.event_id&&n.errorIds.size<100&&n.errorIds.add(t.event_id),e.recordingMode!=="buffer"||!t.tags||!t.tags.replayId)return;const{beforeErrorSampling:r}=e.getOptions();typeof r=="function"&&!r(t)||Ca(async()=>{try{await e.sendBufferedReplayOrFlush()}catch(s){e.handleException(s)}})}function h2(e){return t=>{!e.isEnabled()||!op(t)||p2(e,t)}}function p2(e,t){var r,s,i;const n=(i=(s=(r=t.exception)==null?void 0:r.values)==null?void 0:s[0])==null?void 0:i.value;if(typeof n=="string"&&(n.match(/(reactjs\.org\/docs\/error-decoder\.html\?invariant=|react\.dev\/errors\/)(418|419|422|423|425)/)||n.match(/(does not match server-rendered HTML|Hydration failed because)/i))){const o=Hn({category:"replay.hydrate-error",data:{url:Ls()}});ka(e,o)}}function m2(e){const t=Ce();t&&t.on("beforeAddBreadcrumb",n=>g2(e,n))}function g2(e,t){if(!e.isEnabled()||!fw(t))return;const n=v2(t);n&&ka(e,n)}function v2(e){return!fw(e)||["fetch","xhr","sentry.event","sentry.transaction"].includes(e.category)||e.category.startsWith("ui.")?null:e.category==="console"?y2(e):Hn(e)}function y2(e){var s;const t=(s=e.data)==null?void 0:s.arguments;if(!Array.isArray(t)||t.length===0)return Hn(e);let n=!1;const r=t.map(i=>{if(!i)return i;if(typeof i=="string")return i.length>ja?(n=!0,`${i.slice(0,ja)}…`):i;if(typeof i=="object")try{const o=vn(i,7);return JSON.stringify(o).length>ja?(n=!0,`${JSON.stringify(o,null,2).slice(0,ja)}…`):o}catch{}return i});return Hn({...e,data:{...e.data,arguments:r,...n?{_meta:{warnings:["CONSOLE_ARG_TRUNCATED"]}}:{}}})}function fw(e){return!!e.category}function _2(e,t){var n,r,s;return e.type||!((r=(n=e.exception)==null?void 0:n.values)!=null&&r.length)?!1:!!((s=t.originalException)!=null&&s.__rrweb__)}function hw(){const e=Oe().getPropagationContext().dsc;e&&delete e.replay_id;const t=Tt();if(t){const n=hr(t);delete n.replay_id}}function b2(e,t){e.triggerUserActivity(),e.addUpdate(()=>t.timestamp?(e.throttledAddEvent({type:Te.Custom,timestamp:t.timestamp*1e3,data:{tag:"breadcrumb",payload:{timestamp:t.timestamp,type:"default",category:"sentry.feedback",data:{feedbackId:t.event_id}}}}),!1):!0)}function S2(e,t){return e.recordingMode!=="buffer"||t.message===Gh||!t.exception||t.type?!1:ow(e.getOptions().errorSampleRate)}function E2(e){return Object.assign((t,n)=>{var o;if(!e.isEnabled()||e.isPaused())return t;if(l2(t))return delete t.breadcrumbs,t;if(!op(t)&&!lf(t)&&!sy(t))return t;if(!e.checkAndHandleExpiredSession())return hw(),t;if(sy(t))return e.flush(),t.contexts.feedback.replay_id=e.getSessionId(),b2(e,t),t;if(_2(t,n)&&!e.getOptions()._experiments.captureExceptions)return pe&&me.log("Ignoring error from rrweb internals",t),null;const s=S2(e,t);if((s||e.recordingMode==="session")&&(t.tags={...t.tags,replayId:e.getSessionId()}),s&&e.recordingMode==="buffer"&&((o=e.session)==null?void 0:o.sampled)==="buffer"){const a=e.session;a.dirty=!0,e.getOptions().stickySession&&Vl(a)}return t},{id:"Replay"})}function Ul(e,t){return t.map(({type:n,start:r,end:s,name:i,data:o})=>{const a=e.throttledAddEvent({type:Te.Custom,timestamp:r,data:{tag:"performanceSpan",payload:{op:n,description:i,startTimestamp:r,endTimestamp:s,data:o}}});return typeof a=="string"?Promise.resolve(null):a})}function w2(e){const{from:t,to:n}=e,r=Date.now()/1e3;return{type:"navigation.push",start:r,end:r,name:n,data:{previous:t}}}function C2(e){return t=>{if(!e.isEnabled())return;const n=w2(t);n!==null&&(e.getContext().urls.push(n.name),e.triggerUserActivity(),e.addUpdate(()=>(Ul(e,[n]),!1)))}}function T2(e,t){return pe&&e.getOptions()._experiments.traceInternals?!1:zO(t,Ce())}function pw(e,t){e.isEnabled()&&t!==null&&(T2(e,t.name)||e.addUpdate(()=>(Ul(e,[t]),!0)))}function Wl(e){if(!e)return;const t=new TextEncoder;try{if(typeof e=="string")return t.encode(e).length;if(e instanceof URLSearchParams)return t.encode(e.toString()).length;if(e instanceof FormData){const n=kE(e);return t.encode(n).length}if(e instanceof Blob)return e.size;if(e instanceof ArrayBuffer)return e.byteLength}catch{}}function mw(e){if(!e)return;const t=parseInt(e,10);return isNaN(t)?void 0:t}function rl(e,t){if(!e)return{headers:{},size:void 0,_meta:{warnings:[t]}};const n={...e._meta},r=n.warnings||[];return n.warnings=[...r,t],e._meta=n,e}function gw(e,t){if(!t)return null;const{startTimestamp:n,endTimestamp:r,url:s,method:i,statusCode:o,request:a,response:c}=t;return{type:e,start:n/1e3,end:r/1e3,name:s,data:{method:i,statusCode:o,request:a,response:c}}}function Zo(e){return{headers:{},size:e,_meta:{warnings:["URL_SKIPPED"]}}}function $r(e,t,n){if(!t&&Object.keys(e).length===0)return;if(!t)return{headers:e};if(!n)return{headers:e,size:t};const r={headers:e,size:t},{body:s,warnings:i}=k2(n);return r.body=s,i!=null&&i.length&&(r._meta={warnings:i}),r}function uf(e,t){return Object.entries(e).reduce((n,[r,s])=>{const i=r.toLowerCase();return t.includes(i)&&e[r]&&(n[i]=s),n},{})}function k2(e){if(!e||typeof e!="string")return{body:e};const t=e.length>$v,n=I2(e);if(t){const r=e.slice(0,$v);return n?{body:r,warnings:["MAYBE_JSON_TRUNCATED"]}:{body:`${r}…`,warnings:["TEXT_TRUNCATED"]}}if(n)try{return{body:JSON.parse(e)}}catch{}return{body:e}}function I2(e){const t=e[0],n=e[e.length-1];return t==="["&&n==="]"||t==="{"&&n==="}"}function sl(e,t){const n=x2(e);return nr(n,t)}function x2(e,t=Ye.document.baseURI){if(e.startsWith("http://")||e.startsWith("https://")||e.startsWith(Ye.location.origin))return e;const n=new URL(e,t);if(n.origin!==new URL(t).origin)return e;const r=n.href;return!e.endsWith("/")&&r.endsWith("/")?r.slice(0,-1):r}async function R2(e,t,n){try{const r=await M2(e,t,n),s=gw("resource.fetch",r);pw(n.replay,s)}catch(r){pe&&me.exception(r,"Failed to capture fetch breadcrumb")}}function A2(e,t){const{input:n,response:r}=t,s=n?xE(n):void 0,i=Wl(s),o=r?mw(r.headers.get("content-length")):void 0;i!==void 0&&(e.data.request_body_size=i),o!==void 0&&(e.data.response_body_size=o)}async function M2(e,t,n){const r=Date.now(),{startTimestamp:s=r,endTimestamp:i=r}=t,{url:o,method:a,status_code:c=0,request_body_size:l,response_body_size:d}=e.data,u=sl(o,n.networkDetailAllowUrls)&&!sl(o,n.networkDetailDenyUrls),f=u?P2(n,t.input,l):Zo(l),h=await O2(u,n,t.response,d);return{startTimestamp:s,endTimestamp:i,url:o,method:a,statusCode:c,request:f,response:h}}function P2({networkCaptureBodies:e,networkRequestHeaders:t},n,r){const s=n?D2(n,t):{};if(!e)return $r(s,r,void 0);const i=xE(n),[o,a]=IE(i,me),c=$r(s,r,o);return a?rl(c,a):c}async function O2(e,{networkCaptureBodies:t,networkResponseHeaders:n},r,s){if(!e&&s!==void 0)return Zo(s);const i=r?vw(r.headers,n):{};if(!r||!t&&s!==void 0)return $r(i,s,void 0);const[o,a]=await N2(r),c=L2(o,{networkCaptureBodies:t,responseBodySize:s,captureDetails:e,headers:i});return a?rl(c,a):c}function L2(e,{networkCaptureBodies:t,responseBodySize:n,captureDetails:r,headers:s}){try{const i=e!=null&&e.length&&n===void 0?Wl(e):n;return r?t?$r(s,i,e):$r(s,i,void 0):Zo(i)}catch(i){return pe&&me.exception(i,"Failed to serialize response body"),$r(s,n,void 0)}}async function N2(e){const t=F2(e);if(!t)return[void 0,"BODY_PARSE_ERROR"];try{return[await $2(t)]}catch(n){return n instanceof Error&&n.message.indexOf("Timeout")>-1?(pe&&me.warn("Parsing text body from response timed out"),[void 0,"BODY_PARSE_TIMEOUT"]):(pe&&me.exception(n,"Failed to get text body from response"),[void 0,"BODY_PARSE_ERROR"])}}function vw(e,t){const n={};return t.forEach(r=>{e.get(r)&&(n[r]=e.get(r))}),n}function D2(e,t){return e.length===1&&typeof e[0]!="string"?iy(e[0],t):e.length===2?iy(e[1],t):{}}function iy(e,t){if(!e)return{};const n=e.headers;return n?n instanceof Headers?vw(n,t):Array.isArray(n)?{}:uf(n,t):{}}function F2(e){try{return e.clone()}catch(t){pe&&me.exception(t,"Failed to clone response body")}}function $2(e){return new Promise((t,n)=>{const r=Ca(()=>n(new Error("Timeout while trying to read response body")),500);B2(e).then(s=>t(s),s=>n(s)).finally(()=>clearTimeout(r))})}async function B2(e){return await e.text()}async function H2(e,t,n){try{const r=U2(e,t,n),s=gw("resource.xhr",r);pw(n.replay,s)}catch(r){pe&&me.exception(r,"Failed to capture xhr breadcrumb")}}function V2(e,t){const{xhr:n,input:r}=t;if(!n)return;const s=Wl(r),i=n.getResponseHeader("content-length")?mw(n.getResponseHeader("content-length")):z2(n.response,n.responseType);s!==void 0&&(e.data.request_body_size=s),i!==void 0&&(e.data.response_body_size=i)}function U2(e,t,n){const r=Date.now(),{startTimestamp:s=r,endTimestamp:i=r,input:o,xhr:a}=t,{url:c,method:l,status_code:d=0,request_body_size:u,response_body_size:f}=e.data;if(!c)return null;if(!a||!sl(c,n.networkDetailAllowUrls)||sl(c,n.networkDetailDenyUrls)){const x=Zo(u),S=Zo(f);return{startTimestamp:s,endTimestamp:i,url:c,method:l,statusCode:d,request:x,response:S}}const h=a[ds],p=h?uf(h.request_headers,n.networkRequestHeaders):{},m=uf(RE(a),n.networkResponseHeaders),[v,g]=n.networkCaptureBodies?IE(o,me):[void 0],[y,C]=n.networkCaptureBodies?W2(a):[void 0],w=$r(p,u,v),I=$r(m,f,y);return{startTimestamp:s,endTimestamp:i,url:c,method:l,statusCode:d,request:g?rl(w,g):w,response:C?rl(I,C):I}}function W2(e){const t=[];try{return[e.responseText]}catch(n){t.push(n)}try{return j2(e.response,e.responseType)}catch(n){t.push(n)}return pe&&me.warn("Failed to get xhr response body",...t),[void 0]}function j2(e,t){try{if(typeof e=="string")return[e];if(e instanceof Document)return[e.body.outerHTML];if(t==="json"&&e&&typeof e=="object")return[JSON.stringify(e)];if(!e)return[void 0]}catch(n){return pe&&me.exception(n,"Failed to serialize body",e),[void 0,"BODY_PARSE_ERROR"]}return pe&&me.log("Skipping network body because of body type",e),[void 0,"UNPARSEABLE_BODY_TYPE"]}function z2(e,t){try{const n=t==="json"&&e&&typeof e=="object"?JSON.stringify(e):e;return Wl(n)}catch{return}}function q2(e){const t=Ce();try{const{networkDetailAllowUrls:n,networkDetailDenyUrls:r,networkCaptureBodies:s,networkRequestHeaders:i,networkResponseHeaders:o}=e.getOptions(),a={replay:e,networkDetailAllowUrls:n,networkDetailDenyUrls:r,networkCaptureBodies:s,networkRequestHeaders:i,networkResponseHeaders:o};t&&t.on("beforeAddBreadcrumb",(c,l)=>G2(a,c,l))}catch{}}function G2(e,t,n){if(t.data)try{K2(t)&&X2(n)&&(V2(t,n),H2(t,n,e)),Y2(t)&&J2(n)&&(A2(t,n),R2(t,n,e))}catch(r){pe&&me.exception(r,"Error when enriching network breadcrumb")}}function K2(e){return e.category==="xhr"}function Y2(e){return e.category==="fetch"}function X2(e){return e==null?void 0:e.xhr}function J2(e){return e==null?void 0:e.response}function Z2(e){const t=Ce();wE(R5(e)),Fl(C2(e)),m2(e),q2(e);const n=E2(e);dO(n),t&&(t.on("beforeSendEvent",h2(e)),t.on("afterSendEvent",u2(e)),t.on("createDsc",r=>{const s=e.getSessionId();s&&e.isEnabled()&&e.recordingMode==="session"&&e.checkAndHandleExpiredSession()&&(r.replay_id=s)}),t.on("spanStart",r=>{e.lastActiveSpan=r}),t.on("spanEnd",r=>{e.lastActiveSpan=r}),t.on("beforeSendFeedback",async(r,s)=>{var o;const i=e.getSessionId();s!=null&&s.includeReplay&&e.isEnabled()&&i&&((o=r.contexts)!=null&&o.feedback)&&(r.contexts.feedback.source==="api"&&await e.sendBufferedReplayOrFlush(),r.contexts.feedback.replay_id=i)}),t.on("openFeedbackWidget",async()=>{await e.sendBufferedReplayOrFlush()}))}async function Q2(e){try{return Promise.all(Ul(e,[e3(Ye.performance.memory)]))}catch{return[]}}function e3(e){const{jsHeapSizeLimit:t,totalJSHeapSize:n,usedJSHeapSize:r}=e,s=Date.now()/1e3;return{type:"memory",name:"memory",start:s,end:s,data:{memory:{jsHeapSizeLimit:t,totalJSHeapSize:n,usedJSHeapSize:r}}}}function t3(e,t,n){return JO(e,t,{...n,setTimeoutImpl:Ca})}const an=xe.navigator;function n3(){return/iPhone|iPad|iPod/i.test((an==null?void 0:an.userAgent)??"")||/Macintosh/i.test((an==null?void 0:an.userAgent)??"")&&(an!=null&&an.maxTouchPoints)&&(an==null?void 0:an.maxTouchPoints)>1?{sampling:{mousemove:!1}}:{}}function r3(e){let t=!1;return(n,r)=>{if(!e.checkAndHandleExpiredSession()){pe&&me.warn("Received replay event after session expired.");return}const s=r||!t;t=!0,e.clickDetector&&C5(e.clickDetector,n),e.addUpdate(()=>{if(e.recordingMode==="buffer"&&s&&e.setInitialState(),!ip(e,n,s))return!0;if(!s)return!1;const i=e.session;if(i3(e,s),e.recordingMode==="buffer"&&i&&e.eventBuffer&&!i.dirty){const o=e.eventBuffer.getEarliestTimestamp();o&&(pe&&me.log(`Updating session start time to earliest event in buffer to ${new Date(o)}`),i.started=o,e.getOptions().stickySession&&Vl(i))}return i!=null&&i.previousSessionId||e.recordingMode==="session"&&e.flush(),!0})}}function s3(e){const t=e.getOptions();return{type:Te.Custom,timestamp:Date.now(),data:{tag:"options",payload:{shouldRecordCanvas:e.isRecordingCanvas(),sessionSampleRate:t.sessionSampleRate,errorSampleRate:t.errorSampleRate,useCompressionOption:t.useCompression,blockAllMedia:t.blockAllMedia,maskAllText:t.maskAllText,maskAllInputs:t.maskAllInputs,useCompression:e.eventBuffer?e.eventBuffer.type==="worker":!1,networkDetailHasUrls:t.networkDetailAllowUrls.length>0,networkCaptureBodies:t.networkCaptureBodies,networkRequestHasHeaders:t.networkRequestHeaders.length>0,networkResponseHasHeaders:t.networkResponseHeaders.length>0}}}}function i3(e,t){!t||!e.session||e.session.segmentId!==0||ip(e,s3(e),!1)}function o3(e){if(!e)return null;try{return e.nodeType===e.ELEMENT_NODE?e:e.parentElement}catch{return null}}function a3(e,t,n,r){return Jr(m0(e,Ch(e),r,n),[[{type:"replay_event"},e],[{type:"replay_recording",length:typeof t=="string"?new TextEncoder().encode(t).length:t.length},t]])}function c3({recordingData:e,headers:t}){let n;const r=`${JSON.stringify(t)} -`;if(typeof e=="string")n=`${r}${e}`;else{const i=new TextEncoder().encode(r);n=new Uint8Array(i.length+e.length),n.set(i),n.set(e,i.length)}return n}async function l3({client:e,scope:t,replayId:n,event:r}){const s=typeof e._integrations=="object"&&e._integrations!==null&&!Array.isArray(e._integrations)?Object.keys(e._integrations):void 0,i={event_id:n,integrations:s};e.emit("preprocessEvent",r,i);const o=await E0(e.getOptions(),r,i,t,e,$t());if(!o)return null;e.emit("postprocessEvent",o,i),o.platform=o.platform||"javascript";const a=e.getSdkMetadata(),{name:c,version:l,settings:d}=(a==null?void 0:a.sdk)||{};return o.sdk={...o.sdk,name:c||"sentry.javascript.unknown",version:l||"0.0.0",settings:d},o}async function u3({recordingData:e,replayId:t,segmentId:n,eventContext:r,timestamp:s,session:i}){const o=c3({recordingData:e,headers:{segment_id:n}}),{urls:a,errorIds:c,traceIds:l,initialTimestamp:d}=r,u=Ce(),f=Oe(),h=u==null?void 0:u.getTransport(),p=u==null?void 0:u.getDsn();if(!u||!h||!p||!i.sampled)return Promise.resolve({});const m={type:H$,replay_start_timestamp:d/1e3,timestamp:s/1e3,error_ids:c,trace_ids:l,urls:a,replay_id:t,segment_id:n,replay_type:i.sampled},v=await l3({scope:f,client:u,replayId:t,event:m});if(!v)return u.recordDroppedEvent("event_processor","replay"),pe&&me.log("An event processor returned `null`, will not send event."),Promise.resolve({});delete v.sdkProcessingMetadata;const g=a3(v,o,p,u.getOptions().tunnel);let y;try{y=await h.send(g)}catch(w){const I=new Error(Gh);try{I.cause=w}catch{}throw I}const C=P0({},y);if(M0(C,"replay"))throw new ap(C);if(typeof y.statusCode=="number"&&(y.statusCode<200||y.statusCode>=300))throw new yw(y.statusCode);return y}class yw extends Error{constructor(t){super(`Transport returned status code ${t}`)}}class ap extends Error{constructor(t){super("Rate limit hit"),this.rateLimits=t}}class oy extends Error{constructor(){super("Session is too long, not sending replay")}}async function _w(e,t={count:0,interval:q$}){const{recordingData:n,onError:r}=e;if(n.length)try{return await u3(e),!0}catch(s){if(s instanceof yw||s instanceof ap)throw s;if(aO("Replays",{_retryCount:t.count}),r&&r(s),t.count>=G$){const i=new Error(`${Gh} - max retries exceeded`);try{i.cause=s}catch{}throw i}return t.interval*=++t.count,new Promise((i,o)=>{Ca(async()=>{try{await _w(e,t),i(!0)}catch(a){o(a)}},t.interval)})}}const bw="__THROTTLED",d3="__SKIPPED";function f3(e,t,n){const r=new Map,s=a=>{const c=a-n;r.forEach((l,d)=>{d[...r.values()].reduce((a,c)=>a+c,0);let o=!1;return(...a)=>{const c=Math.floor(Date.now()/1e3);if(s(c),i()>=t){const d=o;return o=!0,d?d3:bw}o=!1;const l=r.get(c)||0;return r.set(c,l+1),e(...a)}}class h3{constructor({options:t,recordingOptions:n}){this.eventBuffer=null,this.performanceEntries=[],this.replayPerformanceEntries=[],this.recordingMode="session",this.timeouts={sessionIdlePause:V$,sessionIdleExpire:U$},this._lastActivity=Date.now(),this._isEnabled=!1,this._isPaused=!1,this._requiresManualStart=!1,this._hasInitializedCoreListeners=!1,this._context={errorIds:new Set,traceIds:new Set,urls:[],initialTimestamp:Date.now(),initialUrl:""},this._recordingOptions=n,this._options=t,this._debouncedFlush=t3(()=>this._flush(),this._options.flushMinDelay,{maxWait:this._options.flushMaxDelay}),this._throttledAddEvent=f3((o,a)=>a2(this,o,a),300,5);const{slowClickTimeout:r,slowClickIgnoreSelectors:s}=this.getOptions(),i=r?{threshold:Math.min(K$,r),timeout:r,scrollTimeout:Y$,ignoreSelector:s?s.join(","):""}:void 0;if(i&&(this.clickDetector=new b5(this,i)),pe){const o=t._experiments;me.setConfig({captureExceptions:!!o.captureExceptions,traceInternals:!!o.traceInternals})}this._handleVisibilityChange=()=>{Ye.document.visibilityState==="visible"?this._doChangeToForegroundTasks():this._doChangeToBackgroundTasks()},this._handleWindowBlur=()=>{const o=Hn({category:"ui.blur"});this._doChangeToBackgroundTasks(o)},this._handleWindowFocus=()=>{const o=Hn({category:"ui.focus"});this._doChangeToForegroundTasks(o)},this._handleKeyboardEvent=o=>{O5(this,o)}}getContext(){return this._context}isEnabled(){return this._isEnabled}isPaused(){return this._isPaused}isRecordingCanvas(){return!!this._canvas}getOptions(){return this._options}handleException(t){pe&&me.exception(t),this._options.onError&&this._options.onError(t)}initializeSampling(t){const{errorSampleRate:n,sessionSampleRate:r}=this._options,s=n<=0&&r<=0;if(this._requiresManualStart=s,!s){if(this._initializeSessionForSampling(t),!this.session){pe&&me.exception(new Error("Unable to initialize and create session"));return}this.session.sampled!==!1&&(this.recordingMode=this.session.sampled==="buffer"&&this.session.segmentId===0?"buffer":"session",pe&&me.infoTick(`Starting replay in ${this.recordingMode} mode`),this._initializeRecording())}}start(){if(this._isEnabled&&this.recordingMode==="session"){pe&&me.log("Recording is already in progress");return}if(this._isEnabled&&this.recordingMode==="buffer"){pe&&me.log("Buffering is in progress, call `flush()` to save the replay");return}pe&&me.infoTick("Starting replay in session mode"),this._updateUserActivity();const t=ju({maxReplayDuration:this._options.maxReplayDuration,sessionIdleExpire:this.timeouts.sessionIdleExpire},{stickySession:this._options.stickySession,sessionSampleRate:1,allowBuffering:!1});this.session=t,this.recordingMode="session",this._initializeRecording()}startBuffering(){if(this._isEnabled){pe&&me.log("Buffering is in progress, call `flush()` to save the replay");return}pe&&me.infoTick("Starting replay in buffer mode");const t=ju({sessionIdleExpire:this.timeouts.sessionIdleExpire,maxReplayDuration:this._options.maxReplayDuration},{stickySession:this._options.stickySession,sessionSampleRate:0,allowBuffering:!0});this.session=t,this.recordingMode="buffer",this._initializeRecording()}startRecording(){try{const t=this._canvas;this._stopRecording=sr({...this._recordingOptions,...this.recordingMode==="buffer"?{checkoutEveryNms:z$}:this._options._experiments.continuousCheckout&&{checkoutEveryNms:Math.max(36e4,this._options._experiments.continuousCheckout)},emit:r3(this),...n3(),onMutation:this._onMutationHandler.bind(this),...t?{recordCanvas:t.recordCanvas,getCanvasManager:t.getCanvasManager,sampling:t.sampling,dataURLOptions:t.dataURLOptions}:{}})}catch(t){this.handleException(t)}}stopRecording(){try{return this._stopRecording&&(this._stopRecording(),this._stopRecording=void 0),!0}catch(t){return this.handleException(t),!1}}async stop({forceFlush:t=!1,reason:n}={}){var r;if(this._isEnabled){this._isEnabled=!1,this.recordingMode="buffer";try{pe&&me.log(`Stopping Replay${n?` triggered by ${n}`:""}`),hw(),this._removeListeners(),this.stopRecording(),this._debouncedFlush.cancel(),t&&await this._flush({force:!0}),(r=this.eventBuffer)==null||r.destroy(),this.eventBuffer=null,n2(this)}catch(s){this.handleException(s)}}}pause(){this._isPaused||(this._isPaused=!0,this.stopRecording(),pe&&me.log("Pausing replay"))}resume(){!this._isPaused||!this._checkSession()||(this._isPaused=!1,this.startRecording(),pe&&me.log("Resuming replay"))}async sendBufferedReplayOrFlush({continueRecording:t=!0}={}){if(this.recordingMode==="session")return this.flushImmediate();const n=Date.now();pe&&me.log("Converting buffer to session"),await this.flushImmediate();const r=this.stopRecording();!t||!r||this.recordingMode!=="session"&&(this.recordingMode="session",this.session&&(this.session.dirty=!1,this._updateUserActivity(n),this._updateSessionActivity(n),this._maybeSaveSession()),this.startRecording())}addUpdate(t){const n=t();this.recordingMode==="buffer"||!this._isEnabled||n!==!0&&this._debouncedFlush()}triggerUserActivity(){if(this._updateUserActivity(),!this._stopRecording){if(!this._checkSession())return;this.resume();return}this.checkAndHandleExpiredSession(),this._updateSessionActivity()}updateUserActivity(){this._updateUserActivity(),this._updateSessionActivity()}conditionalFlush(){return this.recordingMode==="buffer"?Promise.resolve():this.flushImmediate()}flush(){return this._debouncedFlush()}flushImmediate(){return this._debouncedFlush(),this._debouncedFlush.flush()}cancelFlush(){this._debouncedFlush.cancel()}getSessionId(t){var n,r;if(!(t&&((n=this.session)==null?void 0:n.sampled)===!1))return(r=this.session)==null?void 0:r.id}checkAndHandleExpiredSession(){if(this._lastActivity&&cf(this._lastActivity,this.timeouts.sessionIdlePause)&&this.session&&this.session.sampled==="session"){this.pause();return}return!!this._checkSession()}setInitialState(){const t=`${Ye.location.pathname}${Ye.location.hash}${Ye.location.search}`,n=`${Ye.location.origin}${t}`;this.performanceEntries=[],this.replayPerformanceEntries=[],this._clearContext(),this._context.initialUrl=n,this._context.initialTimestamp=Date.now(),this._context.urls.push(n)}throttledAddEvent(t,n){const r=this._throttledAddEvent(t,n);if(r===bw){const s=Hn({category:"replay.throttled"});this.addUpdate(()=>!ip(this,{type:h5,timestamp:s.timestamp||0,data:{tag:"breadcrumb",payload:s,metric:!0}}))}return r}getCurrentRoute(){const t=this.lastActiveSpan||Tt(),n=t&&wt(t),s=(n&&Re(n).data||{})[jt];if(!(!n||!s||!["route","custom"].includes(s)))return Re(n).description}_initializeRecording(){this.setInitialState(),this._updateSessionActivity(),this.eventBuffer=Q5({useCompression:this._options.useCompression,workerUrl:this._options.workerUrl}),this._removeListeners(),this._addListeners(),this._isEnabled=!0,this._isPaused=!1,this.startRecording()}_initializeSessionForSampling(t){const n=this._options.errorSampleRate>0,r=ju({sessionIdleExpire:this.timeouts.sessionIdleExpire,maxReplayDuration:this._options.maxReplayDuration,previousSessionId:t},{stickySession:this._options.stickySession,sessionSampleRate:this._options.sessionSampleRate,allowBuffering:n});this.session=r}_checkSession(){if(!this.session)return!1;const t=this.session;return lw(t,{sessionIdleExpire:this.timeouts.sessionIdleExpire,maxReplayDuration:this._options.maxReplayDuration})?(this._refreshSession(t),!1):!0}async _refreshSession(t){this._isEnabled&&(await this.stop({reason:"refresh session"}),this.initializeSampling(t.id))}_addListeners(){try{Ye.document.addEventListener("visibilitychange",this._handleVisibilityChange),Ye.addEventListener("blur",this._handleWindowBlur),Ye.addEventListener("focus",this._handleWindowFocus),Ye.addEventListener("keydown",this._handleKeyboardEvent),this.clickDetector&&this.clickDetector.addListeners(),this._hasInitializedCoreListeners||(Z2(this),this._hasInitializedCoreListeners=!0)}catch(t){this.handleException(t)}this._performanceCleanupCallback=q5(this)}_removeListeners(){try{Ye.document.removeEventListener("visibilitychange",this._handleVisibilityChange),Ye.removeEventListener("blur",this._handleWindowBlur),Ye.removeEventListener("focus",this._handleWindowFocus),Ye.removeEventListener("keydown",this._handleKeyboardEvent),this.clickDetector&&this.clickDetector.removeListeners(),this._performanceCleanupCallback&&this._performanceCleanupCallback()}catch(t){this.handleException(t)}}_doChangeToBackgroundTasks(t){!this.session||cw(this.session,{maxReplayDuration:this._options.maxReplayDuration,sessionIdleExpire:this.timeouts.sessionIdleExpire})||(t&&this._createCustomBreadcrumb(t),this.conditionalFlush())}_doChangeToForegroundTasks(t){if(!this.session)return;if(!this.checkAndHandleExpiredSession()){pe&&me.log("Document has become active, but session has expired");return}t&&this._createCustomBreadcrumb(t)}_updateUserActivity(t=Date.now()){this._lastActivity=t}_updateSessionActivity(t=Date.now()){this.session&&(this.session.lastActivity=t,this._maybeSaveSession())}_createCustomBreadcrumb(t){this.addUpdate(()=>{this.throttledAddEvent({type:Te.Custom,timestamp:t.timestamp||0,data:{tag:"breadcrumb",payload:t}})})}_addPerformanceEntries(){let t=F5(this.performanceEntries).concat(this.replayPerformanceEntries);if(this.performanceEntries=[],this.replayPerformanceEntries=[],this._requiresManualStart){const n=this._context.initialTimestamp/1e3;t=t.filter(r=>r.start>=n)}return Promise.all(Ul(this,t))}_clearContext(){this._context.errorIds.clear(),this._context.traceIds.clear(),this._context.urls=[]}_updateInitialTimestampFromEventBuffer(){const{session:t,eventBuffer:n}=this;if(!t||!n||this._requiresManualStart||t.segmentId)return;const r=n.getEarliestTimestamp();r&&rthis._options.maxReplayDuration+3e4)throw new oy;const s=this._popEventContext(),i=this.session.segmentId++;this._maybeSaveSession();const o=await this.eventBuffer.finish();await _w({replayId:t,recordingData:o,segmentId:i,eventContext:s,session:this.session,timestamp:r,onError:a=>this.handleException(a)})}catch(r){this.handleException(r),this.stop({reason:"sendReplay"});const s=Ce();if(s){let i;r instanceof ap?i="ratelimit_backoff":r instanceof oy?i="invalid":i="send_error",s.recordDroppedEvent(i,"replay")}}}async _flush({force:t=!1}={}){if(!this._isEnabled&&!t)return;if(!this.checkAndHandleExpiredSession()){pe&&me.error("Attempting to finish replay event after session expired.");return}if(!this.session)return;const n=this.session.started,s=Date.now()-n;this._debouncedFlush.cancel();const i=sthis._options.maxReplayDuration+5e3;if(i||o){pe&&me.log(`Session duration (${Math.floor(s/1e3)}s) is too ${i?"short":"long"}, not sending replay.`),i&&this._debouncedFlush();return}const a=this.eventBuffer;a&&this.session.segmentId===0&&!a.hasCheckout&&pe&&me.log("Flushing initial segment without checkout.");const c=!!this._flushLock;this._flushLock||(this._flushLock=this._runFlush());try{await this._flushLock}catch(l){this.handleException(l)}finally{this._flushLock=void 0,c&&this._debouncedFlush()}}_maybeSaveSession(){this.session&&this._options.stickySession&&Vl(this.session)}_onMutationHandler(t){const{ignoreMutations:n}=this._options._experiments;if(n!=null&&n.length&&t.some(a=>{const c=o3(a.target),l=n.join(",");return c==null?void 0:c.matches(l)}))return!1;const r=t.length,s=this._options.mutationLimit,i=this._options.mutationBreadcrumbLimit,o=s&&r>s;if(r>i||o){const a=Hn({category:"replay.mutations",data:{count:r,limit:o}});this._createCustomBreadcrumb(a)}return o?(this.stop({reason:"mutationLimit",forceFlush:this.recordingMode==="session"}),!1):!0}}function oo(e,t){return[...e,...t].join(",")}function p3({mask:e,unmask:t,block:n,unblock:r,ignore:s}){const i=["base","iframe[srcdoc]:not([src])"],o=oo(e,[".sentry-mask","[data-sentry-mask]"]),a=oo(t,[]);return{maskTextSelector:o,unmaskTextSelector:a,blockSelector:oo(n,[".sentry-block","[data-sentry-block]",...i]),unblockSelector:oo(r,[]),ignoreSelector:oo(s,[".sentry-ignore","[data-sentry-ignore]",'input[type="file"]'])}}function m3({el:e,key:t,maskAttributes:n,maskAllText:r,privacyOptions:s,value:i}){return!r||s.unmaskTextSelector&&e.matches(s.unmaskTextSelector)?i:n.includes(t)||t==="value"&&e.tagName==="INPUT"&&["submit","button"].includes(e.getAttribute("type")||"")?i.replace(/[\S]/g,"*"):i}const ay='img,image,svg,video,object,picture,embed,map,audio,link[rel="icon"],link[rel="apple-touch-icon"]',g3=["content-length","content-type","accept"],v3=Symbol.for("sentry__originalRequestBody");let cy=!1,ly=!1;function y3(){if(typeof Request>"u"||ly)return;const e=Request;try{const t=function(n,r){const s=new e(n,r);return(r==null?void 0:r.body)!=null&&(s[v3]=r.body),s};t.prototype=e.prototype,xe.Request=t,ly=!0}catch{}}const _3=e=>new b3(e);class b3{constructor({flushMinDelay:t=W$,flushMaxDelay:n=j$,minReplayDuration:r=X$,maxReplayDuration:s=Bv,stickySession:i=!0,useCompression:o=!0,workerUrl:a,_experiments:c={},maskAllText:l=!0,maskAllInputs:d=!0,blockAllMedia:u=!0,mutationBreadcrumbLimit:f=750,mutationLimit:h=1e4,slowClickTimeout:p=7e3,slowClickIgnoreSelectors:m=[],networkDetailAllowUrls:v=[],networkDetailDenyUrls:g=[],networkCaptureBodies:y=!0,networkRequestHeaders:C=[],networkResponseHeaders:w=[],mask:I=[],maskAttributes:x=["title","placeholder","aria-label"],unmask:S=[],block:b=[],unblock:k=[],ignore:R=[],maskFn:M,beforeAddRecordingEvent:T,beforeErrorSampling:O,onError:$,attachRawBodyFromRequest:K=!1}={}){this.name="Replay";const Z=p3({mask:I,unmask:S,block:b,unblock:k,ignore:R});if(this._recordingOptions={maskAllInputs:d,maskAllText:l,maskInputOptions:{password:!0},maskTextFn:M,maskInputFn:M,maskAttributeFn:(z,N,oe)=>m3({maskAttributes:x,maskAllText:l,privacyOptions:Z,key:z,value:N,el:oe}),...Z,slimDOMOptions:"all",inlineStylesheet:!0,inlineImages:!1,collectFonts:!0,errorHandler:z=>{try{z.__rrweb__=!0}catch{}},recordCrossOriginIframes:!!c.recordCrossOriginIframes},this._initialOptions={flushMinDelay:t,flushMaxDelay:n,minReplayDuration:Math.min(r,J$),maxReplayDuration:Math.min(s,Bv),stickySession:i,useCompression:o,workerUrl:a,blockAllMedia:u,maskAllInputs:d,maskAllText:l,mutationBreadcrumbLimit:f,mutationLimit:h,slowClickTimeout:p,slowClickIgnoreSelectors:m,networkDetailAllowUrls:v,networkDetailDenyUrls:g,networkCaptureBodies:y,networkRequestHeaders:uy(C),networkResponseHeaders:uy(w),beforeAddRecordingEvent:T,beforeErrorSampling:O,onError:$,attachRawBodyFromRequest:K,_experiments:c},this._initialOptions.blockAllMedia&&(this._recordingOptions.blockSelector=this._recordingOptions.blockSelector?`${this._recordingOptions.blockSelector},${ay}`:ay,this._recordingOptions.ignoreCSSAttributes=new Set(["background-image"])),this._isInitialized&&zc())throw new Error("Multiple Sentry Session Replay instances are not supported");this._isInitialized=!0}get _isInitialized(){return cy}set _isInitialized(t){cy=t}afterAllSetup(t){!zc()||this._replay||(this._initialOptions.attachRawBodyFromRequest&&y3(),this._setup(t),this._initialize(t))}start(){this._replay&&this._replay.start()}startBuffering(){this._replay&&this._replay.startBuffering()}stop(){return this._replay?this._replay.stop({forceFlush:this._replay.recordingMode==="session"}):Promise.resolve()}flush(t){return this._replay?this._replay.isEnabled()?this._replay.sendBufferedReplayOrFlush(t):(this._replay.start(),Promise.resolve()):Promise.resolve()}getReplayId(t){var n;if((n=this._replay)!=null&&n.isEnabled())return this._replay.getSessionId(t)}getRecordingMode(){var t;if((t=this._replay)!=null&&t.isEnabled())return this._replay.recordingMode}_initialize(t){this._replay&&(this._maybeLoadFromReplayCanvasIntegration(t),this._replay.initializeSampling())}_setup(t){const n=S3(this._initialOptions,t);this._replay=new h3({options:n,recordingOptions:this._recordingOptions})}_maybeLoadFromReplayCanvasIntegration(t){try{const n=t.getIntegrationByName("ReplayCanvas");if(!n)return;this._replay._canvas=n.getOptions()}catch{}}}function S3(e,t){const n=t.getOptions(),r={sessionSampleRate:0,errorSampleRate:0,...e},s=Is(n.replaysSessionSampleRate),i=Is(n.replaysOnErrorSampleRate);return s==null&&i==null&&br(()=>{console.warn("Replay is disabled because neither `replaysSessionSampleRate` nor `replaysOnErrorSampleRate` are set.")}),s!=null&&(r.sessionSampleRate=s),i!=null&&(r.errorSampleRate=i),r}function uy(e){return[...g3,...e.map(t=>t.toLowerCase())]}function E3(e){return e.split(",").some(t=>t.trim().startsWith("sentry-"))}function Sw(e){try{return new URL(e,Ae.location.origin).href}catch{return}}function w3(e){return e.entryType==="resource"&&"initiatorType"in e&&typeof e.nextHopProtocol=="string"&&(e.initiatorType==="fetch"||e.initiatorType==="xmlhttprequest")}function Ew(e){try{return new Headers(e)}catch{return}}const dy=new WeakMap,zu=new Map,ww={traceFetch:!0,traceXHR:!0,enableHTTPTimings:!0,trackFetchStreamPerformance:!1};function C3(e,t){const{traceFetch:n,traceXHR:r,trackFetchStreamPerformance:s,shouldCreateSpanForRequest:i,enableHTTPTimings:o,tracePropagationTargets:a,onRequestSpanStart:c,onRequestSpanEnd:l}={...ww,...t},d=typeof i=="function"?i:p=>!0,u=p=>T3(p,a),f={},h=e.getOptions().propagateTraceparent;n&&(e.addEventProcessor(p=>(p.type==="transaction"&&p.spans&&p.spans.forEach(m=>{if(m.op==="http.client"){const v=zu.get(m.span_id);v&&(m.timestamp=v/1e3,zu.delete(m.span_id))}}),p)),s&&NL(p=>{if(p.response){const m=dy.get(p.response);m&&p.endTimestamp&&zu.set(m,p.endTimestamp)}}),q0(p=>{const m=TL(p,d,u,f,{propagateTraceparent:h,onRequestSpanEnd:l});if(p.response&&p.fetchData.__span&&dy.set(p.response,p.fetchData.__span),m){const v=Sw(p.fetchData.url),g=v?Ss(v).host:void 0;m.setAttributes({"http.url":v?Dr(v):void 0,"server.address":g}),o&&fy(m),c==null||c(m,{headers:p.headers})}})),r&&TE(p=>{var v;const m=k3(p,d,u,f,h,l);m&&(o&&fy(m),c==null||c(m,{headers:Ew((v=p.xhr.__sentry_xhr_v3__)==null?void 0:v.request_headers)}))})}function fy(e){const{url:t}=Re(e).data;if(!t||typeof t!="string")return;const n=Rs("resource",({entries:r})=>{r.forEach(s=>{w3(s)&&s.name.endsWith(t)&&(e.setAttributes(EE(s)),setTimeout(n))})})}function T3(e,t){const n=Ls();if(n){let r,s;try{r=new URL(e,n),s=new URL(n).origin}catch{return!1}const i=r.origin===s;return t?nr(r.toString(),t)||i&&nr(r.pathname,t):i}else{const r=!!e.match(/^\/(?!\/)/);return t?nr(e,t):r}}function k3(e,t,n,r,s,i){const o=e.xhr,a=o==null?void 0:o[ds];if(!o||o.__sentry_own_request__||!a)return;const{url:c,method:l}=a,d=fn()&&t(c);if(e.endTimestamp){const g=o.__sentry_xhr_span_id__;if(!g)return;const y=r[g];y&&(d&&a.status_code!==void 0&&(QS(y,a.status_code),y.end(),i==null||i(y,{headers:Ew(RE(o)),error:e.error})),delete r[g]);return}const u=Sw(c),f=Ss(u||c),h=Dr(jO(c)),p=!!Tt(),m=d&&p?Ur({name:`${l} ${h}`,attributes:{url:Dr(c),type:"xhr","http.method":l,"http.url":u?Dr(u):void 0,"server.address":f==null?void 0:f.host,[st]:"auto.http.browser",[fr]:"http.client",...(f==null?void 0:f.search)&&{"http.query":f==null?void 0:f.search},...(f==null?void 0:f.hash)&&{"http.fragment":f==null?void 0:f.hash}}}):new Vr;o.__sentry_xhr_span_id__=m.spanContext().spanId,r[o.__sentry_xhr_span_id__]=m,n(c)&&I3(o,fn()&&p?m:void 0,s);const v=Ce();return v&&v.emit("beforeOutgoingRequestSpan",m,e),m}function I3(e,t,n){const{"sentry-trace":r,baggage:s,traceparent:i}=H0({span:t,propagateTraceparent:n});r&&x3(e,r,s,i)}function x3(e,t,n,r){var i;const s=(i=e.__sentry_xhr_v3__)==null?void 0:i.request_headers;if(!(s!=null&&s["sentry-trace"]||!e.setRequestHeader))try{if(e.setRequestHeader("sentry-trace",t),r&&!(s!=null&&s.traceparent)&&e.setRequestHeader("traceparent",r),n){const o=s==null?void 0:s.baggage;(!o||!E3(o))&&e.setRequestHeader("baggage",n)}}catch{}}function R3(){Ae.document?Ae.document.addEventListener("visibilitychange",()=>{const e=Tt();if(!e)return;const t=wt(e);if(Ae.document.hidden&&t){const n="cancelled",{op:r,status:s}=Re(t);pn&&te.log(`[Tracing] Transaction: ${n} -> since tab moved to the background, op: ${r}`),s||t.setStatus({code:ht,message:n}),t.setAttribute("sentry.cancellation_reason","document.hidden"),t.end()}}):pn&&te.warn("[Tracing] Could not set up background tab detection due to lack of global document")}const A3=3600,Cw="sentry_previous_trace",M3="sentry.previous_trace";function P3(e,{linkPreviousTrace:t,consistentTraceSampling:n}){const r=t==="session-storage";let s=r?N3():void 0;e.on("spanStart",o=>{if(wt(o)!==o)return;const a=Oe().getPropagationContext();s=O3(s,o,a),r&&L3(s)});let i=!0;n&&e.on("beforeSampling",o=>{if(!s)return;const a=Oe(),c=a.getPropagationContext();if(i&&c.parentSpanId){i=!1;return}a.setPropagationContext({...c,dsc:{...c.dsc,sample_rate:String(s.sampleRate),sampled:String(df(s.spanContext))},sampleRand:s.sampleRand}),o.parentSampled=df(s.spanContext),o.parentSampleRate=s.sampleRate,o.spanAttributes={...o.spanAttributes,[ZS]:s.sampleRate}})}function O3(e,t,n){const r=Re(t);function s(){var a,c;try{return Number((a=n.dsc)==null?void 0:a.sample_rate)??Number((c=r.data)==null?void 0:c[yh])}catch{return 0}}const i={spanContext:t.spanContext(),startTimestamp:r.start_timestamp,sampleRate:s(),sampleRand:n.sampleRand};if(!e)return i;const o=e.spanContext;return o.traceId===r.trace_id?e:(Date.now()/1e3-e.startTimestamp<=A3&&(pn&&te.log(`Adding previous_trace \`${JSON.stringify(o)}\` link to span \`${JSON.stringify({op:r.op,...t.spanContext()})}\``),t.addLink({context:o,attributes:{[PM]:"previous_trace"}}),t.setAttribute(M3,`${o.traceId}-${o.spanId}-${df(o)?1:0}`)),i)}function L3(e){try{Ae.sessionStorage.setItem(Cw,JSON.stringify(e))}catch(t){pn&&te.warn("Could not store previous trace in sessionStorage",t)}}function N3(){var e;try{const t=(e=Ae.sessionStorage)==null?void 0:e.getItem(Cw);return JSON.parse(t)}catch{return}}function df(e){return e.traceFlags===1}const D3="BrowserTracing",F3={...ac,instrumentNavigation:!0,instrumentPageLoad:!0,markBackgroundSpan:!0,enableLongTask:!0,enableLongAnimationFrame:!0,enableInp:!0,enableElementTiming:!0,ignoreResourceSpans:[],ignorePerformanceApiSpans:[],detectRedirects:!0,linkPreviousTrace:"in-memory",consistentTraceSampling:!1,enableReportPageLoaded:!1,_experiments:{},...ww},hy=(e={})=>{const t={name:void 0,source:void 0},n=Ae.document,{enableInp:r,enableElementTiming:s,enableLongTask:i,enableLongAnimationFrame:o,_experiments:{enableInteractions:a,enableStandaloneClsSpans:c,enableStandaloneLcpSpans:l},beforeStartSpan:d,idleTimeout:u,finalTimeout:f,childSpanTimeout:h,markBackgroundSpan:p,traceFetch:m,traceXHR:v,trackFetchStreamPerformance:g,shouldCreateSpanForRequest:y,enableHTTPTimings:C,ignoreResourceSpans:w,ignorePerformanceApiSpans:I,instrumentPageLoad:x,instrumentNavigation:S,detectRedirects:b,linkPreviousTrace:k,consistentTraceSampling:R,enableReportPageLoaded:M,onRequestSpanStart:T,onRequestSpanEnd:O}={...F3,...e};let $,K,Z;function z(N,oe,U=!0){const J=oe.op==="pageload",re=oe.name,ie=d?d(oe):oe,Ee=ie.attributes||{};if(re!==ie.name&&(Ee[jt]="custom",ie.attributes=Ee),!U){const P=Ns();Ur({...ie,startTime:P}).end(P);return}t.name=ie.name,t.source=Ee[jt];const Me=b0(ie,{idleTimeout:u,finalTimeout:f,childSpanTimeout:h,disableAutoFinish:J,beforeSpanEnd:P=>{$==null||$(),oF(P,{recordClsOnPageloadSpan:!c,recordLcpOnPageloadSpan:!l,ignoreResourceSpans:w,ignorePerformanceApiSpans:I}),gy(N,void 0);const W=Oe(),X=W.getPropagationContext();W.setPropagationContext({...X,traceId:Me.spanContext().traceId,sampled:Xr(Me),dsc:hr(P)}),J&&(Z=void 0)},trimIdleSpanEndTimestamp:!M});J&&M&&(Z=Me),gy(N,Me);function De(){n&&["interactive","complete"].includes(n.readyState)&&N.emit("idleSpanEnableAutoFinish",Me)}J&&!M&&n&&(n.addEventListener("readystatechange",()=>{De()}),De())}return{name:D3,setup(N){if(cP(),$=QD({recordClsStandaloneSpans:c||!1,recordLcpStandaloneSpans:l||!1,client:N}),r&&PF(),s&&yF(),o&&xe.PerformanceObserver&&PerformanceObserver.supportedEntryTypes&&PerformanceObserver.supportedEntryTypes.includes("long-animation-frame")?tF():i&&eF(),a&&nF(),b&&n){const U=()=>{K=lt()};addEventListener("click",U,{capture:!0}),addEventListener("keydown",U,{capture:!0,passive:!0})}function oe(){const U=Qo(N);U&&!Re(U).timestamp&&(pn&&te.log(`[Tracing] Finishing current active span with op: ${Re(U).op}`),U.setAttribute(zo,"cancelled"),U.end())}N.on("startNavigationSpan",(U,J)=>{if(Ce()!==N)return;if(J!=null&&J.isRedirect){pn&&te.warn("[Tracing] Detected redirect, navigation span will not be the root span, but a child span."),z(N,{op:"navigation.redirect",...U},!1);return}K=void 0,oe(),$t().setPropagationContext({traceId:dr(),sampleRand:Math.random(),propagationSpanId:fn()?void 0:rr()});const re=Oe();re.setPropagationContext({traceId:dr(),sampleRand:Math.random(),propagationSpanId:fn()?void 0:rr()}),re.setSDKProcessingMetadata({normalizedRequest:void 0}),z(N,{op:"navigation",...U,parentSpan:null,forceTransaction:!0})}),N.on("startPageLoadSpan",(U,J={})=>{if(Ce()!==N)return;oe();const re=J.sentryTrace||py("sentry-trace")||my("sentry-trace"),ie=J.baggage||py("baggage")||my("baggage"),Ee=QM(re,ie),Me=Oe();Me.setPropagationContext(Ee),fn()||(Me.getPropagationContext().propagationSpanId=rr()),Me.setSDKProcessingMetadata({normalizedRequest:Fh()}),z(N,{op:"pageload",...U})}),N.on("endPageloadSpan",()=>{M&&Z&&(Z.setAttribute(zo,"reportPageLoaded"),Z.end())})},afterAllSetup(N){let oe=Ls();if(k!=="off"&&P3(N,{linkPreviousTrace:k,consistentTraceSampling:R}),Ae.location){if(x){const U=Kt();$3(N,{name:Ae.location.pathname,startTime:U?U/1e3:void 0,attributes:{[jt]:"url",[st]:"auto.pageload.browser"}})}S&&Fl(({to:U,from:J})=>{if(J===void 0&&(oe==null?void 0:oe.indexOf(U))!==-1){oe=void 0;return}oe=void 0;const re=Mh(U),ie=Qo(N),Ee=ie&&b&&H3(ie,K);Tw(N,{name:(re==null?void 0:re.pathname)||Ae.location.pathname,attributes:{[jt]:"url",[st]:"auto.navigation.browser"}},{url:U,isRedirect:Ee})})}p&&R3(),a&&B3(N,u,f,h,t),r&&NF(),C3(N,{traceFetch:m,traceXHR:v,trackFetchStreamPerformance:g,tracePropagationTargets:N.getOptions().tracePropagationTargets,shouldCreateSpanForRequest:y,enableHTTPTimings:C,onRequestSpanStart:T,onRequestSpanEnd:O})}}};function $3(e,t,n){e.emit("startPageLoadSpan",t,n),Oe().setTransactionName(t.name);const r=Qo(e);return r&&e.emit("afterStartPageLoadSpan",r),r}function Tw(e,t,n){const{url:r,isRedirect:s}=n||{};e.emit("beforeStartNavigationSpan",t,{isRedirect:s}),e.emit("startNavigationSpan",t,{isRedirect:s});const i=Oe();return i.setTransactionName(t.name),r&&!s&&i.setSDKProcessingMetadata({normalizedRequest:{...Fh(),url:r}}),Qo(e)}function py(e){const t=Ae.document,n=t==null?void 0:t.querySelector(`meta[name=${e}]`);return(n==null?void 0:n.getAttribute("content"))||void 0}function my(e){var r,s,i;const t=(s=(r=Ae.performance)==null?void 0:r.getEntriesByType)==null?void 0:s.call(r,"navigation")[0],n=(i=t==null?void 0:t.serverTiming)==null?void 0:i.find(o=>o.name===e);return n==null?void 0:n.description}function B3(e,t,n,r,s){const i=Ae.document;let o;const a=()=>{const c="ui.action.click",l=Qo(e);if(l){const d=Re(l).op;if(["navigation","pageload"].includes(d)){pn&&te.warn(`[Tracing] Did not create ${c} span because a pageload or navigation span is in progress.`);return}}if(o&&(o.setAttribute(zo,"interactionInterrupted"),o.end(),o=void 0),!s.name){pn&&te.warn(`[Tracing] Did not create ${c} transaction because _latestRouteName is missing.`);return}o=b0({name:s.name,op:c,attributes:{[jt]:s.source||"url"}},{idleTimeout:t,finalTimeout:n,childSpanTimeout:r})};i&&addEventListener("click",a,{capture:!0})}const kw="_sentry_idleSpan";function Qo(e){return e[kw]}function gy(e,t){Gt(e,kw,t)}const vy=1.5;function H3(e,t){const n=Re(e),r=Ns(),s=n.start_timestamp;return!(r-s>vy||t&&r-t<=vy)}const Iw=["activate","mount"],xw=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,V3=/(?:^|[-_])(\w)/g,U3=e=>e.replace(V3,t=>t.toUpperCase()).replace(/[-_]/g,""),W3="",qu="",j3=(e,t)=>e.repeat(t),Io=(e,t)=>{if(!e)return qu;if(e.$root===e)return W3;if(!e.$options)return qu;const n=e.$options;let r=n.name||n._componentTag||n.__name;const s=n.__file;if(!r&&s){const i=s.match(/([^/\\]+)\.vue$/);i&&(r=i[1])}return(r?`<${U3(r)}>`:qu)+(s&&t!==!1?` at ${s}`:"")},z3=e=>{if(e&&(e._isVue||e.__isVue)&&e.$parent){const t=[];let n=0;for(;e;){if(t.length>0){const s=t[t.length-1];if(s.constructor===e.constructor){n++,e=e.$parent;continue}else n>0&&(t[t.length-1]=[s,n],n=0)}t.push(e),e=e.$parent}return` - -found in - -${t.map((s,i)=>`${(i===0?"---> ":j3(" ",5+i*2))+(Array.isArray(s)?`${Io(s[0])}... (${s[1]} recursive calls)`:Io(s))}`).join(` -`)}`}return` - -(found in ${Io(e)})`},q3=(e,t)=>{const{errorHandler:n}=e.config;e.config.errorHandler=(r,s,i)=>{var l;const o=Io(s,!1),a=s?z3(s):"",c={componentName:o,lifecycleHook:i,trace:a};if((t==null?void 0:t.attachProps)!==!1&&s&&((l=s.$options)!=null&&l.propsData?c.propsData=s.$options.propsData:s.$props&&(c.propsData=s.$props)),setTimeout(()=>{Ol(r,{captureContext:{contexts:{vue:c}},mechanism:{handled:!!n,type:"auto.function.vue.error_handler"}})}),typeof n=="function"&&e.config.errorHandler)n.call(e,r,s,i);else throw r}},yy="ui.vue",G3={activate:["activated","deactivated"],create:["beforeCreate","created"],unmount:["beforeUnmount","unmounted"],destroy:["beforeDestroy","destroyed"],mount:["beforeMount","mounted"],update:["beforeUpdate","updated"]};function Gu(e,t,n){e.$_sentryRootComponentSpanTimer&&clearTimeout(e.$_sentryRootComponentSpanTimer),e.$_sentryRootComponentSpanTimer=setTimeout(()=>{var r;(r=e.$root)!=null&&r.$_sentryRootComponentSpan&&(e.$root.$_sentryRootComponentSpan.end(t),e.$root.$_sentryRootComponentSpan=void 0)},n)}function K3(e,t){function n(s){return s.replace(/^<([^\s]*)>(?: at [^\s]*)?$/,"$1")}return e.some(s=>n(t)===n(s))}const Y3=(e={})=>{const t=(e.hooks||[]).concat(Iw).filter((s,i,o)=>o.indexOf(s)===i),n={},r=e.timeout||2e3;for(const s of t){const i=G3[s];if(!i){xw&&te.warn(`Unknown hook: ${s}`);continue}for(const o of i)n[o]=function(){var f;const a=this.$root===this;a&&(this.$_sentryRootComponentSpan=this.$_sentryRootComponentSpan||Ur({name:"Application Render",op:`${yy}.render`,attributes:{[st]:"auto.ui.vue"},onlyIfParent:!0}),Gu(this,lt(),r));const c=Io(this,!1);if(!(a||(Array.isArray(e.trackComponents)?K3(e.trackComponents,c):e.trackComponents))){Gu(this,lt(),r);return}this.$_sentryComponentSpans=this.$_sentryComponentSpans||{};const d=o===i[0],u=((f=this.$root)==null?void 0:f.$_sentryRootComponentSpan)||Tt();if(d){if(u){const h=this.$_sentryComponentSpans[s];h&&h.end(),this.$_sentryComponentSpans[s]=Ur({name:`Vue ${c}`,op:`${yy}.${s}`,attributes:{[st]:"auto.ui.vue"},onlyIfParent:!0})}}else{const h=this.$_sentryComponentSpans[s];if(!h)return;h.end(),Gu(this,lt(),r)}}}return n},X3=xe,J3={Vue:X3.Vue,attachProps:!0,attachErrorHandler:!0,tracingOptions:{hooks:Iw,timeout:2e3,trackComponents:!1}},Z3="Vue",Q3=(e={})=>({name:Z3,setup(t){const n={...J3,...t.getOptions(),...e};if(!n.Vue&&!n.app){br(()=>{console.warn("[@sentry/vue]: Misconfigured SDK. Vue specific errors will not be captured. Update your `Sentry.init` call with an appropriate config option: `app` (Application Instance - Vue 3) or `Vue` (Vue Constructor - Vue 2).")});return}n.app?(Array.isArray(n.app)?n.app:[n.app]).forEach(s=>_y(s,n)):n.Vue&&_y(n.Vue,n)}}),_y=(e,t)=>{var n;xw&&((n=e._instance)==null?void 0:n.isMounted)===!0&&br(()=>{console.warn("[@sentry/vue]: Misconfigured SDK. Vue app is already mounted. Make sure to call `app.mount()` after `Sentry.init()`.")}),t.attachErrorHandler&&q3(e,t),fn(t)&&e.mixin(Y3(t.tracingOptions))};function e4(e={}){const t={defaultIntegrations:[...PE(),Q3()],...e};return B0(t,"vue"),B$(t)}function t4(e,t,n){let r=!1;const s="mode"in e;e.onError(i=>Ol(i,{mechanism:{handled:!1}})),e.beforeEach((i,o,...a)=>{const c=r?void 0:n4(),l={};for(const f of Object.keys(i.params))l[`url.path.parameter.${f}`]=i.params[f],l[`params.${f}`]=i.params[f];for(const f of Object.keys(i.query)){const h=i.query[f];h&&(l[`query.${f}`]=h)}let d=i.path,u="url";if(i.name&&t.routeLabel!=="path")d=i.name.toString(),u="custom";else if(i.matched.length>0){const f=i.matched.length-1;d=i.matched[f].path,u="route"}if(Oe().setTransactionName(d),t.instrumentPageLoad&&c&&(Re(c).data[jt]!=="custom"&&(c.updateName(d),c.setAttribute(jt,u)),c.setAttributes({...l,[st]:"auto.pageload.vue"}),r=!0),t.instrumentNavigation&&!c&&n({name:d,op:"navigation",attributes:{...l,[st]:"auto.navigation.vue",[jt]:u}}),s){const f=a[0];typeof f=="function"&&f()}})}function n4(){const e=Tt(),t=e&&wt(e);return t&&Re(t).op==="pageload"?t:void 0}function r4(e={}){if(!e.router)return hy(e);const t=hy({...e,instrumentNavigation:!1}),{router:n,instrumentNavigation:r=!0,instrumentPageLoad:s=!0,routeLabel:i="name"}=e;return{...t,afterAllSetup(o){t.afterAllSetup(o),t4(n,{routeLabel:i,instrumentNavigation:r,instrumentPageLoad:s},c=>{Tw(o,c)})}}}const s4=Pb(),Xi=ZC(XA);let is=null;e4({app:Xi,dsn:"https://dc34ab47426f49c0925445f0d87b7007@report.houlang.cloud/6",sendDefaultPii:!0,integrations:[r4({router:Cl}),_3({maskAllText:!1,blockAllMedia:!1}),is=iD({autoInject:!1,colorScheme:"system",showBranding:!1,showName:!0,showEmail:!0,isNameRequired:!1,isEmailRequired:!1,useSentryUser:{name:"username",email:"email"},themeDark:{submitBackground:"#6200EA",submitBackgroundHover:"#7C4DFF"},themeLight:{submitBackground:"#6200EA",submitBackgroundHover:"#7C4DFF"}})],tracesSampleRate:1,tracePropagationTargets:["localhost",/^https?:\/\/cs\.(houlang\.cloud|houlangs\.com)/],replaysSessionSampleRate:0,replaysOnErrorSampleRate:0,enableLogs:!0,beforeSend(e){return e}});DS().then(e=>{lO({id:e,username:e}),cO("fingerprint",e),console.log("Sentry 用户标识已设置:",e)}).catch(e=>{console.warn("设置 Sentry 用户标识失败:",e)});window.openSentryFeedback=()=>{try{if(!is)return console.warn("Sentry Feedback integration 未初始化"),!1;if(typeof is.createWidget=="function"){const e=is.createWidget();if(e&&typeof e.open=="function")return e.open(),console.log("Sentry Feedback 对话框已打开"),!0}return typeof is.openDialog=="function"?(is.openDialog(),console.log("Sentry Feedback 对话框已打开"),!0):(console.warn("无法找到打开 Feedback 的方法"),console.log("可用方法:",Object.keys(is)),!1)}catch(e){return console.error("打开 Sentry Feedback 时出错:",e),!1}};window.startSentryReplay=()=>{try{const e=Ce();if(!e)return console.warn("Sentry 客户端未初始化"),!1;const n=(e.getOptions().integrations||[]).find(r=>r&&r.name==="Replay");return n&&typeof n.start=="function"?(n.start(),console.log("Sentry Replay 已手动启动"),!0):(console.warn("无法找到 Sentry Replay integration"),!1)}catch(e){return console.error("启动 Sentry Replay 时出错:",e),!1}};Cx(Xi);Xi.use(Ys);Xi.use(s4);Xi.component("GlobalMessage",gS);Xi.mount("#app");document.readyState==="complete"?by():window.addEventListener("load",by,{once:!0});async function by(){try{const e=(await _t(async()=>{const{default:r}=await import("./index-ghQi_28l.js");return{default:r}},[],import.meta.url)).default;e.init("rhp8uqoc3l");const n=await DS();console.log("Visitor ID:",n),e.identify(n),e.setTag("fingerprintjs",n)}catch(e){console.warn("Clarity 加载或标识设置失败:",e)}}try{const e=()=>{document.body.classList.add("app-loaded");const t=document.getElementById("app-loader");t&&setTimeout(()=>t.remove(),220)};document.readyState==="complete"||document.readyState==="interactive"?e():window.addEventListener("DOMContentLoaded",e,{once:!0})}catch{}export{kn as $,bn as A,$4 as B,F_ as C,rd as D,Je as E,Qe as F,L1 as G,pA as H,ws as I,Lf as J,SS as K,Bc as L,vS as M,l4 as N,c4 as O,WA as P,xd as Q,ng as R,Wo as S,Nf as T,U4 as U,YA as V,V4 as W,qk as X,tA as Y,gr as Z,Gb as _,RA as a,Qs as a$,AS as a0,RS as a1,we as a2,j as a3,pt as a4,Tx as a5,kx as a6,P4 as a7,L4 as a8,O4 as a9,As as aA,bi as aB,li as aC,ss as aD,fd as aE,gR as aF,Bi as aG,ih as aH,_l as aI,ge as aJ,Ms as aK,$f as aL,cd as aM,i4 as aN,Wf as aO,DS as aP,z4 as aQ,j4 as aR,et as aS,_4 as aT,NA as aU,lT as aV,un as aW,S4 as aX,gs as aY,cT as aZ,Et as a_,eR as aa,vr as ab,Mx as ac,_t as ad,Se as ae,o4 as af,Zb as ag,Ut as ah,oA as ai,GR as aj,kr as ak,hg as al,bS as am,$c as an,D4 as ao,N4 as ap,rk as aq,Un as ar,Bf as as,p4 as at,mS as au,ee as av,yt as aw,v4 as ax,g4 as ay,be as az,tt as b,Oi as b$,yo as b0,k4 as b1,T4 as b2,hn as b3,eb as b4,mg as b5,ld as b6,sa as b7,B4 as b8,Wk as b9,aR as bA,DR as bB,M4 as bC,hi as bD,am as bE,NR as bF,A4 as bG,x4 as bH,Fi as bI,fl as bJ,Ys as bK,ui as bL,h4 as bM,E4 as bN,Ne as bO,BR as bP,$R as bQ,Wx as bR,Ux as bS,Mt as bT,jx as bU,Vx as bV,nb as bW,f4 as bX,vt as bY,mt as bZ,C4 as b_,Ct as ba,m4 as bb,cr as bc,fA as bd,_r as be,Ib as bf,Qf as bg,rm as bh,fS as bi,nn as bj,yr as bk,Il as bl,hl as bm,oh as bn,mn as bo,aa as bp,oa as bq,Hr as br,Rx as bs,Px as bt,Ox as bu,MR as bv,AR as bw,oT as bx,Di as by,$i as bz,H as c,u4 as c0,Ts as c1,ad as c2,y4 as c3,eS as c4,sR as c5,Qb as c6,fe as c7,Fn as c8,Tf as c9,a4 as cA,R4 as cB,kl as cC,nh as cD,W4 as cE,rh as cF,Gr as cG,Cf as cH,gl as cI,cb as cJ,Br as cK,F4 as cL,jT as ca,Lo as cb,x1 as cc,Kf as cd,d4 as ce,Ps as cf,Tl as cg,RR as ch,f_ as ci,aT as cj,_o as ck,dA as cl,ib as cm,b4 as cn,th as co,eh as cp,w4 as cq,FA as cr,GA as cs,p_ as ct,la as cu,ca as cv,qr as cw,I4 as cx,J_ as cy,H4 as cz,Le as d,Vi as e,Hi as f,$e as g,ct as h,ae as i,$n as j,Jf as k,gg as l,Pt as m,Xe as n,cn as o,ue as p,yS as q,O1 as r,xx as s,Wn as t,iI as u,co as v,gt as w,vA as x,cS as y,kd as z}; diff --git a/assets/index-CWRRKaNU.js b/assets/index-CWRRKaNU.js new file mode 100644 index 0000000..6cf3978 --- /dev/null +++ b/assets/index-CWRRKaNU.js @@ -0,0 +1 @@ +import{d}from"./dataProvider-Dty8Zh7m.js";import{X as n,_ as f,j as s,Z as i,a1 as o,Y as h,F as v,a2 as N,S as y,ac as C,ad as L,$ as x}from"./vendor-vue-H0jQBZ7T.js";import{_ as I,l as r,e as k,c as g,d as V,j as b,k as _,s as A,h as p,p as B,q as E,o as F}from"./index-Bqe1gKo7.js";import{V as S,a as T}from"./VAppBarTitle-CKv90Z6x.js";import{V as D}from"./VTextField-B7edjjhw.js";import{V as K}from"./VContainer-BHAiZEWc.js";import"./vendor-utils-DDRLRfsI.js";import"./serverRotation-CLP7smnN.js";import"./vendor-vuetify-ChAgIwn2.js";import"./autofocus-Dh4QPNon.js";const M={data(){return{lists:[],newListName:"",studentList:[],deleteDialog:{show:!1,text:"",listId:null},editingListId:null,editListName:""}},async created(){await Promise.all([this.loadLists(),this.loadStudentList()])},methods:{async loadLists(){try{let e=await d.loadData("classworks-list-info");(!e||!Array.isArray(e))&&(e=[],await d.saveData("classworks-list-info",e)),this.lists=e}catch(e){console.error("Failed to load lists",e),this.lists=[],await d.saveData("classworks-list-info",[])}},async loadStudentList(){try{const e=await d.loadData("classworks-list-main");e&&Array.isArray(e)?this.studentList=e:this.studentList=[]}catch(e){console.error("Failed to load student list",e),this.studentList=[]}},async createNewList(){if(!this.newListName)return;const e=Date.now().toString(),t={id:e,name:this.newListName};this.lists.push(t),await d.saveData("classworks-list-info",this.lists);const u=[];this.studentList&&this.studentList.length>0&&this.studentList.forEach(w=>{u.push({id:w.id||Date.now()+Math.floor(Math.random()*1e3),name:w.name,completed:!1})}),await d.saveData(`classworks-list-${e}`,u),this.newListName="",this.$router.push(`/list/${e}`)},startEditing(e){const t=this.lists.find(u=>u.id===e);t&&(this.editingListId=e,this.editListName=t.name)},cancelEditing(){this.editingListId=null,this.editListName=""},async saveListName(){if(!(!this.editListName.trim()||!this.editingListId))try{const e=this.lists.findIndex(t=>t.id===this.editingListId);e!==-1&&(this.lists[e].name=this.editListName.trim(),await d.saveData("classworks-list-info",this.lists)),this.editingListId=null,this.editListName=""}catch(e){console.error("Failed to update list name",e)}},confirmDeleteList(e){const t=this.lists.find(u=>u.id===e);t&&(this.deleteDialog={show:!0,text:`确定要删除列表 "${t.name}" 吗?`,listId:e})},confirmDelete(){this.deleteDialog.listId&&this.deleteList(this.deleteDialog.listId),this.deleteDialog.show=!1},async deleteList(e){this.lists=this.lists.filter(t=>t.id!==e),await d.saveData("classworks-list-info",this.lists)}}},U={key:0},j={key:1,class:"d-flex align-center w-100"},P={key:0};function q(e,t,u,w,a,m){return n(),f(v,null,[s(T,{elevation:"1"},{prepend:i(()=>[s(r,{icon:"mdi-arrow-left",variant:"text",onClick:t[0]||(t[0]=l=>e.$router.push("/"))})]),default:i(()=>[s(S,{class:"text-h6"},{default:i(()=>[...t[5]||(t[5]=[o("列表",-1)])]),_:1})]),_:1}),s(K,null,{default:i(()=>[s(k,{border:"",class:"mb-5",rounded:"xl"},{default:i(()=>[s(g,null,{default:i(()=>[...t[6]||(t[6]=[o("现有列表",-1)])]),_:1}),a.lists.length===0?(n(),h(V,{key:0},{default:i(()=>[...t[7]||(t[7]=[o(" 暂无列表,请创建新列表 ",-1)])]),_:1})):(n(),h(b,{key:1},{default:i(()=>[(n(!0),f(v,null,N(a.lists,l=>(n(),h(_,{key:l.id,active:l.id===a.editingListId,to:l.id!==a.editingListId?`/list/${l.id}`:void 0},{append:i(()=>[l.id!==a.editingListId?(n(),f("div",P,[s(r,{border:"",class:"mr-2",icon:"",onClick:L(c=>m.startEditing(l.id),["stop","prevent"])},{default:i(()=>[s(p,null,{default:i(()=>[...t[10]||(t[10]=[o("mdi-pencil",-1)])]),_:1})]),_:1},8,["onClick"]),s(r,{border:"",icon:"",onClick:L(c=>m.confirmDeleteList(l.id),["stop","prevent"])},{default:i(()=>[s(p,null,{default:i(()=>[...t[11]||(t[11]=[o("mdi-delete",-1)])]),_:1})]),_:1},8,["onClick"])])):x("",!0)]),default:i(()=>[l.id!==a.editingListId?(n(),f("div",U,[s(A,null,{default:i(()=>[o(y(l.name),1)]),_:2},1024)])):(n(),f("div",j,[s(D,{modelValue:a.editListName,"onUpdate:modelValue":t[1]||(t[1]=c=>a.editListName=c),autofocus:"",class:"mr-2",density:"compact","hide-details":"",label:"列表名称",onKeyup:C(m.saveListName,["enter"])},null,8,["modelValue","onKeyup"]),s(r,{border:"",class:"mr-2",color:"primary",icon:"",onClick:L(m.saveListName,["stop","prevent"])},{default:i(()=>[s(p,null,{default:i(()=>[...t[8]||(t[8]=[o("mdi-check",-1)])]),_:1})]),_:1},8,["onClick"]),s(r,{border:"",color:"error",icon:"",onClick:L(m.cancelEditing,["stop","prevent"])},{default:i(()=>[s(p,null,{default:i(()=>[...t[9]||(t[9]=[o("mdi-close",-1)])]),_:1})]),_:1},8,["onClick"])]))]),_:2},1032,["active","to"]))),128))]),_:1}))]),_:1}),s(k,{border:"",class:"mb-5",rounded:"xl"},{default:i(()=>[s(g,null,{default:i(()=>[...t[12]||(t[12]=[o("创建新列表",-1)])]),_:1}),s(V,null,{default:i(()=>[s(D,{modelValue:a.newListName,"onUpdate:modelValue":t[2]||(t[2]=l=>a.newListName=l),rules:[l=>!!l||"名称不能为空"],label:"列表名称"},null,8,["modelValue","rules"]),s(r,{disabled:!a.newListName,color:"primary",onClick:m.createNewList},{default:i(()=>[...t[13]||(t[13]=[o(" 创建列表 ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1}),s(B,{modelValue:a.deleteDialog.show,"onUpdate:modelValue":t[4]||(t[4]=l=>a.deleteDialog.show=l),"max-width":"500"},{default:i(()=>[s(k,{border:""},{default:i(()=>[s(g,null,{default:i(()=>[...t[14]||(t[14]=[o("删除列表",-1)])]),_:1}),s(V,null,{default:i(()=>[o(y(a.deleteDialog.text),1)]),_:1}),s(E,null,{default:i(()=>[s(F),s(r,{color:"primary",variant:"text",onClick:t[3]||(t[3]=l=>a.deleteDialog.show=!1)},{default:i(()=>[...t[15]||(t[15]=[o(" 取消 ",-1)])]),_:1}),s(r,{color:"error",variant:"text",onClick:m.confirmDelete},{default:i(()=>[...t[16]||(t[16]=[o(" 确认删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})],64)}const W=I(M,[["render",q]]);export{W as default}; diff --git a/assets/index-DIf6pzHS.css b/assets/index-CXKF55qP.css similarity index 98% rename from assets/index-DIf6pzHS.css rename to assets/index-CXKF55qP.css index acf7b86..e1ac819 100644 --- a/assets/index-DIf6pzHS.css +++ b/assets/index-CXKF55qP.css @@ -2,4 +2,4 @@ * ress.css • v2.0.4 * MIT License * github.com/filipelinhares/ress - */html{box-sizing:border-box;overflow-y:scroll;-webkit-text-size-adjust:100%;word-break:normal;-moz-tab-size:4;tab-size:4}*,:before,:after{background-repeat:no-repeat;box-sizing:inherit}:before,:after{text-decoration:inherit;vertical-align:inherit}*{padding:0;margin:0}hr{overflow:visible;height:0}details,main{display:block}summary{display:list-item}small{font-size:80%}[hidden]{display:none}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}a{background-color:transparent}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}pre{font-size:1em}b,strong{font-weight:bolder}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}input{border-radius:0}[disabled]{cursor:default}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit],[role=button]{cursor:pointer;color:inherit}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{outline:1px dotted ButtonText}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button,input,select,textarea{background-color:transparent;border-style:none}select{-moz-appearance:none;-webkit-appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;white-space:normal;max-width:100%}::-webkit-file-upload-button{-webkit-appearance:button;color:inherit;font:inherit}::-ms-clear,::-ms-reveal{display:none}img{border-style:none}progress{vertical-align:baseline}@media screen{[hidden~=screen]{display:inherit}[hidden~=screen]:not(:active):not(:focus):not(:target){position:absolute!important;clip:rect(0 0 0 0)!important}}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled=true]{cursor:default}@media (prefers-reduced-motion: no-preference){.dialog-transition-enter-active,.dialog-bottom-transition-enter-active,.dialog-top-transition-enter-active{transition-duration:225ms!important;transition-timing-function:cubic-bezier(0,0,.2,1)!important}.dialog-transition-leave-active,.dialog-bottom-transition-leave-active,.dialog-top-transition-leave-active{transition-duration:125ms!important;transition-timing-function:cubic-bezier(.4,0,1,1)!important}.dialog-transition-enter-active,.dialog-transition-leave-active,.dialog-bottom-transition-enter-active,.dialog-bottom-transition-leave-active,.dialog-top-transition-enter-active,.dialog-top-transition-leave-active{transition-property:transform,opacity!important;pointer-events:none}.dialog-transition-enter-from,.dialog-transition-leave-to{transform:scale(.9);opacity:0}.dialog-transition-enter-to,.dialog-transition-leave-from{opacity:1}.dialog-bottom-transition-enter-from,.dialog-bottom-transition-leave-to{transform:translateY(calc(50vh + 50%))}.dialog-top-transition-enter-from,.dialog-top-transition-leave-to{transform:translateY(calc(-50vh - 50%))}.picker-transition-enter-active,.picker-reverse-transition-enter-active,.picker-transition-leave-active,.picker-reverse-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.picker-transition-move,.picker-reverse-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.picker-transition-enter-from,.picker-transition-leave-to,.picker-reverse-transition-enter-from,.picker-reverse-transition-leave-to{opacity:0}.picker-transition-leave-from,.picker-transition-leave-active,.picker-transition-leave-to,.picker-reverse-transition-leave-from,.picker-reverse-transition-leave-active,.picker-reverse-transition-leave-to{position:absolute!important}.picker-transition-enter-active,.picker-transition-leave-active,.picker-reverse-transition-enter-active,.picker-reverse-transition-leave-active{transition-property:transform,opacity!important}.picker-transition-enter-active,.picker-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.picker-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.picker-transition-enter-from{transform:translate(100%)}.picker-transition-leave-to{transform:translate(-100%)}.picker-reverse-transition-enter-active,.picker-reverse-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.picker-reverse-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.picker-reverse-transition-enter-from{transform:translate(-100%)}.picker-reverse-transition-leave-to{transform:translate(100%)}.expand-transition-enter-active,.expand-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.expand-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.expand-transition-enter-active,.expand-transition-leave-active{transition-property:height!important}.expand-x-transition-enter-active,.expand-x-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.expand-x-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.expand-x-transition-enter-active,.expand-x-transition-leave-active{transition-property:width!important}.expand-both-transition-enter-active,.expand-both-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.expand-both-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.expand-both-transition-enter-active,.expand-both-transition-leave-active{transition-property:height,width!important}.scale-transition-enter-active,.scale-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scale-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scale-transition-leave-to{opacity:0}.scale-transition-leave-active{transition-duration:.1s!important}.scale-transition-enter-from{opacity:0;transform:scale(0)}.scale-transition-enter-active,.scale-transition-leave-active{transition-property:transform,opacity!important}.scale-rotate-transition-enter-active,.scale-rotate-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scale-rotate-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scale-rotate-transition-leave-to{opacity:0}.scale-rotate-transition-leave-active{transition-duration:.1s!important}.scale-rotate-transition-enter-from{opacity:0;transform:scale(0) rotate(-45deg)}.scale-rotate-transition-enter-active,.scale-rotate-transition-leave-active{transition-property:transform,opacity!important}.scale-rotate-reverse-transition-enter-active,.scale-rotate-reverse-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scale-rotate-reverse-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scale-rotate-reverse-transition-leave-to{opacity:0}.scale-rotate-reverse-transition-leave-active{transition-duration:.1s!important}.scale-rotate-reverse-transition-enter-from{opacity:0;transform:scale(0) rotate(45deg)}.scale-rotate-reverse-transition-enter-active,.scale-rotate-reverse-transition-leave-active{transition-property:transform,opacity!important}.message-transition-enter-active,.message-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.message-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.message-transition-enter-from,.message-transition-leave-to{opacity:0;transform:translateY(-15px)}.message-transition-leave-from,.message-transition-leave-active{position:absolute}.message-transition-enter-active,.message-transition-leave-active{transition-property:transform,opacity!important}.slide-y-transition-enter-active,.slide-y-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.slide-y-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.slide-y-transition-enter-from,.slide-y-transition-leave-to{opacity:0;transform:translateY(-15px)}.slide-y-transition-enter-active,.slide-y-transition-leave-active{transition-property:transform,opacity!important}.slide-y-reverse-transition-enter-active,.slide-y-reverse-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.slide-y-reverse-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.slide-y-reverse-transition-enter-from,.slide-y-reverse-transition-leave-to{opacity:0;transform:translateY(15px)}.slide-y-reverse-transition-enter-active,.slide-y-reverse-transition-leave-active{transition-property:transform,opacity!important}.scroll-y-transition-enter-active,.scroll-y-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scroll-y-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scroll-y-transition-enter-from,.scroll-y-transition-leave-to{opacity:0}.scroll-y-transition-enter-from{transform:translateY(-15px)}.scroll-y-transition-leave-to{transform:translateY(15px)}.scroll-y-transition-enter-active,.scroll-y-transition-leave-active{transition-property:transform,opacity!important}.scroll-y-reverse-transition-enter-active,.scroll-y-reverse-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scroll-y-reverse-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scroll-y-reverse-transition-enter-from,.scroll-y-reverse-transition-leave-to{opacity:0}.scroll-y-reverse-transition-enter-from{transform:translateY(15px)}.scroll-y-reverse-transition-leave-to{transform:translateY(-15px)}.scroll-y-reverse-transition-enter-active,.scroll-y-reverse-transition-leave-active{transition-property:transform,opacity!important}.scroll-x-transition-enter-active,.scroll-x-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scroll-x-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scroll-x-transition-enter-from,.scroll-x-transition-leave-to{opacity:0}.scroll-x-transition-enter-from{transform:translate(-15px)}.scroll-x-transition-leave-to{transform:translate(15px)}.scroll-x-transition-enter-active,.scroll-x-transition-leave-active{transition-property:transform,opacity!important}.scroll-x-reverse-transition-enter-active,.scroll-x-reverse-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scroll-x-reverse-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scroll-x-reverse-transition-enter-from,.scroll-x-reverse-transition-leave-to{opacity:0}.scroll-x-reverse-transition-enter-from{transform:translate(15px)}.scroll-x-reverse-transition-leave-to{transform:translate(-15px)}.scroll-x-reverse-transition-enter-active,.scroll-x-reverse-transition-leave-active{transition-property:transform,opacity!important}.slide-x-transition-enter-active,.slide-x-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.slide-x-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.slide-x-transition-enter-from,.slide-x-transition-leave-to{opacity:0;transform:translate(-15px)}.slide-x-transition-enter-active,.slide-x-transition-leave-active{transition-property:transform,opacity!important}.slide-x-reverse-transition-enter-active,.slide-x-reverse-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.slide-x-reverse-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.slide-x-reverse-transition-enter-from,.slide-x-reverse-transition-leave-to{opacity:0;transform:translate(15px)}.slide-x-reverse-transition-enter-active,.slide-x-reverse-transition-leave-active{transition-property:transform,opacity!important}.fade-transition-enter-active,.fade-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.fade-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.fade-transition-enter-from,.fade-transition-leave-to{opacity:0!important}.fade-transition-enter-active,.fade-transition-leave-active{transition-property:opacity!important}.fab-transition-enter-active,.fab-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.fab-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.fab-transition-enter-from,.fab-transition-leave-to{transform:scale(0) rotate(-45deg)}.fab-transition-enter-active,.fab-transition-leave-active{transition-property:transform!important}}.v-locale--is-rtl{direction:rtl}.v-locale--is-ltr{direction:ltr}.blockquote{padding:16px 0 16px 24px;font-size:18px;font-weight:300}html{font-family:Roboto,sans-serif;line-height:1.5;font-size:1rem;overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:rgba(0,0,0,0)}html.overflow-y-hidden{overflow-y:hidden!important}:root{--v-theme-overlay-multiplier: 1;--v-scrollbar-offset: 0px}@supports (-webkit-touch-callout: none){body{cursor:pointer}}@media only print{.hidden-print-only{display:none!important}}@media only screen{.hidden-screen-only{display:none!important}}@media (max-width: 599.98px){.hidden-xs{display:none!important}}@media (min-width: 600px) and (max-width: 959.98px){.hidden-sm{display:none!important}}@media (min-width: 960px) and (max-width: 1279.98px){.hidden-md{display:none!important}}@media (min-width: 1280px) and (max-width: 1919.98px){.hidden-lg{display:none!important}}@media (min-width: 1920px) and (max-width: 2559.98px){.hidden-xl{display:none!important}}@media (min-width: 2560px){.hidden-xxl{display:none!important}}@media (min-width: 600px){.hidden-sm-and-up{display:none!important}}@media (min-width: 960px){.hidden-md-and-up{display:none!important}}@media (min-width: 1280px){.hidden-lg-and-up{display:none!important}}@media (min-width: 1920px){.hidden-xl-and-up{display:none!important}}@media (max-width: 959.98px){.hidden-sm-and-down{display:none!important}}@media (max-width: 1279.98px){.hidden-md-and-down{display:none!important}}@media (max-width: 1919.98px){.hidden-lg-and-down{display:none!important}}@media (max-width: 2559.98px){.hidden-xl-and-down{display:none!important}}.elevation-24{box-shadow:0 11px 15px -7px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 24px 38px 3px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 9px 46px 8px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-23{box-shadow:0 11px 14px -7px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 23px 36px 3px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 9px 44px 8px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-22{box-shadow:0 10px 14px -6px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 22px 35px 3px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 8px 42px 7px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-21{box-shadow:0 10px 13px -6px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 21px 33px 3px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 8px 40px 7px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-20{box-shadow:0 10px 13px -6px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 20px 31px 3px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 8px 38px 7px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-19{box-shadow:0 9px 12px -6px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 19px 29px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 7px 36px 6px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-18{box-shadow:0 9px 11px -5px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 18px 28px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 7px 34px 6px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-17{box-shadow:0 8px 11px -5px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 17px 26px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 6px 32px 5px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-16{box-shadow:0 8px 10px -5px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 16px 24px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 6px 30px 5px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-15{box-shadow:0 8px 9px -5px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 15px 22px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 6px 28px 5px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-14{box-shadow:0 7px 9px -4px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 14px 21px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 5px 26px 4px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-13{box-shadow:0 7px 8px -4px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 13px 19px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 5px 24px 4px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-12{box-shadow:0 7px 8px -4px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 12px 17px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 5px 22px 4px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-11{box-shadow:0 6px 7px -4px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 11px 15px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 4px 20px 3px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-10{box-shadow:0 6px 6px -3px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 10px 14px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 4px 18px 3px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-9{box-shadow:0 5px 6px -3px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 9px 12px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 3px 16px 2px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-8{box-shadow:0 5px 5px -3px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 8px 10px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 3px 14px 2px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-7{box-shadow:0 4px 5px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 7px 10px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 2px 16px 1px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-6{box-shadow:0 3px 5px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 6px 10px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 18px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-5{box-shadow:0 3px 5px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 5px 8px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 14px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-4{box-shadow:0 2px 4px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 4px 5px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 10px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-3{box-shadow:0 3px 3px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 3px 4px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 8px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-2{box-shadow:0 3px 1px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 2px 2px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 5px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-1{box-shadow:0 2px 1px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 1px 1px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 3px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-0{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.pointer-events-none{pointer-events:none!important}.pointer-events-auto{pointer-events:auto!important}.pointer-pass-through{pointer-events:none!important}.pointer-pass-through>*{pointer-events:auto!important}.d-sr-only,.d-sr-only-focusable:not(:focus){border:0!important;clip:rect(0,0,0,0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-scroll{overflow-y:scroll!important}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.float-none{float:none!important}.float-left{float:left!important}.float-right{float:right!important}.v-locale--is-rtl .float-end{float:left!important}.v-locale--is-rtl .float-start,.v-locale--is-ltr .float-end{float:right!important}.v-locale--is-ltr .float-start{float:left!important}.flex-fill,.flex-1-1{flex:1 1 auto!important}.flex-1-0{flex:1 0 auto!important}.flex-0-1{flex:0 1 auto!important}.flex-0-0{flex:0 0 auto!important}.flex-1-1-100{flex:1 1 100%!important}.flex-1-0-100{flex:1 0 100%!important}.flex-0-1-100{flex:0 1 100%!important}.flex-0-0-100{flex:0 0 100%!important}.flex-1-1-0{flex:1 1 0!important}.flex-1-0-0{flex:1 0 0!important}.flex-0-1-0{flex:0 1 0!important}.flex-0-0-0{flex:0 0 0!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-start{justify-content:flex-start!important}.justify-end{justify-content:flex-end!important}.justify-center{justify-content:center!important}.justify-space-between{justify-content:space-between!important}.justify-space-around{justify-content:space-around!important}.justify-space-evenly{justify-content:space-evenly!important}.justify-items-start{justify-items:flex-start!important}.justify-items-end{justify-items:flex-end!important}.justify-items-center{justify-items:center!important}.justify-items-stretch{justify-items:stretch!important}.align-start{align-items:flex-start!important}.align-end{align-items:flex-end!important}.align-center{align-items:center!important}.align-baseline{align-items:baseline!important}.align-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-space-between{align-content:space-between!important}.align-content-space-around{align-content:space-around!important}.align-content-space-evenly{align-content:space-evenly!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-6{order:6!important}.order-7{order:7!important}.order-8{order:8!important}.order-9{order:9!important}.order-10{order:10!important}.order-11{order:11!important}.order-12{order:12!important}.order-last{order:13!important}.ga-0{gap:0px!important}.ga-1{gap:4px!important}.ga-2{gap:8px!important}.ga-3{gap:12px!important}.ga-4{gap:16px!important}.ga-5{gap:20px!important}.ga-6{gap:24px!important}.ga-7{gap:28px!important}.ga-8{gap:32px!important}.ga-9{gap:36px!important}.ga-10{gap:40px!important}.ga-11{gap:44px!important}.ga-12{gap:48px!important}.ga-13{gap:52px!important}.ga-14{gap:56px!important}.ga-15{gap:60px!important}.ga-16{gap:64px!important}.ga-auto{gap:auto!important}.gr-0{row-gap:0px!important}.gr-1{row-gap:4px!important}.gr-2{row-gap:8px!important}.gr-3{row-gap:12px!important}.gr-4{row-gap:16px!important}.gr-5{row-gap:20px!important}.gr-6{row-gap:24px!important}.gr-7{row-gap:28px!important}.gr-8{row-gap:32px!important}.gr-9{row-gap:36px!important}.gr-10{row-gap:40px!important}.gr-11{row-gap:44px!important}.gr-12{row-gap:48px!important}.gr-13{row-gap:52px!important}.gr-14{row-gap:56px!important}.gr-15{row-gap:60px!important}.gr-16{row-gap:64px!important}.gr-auto{row-gap:auto!important}.gc-0{column-gap:0px!important}.gc-1{column-gap:4px!important}.gc-2{column-gap:8px!important}.gc-3{column-gap:12px!important}.gc-4{column-gap:16px!important}.gc-5{column-gap:20px!important}.gc-6{column-gap:24px!important}.gc-7{column-gap:28px!important}.gc-8{column-gap:32px!important}.gc-9{column-gap:36px!important}.gc-10{column-gap:40px!important}.gc-11{column-gap:44px!important}.gc-12{column-gap:48px!important}.gc-13{column-gap:52px!important}.gc-14{column-gap:56px!important}.gc-15{column-gap:60px!important}.gc-16{column-gap:64px!important}.gc-auto{column-gap:auto!important}.ma-0{margin:0!important}.ma-1{margin:4px!important}.ma-2{margin:8px!important}.ma-3{margin:12px!important}.ma-4{margin:16px!important}.ma-5{margin:20px!important}.ma-6{margin:24px!important}.ma-7{margin:28px!important}.ma-8{margin:32px!important}.ma-9{margin:36px!important}.ma-10{margin:40px!important}.ma-11{margin:44px!important}.ma-12{margin:48px!important}.ma-13{margin:52px!important}.ma-14{margin:56px!important}.ma-15{margin:60px!important}.ma-16{margin:64px!important}.ma-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:4px!important;margin-left:4px!important}.mx-2{margin-right:8px!important;margin-left:8px!important}.mx-3{margin-right:12px!important;margin-left:12px!important}.mx-4{margin-right:16px!important;margin-left:16px!important}.mx-5{margin-right:20px!important;margin-left:20px!important}.mx-6{margin-right:24px!important;margin-left:24px!important}.mx-7{margin-right:28px!important;margin-left:28px!important}.mx-8{margin-right:32px!important;margin-left:32px!important}.mx-9{margin-right:36px!important;margin-left:36px!important}.mx-10{margin-right:40px!important;margin-left:40px!important}.mx-11{margin-right:44px!important;margin-left:44px!important}.mx-12{margin-right:48px!important;margin-left:48px!important}.mx-13{margin-right:52px!important;margin-left:52px!important}.mx-14{margin-right:56px!important;margin-left:56px!important}.mx-15{margin-right:60px!important;margin-left:60px!important}.mx-16{margin-right:64px!important;margin-left:64px!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:4px!important;margin-bottom:4px!important}.my-2{margin-top:8px!important;margin-bottom:8px!important}.my-3{margin-top:12px!important;margin-bottom:12px!important}.my-4{margin-top:16px!important;margin-bottom:16px!important}.my-5{margin-top:20px!important;margin-bottom:20px!important}.my-6{margin-top:24px!important;margin-bottom:24px!important}.my-7{margin-top:28px!important;margin-bottom:28px!important}.my-8{margin-top:32px!important;margin-bottom:32px!important}.my-9{margin-top:36px!important;margin-bottom:36px!important}.my-10{margin-top:40px!important;margin-bottom:40px!important}.my-11{margin-top:44px!important;margin-bottom:44px!important}.my-12{margin-top:48px!important;margin-bottom:48px!important}.my-13{margin-top:52px!important;margin-bottom:52px!important}.my-14{margin-top:56px!important;margin-bottom:56px!important}.my-15{margin-top:60px!important;margin-bottom:60px!important}.my-16{margin-top:64px!important;margin-bottom:64px!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:4px!important}.mt-2{margin-top:8px!important}.mt-3{margin-top:12px!important}.mt-4{margin-top:16px!important}.mt-5{margin-top:20px!important}.mt-6{margin-top:24px!important}.mt-7{margin-top:28px!important}.mt-8{margin-top:32px!important}.mt-9{margin-top:36px!important}.mt-10{margin-top:40px!important}.mt-11{margin-top:44px!important}.mt-12{margin-top:48px!important}.mt-13{margin-top:52px!important}.mt-14{margin-top:56px!important}.mt-15{margin-top:60px!important}.mt-16{margin-top:64px!important}.mt-auto{margin-top:auto!important}.mr-0{margin-right:0!important}.mr-1{margin-right:4px!important}.mr-2{margin-right:8px!important}.mr-3{margin-right:12px!important}.mr-4{margin-right:16px!important}.mr-5{margin-right:20px!important}.mr-6{margin-right:24px!important}.mr-7{margin-right:28px!important}.mr-8{margin-right:32px!important}.mr-9{margin-right:36px!important}.mr-10{margin-right:40px!important}.mr-11{margin-right:44px!important}.mr-12{margin-right:48px!important}.mr-13{margin-right:52px!important}.mr-14{margin-right:56px!important}.mr-15{margin-right:60px!important}.mr-16{margin-right:64px!important}.mr-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:4px!important}.mb-2{margin-bottom:8px!important}.mb-3{margin-bottom:12px!important}.mb-4{margin-bottom:16px!important}.mb-5{margin-bottom:20px!important}.mb-6{margin-bottom:24px!important}.mb-7{margin-bottom:28px!important}.mb-8{margin-bottom:32px!important}.mb-9{margin-bottom:36px!important}.mb-10{margin-bottom:40px!important}.mb-11{margin-bottom:44px!important}.mb-12{margin-bottom:48px!important}.mb-13{margin-bottom:52px!important}.mb-14{margin-bottom:56px!important}.mb-15{margin-bottom:60px!important}.mb-16{margin-bottom:64px!important}.mb-auto{margin-bottom:auto!important}.ml-0{margin-left:0!important}.ml-1{margin-left:4px!important}.ml-2{margin-left:8px!important}.ml-3{margin-left:12px!important}.ml-4{margin-left:16px!important}.ml-5{margin-left:20px!important}.ml-6{margin-left:24px!important}.ml-7{margin-left:28px!important}.ml-8{margin-left:32px!important}.ml-9{margin-left:36px!important}.ml-10{margin-left:40px!important}.ml-11{margin-left:44px!important}.ml-12{margin-left:48px!important}.ml-13{margin-left:52px!important}.ml-14{margin-left:56px!important}.ml-15{margin-left:60px!important}.ml-16{margin-left:64px!important}.ml-auto{margin-left:auto!important}.ms-0{margin-inline-start:0px!important}.ms-1{margin-inline-start:4px!important}.ms-2{margin-inline-start:8px!important}.ms-3{margin-inline-start:12px!important}.ms-4{margin-inline-start:16px!important}.ms-5{margin-inline-start:20px!important}.ms-6{margin-inline-start:24px!important}.ms-7{margin-inline-start:28px!important}.ms-8{margin-inline-start:32px!important}.ms-9{margin-inline-start:36px!important}.ms-10{margin-inline-start:40px!important}.ms-11{margin-inline-start:44px!important}.ms-12{margin-inline-start:48px!important}.ms-13{margin-inline-start:52px!important}.ms-14{margin-inline-start:56px!important}.ms-15{margin-inline-start:60px!important}.ms-16{margin-inline-start:64px!important}.ms-auto{margin-inline-start:auto!important}.me-0{margin-inline-end:0px!important}.me-1{margin-inline-end:4px!important}.me-2{margin-inline-end:8px!important}.me-3{margin-inline-end:12px!important}.me-4{margin-inline-end:16px!important}.me-5{margin-inline-end:20px!important}.me-6{margin-inline-end:24px!important}.me-7{margin-inline-end:28px!important}.me-8{margin-inline-end:32px!important}.me-9{margin-inline-end:36px!important}.me-10{margin-inline-end:40px!important}.me-11{margin-inline-end:44px!important}.me-12{margin-inline-end:48px!important}.me-13{margin-inline-end:52px!important}.me-14{margin-inline-end:56px!important}.me-15{margin-inline-end:60px!important}.me-16{margin-inline-end:64px!important}.me-auto{margin-inline-end:auto!important}.ma-n1{margin:-4px!important}.ma-n2{margin:-8px!important}.ma-n3{margin:-12px!important}.ma-n4{margin:-16px!important}.ma-n5{margin:-20px!important}.ma-n6{margin:-24px!important}.ma-n7{margin:-28px!important}.ma-n8{margin:-32px!important}.ma-n9{margin:-36px!important}.ma-n10{margin:-40px!important}.ma-n11{margin:-44px!important}.ma-n12{margin:-48px!important}.ma-n13{margin:-52px!important}.ma-n14{margin:-56px!important}.ma-n15{margin:-60px!important}.ma-n16{margin:-64px!important}.mx-n1{margin-right:-4px!important;margin-left:-4px!important}.mx-n2{margin-right:-8px!important;margin-left:-8px!important}.mx-n3{margin-right:-12px!important;margin-left:-12px!important}.mx-n4{margin-right:-16px!important;margin-left:-16px!important}.mx-n5{margin-right:-20px!important;margin-left:-20px!important}.mx-n6{margin-right:-24px!important;margin-left:-24px!important}.mx-n7{margin-right:-28px!important;margin-left:-28px!important}.mx-n8{margin-right:-32px!important;margin-left:-32px!important}.mx-n9{margin-right:-36px!important;margin-left:-36px!important}.mx-n10{margin-right:-40px!important;margin-left:-40px!important}.mx-n11{margin-right:-44px!important;margin-left:-44px!important}.mx-n12{margin-right:-48px!important;margin-left:-48px!important}.mx-n13{margin-right:-52px!important;margin-left:-52px!important}.mx-n14{margin-right:-56px!important;margin-left:-56px!important}.mx-n15{margin-right:-60px!important;margin-left:-60px!important}.mx-n16{margin-right:-64px!important;margin-left:-64px!important}.my-n1{margin-top:-4px!important;margin-bottom:-4px!important}.my-n2{margin-top:-8px!important;margin-bottom:-8px!important}.my-n3{margin-top:-12px!important;margin-bottom:-12px!important}.my-n4{margin-top:-16px!important;margin-bottom:-16px!important}.my-n5{margin-top:-20px!important;margin-bottom:-20px!important}.my-n6{margin-top:-24px!important;margin-bottom:-24px!important}.my-n7{margin-top:-28px!important;margin-bottom:-28px!important}.my-n8{margin-top:-32px!important;margin-bottom:-32px!important}.my-n9{margin-top:-36px!important;margin-bottom:-36px!important}.my-n10{margin-top:-40px!important;margin-bottom:-40px!important}.my-n11{margin-top:-44px!important;margin-bottom:-44px!important}.my-n12{margin-top:-48px!important;margin-bottom:-48px!important}.my-n13{margin-top:-52px!important;margin-bottom:-52px!important}.my-n14{margin-top:-56px!important;margin-bottom:-56px!important}.my-n15{margin-top:-60px!important;margin-bottom:-60px!important}.my-n16{margin-top:-64px!important;margin-bottom:-64px!important}.mt-n1{margin-top:-4px!important}.mt-n2{margin-top:-8px!important}.mt-n3{margin-top:-12px!important}.mt-n4{margin-top:-16px!important}.mt-n5{margin-top:-20px!important}.mt-n6{margin-top:-24px!important}.mt-n7{margin-top:-28px!important}.mt-n8{margin-top:-32px!important}.mt-n9{margin-top:-36px!important}.mt-n10{margin-top:-40px!important}.mt-n11{margin-top:-44px!important}.mt-n12{margin-top:-48px!important}.mt-n13{margin-top:-52px!important}.mt-n14{margin-top:-56px!important}.mt-n15{margin-top:-60px!important}.mt-n16{margin-top:-64px!important}.mr-n1{margin-right:-4px!important}.mr-n2{margin-right:-8px!important}.mr-n3{margin-right:-12px!important}.mr-n4{margin-right:-16px!important}.mr-n5{margin-right:-20px!important}.mr-n6{margin-right:-24px!important}.mr-n7{margin-right:-28px!important}.mr-n8{margin-right:-32px!important}.mr-n9{margin-right:-36px!important}.mr-n10{margin-right:-40px!important}.mr-n11{margin-right:-44px!important}.mr-n12{margin-right:-48px!important}.mr-n13{margin-right:-52px!important}.mr-n14{margin-right:-56px!important}.mr-n15{margin-right:-60px!important}.mr-n16{margin-right:-64px!important}.mb-n1{margin-bottom:-4px!important}.mb-n2{margin-bottom:-8px!important}.mb-n3{margin-bottom:-12px!important}.mb-n4{margin-bottom:-16px!important}.mb-n5{margin-bottom:-20px!important}.mb-n6{margin-bottom:-24px!important}.mb-n7{margin-bottom:-28px!important}.mb-n8{margin-bottom:-32px!important}.mb-n9{margin-bottom:-36px!important}.mb-n10{margin-bottom:-40px!important}.mb-n11{margin-bottom:-44px!important}.mb-n12{margin-bottom:-48px!important}.mb-n13{margin-bottom:-52px!important}.mb-n14{margin-bottom:-56px!important}.mb-n15{margin-bottom:-60px!important}.mb-n16{margin-bottom:-64px!important}.ml-n1{margin-left:-4px!important}.ml-n2{margin-left:-8px!important}.ml-n3{margin-left:-12px!important}.ml-n4{margin-left:-16px!important}.ml-n5{margin-left:-20px!important}.ml-n6{margin-left:-24px!important}.ml-n7{margin-left:-28px!important}.ml-n8{margin-left:-32px!important}.ml-n9{margin-left:-36px!important}.ml-n10{margin-left:-40px!important}.ml-n11{margin-left:-44px!important}.ml-n12{margin-left:-48px!important}.ml-n13{margin-left:-52px!important}.ml-n14{margin-left:-56px!important}.ml-n15{margin-left:-60px!important}.ml-n16{margin-left:-64px!important}.ms-n1{margin-inline-start:-4px!important}.ms-n2{margin-inline-start:-8px!important}.ms-n3{margin-inline-start:-12px!important}.ms-n4{margin-inline-start:-16px!important}.ms-n5{margin-inline-start:-20px!important}.ms-n6{margin-inline-start:-24px!important}.ms-n7{margin-inline-start:-28px!important}.ms-n8{margin-inline-start:-32px!important}.ms-n9{margin-inline-start:-36px!important}.ms-n10{margin-inline-start:-40px!important}.ms-n11{margin-inline-start:-44px!important}.ms-n12{margin-inline-start:-48px!important}.ms-n13{margin-inline-start:-52px!important}.ms-n14{margin-inline-start:-56px!important}.ms-n15{margin-inline-start:-60px!important}.ms-n16{margin-inline-start:-64px!important}.me-n1{margin-inline-end:-4px!important}.me-n2{margin-inline-end:-8px!important}.me-n3{margin-inline-end:-12px!important}.me-n4{margin-inline-end:-16px!important}.me-n5{margin-inline-end:-20px!important}.me-n6{margin-inline-end:-24px!important}.me-n7{margin-inline-end:-28px!important}.me-n8{margin-inline-end:-32px!important}.me-n9{margin-inline-end:-36px!important}.me-n10{margin-inline-end:-40px!important}.me-n11{margin-inline-end:-44px!important}.me-n12{margin-inline-end:-48px!important}.me-n13{margin-inline-end:-52px!important}.me-n14{margin-inline-end:-56px!important}.me-n15{margin-inline-end:-60px!important}.me-n16{margin-inline-end:-64px!important}.pa-0{padding:0!important}.pa-1{padding:4px!important}.pa-2{padding:8px!important}.pa-3{padding:12px!important}.pa-4{padding:16px!important}.pa-5{padding:20px!important}.pa-6{padding:24px!important}.pa-7{padding:28px!important}.pa-8{padding:32px!important}.pa-9{padding:36px!important}.pa-10{padding:40px!important}.pa-11{padding:44px!important}.pa-12{padding:48px!important}.pa-13{padding:52px!important}.pa-14{padding:56px!important}.pa-15{padding:60px!important}.pa-16{padding:64px!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:4px!important;padding-left:4px!important}.px-2{padding-right:8px!important;padding-left:8px!important}.px-3{padding-right:12px!important;padding-left:12px!important}.px-4{padding-right:16px!important;padding-left:16px!important}.px-5{padding-right:20px!important;padding-left:20px!important}.px-6{padding-right:24px!important;padding-left:24px!important}.px-7{padding-right:28px!important;padding-left:28px!important}.px-8{padding-right:32px!important;padding-left:32px!important}.px-9{padding-right:36px!important;padding-left:36px!important}.px-10{padding-right:40px!important;padding-left:40px!important}.px-11{padding-right:44px!important;padding-left:44px!important}.px-12{padding-right:48px!important;padding-left:48px!important}.px-13{padding-right:52px!important;padding-left:52px!important}.px-14{padding-right:56px!important;padding-left:56px!important}.px-15{padding-right:60px!important;padding-left:60px!important}.px-16{padding-right:64px!important;padding-left:64px!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:4px!important;padding-bottom:4px!important}.py-2{padding-top:8px!important;padding-bottom:8px!important}.py-3{padding-top:12px!important;padding-bottom:12px!important}.py-4{padding-top:16px!important;padding-bottom:16px!important}.py-5{padding-top:20px!important;padding-bottom:20px!important}.py-6{padding-top:24px!important;padding-bottom:24px!important}.py-7{padding-top:28px!important;padding-bottom:28px!important}.py-8{padding-top:32px!important;padding-bottom:32px!important}.py-9{padding-top:36px!important;padding-bottom:36px!important}.py-10{padding-top:40px!important;padding-bottom:40px!important}.py-11{padding-top:44px!important;padding-bottom:44px!important}.py-12{padding-top:48px!important;padding-bottom:48px!important}.py-13{padding-top:52px!important;padding-bottom:52px!important}.py-14{padding-top:56px!important;padding-bottom:56px!important}.py-15{padding-top:60px!important;padding-bottom:60px!important}.py-16{padding-top:64px!important;padding-bottom:64px!important}.pt-0{padding-top:0!important}.pt-1{padding-top:4px!important}.pt-2{padding-top:8px!important}.pt-3{padding-top:12px!important}.pt-4{padding-top:16px!important}.pt-5{padding-top:20px!important}.pt-6{padding-top:24px!important}.pt-7{padding-top:28px!important}.pt-8{padding-top:32px!important}.pt-9{padding-top:36px!important}.pt-10{padding-top:40px!important}.pt-11{padding-top:44px!important}.pt-12{padding-top:48px!important}.pt-13{padding-top:52px!important}.pt-14{padding-top:56px!important}.pt-15{padding-top:60px!important}.pt-16{padding-top:64px!important}.pr-0{padding-right:0!important}.pr-1{padding-right:4px!important}.pr-2{padding-right:8px!important}.pr-3{padding-right:12px!important}.pr-4{padding-right:16px!important}.pr-5{padding-right:20px!important}.pr-6{padding-right:24px!important}.pr-7{padding-right:28px!important}.pr-8{padding-right:32px!important}.pr-9{padding-right:36px!important}.pr-10{padding-right:40px!important}.pr-11{padding-right:44px!important}.pr-12{padding-right:48px!important}.pr-13{padding-right:52px!important}.pr-14{padding-right:56px!important}.pr-15{padding-right:60px!important}.pr-16{padding-right:64px!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:4px!important}.pb-2{padding-bottom:8px!important}.pb-3{padding-bottom:12px!important}.pb-4{padding-bottom:16px!important}.pb-5{padding-bottom:20px!important}.pb-6{padding-bottom:24px!important}.pb-7{padding-bottom:28px!important}.pb-8{padding-bottom:32px!important}.pb-9{padding-bottom:36px!important}.pb-10{padding-bottom:40px!important}.pb-11{padding-bottom:44px!important}.pb-12{padding-bottom:48px!important}.pb-13{padding-bottom:52px!important}.pb-14{padding-bottom:56px!important}.pb-15{padding-bottom:60px!important}.pb-16{padding-bottom:64px!important}.pl-0{padding-left:0!important}.pl-1{padding-left:4px!important}.pl-2{padding-left:8px!important}.pl-3{padding-left:12px!important}.pl-4{padding-left:16px!important}.pl-5{padding-left:20px!important}.pl-6{padding-left:24px!important}.pl-7{padding-left:28px!important}.pl-8{padding-left:32px!important}.pl-9{padding-left:36px!important}.pl-10{padding-left:40px!important}.pl-11{padding-left:44px!important}.pl-12{padding-left:48px!important}.pl-13{padding-left:52px!important}.pl-14{padding-left:56px!important}.pl-15{padding-left:60px!important}.pl-16{padding-left:64px!important}.ps-0{padding-inline-start:0px!important}.ps-1{padding-inline-start:4px!important}.ps-2{padding-inline-start:8px!important}.ps-3{padding-inline-start:12px!important}.ps-4{padding-inline-start:16px!important}.ps-5{padding-inline-start:20px!important}.ps-6{padding-inline-start:24px!important}.ps-7{padding-inline-start:28px!important}.ps-8{padding-inline-start:32px!important}.ps-9{padding-inline-start:36px!important}.ps-10{padding-inline-start:40px!important}.ps-11{padding-inline-start:44px!important}.ps-12{padding-inline-start:48px!important}.ps-13{padding-inline-start:52px!important}.ps-14{padding-inline-start:56px!important}.ps-15{padding-inline-start:60px!important}.ps-16{padding-inline-start:64px!important}.pe-0{padding-inline-end:0px!important}.pe-1{padding-inline-end:4px!important}.pe-2{padding-inline-end:8px!important}.pe-3{padding-inline-end:12px!important}.pe-4{padding-inline-end:16px!important}.pe-5{padding-inline-end:20px!important}.pe-6{padding-inline-end:24px!important}.pe-7{padding-inline-end:28px!important}.pe-8{padding-inline-end:32px!important}.pe-9{padding-inline-end:36px!important}.pe-10{padding-inline-end:40px!important}.pe-11{padding-inline-end:44px!important}.pe-12{padding-inline-end:48px!important}.pe-13{padding-inline-end:52px!important}.pe-14{padding-inline-end:56px!important}.pe-15{padding-inline-end:60px!important}.pe-16{padding-inline-end:64px!important}.rounded-0{border-radius:0!important}.rounded-sm{border-radius:2px!important}.rounded{border-radius:4px!important}.rounded-lg{border-radius:8px!important}.rounded-xl{border-radius:24px!important}.rounded-pill{border-radius:9999px!important}.rounded-circle{border-radius:50%!important}.rounded-shaped{border-radius:24px 0!important}.rounded-t-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-t-sm{border-top-left-radius:2px!important;border-top-right-radius:2px!important}.rounded-t{border-top-left-radius:4px!important;border-top-right-radius:4px!important}.rounded-t-lg{border-top-left-radius:8px!important;border-top-right-radius:8px!important}.rounded-t-xl{border-top-left-radius:24px!important;border-top-right-radius:24px!important}.rounded-t-pill{border-top-left-radius:9999px!important;border-top-right-radius:9999px!important}.rounded-t-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-t-shaped{border-top-left-radius:24px!important;border-top-right-radius:0!important}.v-locale--is-ltr .rounded-e-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.v-locale--is-rtl .rounded-e-0{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.v-locale--is-ltr .rounded-e-sm{border-top-right-radius:2px!important;border-bottom-right-radius:2px!important}.v-locale--is-rtl .rounded-e-sm{border-top-left-radius:2px!important;border-bottom-left-radius:2px!important}.v-locale--is-ltr .rounded-e{border-top-right-radius:4px!important;border-bottom-right-radius:4px!important}.v-locale--is-rtl .rounded-e{border-top-left-radius:4px!important;border-bottom-left-radius:4px!important}.v-locale--is-ltr .rounded-e-lg{border-top-right-radius:8px!important;border-bottom-right-radius:8px!important}.v-locale--is-rtl .rounded-e-lg{border-top-left-radius:8px!important;border-bottom-left-radius:8px!important}.v-locale--is-ltr .rounded-e-xl{border-top-right-radius:24px!important;border-bottom-right-radius:24px!important}.v-locale--is-rtl .rounded-e-xl{border-top-left-radius:24px!important;border-bottom-left-radius:24px!important}.v-locale--is-ltr .rounded-e-pill{border-top-right-radius:9999px!important;border-bottom-right-radius:9999px!important}.v-locale--is-rtl .rounded-e-pill{border-top-left-radius:9999px!important;border-bottom-left-radius:9999px!important}.v-locale--is-ltr .rounded-e-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.v-locale--is-rtl .rounded-e-circle{border-top-left-radius:50%!important;border-bottom-left-radius:50%!important}.v-locale--is-ltr .rounded-e-shaped{border-top-right-radius:24px!important;border-bottom-right-radius:0!important}.v-locale--is-rtl .rounded-e-shaped{border-top-left-radius:24px!important;border-bottom-left-radius:0!important}.rounded-b-0{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.rounded-b-sm{border-bottom-left-radius:2px!important;border-bottom-right-radius:2px!important}.rounded-b{border-bottom-left-radius:4px!important;border-bottom-right-radius:4px!important}.rounded-b-lg{border-bottom-left-radius:8px!important;border-bottom-right-radius:8px!important}.rounded-b-xl{border-bottom-left-radius:24px!important;border-bottom-right-radius:24px!important}.rounded-b-pill{border-bottom-left-radius:9999px!important;border-bottom-right-radius:9999px!important}.rounded-b-circle{border-bottom-left-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-b-shaped{border-bottom-left-radius:24px!important;border-bottom-right-radius:0!important}.v-locale--is-ltr .rounded-s-0{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.v-locale--is-rtl .rounded-s-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.v-locale--is-ltr .rounded-s-sm{border-top-left-radius:2px!important;border-bottom-left-radius:2px!important}.v-locale--is-rtl .rounded-s-sm{border-top-right-radius:2px!important;border-bottom-right-radius:2px!important}.v-locale--is-ltr .rounded-s{border-top-left-radius:4px!important;border-bottom-left-radius:4px!important}.v-locale--is-rtl .rounded-s{border-top-right-radius:4px!important;border-bottom-right-radius:4px!important}.v-locale--is-ltr .rounded-s-lg{border-top-left-radius:8px!important;border-bottom-left-radius:8px!important}.v-locale--is-rtl .rounded-s-lg{border-top-right-radius:8px!important;border-bottom-right-radius:8px!important}.v-locale--is-ltr .rounded-s-xl{border-top-left-radius:24px!important;border-bottom-left-radius:24px!important}.v-locale--is-rtl .rounded-s-xl{border-top-right-radius:24px!important;border-bottom-right-radius:24px!important}.v-locale--is-ltr .rounded-s-pill{border-top-left-radius:9999px!important;border-bottom-left-radius:9999px!important}.v-locale--is-rtl .rounded-s-pill{border-top-right-radius:9999px!important;border-bottom-right-radius:9999px!important}.v-locale--is-ltr .rounded-s-circle{border-top-left-radius:50%!important;border-bottom-left-radius:50%!important}.v-locale--is-rtl .rounded-s-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.v-locale--is-ltr .rounded-s-shaped{border-top-left-radius:24px!important;border-bottom-left-radius:0!important}.v-locale--is-rtl .rounded-s-shaped{border-top-right-radius:24px!important;border-bottom-right-radius:0!important}.v-locale--is-ltr .rounded-ts-0{border-top-left-radius:0!important}.v-locale--is-rtl .rounded-ts-0{border-top-right-radius:0!important}.v-locale--is-ltr .rounded-ts-sm{border-top-left-radius:2px!important}.v-locale--is-rtl .rounded-ts-sm{border-top-right-radius:2px!important}.v-locale--is-ltr .rounded-ts{border-top-left-radius:4px!important}.v-locale--is-rtl .rounded-ts{border-top-right-radius:4px!important}.v-locale--is-ltr .rounded-ts-lg{border-top-left-radius:8px!important}.v-locale--is-rtl .rounded-ts-lg{border-top-right-radius:8px!important}.v-locale--is-ltr .rounded-ts-xl{border-top-left-radius:24px!important}.v-locale--is-rtl .rounded-ts-xl{border-top-right-radius:24px!important}.v-locale--is-ltr .rounded-ts-pill{border-top-left-radius:9999px!important}.v-locale--is-rtl .rounded-ts-pill{border-top-right-radius:9999px!important}.v-locale--is-ltr .rounded-ts-circle{border-top-left-radius:50%!important}.v-locale--is-rtl .rounded-ts-circle{border-top-right-radius:50%!important}.v-locale--is-ltr .rounded-ts-shaped{border-top-left-radius:24px 0!important}.v-locale--is-rtl .rounded-ts-shaped{border-top-right-radius:24px 0!important}.v-locale--is-ltr .rounded-te-0{border-top-right-radius:0!important}.v-locale--is-rtl .rounded-te-0{border-top-left-radius:0!important}.v-locale--is-ltr .rounded-te-sm{border-top-right-radius:2px!important}.v-locale--is-rtl .rounded-te-sm{border-top-left-radius:2px!important}.v-locale--is-ltr .rounded-te{border-top-right-radius:4px!important}.v-locale--is-rtl .rounded-te{border-top-left-radius:4px!important}.v-locale--is-ltr .rounded-te-lg{border-top-right-radius:8px!important}.v-locale--is-rtl .rounded-te-lg{border-top-left-radius:8px!important}.v-locale--is-ltr .rounded-te-xl{border-top-right-radius:24px!important}.v-locale--is-rtl .rounded-te-xl{border-top-left-radius:24px!important}.v-locale--is-ltr .rounded-te-pill{border-top-right-radius:9999px!important}.v-locale--is-rtl .rounded-te-pill{border-top-left-radius:9999px!important}.v-locale--is-ltr .rounded-te-circle{border-top-right-radius:50%!important}.v-locale--is-rtl .rounded-te-circle{border-top-left-radius:50%!important}.v-locale--is-ltr .rounded-te-shaped{border-top-right-radius:24px 0!important}.v-locale--is-rtl .rounded-te-shaped{border-top-left-radius:24px 0!important}.v-locale--is-ltr .rounded-be-0{border-bottom-right-radius:0!important}.v-locale--is-rtl .rounded-be-0{border-bottom-left-radius:0!important}.v-locale--is-ltr .rounded-be-sm{border-bottom-right-radius:2px!important}.v-locale--is-rtl .rounded-be-sm{border-bottom-left-radius:2px!important}.v-locale--is-ltr .rounded-be{border-bottom-right-radius:4px!important}.v-locale--is-rtl .rounded-be{border-bottom-left-radius:4px!important}.v-locale--is-ltr .rounded-be-lg{border-bottom-right-radius:8px!important}.v-locale--is-rtl .rounded-be-lg{border-bottom-left-radius:8px!important}.v-locale--is-ltr .rounded-be-xl{border-bottom-right-radius:24px!important}.v-locale--is-rtl .rounded-be-xl{border-bottom-left-radius:24px!important}.v-locale--is-ltr .rounded-be-pill{border-bottom-right-radius:9999px!important}.v-locale--is-rtl .rounded-be-pill{border-bottom-left-radius:9999px!important}.v-locale--is-ltr .rounded-be-circle{border-bottom-right-radius:50%!important}.v-locale--is-rtl .rounded-be-circle{border-bottom-left-radius:50%!important}.v-locale--is-ltr .rounded-be-shaped{border-bottom-right-radius:24px 0!important}.v-locale--is-rtl .rounded-be-shaped{border-bottom-left-radius:24px 0!important}.v-locale--is-ltr .rounded-bs-0{border-bottom-left-radius:0!important}.v-locale--is-rtl .rounded-bs-0{border-bottom-right-radius:0!important}.v-locale--is-ltr .rounded-bs-sm{border-bottom-left-radius:2px!important}.v-locale--is-rtl .rounded-bs-sm{border-bottom-right-radius:2px!important}.v-locale--is-ltr .rounded-bs{border-bottom-left-radius:4px!important}.v-locale--is-rtl .rounded-bs{border-bottom-right-radius:4px!important}.v-locale--is-ltr .rounded-bs-lg{border-bottom-left-radius:8px!important}.v-locale--is-rtl .rounded-bs-lg{border-bottom-right-radius:8px!important}.v-locale--is-ltr .rounded-bs-xl{border-bottom-left-radius:24px!important}.v-locale--is-rtl .rounded-bs-xl{border-bottom-right-radius:24px!important}.v-locale--is-ltr .rounded-bs-pill{border-bottom-left-radius:9999px!important}.v-locale--is-rtl .rounded-bs-pill{border-bottom-right-radius:9999px!important}.v-locale--is-ltr .rounded-bs-circle{border-bottom-left-radius:50%!important}.v-locale--is-rtl .rounded-bs-circle{border-bottom-right-radius:50%!important}.v-locale--is-ltr .rounded-bs-shaped{border-bottom-left-radius:24px 0!important}.v-locale--is-rtl .rounded-bs-shaped{border-bottom-right-radius:24px 0!important}.border-0{border-width:0!important;border-style:solid!important;border-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border,.border-thin{border-width:thin!important;border-style:solid!important;border-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-sm{border-width:1px!important;border-style:solid!important;border-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-md{border-width:2px!important;border-style:solid!important;border-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-lg{border-width:4px!important;border-style:solid!important;border-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-xl{border-width:8px!important;border-style:solid!important;border-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-current{border-color:currentColor!important}.border-opacity-0{--v-border-opacity: 0 !important}.border-opacity{--v-border-opacity: .12 !important}.border-opacity-25{--v-border-opacity: .25 !important}.border-opacity-50{--v-border-opacity: .5 !important}.border-opacity-75{--v-border-opacity: .75 !important}.border-opacity-100{--v-border-opacity: 1 !important}.border-t-0{border-block-start-width:0!important;border-block-start-style:solid!important;border-block-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-t,.border-t-thin{border-block-start-width:thin!important;border-block-start-style:solid!important;border-block-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-t-sm{border-block-start-width:1px!important;border-block-start-style:solid!important;border-block-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-t-md{border-block-start-width:2px!important;border-block-start-style:solid!important;border-block-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-t-lg{border-block-start-width:4px!important;border-block-start-style:solid!important;border-block-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-t-xl{border-block-start-width:8px!important;border-block-start-style:solid!important;border-block-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-e-0{border-inline-end-width:0!important;border-inline-end-style:solid!important;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-e,.border-e-thin{border-inline-end-width:thin!important;border-inline-end-style:solid!important;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-e-sm{border-inline-end-width:1px!important;border-inline-end-style:solid!important;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-e-md{border-inline-end-width:2px!important;border-inline-end-style:solid!important;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-e-lg{border-inline-end-width:4px!important;border-inline-end-style:solid!important;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-e-xl{border-inline-end-width:8px!important;border-inline-end-style:solid!important;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-b-0{border-block-end-width:0!important;border-block-end-style:solid!important;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-b,.border-b-thin{border-block-end-width:thin!important;border-block-end-style:solid!important;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-b-sm{border-block-end-width:1px!important;border-block-end-style:solid!important;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-b-md{border-block-end-width:2px!important;border-block-end-style:solid!important;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-b-lg{border-block-end-width:4px!important;border-block-end-style:solid!important;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-b-xl{border-block-end-width:8px!important;border-block-end-style:solid!important;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-s-0{border-inline-start-width:0!important;border-inline-start-style:solid!important;border-inline-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-s,.border-s-thin{border-inline-start-width:thin!important;border-inline-start-style:solid!important;border-inline-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-s-sm{border-inline-start-width:1px!important;border-inline-start-style:solid!important;border-inline-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-s-md{border-inline-start-width:2px!important;border-inline-start-style:solid!important;border-inline-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-s-lg{border-inline-start-width:4px!important;border-inline-start-style:solid!important;border-inline-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-s-xl{border-inline-start-width:8px!important;border-inline-start-style:solid!important;border-inline-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-solid{border-style:solid!important}.border-dashed{border-style:dashed!important}.border-dotted{border-style:dotted!important}.border-double{border-style:double!important}.border-none{border-style:none!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}.text-justify{text-align:justify!important}.text-start{text-align:start!important}.text-end{text-align:end!important}.text-decoration-line-through{text-decoration:line-through!important}.text-decoration-none{text-decoration:none!important}.text-decoration-overline{text-decoration:overline!important}.text-decoration-underline{text-decoration:underline!important}.text-wrap{white-space:normal!important}.text-no-wrap{white-space:nowrap!important}.text-pre{white-space:pre!important}.text-pre-line{white-space:pre-line!important}.text-pre-wrap{white-space:pre-wrap!important}.text-break{overflow-wrap:break-word!important;word-break:break-word!important}.opacity-hover{opacity:var(--v-hover-opacity)!important}.opacity-focus{opacity:var(--v-focus-opacity)!important}.opacity-selected{opacity:var(--v-selected-opacity)!important}.opacity-activated{opacity:var(--v-activated-opacity)!important}.opacity-pressed{opacity:var(--v-pressed-opacity)!important}.opacity-dragged{opacity:var(--v-dragged-opacity)!important}.opacity-0{opacity:0!important}.opacity-10{opacity:.1!important}.opacity-20{opacity:.2!important}.opacity-30{opacity:.3!important}.opacity-40{opacity:.4!important}.opacity-50{opacity:.5!important}.opacity-60{opacity:.6!important}.opacity-70{opacity:.7!important}.opacity-80{opacity:.8!important}.opacity-90{opacity:.9!important}.opacity-100{opacity:1!important}.text-high-emphasis{color:rgba(var(--v-theme-on-background),var(--v-high-emphasis-opacity))!important}.text-medium-emphasis{color:rgba(var(--v-theme-on-background),var(--v-medium-emphasis-opacity))!important}.text-disabled{color:rgba(var(--v-theme-on-background),var(--v-disabled-opacity))!important}.text-truncate{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.text-h1{font-size:6rem!important;font-weight:300;line-height:1;letter-spacing:-.015625em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-h2{font-size:3.75rem!important;font-weight:300;line-height:1;letter-spacing:-.0083333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-h3{font-size:3rem!important;font-weight:400;line-height:1.05;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-h4{font-size:2.125rem!important;font-weight:400;line-height:1.175;letter-spacing:.0073529412em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-h5{font-size:1.5rem!important;font-weight:400;line-height:1.333;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-h6{font-size:1.25rem!important;font-weight:500;line-height:1.6;letter-spacing:.0125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-subtitle-1{font-size:1rem!important;font-weight:400;line-height:1.75;letter-spacing:.009375em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-subtitle-2{font-size:.875rem!important;font-weight:500;line-height:1.6;letter-spacing:.0071428571em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-body-1{font-size:1rem!important;font-weight:400;line-height:1.5;letter-spacing:.03125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-body-2{font-size:.875rem!important;font-weight:400;line-height:1.425;letter-spacing:.0178571429em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-button{font-size:.875rem!important;font-weight:500;line-height:2.6;letter-spacing:.0892857143em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.text-caption{font-size:.75rem!important;font-weight:400;line-height:1.667;letter-spacing:.0333333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-overline{font-size:.75rem!important;font-weight:500;line-height:2.667;letter-spacing:.1666666667em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.text-none{text-transform:none!important}.text-capitalize{text-transform:capitalize!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.font-weight-thin{font-weight:100!important}.font-weight-light{font-weight:300!important}.font-weight-regular{font-weight:400!important}.font-weight-medium{font-weight:500!important}.font-weight-semibold{font-weight:600!important}.font-weight-bold{font-weight:700!important}.font-weight-black{font-weight:900!important}.font-italic{font-style:italic!important}.text-mono{font-family:monospace!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-fixed{position:fixed!important}.position-absolute{position:absolute!important}.position-sticky{position:sticky!important}.top-0{top:0!important}.right-0{right:0!important}.bottom-0{bottom:0!important}.left-0{left:0!important}.cursor-auto{cursor:auto!important}.cursor-default{cursor:default!important}.cursor-pointer{cursor:pointer!important}.cursor-wait{cursor:wait!important}.cursor-text{cursor:text!important}.cursor-move{cursor:move!important}.cursor-help{cursor:help!important}.cursor-not-allowed{cursor:not-allowed!important}.cursor-progress{cursor:progress!important}.cursor-grab{cursor:grab!important}.cursor-grabbing{cursor:grabbing!important}.cursor-none{cursor:none!important}.fill-height{height:100%!important}.h-auto{height:auto!important}.h-screen{height:100vh!important}.h-0{height:0!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-screen{height:100dvh!important}.w-auto{width:auto!important}.w-0{width:0!important}.w-25{width:25%!important}.w-33{width:33%!important}.w-50{width:50%!important}.w-66{width:66%!important}.w-75{width:75%!important}.w-100{width:100%!important}@media (min-width: 600px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.float-sm-none{float:none!important}.float-sm-left{float:left!important}.float-sm-right{float:right!important}.v-locale--is-rtl .float-sm-end{float:left!important}.v-locale--is-rtl .float-sm-start,.v-locale--is-ltr .float-sm-end{float:right!important}.v-locale--is-ltr .float-sm-start{float:left!important}.flex-sm-fill,.flex-sm-1-1{flex:1 1 auto!important}.flex-sm-1-0{flex:1 0 auto!important}.flex-sm-0-1{flex:0 1 auto!important}.flex-sm-0-0{flex:0 0 auto!important}.flex-sm-1-1-100{flex:1 1 100%!important}.flex-sm-1-0-100{flex:1 0 100%!important}.flex-sm-0-1-100{flex:0 1 100%!important}.flex-sm-0-0-100{flex:0 0 100%!important}.flex-sm-1-1-0{flex:1 1 0!important}.flex-sm-1-0-0{flex:1 0 0!important}.flex-sm-0-1-0{flex:0 1 0!important}.flex-sm-0-0-0{flex:0 0 0!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-sm-start{justify-content:flex-start!important}.justify-sm-end{justify-content:flex-end!important}.justify-sm-center{justify-content:center!important}.justify-sm-space-between{justify-content:space-between!important}.justify-sm-space-around{justify-content:space-around!important}.justify-sm-space-evenly{justify-content:space-evenly!important}.justify-items-sm-start{justify-items:flex-start!important}.justify-items-sm-end{justify-items:flex-end!important}.justify-items-sm-center{justify-items:center!important}.justify-items-sm-stretch{justify-items:stretch!important}.align-sm-start{align-items:flex-start!important}.align-sm-end{align-items:flex-end!important}.align-sm-center{align-items:center!important}.align-sm-baseline{align-items:baseline!important}.align-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-space-between{align-content:space-between!important}.align-content-sm-space-around{align-content:space-around!important}.align-content-sm-space-evenly{align-content:space-evenly!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-6{order:6!important}.order-sm-7{order:7!important}.order-sm-8{order:8!important}.order-sm-9{order:9!important}.order-sm-10{order:10!important}.order-sm-11{order:11!important}.order-sm-12{order:12!important}.order-sm-last{order:13!important}.ga-sm-0{gap:0px!important}.ga-sm-1{gap:4px!important}.ga-sm-2{gap:8px!important}.ga-sm-3{gap:12px!important}.ga-sm-4{gap:16px!important}.ga-sm-5{gap:20px!important}.ga-sm-6{gap:24px!important}.ga-sm-7{gap:28px!important}.ga-sm-8{gap:32px!important}.ga-sm-9{gap:36px!important}.ga-sm-10{gap:40px!important}.ga-sm-11{gap:44px!important}.ga-sm-12{gap:48px!important}.ga-sm-13{gap:52px!important}.ga-sm-14{gap:56px!important}.ga-sm-15{gap:60px!important}.ga-sm-16{gap:64px!important}.ga-sm-auto{gap:auto!important}.gr-sm-0{row-gap:0px!important}.gr-sm-1{row-gap:4px!important}.gr-sm-2{row-gap:8px!important}.gr-sm-3{row-gap:12px!important}.gr-sm-4{row-gap:16px!important}.gr-sm-5{row-gap:20px!important}.gr-sm-6{row-gap:24px!important}.gr-sm-7{row-gap:28px!important}.gr-sm-8{row-gap:32px!important}.gr-sm-9{row-gap:36px!important}.gr-sm-10{row-gap:40px!important}.gr-sm-11{row-gap:44px!important}.gr-sm-12{row-gap:48px!important}.gr-sm-13{row-gap:52px!important}.gr-sm-14{row-gap:56px!important}.gr-sm-15{row-gap:60px!important}.gr-sm-16{row-gap:64px!important}.gr-sm-auto{row-gap:auto!important}.gc-sm-0{column-gap:0px!important}.gc-sm-1{column-gap:4px!important}.gc-sm-2{column-gap:8px!important}.gc-sm-3{column-gap:12px!important}.gc-sm-4{column-gap:16px!important}.gc-sm-5{column-gap:20px!important}.gc-sm-6{column-gap:24px!important}.gc-sm-7{column-gap:28px!important}.gc-sm-8{column-gap:32px!important}.gc-sm-9{column-gap:36px!important}.gc-sm-10{column-gap:40px!important}.gc-sm-11{column-gap:44px!important}.gc-sm-12{column-gap:48px!important}.gc-sm-13{column-gap:52px!important}.gc-sm-14{column-gap:56px!important}.gc-sm-15{column-gap:60px!important}.gc-sm-16{column-gap:64px!important}.gc-sm-auto{column-gap:auto!important}.ma-sm-0{margin:0!important}.ma-sm-1{margin:4px!important}.ma-sm-2{margin:8px!important}.ma-sm-3{margin:12px!important}.ma-sm-4{margin:16px!important}.ma-sm-5{margin:20px!important}.ma-sm-6{margin:24px!important}.ma-sm-7{margin:28px!important}.ma-sm-8{margin:32px!important}.ma-sm-9{margin:36px!important}.ma-sm-10{margin:40px!important}.ma-sm-11{margin:44px!important}.ma-sm-12{margin:48px!important}.ma-sm-13{margin:52px!important}.ma-sm-14{margin:56px!important}.ma-sm-15{margin:60px!important}.ma-sm-16{margin:64px!important}.ma-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:4px!important;margin-left:4px!important}.mx-sm-2{margin-right:8px!important;margin-left:8px!important}.mx-sm-3{margin-right:12px!important;margin-left:12px!important}.mx-sm-4{margin-right:16px!important;margin-left:16px!important}.mx-sm-5{margin-right:20px!important;margin-left:20px!important}.mx-sm-6{margin-right:24px!important;margin-left:24px!important}.mx-sm-7{margin-right:28px!important;margin-left:28px!important}.mx-sm-8{margin-right:32px!important;margin-left:32px!important}.mx-sm-9{margin-right:36px!important;margin-left:36px!important}.mx-sm-10{margin-right:40px!important;margin-left:40px!important}.mx-sm-11{margin-right:44px!important;margin-left:44px!important}.mx-sm-12{margin-right:48px!important;margin-left:48px!important}.mx-sm-13{margin-right:52px!important;margin-left:52px!important}.mx-sm-14{margin-right:56px!important;margin-left:56px!important}.mx-sm-15{margin-right:60px!important;margin-left:60px!important}.mx-sm-16{margin-right:64px!important;margin-left:64px!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:4px!important;margin-bottom:4px!important}.my-sm-2{margin-top:8px!important;margin-bottom:8px!important}.my-sm-3{margin-top:12px!important;margin-bottom:12px!important}.my-sm-4{margin-top:16px!important;margin-bottom:16px!important}.my-sm-5{margin-top:20px!important;margin-bottom:20px!important}.my-sm-6{margin-top:24px!important;margin-bottom:24px!important}.my-sm-7{margin-top:28px!important;margin-bottom:28px!important}.my-sm-8{margin-top:32px!important;margin-bottom:32px!important}.my-sm-9{margin-top:36px!important;margin-bottom:36px!important}.my-sm-10{margin-top:40px!important;margin-bottom:40px!important}.my-sm-11{margin-top:44px!important;margin-bottom:44px!important}.my-sm-12{margin-top:48px!important;margin-bottom:48px!important}.my-sm-13{margin-top:52px!important;margin-bottom:52px!important}.my-sm-14{margin-top:56px!important;margin-bottom:56px!important}.my-sm-15{margin-top:60px!important;margin-bottom:60px!important}.my-sm-16{margin-top:64px!important;margin-bottom:64px!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:4px!important}.mt-sm-2{margin-top:8px!important}.mt-sm-3{margin-top:12px!important}.mt-sm-4{margin-top:16px!important}.mt-sm-5{margin-top:20px!important}.mt-sm-6{margin-top:24px!important}.mt-sm-7{margin-top:28px!important}.mt-sm-8{margin-top:32px!important}.mt-sm-9{margin-top:36px!important}.mt-sm-10{margin-top:40px!important}.mt-sm-11{margin-top:44px!important}.mt-sm-12{margin-top:48px!important}.mt-sm-13{margin-top:52px!important}.mt-sm-14{margin-top:56px!important}.mt-sm-15{margin-top:60px!important}.mt-sm-16{margin-top:64px!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-0{margin-right:0!important}.mr-sm-1{margin-right:4px!important}.mr-sm-2{margin-right:8px!important}.mr-sm-3{margin-right:12px!important}.mr-sm-4{margin-right:16px!important}.mr-sm-5{margin-right:20px!important}.mr-sm-6{margin-right:24px!important}.mr-sm-7{margin-right:28px!important}.mr-sm-8{margin-right:32px!important}.mr-sm-9{margin-right:36px!important}.mr-sm-10{margin-right:40px!important}.mr-sm-11{margin-right:44px!important}.mr-sm-12{margin-right:48px!important}.mr-sm-13{margin-right:52px!important}.mr-sm-14{margin-right:56px!important}.mr-sm-15{margin-right:60px!important}.mr-sm-16{margin-right:64px!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:4px!important}.mb-sm-2{margin-bottom:8px!important}.mb-sm-3{margin-bottom:12px!important}.mb-sm-4{margin-bottom:16px!important}.mb-sm-5{margin-bottom:20px!important}.mb-sm-6{margin-bottom:24px!important}.mb-sm-7{margin-bottom:28px!important}.mb-sm-8{margin-bottom:32px!important}.mb-sm-9{margin-bottom:36px!important}.mb-sm-10{margin-bottom:40px!important}.mb-sm-11{margin-bottom:44px!important}.mb-sm-12{margin-bottom:48px!important}.mb-sm-13{margin-bottom:52px!important}.mb-sm-14{margin-bottom:56px!important}.mb-sm-15{margin-bottom:60px!important}.mb-sm-16{margin-bottom:64px!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-0{margin-left:0!important}.ml-sm-1{margin-left:4px!important}.ml-sm-2{margin-left:8px!important}.ml-sm-3{margin-left:12px!important}.ml-sm-4{margin-left:16px!important}.ml-sm-5{margin-left:20px!important}.ml-sm-6{margin-left:24px!important}.ml-sm-7{margin-left:28px!important}.ml-sm-8{margin-left:32px!important}.ml-sm-9{margin-left:36px!important}.ml-sm-10{margin-left:40px!important}.ml-sm-11{margin-left:44px!important}.ml-sm-12{margin-left:48px!important}.ml-sm-13{margin-left:52px!important}.ml-sm-14{margin-left:56px!important}.ml-sm-15{margin-left:60px!important}.ml-sm-16{margin-left:64px!important}.ml-sm-auto{margin-left:auto!important}.ms-sm-0{margin-inline-start:0px!important}.ms-sm-1{margin-inline-start:4px!important}.ms-sm-2{margin-inline-start:8px!important}.ms-sm-3{margin-inline-start:12px!important}.ms-sm-4{margin-inline-start:16px!important}.ms-sm-5{margin-inline-start:20px!important}.ms-sm-6{margin-inline-start:24px!important}.ms-sm-7{margin-inline-start:28px!important}.ms-sm-8{margin-inline-start:32px!important}.ms-sm-9{margin-inline-start:36px!important}.ms-sm-10{margin-inline-start:40px!important}.ms-sm-11{margin-inline-start:44px!important}.ms-sm-12{margin-inline-start:48px!important}.ms-sm-13{margin-inline-start:52px!important}.ms-sm-14{margin-inline-start:56px!important}.ms-sm-15{margin-inline-start:60px!important}.ms-sm-16{margin-inline-start:64px!important}.ms-sm-auto{margin-inline-start:auto!important}.me-sm-0{margin-inline-end:0px!important}.me-sm-1{margin-inline-end:4px!important}.me-sm-2{margin-inline-end:8px!important}.me-sm-3{margin-inline-end:12px!important}.me-sm-4{margin-inline-end:16px!important}.me-sm-5{margin-inline-end:20px!important}.me-sm-6{margin-inline-end:24px!important}.me-sm-7{margin-inline-end:28px!important}.me-sm-8{margin-inline-end:32px!important}.me-sm-9{margin-inline-end:36px!important}.me-sm-10{margin-inline-end:40px!important}.me-sm-11{margin-inline-end:44px!important}.me-sm-12{margin-inline-end:48px!important}.me-sm-13{margin-inline-end:52px!important}.me-sm-14{margin-inline-end:56px!important}.me-sm-15{margin-inline-end:60px!important}.me-sm-16{margin-inline-end:64px!important}.me-sm-auto{margin-inline-end:auto!important}.ma-sm-n1{margin:-4px!important}.ma-sm-n2{margin:-8px!important}.ma-sm-n3{margin:-12px!important}.ma-sm-n4{margin:-16px!important}.ma-sm-n5{margin:-20px!important}.ma-sm-n6{margin:-24px!important}.ma-sm-n7{margin:-28px!important}.ma-sm-n8{margin:-32px!important}.ma-sm-n9{margin:-36px!important}.ma-sm-n10{margin:-40px!important}.ma-sm-n11{margin:-44px!important}.ma-sm-n12{margin:-48px!important}.ma-sm-n13{margin:-52px!important}.ma-sm-n14{margin:-56px!important}.ma-sm-n15{margin:-60px!important}.ma-sm-n16{margin:-64px!important}.mx-sm-n1{margin-right:-4px!important;margin-left:-4px!important}.mx-sm-n2{margin-right:-8px!important;margin-left:-8px!important}.mx-sm-n3{margin-right:-12px!important;margin-left:-12px!important}.mx-sm-n4{margin-right:-16px!important;margin-left:-16px!important}.mx-sm-n5{margin-right:-20px!important;margin-left:-20px!important}.mx-sm-n6{margin-right:-24px!important;margin-left:-24px!important}.mx-sm-n7{margin-right:-28px!important;margin-left:-28px!important}.mx-sm-n8{margin-right:-32px!important;margin-left:-32px!important}.mx-sm-n9{margin-right:-36px!important;margin-left:-36px!important}.mx-sm-n10{margin-right:-40px!important;margin-left:-40px!important}.mx-sm-n11{margin-right:-44px!important;margin-left:-44px!important}.mx-sm-n12{margin-right:-48px!important;margin-left:-48px!important}.mx-sm-n13{margin-right:-52px!important;margin-left:-52px!important}.mx-sm-n14{margin-right:-56px!important;margin-left:-56px!important}.mx-sm-n15{margin-right:-60px!important;margin-left:-60px!important}.mx-sm-n16{margin-right:-64px!important;margin-left:-64px!important}.my-sm-n1{margin-top:-4px!important;margin-bottom:-4px!important}.my-sm-n2{margin-top:-8px!important;margin-bottom:-8px!important}.my-sm-n3{margin-top:-12px!important;margin-bottom:-12px!important}.my-sm-n4{margin-top:-16px!important;margin-bottom:-16px!important}.my-sm-n5{margin-top:-20px!important;margin-bottom:-20px!important}.my-sm-n6{margin-top:-24px!important;margin-bottom:-24px!important}.my-sm-n7{margin-top:-28px!important;margin-bottom:-28px!important}.my-sm-n8{margin-top:-32px!important;margin-bottom:-32px!important}.my-sm-n9{margin-top:-36px!important;margin-bottom:-36px!important}.my-sm-n10{margin-top:-40px!important;margin-bottom:-40px!important}.my-sm-n11{margin-top:-44px!important;margin-bottom:-44px!important}.my-sm-n12{margin-top:-48px!important;margin-bottom:-48px!important}.my-sm-n13{margin-top:-52px!important;margin-bottom:-52px!important}.my-sm-n14{margin-top:-56px!important;margin-bottom:-56px!important}.my-sm-n15{margin-top:-60px!important;margin-bottom:-60px!important}.my-sm-n16{margin-top:-64px!important;margin-bottom:-64px!important}.mt-sm-n1{margin-top:-4px!important}.mt-sm-n2{margin-top:-8px!important}.mt-sm-n3{margin-top:-12px!important}.mt-sm-n4{margin-top:-16px!important}.mt-sm-n5{margin-top:-20px!important}.mt-sm-n6{margin-top:-24px!important}.mt-sm-n7{margin-top:-28px!important}.mt-sm-n8{margin-top:-32px!important}.mt-sm-n9{margin-top:-36px!important}.mt-sm-n10{margin-top:-40px!important}.mt-sm-n11{margin-top:-44px!important}.mt-sm-n12{margin-top:-48px!important}.mt-sm-n13{margin-top:-52px!important}.mt-sm-n14{margin-top:-56px!important}.mt-sm-n15{margin-top:-60px!important}.mt-sm-n16{margin-top:-64px!important}.mr-sm-n1{margin-right:-4px!important}.mr-sm-n2{margin-right:-8px!important}.mr-sm-n3{margin-right:-12px!important}.mr-sm-n4{margin-right:-16px!important}.mr-sm-n5{margin-right:-20px!important}.mr-sm-n6{margin-right:-24px!important}.mr-sm-n7{margin-right:-28px!important}.mr-sm-n8{margin-right:-32px!important}.mr-sm-n9{margin-right:-36px!important}.mr-sm-n10{margin-right:-40px!important}.mr-sm-n11{margin-right:-44px!important}.mr-sm-n12{margin-right:-48px!important}.mr-sm-n13{margin-right:-52px!important}.mr-sm-n14{margin-right:-56px!important}.mr-sm-n15{margin-right:-60px!important}.mr-sm-n16{margin-right:-64px!important}.mb-sm-n1{margin-bottom:-4px!important}.mb-sm-n2{margin-bottom:-8px!important}.mb-sm-n3{margin-bottom:-12px!important}.mb-sm-n4{margin-bottom:-16px!important}.mb-sm-n5{margin-bottom:-20px!important}.mb-sm-n6{margin-bottom:-24px!important}.mb-sm-n7{margin-bottom:-28px!important}.mb-sm-n8{margin-bottom:-32px!important}.mb-sm-n9{margin-bottom:-36px!important}.mb-sm-n10{margin-bottom:-40px!important}.mb-sm-n11{margin-bottom:-44px!important}.mb-sm-n12{margin-bottom:-48px!important}.mb-sm-n13{margin-bottom:-52px!important}.mb-sm-n14{margin-bottom:-56px!important}.mb-sm-n15{margin-bottom:-60px!important}.mb-sm-n16{margin-bottom:-64px!important}.ml-sm-n1{margin-left:-4px!important}.ml-sm-n2{margin-left:-8px!important}.ml-sm-n3{margin-left:-12px!important}.ml-sm-n4{margin-left:-16px!important}.ml-sm-n5{margin-left:-20px!important}.ml-sm-n6{margin-left:-24px!important}.ml-sm-n7{margin-left:-28px!important}.ml-sm-n8{margin-left:-32px!important}.ml-sm-n9{margin-left:-36px!important}.ml-sm-n10{margin-left:-40px!important}.ml-sm-n11{margin-left:-44px!important}.ml-sm-n12{margin-left:-48px!important}.ml-sm-n13{margin-left:-52px!important}.ml-sm-n14{margin-left:-56px!important}.ml-sm-n15{margin-left:-60px!important}.ml-sm-n16{margin-left:-64px!important}.ms-sm-n1{margin-inline-start:-4px!important}.ms-sm-n2{margin-inline-start:-8px!important}.ms-sm-n3{margin-inline-start:-12px!important}.ms-sm-n4{margin-inline-start:-16px!important}.ms-sm-n5{margin-inline-start:-20px!important}.ms-sm-n6{margin-inline-start:-24px!important}.ms-sm-n7{margin-inline-start:-28px!important}.ms-sm-n8{margin-inline-start:-32px!important}.ms-sm-n9{margin-inline-start:-36px!important}.ms-sm-n10{margin-inline-start:-40px!important}.ms-sm-n11{margin-inline-start:-44px!important}.ms-sm-n12{margin-inline-start:-48px!important}.ms-sm-n13{margin-inline-start:-52px!important}.ms-sm-n14{margin-inline-start:-56px!important}.ms-sm-n15{margin-inline-start:-60px!important}.ms-sm-n16{margin-inline-start:-64px!important}.me-sm-n1{margin-inline-end:-4px!important}.me-sm-n2{margin-inline-end:-8px!important}.me-sm-n3{margin-inline-end:-12px!important}.me-sm-n4{margin-inline-end:-16px!important}.me-sm-n5{margin-inline-end:-20px!important}.me-sm-n6{margin-inline-end:-24px!important}.me-sm-n7{margin-inline-end:-28px!important}.me-sm-n8{margin-inline-end:-32px!important}.me-sm-n9{margin-inline-end:-36px!important}.me-sm-n10{margin-inline-end:-40px!important}.me-sm-n11{margin-inline-end:-44px!important}.me-sm-n12{margin-inline-end:-48px!important}.me-sm-n13{margin-inline-end:-52px!important}.me-sm-n14{margin-inline-end:-56px!important}.me-sm-n15{margin-inline-end:-60px!important}.me-sm-n16{margin-inline-end:-64px!important}.pa-sm-0{padding:0!important}.pa-sm-1{padding:4px!important}.pa-sm-2{padding:8px!important}.pa-sm-3{padding:12px!important}.pa-sm-4{padding:16px!important}.pa-sm-5{padding:20px!important}.pa-sm-6{padding:24px!important}.pa-sm-7{padding:28px!important}.pa-sm-8{padding:32px!important}.pa-sm-9{padding:36px!important}.pa-sm-10{padding:40px!important}.pa-sm-11{padding:44px!important}.pa-sm-12{padding:48px!important}.pa-sm-13{padding:52px!important}.pa-sm-14{padding:56px!important}.pa-sm-15{padding:60px!important}.pa-sm-16{padding:64px!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:4px!important;padding-left:4px!important}.px-sm-2{padding-right:8px!important;padding-left:8px!important}.px-sm-3{padding-right:12px!important;padding-left:12px!important}.px-sm-4{padding-right:16px!important;padding-left:16px!important}.px-sm-5{padding-right:20px!important;padding-left:20px!important}.px-sm-6{padding-right:24px!important;padding-left:24px!important}.px-sm-7{padding-right:28px!important;padding-left:28px!important}.px-sm-8{padding-right:32px!important;padding-left:32px!important}.px-sm-9{padding-right:36px!important;padding-left:36px!important}.px-sm-10{padding-right:40px!important;padding-left:40px!important}.px-sm-11{padding-right:44px!important;padding-left:44px!important}.px-sm-12{padding-right:48px!important;padding-left:48px!important}.px-sm-13{padding-right:52px!important;padding-left:52px!important}.px-sm-14{padding-right:56px!important;padding-left:56px!important}.px-sm-15{padding-right:60px!important;padding-left:60px!important}.px-sm-16{padding-right:64px!important;padding-left:64px!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:4px!important;padding-bottom:4px!important}.py-sm-2{padding-top:8px!important;padding-bottom:8px!important}.py-sm-3{padding-top:12px!important;padding-bottom:12px!important}.py-sm-4{padding-top:16px!important;padding-bottom:16px!important}.py-sm-5{padding-top:20px!important;padding-bottom:20px!important}.py-sm-6{padding-top:24px!important;padding-bottom:24px!important}.py-sm-7{padding-top:28px!important;padding-bottom:28px!important}.py-sm-8{padding-top:32px!important;padding-bottom:32px!important}.py-sm-9{padding-top:36px!important;padding-bottom:36px!important}.py-sm-10{padding-top:40px!important;padding-bottom:40px!important}.py-sm-11{padding-top:44px!important;padding-bottom:44px!important}.py-sm-12{padding-top:48px!important;padding-bottom:48px!important}.py-sm-13{padding-top:52px!important;padding-bottom:52px!important}.py-sm-14{padding-top:56px!important;padding-bottom:56px!important}.py-sm-15{padding-top:60px!important;padding-bottom:60px!important}.py-sm-16{padding-top:64px!important;padding-bottom:64px!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:4px!important}.pt-sm-2{padding-top:8px!important}.pt-sm-3{padding-top:12px!important}.pt-sm-4{padding-top:16px!important}.pt-sm-5{padding-top:20px!important}.pt-sm-6{padding-top:24px!important}.pt-sm-7{padding-top:28px!important}.pt-sm-8{padding-top:32px!important}.pt-sm-9{padding-top:36px!important}.pt-sm-10{padding-top:40px!important}.pt-sm-11{padding-top:44px!important}.pt-sm-12{padding-top:48px!important}.pt-sm-13{padding-top:52px!important}.pt-sm-14{padding-top:56px!important}.pt-sm-15{padding-top:60px!important}.pt-sm-16{padding-top:64px!important}.pr-sm-0{padding-right:0!important}.pr-sm-1{padding-right:4px!important}.pr-sm-2{padding-right:8px!important}.pr-sm-3{padding-right:12px!important}.pr-sm-4{padding-right:16px!important}.pr-sm-5{padding-right:20px!important}.pr-sm-6{padding-right:24px!important}.pr-sm-7{padding-right:28px!important}.pr-sm-8{padding-right:32px!important}.pr-sm-9{padding-right:36px!important}.pr-sm-10{padding-right:40px!important}.pr-sm-11{padding-right:44px!important}.pr-sm-12{padding-right:48px!important}.pr-sm-13{padding-right:52px!important}.pr-sm-14{padding-right:56px!important}.pr-sm-15{padding-right:60px!important}.pr-sm-16{padding-right:64px!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:4px!important}.pb-sm-2{padding-bottom:8px!important}.pb-sm-3{padding-bottom:12px!important}.pb-sm-4{padding-bottom:16px!important}.pb-sm-5{padding-bottom:20px!important}.pb-sm-6{padding-bottom:24px!important}.pb-sm-7{padding-bottom:28px!important}.pb-sm-8{padding-bottom:32px!important}.pb-sm-9{padding-bottom:36px!important}.pb-sm-10{padding-bottom:40px!important}.pb-sm-11{padding-bottom:44px!important}.pb-sm-12{padding-bottom:48px!important}.pb-sm-13{padding-bottom:52px!important}.pb-sm-14{padding-bottom:56px!important}.pb-sm-15{padding-bottom:60px!important}.pb-sm-16{padding-bottom:64px!important}.pl-sm-0{padding-left:0!important}.pl-sm-1{padding-left:4px!important}.pl-sm-2{padding-left:8px!important}.pl-sm-3{padding-left:12px!important}.pl-sm-4{padding-left:16px!important}.pl-sm-5{padding-left:20px!important}.pl-sm-6{padding-left:24px!important}.pl-sm-7{padding-left:28px!important}.pl-sm-8{padding-left:32px!important}.pl-sm-9{padding-left:36px!important}.pl-sm-10{padding-left:40px!important}.pl-sm-11{padding-left:44px!important}.pl-sm-12{padding-left:48px!important}.pl-sm-13{padding-left:52px!important}.pl-sm-14{padding-left:56px!important}.pl-sm-15{padding-left:60px!important}.pl-sm-16{padding-left:64px!important}.ps-sm-0{padding-inline-start:0px!important}.ps-sm-1{padding-inline-start:4px!important}.ps-sm-2{padding-inline-start:8px!important}.ps-sm-3{padding-inline-start:12px!important}.ps-sm-4{padding-inline-start:16px!important}.ps-sm-5{padding-inline-start:20px!important}.ps-sm-6{padding-inline-start:24px!important}.ps-sm-7{padding-inline-start:28px!important}.ps-sm-8{padding-inline-start:32px!important}.ps-sm-9{padding-inline-start:36px!important}.ps-sm-10{padding-inline-start:40px!important}.ps-sm-11{padding-inline-start:44px!important}.ps-sm-12{padding-inline-start:48px!important}.ps-sm-13{padding-inline-start:52px!important}.ps-sm-14{padding-inline-start:56px!important}.ps-sm-15{padding-inline-start:60px!important}.ps-sm-16{padding-inline-start:64px!important}.pe-sm-0{padding-inline-end:0px!important}.pe-sm-1{padding-inline-end:4px!important}.pe-sm-2{padding-inline-end:8px!important}.pe-sm-3{padding-inline-end:12px!important}.pe-sm-4{padding-inline-end:16px!important}.pe-sm-5{padding-inline-end:20px!important}.pe-sm-6{padding-inline-end:24px!important}.pe-sm-7{padding-inline-end:28px!important}.pe-sm-8{padding-inline-end:32px!important}.pe-sm-9{padding-inline-end:36px!important}.pe-sm-10{padding-inline-end:40px!important}.pe-sm-11{padding-inline-end:44px!important}.pe-sm-12{padding-inline-end:48px!important}.pe-sm-13{padding-inline-end:52px!important}.pe-sm-14{padding-inline-end:56px!important}.pe-sm-15{padding-inline-end:60px!important}.pe-sm-16{padding-inline-end:64px!important}.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}.text-sm-justify{text-align:justify!important}.text-sm-start{text-align:start!important}.text-sm-end{text-align:end!important}.text-sm-h1{font-size:6rem!important;font-weight:300;line-height:1;letter-spacing:-.015625em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-h2{font-size:3.75rem!important;font-weight:300;line-height:1;letter-spacing:-.0083333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-h3{font-size:3rem!important;font-weight:400;line-height:1.05;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-h4{font-size:2.125rem!important;font-weight:400;line-height:1.175;letter-spacing:.0073529412em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-h5{font-size:1.5rem!important;font-weight:400;line-height:1.333;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-h6{font-size:1.25rem!important;font-weight:500;line-height:1.6;letter-spacing:.0125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-subtitle-1{font-size:1rem!important;font-weight:400;line-height:1.75;letter-spacing:.009375em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-subtitle-2{font-size:.875rem!important;font-weight:500;line-height:1.6;letter-spacing:.0071428571em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-body-1{font-size:1rem!important;font-weight:400;line-height:1.5;letter-spacing:.03125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-body-2{font-size:.875rem!important;font-weight:400;line-height:1.425;letter-spacing:.0178571429em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-button{font-size:.875rem!important;font-weight:500;line-height:2.6;letter-spacing:.0892857143em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.text-sm-caption{font-size:.75rem!important;font-weight:400;line-height:1.667;letter-spacing:.0333333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-overline{font-size:.75rem!important;font-weight:500;line-height:2.667;letter-spacing:.1666666667em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.h-sm-auto{height:auto!important}.h-sm-screen{height:100vh!important}.h-sm-0{height:0!important}.h-sm-25{height:25%!important}.h-sm-50{height:50%!important}.h-sm-75{height:75%!important}.h-sm-100{height:100%!important}.w-sm-auto{width:auto!important}.w-sm-0{width:0!important}.w-sm-25{width:25%!important}.w-sm-33{width:33%!important}.w-sm-50{width:50%!important}.w-sm-66{width:66%!important}.w-sm-75{width:75%!important}.w-sm-100{width:100%!important}}@media (min-width: 960px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.float-md-none{float:none!important}.float-md-left{float:left!important}.float-md-right{float:right!important}.v-locale--is-rtl .float-md-end{float:left!important}.v-locale--is-rtl .float-md-start,.v-locale--is-ltr .float-md-end{float:right!important}.v-locale--is-ltr .float-md-start{float:left!important}.flex-md-fill,.flex-md-1-1{flex:1 1 auto!important}.flex-md-1-0{flex:1 0 auto!important}.flex-md-0-1{flex:0 1 auto!important}.flex-md-0-0{flex:0 0 auto!important}.flex-md-1-1-100{flex:1 1 100%!important}.flex-md-1-0-100{flex:1 0 100%!important}.flex-md-0-1-100{flex:0 1 100%!important}.flex-md-0-0-100{flex:0 0 100%!important}.flex-md-1-1-0{flex:1 1 0!important}.flex-md-1-0-0{flex:1 0 0!important}.flex-md-0-1-0{flex:0 1 0!important}.flex-md-0-0-0{flex:0 0 0!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-md-start{justify-content:flex-start!important}.justify-md-end{justify-content:flex-end!important}.justify-md-center{justify-content:center!important}.justify-md-space-between{justify-content:space-between!important}.justify-md-space-around{justify-content:space-around!important}.justify-md-space-evenly{justify-content:space-evenly!important}.justify-items-md-start{justify-items:flex-start!important}.justify-items-md-end{justify-items:flex-end!important}.justify-items-md-center{justify-items:center!important}.justify-items-md-stretch{justify-items:stretch!important}.align-md-start{align-items:flex-start!important}.align-md-end{align-items:flex-end!important}.align-md-center{align-items:center!important}.align-md-baseline{align-items:baseline!important}.align-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-space-between{align-content:space-between!important}.align-content-md-space-around{align-content:space-around!important}.align-content-md-space-evenly{align-content:space-evenly!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-6{order:6!important}.order-md-7{order:7!important}.order-md-8{order:8!important}.order-md-9{order:9!important}.order-md-10{order:10!important}.order-md-11{order:11!important}.order-md-12{order:12!important}.order-md-last{order:13!important}.ga-md-0{gap:0px!important}.ga-md-1{gap:4px!important}.ga-md-2{gap:8px!important}.ga-md-3{gap:12px!important}.ga-md-4{gap:16px!important}.ga-md-5{gap:20px!important}.ga-md-6{gap:24px!important}.ga-md-7{gap:28px!important}.ga-md-8{gap:32px!important}.ga-md-9{gap:36px!important}.ga-md-10{gap:40px!important}.ga-md-11{gap:44px!important}.ga-md-12{gap:48px!important}.ga-md-13{gap:52px!important}.ga-md-14{gap:56px!important}.ga-md-15{gap:60px!important}.ga-md-16{gap:64px!important}.ga-md-auto{gap:auto!important}.gr-md-0{row-gap:0px!important}.gr-md-1{row-gap:4px!important}.gr-md-2{row-gap:8px!important}.gr-md-3{row-gap:12px!important}.gr-md-4{row-gap:16px!important}.gr-md-5{row-gap:20px!important}.gr-md-6{row-gap:24px!important}.gr-md-7{row-gap:28px!important}.gr-md-8{row-gap:32px!important}.gr-md-9{row-gap:36px!important}.gr-md-10{row-gap:40px!important}.gr-md-11{row-gap:44px!important}.gr-md-12{row-gap:48px!important}.gr-md-13{row-gap:52px!important}.gr-md-14{row-gap:56px!important}.gr-md-15{row-gap:60px!important}.gr-md-16{row-gap:64px!important}.gr-md-auto{row-gap:auto!important}.gc-md-0{column-gap:0px!important}.gc-md-1{column-gap:4px!important}.gc-md-2{column-gap:8px!important}.gc-md-3{column-gap:12px!important}.gc-md-4{column-gap:16px!important}.gc-md-5{column-gap:20px!important}.gc-md-6{column-gap:24px!important}.gc-md-7{column-gap:28px!important}.gc-md-8{column-gap:32px!important}.gc-md-9{column-gap:36px!important}.gc-md-10{column-gap:40px!important}.gc-md-11{column-gap:44px!important}.gc-md-12{column-gap:48px!important}.gc-md-13{column-gap:52px!important}.gc-md-14{column-gap:56px!important}.gc-md-15{column-gap:60px!important}.gc-md-16{column-gap:64px!important}.gc-md-auto{column-gap:auto!important}.ma-md-0{margin:0!important}.ma-md-1{margin:4px!important}.ma-md-2{margin:8px!important}.ma-md-3{margin:12px!important}.ma-md-4{margin:16px!important}.ma-md-5{margin:20px!important}.ma-md-6{margin:24px!important}.ma-md-7{margin:28px!important}.ma-md-8{margin:32px!important}.ma-md-9{margin:36px!important}.ma-md-10{margin:40px!important}.ma-md-11{margin:44px!important}.ma-md-12{margin:48px!important}.ma-md-13{margin:52px!important}.ma-md-14{margin:56px!important}.ma-md-15{margin:60px!important}.ma-md-16{margin:64px!important}.ma-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:4px!important;margin-left:4px!important}.mx-md-2{margin-right:8px!important;margin-left:8px!important}.mx-md-3{margin-right:12px!important;margin-left:12px!important}.mx-md-4{margin-right:16px!important;margin-left:16px!important}.mx-md-5{margin-right:20px!important;margin-left:20px!important}.mx-md-6{margin-right:24px!important;margin-left:24px!important}.mx-md-7{margin-right:28px!important;margin-left:28px!important}.mx-md-8{margin-right:32px!important;margin-left:32px!important}.mx-md-9{margin-right:36px!important;margin-left:36px!important}.mx-md-10{margin-right:40px!important;margin-left:40px!important}.mx-md-11{margin-right:44px!important;margin-left:44px!important}.mx-md-12{margin-right:48px!important;margin-left:48px!important}.mx-md-13{margin-right:52px!important;margin-left:52px!important}.mx-md-14{margin-right:56px!important;margin-left:56px!important}.mx-md-15{margin-right:60px!important;margin-left:60px!important}.mx-md-16{margin-right:64px!important;margin-left:64px!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:4px!important;margin-bottom:4px!important}.my-md-2{margin-top:8px!important;margin-bottom:8px!important}.my-md-3{margin-top:12px!important;margin-bottom:12px!important}.my-md-4{margin-top:16px!important;margin-bottom:16px!important}.my-md-5{margin-top:20px!important;margin-bottom:20px!important}.my-md-6{margin-top:24px!important;margin-bottom:24px!important}.my-md-7{margin-top:28px!important;margin-bottom:28px!important}.my-md-8{margin-top:32px!important;margin-bottom:32px!important}.my-md-9{margin-top:36px!important;margin-bottom:36px!important}.my-md-10{margin-top:40px!important;margin-bottom:40px!important}.my-md-11{margin-top:44px!important;margin-bottom:44px!important}.my-md-12{margin-top:48px!important;margin-bottom:48px!important}.my-md-13{margin-top:52px!important;margin-bottom:52px!important}.my-md-14{margin-top:56px!important;margin-bottom:56px!important}.my-md-15{margin-top:60px!important;margin-bottom:60px!important}.my-md-16{margin-top:64px!important;margin-bottom:64px!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:4px!important}.mt-md-2{margin-top:8px!important}.mt-md-3{margin-top:12px!important}.mt-md-4{margin-top:16px!important}.mt-md-5{margin-top:20px!important}.mt-md-6{margin-top:24px!important}.mt-md-7{margin-top:28px!important}.mt-md-8{margin-top:32px!important}.mt-md-9{margin-top:36px!important}.mt-md-10{margin-top:40px!important}.mt-md-11{margin-top:44px!important}.mt-md-12{margin-top:48px!important}.mt-md-13{margin-top:52px!important}.mt-md-14{margin-top:56px!important}.mt-md-15{margin-top:60px!important}.mt-md-16{margin-top:64px!important}.mt-md-auto{margin-top:auto!important}.mr-md-0{margin-right:0!important}.mr-md-1{margin-right:4px!important}.mr-md-2{margin-right:8px!important}.mr-md-3{margin-right:12px!important}.mr-md-4{margin-right:16px!important}.mr-md-5{margin-right:20px!important}.mr-md-6{margin-right:24px!important}.mr-md-7{margin-right:28px!important}.mr-md-8{margin-right:32px!important}.mr-md-9{margin-right:36px!important}.mr-md-10{margin-right:40px!important}.mr-md-11{margin-right:44px!important}.mr-md-12{margin-right:48px!important}.mr-md-13{margin-right:52px!important}.mr-md-14{margin-right:56px!important}.mr-md-15{margin-right:60px!important}.mr-md-16{margin-right:64px!important}.mr-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:4px!important}.mb-md-2{margin-bottom:8px!important}.mb-md-3{margin-bottom:12px!important}.mb-md-4{margin-bottom:16px!important}.mb-md-5{margin-bottom:20px!important}.mb-md-6{margin-bottom:24px!important}.mb-md-7{margin-bottom:28px!important}.mb-md-8{margin-bottom:32px!important}.mb-md-9{margin-bottom:36px!important}.mb-md-10{margin-bottom:40px!important}.mb-md-11{margin-bottom:44px!important}.mb-md-12{margin-bottom:48px!important}.mb-md-13{margin-bottom:52px!important}.mb-md-14{margin-bottom:56px!important}.mb-md-15{margin-bottom:60px!important}.mb-md-16{margin-bottom:64px!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-0{margin-left:0!important}.ml-md-1{margin-left:4px!important}.ml-md-2{margin-left:8px!important}.ml-md-3{margin-left:12px!important}.ml-md-4{margin-left:16px!important}.ml-md-5{margin-left:20px!important}.ml-md-6{margin-left:24px!important}.ml-md-7{margin-left:28px!important}.ml-md-8{margin-left:32px!important}.ml-md-9{margin-left:36px!important}.ml-md-10{margin-left:40px!important}.ml-md-11{margin-left:44px!important}.ml-md-12{margin-left:48px!important}.ml-md-13{margin-left:52px!important}.ml-md-14{margin-left:56px!important}.ml-md-15{margin-left:60px!important}.ml-md-16{margin-left:64px!important}.ml-md-auto{margin-left:auto!important}.ms-md-0{margin-inline-start:0px!important}.ms-md-1{margin-inline-start:4px!important}.ms-md-2{margin-inline-start:8px!important}.ms-md-3{margin-inline-start:12px!important}.ms-md-4{margin-inline-start:16px!important}.ms-md-5{margin-inline-start:20px!important}.ms-md-6{margin-inline-start:24px!important}.ms-md-7{margin-inline-start:28px!important}.ms-md-8{margin-inline-start:32px!important}.ms-md-9{margin-inline-start:36px!important}.ms-md-10{margin-inline-start:40px!important}.ms-md-11{margin-inline-start:44px!important}.ms-md-12{margin-inline-start:48px!important}.ms-md-13{margin-inline-start:52px!important}.ms-md-14{margin-inline-start:56px!important}.ms-md-15{margin-inline-start:60px!important}.ms-md-16{margin-inline-start:64px!important}.ms-md-auto{margin-inline-start:auto!important}.me-md-0{margin-inline-end:0px!important}.me-md-1{margin-inline-end:4px!important}.me-md-2{margin-inline-end:8px!important}.me-md-3{margin-inline-end:12px!important}.me-md-4{margin-inline-end:16px!important}.me-md-5{margin-inline-end:20px!important}.me-md-6{margin-inline-end:24px!important}.me-md-7{margin-inline-end:28px!important}.me-md-8{margin-inline-end:32px!important}.me-md-9{margin-inline-end:36px!important}.me-md-10{margin-inline-end:40px!important}.me-md-11{margin-inline-end:44px!important}.me-md-12{margin-inline-end:48px!important}.me-md-13{margin-inline-end:52px!important}.me-md-14{margin-inline-end:56px!important}.me-md-15{margin-inline-end:60px!important}.me-md-16{margin-inline-end:64px!important}.me-md-auto{margin-inline-end:auto!important}.ma-md-n1{margin:-4px!important}.ma-md-n2{margin:-8px!important}.ma-md-n3{margin:-12px!important}.ma-md-n4{margin:-16px!important}.ma-md-n5{margin:-20px!important}.ma-md-n6{margin:-24px!important}.ma-md-n7{margin:-28px!important}.ma-md-n8{margin:-32px!important}.ma-md-n9{margin:-36px!important}.ma-md-n10{margin:-40px!important}.ma-md-n11{margin:-44px!important}.ma-md-n12{margin:-48px!important}.ma-md-n13{margin:-52px!important}.ma-md-n14{margin:-56px!important}.ma-md-n15{margin:-60px!important}.ma-md-n16{margin:-64px!important}.mx-md-n1{margin-right:-4px!important;margin-left:-4px!important}.mx-md-n2{margin-right:-8px!important;margin-left:-8px!important}.mx-md-n3{margin-right:-12px!important;margin-left:-12px!important}.mx-md-n4{margin-right:-16px!important;margin-left:-16px!important}.mx-md-n5{margin-right:-20px!important;margin-left:-20px!important}.mx-md-n6{margin-right:-24px!important;margin-left:-24px!important}.mx-md-n7{margin-right:-28px!important;margin-left:-28px!important}.mx-md-n8{margin-right:-32px!important;margin-left:-32px!important}.mx-md-n9{margin-right:-36px!important;margin-left:-36px!important}.mx-md-n10{margin-right:-40px!important;margin-left:-40px!important}.mx-md-n11{margin-right:-44px!important;margin-left:-44px!important}.mx-md-n12{margin-right:-48px!important;margin-left:-48px!important}.mx-md-n13{margin-right:-52px!important;margin-left:-52px!important}.mx-md-n14{margin-right:-56px!important;margin-left:-56px!important}.mx-md-n15{margin-right:-60px!important;margin-left:-60px!important}.mx-md-n16{margin-right:-64px!important;margin-left:-64px!important}.my-md-n1{margin-top:-4px!important;margin-bottom:-4px!important}.my-md-n2{margin-top:-8px!important;margin-bottom:-8px!important}.my-md-n3{margin-top:-12px!important;margin-bottom:-12px!important}.my-md-n4{margin-top:-16px!important;margin-bottom:-16px!important}.my-md-n5{margin-top:-20px!important;margin-bottom:-20px!important}.my-md-n6{margin-top:-24px!important;margin-bottom:-24px!important}.my-md-n7{margin-top:-28px!important;margin-bottom:-28px!important}.my-md-n8{margin-top:-32px!important;margin-bottom:-32px!important}.my-md-n9{margin-top:-36px!important;margin-bottom:-36px!important}.my-md-n10{margin-top:-40px!important;margin-bottom:-40px!important}.my-md-n11{margin-top:-44px!important;margin-bottom:-44px!important}.my-md-n12{margin-top:-48px!important;margin-bottom:-48px!important}.my-md-n13{margin-top:-52px!important;margin-bottom:-52px!important}.my-md-n14{margin-top:-56px!important;margin-bottom:-56px!important}.my-md-n15{margin-top:-60px!important;margin-bottom:-60px!important}.my-md-n16{margin-top:-64px!important;margin-bottom:-64px!important}.mt-md-n1{margin-top:-4px!important}.mt-md-n2{margin-top:-8px!important}.mt-md-n3{margin-top:-12px!important}.mt-md-n4{margin-top:-16px!important}.mt-md-n5{margin-top:-20px!important}.mt-md-n6{margin-top:-24px!important}.mt-md-n7{margin-top:-28px!important}.mt-md-n8{margin-top:-32px!important}.mt-md-n9{margin-top:-36px!important}.mt-md-n10{margin-top:-40px!important}.mt-md-n11{margin-top:-44px!important}.mt-md-n12{margin-top:-48px!important}.mt-md-n13{margin-top:-52px!important}.mt-md-n14{margin-top:-56px!important}.mt-md-n15{margin-top:-60px!important}.mt-md-n16{margin-top:-64px!important}.mr-md-n1{margin-right:-4px!important}.mr-md-n2{margin-right:-8px!important}.mr-md-n3{margin-right:-12px!important}.mr-md-n4{margin-right:-16px!important}.mr-md-n5{margin-right:-20px!important}.mr-md-n6{margin-right:-24px!important}.mr-md-n7{margin-right:-28px!important}.mr-md-n8{margin-right:-32px!important}.mr-md-n9{margin-right:-36px!important}.mr-md-n10{margin-right:-40px!important}.mr-md-n11{margin-right:-44px!important}.mr-md-n12{margin-right:-48px!important}.mr-md-n13{margin-right:-52px!important}.mr-md-n14{margin-right:-56px!important}.mr-md-n15{margin-right:-60px!important}.mr-md-n16{margin-right:-64px!important}.mb-md-n1{margin-bottom:-4px!important}.mb-md-n2{margin-bottom:-8px!important}.mb-md-n3{margin-bottom:-12px!important}.mb-md-n4{margin-bottom:-16px!important}.mb-md-n5{margin-bottom:-20px!important}.mb-md-n6{margin-bottom:-24px!important}.mb-md-n7{margin-bottom:-28px!important}.mb-md-n8{margin-bottom:-32px!important}.mb-md-n9{margin-bottom:-36px!important}.mb-md-n10{margin-bottom:-40px!important}.mb-md-n11{margin-bottom:-44px!important}.mb-md-n12{margin-bottom:-48px!important}.mb-md-n13{margin-bottom:-52px!important}.mb-md-n14{margin-bottom:-56px!important}.mb-md-n15{margin-bottom:-60px!important}.mb-md-n16{margin-bottom:-64px!important}.ml-md-n1{margin-left:-4px!important}.ml-md-n2{margin-left:-8px!important}.ml-md-n3{margin-left:-12px!important}.ml-md-n4{margin-left:-16px!important}.ml-md-n5{margin-left:-20px!important}.ml-md-n6{margin-left:-24px!important}.ml-md-n7{margin-left:-28px!important}.ml-md-n8{margin-left:-32px!important}.ml-md-n9{margin-left:-36px!important}.ml-md-n10{margin-left:-40px!important}.ml-md-n11{margin-left:-44px!important}.ml-md-n12{margin-left:-48px!important}.ml-md-n13{margin-left:-52px!important}.ml-md-n14{margin-left:-56px!important}.ml-md-n15{margin-left:-60px!important}.ml-md-n16{margin-left:-64px!important}.ms-md-n1{margin-inline-start:-4px!important}.ms-md-n2{margin-inline-start:-8px!important}.ms-md-n3{margin-inline-start:-12px!important}.ms-md-n4{margin-inline-start:-16px!important}.ms-md-n5{margin-inline-start:-20px!important}.ms-md-n6{margin-inline-start:-24px!important}.ms-md-n7{margin-inline-start:-28px!important}.ms-md-n8{margin-inline-start:-32px!important}.ms-md-n9{margin-inline-start:-36px!important}.ms-md-n10{margin-inline-start:-40px!important}.ms-md-n11{margin-inline-start:-44px!important}.ms-md-n12{margin-inline-start:-48px!important}.ms-md-n13{margin-inline-start:-52px!important}.ms-md-n14{margin-inline-start:-56px!important}.ms-md-n15{margin-inline-start:-60px!important}.ms-md-n16{margin-inline-start:-64px!important}.me-md-n1{margin-inline-end:-4px!important}.me-md-n2{margin-inline-end:-8px!important}.me-md-n3{margin-inline-end:-12px!important}.me-md-n4{margin-inline-end:-16px!important}.me-md-n5{margin-inline-end:-20px!important}.me-md-n6{margin-inline-end:-24px!important}.me-md-n7{margin-inline-end:-28px!important}.me-md-n8{margin-inline-end:-32px!important}.me-md-n9{margin-inline-end:-36px!important}.me-md-n10{margin-inline-end:-40px!important}.me-md-n11{margin-inline-end:-44px!important}.me-md-n12{margin-inline-end:-48px!important}.me-md-n13{margin-inline-end:-52px!important}.me-md-n14{margin-inline-end:-56px!important}.me-md-n15{margin-inline-end:-60px!important}.me-md-n16{margin-inline-end:-64px!important}.pa-md-0{padding:0!important}.pa-md-1{padding:4px!important}.pa-md-2{padding:8px!important}.pa-md-3{padding:12px!important}.pa-md-4{padding:16px!important}.pa-md-5{padding:20px!important}.pa-md-6{padding:24px!important}.pa-md-7{padding:28px!important}.pa-md-8{padding:32px!important}.pa-md-9{padding:36px!important}.pa-md-10{padding:40px!important}.pa-md-11{padding:44px!important}.pa-md-12{padding:48px!important}.pa-md-13{padding:52px!important}.pa-md-14{padding:56px!important}.pa-md-15{padding:60px!important}.pa-md-16{padding:64px!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:4px!important;padding-left:4px!important}.px-md-2{padding-right:8px!important;padding-left:8px!important}.px-md-3{padding-right:12px!important;padding-left:12px!important}.px-md-4{padding-right:16px!important;padding-left:16px!important}.px-md-5{padding-right:20px!important;padding-left:20px!important}.px-md-6{padding-right:24px!important;padding-left:24px!important}.px-md-7{padding-right:28px!important;padding-left:28px!important}.px-md-8{padding-right:32px!important;padding-left:32px!important}.px-md-9{padding-right:36px!important;padding-left:36px!important}.px-md-10{padding-right:40px!important;padding-left:40px!important}.px-md-11{padding-right:44px!important;padding-left:44px!important}.px-md-12{padding-right:48px!important;padding-left:48px!important}.px-md-13{padding-right:52px!important;padding-left:52px!important}.px-md-14{padding-right:56px!important;padding-left:56px!important}.px-md-15{padding-right:60px!important;padding-left:60px!important}.px-md-16{padding-right:64px!important;padding-left:64px!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:4px!important;padding-bottom:4px!important}.py-md-2{padding-top:8px!important;padding-bottom:8px!important}.py-md-3{padding-top:12px!important;padding-bottom:12px!important}.py-md-4{padding-top:16px!important;padding-bottom:16px!important}.py-md-5{padding-top:20px!important;padding-bottom:20px!important}.py-md-6{padding-top:24px!important;padding-bottom:24px!important}.py-md-7{padding-top:28px!important;padding-bottom:28px!important}.py-md-8{padding-top:32px!important;padding-bottom:32px!important}.py-md-9{padding-top:36px!important;padding-bottom:36px!important}.py-md-10{padding-top:40px!important;padding-bottom:40px!important}.py-md-11{padding-top:44px!important;padding-bottom:44px!important}.py-md-12{padding-top:48px!important;padding-bottom:48px!important}.py-md-13{padding-top:52px!important;padding-bottom:52px!important}.py-md-14{padding-top:56px!important;padding-bottom:56px!important}.py-md-15{padding-top:60px!important;padding-bottom:60px!important}.py-md-16{padding-top:64px!important;padding-bottom:64px!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:4px!important}.pt-md-2{padding-top:8px!important}.pt-md-3{padding-top:12px!important}.pt-md-4{padding-top:16px!important}.pt-md-5{padding-top:20px!important}.pt-md-6{padding-top:24px!important}.pt-md-7{padding-top:28px!important}.pt-md-8{padding-top:32px!important}.pt-md-9{padding-top:36px!important}.pt-md-10{padding-top:40px!important}.pt-md-11{padding-top:44px!important}.pt-md-12{padding-top:48px!important}.pt-md-13{padding-top:52px!important}.pt-md-14{padding-top:56px!important}.pt-md-15{padding-top:60px!important}.pt-md-16{padding-top:64px!important}.pr-md-0{padding-right:0!important}.pr-md-1{padding-right:4px!important}.pr-md-2{padding-right:8px!important}.pr-md-3{padding-right:12px!important}.pr-md-4{padding-right:16px!important}.pr-md-5{padding-right:20px!important}.pr-md-6{padding-right:24px!important}.pr-md-7{padding-right:28px!important}.pr-md-8{padding-right:32px!important}.pr-md-9{padding-right:36px!important}.pr-md-10{padding-right:40px!important}.pr-md-11{padding-right:44px!important}.pr-md-12{padding-right:48px!important}.pr-md-13{padding-right:52px!important}.pr-md-14{padding-right:56px!important}.pr-md-15{padding-right:60px!important}.pr-md-16{padding-right:64px!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:4px!important}.pb-md-2{padding-bottom:8px!important}.pb-md-3{padding-bottom:12px!important}.pb-md-4{padding-bottom:16px!important}.pb-md-5{padding-bottom:20px!important}.pb-md-6{padding-bottom:24px!important}.pb-md-7{padding-bottom:28px!important}.pb-md-8{padding-bottom:32px!important}.pb-md-9{padding-bottom:36px!important}.pb-md-10{padding-bottom:40px!important}.pb-md-11{padding-bottom:44px!important}.pb-md-12{padding-bottom:48px!important}.pb-md-13{padding-bottom:52px!important}.pb-md-14{padding-bottom:56px!important}.pb-md-15{padding-bottom:60px!important}.pb-md-16{padding-bottom:64px!important}.pl-md-0{padding-left:0!important}.pl-md-1{padding-left:4px!important}.pl-md-2{padding-left:8px!important}.pl-md-3{padding-left:12px!important}.pl-md-4{padding-left:16px!important}.pl-md-5{padding-left:20px!important}.pl-md-6{padding-left:24px!important}.pl-md-7{padding-left:28px!important}.pl-md-8{padding-left:32px!important}.pl-md-9{padding-left:36px!important}.pl-md-10{padding-left:40px!important}.pl-md-11{padding-left:44px!important}.pl-md-12{padding-left:48px!important}.pl-md-13{padding-left:52px!important}.pl-md-14{padding-left:56px!important}.pl-md-15{padding-left:60px!important}.pl-md-16{padding-left:64px!important}.ps-md-0{padding-inline-start:0px!important}.ps-md-1{padding-inline-start:4px!important}.ps-md-2{padding-inline-start:8px!important}.ps-md-3{padding-inline-start:12px!important}.ps-md-4{padding-inline-start:16px!important}.ps-md-5{padding-inline-start:20px!important}.ps-md-6{padding-inline-start:24px!important}.ps-md-7{padding-inline-start:28px!important}.ps-md-8{padding-inline-start:32px!important}.ps-md-9{padding-inline-start:36px!important}.ps-md-10{padding-inline-start:40px!important}.ps-md-11{padding-inline-start:44px!important}.ps-md-12{padding-inline-start:48px!important}.ps-md-13{padding-inline-start:52px!important}.ps-md-14{padding-inline-start:56px!important}.ps-md-15{padding-inline-start:60px!important}.ps-md-16{padding-inline-start:64px!important}.pe-md-0{padding-inline-end:0px!important}.pe-md-1{padding-inline-end:4px!important}.pe-md-2{padding-inline-end:8px!important}.pe-md-3{padding-inline-end:12px!important}.pe-md-4{padding-inline-end:16px!important}.pe-md-5{padding-inline-end:20px!important}.pe-md-6{padding-inline-end:24px!important}.pe-md-7{padding-inline-end:28px!important}.pe-md-8{padding-inline-end:32px!important}.pe-md-9{padding-inline-end:36px!important}.pe-md-10{padding-inline-end:40px!important}.pe-md-11{padding-inline-end:44px!important}.pe-md-12{padding-inline-end:48px!important}.pe-md-13{padding-inline-end:52px!important}.pe-md-14{padding-inline-end:56px!important}.pe-md-15{padding-inline-end:60px!important}.pe-md-16{padding-inline-end:64px!important}.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}.text-md-justify{text-align:justify!important}.text-md-start{text-align:start!important}.text-md-end{text-align:end!important}.text-md-h1{font-size:6rem!important;font-weight:300;line-height:1;letter-spacing:-.015625em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-h2{font-size:3.75rem!important;font-weight:300;line-height:1;letter-spacing:-.0083333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-h3{font-size:3rem!important;font-weight:400;line-height:1.05;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-h4{font-size:2.125rem!important;font-weight:400;line-height:1.175;letter-spacing:.0073529412em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-h5{font-size:1.5rem!important;font-weight:400;line-height:1.333;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-h6{font-size:1.25rem!important;font-weight:500;line-height:1.6;letter-spacing:.0125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-subtitle-1{font-size:1rem!important;font-weight:400;line-height:1.75;letter-spacing:.009375em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-subtitle-2{font-size:.875rem!important;font-weight:500;line-height:1.6;letter-spacing:.0071428571em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-body-1{font-size:1rem!important;font-weight:400;line-height:1.5;letter-spacing:.03125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-body-2{font-size:.875rem!important;font-weight:400;line-height:1.425;letter-spacing:.0178571429em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-button{font-size:.875rem!important;font-weight:500;line-height:2.6;letter-spacing:.0892857143em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.text-md-caption{font-size:.75rem!important;font-weight:400;line-height:1.667;letter-spacing:.0333333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-overline{font-size:.75rem!important;font-weight:500;line-height:2.667;letter-spacing:.1666666667em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.h-md-auto{height:auto!important}.h-md-screen{height:100vh!important}.h-md-0{height:0!important}.h-md-25{height:25%!important}.h-md-50{height:50%!important}.h-md-75{height:75%!important}.h-md-100{height:100%!important}.w-md-auto{width:auto!important}.w-md-0{width:0!important}.w-md-25{width:25%!important}.w-md-33{width:33%!important}.w-md-50{width:50%!important}.w-md-66{width:66%!important}.w-md-75{width:75%!important}.w-md-100{width:100%!important}}@media (min-width: 1280px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.float-lg-none{float:none!important}.float-lg-left{float:left!important}.float-lg-right{float:right!important}.v-locale--is-rtl .float-lg-end{float:left!important}.v-locale--is-rtl .float-lg-start,.v-locale--is-ltr .float-lg-end{float:right!important}.v-locale--is-ltr .float-lg-start{float:left!important}.flex-lg-fill,.flex-lg-1-1{flex:1 1 auto!important}.flex-lg-1-0{flex:1 0 auto!important}.flex-lg-0-1{flex:0 1 auto!important}.flex-lg-0-0{flex:0 0 auto!important}.flex-lg-1-1-100{flex:1 1 100%!important}.flex-lg-1-0-100{flex:1 0 100%!important}.flex-lg-0-1-100{flex:0 1 100%!important}.flex-lg-0-0-100{flex:0 0 100%!important}.flex-lg-1-1-0{flex:1 1 0!important}.flex-lg-1-0-0{flex:1 0 0!important}.flex-lg-0-1-0{flex:0 1 0!important}.flex-lg-0-0-0{flex:0 0 0!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-lg-start{justify-content:flex-start!important}.justify-lg-end{justify-content:flex-end!important}.justify-lg-center{justify-content:center!important}.justify-lg-space-between{justify-content:space-between!important}.justify-lg-space-around{justify-content:space-around!important}.justify-lg-space-evenly{justify-content:space-evenly!important}.justify-items-lg-start{justify-items:flex-start!important}.justify-items-lg-end{justify-items:flex-end!important}.justify-items-lg-center{justify-items:center!important}.justify-items-lg-stretch{justify-items:stretch!important}.align-lg-start{align-items:flex-start!important}.align-lg-end{align-items:flex-end!important}.align-lg-center{align-items:center!important}.align-lg-baseline{align-items:baseline!important}.align-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-space-between{align-content:space-between!important}.align-content-lg-space-around{align-content:space-around!important}.align-content-lg-space-evenly{align-content:space-evenly!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-6{order:6!important}.order-lg-7{order:7!important}.order-lg-8{order:8!important}.order-lg-9{order:9!important}.order-lg-10{order:10!important}.order-lg-11{order:11!important}.order-lg-12{order:12!important}.order-lg-last{order:13!important}.ga-lg-0{gap:0px!important}.ga-lg-1{gap:4px!important}.ga-lg-2{gap:8px!important}.ga-lg-3{gap:12px!important}.ga-lg-4{gap:16px!important}.ga-lg-5{gap:20px!important}.ga-lg-6{gap:24px!important}.ga-lg-7{gap:28px!important}.ga-lg-8{gap:32px!important}.ga-lg-9{gap:36px!important}.ga-lg-10{gap:40px!important}.ga-lg-11{gap:44px!important}.ga-lg-12{gap:48px!important}.ga-lg-13{gap:52px!important}.ga-lg-14{gap:56px!important}.ga-lg-15{gap:60px!important}.ga-lg-16{gap:64px!important}.ga-lg-auto{gap:auto!important}.gr-lg-0{row-gap:0px!important}.gr-lg-1{row-gap:4px!important}.gr-lg-2{row-gap:8px!important}.gr-lg-3{row-gap:12px!important}.gr-lg-4{row-gap:16px!important}.gr-lg-5{row-gap:20px!important}.gr-lg-6{row-gap:24px!important}.gr-lg-7{row-gap:28px!important}.gr-lg-8{row-gap:32px!important}.gr-lg-9{row-gap:36px!important}.gr-lg-10{row-gap:40px!important}.gr-lg-11{row-gap:44px!important}.gr-lg-12{row-gap:48px!important}.gr-lg-13{row-gap:52px!important}.gr-lg-14{row-gap:56px!important}.gr-lg-15{row-gap:60px!important}.gr-lg-16{row-gap:64px!important}.gr-lg-auto{row-gap:auto!important}.gc-lg-0{column-gap:0px!important}.gc-lg-1{column-gap:4px!important}.gc-lg-2{column-gap:8px!important}.gc-lg-3{column-gap:12px!important}.gc-lg-4{column-gap:16px!important}.gc-lg-5{column-gap:20px!important}.gc-lg-6{column-gap:24px!important}.gc-lg-7{column-gap:28px!important}.gc-lg-8{column-gap:32px!important}.gc-lg-9{column-gap:36px!important}.gc-lg-10{column-gap:40px!important}.gc-lg-11{column-gap:44px!important}.gc-lg-12{column-gap:48px!important}.gc-lg-13{column-gap:52px!important}.gc-lg-14{column-gap:56px!important}.gc-lg-15{column-gap:60px!important}.gc-lg-16{column-gap:64px!important}.gc-lg-auto{column-gap:auto!important}.ma-lg-0{margin:0!important}.ma-lg-1{margin:4px!important}.ma-lg-2{margin:8px!important}.ma-lg-3{margin:12px!important}.ma-lg-4{margin:16px!important}.ma-lg-5{margin:20px!important}.ma-lg-6{margin:24px!important}.ma-lg-7{margin:28px!important}.ma-lg-8{margin:32px!important}.ma-lg-9{margin:36px!important}.ma-lg-10{margin:40px!important}.ma-lg-11{margin:44px!important}.ma-lg-12{margin:48px!important}.ma-lg-13{margin:52px!important}.ma-lg-14{margin:56px!important}.ma-lg-15{margin:60px!important}.ma-lg-16{margin:64px!important}.ma-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:4px!important;margin-left:4px!important}.mx-lg-2{margin-right:8px!important;margin-left:8px!important}.mx-lg-3{margin-right:12px!important;margin-left:12px!important}.mx-lg-4{margin-right:16px!important;margin-left:16px!important}.mx-lg-5{margin-right:20px!important;margin-left:20px!important}.mx-lg-6{margin-right:24px!important;margin-left:24px!important}.mx-lg-7{margin-right:28px!important;margin-left:28px!important}.mx-lg-8{margin-right:32px!important;margin-left:32px!important}.mx-lg-9{margin-right:36px!important;margin-left:36px!important}.mx-lg-10{margin-right:40px!important;margin-left:40px!important}.mx-lg-11{margin-right:44px!important;margin-left:44px!important}.mx-lg-12{margin-right:48px!important;margin-left:48px!important}.mx-lg-13{margin-right:52px!important;margin-left:52px!important}.mx-lg-14{margin-right:56px!important;margin-left:56px!important}.mx-lg-15{margin-right:60px!important;margin-left:60px!important}.mx-lg-16{margin-right:64px!important;margin-left:64px!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:4px!important;margin-bottom:4px!important}.my-lg-2{margin-top:8px!important;margin-bottom:8px!important}.my-lg-3{margin-top:12px!important;margin-bottom:12px!important}.my-lg-4{margin-top:16px!important;margin-bottom:16px!important}.my-lg-5{margin-top:20px!important;margin-bottom:20px!important}.my-lg-6{margin-top:24px!important;margin-bottom:24px!important}.my-lg-7{margin-top:28px!important;margin-bottom:28px!important}.my-lg-8{margin-top:32px!important;margin-bottom:32px!important}.my-lg-9{margin-top:36px!important;margin-bottom:36px!important}.my-lg-10{margin-top:40px!important;margin-bottom:40px!important}.my-lg-11{margin-top:44px!important;margin-bottom:44px!important}.my-lg-12{margin-top:48px!important;margin-bottom:48px!important}.my-lg-13{margin-top:52px!important;margin-bottom:52px!important}.my-lg-14{margin-top:56px!important;margin-bottom:56px!important}.my-lg-15{margin-top:60px!important;margin-bottom:60px!important}.my-lg-16{margin-top:64px!important;margin-bottom:64px!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:4px!important}.mt-lg-2{margin-top:8px!important}.mt-lg-3{margin-top:12px!important}.mt-lg-4{margin-top:16px!important}.mt-lg-5{margin-top:20px!important}.mt-lg-6{margin-top:24px!important}.mt-lg-7{margin-top:28px!important}.mt-lg-8{margin-top:32px!important}.mt-lg-9{margin-top:36px!important}.mt-lg-10{margin-top:40px!important}.mt-lg-11{margin-top:44px!important}.mt-lg-12{margin-top:48px!important}.mt-lg-13{margin-top:52px!important}.mt-lg-14{margin-top:56px!important}.mt-lg-15{margin-top:60px!important}.mt-lg-16{margin-top:64px!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-0{margin-right:0!important}.mr-lg-1{margin-right:4px!important}.mr-lg-2{margin-right:8px!important}.mr-lg-3{margin-right:12px!important}.mr-lg-4{margin-right:16px!important}.mr-lg-5{margin-right:20px!important}.mr-lg-6{margin-right:24px!important}.mr-lg-7{margin-right:28px!important}.mr-lg-8{margin-right:32px!important}.mr-lg-9{margin-right:36px!important}.mr-lg-10{margin-right:40px!important}.mr-lg-11{margin-right:44px!important}.mr-lg-12{margin-right:48px!important}.mr-lg-13{margin-right:52px!important}.mr-lg-14{margin-right:56px!important}.mr-lg-15{margin-right:60px!important}.mr-lg-16{margin-right:64px!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:4px!important}.mb-lg-2{margin-bottom:8px!important}.mb-lg-3{margin-bottom:12px!important}.mb-lg-4{margin-bottom:16px!important}.mb-lg-5{margin-bottom:20px!important}.mb-lg-6{margin-bottom:24px!important}.mb-lg-7{margin-bottom:28px!important}.mb-lg-8{margin-bottom:32px!important}.mb-lg-9{margin-bottom:36px!important}.mb-lg-10{margin-bottom:40px!important}.mb-lg-11{margin-bottom:44px!important}.mb-lg-12{margin-bottom:48px!important}.mb-lg-13{margin-bottom:52px!important}.mb-lg-14{margin-bottom:56px!important}.mb-lg-15{margin-bottom:60px!important}.mb-lg-16{margin-bottom:64px!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-0{margin-left:0!important}.ml-lg-1{margin-left:4px!important}.ml-lg-2{margin-left:8px!important}.ml-lg-3{margin-left:12px!important}.ml-lg-4{margin-left:16px!important}.ml-lg-5{margin-left:20px!important}.ml-lg-6{margin-left:24px!important}.ml-lg-7{margin-left:28px!important}.ml-lg-8{margin-left:32px!important}.ml-lg-9{margin-left:36px!important}.ml-lg-10{margin-left:40px!important}.ml-lg-11{margin-left:44px!important}.ml-lg-12{margin-left:48px!important}.ml-lg-13{margin-left:52px!important}.ml-lg-14{margin-left:56px!important}.ml-lg-15{margin-left:60px!important}.ml-lg-16{margin-left:64px!important}.ml-lg-auto{margin-left:auto!important}.ms-lg-0{margin-inline-start:0px!important}.ms-lg-1{margin-inline-start:4px!important}.ms-lg-2{margin-inline-start:8px!important}.ms-lg-3{margin-inline-start:12px!important}.ms-lg-4{margin-inline-start:16px!important}.ms-lg-5{margin-inline-start:20px!important}.ms-lg-6{margin-inline-start:24px!important}.ms-lg-7{margin-inline-start:28px!important}.ms-lg-8{margin-inline-start:32px!important}.ms-lg-9{margin-inline-start:36px!important}.ms-lg-10{margin-inline-start:40px!important}.ms-lg-11{margin-inline-start:44px!important}.ms-lg-12{margin-inline-start:48px!important}.ms-lg-13{margin-inline-start:52px!important}.ms-lg-14{margin-inline-start:56px!important}.ms-lg-15{margin-inline-start:60px!important}.ms-lg-16{margin-inline-start:64px!important}.ms-lg-auto{margin-inline-start:auto!important}.me-lg-0{margin-inline-end:0px!important}.me-lg-1{margin-inline-end:4px!important}.me-lg-2{margin-inline-end:8px!important}.me-lg-3{margin-inline-end:12px!important}.me-lg-4{margin-inline-end:16px!important}.me-lg-5{margin-inline-end:20px!important}.me-lg-6{margin-inline-end:24px!important}.me-lg-7{margin-inline-end:28px!important}.me-lg-8{margin-inline-end:32px!important}.me-lg-9{margin-inline-end:36px!important}.me-lg-10{margin-inline-end:40px!important}.me-lg-11{margin-inline-end:44px!important}.me-lg-12{margin-inline-end:48px!important}.me-lg-13{margin-inline-end:52px!important}.me-lg-14{margin-inline-end:56px!important}.me-lg-15{margin-inline-end:60px!important}.me-lg-16{margin-inline-end:64px!important}.me-lg-auto{margin-inline-end:auto!important}.ma-lg-n1{margin:-4px!important}.ma-lg-n2{margin:-8px!important}.ma-lg-n3{margin:-12px!important}.ma-lg-n4{margin:-16px!important}.ma-lg-n5{margin:-20px!important}.ma-lg-n6{margin:-24px!important}.ma-lg-n7{margin:-28px!important}.ma-lg-n8{margin:-32px!important}.ma-lg-n9{margin:-36px!important}.ma-lg-n10{margin:-40px!important}.ma-lg-n11{margin:-44px!important}.ma-lg-n12{margin:-48px!important}.ma-lg-n13{margin:-52px!important}.ma-lg-n14{margin:-56px!important}.ma-lg-n15{margin:-60px!important}.ma-lg-n16{margin:-64px!important}.mx-lg-n1{margin-right:-4px!important;margin-left:-4px!important}.mx-lg-n2{margin-right:-8px!important;margin-left:-8px!important}.mx-lg-n3{margin-right:-12px!important;margin-left:-12px!important}.mx-lg-n4{margin-right:-16px!important;margin-left:-16px!important}.mx-lg-n5{margin-right:-20px!important;margin-left:-20px!important}.mx-lg-n6{margin-right:-24px!important;margin-left:-24px!important}.mx-lg-n7{margin-right:-28px!important;margin-left:-28px!important}.mx-lg-n8{margin-right:-32px!important;margin-left:-32px!important}.mx-lg-n9{margin-right:-36px!important;margin-left:-36px!important}.mx-lg-n10{margin-right:-40px!important;margin-left:-40px!important}.mx-lg-n11{margin-right:-44px!important;margin-left:-44px!important}.mx-lg-n12{margin-right:-48px!important;margin-left:-48px!important}.mx-lg-n13{margin-right:-52px!important;margin-left:-52px!important}.mx-lg-n14{margin-right:-56px!important;margin-left:-56px!important}.mx-lg-n15{margin-right:-60px!important;margin-left:-60px!important}.mx-lg-n16{margin-right:-64px!important;margin-left:-64px!important}.my-lg-n1{margin-top:-4px!important;margin-bottom:-4px!important}.my-lg-n2{margin-top:-8px!important;margin-bottom:-8px!important}.my-lg-n3{margin-top:-12px!important;margin-bottom:-12px!important}.my-lg-n4{margin-top:-16px!important;margin-bottom:-16px!important}.my-lg-n5{margin-top:-20px!important;margin-bottom:-20px!important}.my-lg-n6{margin-top:-24px!important;margin-bottom:-24px!important}.my-lg-n7{margin-top:-28px!important;margin-bottom:-28px!important}.my-lg-n8{margin-top:-32px!important;margin-bottom:-32px!important}.my-lg-n9{margin-top:-36px!important;margin-bottom:-36px!important}.my-lg-n10{margin-top:-40px!important;margin-bottom:-40px!important}.my-lg-n11{margin-top:-44px!important;margin-bottom:-44px!important}.my-lg-n12{margin-top:-48px!important;margin-bottom:-48px!important}.my-lg-n13{margin-top:-52px!important;margin-bottom:-52px!important}.my-lg-n14{margin-top:-56px!important;margin-bottom:-56px!important}.my-lg-n15{margin-top:-60px!important;margin-bottom:-60px!important}.my-lg-n16{margin-top:-64px!important;margin-bottom:-64px!important}.mt-lg-n1{margin-top:-4px!important}.mt-lg-n2{margin-top:-8px!important}.mt-lg-n3{margin-top:-12px!important}.mt-lg-n4{margin-top:-16px!important}.mt-lg-n5{margin-top:-20px!important}.mt-lg-n6{margin-top:-24px!important}.mt-lg-n7{margin-top:-28px!important}.mt-lg-n8{margin-top:-32px!important}.mt-lg-n9{margin-top:-36px!important}.mt-lg-n10{margin-top:-40px!important}.mt-lg-n11{margin-top:-44px!important}.mt-lg-n12{margin-top:-48px!important}.mt-lg-n13{margin-top:-52px!important}.mt-lg-n14{margin-top:-56px!important}.mt-lg-n15{margin-top:-60px!important}.mt-lg-n16{margin-top:-64px!important}.mr-lg-n1{margin-right:-4px!important}.mr-lg-n2{margin-right:-8px!important}.mr-lg-n3{margin-right:-12px!important}.mr-lg-n4{margin-right:-16px!important}.mr-lg-n5{margin-right:-20px!important}.mr-lg-n6{margin-right:-24px!important}.mr-lg-n7{margin-right:-28px!important}.mr-lg-n8{margin-right:-32px!important}.mr-lg-n9{margin-right:-36px!important}.mr-lg-n10{margin-right:-40px!important}.mr-lg-n11{margin-right:-44px!important}.mr-lg-n12{margin-right:-48px!important}.mr-lg-n13{margin-right:-52px!important}.mr-lg-n14{margin-right:-56px!important}.mr-lg-n15{margin-right:-60px!important}.mr-lg-n16{margin-right:-64px!important}.mb-lg-n1{margin-bottom:-4px!important}.mb-lg-n2{margin-bottom:-8px!important}.mb-lg-n3{margin-bottom:-12px!important}.mb-lg-n4{margin-bottom:-16px!important}.mb-lg-n5{margin-bottom:-20px!important}.mb-lg-n6{margin-bottom:-24px!important}.mb-lg-n7{margin-bottom:-28px!important}.mb-lg-n8{margin-bottom:-32px!important}.mb-lg-n9{margin-bottom:-36px!important}.mb-lg-n10{margin-bottom:-40px!important}.mb-lg-n11{margin-bottom:-44px!important}.mb-lg-n12{margin-bottom:-48px!important}.mb-lg-n13{margin-bottom:-52px!important}.mb-lg-n14{margin-bottom:-56px!important}.mb-lg-n15{margin-bottom:-60px!important}.mb-lg-n16{margin-bottom:-64px!important}.ml-lg-n1{margin-left:-4px!important}.ml-lg-n2{margin-left:-8px!important}.ml-lg-n3{margin-left:-12px!important}.ml-lg-n4{margin-left:-16px!important}.ml-lg-n5{margin-left:-20px!important}.ml-lg-n6{margin-left:-24px!important}.ml-lg-n7{margin-left:-28px!important}.ml-lg-n8{margin-left:-32px!important}.ml-lg-n9{margin-left:-36px!important}.ml-lg-n10{margin-left:-40px!important}.ml-lg-n11{margin-left:-44px!important}.ml-lg-n12{margin-left:-48px!important}.ml-lg-n13{margin-left:-52px!important}.ml-lg-n14{margin-left:-56px!important}.ml-lg-n15{margin-left:-60px!important}.ml-lg-n16{margin-left:-64px!important}.ms-lg-n1{margin-inline-start:-4px!important}.ms-lg-n2{margin-inline-start:-8px!important}.ms-lg-n3{margin-inline-start:-12px!important}.ms-lg-n4{margin-inline-start:-16px!important}.ms-lg-n5{margin-inline-start:-20px!important}.ms-lg-n6{margin-inline-start:-24px!important}.ms-lg-n7{margin-inline-start:-28px!important}.ms-lg-n8{margin-inline-start:-32px!important}.ms-lg-n9{margin-inline-start:-36px!important}.ms-lg-n10{margin-inline-start:-40px!important}.ms-lg-n11{margin-inline-start:-44px!important}.ms-lg-n12{margin-inline-start:-48px!important}.ms-lg-n13{margin-inline-start:-52px!important}.ms-lg-n14{margin-inline-start:-56px!important}.ms-lg-n15{margin-inline-start:-60px!important}.ms-lg-n16{margin-inline-start:-64px!important}.me-lg-n1{margin-inline-end:-4px!important}.me-lg-n2{margin-inline-end:-8px!important}.me-lg-n3{margin-inline-end:-12px!important}.me-lg-n4{margin-inline-end:-16px!important}.me-lg-n5{margin-inline-end:-20px!important}.me-lg-n6{margin-inline-end:-24px!important}.me-lg-n7{margin-inline-end:-28px!important}.me-lg-n8{margin-inline-end:-32px!important}.me-lg-n9{margin-inline-end:-36px!important}.me-lg-n10{margin-inline-end:-40px!important}.me-lg-n11{margin-inline-end:-44px!important}.me-lg-n12{margin-inline-end:-48px!important}.me-lg-n13{margin-inline-end:-52px!important}.me-lg-n14{margin-inline-end:-56px!important}.me-lg-n15{margin-inline-end:-60px!important}.me-lg-n16{margin-inline-end:-64px!important}.pa-lg-0{padding:0!important}.pa-lg-1{padding:4px!important}.pa-lg-2{padding:8px!important}.pa-lg-3{padding:12px!important}.pa-lg-4{padding:16px!important}.pa-lg-5{padding:20px!important}.pa-lg-6{padding:24px!important}.pa-lg-7{padding:28px!important}.pa-lg-8{padding:32px!important}.pa-lg-9{padding:36px!important}.pa-lg-10{padding:40px!important}.pa-lg-11{padding:44px!important}.pa-lg-12{padding:48px!important}.pa-lg-13{padding:52px!important}.pa-lg-14{padding:56px!important}.pa-lg-15{padding:60px!important}.pa-lg-16{padding:64px!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:4px!important;padding-left:4px!important}.px-lg-2{padding-right:8px!important;padding-left:8px!important}.px-lg-3{padding-right:12px!important;padding-left:12px!important}.px-lg-4{padding-right:16px!important;padding-left:16px!important}.px-lg-5{padding-right:20px!important;padding-left:20px!important}.px-lg-6{padding-right:24px!important;padding-left:24px!important}.px-lg-7{padding-right:28px!important;padding-left:28px!important}.px-lg-8{padding-right:32px!important;padding-left:32px!important}.px-lg-9{padding-right:36px!important;padding-left:36px!important}.px-lg-10{padding-right:40px!important;padding-left:40px!important}.px-lg-11{padding-right:44px!important;padding-left:44px!important}.px-lg-12{padding-right:48px!important;padding-left:48px!important}.px-lg-13{padding-right:52px!important;padding-left:52px!important}.px-lg-14{padding-right:56px!important;padding-left:56px!important}.px-lg-15{padding-right:60px!important;padding-left:60px!important}.px-lg-16{padding-right:64px!important;padding-left:64px!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:4px!important;padding-bottom:4px!important}.py-lg-2{padding-top:8px!important;padding-bottom:8px!important}.py-lg-3{padding-top:12px!important;padding-bottom:12px!important}.py-lg-4{padding-top:16px!important;padding-bottom:16px!important}.py-lg-5{padding-top:20px!important;padding-bottom:20px!important}.py-lg-6{padding-top:24px!important;padding-bottom:24px!important}.py-lg-7{padding-top:28px!important;padding-bottom:28px!important}.py-lg-8{padding-top:32px!important;padding-bottom:32px!important}.py-lg-9{padding-top:36px!important;padding-bottom:36px!important}.py-lg-10{padding-top:40px!important;padding-bottom:40px!important}.py-lg-11{padding-top:44px!important;padding-bottom:44px!important}.py-lg-12{padding-top:48px!important;padding-bottom:48px!important}.py-lg-13{padding-top:52px!important;padding-bottom:52px!important}.py-lg-14{padding-top:56px!important;padding-bottom:56px!important}.py-lg-15{padding-top:60px!important;padding-bottom:60px!important}.py-lg-16{padding-top:64px!important;padding-bottom:64px!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:4px!important}.pt-lg-2{padding-top:8px!important}.pt-lg-3{padding-top:12px!important}.pt-lg-4{padding-top:16px!important}.pt-lg-5{padding-top:20px!important}.pt-lg-6{padding-top:24px!important}.pt-lg-7{padding-top:28px!important}.pt-lg-8{padding-top:32px!important}.pt-lg-9{padding-top:36px!important}.pt-lg-10{padding-top:40px!important}.pt-lg-11{padding-top:44px!important}.pt-lg-12{padding-top:48px!important}.pt-lg-13{padding-top:52px!important}.pt-lg-14{padding-top:56px!important}.pt-lg-15{padding-top:60px!important}.pt-lg-16{padding-top:64px!important}.pr-lg-0{padding-right:0!important}.pr-lg-1{padding-right:4px!important}.pr-lg-2{padding-right:8px!important}.pr-lg-3{padding-right:12px!important}.pr-lg-4{padding-right:16px!important}.pr-lg-5{padding-right:20px!important}.pr-lg-6{padding-right:24px!important}.pr-lg-7{padding-right:28px!important}.pr-lg-8{padding-right:32px!important}.pr-lg-9{padding-right:36px!important}.pr-lg-10{padding-right:40px!important}.pr-lg-11{padding-right:44px!important}.pr-lg-12{padding-right:48px!important}.pr-lg-13{padding-right:52px!important}.pr-lg-14{padding-right:56px!important}.pr-lg-15{padding-right:60px!important}.pr-lg-16{padding-right:64px!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:4px!important}.pb-lg-2{padding-bottom:8px!important}.pb-lg-3{padding-bottom:12px!important}.pb-lg-4{padding-bottom:16px!important}.pb-lg-5{padding-bottom:20px!important}.pb-lg-6{padding-bottom:24px!important}.pb-lg-7{padding-bottom:28px!important}.pb-lg-8{padding-bottom:32px!important}.pb-lg-9{padding-bottom:36px!important}.pb-lg-10{padding-bottom:40px!important}.pb-lg-11{padding-bottom:44px!important}.pb-lg-12{padding-bottom:48px!important}.pb-lg-13{padding-bottom:52px!important}.pb-lg-14{padding-bottom:56px!important}.pb-lg-15{padding-bottom:60px!important}.pb-lg-16{padding-bottom:64px!important}.pl-lg-0{padding-left:0!important}.pl-lg-1{padding-left:4px!important}.pl-lg-2{padding-left:8px!important}.pl-lg-3{padding-left:12px!important}.pl-lg-4{padding-left:16px!important}.pl-lg-5{padding-left:20px!important}.pl-lg-6{padding-left:24px!important}.pl-lg-7{padding-left:28px!important}.pl-lg-8{padding-left:32px!important}.pl-lg-9{padding-left:36px!important}.pl-lg-10{padding-left:40px!important}.pl-lg-11{padding-left:44px!important}.pl-lg-12{padding-left:48px!important}.pl-lg-13{padding-left:52px!important}.pl-lg-14{padding-left:56px!important}.pl-lg-15{padding-left:60px!important}.pl-lg-16{padding-left:64px!important}.ps-lg-0{padding-inline-start:0px!important}.ps-lg-1{padding-inline-start:4px!important}.ps-lg-2{padding-inline-start:8px!important}.ps-lg-3{padding-inline-start:12px!important}.ps-lg-4{padding-inline-start:16px!important}.ps-lg-5{padding-inline-start:20px!important}.ps-lg-6{padding-inline-start:24px!important}.ps-lg-7{padding-inline-start:28px!important}.ps-lg-8{padding-inline-start:32px!important}.ps-lg-9{padding-inline-start:36px!important}.ps-lg-10{padding-inline-start:40px!important}.ps-lg-11{padding-inline-start:44px!important}.ps-lg-12{padding-inline-start:48px!important}.ps-lg-13{padding-inline-start:52px!important}.ps-lg-14{padding-inline-start:56px!important}.ps-lg-15{padding-inline-start:60px!important}.ps-lg-16{padding-inline-start:64px!important}.pe-lg-0{padding-inline-end:0px!important}.pe-lg-1{padding-inline-end:4px!important}.pe-lg-2{padding-inline-end:8px!important}.pe-lg-3{padding-inline-end:12px!important}.pe-lg-4{padding-inline-end:16px!important}.pe-lg-5{padding-inline-end:20px!important}.pe-lg-6{padding-inline-end:24px!important}.pe-lg-7{padding-inline-end:28px!important}.pe-lg-8{padding-inline-end:32px!important}.pe-lg-9{padding-inline-end:36px!important}.pe-lg-10{padding-inline-end:40px!important}.pe-lg-11{padding-inline-end:44px!important}.pe-lg-12{padding-inline-end:48px!important}.pe-lg-13{padding-inline-end:52px!important}.pe-lg-14{padding-inline-end:56px!important}.pe-lg-15{padding-inline-end:60px!important}.pe-lg-16{padding-inline-end:64px!important}.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}.text-lg-justify{text-align:justify!important}.text-lg-start{text-align:start!important}.text-lg-end{text-align:end!important}.text-lg-h1{font-size:6rem!important;font-weight:300;line-height:1;letter-spacing:-.015625em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-h2{font-size:3.75rem!important;font-weight:300;line-height:1;letter-spacing:-.0083333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-h3{font-size:3rem!important;font-weight:400;line-height:1.05;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-h4{font-size:2.125rem!important;font-weight:400;line-height:1.175;letter-spacing:.0073529412em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-h5{font-size:1.5rem!important;font-weight:400;line-height:1.333;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-h6{font-size:1.25rem!important;font-weight:500;line-height:1.6;letter-spacing:.0125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-subtitle-1{font-size:1rem!important;font-weight:400;line-height:1.75;letter-spacing:.009375em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-subtitle-2{font-size:.875rem!important;font-weight:500;line-height:1.6;letter-spacing:.0071428571em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-body-1{font-size:1rem!important;font-weight:400;line-height:1.5;letter-spacing:.03125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-body-2{font-size:.875rem!important;font-weight:400;line-height:1.425;letter-spacing:.0178571429em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-button{font-size:.875rem!important;font-weight:500;line-height:2.6;letter-spacing:.0892857143em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.text-lg-caption{font-size:.75rem!important;font-weight:400;line-height:1.667;letter-spacing:.0333333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-overline{font-size:.75rem!important;font-weight:500;line-height:2.667;letter-spacing:.1666666667em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.h-lg-auto{height:auto!important}.h-lg-screen{height:100vh!important}.h-lg-0{height:0!important}.h-lg-25{height:25%!important}.h-lg-50{height:50%!important}.h-lg-75{height:75%!important}.h-lg-100{height:100%!important}.w-lg-auto{width:auto!important}.w-lg-0{width:0!important}.w-lg-25{width:25%!important}.w-lg-33{width:33%!important}.w-lg-50{width:50%!important}.w-lg-66{width:66%!important}.w-lg-75{width:75%!important}.w-lg-100{width:100%!important}}@media (min-width: 1920px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.float-xl-none{float:none!important}.float-xl-left{float:left!important}.float-xl-right{float:right!important}.v-locale--is-rtl .float-xl-end{float:left!important}.v-locale--is-rtl .float-xl-start,.v-locale--is-ltr .float-xl-end{float:right!important}.v-locale--is-ltr .float-xl-start{float:left!important}.flex-xl-fill,.flex-xl-1-1{flex:1 1 auto!important}.flex-xl-1-0{flex:1 0 auto!important}.flex-xl-0-1{flex:0 1 auto!important}.flex-xl-0-0{flex:0 0 auto!important}.flex-xl-1-1-100{flex:1 1 100%!important}.flex-xl-1-0-100{flex:1 0 100%!important}.flex-xl-0-1-100{flex:0 1 100%!important}.flex-xl-0-0-100{flex:0 0 100%!important}.flex-xl-1-1-0{flex:1 1 0!important}.flex-xl-1-0-0{flex:1 0 0!important}.flex-xl-0-1-0{flex:0 1 0!important}.flex-xl-0-0-0{flex:0 0 0!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-xl-start{justify-content:flex-start!important}.justify-xl-end{justify-content:flex-end!important}.justify-xl-center{justify-content:center!important}.justify-xl-space-between{justify-content:space-between!important}.justify-xl-space-around{justify-content:space-around!important}.justify-xl-space-evenly{justify-content:space-evenly!important}.justify-items-xl-start{justify-items:flex-start!important}.justify-items-xl-end{justify-items:flex-end!important}.justify-items-xl-center{justify-items:center!important}.justify-items-xl-stretch{justify-items:stretch!important}.align-xl-start{align-items:flex-start!important}.align-xl-end{align-items:flex-end!important}.align-xl-center{align-items:center!important}.align-xl-baseline{align-items:baseline!important}.align-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-space-between{align-content:space-between!important}.align-content-xl-space-around{align-content:space-around!important}.align-content-xl-space-evenly{align-content:space-evenly!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-6{order:6!important}.order-xl-7{order:7!important}.order-xl-8{order:8!important}.order-xl-9{order:9!important}.order-xl-10{order:10!important}.order-xl-11{order:11!important}.order-xl-12{order:12!important}.order-xl-last{order:13!important}.ga-xl-0{gap:0px!important}.ga-xl-1{gap:4px!important}.ga-xl-2{gap:8px!important}.ga-xl-3{gap:12px!important}.ga-xl-4{gap:16px!important}.ga-xl-5{gap:20px!important}.ga-xl-6{gap:24px!important}.ga-xl-7{gap:28px!important}.ga-xl-8{gap:32px!important}.ga-xl-9{gap:36px!important}.ga-xl-10{gap:40px!important}.ga-xl-11{gap:44px!important}.ga-xl-12{gap:48px!important}.ga-xl-13{gap:52px!important}.ga-xl-14{gap:56px!important}.ga-xl-15{gap:60px!important}.ga-xl-16{gap:64px!important}.ga-xl-auto{gap:auto!important}.gr-xl-0{row-gap:0px!important}.gr-xl-1{row-gap:4px!important}.gr-xl-2{row-gap:8px!important}.gr-xl-3{row-gap:12px!important}.gr-xl-4{row-gap:16px!important}.gr-xl-5{row-gap:20px!important}.gr-xl-6{row-gap:24px!important}.gr-xl-7{row-gap:28px!important}.gr-xl-8{row-gap:32px!important}.gr-xl-9{row-gap:36px!important}.gr-xl-10{row-gap:40px!important}.gr-xl-11{row-gap:44px!important}.gr-xl-12{row-gap:48px!important}.gr-xl-13{row-gap:52px!important}.gr-xl-14{row-gap:56px!important}.gr-xl-15{row-gap:60px!important}.gr-xl-16{row-gap:64px!important}.gr-xl-auto{row-gap:auto!important}.gc-xl-0{column-gap:0px!important}.gc-xl-1{column-gap:4px!important}.gc-xl-2{column-gap:8px!important}.gc-xl-3{column-gap:12px!important}.gc-xl-4{column-gap:16px!important}.gc-xl-5{column-gap:20px!important}.gc-xl-6{column-gap:24px!important}.gc-xl-7{column-gap:28px!important}.gc-xl-8{column-gap:32px!important}.gc-xl-9{column-gap:36px!important}.gc-xl-10{column-gap:40px!important}.gc-xl-11{column-gap:44px!important}.gc-xl-12{column-gap:48px!important}.gc-xl-13{column-gap:52px!important}.gc-xl-14{column-gap:56px!important}.gc-xl-15{column-gap:60px!important}.gc-xl-16{column-gap:64px!important}.gc-xl-auto{column-gap:auto!important}.ma-xl-0{margin:0!important}.ma-xl-1{margin:4px!important}.ma-xl-2{margin:8px!important}.ma-xl-3{margin:12px!important}.ma-xl-4{margin:16px!important}.ma-xl-5{margin:20px!important}.ma-xl-6{margin:24px!important}.ma-xl-7{margin:28px!important}.ma-xl-8{margin:32px!important}.ma-xl-9{margin:36px!important}.ma-xl-10{margin:40px!important}.ma-xl-11{margin:44px!important}.ma-xl-12{margin:48px!important}.ma-xl-13{margin:52px!important}.ma-xl-14{margin:56px!important}.ma-xl-15{margin:60px!important}.ma-xl-16{margin:64px!important}.ma-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:4px!important;margin-left:4px!important}.mx-xl-2{margin-right:8px!important;margin-left:8px!important}.mx-xl-3{margin-right:12px!important;margin-left:12px!important}.mx-xl-4{margin-right:16px!important;margin-left:16px!important}.mx-xl-5{margin-right:20px!important;margin-left:20px!important}.mx-xl-6{margin-right:24px!important;margin-left:24px!important}.mx-xl-7{margin-right:28px!important;margin-left:28px!important}.mx-xl-8{margin-right:32px!important;margin-left:32px!important}.mx-xl-9{margin-right:36px!important;margin-left:36px!important}.mx-xl-10{margin-right:40px!important;margin-left:40px!important}.mx-xl-11{margin-right:44px!important;margin-left:44px!important}.mx-xl-12{margin-right:48px!important;margin-left:48px!important}.mx-xl-13{margin-right:52px!important;margin-left:52px!important}.mx-xl-14{margin-right:56px!important;margin-left:56px!important}.mx-xl-15{margin-right:60px!important;margin-left:60px!important}.mx-xl-16{margin-right:64px!important;margin-left:64px!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:4px!important;margin-bottom:4px!important}.my-xl-2{margin-top:8px!important;margin-bottom:8px!important}.my-xl-3{margin-top:12px!important;margin-bottom:12px!important}.my-xl-4{margin-top:16px!important;margin-bottom:16px!important}.my-xl-5{margin-top:20px!important;margin-bottom:20px!important}.my-xl-6{margin-top:24px!important;margin-bottom:24px!important}.my-xl-7{margin-top:28px!important;margin-bottom:28px!important}.my-xl-8{margin-top:32px!important;margin-bottom:32px!important}.my-xl-9{margin-top:36px!important;margin-bottom:36px!important}.my-xl-10{margin-top:40px!important;margin-bottom:40px!important}.my-xl-11{margin-top:44px!important;margin-bottom:44px!important}.my-xl-12{margin-top:48px!important;margin-bottom:48px!important}.my-xl-13{margin-top:52px!important;margin-bottom:52px!important}.my-xl-14{margin-top:56px!important;margin-bottom:56px!important}.my-xl-15{margin-top:60px!important;margin-bottom:60px!important}.my-xl-16{margin-top:64px!important;margin-bottom:64px!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:4px!important}.mt-xl-2{margin-top:8px!important}.mt-xl-3{margin-top:12px!important}.mt-xl-4{margin-top:16px!important}.mt-xl-5{margin-top:20px!important}.mt-xl-6{margin-top:24px!important}.mt-xl-7{margin-top:28px!important}.mt-xl-8{margin-top:32px!important}.mt-xl-9{margin-top:36px!important}.mt-xl-10{margin-top:40px!important}.mt-xl-11{margin-top:44px!important}.mt-xl-12{margin-top:48px!important}.mt-xl-13{margin-top:52px!important}.mt-xl-14{margin-top:56px!important}.mt-xl-15{margin-top:60px!important}.mt-xl-16{margin-top:64px!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-0{margin-right:0!important}.mr-xl-1{margin-right:4px!important}.mr-xl-2{margin-right:8px!important}.mr-xl-3{margin-right:12px!important}.mr-xl-4{margin-right:16px!important}.mr-xl-5{margin-right:20px!important}.mr-xl-6{margin-right:24px!important}.mr-xl-7{margin-right:28px!important}.mr-xl-8{margin-right:32px!important}.mr-xl-9{margin-right:36px!important}.mr-xl-10{margin-right:40px!important}.mr-xl-11{margin-right:44px!important}.mr-xl-12{margin-right:48px!important}.mr-xl-13{margin-right:52px!important}.mr-xl-14{margin-right:56px!important}.mr-xl-15{margin-right:60px!important}.mr-xl-16{margin-right:64px!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:4px!important}.mb-xl-2{margin-bottom:8px!important}.mb-xl-3{margin-bottom:12px!important}.mb-xl-4{margin-bottom:16px!important}.mb-xl-5{margin-bottom:20px!important}.mb-xl-6{margin-bottom:24px!important}.mb-xl-7{margin-bottom:28px!important}.mb-xl-8{margin-bottom:32px!important}.mb-xl-9{margin-bottom:36px!important}.mb-xl-10{margin-bottom:40px!important}.mb-xl-11{margin-bottom:44px!important}.mb-xl-12{margin-bottom:48px!important}.mb-xl-13{margin-bottom:52px!important}.mb-xl-14{margin-bottom:56px!important}.mb-xl-15{margin-bottom:60px!important}.mb-xl-16{margin-bottom:64px!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-0{margin-left:0!important}.ml-xl-1{margin-left:4px!important}.ml-xl-2{margin-left:8px!important}.ml-xl-3{margin-left:12px!important}.ml-xl-4{margin-left:16px!important}.ml-xl-5{margin-left:20px!important}.ml-xl-6{margin-left:24px!important}.ml-xl-7{margin-left:28px!important}.ml-xl-8{margin-left:32px!important}.ml-xl-9{margin-left:36px!important}.ml-xl-10{margin-left:40px!important}.ml-xl-11{margin-left:44px!important}.ml-xl-12{margin-left:48px!important}.ml-xl-13{margin-left:52px!important}.ml-xl-14{margin-left:56px!important}.ml-xl-15{margin-left:60px!important}.ml-xl-16{margin-left:64px!important}.ml-xl-auto{margin-left:auto!important}.ms-xl-0{margin-inline-start:0px!important}.ms-xl-1{margin-inline-start:4px!important}.ms-xl-2{margin-inline-start:8px!important}.ms-xl-3{margin-inline-start:12px!important}.ms-xl-4{margin-inline-start:16px!important}.ms-xl-5{margin-inline-start:20px!important}.ms-xl-6{margin-inline-start:24px!important}.ms-xl-7{margin-inline-start:28px!important}.ms-xl-8{margin-inline-start:32px!important}.ms-xl-9{margin-inline-start:36px!important}.ms-xl-10{margin-inline-start:40px!important}.ms-xl-11{margin-inline-start:44px!important}.ms-xl-12{margin-inline-start:48px!important}.ms-xl-13{margin-inline-start:52px!important}.ms-xl-14{margin-inline-start:56px!important}.ms-xl-15{margin-inline-start:60px!important}.ms-xl-16{margin-inline-start:64px!important}.ms-xl-auto{margin-inline-start:auto!important}.me-xl-0{margin-inline-end:0px!important}.me-xl-1{margin-inline-end:4px!important}.me-xl-2{margin-inline-end:8px!important}.me-xl-3{margin-inline-end:12px!important}.me-xl-4{margin-inline-end:16px!important}.me-xl-5{margin-inline-end:20px!important}.me-xl-6{margin-inline-end:24px!important}.me-xl-7{margin-inline-end:28px!important}.me-xl-8{margin-inline-end:32px!important}.me-xl-9{margin-inline-end:36px!important}.me-xl-10{margin-inline-end:40px!important}.me-xl-11{margin-inline-end:44px!important}.me-xl-12{margin-inline-end:48px!important}.me-xl-13{margin-inline-end:52px!important}.me-xl-14{margin-inline-end:56px!important}.me-xl-15{margin-inline-end:60px!important}.me-xl-16{margin-inline-end:64px!important}.me-xl-auto{margin-inline-end:auto!important}.ma-xl-n1{margin:-4px!important}.ma-xl-n2{margin:-8px!important}.ma-xl-n3{margin:-12px!important}.ma-xl-n4{margin:-16px!important}.ma-xl-n5{margin:-20px!important}.ma-xl-n6{margin:-24px!important}.ma-xl-n7{margin:-28px!important}.ma-xl-n8{margin:-32px!important}.ma-xl-n9{margin:-36px!important}.ma-xl-n10{margin:-40px!important}.ma-xl-n11{margin:-44px!important}.ma-xl-n12{margin:-48px!important}.ma-xl-n13{margin:-52px!important}.ma-xl-n14{margin:-56px!important}.ma-xl-n15{margin:-60px!important}.ma-xl-n16{margin:-64px!important}.mx-xl-n1{margin-right:-4px!important;margin-left:-4px!important}.mx-xl-n2{margin-right:-8px!important;margin-left:-8px!important}.mx-xl-n3{margin-right:-12px!important;margin-left:-12px!important}.mx-xl-n4{margin-right:-16px!important;margin-left:-16px!important}.mx-xl-n5{margin-right:-20px!important;margin-left:-20px!important}.mx-xl-n6{margin-right:-24px!important;margin-left:-24px!important}.mx-xl-n7{margin-right:-28px!important;margin-left:-28px!important}.mx-xl-n8{margin-right:-32px!important;margin-left:-32px!important}.mx-xl-n9{margin-right:-36px!important;margin-left:-36px!important}.mx-xl-n10{margin-right:-40px!important;margin-left:-40px!important}.mx-xl-n11{margin-right:-44px!important;margin-left:-44px!important}.mx-xl-n12{margin-right:-48px!important;margin-left:-48px!important}.mx-xl-n13{margin-right:-52px!important;margin-left:-52px!important}.mx-xl-n14{margin-right:-56px!important;margin-left:-56px!important}.mx-xl-n15{margin-right:-60px!important;margin-left:-60px!important}.mx-xl-n16{margin-right:-64px!important;margin-left:-64px!important}.my-xl-n1{margin-top:-4px!important;margin-bottom:-4px!important}.my-xl-n2{margin-top:-8px!important;margin-bottom:-8px!important}.my-xl-n3{margin-top:-12px!important;margin-bottom:-12px!important}.my-xl-n4{margin-top:-16px!important;margin-bottom:-16px!important}.my-xl-n5{margin-top:-20px!important;margin-bottom:-20px!important}.my-xl-n6{margin-top:-24px!important;margin-bottom:-24px!important}.my-xl-n7{margin-top:-28px!important;margin-bottom:-28px!important}.my-xl-n8{margin-top:-32px!important;margin-bottom:-32px!important}.my-xl-n9{margin-top:-36px!important;margin-bottom:-36px!important}.my-xl-n10{margin-top:-40px!important;margin-bottom:-40px!important}.my-xl-n11{margin-top:-44px!important;margin-bottom:-44px!important}.my-xl-n12{margin-top:-48px!important;margin-bottom:-48px!important}.my-xl-n13{margin-top:-52px!important;margin-bottom:-52px!important}.my-xl-n14{margin-top:-56px!important;margin-bottom:-56px!important}.my-xl-n15{margin-top:-60px!important;margin-bottom:-60px!important}.my-xl-n16{margin-top:-64px!important;margin-bottom:-64px!important}.mt-xl-n1{margin-top:-4px!important}.mt-xl-n2{margin-top:-8px!important}.mt-xl-n3{margin-top:-12px!important}.mt-xl-n4{margin-top:-16px!important}.mt-xl-n5{margin-top:-20px!important}.mt-xl-n6{margin-top:-24px!important}.mt-xl-n7{margin-top:-28px!important}.mt-xl-n8{margin-top:-32px!important}.mt-xl-n9{margin-top:-36px!important}.mt-xl-n10{margin-top:-40px!important}.mt-xl-n11{margin-top:-44px!important}.mt-xl-n12{margin-top:-48px!important}.mt-xl-n13{margin-top:-52px!important}.mt-xl-n14{margin-top:-56px!important}.mt-xl-n15{margin-top:-60px!important}.mt-xl-n16{margin-top:-64px!important}.mr-xl-n1{margin-right:-4px!important}.mr-xl-n2{margin-right:-8px!important}.mr-xl-n3{margin-right:-12px!important}.mr-xl-n4{margin-right:-16px!important}.mr-xl-n5{margin-right:-20px!important}.mr-xl-n6{margin-right:-24px!important}.mr-xl-n7{margin-right:-28px!important}.mr-xl-n8{margin-right:-32px!important}.mr-xl-n9{margin-right:-36px!important}.mr-xl-n10{margin-right:-40px!important}.mr-xl-n11{margin-right:-44px!important}.mr-xl-n12{margin-right:-48px!important}.mr-xl-n13{margin-right:-52px!important}.mr-xl-n14{margin-right:-56px!important}.mr-xl-n15{margin-right:-60px!important}.mr-xl-n16{margin-right:-64px!important}.mb-xl-n1{margin-bottom:-4px!important}.mb-xl-n2{margin-bottom:-8px!important}.mb-xl-n3{margin-bottom:-12px!important}.mb-xl-n4{margin-bottom:-16px!important}.mb-xl-n5{margin-bottom:-20px!important}.mb-xl-n6{margin-bottom:-24px!important}.mb-xl-n7{margin-bottom:-28px!important}.mb-xl-n8{margin-bottom:-32px!important}.mb-xl-n9{margin-bottom:-36px!important}.mb-xl-n10{margin-bottom:-40px!important}.mb-xl-n11{margin-bottom:-44px!important}.mb-xl-n12{margin-bottom:-48px!important}.mb-xl-n13{margin-bottom:-52px!important}.mb-xl-n14{margin-bottom:-56px!important}.mb-xl-n15{margin-bottom:-60px!important}.mb-xl-n16{margin-bottom:-64px!important}.ml-xl-n1{margin-left:-4px!important}.ml-xl-n2{margin-left:-8px!important}.ml-xl-n3{margin-left:-12px!important}.ml-xl-n4{margin-left:-16px!important}.ml-xl-n5{margin-left:-20px!important}.ml-xl-n6{margin-left:-24px!important}.ml-xl-n7{margin-left:-28px!important}.ml-xl-n8{margin-left:-32px!important}.ml-xl-n9{margin-left:-36px!important}.ml-xl-n10{margin-left:-40px!important}.ml-xl-n11{margin-left:-44px!important}.ml-xl-n12{margin-left:-48px!important}.ml-xl-n13{margin-left:-52px!important}.ml-xl-n14{margin-left:-56px!important}.ml-xl-n15{margin-left:-60px!important}.ml-xl-n16{margin-left:-64px!important}.ms-xl-n1{margin-inline-start:-4px!important}.ms-xl-n2{margin-inline-start:-8px!important}.ms-xl-n3{margin-inline-start:-12px!important}.ms-xl-n4{margin-inline-start:-16px!important}.ms-xl-n5{margin-inline-start:-20px!important}.ms-xl-n6{margin-inline-start:-24px!important}.ms-xl-n7{margin-inline-start:-28px!important}.ms-xl-n8{margin-inline-start:-32px!important}.ms-xl-n9{margin-inline-start:-36px!important}.ms-xl-n10{margin-inline-start:-40px!important}.ms-xl-n11{margin-inline-start:-44px!important}.ms-xl-n12{margin-inline-start:-48px!important}.ms-xl-n13{margin-inline-start:-52px!important}.ms-xl-n14{margin-inline-start:-56px!important}.ms-xl-n15{margin-inline-start:-60px!important}.ms-xl-n16{margin-inline-start:-64px!important}.me-xl-n1{margin-inline-end:-4px!important}.me-xl-n2{margin-inline-end:-8px!important}.me-xl-n3{margin-inline-end:-12px!important}.me-xl-n4{margin-inline-end:-16px!important}.me-xl-n5{margin-inline-end:-20px!important}.me-xl-n6{margin-inline-end:-24px!important}.me-xl-n7{margin-inline-end:-28px!important}.me-xl-n8{margin-inline-end:-32px!important}.me-xl-n9{margin-inline-end:-36px!important}.me-xl-n10{margin-inline-end:-40px!important}.me-xl-n11{margin-inline-end:-44px!important}.me-xl-n12{margin-inline-end:-48px!important}.me-xl-n13{margin-inline-end:-52px!important}.me-xl-n14{margin-inline-end:-56px!important}.me-xl-n15{margin-inline-end:-60px!important}.me-xl-n16{margin-inline-end:-64px!important}.pa-xl-0{padding:0!important}.pa-xl-1{padding:4px!important}.pa-xl-2{padding:8px!important}.pa-xl-3{padding:12px!important}.pa-xl-4{padding:16px!important}.pa-xl-5{padding:20px!important}.pa-xl-6{padding:24px!important}.pa-xl-7{padding:28px!important}.pa-xl-8{padding:32px!important}.pa-xl-9{padding:36px!important}.pa-xl-10{padding:40px!important}.pa-xl-11{padding:44px!important}.pa-xl-12{padding:48px!important}.pa-xl-13{padding:52px!important}.pa-xl-14{padding:56px!important}.pa-xl-15{padding:60px!important}.pa-xl-16{padding:64px!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:4px!important;padding-left:4px!important}.px-xl-2{padding-right:8px!important;padding-left:8px!important}.px-xl-3{padding-right:12px!important;padding-left:12px!important}.px-xl-4{padding-right:16px!important;padding-left:16px!important}.px-xl-5{padding-right:20px!important;padding-left:20px!important}.px-xl-6{padding-right:24px!important;padding-left:24px!important}.px-xl-7{padding-right:28px!important;padding-left:28px!important}.px-xl-8{padding-right:32px!important;padding-left:32px!important}.px-xl-9{padding-right:36px!important;padding-left:36px!important}.px-xl-10{padding-right:40px!important;padding-left:40px!important}.px-xl-11{padding-right:44px!important;padding-left:44px!important}.px-xl-12{padding-right:48px!important;padding-left:48px!important}.px-xl-13{padding-right:52px!important;padding-left:52px!important}.px-xl-14{padding-right:56px!important;padding-left:56px!important}.px-xl-15{padding-right:60px!important;padding-left:60px!important}.px-xl-16{padding-right:64px!important;padding-left:64px!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:4px!important;padding-bottom:4px!important}.py-xl-2{padding-top:8px!important;padding-bottom:8px!important}.py-xl-3{padding-top:12px!important;padding-bottom:12px!important}.py-xl-4{padding-top:16px!important;padding-bottom:16px!important}.py-xl-5{padding-top:20px!important;padding-bottom:20px!important}.py-xl-6{padding-top:24px!important;padding-bottom:24px!important}.py-xl-7{padding-top:28px!important;padding-bottom:28px!important}.py-xl-8{padding-top:32px!important;padding-bottom:32px!important}.py-xl-9{padding-top:36px!important;padding-bottom:36px!important}.py-xl-10{padding-top:40px!important;padding-bottom:40px!important}.py-xl-11{padding-top:44px!important;padding-bottom:44px!important}.py-xl-12{padding-top:48px!important;padding-bottom:48px!important}.py-xl-13{padding-top:52px!important;padding-bottom:52px!important}.py-xl-14{padding-top:56px!important;padding-bottom:56px!important}.py-xl-15{padding-top:60px!important;padding-bottom:60px!important}.py-xl-16{padding-top:64px!important;padding-bottom:64px!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:4px!important}.pt-xl-2{padding-top:8px!important}.pt-xl-3{padding-top:12px!important}.pt-xl-4{padding-top:16px!important}.pt-xl-5{padding-top:20px!important}.pt-xl-6{padding-top:24px!important}.pt-xl-7{padding-top:28px!important}.pt-xl-8{padding-top:32px!important}.pt-xl-9{padding-top:36px!important}.pt-xl-10{padding-top:40px!important}.pt-xl-11{padding-top:44px!important}.pt-xl-12{padding-top:48px!important}.pt-xl-13{padding-top:52px!important}.pt-xl-14{padding-top:56px!important}.pt-xl-15{padding-top:60px!important}.pt-xl-16{padding-top:64px!important}.pr-xl-0{padding-right:0!important}.pr-xl-1{padding-right:4px!important}.pr-xl-2{padding-right:8px!important}.pr-xl-3{padding-right:12px!important}.pr-xl-4{padding-right:16px!important}.pr-xl-5{padding-right:20px!important}.pr-xl-6{padding-right:24px!important}.pr-xl-7{padding-right:28px!important}.pr-xl-8{padding-right:32px!important}.pr-xl-9{padding-right:36px!important}.pr-xl-10{padding-right:40px!important}.pr-xl-11{padding-right:44px!important}.pr-xl-12{padding-right:48px!important}.pr-xl-13{padding-right:52px!important}.pr-xl-14{padding-right:56px!important}.pr-xl-15{padding-right:60px!important}.pr-xl-16{padding-right:64px!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:4px!important}.pb-xl-2{padding-bottom:8px!important}.pb-xl-3{padding-bottom:12px!important}.pb-xl-4{padding-bottom:16px!important}.pb-xl-5{padding-bottom:20px!important}.pb-xl-6{padding-bottom:24px!important}.pb-xl-7{padding-bottom:28px!important}.pb-xl-8{padding-bottom:32px!important}.pb-xl-9{padding-bottom:36px!important}.pb-xl-10{padding-bottom:40px!important}.pb-xl-11{padding-bottom:44px!important}.pb-xl-12{padding-bottom:48px!important}.pb-xl-13{padding-bottom:52px!important}.pb-xl-14{padding-bottom:56px!important}.pb-xl-15{padding-bottom:60px!important}.pb-xl-16{padding-bottom:64px!important}.pl-xl-0{padding-left:0!important}.pl-xl-1{padding-left:4px!important}.pl-xl-2{padding-left:8px!important}.pl-xl-3{padding-left:12px!important}.pl-xl-4{padding-left:16px!important}.pl-xl-5{padding-left:20px!important}.pl-xl-6{padding-left:24px!important}.pl-xl-7{padding-left:28px!important}.pl-xl-8{padding-left:32px!important}.pl-xl-9{padding-left:36px!important}.pl-xl-10{padding-left:40px!important}.pl-xl-11{padding-left:44px!important}.pl-xl-12{padding-left:48px!important}.pl-xl-13{padding-left:52px!important}.pl-xl-14{padding-left:56px!important}.pl-xl-15{padding-left:60px!important}.pl-xl-16{padding-left:64px!important}.ps-xl-0{padding-inline-start:0px!important}.ps-xl-1{padding-inline-start:4px!important}.ps-xl-2{padding-inline-start:8px!important}.ps-xl-3{padding-inline-start:12px!important}.ps-xl-4{padding-inline-start:16px!important}.ps-xl-5{padding-inline-start:20px!important}.ps-xl-6{padding-inline-start:24px!important}.ps-xl-7{padding-inline-start:28px!important}.ps-xl-8{padding-inline-start:32px!important}.ps-xl-9{padding-inline-start:36px!important}.ps-xl-10{padding-inline-start:40px!important}.ps-xl-11{padding-inline-start:44px!important}.ps-xl-12{padding-inline-start:48px!important}.ps-xl-13{padding-inline-start:52px!important}.ps-xl-14{padding-inline-start:56px!important}.ps-xl-15{padding-inline-start:60px!important}.ps-xl-16{padding-inline-start:64px!important}.pe-xl-0{padding-inline-end:0px!important}.pe-xl-1{padding-inline-end:4px!important}.pe-xl-2{padding-inline-end:8px!important}.pe-xl-3{padding-inline-end:12px!important}.pe-xl-4{padding-inline-end:16px!important}.pe-xl-5{padding-inline-end:20px!important}.pe-xl-6{padding-inline-end:24px!important}.pe-xl-7{padding-inline-end:28px!important}.pe-xl-8{padding-inline-end:32px!important}.pe-xl-9{padding-inline-end:36px!important}.pe-xl-10{padding-inline-end:40px!important}.pe-xl-11{padding-inline-end:44px!important}.pe-xl-12{padding-inline-end:48px!important}.pe-xl-13{padding-inline-end:52px!important}.pe-xl-14{padding-inline-end:56px!important}.pe-xl-15{padding-inline-end:60px!important}.pe-xl-16{padding-inline-end:64px!important}.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}.text-xl-justify{text-align:justify!important}.text-xl-start{text-align:start!important}.text-xl-end{text-align:end!important}.text-xl-h1{font-size:6rem!important;font-weight:300;line-height:1;letter-spacing:-.015625em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-h2{font-size:3.75rem!important;font-weight:300;line-height:1;letter-spacing:-.0083333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-h3{font-size:3rem!important;font-weight:400;line-height:1.05;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-h4{font-size:2.125rem!important;font-weight:400;line-height:1.175;letter-spacing:.0073529412em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-h5{font-size:1.5rem!important;font-weight:400;line-height:1.333;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-h6{font-size:1.25rem!important;font-weight:500;line-height:1.6;letter-spacing:.0125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-subtitle-1{font-size:1rem!important;font-weight:400;line-height:1.75;letter-spacing:.009375em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-subtitle-2{font-size:.875rem!important;font-weight:500;line-height:1.6;letter-spacing:.0071428571em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-body-1{font-size:1rem!important;font-weight:400;line-height:1.5;letter-spacing:.03125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-body-2{font-size:.875rem!important;font-weight:400;line-height:1.425;letter-spacing:.0178571429em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-button{font-size:.875rem!important;font-weight:500;line-height:2.6;letter-spacing:.0892857143em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.text-xl-caption{font-size:.75rem!important;font-weight:400;line-height:1.667;letter-spacing:.0333333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-overline{font-size:.75rem!important;font-weight:500;line-height:2.667;letter-spacing:.1666666667em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.h-xl-auto{height:auto!important}.h-xl-screen{height:100vh!important}.h-xl-0{height:0!important}.h-xl-25{height:25%!important}.h-xl-50{height:50%!important}.h-xl-75{height:75%!important}.h-xl-100{height:100%!important}.w-xl-auto{width:auto!important}.w-xl-0{width:0!important}.w-xl-25{width:25%!important}.w-xl-33{width:33%!important}.w-xl-50{width:50%!important}.w-xl-66{width:66%!important}.w-xl-75{width:75%!important}.w-xl-100{width:100%!important}}@media (min-width: 2560px){.d-xxl-none{display:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.float-xxl-none{float:none!important}.float-xxl-left{float:left!important}.float-xxl-right{float:right!important}.v-locale--is-rtl .float-xxl-end{float:left!important}.v-locale--is-rtl .float-xxl-start,.v-locale--is-ltr .float-xxl-end{float:right!important}.v-locale--is-ltr .float-xxl-start{float:left!important}.flex-xxl-fill,.flex-xxl-1-1{flex:1 1 auto!important}.flex-xxl-1-0{flex:1 0 auto!important}.flex-xxl-0-1{flex:0 1 auto!important}.flex-xxl-0-0{flex:0 0 auto!important}.flex-xxl-1-1-100{flex:1 1 100%!important}.flex-xxl-1-0-100{flex:1 0 100%!important}.flex-xxl-0-1-100{flex:0 1 100%!important}.flex-xxl-0-0-100{flex:0 0 100%!important}.flex-xxl-1-1-0{flex:1 1 0!important}.flex-xxl-1-0-0{flex:1 0 0!important}.flex-xxl-0-1-0{flex:0 1 0!important}.flex-xxl-0-0-0{flex:0 0 0!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-xxl-start{justify-content:flex-start!important}.justify-xxl-end{justify-content:flex-end!important}.justify-xxl-center{justify-content:center!important}.justify-xxl-space-between{justify-content:space-between!important}.justify-xxl-space-around{justify-content:space-around!important}.justify-xxl-space-evenly{justify-content:space-evenly!important}.justify-items-xxl-start{justify-items:flex-start!important}.justify-items-xxl-end{justify-items:flex-end!important}.justify-items-xxl-center{justify-items:center!important}.justify-items-xxl-stretch{justify-items:stretch!important}.align-xxl-start{align-items:flex-start!important}.align-xxl-end{align-items:flex-end!important}.align-xxl-center{align-items:center!important}.align-xxl-baseline{align-items:baseline!important}.align-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-space-between{align-content:space-between!important}.align-content-xxl-space-around{align-content:space-around!important}.align-content-xxl-space-evenly{align-content:space-evenly!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-6{order:6!important}.order-xxl-7{order:7!important}.order-xxl-8{order:8!important}.order-xxl-9{order:9!important}.order-xxl-10{order:10!important}.order-xxl-11{order:11!important}.order-xxl-12{order:12!important}.order-xxl-last{order:13!important}.ga-xxl-0{gap:0px!important}.ga-xxl-1{gap:4px!important}.ga-xxl-2{gap:8px!important}.ga-xxl-3{gap:12px!important}.ga-xxl-4{gap:16px!important}.ga-xxl-5{gap:20px!important}.ga-xxl-6{gap:24px!important}.ga-xxl-7{gap:28px!important}.ga-xxl-8{gap:32px!important}.ga-xxl-9{gap:36px!important}.ga-xxl-10{gap:40px!important}.ga-xxl-11{gap:44px!important}.ga-xxl-12{gap:48px!important}.ga-xxl-13{gap:52px!important}.ga-xxl-14{gap:56px!important}.ga-xxl-15{gap:60px!important}.ga-xxl-16{gap:64px!important}.ga-xxl-auto{gap:auto!important}.gr-xxl-0{row-gap:0px!important}.gr-xxl-1{row-gap:4px!important}.gr-xxl-2{row-gap:8px!important}.gr-xxl-3{row-gap:12px!important}.gr-xxl-4{row-gap:16px!important}.gr-xxl-5{row-gap:20px!important}.gr-xxl-6{row-gap:24px!important}.gr-xxl-7{row-gap:28px!important}.gr-xxl-8{row-gap:32px!important}.gr-xxl-9{row-gap:36px!important}.gr-xxl-10{row-gap:40px!important}.gr-xxl-11{row-gap:44px!important}.gr-xxl-12{row-gap:48px!important}.gr-xxl-13{row-gap:52px!important}.gr-xxl-14{row-gap:56px!important}.gr-xxl-15{row-gap:60px!important}.gr-xxl-16{row-gap:64px!important}.gr-xxl-auto{row-gap:auto!important}.gc-xxl-0{column-gap:0px!important}.gc-xxl-1{column-gap:4px!important}.gc-xxl-2{column-gap:8px!important}.gc-xxl-3{column-gap:12px!important}.gc-xxl-4{column-gap:16px!important}.gc-xxl-5{column-gap:20px!important}.gc-xxl-6{column-gap:24px!important}.gc-xxl-7{column-gap:28px!important}.gc-xxl-8{column-gap:32px!important}.gc-xxl-9{column-gap:36px!important}.gc-xxl-10{column-gap:40px!important}.gc-xxl-11{column-gap:44px!important}.gc-xxl-12{column-gap:48px!important}.gc-xxl-13{column-gap:52px!important}.gc-xxl-14{column-gap:56px!important}.gc-xxl-15{column-gap:60px!important}.gc-xxl-16{column-gap:64px!important}.gc-xxl-auto{column-gap:auto!important}.ma-xxl-0{margin:0!important}.ma-xxl-1{margin:4px!important}.ma-xxl-2{margin:8px!important}.ma-xxl-3{margin:12px!important}.ma-xxl-4{margin:16px!important}.ma-xxl-5{margin:20px!important}.ma-xxl-6{margin:24px!important}.ma-xxl-7{margin:28px!important}.ma-xxl-8{margin:32px!important}.ma-xxl-9{margin:36px!important}.ma-xxl-10{margin:40px!important}.ma-xxl-11{margin:44px!important}.ma-xxl-12{margin:48px!important}.ma-xxl-13{margin:52px!important}.ma-xxl-14{margin:56px!important}.ma-xxl-15{margin:60px!important}.ma-xxl-16{margin:64px!important}.ma-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:4px!important;margin-left:4px!important}.mx-xxl-2{margin-right:8px!important;margin-left:8px!important}.mx-xxl-3{margin-right:12px!important;margin-left:12px!important}.mx-xxl-4{margin-right:16px!important;margin-left:16px!important}.mx-xxl-5{margin-right:20px!important;margin-left:20px!important}.mx-xxl-6{margin-right:24px!important;margin-left:24px!important}.mx-xxl-7{margin-right:28px!important;margin-left:28px!important}.mx-xxl-8{margin-right:32px!important;margin-left:32px!important}.mx-xxl-9{margin-right:36px!important;margin-left:36px!important}.mx-xxl-10{margin-right:40px!important;margin-left:40px!important}.mx-xxl-11{margin-right:44px!important;margin-left:44px!important}.mx-xxl-12{margin-right:48px!important;margin-left:48px!important}.mx-xxl-13{margin-right:52px!important;margin-left:52px!important}.mx-xxl-14{margin-right:56px!important;margin-left:56px!important}.mx-xxl-15{margin-right:60px!important;margin-left:60px!important}.mx-xxl-16{margin-right:64px!important;margin-left:64px!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:4px!important;margin-bottom:4px!important}.my-xxl-2{margin-top:8px!important;margin-bottom:8px!important}.my-xxl-3{margin-top:12px!important;margin-bottom:12px!important}.my-xxl-4{margin-top:16px!important;margin-bottom:16px!important}.my-xxl-5{margin-top:20px!important;margin-bottom:20px!important}.my-xxl-6{margin-top:24px!important;margin-bottom:24px!important}.my-xxl-7{margin-top:28px!important;margin-bottom:28px!important}.my-xxl-8{margin-top:32px!important;margin-bottom:32px!important}.my-xxl-9{margin-top:36px!important;margin-bottom:36px!important}.my-xxl-10{margin-top:40px!important;margin-bottom:40px!important}.my-xxl-11{margin-top:44px!important;margin-bottom:44px!important}.my-xxl-12{margin-top:48px!important;margin-bottom:48px!important}.my-xxl-13{margin-top:52px!important;margin-bottom:52px!important}.my-xxl-14{margin-top:56px!important;margin-bottom:56px!important}.my-xxl-15{margin-top:60px!important;margin-bottom:60px!important}.my-xxl-16{margin-top:64px!important;margin-bottom:64px!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:4px!important}.mt-xxl-2{margin-top:8px!important}.mt-xxl-3{margin-top:12px!important}.mt-xxl-4{margin-top:16px!important}.mt-xxl-5{margin-top:20px!important}.mt-xxl-6{margin-top:24px!important}.mt-xxl-7{margin-top:28px!important}.mt-xxl-8{margin-top:32px!important}.mt-xxl-9{margin-top:36px!important}.mt-xxl-10{margin-top:40px!important}.mt-xxl-11{margin-top:44px!important}.mt-xxl-12{margin-top:48px!important}.mt-xxl-13{margin-top:52px!important}.mt-xxl-14{margin-top:56px!important}.mt-xxl-15{margin-top:60px!important}.mt-xxl-16{margin-top:64px!important}.mt-xxl-auto{margin-top:auto!important}.mr-xxl-0{margin-right:0!important}.mr-xxl-1{margin-right:4px!important}.mr-xxl-2{margin-right:8px!important}.mr-xxl-3{margin-right:12px!important}.mr-xxl-4{margin-right:16px!important}.mr-xxl-5{margin-right:20px!important}.mr-xxl-6{margin-right:24px!important}.mr-xxl-7{margin-right:28px!important}.mr-xxl-8{margin-right:32px!important}.mr-xxl-9{margin-right:36px!important}.mr-xxl-10{margin-right:40px!important}.mr-xxl-11{margin-right:44px!important}.mr-xxl-12{margin-right:48px!important}.mr-xxl-13{margin-right:52px!important}.mr-xxl-14{margin-right:56px!important}.mr-xxl-15{margin-right:60px!important}.mr-xxl-16{margin-right:64px!important}.mr-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:4px!important}.mb-xxl-2{margin-bottom:8px!important}.mb-xxl-3{margin-bottom:12px!important}.mb-xxl-4{margin-bottom:16px!important}.mb-xxl-5{margin-bottom:20px!important}.mb-xxl-6{margin-bottom:24px!important}.mb-xxl-7{margin-bottom:28px!important}.mb-xxl-8{margin-bottom:32px!important}.mb-xxl-9{margin-bottom:36px!important}.mb-xxl-10{margin-bottom:40px!important}.mb-xxl-11{margin-bottom:44px!important}.mb-xxl-12{margin-bottom:48px!important}.mb-xxl-13{margin-bottom:52px!important}.mb-xxl-14{margin-bottom:56px!important}.mb-xxl-15{margin-bottom:60px!important}.mb-xxl-16{margin-bottom:64px!important}.mb-xxl-auto{margin-bottom:auto!important}.ml-xxl-0{margin-left:0!important}.ml-xxl-1{margin-left:4px!important}.ml-xxl-2{margin-left:8px!important}.ml-xxl-3{margin-left:12px!important}.ml-xxl-4{margin-left:16px!important}.ml-xxl-5{margin-left:20px!important}.ml-xxl-6{margin-left:24px!important}.ml-xxl-7{margin-left:28px!important}.ml-xxl-8{margin-left:32px!important}.ml-xxl-9{margin-left:36px!important}.ml-xxl-10{margin-left:40px!important}.ml-xxl-11{margin-left:44px!important}.ml-xxl-12{margin-left:48px!important}.ml-xxl-13{margin-left:52px!important}.ml-xxl-14{margin-left:56px!important}.ml-xxl-15{margin-left:60px!important}.ml-xxl-16{margin-left:64px!important}.ml-xxl-auto{margin-left:auto!important}.ms-xxl-0{margin-inline-start:0px!important}.ms-xxl-1{margin-inline-start:4px!important}.ms-xxl-2{margin-inline-start:8px!important}.ms-xxl-3{margin-inline-start:12px!important}.ms-xxl-4{margin-inline-start:16px!important}.ms-xxl-5{margin-inline-start:20px!important}.ms-xxl-6{margin-inline-start:24px!important}.ms-xxl-7{margin-inline-start:28px!important}.ms-xxl-8{margin-inline-start:32px!important}.ms-xxl-9{margin-inline-start:36px!important}.ms-xxl-10{margin-inline-start:40px!important}.ms-xxl-11{margin-inline-start:44px!important}.ms-xxl-12{margin-inline-start:48px!important}.ms-xxl-13{margin-inline-start:52px!important}.ms-xxl-14{margin-inline-start:56px!important}.ms-xxl-15{margin-inline-start:60px!important}.ms-xxl-16{margin-inline-start:64px!important}.ms-xxl-auto{margin-inline-start:auto!important}.me-xxl-0{margin-inline-end:0px!important}.me-xxl-1{margin-inline-end:4px!important}.me-xxl-2{margin-inline-end:8px!important}.me-xxl-3{margin-inline-end:12px!important}.me-xxl-4{margin-inline-end:16px!important}.me-xxl-5{margin-inline-end:20px!important}.me-xxl-6{margin-inline-end:24px!important}.me-xxl-7{margin-inline-end:28px!important}.me-xxl-8{margin-inline-end:32px!important}.me-xxl-9{margin-inline-end:36px!important}.me-xxl-10{margin-inline-end:40px!important}.me-xxl-11{margin-inline-end:44px!important}.me-xxl-12{margin-inline-end:48px!important}.me-xxl-13{margin-inline-end:52px!important}.me-xxl-14{margin-inline-end:56px!important}.me-xxl-15{margin-inline-end:60px!important}.me-xxl-16{margin-inline-end:64px!important}.me-xxl-auto{margin-inline-end:auto!important}.ma-xxl-n1{margin:-4px!important}.ma-xxl-n2{margin:-8px!important}.ma-xxl-n3{margin:-12px!important}.ma-xxl-n4{margin:-16px!important}.ma-xxl-n5{margin:-20px!important}.ma-xxl-n6{margin:-24px!important}.ma-xxl-n7{margin:-28px!important}.ma-xxl-n8{margin:-32px!important}.ma-xxl-n9{margin:-36px!important}.ma-xxl-n10{margin:-40px!important}.ma-xxl-n11{margin:-44px!important}.ma-xxl-n12{margin:-48px!important}.ma-xxl-n13{margin:-52px!important}.ma-xxl-n14{margin:-56px!important}.ma-xxl-n15{margin:-60px!important}.ma-xxl-n16{margin:-64px!important}.mx-xxl-n1{margin-right:-4px!important;margin-left:-4px!important}.mx-xxl-n2{margin-right:-8px!important;margin-left:-8px!important}.mx-xxl-n3{margin-right:-12px!important;margin-left:-12px!important}.mx-xxl-n4{margin-right:-16px!important;margin-left:-16px!important}.mx-xxl-n5{margin-right:-20px!important;margin-left:-20px!important}.mx-xxl-n6{margin-right:-24px!important;margin-left:-24px!important}.mx-xxl-n7{margin-right:-28px!important;margin-left:-28px!important}.mx-xxl-n8{margin-right:-32px!important;margin-left:-32px!important}.mx-xxl-n9{margin-right:-36px!important;margin-left:-36px!important}.mx-xxl-n10{margin-right:-40px!important;margin-left:-40px!important}.mx-xxl-n11{margin-right:-44px!important;margin-left:-44px!important}.mx-xxl-n12{margin-right:-48px!important;margin-left:-48px!important}.mx-xxl-n13{margin-right:-52px!important;margin-left:-52px!important}.mx-xxl-n14{margin-right:-56px!important;margin-left:-56px!important}.mx-xxl-n15{margin-right:-60px!important;margin-left:-60px!important}.mx-xxl-n16{margin-right:-64px!important;margin-left:-64px!important}.my-xxl-n1{margin-top:-4px!important;margin-bottom:-4px!important}.my-xxl-n2{margin-top:-8px!important;margin-bottom:-8px!important}.my-xxl-n3{margin-top:-12px!important;margin-bottom:-12px!important}.my-xxl-n4{margin-top:-16px!important;margin-bottom:-16px!important}.my-xxl-n5{margin-top:-20px!important;margin-bottom:-20px!important}.my-xxl-n6{margin-top:-24px!important;margin-bottom:-24px!important}.my-xxl-n7{margin-top:-28px!important;margin-bottom:-28px!important}.my-xxl-n8{margin-top:-32px!important;margin-bottom:-32px!important}.my-xxl-n9{margin-top:-36px!important;margin-bottom:-36px!important}.my-xxl-n10{margin-top:-40px!important;margin-bottom:-40px!important}.my-xxl-n11{margin-top:-44px!important;margin-bottom:-44px!important}.my-xxl-n12{margin-top:-48px!important;margin-bottom:-48px!important}.my-xxl-n13{margin-top:-52px!important;margin-bottom:-52px!important}.my-xxl-n14{margin-top:-56px!important;margin-bottom:-56px!important}.my-xxl-n15{margin-top:-60px!important;margin-bottom:-60px!important}.my-xxl-n16{margin-top:-64px!important;margin-bottom:-64px!important}.mt-xxl-n1{margin-top:-4px!important}.mt-xxl-n2{margin-top:-8px!important}.mt-xxl-n3{margin-top:-12px!important}.mt-xxl-n4{margin-top:-16px!important}.mt-xxl-n5{margin-top:-20px!important}.mt-xxl-n6{margin-top:-24px!important}.mt-xxl-n7{margin-top:-28px!important}.mt-xxl-n8{margin-top:-32px!important}.mt-xxl-n9{margin-top:-36px!important}.mt-xxl-n10{margin-top:-40px!important}.mt-xxl-n11{margin-top:-44px!important}.mt-xxl-n12{margin-top:-48px!important}.mt-xxl-n13{margin-top:-52px!important}.mt-xxl-n14{margin-top:-56px!important}.mt-xxl-n15{margin-top:-60px!important}.mt-xxl-n16{margin-top:-64px!important}.mr-xxl-n1{margin-right:-4px!important}.mr-xxl-n2{margin-right:-8px!important}.mr-xxl-n3{margin-right:-12px!important}.mr-xxl-n4{margin-right:-16px!important}.mr-xxl-n5{margin-right:-20px!important}.mr-xxl-n6{margin-right:-24px!important}.mr-xxl-n7{margin-right:-28px!important}.mr-xxl-n8{margin-right:-32px!important}.mr-xxl-n9{margin-right:-36px!important}.mr-xxl-n10{margin-right:-40px!important}.mr-xxl-n11{margin-right:-44px!important}.mr-xxl-n12{margin-right:-48px!important}.mr-xxl-n13{margin-right:-52px!important}.mr-xxl-n14{margin-right:-56px!important}.mr-xxl-n15{margin-right:-60px!important}.mr-xxl-n16{margin-right:-64px!important}.mb-xxl-n1{margin-bottom:-4px!important}.mb-xxl-n2{margin-bottom:-8px!important}.mb-xxl-n3{margin-bottom:-12px!important}.mb-xxl-n4{margin-bottom:-16px!important}.mb-xxl-n5{margin-bottom:-20px!important}.mb-xxl-n6{margin-bottom:-24px!important}.mb-xxl-n7{margin-bottom:-28px!important}.mb-xxl-n8{margin-bottom:-32px!important}.mb-xxl-n9{margin-bottom:-36px!important}.mb-xxl-n10{margin-bottom:-40px!important}.mb-xxl-n11{margin-bottom:-44px!important}.mb-xxl-n12{margin-bottom:-48px!important}.mb-xxl-n13{margin-bottom:-52px!important}.mb-xxl-n14{margin-bottom:-56px!important}.mb-xxl-n15{margin-bottom:-60px!important}.mb-xxl-n16{margin-bottom:-64px!important}.ml-xxl-n1{margin-left:-4px!important}.ml-xxl-n2{margin-left:-8px!important}.ml-xxl-n3{margin-left:-12px!important}.ml-xxl-n4{margin-left:-16px!important}.ml-xxl-n5{margin-left:-20px!important}.ml-xxl-n6{margin-left:-24px!important}.ml-xxl-n7{margin-left:-28px!important}.ml-xxl-n8{margin-left:-32px!important}.ml-xxl-n9{margin-left:-36px!important}.ml-xxl-n10{margin-left:-40px!important}.ml-xxl-n11{margin-left:-44px!important}.ml-xxl-n12{margin-left:-48px!important}.ml-xxl-n13{margin-left:-52px!important}.ml-xxl-n14{margin-left:-56px!important}.ml-xxl-n15{margin-left:-60px!important}.ml-xxl-n16{margin-left:-64px!important}.ms-xxl-n1{margin-inline-start:-4px!important}.ms-xxl-n2{margin-inline-start:-8px!important}.ms-xxl-n3{margin-inline-start:-12px!important}.ms-xxl-n4{margin-inline-start:-16px!important}.ms-xxl-n5{margin-inline-start:-20px!important}.ms-xxl-n6{margin-inline-start:-24px!important}.ms-xxl-n7{margin-inline-start:-28px!important}.ms-xxl-n8{margin-inline-start:-32px!important}.ms-xxl-n9{margin-inline-start:-36px!important}.ms-xxl-n10{margin-inline-start:-40px!important}.ms-xxl-n11{margin-inline-start:-44px!important}.ms-xxl-n12{margin-inline-start:-48px!important}.ms-xxl-n13{margin-inline-start:-52px!important}.ms-xxl-n14{margin-inline-start:-56px!important}.ms-xxl-n15{margin-inline-start:-60px!important}.ms-xxl-n16{margin-inline-start:-64px!important}.me-xxl-n1{margin-inline-end:-4px!important}.me-xxl-n2{margin-inline-end:-8px!important}.me-xxl-n3{margin-inline-end:-12px!important}.me-xxl-n4{margin-inline-end:-16px!important}.me-xxl-n5{margin-inline-end:-20px!important}.me-xxl-n6{margin-inline-end:-24px!important}.me-xxl-n7{margin-inline-end:-28px!important}.me-xxl-n8{margin-inline-end:-32px!important}.me-xxl-n9{margin-inline-end:-36px!important}.me-xxl-n10{margin-inline-end:-40px!important}.me-xxl-n11{margin-inline-end:-44px!important}.me-xxl-n12{margin-inline-end:-48px!important}.me-xxl-n13{margin-inline-end:-52px!important}.me-xxl-n14{margin-inline-end:-56px!important}.me-xxl-n15{margin-inline-end:-60px!important}.me-xxl-n16{margin-inline-end:-64px!important}.pa-xxl-0{padding:0!important}.pa-xxl-1{padding:4px!important}.pa-xxl-2{padding:8px!important}.pa-xxl-3{padding:12px!important}.pa-xxl-4{padding:16px!important}.pa-xxl-5{padding:20px!important}.pa-xxl-6{padding:24px!important}.pa-xxl-7{padding:28px!important}.pa-xxl-8{padding:32px!important}.pa-xxl-9{padding:36px!important}.pa-xxl-10{padding:40px!important}.pa-xxl-11{padding:44px!important}.pa-xxl-12{padding:48px!important}.pa-xxl-13{padding:52px!important}.pa-xxl-14{padding:56px!important}.pa-xxl-15{padding:60px!important}.pa-xxl-16{padding:64px!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:4px!important;padding-left:4px!important}.px-xxl-2{padding-right:8px!important;padding-left:8px!important}.px-xxl-3{padding-right:12px!important;padding-left:12px!important}.px-xxl-4{padding-right:16px!important;padding-left:16px!important}.px-xxl-5{padding-right:20px!important;padding-left:20px!important}.px-xxl-6{padding-right:24px!important;padding-left:24px!important}.px-xxl-7{padding-right:28px!important;padding-left:28px!important}.px-xxl-8{padding-right:32px!important;padding-left:32px!important}.px-xxl-9{padding-right:36px!important;padding-left:36px!important}.px-xxl-10{padding-right:40px!important;padding-left:40px!important}.px-xxl-11{padding-right:44px!important;padding-left:44px!important}.px-xxl-12{padding-right:48px!important;padding-left:48px!important}.px-xxl-13{padding-right:52px!important;padding-left:52px!important}.px-xxl-14{padding-right:56px!important;padding-left:56px!important}.px-xxl-15{padding-right:60px!important;padding-left:60px!important}.px-xxl-16{padding-right:64px!important;padding-left:64px!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:4px!important;padding-bottom:4px!important}.py-xxl-2{padding-top:8px!important;padding-bottom:8px!important}.py-xxl-3{padding-top:12px!important;padding-bottom:12px!important}.py-xxl-4{padding-top:16px!important;padding-bottom:16px!important}.py-xxl-5{padding-top:20px!important;padding-bottom:20px!important}.py-xxl-6{padding-top:24px!important;padding-bottom:24px!important}.py-xxl-7{padding-top:28px!important;padding-bottom:28px!important}.py-xxl-8{padding-top:32px!important;padding-bottom:32px!important}.py-xxl-9{padding-top:36px!important;padding-bottom:36px!important}.py-xxl-10{padding-top:40px!important;padding-bottom:40px!important}.py-xxl-11{padding-top:44px!important;padding-bottom:44px!important}.py-xxl-12{padding-top:48px!important;padding-bottom:48px!important}.py-xxl-13{padding-top:52px!important;padding-bottom:52px!important}.py-xxl-14{padding-top:56px!important;padding-bottom:56px!important}.py-xxl-15{padding-top:60px!important;padding-bottom:60px!important}.py-xxl-16{padding-top:64px!important;padding-bottom:64px!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:4px!important}.pt-xxl-2{padding-top:8px!important}.pt-xxl-3{padding-top:12px!important}.pt-xxl-4{padding-top:16px!important}.pt-xxl-5{padding-top:20px!important}.pt-xxl-6{padding-top:24px!important}.pt-xxl-7{padding-top:28px!important}.pt-xxl-8{padding-top:32px!important}.pt-xxl-9{padding-top:36px!important}.pt-xxl-10{padding-top:40px!important}.pt-xxl-11{padding-top:44px!important}.pt-xxl-12{padding-top:48px!important}.pt-xxl-13{padding-top:52px!important}.pt-xxl-14{padding-top:56px!important}.pt-xxl-15{padding-top:60px!important}.pt-xxl-16{padding-top:64px!important}.pr-xxl-0{padding-right:0!important}.pr-xxl-1{padding-right:4px!important}.pr-xxl-2{padding-right:8px!important}.pr-xxl-3{padding-right:12px!important}.pr-xxl-4{padding-right:16px!important}.pr-xxl-5{padding-right:20px!important}.pr-xxl-6{padding-right:24px!important}.pr-xxl-7{padding-right:28px!important}.pr-xxl-8{padding-right:32px!important}.pr-xxl-9{padding-right:36px!important}.pr-xxl-10{padding-right:40px!important}.pr-xxl-11{padding-right:44px!important}.pr-xxl-12{padding-right:48px!important}.pr-xxl-13{padding-right:52px!important}.pr-xxl-14{padding-right:56px!important}.pr-xxl-15{padding-right:60px!important}.pr-xxl-16{padding-right:64px!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:4px!important}.pb-xxl-2{padding-bottom:8px!important}.pb-xxl-3{padding-bottom:12px!important}.pb-xxl-4{padding-bottom:16px!important}.pb-xxl-5{padding-bottom:20px!important}.pb-xxl-6{padding-bottom:24px!important}.pb-xxl-7{padding-bottom:28px!important}.pb-xxl-8{padding-bottom:32px!important}.pb-xxl-9{padding-bottom:36px!important}.pb-xxl-10{padding-bottom:40px!important}.pb-xxl-11{padding-bottom:44px!important}.pb-xxl-12{padding-bottom:48px!important}.pb-xxl-13{padding-bottom:52px!important}.pb-xxl-14{padding-bottom:56px!important}.pb-xxl-15{padding-bottom:60px!important}.pb-xxl-16{padding-bottom:64px!important}.pl-xxl-0{padding-left:0!important}.pl-xxl-1{padding-left:4px!important}.pl-xxl-2{padding-left:8px!important}.pl-xxl-3{padding-left:12px!important}.pl-xxl-4{padding-left:16px!important}.pl-xxl-5{padding-left:20px!important}.pl-xxl-6{padding-left:24px!important}.pl-xxl-7{padding-left:28px!important}.pl-xxl-8{padding-left:32px!important}.pl-xxl-9{padding-left:36px!important}.pl-xxl-10{padding-left:40px!important}.pl-xxl-11{padding-left:44px!important}.pl-xxl-12{padding-left:48px!important}.pl-xxl-13{padding-left:52px!important}.pl-xxl-14{padding-left:56px!important}.pl-xxl-15{padding-left:60px!important}.pl-xxl-16{padding-left:64px!important}.ps-xxl-0{padding-inline-start:0px!important}.ps-xxl-1{padding-inline-start:4px!important}.ps-xxl-2{padding-inline-start:8px!important}.ps-xxl-3{padding-inline-start:12px!important}.ps-xxl-4{padding-inline-start:16px!important}.ps-xxl-5{padding-inline-start:20px!important}.ps-xxl-6{padding-inline-start:24px!important}.ps-xxl-7{padding-inline-start:28px!important}.ps-xxl-8{padding-inline-start:32px!important}.ps-xxl-9{padding-inline-start:36px!important}.ps-xxl-10{padding-inline-start:40px!important}.ps-xxl-11{padding-inline-start:44px!important}.ps-xxl-12{padding-inline-start:48px!important}.ps-xxl-13{padding-inline-start:52px!important}.ps-xxl-14{padding-inline-start:56px!important}.ps-xxl-15{padding-inline-start:60px!important}.ps-xxl-16{padding-inline-start:64px!important}.pe-xxl-0{padding-inline-end:0px!important}.pe-xxl-1{padding-inline-end:4px!important}.pe-xxl-2{padding-inline-end:8px!important}.pe-xxl-3{padding-inline-end:12px!important}.pe-xxl-4{padding-inline-end:16px!important}.pe-xxl-5{padding-inline-end:20px!important}.pe-xxl-6{padding-inline-end:24px!important}.pe-xxl-7{padding-inline-end:28px!important}.pe-xxl-8{padding-inline-end:32px!important}.pe-xxl-9{padding-inline-end:36px!important}.pe-xxl-10{padding-inline-end:40px!important}.pe-xxl-11{padding-inline-end:44px!important}.pe-xxl-12{padding-inline-end:48px!important}.pe-xxl-13{padding-inline-end:52px!important}.pe-xxl-14{padding-inline-end:56px!important}.pe-xxl-15{padding-inline-end:60px!important}.pe-xxl-16{padding-inline-end:64px!important}.text-xxl-left{text-align:left!important}.text-xxl-right{text-align:right!important}.text-xxl-center{text-align:center!important}.text-xxl-justify{text-align:justify!important}.text-xxl-start{text-align:start!important}.text-xxl-end{text-align:end!important}.text-xxl-h1{font-size:6rem!important;font-weight:300;line-height:1;letter-spacing:-.015625em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-h2{font-size:3.75rem!important;font-weight:300;line-height:1;letter-spacing:-.0083333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-h3{font-size:3rem!important;font-weight:400;line-height:1.05;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-h4{font-size:2.125rem!important;font-weight:400;line-height:1.175;letter-spacing:.0073529412em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-h5{font-size:1.5rem!important;font-weight:400;line-height:1.333;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-h6{font-size:1.25rem!important;font-weight:500;line-height:1.6;letter-spacing:.0125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-subtitle-1{font-size:1rem!important;font-weight:400;line-height:1.75;letter-spacing:.009375em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-subtitle-2{font-size:.875rem!important;font-weight:500;line-height:1.6;letter-spacing:.0071428571em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-body-1{font-size:1rem!important;font-weight:400;line-height:1.5;letter-spacing:.03125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-body-2{font-size:.875rem!important;font-weight:400;line-height:1.425;letter-spacing:.0178571429em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-button{font-size:.875rem!important;font-weight:500;line-height:2.6;letter-spacing:.0892857143em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.text-xxl-caption{font-size:.75rem!important;font-weight:400;line-height:1.667;letter-spacing:.0333333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-overline{font-size:.75rem!important;font-weight:500;line-height:2.667;letter-spacing:.1666666667em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.h-xxl-auto{height:auto!important}.h-xxl-screen{height:100vh!important}.h-xxl-0{height:0!important}.h-xxl-25{height:25%!important}.h-xxl-50{height:50%!important}.h-xxl-75{height:75%!important}.h-xxl-100{height:100%!important}.w-xxl-auto{width:auto!important}.w-xxl-0{width:0!important}.w-xxl-25{width:25%!important}.w-xxl-33{width:33%!important}.w-xxl-50{width:50%!important}.w-xxl-66{width:66%!important}.w-xxl-75{width:75%!important}.w-xxl-100{width:100%!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.float-print-none{float:none!important}.float-print-left{float:left!important}.float-print-right{float:right!important}.v-locale--is-rtl .float-print-end{float:left!important}.v-locale--is-rtl .float-print-start,.v-locale--is-ltr .float-print-end{float:right!important}.v-locale--is-ltr .float-print-start{float:left!important}}.v-btn{align-items:center;border-radius:4px;display:inline-grid;grid-template-areas:"prepend content append";grid-template-columns:max-content auto max-content;font-weight:500;justify-content:center;letter-spacing:.0892857143em;line-height:normal;max-width:100%;outline:none;position:relative;text-decoration:none;text-indent:.0892857143em;text-transform:uppercase;transition-property:box-shadow,transform,opacity,background;transition-duration:.28s;transition-timing-function:cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;vertical-align:middle;flex-shrink:0}.v-locale--is-rtl .v-btn{text-indent:-.0892857143em}.v-btn--size-x-small{--v-btn-size: .625rem;--v-btn-height: 20px;font-size:var(--v-btn-size);min-width:36px;padding:0 8px}.v-btn--size-small{--v-btn-size: .75rem;--v-btn-height: 28px;font-size:var(--v-btn-size);min-width:50px;padding:0 12px}.v-btn--size-default{--v-btn-size: .875rem;--v-btn-height: 36px;font-size:var(--v-btn-size);min-width:64px;padding:0 16px}.v-btn--size-large{--v-btn-size: 1rem;--v-btn-height: 44px;font-size:var(--v-btn-size);min-width:78px;padding:0 20px}.v-btn--size-x-large{--v-btn-size: 1.125rem;--v-btn-height: 52px;font-size:var(--v-btn-size);min-width:92px;padding:0 24px}.v-btn.v-btn--density-default{height:calc(var(--v-btn-height) + 0px)}.v-btn.v-btn--density-comfortable{height:calc(var(--v-btn-height) + -8px)}.v-btn.v-btn--density-compact{height:calc(var(--v-btn-height) + -12px)}.v-btn{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-btn--border{border-width:thin;box-shadow:none}.v-btn--absolute{position:absolute}.v-btn--fixed{position:fixed}.v-btn:hover>.v-btn__overlay{opacity:calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier))}.v-btn:focus-visible>.v-btn__overlay{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-btn:focus>.v-btn__overlay{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}}.v-btn--active>.v-btn__overlay,.v-btn[aria-haspopup=menu][aria-expanded=true]>.v-btn__overlay{opacity:calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier))}.v-btn--active:hover>.v-btn__overlay,.v-btn[aria-haspopup=menu][aria-expanded=true]:hover>.v-btn__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier))}.v-btn--active:focus-visible>.v-btn__overlay,.v-btn[aria-haspopup=menu][aria-expanded=true]:focus-visible>.v-btn__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-btn--active:focus>.v-btn__overlay,.v-btn[aria-haspopup=menu][aria-expanded=true]:focus>.v-btn__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}}.v-btn--variant-plain,.v-btn--variant-outlined,.v-btn--variant-text,.v-btn--variant-tonal{background:transparent;color:inherit}.v-btn--variant-plain{opacity:.62}.v-btn--variant-plain:focus,.v-btn--variant-plain:hover{opacity:1}.v-btn--variant-plain .v-btn__overlay{display:none}.v-btn--variant-elevated,.v-btn--variant-flat{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-btn--variant-elevated{box-shadow:0 3px 1px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 2px 2px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 5px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-btn--variant-flat{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-btn--variant-outlined{border:thin solid currentColor}.v-btn--variant-text .v-btn__overlay{background:currentColor}.v-btn--variant-tonal .v-btn__underlay{background:currentColor;opacity:var(--v-activated-opacity);border-radius:inherit;top:0;right:0;bottom:0;left:0;pointer-events:none}.v-btn .v-btn__underlay{position:absolute}@supports selector(:focus-visible){.v-btn:after{pointer-events:none;border:2px solid currentColor;border-radius:inherit;opacity:0;transition:opacity .2s ease-in-out}.v-btn:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%}.v-btn:focus-visible:after{opacity:calc(.25 * var(--v-theme-overlay-multiplier))}}.v-btn--icon{border-radius:50%;min-width:0;padding:0}.v-btn--icon.v-btn--size-default{--v-btn-size: 1rem}.v-btn--icon.v-btn--density-default{width:calc(var(--v-btn-height) + 12px);height:calc(var(--v-btn-height) + 12px)}.v-btn--icon.v-btn--density-comfortable{width:calc(var(--v-btn-height) + 0px);height:calc(var(--v-btn-height) + 0px)}.v-btn--icon.v-btn--density-compact{width:calc(var(--v-btn-height) + -8px);height:calc(var(--v-btn-height) + -8px)}.v-btn--elevated:hover,.v-btn--elevated:focus{box-shadow:0 2px 4px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 4px 5px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 10px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-btn--elevated:active{box-shadow:0 5px 5px -3px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 8px 10px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 3px 14px 2px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-btn--flat{box-shadow:none}.v-btn--block{display:flex;flex:1 0 auto;min-width:100%}.v-btn--spaced{display:grid;grid-template-columns:max-content 1fr max-content}.v-btn--spaced.v-btn--spaced-start>.v-btn__content{justify-content:end}.v-btn--spaced.v-btn--spaced-end>.v-btn__content{justify-content:start}.v-btn--disabled{pointer-events:none;opacity:.26}.v-btn--disabled:hover{opacity:.26}.v-btn--disabled.v-btn--variant-elevated,.v-btn--disabled.v-btn--variant-flat{box-shadow:none;opacity:1;color:rgba(var(--v-theme-on-surface),.26);background:rgb(var(--v-theme-surface))}.v-btn--disabled.v-btn--variant-elevated .v-btn__overlay,.v-btn--disabled.v-btn--variant-flat .v-btn__overlay{opacity:.4615384615}.v-btn--loading{pointer-events:none}.v-btn--loading .v-btn__content,.v-btn--loading .v-btn__prepend,.v-btn--loading .v-btn__append{opacity:0}.v-btn--stacked{grid-template-areas:"prepend" "content" "append";grid-template-columns:auto;grid-template-rows:max-content max-content max-content;justify-items:center;align-content:center}.v-btn--stacked .v-btn__content{flex-direction:column;line-height:1.25}.v-btn--stacked .v-btn__prepend,.v-btn--stacked .v-btn__append,.v-btn--stacked .v-btn__content>.v-icon--start,.v-btn--stacked .v-btn__content>.v-icon--end{margin-inline:0}.v-btn--stacked .v-btn__prepend,.v-btn--stacked .v-btn__content>.v-icon--start{margin-bottom:4px}.v-btn--stacked .v-btn__append,.v-btn--stacked .v-btn__content>.v-icon--end{margin-top:4px}.v-btn--stacked.v-btn--size-x-small{--v-btn-size: .625rem;--v-btn-height: 56px;font-size:var(--v-btn-size);min-width:56px;padding:0 12px}.v-btn--stacked.v-btn--size-small{--v-btn-size: .75rem;--v-btn-height: 64px;font-size:var(--v-btn-size);min-width:64px;padding:0 14px}.v-btn--stacked.v-btn--size-default{--v-btn-size: .875rem;--v-btn-height: 72px;font-size:var(--v-btn-size);min-width:72px;padding:0 16px}.v-btn--stacked.v-btn--size-large{--v-btn-size: 1rem;--v-btn-height: 80px;font-size:var(--v-btn-size);min-width:80px;padding:0 18px}.v-btn--stacked.v-btn--size-x-large{--v-btn-size: 1.125rem;--v-btn-height: 88px;font-size:var(--v-btn-size);min-width:88px;padding:0 20px}.v-btn--stacked.v-btn--density-default{height:calc(var(--v-btn-height) + 0px)}.v-btn--stacked.v-btn--density-comfortable{height:calc(var(--v-btn-height) + -16px)}.v-btn--stacked.v-btn--density-compact{height:calc(var(--v-btn-height) + -24px)}.v-btn--slim{padding:0 8px}.v-btn--readonly{pointer-events:none}.v-btn--rounded{border-radius:24px}.v-btn--rounded.v-btn--icon{border-radius:4px}.v-btn .v-icon{--v-icon-size-multiplier: .8571428571}.v-btn--icon .v-icon{--v-icon-size-multiplier: 1}.v-btn--stacked .v-icon{--v-icon-size-multiplier: 1.1428571429}.v-btn--stacked.v-btn--block{min-width:100%}.v-btn__loader{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.v-btn__loader>.v-progress-circular{width:1.5em;height:1.5em}.v-btn__content,.v-btn__prepend,.v-btn__append{align-items:center;display:flex;transition:transform,opacity .2s cubic-bezier(.4,0,.2,1)}.v-btn__prepend{grid-area:prepend;margin-inline:calc(var(--v-btn-height) / -9) calc(var(--v-btn-height) / 4.5)}.v-btn--slim .v-btn__prepend{margin-inline-start:0}.v-btn__append{grid-area:append;margin-inline:calc(var(--v-btn-height) / 4.5) calc(var(--v-btn-height) / -9)}.v-btn--slim .v-btn__append{margin-inline-end:0}.v-btn__content{grid-area:content;justify-content:center;white-space:nowrap}.v-btn__content>.v-icon--start{margin-inline:calc(var(--v-btn-height) / -9) calc(var(--v-btn-height) / 4.5)}.v-btn__content>.v-icon--end{margin-inline:calc(var(--v-btn-height) / 4.5) calc(var(--v-btn-height) / -9)}.v-btn--stacked .v-btn__content{white-space:normal}.v-btn__overlay{background-color:currentColor;border-radius:inherit;opacity:0;transition:opacity .2s ease-in-out}.v-btn__overlay,.v-btn__underlay{pointer-events:none}.v-btn__overlay,.v-btn__underlay{position:absolute;top:0;left:0;width:100%;height:100%}.v-pagination .v-btn{width:auto;padding-inline:5px}.v-pagination .v-btn.v-btn--density-default{min-width:calc(var(--v-btn-height) + 12px)}.v-pagination .v-btn.v-btn--density-comfortable{min-width:calc(var(--v-btn-height) + 0px)}.v-pagination .v-btn.v-btn--density-compact{min-width:calc(var(--v-btn-height) + -8px)}.v-pagination .v-btn{border-radius:4px}.v-pagination .v-btn--rounded{border-radius:50%}.v-pagination .v-btn__overlay{transition:none}.v-pagination__prev .v-btn,.v-pagination__next .v-btn{padding-inline:0}.v-pagination__prev .v-btn.v-btn--density-default,.v-pagination__next .v-btn.v-btn--density-default{width:calc(var(--v-btn-height) + 12px)}.v-pagination__prev .v-btn.v-btn--density-comfortable,.v-pagination__next .v-btn.v-btn--density-comfortable{width:calc(var(--v-btn-height) + 0px)}.v-pagination__prev .v-btn.v-btn--density-compact,.v-pagination__next .v-btn.v-btn--density-compact{width:calc(var(--v-btn-height) + -8px)}.v-pagination .v-pagination__item--is-active .v-btn__overlay{opacity:var(--v-border-opacity)}@media (forced-colors: active){.v-btn:not(.v-btn--variant-text,.v-btn--variant-plain){border:thin solid}.v-btn:focus-visible{outline:2px solid;outline-offset:2px}}.v-btn-toggle>.v-btn.v-btn--active:not(.v-btn--disabled)>.v-btn__overlay{opacity:calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier))}.v-btn-toggle>.v-btn.v-btn--active:not(.v-btn--disabled):hover>.v-btn__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier))}.v-btn-toggle>.v-btn.v-btn--active:not(.v-btn--disabled):focus-visible>.v-btn__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-btn-toggle>.v-btn.v-btn--active:not(.v-btn--disabled):focus>.v-btn__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}}.v-btn-toggle>.v-btn.v-btn--active:not(.v-btn--disabled).v-btn--variant-plain{opacity:1}@media (forced-colors: active){.v-btn-toggle>.v-btn:not(.v-btn--disabled){border-color:buttontext!important}.v-btn-toggle>.v-btn:not(.v-btn--disabled):focus-visible{outline:0}.v-btn-toggle>.v-btn:not(.v-btn--disabled):not(.v-btn--active):hover,.v-btn-toggle>.v-btn:not(.v-btn--disabled):not(.v-btn--active):focus-visible{color:highlight;border-color:currentColor!important}.v-btn-toggle>.v-btn--active{color:highlight!important;forced-color-adjust:preserve-parent-color}.v-btn-toggle>.v-btn--active:not(.v-btn--variant-text,.v-btn--variant-plain){background-color:highlight!important;color:highlighttext!important;border-color:highlight!important}}.v-btn-group{display:inline-flex;flex-wrap:nowrap;max-width:100%;min-width:0;overflow-y:hidden;overflow-x:auto;vertical-align:middle}.v-btn-group{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-btn-group--border{border-width:thin;box-shadow:none}.v-btn-group{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-btn-group{border-radius:4px}.v-btn-group{background:transparent;color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-btn-group--density-default.v-btn-group{height:48px}.v-btn-group--density-comfortable.v-btn-group{height:40px}.v-btn-group--density-compact.v-btn-group{height:36px}.v-btn-group .v-btn{border-radius:0;border-color:inherit}.v-btn-group--tile{border-radius:0}.v-btn-group--horizontal .v-btn:not(:last-child){border-inline-end:none}.v-btn-group--horizontal .v-btn:not(:first-child){border-inline-start:none}.v-btn-group--horizontal .v-btn:first-child{border-start-start-radius:inherit;border-end-start-radius:inherit}.v-btn-group--horizontal .v-btn:last-child{border-start-end-radius:inherit;border-end-end-radius:inherit}.v-btn-group--horizontal.v-btn-group--divided .v-btn:not(:last-child){border-inline-end-width:thin;border-inline-end-style:solid;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))}.v-btn-group--vertical{flex-direction:column;height:auto!important}.v-btn-group--vertical .v-btn:not(:last-child){border-block-end:none}.v-btn-group--vertical .v-btn:not(:first-child){border-block-start:none}.v-btn-group--vertical .v-btn:first-child{border-start-start-radius:inherit;border-start-end-radius:inherit}.v-btn-group--vertical .v-btn:last-child{border-end-start-radius:inherit;border-end-end-radius:inherit}.v-btn-group--vertical.v-btn-group--divided .v-btn:not(:last-child){border-block-end-width:thin;border-block-end-style:solid;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))}.v-icon{--v-icon-size-multiplier: 1;align-items:center;display:inline-flex;font-feature-settings:"liga";height:1em;justify-content:center;letter-spacing:normal;line-height:1;position:relative;opacity:var(--v-icon-opacity, 1);text-indent:0;text-align:center;-webkit-user-select:none;user-select:none;vertical-align:middle;width:1em;min-width:1em}.v-icon--clickable{cursor:pointer}.v-icon--disabled{pointer-events:none;opacity:.38}.v-icon--size-x-small{font-size:calc(var(--v-icon-size-multiplier) * 1em)}.v-icon--size-small{font-size:calc(var(--v-icon-size-multiplier) * 1.25em)}.v-icon--size-default{font-size:calc(var(--v-icon-size-multiplier) * 1.5em)}.v-icon--size-large{font-size:calc(var(--v-icon-size-multiplier) * 1.75em)}.v-icon--size-x-large{font-size:calc(var(--v-icon-size-multiplier) * 2em)}.v-icon__svg{fill:currentColor;width:100%;height:100%}.v-icon--start{margin-inline-end:8px}.v-icon--end{margin-inline-start:8px}.v-progress-circular{align-items:center;display:inline-flex;justify-content:center;overflow:hidden;position:relative;vertical-align:middle}.v-progress-circular>svg{width:100%;height:100%;margin:auto;position:absolute;top:0;bottom:0;left:0;right:0;z-index:0}.v-progress-circular__content{align-items:center;display:flex;justify-content:center}.v-progress-circular__underlay{color:rgba(var(--v-border-color),var(--v-border-opacity));stroke:currentColor;z-index:1}.v-progress-circular__overlay{stroke:currentColor;transition:all .2s ease-in-out,stroke-width 0s;z-index:2}.v-progress-circular--revealing{--progress-reveal-duration: $progress-circular-reveal-duration}.v-progress-circular--revealing .v-progress-circular__overlay{transition-duration:var(--progress-reveal-duration),0s}.v-progress-circular--size-x-small{height:16px;width:16px}.v-progress-circular--size-small{height:24px;width:24px}.v-progress-circular--size-default{height:32px;width:32px}.v-progress-circular--size-large{height:48px;width:48px}.v-progress-circular--size-x-large{height:64px;width:64px}.v-progress-circular--indeterminate>svg{animation:progress-circular-rotate 1.4s linear infinite;transform-origin:center center;transition:all .2s ease-in-out}.v-progress-circular--indeterminate .v-progress-circular__overlay{animation:progress-circular-dash 1.4s ease-in-out infinite,progress-circular-rotate 1.4s linear infinite;stroke-dasharray:25,200;stroke-dashoffset:0;stroke-linecap:round;transform-origin:center center;transform:rotate(-90deg)}.v-progress-circular--disable-shrink>svg{animation-duration:.7s}.v-progress-circular--disable-shrink .v-progress-circular__overlay{animation:none}.v-progress-circular--indeterminate:not(.v-progress-circular--visible)>svg,.v-progress-circular--indeterminate:not(.v-progress-circular--visible) .v-progress-circular__overlay{animation-play-state:paused!important}@keyframes progress-circular-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0px}50%{stroke-dasharray:100,200;stroke-dashoffset:-15px}to{stroke-dasharray:100,200;stroke-dashoffset:-124px}}@keyframes progress-circular-rotate{to{transform:rotate(270deg)}}.v-progress-linear{background:transparent;overflow:hidden;position:relative;transition:.2s cubic-bezier(.4,0,.2,1),mask-size 0s;width:100%}@media (forced-colors: active){.v-progress-linear{border:thin solid buttontext}}.v-progress-linear__background,.v-progress-linear__buffer{background:currentColor;bottom:0;left:0;opacity:var(--v-border-opacity);position:absolute;top:0;width:100%;transition-property:width,left,right;transition:inherit}@media (forced-colors: active){.v-progress-linear__buffer{background-color:highlight!important;opacity:.5!important}}.v-progress-linear__content{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.v-progress-linear--clickable .v-progress-linear__content{pointer-events:none}.v-progress-linear__determinate,.v-progress-linear__indeterminate{background:currentColor}@media (forced-colors: active){.v-progress-linear__determinate,.v-progress-linear__indeterminate{background-color:highlight!important}}.v-progress-linear__determinate{height:inherit;left:0;position:absolute;transition:inherit;transition-property:width,left,right}.v-progress-linear__indeterminate .long,.v-progress-linear__indeterminate .short{animation-play-state:paused;animation-duration:2.2s;animation-iteration-count:infinite;bottom:0;height:inherit;left:0;position:absolute;right:auto;top:0;width:auto}.v-progress-linear__indeterminate .long{animation-name:indeterminate-ltr}.v-progress-linear__indeterminate .short{animation-name:indeterminate-short-ltr}.v-progress-linear__stream{animation:stream .25s infinite linear;animation-play-state:paused;bottom:0;left:auto;opacity:.3;pointer-events:none;position:absolute;transition:inherit;transition-property:width,left,right}.v-progress-linear--reverse .v-progress-linear__background,.v-progress-linear--reverse .v-progress-linear__determinate,.v-progress-linear--reverse .v-progress-linear__content,.v-progress-linear--reverse .v-progress-linear__indeterminate .long,.v-progress-linear--reverse .v-progress-linear__indeterminate .short{left:auto;right:0}.v-progress-linear--reverse .v-progress-linear__indeterminate .long{animation-name:indeterminate-rtl}.v-progress-linear--reverse .v-progress-linear__indeterminate .short{animation-name:indeterminate-short-rtl}.v-progress-linear--reverse .v-progress-linear__stream{right:auto}.v-progress-linear--absolute,.v-progress-linear--fixed{left:0;z-index:1}.v-progress-linear--absolute{position:absolute}.v-progress-linear--fixed{position:fixed}.v-progress-linear--rounded{border-radius:9999px}.v-progress-linear--rounded.v-progress-linear--rounded-bar .v-progress-linear__determinate,.v-progress-linear--rounded.v-progress-linear--rounded-bar .v-progress-linear__indeterminate{border-radius:inherit}.v-progress-linear--striped .v-progress-linear__determinate{animation:progress-linear-stripes 1s infinite linear;background-image:linear-gradient(135deg,hsla(0,0%,100%,.25) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.25) 0,hsla(0,0%,100%,.25) 75%,transparent 0,transparent);background-repeat:repeat;background-size:var(--v-progress-linear-height)}.v-progress-linear--active .v-progress-linear__indeterminate .long,.v-progress-linear--active .v-progress-linear__indeterminate .short,.v-progress-linear--active .v-progress-linear__stream{animation-play-state:running}.v-progress-linear--rounded-bar .v-progress-linear__determinate,.v-progress-linear--rounded-bar .v-progress-linear__indeterminate,.v-progress-linear--rounded-bar .v-progress-linear__stream+.v-progress-linear__background{border-radius:9999px}.v-progress-linear--rounded-bar .v-progress-linear__determinate{border-start-start-radius:0;border-end-start-radius:0}@keyframes indeterminate-ltr{0%{left:-90%;right:100%}60%{left:-90%;right:100%}to{left:100%;right:-35%}}@keyframes indeterminate-rtl{0%{left:100%;right:-90%}60%{left:100%;right:-90%}to{left:-35%;right:100%}}@keyframes indeterminate-short-ltr{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@keyframes indeterminate-short-rtl{0%{left:100%;right:-200%}60%{left:-8%;right:107%}to{left:-8%;right:107%}}@keyframes stream{to{transform:translate(var(--v-progress-linear-stream-to))}}@keyframes progress-linear-stripes{0%{background-position-x:var(--v-progress-linear-height)}}.v-ripple__container{color:inherit;border-radius:inherit;position:absolute;width:100%;height:100%;left:0;top:0;overflow:hidden;z-index:0;pointer-events:none;contain:strict}.v-ripple__animation{color:inherit;position:absolute;top:0;left:0;border-radius:50%;background:currentColor;opacity:0;pointer-events:none;overflow:hidden;will-change:transform,opacity}.v-ripple__animation--enter{transition:none;opacity:0}.v-ripple__animation--in{transition:transform .25s cubic-bezier(0,0,.2,1),opacity .1s cubic-bezier(0,0,.2,1);opacity:calc(.25 * var(--v-theme-overlay-multiplier))}@media (prefers-reduced-motion: reduce){.v-ripple__animation--in{transition-property:opacity;transition-duration:.1s}}.v-ripple__animation--out{transition:opacity .3s cubic-bezier(0,0,.2,1);opacity:0}.v-snackbar{justify-content:center;z-index:10000;margin:8px;margin-inline-end:calc(8px + var(--v-scrollbar-offset));padding:var(--v-layout-top) var(--v-layout-right) var(--v-layout-bottom) var(--v-layout-left)}.v-snackbar:not(.v-snackbar--center):not(.v-snackbar--top){align-items:flex-end}.v-snackbar__wrapper{align-items:center;display:flex;max-width:672px;min-height:48px;min-width:344px;overflow:hidden;padding:0}.v-snackbar__wrapper{border-radius:4px}.v-snackbar--variant-plain,.v-snackbar--variant-outlined,.v-snackbar--variant-text,.v-snackbar--variant-tonal{background:transparent;color:inherit}.v-snackbar--variant-plain{opacity:.62}.v-snackbar--variant-plain:focus,.v-snackbar--variant-plain:hover{opacity:1}.v-snackbar--variant-plain .v-snackbar__overlay{display:none}.v-snackbar--variant-elevated,.v-snackbar--variant-flat{background:rgb(var(--v-theme-surface-variant));color:rgb(var(--v-theme-on-surface-variant))}.v-snackbar--variant-elevated{box-shadow:0 3px 5px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 6px 10px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 18px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-snackbar--variant-flat{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-snackbar--variant-outlined{border:thin solid currentColor}.v-snackbar--variant-text .v-snackbar__overlay{background:currentColor}.v-snackbar--variant-tonal .v-snackbar__underlay{background:currentColor;opacity:var(--v-activated-opacity);border-radius:inherit;top:0;right:0;bottom:0;left:0;pointer-events:none}.v-snackbar .v-snackbar__underlay{position:absolute}@media (forced-colors: active){.v-snackbar__wrapper{border:thick solid}}.v-snackbar__content{flex-grow:1;font-size:.875rem;font-weight:400;letter-spacing:.0178571429em;line-height:1.425;margin-right:auto;padding:14px 16px;text-align:initial}.v-snackbar__actions{align-items:center;align-self:center;display:flex;margin-inline-end:8px}.v-snackbar__actions>.v-btn{padding:0 8px;min-width:auto}.v-snackbar__timer{width:100%;position:absolute;top:0}.v-snackbar__timer .v-progress-linear{transition:.2s linear}.v-snackbar--absolute{position:absolute;z-index:1}.v-snackbar--multi-line .v-snackbar__wrapper{min-height:68px}.v-snackbar--vertical .v-snackbar__wrapper{flex-direction:column}.v-snackbar--vertical .v-snackbar__wrapper .v-snackbar__actions{align-self:flex-end;margin-bottom:8px}.v-snackbar--center{align-items:center;justify-content:center}.v-snackbar--top{align-items:flex-start}.v-snackbar--bottom{align-items:flex-end}.v-snackbar--left,.v-snackbar--start{justify-content:flex-start}.v-snackbar--right,.v-snackbar--end{justify-content:flex-end}.v-snackbar-transition-enter-active,.v-snackbar-transition-leave-active{transition-duration:.15s;transition-timing-function:cubic-bezier(0,0,.2,1)}.v-snackbar-transition-enter-active{transition-property:opacity,transform}@media (prefers-reduced-motion: reduce){.v-snackbar-transition-enter-active{transition-property:opacity}}.v-snackbar-transition-enter-from{opacity:0;transform:scale(.8)}.v-snackbar-transition-leave-active{transition-property:opacity}.v-snackbar-transition-leave-to{opacity:0}.v-overlay-container{contain:layout;left:0;pointer-events:none;position:absolute;top:0;display:contents}.v-overlay-scroll-blocked{padding-inline-end:var(--v-scrollbar-offset)}.v-overlay-scroll-blocked:not(html){overflow-y:hidden!important}html.v-overlay-scroll-blocked{position:fixed;top:var(--v-body-scroll-y);left:var(--v-body-scroll-x);width:100%;height:100%}.v-overlay{--v-overlay-opacity: .32;border-radius:inherit;display:flex;left:0;pointer-events:none;position:fixed;top:0;bottom:0;right:0}.v-overlay__content{outline:none;position:absolute;pointer-events:auto;contain:layout}.v-overlay__scrim{pointer-events:auto;background:#000;border-radius:inherit;bottom:0;left:0;opacity:var(--v-overlay-opacity);position:fixed;right:0;top:0}.v-overlay--absolute,.v-overlay--contained .v-overlay__scrim{position:absolute}.v-overlay--scroll-blocked{padding-inline-end:var(--v-scrollbar-offset)}.v-card{display:block;overflow:hidden;overflow-wrap:break-word;position:relative;padding:0;text-decoration:none;transition-duration:.28s;transition-property:box-shadow,opacity,background;transition-timing-function:cubic-bezier(.4,0,.2,1);z-index:0}.v-card{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-card--border{border-width:thin;box-shadow:none}.v-card--absolute{position:absolute}.v-card--fixed{position:fixed}.v-card{border-radius:4px}.v-card:hover>.v-card__overlay{opacity:calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier))}.v-card:focus-visible>.v-card__overlay{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-card:focus>.v-card__overlay{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}}.v-card--active>.v-card__overlay,.v-card[aria-haspopup=menu][aria-expanded=true]>.v-card__overlay{opacity:calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier))}.v-card--active:hover>.v-card__overlay,.v-card[aria-haspopup=menu][aria-expanded=true]:hover>.v-card__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier))}.v-card--active:focus-visible>.v-card__overlay,.v-card[aria-haspopup=menu][aria-expanded=true]:focus-visible>.v-card__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-card--active:focus>.v-card__overlay,.v-card[aria-haspopup=menu][aria-expanded=true]:focus>.v-card__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}}.v-card--variant-plain,.v-card--variant-outlined,.v-card--variant-text,.v-card--variant-tonal{background:transparent;color:inherit}.v-card--variant-plain{opacity:.62}.v-card--variant-plain:focus,.v-card--variant-plain:hover{opacity:1}.v-card--variant-plain .v-card__overlay{display:none}.v-card--variant-elevated,.v-card--variant-flat{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-card--variant-elevated{box-shadow:0 2px 1px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 1px 1px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 3px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-card--variant-flat{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-card--variant-outlined{border:thin solid currentColor}.v-card--variant-text .v-card__overlay{background:currentColor}.v-card--variant-tonal .v-card__underlay{background:currentColor;opacity:var(--v-activated-opacity);border-radius:inherit;top:0;right:0;bottom:0;left:0;pointer-events:none}.v-card .v-card__underlay{position:absolute}.v-card--disabled{pointer-events:none;-webkit-user-select:none;user-select:none}.v-card--disabled>:not(.v-card__loader){opacity:.6}.v-card--flat{box-shadow:none}.v-card--hover{cursor:pointer}.v-card--hover:before,.v-card--hover:after{border-radius:inherit;bottom:0;content:"";display:block;left:0;pointer-events:none;position:absolute;right:0;top:0;transition:inherit}.v-card--hover:before{opacity:1;z-index:-1}.v-card--hover:before{box-shadow:0 2px 1px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 1px 1px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 3px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-card--hover:after{z-index:1;opacity:0}.v-card--hover:after{box-shadow:0 5px 5px -3px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 8px 10px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 3px 14px 2px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-card--hover:hover:after{opacity:1}.v-card--hover:hover:before{opacity:0}.v-card--hover:hover{box-shadow:0 5px 5px -3px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 8px 10px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 3px 14px 2px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-card--link{cursor:pointer}.v-card-actions{align-items:center;display:flex;flex:none;min-height:52px;padding:.5rem;gap:.5rem}.v-card-item{align-items:center;display:grid;flex:none;grid-template-areas:"prepend content append";grid-template-columns:max-content auto max-content;padding:.625rem 1rem}.v-card-item+.v-card-text{padding-top:0}.v-card-item__prepend,.v-card-item__append{align-items:center;display:flex}.v-card-item__prepend{grid-area:prepend;padding-inline-end:.5rem}.v-card-item__append{grid-area:append;padding-inline-start:.5rem}.v-card-item__content{align-self:center;grid-area:content;overflow:hidden}.v-card-title{display:block;flex:none;font-size:1.25rem;font-weight:500;-webkit-hyphens:auto;hyphens:auto;letter-spacing:.0125em;min-width:0;overflow-wrap:normal;overflow:hidden;padding:.5rem 1rem;text-overflow:ellipsis;text-transform:none;white-space:nowrap;word-break:normal;word-wrap:break-word}.v-card .v-card-title{line-height:1.6}.v-card--density-comfortable .v-card-title{line-height:1.75rem}.v-card--density-compact .v-card-title{line-height:1.55rem}.v-card-item .v-card-title{padding:0}.v-card-title+.v-card-text,.v-card-title+.v-card-actions{padding-top:0}.v-card-subtitle{display:block;flex:none;font-size:.875rem;font-weight:400;letter-spacing:.0178571429em;opacity:var(--v-card-subtitle-opacity, var(--v-medium-emphasis-opacity));overflow:hidden;padding:0 1rem;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.v-card .v-card-subtitle{line-height:1.425}.v-card--density-comfortable .v-card-subtitle{line-height:1.125rem}.v-card--density-compact .v-card-subtitle{line-height:1rem}.v-card-item .v-card-subtitle{padding:0 0 .25rem}.v-card-text{flex:1 1 auto;font-size:.875rem;font-weight:400;letter-spacing:.0178571429em;opacity:var(--v-card-text-opacity, 1);padding:1rem;text-transform:none}.v-card .v-card-text{line-height:1.425}.v-card--density-comfortable .v-card-text{line-height:1.2rem}.v-card--density-compact .v-card-text{line-height:1.15rem}.v-card__image{display:flex;height:100%;flex:1 1 auto;left:0;overflow:hidden;position:absolute;top:0;width:100%;z-index:-1}.v-card__content{border-radius:inherit;overflow:hidden;position:relative}.v-card__loader{bottom:auto;top:0;left:0;position:absolute;right:0;width:100%;z-index:1}@media (forced-colors: active){.v-card__loader .v-progress-linear{border:none}}.v-card__overlay{background-color:currentColor;border-radius:inherit;position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;transition:opacity .2s ease-in-out}@media (forced-colors: active){.v-card:not(.v-card--variant-text,.v-card--variant-plain){border:thin solid}}.v-avatar{flex:none;align-items:center;display:inline-flex;justify-content:center;line-height:normal;overflow:hidden;position:relative;text-align:center;transition:.2s cubic-bezier(.4,0,.2,1);transition-property:width,height;vertical-align:middle}.v-avatar.v-avatar--size-x-small{--v-avatar-height: 24px}.v-avatar.v-avatar--size-small{--v-avatar-height: 32px}.v-avatar.v-avatar--size-default{--v-avatar-height: 40px}.v-avatar.v-avatar--size-large{--v-avatar-height: 48px}.v-avatar.v-avatar--size-x-large{--v-avatar-height: 56px}.v-avatar.v-avatar--density-default{height:calc(var(--v-avatar-height) + 0px);width:calc(var(--v-avatar-height) + 0px)}.v-avatar.v-avatar--density-comfortable{height:calc(var(--v-avatar-height) + -4px);width:calc(var(--v-avatar-height) + -4px)}.v-avatar.v-avatar--density-compact{height:calc(var(--v-avatar-height) + -8px);width:calc(var(--v-avatar-height) + -8px)}.v-avatar{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-avatar--border{border-width:thin;box-shadow:none}.v-avatar{border-radius:50%}.v-avatar--variant-plain,.v-avatar--variant-outlined,.v-avatar--variant-text,.v-avatar--variant-tonal{background:transparent;color:inherit}.v-avatar--variant-plain{opacity:.62}.v-avatar--variant-plain:focus,.v-avatar--variant-plain:hover{opacity:1}.v-avatar--variant-plain .v-avatar__overlay{display:none}.v-avatar--variant-elevated,.v-avatar--variant-flat{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-medium-emphasis-opacity))}.v-avatar--variant-elevated{box-shadow:0 2px 1px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 1px 1px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 3px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-avatar--variant-flat{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-avatar--variant-outlined{border:thin solid currentColor}.v-avatar--variant-text .v-avatar__overlay{background:currentColor}.v-avatar--variant-tonal .v-avatar__underlay{background:currentColor;opacity:var(--v-activated-opacity);border-radius:inherit;top:0;right:0;bottom:0;left:0;pointer-events:none}.v-avatar .v-avatar__underlay{position:absolute}.v-avatar--rounded{border-radius:4px}.v-avatar--start{margin-inline-end:8px}.v-avatar--end{margin-inline-start:8px}.v-avatar .v-img{height:100%;width:100%}.v-img{--v-theme-overlay-multiplier: 3;z-index:0}.v-img.v-img--absolute{height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%;z-index:-1}.v-img.v-img--fit-content{max-width:fit-content}.v-img.v-img--fit-content>.v-img__img{position:relative}.v-img.v-img--fit-content>.v-responsive__sizer{display:none}.v-img--booting .v-responsive__sizer{transition:none}.v-img--rounded{border-radius:4px}.v-img__img,.v-img__picture,.v-img__gradient,.v-img__placeholder,.v-img__error{z-index:-1}.v-img__img,.v-img__picture,.v-img__gradient,.v-img__placeholder,.v-img__error{position:absolute;top:0;left:0;width:100%;height:100%}.v-img__img--preload{filter:blur(4px)}.v-img__img--contain{object-fit:contain}.v-img__img--cover{object-fit:cover}.v-img__gradient{background-repeat:no-repeat}.v-responsive{display:flex;flex:1 0 auto;max-height:100%;max-width:100%;overflow:hidden;position:relative}.v-responsive--inline{display:inline-flex;flex:0 0 auto}.v-responsive__content{flex:1 0 0px;max-width:100%}.v-responsive__sizer~.v-responsive__content{margin-inline-start:-100%}.v-responsive__sizer{flex:1 0 0px;transition:padding-bottom .2s cubic-bezier(.4,0,.2,1);pointer-events:none}.v-dialog{align-items:center;justify-content:center;margin:auto}.v-dialog>.v-overlay__content{max-height:calc(100% - 48px);width:calc(100% - 48px);max-width:calc(100% - 48px);margin:24px}.v-dialog>.v-overlay__content,.v-dialog>.v-overlay__content>form{display:flex;flex-direction:column;min-height:0}.v-dialog>.v-overlay__content>.v-card,.v-dialog>.v-overlay__content>.v-sheet,.v-dialog>.v-overlay__content>form>.v-card,.v-dialog>.v-overlay__content>form>.v-sheet{--v-scrollbar-offset: 0px;border-radius:4px;overflow-y:auto;flex:1 1 var(--v-card-height, 100%)}.v-dialog>.v-overlay__content>.v-card,.v-dialog>.v-overlay__content>.v-sheet,.v-dialog>.v-overlay__content>form>.v-card,.v-dialog>.v-overlay__content>form>.v-sheet{box-shadow:0 11px 15px -7px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 24px 38px 3px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 9px 46px 8px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-dialog>.v-overlay__content>.v-card,.v-dialog>.v-overlay__content>form>.v-card{display:flex;flex-direction:column}.v-dialog>.v-overlay__content>.v-card>.v-card-item,.v-dialog>.v-overlay__content>form>.v-card>.v-card-item{padding:16px 24px}.v-dialog>.v-overlay__content>.v-card>.v-card-item+.v-card-text,.v-dialog>.v-overlay__content>form>.v-card>.v-card-item+.v-card-text{padding-top:0}.v-dialog>.v-overlay__content>.v-card>.v-card-text,.v-dialog>.v-overlay__content>form>.v-card>.v-card-text{font-size:inherit;letter-spacing:.03125em;line-height:inherit;padding:16px 24px 24px}.v-dialog>.v-overlay__content>.v-card>.v-card-actions,.v-dialog>.v-overlay__content>form>.v-card>.v-card-actions{justify-content:flex-end}.v-dialog--fullscreen{--v-scrollbar-offset: 0px}.v-dialog--fullscreen>.v-overlay__content{border-radius:0;margin:0;padding:0;width:100%;height:100%;max-width:100%;max-height:100%;overflow-y:auto;top:0;left:0}.v-dialog--fullscreen>.v-overlay__content>.v-card,.v-dialog--fullscreen>.v-overlay__content>.v-sheet,.v-dialog--fullscreen>.v-overlay__content>form>.v-card,.v-dialog--fullscreen>.v-overlay__content>form>.v-sheet{min-height:100%;min-width:100%;border-radius:0}.v-dialog--scrollable>.v-overlay__content>form,.v-dialog--scrollable>.v-overlay__content>form>.v-card{max-height:100%;max-width:100%}.v-dialog--scrollable>.v-overlay__content,.v-dialog--scrollable>.v-overlay__content>.v-card,.v-dialog--scrollable>.v-overlay__content>form,.v-dialog--scrollable>.v-overlay__content>form>.v-card{display:flex;flex:1 1 var(--v-card-height, 100%);flex-direction:column}.v-dialog--scrollable>.v-overlay__content>.v-card>.v-card-text,.v-dialog--scrollable>.v-overlay__content>form>.v-card>.v-card-text{backface-visibility:hidden;overflow-y:auto}.v-divider{color:inherit;display:block;flex:1 1 100%;height:0px;max-height:0px;opacity:var(--v-border-opacity);transition:inherit}.v-divider{border-style:solid;border-width:thin 0 0 0}.v-divider--vertical{align-self:stretch;border-width:0 thin 0 0;display:inline-flex;height:auto;margin-left:-1px;max-height:100%;max-width:0px;vertical-align:text-bottom;width:0px}.v-divider--inset:not(.v-divider--vertical){max-width:calc(100% - 72px);margin-inline-start:72px}.v-divider--inset.v-divider--vertical{margin-bottom:8px;margin-top:8px;max-height:calc(100% - 16px)}.v-divider--gradient{-webkit-mask-image:linear-gradient(90deg,transparent,#000,transparent);mask-image:linear-gradient(90deg,transparent,#000,transparent)}.v-divider--gradient.v-divider--vertical{-webkit-mask-image:linear-gradient(0deg,transparent,#000,transparent);mask-image:linear-gradient(0deg,transparent,#000,transparent)}.v-divider__content{padding:0 16px;text-wrap:nowrap}.v-divider__wrapper--vertical .v-divider__content{padding:4px 0}.v-divider__wrapper{display:flex;align-items:center;justify-content:center}.v-divider__wrapper--vertical{flex-direction:column;height:100%}.v-divider__wrapper--vertical .v-divider{margin:0 auto}.v-divider__wrapper--gradient{-webkit-mask-image:linear-gradient(90deg,transparent,#000,transparent);mask-image:linear-gradient(90deg,transparent,#000,transparent)}.v-divider__wrapper--gradient.v-divider__wrapper--vertical{-webkit-mask-image:linear-gradient(0deg,transparent,#000,transparent);mask-image:linear-gradient(0deg,transparent,#000,transparent)}.v-spacer{flex-grow:1}.v-list{overflow:auto;padding:8px 0;position:relative;outline:none}.v-list{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-list--border{border-width:thin;box-shadow:none}.v-list{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-list{border-radius:0}.v-list{background:rgba(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-list--disabled{pointer-events:none;-webkit-user-select:none;user-select:none}.v-list--nav{padding-inline:8px}.v-list--nav .v-list-item:not(:first-child),.v-list--nav .v-list-group:not(:first-child)>.v-list-item,.v-list--nav .v-list-group__items>.v-list-item,.v-list--nav .v-list-group__items>.v-list-group{margin-top:4px}.v-list--rounded{border-radius:4px}.v-list--subheader{padding-top:0}.v-list-img{border-radius:inherit;display:flex;height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%;z-index:-1}.v-list-subheader{align-items:center;background:inherit;color:rgba(var(--v-theme-on-surface),var(--v-medium-emphasis-opacity));display:flex;font-size:.875rem;font-weight:400;line-height:1.375rem;padding-inline-end:16px;min-height:40px;transition:.2s min-height cubic-bezier(.4,0,.2,1)}.v-list-subheader__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v-list--density-default .v-list-subheader{min-height:40px;padding-inline-start:calc(16px + var(--indent-padding))!important}.v-list--density-comfortable .v-list-subheader{min-height:36px;padding-inline-start:calc(16px + var(--indent-padding))!important}.v-list--density-compact .v-list-subheader{min-height:32px;padding-inline-start:calc(16px + var(--indent-padding))!important}.v-list-subheader--inset{--indent-padding: 56px}.v-list--nav .v-list-subheader{font-size:.75rem}.v-list-subheader--sticky{background:inherit;left:0;position:sticky;top:0;z-index:1}.v-list__overlay{background-color:currentColor;border-radius:inherit;bottom:0;left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .2s ease-in-out}.v-list-item{align-items:center;display:grid;flex:none;grid-template-areas:"prepend content append";grid-template-columns:max-content 1fr auto;outline:none;max-width:100%;padding:4px 16px;position:relative;text-decoration:none}.v-list-item{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-list-item--border{border-width:thin;box-shadow:none}.v-list-item:hover>.v-list-item__overlay{opacity:calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier))}.v-list-item:focus-visible>.v-list-item__overlay{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-list-item:focus>.v-list-item__overlay{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}}.v-list-item--active>.v-list-item__overlay,.v-list-item[aria-haspopup=menu][aria-expanded=true]>.v-list-item__overlay{opacity:calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier))}.v-list-item--active:hover>.v-list-item__overlay,.v-list-item[aria-haspopup=menu][aria-expanded=true]:hover>.v-list-item__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier))}.v-list-item--active:focus-visible>.v-list-item__overlay,.v-list-item[aria-haspopup=menu][aria-expanded=true]:focus-visible>.v-list-item__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-list-item--active:focus>.v-list-item__overlay,.v-list-item[aria-haspopup=menu][aria-expanded=true]:focus>.v-list-item__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}}.v-list-item{border-radius:0}.v-list-item--variant-plain,.v-list-item--variant-outlined,.v-list-item--variant-text,.v-list-item--variant-tonal{background:transparent;color:inherit}.v-list-item--variant-plain{opacity:.62}.v-list-item--variant-plain:focus,.v-list-item--variant-plain:hover{opacity:1}.v-list-item--variant-plain .v-list-item__overlay{display:none}.v-list-item--variant-elevated,.v-list-item--variant-flat{background:rgba(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-list-item--variant-elevated{box-shadow:0 2px 1px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 1px 1px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 3px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-list-item--variant-flat{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-list-item--variant-outlined{border:thin solid currentColor}.v-list-item--variant-text .v-list-item__overlay{background:currentColor}.v-list-item--variant-tonal .v-list-item__underlay{background:currentColor;opacity:var(--v-activated-opacity);border-radius:inherit;top:0;right:0;bottom:0;left:0;pointer-events:none}.v-list-item .v-list-item__underlay{position:absolute}.v-list-item--focus-visible .v-list-item__overlay{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}@supports selector(:focus-visible){.v-list-item:after{pointer-events:none;border:2px solid currentColor;border-radius:4px;opacity:0;transition:opacity .2s ease-in-out}.v-list-item:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%}.v-list-item:focus-visible:after,.v-list-item--focus-visible:after{opacity:calc(.15 * var(--v-theme-overlay-multiplier))}}.v-list-item__prepend>.v-badge .v-icon,.v-list-item__prepend>.v-icon,.v-list-item__append>.v-badge .v-icon,.v-list-item__append>.v-icon{opacity:var(--v-medium-emphasis-opacity)}.v-list-item--active .v-list-item__prepend>.v-badge .v-icon,.v-list-item--active .v-list-item__prepend>.v-icon,.v-list-item--active .v-list-item__append>.v-badge .v-icon,.v-list-item--active .v-list-item__append>.v-icon{opacity:1}.v-list-item--active:not(.v-list-item--link) .v-list-item__overlay{opacity:calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier))}.v-list-item--rounded{border-radius:4px}.v-list-item--disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.6}.v-list-item--link{cursor:pointer}.v-navigation-drawer--rail:not(.v-navigation-drawer--expand-on-hover) .v-list-item .v-avatar,.v-navigation-drawer--rail.v-navigation-drawer--expand-on-hover:not(.v-navigation-drawer--is-hovering) .v-list-item .v-avatar{--v-avatar-height: 24px}.v-list-item__prepend{align-items:center;align-self:center;display:flex;grid-area:prepend}.v-list-item__prepend *~.v-list-item__spacer{width:var(--v-list-prepend-gap)}.v-list-item__prepend>.v-badge~.v-list-item__spacer,.v-list-item__prepend>.v-icon~.v-list-item__spacer,.v-list-item__prepend>.v-tooltip~.v-list-item__spacer{width:var(--v-list-prepend-gap, 32px)}.v-list-item__prepend>.v-avatar~.v-list-item__spacer,.v-list-item__prepend>.v-badge:is(:has(.v-avatar))~.v-list-item__spacer{width:var(--v-list-prepend-gap, 16px)}.v-list-item--slim .v-list-item__prepend>.v-badge~.v-list-item__spacer,.v-list-item--slim .v-list-item__prepend>.v-icon~.v-list-item__spacer,.v-list-item--slim .v-list-item__prepend>.v-tooltip~.v-list-item__spacer{width:var(--v-list-prepend-gap, 20px)}.v-list-item--slim .v-list-item__prepend>.v-avatar~.v-list-item__spacer,.v-list-item--slim .v-list-item__prepend>.v-badge:is(:has(.v-avatar))~.v-list-item__spacer{width:var(--v-list-prepend-gap, 4px)}.v-list-item--slim .v-list-item__prepend>.v-list-item-action~.v-list-item__spacer{width:var(--v-list-prepend-gap, 4px)}.v-list-item--three-line .v-list-item__prepend{align-self:start}.v-list-item__append{align-self:center;display:flex;align-items:center;grid-area:append}.v-list-item__append .v-list-item__spacer{order:-1;transition:.15s width cubic-bezier(.4,0,.2,1)}.v-list-item__append *~.v-list-item__spacer{width:var(--v-list-prepend-gap)}.v-list-item__append>.v-badge~.v-list-item__spacer,.v-list-item__append>.v-icon~.v-list-item__spacer,.v-list-item__append>.v-tooltip~.v-list-item__spacer{width:var(--v-list-prepend-gap, 32px)}.v-list-item__append>.v-avatar~.v-list-item__spacer,.v-list-item__append>.v-badge:is(:has(.v-avatar))~.v-list-item__spacer{width:var(--v-list-prepend-gap, 16px)}.v-list-item__append>.v-list-item-action~.v-list-item__spacer{width:var(--v-list-prepend-gap, 16px)}.v-list-item--slim .v-list-item__append>.v-badge~.v-list-item__spacer,.v-list-item--slim .v-list-item__append>.v-icon~.v-list-item__spacer,.v-list-item--slim .v-list-item__append>.v-tooltip~.v-list-item__spacer{width:var(--v-list-slim-spacer-width, 20px)}.v-list-item--slim .v-list-item__append>.v-avatar~.v-list-item__spacer,.v-list-item--slim .v-list-item__append>.v-badge:is(:has(.v-avatar))~.v-list-item__spacer{width:var(--v-list-prepend-gap, 4px)}.v-list-item--slim .v-list-item__append>.v-list-item-action~.v-list-item__spacer{width:var(--v-list-prepend-gap, 4px)}.v-list-item--three-line .v-list-item__append{align-self:start}.v-list-item__content{align-self:center;grid-area:content;overflow:hidden;min-width:40px}.v-list-item-action{align-self:center;display:flex;align-items:center;flex:none;transition:inherit;transition-property:height,width}.v-list-item-action--start{margin-inline-end:8px;margin-inline-start:-8px}.v-list-item-action--end{margin-inline-start:8px;margin-inline-end:-8px}.v-list-item-media{margin-top:0;margin-bottom:0}.v-list-item-media--start{margin-inline-end:16px}.v-list-item-media--end{margin-inline-start:16px}.v-list-item--two-line .v-list-item-media{margin-top:-4px;margin-bottom:-4px}.v-list-item--three-line .v-list-item-media{margin-top:0;margin-bottom:0}.v-list-item-subtitle{-webkit-box-orient:vertical;display:-webkit-box;opacity:var(--v-list-item-subtitle-opacity, var(--v-medium-emphasis-opacity));overflow:hidden;padding:0;text-overflow:ellipsis;overflow-wrap:break-word;word-break:initial}.v-list-item--one-line .v-list-item-subtitle{-webkit-line-clamp:1}.v-list-item--two-line .v-list-item-subtitle{-webkit-line-clamp:2}.v-list-item--three-line .v-list-item-subtitle{-webkit-line-clamp:3}.v-list-item-subtitle{font-size:.875rem;font-weight:400;letter-spacing:.0178571429em;line-height:1rem;text-transform:none}.v-list-item--nav .v-list-item-subtitle{font-size:.75rem;font-weight:400;letter-spacing:.0178571429em;line-height:1rem}.v-list-item-title{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:normal;overflow:hidden;padding:0;white-space:nowrap;text-overflow:ellipsis;word-break:normal;word-wrap:break-word}.v-list-item-title{font-size:1rem;font-weight:400;letter-spacing:.009375em;line-height:1.5;text-transform:none}.v-list-item--nav .v-list-item-title{font-size:.8125rem;font-weight:500;letter-spacing:normal;line-height:1rem}.v-list-item--density-default{min-height:40px}.v-list-item--density-default.v-list-item--one-line{min-height:48px;padding-top:4px;padding-bottom:4px}.v-list-item--density-default.v-list-item--two-line{min-height:64px;padding-top:12px;padding-bottom:12px}.v-list-item--density-default.v-list-item--three-line{min-height:88px;padding-top:16px;padding-bottom:16px}.v-list-item--density-default.v-list-item--three-line .v-list-item__prepend,.v-list-item--density-default.v-list-item--three-line .v-list-item__append{padding-top:8px}.v-list-item--density-default:not(.v-list-item--nav).v-list-item--one-line{padding-inline:16px}.v-list-item--density-default:not(.v-list-item--nav).v-list-item--two-line{padding-inline:16px}.v-list-item--density-default:not(.v-list-item--nav).v-list-item--three-line{padding-inline:16px}.v-list-item--density-comfortable{min-height:36px}.v-list-item--density-comfortable.v-list-item--one-line{min-height:44px}.v-list-item--density-comfortable.v-list-item--two-line{min-height:60px;padding-top:8px;padding-bottom:8px}.v-list-item--density-comfortable.v-list-item--three-line{min-height:84px;padding-top:12px;padding-bottom:12px}.v-list-item--density-comfortable.v-list-item--three-line .v-list-item__prepend,.v-list-item--density-comfortable.v-list-item--three-line .v-list-item__append{padding-top:6px}.v-list-item--density-comfortable:not(.v-list-item--nav).v-list-item--one-line{padding-inline:16px}.v-list-item--density-comfortable:not(.v-list-item--nav).v-list-item--two-line{padding-inline:16px}.v-list-item--density-comfortable:not(.v-list-item--nav).v-list-item--three-line{padding-inline:16px}.v-list-item--density-compact{min-height:32px}.v-list-item--density-compact.v-list-item--one-line{min-height:40px}.v-list-item--density-compact.v-list-item--two-line{min-height:56px;padding-top:4px;padding-bottom:4px}.v-list-item--density-compact.v-list-item--three-line{min-height:80px;padding-top:8px;padding-bottom:8px}.v-list-item--density-compact.v-list-item--three-line .v-list-item__prepend,.v-list-item--density-compact.v-list-item--three-line .v-list-item__append{padding-top:4px}.v-list-item--density-compact:not(.v-list-item--nav).v-list-item--one-line{padding-inline:16px}.v-list-item--density-compact:not(.v-list-item--nav).v-list-item--two-line{padding-inline:16px}.v-list-item--density-compact:not(.v-list-item--nav).v-list-item--three-line{padding-inline:16px}.v-list-item--nav{padding-inline:8px}.v-list-item__underlay{position:absolute}.v-list-item__overlay{background-color:currentColor;border-radius:inherit;bottom:0;left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:.2s ease-in-out;transition-property:opacity,color}.v-list-item--active.v-list-item--variant-elevated .v-list-item__overlay{--v-theme-overlay-multiplier: 0}.v-list{--indent-padding: 0px}.v-list--nav{--indent-padding: -8px}.v-list-group{--list-indent-size: 16px;--parent-padding: var(--indent-padding);--prepend-width: var(--v-list-group-prepend, 40px)}.v-list--slim .v-list-group{--prepend-width: var(--v-list-group-prepend, 28px)}.v-list-group--fluid{--list-indent-size: 0px}.v-list-group--prepend{--parent-padding: calc(var(--indent-padding) + var(--prepend-width))}.v-list-group--fluid.v-list-group--prepend{--parent-padding: var(--indent-padding)}.v-list-group__items{--indent-padding: calc(var(--parent-padding) + var(--v-list-indent, var(--list-indent-size)));min-width:min-content}.v-navigation-drawer--rail .v-list-group__items{min-width:0}.v-list-group__items .v-list-item{padding-inline-start:calc(16px + var(--indent-padding))!important}.v-list-group__header:not(.v-treeview-item--activatable-group-activator).v-list-item--active:not(:focus-visible) .v-list-item__overlay{opacity:0}.v-list-group__header:not(.v-treeview-item--activatable-group-activator).v-list-item--active:hover .v-list-item__overlay{opacity:calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier))}@media (forced-colors: active){.v-list-item--link:not(.v-list-item--active){color:buttontext}.v-list-item--link[href]:not(.v-list-item--active){color:unset}.v-list-item--active:not(.v-list-item--disabled) [class*=v-list-item-],.v-list-item--active:not(.v-list-item--disabled) [class*=v-list-item-]>*,.v-list-item--active:not(.v-list-item--disabled) .v-icon{color:highlight!important}.v-list-item--active:not(.v-list-item--variant-text,.v-list-item--variant-plain):not(.v-list-item--disabled){background:highlight!important}.v-list-item--active:not(.v-list-item--variant-text,.v-list-item--variant-plain):not(.v-list-item--disabled) [class*=v-list-item-],.v-list-item--active:not(.v-list-item--variant-text,.v-list-item--variant-plain):not(.v-list-item--disabled) [class*=v-list-item-]>*,.v-list-item--active:not(.v-list-item--variant-text,.v-list-item--variant-plain):not(.v-list-item--disabled) .v-icon{opacity:1;color:highlighttext!important;forced-color-adjust:preserve-parent-color}.v-list-item--focus-visible:after{opacity:1}@supports selector(:focus-visible){.v-list-item:after{color:buttontext}.v-list-item:focus-visible:after{opacity:1}}}.md3-enter-active,.md3-leave-active{transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.md3-enter-from{opacity:0;transform:translate(.5vw)}.md3-leave-to{opacity:0;transform:translate(-.5vw)}.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}.v-application{display:flex;background:rgb(var(--v-theme-background));color:rgba(var(--v-theme-on-background),var(--v-high-emphasis-opacity))}.v-application__wrap{backface-visibility:hidden;display:flex;flex-direction:column;flex:1 1 auto;max-width:100%;min-height:100vh;min-height:100dvh;position:relative} + */html{box-sizing:border-box;overflow-y:scroll;-webkit-text-size-adjust:100%;word-break:normal;-moz-tab-size:4;tab-size:4}*,:before,:after{background-repeat:no-repeat;box-sizing:inherit}:before,:after{text-decoration:inherit;vertical-align:inherit}*{padding:0;margin:0}hr{overflow:visible;height:0}details,main{display:block}summary{display:list-item}small{font-size:80%}[hidden]{display:none}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}a{background-color:transparent}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}pre{font-size:1em}b,strong{font-weight:bolder}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}input{border-radius:0}[disabled]{cursor:default}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit],[role=button]{cursor:pointer;color:inherit}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{outline:1px dotted ButtonText}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button,input,select,textarea{background-color:transparent;border-style:none}select{-moz-appearance:none;-webkit-appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;white-space:normal;max-width:100%}::-webkit-file-upload-button{-webkit-appearance:button;color:inherit;font:inherit}::-ms-clear,::-ms-reveal{display:none}img{border-style:none}progress{vertical-align:baseline}@media screen{[hidden~=screen]{display:inherit}[hidden~=screen]:not(:active):not(:focus):not(:target){position:absolute!important;clip:rect(0 0 0 0)!important}}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled=true]{cursor:default}@media (prefers-reduced-motion: no-preference){.dialog-transition-enter-active,.dialog-bottom-transition-enter-active,.dialog-top-transition-enter-active{transition-duration:225ms!important;transition-timing-function:cubic-bezier(0,0,.2,1)!important}.dialog-transition-leave-active,.dialog-bottom-transition-leave-active,.dialog-top-transition-leave-active{transition-duration:125ms!important;transition-timing-function:cubic-bezier(.4,0,1,1)!important}.dialog-transition-enter-active,.dialog-transition-leave-active,.dialog-bottom-transition-enter-active,.dialog-bottom-transition-leave-active,.dialog-top-transition-enter-active,.dialog-top-transition-leave-active{transition-property:transform,opacity!important;pointer-events:none}.dialog-transition-enter-from,.dialog-transition-leave-to{transform:scale(.9);opacity:0}.dialog-transition-enter-to,.dialog-transition-leave-from{opacity:1}.dialog-bottom-transition-enter-from,.dialog-bottom-transition-leave-to{transform:translateY(calc(50vh + 50%))}.dialog-top-transition-enter-from,.dialog-top-transition-leave-to{transform:translateY(calc(-50vh - 50%))}.picker-transition-enter-active,.picker-reverse-transition-enter-active,.picker-transition-leave-active,.picker-reverse-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.picker-transition-move,.picker-reverse-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.picker-transition-enter-from,.picker-transition-leave-to,.picker-reverse-transition-enter-from,.picker-reverse-transition-leave-to{opacity:0}.picker-transition-leave-from,.picker-transition-leave-active,.picker-transition-leave-to,.picker-reverse-transition-leave-from,.picker-reverse-transition-leave-active,.picker-reverse-transition-leave-to{position:absolute!important}.picker-transition-enter-active,.picker-transition-leave-active,.picker-reverse-transition-enter-active,.picker-reverse-transition-leave-active{transition-property:transform,opacity!important}.picker-transition-enter-active,.picker-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.picker-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.picker-transition-enter-from{transform:translate(100%)}.picker-transition-leave-to{transform:translate(-100%)}.picker-reverse-transition-enter-active,.picker-reverse-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.picker-reverse-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.picker-reverse-transition-enter-from{transform:translate(-100%)}.picker-reverse-transition-leave-to{transform:translate(100%)}.expand-transition-enter-active,.expand-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.expand-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.expand-transition-enter-active,.expand-transition-leave-active{transition-property:height!important}.expand-x-transition-enter-active,.expand-x-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.expand-x-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.expand-x-transition-enter-active,.expand-x-transition-leave-active{transition-property:width!important}.expand-both-transition-enter-active,.expand-both-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.expand-both-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.expand-both-transition-enter-active,.expand-both-transition-leave-active{transition-property:height,width!important}.scale-transition-enter-active,.scale-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scale-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scale-transition-leave-to{opacity:0}.scale-transition-leave-active{transition-duration:.1s!important}.scale-transition-enter-from{opacity:0;transform:scale(0)}.scale-transition-enter-active,.scale-transition-leave-active{transition-property:transform,opacity!important}.scale-rotate-transition-enter-active,.scale-rotate-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scale-rotate-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scale-rotate-transition-leave-to{opacity:0}.scale-rotate-transition-leave-active{transition-duration:.1s!important}.scale-rotate-transition-enter-from{opacity:0;transform:scale(0) rotate(-45deg)}.scale-rotate-transition-enter-active,.scale-rotate-transition-leave-active{transition-property:transform,opacity!important}.scale-rotate-reverse-transition-enter-active,.scale-rotate-reverse-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scale-rotate-reverse-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scale-rotate-reverse-transition-leave-to{opacity:0}.scale-rotate-reverse-transition-leave-active{transition-duration:.1s!important}.scale-rotate-reverse-transition-enter-from{opacity:0;transform:scale(0) rotate(45deg)}.scale-rotate-reverse-transition-enter-active,.scale-rotate-reverse-transition-leave-active{transition-property:transform,opacity!important}.message-transition-enter-active,.message-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.message-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.message-transition-enter-from,.message-transition-leave-to{opacity:0;transform:translateY(-15px)}.message-transition-leave-from,.message-transition-leave-active{position:absolute}.message-transition-enter-active,.message-transition-leave-active{transition-property:transform,opacity!important}.slide-y-transition-enter-active,.slide-y-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.slide-y-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.slide-y-transition-enter-from,.slide-y-transition-leave-to{opacity:0;transform:translateY(-15px)}.slide-y-transition-enter-active,.slide-y-transition-leave-active{transition-property:transform,opacity!important}.slide-y-reverse-transition-enter-active,.slide-y-reverse-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.slide-y-reverse-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.slide-y-reverse-transition-enter-from,.slide-y-reverse-transition-leave-to{opacity:0;transform:translateY(15px)}.slide-y-reverse-transition-enter-active,.slide-y-reverse-transition-leave-active{transition-property:transform,opacity!important}.scroll-y-transition-enter-active,.scroll-y-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scroll-y-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scroll-y-transition-enter-from,.scroll-y-transition-leave-to{opacity:0}.scroll-y-transition-enter-from{transform:translateY(-15px)}.scroll-y-transition-leave-to{transform:translateY(15px)}.scroll-y-transition-enter-active,.scroll-y-transition-leave-active{transition-property:transform,opacity!important}.scroll-y-reverse-transition-enter-active,.scroll-y-reverse-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scroll-y-reverse-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scroll-y-reverse-transition-enter-from,.scroll-y-reverse-transition-leave-to{opacity:0}.scroll-y-reverse-transition-enter-from{transform:translateY(15px)}.scroll-y-reverse-transition-leave-to{transform:translateY(-15px)}.scroll-y-reverse-transition-enter-active,.scroll-y-reverse-transition-leave-active{transition-property:transform,opacity!important}.scroll-x-transition-enter-active,.scroll-x-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scroll-x-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scroll-x-transition-enter-from,.scroll-x-transition-leave-to{opacity:0}.scroll-x-transition-enter-from{transform:translate(-15px)}.scroll-x-transition-leave-to{transform:translate(15px)}.scroll-x-transition-enter-active,.scroll-x-transition-leave-active{transition-property:transform,opacity!important}.scroll-x-reverse-transition-enter-active,.scroll-x-reverse-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scroll-x-reverse-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scroll-x-reverse-transition-enter-from,.scroll-x-reverse-transition-leave-to{opacity:0}.scroll-x-reverse-transition-enter-from{transform:translate(15px)}.scroll-x-reverse-transition-leave-to{transform:translate(-15px)}.scroll-x-reverse-transition-enter-active,.scroll-x-reverse-transition-leave-active{transition-property:transform,opacity!important}.slide-x-transition-enter-active,.slide-x-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.slide-x-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.slide-x-transition-enter-from,.slide-x-transition-leave-to{opacity:0;transform:translate(-15px)}.slide-x-transition-enter-active,.slide-x-transition-leave-active{transition-property:transform,opacity!important}.slide-x-reverse-transition-enter-active,.slide-x-reverse-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.slide-x-reverse-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.slide-x-reverse-transition-enter-from,.slide-x-reverse-transition-leave-to{opacity:0;transform:translate(15px)}.slide-x-reverse-transition-enter-active,.slide-x-reverse-transition-leave-active{transition-property:transform,opacity!important}.fade-transition-enter-active,.fade-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.fade-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.fade-transition-enter-from,.fade-transition-leave-to{opacity:0!important}.fade-transition-enter-active,.fade-transition-leave-active{transition-property:opacity!important}.fab-transition-enter-active,.fab-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.fab-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.fab-transition-enter-from,.fab-transition-leave-to{transform:scale(0) rotate(-45deg)}.fab-transition-enter-active,.fab-transition-leave-active{transition-property:transform!important}}.v-locale--is-rtl{direction:rtl}.v-locale--is-ltr{direction:ltr}.blockquote{padding:16px 0 16px 24px;font-size:18px;font-weight:300}html{font-family:Roboto,sans-serif;line-height:1.5;font-size:1rem;overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:rgba(0,0,0,0)}html.overflow-y-hidden{overflow-y:hidden!important}:root{--v-theme-overlay-multiplier: 1;--v-scrollbar-offset: 0px}@supports (-webkit-touch-callout: none){body{cursor:pointer}}@media only print{.hidden-print-only{display:none!important}}@media only screen{.hidden-screen-only{display:none!important}}@media (max-width: 599.98px){.hidden-xs{display:none!important}}@media (min-width: 600px) and (max-width: 959.98px){.hidden-sm{display:none!important}}@media (min-width: 960px) and (max-width: 1279.98px){.hidden-md{display:none!important}}@media (min-width: 1280px) and (max-width: 1919.98px){.hidden-lg{display:none!important}}@media (min-width: 1920px) and (max-width: 2559.98px){.hidden-xl{display:none!important}}@media (min-width: 2560px){.hidden-xxl{display:none!important}}@media (min-width: 600px){.hidden-sm-and-up{display:none!important}}@media (min-width: 960px){.hidden-md-and-up{display:none!important}}@media (min-width: 1280px){.hidden-lg-and-up{display:none!important}}@media (min-width: 1920px){.hidden-xl-and-up{display:none!important}}@media (max-width: 959.98px){.hidden-sm-and-down{display:none!important}}@media (max-width: 1279.98px){.hidden-md-and-down{display:none!important}}@media (max-width: 1919.98px){.hidden-lg-and-down{display:none!important}}@media (max-width: 2559.98px){.hidden-xl-and-down{display:none!important}}.elevation-24{box-shadow:0 11px 15px -7px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 24px 38px 3px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 9px 46px 8px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-23{box-shadow:0 11px 14px -7px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 23px 36px 3px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 9px 44px 8px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-22{box-shadow:0 10px 14px -6px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 22px 35px 3px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 8px 42px 7px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-21{box-shadow:0 10px 13px -6px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 21px 33px 3px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 8px 40px 7px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-20{box-shadow:0 10px 13px -6px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 20px 31px 3px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 8px 38px 7px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-19{box-shadow:0 9px 12px -6px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 19px 29px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 7px 36px 6px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-18{box-shadow:0 9px 11px -5px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 18px 28px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 7px 34px 6px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-17{box-shadow:0 8px 11px -5px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 17px 26px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 6px 32px 5px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-16{box-shadow:0 8px 10px -5px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 16px 24px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 6px 30px 5px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-15{box-shadow:0 8px 9px -5px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 15px 22px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 6px 28px 5px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-14{box-shadow:0 7px 9px -4px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 14px 21px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 5px 26px 4px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-13{box-shadow:0 7px 8px -4px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 13px 19px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 5px 24px 4px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-12{box-shadow:0 7px 8px -4px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 12px 17px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 5px 22px 4px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-11{box-shadow:0 6px 7px -4px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 11px 15px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 4px 20px 3px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-10{box-shadow:0 6px 6px -3px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 10px 14px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 4px 18px 3px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-9{box-shadow:0 5px 6px -3px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 9px 12px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 3px 16px 2px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-8{box-shadow:0 5px 5px -3px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 8px 10px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 3px 14px 2px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-7{box-shadow:0 4px 5px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 7px 10px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 2px 16px 1px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-6{box-shadow:0 3px 5px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 6px 10px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 18px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-5{box-shadow:0 3px 5px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 5px 8px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 14px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-4{box-shadow:0 2px 4px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 4px 5px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 10px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-3{box-shadow:0 3px 3px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 3px 4px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 8px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-2{box-shadow:0 3px 1px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 2px 2px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 5px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-1{box-shadow:0 2px 1px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 1px 1px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 3px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-0{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.pointer-events-none{pointer-events:none!important}.pointer-events-auto{pointer-events:auto!important}.pointer-pass-through{pointer-events:none!important}.pointer-pass-through>*{pointer-events:auto!important}.d-sr-only,.d-sr-only-focusable:not(:focus){border:0!important;clip:rect(0,0,0,0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-scroll{overflow-y:scroll!important}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.float-none{float:none!important}.float-left{float:left!important}.float-right{float:right!important}.v-locale--is-rtl .float-end{float:left!important}.v-locale--is-rtl .float-start,.v-locale--is-ltr .float-end{float:right!important}.v-locale--is-ltr .float-start{float:left!important}.flex-fill,.flex-1-1{flex:1 1 auto!important}.flex-1-0{flex:1 0 auto!important}.flex-0-1{flex:0 1 auto!important}.flex-0-0{flex:0 0 auto!important}.flex-1-1-100{flex:1 1 100%!important}.flex-1-0-100{flex:1 0 100%!important}.flex-0-1-100{flex:0 1 100%!important}.flex-0-0-100{flex:0 0 100%!important}.flex-1-1-0{flex:1 1 0!important}.flex-1-0-0{flex:1 0 0!important}.flex-0-1-0{flex:0 1 0!important}.flex-0-0-0{flex:0 0 0!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-start{justify-content:flex-start!important}.justify-end{justify-content:flex-end!important}.justify-center{justify-content:center!important}.justify-space-between{justify-content:space-between!important}.justify-space-around{justify-content:space-around!important}.justify-space-evenly{justify-content:space-evenly!important}.justify-items-start{justify-items:flex-start!important}.justify-items-end{justify-items:flex-end!important}.justify-items-center{justify-items:center!important}.justify-items-stretch{justify-items:stretch!important}.align-start{align-items:flex-start!important}.align-end{align-items:flex-end!important}.align-center{align-items:center!important}.align-baseline{align-items:baseline!important}.align-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-space-between{align-content:space-between!important}.align-content-space-around{align-content:space-around!important}.align-content-space-evenly{align-content:space-evenly!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-6{order:6!important}.order-7{order:7!important}.order-8{order:8!important}.order-9{order:9!important}.order-10{order:10!important}.order-11{order:11!important}.order-12{order:12!important}.order-last{order:13!important}.ga-0{gap:0px!important}.ga-1{gap:4px!important}.ga-2{gap:8px!important}.ga-3{gap:12px!important}.ga-4{gap:16px!important}.ga-5{gap:20px!important}.ga-6{gap:24px!important}.ga-7{gap:28px!important}.ga-8{gap:32px!important}.ga-9{gap:36px!important}.ga-10{gap:40px!important}.ga-11{gap:44px!important}.ga-12{gap:48px!important}.ga-13{gap:52px!important}.ga-14{gap:56px!important}.ga-15{gap:60px!important}.ga-16{gap:64px!important}.ga-auto{gap:auto!important}.gr-0{row-gap:0px!important}.gr-1{row-gap:4px!important}.gr-2{row-gap:8px!important}.gr-3{row-gap:12px!important}.gr-4{row-gap:16px!important}.gr-5{row-gap:20px!important}.gr-6{row-gap:24px!important}.gr-7{row-gap:28px!important}.gr-8{row-gap:32px!important}.gr-9{row-gap:36px!important}.gr-10{row-gap:40px!important}.gr-11{row-gap:44px!important}.gr-12{row-gap:48px!important}.gr-13{row-gap:52px!important}.gr-14{row-gap:56px!important}.gr-15{row-gap:60px!important}.gr-16{row-gap:64px!important}.gr-auto{row-gap:auto!important}.gc-0{column-gap:0px!important}.gc-1{column-gap:4px!important}.gc-2{column-gap:8px!important}.gc-3{column-gap:12px!important}.gc-4{column-gap:16px!important}.gc-5{column-gap:20px!important}.gc-6{column-gap:24px!important}.gc-7{column-gap:28px!important}.gc-8{column-gap:32px!important}.gc-9{column-gap:36px!important}.gc-10{column-gap:40px!important}.gc-11{column-gap:44px!important}.gc-12{column-gap:48px!important}.gc-13{column-gap:52px!important}.gc-14{column-gap:56px!important}.gc-15{column-gap:60px!important}.gc-16{column-gap:64px!important}.gc-auto{column-gap:auto!important}.ma-0{margin:0!important}.ma-1{margin:4px!important}.ma-2{margin:8px!important}.ma-3{margin:12px!important}.ma-4{margin:16px!important}.ma-5{margin:20px!important}.ma-6{margin:24px!important}.ma-7{margin:28px!important}.ma-8{margin:32px!important}.ma-9{margin:36px!important}.ma-10{margin:40px!important}.ma-11{margin:44px!important}.ma-12{margin:48px!important}.ma-13{margin:52px!important}.ma-14{margin:56px!important}.ma-15{margin:60px!important}.ma-16{margin:64px!important}.ma-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:4px!important;margin-left:4px!important}.mx-2{margin-right:8px!important;margin-left:8px!important}.mx-3{margin-right:12px!important;margin-left:12px!important}.mx-4{margin-right:16px!important;margin-left:16px!important}.mx-5{margin-right:20px!important;margin-left:20px!important}.mx-6{margin-right:24px!important;margin-left:24px!important}.mx-7{margin-right:28px!important;margin-left:28px!important}.mx-8{margin-right:32px!important;margin-left:32px!important}.mx-9{margin-right:36px!important;margin-left:36px!important}.mx-10{margin-right:40px!important;margin-left:40px!important}.mx-11{margin-right:44px!important;margin-left:44px!important}.mx-12{margin-right:48px!important;margin-left:48px!important}.mx-13{margin-right:52px!important;margin-left:52px!important}.mx-14{margin-right:56px!important;margin-left:56px!important}.mx-15{margin-right:60px!important;margin-left:60px!important}.mx-16{margin-right:64px!important;margin-left:64px!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:4px!important;margin-bottom:4px!important}.my-2{margin-top:8px!important;margin-bottom:8px!important}.my-3{margin-top:12px!important;margin-bottom:12px!important}.my-4{margin-top:16px!important;margin-bottom:16px!important}.my-5{margin-top:20px!important;margin-bottom:20px!important}.my-6{margin-top:24px!important;margin-bottom:24px!important}.my-7{margin-top:28px!important;margin-bottom:28px!important}.my-8{margin-top:32px!important;margin-bottom:32px!important}.my-9{margin-top:36px!important;margin-bottom:36px!important}.my-10{margin-top:40px!important;margin-bottom:40px!important}.my-11{margin-top:44px!important;margin-bottom:44px!important}.my-12{margin-top:48px!important;margin-bottom:48px!important}.my-13{margin-top:52px!important;margin-bottom:52px!important}.my-14{margin-top:56px!important;margin-bottom:56px!important}.my-15{margin-top:60px!important;margin-bottom:60px!important}.my-16{margin-top:64px!important;margin-bottom:64px!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:4px!important}.mt-2{margin-top:8px!important}.mt-3{margin-top:12px!important}.mt-4{margin-top:16px!important}.mt-5{margin-top:20px!important}.mt-6{margin-top:24px!important}.mt-7{margin-top:28px!important}.mt-8{margin-top:32px!important}.mt-9{margin-top:36px!important}.mt-10{margin-top:40px!important}.mt-11{margin-top:44px!important}.mt-12{margin-top:48px!important}.mt-13{margin-top:52px!important}.mt-14{margin-top:56px!important}.mt-15{margin-top:60px!important}.mt-16{margin-top:64px!important}.mt-auto{margin-top:auto!important}.mr-0{margin-right:0!important}.mr-1{margin-right:4px!important}.mr-2{margin-right:8px!important}.mr-3{margin-right:12px!important}.mr-4{margin-right:16px!important}.mr-5{margin-right:20px!important}.mr-6{margin-right:24px!important}.mr-7{margin-right:28px!important}.mr-8{margin-right:32px!important}.mr-9{margin-right:36px!important}.mr-10{margin-right:40px!important}.mr-11{margin-right:44px!important}.mr-12{margin-right:48px!important}.mr-13{margin-right:52px!important}.mr-14{margin-right:56px!important}.mr-15{margin-right:60px!important}.mr-16{margin-right:64px!important}.mr-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:4px!important}.mb-2{margin-bottom:8px!important}.mb-3{margin-bottom:12px!important}.mb-4{margin-bottom:16px!important}.mb-5{margin-bottom:20px!important}.mb-6{margin-bottom:24px!important}.mb-7{margin-bottom:28px!important}.mb-8{margin-bottom:32px!important}.mb-9{margin-bottom:36px!important}.mb-10{margin-bottom:40px!important}.mb-11{margin-bottom:44px!important}.mb-12{margin-bottom:48px!important}.mb-13{margin-bottom:52px!important}.mb-14{margin-bottom:56px!important}.mb-15{margin-bottom:60px!important}.mb-16{margin-bottom:64px!important}.mb-auto{margin-bottom:auto!important}.ml-0{margin-left:0!important}.ml-1{margin-left:4px!important}.ml-2{margin-left:8px!important}.ml-3{margin-left:12px!important}.ml-4{margin-left:16px!important}.ml-5{margin-left:20px!important}.ml-6{margin-left:24px!important}.ml-7{margin-left:28px!important}.ml-8{margin-left:32px!important}.ml-9{margin-left:36px!important}.ml-10{margin-left:40px!important}.ml-11{margin-left:44px!important}.ml-12{margin-left:48px!important}.ml-13{margin-left:52px!important}.ml-14{margin-left:56px!important}.ml-15{margin-left:60px!important}.ml-16{margin-left:64px!important}.ml-auto{margin-left:auto!important}.ms-0{margin-inline-start:0px!important}.ms-1{margin-inline-start:4px!important}.ms-2{margin-inline-start:8px!important}.ms-3{margin-inline-start:12px!important}.ms-4{margin-inline-start:16px!important}.ms-5{margin-inline-start:20px!important}.ms-6{margin-inline-start:24px!important}.ms-7{margin-inline-start:28px!important}.ms-8{margin-inline-start:32px!important}.ms-9{margin-inline-start:36px!important}.ms-10{margin-inline-start:40px!important}.ms-11{margin-inline-start:44px!important}.ms-12{margin-inline-start:48px!important}.ms-13{margin-inline-start:52px!important}.ms-14{margin-inline-start:56px!important}.ms-15{margin-inline-start:60px!important}.ms-16{margin-inline-start:64px!important}.ms-auto{margin-inline-start:auto!important}.me-0{margin-inline-end:0px!important}.me-1{margin-inline-end:4px!important}.me-2{margin-inline-end:8px!important}.me-3{margin-inline-end:12px!important}.me-4{margin-inline-end:16px!important}.me-5{margin-inline-end:20px!important}.me-6{margin-inline-end:24px!important}.me-7{margin-inline-end:28px!important}.me-8{margin-inline-end:32px!important}.me-9{margin-inline-end:36px!important}.me-10{margin-inline-end:40px!important}.me-11{margin-inline-end:44px!important}.me-12{margin-inline-end:48px!important}.me-13{margin-inline-end:52px!important}.me-14{margin-inline-end:56px!important}.me-15{margin-inline-end:60px!important}.me-16{margin-inline-end:64px!important}.me-auto{margin-inline-end:auto!important}.ma-n1{margin:-4px!important}.ma-n2{margin:-8px!important}.ma-n3{margin:-12px!important}.ma-n4{margin:-16px!important}.ma-n5{margin:-20px!important}.ma-n6{margin:-24px!important}.ma-n7{margin:-28px!important}.ma-n8{margin:-32px!important}.ma-n9{margin:-36px!important}.ma-n10{margin:-40px!important}.ma-n11{margin:-44px!important}.ma-n12{margin:-48px!important}.ma-n13{margin:-52px!important}.ma-n14{margin:-56px!important}.ma-n15{margin:-60px!important}.ma-n16{margin:-64px!important}.mx-n1{margin-right:-4px!important;margin-left:-4px!important}.mx-n2{margin-right:-8px!important;margin-left:-8px!important}.mx-n3{margin-right:-12px!important;margin-left:-12px!important}.mx-n4{margin-right:-16px!important;margin-left:-16px!important}.mx-n5{margin-right:-20px!important;margin-left:-20px!important}.mx-n6{margin-right:-24px!important;margin-left:-24px!important}.mx-n7{margin-right:-28px!important;margin-left:-28px!important}.mx-n8{margin-right:-32px!important;margin-left:-32px!important}.mx-n9{margin-right:-36px!important;margin-left:-36px!important}.mx-n10{margin-right:-40px!important;margin-left:-40px!important}.mx-n11{margin-right:-44px!important;margin-left:-44px!important}.mx-n12{margin-right:-48px!important;margin-left:-48px!important}.mx-n13{margin-right:-52px!important;margin-left:-52px!important}.mx-n14{margin-right:-56px!important;margin-left:-56px!important}.mx-n15{margin-right:-60px!important;margin-left:-60px!important}.mx-n16{margin-right:-64px!important;margin-left:-64px!important}.my-n1{margin-top:-4px!important;margin-bottom:-4px!important}.my-n2{margin-top:-8px!important;margin-bottom:-8px!important}.my-n3{margin-top:-12px!important;margin-bottom:-12px!important}.my-n4{margin-top:-16px!important;margin-bottom:-16px!important}.my-n5{margin-top:-20px!important;margin-bottom:-20px!important}.my-n6{margin-top:-24px!important;margin-bottom:-24px!important}.my-n7{margin-top:-28px!important;margin-bottom:-28px!important}.my-n8{margin-top:-32px!important;margin-bottom:-32px!important}.my-n9{margin-top:-36px!important;margin-bottom:-36px!important}.my-n10{margin-top:-40px!important;margin-bottom:-40px!important}.my-n11{margin-top:-44px!important;margin-bottom:-44px!important}.my-n12{margin-top:-48px!important;margin-bottom:-48px!important}.my-n13{margin-top:-52px!important;margin-bottom:-52px!important}.my-n14{margin-top:-56px!important;margin-bottom:-56px!important}.my-n15{margin-top:-60px!important;margin-bottom:-60px!important}.my-n16{margin-top:-64px!important;margin-bottom:-64px!important}.mt-n1{margin-top:-4px!important}.mt-n2{margin-top:-8px!important}.mt-n3{margin-top:-12px!important}.mt-n4{margin-top:-16px!important}.mt-n5{margin-top:-20px!important}.mt-n6{margin-top:-24px!important}.mt-n7{margin-top:-28px!important}.mt-n8{margin-top:-32px!important}.mt-n9{margin-top:-36px!important}.mt-n10{margin-top:-40px!important}.mt-n11{margin-top:-44px!important}.mt-n12{margin-top:-48px!important}.mt-n13{margin-top:-52px!important}.mt-n14{margin-top:-56px!important}.mt-n15{margin-top:-60px!important}.mt-n16{margin-top:-64px!important}.mr-n1{margin-right:-4px!important}.mr-n2{margin-right:-8px!important}.mr-n3{margin-right:-12px!important}.mr-n4{margin-right:-16px!important}.mr-n5{margin-right:-20px!important}.mr-n6{margin-right:-24px!important}.mr-n7{margin-right:-28px!important}.mr-n8{margin-right:-32px!important}.mr-n9{margin-right:-36px!important}.mr-n10{margin-right:-40px!important}.mr-n11{margin-right:-44px!important}.mr-n12{margin-right:-48px!important}.mr-n13{margin-right:-52px!important}.mr-n14{margin-right:-56px!important}.mr-n15{margin-right:-60px!important}.mr-n16{margin-right:-64px!important}.mb-n1{margin-bottom:-4px!important}.mb-n2{margin-bottom:-8px!important}.mb-n3{margin-bottom:-12px!important}.mb-n4{margin-bottom:-16px!important}.mb-n5{margin-bottom:-20px!important}.mb-n6{margin-bottom:-24px!important}.mb-n7{margin-bottom:-28px!important}.mb-n8{margin-bottom:-32px!important}.mb-n9{margin-bottom:-36px!important}.mb-n10{margin-bottom:-40px!important}.mb-n11{margin-bottom:-44px!important}.mb-n12{margin-bottom:-48px!important}.mb-n13{margin-bottom:-52px!important}.mb-n14{margin-bottom:-56px!important}.mb-n15{margin-bottom:-60px!important}.mb-n16{margin-bottom:-64px!important}.ml-n1{margin-left:-4px!important}.ml-n2{margin-left:-8px!important}.ml-n3{margin-left:-12px!important}.ml-n4{margin-left:-16px!important}.ml-n5{margin-left:-20px!important}.ml-n6{margin-left:-24px!important}.ml-n7{margin-left:-28px!important}.ml-n8{margin-left:-32px!important}.ml-n9{margin-left:-36px!important}.ml-n10{margin-left:-40px!important}.ml-n11{margin-left:-44px!important}.ml-n12{margin-left:-48px!important}.ml-n13{margin-left:-52px!important}.ml-n14{margin-left:-56px!important}.ml-n15{margin-left:-60px!important}.ml-n16{margin-left:-64px!important}.ms-n1{margin-inline-start:-4px!important}.ms-n2{margin-inline-start:-8px!important}.ms-n3{margin-inline-start:-12px!important}.ms-n4{margin-inline-start:-16px!important}.ms-n5{margin-inline-start:-20px!important}.ms-n6{margin-inline-start:-24px!important}.ms-n7{margin-inline-start:-28px!important}.ms-n8{margin-inline-start:-32px!important}.ms-n9{margin-inline-start:-36px!important}.ms-n10{margin-inline-start:-40px!important}.ms-n11{margin-inline-start:-44px!important}.ms-n12{margin-inline-start:-48px!important}.ms-n13{margin-inline-start:-52px!important}.ms-n14{margin-inline-start:-56px!important}.ms-n15{margin-inline-start:-60px!important}.ms-n16{margin-inline-start:-64px!important}.me-n1{margin-inline-end:-4px!important}.me-n2{margin-inline-end:-8px!important}.me-n3{margin-inline-end:-12px!important}.me-n4{margin-inline-end:-16px!important}.me-n5{margin-inline-end:-20px!important}.me-n6{margin-inline-end:-24px!important}.me-n7{margin-inline-end:-28px!important}.me-n8{margin-inline-end:-32px!important}.me-n9{margin-inline-end:-36px!important}.me-n10{margin-inline-end:-40px!important}.me-n11{margin-inline-end:-44px!important}.me-n12{margin-inline-end:-48px!important}.me-n13{margin-inline-end:-52px!important}.me-n14{margin-inline-end:-56px!important}.me-n15{margin-inline-end:-60px!important}.me-n16{margin-inline-end:-64px!important}.pa-0{padding:0!important}.pa-1{padding:4px!important}.pa-2{padding:8px!important}.pa-3{padding:12px!important}.pa-4{padding:16px!important}.pa-5{padding:20px!important}.pa-6{padding:24px!important}.pa-7{padding:28px!important}.pa-8{padding:32px!important}.pa-9{padding:36px!important}.pa-10{padding:40px!important}.pa-11{padding:44px!important}.pa-12{padding:48px!important}.pa-13{padding:52px!important}.pa-14{padding:56px!important}.pa-15{padding:60px!important}.pa-16{padding:64px!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:4px!important;padding-left:4px!important}.px-2{padding-right:8px!important;padding-left:8px!important}.px-3{padding-right:12px!important;padding-left:12px!important}.px-4{padding-right:16px!important;padding-left:16px!important}.px-5{padding-right:20px!important;padding-left:20px!important}.px-6{padding-right:24px!important;padding-left:24px!important}.px-7{padding-right:28px!important;padding-left:28px!important}.px-8{padding-right:32px!important;padding-left:32px!important}.px-9{padding-right:36px!important;padding-left:36px!important}.px-10{padding-right:40px!important;padding-left:40px!important}.px-11{padding-right:44px!important;padding-left:44px!important}.px-12{padding-right:48px!important;padding-left:48px!important}.px-13{padding-right:52px!important;padding-left:52px!important}.px-14{padding-right:56px!important;padding-left:56px!important}.px-15{padding-right:60px!important;padding-left:60px!important}.px-16{padding-right:64px!important;padding-left:64px!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:4px!important;padding-bottom:4px!important}.py-2{padding-top:8px!important;padding-bottom:8px!important}.py-3{padding-top:12px!important;padding-bottom:12px!important}.py-4{padding-top:16px!important;padding-bottom:16px!important}.py-5{padding-top:20px!important;padding-bottom:20px!important}.py-6{padding-top:24px!important;padding-bottom:24px!important}.py-7{padding-top:28px!important;padding-bottom:28px!important}.py-8{padding-top:32px!important;padding-bottom:32px!important}.py-9{padding-top:36px!important;padding-bottom:36px!important}.py-10{padding-top:40px!important;padding-bottom:40px!important}.py-11{padding-top:44px!important;padding-bottom:44px!important}.py-12{padding-top:48px!important;padding-bottom:48px!important}.py-13{padding-top:52px!important;padding-bottom:52px!important}.py-14{padding-top:56px!important;padding-bottom:56px!important}.py-15{padding-top:60px!important;padding-bottom:60px!important}.py-16{padding-top:64px!important;padding-bottom:64px!important}.pt-0{padding-top:0!important}.pt-1{padding-top:4px!important}.pt-2{padding-top:8px!important}.pt-3{padding-top:12px!important}.pt-4{padding-top:16px!important}.pt-5{padding-top:20px!important}.pt-6{padding-top:24px!important}.pt-7{padding-top:28px!important}.pt-8{padding-top:32px!important}.pt-9{padding-top:36px!important}.pt-10{padding-top:40px!important}.pt-11{padding-top:44px!important}.pt-12{padding-top:48px!important}.pt-13{padding-top:52px!important}.pt-14{padding-top:56px!important}.pt-15{padding-top:60px!important}.pt-16{padding-top:64px!important}.pr-0{padding-right:0!important}.pr-1{padding-right:4px!important}.pr-2{padding-right:8px!important}.pr-3{padding-right:12px!important}.pr-4{padding-right:16px!important}.pr-5{padding-right:20px!important}.pr-6{padding-right:24px!important}.pr-7{padding-right:28px!important}.pr-8{padding-right:32px!important}.pr-9{padding-right:36px!important}.pr-10{padding-right:40px!important}.pr-11{padding-right:44px!important}.pr-12{padding-right:48px!important}.pr-13{padding-right:52px!important}.pr-14{padding-right:56px!important}.pr-15{padding-right:60px!important}.pr-16{padding-right:64px!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:4px!important}.pb-2{padding-bottom:8px!important}.pb-3{padding-bottom:12px!important}.pb-4{padding-bottom:16px!important}.pb-5{padding-bottom:20px!important}.pb-6{padding-bottom:24px!important}.pb-7{padding-bottom:28px!important}.pb-8{padding-bottom:32px!important}.pb-9{padding-bottom:36px!important}.pb-10{padding-bottom:40px!important}.pb-11{padding-bottom:44px!important}.pb-12{padding-bottom:48px!important}.pb-13{padding-bottom:52px!important}.pb-14{padding-bottom:56px!important}.pb-15{padding-bottom:60px!important}.pb-16{padding-bottom:64px!important}.pl-0{padding-left:0!important}.pl-1{padding-left:4px!important}.pl-2{padding-left:8px!important}.pl-3{padding-left:12px!important}.pl-4{padding-left:16px!important}.pl-5{padding-left:20px!important}.pl-6{padding-left:24px!important}.pl-7{padding-left:28px!important}.pl-8{padding-left:32px!important}.pl-9{padding-left:36px!important}.pl-10{padding-left:40px!important}.pl-11{padding-left:44px!important}.pl-12{padding-left:48px!important}.pl-13{padding-left:52px!important}.pl-14{padding-left:56px!important}.pl-15{padding-left:60px!important}.pl-16{padding-left:64px!important}.ps-0{padding-inline-start:0px!important}.ps-1{padding-inline-start:4px!important}.ps-2{padding-inline-start:8px!important}.ps-3{padding-inline-start:12px!important}.ps-4{padding-inline-start:16px!important}.ps-5{padding-inline-start:20px!important}.ps-6{padding-inline-start:24px!important}.ps-7{padding-inline-start:28px!important}.ps-8{padding-inline-start:32px!important}.ps-9{padding-inline-start:36px!important}.ps-10{padding-inline-start:40px!important}.ps-11{padding-inline-start:44px!important}.ps-12{padding-inline-start:48px!important}.ps-13{padding-inline-start:52px!important}.ps-14{padding-inline-start:56px!important}.ps-15{padding-inline-start:60px!important}.ps-16{padding-inline-start:64px!important}.pe-0{padding-inline-end:0px!important}.pe-1{padding-inline-end:4px!important}.pe-2{padding-inline-end:8px!important}.pe-3{padding-inline-end:12px!important}.pe-4{padding-inline-end:16px!important}.pe-5{padding-inline-end:20px!important}.pe-6{padding-inline-end:24px!important}.pe-7{padding-inline-end:28px!important}.pe-8{padding-inline-end:32px!important}.pe-9{padding-inline-end:36px!important}.pe-10{padding-inline-end:40px!important}.pe-11{padding-inline-end:44px!important}.pe-12{padding-inline-end:48px!important}.pe-13{padding-inline-end:52px!important}.pe-14{padding-inline-end:56px!important}.pe-15{padding-inline-end:60px!important}.pe-16{padding-inline-end:64px!important}.rounded-0{border-radius:0!important}.rounded-sm{border-radius:2px!important}.rounded{border-radius:4px!important}.rounded-lg{border-radius:8px!important}.rounded-xl{border-radius:24px!important}.rounded-pill{border-radius:9999px!important}.rounded-circle{border-radius:50%!important}.rounded-shaped{border-radius:24px 0!important}.rounded-t-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-t-sm{border-top-left-radius:2px!important;border-top-right-radius:2px!important}.rounded-t{border-top-left-radius:4px!important;border-top-right-radius:4px!important}.rounded-t-lg{border-top-left-radius:8px!important;border-top-right-radius:8px!important}.rounded-t-xl{border-top-left-radius:24px!important;border-top-right-radius:24px!important}.rounded-t-pill{border-top-left-radius:9999px!important;border-top-right-radius:9999px!important}.rounded-t-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-t-shaped{border-top-left-radius:24px!important;border-top-right-radius:0!important}.v-locale--is-ltr .rounded-e-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.v-locale--is-rtl .rounded-e-0{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.v-locale--is-ltr .rounded-e-sm{border-top-right-radius:2px!important;border-bottom-right-radius:2px!important}.v-locale--is-rtl .rounded-e-sm{border-top-left-radius:2px!important;border-bottom-left-radius:2px!important}.v-locale--is-ltr .rounded-e{border-top-right-radius:4px!important;border-bottom-right-radius:4px!important}.v-locale--is-rtl .rounded-e{border-top-left-radius:4px!important;border-bottom-left-radius:4px!important}.v-locale--is-ltr .rounded-e-lg{border-top-right-radius:8px!important;border-bottom-right-radius:8px!important}.v-locale--is-rtl .rounded-e-lg{border-top-left-radius:8px!important;border-bottom-left-radius:8px!important}.v-locale--is-ltr .rounded-e-xl{border-top-right-radius:24px!important;border-bottom-right-radius:24px!important}.v-locale--is-rtl .rounded-e-xl{border-top-left-radius:24px!important;border-bottom-left-radius:24px!important}.v-locale--is-ltr .rounded-e-pill{border-top-right-radius:9999px!important;border-bottom-right-radius:9999px!important}.v-locale--is-rtl .rounded-e-pill{border-top-left-radius:9999px!important;border-bottom-left-radius:9999px!important}.v-locale--is-ltr .rounded-e-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.v-locale--is-rtl .rounded-e-circle{border-top-left-radius:50%!important;border-bottom-left-radius:50%!important}.v-locale--is-ltr .rounded-e-shaped{border-top-right-radius:24px!important;border-bottom-right-radius:0!important}.v-locale--is-rtl .rounded-e-shaped{border-top-left-radius:24px!important;border-bottom-left-radius:0!important}.rounded-b-0{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.rounded-b-sm{border-bottom-left-radius:2px!important;border-bottom-right-radius:2px!important}.rounded-b{border-bottom-left-radius:4px!important;border-bottom-right-radius:4px!important}.rounded-b-lg{border-bottom-left-radius:8px!important;border-bottom-right-radius:8px!important}.rounded-b-xl{border-bottom-left-radius:24px!important;border-bottom-right-radius:24px!important}.rounded-b-pill{border-bottom-left-radius:9999px!important;border-bottom-right-radius:9999px!important}.rounded-b-circle{border-bottom-left-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-b-shaped{border-bottom-left-radius:24px!important;border-bottom-right-radius:0!important}.v-locale--is-ltr .rounded-s-0{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.v-locale--is-rtl .rounded-s-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.v-locale--is-ltr .rounded-s-sm{border-top-left-radius:2px!important;border-bottom-left-radius:2px!important}.v-locale--is-rtl .rounded-s-sm{border-top-right-radius:2px!important;border-bottom-right-radius:2px!important}.v-locale--is-ltr .rounded-s{border-top-left-radius:4px!important;border-bottom-left-radius:4px!important}.v-locale--is-rtl .rounded-s{border-top-right-radius:4px!important;border-bottom-right-radius:4px!important}.v-locale--is-ltr .rounded-s-lg{border-top-left-radius:8px!important;border-bottom-left-radius:8px!important}.v-locale--is-rtl .rounded-s-lg{border-top-right-radius:8px!important;border-bottom-right-radius:8px!important}.v-locale--is-ltr .rounded-s-xl{border-top-left-radius:24px!important;border-bottom-left-radius:24px!important}.v-locale--is-rtl .rounded-s-xl{border-top-right-radius:24px!important;border-bottom-right-radius:24px!important}.v-locale--is-ltr .rounded-s-pill{border-top-left-radius:9999px!important;border-bottom-left-radius:9999px!important}.v-locale--is-rtl .rounded-s-pill{border-top-right-radius:9999px!important;border-bottom-right-radius:9999px!important}.v-locale--is-ltr .rounded-s-circle{border-top-left-radius:50%!important;border-bottom-left-radius:50%!important}.v-locale--is-rtl .rounded-s-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.v-locale--is-ltr .rounded-s-shaped{border-top-left-radius:24px!important;border-bottom-left-radius:0!important}.v-locale--is-rtl .rounded-s-shaped{border-top-right-radius:24px!important;border-bottom-right-radius:0!important}.v-locale--is-ltr .rounded-ts-0{border-top-left-radius:0!important}.v-locale--is-rtl .rounded-ts-0{border-top-right-radius:0!important}.v-locale--is-ltr .rounded-ts-sm{border-top-left-radius:2px!important}.v-locale--is-rtl .rounded-ts-sm{border-top-right-radius:2px!important}.v-locale--is-ltr .rounded-ts{border-top-left-radius:4px!important}.v-locale--is-rtl .rounded-ts{border-top-right-radius:4px!important}.v-locale--is-ltr .rounded-ts-lg{border-top-left-radius:8px!important}.v-locale--is-rtl .rounded-ts-lg{border-top-right-radius:8px!important}.v-locale--is-ltr .rounded-ts-xl{border-top-left-radius:24px!important}.v-locale--is-rtl .rounded-ts-xl{border-top-right-radius:24px!important}.v-locale--is-ltr .rounded-ts-pill{border-top-left-radius:9999px!important}.v-locale--is-rtl .rounded-ts-pill{border-top-right-radius:9999px!important}.v-locale--is-ltr .rounded-ts-circle{border-top-left-radius:50%!important}.v-locale--is-rtl .rounded-ts-circle{border-top-right-radius:50%!important}.v-locale--is-ltr .rounded-ts-shaped{border-top-left-radius:24px 0!important}.v-locale--is-rtl .rounded-ts-shaped{border-top-right-radius:24px 0!important}.v-locale--is-ltr .rounded-te-0{border-top-right-radius:0!important}.v-locale--is-rtl .rounded-te-0{border-top-left-radius:0!important}.v-locale--is-ltr .rounded-te-sm{border-top-right-radius:2px!important}.v-locale--is-rtl .rounded-te-sm{border-top-left-radius:2px!important}.v-locale--is-ltr .rounded-te{border-top-right-radius:4px!important}.v-locale--is-rtl .rounded-te{border-top-left-radius:4px!important}.v-locale--is-ltr .rounded-te-lg{border-top-right-radius:8px!important}.v-locale--is-rtl .rounded-te-lg{border-top-left-radius:8px!important}.v-locale--is-ltr .rounded-te-xl{border-top-right-radius:24px!important}.v-locale--is-rtl .rounded-te-xl{border-top-left-radius:24px!important}.v-locale--is-ltr .rounded-te-pill{border-top-right-radius:9999px!important}.v-locale--is-rtl .rounded-te-pill{border-top-left-radius:9999px!important}.v-locale--is-ltr .rounded-te-circle{border-top-right-radius:50%!important}.v-locale--is-rtl .rounded-te-circle{border-top-left-radius:50%!important}.v-locale--is-ltr .rounded-te-shaped{border-top-right-radius:24px 0!important}.v-locale--is-rtl .rounded-te-shaped{border-top-left-radius:24px 0!important}.v-locale--is-ltr .rounded-be-0{border-bottom-right-radius:0!important}.v-locale--is-rtl .rounded-be-0{border-bottom-left-radius:0!important}.v-locale--is-ltr .rounded-be-sm{border-bottom-right-radius:2px!important}.v-locale--is-rtl .rounded-be-sm{border-bottom-left-radius:2px!important}.v-locale--is-ltr .rounded-be{border-bottom-right-radius:4px!important}.v-locale--is-rtl .rounded-be{border-bottom-left-radius:4px!important}.v-locale--is-ltr .rounded-be-lg{border-bottom-right-radius:8px!important}.v-locale--is-rtl .rounded-be-lg{border-bottom-left-radius:8px!important}.v-locale--is-ltr .rounded-be-xl{border-bottom-right-radius:24px!important}.v-locale--is-rtl .rounded-be-xl{border-bottom-left-radius:24px!important}.v-locale--is-ltr .rounded-be-pill{border-bottom-right-radius:9999px!important}.v-locale--is-rtl .rounded-be-pill{border-bottom-left-radius:9999px!important}.v-locale--is-ltr .rounded-be-circle{border-bottom-right-radius:50%!important}.v-locale--is-rtl .rounded-be-circle{border-bottom-left-radius:50%!important}.v-locale--is-ltr .rounded-be-shaped{border-bottom-right-radius:24px 0!important}.v-locale--is-rtl .rounded-be-shaped{border-bottom-left-radius:24px 0!important}.v-locale--is-ltr .rounded-bs-0{border-bottom-left-radius:0!important}.v-locale--is-rtl .rounded-bs-0{border-bottom-right-radius:0!important}.v-locale--is-ltr .rounded-bs-sm{border-bottom-left-radius:2px!important}.v-locale--is-rtl .rounded-bs-sm{border-bottom-right-radius:2px!important}.v-locale--is-ltr .rounded-bs{border-bottom-left-radius:4px!important}.v-locale--is-rtl .rounded-bs{border-bottom-right-radius:4px!important}.v-locale--is-ltr .rounded-bs-lg{border-bottom-left-radius:8px!important}.v-locale--is-rtl .rounded-bs-lg{border-bottom-right-radius:8px!important}.v-locale--is-ltr .rounded-bs-xl{border-bottom-left-radius:24px!important}.v-locale--is-rtl .rounded-bs-xl{border-bottom-right-radius:24px!important}.v-locale--is-ltr .rounded-bs-pill{border-bottom-left-radius:9999px!important}.v-locale--is-rtl .rounded-bs-pill{border-bottom-right-radius:9999px!important}.v-locale--is-ltr .rounded-bs-circle{border-bottom-left-radius:50%!important}.v-locale--is-rtl .rounded-bs-circle{border-bottom-right-radius:50%!important}.v-locale--is-ltr .rounded-bs-shaped{border-bottom-left-radius:24px 0!important}.v-locale--is-rtl .rounded-bs-shaped{border-bottom-right-radius:24px 0!important}.border-0{border-width:0!important;border-style:solid!important;border-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border,.border-thin{border-width:thin!important;border-style:solid!important;border-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-sm{border-width:1px!important;border-style:solid!important;border-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-md{border-width:2px!important;border-style:solid!important;border-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-lg{border-width:4px!important;border-style:solid!important;border-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-xl{border-width:8px!important;border-style:solid!important;border-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-current{border-color:currentColor!important}.border-opacity-0{--v-border-opacity: 0 !important}.border-opacity{--v-border-opacity: .12 !important}.border-opacity-25{--v-border-opacity: .25 !important}.border-opacity-50{--v-border-opacity: .5 !important}.border-opacity-75{--v-border-opacity: .75 !important}.border-opacity-100{--v-border-opacity: 1 !important}.border-t-0{border-block-start-width:0!important;border-block-start-style:solid!important;border-block-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-t,.border-t-thin{border-block-start-width:thin!important;border-block-start-style:solid!important;border-block-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-t-sm{border-block-start-width:1px!important;border-block-start-style:solid!important;border-block-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-t-md{border-block-start-width:2px!important;border-block-start-style:solid!important;border-block-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-t-lg{border-block-start-width:4px!important;border-block-start-style:solid!important;border-block-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-t-xl{border-block-start-width:8px!important;border-block-start-style:solid!important;border-block-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-e-0{border-inline-end-width:0!important;border-inline-end-style:solid!important;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-e,.border-e-thin{border-inline-end-width:thin!important;border-inline-end-style:solid!important;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-e-sm{border-inline-end-width:1px!important;border-inline-end-style:solid!important;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-e-md{border-inline-end-width:2px!important;border-inline-end-style:solid!important;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-e-lg{border-inline-end-width:4px!important;border-inline-end-style:solid!important;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-e-xl{border-inline-end-width:8px!important;border-inline-end-style:solid!important;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-b-0{border-block-end-width:0!important;border-block-end-style:solid!important;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-b,.border-b-thin{border-block-end-width:thin!important;border-block-end-style:solid!important;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-b-sm{border-block-end-width:1px!important;border-block-end-style:solid!important;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-b-md{border-block-end-width:2px!important;border-block-end-style:solid!important;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-b-lg{border-block-end-width:4px!important;border-block-end-style:solid!important;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-b-xl{border-block-end-width:8px!important;border-block-end-style:solid!important;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-s-0{border-inline-start-width:0!important;border-inline-start-style:solid!important;border-inline-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-s,.border-s-thin{border-inline-start-width:thin!important;border-inline-start-style:solid!important;border-inline-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-s-sm{border-inline-start-width:1px!important;border-inline-start-style:solid!important;border-inline-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-s-md{border-inline-start-width:2px!important;border-inline-start-style:solid!important;border-inline-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-s-lg{border-inline-start-width:4px!important;border-inline-start-style:solid!important;border-inline-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-s-xl{border-inline-start-width:8px!important;border-inline-start-style:solid!important;border-inline-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-solid{border-style:solid!important}.border-dashed{border-style:dashed!important}.border-dotted{border-style:dotted!important}.border-double{border-style:double!important}.border-none{border-style:none!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}.text-justify{text-align:justify!important}.text-start{text-align:start!important}.text-end{text-align:end!important}.text-decoration-line-through{text-decoration:line-through!important}.text-decoration-none{text-decoration:none!important}.text-decoration-overline{text-decoration:overline!important}.text-decoration-underline{text-decoration:underline!important}.text-wrap{white-space:normal!important}.text-no-wrap{white-space:nowrap!important}.text-pre{white-space:pre!important}.text-pre-line{white-space:pre-line!important}.text-pre-wrap{white-space:pre-wrap!important}.text-break{overflow-wrap:break-word!important;word-break:break-word!important}.opacity-hover{opacity:var(--v-hover-opacity)!important}.opacity-focus{opacity:var(--v-focus-opacity)!important}.opacity-selected{opacity:var(--v-selected-opacity)!important}.opacity-activated{opacity:var(--v-activated-opacity)!important}.opacity-pressed{opacity:var(--v-pressed-opacity)!important}.opacity-dragged{opacity:var(--v-dragged-opacity)!important}.opacity-0{opacity:0!important}.opacity-10{opacity:.1!important}.opacity-20{opacity:.2!important}.opacity-30{opacity:.3!important}.opacity-40{opacity:.4!important}.opacity-50{opacity:.5!important}.opacity-60{opacity:.6!important}.opacity-70{opacity:.7!important}.opacity-80{opacity:.8!important}.opacity-90{opacity:.9!important}.opacity-100{opacity:1!important}.text-high-emphasis{color:rgba(var(--v-theme-on-background),var(--v-high-emphasis-opacity))!important}.text-medium-emphasis{color:rgba(var(--v-theme-on-background),var(--v-medium-emphasis-opacity))!important}.text-disabled{color:rgba(var(--v-theme-on-background),var(--v-disabled-opacity))!important}.text-truncate{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.text-h1{font-size:6rem!important;font-weight:300;line-height:1;letter-spacing:-.015625em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-h2{font-size:3.75rem!important;font-weight:300;line-height:1;letter-spacing:-.0083333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-h3{font-size:3rem!important;font-weight:400;line-height:1.05;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-h4{font-size:2.125rem!important;font-weight:400;line-height:1.175;letter-spacing:.0073529412em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-h5{font-size:1.5rem!important;font-weight:400;line-height:1.333;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-h6{font-size:1.25rem!important;font-weight:500;line-height:1.6;letter-spacing:.0125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-subtitle-1{font-size:1rem!important;font-weight:400;line-height:1.75;letter-spacing:.009375em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-subtitle-2{font-size:.875rem!important;font-weight:500;line-height:1.6;letter-spacing:.0071428571em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-body-1{font-size:1rem!important;font-weight:400;line-height:1.5;letter-spacing:.03125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-body-2{font-size:.875rem!important;font-weight:400;line-height:1.425;letter-spacing:.0178571429em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-button{font-size:.875rem!important;font-weight:500;line-height:2.6;letter-spacing:.0892857143em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.text-caption{font-size:.75rem!important;font-weight:400;line-height:1.667;letter-spacing:.0333333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-overline{font-size:.75rem!important;font-weight:500;line-height:2.667;letter-spacing:.1666666667em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.text-none{text-transform:none!important}.text-capitalize{text-transform:capitalize!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.font-weight-thin{font-weight:100!important}.font-weight-light{font-weight:300!important}.font-weight-regular{font-weight:400!important}.font-weight-medium{font-weight:500!important}.font-weight-semibold{font-weight:600!important}.font-weight-bold{font-weight:700!important}.font-weight-black{font-weight:900!important}.font-italic{font-style:italic!important}.text-mono{font-family:monospace!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-fixed{position:fixed!important}.position-absolute{position:absolute!important}.position-sticky{position:sticky!important}.top-0{top:0!important}.right-0{right:0!important}.bottom-0{bottom:0!important}.left-0{left:0!important}.cursor-auto{cursor:auto!important}.cursor-default{cursor:default!important}.cursor-pointer{cursor:pointer!important}.cursor-wait{cursor:wait!important}.cursor-text{cursor:text!important}.cursor-move{cursor:move!important}.cursor-help{cursor:help!important}.cursor-not-allowed{cursor:not-allowed!important}.cursor-progress{cursor:progress!important}.cursor-grab{cursor:grab!important}.cursor-grabbing{cursor:grabbing!important}.cursor-none{cursor:none!important}.fill-height{height:100%!important}.h-auto{height:auto!important}.h-screen{height:100vh!important}.h-0{height:0!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-screen{height:100dvh!important}.w-auto{width:auto!important}.w-0{width:0!important}.w-25{width:25%!important}.w-33{width:33%!important}.w-50{width:50%!important}.w-66{width:66%!important}.w-75{width:75%!important}.w-100{width:100%!important}@media (min-width: 600px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.float-sm-none{float:none!important}.float-sm-left{float:left!important}.float-sm-right{float:right!important}.v-locale--is-rtl .float-sm-end{float:left!important}.v-locale--is-rtl .float-sm-start,.v-locale--is-ltr .float-sm-end{float:right!important}.v-locale--is-ltr .float-sm-start{float:left!important}.flex-sm-fill,.flex-sm-1-1{flex:1 1 auto!important}.flex-sm-1-0{flex:1 0 auto!important}.flex-sm-0-1{flex:0 1 auto!important}.flex-sm-0-0{flex:0 0 auto!important}.flex-sm-1-1-100{flex:1 1 100%!important}.flex-sm-1-0-100{flex:1 0 100%!important}.flex-sm-0-1-100{flex:0 1 100%!important}.flex-sm-0-0-100{flex:0 0 100%!important}.flex-sm-1-1-0{flex:1 1 0!important}.flex-sm-1-0-0{flex:1 0 0!important}.flex-sm-0-1-0{flex:0 1 0!important}.flex-sm-0-0-0{flex:0 0 0!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-sm-start{justify-content:flex-start!important}.justify-sm-end{justify-content:flex-end!important}.justify-sm-center{justify-content:center!important}.justify-sm-space-between{justify-content:space-between!important}.justify-sm-space-around{justify-content:space-around!important}.justify-sm-space-evenly{justify-content:space-evenly!important}.justify-items-sm-start{justify-items:flex-start!important}.justify-items-sm-end{justify-items:flex-end!important}.justify-items-sm-center{justify-items:center!important}.justify-items-sm-stretch{justify-items:stretch!important}.align-sm-start{align-items:flex-start!important}.align-sm-end{align-items:flex-end!important}.align-sm-center{align-items:center!important}.align-sm-baseline{align-items:baseline!important}.align-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-space-between{align-content:space-between!important}.align-content-sm-space-around{align-content:space-around!important}.align-content-sm-space-evenly{align-content:space-evenly!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-6{order:6!important}.order-sm-7{order:7!important}.order-sm-8{order:8!important}.order-sm-9{order:9!important}.order-sm-10{order:10!important}.order-sm-11{order:11!important}.order-sm-12{order:12!important}.order-sm-last{order:13!important}.ga-sm-0{gap:0px!important}.ga-sm-1{gap:4px!important}.ga-sm-2{gap:8px!important}.ga-sm-3{gap:12px!important}.ga-sm-4{gap:16px!important}.ga-sm-5{gap:20px!important}.ga-sm-6{gap:24px!important}.ga-sm-7{gap:28px!important}.ga-sm-8{gap:32px!important}.ga-sm-9{gap:36px!important}.ga-sm-10{gap:40px!important}.ga-sm-11{gap:44px!important}.ga-sm-12{gap:48px!important}.ga-sm-13{gap:52px!important}.ga-sm-14{gap:56px!important}.ga-sm-15{gap:60px!important}.ga-sm-16{gap:64px!important}.ga-sm-auto{gap:auto!important}.gr-sm-0{row-gap:0px!important}.gr-sm-1{row-gap:4px!important}.gr-sm-2{row-gap:8px!important}.gr-sm-3{row-gap:12px!important}.gr-sm-4{row-gap:16px!important}.gr-sm-5{row-gap:20px!important}.gr-sm-6{row-gap:24px!important}.gr-sm-7{row-gap:28px!important}.gr-sm-8{row-gap:32px!important}.gr-sm-9{row-gap:36px!important}.gr-sm-10{row-gap:40px!important}.gr-sm-11{row-gap:44px!important}.gr-sm-12{row-gap:48px!important}.gr-sm-13{row-gap:52px!important}.gr-sm-14{row-gap:56px!important}.gr-sm-15{row-gap:60px!important}.gr-sm-16{row-gap:64px!important}.gr-sm-auto{row-gap:auto!important}.gc-sm-0{column-gap:0px!important}.gc-sm-1{column-gap:4px!important}.gc-sm-2{column-gap:8px!important}.gc-sm-3{column-gap:12px!important}.gc-sm-4{column-gap:16px!important}.gc-sm-5{column-gap:20px!important}.gc-sm-6{column-gap:24px!important}.gc-sm-7{column-gap:28px!important}.gc-sm-8{column-gap:32px!important}.gc-sm-9{column-gap:36px!important}.gc-sm-10{column-gap:40px!important}.gc-sm-11{column-gap:44px!important}.gc-sm-12{column-gap:48px!important}.gc-sm-13{column-gap:52px!important}.gc-sm-14{column-gap:56px!important}.gc-sm-15{column-gap:60px!important}.gc-sm-16{column-gap:64px!important}.gc-sm-auto{column-gap:auto!important}.ma-sm-0{margin:0!important}.ma-sm-1{margin:4px!important}.ma-sm-2{margin:8px!important}.ma-sm-3{margin:12px!important}.ma-sm-4{margin:16px!important}.ma-sm-5{margin:20px!important}.ma-sm-6{margin:24px!important}.ma-sm-7{margin:28px!important}.ma-sm-8{margin:32px!important}.ma-sm-9{margin:36px!important}.ma-sm-10{margin:40px!important}.ma-sm-11{margin:44px!important}.ma-sm-12{margin:48px!important}.ma-sm-13{margin:52px!important}.ma-sm-14{margin:56px!important}.ma-sm-15{margin:60px!important}.ma-sm-16{margin:64px!important}.ma-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:4px!important;margin-left:4px!important}.mx-sm-2{margin-right:8px!important;margin-left:8px!important}.mx-sm-3{margin-right:12px!important;margin-left:12px!important}.mx-sm-4{margin-right:16px!important;margin-left:16px!important}.mx-sm-5{margin-right:20px!important;margin-left:20px!important}.mx-sm-6{margin-right:24px!important;margin-left:24px!important}.mx-sm-7{margin-right:28px!important;margin-left:28px!important}.mx-sm-8{margin-right:32px!important;margin-left:32px!important}.mx-sm-9{margin-right:36px!important;margin-left:36px!important}.mx-sm-10{margin-right:40px!important;margin-left:40px!important}.mx-sm-11{margin-right:44px!important;margin-left:44px!important}.mx-sm-12{margin-right:48px!important;margin-left:48px!important}.mx-sm-13{margin-right:52px!important;margin-left:52px!important}.mx-sm-14{margin-right:56px!important;margin-left:56px!important}.mx-sm-15{margin-right:60px!important;margin-left:60px!important}.mx-sm-16{margin-right:64px!important;margin-left:64px!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:4px!important;margin-bottom:4px!important}.my-sm-2{margin-top:8px!important;margin-bottom:8px!important}.my-sm-3{margin-top:12px!important;margin-bottom:12px!important}.my-sm-4{margin-top:16px!important;margin-bottom:16px!important}.my-sm-5{margin-top:20px!important;margin-bottom:20px!important}.my-sm-6{margin-top:24px!important;margin-bottom:24px!important}.my-sm-7{margin-top:28px!important;margin-bottom:28px!important}.my-sm-8{margin-top:32px!important;margin-bottom:32px!important}.my-sm-9{margin-top:36px!important;margin-bottom:36px!important}.my-sm-10{margin-top:40px!important;margin-bottom:40px!important}.my-sm-11{margin-top:44px!important;margin-bottom:44px!important}.my-sm-12{margin-top:48px!important;margin-bottom:48px!important}.my-sm-13{margin-top:52px!important;margin-bottom:52px!important}.my-sm-14{margin-top:56px!important;margin-bottom:56px!important}.my-sm-15{margin-top:60px!important;margin-bottom:60px!important}.my-sm-16{margin-top:64px!important;margin-bottom:64px!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:4px!important}.mt-sm-2{margin-top:8px!important}.mt-sm-3{margin-top:12px!important}.mt-sm-4{margin-top:16px!important}.mt-sm-5{margin-top:20px!important}.mt-sm-6{margin-top:24px!important}.mt-sm-7{margin-top:28px!important}.mt-sm-8{margin-top:32px!important}.mt-sm-9{margin-top:36px!important}.mt-sm-10{margin-top:40px!important}.mt-sm-11{margin-top:44px!important}.mt-sm-12{margin-top:48px!important}.mt-sm-13{margin-top:52px!important}.mt-sm-14{margin-top:56px!important}.mt-sm-15{margin-top:60px!important}.mt-sm-16{margin-top:64px!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-0{margin-right:0!important}.mr-sm-1{margin-right:4px!important}.mr-sm-2{margin-right:8px!important}.mr-sm-3{margin-right:12px!important}.mr-sm-4{margin-right:16px!important}.mr-sm-5{margin-right:20px!important}.mr-sm-6{margin-right:24px!important}.mr-sm-7{margin-right:28px!important}.mr-sm-8{margin-right:32px!important}.mr-sm-9{margin-right:36px!important}.mr-sm-10{margin-right:40px!important}.mr-sm-11{margin-right:44px!important}.mr-sm-12{margin-right:48px!important}.mr-sm-13{margin-right:52px!important}.mr-sm-14{margin-right:56px!important}.mr-sm-15{margin-right:60px!important}.mr-sm-16{margin-right:64px!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:4px!important}.mb-sm-2{margin-bottom:8px!important}.mb-sm-3{margin-bottom:12px!important}.mb-sm-4{margin-bottom:16px!important}.mb-sm-5{margin-bottom:20px!important}.mb-sm-6{margin-bottom:24px!important}.mb-sm-7{margin-bottom:28px!important}.mb-sm-8{margin-bottom:32px!important}.mb-sm-9{margin-bottom:36px!important}.mb-sm-10{margin-bottom:40px!important}.mb-sm-11{margin-bottom:44px!important}.mb-sm-12{margin-bottom:48px!important}.mb-sm-13{margin-bottom:52px!important}.mb-sm-14{margin-bottom:56px!important}.mb-sm-15{margin-bottom:60px!important}.mb-sm-16{margin-bottom:64px!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-0{margin-left:0!important}.ml-sm-1{margin-left:4px!important}.ml-sm-2{margin-left:8px!important}.ml-sm-3{margin-left:12px!important}.ml-sm-4{margin-left:16px!important}.ml-sm-5{margin-left:20px!important}.ml-sm-6{margin-left:24px!important}.ml-sm-7{margin-left:28px!important}.ml-sm-8{margin-left:32px!important}.ml-sm-9{margin-left:36px!important}.ml-sm-10{margin-left:40px!important}.ml-sm-11{margin-left:44px!important}.ml-sm-12{margin-left:48px!important}.ml-sm-13{margin-left:52px!important}.ml-sm-14{margin-left:56px!important}.ml-sm-15{margin-left:60px!important}.ml-sm-16{margin-left:64px!important}.ml-sm-auto{margin-left:auto!important}.ms-sm-0{margin-inline-start:0px!important}.ms-sm-1{margin-inline-start:4px!important}.ms-sm-2{margin-inline-start:8px!important}.ms-sm-3{margin-inline-start:12px!important}.ms-sm-4{margin-inline-start:16px!important}.ms-sm-5{margin-inline-start:20px!important}.ms-sm-6{margin-inline-start:24px!important}.ms-sm-7{margin-inline-start:28px!important}.ms-sm-8{margin-inline-start:32px!important}.ms-sm-9{margin-inline-start:36px!important}.ms-sm-10{margin-inline-start:40px!important}.ms-sm-11{margin-inline-start:44px!important}.ms-sm-12{margin-inline-start:48px!important}.ms-sm-13{margin-inline-start:52px!important}.ms-sm-14{margin-inline-start:56px!important}.ms-sm-15{margin-inline-start:60px!important}.ms-sm-16{margin-inline-start:64px!important}.ms-sm-auto{margin-inline-start:auto!important}.me-sm-0{margin-inline-end:0px!important}.me-sm-1{margin-inline-end:4px!important}.me-sm-2{margin-inline-end:8px!important}.me-sm-3{margin-inline-end:12px!important}.me-sm-4{margin-inline-end:16px!important}.me-sm-5{margin-inline-end:20px!important}.me-sm-6{margin-inline-end:24px!important}.me-sm-7{margin-inline-end:28px!important}.me-sm-8{margin-inline-end:32px!important}.me-sm-9{margin-inline-end:36px!important}.me-sm-10{margin-inline-end:40px!important}.me-sm-11{margin-inline-end:44px!important}.me-sm-12{margin-inline-end:48px!important}.me-sm-13{margin-inline-end:52px!important}.me-sm-14{margin-inline-end:56px!important}.me-sm-15{margin-inline-end:60px!important}.me-sm-16{margin-inline-end:64px!important}.me-sm-auto{margin-inline-end:auto!important}.ma-sm-n1{margin:-4px!important}.ma-sm-n2{margin:-8px!important}.ma-sm-n3{margin:-12px!important}.ma-sm-n4{margin:-16px!important}.ma-sm-n5{margin:-20px!important}.ma-sm-n6{margin:-24px!important}.ma-sm-n7{margin:-28px!important}.ma-sm-n8{margin:-32px!important}.ma-sm-n9{margin:-36px!important}.ma-sm-n10{margin:-40px!important}.ma-sm-n11{margin:-44px!important}.ma-sm-n12{margin:-48px!important}.ma-sm-n13{margin:-52px!important}.ma-sm-n14{margin:-56px!important}.ma-sm-n15{margin:-60px!important}.ma-sm-n16{margin:-64px!important}.mx-sm-n1{margin-right:-4px!important;margin-left:-4px!important}.mx-sm-n2{margin-right:-8px!important;margin-left:-8px!important}.mx-sm-n3{margin-right:-12px!important;margin-left:-12px!important}.mx-sm-n4{margin-right:-16px!important;margin-left:-16px!important}.mx-sm-n5{margin-right:-20px!important;margin-left:-20px!important}.mx-sm-n6{margin-right:-24px!important;margin-left:-24px!important}.mx-sm-n7{margin-right:-28px!important;margin-left:-28px!important}.mx-sm-n8{margin-right:-32px!important;margin-left:-32px!important}.mx-sm-n9{margin-right:-36px!important;margin-left:-36px!important}.mx-sm-n10{margin-right:-40px!important;margin-left:-40px!important}.mx-sm-n11{margin-right:-44px!important;margin-left:-44px!important}.mx-sm-n12{margin-right:-48px!important;margin-left:-48px!important}.mx-sm-n13{margin-right:-52px!important;margin-left:-52px!important}.mx-sm-n14{margin-right:-56px!important;margin-left:-56px!important}.mx-sm-n15{margin-right:-60px!important;margin-left:-60px!important}.mx-sm-n16{margin-right:-64px!important;margin-left:-64px!important}.my-sm-n1{margin-top:-4px!important;margin-bottom:-4px!important}.my-sm-n2{margin-top:-8px!important;margin-bottom:-8px!important}.my-sm-n3{margin-top:-12px!important;margin-bottom:-12px!important}.my-sm-n4{margin-top:-16px!important;margin-bottom:-16px!important}.my-sm-n5{margin-top:-20px!important;margin-bottom:-20px!important}.my-sm-n6{margin-top:-24px!important;margin-bottom:-24px!important}.my-sm-n7{margin-top:-28px!important;margin-bottom:-28px!important}.my-sm-n8{margin-top:-32px!important;margin-bottom:-32px!important}.my-sm-n9{margin-top:-36px!important;margin-bottom:-36px!important}.my-sm-n10{margin-top:-40px!important;margin-bottom:-40px!important}.my-sm-n11{margin-top:-44px!important;margin-bottom:-44px!important}.my-sm-n12{margin-top:-48px!important;margin-bottom:-48px!important}.my-sm-n13{margin-top:-52px!important;margin-bottom:-52px!important}.my-sm-n14{margin-top:-56px!important;margin-bottom:-56px!important}.my-sm-n15{margin-top:-60px!important;margin-bottom:-60px!important}.my-sm-n16{margin-top:-64px!important;margin-bottom:-64px!important}.mt-sm-n1{margin-top:-4px!important}.mt-sm-n2{margin-top:-8px!important}.mt-sm-n3{margin-top:-12px!important}.mt-sm-n4{margin-top:-16px!important}.mt-sm-n5{margin-top:-20px!important}.mt-sm-n6{margin-top:-24px!important}.mt-sm-n7{margin-top:-28px!important}.mt-sm-n8{margin-top:-32px!important}.mt-sm-n9{margin-top:-36px!important}.mt-sm-n10{margin-top:-40px!important}.mt-sm-n11{margin-top:-44px!important}.mt-sm-n12{margin-top:-48px!important}.mt-sm-n13{margin-top:-52px!important}.mt-sm-n14{margin-top:-56px!important}.mt-sm-n15{margin-top:-60px!important}.mt-sm-n16{margin-top:-64px!important}.mr-sm-n1{margin-right:-4px!important}.mr-sm-n2{margin-right:-8px!important}.mr-sm-n3{margin-right:-12px!important}.mr-sm-n4{margin-right:-16px!important}.mr-sm-n5{margin-right:-20px!important}.mr-sm-n6{margin-right:-24px!important}.mr-sm-n7{margin-right:-28px!important}.mr-sm-n8{margin-right:-32px!important}.mr-sm-n9{margin-right:-36px!important}.mr-sm-n10{margin-right:-40px!important}.mr-sm-n11{margin-right:-44px!important}.mr-sm-n12{margin-right:-48px!important}.mr-sm-n13{margin-right:-52px!important}.mr-sm-n14{margin-right:-56px!important}.mr-sm-n15{margin-right:-60px!important}.mr-sm-n16{margin-right:-64px!important}.mb-sm-n1{margin-bottom:-4px!important}.mb-sm-n2{margin-bottom:-8px!important}.mb-sm-n3{margin-bottom:-12px!important}.mb-sm-n4{margin-bottom:-16px!important}.mb-sm-n5{margin-bottom:-20px!important}.mb-sm-n6{margin-bottom:-24px!important}.mb-sm-n7{margin-bottom:-28px!important}.mb-sm-n8{margin-bottom:-32px!important}.mb-sm-n9{margin-bottom:-36px!important}.mb-sm-n10{margin-bottom:-40px!important}.mb-sm-n11{margin-bottom:-44px!important}.mb-sm-n12{margin-bottom:-48px!important}.mb-sm-n13{margin-bottom:-52px!important}.mb-sm-n14{margin-bottom:-56px!important}.mb-sm-n15{margin-bottom:-60px!important}.mb-sm-n16{margin-bottom:-64px!important}.ml-sm-n1{margin-left:-4px!important}.ml-sm-n2{margin-left:-8px!important}.ml-sm-n3{margin-left:-12px!important}.ml-sm-n4{margin-left:-16px!important}.ml-sm-n5{margin-left:-20px!important}.ml-sm-n6{margin-left:-24px!important}.ml-sm-n7{margin-left:-28px!important}.ml-sm-n8{margin-left:-32px!important}.ml-sm-n9{margin-left:-36px!important}.ml-sm-n10{margin-left:-40px!important}.ml-sm-n11{margin-left:-44px!important}.ml-sm-n12{margin-left:-48px!important}.ml-sm-n13{margin-left:-52px!important}.ml-sm-n14{margin-left:-56px!important}.ml-sm-n15{margin-left:-60px!important}.ml-sm-n16{margin-left:-64px!important}.ms-sm-n1{margin-inline-start:-4px!important}.ms-sm-n2{margin-inline-start:-8px!important}.ms-sm-n3{margin-inline-start:-12px!important}.ms-sm-n4{margin-inline-start:-16px!important}.ms-sm-n5{margin-inline-start:-20px!important}.ms-sm-n6{margin-inline-start:-24px!important}.ms-sm-n7{margin-inline-start:-28px!important}.ms-sm-n8{margin-inline-start:-32px!important}.ms-sm-n9{margin-inline-start:-36px!important}.ms-sm-n10{margin-inline-start:-40px!important}.ms-sm-n11{margin-inline-start:-44px!important}.ms-sm-n12{margin-inline-start:-48px!important}.ms-sm-n13{margin-inline-start:-52px!important}.ms-sm-n14{margin-inline-start:-56px!important}.ms-sm-n15{margin-inline-start:-60px!important}.ms-sm-n16{margin-inline-start:-64px!important}.me-sm-n1{margin-inline-end:-4px!important}.me-sm-n2{margin-inline-end:-8px!important}.me-sm-n3{margin-inline-end:-12px!important}.me-sm-n4{margin-inline-end:-16px!important}.me-sm-n5{margin-inline-end:-20px!important}.me-sm-n6{margin-inline-end:-24px!important}.me-sm-n7{margin-inline-end:-28px!important}.me-sm-n8{margin-inline-end:-32px!important}.me-sm-n9{margin-inline-end:-36px!important}.me-sm-n10{margin-inline-end:-40px!important}.me-sm-n11{margin-inline-end:-44px!important}.me-sm-n12{margin-inline-end:-48px!important}.me-sm-n13{margin-inline-end:-52px!important}.me-sm-n14{margin-inline-end:-56px!important}.me-sm-n15{margin-inline-end:-60px!important}.me-sm-n16{margin-inline-end:-64px!important}.pa-sm-0{padding:0!important}.pa-sm-1{padding:4px!important}.pa-sm-2{padding:8px!important}.pa-sm-3{padding:12px!important}.pa-sm-4{padding:16px!important}.pa-sm-5{padding:20px!important}.pa-sm-6{padding:24px!important}.pa-sm-7{padding:28px!important}.pa-sm-8{padding:32px!important}.pa-sm-9{padding:36px!important}.pa-sm-10{padding:40px!important}.pa-sm-11{padding:44px!important}.pa-sm-12{padding:48px!important}.pa-sm-13{padding:52px!important}.pa-sm-14{padding:56px!important}.pa-sm-15{padding:60px!important}.pa-sm-16{padding:64px!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:4px!important;padding-left:4px!important}.px-sm-2{padding-right:8px!important;padding-left:8px!important}.px-sm-3{padding-right:12px!important;padding-left:12px!important}.px-sm-4{padding-right:16px!important;padding-left:16px!important}.px-sm-5{padding-right:20px!important;padding-left:20px!important}.px-sm-6{padding-right:24px!important;padding-left:24px!important}.px-sm-7{padding-right:28px!important;padding-left:28px!important}.px-sm-8{padding-right:32px!important;padding-left:32px!important}.px-sm-9{padding-right:36px!important;padding-left:36px!important}.px-sm-10{padding-right:40px!important;padding-left:40px!important}.px-sm-11{padding-right:44px!important;padding-left:44px!important}.px-sm-12{padding-right:48px!important;padding-left:48px!important}.px-sm-13{padding-right:52px!important;padding-left:52px!important}.px-sm-14{padding-right:56px!important;padding-left:56px!important}.px-sm-15{padding-right:60px!important;padding-left:60px!important}.px-sm-16{padding-right:64px!important;padding-left:64px!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:4px!important;padding-bottom:4px!important}.py-sm-2{padding-top:8px!important;padding-bottom:8px!important}.py-sm-3{padding-top:12px!important;padding-bottom:12px!important}.py-sm-4{padding-top:16px!important;padding-bottom:16px!important}.py-sm-5{padding-top:20px!important;padding-bottom:20px!important}.py-sm-6{padding-top:24px!important;padding-bottom:24px!important}.py-sm-7{padding-top:28px!important;padding-bottom:28px!important}.py-sm-8{padding-top:32px!important;padding-bottom:32px!important}.py-sm-9{padding-top:36px!important;padding-bottom:36px!important}.py-sm-10{padding-top:40px!important;padding-bottom:40px!important}.py-sm-11{padding-top:44px!important;padding-bottom:44px!important}.py-sm-12{padding-top:48px!important;padding-bottom:48px!important}.py-sm-13{padding-top:52px!important;padding-bottom:52px!important}.py-sm-14{padding-top:56px!important;padding-bottom:56px!important}.py-sm-15{padding-top:60px!important;padding-bottom:60px!important}.py-sm-16{padding-top:64px!important;padding-bottom:64px!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:4px!important}.pt-sm-2{padding-top:8px!important}.pt-sm-3{padding-top:12px!important}.pt-sm-4{padding-top:16px!important}.pt-sm-5{padding-top:20px!important}.pt-sm-6{padding-top:24px!important}.pt-sm-7{padding-top:28px!important}.pt-sm-8{padding-top:32px!important}.pt-sm-9{padding-top:36px!important}.pt-sm-10{padding-top:40px!important}.pt-sm-11{padding-top:44px!important}.pt-sm-12{padding-top:48px!important}.pt-sm-13{padding-top:52px!important}.pt-sm-14{padding-top:56px!important}.pt-sm-15{padding-top:60px!important}.pt-sm-16{padding-top:64px!important}.pr-sm-0{padding-right:0!important}.pr-sm-1{padding-right:4px!important}.pr-sm-2{padding-right:8px!important}.pr-sm-3{padding-right:12px!important}.pr-sm-4{padding-right:16px!important}.pr-sm-5{padding-right:20px!important}.pr-sm-6{padding-right:24px!important}.pr-sm-7{padding-right:28px!important}.pr-sm-8{padding-right:32px!important}.pr-sm-9{padding-right:36px!important}.pr-sm-10{padding-right:40px!important}.pr-sm-11{padding-right:44px!important}.pr-sm-12{padding-right:48px!important}.pr-sm-13{padding-right:52px!important}.pr-sm-14{padding-right:56px!important}.pr-sm-15{padding-right:60px!important}.pr-sm-16{padding-right:64px!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:4px!important}.pb-sm-2{padding-bottom:8px!important}.pb-sm-3{padding-bottom:12px!important}.pb-sm-4{padding-bottom:16px!important}.pb-sm-5{padding-bottom:20px!important}.pb-sm-6{padding-bottom:24px!important}.pb-sm-7{padding-bottom:28px!important}.pb-sm-8{padding-bottom:32px!important}.pb-sm-9{padding-bottom:36px!important}.pb-sm-10{padding-bottom:40px!important}.pb-sm-11{padding-bottom:44px!important}.pb-sm-12{padding-bottom:48px!important}.pb-sm-13{padding-bottom:52px!important}.pb-sm-14{padding-bottom:56px!important}.pb-sm-15{padding-bottom:60px!important}.pb-sm-16{padding-bottom:64px!important}.pl-sm-0{padding-left:0!important}.pl-sm-1{padding-left:4px!important}.pl-sm-2{padding-left:8px!important}.pl-sm-3{padding-left:12px!important}.pl-sm-4{padding-left:16px!important}.pl-sm-5{padding-left:20px!important}.pl-sm-6{padding-left:24px!important}.pl-sm-7{padding-left:28px!important}.pl-sm-8{padding-left:32px!important}.pl-sm-9{padding-left:36px!important}.pl-sm-10{padding-left:40px!important}.pl-sm-11{padding-left:44px!important}.pl-sm-12{padding-left:48px!important}.pl-sm-13{padding-left:52px!important}.pl-sm-14{padding-left:56px!important}.pl-sm-15{padding-left:60px!important}.pl-sm-16{padding-left:64px!important}.ps-sm-0{padding-inline-start:0px!important}.ps-sm-1{padding-inline-start:4px!important}.ps-sm-2{padding-inline-start:8px!important}.ps-sm-3{padding-inline-start:12px!important}.ps-sm-4{padding-inline-start:16px!important}.ps-sm-5{padding-inline-start:20px!important}.ps-sm-6{padding-inline-start:24px!important}.ps-sm-7{padding-inline-start:28px!important}.ps-sm-8{padding-inline-start:32px!important}.ps-sm-9{padding-inline-start:36px!important}.ps-sm-10{padding-inline-start:40px!important}.ps-sm-11{padding-inline-start:44px!important}.ps-sm-12{padding-inline-start:48px!important}.ps-sm-13{padding-inline-start:52px!important}.ps-sm-14{padding-inline-start:56px!important}.ps-sm-15{padding-inline-start:60px!important}.ps-sm-16{padding-inline-start:64px!important}.pe-sm-0{padding-inline-end:0px!important}.pe-sm-1{padding-inline-end:4px!important}.pe-sm-2{padding-inline-end:8px!important}.pe-sm-3{padding-inline-end:12px!important}.pe-sm-4{padding-inline-end:16px!important}.pe-sm-5{padding-inline-end:20px!important}.pe-sm-6{padding-inline-end:24px!important}.pe-sm-7{padding-inline-end:28px!important}.pe-sm-8{padding-inline-end:32px!important}.pe-sm-9{padding-inline-end:36px!important}.pe-sm-10{padding-inline-end:40px!important}.pe-sm-11{padding-inline-end:44px!important}.pe-sm-12{padding-inline-end:48px!important}.pe-sm-13{padding-inline-end:52px!important}.pe-sm-14{padding-inline-end:56px!important}.pe-sm-15{padding-inline-end:60px!important}.pe-sm-16{padding-inline-end:64px!important}.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}.text-sm-justify{text-align:justify!important}.text-sm-start{text-align:start!important}.text-sm-end{text-align:end!important}.text-sm-h1{font-size:6rem!important;font-weight:300;line-height:1;letter-spacing:-.015625em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-h2{font-size:3.75rem!important;font-weight:300;line-height:1;letter-spacing:-.0083333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-h3{font-size:3rem!important;font-weight:400;line-height:1.05;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-h4{font-size:2.125rem!important;font-weight:400;line-height:1.175;letter-spacing:.0073529412em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-h5{font-size:1.5rem!important;font-weight:400;line-height:1.333;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-h6{font-size:1.25rem!important;font-weight:500;line-height:1.6;letter-spacing:.0125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-subtitle-1{font-size:1rem!important;font-weight:400;line-height:1.75;letter-spacing:.009375em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-subtitle-2{font-size:.875rem!important;font-weight:500;line-height:1.6;letter-spacing:.0071428571em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-body-1{font-size:1rem!important;font-weight:400;line-height:1.5;letter-spacing:.03125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-body-2{font-size:.875rem!important;font-weight:400;line-height:1.425;letter-spacing:.0178571429em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-button{font-size:.875rem!important;font-weight:500;line-height:2.6;letter-spacing:.0892857143em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.text-sm-caption{font-size:.75rem!important;font-weight:400;line-height:1.667;letter-spacing:.0333333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-sm-overline{font-size:.75rem!important;font-weight:500;line-height:2.667;letter-spacing:.1666666667em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.h-sm-auto{height:auto!important}.h-sm-screen{height:100vh!important}.h-sm-0{height:0!important}.h-sm-25{height:25%!important}.h-sm-50{height:50%!important}.h-sm-75{height:75%!important}.h-sm-100{height:100%!important}.w-sm-auto{width:auto!important}.w-sm-0{width:0!important}.w-sm-25{width:25%!important}.w-sm-33{width:33%!important}.w-sm-50{width:50%!important}.w-sm-66{width:66%!important}.w-sm-75{width:75%!important}.w-sm-100{width:100%!important}}@media (min-width: 960px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.float-md-none{float:none!important}.float-md-left{float:left!important}.float-md-right{float:right!important}.v-locale--is-rtl .float-md-end{float:left!important}.v-locale--is-rtl .float-md-start,.v-locale--is-ltr .float-md-end{float:right!important}.v-locale--is-ltr .float-md-start{float:left!important}.flex-md-fill,.flex-md-1-1{flex:1 1 auto!important}.flex-md-1-0{flex:1 0 auto!important}.flex-md-0-1{flex:0 1 auto!important}.flex-md-0-0{flex:0 0 auto!important}.flex-md-1-1-100{flex:1 1 100%!important}.flex-md-1-0-100{flex:1 0 100%!important}.flex-md-0-1-100{flex:0 1 100%!important}.flex-md-0-0-100{flex:0 0 100%!important}.flex-md-1-1-0{flex:1 1 0!important}.flex-md-1-0-0{flex:1 0 0!important}.flex-md-0-1-0{flex:0 1 0!important}.flex-md-0-0-0{flex:0 0 0!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-md-start{justify-content:flex-start!important}.justify-md-end{justify-content:flex-end!important}.justify-md-center{justify-content:center!important}.justify-md-space-between{justify-content:space-between!important}.justify-md-space-around{justify-content:space-around!important}.justify-md-space-evenly{justify-content:space-evenly!important}.justify-items-md-start{justify-items:flex-start!important}.justify-items-md-end{justify-items:flex-end!important}.justify-items-md-center{justify-items:center!important}.justify-items-md-stretch{justify-items:stretch!important}.align-md-start{align-items:flex-start!important}.align-md-end{align-items:flex-end!important}.align-md-center{align-items:center!important}.align-md-baseline{align-items:baseline!important}.align-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-space-between{align-content:space-between!important}.align-content-md-space-around{align-content:space-around!important}.align-content-md-space-evenly{align-content:space-evenly!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-6{order:6!important}.order-md-7{order:7!important}.order-md-8{order:8!important}.order-md-9{order:9!important}.order-md-10{order:10!important}.order-md-11{order:11!important}.order-md-12{order:12!important}.order-md-last{order:13!important}.ga-md-0{gap:0px!important}.ga-md-1{gap:4px!important}.ga-md-2{gap:8px!important}.ga-md-3{gap:12px!important}.ga-md-4{gap:16px!important}.ga-md-5{gap:20px!important}.ga-md-6{gap:24px!important}.ga-md-7{gap:28px!important}.ga-md-8{gap:32px!important}.ga-md-9{gap:36px!important}.ga-md-10{gap:40px!important}.ga-md-11{gap:44px!important}.ga-md-12{gap:48px!important}.ga-md-13{gap:52px!important}.ga-md-14{gap:56px!important}.ga-md-15{gap:60px!important}.ga-md-16{gap:64px!important}.ga-md-auto{gap:auto!important}.gr-md-0{row-gap:0px!important}.gr-md-1{row-gap:4px!important}.gr-md-2{row-gap:8px!important}.gr-md-3{row-gap:12px!important}.gr-md-4{row-gap:16px!important}.gr-md-5{row-gap:20px!important}.gr-md-6{row-gap:24px!important}.gr-md-7{row-gap:28px!important}.gr-md-8{row-gap:32px!important}.gr-md-9{row-gap:36px!important}.gr-md-10{row-gap:40px!important}.gr-md-11{row-gap:44px!important}.gr-md-12{row-gap:48px!important}.gr-md-13{row-gap:52px!important}.gr-md-14{row-gap:56px!important}.gr-md-15{row-gap:60px!important}.gr-md-16{row-gap:64px!important}.gr-md-auto{row-gap:auto!important}.gc-md-0{column-gap:0px!important}.gc-md-1{column-gap:4px!important}.gc-md-2{column-gap:8px!important}.gc-md-3{column-gap:12px!important}.gc-md-4{column-gap:16px!important}.gc-md-5{column-gap:20px!important}.gc-md-6{column-gap:24px!important}.gc-md-7{column-gap:28px!important}.gc-md-8{column-gap:32px!important}.gc-md-9{column-gap:36px!important}.gc-md-10{column-gap:40px!important}.gc-md-11{column-gap:44px!important}.gc-md-12{column-gap:48px!important}.gc-md-13{column-gap:52px!important}.gc-md-14{column-gap:56px!important}.gc-md-15{column-gap:60px!important}.gc-md-16{column-gap:64px!important}.gc-md-auto{column-gap:auto!important}.ma-md-0{margin:0!important}.ma-md-1{margin:4px!important}.ma-md-2{margin:8px!important}.ma-md-3{margin:12px!important}.ma-md-4{margin:16px!important}.ma-md-5{margin:20px!important}.ma-md-6{margin:24px!important}.ma-md-7{margin:28px!important}.ma-md-8{margin:32px!important}.ma-md-9{margin:36px!important}.ma-md-10{margin:40px!important}.ma-md-11{margin:44px!important}.ma-md-12{margin:48px!important}.ma-md-13{margin:52px!important}.ma-md-14{margin:56px!important}.ma-md-15{margin:60px!important}.ma-md-16{margin:64px!important}.ma-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:4px!important;margin-left:4px!important}.mx-md-2{margin-right:8px!important;margin-left:8px!important}.mx-md-3{margin-right:12px!important;margin-left:12px!important}.mx-md-4{margin-right:16px!important;margin-left:16px!important}.mx-md-5{margin-right:20px!important;margin-left:20px!important}.mx-md-6{margin-right:24px!important;margin-left:24px!important}.mx-md-7{margin-right:28px!important;margin-left:28px!important}.mx-md-8{margin-right:32px!important;margin-left:32px!important}.mx-md-9{margin-right:36px!important;margin-left:36px!important}.mx-md-10{margin-right:40px!important;margin-left:40px!important}.mx-md-11{margin-right:44px!important;margin-left:44px!important}.mx-md-12{margin-right:48px!important;margin-left:48px!important}.mx-md-13{margin-right:52px!important;margin-left:52px!important}.mx-md-14{margin-right:56px!important;margin-left:56px!important}.mx-md-15{margin-right:60px!important;margin-left:60px!important}.mx-md-16{margin-right:64px!important;margin-left:64px!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:4px!important;margin-bottom:4px!important}.my-md-2{margin-top:8px!important;margin-bottom:8px!important}.my-md-3{margin-top:12px!important;margin-bottom:12px!important}.my-md-4{margin-top:16px!important;margin-bottom:16px!important}.my-md-5{margin-top:20px!important;margin-bottom:20px!important}.my-md-6{margin-top:24px!important;margin-bottom:24px!important}.my-md-7{margin-top:28px!important;margin-bottom:28px!important}.my-md-8{margin-top:32px!important;margin-bottom:32px!important}.my-md-9{margin-top:36px!important;margin-bottom:36px!important}.my-md-10{margin-top:40px!important;margin-bottom:40px!important}.my-md-11{margin-top:44px!important;margin-bottom:44px!important}.my-md-12{margin-top:48px!important;margin-bottom:48px!important}.my-md-13{margin-top:52px!important;margin-bottom:52px!important}.my-md-14{margin-top:56px!important;margin-bottom:56px!important}.my-md-15{margin-top:60px!important;margin-bottom:60px!important}.my-md-16{margin-top:64px!important;margin-bottom:64px!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:4px!important}.mt-md-2{margin-top:8px!important}.mt-md-3{margin-top:12px!important}.mt-md-4{margin-top:16px!important}.mt-md-5{margin-top:20px!important}.mt-md-6{margin-top:24px!important}.mt-md-7{margin-top:28px!important}.mt-md-8{margin-top:32px!important}.mt-md-9{margin-top:36px!important}.mt-md-10{margin-top:40px!important}.mt-md-11{margin-top:44px!important}.mt-md-12{margin-top:48px!important}.mt-md-13{margin-top:52px!important}.mt-md-14{margin-top:56px!important}.mt-md-15{margin-top:60px!important}.mt-md-16{margin-top:64px!important}.mt-md-auto{margin-top:auto!important}.mr-md-0{margin-right:0!important}.mr-md-1{margin-right:4px!important}.mr-md-2{margin-right:8px!important}.mr-md-3{margin-right:12px!important}.mr-md-4{margin-right:16px!important}.mr-md-5{margin-right:20px!important}.mr-md-6{margin-right:24px!important}.mr-md-7{margin-right:28px!important}.mr-md-8{margin-right:32px!important}.mr-md-9{margin-right:36px!important}.mr-md-10{margin-right:40px!important}.mr-md-11{margin-right:44px!important}.mr-md-12{margin-right:48px!important}.mr-md-13{margin-right:52px!important}.mr-md-14{margin-right:56px!important}.mr-md-15{margin-right:60px!important}.mr-md-16{margin-right:64px!important}.mr-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:4px!important}.mb-md-2{margin-bottom:8px!important}.mb-md-3{margin-bottom:12px!important}.mb-md-4{margin-bottom:16px!important}.mb-md-5{margin-bottom:20px!important}.mb-md-6{margin-bottom:24px!important}.mb-md-7{margin-bottom:28px!important}.mb-md-8{margin-bottom:32px!important}.mb-md-9{margin-bottom:36px!important}.mb-md-10{margin-bottom:40px!important}.mb-md-11{margin-bottom:44px!important}.mb-md-12{margin-bottom:48px!important}.mb-md-13{margin-bottom:52px!important}.mb-md-14{margin-bottom:56px!important}.mb-md-15{margin-bottom:60px!important}.mb-md-16{margin-bottom:64px!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-0{margin-left:0!important}.ml-md-1{margin-left:4px!important}.ml-md-2{margin-left:8px!important}.ml-md-3{margin-left:12px!important}.ml-md-4{margin-left:16px!important}.ml-md-5{margin-left:20px!important}.ml-md-6{margin-left:24px!important}.ml-md-7{margin-left:28px!important}.ml-md-8{margin-left:32px!important}.ml-md-9{margin-left:36px!important}.ml-md-10{margin-left:40px!important}.ml-md-11{margin-left:44px!important}.ml-md-12{margin-left:48px!important}.ml-md-13{margin-left:52px!important}.ml-md-14{margin-left:56px!important}.ml-md-15{margin-left:60px!important}.ml-md-16{margin-left:64px!important}.ml-md-auto{margin-left:auto!important}.ms-md-0{margin-inline-start:0px!important}.ms-md-1{margin-inline-start:4px!important}.ms-md-2{margin-inline-start:8px!important}.ms-md-3{margin-inline-start:12px!important}.ms-md-4{margin-inline-start:16px!important}.ms-md-5{margin-inline-start:20px!important}.ms-md-6{margin-inline-start:24px!important}.ms-md-7{margin-inline-start:28px!important}.ms-md-8{margin-inline-start:32px!important}.ms-md-9{margin-inline-start:36px!important}.ms-md-10{margin-inline-start:40px!important}.ms-md-11{margin-inline-start:44px!important}.ms-md-12{margin-inline-start:48px!important}.ms-md-13{margin-inline-start:52px!important}.ms-md-14{margin-inline-start:56px!important}.ms-md-15{margin-inline-start:60px!important}.ms-md-16{margin-inline-start:64px!important}.ms-md-auto{margin-inline-start:auto!important}.me-md-0{margin-inline-end:0px!important}.me-md-1{margin-inline-end:4px!important}.me-md-2{margin-inline-end:8px!important}.me-md-3{margin-inline-end:12px!important}.me-md-4{margin-inline-end:16px!important}.me-md-5{margin-inline-end:20px!important}.me-md-6{margin-inline-end:24px!important}.me-md-7{margin-inline-end:28px!important}.me-md-8{margin-inline-end:32px!important}.me-md-9{margin-inline-end:36px!important}.me-md-10{margin-inline-end:40px!important}.me-md-11{margin-inline-end:44px!important}.me-md-12{margin-inline-end:48px!important}.me-md-13{margin-inline-end:52px!important}.me-md-14{margin-inline-end:56px!important}.me-md-15{margin-inline-end:60px!important}.me-md-16{margin-inline-end:64px!important}.me-md-auto{margin-inline-end:auto!important}.ma-md-n1{margin:-4px!important}.ma-md-n2{margin:-8px!important}.ma-md-n3{margin:-12px!important}.ma-md-n4{margin:-16px!important}.ma-md-n5{margin:-20px!important}.ma-md-n6{margin:-24px!important}.ma-md-n7{margin:-28px!important}.ma-md-n8{margin:-32px!important}.ma-md-n9{margin:-36px!important}.ma-md-n10{margin:-40px!important}.ma-md-n11{margin:-44px!important}.ma-md-n12{margin:-48px!important}.ma-md-n13{margin:-52px!important}.ma-md-n14{margin:-56px!important}.ma-md-n15{margin:-60px!important}.ma-md-n16{margin:-64px!important}.mx-md-n1{margin-right:-4px!important;margin-left:-4px!important}.mx-md-n2{margin-right:-8px!important;margin-left:-8px!important}.mx-md-n3{margin-right:-12px!important;margin-left:-12px!important}.mx-md-n4{margin-right:-16px!important;margin-left:-16px!important}.mx-md-n5{margin-right:-20px!important;margin-left:-20px!important}.mx-md-n6{margin-right:-24px!important;margin-left:-24px!important}.mx-md-n7{margin-right:-28px!important;margin-left:-28px!important}.mx-md-n8{margin-right:-32px!important;margin-left:-32px!important}.mx-md-n9{margin-right:-36px!important;margin-left:-36px!important}.mx-md-n10{margin-right:-40px!important;margin-left:-40px!important}.mx-md-n11{margin-right:-44px!important;margin-left:-44px!important}.mx-md-n12{margin-right:-48px!important;margin-left:-48px!important}.mx-md-n13{margin-right:-52px!important;margin-left:-52px!important}.mx-md-n14{margin-right:-56px!important;margin-left:-56px!important}.mx-md-n15{margin-right:-60px!important;margin-left:-60px!important}.mx-md-n16{margin-right:-64px!important;margin-left:-64px!important}.my-md-n1{margin-top:-4px!important;margin-bottom:-4px!important}.my-md-n2{margin-top:-8px!important;margin-bottom:-8px!important}.my-md-n3{margin-top:-12px!important;margin-bottom:-12px!important}.my-md-n4{margin-top:-16px!important;margin-bottom:-16px!important}.my-md-n5{margin-top:-20px!important;margin-bottom:-20px!important}.my-md-n6{margin-top:-24px!important;margin-bottom:-24px!important}.my-md-n7{margin-top:-28px!important;margin-bottom:-28px!important}.my-md-n8{margin-top:-32px!important;margin-bottom:-32px!important}.my-md-n9{margin-top:-36px!important;margin-bottom:-36px!important}.my-md-n10{margin-top:-40px!important;margin-bottom:-40px!important}.my-md-n11{margin-top:-44px!important;margin-bottom:-44px!important}.my-md-n12{margin-top:-48px!important;margin-bottom:-48px!important}.my-md-n13{margin-top:-52px!important;margin-bottom:-52px!important}.my-md-n14{margin-top:-56px!important;margin-bottom:-56px!important}.my-md-n15{margin-top:-60px!important;margin-bottom:-60px!important}.my-md-n16{margin-top:-64px!important;margin-bottom:-64px!important}.mt-md-n1{margin-top:-4px!important}.mt-md-n2{margin-top:-8px!important}.mt-md-n3{margin-top:-12px!important}.mt-md-n4{margin-top:-16px!important}.mt-md-n5{margin-top:-20px!important}.mt-md-n6{margin-top:-24px!important}.mt-md-n7{margin-top:-28px!important}.mt-md-n8{margin-top:-32px!important}.mt-md-n9{margin-top:-36px!important}.mt-md-n10{margin-top:-40px!important}.mt-md-n11{margin-top:-44px!important}.mt-md-n12{margin-top:-48px!important}.mt-md-n13{margin-top:-52px!important}.mt-md-n14{margin-top:-56px!important}.mt-md-n15{margin-top:-60px!important}.mt-md-n16{margin-top:-64px!important}.mr-md-n1{margin-right:-4px!important}.mr-md-n2{margin-right:-8px!important}.mr-md-n3{margin-right:-12px!important}.mr-md-n4{margin-right:-16px!important}.mr-md-n5{margin-right:-20px!important}.mr-md-n6{margin-right:-24px!important}.mr-md-n7{margin-right:-28px!important}.mr-md-n8{margin-right:-32px!important}.mr-md-n9{margin-right:-36px!important}.mr-md-n10{margin-right:-40px!important}.mr-md-n11{margin-right:-44px!important}.mr-md-n12{margin-right:-48px!important}.mr-md-n13{margin-right:-52px!important}.mr-md-n14{margin-right:-56px!important}.mr-md-n15{margin-right:-60px!important}.mr-md-n16{margin-right:-64px!important}.mb-md-n1{margin-bottom:-4px!important}.mb-md-n2{margin-bottom:-8px!important}.mb-md-n3{margin-bottom:-12px!important}.mb-md-n4{margin-bottom:-16px!important}.mb-md-n5{margin-bottom:-20px!important}.mb-md-n6{margin-bottom:-24px!important}.mb-md-n7{margin-bottom:-28px!important}.mb-md-n8{margin-bottom:-32px!important}.mb-md-n9{margin-bottom:-36px!important}.mb-md-n10{margin-bottom:-40px!important}.mb-md-n11{margin-bottom:-44px!important}.mb-md-n12{margin-bottom:-48px!important}.mb-md-n13{margin-bottom:-52px!important}.mb-md-n14{margin-bottom:-56px!important}.mb-md-n15{margin-bottom:-60px!important}.mb-md-n16{margin-bottom:-64px!important}.ml-md-n1{margin-left:-4px!important}.ml-md-n2{margin-left:-8px!important}.ml-md-n3{margin-left:-12px!important}.ml-md-n4{margin-left:-16px!important}.ml-md-n5{margin-left:-20px!important}.ml-md-n6{margin-left:-24px!important}.ml-md-n7{margin-left:-28px!important}.ml-md-n8{margin-left:-32px!important}.ml-md-n9{margin-left:-36px!important}.ml-md-n10{margin-left:-40px!important}.ml-md-n11{margin-left:-44px!important}.ml-md-n12{margin-left:-48px!important}.ml-md-n13{margin-left:-52px!important}.ml-md-n14{margin-left:-56px!important}.ml-md-n15{margin-left:-60px!important}.ml-md-n16{margin-left:-64px!important}.ms-md-n1{margin-inline-start:-4px!important}.ms-md-n2{margin-inline-start:-8px!important}.ms-md-n3{margin-inline-start:-12px!important}.ms-md-n4{margin-inline-start:-16px!important}.ms-md-n5{margin-inline-start:-20px!important}.ms-md-n6{margin-inline-start:-24px!important}.ms-md-n7{margin-inline-start:-28px!important}.ms-md-n8{margin-inline-start:-32px!important}.ms-md-n9{margin-inline-start:-36px!important}.ms-md-n10{margin-inline-start:-40px!important}.ms-md-n11{margin-inline-start:-44px!important}.ms-md-n12{margin-inline-start:-48px!important}.ms-md-n13{margin-inline-start:-52px!important}.ms-md-n14{margin-inline-start:-56px!important}.ms-md-n15{margin-inline-start:-60px!important}.ms-md-n16{margin-inline-start:-64px!important}.me-md-n1{margin-inline-end:-4px!important}.me-md-n2{margin-inline-end:-8px!important}.me-md-n3{margin-inline-end:-12px!important}.me-md-n4{margin-inline-end:-16px!important}.me-md-n5{margin-inline-end:-20px!important}.me-md-n6{margin-inline-end:-24px!important}.me-md-n7{margin-inline-end:-28px!important}.me-md-n8{margin-inline-end:-32px!important}.me-md-n9{margin-inline-end:-36px!important}.me-md-n10{margin-inline-end:-40px!important}.me-md-n11{margin-inline-end:-44px!important}.me-md-n12{margin-inline-end:-48px!important}.me-md-n13{margin-inline-end:-52px!important}.me-md-n14{margin-inline-end:-56px!important}.me-md-n15{margin-inline-end:-60px!important}.me-md-n16{margin-inline-end:-64px!important}.pa-md-0{padding:0!important}.pa-md-1{padding:4px!important}.pa-md-2{padding:8px!important}.pa-md-3{padding:12px!important}.pa-md-4{padding:16px!important}.pa-md-5{padding:20px!important}.pa-md-6{padding:24px!important}.pa-md-7{padding:28px!important}.pa-md-8{padding:32px!important}.pa-md-9{padding:36px!important}.pa-md-10{padding:40px!important}.pa-md-11{padding:44px!important}.pa-md-12{padding:48px!important}.pa-md-13{padding:52px!important}.pa-md-14{padding:56px!important}.pa-md-15{padding:60px!important}.pa-md-16{padding:64px!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:4px!important;padding-left:4px!important}.px-md-2{padding-right:8px!important;padding-left:8px!important}.px-md-3{padding-right:12px!important;padding-left:12px!important}.px-md-4{padding-right:16px!important;padding-left:16px!important}.px-md-5{padding-right:20px!important;padding-left:20px!important}.px-md-6{padding-right:24px!important;padding-left:24px!important}.px-md-7{padding-right:28px!important;padding-left:28px!important}.px-md-8{padding-right:32px!important;padding-left:32px!important}.px-md-9{padding-right:36px!important;padding-left:36px!important}.px-md-10{padding-right:40px!important;padding-left:40px!important}.px-md-11{padding-right:44px!important;padding-left:44px!important}.px-md-12{padding-right:48px!important;padding-left:48px!important}.px-md-13{padding-right:52px!important;padding-left:52px!important}.px-md-14{padding-right:56px!important;padding-left:56px!important}.px-md-15{padding-right:60px!important;padding-left:60px!important}.px-md-16{padding-right:64px!important;padding-left:64px!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:4px!important;padding-bottom:4px!important}.py-md-2{padding-top:8px!important;padding-bottom:8px!important}.py-md-3{padding-top:12px!important;padding-bottom:12px!important}.py-md-4{padding-top:16px!important;padding-bottom:16px!important}.py-md-5{padding-top:20px!important;padding-bottom:20px!important}.py-md-6{padding-top:24px!important;padding-bottom:24px!important}.py-md-7{padding-top:28px!important;padding-bottom:28px!important}.py-md-8{padding-top:32px!important;padding-bottom:32px!important}.py-md-9{padding-top:36px!important;padding-bottom:36px!important}.py-md-10{padding-top:40px!important;padding-bottom:40px!important}.py-md-11{padding-top:44px!important;padding-bottom:44px!important}.py-md-12{padding-top:48px!important;padding-bottom:48px!important}.py-md-13{padding-top:52px!important;padding-bottom:52px!important}.py-md-14{padding-top:56px!important;padding-bottom:56px!important}.py-md-15{padding-top:60px!important;padding-bottom:60px!important}.py-md-16{padding-top:64px!important;padding-bottom:64px!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:4px!important}.pt-md-2{padding-top:8px!important}.pt-md-3{padding-top:12px!important}.pt-md-4{padding-top:16px!important}.pt-md-5{padding-top:20px!important}.pt-md-6{padding-top:24px!important}.pt-md-7{padding-top:28px!important}.pt-md-8{padding-top:32px!important}.pt-md-9{padding-top:36px!important}.pt-md-10{padding-top:40px!important}.pt-md-11{padding-top:44px!important}.pt-md-12{padding-top:48px!important}.pt-md-13{padding-top:52px!important}.pt-md-14{padding-top:56px!important}.pt-md-15{padding-top:60px!important}.pt-md-16{padding-top:64px!important}.pr-md-0{padding-right:0!important}.pr-md-1{padding-right:4px!important}.pr-md-2{padding-right:8px!important}.pr-md-3{padding-right:12px!important}.pr-md-4{padding-right:16px!important}.pr-md-5{padding-right:20px!important}.pr-md-6{padding-right:24px!important}.pr-md-7{padding-right:28px!important}.pr-md-8{padding-right:32px!important}.pr-md-9{padding-right:36px!important}.pr-md-10{padding-right:40px!important}.pr-md-11{padding-right:44px!important}.pr-md-12{padding-right:48px!important}.pr-md-13{padding-right:52px!important}.pr-md-14{padding-right:56px!important}.pr-md-15{padding-right:60px!important}.pr-md-16{padding-right:64px!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:4px!important}.pb-md-2{padding-bottom:8px!important}.pb-md-3{padding-bottom:12px!important}.pb-md-4{padding-bottom:16px!important}.pb-md-5{padding-bottom:20px!important}.pb-md-6{padding-bottom:24px!important}.pb-md-7{padding-bottom:28px!important}.pb-md-8{padding-bottom:32px!important}.pb-md-9{padding-bottom:36px!important}.pb-md-10{padding-bottom:40px!important}.pb-md-11{padding-bottom:44px!important}.pb-md-12{padding-bottom:48px!important}.pb-md-13{padding-bottom:52px!important}.pb-md-14{padding-bottom:56px!important}.pb-md-15{padding-bottom:60px!important}.pb-md-16{padding-bottom:64px!important}.pl-md-0{padding-left:0!important}.pl-md-1{padding-left:4px!important}.pl-md-2{padding-left:8px!important}.pl-md-3{padding-left:12px!important}.pl-md-4{padding-left:16px!important}.pl-md-5{padding-left:20px!important}.pl-md-6{padding-left:24px!important}.pl-md-7{padding-left:28px!important}.pl-md-8{padding-left:32px!important}.pl-md-9{padding-left:36px!important}.pl-md-10{padding-left:40px!important}.pl-md-11{padding-left:44px!important}.pl-md-12{padding-left:48px!important}.pl-md-13{padding-left:52px!important}.pl-md-14{padding-left:56px!important}.pl-md-15{padding-left:60px!important}.pl-md-16{padding-left:64px!important}.ps-md-0{padding-inline-start:0px!important}.ps-md-1{padding-inline-start:4px!important}.ps-md-2{padding-inline-start:8px!important}.ps-md-3{padding-inline-start:12px!important}.ps-md-4{padding-inline-start:16px!important}.ps-md-5{padding-inline-start:20px!important}.ps-md-6{padding-inline-start:24px!important}.ps-md-7{padding-inline-start:28px!important}.ps-md-8{padding-inline-start:32px!important}.ps-md-9{padding-inline-start:36px!important}.ps-md-10{padding-inline-start:40px!important}.ps-md-11{padding-inline-start:44px!important}.ps-md-12{padding-inline-start:48px!important}.ps-md-13{padding-inline-start:52px!important}.ps-md-14{padding-inline-start:56px!important}.ps-md-15{padding-inline-start:60px!important}.ps-md-16{padding-inline-start:64px!important}.pe-md-0{padding-inline-end:0px!important}.pe-md-1{padding-inline-end:4px!important}.pe-md-2{padding-inline-end:8px!important}.pe-md-3{padding-inline-end:12px!important}.pe-md-4{padding-inline-end:16px!important}.pe-md-5{padding-inline-end:20px!important}.pe-md-6{padding-inline-end:24px!important}.pe-md-7{padding-inline-end:28px!important}.pe-md-8{padding-inline-end:32px!important}.pe-md-9{padding-inline-end:36px!important}.pe-md-10{padding-inline-end:40px!important}.pe-md-11{padding-inline-end:44px!important}.pe-md-12{padding-inline-end:48px!important}.pe-md-13{padding-inline-end:52px!important}.pe-md-14{padding-inline-end:56px!important}.pe-md-15{padding-inline-end:60px!important}.pe-md-16{padding-inline-end:64px!important}.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}.text-md-justify{text-align:justify!important}.text-md-start{text-align:start!important}.text-md-end{text-align:end!important}.text-md-h1{font-size:6rem!important;font-weight:300;line-height:1;letter-spacing:-.015625em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-h2{font-size:3.75rem!important;font-weight:300;line-height:1;letter-spacing:-.0083333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-h3{font-size:3rem!important;font-weight:400;line-height:1.05;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-h4{font-size:2.125rem!important;font-weight:400;line-height:1.175;letter-spacing:.0073529412em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-h5{font-size:1.5rem!important;font-weight:400;line-height:1.333;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-h6{font-size:1.25rem!important;font-weight:500;line-height:1.6;letter-spacing:.0125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-subtitle-1{font-size:1rem!important;font-weight:400;line-height:1.75;letter-spacing:.009375em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-subtitle-2{font-size:.875rem!important;font-weight:500;line-height:1.6;letter-spacing:.0071428571em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-body-1{font-size:1rem!important;font-weight:400;line-height:1.5;letter-spacing:.03125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-body-2{font-size:.875rem!important;font-weight:400;line-height:1.425;letter-spacing:.0178571429em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-button{font-size:.875rem!important;font-weight:500;line-height:2.6;letter-spacing:.0892857143em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.text-md-caption{font-size:.75rem!important;font-weight:400;line-height:1.667;letter-spacing:.0333333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-md-overline{font-size:.75rem!important;font-weight:500;line-height:2.667;letter-spacing:.1666666667em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.h-md-auto{height:auto!important}.h-md-screen{height:100vh!important}.h-md-0{height:0!important}.h-md-25{height:25%!important}.h-md-50{height:50%!important}.h-md-75{height:75%!important}.h-md-100{height:100%!important}.w-md-auto{width:auto!important}.w-md-0{width:0!important}.w-md-25{width:25%!important}.w-md-33{width:33%!important}.w-md-50{width:50%!important}.w-md-66{width:66%!important}.w-md-75{width:75%!important}.w-md-100{width:100%!important}}@media (min-width: 1280px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.float-lg-none{float:none!important}.float-lg-left{float:left!important}.float-lg-right{float:right!important}.v-locale--is-rtl .float-lg-end{float:left!important}.v-locale--is-rtl .float-lg-start,.v-locale--is-ltr .float-lg-end{float:right!important}.v-locale--is-ltr .float-lg-start{float:left!important}.flex-lg-fill,.flex-lg-1-1{flex:1 1 auto!important}.flex-lg-1-0{flex:1 0 auto!important}.flex-lg-0-1{flex:0 1 auto!important}.flex-lg-0-0{flex:0 0 auto!important}.flex-lg-1-1-100{flex:1 1 100%!important}.flex-lg-1-0-100{flex:1 0 100%!important}.flex-lg-0-1-100{flex:0 1 100%!important}.flex-lg-0-0-100{flex:0 0 100%!important}.flex-lg-1-1-0{flex:1 1 0!important}.flex-lg-1-0-0{flex:1 0 0!important}.flex-lg-0-1-0{flex:0 1 0!important}.flex-lg-0-0-0{flex:0 0 0!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-lg-start{justify-content:flex-start!important}.justify-lg-end{justify-content:flex-end!important}.justify-lg-center{justify-content:center!important}.justify-lg-space-between{justify-content:space-between!important}.justify-lg-space-around{justify-content:space-around!important}.justify-lg-space-evenly{justify-content:space-evenly!important}.justify-items-lg-start{justify-items:flex-start!important}.justify-items-lg-end{justify-items:flex-end!important}.justify-items-lg-center{justify-items:center!important}.justify-items-lg-stretch{justify-items:stretch!important}.align-lg-start{align-items:flex-start!important}.align-lg-end{align-items:flex-end!important}.align-lg-center{align-items:center!important}.align-lg-baseline{align-items:baseline!important}.align-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-space-between{align-content:space-between!important}.align-content-lg-space-around{align-content:space-around!important}.align-content-lg-space-evenly{align-content:space-evenly!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-6{order:6!important}.order-lg-7{order:7!important}.order-lg-8{order:8!important}.order-lg-9{order:9!important}.order-lg-10{order:10!important}.order-lg-11{order:11!important}.order-lg-12{order:12!important}.order-lg-last{order:13!important}.ga-lg-0{gap:0px!important}.ga-lg-1{gap:4px!important}.ga-lg-2{gap:8px!important}.ga-lg-3{gap:12px!important}.ga-lg-4{gap:16px!important}.ga-lg-5{gap:20px!important}.ga-lg-6{gap:24px!important}.ga-lg-7{gap:28px!important}.ga-lg-8{gap:32px!important}.ga-lg-9{gap:36px!important}.ga-lg-10{gap:40px!important}.ga-lg-11{gap:44px!important}.ga-lg-12{gap:48px!important}.ga-lg-13{gap:52px!important}.ga-lg-14{gap:56px!important}.ga-lg-15{gap:60px!important}.ga-lg-16{gap:64px!important}.ga-lg-auto{gap:auto!important}.gr-lg-0{row-gap:0px!important}.gr-lg-1{row-gap:4px!important}.gr-lg-2{row-gap:8px!important}.gr-lg-3{row-gap:12px!important}.gr-lg-4{row-gap:16px!important}.gr-lg-5{row-gap:20px!important}.gr-lg-6{row-gap:24px!important}.gr-lg-7{row-gap:28px!important}.gr-lg-8{row-gap:32px!important}.gr-lg-9{row-gap:36px!important}.gr-lg-10{row-gap:40px!important}.gr-lg-11{row-gap:44px!important}.gr-lg-12{row-gap:48px!important}.gr-lg-13{row-gap:52px!important}.gr-lg-14{row-gap:56px!important}.gr-lg-15{row-gap:60px!important}.gr-lg-16{row-gap:64px!important}.gr-lg-auto{row-gap:auto!important}.gc-lg-0{column-gap:0px!important}.gc-lg-1{column-gap:4px!important}.gc-lg-2{column-gap:8px!important}.gc-lg-3{column-gap:12px!important}.gc-lg-4{column-gap:16px!important}.gc-lg-5{column-gap:20px!important}.gc-lg-6{column-gap:24px!important}.gc-lg-7{column-gap:28px!important}.gc-lg-8{column-gap:32px!important}.gc-lg-9{column-gap:36px!important}.gc-lg-10{column-gap:40px!important}.gc-lg-11{column-gap:44px!important}.gc-lg-12{column-gap:48px!important}.gc-lg-13{column-gap:52px!important}.gc-lg-14{column-gap:56px!important}.gc-lg-15{column-gap:60px!important}.gc-lg-16{column-gap:64px!important}.gc-lg-auto{column-gap:auto!important}.ma-lg-0{margin:0!important}.ma-lg-1{margin:4px!important}.ma-lg-2{margin:8px!important}.ma-lg-3{margin:12px!important}.ma-lg-4{margin:16px!important}.ma-lg-5{margin:20px!important}.ma-lg-6{margin:24px!important}.ma-lg-7{margin:28px!important}.ma-lg-8{margin:32px!important}.ma-lg-9{margin:36px!important}.ma-lg-10{margin:40px!important}.ma-lg-11{margin:44px!important}.ma-lg-12{margin:48px!important}.ma-lg-13{margin:52px!important}.ma-lg-14{margin:56px!important}.ma-lg-15{margin:60px!important}.ma-lg-16{margin:64px!important}.ma-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:4px!important;margin-left:4px!important}.mx-lg-2{margin-right:8px!important;margin-left:8px!important}.mx-lg-3{margin-right:12px!important;margin-left:12px!important}.mx-lg-4{margin-right:16px!important;margin-left:16px!important}.mx-lg-5{margin-right:20px!important;margin-left:20px!important}.mx-lg-6{margin-right:24px!important;margin-left:24px!important}.mx-lg-7{margin-right:28px!important;margin-left:28px!important}.mx-lg-8{margin-right:32px!important;margin-left:32px!important}.mx-lg-9{margin-right:36px!important;margin-left:36px!important}.mx-lg-10{margin-right:40px!important;margin-left:40px!important}.mx-lg-11{margin-right:44px!important;margin-left:44px!important}.mx-lg-12{margin-right:48px!important;margin-left:48px!important}.mx-lg-13{margin-right:52px!important;margin-left:52px!important}.mx-lg-14{margin-right:56px!important;margin-left:56px!important}.mx-lg-15{margin-right:60px!important;margin-left:60px!important}.mx-lg-16{margin-right:64px!important;margin-left:64px!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:4px!important;margin-bottom:4px!important}.my-lg-2{margin-top:8px!important;margin-bottom:8px!important}.my-lg-3{margin-top:12px!important;margin-bottom:12px!important}.my-lg-4{margin-top:16px!important;margin-bottom:16px!important}.my-lg-5{margin-top:20px!important;margin-bottom:20px!important}.my-lg-6{margin-top:24px!important;margin-bottom:24px!important}.my-lg-7{margin-top:28px!important;margin-bottom:28px!important}.my-lg-8{margin-top:32px!important;margin-bottom:32px!important}.my-lg-9{margin-top:36px!important;margin-bottom:36px!important}.my-lg-10{margin-top:40px!important;margin-bottom:40px!important}.my-lg-11{margin-top:44px!important;margin-bottom:44px!important}.my-lg-12{margin-top:48px!important;margin-bottom:48px!important}.my-lg-13{margin-top:52px!important;margin-bottom:52px!important}.my-lg-14{margin-top:56px!important;margin-bottom:56px!important}.my-lg-15{margin-top:60px!important;margin-bottom:60px!important}.my-lg-16{margin-top:64px!important;margin-bottom:64px!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:4px!important}.mt-lg-2{margin-top:8px!important}.mt-lg-3{margin-top:12px!important}.mt-lg-4{margin-top:16px!important}.mt-lg-5{margin-top:20px!important}.mt-lg-6{margin-top:24px!important}.mt-lg-7{margin-top:28px!important}.mt-lg-8{margin-top:32px!important}.mt-lg-9{margin-top:36px!important}.mt-lg-10{margin-top:40px!important}.mt-lg-11{margin-top:44px!important}.mt-lg-12{margin-top:48px!important}.mt-lg-13{margin-top:52px!important}.mt-lg-14{margin-top:56px!important}.mt-lg-15{margin-top:60px!important}.mt-lg-16{margin-top:64px!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-0{margin-right:0!important}.mr-lg-1{margin-right:4px!important}.mr-lg-2{margin-right:8px!important}.mr-lg-3{margin-right:12px!important}.mr-lg-4{margin-right:16px!important}.mr-lg-5{margin-right:20px!important}.mr-lg-6{margin-right:24px!important}.mr-lg-7{margin-right:28px!important}.mr-lg-8{margin-right:32px!important}.mr-lg-9{margin-right:36px!important}.mr-lg-10{margin-right:40px!important}.mr-lg-11{margin-right:44px!important}.mr-lg-12{margin-right:48px!important}.mr-lg-13{margin-right:52px!important}.mr-lg-14{margin-right:56px!important}.mr-lg-15{margin-right:60px!important}.mr-lg-16{margin-right:64px!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:4px!important}.mb-lg-2{margin-bottom:8px!important}.mb-lg-3{margin-bottom:12px!important}.mb-lg-4{margin-bottom:16px!important}.mb-lg-5{margin-bottom:20px!important}.mb-lg-6{margin-bottom:24px!important}.mb-lg-7{margin-bottom:28px!important}.mb-lg-8{margin-bottom:32px!important}.mb-lg-9{margin-bottom:36px!important}.mb-lg-10{margin-bottom:40px!important}.mb-lg-11{margin-bottom:44px!important}.mb-lg-12{margin-bottom:48px!important}.mb-lg-13{margin-bottom:52px!important}.mb-lg-14{margin-bottom:56px!important}.mb-lg-15{margin-bottom:60px!important}.mb-lg-16{margin-bottom:64px!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-0{margin-left:0!important}.ml-lg-1{margin-left:4px!important}.ml-lg-2{margin-left:8px!important}.ml-lg-3{margin-left:12px!important}.ml-lg-4{margin-left:16px!important}.ml-lg-5{margin-left:20px!important}.ml-lg-6{margin-left:24px!important}.ml-lg-7{margin-left:28px!important}.ml-lg-8{margin-left:32px!important}.ml-lg-9{margin-left:36px!important}.ml-lg-10{margin-left:40px!important}.ml-lg-11{margin-left:44px!important}.ml-lg-12{margin-left:48px!important}.ml-lg-13{margin-left:52px!important}.ml-lg-14{margin-left:56px!important}.ml-lg-15{margin-left:60px!important}.ml-lg-16{margin-left:64px!important}.ml-lg-auto{margin-left:auto!important}.ms-lg-0{margin-inline-start:0px!important}.ms-lg-1{margin-inline-start:4px!important}.ms-lg-2{margin-inline-start:8px!important}.ms-lg-3{margin-inline-start:12px!important}.ms-lg-4{margin-inline-start:16px!important}.ms-lg-5{margin-inline-start:20px!important}.ms-lg-6{margin-inline-start:24px!important}.ms-lg-7{margin-inline-start:28px!important}.ms-lg-8{margin-inline-start:32px!important}.ms-lg-9{margin-inline-start:36px!important}.ms-lg-10{margin-inline-start:40px!important}.ms-lg-11{margin-inline-start:44px!important}.ms-lg-12{margin-inline-start:48px!important}.ms-lg-13{margin-inline-start:52px!important}.ms-lg-14{margin-inline-start:56px!important}.ms-lg-15{margin-inline-start:60px!important}.ms-lg-16{margin-inline-start:64px!important}.ms-lg-auto{margin-inline-start:auto!important}.me-lg-0{margin-inline-end:0px!important}.me-lg-1{margin-inline-end:4px!important}.me-lg-2{margin-inline-end:8px!important}.me-lg-3{margin-inline-end:12px!important}.me-lg-4{margin-inline-end:16px!important}.me-lg-5{margin-inline-end:20px!important}.me-lg-6{margin-inline-end:24px!important}.me-lg-7{margin-inline-end:28px!important}.me-lg-8{margin-inline-end:32px!important}.me-lg-9{margin-inline-end:36px!important}.me-lg-10{margin-inline-end:40px!important}.me-lg-11{margin-inline-end:44px!important}.me-lg-12{margin-inline-end:48px!important}.me-lg-13{margin-inline-end:52px!important}.me-lg-14{margin-inline-end:56px!important}.me-lg-15{margin-inline-end:60px!important}.me-lg-16{margin-inline-end:64px!important}.me-lg-auto{margin-inline-end:auto!important}.ma-lg-n1{margin:-4px!important}.ma-lg-n2{margin:-8px!important}.ma-lg-n3{margin:-12px!important}.ma-lg-n4{margin:-16px!important}.ma-lg-n5{margin:-20px!important}.ma-lg-n6{margin:-24px!important}.ma-lg-n7{margin:-28px!important}.ma-lg-n8{margin:-32px!important}.ma-lg-n9{margin:-36px!important}.ma-lg-n10{margin:-40px!important}.ma-lg-n11{margin:-44px!important}.ma-lg-n12{margin:-48px!important}.ma-lg-n13{margin:-52px!important}.ma-lg-n14{margin:-56px!important}.ma-lg-n15{margin:-60px!important}.ma-lg-n16{margin:-64px!important}.mx-lg-n1{margin-right:-4px!important;margin-left:-4px!important}.mx-lg-n2{margin-right:-8px!important;margin-left:-8px!important}.mx-lg-n3{margin-right:-12px!important;margin-left:-12px!important}.mx-lg-n4{margin-right:-16px!important;margin-left:-16px!important}.mx-lg-n5{margin-right:-20px!important;margin-left:-20px!important}.mx-lg-n6{margin-right:-24px!important;margin-left:-24px!important}.mx-lg-n7{margin-right:-28px!important;margin-left:-28px!important}.mx-lg-n8{margin-right:-32px!important;margin-left:-32px!important}.mx-lg-n9{margin-right:-36px!important;margin-left:-36px!important}.mx-lg-n10{margin-right:-40px!important;margin-left:-40px!important}.mx-lg-n11{margin-right:-44px!important;margin-left:-44px!important}.mx-lg-n12{margin-right:-48px!important;margin-left:-48px!important}.mx-lg-n13{margin-right:-52px!important;margin-left:-52px!important}.mx-lg-n14{margin-right:-56px!important;margin-left:-56px!important}.mx-lg-n15{margin-right:-60px!important;margin-left:-60px!important}.mx-lg-n16{margin-right:-64px!important;margin-left:-64px!important}.my-lg-n1{margin-top:-4px!important;margin-bottom:-4px!important}.my-lg-n2{margin-top:-8px!important;margin-bottom:-8px!important}.my-lg-n3{margin-top:-12px!important;margin-bottom:-12px!important}.my-lg-n4{margin-top:-16px!important;margin-bottom:-16px!important}.my-lg-n5{margin-top:-20px!important;margin-bottom:-20px!important}.my-lg-n6{margin-top:-24px!important;margin-bottom:-24px!important}.my-lg-n7{margin-top:-28px!important;margin-bottom:-28px!important}.my-lg-n8{margin-top:-32px!important;margin-bottom:-32px!important}.my-lg-n9{margin-top:-36px!important;margin-bottom:-36px!important}.my-lg-n10{margin-top:-40px!important;margin-bottom:-40px!important}.my-lg-n11{margin-top:-44px!important;margin-bottom:-44px!important}.my-lg-n12{margin-top:-48px!important;margin-bottom:-48px!important}.my-lg-n13{margin-top:-52px!important;margin-bottom:-52px!important}.my-lg-n14{margin-top:-56px!important;margin-bottom:-56px!important}.my-lg-n15{margin-top:-60px!important;margin-bottom:-60px!important}.my-lg-n16{margin-top:-64px!important;margin-bottom:-64px!important}.mt-lg-n1{margin-top:-4px!important}.mt-lg-n2{margin-top:-8px!important}.mt-lg-n3{margin-top:-12px!important}.mt-lg-n4{margin-top:-16px!important}.mt-lg-n5{margin-top:-20px!important}.mt-lg-n6{margin-top:-24px!important}.mt-lg-n7{margin-top:-28px!important}.mt-lg-n8{margin-top:-32px!important}.mt-lg-n9{margin-top:-36px!important}.mt-lg-n10{margin-top:-40px!important}.mt-lg-n11{margin-top:-44px!important}.mt-lg-n12{margin-top:-48px!important}.mt-lg-n13{margin-top:-52px!important}.mt-lg-n14{margin-top:-56px!important}.mt-lg-n15{margin-top:-60px!important}.mt-lg-n16{margin-top:-64px!important}.mr-lg-n1{margin-right:-4px!important}.mr-lg-n2{margin-right:-8px!important}.mr-lg-n3{margin-right:-12px!important}.mr-lg-n4{margin-right:-16px!important}.mr-lg-n5{margin-right:-20px!important}.mr-lg-n6{margin-right:-24px!important}.mr-lg-n7{margin-right:-28px!important}.mr-lg-n8{margin-right:-32px!important}.mr-lg-n9{margin-right:-36px!important}.mr-lg-n10{margin-right:-40px!important}.mr-lg-n11{margin-right:-44px!important}.mr-lg-n12{margin-right:-48px!important}.mr-lg-n13{margin-right:-52px!important}.mr-lg-n14{margin-right:-56px!important}.mr-lg-n15{margin-right:-60px!important}.mr-lg-n16{margin-right:-64px!important}.mb-lg-n1{margin-bottom:-4px!important}.mb-lg-n2{margin-bottom:-8px!important}.mb-lg-n3{margin-bottom:-12px!important}.mb-lg-n4{margin-bottom:-16px!important}.mb-lg-n5{margin-bottom:-20px!important}.mb-lg-n6{margin-bottom:-24px!important}.mb-lg-n7{margin-bottom:-28px!important}.mb-lg-n8{margin-bottom:-32px!important}.mb-lg-n9{margin-bottom:-36px!important}.mb-lg-n10{margin-bottom:-40px!important}.mb-lg-n11{margin-bottom:-44px!important}.mb-lg-n12{margin-bottom:-48px!important}.mb-lg-n13{margin-bottom:-52px!important}.mb-lg-n14{margin-bottom:-56px!important}.mb-lg-n15{margin-bottom:-60px!important}.mb-lg-n16{margin-bottom:-64px!important}.ml-lg-n1{margin-left:-4px!important}.ml-lg-n2{margin-left:-8px!important}.ml-lg-n3{margin-left:-12px!important}.ml-lg-n4{margin-left:-16px!important}.ml-lg-n5{margin-left:-20px!important}.ml-lg-n6{margin-left:-24px!important}.ml-lg-n7{margin-left:-28px!important}.ml-lg-n8{margin-left:-32px!important}.ml-lg-n9{margin-left:-36px!important}.ml-lg-n10{margin-left:-40px!important}.ml-lg-n11{margin-left:-44px!important}.ml-lg-n12{margin-left:-48px!important}.ml-lg-n13{margin-left:-52px!important}.ml-lg-n14{margin-left:-56px!important}.ml-lg-n15{margin-left:-60px!important}.ml-lg-n16{margin-left:-64px!important}.ms-lg-n1{margin-inline-start:-4px!important}.ms-lg-n2{margin-inline-start:-8px!important}.ms-lg-n3{margin-inline-start:-12px!important}.ms-lg-n4{margin-inline-start:-16px!important}.ms-lg-n5{margin-inline-start:-20px!important}.ms-lg-n6{margin-inline-start:-24px!important}.ms-lg-n7{margin-inline-start:-28px!important}.ms-lg-n8{margin-inline-start:-32px!important}.ms-lg-n9{margin-inline-start:-36px!important}.ms-lg-n10{margin-inline-start:-40px!important}.ms-lg-n11{margin-inline-start:-44px!important}.ms-lg-n12{margin-inline-start:-48px!important}.ms-lg-n13{margin-inline-start:-52px!important}.ms-lg-n14{margin-inline-start:-56px!important}.ms-lg-n15{margin-inline-start:-60px!important}.ms-lg-n16{margin-inline-start:-64px!important}.me-lg-n1{margin-inline-end:-4px!important}.me-lg-n2{margin-inline-end:-8px!important}.me-lg-n3{margin-inline-end:-12px!important}.me-lg-n4{margin-inline-end:-16px!important}.me-lg-n5{margin-inline-end:-20px!important}.me-lg-n6{margin-inline-end:-24px!important}.me-lg-n7{margin-inline-end:-28px!important}.me-lg-n8{margin-inline-end:-32px!important}.me-lg-n9{margin-inline-end:-36px!important}.me-lg-n10{margin-inline-end:-40px!important}.me-lg-n11{margin-inline-end:-44px!important}.me-lg-n12{margin-inline-end:-48px!important}.me-lg-n13{margin-inline-end:-52px!important}.me-lg-n14{margin-inline-end:-56px!important}.me-lg-n15{margin-inline-end:-60px!important}.me-lg-n16{margin-inline-end:-64px!important}.pa-lg-0{padding:0!important}.pa-lg-1{padding:4px!important}.pa-lg-2{padding:8px!important}.pa-lg-3{padding:12px!important}.pa-lg-4{padding:16px!important}.pa-lg-5{padding:20px!important}.pa-lg-6{padding:24px!important}.pa-lg-7{padding:28px!important}.pa-lg-8{padding:32px!important}.pa-lg-9{padding:36px!important}.pa-lg-10{padding:40px!important}.pa-lg-11{padding:44px!important}.pa-lg-12{padding:48px!important}.pa-lg-13{padding:52px!important}.pa-lg-14{padding:56px!important}.pa-lg-15{padding:60px!important}.pa-lg-16{padding:64px!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:4px!important;padding-left:4px!important}.px-lg-2{padding-right:8px!important;padding-left:8px!important}.px-lg-3{padding-right:12px!important;padding-left:12px!important}.px-lg-4{padding-right:16px!important;padding-left:16px!important}.px-lg-5{padding-right:20px!important;padding-left:20px!important}.px-lg-6{padding-right:24px!important;padding-left:24px!important}.px-lg-7{padding-right:28px!important;padding-left:28px!important}.px-lg-8{padding-right:32px!important;padding-left:32px!important}.px-lg-9{padding-right:36px!important;padding-left:36px!important}.px-lg-10{padding-right:40px!important;padding-left:40px!important}.px-lg-11{padding-right:44px!important;padding-left:44px!important}.px-lg-12{padding-right:48px!important;padding-left:48px!important}.px-lg-13{padding-right:52px!important;padding-left:52px!important}.px-lg-14{padding-right:56px!important;padding-left:56px!important}.px-lg-15{padding-right:60px!important;padding-left:60px!important}.px-lg-16{padding-right:64px!important;padding-left:64px!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:4px!important;padding-bottom:4px!important}.py-lg-2{padding-top:8px!important;padding-bottom:8px!important}.py-lg-3{padding-top:12px!important;padding-bottom:12px!important}.py-lg-4{padding-top:16px!important;padding-bottom:16px!important}.py-lg-5{padding-top:20px!important;padding-bottom:20px!important}.py-lg-6{padding-top:24px!important;padding-bottom:24px!important}.py-lg-7{padding-top:28px!important;padding-bottom:28px!important}.py-lg-8{padding-top:32px!important;padding-bottom:32px!important}.py-lg-9{padding-top:36px!important;padding-bottom:36px!important}.py-lg-10{padding-top:40px!important;padding-bottom:40px!important}.py-lg-11{padding-top:44px!important;padding-bottom:44px!important}.py-lg-12{padding-top:48px!important;padding-bottom:48px!important}.py-lg-13{padding-top:52px!important;padding-bottom:52px!important}.py-lg-14{padding-top:56px!important;padding-bottom:56px!important}.py-lg-15{padding-top:60px!important;padding-bottom:60px!important}.py-lg-16{padding-top:64px!important;padding-bottom:64px!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:4px!important}.pt-lg-2{padding-top:8px!important}.pt-lg-3{padding-top:12px!important}.pt-lg-4{padding-top:16px!important}.pt-lg-5{padding-top:20px!important}.pt-lg-6{padding-top:24px!important}.pt-lg-7{padding-top:28px!important}.pt-lg-8{padding-top:32px!important}.pt-lg-9{padding-top:36px!important}.pt-lg-10{padding-top:40px!important}.pt-lg-11{padding-top:44px!important}.pt-lg-12{padding-top:48px!important}.pt-lg-13{padding-top:52px!important}.pt-lg-14{padding-top:56px!important}.pt-lg-15{padding-top:60px!important}.pt-lg-16{padding-top:64px!important}.pr-lg-0{padding-right:0!important}.pr-lg-1{padding-right:4px!important}.pr-lg-2{padding-right:8px!important}.pr-lg-3{padding-right:12px!important}.pr-lg-4{padding-right:16px!important}.pr-lg-5{padding-right:20px!important}.pr-lg-6{padding-right:24px!important}.pr-lg-7{padding-right:28px!important}.pr-lg-8{padding-right:32px!important}.pr-lg-9{padding-right:36px!important}.pr-lg-10{padding-right:40px!important}.pr-lg-11{padding-right:44px!important}.pr-lg-12{padding-right:48px!important}.pr-lg-13{padding-right:52px!important}.pr-lg-14{padding-right:56px!important}.pr-lg-15{padding-right:60px!important}.pr-lg-16{padding-right:64px!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:4px!important}.pb-lg-2{padding-bottom:8px!important}.pb-lg-3{padding-bottom:12px!important}.pb-lg-4{padding-bottom:16px!important}.pb-lg-5{padding-bottom:20px!important}.pb-lg-6{padding-bottom:24px!important}.pb-lg-7{padding-bottom:28px!important}.pb-lg-8{padding-bottom:32px!important}.pb-lg-9{padding-bottom:36px!important}.pb-lg-10{padding-bottom:40px!important}.pb-lg-11{padding-bottom:44px!important}.pb-lg-12{padding-bottom:48px!important}.pb-lg-13{padding-bottom:52px!important}.pb-lg-14{padding-bottom:56px!important}.pb-lg-15{padding-bottom:60px!important}.pb-lg-16{padding-bottom:64px!important}.pl-lg-0{padding-left:0!important}.pl-lg-1{padding-left:4px!important}.pl-lg-2{padding-left:8px!important}.pl-lg-3{padding-left:12px!important}.pl-lg-4{padding-left:16px!important}.pl-lg-5{padding-left:20px!important}.pl-lg-6{padding-left:24px!important}.pl-lg-7{padding-left:28px!important}.pl-lg-8{padding-left:32px!important}.pl-lg-9{padding-left:36px!important}.pl-lg-10{padding-left:40px!important}.pl-lg-11{padding-left:44px!important}.pl-lg-12{padding-left:48px!important}.pl-lg-13{padding-left:52px!important}.pl-lg-14{padding-left:56px!important}.pl-lg-15{padding-left:60px!important}.pl-lg-16{padding-left:64px!important}.ps-lg-0{padding-inline-start:0px!important}.ps-lg-1{padding-inline-start:4px!important}.ps-lg-2{padding-inline-start:8px!important}.ps-lg-3{padding-inline-start:12px!important}.ps-lg-4{padding-inline-start:16px!important}.ps-lg-5{padding-inline-start:20px!important}.ps-lg-6{padding-inline-start:24px!important}.ps-lg-7{padding-inline-start:28px!important}.ps-lg-8{padding-inline-start:32px!important}.ps-lg-9{padding-inline-start:36px!important}.ps-lg-10{padding-inline-start:40px!important}.ps-lg-11{padding-inline-start:44px!important}.ps-lg-12{padding-inline-start:48px!important}.ps-lg-13{padding-inline-start:52px!important}.ps-lg-14{padding-inline-start:56px!important}.ps-lg-15{padding-inline-start:60px!important}.ps-lg-16{padding-inline-start:64px!important}.pe-lg-0{padding-inline-end:0px!important}.pe-lg-1{padding-inline-end:4px!important}.pe-lg-2{padding-inline-end:8px!important}.pe-lg-3{padding-inline-end:12px!important}.pe-lg-4{padding-inline-end:16px!important}.pe-lg-5{padding-inline-end:20px!important}.pe-lg-6{padding-inline-end:24px!important}.pe-lg-7{padding-inline-end:28px!important}.pe-lg-8{padding-inline-end:32px!important}.pe-lg-9{padding-inline-end:36px!important}.pe-lg-10{padding-inline-end:40px!important}.pe-lg-11{padding-inline-end:44px!important}.pe-lg-12{padding-inline-end:48px!important}.pe-lg-13{padding-inline-end:52px!important}.pe-lg-14{padding-inline-end:56px!important}.pe-lg-15{padding-inline-end:60px!important}.pe-lg-16{padding-inline-end:64px!important}.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}.text-lg-justify{text-align:justify!important}.text-lg-start{text-align:start!important}.text-lg-end{text-align:end!important}.text-lg-h1{font-size:6rem!important;font-weight:300;line-height:1;letter-spacing:-.015625em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-h2{font-size:3.75rem!important;font-weight:300;line-height:1;letter-spacing:-.0083333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-h3{font-size:3rem!important;font-weight:400;line-height:1.05;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-h4{font-size:2.125rem!important;font-weight:400;line-height:1.175;letter-spacing:.0073529412em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-h5{font-size:1.5rem!important;font-weight:400;line-height:1.333;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-h6{font-size:1.25rem!important;font-weight:500;line-height:1.6;letter-spacing:.0125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-subtitle-1{font-size:1rem!important;font-weight:400;line-height:1.75;letter-spacing:.009375em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-subtitle-2{font-size:.875rem!important;font-weight:500;line-height:1.6;letter-spacing:.0071428571em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-body-1{font-size:1rem!important;font-weight:400;line-height:1.5;letter-spacing:.03125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-body-2{font-size:.875rem!important;font-weight:400;line-height:1.425;letter-spacing:.0178571429em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-button{font-size:.875rem!important;font-weight:500;line-height:2.6;letter-spacing:.0892857143em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.text-lg-caption{font-size:.75rem!important;font-weight:400;line-height:1.667;letter-spacing:.0333333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-lg-overline{font-size:.75rem!important;font-weight:500;line-height:2.667;letter-spacing:.1666666667em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.h-lg-auto{height:auto!important}.h-lg-screen{height:100vh!important}.h-lg-0{height:0!important}.h-lg-25{height:25%!important}.h-lg-50{height:50%!important}.h-lg-75{height:75%!important}.h-lg-100{height:100%!important}.w-lg-auto{width:auto!important}.w-lg-0{width:0!important}.w-lg-25{width:25%!important}.w-lg-33{width:33%!important}.w-lg-50{width:50%!important}.w-lg-66{width:66%!important}.w-lg-75{width:75%!important}.w-lg-100{width:100%!important}}@media (min-width: 1920px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.float-xl-none{float:none!important}.float-xl-left{float:left!important}.float-xl-right{float:right!important}.v-locale--is-rtl .float-xl-end{float:left!important}.v-locale--is-rtl .float-xl-start,.v-locale--is-ltr .float-xl-end{float:right!important}.v-locale--is-ltr .float-xl-start{float:left!important}.flex-xl-fill,.flex-xl-1-1{flex:1 1 auto!important}.flex-xl-1-0{flex:1 0 auto!important}.flex-xl-0-1{flex:0 1 auto!important}.flex-xl-0-0{flex:0 0 auto!important}.flex-xl-1-1-100{flex:1 1 100%!important}.flex-xl-1-0-100{flex:1 0 100%!important}.flex-xl-0-1-100{flex:0 1 100%!important}.flex-xl-0-0-100{flex:0 0 100%!important}.flex-xl-1-1-0{flex:1 1 0!important}.flex-xl-1-0-0{flex:1 0 0!important}.flex-xl-0-1-0{flex:0 1 0!important}.flex-xl-0-0-0{flex:0 0 0!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-xl-start{justify-content:flex-start!important}.justify-xl-end{justify-content:flex-end!important}.justify-xl-center{justify-content:center!important}.justify-xl-space-between{justify-content:space-between!important}.justify-xl-space-around{justify-content:space-around!important}.justify-xl-space-evenly{justify-content:space-evenly!important}.justify-items-xl-start{justify-items:flex-start!important}.justify-items-xl-end{justify-items:flex-end!important}.justify-items-xl-center{justify-items:center!important}.justify-items-xl-stretch{justify-items:stretch!important}.align-xl-start{align-items:flex-start!important}.align-xl-end{align-items:flex-end!important}.align-xl-center{align-items:center!important}.align-xl-baseline{align-items:baseline!important}.align-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-space-between{align-content:space-between!important}.align-content-xl-space-around{align-content:space-around!important}.align-content-xl-space-evenly{align-content:space-evenly!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-6{order:6!important}.order-xl-7{order:7!important}.order-xl-8{order:8!important}.order-xl-9{order:9!important}.order-xl-10{order:10!important}.order-xl-11{order:11!important}.order-xl-12{order:12!important}.order-xl-last{order:13!important}.ga-xl-0{gap:0px!important}.ga-xl-1{gap:4px!important}.ga-xl-2{gap:8px!important}.ga-xl-3{gap:12px!important}.ga-xl-4{gap:16px!important}.ga-xl-5{gap:20px!important}.ga-xl-6{gap:24px!important}.ga-xl-7{gap:28px!important}.ga-xl-8{gap:32px!important}.ga-xl-9{gap:36px!important}.ga-xl-10{gap:40px!important}.ga-xl-11{gap:44px!important}.ga-xl-12{gap:48px!important}.ga-xl-13{gap:52px!important}.ga-xl-14{gap:56px!important}.ga-xl-15{gap:60px!important}.ga-xl-16{gap:64px!important}.ga-xl-auto{gap:auto!important}.gr-xl-0{row-gap:0px!important}.gr-xl-1{row-gap:4px!important}.gr-xl-2{row-gap:8px!important}.gr-xl-3{row-gap:12px!important}.gr-xl-4{row-gap:16px!important}.gr-xl-5{row-gap:20px!important}.gr-xl-6{row-gap:24px!important}.gr-xl-7{row-gap:28px!important}.gr-xl-8{row-gap:32px!important}.gr-xl-9{row-gap:36px!important}.gr-xl-10{row-gap:40px!important}.gr-xl-11{row-gap:44px!important}.gr-xl-12{row-gap:48px!important}.gr-xl-13{row-gap:52px!important}.gr-xl-14{row-gap:56px!important}.gr-xl-15{row-gap:60px!important}.gr-xl-16{row-gap:64px!important}.gr-xl-auto{row-gap:auto!important}.gc-xl-0{column-gap:0px!important}.gc-xl-1{column-gap:4px!important}.gc-xl-2{column-gap:8px!important}.gc-xl-3{column-gap:12px!important}.gc-xl-4{column-gap:16px!important}.gc-xl-5{column-gap:20px!important}.gc-xl-6{column-gap:24px!important}.gc-xl-7{column-gap:28px!important}.gc-xl-8{column-gap:32px!important}.gc-xl-9{column-gap:36px!important}.gc-xl-10{column-gap:40px!important}.gc-xl-11{column-gap:44px!important}.gc-xl-12{column-gap:48px!important}.gc-xl-13{column-gap:52px!important}.gc-xl-14{column-gap:56px!important}.gc-xl-15{column-gap:60px!important}.gc-xl-16{column-gap:64px!important}.gc-xl-auto{column-gap:auto!important}.ma-xl-0{margin:0!important}.ma-xl-1{margin:4px!important}.ma-xl-2{margin:8px!important}.ma-xl-3{margin:12px!important}.ma-xl-4{margin:16px!important}.ma-xl-5{margin:20px!important}.ma-xl-6{margin:24px!important}.ma-xl-7{margin:28px!important}.ma-xl-8{margin:32px!important}.ma-xl-9{margin:36px!important}.ma-xl-10{margin:40px!important}.ma-xl-11{margin:44px!important}.ma-xl-12{margin:48px!important}.ma-xl-13{margin:52px!important}.ma-xl-14{margin:56px!important}.ma-xl-15{margin:60px!important}.ma-xl-16{margin:64px!important}.ma-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:4px!important;margin-left:4px!important}.mx-xl-2{margin-right:8px!important;margin-left:8px!important}.mx-xl-3{margin-right:12px!important;margin-left:12px!important}.mx-xl-4{margin-right:16px!important;margin-left:16px!important}.mx-xl-5{margin-right:20px!important;margin-left:20px!important}.mx-xl-6{margin-right:24px!important;margin-left:24px!important}.mx-xl-7{margin-right:28px!important;margin-left:28px!important}.mx-xl-8{margin-right:32px!important;margin-left:32px!important}.mx-xl-9{margin-right:36px!important;margin-left:36px!important}.mx-xl-10{margin-right:40px!important;margin-left:40px!important}.mx-xl-11{margin-right:44px!important;margin-left:44px!important}.mx-xl-12{margin-right:48px!important;margin-left:48px!important}.mx-xl-13{margin-right:52px!important;margin-left:52px!important}.mx-xl-14{margin-right:56px!important;margin-left:56px!important}.mx-xl-15{margin-right:60px!important;margin-left:60px!important}.mx-xl-16{margin-right:64px!important;margin-left:64px!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:4px!important;margin-bottom:4px!important}.my-xl-2{margin-top:8px!important;margin-bottom:8px!important}.my-xl-3{margin-top:12px!important;margin-bottom:12px!important}.my-xl-4{margin-top:16px!important;margin-bottom:16px!important}.my-xl-5{margin-top:20px!important;margin-bottom:20px!important}.my-xl-6{margin-top:24px!important;margin-bottom:24px!important}.my-xl-7{margin-top:28px!important;margin-bottom:28px!important}.my-xl-8{margin-top:32px!important;margin-bottom:32px!important}.my-xl-9{margin-top:36px!important;margin-bottom:36px!important}.my-xl-10{margin-top:40px!important;margin-bottom:40px!important}.my-xl-11{margin-top:44px!important;margin-bottom:44px!important}.my-xl-12{margin-top:48px!important;margin-bottom:48px!important}.my-xl-13{margin-top:52px!important;margin-bottom:52px!important}.my-xl-14{margin-top:56px!important;margin-bottom:56px!important}.my-xl-15{margin-top:60px!important;margin-bottom:60px!important}.my-xl-16{margin-top:64px!important;margin-bottom:64px!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:4px!important}.mt-xl-2{margin-top:8px!important}.mt-xl-3{margin-top:12px!important}.mt-xl-4{margin-top:16px!important}.mt-xl-5{margin-top:20px!important}.mt-xl-6{margin-top:24px!important}.mt-xl-7{margin-top:28px!important}.mt-xl-8{margin-top:32px!important}.mt-xl-9{margin-top:36px!important}.mt-xl-10{margin-top:40px!important}.mt-xl-11{margin-top:44px!important}.mt-xl-12{margin-top:48px!important}.mt-xl-13{margin-top:52px!important}.mt-xl-14{margin-top:56px!important}.mt-xl-15{margin-top:60px!important}.mt-xl-16{margin-top:64px!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-0{margin-right:0!important}.mr-xl-1{margin-right:4px!important}.mr-xl-2{margin-right:8px!important}.mr-xl-3{margin-right:12px!important}.mr-xl-4{margin-right:16px!important}.mr-xl-5{margin-right:20px!important}.mr-xl-6{margin-right:24px!important}.mr-xl-7{margin-right:28px!important}.mr-xl-8{margin-right:32px!important}.mr-xl-9{margin-right:36px!important}.mr-xl-10{margin-right:40px!important}.mr-xl-11{margin-right:44px!important}.mr-xl-12{margin-right:48px!important}.mr-xl-13{margin-right:52px!important}.mr-xl-14{margin-right:56px!important}.mr-xl-15{margin-right:60px!important}.mr-xl-16{margin-right:64px!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:4px!important}.mb-xl-2{margin-bottom:8px!important}.mb-xl-3{margin-bottom:12px!important}.mb-xl-4{margin-bottom:16px!important}.mb-xl-5{margin-bottom:20px!important}.mb-xl-6{margin-bottom:24px!important}.mb-xl-7{margin-bottom:28px!important}.mb-xl-8{margin-bottom:32px!important}.mb-xl-9{margin-bottom:36px!important}.mb-xl-10{margin-bottom:40px!important}.mb-xl-11{margin-bottom:44px!important}.mb-xl-12{margin-bottom:48px!important}.mb-xl-13{margin-bottom:52px!important}.mb-xl-14{margin-bottom:56px!important}.mb-xl-15{margin-bottom:60px!important}.mb-xl-16{margin-bottom:64px!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-0{margin-left:0!important}.ml-xl-1{margin-left:4px!important}.ml-xl-2{margin-left:8px!important}.ml-xl-3{margin-left:12px!important}.ml-xl-4{margin-left:16px!important}.ml-xl-5{margin-left:20px!important}.ml-xl-6{margin-left:24px!important}.ml-xl-7{margin-left:28px!important}.ml-xl-8{margin-left:32px!important}.ml-xl-9{margin-left:36px!important}.ml-xl-10{margin-left:40px!important}.ml-xl-11{margin-left:44px!important}.ml-xl-12{margin-left:48px!important}.ml-xl-13{margin-left:52px!important}.ml-xl-14{margin-left:56px!important}.ml-xl-15{margin-left:60px!important}.ml-xl-16{margin-left:64px!important}.ml-xl-auto{margin-left:auto!important}.ms-xl-0{margin-inline-start:0px!important}.ms-xl-1{margin-inline-start:4px!important}.ms-xl-2{margin-inline-start:8px!important}.ms-xl-3{margin-inline-start:12px!important}.ms-xl-4{margin-inline-start:16px!important}.ms-xl-5{margin-inline-start:20px!important}.ms-xl-6{margin-inline-start:24px!important}.ms-xl-7{margin-inline-start:28px!important}.ms-xl-8{margin-inline-start:32px!important}.ms-xl-9{margin-inline-start:36px!important}.ms-xl-10{margin-inline-start:40px!important}.ms-xl-11{margin-inline-start:44px!important}.ms-xl-12{margin-inline-start:48px!important}.ms-xl-13{margin-inline-start:52px!important}.ms-xl-14{margin-inline-start:56px!important}.ms-xl-15{margin-inline-start:60px!important}.ms-xl-16{margin-inline-start:64px!important}.ms-xl-auto{margin-inline-start:auto!important}.me-xl-0{margin-inline-end:0px!important}.me-xl-1{margin-inline-end:4px!important}.me-xl-2{margin-inline-end:8px!important}.me-xl-3{margin-inline-end:12px!important}.me-xl-4{margin-inline-end:16px!important}.me-xl-5{margin-inline-end:20px!important}.me-xl-6{margin-inline-end:24px!important}.me-xl-7{margin-inline-end:28px!important}.me-xl-8{margin-inline-end:32px!important}.me-xl-9{margin-inline-end:36px!important}.me-xl-10{margin-inline-end:40px!important}.me-xl-11{margin-inline-end:44px!important}.me-xl-12{margin-inline-end:48px!important}.me-xl-13{margin-inline-end:52px!important}.me-xl-14{margin-inline-end:56px!important}.me-xl-15{margin-inline-end:60px!important}.me-xl-16{margin-inline-end:64px!important}.me-xl-auto{margin-inline-end:auto!important}.ma-xl-n1{margin:-4px!important}.ma-xl-n2{margin:-8px!important}.ma-xl-n3{margin:-12px!important}.ma-xl-n4{margin:-16px!important}.ma-xl-n5{margin:-20px!important}.ma-xl-n6{margin:-24px!important}.ma-xl-n7{margin:-28px!important}.ma-xl-n8{margin:-32px!important}.ma-xl-n9{margin:-36px!important}.ma-xl-n10{margin:-40px!important}.ma-xl-n11{margin:-44px!important}.ma-xl-n12{margin:-48px!important}.ma-xl-n13{margin:-52px!important}.ma-xl-n14{margin:-56px!important}.ma-xl-n15{margin:-60px!important}.ma-xl-n16{margin:-64px!important}.mx-xl-n1{margin-right:-4px!important;margin-left:-4px!important}.mx-xl-n2{margin-right:-8px!important;margin-left:-8px!important}.mx-xl-n3{margin-right:-12px!important;margin-left:-12px!important}.mx-xl-n4{margin-right:-16px!important;margin-left:-16px!important}.mx-xl-n5{margin-right:-20px!important;margin-left:-20px!important}.mx-xl-n6{margin-right:-24px!important;margin-left:-24px!important}.mx-xl-n7{margin-right:-28px!important;margin-left:-28px!important}.mx-xl-n8{margin-right:-32px!important;margin-left:-32px!important}.mx-xl-n9{margin-right:-36px!important;margin-left:-36px!important}.mx-xl-n10{margin-right:-40px!important;margin-left:-40px!important}.mx-xl-n11{margin-right:-44px!important;margin-left:-44px!important}.mx-xl-n12{margin-right:-48px!important;margin-left:-48px!important}.mx-xl-n13{margin-right:-52px!important;margin-left:-52px!important}.mx-xl-n14{margin-right:-56px!important;margin-left:-56px!important}.mx-xl-n15{margin-right:-60px!important;margin-left:-60px!important}.mx-xl-n16{margin-right:-64px!important;margin-left:-64px!important}.my-xl-n1{margin-top:-4px!important;margin-bottom:-4px!important}.my-xl-n2{margin-top:-8px!important;margin-bottom:-8px!important}.my-xl-n3{margin-top:-12px!important;margin-bottom:-12px!important}.my-xl-n4{margin-top:-16px!important;margin-bottom:-16px!important}.my-xl-n5{margin-top:-20px!important;margin-bottom:-20px!important}.my-xl-n6{margin-top:-24px!important;margin-bottom:-24px!important}.my-xl-n7{margin-top:-28px!important;margin-bottom:-28px!important}.my-xl-n8{margin-top:-32px!important;margin-bottom:-32px!important}.my-xl-n9{margin-top:-36px!important;margin-bottom:-36px!important}.my-xl-n10{margin-top:-40px!important;margin-bottom:-40px!important}.my-xl-n11{margin-top:-44px!important;margin-bottom:-44px!important}.my-xl-n12{margin-top:-48px!important;margin-bottom:-48px!important}.my-xl-n13{margin-top:-52px!important;margin-bottom:-52px!important}.my-xl-n14{margin-top:-56px!important;margin-bottom:-56px!important}.my-xl-n15{margin-top:-60px!important;margin-bottom:-60px!important}.my-xl-n16{margin-top:-64px!important;margin-bottom:-64px!important}.mt-xl-n1{margin-top:-4px!important}.mt-xl-n2{margin-top:-8px!important}.mt-xl-n3{margin-top:-12px!important}.mt-xl-n4{margin-top:-16px!important}.mt-xl-n5{margin-top:-20px!important}.mt-xl-n6{margin-top:-24px!important}.mt-xl-n7{margin-top:-28px!important}.mt-xl-n8{margin-top:-32px!important}.mt-xl-n9{margin-top:-36px!important}.mt-xl-n10{margin-top:-40px!important}.mt-xl-n11{margin-top:-44px!important}.mt-xl-n12{margin-top:-48px!important}.mt-xl-n13{margin-top:-52px!important}.mt-xl-n14{margin-top:-56px!important}.mt-xl-n15{margin-top:-60px!important}.mt-xl-n16{margin-top:-64px!important}.mr-xl-n1{margin-right:-4px!important}.mr-xl-n2{margin-right:-8px!important}.mr-xl-n3{margin-right:-12px!important}.mr-xl-n4{margin-right:-16px!important}.mr-xl-n5{margin-right:-20px!important}.mr-xl-n6{margin-right:-24px!important}.mr-xl-n7{margin-right:-28px!important}.mr-xl-n8{margin-right:-32px!important}.mr-xl-n9{margin-right:-36px!important}.mr-xl-n10{margin-right:-40px!important}.mr-xl-n11{margin-right:-44px!important}.mr-xl-n12{margin-right:-48px!important}.mr-xl-n13{margin-right:-52px!important}.mr-xl-n14{margin-right:-56px!important}.mr-xl-n15{margin-right:-60px!important}.mr-xl-n16{margin-right:-64px!important}.mb-xl-n1{margin-bottom:-4px!important}.mb-xl-n2{margin-bottom:-8px!important}.mb-xl-n3{margin-bottom:-12px!important}.mb-xl-n4{margin-bottom:-16px!important}.mb-xl-n5{margin-bottom:-20px!important}.mb-xl-n6{margin-bottom:-24px!important}.mb-xl-n7{margin-bottom:-28px!important}.mb-xl-n8{margin-bottom:-32px!important}.mb-xl-n9{margin-bottom:-36px!important}.mb-xl-n10{margin-bottom:-40px!important}.mb-xl-n11{margin-bottom:-44px!important}.mb-xl-n12{margin-bottom:-48px!important}.mb-xl-n13{margin-bottom:-52px!important}.mb-xl-n14{margin-bottom:-56px!important}.mb-xl-n15{margin-bottom:-60px!important}.mb-xl-n16{margin-bottom:-64px!important}.ml-xl-n1{margin-left:-4px!important}.ml-xl-n2{margin-left:-8px!important}.ml-xl-n3{margin-left:-12px!important}.ml-xl-n4{margin-left:-16px!important}.ml-xl-n5{margin-left:-20px!important}.ml-xl-n6{margin-left:-24px!important}.ml-xl-n7{margin-left:-28px!important}.ml-xl-n8{margin-left:-32px!important}.ml-xl-n9{margin-left:-36px!important}.ml-xl-n10{margin-left:-40px!important}.ml-xl-n11{margin-left:-44px!important}.ml-xl-n12{margin-left:-48px!important}.ml-xl-n13{margin-left:-52px!important}.ml-xl-n14{margin-left:-56px!important}.ml-xl-n15{margin-left:-60px!important}.ml-xl-n16{margin-left:-64px!important}.ms-xl-n1{margin-inline-start:-4px!important}.ms-xl-n2{margin-inline-start:-8px!important}.ms-xl-n3{margin-inline-start:-12px!important}.ms-xl-n4{margin-inline-start:-16px!important}.ms-xl-n5{margin-inline-start:-20px!important}.ms-xl-n6{margin-inline-start:-24px!important}.ms-xl-n7{margin-inline-start:-28px!important}.ms-xl-n8{margin-inline-start:-32px!important}.ms-xl-n9{margin-inline-start:-36px!important}.ms-xl-n10{margin-inline-start:-40px!important}.ms-xl-n11{margin-inline-start:-44px!important}.ms-xl-n12{margin-inline-start:-48px!important}.ms-xl-n13{margin-inline-start:-52px!important}.ms-xl-n14{margin-inline-start:-56px!important}.ms-xl-n15{margin-inline-start:-60px!important}.ms-xl-n16{margin-inline-start:-64px!important}.me-xl-n1{margin-inline-end:-4px!important}.me-xl-n2{margin-inline-end:-8px!important}.me-xl-n3{margin-inline-end:-12px!important}.me-xl-n4{margin-inline-end:-16px!important}.me-xl-n5{margin-inline-end:-20px!important}.me-xl-n6{margin-inline-end:-24px!important}.me-xl-n7{margin-inline-end:-28px!important}.me-xl-n8{margin-inline-end:-32px!important}.me-xl-n9{margin-inline-end:-36px!important}.me-xl-n10{margin-inline-end:-40px!important}.me-xl-n11{margin-inline-end:-44px!important}.me-xl-n12{margin-inline-end:-48px!important}.me-xl-n13{margin-inline-end:-52px!important}.me-xl-n14{margin-inline-end:-56px!important}.me-xl-n15{margin-inline-end:-60px!important}.me-xl-n16{margin-inline-end:-64px!important}.pa-xl-0{padding:0!important}.pa-xl-1{padding:4px!important}.pa-xl-2{padding:8px!important}.pa-xl-3{padding:12px!important}.pa-xl-4{padding:16px!important}.pa-xl-5{padding:20px!important}.pa-xl-6{padding:24px!important}.pa-xl-7{padding:28px!important}.pa-xl-8{padding:32px!important}.pa-xl-9{padding:36px!important}.pa-xl-10{padding:40px!important}.pa-xl-11{padding:44px!important}.pa-xl-12{padding:48px!important}.pa-xl-13{padding:52px!important}.pa-xl-14{padding:56px!important}.pa-xl-15{padding:60px!important}.pa-xl-16{padding:64px!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:4px!important;padding-left:4px!important}.px-xl-2{padding-right:8px!important;padding-left:8px!important}.px-xl-3{padding-right:12px!important;padding-left:12px!important}.px-xl-4{padding-right:16px!important;padding-left:16px!important}.px-xl-5{padding-right:20px!important;padding-left:20px!important}.px-xl-6{padding-right:24px!important;padding-left:24px!important}.px-xl-7{padding-right:28px!important;padding-left:28px!important}.px-xl-8{padding-right:32px!important;padding-left:32px!important}.px-xl-9{padding-right:36px!important;padding-left:36px!important}.px-xl-10{padding-right:40px!important;padding-left:40px!important}.px-xl-11{padding-right:44px!important;padding-left:44px!important}.px-xl-12{padding-right:48px!important;padding-left:48px!important}.px-xl-13{padding-right:52px!important;padding-left:52px!important}.px-xl-14{padding-right:56px!important;padding-left:56px!important}.px-xl-15{padding-right:60px!important;padding-left:60px!important}.px-xl-16{padding-right:64px!important;padding-left:64px!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:4px!important;padding-bottom:4px!important}.py-xl-2{padding-top:8px!important;padding-bottom:8px!important}.py-xl-3{padding-top:12px!important;padding-bottom:12px!important}.py-xl-4{padding-top:16px!important;padding-bottom:16px!important}.py-xl-5{padding-top:20px!important;padding-bottom:20px!important}.py-xl-6{padding-top:24px!important;padding-bottom:24px!important}.py-xl-7{padding-top:28px!important;padding-bottom:28px!important}.py-xl-8{padding-top:32px!important;padding-bottom:32px!important}.py-xl-9{padding-top:36px!important;padding-bottom:36px!important}.py-xl-10{padding-top:40px!important;padding-bottom:40px!important}.py-xl-11{padding-top:44px!important;padding-bottom:44px!important}.py-xl-12{padding-top:48px!important;padding-bottom:48px!important}.py-xl-13{padding-top:52px!important;padding-bottom:52px!important}.py-xl-14{padding-top:56px!important;padding-bottom:56px!important}.py-xl-15{padding-top:60px!important;padding-bottom:60px!important}.py-xl-16{padding-top:64px!important;padding-bottom:64px!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:4px!important}.pt-xl-2{padding-top:8px!important}.pt-xl-3{padding-top:12px!important}.pt-xl-4{padding-top:16px!important}.pt-xl-5{padding-top:20px!important}.pt-xl-6{padding-top:24px!important}.pt-xl-7{padding-top:28px!important}.pt-xl-8{padding-top:32px!important}.pt-xl-9{padding-top:36px!important}.pt-xl-10{padding-top:40px!important}.pt-xl-11{padding-top:44px!important}.pt-xl-12{padding-top:48px!important}.pt-xl-13{padding-top:52px!important}.pt-xl-14{padding-top:56px!important}.pt-xl-15{padding-top:60px!important}.pt-xl-16{padding-top:64px!important}.pr-xl-0{padding-right:0!important}.pr-xl-1{padding-right:4px!important}.pr-xl-2{padding-right:8px!important}.pr-xl-3{padding-right:12px!important}.pr-xl-4{padding-right:16px!important}.pr-xl-5{padding-right:20px!important}.pr-xl-6{padding-right:24px!important}.pr-xl-7{padding-right:28px!important}.pr-xl-8{padding-right:32px!important}.pr-xl-9{padding-right:36px!important}.pr-xl-10{padding-right:40px!important}.pr-xl-11{padding-right:44px!important}.pr-xl-12{padding-right:48px!important}.pr-xl-13{padding-right:52px!important}.pr-xl-14{padding-right:56px!important}.pr-xl-15{padding-right:60px!important}.pr-xl-16{padding-right:64px!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:4px!important}.pb-xl-2{padding-bottom:8px!important}.pb-xl-3{padding-bottom:12px!important}.pb-xl-4{padding-bottom:16px!important}.pb-xl-5{padding-bottom:20px!important}.pb-xl-6{padding-bottom:24px!important}.pb-xl-7{padding-bottom:28px!important}.pb-xl-8{padding-bottom:32px!important}.pb-xl-9{padding-bottom:36px!important}.pb-xl-10{padding-bottom:40px!important}.pb-xl-11{padding-bottom:44px!important}.pb-xl-12{padding-bottom:48px!important}.pb-xl-13{padding-bottom:52px!important}.pb-xl-14{padding-bottom:56px!important}.pb-xl-15{padding-bottom:60px!important}.pb-xl-16{padding-bottom:64px!important}.pl-xl-0{padding-left:0!important}.pl-xl-1{padding-left:4px!important}.pl-xl-2{padding-left:8px!important}.pl-xl-3{padding-left:12px!important}.pl-xl-4{padding-left:16px!important}.pl-xl-5{padding-left:20px!important}.pl-xl-6{padding-left:24px!important}.pl-xl-7{padding-left:28px!important}.pl-xl-8{padding-left:32px!important}.pl-xl-9{padding-left:36px!important}.pl-xl-10{padding-left:40px!important}.pl-xl-11{padding-left:44px!important}.pl-xl-12{padding-left:48px!important}.pl-xl-13{padding-left:52px!important}.pl-xl-14{padding-left:56px!important}.pl-xl-15{padding-left:60px!important}.pl-xl-16{padding-left:64px!important}.ps-xl-0{padding-inline-start:0px!important}.ps-xl-1{padding-inline-start:4px!important}.ps-xl-2{padding-inline-start:8px!important}.ps-xl-3{padding-inline-start:12px!important}.ps-xl-4{padding-inline-start:16px!important}.ps-xl-5{padding-inline-start:20px!important}.ps-xl-6{padding-inline-start:24px!important}.ps-xl-7{padding-inline-start:28px!important}.ps-xl-8{padding-inline-start:32px!important}.ps-xl-9{padding-inline-start:36px!important}.ps-xl-10{padding-inline-start:40px!important}.ps-xl-11{padding-inline-start:44px!important}.ps-xl-12{padding-inline-start:48px!important}.ps-xl-13{padding-inline-start:52px!important}.ps-xl-14{padding-inline-start:56px!important}.ps-xl-15{padding-inline-start:60px!important}.ps-xl-16{padding-inline-start:64px!important}.pe-xl-0{padding-inline-end:0px!important}.pe-xl-1{padding-inline-end:4px!important}.pe-xl-2{padding-inline-end:8px!important}.pe-xl-3{padding-inline-end:12px!important}.pe-xl-4{padding-inline-end:16px!important}.pe-xl-5{padding-inline-end:20px!important}.pe-xl-6{padding-inline-end:24px!important}.pe-xl-7{padding-inline-end:28px!important}.pe-xl-8{padding-inline-end:32px!important}.pe-xl-9{padding-inline-end:36px!important}.pe-xl-10{padding-inline-end:40px!important}.pe-xl-11{padding-inline-end:44px!important}.pe-xl-12{padding-inline-end:48px!important}.pe-xl-13{padding-inline-end:52px!important}.pe-xl-14{padding-inline-end:56px!important}.pe-xl-15{padding-inline-end:60px!important}.pe-xl-16{padding-inline-end:64px!important}.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}.text-xl-justify{text-align:justify!important}.text-xl-start{text-align:start!important}.text-xl-end{text-align:end!important}.text-xl-h1{font-size:6rem!important;font-weight:300;line-height:1;letter-spacing:-.015625em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-h2{font-size:3.75rem!important;font-weight:300;line-height:1;letter-spacing:-.0083333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-h3{font-size:3rem!important;font-weight:400;line-height:1.05;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-h4{font-size:2.125rem!important;font-weight:400;line-height:1.175;letter-spacing:.0073529412em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-h5{font-size:1.5rem!important;font-weight:400;line-height:1.333;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-h6{font-size:1.25rem!important;font-weight:500;line-height:1.6;letter-spacing:.0125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-subtitle-1{font-size:1rem!important;font-weight:400;line-height:1.75;letter-spacing:.009375em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-subtitle-2{font-size:.875rem!important;font-weight:500;line-height:1.6;letter-spacing:.0071428571em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-body-1{font-size:1rem!important;font-weight:400;line-height:1.5;letter-spacing:.03125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-body-2{font-size:.875rem!important;font-weight:400;line-height:1.425;letter-spacing:.0178571429em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-button{font-size:.875rem!important;font-weight:500;line-height:2.6;letter-spacing:.0892857143em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.text-xl-caption{font-size:.75rem!important;font-weight:400;line-height:1.667;letter-spacing:.0333333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xl-overline{font-size:.75rem!important;font-weight:500;line-height:2.667;letter-spacing:.1666666667em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.h-xl-auto{height:auto!important}.h-xl-screen{height:100vh!important}.h-xl-0{height:0!important}.h-xl-25{height:25%!important}.h-xl-50{height:50%!important}.h-xl-75{height:75%!important}.h-xl-100{height:100%!important}.w-xl-auto{width:auto!important}.w-xl-0{width:0!important}.w-xl-25{width:25%!important}.w-xl-33{width:33%!important}.w-xl-50{width:50%!important}.w-xl-66{width:66%!important}.w-xl-75{width:75%!important}.w-xl-100{width:100%!important}}@media (min-width: 2560px){.d-xxl-none{display:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.float-xxl-none{float:none!important}.float-xxl-left{float:left!important}.float-xxl-right{float:right!important}.v-locale--is-rtl .float-xxl-end{float:left!important}.v-locale--is-rtl .float-xxl-start,.v-locale--is-ltr .float-xxl-end{float:right!important}.v-locale--is-ltr .float-xxl-start{float:left!important}.flex-xxl-fill,.flex-xxl-1-1{flex:1 1 auto!important}.flex-xxl-1-0{flex:1 0 auto!important}.flex-xxl-0-1{flex:0 1 auto!important}.flex-xxl-0-0{flex:0 0 auto!important}.flex-xxl-1-1-100{flex:1 1 100%!important}.flex-xxl-1-0-100{flex:1 0 100%!important}.flex-xxl-0-1-100{flex:0 1 100%!important}.flex-xxl-0-0-100{flex:0 0 100%!important}.flex-xxl-1-1-0{flex:1 1 0!important}.flex-xxl-1-0-0{flex:1 0 0!important}.flex-xxl-0-1-0{flex:0 1 0!important}.flex-xxl-0-0-0{flex:0 0 0!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-xxl-start{justify-content:flex-start!important}.justify-xxl-end{justify-content:flex-end!important}.justify-xxl-center{justify-content:center!important}.justify-xxl-space-between{justify-content:space-between!important}.justify-xxl-space-around{justify-content:space-around!important}.justify-xxl-space-evenly{justify-content:space-evenly!important}.justify-items-xxl-start{justify-items:flex-start!important}.justify-items-xxl-end{justify-items:flex-end!important}.justify-items-xxl-center{justify-items:center!important}.justify-items-xxl-stretch{justify-items:stretch!important}.align-xxl-start{align-items:flex-start!important}.align-xxl-end{align-items:flex-end!important}.align-xxl-center{align-items:center!important}.align-xxl-baseline{align-items:baseline!important}.align-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-space-between{align-content:space-between!important}.align-content-xxl-space-around{align-content:space-around!important}.align-content-xxl-space-evenly{align-content:space-evenly!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-6{order:6!important}.order-xxl-7{order:7!important}.order-xxl-8{order:8!important}.order-xxl-9{order:9!important}.order-xxl-10{order:10!important}.order-xxl-11{order:11!important}.order-xxl-12{order:12!important}.order-xxl-last{order:13!important}.ga-xxl-0{gap:0px!important}.ga-xxl-1{gap:4px!important}.ga-xxl-2{gap:8px!important}.ga-xxl-3{gap:12px!important}.ga-xxl-4{gap:16px!important}.ga-xxl-5{gap:20px!important}.ga-xxl-6{gap:24px!important}.ga-xxl-7{gap:28px!important}.ga-xxl-8{gap:32px!important}.ga-xxl-9{gap:36px!important}.ga-xxl-10{gap:40px!important}.ga-xxl-11{gap:44px!important}.ga-xxl-12{gap:48px!important}.ga-xxl-13{gap:52px!important}.ga-xxl-14{gap:56px!important}.ga-xxl-15{gap:60px!important}.ga-xxl-16{gap:64px!important}.ga-xxl-auto{gap:auto!important}.gr-xxl-0{row-gap:0px!important}.gr-xxl-1{row-gap:4px!important}.gr-xxl-2{row-gap:8px!important}.gr-xxl-3{row-gap:12px!important}.gr-xxl-4{row-gap:16px!important}.gr-xxl-5{row-gap:20px!important}.gr-xxl-6{row-gap:24px!important}.gr-xxl-7{row-gap:28px!important}.gr-xxl-8{row-gap:32px!important}.gr-xxl-9{row-gap:36px!important}.gr-xxl-10{row-gap:40px!important}.gr-xxl-11{row-gap:44px!important}.gr-xxl-12{row-gap:48px!important}.gr-xxl-13{row-gap:52px!important}.gr-xxl-14{row-gap:56px!important}.gr-xxl-15{row-gap:60px!important}.gr-xxl-16{row-gap:64px!important}.gr-xxl-auto{row-gap:auto!important}.gc-xxl-0{column-gap:0px!important}.gc-xxl-1{column-gap:4px!important}.gc-xxl-2{column-gap:8px!important}.gc-xxl-3{column-gap:12px!important}.gc-xxl-4{column-gap:16px!important}.gc-xxl-5{column-gap:20px!important}.gc-xxl-6{column-gap:24px!important}.gc-xxl-7{column-gap:28px!important}.gc-xxl-8{column-gap:32px!important}.gc-xxl-9{column-gap:36px!important}.gc-xxl-10{column-gap:40px!important}.gc-xxl-11{column-gap:44px!important}.gc-xxl-12{column-gap:48px!important}.gc-xxl-13{column-gap:52px!important}.gc-xxl-14{column-gap:56px!important}.gc-xxl-15{column-gap:60px!important}.gc-xxl-16{column-gap:64px!important}.gc-xxl-auto{column-gap:auto!important}.ma-xxl-0{margin:0!important}.ma-xxl-1{margin:4px!important}.ma-xxl-2{margin:8px!important}.ma-xxl-3{margin:12px!important}.ma-xxl-4{margin:16px!important}.ma-xxl-5{margin:20px!important}.ma-xxl-6{margin:24px!important}.ma-xxl-7{margin:28px!important}.ma-xxl-8{margin:32px!important}.ma-xxl-9{margin:36px!important}.ma-xxl-10{margin:40px!important}.ma-xxl-11{margin:44px!important}.ma-xxl-12{margin:48px!important}.ma-xxl-13{margin:52px!important}.ma-xxl-14{margin:56px!important}.ma-xxl-15{margin:60px!important}.ma-xxl-16{margin:64px!important}.ma-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:4px!important;margin-left:4px!important}.mx-xxl-2{margin-right:8px!important;margin-left:8px!important}.mx-xxl-3{margin-right:12px!important;margin-left:12px!important}.mx-xxl-4{margin-right:16px!important;margin-left:16px!important}.mx-xxl-5{margin-right:20px!important;margin-left:20px!important}.mx-xxl-6{margin-right:24px!important;margin-left:24px!important}.mx-xxl-7{margin-right:28px!important;margin-left:28px!important}.mx-xxl-8{margin-right:32px!important;margin-left:32px!important}.mx-xxl-9{margin-right:36px!important;margin-left:36px!important}.mx-xxl-10{margin-right:40px!important;margin-left:40px!important}.mx-xxl-11{margin-right:44px!important;margin-left:44px!important}.mx-xxl-12{margin-right:48px!important;margin-left:48px!important}.mx-xxl-13{margin-right:52px!important;margin-left:52px!important}.mx-xxl-14{margin-right:56px!important;margin-left:56px!important}.mx-xxl-15{margin-right:60px!important;margin-left:60px!important}.mx-xxl-16{margin-right:64px!important;margin-left:64px!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:4px!important;margin-bottom:4px!important}.my-xxl-2{margin-top:8px!important;margin-bottom:8px!important}.my-xxl-3{margin-top:12px!important;margin-bottom:12px!important}.my-xxl-4{margin-top:16px!important;margin-bottom:16px!important}.my-xxl-5{margin-top:20px!important;margin-bottom:20px!important}.my-xxl-6{margin-top:24px!important;margin-bottom:24px!important}.my-xxl-7{margin-top:28px!important;margin-bottom:28px!important}.my-xxl-8{margin-top:32px!important;margin-bottom:32px!important}.my-xxl-9{margin-top:36px!important;margin-bottom:36px!important}.my-xxl-10{margin-top:40px!important;margin-bottom:40px!important}.my-xxl-11{margin-top:44px!important;margin-bottom:44px!important}.my-xxl-12{margin-top:48px!important;margin-bottom:48px!important}.my-xxl-13{margin-top:52px!important;margin-bottom:52px!important}.my-xxl-14{margin-top:56px!important;margin-bottom:56px!important}.my-xxl-15{margin-top:60px!important;margin-bottom:60px!important}.my-xxl-16{margin-top:64px!important;margin-bottom:64px!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:4px!important}.mt-xxl-2{margin-top:8px!important}.mt-xxl-3{margin-top:12px!important}.mt-xxl-4{margin-top:16px!important}.mt-xxl-5{margin-top:20px!important}.mt-xxl-6{margin-top:24px!important}.mt-xxl-7{margin-top:28px!important}.mt-xxl-8{margin-top:32px!important}.mt-xxl-9{margin-top:36px!important}.mt-xxl-10{margin-top:40px!important}.mt-xxl-11{margin-top:44px!important}.mt-xxl-12{margin-top:48px!important}.mt-xxl-13{margin-top:52px!important}.mt-xxl-14{margin-top:56px!important}.mt-xxl-15{margin-top:60px!important}.mt-xxl-16{margin-top:64px!important}.mt-xxl-auto{margin-top:auto!important}.mr-xxl-0{margin-right:0!important}.mr-xxl-1{margin-right:4px!important}.mr-xxl-2{margin-right:8px!important}.mr-xxl-3{margin-right:12px!important}.mr-xxl-4{margin-right:16px!important}.mr-xxl-5{margin-right:20px!important}.mr-xxl-6{margin-right:24px!important}.mr-xxl-7{margin-right:28px!important}.mr-xxl-8{margin-right:32px!important}.mr-xxl-9{margin-right:36px!important}.mr-xxl-10{margin-right:40px!important}.mr-xxl-11{margin-right:44px!important}.mr-xxl-12{margin-right:48px!important}.mr-xxl-13{margin-right:52px!important}.mr-xxl-14{margin-right:56px!important}.mr-xxl-15{margin-right:60px!important}.mr-xxl-16{margin-right:64px!important}.mr-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:4px!important}.mb-xxl-2{margin-bottom:8px!important}.mb-xxl-3{margin-bottom:12px!important}.mb-xxl-4{margin-bottom:16px!important}.mb-xxl-5{margin-bottom:20px!important}.mb-xxl-6{margin-bottom:24px!important}.mb-xxl-7{margin-bottom:28px!important}.mb-xxl-8{margin-bottom:32px!important}.mb-xxl-9{margin-bottom:36px!important}.mb-xxl-10{margin-bottom:40px!important}.mb-xxl-11{margin-bottom:44px!important}.mb-xxl-12{margin-bottom:48px!important}.mb-xxl-13{margin-bottom:52px!important}.mb-xxl-14{margin-bottom:56px!important}.mb-xxl-15{margin-bottom:60px!important}.mb-xxl-16{margin-bottom:64px!important}.mb-xxl-auto{margin-bottom:auto!important}.ml-xxl-0{margin-left:0!important}.ml-xxl-1{margin-left:4px!important}.ml-xxl-2{margin-left:8px!important}.ml-xxl-3{margin-left:12px!important}.ml-xxl-4{margin-left:16px!important}.ml-xxl-5{margin-left:20px!important}.ml-xxl-6{margin-left:24px!important}.ml-xxl-7{margin-left:28px!important}.ml-xxl-8{margin-left:32px!important}.ml-xxl-9{margin-left:36px!important}.ml-xxl-10{margin-left:40px!important}.ml-xxl-11{margin-left:44px!important}.ml-xxl-12{margin-left:48px!important}.ml-xxl-13{margin-left:52px!important}.ml-xxl-14{margin-left:56px!important}.ml-xxl-15{margin-left:60px!important}.ml-xxl-16{margin-left:64px!important}.ml-xxl-auto{margin-left:auto!important}.ms-xxl-0{margin-inline-start:0px!important}.ms-xxl-1{margin-inline-start:4px!important}.ms-xxl-2{margin-inline-start:8px!important}.ms-xxl-3{margin-inline-start:12px!important}.ms-xxl-4{margin-inline-start:16px!important}.ms-xxl-5{margin-inline-start:20px!important}.ms-xxl-6{margin-inline-start:24px!important}.ms-xxl-7{margin-inline-start:28px!important}.ms-xxl-8{margin-inline-start:32px!important}.ms-xxl-9{margin-inline-start:36px!important}.ms-xxl-10{margin-inline-start:40px!important}.ms-xxl-11{margin-inline-start:44px!important}.ms-xxl-12{margin-inline-start:48px!important}.ms-xxl-13{margin-inline-start:52px!important}.ms-xxl-14{margin-inline-start:56px!important}.ms-xxl-15{margin-inline-start:60px!important}.ms-xxl-16{margin-inline-start:64px!important}.ms-xxl-auto{margin-inline-start:auto!important}.me-xxl-0{margin-inline-end:0px!important}.me-xxl-1{margin-inline-end:4px!important}.me-xxl-2{margin-inline-end:8px!important}.me-xxl-3{margin-inline-end:12px!important}.me-xxl-4{margin-inline-end:16px!important}.me-xxl-5{margin-inline-end:20px!important}.me-xxl-6{margin-inline-end:24px!important}.me-xxl-7{margin-inline-end:28px!important}.me-xxl-8{margin-inline-end:32px!important}.me-xxl-9{margin-inline-end:36px!important}.me-xxl-10{margin-inline-end:40px!important}.me-xxl-11{margin-inline-end:44px!important}.me-xxl-12{margin-inline-end:48px!important}.me-xxl-13{margin-inline-end:52px!important}.me-xxl-14{margin-inline-end:56px!important}.me-xxl-15{margin-inline-end:60px!important}.me-xxl-16{margin-inline-end:64px!important}.me-xxl-auto{margin-inline-end:auto!important}.ma-xxl-n1{margin:-4px!important}.ma-xxl-n2{margin:-8px!important}.ma-xxl-n3{margin:-12px!important}.ma-xxl-n4{margin:-16px!important}.ma-xxl-n5{margin:-20px!important}.ma-xxl-n6{margin:-24px!important}.ma-xxl-n7{margin:-28px!important}.ma-xxl-n8{margin:-32px!important}.ma-xxl-n9{margin:-36px!important}.ma-xxl-n10{margin:-40px!important}.ma-xxl-n11{margin:-44px!important}.ma-xxl-n12{margin:-48px!important}.ma-xxl-n13{margin:-52px!important}.ma-xxl-n14{margin:-56px!important}.ma-xxl-n15{margin:-60px!important}.ma-xxl-n16{margin:-64px!important}.mx-xxl-n1{margin-right:-4px!important;margin-left:-4px!important}.mx-xxl-n2{margin-right:-8px!important;margin-left:-8px!important}.mx-xxl-n3{margin-right:-12px!important;margin-left:-12px!important}.mx-xxl-n4{margin-right:-16px!important;margin-left:-16px!important}.mx-xxl-n5{margin-right:-20px!important;margin-left:-20px!important}.mx-xxl-n6{margin-right:-24px!important;margin-left:-24px!important}.mx-xxl-n7{margin-right:-28px!important;margin-left:-28px!important}.mx-xxl-n8{margin-right:-32px!important;margin-left:-32px!important}.mx-xxl-n9{margin-right:-36px!important;margin-left:-36px!important}.mx-xxl-n10{margin-right:-40px!important;margin-left:-40px!important}.mx-xxl-n11{margin-right:-44px!important;margin-left:-44px!important}.mx-xxl-n12{margin-right:-48px!important;margin-left:-48px!important}.mx-xxl-n13{margin-right:-52px!important;margin-left:-52px!important}.mx-xxl-n14{margin-right:-56px!important;margin-left:-56px!important}.mx-xxl-n15{margin-right:-60px!important;margin-left:-60px!important}.mx-xxl-n16{margin-right:-64px!important;margin-left:-64px!important}.my-xxl-n1{margin-top:-4px!important;margin-bottom:-4px!important}.my-xxl-n2{margin-top:-8px!important;margin-bottom:-8px!important}.my-xxl-n3{margin-top:-12px!important;margin-bottom:-12px!important}.my-xxl-n4{margin-top:-16px!important;margin-bottom:-16px!important}.my-xxl-n5{margin-top:-20px!important;margin-bottom:-20px!important}.my-xxl-n6{margin-top:-24px!important;margin-bottom:-24px!important}.my-xxl-n7{margin-top:-28px!important;margin-bottom:-28px!important}.my-xxl-n8{margin-top:-32px!important;margin-bottom:-32px!important}.my-xxl-n9{margin-top:-36px!important;margin-bottom:-36px!important}.my-xxl-n10{margin-top:-40px!important;margin-bottom:-40px!important}.my-xxl-n11{margin-top:-44px!important;margin-bottom:-44px!important}.my-xxl-n12{margin-top:-48px!important;margin-bottom:-48px!important}.my-xxl-n13{margin-top:-52px!important;margin-bottom:-52px!important}.my-xxl-n14{margin-top:-56px!important;margin-bottom:-56px!important}.my-xxl-n15{margin-top:-60px!important;margin-bottom:-60px!important}.my-xxl-n16{margin-top:-64px!important;margin-bottom:-64px!important}.mt-xxl-n1{margin-top:-4px!important}.mt-xxl-n2{margin-top:-8px!important}.mt-xxl-n3{margin-top:-12px!important}.mt-xxl-n4{margin-top:-16px!important}.mt-xxl-n5{margin-top:-20px!important}.mt-xxl-n6{margin-top:-24px!important}.mt-xxl-n7{margin-top:-28px!important}.mt-xxl-n8{margin-top:-32px!important}.mt-xxl-n9{margin-top:-36px!important}.mt-xxl-n10{margin-top:-40px!important}.mt-xxl-n11{margin-top:-44px!important}.mt-xxl-n12{margin-top:-48px!important}.mt-xxl-n13{margin-top:-52px!important}.mt-xxl-n14{margin-top:-56px!important}.mt-xxl-n15{margin-top:-60px!important}.mt-xxl-n16{margin-top:-64px!important}.mr-xxl-n1{margin-right:-4px!important}.mr-xxl-n2{margin-right:-8px!important}.mr-xxl-n3{margin-right:-12px!important}.mr-xxl-n4{margin-right:-16px!important}.mr-xxl-n5{margin-right:-20px!important}.mr-xxl-n6{margin-right:-24px!important}.mr-xxl-n7{margin-right:-28px!important}.mr-xxl-n8{margin-right:-32px!important}.mr-xxl-n9{margin-right:-36px!important}.mr-xxl-n10{margin-right:-40px!important}.mr-xxl-n11{margin-right:-44px!important}.mr-xxl-n12{margin-right:-48px!important}.mr-xxl-n13{margin-right:-52px!important}.mr-xxl-n14{margin-right:-56px!important}.mr-xxl-n15{margin-right:-60px!important}.mr-xxl-n16{margin-right:-64px!important}.mb-xxl-n1{margin-bottom:-4px!important}.mb-xxl-n2{margin-bottom:-8px!important}.mb-xxl-n3{margin-bottom:-12px!important}.mb-xxl-n4{margin-bottom:-16px!important}.mb-xxl-n5{margin-bottom:-20px!important}.mb-xxl-n6{margin-bottom:-24px!important}.mb-xxl-n7{margin-bottom:-28px!important}.mb-xxl-n8{margin-bottom:-32px!important}.mb-xxl-n9{margin-bottom:-36px!important}.mb-xxl-n10{margin-bottom:-40px!important}.mb-xxl-n11{margin-bottom:-44px!important}.mb-xxl-n12{margin-bottom:-48px!important}.mb-xxl-n13{margin-bottom:-52px!important}.mb-xxl-n14{margin-bottom:-56px!important}.mb-xxl-n15{margin-bottom:-60px!important}.mb-xxl-n16{margin-bottom:-64px!important}.ml-xxl-n1{margin-left:-4px!important}.ml-xxl-n2{margin-left:-8px!important}.ml-xxl-n3{margin-left:-12px!important}.ml-xxl-n4{margin-left:-16px!important}.ml-xxl-n5{margin-left:-20px!important}.ml-xxl-n6{margin-left:-24px!important}.ml-xxl-n7{margin-left:-28px!important}.ml-xxl-n8{margin-left:-32px!important}.ml-xxl-n9{margin-left:-36px!important}.ml-xxl-n10{margin-left:-40px!important}.ml-xxl-n11{margin-left:-44px!important}.ml-xxl-n12{margin-left:-48px!important}.ml-xxl-n13{margin-left:-52px!important}.ml-xxl-n14{margin-left:-56px!important}.ml-xxl-n15{margin-left:-60px!important}.ml-xxl-n16{margin-left:-64px!important}.ms-xxl-n1{margin-inline-start:-4px!important}.ms-xxl-n2{margin-inline-start:-8px!important}.ms-xxl-n3{margin-inline-start:-12px!important}.ms-xxl-n4{margin-inline-start:-16px!important}.ms-xxl-n5{margin-inline-start:-20px!important}.ms-xxl-n6{margin-inline-start:-24px!important}.ms-xxl-n7{margin-inline-start:-28px!important}.ms-xxl-n8{margin-inline-start:-32px!important}.ms-xxl-n9{margin-inline-start:-36px!important}.ms-xxl-n10{margin-inline-start:-40px!important}.ms-xxl-n11{margin-inline-start:-44px!important}.ms-xxl-n12{margin-inline-start:-48px!important}.ms-xxl-n13{margin-inline-start:-52px!important}.ms-xxl-n14{margin-inline-start:-56px!important}.ms-xxl-n15{margin-inline-start:-60px!important}.ms-xxl-n16{margin-inline-start:-64px!important}.me-xxl-n1{margin-inline-end:-4px!important}.me-xxl-n2{margin-inline-end:-8px!important}.me-xxl-n3{margin-inline-end:-12px!important}.me-xxl-n4{margin-inline-end:-16px!important}.me-xxl-n5{margin-inline-end:-20px!important}.me-xxl-n6{margin-inline-end:-24px!important}.me-xxl-n7{margin-inline-end:-28px!important}.me-xxl-n8{margin-inline-end:-32px!important}.me-xxl-n9{margin-inline-end:-36px!important}.me-xxl-n10{margin-inline-end:-40px!important}.me-xxl-n11{margin-inline-end:-44px!important}.me-xxl-n12{margin-inline-end:-48px!important}.me-xxl-n13{margin-inline-end:-52px!important}.me-xxl-n14{margin-inline-end:-56px!important}.me-xxl-n15{margin-inline-end:-60px!important}.me-xxl-n16{margin-inline-end:-64px!important}.pa-xxl-0{padding:0!important}.pa-xxl-1{padding:4px!important}.pa-xxl-2{padding:8px!important}.pa-xxl-3{padding:12px!important}.pa-xxl-4{padding:16px!important}.pa-xxl-5{padding:20px!important}.pa-xxl-6{padding:24px!important}.pa-xxl-7{padding:28px!important}.pa-xxl-8{padding:32px!important}.pa-xxl-9{padding:36px!important}.pa-xxl-10{padding:40px!important}.pa-xxl-11{padding:44px!important}.pa-xxl-12{padding:48px!important}.pa-xxl-13{padding:52px!important}.pa-xxl-14{padding:56px!important}.pa-xxl-15{padding:60px!important}.pa-xxl-16{padding:64px!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:4px!important;padding-left:4px!important}.px-xxl-2{padding-right:8px!important;padding-left:8px!important}.px-xxl-3{padding-right:12px!important;padding-left:12px!important}.px-xxl-4{padding-right:16px!important;padding-left:16px!important}.px-xxl-5{padding-right:20px!important;padding-left:20px!important}.px-xxl-6{padding-right:24px!important;padding-left:24px!important}.px-xxl-7{padding-right:28px!important;padding-left:28px!important}.px-xxl-8{padding-right:32px!important;padding-left:32px!important}.px-xxl-9{padding-right:36px!important;padding-left:36px!important}.px-xxl-10{padding-right:40px!important;padding-left:40px!important}.px-xxl-11{padding-right:44px!important;padding-left:44px!important}.px-xxl-12{padding-right:48px!important;padding-left:48px!important}.px-xxl-13{padding-right:52px!important;padding-left:52px!important}.px-xxl-14{padding-right:56px!important;padding-left:56px!important}.px-xxl-15{padding-right:60px!important;padding-left:60px!important}.px-xxl-16{padding-right:64px!important;padding-left:64px!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:4px!important;padding-bottom:4px!important}.py-xxl-2{padding-top:8px!important;padding-bottom:8px!important}.py-xxl-3{padding-top:12px!important;padding-bottom:12px!important}.py-xxl-4{padding-top:16px!important;padding-bottom:16px!important}.py-xxl-5{padding-top:20px!important;padding-bottom:20px!important}.py-xxl-6{padding-top:24px!important;padding-bottom:24px!important}.py-xxl-7{padding-top:28px!important;padding-bottom:28px!important}.py-xxl-8{padding-top:32px!important;padding-bottom:32px!important}.py-xxl-9{padding-top:36px!important;padding-bottom:36px!important}.py-xxl-10{padding-top:40px!important;padding-bottom:40px!important}.py-xxl-11{padding-top:44px!important;padding-bottom:44px!important}.py-xxl-12{padding-top:48px!important;padding-bottom:48px!important}.py-xxl-13{padding-top:52px!important;padding-bottom:52px!important}.py-xxl-14{padding-top:56px!important;padding-bottom:56px!important}.py-xxl-15{padding-top:60px!important;padding-bottom:60px!important}.py-xxl-16{padding-top:64px!important;padding-bottom:64px!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:4px!important}.pt-xxl-2{padding-top:8px!important}.pt-xxl-3{padding-top:12px!important}.pt-xxl-4{padding-top:16px!important}.pt-xxl-5{padding-top:20px!important}.pt-xxl-6{padding-top:24px!important}.pt-xxl-7{padding-top:28px!important}.pt-xxl-8{padding-top:32px!important}.pt-xxl-9{padding-top:36px!important}.pt-xxl-10{padding-top:40px!important}.pt-xxl-11{padding-top:44px!important}.pt-xxl-12{padding-top:48px!important}.pt-xxl-13{padding-top:52px!important}.pt-xxl-14{padding-top:56px!important}.pt-xxl-15{padding-top:60px!important}.pt-xxl-16{padding-top:64px!important}.pr-xxl-0{padding-right:0!important}.pr-xxl-1{padding-right:4px!important}.pr-xxl-2{padding-right:8px!important}.pr-xxl-3{padding-right:12px!important}.pr-xxl-4{padding-right:16px!important}.pr-xxl-5{padding-right:20px!important}.pr-xxl-6{padding-right:24px!important}.pr-xxl-7{padding-right:28px!important}.pr-xxl-8{padding-right:32px!important}.pr-xxl-9{padding-right:36px!important}.pr-xxl-10{padding-right:40px!important}.pr-xxl-11{padding-right:44px!important}.pr-xxl-12{padding-right:48px!important}.pr-xxl-13{padding-right:52px!important}.pr-xxl-14{padding-right:56px!important}.pr-xxl-15{padding-right:60px!important}.pr-xxl-16{padding-right:64px!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:4px!important}.pb-xxl-2{padding-bottom:8px!important}.pb-xxl-3{padding-bottom:12px!important}.pb-xxl-4{padding-bottom:16px!important}.pb-xxl-5{padding-bottom:20px!important}.pb-xxl-6{padding-bottom:24px!important}.pb-xxl-7{padding-bottom:28px!important}.pb-xxl-8{padding-bottom:32px!important}.pb-xxl-9{padding-bottom:36px!important}.pb-xxl-10{padding-bottom:40px!important}.pb-xxl-11{padding-bottom:44px!important}.pb-xxl-12{padding-bottom:48px!important}.pb-xxl-13{padding-bottom:52px!important}.pb-xxl-14{padding-bottom:56px!important}.pb-xxl-15{padding-bottom:60px!important}.pb-xxl-16{padding-bottom:64px!important}.pl-xxl-0{padding-left:0!important}.pl-xxl-1{padding-left:4px!important}.pl-xxl-2{padding-left:8px!important}.pl-xxl-3{padding-left:12px!important}.pl-xxl-4{padding-left:16px!important}.pl-xxl-5{padding-left:20px!important}.pl-xxl-6{padding-left:24px!important}.pl-xxl-7{padding-left:28px!important}.pl-xxl-8{padding-left:32px!important}.pl-xxl-9{padding-left:36px!important}.pl-xxl-10{padding-left:40px!important}.pl-xxl-11{padding-left:44px!important}.pl-xxl-12{padding-left:48px!important}.pl-xxl-13{padding-left:52px!important}.pl-xxl-14{padding-left:56px!important}.pl-xxl-15{padding-left:60px!important}.pl-xxl-16{padding-left:64px!important}.ps-xxl-0{padding-inline-start:0px!important}.ps-xxl-1{padding-inline-start:4px!important}.ps-xxl-2{padding-inline-start:8px!important}.ps-xxl-3{padding-inline-start:12px!important}.ps-xxl-4{padding-inline-start:16px!important}.ps-xxl-5{padding-inline-start:20px!important}.ps-xxl-6{padding-inline-start:24px!important}.ps-xxl-7{padding-inline-start:28px!important}.ps-xxl-8{padding-inline-start:32px!important}.ps-xxl-9{padding-inline-start:36px!important}.ps-xxl-10{padding-inline-start:40px!important}.ps-xxl-11{padding-inline-start:44px!important}.ps-xxl-12{padding-inline-start:48px!important}.ps-xxl-13{padding-inline-start:52px!important}.ps-xxl-14{padding-inline-start:56px!important}.ps-xxl-15{padding-inline-start:60px!important}.ps-xxl-16{padding-inline-start:64px!important}.pe-xxl-0{padding-inline-end:0px!important}.pe-xxl-1{padding-inline-end:4px!important}.pe-xxl-2{padding-inline-end:8px!important}.pe-xxl-3{padding-inline-end:12px!important}.pe-xxl-4{padding-inline-end:16px!important}.pe-xxl-5{padding-inline-end:20px!important}.pe-xxl-6{padding-inline-end:24px!important}.pe-xxl-7{padding-inline-end:28px!important}.pe-xxl-8{padding-inline-end:32px!important}.pe-xxl-9{padding-inline-end:36px!important}.pe-xxl-10{padding-inline-end:40px!important}.pe-xxl-11{padding-inline-end:44px!important}.pe-xxl-12{padding-inline-end:48px!important}.pe-xxl-13{padding-inline-end:52px!important}.pe-xxl-14{padding-inline-end:56px!important}.pe-xxl-15{padding-inline-end:60px!important}.pe-xxl-16{padding-inline-end:64px!important}.text-xxl-left{text-align:left!important}.text-xxl-right{text-align:right!important}.text-xxl-center{text-align:center!important}.text-xxl-justify{text-align:justify!important}.text-xxl-start{text-align:start!important}.text-xxl-end{text-align:end!important}.text-xxl-h1{font-size:6rem!important;font-weight:300;line-height:1;letter-spacing:-.015625em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-h2{font-size:3.75rem!important;font-weight:300;line-height:1;letter-spacing:-.0083333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-h3{font-size:3rem!important;font-weight:400;line-height:1.05;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-h4{font-size:2.125rem!important;font-weight:400;line-height:1.175;letter-spacing:.0073529412em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-h5{font-size:1.5rem!important;font-weight:400;line-height:1.333;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-h6{font-size:1.25rem!important;font-weight:500;line-height:1.6;letter-spacing:.0125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-subtitle-1{font-size:1rem!important;font-weight:400;line-height:1.75;letter-spacing:.009375em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-subtitle-2{font-size:.875rem!important;font-weight:500;line-height:1.6;letter-spacing:.0071428571em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-body-1{font-size:1rem!important;font-weight:400;line-height:1.5;letter-spacing:.03125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-body-2{font-size:.875rem!important;font-weight:400;line-height:1.425;letter-spacing:.0178571429em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-button{font-size:.875rem!important;font-weight:500;line-height:2.6;letter-spacing:.0892857143em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.text-xxl-caption{font-size:.75rem!important;font-weight:400;line-height:1.667;letter-spacing:.0333333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-xxl-overline{font-size:.75rem!important;font-weight:500;line-height:2.667;letter-spacing:.1666666667em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.h-xxl-auto{height:auto!important}.h-xxl-screen{height:100vh!important}.h-xxl-0{height:0!important}.h-xxl-25{height:25%!important}.h-xxl-50{height:50%!important}.h-xxl-75{height:75%!important}.h-xxl-100{height:100%!important}.w-xxl-auto{width:auto!important}.w-xxl-0{width:0!important}.w-xxl-25{width:25%!important}.w-xxl-33{width:33%!important}.w-xxl-50{width:50%!important}.w-xxl-66{width:66%!important}.w-xxl-75{width:75%!important}.w-xxl-100{width:100%!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.float-print-none{float:none!important}.float-print-left{float:left!important}.float-print-right{float:right!important}.v-locale--is-rtl .float-print-end{float:left!important}.v-locale--is-rtl .float-print-start,.v-locale--is-ltr .float-print-end{float:right!important}.v-locale--is-ltr .float-print-start{float:left!important}}.v-btn{align-items:center;border-radius:4px;display:inline-grid;grid-template-areas:"prepend content append";grid-template-columns:max-content auto max-content;font-weight:500;justify-content:center;letter-spacing:.0892857143em;line-height:normal;max-width:100%;outline:none;position:relative;text-decoration:none;text-indent:.0892857143em;text-transform:uppercase;transition-property:box-shadow,transform,opacity,background;transition-duration:.28s;transition-timing-function:cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;vertical-align:middle;flex-shrink:0}.v-locale--is-rtl .v-btn{text-indent:-.0892857143em}.v-btn--size-x-small{--v-btn-size: .625rem;--v-btn-height: 20px;font-size:var(--v-btn-size);min-width:36px;padding:0 8px}.v-btn--size-small{--v-btn-size: .75rem;--v-btn-height: 28px;font-size:var(--v-btn-size);min-width:50px;padding:0 12px}.v-btn--size-default{--v-btn-size: .875rem;--v-btn-height: 36px;font-size:var(--v-btn-size);min-width:64px;padding:0 16px}.v-btn--size-large{--v-btn-size: 1rem;--v-btn-height: 44px;font-size:var(--v-btn-size);min-width:78px;padding:0 20px}.v-btn--size-x-large{--v-btn-size: 1.125rem;--v-btn-height: 52px;font-size:var(--v-btn-size);min-width:92px;padding:0 24px}.v-btn.v-btn--density-default{height:calc(var(--v-btn-height) + 0px)}.v-btn.v-btn--density-comfortable{height:calc(var(--v-btn-height) + -8px)}.v-btn.v-btn--density-compact{height:calc(var(--v-btn-height) + -12px)}.v-btn{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-btn--border{border-width:thin;box-shadow:none}.v-btn--absolute{position:absolute}.v-btn--fixed{position:fixed}.v-btn:hover>.v-btn__overlay{opacity:calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier))}.v-btn:focus-visible>.v-btn__overlay{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-btn:focus>.v-btn__overlay{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}}.v-btn--active>.v-btn__overlay,.v-btn[aria-haspopup=menu][aria-expanded=true]>.v-btn__overlay{opacity:calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier))}.v-btn--active:hover>.v-btn__overlay,.v-btn[aria-haspopup=menu][aria-expanded=true]:hover>.v-btn__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier))}.v-btn--active:focus-visible>.v-btn__overlay,.v-btn[aria-haspopup=menu][aria-expanded=true]:focus-visible>.v-btn__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-btn--active:focus>.v-btn__overlay,.v-btn[aria-haspopup=menu][aria-expanded=true]:focus>.v-btn__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}}.v-btn--variant-plain,.v-btn--variant-outlined,.v-btn--variant-text,.v-btn--variant-tonal{background:transparent;color:inherit}.v-btn--variant-plain{opacity:.62}.v-btn--variant-plain:focus,.v-btn--variant-plain:hover{opacity:1}.v-btn--variant-plain .v-btn__overlay{display:none}.v-btn--variant-elevated,.v-btn--variant-flat{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-btn--variant-elevated{box-shadow:0 3px 1px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 2px 2px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 5px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-btn--variant-flat{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-btn--variant-outlined{border:thin solid currentColor}.v-btn--variant-text .v-btn__overlay{background:currentColor}.v-btn--variant-tonal .v-btn__underlay{background:currentColor;opacity:var(--v-activated-opacity);border-radius:inherit;top:0;right:0;bottom:0;left:0;pointer-events:none}.v-btn .v-btn__underlay{position:absolute}@supports selector(:focus-visible){.v-btn:after{pointer-events:none;border:2px solid currentColor;border-radius:inherit;opacity:0;transition:opacity .2s ease-in-out}.v-btn:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%}.v-btn:focus-visible:after{opacity:calc(.25 * var(--v-theme-overlay-multiplier))}}.v-btn--icon{border-radius:50%;min-width:0;padding:0}.v-btn--icon.v-btn--size-default{--v-btn-size: 1rem}.v-btn--icon.v-btn--density-default{width:calc(var(--v-btn-height) + 12px);height:calc(var(--v-btn-height) + 12px)}.v-btn--icon.v-btn--density-comfortable{width:calc(var(--v-btn-height) + 0px);height:calc(var(--v-btn-height) + 0px)}.v-btn--icon.v-btn--density-compact{width:calc(var(--v-btn-height) + -8px);height:calc(var(--v-btn-height) + -8px)}.v-btn--elevated:hover,.v-btn--elevated:focus{box-shadow:0 2px 4px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 4px 5px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 10px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-btn--elevated:active{box-shadow:0 5px 5px -3px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 8px 10px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 3px 14px 2px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-btn--flat{box-shadow:none}.v-btn--block{display:flex;flex:1 0 auto;min-width:100%}.v-btn--spaced{display:grid;grid-template-columns:max-content 1fr max-content}.v-btn--spaced.v-btn--spaced-start>.v-btn__content{justify-content:end}.v-btn--spaced.v-btn--spaced-end>.v-btn__content{justify-content:start}.v-btn--disabled{pointer-events:none;opacity:.26}.v-btn--disabled:hover{opacity:.26}.v-btn--disabled.v-btn--variant-elevated,.v-btn--disabled.v-btn--variant-flat{box-shadow:none;opacity:1;color:rgba(var(--v-theme-on-surface),.26);background:rgb(var(--v-theme-surface))}.v-btn--disabled.v-btn--variant-elevated .v-btn__overlay,.v-btn--disabled.v-btn--variant-flat .v-btn__overlay{opacity:.4615384615}.v-btn--loading{pointer-events:none}.v-btn--loading .v-btn__content,.v-btn--loading .v-btn__prepend,.v-btn--loading .v-btn__append{opacity:0}.v-btn--stacked{grid-template-areas:"prepend" "content" "append";grid-template-columns:auto;grid-template-rows:max-content max-content max-content;justify-items:center;align-content:center}.v-btn--stacked .v-btn__content{flex-direction:column;line-height:1.25}.v-btn--stacked .v-btn__prepend,.v-btn--stacked .v-btn__append,.v-btn--stacked .v-btn__content>.v-icon--start,.v-btn--stacked .v-btn__content>.v-icon--end{margin-inline:0}.v-btn--stacked .v-btn__prepend,.v-btn--stacked .v-btn__content>.v-icon--start{margin-bottom:4px}.v-btn--stacked .v-btn__append,.v-btn--stacked .v-btn__content>.v-icon--end{margin-top:4px}.v-btn--stacked.v-btn--size-x-small{--v-btn-size: .625rem;--v-btn-height: 56px;font-size:var(--v-btn-size);min-width:56px;padding:0 12px}.v-btn--stacked.v-btn--size-small{--v-btn-size: .75rem;--v-btn-height: 64px;font-size:var(--v-btn-size);min-width:64px;padding:0 14px}.v-btn--stacked.v-btn--size-default{--v-btn-size: .875rem;--v-btn-height: 72px;font-size:var(--v-btn-size);min-width:72px;padding:0 16px}.v-btn--stacked.v-btn--size-large{--v-btn-size: 1rem;--v-btn-height: 80px;font-size:var(--v-btn-size);min-width:80px;padding:0 18px}.v-btn--stacked.v-btn--size-x-large{--v-btn-size: 1.125rem;--v-btn-height: 88px;font-size:var(--v-btn-size);min-width:88px;padding:0 20px}.v-btn--stacked.v-btn--density-default{height:calc(var(--v-btn-height) + 0px)}.v-btn--stacked.v-btn--density-comfortable{height:calc(var(--v-btn-height) + -16px)}.v-btn--stacked.v-btn--density-compact{height:calc(var(--v-btn-height) + -24px)}.v-btn--slim{padding:0 8px}.v-btn--readonly{pointer-events:none}.v-btn--rounded{border-radius:24px}.v-btn--rounded.v-btn--icon{border-radius:4px}.v-btn .v-icon{--v-icon-size-multiplier: .8571428571}.v-btn--icon .v-icon{--v-icon-size-multiplier: 1}.v-btn--stacked .v-icon{--v-icon-size-multiplier: 1.1428571429}.v-btn--stacked.v-btn--block{min-width:100%}.v-btn__loader{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.v-btn__loader>.v-progress-circular{width:1.5em;height:1.5em}.v-btn__content,.v-btn__prepend,.v-btn__append{align-items:center;display:flex;transition:transform,opacity .2s cubic-bezier(.4,0,.2,1)}.v-btn__prepend{grid-area:prepend;margin-inline:calc(var(--v-btn-height) / -9) calc(var(--v-btn-height) / 4.5)}.v-btn--slim .v-btn__prepend{margin-inline-start:0}.v-btn__append{grid-area:append;margin-inline:calc(var(--v-btn-height) / 4.5) calc(var(--v-btn-height) / -9)}.v-btn--slim .v-btn__append{margin-inline-end:0}.v-btn__content{grid-area:content;justify-content:center;white-space:nowrap}.v-btn__content>.v-icon--start{margin-inline:calc(var(--v-btn-height) / -9) calc(var(--v-btn-height) / 4.5)}.v-btn__content>.v-icon--end{margin-inline:calc(var(--v-btn-height) / 4.5) calc(var(--v-btn-height) / -9)}.v-btn--stacked .v-btn__content{white-space:normal}.v-btn__overlay{background-color:currentColor;border-radius:inherit;opacity:0;transition:opacity .2s ease-in-out}.v-btn__overlay,.v-btn__underlay{pointer-events:none}.v-btn__overlay,.v-btn__underlay{position:absolute;top:0;left:0;width:100%;height:100%}.v-pagination .v-btn{width:auto;padding-inline:5px}.v-pagination .v-btn.v-btn--density-default{min-width:calc(var(--v-btn-height) + 12px)}.v-pagination .v-btn.v-btn--density-comfortable{min-width:calc(var(--v-btn-height) + 0px)}.v-pagination .v-btn.v-btn--density-compact{min-width:calc(var(--v-btn-height) + -8px)}.v-pagination .v-btn{border-radius:4px}.v-pagination .v-btn--rounded{border-radius:50%}.v-pagination .v-btn__overlay{transition:none}.v-pagination__prev .v-btn,.v-pagination__next .v-btn{padding-inline:0}.v-pagination__prev .v-btn.v-btn--density-default,.v-pagination__next .v-btn.v-btn--density-default{width:calc(var(--v-btn-height) + 12px)}.v-pagination__prev .v-btn.v-btn--density-comfortable,.v-pagination__next .v-btn.v-btn--density-comfortable{width:calc(var(--v-btn-height) + 0px)}.v-pagination__prev .v-btn.v-btn--density-compact,.v-pagination__next .v-btn.v-btn--density-compact{width:calc(var(--v-btn-height) + -8px)}.v-pagination .v-pagination__item--is-active .v-btn__overlay{opacity:var(--v-border-opacity)}@media (forced-colors: active){.v-btn:not(.v-btn--variant-text,.v-btn--variant-plain){border:thin solid}.v-btn:focus-visible{outline:2px solid;outline-offset:2px}}.v-btn-toggle>.v-btn.v-btn--active:not(.v-btn--disabled)>.v-btn__overlay{opacity:calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier))}.v-btn-toggle>.v-btn.v-btn--active:not(.v-btn--disabled):hover>.v-btn__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier))}.v-btn-toggle>.v-btn.v-btn--active:not(.v-btn--disabled):focus-visible>.v-btn__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-btn-toggle>.v-btn.v-btn--active:not(.v-btn--disabled):focus>.v-btn__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}}.v-btn-toggle>.v-btn.v-btn--active:not(.v-btn--disabled).v-btn--variant-plain{opacity:1}@media (forced-colors: active){.v-btn-toggle>.v-btn:not(.v-btn--disabled){border-color:buttontext!important}.v-btn-toggle>.v-btn:not(.v-btn--disabled):focus-visible{outline:0}.v-btn-toggle>.v-btn:not(.v-btn--disabled):not(.v-btn--active):hover,.v-btn-toggle>.v-btn:not(.v-btn--disabled):not(.v-btn--active):focus-visible{color:highlight;border-color:currentColor!important}.v-btn-toggle>.v-btn--active{color:highlight!important;forced-color-adjust:preserve-parent-color}.v-btn-toggle>.v-btn--active:not(.v-btn--variant-text,.v-btn--variant-plain){background-color:highlight!important;color:highlighttext!important;border-color:highlight!important}}.v-btn-group{display:inline-flex;flex-wrap:nowrap;max-width:100%;min-width:0;overflow-y:hidden;overflow-x:auto;vertical-align:middle}.v-btn-group{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-btn-group--border{border-width:thin;box-shadow:none}.v-btn-group{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-btn-group{border-radius:4px}.v-btn-group{background:transparent;color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-btn-group--density-default.v-btn-group{height:48px}.v-btn-group--density-comfortable.v-btn-group{height:40px}.v-btn-group--density-compact.v-btn-group{height:36px}.v-btn-group .v-btn{border-radius:0;border-color:inherit}.v-btn-group--tile{border-radius:0}.v-btn-group--horizontal .v-btn:not(:last-child){border-inline-end:none}.v-btn-group--horizontal .v-btn:not(:first-child){border-inline-start:none}.v-btn-group--horizontal .v-btn:first-child{border-start-start-radius:inherit;border-end-start-radius:inherit}.v-btn-group--horizontal .v-btn:last-child{border-start-end-radius:inherit;border-end-end-radius:inherit}.v-btn-group--horizontal.v-btn-group--divided .v-btn:not(:last-child){border-inline-end-width:thin;border-inline-end-style:solid;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))}.v-btn-group--vertical{flex-direction:column;height:auto!important}.v-btn-group--vertical .v-btn:not(:last-child){border-block-end:none}.v-btn-group--vertical .v-btn:not(:first-child){border-block-start:none}.v-btn-group--vertical .v-btn:first-child{border-start-start-radius:inherit;border-start-end-radius:inherit}.v-btn-group--vertical .v-btn:last-child{border-end-start-radius:inherit;border-end-end-radius:inherit}.v-btn-group--vertical.v-btn-group--divided .v-btn:not(:last-child){border-block-end-width:thin;border-block-end-style:solid;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))}.v-icon{--v-icon-size-multiplier: 1;align-items:center;display:inline-flex;font-feature-settings:"liga";height:1em;justify-content:center;letter-spacing:normal;line-height:1;position:relative;opacity:var(--v-icon-opacity, 1);text-indent:0;text-align:center;-webkit-user-select:none;user-select:none;vertical-align:middle;width:1em;min-width:1em}.v-icon--clickable{cursor:pointer}.v-icon--disabled{pointer-events:none;opacity:.38}.v-icon--size-x-small{font-size:calc(var(--v-icon-size-multiplier) * 1em)}.v-icon--size-small{font-size:calc(var(--v-icon-size-multiplier) * 1.25em)}.v-icon--size-default{font-size:calc(var(--v-icon-size-multiplier) * 1.5em)}.v-icon--size-large{font-size:calc(var(--v-icon-size-multiplier) * 1.75em)}.v-icon--size-x-large{font-size:calc(var(--v-icon-size-multiplier) * 2em)}.v-icon__svg{fill:currentColor;width:100%;height:100%}.v-icon--start{margin-inline-end:8px}.v-icon--end{margin-inline-start:8px}.v-progress-circular{align-items:center;display:inline-flex;justify-content:center;overflow:hidden;position:relative;vertical-align:middle}.v-progress-circular>svg{width:100%;height:100%;margin:auto;position:absolute;top:0;bottom:0;left:0;right:0;z-index:0}.v-progress-circular__content{align-items:center;display:flex;justify-content:center}.v-progress-circular__underlay{color:rgba(var(--v-border-color),var(--v-border-opacity));stroke:currentColor;z-index:1}.v-progress-circular__overlay{stroke:currentColor;transition:all .2s ease-in-out,stroke-width 0s;z-index:2}.v-progress-circular--revealing{--progress-reveal-duration: $progress-circular-reveal-duration}.v-progress-circular--revealing .v-progress-circular__overlay{transition-duration:var(--progress-reveal-duration),0s}.v-progress-circular--size-x-small{height:16px;width:16px}.v-progress-circular--size-small{height:24px;width:24px}.v-progress-circular--size-default{height:32px;width:32px}.v-progress-circular--size-large{height:48px;width:48px}.v-progress-circular--size-x-large{height:64px;width:64px}.v-progress-circular--indeterminate>svg{animation:progress-circular-rotate 1.4s linear infinite;transform-origin:center center;transition:all .2s ease-in-out}.v-progress-circular--indeterminate .v-progress-circular__overlay{animation:progress-circular-dash 1.4s ease-in-out infinite,progress-circular-rotate 1.4s linear infinite;stroke-dasharray:25,200;stroke-dashoffset:0;stroke-linecap:round;transform-origin:center center;transform:rotate(-90deg)}.v-progress-circular--disable-shrink>svg{animation-duration:.7s}.v-progress-circular--disable-shrink .v-progress-circular__overlay{animation:none}.v-progress-circular--indeterminate:not(.v-progress-circular--visible)>svg,.v-progress-circular--indeterminate:not(.v-progress-circular--visible) .v-progress-circular__overlay{animation-play-state:paused!important}@keyframes progress-circular-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0px}50%{stroke-dasharray:100,200;stroke-dashoffset:-15px}to{stroke-dasharray:100,200;stroke-dashoffset:-124px}}@keyframes progress-circular-rotate{to{transform:rotate(270deg)}}.v-progress-linear{background:transparent;overflow:hidden;position:relative;transition:.2s cubic-bezier(.4,0,.2,1),mask-size 0s;width:100%}@media (forced-colors: active){.v-progress-linear{border:thin solid buttontext}}.v-progress-linear__background,.v-progress-linear__buffer{background:currentColor;bottom:0;left:0;opacity:var(--v-border-opacity);position:absolute;top:0;width:100%;transition-property:width,left,right;transition:inherit}@media (forced-colors: active){.v-progress-linear__buffer{background-color:highlight!important;opacity:.5!important}}.v-progress-linear__content{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.v-progress-linear--clickable .v-progress-linear__content{pointer-events:none}.v-progress-linear__determinate,.v-progress-linear__indeterminate{background:currentColor}@media (forced-colors: active){.v-progress-linear__determinate,.v-progress-linear__indeterminate{background-color:highlight!important}}.v-progress-linear__determinate{height:inherit;left:0;position:absolute;transition:inherit;transition-property:width,left,right}.v-progress-linear__indeterminate .long,.v-progress-linear__indeterminate .short{animation-play-state:paused;animation-duration:2.2s;animation-iteration-count:infinite;bottom:0;height:inherit;left:0;position:absolute;right:auto;top:0;width:auto}.v-progress-linear__indeterminate .long{animation-name:indeterminate-ltr}.v-progress-linear__indeterminate .short{animation-name:indeterminate-short-ltr}.v-progress-linear__stream{animation:stream .25s infinite linear;animation-play-state:paused;bottom:0;left:auto;opacity:.3;pointer-events:none;position:absolute;transition:inherit;transition-property:width,left,right}.v-progress-linear--reverse .v-progress-linear__background,.v-progress-linear--reverse .v-progress-linear__determinate,.v-progress-linear--reverse .v-progress-linear__content,.v-progress-linear--reverse .v-progress-linear__indeterminate .long,.v-progress-linear--reverse .v-progress-linear__indeterminate .short{left:auto;right:0}.v-progress-linear--reverse .v-progress-linear__indeterminate .long{animation-name:indeterminate-rtl}.v-progress-linear--reverse .v-progress-linear__indeterminate .short{animation-name:indeterminate-short-rtl}.v-progress-linear--reverse .v-progress-linear__stream{right:auto}.v-progress-linear--absolute,.v-progress-linear--fixed{left:0;z-index:1}.v-progress-linear--absolute{position:absolute}.v-progress-linear--fixed{position:fixed}.v-progress-linear--rounded{border-radius:9999px}.v-progress-linear--rounded.v-progress-linear--rounded-bar .v-progress-linear__determinate,.v-progress-linear--rounded.v-progress-linear--rounded-bar .v-progress-linear__indeterminate{border-radius:inherit}.v-progress-linear--striped .v-progress-linear__determinate{animation:progress-linear-stripes 1s infinite linear;background-image:linear-gradient(135deg,hsla(0,0%,100%,.25) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.25) 0,hsla(0,0%,100%,.25) 75%,transparent 0,transparent);background-repeat:repeat;background-size:var(--v-progress-linear-height)}.v-progress-linear--active .v-progress-linear__indeterminate .long,.v-progress-linear--active .v-progress-linear__indeterminate .short,.v-progress-linear--active .v-progress-linear__stream{animation-play-state:running}.v-progress-linear--rounded-bar .v-progress-linear__determinate,.v-progress-linear--rounded-bar .v-progress-linear__indeterminate,.v-progress-linear--rounded-bar .v-progress-linear__stream+.v-progress-linear__background{border-radius:9999px}.v-progress-linear--rounded-bar .v-progress-linear__determinate{border-start-start-radius:0;border-end-start-radius:0}@keyframes indeterminate-ltr{0%{left:-90%;right:100%}60%{left:-90%;right:100%}to{left:100%;right:-35%}}@keyframes indeterminate-rtl{0%{left:100%;right:-90%}60%{left:100%;right:-90%}to{left:-35%;right:100%}}@keyframes indeterminate-short-ltr{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@keyframes indeterminate-short-rtl{0%{left:100%;right:-200%}60%{left:-8%;right:107%}to{left:-8%;right:107%}}@keyframes stream{to{transform:translate(var(--v-progress-linear-stream-to))}}@keyframes progress-linear-stripes{0%{background-position-x:var(--v-progress-linear-height)}}.v-ripple__container{color:inherit;border-radius:inherit;position:absolute;width:100%;height:100%;left:0;top:0;overflow:hidden;z-index:0;pointer-events:none;contain:strict}.v-ripple__animation{color:inherit;position:absolute;top:0;left:0;border-radius:50%;background:currentColor;opacity:0;pointer-events:none;overflow:hidden;will-change:transform,opacity}.v-ripple__animation--enter{transition:none;opacity:0}.v-ripple__animation--in{transition:transform .25s cubic-bezier(0,0,.2,1),opacity .1s cubic-bezier(0,0,.2,1);opacity:calc(.25 * var(--v-theme-overlay-multiplier))}@media (prefers-reduced-motion: reduce){.v-ripple__animation--in{transition-property:opacity;transition-duration:.1s}}.v-ripple__animation--out{transition:opacity .3s cubic-bezier(0,0,.2,1);opacity:0}.v-snackbar{justify-content:center;z-index:10000;margin:8px;margin-inline-end:calc(8px + var(--v-scrollbar-offset));padding:var(--v-layout-top) var(--v-layout-right) var(--v-layout-bottom) var(--v-layout-left)}.v-snackbar:not(.v-snackbar--center):not(.v-snackbar--top){align-items:flex-end}.v-snackbar__wrapper{align-items:center;display:flex;max-width:672px;min-height:48px;min-width:344px;overflow:hidden;padding:0}.v-snackbar__wrapper{border-radius:4px}.v-snackbar--variant-plain,.v-snackbar--variant-outlined,.v-snackbar--variant-text,.v-snackbar--variant-tonal{background:transparent;color:inherit}.v-snackbar--variant-plain{opacity:.62}.v-snackbar--variant-plain:focus,.v-snackbar--variant-plain:hover{opacity:1}.v-snackbar--variant-plain .v-snackbar__overlay{display:none}.v-snackbar--variant-elevated,.v-snackbar--variant-flat{background:rgb(var(--v-theme-surface-variant));color:rgb(var(--v-theme-on-surface-variant))}.v-snackbar--variant-elevated{box-shadow:0 3px 5px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 6px 10px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 18px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-snackbar--variant-flat{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-snackbar--variant-outlined{border:thin solid currentColor}.v-snackbar--variant-text .v-snackbar__overlay{background:currentColor}.v-snackbar--variant-tonal .v-snackbar__underlay{background:currentColor;opacity:var(--v-activated-opacity);border-radius:inherit;top:0;right:0;bottom:0;left:0;pointer-events:none}.v-snackbar .v-snackbar__underlay{position:absolute}@media (forced-colors: active){.v-snackbar__wrapper{border:thick solid}}.v-snackbar__content{flex-grow:1;font-size:.875rem;font-weight:400;letter-spacing:.0178571429em;line-height:1.425;margin-right:auto;padding:14px 16px;text-align:initial}.v-snackbar__actions{align-items:center;align-self:center;display:flex;margin-inline-end:8px}.v-snackbar__actions>.v-btn{padding:0 8px;min-width:auto}.v-snackbar__timer{width:100%;position:absolute;top:0}.v-snackbar__timer .v-progress-linear{transition:.2s linear}.v-snackbar--absolute{position:absolute;z-index:1}.v-snackbar--multi-line .v-snackbar__wrapper{min-height:68px}.v-snackbar--vertical .v-snackbar__wrapper{flex-direction:column}.v-snackbar--vertical .v-snackbar__wrapper .v-snackbar__actions{align-self:flex-end;margin-bottom:8px}.v-snackbar--center{align-items:center;justify-content:center}.v-snackbar--top{align-items:flex-start}.v-snackbar--bottom{align-items:flex-end}.v-snackbar--left,.v-snackbar--start{justify-content:flex-start}.v-snackbar--right,.v-snackbar--end{justify-content:flex-end}.v-snackbar-transition-enter-active,.v-snackbar-transition-leave-active{transition-duration:.15s;transition-timing-function:cubic-bezier(0,0,.2,1)}.v-snackbar-transition-enter-active{transition-property:opacity,transform}@media (prefers-reduced-motion: reduce){.v-snackbar-transition-enter-active{transition-property:opacity}}.v-snackbar-transition-enter-from{opacity:0;transform:scale(.8)}.v-snackbar-transition-leave-active{transition-property:opacity}.v-snackbar-transition-leave-to{opacity:0}.v-overlay-container{contain:layout;left:0;pointer-events:none;position:absolute;top:0;display:contents}.v-overlay-scroll-blocked{padding-inline-end:var(--v-scrollbar-offset)}.v-overlay-scroll-blocked:not(html){overflow-y:hidden!important}html.v-overlay-scroll-blocked{position:fixed;top:var(--v-body-scroll-y);left:var(--v-body-scroll-x);width:100%;height:100%}.v-overlay{--v-overlay-opacity: .32;border-radius:inherit;display:flex;left:0;pointer-events:none;position:fixed;top:0;bottom:0;right:0}.v-overlay__content{outline:none;position:absolute;pointer-events:auto;contain:layout}.v-overlay__scrim{pointer-events:auto;background:#000;border-radius:inherit;bottom:0;left:0;opacity:var(--v-overlay-opacity);position:fixed;right:0;top:0}.v-overlay--absolute,.v-overlay--contained .v-overlay__scrim{position:absolute}.v-overlay--scroll-blocked{padding-inline-end:var(--v-scrollbar-offset)}.v-card{display:block;overflow:hidden;overflow-wrap:break-word;position:relative;padding:0;text-decoration:none;transition-duration:.28s;transition-property:box-shadow,opacity,background;transition-timing-function:cubic-bezier(.4,0,.2,1);z-index:0}.v-card{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-card--border{border-width:thin;box-shadow:none}.v-card--absolute{position:absolute}.v-card--fixed{position:fixed}.v-card{border-radius:4px}.v-card:hover>.v-card__overlay{opacity:calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier))}.v-card:focus-visible>.v-card__overlay{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-card:focus>.v-card__overlay{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}}.v-card--active>.v-card__overlay,.v-card[aria-haspopup=menu][aria-expanded=true]>.v-card__overlay{opacity:calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier))}.v-card--active:hover>.v-card__overlay,.v-card[aria-haspopup=menu][aria-expanded=true]:hover>.v-card__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier))}.v-card--active:focus-visible>.v-card__overlay,.v-card[aria-haspopup=menu][aria-expanded=true]:focus-visible>.v-card__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-card--active:focus>.v-card__overlay,.v-card[aria-haspopup=menu][aria-expanded=true]:focus>.v-card__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}}.v-card--variant-plain,.v-card--variant-outlined,.v-card--variant-text,.v-card--variant-tonal{background:transparent;color:inherit}.v-card--variant-plain{opacity:.62}.v-card--variant-plain:focus,.v-card--variant-plain:hover{opacity:1}.v-card--variant-plain .v-card__overlay{display:none}.v-card--variant-elevated,.v-card--variant-flat{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-card--variant-elevated{box-shadow:0 2px 1px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 1px 1px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 3px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-card--variant-flat{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-card--variant-outlined{border:thin solid currentColor}.v-card--variant-text .v-card__overlay{background:currentColor}.v-card--variant-tonal .v-card__underlay{background:currentColor;opacity:var(--v-activated-opacity);border-radius:inherit;top:0;right:0;bottom:0;left:0;pointer-events:none}.v-card .v-card__underlay{position:absolute}.v-card--disabled{pointer-events:none;-webkit-user-select:none;user-select:none}.v-card--disabled>:not(.v-card__loader){opacity:.6}.v-card--flat{box-shadow:none}.v-card--hover{cursor:pointer}.v-card--hover:before,.v-card--hover:after{border-radius:inherit;bottom:0;content:"";display:block;left:0;pointer-events:none;position:absolute;right:0;top:0;transition:inherit}.v-card--hover:before{opacity:1;z-index:-1}.v-card--hover:before{box-shadow:0 2px 1px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 1px 1px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 3px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-card--hover:after{z-index:1;opacity:0}.v-card--hover:after{box-shadow:0 5px 5px -3px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 8px 10px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 3px 14px 2px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-card--hover:hover:after{opacity:1}.v-card--hover:hover:before{opacity:0}.v-card--hover:hover{box-shadow:0 5px 5px -3px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 8px 10px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 3px 14px 2px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-card--link{cursor:pointer}.v-card-actions{align-items:center;display:flex;flex:none;min-height:52px;padding:.5rem;gap:.5rem}.v-card-item{align-items:center;display:grid;flex:none;grid-template-areas:"prepend content append";grid-template-columns:max-content auto max-content;padding:.625rem 1rem}.v-card-item+.v-card-text{padding-top:0}.v-card-item__prepend,.v-card-item__append{align-items:center;display:flex}.v-card-item__prepend{grid-area:prepend;padding-inline-end:.5rem}.v-card-item__append{grid-area:append;padding-inline-start:.5rem}.v-card-item__content{align-self:center;grid-area:content;overflow:hidden}.v-card-title{display:block;flex:none;font-size:1.25rem;font-weight:500;-webkit-hyphens:auto;hyphens:auto;letter-spacing:.0125em;min-width:0;overflow-wrap:normal;overflow:hidden;padding:.5rem 1rem;text-overflow:ellipsis;text-transform:none;white-space:nowrap;word-break:normal;word-wrap:break-word}.v-card .v-card-title{line-height:1.6}.v-card--density-comfortable .v-card-title{line-height:1.75rem}.v-card--density-compact .v-card-title{line-height:1.55rem}.v-card-item .v-card-title{padding:0}.v-card-title+.v-card-text,.v-card-title+.v-card-actions{padding-top:0}.v-card-subtitle{display:block;flex:none;font-size:.875rem;font-weight:400;letter-spacing:.0178571429em;opacity:var(--v-card-subtitle-opacity, var(--v-medium-emphasis-opacity));overflow:hidden;padding:0 1rem;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.v-card .v-card-subtitle{line-height:1.425}.v-card--density-comfortable .v-card-subtitle{line-height:1.125rem}.v-card--density-compact .v-card-subtitle{line-height:1rem}.v-card-item .v-card-subtitle{padding:0 0 .25rem}.v-card-text{flex:1 1 auto;font-size:.875rem;font-weight:400;letter-spacing:.0178571429em;opacity:var(--v-card-text-opacity, 1);padding:1rem;text-transform:none}.v-card .v-card-text{line-height:1.425}.v-card--density-comfortable .v-card-text{line-height:1.2rem}.v-card--density-compact .v-card-text{line-height:1.15rem}.v-card__image{display:flex;height:100%;flex:1 1 auto;left:0;overflow:hidden;position:absolute;top:0;width:100%;z-index:-1}.v-card__content{border-radius:inherit;overflow:hidden;position:relative}.v-card__loader{bottom:auto;top:0;left:0;position:absolute;right:0;width:100%;z-index:1}@media (forced-colors: active){.v-card__loader .v-progress-linear{border:none}}.v-card__overlay{background-color:currentColor;border-radius:inherit;position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;transition:opacity .2s ease-in-out}@media (forced-colors: active){.v-card:not(.v-card--variant-text,.v-card--variant-plain){border:thin solid}}.v-avatar{flex:none;align-items:center;display:inline-flex;justify-content:center;line-height:normal;overflow:hidden;position:relative;text-align:center;transition:.2s cubic-bezier(.4,0,.2,1);transition-property:width,height;vertical-align:middle}.v-avatar.v-avatar--size-x-small{--v-avatar-height: 24px}.v-avatar.v-avatar--size-small{--v-avatar-height: 32px}.v-avatar.v-avatar--size-default{--v-avatar-height: 40px}.v-avatar.v-avatar--size-large{--v-avatar-height: 48px}.v-avatar.v-avatar--size-x-large{--v-avatar-height: 56px}.v-avatar.v-avatar--density-default{height:calc(var(--v-avatar-height) + 0px);width:calc(var(--v-avatar-height) + 0px)}.v-avatar.v-avatar--density-comfortable{height:calc(var(--v-avatar-height) + -4px);width:calc(var(--v-avatar-height) + -4px)}.v-avatar.v-avatar--density-compact{height:calc(var(--v-avatar-height) + -8px);width:calc(var(--v-avatar-height) + -8px)}.v-avatar{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-avatar--border{border-width:thin;box-shadow:none}.v-avatar{border-radius:50%}.v-avatar--variant-plain,.v-avatar--variant-outlined,.v-avatar--variant-text,.v-avatar--variant-tonal{background:transparent;color:inherit}.v-avatar--variant-plain{opacity:.62}.v-avatar--variant-plain:focus,.v-avatar--variant-plain:hover{opacity:1}.v-avatar--variant-plain .v-avatar__overlay{display:none}.v-avatar--variant-elevated,.v-avatar--variant-flat{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-medium-emphasis-opacity))}.v-avatar--variant-elevated{box-shadow:0 2px 1px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 1px 1px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 3px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-avatar--variant-flat{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-avatar--variant-outlined{border:thin solid currentColor}.v-avatar--variant-text .v-avatar__overlay{background:currentColor}.v-avatar--variant-tonal .v-avatar__underlay{background:currentColor;opacity:var(--v-activated-opacity);border-radius:inherit;top:0;right:0;bottom:0;left:0;pointer-events:none}.v-avatar .v-avatar__underlay{position:absolute}.v-avatar--rounded{border-radius:4px}.v-avatar--start{margin-inline-end:8px}.v-avatar--end{margin-inline-start:8px}.v-avatar .v-img{height:100%;width:100%}.v-img{--v-theme-overlay-multiplier: 3;z-index:0}.v-img.v-img--absolute{height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%;z-index:-1}.v-img.v-img--fit-content{max-width:fit-content}.v-img.v-img--fit-content>.v-img__img{position:relative}.v-img.v-img--fit-content>.v-responsive__sizer{display:none}.v-img--booting .v-responsive__sizer{transition:none}.v-img--rounded{border-radius:4px}.v-img__img,.v-img__picture,.v-img__gradient,.v-img__placeholder,.v-img__error{z-index:-1}.v-img__img,.v-img__picture,.v-img__gradient,.v-img__placeholder,.v-img__error{position:absolute;top:0;left:0;width:100%;height:100%}.v-img__img--preload{filter:blur(4px)}.v-img__img--contain{object-fit:contain}.v-img__img--cover{object-fit:cover}.v-img__gradient{background-repeat:no-repeat}.v-responsive{display:flex;flex:1 0 auto;max-height:100%;max-width:100%;overflow:hidden;position:relative}.v-responsive--inline{display:inline-flex;flex:0 0 auto}.v-responsive__content{flex:1 0 0px;max-width:100%}.v-responsive__sizer~.v-responsive__content{margin-inline-start:-100%}.v-responsive__sizer{flex:1 0 0px;transition:padding-bottom .2s cubic-bezier(.4,0,.2,1);pointer-events:none}.v-dialog{align-items:center;justify-content:center;margin:auto}.v-dialog>.v-overlay__content{max-height:calc(100% - 48px);width:calc(100% - 48px);max-width:calc(100% - 48px);margin:24px}.v-dialog>.v-overlay__content,.v-dialog>.v-overlay__content>form{display:flex;flex-direction:column;min-height:0}.v-dialog>.v-overlay__content>.v-card,.v-dialog>.v-overlay__content>.v-sheet,.v-dialog>.v-overlay__content>form>.v-card,.v-dialog>.v-overlay__content>form>.v-sheet{--v-scrollbar-offset: 0px;border-radius:4px;overflow-y:auto;flex:1 1 var(--v-card-height, 100%)}.v-dialog>.v-overlay__content>.v-card,.v-dialog>.v-overlay__content>.v-sheet,.v-dialog>.v-overlay__content>form>.v-card,.v-dialog>.v-overlay__content>form>.v-sheet{box-shadow:0 11px 15px -7px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 24px 38px 3px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 9px 46px 8px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-dialog>.v-overlay__content>.v-card,.v-dialog>.v-overlay__content>form>.v-card{display:flex;flex-direction:column}.v-dialog>.v-overlay__content>.v-card>.v-card-item,.v-dialog>.v-overlay__content>form>.v-card>.v-card-item{padding:16px 24px}.v-dialog>.v-overlay__content>.v-card>.v-card-item+.v-card-text,.v-dialog>.v-overlay__content>form>.v-card>.v-card-item+.v-card-text{padding-top:0}.v-dialog>.v-overlay__content>.v-card>.v-card-text,.v-dialog>.v-overlay__content>form>.v-card>.v-card-text{font-size:inherit;letter-spacing:.03125em;line-height:inherit;padding:16px 24px 24px}.v-dialog>.v-overlay__content>.v-card>.v-card-actions,.v-dialog>.v-overlay__content>form>.v-card>.v-card-actions{justify-content:flex-end}.v-dialog--fullscreen{--v-scrollbar-offset: 0px}.v-dialog--fullscreen>.v-overlay__content{border-radius:0;margin:0;padding:0;width:100%;height:100%;max-width:100%;max-height:100%;overflow-y:auto;top:0;left:0}.v-dialog--fullscreen>.v-overlay__content>.v-card,.v-dialog--fullscreen>.v-overlay__content>.v-sheet,.v-dialog--fullscreen>.v-overlay__content>form>.v-card,.v-dialog--fullscreen>.v-overlay__content>form>.v-sheet{min-height:100%;min-width:100%;border-radius:0}.v-dialog--scrollable>.v-overlay__content>form,.v-dialog--scrollable>.v-overlay__content>form>.v-card{max-height:100%;max-width:100%}.v-dialog--scrollable>.v-overlay__content,.v-dialog--scrollable>.v-overlay__content>.v-card,.v-dialog--scrollable>.v-overlay__content>form,.v-dialog--scrollable>.v-overlay__content>form>.v-card{display:flex;flex:1 1 var(--v-card-height, 100%);flex-direction:column}.v-dialog--scrollable>.v-overlay__content>.v-card>.v-card-text,.v-dialog--scrollable>.v-overlay__content>form>.v-card>.v-card-text{backface-visibility:hidden;overflow-y:auto}.v-divider{color:inherit;display:block;flex:1 1 100%;height:0px;max-height:0px;opacity:var(--v-border-opacity);transition:inherit}.v-divider{border-style:solid;border-width:thin 0 0 0}.v-divider--vertical{align-self:stretch;border-width:0 thin 0 0;display:inline-flex;height:auto;margin-left:-1px;max-height:100%;max-width:0px;vertical-align:text-bottom;width:0px}.v-divider--inset:not(.v-divider--vertical){max-width:calc(100% - 72px);margin-inline-start:72px}.v-divider--inset.v-divider--vertical{margin-bottom:8px;margin-top:8px;max-height:calc(100% - 16px)}.v-divider--gradient{-webkit-mask-image:linear-gradient(90deg,transparent,#000,transparent);mask-image:linear-gradient(90deg,transparent,#000,transparent)}.v-divider--gradient.v-divider--vertical{-webkit-mask-image:linear-gradient(0deg,transparent,#000,transparent);mask-image:linear-gradient(0deg,transparent,#000,transparent)}.v-divider__content{padding:0 16px;text-wrap:nowrap}.v-divider__wrapper--vertical .v-divider__content{padding:4px 0}.v-divider__wrapper{display:flex;align-items:center;justify-content:center}.v-divider__wrapper--vertical{flex-direction:column;height:100%}.v-divider__wrapper--vertical .v-divider{margin:0 auto}.v-divider__wrapper--gradient{-webkit-mask-image:linear-gradient(90deg,transparent,#000,transparent);mask-image:linear-gradient(90deg,transparent,#000,transparent)}.v-divider__wrapper--gradient.v-divider__wrapper--vertical{-webkit-mask-image:linear-gradient(0deg,transparent,#000,transparent);mask-image:linear-gradient(0deg,transparent,#000,transparent)}.v-spacer{flex-grow:1}.v-list{overflow:auto;padding:8px 0;position:relative;outline:none}.v-list{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-list--border{border-width:thin;box-shadow:none}.v-list{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-list{border-radius:0}.v-list{background:rgba(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-list--disabled{pointer-events:none;-webkit-user-select:none;user-select:none}.v-list--nav{padding-inline:8px}.v-list--nav .v-list-item:not(:first-child),.v-list--nav .v-list-group:not(:first-child)>.v-list-item,.v-list--nav .v-list-group__items>.v-list-item,.v-list--nav .v-list-group__items>.v-list-group{margin-top:4px}.v-list--rounded{border-radius:4px}.v-list--subheader{padding-top:0}.v-list-img{border-radius:inherit;display:flex;height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%;z-index:-1}.v-list-subheader{align-items:center;background:inherit;color:rgba(var(--v-theme-on-surface),var(--v-medium-emphasis-opacity));display:flex;font-size:.875rem;font-weight:400;line-height:1.375rem;padding-inline-end:16px;min-height:40px;transition:.2s min-height cubic-bezier(.4,0,.2,1)}.v-list-subheader__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v-list--density-default .v-list-subheader{min-height:40px;padding-inline-start:calc(16px + var(--indent-padding))!important}.v-list--density-comfortable .v-list-subheader{min-height:36px;padding-inline-start:calc(16px + var(--indent-padding))!important}.v-list--density-compact .v-list-subheader{min-height:32px;padding-inline-start:calc(16px + var(--indent-padding))!important}.v-list-subheader--inset{--indent-padding: 56px}.v-list--nav .v-list-subheader{font-size:.75rem}.v-list-subheader--sticky{background:inherit;left:0;position:sticky;top:0;z-index:1}.v-list__overlay{background-color:currentColor;border-radius:inherit;bottom:0;left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .2s ease-in-out}.v-list-item{align-items:center;display:grid;flex:none;grid-template-areas:"prepend content append";grid-template-columns:max-content 1fr auto;outline:none;max-width:100%;padding:4px 16px;position:relative;text-decoration:none}.v-list-item{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-list-item--border{border-width:thin;box-shadow:none}.v-list-item:hover>.v-list-item__overlay{opacity:calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier))}.v-list-item:focus-visible>.v-list-item__overlay{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-list-item:focus>.v-list-item__overlay{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}}.v-list-item--active>.v-list-item__overlay,.v-list-item[aria-haspopup=menu][aria-expanded=true]>.v-list-item__overlay{opacity:calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier))}.v-list-item--active:hover>.v-list-item__overlay,.v-list-item[aria-haspopup=menu][aria-expanded=true]:hover>.v-list-item__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier))}.v-list-item--active:focus-visible>.v-list-item__overlay,.v-list-item[aria-haspopup=menu][aria-expanded=true]:focus-visible>.v-list-item__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-list-item--active:focus>.v-list-item__overlay,.v-list-item[aria-haspopup=menu][aria-expanded=true]:focus>.v-list-item__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}}.v-list-item{border-radius:0}.v-list-item--variant-plain,.v-list-item--variant-outlined,.v-list-item--variant-text,.v-list-item--variant-tonal{background:transparent;color:inherit}.v-list-item--variant-plain{opacity:.62}.v-list-item--variant-plain:focus,.v-list-item--variant-plain:hover{opacity:1}.v-list-item--variant-plain .v-list-item__overlay{display:none}.v-list-item--variant-elevated,.v-list-item--variant-flat{background:rgba(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-list-item--variant-elevated{box-shadow:0 2px 1px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 1px 1px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 3px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-list-item--variant-flat{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-list-item--variant-outlined{border:thin solid currentColor}.v-list-item--variant-text .v-list-item__overlay{background:currentColor}.v-list-item--variant-tonal .v-list-item__underlay{background:currentColor;opacity:var(--v-activated-opacity);border-radius:inherit;top:0;right:0;bottom:0;left:0;pointer-events:none}.v-list-item .v-list-item__underlay{position:absolute}.v-list-item--focus-visible .v-list-item__overlay{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}@supports selector(:focus-visible){.v-list-item:after{pointer-events:none;border:2px solid currentColor;border-radius:4px;opacity:0;transition:opacity .2s ease-in-out}.v-list-item:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%}.v-list-item:focus-visible:after,.v-list-item--focus-visible:after{opacity:calc(.15 * var(--v-theme-overlay-multiplier))}}.v-list-item__prepend>.v-badge .v-icon,.v-list-item__prepend>.v-icon,.v-list-item__append>.v-badge .v-icon,.v-list-item__append>.v-icon{opacity:var(--v-medium-emphasis-opacity)}.v-list-item--active .v-list-item__prepend>.v-badge .v-icon,.v-list-item--active .v-list-item__prepend>.v-icon,.v-list-item--active .v-list-item__append>.v-badge .v-icon,.v-list-item--active .v-list-item__append>.v-icon{opacity:1}.v-list-item--active:not(.v-list-item--link) .v-list-item__overlay{opacity:calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier))}.v-list-item--rounded{border-radius:4px}.v-list-item--disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.6}.v-list-item--link{cursor:pointer}.v-navigation-drawer--rail:not(.v-navigation-drawer--expand-on-hover) .v-list-item .v-avatar,.v-navigation-drawer--rail.v-navigation-drawer--expand-on-hover:not(.v-navigation-drawer--is-hovering) .v-list-item .v-avatar{--v-avatar-height: 24px}.v-list-item__prepend{align-items:center;align-self:center;display:flex;grid-area:prepend}.v-list-item__prepend *~.v-list-item__spacer{width:var(--v-list-prepend-gap)}.v-list-item__prepend>.v-badge~.v-list-item__spacer,.v-list-item__prepend>.v-icon~.v-list-item__spacer,.v-list-item__prepend>.v-tooltip~.v-list-item__spacer{width:var(--v-list-prepend-gap, 32px)}.v-list-item__prepend>.v-avatar~.v-list-item__spacer,.v-list-item__prepend>.v-badge:is(:has(.v-avatar))~.v-list-item__spacer{width:var(--v-list-prepend-gap, 16px)}.v-list-item--slim .v-list-item__prepend>.v-badge~.v-list-item__spacer,.v-list-item--slim .v-list-item__prepend>.v-icon~.v-list-item__spacer,.v-list-item--slim .v-list-item__prepend>.v-tooltip~.v-list-item__spacer{width:var(--v-list-prepend-gap, 20px)}.v-list-item--slim .v-list-item__prepend>.v-avatar~.v-list-item__spacer,.v-list-item--slim .v-list-item__prepend>.v-badge:is(:has(.v-avatar))~.v-list-item__spacer{width:var(--v-list-prepend-gap, 4px)}.v-list-item--slim .v-list-item__prepend>.v-list-item-action~.v-list-item__spacer{width:var(--v-list-prepend-gap, 4px)}.v-list-item--three-line .v-list-item__prepend{align-self:start}.v-list-item__append{align-self:center;display:flex;align-items:center;grid-area:append}.v-list-item__append .v-list-item__spacer{order:-1;transition:.15s width cubic-bezier(.4,0,.2,1)}.v-list-item__append *~.v-list-item__spacer{width:var(--v-list-prepend-gap)}.v-list-item__append>.v-badge~.v-list-item__spacer,.v-list-item__append>.v-icon~.v-list-item__spacer,.v-list-item__append>.v-tooltip~.v-list-item__spacer{width:var(--v-list-prepend-gap, 32px)}.v-list-item__append>.v-avatar~.v-list-item__spacer,.v-list-item__append>.v-badge:is(:has(.v-avatar))~.v-list-item__spacer{width:var(--v-list-prepend-gap, 16px)}.v-list-item__append>.v-list-item-action~.v-list-item__spacer{width:var(--v-list-prepend-gap, 16px)}.v-list-item--slim .v-list-item__append>.v-badge~.v-list-item__spacer,.v-list-item--slim .v-list-item__append>.v-icon~.v-list-item__spacer,.v-list-item--slim .v-list-item__append>.v-tooltip~.v-list-item__spacer{width:var(--v-list-slim-spacer-width, 20px)}.v-list-item--slim .v-list-item__append>.v-avatar~.v-list-item__spacer,.v-list-item--slim .v-list-item__append>.v-badge:is(:has(.v-avatar))~.v-list-item__spacer{width:var(--v-list-prepend-gap, 4px)}.v-list-item--slim .v-list-item__append>.v-list-item-action~.v-list-item__spacer{width:var(--v-list-prepend-gap, 4px)}.v-list-item--three-line .v-list-item__append{align-self:start}.v-list-item__content{align-self:center;grid-area:content;overflow:hidden;min-width:40px}.v-list-item-action{align-self:center;display:flex;align-items:center;flex:none;transition:inherit;transition-property:height,width}.v-list-item-action--start{margin-inline-end:8px;margin-inline-start:-8px}.v-list-item-action--end{margin-inline-start:8px;margin-inline-end:-8px}.v-list-item-media{margin-top:0;margin-bottom:0}.v-list-item-media--start{margin-inline-end:16px}.v-list-item-media--end{margin-inline-start:16px}.v-list-item--two-line .v-list-item-media{margin-top:-4px;margin-bottom:-4px}.v-list-item--three-line .v-list-item-media{margin-top:0;margin-bottom:0}.v-list-item-subtitle{-webkit-box-orient:vertical;display:-webkit-box;opacity:var(--v-list-item-subtitle-opacity, var(--v-medium-emphasis-opacity));overflow:hidden;padding:0;text-overflow:ellipsis;overflow-wrap:break-word;word-break:initial}.v-list-item--one-line .v-list-item-subtitle{-webkit-line-clamp:1}.v-list-item--two-line .v-list-item-subtitle{-webkit-line-clamp:2}.v-list-item--three-line .v-list-item-subtitle{-webkit-line-clamp:3}.v-list-item-subtitle{font-size:.875rem;font-weight:400;letter-spacing:.0178571429em;line-height:1rem;text-transform:none}.v-list-item--nav .v-list-item-subtitle{font-size:.75rem;font-weight:400;letter-spacing:.0178571429em;line-height:1rem}.v-list-item-title{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:normal;overflow:hidden;padding:0;white-space:nowrap;text-overflow:ellipsis;word-break:normal;word-wrap:break-word}.v-list-item-title{font-size:1rem;font-weight:400;letter-spacing:.009375em;line-height:1.5;text-transform:none}.v-list-item--nav .v-list-item-title{font-size:.8125rem;font-weight:500;letter-spacing:normal;line-height:1rem}.v-list-item--density-default{min-height:40px}.v-list-item--density-default.v-list-item--one-line{min-height:48px;padding-top:4px;padding-bottom:4px}.v-list-item--density-default.v-list-item--two-line{min-height:64px;padding-top:12px;padding-bottom:12px}.v-list-item--density-default.v-list-item--three-line{min-height:88px;padding-top:16px;padding-bottom:16px}.v-list-item--density-default.v-list-item--three-line .v-list-item__prepend,.v-list-item--density-default.v-list-item--three-line .v-list-item__append{padding-top:8px}.v-list-item--density-default:not(.v-list-item--nav).v-list-item--one-line{padding-inline:16px}.v-list-item--density-default:not(.v-list-item--nav).v-list-item--two-line{padding-inline:16px}.v-list-item--density-default:not(.v-list-item--nav).v-list-item--three-line{padding-inline:16px}.v-list-item--density-comfortable{min-height:36px}.v-list-item--density-comfortable.v-list-item--one-line{min-height:44px}.v-list-item--density-comfortable.v-list-item--two-line{min-height:60px;padding-top:8px;padding-bottom:8px}.v-list-item--density-comfortable.v-list-item--three-line{min-height:84px;padding-top:12px;padding-bottom:12px}.v-list-item--density-comfortable.v-list-item--three-line .v-list-item__prepend,.v-list-item--density-comfortable.v-list-item--three-line .v-list-item__append{padding-top:6px}.v-list-item--density-comfortable:not(.v-list-item--nav).v-list-item--one-line{padding-inline:16px}.v-list-item--density-comfortable:not(.v-list-item--nav).v-list-item--two-line{padding-inline:16px}.v-list-item--density-comfortable:not(.v-list-item--nav).v-list-item--three-line{padding-inline:16px}.v-list-item--density-compact{min-height:32px}.v-list-item--density-compact.v-list-item--one-line{min-height:40px}.v-list-item--density-compact.v-list-item--two-line{min-height:56px;padding-top:4px;padding-bottom:4px}.v-list-item--density-compact.v-list-item--three-line{min-height:80px;padding-top:8px;padding-bottom:8px}.v-list-item--density-compact.v-list-item--three-line .v-list-item__prepend,.v-list-item--density-compact.v-list-item--three-line .v-list-item__append{padding-top:4px}.v-list-item--density-compact:not(.v-list-item--nav).v-list-item--one-line{padding-inline:16px}.v-list-item--density-compact:not(.v-list-item--nav).v-list-item--two-line{padding-inline:16px}.v-list-item--density-compact:not(.v-list-item--nav).v-list-item--three-line{padding-inline:16px}.v-list-item--nav{padding-inline:8px}.v-list-item__underlay{position:absolute}.v-list-item__overlay{background-color:currentColor;border-radius:inherit;bottom:0;left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:.2s ease-in-out;transition-property:opacity,color}.v-list-item--active.v-list-item--variant-elevated .v-list-item__overlay{--v-theme-overlay-multiplier: 0}.v-list{--indent-padding: 0px}.v-list--nav{--indent-padding: -8px}.v-list-group{--list-indent-size: 16px;--parent-padding: var(--indent-padding);--prepend-width: var(--v-list-group-prepend, 40px)}.v-list--slim .v-list-group{--prepend-width: var(--v-list-group-prepend, 28px)}.v-list-group--fluid{--list-indent-size: 0px}.v-list-group--prepend{--parent-padding: calc(var(--indent-padding) + var(--prepend-width))}.v-list-group--fluid.v-list-group--prepend{--parent-padding: var(--indent-padding)}.v-list-group__items{--indent-padding: calc(var(--parent-padding) + var(--v-list-indent, var(--list-indent-size)));min-width:min-content}.v-navigation-drawer--rail .v-list-group__items{min-width:0}.v-list-group__items .v-list-item{padding-inline-start:calc(16px + var(--indent-padding))!important}.v-list-group__header:not(.v-treeview-item--activatable-group-activator).v-list-item--active:not(:focus-visible) .v-list-item__overlay{opacity:0}.v-list-group__header:not(.v-treeview-item--activatable-group-activator).v-list-item--active:hover .v-list-item__overlay{opacity:calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier))}@media (forced-colors: active){.v-list-item--link:not(.v-list-item--active){color:buttontext}.v-list-item--link[href]:not(.v-list-item--active){color:unset}.v-list-item--active:not(.v-list-item--disabled) [class*=v-list-item-],.v-list-item--active:not(.v-list-item--disabled) [class*=v-list-item-]>*,.v-list-item--active:not(.v-list-item--disabled) .v-icon{color:highlight!important}.v-list-item--active:not(.v-list-item--variant-text,.v-list-item--variant-plain):not(.v-list-item--disabled){background:highlight!important}.v-list-item--active:not(.v-list-item--variant-text,.v-list-item--variant-plain):not(.v-list-item--disabled) [class*=v-list-item-],.v-list-item--active:not(.v-list-item--variant-text,.v-list-item--variant-plain):not(.v-list-item--disabled) [class*=v-list-item-]>*,.v-list-item--active:not(.v-list-item--variant-text,.v-list-item--variant-plain):not(.v-list-item--disabled) .v-icon{opacity:1;color:highlighttext!important;forced-color-adjust:preserve-parent-color}.v-list-item--focus-visible:after{opacity:1}@supports selector(:focus-visible){.v-list-item:after{color:buttontext}.v-list-item:focus-visible:after{opacity:1}}}.glow-effect{transition:box-shadow .3s ease-in-out,transform .3s ease-in-out}.glow-effect:hover{box-shadow:0 0 15px rgba(var(--v-theme-primary),.5);transform:translateY(-2px)}.glow-text{text-shadow:0 0 5px rgba(var(--v-theme-primary),.5)}.bloom-container .v-card{transition:box-shadow .3s ease}.bloom-container .v-card:hover{box-shadow:0 4px 20px #0000001a,0 0 15px rgba(var(--v-theme-primary),.3)!important}.bloom-container .v-btn{transition:box-shadow .3s ease}.bloom-container .v-btn:hover{box-shadow:0 0 10px rgba(var(--v-theme-primary),.4)}.glow-track{position:relative;overflow:hidden;transition:all .3s ease}.glow-track:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at var(--x, 50%) var(--y, 50%),rgba(255,255,255,.15) 0%,rgba(255,255,255,0) 70%);opacity:0;transition:opacity .3s;pointer-events:none;z-index:1}.glow-track:hover:before{opacity:1}.glow-highlight{animation:glow-pulse 3s ease-in-out;box-shadow:0 0 20px #2196f399,0 0 40px #2196f366,0 0 60px #2196f333!important}@keyframes glow-pulse{0%,to{box-shadow:0 0 20px #2196f399,0 0 40px #2196f366,0 0 60px #2196f333}50%{box-shadow:0 0 30px #2196f3cc,0 0 60px #2196f399,0 0 90px #2196f366}}.grid-item .v-card{transition:transform .3s ease,box-shadow .3s ease}.grid-item .v-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026!important}.grid-item .v-card:active{transform:translateY(-2px)}.empty-subject-card{transition:all .3s ease;opacity:.8}.empty-subject-card:hover{opacity:1;transform:translateY(-4px)}.anti-burn-card{animation:subtle-glow 4s infinite alternate;transition:all .3s ease}.anti-burn-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026!important}@keyframes subtle-glow{0%{box-shadow:0 0 5px #2196f31a}to{box-shadow:0 0 15px #2196f34d}}.grid-masonry{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:8px;grid-auto-flow:dense;grid-auto-rows:1px;align-items:start}.grid-item{width:100%;transition:all .2s ease}.empty-card{transform:scale(.9);opacity:.8;grid-row-end:span 1!important}.empty-card:hover{transform:scale(.95);opacity:1}.empty-subjects-container{display:flex;flex-wrap:wrap}@media (max-width: 1199px){.grid-masonry{grid-template-columns:repeat(2,1fr)}}@media (max-width: 799px){.grid-masonry{grid-template-columns:1fr}.empty-card{transform:scale(.95)}}.main-window::-webkit-scrollbar{width:8px}.main-window::-webkit-scrollbar-track{background:transparent}.main-window::-webkit-scrollbar-thumb{background-color:#0003;border-radius:4px}.main-window::-webkit-scrollbar-thumb:hover{background-color:#0000004d}.no-data-message{display:flex;justify-content:center;align-items:center;min-height:200px;margin:20px 0}.attendance-drawer{border-left:1px solid rgba(0,0,0,.12)}.attendance-drawer :deep(.v-navigation-drawer__content){overflow-y:auto}.attendance-drawer :deep(.v-navigation-drawer__content::-webkit-scrollbar){width:8px}.attendance-drawer :deep(.v-navigation-drawer__content::-webkit-scrollbar-track){background:transparent}.attendance-drawer :deep(.v-navigation-drawer__content::-webkit-scrollbar-thumb){background-color:#0003;border-radius:4px}.attendance-drawer :deep(.v-navigation-drawer__content::-webkit-scrollbar-thumb:hover){background-color:#0000004d}@media (max-width: 960px){.attendance-drawer{display:none}}.text-success{color:rgb(var(--v-theme-success))}.text-error{color:rgb(var(--v-theme-error))}.text-warning{color:rgb(var(--v-theme-warning))}.attendance-card{display:flex;flex-direction:column}.attendance-numbers{padding:20px 0}.total-number{border-bottom:1px solid rgba(0,0,0,.12);padding-bottom:20px}.status-number{flex:1}.text-h2,.text-h3{line-height:1.2}.empty-subjects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;padding:8px}.empty-subject-card{cursor:pointer;transition:all .2s ease;opacity:.8}.empty-subject-card:hover{transform:scale(1.02);opacity:1}.empty-subjects{border-top:1px solid rgba(0,0,0,.12);padding-top:1rem}.empty-subject-card:not(:disabled):hover{opacity:1;transform:scale(1.02)}.attendance-stat{height:100%}.suggestion-btn{margin:2px;min-width:0;padding:0 6px}.suggestion-btn:active{transform:scale(.95)}@media (hover: none){.student-card .attendance-actions{opacity:1}}@media (max-width: 600px){.student-card .attendance-actions .v-btn{margin:0 1px;min-width:28px;width:28px;height:28px}}.filter-chip{cursor:pointer;margin:2px}.filter-chip:active{transform:scale(.95)}.grid-item{transition:transform .4s cubic-bezier(.05,.7,.1,1),opacity .2s cubic-bezier(.2,0,0,1);will-change:transform,opacity;backface-visibility:hidden}.grid-item.v-enter-active{transition:transform .4s cubic-bezier(.05,.7,.1,1),opacity .25s cubic-bezier(.2,0,0,1)}.grid-item.v-move{transition:transform .4s cubic-bezier(.05,.7,.1,1);z-index:1}.grid-item.v-leave-active{position:absolute!important;transition:transform .3s cubic-bezier(.3,0,.8,.15),opacity .2s cubic-bezier(.3,0,1,1)}.grid-item.v-enter-from,.grid-item.v-leave-to{opacity:0;transform:scale(.95)}.empty-subject-card{transition:all .25s cubic-bezier(.2,0,0,1)}.empty-subject-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 4px 24px #0000001f}.v-list-enter-active{transition:all .4s cubic-bezier(.05,.7,.1,1)}.v-list-leave-active{transition:all .3s cubic-bezier(.3,0,.8,.15)}.v-list-enter-from,.v-list-leave-to{opacity:0;transform:translate(-24px)}.attendance-area h2,.attendance-area h3{transition:all .3s cubic-bezier(.2,0,0,1)}.v-card{transition:all .4s cubic-bezier(.05,.7,.1,1)}.v-card:active{transform:scale(.98);transition-duration:.1s}.v-card{touch-action:manipulation}.v-card:active{transform:scale(.99);transition-duration:80ms}@media (pointer: coarse){.v-card:before{margin:-8px}}.v-dialog:before{display:none!important}.v-dialog:before,.v-dialog:after{display:none!important}.v-dialog .v-card{transition:none}.v-dialog .v-card:active{transform:none}.v-dialog-transition-enter-active{transition:transform .4s cubic-bezier(.05,.7,.1,1),opacity .3s cubic-bezier(.2,0,0,1)}.v-dialog-transition-leave-active{transition:transform .25s cubic-bezier(.3,0,.8,.15),opacity .2s cubic-bezier(.3,0,1,1)}.v-btn{transition:background-color .25s cubic-bezier(.2,0,0,1),transform .15s cubic-bezier(.05,.7,.1,1);touch-action:manipulation;min-height:40px;min-width:40px}.v-btn:active{transform:scale(.98);transition-duration:80ms}@media (pointer: coarse){.v-btn{padding:8px 16px;margin:4px}.v-btn:before{margin:-8px}}.no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}.grid-enter-active,.grid-leave-active{transition:all .5s ease}.grid-enter-from{opacity:0;transform:translateY(20px)}.grid-leave-to{opacity:0;transform:translateY(-20px)}.v-list-enter-active,.v-list-leave-active{transition:all .3s ease}.v-list-enter-from{opacity:0;transform:translate(-20px)}.v-list-leave-to{opacity:0;transform:translate(20px)}.page-enter-active,.page-leave-active{transition:opacity .3s,transform .3s}.page-enter-from{opacity:0;transform:translateY(20px)}.page-leave-to{opacity:0;transform:translateY(-20px)}.fade-enter-active,.fade-leave-active{transition:opacity .3s}.fade-enter-from,.fade-leave-to{opacity:0}.scale-enter-active,.scale-leave-active{transition:all .3s}.scale-enter-from,.scale-leave-to{opacity:0;transform:scale(.9)}.hover-card{transition:transform .2s ease,box-shadow .3s ease;will-change:transform,box-shadow}.hover-card:hover,.hover-card:focus{transform:translateY(-4px);box-shadow:0 8px 16px #00000026!important}.hover-card:active{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a!important}.touch-button{min-height:48px;min-width:48px;border-radius:12px;padding:12px 24px}.touch-button.v-btn--icon{min-height:56px;min-width:56px}.ripple-enhanced{position:relative;overflow:hidden}.ripple-enhanced:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at var(--x, 50%) var(--y, 50%),rgba(255,255,255,.2) 0%,rgba(255,255,255,0) 60%);opacity:0;transition:opacity .5s;pointer-events:none}.ripple-enhanced:active:after{opacity:1;transition:opacity .2s}html{scroll-behavior:smooth}.v-app-bar{position:fixed!important}.touch-list-item{min-height:56px;padding:12px 16px}.large-touch-target{min-height:56px;min-width:56px}.fullscreen-mode .v-app-bar{background-color:rgba(var(--v-theme-surface-variant),.85)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.fullscreen-mode .main-window{padding-top:16px;padding-bottom:16px}.md3-enter-active,.md3-leave-active{transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.md3-enter-from{opacity:0;transform:translate(.5vw)}.md3-leave-to{opacity:0;transform:translate(-.5vw)}.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}.v-application{display:flex;background:rgb(var(--v-theme-background));color:rgba(var(--v-theme-on-background),var(--v-high-emphasis-opacity))}.v-application__wrap{backface-visibility:hidden;display:flex;flex-direction:column;flex:1 1 auto;max-width:100%;min-height:100vh;min-height:100dvh;position:relative} diff --git a/assets/index-Ct5Llh5_.js b/assets/index-Ct5Llh5_.js deleted file mode 100644 index 5e568ef..0000000 --- a/assets/index-Ct5Llh5_.js +++ /dev/null @@ -1,16 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-CHEqx3ZK.js","./index-DIf6pzHS.css","./dataProvider-B62Oym03.js","./serverRotation-D840vVDL.js"])))=>i.map(i=>d[i]); -import{V as Ht,a as Kt,_ as pt}from"./ExamConfigEditor-C3cHfqxx.js";import{_ as W,k as S,s as de,o as m,j as b,w as i,c as s,l as _,q as j,t as D,v as c,x as F,y as k,z as V,i as r,A as g,B as vt,C as p,D as w,F as E,E as Je,T as qe,G as U,d as he,H as J,n as re,I as oe,J as be,K as ve,L as Ie,M as X,N as tt,O as We,P as we,Q as Se,R as Ye,S as xe,U as qt,W as Wt,X as Ae,Y as yt,Z as Xe,$ as Gt,a0 as Pe,a1 as Fe,a2 as $,a3 as G,a4 as st,a5 as Qt,a6 as Jt,a7 as Yt,a8 as kt,a9 as bt,aa as xt,ab as $e,ac as Re,ad as nt,ae as Le,af as Xt,ag as it,ah as Ee,ai as Ve,aj as Zt,ak as Ne}from"./index-CHEqx3ZK.js";import{V as Ce}from"./VTextField-BmfQXFFg.js";import{V as Ze,a as es}from"./VTooltip-C168gwPH.js";import{V as O}from"./VChip-B02B673U.js";import{s as ts,g as wt,j as Ge,o as me,a as ss,l as ns}from"./socketClient-BXJ0f21_.js";import{p as at,s as is,a as ot,V as as,_ as St}from"./VCombobox-DuoJlmmF.js";import{f as os,s as ls,c as Ct}from"./deviceEvents-BFCOw6Nh.js";import{V as ce,a as ne}from"./VRow-7L_239rt.js";import{V as rs,a as lt}from"./VPagination-DEEAIfju.js";import{V as Ue}from"./VTextarea-uYG2fN8H.js";import{d as Z,a as je,g as _t,b as fe,k as ds}from"./dataProvider-B62Oym03.js";import{V as rt,a as dt,b as us,c as cs}from"./VAppBarTitle-P_aLwYn3.js";import{V as Dt}from"./VContainer-x94CJ7kH.js";import{V as ut}from"./VForm-ovineFXC.js";import{V as Qe}from"./VSwitch-CsrhG2o9.js";import{V as ms}from"./VSelect-B5ZKU6ZJ.js";import{V as _e}from"./VAlert-B7dotCy7.js";import{V as fs,a as ct,b as mt,c as ft}from"./VExpansionPanels-DmHhDpJu.js";import"./VSkeletonLoader-Bcvvvbke.js";import"./VCheckboxBtn-L9oezRC0.js";import"./serverRotation-D840vVDL.js";const hs={name:"RandomPicker",props:{studentList:{type:Array,required:!0},attendance:{type:Object,required:!0,default:()=>({absent:[],late:[],exclude:[]})}},data(){return{dialog:!1,count:S("randomPicker.defaultCount"),isPickingStarted:!1,isAnimating:!1,pickedStudents:[],animationStudents:[],highlightedIndices:[],animationTimer:null,getSetting:S,tempFilters:{excludeAbsent:S("randomPicker.excludeAbsent"),excludeLate:S("randomPicker.excludeLate"),excludeExcluded:S("randomPicker.excludeExcluded")},pickerMode:S("randomPicker.mode"),minNumber:S("randomPicker.minNumber"),maxNumber:S("randomPicker.maxNumber")}},computed:{absentCount(){return this.attendance.absent?this.attendance.absent.length:0},lateCount(){return this.attendance.late?this.attendance.late.length:0},excludedCount(){return this.attendance.exclude?this.attendance.exclude.length:0},numberModeStudents(){if(this.pickerMode!=="number")return[];const t=[];for(let e=this.minNumber;e<=this.maxNumber;e++)t.push(e.toString().padStart(2,"0")+"号");return t},filteredStudents(){return this.pickerMode==="number"?this.numberModeStudents:!this.studentList||!this.studentList.length?[]:this.studentList.filter(t=>!(this.tempFilters.excludeAbsent&&this.attendance.absent.includes(t)||this.tempFilters.excludeLate&&this.attendance.late.includes(t)||this.tempFilters.excludeExcluded&&this.attendance.exclude.includes(t)))},availableStudents(){return this.filteredStudents},maxAllowedCount(){return Math.min(10,this.filteredStudents.length)},remainingStudents(){return this.filteredStudents.filter(t=>!this.pickedStudents.includes(t))}},watch:{dialog(t){t?(this.count=S("randomPicker.defaultCount"),this.isPickingStarted=!1,this.isAnimating=!1,this.pickedStudents=[],this.tempFilters={excludeAbsent:S("randomPicker.excludeAbsent"),excludeLate:S("randomPicker.excludeLate"),excludeExcluded:S("randomPicker.excludeExcluded")}):this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},tempFilters:{handler(){this.count>this.maxAllowedCount&&(this.count=Math.max(1,this.maxAllowedCount))},deep:!0},pickerMode:{handler(t){de("randomPicker.mode",t)}},minNumber:{handler(t){t>this.maxNumber&&(this.minNumber=this.maxNumber),t<1&&(this.minNumber=1),de("randomPicker.minNumber",this.minNumber)}},maxNumber:{handler(t){t100&&(this.maxNumber=100),de("randomPicker.maxNumber",this.maxNumber)}}},methods:{open(){this.dialog=!0},incrementCount(){this.count1&&this.count--},startPicking(){this.filteredStudents.length!==0&&(this.isPickingStarted=!0,S("randomPicker.animation")?this.startAnimation():this.finishPicking())},startAnimation(){this.isAnimating=!0,this.animationStudents=this.filteredStudents.map((t,e)=>({id:`student-${e}`,name:t})),this.animateHighlight()},animateHighlight(){let e=0;const a=50,l=()=>{this.highlightedIndices=[];const n=[];for(let u=0;u{this.finishPicking()},500)};l()},finishPicking(){this.isAnimating=!1;const t=[...this.filteredStudents].sort(()=>.5-Math.random());this.pickedStudents=t.slice(0,this.count)},resetPicker(){this.isPickingStarted=!1,this.isAnimating=!1,this.pickedStudents=[],this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},refreshSingleStudent(t){if(this.remainingStudents.length===0)return;const e=Math.floor(Math.random()*this.remainingStudents.length),a=this.remainingStudents[e];this.pickedStudents[t]=a;const l=document.querySelectorAll(".result-card");l[t]&&(l[t].classList.add("refresh-animation"),setTimeout(()=>{l[t].classList.remove("refresh-animation")},500))}}},gs={class:"d-flex justify-center align-center counter-container"},ps={class:"count-display mx-8"},vs={class:"text-h2 font-weight-bold"},ys={class:"mode-switch-container mt-6"},ks={key:0,class:"number-range-container mt-4"},bs={class:"d-flex justify-center align-center gap-4"},xs={class:"mt-4"},ws={key:1,class:"mt-4 text-error"},Ss={class:"mt-4 text-caption"},Cs={class:"pa-2"},_s={key:0},Ds={key:1},Ts={key:2},Is={key:1,class:"d-flex flex-wrap justify-center gap-2 mt-4"},Es={key:0,class:"animation-container"},Ns={class:"animation-wrapper"},Vs={key:1,class:"result-container"},As={class:"mt-8 d-flex justify-center"};function Us(t,e,a,l,n,o){return m(),b(J,{modelValue:n.dialog,"onUpdate:modelValue":e[8]||(e[8]=u=>n.dialog=u),"fullscreen-breakpoint":"sm","max-width":"600",persistent:""},{default:i(()=>[s(_,{border:"",class:"random-picker-card",rounded:"xl"},{default:i(()=>[s(j,{class:"text-h5 d-flex align-center"},{default:i(()=>[s(D,{class:"mr-2",icon:"mdi-account-question"}),e[9]||(e[9]=c(" 随机点名 ",-1)),s(F),s(k,{icon:"mdi-close",variant:"text",onClick:e[0]||(e[0]=u=>n.dialog=!1)})]),_:1}),n.isPickingStarted?(m(),b(V,{key:1,class:"text-center py-6"},{default:i(()=>[n.isAnimating?(m(),p("div",Es,[r("div",Ns,[s(qe,{class:"shuffle-container",name:"shuffle",tag:"div"},{default:i(()=>[(m(!0),p(E,null,U(n.animationStudents,(u,f)=>(m(),p("div",{key:u.id,class:he([{highlighted:n.highlightedIndices.includes(f)},"student-item"])},g(u.name),3))),128))]),_:1})])])):(m(),p("div",Vs,[e[19]||(e[19]=r("div",{class:"text-h6 mb-4"},"抽取结果",-1)),(m(!0),p(E,null,U(n.pickedStudents,(u,f)=>(m(),b(_,{key:f,class:"mb-2 result-card",color:"primary",variant:"outlined"},{default:i(()=>[s(V,{class:"text-h4 text-center py-4 d-flex align-center justify-center"},{default:i(()=>[c(g(u)+" ",1),s(k,{disabled:o.remainingStudents.length===0,title:o.remainingStudents.length===0?"没有更多可用学生":"重新抽取此学生",class:"ml-2 refresh-btn",icon:"mdi-refresh",size:"small",variant:"text",onClick:h=>o.refreshSingleStudent(f)},null,8,["disabled","title","onClick"])]),_:2},1024)]),_:2},1024))),128)),r("div",As,[s(k,{class:"mx-2",color:"primary","prepend-icon":"mdi-refresh",size:"large",onClick:o.resetPicker},{default:i(()=>[...e[17]||(e[17]=[c(" 重新抽取 ",-1)])]),_:1},8,["onClick"]),s(k,{class:"mx-2",color:"grey",size:"large",variant:"outlined",onClick:e[7]||(e[7]=u=>n.dialog=!1)},{default:i(()=>[...e[18]||(e[18]=[c(" 关闭 ",-1)])]),_:1})])]))]),_:1})):(m(),b(V,{key:0,class:"text-center py-6"},{default:i(()=>[e[16]||(e[16]=r("div",{class:"text-h6 mb-4"},"请选择抽取人数",-1)),r("div",gs,[s(k,{disabled:n.count<=1,class:"counter-btn",color:"primary",icon:"mdi-minus",size:"x-large",variant:"tonal",onClick:o.decrementCount},null,8,["disabled","onClick"]),r("div",ps,[r("span",vs,g(n.count),1),e[10]||(e[10]=r("span",{class:"text-subtitle-1 ml-2"},"人",-1))]),s(k,{disabled:n.count>=o.maxAllowedCount,class:"counter-btn",color:"primary",icon:"mdi-plus",size:"x-large",variant:"tonal",onClick:o.incrementCount},null,8,["disabled","onClick"])]),r("div",ys,[s(vt,{modelValue:n.pickerMode,"onUpdate:modelValue":e[1]||(e[1]=u=>n.pickerMode=u),class:"mode-toggle",color:"primary",mandatory:"",rounded:"pill"},{default:i(()=>[s(k,{"prepend-icon":"mdi-account",value:"name"},{default:i(()=>[...e[11]||(e[11]=[c("姓名模式",-1)])]),_:1}),s(k,{"prepend-icon":"mdi-numeric",value:"number"},{default:i(()=>[...e[12]||(e[12]=[c("学号模式",-1)])]),_:1})]),_:1},8,["modelValue"])]),n.pickerMode==="number"?(m(),p("div",ks,[e[14]||(e[14]=r("div",{class:"text-subtitle-1 mb-2"},"学号范围设置",-1)),r("div",bs,[s(Ce,{modelValue:n.minNumber,"onUpdate:modelValue":e[2]||(e[2]=u=>n.minNumber=u),modelModifiers:{number:!0},class:"number-input",density:"compact","hide-details":"",label:"最小值",max:"100",min:"1",type:"number"},null,8,["modelValue"]),e[13]||(e[13]=r("span",{class:"mx-2"},"至",-1)),s(Ce,{modelValue:n.maxNumber,"onUpdate:modelValue":e[3]||(e[3]=u=>n.maxNumber=u),modelModifiers:{number:!0},class:"number-input",density:"compact","hide-details":"",label:"最大值",max:"100",min:"1",type:"number"},null,8,["modelValue"])])])):w("",!0),r("div",xs,[s(k,{disabled:o.filteredStudents.length===0,class:"start-btn",color:"primary","prepend-icon":"mdi-dice-multiple",size:"x-large",onClick:o.startPicking},{default:i(()=>[...e[15]||(e[15]=[c(" 开始抽取 ",-1)])]),_:1},8,["disabled","onClick"])]),o.filteredStudents.length===0?(m(),p("div",ws,[n.pickerMode==="name"?(m(),p(E,{key:0},[c(" 没有可抽取的学生,请调整过滤选项 ")],64)):(m(),p(E,{key:1},[c(" 请设置有效的学号范围 ")],64))])):w("",!0),r("div",Ss,[c(" 当前可抽取学生: "+g(o.filteredStudents.length)+"人 ",1),n.pickerMode==="name"?(m(),b(Ze,{key:0,location:"bottom"},{activator:i(({props:u})=>[s(D,Je({class:"ml-1",icon:"mdi-information-outline",size:"small"},u),null,16)]),default:i(()=>[r("div",Cs,[n.tempFilters.excludeAbsent?(m(),p("div",_s," • 已排除请假学生 ("+g(o.absentCount)+"人) ",1)):w("",!0),n.tempFilters.excludeLate?(m(),p("div",Ds," • 已排除迟到学生 ("+g(o.lateCount)+"人) ",1)):w("",!0),n.tempFilters.excludeExcluded?(m(),p("div",Ts," • 已排除不参与学生 ("+g(o.excludedCount)+"人) ",1)):w("",!0)])]),_:1})):w("",!0),n.pickerMode==="name"?(m(),p("div",Is,[s(O,{color:n.tempFilters.excludeLate?"warning":"default",variant:n.tempFilters.excludeLate?"elevated":"text",class:"filter-chip","prepend-icon":"mdi-clock-alert",onClick:e[4]||(e[4]=u=>n.tempFilters.excludeLate=!n.tempFilters.excludeLate)},{default:i(()=>[c(g(n.tempFilters.excludeLate?"排除":"包含")+"迟到学生 ",1)]),_:1},8,["color","variant"]),s(O,{color:n.tempFilters.excludeAbsent?"error":"default",variant:n.tempFilters.excludeAbsent?"elevated":"text",class:"filter-chip","prepend-icon":"mdi-account-off",onClick:e[5]||(e[5]=u=>n.tempFilters.excludeAbsent=!n.tempFilters.excludeAbsent)},{default:i(()=>[c(g(n.tempFilters.excludeAbsent?"排除":"包含")+"请假学生 ",1)]),_:1},8,["color","variant"]),s(O,{color:n.tempFilters.excludeExcluded?"grey":"default",variant:n.tempFilters.excludeExcluded?"elevated":"text",class:"filter-chip","prepend-icon":"mdi-account-cancel",onClick:e[6]||(e[6]=u=>n.tempFilters.excludeExcluded=!n.tempFilters.excludeExcluded)},{default:i(()=>[c(g(n.tempFilters.excludeExcluded?"排除":"包含")+"不参与学生 ",1)]),_:1},8,["color","variant"])])):w("",!0)])]),_:1}))]),_:1})]),_:1},8,["modelValue"])}const Tt=W(hs,[["render",Us],["__scopeId","data-v-85e7eea6"]]),zs={name:"EventSender",emits:["sent","error"],methods:{async sendEvent(t,e={}){try{return ts(t,e),this.$emit("sent",{eventName:t,content:e,timestamp:new Date().toISOString(),success:!0}),{success:!0,eventId:(e==null?void 0:e.eventId)||null,notificationId:(e==null?void 0:e.notificationId)||null}}catch(a){return console.error("发送事件失败:",a),this.$emit("error",{eventName:t,content:e,error:a.message,timestamp:new Date().toISOString(),success:!1}),{success:!1,error:a.message}}},async sendNotification(t,e=!1,a=[],l={},n=null){const o=`evt-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;return this.sendEvent("notification",{eventId:o,notificationId:n,message:t,isUrgent:e,targetDevices:a,senderInfo:l})},async sendReceipt(t,e,a={},l=null){const n=`rcpt-${Date.now()}-${Math.random().toString(36).slice(2,6)}`;return this.sendEvent("notification-receipt",{eventId:n,originalEventId:t,notificationId:l,status:e,deviceInfo:a})},async sendDisplayedReceipt(t={},e=null){const a=`disp-${Date.now()}-${Math.random().toString(36).slice(2,6)}`;return this.sendEvent("notification-displayed",{eventId:a,notificationId:e,deviceInfo:t})},async sendReadReceipt(t={},e=null){const a=`read-${Date.now()}-${Math.random().toString(36).slice(2,6)}`;return this.sendEvent("notification-read",{eventId:a,notificationId:e,deviceInfo:t})}}},Ms={style:{display:"none"}};function $s(t,e,a,l,n,o){return m(),p("div",Ms)}const Oe=W(zs,[["render",$s]]),Ps={name:"UrgentNotification",components:{EventSender:Oe},data(){return{visible:!1,notificationQueue:[],currentIndex:0,autoCloseTimer:null,urgentSoundTimer:null,currentAudio:null}},computed:{currentNotification(){return this.notificationQueue[this.currentIndex]||null},hasNotifications(){return this.notificationQueue.length>0},hasMultipleNotifications(){return this.notificationQueue.length>1},notificationCountText(){return this.hasMultipleNotifications?`${this.currentIndex+1} / ${this.notificationQueue.length}`:""},isUrgent(){var t,e;return((e=(t=this.currentNotification)==null?void 0:t.content)==null?void 0:e.isUrgent)||!1},urgencyColor(){return this.isUrgent?"red darken-2":"blue darken-2"},iconColor(){return"white"},urgencyIcon(){return this.isUrgent?"mdi-alert-circle-outline":"mdi-information-outline"},urgencyTitle(){return this.isUrgent?"🚨 紧急通知":"📢 通知消息"},senderName(){var e,a,l;const t=((e=this.currentNotification)==null?void 0:e.senderInfo)||((l=(a=this.currentNotification)==null?void 0:a.content)==null?void 0:l.senderInfo);return t?t.deviceName||t.deviceType||"未知设备":"未知发送者"},deviceType(){var e,a,l;const t=((e=this.currentNotification)==null?void 0:e.senderInfo)||((l=(a=this.currentNotification)==null?void 0:a.content)==null?void 0:l.senderInfo);return(t==null?void 0:t.deviceType)=="teacher"?"教师":(t==null?void 0:t.deviceType)=="student"?"学生":(t==null?void 0:t.deviceType)=="classroom"?"教室":(t==null?void 0:t.deviceType)||"未知类型"},targetDevices(){var t,e;return((e=(t=this.currentNotification)==null?void 0:t.content)==null?void 0:e.targetDevices)||[]}},beforeUnmount(){this.autoCloseTimer&&clearTimeout(this.autoCloseTimer),this.urgentSoundTimer&&clearInterval(this.urgentSoundTimer),this.stopNotificationSound()},methods:{show(t){var a;if(this.notificationQueue.findIndex(l=>{var n,o;return((n=l.content)==null?void 0:n.notificationId)===((o=t.content)==null?void 0:o.notificationId)})!==-1){console.log("通知已存在,跳过添加");return}this.notificationQueue.push(t),this.visible?(a=t.content)!=null&&a.isUrgent&&!this.isUrgent?(this.currentIndex=this.notificationQueue.length-1,this.sendDisplayedReceipt(),this.playNotificationSound(),this.sendBrowserNotification(t),this.startUrgentSound()):this.sendBrowserNotification(t):(this.currentIndex=this.notificationQueue.length-1,this.visible=!0,this.sendDisplayedReceipt(),this.playNotificationSound(),this.sendBrowserNotification(t),this.isUrgent&&this.startUrgentSound())},close(){var t,e,a,l;try{this.sendReadReceipt(),console.log("已发送已读回执")}catch(n){console.warn("发送已读回执失败:",n)}if((e=(t=this.currentNotification)==null?void 0:t.content)!=null&&e.message){const n=this.isUrgent?"紧急通知":"通知";this.isUrgent?(a=this.$message)==null||a.error(n,`${this.currentNotification.content.message}`):(l=this.$message)==null||l.info(n,`${this.currentNotification.content.message}`)}this.notificationQueue.length>0&&(this.notificationQueue.splice(this.currentIndex,1),this.currentIndex>=this.notificationQueue.length&&(this.currentIndex=Math.max(0,this.notificationQueue.length-1)),this.notificationQueue.length>0?(this.sendDisplayedReceipt(),this.isUrgent?this.startUrgentSound():this.stopUrgentSound()):this.closeWithoutRead())},closeWithoutRead(){this.visible=!1,this.notificationQueue=[],this.currentIndex=0,this.autoCloseTimer&&(clearTimeout(this.autoCloseTimer),this.autoCloseTimer=null),this.stopUrgentSound()},formatTime(t){if(!t)return"";try{const e=new Date(t);if(new Date-e<24*60*60*1e3){const n=String(e.getHours()).padStart(2,"0"),o=String(e.getMinutes()).padStart(2,"0");return`${n}:${o}`}else{const n=String(e.getMonth()+1).padStart(2,"0"),o=String(e.getDate()).padStart(2,"0");return`${n}/${o}`}}catch{return"无效时间"}},getDeviceTypeLabel(t){return{classroom:"教室设备",student:"学生设备",teacher:"教师设备",admin:"管理员设备",system:"系统设备"}[t]||t},playNotificationSound(){try{this.stopNotificationSound();const t=this.isUrgent?S("notification.urgentSound"):S("notification.singleSound");this.currentAudio=at(t,!1),this.currentAudio||this.playFallbackSound()}catch(t){console.warn("无法播放通知音效:",t),this.playFallbackSound()}},playFallbackSound(){try{const t=new(window.AudioContext||window.webkitAudioContext),e=t.createOscillator(),a=t.createGain();e.connect(a),a.connect(t.destination),e.frequency.value=1e3,e.type="sine",a.gain.value=.3,e.start(),e.stop(t.currentTime+.3)}catch(t){console.warn("无法播放备用音效:",t)}},stopNotificationSound(){this.currentAudio&&(is(this.currentAudio),this.currentAudio=null)},sendDisplayedReceipt(){var t;try{this.$refs.eventSender&&((t=this.currentNotification)!=null&&t.eventId)&&(this.$refs.eventSender.sendDisplayedReceipt({},this.currentNotification.content.notificationId),console.log("已发送显示回执:",this.currentNotification.eventId))}catch(e){console.warn("发送显示回执失败:",e)}},sendReadReceipt(){var t;try{this.$refs.eventSender&&((t=this.currentNotification)!=null&&t.eventId)&&(this.$refs.eventSender.sendReadReceipt({},this.currentNotification.content.notificationId),console.log("已发送已读回执:",this.currentNotification.eventId))}catch(e){console.warn("发送已读回执失败:",e)}},previousNotification(){this.currentIndex>0&&(this.currentIndex--,this.sendDisplayedReceipt(),this.isUrgent?this.startUrgentSound():this.stopUrgentSound())},nextNotification(){this.currentIndex{this.visible&&this.isUrgent?this.playFallbackSound():this.stopUrgentSound()},1e3))},stopUrgentSound(){this.urgentSoundTimer&&(clearInterval(this.urgentSoundTimer),this.urgentSoundTimer=null),this.stopNotificationSound()},async sendBrowserNotification(t){var e,a,l,n;if(!("Notification"in window)){console.warn("浏览器不支持通知API");return}try{let o=Notification.permission;if(o==="default"&&(o=await Notification.requestPermission()),o!=="granted"){console.warn("用户未授予通知权限");return}const u=((e=t.content)==null?void 0:e.message)||"新通知",f=t.senderInfo||((a=t.content)==null?void 0:a.senderInfo),h=(f==null?void 0:f.deviceName)||(f==null?void 0:f.deviceType)||"未知发送者",d=((l=t.content)==null?void 0:l.isUrgent)||!1,y=new Notification(d?"🚨 紧急通知":"📢 通知消息",{body:`${u} - -来自: ${h}`,icon:"/pwa/image/icon-192.png",badge:"/pwa/image/icon-192.png",tag:((n=t.content)==null?void 0:n.notificationId)||`notification-${Date.now()}`,requireInteraction:d,silent:!1,vibrate:d?[200,100,200,100,200]:[200],timestamp:t.timestamp||Date.now()});y.onclick=()=>{window.focus(),y.close()},d||setTimeout(()=>{y.close()},1e4)}catch(o){console.error("发送浏览器通知失败:",o)}}}},Fs={class:"urgent-title mb-6"},Ls={class:"urgent-subtitle mb-6"},Rs={key:0,class:"navigation-controls mt-6"},Os={class:"notification-counter mb-3"},Bs={class:"navigation-buttons"},js={class:"mt-8"};function Hs(t,e,a,l,n,o){const u=Oe;return m(),p(E,null,[s(J,{modelValue:n.visible,"onUpdate:modelValue":e[0]||(e[0]=f=>n.visible=f),"max-width":"800",persistent:"",transition:"dialog-transition",class:"urgent-notification-dialog"},{default:i(()=>[s(_,{class:"urgent-notification-card",color:o.urgencyColor,elevation:"24"},{default:i(()=>[s(V,null,{default:i(()=>{var f,h,d;return[r("div",Fs,g(((h=(f=o.currentNotification)==null?void 0:f.content)==null?void 0:h.message)||"无内容"),1),r("div",Ls,g(o.senderName)+" "+g(o.deviceType)+" "+g(o.formatTime((d=o.currentNotification)==null?void 0:d.timestamp)),1),o.hasMultipleNotifications?(m(),p("div",Rs,[s(_,{variant:"flat",color:"rgba(255,255,255,0.1)"},{default:i(()=>[s(V,{class:"text-center"},{default:i(()=>[r("div",Os,[s(O,{color:"white",variant:"flat",size:"small"},{default:i(()=>[c(g(o.notificationCountText),1)]),_:1})]),r("div",Bs,[s(k,{disabled:n.currentIndex===0,color:"white",variant:"outlined",size:"small",onClick:o.previousNotification},{default:i(()=>[s(D,null,{default:i(()=>[...e[1]||(e[1]=[c(" mdi-chevron-left ",-1)])]),_:1}),e[2]||(e[2]=c(" 上一个 ",-1))]),_:1},8,["disabled","onClick"]),s(k,{disabled:n.currentIndex===n.notificationQueue.length-1,color:"white",variant:"outlined",size:"small",class:"ml-2",onClick:o.nextNotification},{default:i(()=>[e[4]||(e[4]=c(" 下一个 ",-1)),s(D,null,{default:i(()=>[...e[3]||(e[3]=[c(" mdi-chevron-right ",-1)])]),_:1})]),_:1},8,["disabled","onClick"])])]),_:1})]),_:1})])):w("",!0),r("div",js,[s(k,{color:"white",size:"large",variant:"flat",onClick:o.close},{default:i(()=>[s(D,{left:""},{default:i(()=>[...e[5]||(e[5]=[c(" mdi-check ",-1)])]),_:1}),e[6]||(e[6]=c(" 我知道了 ",-1))]),_:1},8,["onClick"])])]}),_:1})]),_:1},8,["color"])]),_:1},8,["modelValue"]),s(u,{ref:"eventSender"},null,512)],64)}const It=W(Ps,[["render",Hs],["__scopeId","data-v-6190a823"]]),Ks={name:"ChatWidget",components:{UrgentNotification:It},props:{modelValue:{type:Boolean,default:!1},showButton:{type:Boolean,default:!0},offset:{type:Number,default:16},width:{type:Number,default:380},height:{type:Number,default:520}},emits:["update:modelValue"],data(){return{visible:this.modelValue,text:"",messages:[],allEvents:[],lastVisit:null,unreadCount:0,connected:!1,socketId:"",currentMode:"chat",currentPage:1,itemsPerPage:20,loading:!1,isDestroying:!1,eventStats:{chat:0,kvChanged:0,other:0},cleanupFunctions:[]}},computed:{panelStyle(){return{right:this.offset+"px",bottom:this.offset+"px",width:this.width+"px",height:this.height+"px"}},toggleStyle(){return{right:this.offset+"px",bottom:this.offset+"px"}},canSend(){return!!(S("server.kvToken")&&this.text.trim())},showToggleButton(){return this.$props.showButton&&!this.visible},decoratedMessages(){if(!this.lastVisit)return this.messages;const t=this.messages.findIndex(l=>l.at&&new Date(l.at).getTime()>=new Date(this.lastVisit).getTime());if(t<=0)return this.messages;const e=this.messages.slice(0,t),a=this.messages.slice(t);return[...e,{_id:"divider",_type:"divider"},...a]},currentDisplayItems(){return this.currentMode==="chat"?this.decoratedMessages:this.paginatedEvents},paginatedEvents(){if(this.isDestroying||!this.allEvents)return[];const t=(this.currentPage-1)*this.itemsPerPage,e=t+this.itemsPerPage;return this.allEvents.slice(t,e)},totalPages(){return this.isDestroying||!this.allEvents?1:Math.ceil(this.allEvents.length/this.itemsPerPage)},modeTitle(){return this.currentMode==="chat"?"设备聊天室":"所有事件"}},watch:{modelValue(t){this.visible=t,t&&this.onOpen()}},mounted(){try{const d=localStorage.getItem("chat.lastVisit");d&&(this.lastVisit=d)}catch{}const t=wt();this.connected=!!t.connected,this.socketId=t.id||"",t.on("connect",()=>{this.connected=!0,this.socketId=t.id||""}),t.on("disconnect",()=>{this.connected=!1});const e=S("server.kvToken");e&&Ge(e);const a=d=>(...y)=>{if(!this.isDestroying)try{d(...y)}catch(I){console.error("ChatWidget 事件处理错误:",I)}},l=me("chat:message",a(d=>{this.pushMessage(d),this.addEvent({_id:`legacy-chat-${Date.now()}-${Math.random()}`,type:"chat:message",content:d,timestamp:d.at||new Date().toISOString(),senderId:d.senderId,uuid:d.uuid,senderInfo:d.senderInfo})})),n=me("chat",a(d=>{if(d&&d.content&&d.content.text){const y={text:d.content.text,senderId:d.senderId,at:d.timestamp,uuid:d.senderId,senderInfo:d.senderInfo};this.pushMessage(y),this.addEvent({_id:d.eventId||`chat-${Date.now()}-${Math.random()}`,type:"chat",content:d.content,timestamp:d.timestamp,eventId:d.eventId,senderId:d.senderId,senderInfo:d.senderInfo})}}));this.deviceEventHandler=Ct({onChat:a((d,y)=>{this.pushMessage(d),this.addEvent(y)}),onKvChanged:a((d,y)=>{this.addEvent(y)}),onUrgentNotice:a((d,y)=>{this.addEvent(y),this.showUrgentNotification(y)}),onNotification:a((d,y)=>{console.log("收到通知事件:",d,y),this.addEvent(y),this.showUrgentNotification(y)}),onOtherEvent:a(d=>{(d.type==="urgent-notice"||d.type==="notification")&&this.showUrgentNotification(d),this.addEvent(d)}),enableLegacySupport:!0});const o=me("device-event",this.deviceEventHandler),u=me("kv-key-changed",a(d=>{d.content&&d.timestamp?this.addEvent({_id:`kv-${Date.now()}-${Math.random()}`,type:"kv-key-changed",content:d.content,timestamp:d.timestamp,eventId:d.eventId,senderId:d.senderId,senderInfo:d.senderInfo}):this.addEvent({_id:`legacy-kv-${Date.now()}-${Math.random()}`,type:"kv-key-changed",content:d,timestamp:d.updatedAt||new Date().toISOString(),uuid:d.uuid})})),f=me("urgent-notice",a(d=>{console.log("收到紧急通知:",d),this.addEvent({_id:`urgent-${Date.now()}-${Math.random()}`,type:"urgent-notice",content:d.content||d,timestamp:d.timestamp||new Date().toISOString(),eventId:d.eventId,senderId:d.senderId,senderInfo:d.senderInfo}),this.showUrgentNotification(d)})),h=me("notification",a(d=>{var y;console.log("收到通知事件:",d),this.addEvent({_id:`notification-${Date.now()}-${Math.random()}`,type:"notification",content:d.content||d,timestamp:d.timestamp||new Date().toISOString(),eventId:d.eventId,senderId:d.senderId,senderInfo:d.senderInfo||((y=d.content)==null?void 0:y.senderInfo)}),this.showUrgentNotification(d)}));this.cleanupFunctions=[l,n,f,h,o,u],this.visible&&this.onOpen()},beforeUnmount(){this.isDestroying=!0,this.cleanupFunctions&&Array.isArray(this.cleanupFunctions)&&this.cleanupFunctions.forEach(t=>{try{typeof t=="function"&&t()}catch(e){console.warn("ChatWidget 清理函数执行失败:",e)}});try{this.offMessage&&this.offMessage(),this.offDeviceEvent&&this.offDeviceEvent(),this.offKvChanged&&this.offKvChanged()}catch(t){console.warn("ChatWidget 旧清理函数执行失败:",t)}this.cleanupFunctions=[],this.messages=[],this.allEvents=[]},methods:{open(){this.visible=!0,this.$emit("update:modelValue",!0),this.onOpen()},close(){this.visible=!1,this.$emit("update:modelValue",!1);try{localStorage.setItem("chat.lastVisit",new Date().toISOString())}catch{}this.unreadCount=0},onOpen(){this.$nextTick(()=>this.scrollToBottom())},insertEmoji(t){this.text+=t,this.$nextTick(()=>{var e,a;if((a=(e=this.$refs.inputRef)==null?void 0:e.$el)!=null&&a.querySelector){const l=this.$refs.inputRef.$el.querySelector("textarea");l==null||l.focus()}})},handleEnter(t){t.shiftKey||this.send()},send(){const t=this.text.trim();if(!t)return;const e={_id:`self-${Date.now()}-${Math.random()}`,text:t,at:new Date().toISOString(),senderId:this.socketId,self:!0,senderInfo:{deviceName:"我",deviceType:"client",isReadOnly:!1}};this.pushMessage(e),this.addEvent({_id:`self-event-${Date.now()}-${Math.random()}`,type:"chat",content:{text:t},timestamp:new Date().toISOString(),senderId:this.socketId,senderInfo:{deviceName:"本设备",deviceType:"client",isReadOnly:!1}}),ls(t),this.text=""},pushMessage(t){if(!(this.isDestroying||!t))try{const e={_id:`${t.at||Date.now()}-${Math.random()}`,text:typeof(t==null?void 0:t.text)=="string"?t.text:(t==null?void 0:t.text)||"",at:t.at||new Date().toISOString(),senderId:t.senderId,self:!!(t.senderId&&t.senderId===this.socketId),senderInfo:t.senderInfo||null,deviceName:this.getDeviceName(t.senderInfo,t.senderId===this.socketId)};if(!e.text)return;this.messages.push(e),this.visible||this.unreadCount++,this.$nextTick(()=>{this.isDestroying||this.scrollToBottom()}),this.messages.length>500&&this.messages.shift()}catch(e){console.error("ChatWidget pushMessage 错误:",e)}},formatTime(t){try{const e=new Date(t),a=String(e.getHours()).padStart(2,"0"),l=String(e.getMinutes()).padStart(2,"0");return`${a}:${l}`}catch{return""}},scrollToBottom(){if(!this.isDestroying)try{const t=this.$refs.listRef;if(!t)return;requestAnimationFrame(()=>{!this.isDestroying&&t&&(t.scrollTop=t.scrollHeight)})}catch(t){console.warn("ChatWidget scrollToBottom 错误:",t)}},addEvent(t){if(!(this.isDestroying||!t))try{this.allEvents.unshift(t),t.type==="chat"||t.type==="chat:message"?this.eventStats.chat++:t.type==="kv-key-changed"?this.eventStats.kvChanged++:this.eventStats.other++,this.allEvents.length>200&&(this.allEvents=this.allEvents.slice(0,200))}catch(e){console.error("ChatWidget addEvent 错误:",e)}},getEventColor(t){switch(t){case"chat":case"chat:message":return"success";case"kv-key-changed":return"info";default:return"warning"}},getEventTypeLabel(t){switch(t){case"chat":case"chat:message":return"聊天";case"kv-key-changed":return"KV变化";default:return t}},formatDeviceInfo(t){return os(t)},getDeviceName(t,e=!1){return e?"我":t?t.deviceName==="realtime"?"系统":t.deviceName||t.deviceType||"未知设备":"未知设备"},showUrgentNotification(t){try{this.$refs.urgentNotification?this.$refs.urgentNotification.show(t):console.warn("紧急通知组件未找到")}catch(e){console.error("显示紧急通知失败:",e)}}}},qs={class:"text-subtitle-1"},Ws={key:0,ref:"listRef",class:"messages"},Gs={key:0,class:"divider-row"},Qs={class:"avatar"},Js={class:"bubble"},Ys={key:0,class:"sender-name"},Xs={class:"text"},Zs={class:"meta"},en={key:0,class:"device-name"},tn={key:1,class:"events-container"},sn={class:"event-stats mb-3"},nn={class:"text-h6"},an={class:"text-h6"},on={class:"text-h6"},ln={class:"events-list"},rn={class:"d-flex align-center mb-1"},dn={class:"text-caption"},un={key:0,class:"mb-1 text-caption"},cn={class:"event-content"},mn={key:0,class:"chat-content"},fn={key:1,class:"text-caption event-data"},hn={key:0,class:"text-center text-grey pa-4"},gn={key:0,class:"pagination mt-2"};function pn(t,e,a,l,n,o){const u=It;return m(),p(E,null,[o.showToggleButton?(m(),p("div",{key:0,style:re(o.toggleStyle),class:"chat-toggle"},[s(k,{color:"primary",icon:"",variant:"flat",onClick:e[0]||(e[0]=f=>o.open())},{default:i(()=>[s(es,{content:n.unreadCount||void 0,"model-value":n.unreadCount>0,color:"error",overlap:""},{default:i(()=>[s(D,null,{default:i(()=>[...e[7]||(e[7]=[c(" mdi-chat ",-1)])]),_:1})]),_:1},8,["content","model-value"])]),_:1})],4)):w("",!0),oe(r("div",{style:re(o.panelStyle),class:"chat-panel"},[s(_,{border:"",class:"chat-card",elevation:"8"},{default:i(()=>[s(j,{class:"d-flex align-center"},{default:i(()=>[s(D,{class:"mr-2"},{default:i(()=>[...e[8]||(e[8]=[c(" mdi-chat-processing ",-1)])]),_:1}),r("span",qs,g(o.modeTitle),1),s(F),s(vt,{modelValue:n.currentMode,"onUpdate:modelValue":e[1]||(e[1]=f=>n.currentMode=f),class:"mr-2",mandatory:"",size:"small",variant:"outlined"},{default:i(()=>[s(k,{value:"chat",size:"small"},{default:i(()=>[s(D,null,{default:i(()=>[...e[9]||(e[9]=[c("mdi-chat",-1)])]),_:1})]),_:1}),s(k,{value:"events",size:"small"},{default:i(()=>[s(D,null,{default:i(()=>[...e[10]||(e[10]=[c("mdi-format-list-bulleted",-1)])]),_:1})]),_:1})]),_:1},8,["modelValue"]),s(Ze,{location:"top"},{activator:i(({props:f})=>[s(O,Je({color:n.connected?"success":"grey",size:"x-small"},f,{variant:"tonal"}),{default:i(()=>[c(g(n.connected?"已连接":"未连接"),1)]),_:1},16,["color"])]),default:i(()=>[r("span",null,"Socket "+g(n.socketId||"-"),1)]),_:1}),s(k,{icon:"",variant:"text",onClick:e[2]||(e[2]=f=>o.close())},{default:i(()=>[s(D,null,{default:i(()=>[...e[11]||(e[11]=[c("mdi-close",-1)])]),_:1})]),_:1})]),_:1}),s(ve),s(V,{class:"chat-body"},{default:i(()=>[n.currentMode==="chat"?(m(),p("div",Ws,[(m(!0),p(E,null,U(o.decoratedMessages,f=>(m(),p(E,{key:f._id},[f._type==="divider"?(m(),p("div",Gs,[s(ve,{class:"my-2"}),e[12]||(e[12]=r("div",{class:"divider-text"}," 今天 - 上次访问 ",-1)),s(ve,{class:"my-2"})])):(m(),p("div",{key:1,class:he([{self:f.self},"message-row"])},[r("div",Qs,[s(Ie,{color:f.self?"primary":"grey",size:"24"},{default:i(()=>[s(D,{size:"small"},{default:i(()=>[c(g(f.self?"mdi-account":"mdi-account-outline"),1)]),_:2},1024)]),_:2},1032,["color"])]),r("div",Js,[!f.self&&f.deviceName?(m(),p("div",Ys,g(f.deviceName),1)):w("",!0),r("div",Xs,g(f.text),1),r("div",Zs,[f.self&&f.deviceName?(m(),p("span",en,g(f.deviceName)+" • ",1)):w("",!0),c(" "+g(o.formatTime(f.at)),1)])])],2))],64))),128))],512)):(m(),p("div",tn,[r("div",sn,[s(ce,{dense:""},{default:i(()=>[s(ne,{cols:"4"},{default:i(()=>[s(_,{color:"success",dark:"",size:"small"},{default:i(()=>[s(V,{class:"text-center pa-2"},{default:i(()=>[r("div",nn,g(n.eventStats.chat),1),e[13]||(e[13]=r("div",{class:"text-caption"}," 聊天 ",-1))]),_:1})]),_:1})]),_:1}),s(ne,{cols:"4"},{default:i(()=>[s(_,{color:"info",dark:"",size:"small"},{default:i(()=>[s(V,{class:"text-center pa-2"},{default:i(()=>[r("div",an,g(n.eventStats.kvChanged),1),e[14]||(e[14]=r("div",{class:"text-caption"}," KV变化 ",-1))]),_:1})]),_:1})]),_:1}),s(ne,{cols:"4"},{default:i(()=>[s(_,{color:"warning",dark:"",size:"small"},{default:i(()=>[s(V,{class:"text-center pa-2"},{default:i(()=>[r("div",on,g(n.eventStats.other),1),e[15]||(e[15]=r("div",{class:"text-caption"}," 其他 ",-1))]),_:1})]),_:1})]),_:1})]),_:1})]),r("div",ln,[(m(!0),p(E,null,U(o.paginatedEvents,f=>(m(),p("div",{key:f._id,class:"event-item mb-2"},[s(_,{color:o.getEventColor(f.type),size:"small",variant:"outlined"},{default:i(()=>[s(V,{class:"pa-2"},{default:i(()=>{var h;return[r("div",rn,[s(O,{color:o.getEventColor(f.type),size:"x-small"},{default:i(()=>[c(g(o.getEventTypeLabel(f.type)),1)]),_:2},1032,["color"]),s(F),r("span",dn,g(o.formatTime(f.timestamp||f.at)),1)]),f.senderInfo?(m(),p("div",un,[e[16]||(e[16]=r("strong",null,"发送者:",-1)),c(" "+g(o.formatDeviceInfo(f.senderInfo)),1)])):w("",!0),r("div",cn,[f.type==="chat"||f.type==="chat:message"?(m(),p("div",mn,g(((h=f.content)==null?void 0:h.text)||f.text),1)):(m(),p("pre",fn,g(JSON.stringify(f.content||f,null,1)),1))])]}),_:2},1024)]),_:2},1032,["color"])]))),128)),n.allEvents.length===0?(m(),p("div",hn," 暂无事件 ")):w("",!0)]),o.totalPages>1?(m(),p("div",gn,[s(rs,{modelValue:n.currentPage,"onUpdate:modelValue":e[3]||(e[3]=f=>n.currentPage=f),length:o.totalPages,"total-visible":3,size:"small"},null,8,["modelValue","length"])])):w("",!0)]))]),_:1}),n.currentMode==="chat"?(m(),b(ve,{key:0})):w("",!0),n.currentMode==="chat"?(m(),b(X,{key:1,class:"chat-input"},{default:i(()=>[s(k,{class:"mr-1",icon:"",variant:"text",onClick:e[4]||(e[4]=f=>o.insertEmoji("😄"))},{default:i(()=>[s(D,null,{default:i(()=>[...e[17]||(e[17]=[c("mdi-emoticon-outline",-1)])]),_:1})]),_:1}),s(Ue,{ref:"inputRef",modelValue:n.text,"onUpdate:modelValue":e[5]||(e[5]=f=>n.text=f),"auto-grow":"",class:"flex-grow-1","hide-details":"",placeholder:"输入消息",rows:"1",variant:"solo",onKeydown:[tt(We(o.handleEnter,["prevent"]),["enter"]),e[6]||(e[6]=tt(We(()=>{},["shift","stop"]),["enter"]))]},null,8,["modelValue","onKeydown"]),s(k,{disabled:!o.canSend,class:"ml-2",color:"primary",onClick:o.send},{default:i(()=>[s(D,{start:""},{default:i(()=>[...e[18]||(e[18]=[c(" mdi-send ",-1)])]),_:1}),e[19]||(e[19]=c(" 发送 ",-1))]),_:1},8,["disabled","onClick"])]),_:1})):w("",!0)]),_:1})],4),[[be,n.visible]]),s(u,{ref:"urgentNotification"},null,512)],64)}const Be=W(Ks,[["render",pn],["__scopeId","data-v-1a62ac2a"]]),vn={name:"UrgentTestDialog",components:{ChatWidget:Be,EventSender:Oe},props:{modelValue:{type:Boolean,default:!1}},emits:["update:modelValue"],data(){return{sending:!1,notificationForm:{isUrgent:!1,message:"",isPersistent:!1},sentMessages:[],receiptCleanup:[],persistentNotifications:[],editDialog:!1,editForm:{id:null,message:"",isUrgent:!1,resend:!1},savingEdit:!1,deleteConfirmDialog:!1,itemToDelete:null}},computed:{dialog:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}}},mounted(){this.setupEventListeners(),this.loadPersistentNotifications()},beforeUnmount(){this.cleanup()},methods:{generateNotificationId(){const t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";let e="";for(let a=0;a<32;a++)e+=t.charAt(Math.floor(Math.random()*t.length));return e},async sendNotification(){if(this.notificationForm.message.trim()){this.sending=!0;try{const t=this.generateNotificationId(),e=this.notificationForm.message,a=this.notificationForm.isUrgent,l=this.notificationForm.isPersistent,n=await this.$refs.eventSender.sendNotification(e,a,[],{deviceName:"测试设备",deviceType:"system",isReadOnly:!1},t),o=(n==null?void 0:n.eventId)||`msg-${Date.now()}`;if(this.sentMessages.push({id:o,notificationId:t,message:e,isUrgent:a,timestamp:new Date().toISOString(),receipts:{displayed:[],read:[]}}),l)try{const u="notification-list",f=await Z.loadData(u);let h=[];f&&Array.isArray(f)?h=f:f&&f.success!==!1&&Array.isArray(f.data)&&(h=f.data);const d={id:t,message:e,isUrgent:a,timestamp:new Date().toISOString()};h.unshift(d),await Z.saveData(u,h),this.persistentNotifications=h,console.log("常驻通知已保存")}catch(u){console.error("保存常驻通知失败",u)}console.log("通知已发送,事件ID:",o,"通知ID:",t),this.resetForm()}catch(t){console.error("发送通知失败:",t)}finally{this.sending=!1}}},resetForm(){this.notificationForm={isUrgent:!1,message:"",isPersistent:!1}},close(){this.dialog=!1},setupEventListeners(){const t=me("notification-displayed",a=>{console.log("收到显示回执:",a),this.updateReceipt(a,"displayed")}),e=me("notification-read",a=>{console.log("收到已读回执:",a),this.updateReceipt(a,"read")});this.receiptCleanup.push(t,e)},updateReceipt(t,e){var o,u,f,h,d;const a=t.originalEventId,l=t.notificationId||((o=t.content)==null?void 0:o.notificationId);if(!a&&!l)return;const n=this.sentMessages.find(y=>y.id===a||y.notificationId===l);if(n){const y={senderId:t.senderId||"unknown-sender",deviceName:((u=t.senderInfo)==null?void 0:u.deviceName)||((f=t.deviceInfo)==null?void 0:f.deviceName)||"未知设备",deviceType:((h=t.senderInfo)==null?void 0:h.deviceType)||((d=t.deviceInfo)==null?void 0:d.deviceType)||"unknown",timestamp:new Date().toISOString()};n.receipts[e].find(L=>L.senderId===y.senderId)||(n.receipts[e].push(y),console.log(`更新${e}回执:`,n.id,y))}},cleanup(){this.receiptCleanup.forEach(t=>t()),this.receiptCleanup=[]},formatTime(t){return new Date(t).toLocaleString("zh-CN")},getReceiptStatus(t){return t.read.length>0?"已读":t.displayed.length>0?"已显示":"已发送"},getReceiptColor(t){return t.read.length>0?"success":t.displayed.length>0?"info":"grey"},formatDeviceTime(t){return new Date(t).toLocaleTimeString("zh-CN")},getMainCardColor(t){return t.read.length>0?"success":t.displayed.length>0?"info":"grey"},hasAnyReceipts(t){return t.read.length>0||t.displayed.length>0},getDisplayedOnlyDevices(t){const e=t.read.map(a=>a.senderId);return t.displayed.filter(a=>!e.includes(a.senderId))},openEditDialog(t){this.editForm={id:t.id,message:t.message,isUrgent:t.isUrgent||!1,resend:!1,timestamp:t.timestamp},this.editDialog=!0},async saveEdit(){var t,e;if(this.editForm.message.trim()){this.savingEdit=!0;try{const a=this.persistentNotifications.findIndex(l=>l.id===this.editForm.id);if(a!==-1){if(this.persistentNotifications[a]={...this.persistentNotifications[a],message:this.editForm.message,isUrgent:this.editForm.isUrgent,timestamp:new Date().toISOString()},await Z.saveData("notification-list",this.persistentNotifications),this.editForm.resend){const l=this.editForm.id,n=this.editForm.message,o=this.editForm.isUrgent,u=await this.$refs.eventSender.sendNotification(n,o,[],{deviceName:"测试设备",deviceType:"system",isReadOnly:!1},l),f=(u==null?void 0:u.eventId)||`msg-${Date.now()}`;this.sentMessages.push({id:f,notificationId:l,message:n,isUrgent:o,timestamp:new Date().toISOString(),receipts:{displayed:[],read:[]}})}this.editDialog=!1,(t=this.$message)==null||t.success("已更新")}}catch(a){console.error("保存失败",a),(e=this.$message)==null||e.error("保存失败")}finally{this.savingEdit=!1}}},async loadPersistentNotifications(){try{const t=await Z.loadData("notification-list");t&&Array.isArray(t)?this.persistentNotifications=t:t&&t.success!==!1&&Array.isArray(t.data)?this.persistentNotifications=t.data:this.persistentNotifications=[]}catch(t){console.error("加载常驻通知失败",t)}},async deleteNotification(t){if(confirm("确定要删除这个通知吗?"))try{this.sentMessages=this.sentMessages.filter(a=>a.id!==t),this.persistentNotifications=this.persistentNotifications.filter(a=>a.id!==t),console.log("通知已删除,通知ID:",t)}catch(a){console.error("删除通知失败:",a)}},deletePersistentNotification(t){this.itemToDelete=t,this.deleteConfirmDialog=!0},async executeDelete(){var e,a;if(!this.itemToDelete)return;const t=this.itemToDelete;this.deleteConfirmDialog=!1,this.itemToDelete=null;try{this.persistentNotifications=this.persistentNotifications.filter(n=>n.id!==t);const l=this.persistentNotifications.length>0?this.persistentNotifications:{};await Z.saveData("notification-list",l),(e=this.$message)==null||e.success("已删除")}catch(l){console.error("删除失败",l),(a=this.$message)==null||a.error("删除失败")}}}},yn={key:0,class:"text-center text-grey py-4"},kn={key:0,class:"text-center text-grey py-8"},bn={class:"d-flex align-center mb-2"},xn={class:"font-weight-medium"},wn={class:"text-caption font-weight-medium"},Sn={class:"text-body-2 mb-3",style:{"max-height":"60px",overflow:"hidden"}},Cn={class:"text-caption"},_n={key:0},Dn={class:"align-center"},Tn={class:"text-body-2 font-weight-medium"},In={class:"text-caption mt-1"},En={class:"align-center"},Nn={class:"text-body-2 font-weight-medium"},Vn={class:"text-caption text-grey"},An={class:"text-caption text-grey mt-1"},Un={key:1};function zn(t,e,a,l,n,o){const u=Be,f=Oe;return m(),b(J,{modelValue:o.dialog,"onUpdate:modelValue":e[11]||(e[11]=h=>o.dialog=h),fullscreen:"",transition:"dialog-bottom-transition",scrollable:""},{default:i(()=>[s(_,null,{default:i(()=>[s(rt,{dark:"",flat:""},{default:i(()=>[s(dt,null,{default:i(()=>[s(D,{class:"mr-2"},{default:i(()=>[...e[12]||(e[12]=[c(" mdi-chat ",-1)])]),_:1}),e[13]||(e[13]=c(" 发送通知 ",-1))]),_:1}),s(F),s(k,{icon:"mdi-close",onClick:o.close},null,8,["onClick"])]),_:1}),s(V,{class:"pa-0"},{default:i(()=>[s(Dt,null,{default:i(()=>[s(ce,null,{default:i(()=>[s(ne,{cols:"12"},{default:i(()=>[s(_,null,{default:i(()=>[s(V,null,{default:i(()=>[s(ut,null,{default:i(()=>[s(ce,null,{default:i(()=>[s(ne,{cols:"12",md:"6"},{default:i(()=>[s(Qe,{modelValue:n.notificationForm.isUrgent,"onUpdate:modelValue":e[0]||(e[0]=h=>n.notificationForm.isUrgent=h),label:"强调通知",color:"red",inset:""},null,8,["modelValue"]),s(lt,{modelValue:n.notificationForm.isPersistent,"onUpdate:modelValue":e[1]||(e[1]=h=>n.notificationForm.isPersistent=h),label:"常驻展示",color:"primary","hide-details":"",class:"mt-0"},null,8,["modelValue"])]),_:1}),s(ne,{cols:"12"},{default:i(()=>[s(Ue,{modelValue:n.notificationForm.message,"onUpdate:modelValue":e[2]||(e[2]=h=>n.notificationForm.message=h),label:"通知内容",outlined:"",rows:"3",placeholder:"请输入强调通知的内容..."},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),_:1}),s(X,{class:"px-6 pb-6"},{default:i(()=>[s(k,{color:n.notificationForm.isUrgent?"red":"blue",disabled:!n.notificationForm.message.trim(),loading:n.sending,size:"large",variant:"elevated",onClick:o.sendNotification},{default:i(()=>[s(D,{left:""},{default:i(()=>[c(g(n.notificationForm.isUrgent?"mdi-alert-circle":"mdi-information"),1)]),_:1}),c(" "+g(n.notificationForm.isUrgent?"发送强调通知":"发送通知"),1)]),_:1},8,["color","disabled","loading","onClick"]),s(F)]),_:1})]),_:1})]),_:1})]),_:1}),s(ce,{class:"mt-4"},{default:i(()=>[s(ne,{cols:"12"},{default:i(()=>[s(_,null,{default:i(()=>[s(j,null,{default:i(()=>[s(D,{class:"mr-2"},{default:i(()=>[...e[14]||(e[14]=[c("mdi-pin",-1)])]),_:1}),e[15]||(e[15]=c(" 常驻通知管理 ",-1))]),_:1}),s(V,null,{default:i(()=>[n.persistentNotifications.length===0?(m(),p("div",yn," 暂无常驻通知 ")):(m(),b(we,{key:1},{default:i(()=>[(m(!0),p(E,null,U(n.persistentNotifications,h=>(m(),b(Se,{key:h.id,title:h.message,subtitle:o.formatTime(h.timestamp),lines:"two"},{prepend:i(()=>[s(D,{color:h.isUrgent?"error":"primary"},{default:i(()=>[c(g(h.isUrgent?"mdi-alert-circle":"mdi-information"),1)]),_:2},1032,["color"])]),append:i(()=>[s(k,{icon:"mdi-pencil",variant:"text",size:"small",onClick:d=>o.openEditDialog(h)},null,8,["onClick"]),s(k,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:d=>o.deletePersistentNotification(h.id)},null,8,["onClick"])]),_:2},1032,["title","subtitle"]))),128))]),_:1}))]),_:1})]),_:1})]),_:1})]),_:1}),s(ce,{class:"mt-4"},{default:i(()=>[s(ne,{cols:"12"},{default:i(()=>[s(_,null,{default:i(()=>[s(j,null,{default:i(()=>[s(D,{class:"mr-2"},{default:i(()=>[...e[16]||(e[16]=[c(" mdi-history ",-1)])]),_:1}),e[17]||(e[17]=c(" 消息记录 ",-1)),s(F)]),_:1}),s(V,null,{default:i(()=>[n.sentMessages.length===0?(m(),p("div",kn,[s(D,{size:"64",color:"grey-lighten-2"},{default:i(()=>[...e[18]||(e[18]=[c(" mdi-message-outline ",-1)])]),_:1}),e[19]||(e[19]=r("div",{class:"mt-2"}," 暂无发送记录 ",-1))])):(m(),b(ce,{key:1},{default:i(()=>[(m(!0),p(E,null,U(n.sentMessages.slice().reverse(),h=>(m(),b(ne,{key:h.id,cols:"12",md:"6",lg:"4"},{default:i(()=>[s(_,{color:o.getMainCardColor(h.receipts),class:"mb-2"},{default:i(()=>[s(V,null,{default:i(()=>[r("div",bn,[r("span",xn,g(h.isUrgent?"强调通知":"通知"),1),s(F),r("span",wn,g(o.getReceiptStatus(h.receipts)),1)]),r("div",Sn,g(h.message),1),r("div",Cn,[r("div",null,"发送时间:"+g(o.formatTime(h.timestamp)),1),r("div",null,"事件ID:"+g(h.id),1),r("div",null,"通知ID:"+g(h.notificationId),1)])]),_:2},1024)]),_:2},1032,["color"]),o.hasAnyReceipts(h.receipts)?(m(),p("div",_n,[(m(!0),p(E,null,U(h.receipts.read,d=>(m(),b(_,{key:`${d.senderId}-read`,color:"success",class:"mb-1",size:"small"},{default:i(()=>[s(V,{class:"pa-2"},{default:i(()=>[r("div",Dn,[r("span",Tn,g(d.deviceName),1),e[20]||(e[20]=r("br",null,null,-1)),c(" "+g(d.deviceType),1)]),r("div",In," 已读于 "+g(o.formatDeviceTime(d.timestamp)),1)]),_:2},1024)]),_:2},1024))),128)),(m(!0),p(E,null,U(o.getDisplayedOnlyDevices(h.receipts),d=>(m(),b(_,{key:`${d.senderId}-displayed`,color:"info-lighten-4",variant:"outlined",class:"mb-1",size:"small"},{default:i(()=>[s(V,{class:"pa-2"},{default:i(()=>[r("div",En,[r("span",Nn,g(d.deviceName),1),s(F),r("span",Vn,g(d.deviceType=="classroom"?"教室设备上的应用":d.deviceType),1)]),r("div",An," 已显示于 "+g(o.formatDeviceTime(d.timestamp)),1)]),_:2},1024)]),_:2},1024))),128))])):(m(),p("div",Un,[s(_,{color:"info-lighten-4",variant:"outlined",class:"mb-1",size:"small",title:"无设备在线"},{default:i(()=>[s(V,null,{default:i(()=>[...e[21]||(e[21]=[c(" 如果数秒后任然显示这个提示,则可能没有任何设备在线接收通知。 ",-1)])]),_:1})]),_:1})]))]),_:2},1024))),128))]),_:1}))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),s(u),s(f,{ref:"eventSender"},null,512),s(J,{modelValue:n.editDialog,"onUpdate:modelValue":e[8]||(e[8]=h=>n.editDialog=h),"max-width":"500",fullscreen:t.$vuetify.display.xs},{default:i(()=>[s(_,null,{default:i(()=>[s(rt,{flat:"",density:"compact"},{default:i(()=>[s(dt,null,{default:i(()=>[...e[22]||(e[22]=[c("编辑常驻通知",-1)])]),_:1}),s(F),s(k,{icon:"mdi-close",onClick:e[3]||(e[3]=h=>n.editDialog=!1)})]),_:1}),s(V,null,{default:i(()=>[s(ut,null,{default:i(()=>[s(Ue,{modelValue:n.editForm.message,"onUpdate:modelValue":e[4]||(e[4]=h=>n.editForm.message=h),label:"通知内容",rows:"3","auto-grow":""},null,8,["modelValue"]),s(Qe,{modelValue:n.editForm.isUrgent,"onUpdate:modelValue":e[5]||(e[5]=h=>n.editForm.isUrgent=h),label:"强调通知",color:"error","hide-details":""},null,8,["modelValue"]),s(lt,{modelValue:n.editForm.resend,"onUpdate:modelValue":e[6]||(e[6]=h=>n.editForm.resend=h),label:"保存并重新发送通知",hint:"勾选后将作为新通知发送给所有在线设备","persistent-hint":""},null,8,["modelValue"])]),_:1})]),_:1}),s(X,null,{default:i(()=>[s(F),s(k,{variant:"text",onClick:e[7]||(e[7]=h=>n.editDialog=!1)},{default:i(()=>[...e[23]||(e[23]=[c("取消",-1)])]),_:1}),s(k,{color:"primary",loading:n.savingEdit,onClick:o.saveEdit},{default:i(()=>[...e[24]||(e[24]=[c("保存",-1)])]),_:1},8,["loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue","fullscreen"]),s(J,{modelValue:n.deleteConfirmDialog,"onUpdate:modelValue":e[10]||(e[10]=h=>n.deleteConfirmDialog=h),"max-width":"400"},{default:i(()=>[s(_,null,{default:i(()=>[s(j,{class:"text-h5"},{default:i(()=>[...e[25]||(e[25]=[c("确认删除",-1)])]),_:1}),s(V,null,{default:i(()=>[...e[26]||(e[26]=[c("确定要删除这条常驻通知吗?此操作无法撤销。",-1)])]),_:1}),s(X,null,{default:i(()=>[s(F),s(k,{color:"grey-darken-1",variant:"text",onClick:e[9]||(e[9]=h=>n.deleteConfirmDialog=!1)},{default:i(()=>[...e[27]||(e[27]=[c("取消",-1)])]),_:1}),s(k,{color:"error",variant:"text",onClick:o.executeDelete},{default:i(()=>[...e[28]||(e[28]=[c("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])}const Et=W(vn,[["render",zn],["__scopeId","data-v-c6850940"]]),Mn={name:"FloatingICP"},$n={"aria-label":"xICP备x号",class:"floating-icp-link",href:"https://beian.miit.gov.cn/",rel:"noopener noreferrer",target:"_blank",style:{display:"none"}};function Pn(t,e,a,l,n,o){return m(),p("a",$n," xICP备x号 ")}const Nt=W(Mn,[["render",Pn],["__scopeId","data-v-fa73670f"]]),Fn={name:"FloatingToolbar",props:{loading:{type:Boolean,default:!1},unreadCount:{type:Number,default:0},selectedDate:{type:[String,Date],required:!0},isToday:{type:Boolean,required:!0},copyToTodayLoading:{type:Boolean,default:!1}},data(){return{isExpanded:!1}},methods:{handleDateSelect(t){this.$emit("date-select",t)}}},Ln={class:"floating-toolbar-container"};function Rn(t,e,a,l,n,o){return m(),p("div",Ln,[s(qt,null,{default:i(()=>[s(_,{class:he([{"toolbar-expanded":n.isExpanded},"floating-toolbar"]),elevation:"4",rounded:"xl"},{default:i(()=>[s(Ye,{class:"toolbar-buttons",variant:"text"},{default:i(()=>[oe(s(k,{title:"查看昨天",class:"toolbar-btn",icon:"mdi-chevron-left",variant:"text",onClick:e[0]||(e[0]=u=>t.$emit("prev-day"))},null,512),[[xe]]),oe(s(k,{title:"缩小字体",class:"toolbar-btn",icon:"mdi-format-font-size-decrease",variant:"text",onClick:e[1]||(e[1]=u=>t.$emit("zoom","out"))},null,512),[[xe]]),oe(s(k,{title:"放大字体",class:"toolbar-btn",icon:"mdi-format-font-size-increase",variant:"text",onClick:e[2]||(e[2]=u=>t.$emit("zoom","up"))},null,512),[[xe]]),s(ms,{"close-on-content-click":!1,location:"top"},{activator:i(({props:u})=>[oe(s(k,Je({title:"选择日期",class:"toolbar-btn",icon:"mdi-calendar"},u,{variant:"text"}),null,16),[[xe]])]),default:i(()=>[s(_,{border:"",class:"date-picker-card"},{default:i(()=>[s(Ht,{"model-value":a.selectedDate,color:"primary","onUpdate:modelValue":o.handleDateSelect},null,8,["model-value","onUpdate:modelValue"])]),_:1})]),_:1}),oe(s(k,{loading:a.loading,title:"刷新数据",class:"toolbar-btn",icon:"mdi-refresh",variant:"text",onClick:e[3]||(e[3]=u=>t.$emit("refresh"))},null,8,["loading"]),[[xe]]),a.isToday?w("",!0):oe((m(),b(k,{key:0,title:"查看明天",class:"toolbar-btn",icon:"mdi-chevron-right",variant:"text",onClick:e[4]||(e[4]=u=>t.$emit("next-day"))},null,512)),[[xe]])]),_:1})]),_:1},8,["class"])]),_:1}),s(Wt,null,{default:i(()=>[a.isToday?w("",!0):(m(),b(k,{key:0,loading:a.copyToTodayLoading,disabled:a.copyToTodayLoading,class:"side-action-btn",color:"primary",elevation:"4","prepend-icon":"mdi-content-copy",rounded:"xl",size:"large",text:"复制作业内容到今天",onClick:e[5]||(e[5]=u=>t.$emit("copy-to-today"))},{default:i(()=>[...e[6]||(e[6]=[c("复制到今天",-1)])]),_:1},8,["loading","disabled"]))]),_:1})])}const Vt=W(Fn,[["render",Rn],["__scopeId","data-v-7076d3aa"]]),On={name:"AttendanceManagementDialog",props:{modelValue:{type:Boolean,required:!0},studentList:{type:Array,required:!0},attendance:{type:Object,required:!0},dateString:{type:String,default:""}},emits:["update:modelValue","save","change"],setup(){const{mobile:t}=Ae();return{mobile:t}},data(){return{attendanceSearch:"",attendanceFilter:[]}},computed:{isMobile(){return S("display.forceDesktopMode")?!1:this.mobile},filteredStudents(){let t=[...this.studentList];if(this.attendanceSearch){const e=this.attendanceSearch.toLowerCase();t=t.filter(a=>a.toLowerCase().includes(e))}return this.attendanceFilter&&this.attendanceFilter.length>0&&(t=t.filter(e=>!!(this.attendanceFilter.includes("present")&&this.isPresent(e)||this.attendanceFilter.includes("absent")&&this.isAbsent(e)||this.attendanceFilter.includes("late")&&this.isLate(e)||this.attendanceFilter.includes("exclude")&&this.isExclude(e)))),t},extractedSurnames(){if(!this.studentList||this.studentList.length===0)return[];const t=new Map;return this.studentList.forEach(e=>{if(e&&e.length>0){const a=e.charAt(0);t.set(a,(t.get(a)||0)+1)}}),Array.from(t.entries()).map(([e,a])=>({name:e,count:a})).sort((e,a)=>{const l=ot(e.name,{toneType:"none"}),n=ot(a.name,{toneType:"none"});return l.localeCompare(n)})}},methods:{toggleFilter(t){const e=this.attendanceFilter.indexOf(t);e===-1?this.attendanceFilter.push(t):this.attendanceFilter.splice(e,1)},isPresent(t){const{absent:e,late:a,exclude:l}=this.attendance;return!e.includes(t)&&!a.includes(t)&&!l.includes(t)},isAbsent(t){return this.attendance.absent.includes(t)},isLate(t){return this.attendance.late.includes(t)},isExclude(t){return this.attendance.exclude.includes(t)},getStudentStatusColor(t){return this.attendance.absent.includes(t)?"error":this.attendance.late.includes(t)?"warning":this.attendance.exclude.includes(t)?"grey":"success"},getStudentStatusIcon(t){return this.attendance.absent.includes(t)?"mdi-account-off":this.attendance.late.includes(t)?"mdi-clock-alert":this.attendance.exclude.includes(t)?"mdi-account-cancel":"mdi-account-check"},removeFromAll(t){const e=this.attendance.absent.indexOf(t);e>-1&&this.attendance.absent.splice(e,1);const a=this.attendance.late.indexOf(t);a>-1&&this.attendance.late.splice(a,1);const l=this.attendance.exclude.indexOf(t);l>-1&&this.attendance.exclude.splice(l,1)},setPresent(t){this.removeFromAll(t),this.$emit("change")},setAbsent(t){this.removeFromAll(t),this.attendance.absent.push(t),this.$emit("change")},setLate(t){this.removeFromAll(t),this.attendance.late.push(t),this.$emit("change")},setExclude(t){this.removeFromAll(t),this.attendance.exclude.push(t),this.$emit("change")},setAllPresent(){this.attendance.absent.splice(0,this.attendance.absent.length),this.attendance.late.splice(0,this.attendance.late.length),this.attendance.exclude.splice(0,this.attendance.exclude.length),this.$emit("change")},setAllAbsent(){this.setAllPresent(),this.attendance.absent.push(...this.studentList),this.$emit("change")},setAllLate(){this.setAllPresent(),this.attendance.late.push(...this.studentList),this.$emit("change")},setAllExclude(){this.setAllPresent(),this.attendance.exclude.push(...this.studentList),this.$emit("change")}}},Bn={class:"d-flex flex-wrap mt-2 gap-1"},jn={class:"d-flex flex-wrap mb-4 gap-2"},Hn={class:"flex-grow-1"},Kn={class:"d-flex align-center"},qn={class:"text-subtitle-1"},Wn={class:"attendance-actions"},Gn={class:"d-flex flex-wrap gap-2"};function Qn(t,e,a,l,n,o){return m(),b(J,{"model-value":a.modelValue,fullscreen:o.isMobile,"fullscreen-breakpoint":"sm","max-width":"900","onUpdate:modelValue":e[7]||(e[7]=u=>t.$emit("update:modelValue",u))},{default:i(()=>[s(_,null,{default:i(()=>[s(j,{class:"d-flex align-center"},{default:i(()=>[s(D,{class:"mr-2",icon:"mdi-account-group"}),e[8]||(e[8]=c(" 考勤 ",-1)),s(F),o.isMobile?w("",!0):(m(),b(O,{key:0,class:"ml-2",color:"primary",size:"small"},{default:i(()=>[c(g(a.dateString),1)]),_:1})),o.isMobile?(m(),b(k,{key:1,icon:"mdi-close",variant:"text",onClick:e[0]||(e[0]=u=>t.$emit("update:modelValue",!1))})):w("",!0)]),_:1}),s(V,null,{default:i(()=>[s(ce,{class:"mb-4"},{default:i(()=>[s(ne,{cols:"12",md:"12"},{default:i(()=>[s(Ce,{modelValue:n.attendanceSearch,"onUpdate:modelValue":e[1]||(e[1]=u=>n.attendanceSearch=u),clearable:"",hint:"支持筛选姓氏,如输入'孙'可筛选所有姓孙的学生",label:"搜索学生","prepend-inner-icon":"mdi-magnify",variant:"outlined"},null,8,["modelValue"]),r("div",Bn,[(m(!0),p(E,null,U(o.extractedSurnames,u=>(m(),b(k,{key:u.name,color:n.attendanceSearch===u.name?"primary":"",variant:n.attendanceSearch===u.name?"elevated":"text",onClick:f=>n.attendanceSearch=n.attendanceSearch===u.name?"":u.name},{default:i(()=>[c(g(u.name)+" ("+g(u.count)+") ",1)]),_:2},1032,["color","variant","onClick"]))),128))])]),_:1})]),_:1}),r("div",jn,[r("div",null,[s(O,{"append-icon":n.attendanceFilter.includes("present")?"mdi-check":"",color:n.attendanceFilter.includes("present")?"success":"",variant:n.attendanceFilter.includes("present")?"elevated":"tonal",class:"px-2 filter-chip","prepend-icon":"mdi-account-check",value:"present",onClick:e[2]||(e[2]=u=>o.toggleFilter("present"))},{default:i(()=>[...e[9]||(e[9]=[c(" 到课 ",-1)])]),_:1},8,["append-icon","color","variant"]),s(O,{"append-icon":n.attendanceFilter.includes("absent")?"mdi-check":"",color:n.attendanceFilter.includes("absent")?"error":"",variant:n.attendanceFilter.includes("absent")?"elevated":"tonal",class:"px-2 filter-chip","prepend-icon":"mdi-account-off",value:"absent",onClick:e[3]||(e[3]=u=>o.toggleFilter("absent"))},{default:i(()=>[...e[10]||(e[10]=[c(" 请假 ",-1)])]),_:1},8,["append-icon","color","variant"]),s(O,{"append-icon":n.attendanceFilter.includes("late")?"mdi-check":"",color:n.attendanceFilter.includes("late")?"warning":"",variant:n.attendanceFilter.includes("late")?"elevated":"tonal",class:"px-2 filter-chip","prepend-icon":"mdi-clock-alert",value:"late",onClick:e[4]||(e[4]=u=>o.toggleFilter("late"))},{default:i(()=>[...e[11]||(e[11]=[c(" 迟到 ",-1)])]),_:1},8,["append-icon","color","variant"]),s(O,{"append-icon":n.attendanceFilter.includes("exclude")?"mdi-check":"",color:n.attendanceFilter.includes("exclude")?"grey":"",variant:n.attendanceFilter.includes("exclude")?"elevated":"tonal",class:"px-2 filter-chip","prepend-icon":"mdi-account-cancel",value:"exclude",onClick:e[5]||(e[5]=u=>o.toggleFilter("exclude"))},{default:i(()=>[...e[12]||(e[12]=[c(" 不参与 ",-1)])]),_:1},8,["append-icon","color","variant"])])]),s(ce,null,{default:i(()=>[(m(!0),p(E,null,U(o.filteredStudents,u=>(m(),b(ne,{key:u,cols:"12",lg:"4",md:"6",sm:"6"},{default:i(()=>[s(_,{border:"",class:"student-card"},{default:i(()=>[s(V,{class:"d-flex align-center pa-2"},{default:i(()=>[r("div",Hn,[r("div",Kn,[s(Ie,{color:o.getStudentStatusColor(u),class:"mr-2",size:"24"},{default:i(()=>[s(D,{size:"small"},{default:i(()=>[c(g(o.getStudentStatusIcon(u)),1)]),_:2},1024)]),_:2},1032,["color"]),r("div",qn,g(u),1)])]),r("div",Wn,[s(k,{color:o.isPresent(u)?"success":"",title:"设为到课",icon:"mdi-account-check",size:o.isMobile?"default":"small",variant:"text",onClick:f=>o.setPresent(u)},null,8,["color","size","onClick"]),s(k,{color:o.isAbsent(u)?"error":"",title:"设为请假",icon:"mdi-account-off",size:o.isMobile?"default":"small",variant:"text",onClick:f=>o.setAbsent(u)},null,8,["color","size","onClick"]),s(k,{color:o.isLate(u)?"warning":"",title:"设为迟到",icon:"mdi-clock-alert",size:o.isMobile?"default":"small",variant:"text",onClick:f=>o.setLate(u)},null,8,["color","size","onClick"]),s(k,{color:o.isExclude(u)?"grey":"",title:"设为不参与",icon:"mdi-account-cancel",size:o.isMobile?"default":"small",variant:"text",onClick:f=>o.setExclude(u)},null,8,["color","size","onClick"])])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1}),s(ce,null,{default:i(()=>[s(ne,{cols:"12",md:"12"},{default:i(()=>[s(_,{class:"mb-4",color:"primary",variant:"tonal"},{default:i(()=>[s(V,null,{default:i(()=>[e[17]||(e[17]=r("div",{class:"text-subtitle-2 mb-2"},"批量操作",-1)),r("div",Gn,[s(k,{class:"flex-grow-1",color:"success","prepend-icon":"mdi-account-check",onClick:o.setAllPresent},{default:i(()=>[...e[13]||(e[13]=[c(" 全部到齐 ",-1)])]),_:1},8,["onClick"]),s(k,{class:"flex-grow-1",color:"error","prepend-icon":"mdi-account-off",onClick:o.setAllAbsent},{default:i(()=>[...e[14]||(e[14]=[c(" 全部请假 ",-1)])]),_:1},8,["onClick"]),s(k,{class:"flex-grow-1",color:"warning","prepend-icon":"mdi-clock-alert",onClick:o.setAllLate},{default:i(()=>[...e[15]||(e[15]=[c(" 全部迟到 ",-1)])]),_:1},8,["onClick"]),s(k,{class:"flex-grow-1",color:"grey","prepend-icon":"mdi-account-cancel",onClick:o.setAllExclude},{default:i(()=>[...e[16]||(e[16]=[c(" 全部不参与 ",-1)])]),_:1},8,["onClick"])])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),s(ve),s(X,null,{default:i(()=>[s(F),s(k,{color:"primary",onClick:e[6]||(e[6]=u=>t.$emit("save"))},{default:i(()=>[s(D,{start:""},{default:i(()=>[...e[18]||(e[18]=[c("mdi-content-save",-1)])]),_:1}),e[19]||(e[19]=c(" 保存 ",-1))]),_:1})]),_:1})]),_:1})]),_:1},8,["model-value","fullscreen"])}const At=W(On,[["render",Qn],["__scopeId","data-v-e18ba4e5"]]),Jn={name:"HomeworkEditDialog",props:{modelValue:{type:Boolean,required:!0},title:{type:String,required:!0},initialContent:{type:String,default:""},autoSave:{type:Boolean,default:!1},isEditingPastData:{type:Boolean,default:!1},currentDateString:{type:String,default:""}},emits:["update:modelValue","save"],setup(){const{mobile:t}=Ae();return{mobile:t}},data(){return{content:"",templateData:null,currentLine:"",currentLineStart:0,currentLineEnd:0,quickTexts:["课","题","例","变","T","P"]}},computed:{isMobile(){return S("display.forceDesktopMode")?!1:this.mobile},dialogVisible:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},subject(){return this.title},hasTemplates(){var t,e;return!!((e=(t=this.templateData)==null?void 0:t.actions)!=null&&e.length||this.subjectBooks||this.commonBooks)},subjectBooks(){var t,e,a;return!this.subject||!((a=(e=(t=this.templateData)==null?void 0:t.subjects)==null?void 0:e[this.subject])!=null&&a.books)?null:this.templateData.subjects[this.subject].books},commonBooks(){var t,e;return(e=(t=this.templateData)==null?void 0:t.commonSubject)!=null&&e.books?this.templateData.commonSubject.books:null},showQuickTools(){return S("display.showQuickTools")},autoSavePromptText(){return S("edit.autoSavePromptText")},manualSavePromptText(){return S("edit.manualSavePromptText")}},watch:{async modelValue(t){if(t){this.content=this.initialContent;try{this.templateData=await Z.loadData("classworks-config-homework-template")}catch(e){console.error("Failed to load homework templates:",e),this.templateData=null}this.$nextTick(()=>{this.$refs.inputRef&&(this.$refs.inputRef.focus(),this.updateCurrentLine())})}}},methods:{handleClose(){const t=this.content.trim();t!==this.initialContent.trim()&&this.$emit("save",t),this.dialogVisible=!1},updateCurrentLine(){const e=this.$refs.inputRef.$el.querySelector("textarea").selectionStart,a=this.content;let l=0;const n=a.split(` -`);for(let o=0;ol.includes(t));a!==-1&&(e.splice(a,1),this.content=e.join(` -`))}else{const e=this.content.trim().length>0;this.content=(e?this.content.trim()+` -`:"")+t}this.$nextTick(()=>{const e=this.$refs.inputRef.$el.querySelector("textarea");if(e.focus(),!this.isBookSelected(t)){const a=this.content.split(` -`);let l=0;for(let n=0;n0?" ":"")+e+this.content.slice(l)}this.$nextTick(()=>{const a=this.$refs.inputRef.$el.querySelector("textarea");a.focus();const l=this.content.split(` -`);let n=0;for(let o=0;othis.currentLineStart));o++)n+=1;a.setSelectionRange(n,n),this.updateCurrentLine()})},insertTemplate(t){const e=this.$refs.inputRef.$el.querySelector("textarea"),a=e.selectionStart,l=e.selectionEnd,n=a>0&&this.content[a-1]!==" "&&this.content[a-1]!==` -`;this.content=this.content.slice(0,a)+(n?" ":"")+t+this.content.slice(l),this.$nextTick(()=>{e.focus();const o=a+t.length+(n?1:0);e.setSelectionRange(o,o),this.updateCurrentLine()})},insertAtCursor(t){if(!t)return;const e=this.$refs.inputRef.$el.querySelector("textarea"),a=e.selectionStart,l=e.selectionEnd;this.content=this.content.slice(0,a)+t+this.content.slice(l),this.$nextTick(()=>{e.focus();const n=a+t.length;e.setSelectionRange(n,n),this.updateCurrentLine()})},deleteLastChar(){const t=this.$refs.inputRef.$el.querySelector("textarea"),e=t.selectionStart,a=t.selectionEnd;e===a?e>0&&(this.content=this.content.slice(0,e-1)+this.content.slice(e),this.$nextTick(()=>{t.focus(),t.setSelectionRange(e-1,e-1),this.updateCurrentLine()})):(this.content=this.content.slice(0,e)+this.content.slice(a),this.$nextTick(()=>{t.focus(),t.setSelectionRange(e,e),this.updateCurrentLine()}))}}},Yn={class:"d-flex"},Xn={class:"flex-grow-1"},Zn={key:0,class:"mt-4"},ei={key:0,class:"template-buttons"},ti={key:0,class:"pages-container mt-2"},si={key:0,class:"pages-container mt-2"},ni={key:2,class:"button-group"},ii={key:1,class:"text-center text-body-2 text-disabled mt-2"},ai={key:0,class:"quick-tools ml-4",style:{"min-width":"180px"}},oi={class:"numeric-keypad mb-4"},li={class:"keypad-row"},ri={class:"keypad-row"},di={class:"keypad-row"},ui={class:"keypad-row"},ci={class:"keypad-row"},mi={class:"d-flex flex-wrap gap-1"},fi={class:"d-flex flex-column"},hi={class:"text-body-2"};function gi(t,e,a,l,n,o){return m(),b(J,{modelValue:o.dialogVisible,"onUpdate:modelValue":e[5]||(e[5]=u=>o.dialogVisible=u),fullscreen:o.isMobile,"max-width":"900",width:"auto","onClick:outside":o.handleClose},{default:i(()=>[s(_,{border:""},{default:i(()=>[s(j,{class:"d-flex align-center"},{default:i(()=>[c(g(a.title)+" ",1),s(F),s(k,{icon:"mdi-close",variant:"text",onClick:o.handleClose},null,8,["onClick"])]),_:1}),s(yt,null,{default:i(()=>[c(g(a.autoSave?o.autoSavePromptText:o.manualSavePromptText),1)]),_:1}),s(V,null,{default:i(()=>{var u;return[r("div",Yn,[r("div",Xn,[s(Ue,{ref:"inputRef",modelValue:n.content,"onUpdate:modelValue":e[0]||(e[0]=f=>n.content=f),"auto-grow":"",placeholder:"使用换行表示分条",rows:"5",width:o.isMobile?"100%":"480",onClick:o.updateCurrentLine,onKeyup:o.updateCurrentLine},null,8,["modelValue","width","onClick","onKeyup"]),n.templateData?(m(),p("div",Zn,[o.hasTemplates?(m(),p("div",ei,[o.subjectBooks?(m(!0),p(E,{key:0},U(o.subjectBooks,(f,h)=>(m(),p("div",{key:h,class:"button-group"},[s(O,{color:o.isBookSelected(h)?"success":"default",variant:o.isBookSelected(h)?"elevated":"flat",class:"ma-1 book-chip",onClick:d=>o.handleBookClick(h)},{default:i(()=>[c(g(h),1)]),_:2},1032,["color","variant","onClick"]),o.isBookSelected(h)?(m(),p("div",ti,[(m(!0),p(E,null,U(f,d=>(m(),b(O,{key:d,color:o.isPageSelected(h,d)?"info":"default",variant:o.isPageSelected(h,d)?"elevated":"flat",class:"ma-1",onClick:y=>o.handlePageClick(h,d)},{default:i(()=>[c(g(d),1)]),_:2},1032,["color","variant","onClick"]))),128))])):w("",!0)]))),128)):w("",!0),o.commonBooks?(m(!0),p(E,{key:1},U(o.commonBooks,(f,h)=>(m(),p("div",{key:h,class:"button-group"},[s(O,{color:o.isBookSelected(h)?"success":"default",variant:o.isBookSelected(h)?"elevated":"flat",class:"ma-1 book-chip",onClick:d=>o.handleBookClick(h)},{default:i(()=>[c(g(h),1)]),_:2},1032,["color","variant","onClick"]),o.isBookSelected(h)?(m(),p("div",si,[(m(!0),p(E,null,U(f,d=>(m(),b(O,{key:d,color:o.isPageSelected(h,d)?"info":"default",variant:o.isPageSelected(h,d)?"elevated":"flat",class:"ma-1",onClick:y=>o.handlePageClick(h,d)},{default:i(()=>[c(g(d),1)]),_:2},1032,["color","variant","onClick"]))),128))])):w("",!0)]))),128)):w("",!0),(u=n.templateData.actions)!=null&&u.length?(m(),p("div",ni,[(m(!0),p(E,null,U(n.templateData.actions,f=>(m(),b(O,{key:f,class:"ma-1",color:"primary",variant:"flat",onClick:h=>o.insertTemplate(f)},{default:i(()=>[c(g(f),1)]),_:2},1032,["onClick"]))),128))])):w("",!0)])):(m(),p("div",ii," 暂无可用的模板 "))])):w("",!0)]),o.showQuickTools&&!o.isMobile?(m(),p("div",ai,[r("div",oi,[r("div",li,[(m(),p(E,null,U(3,f=>s(k,{key:f,class:"keypad-btn",size:"small",variant:"tonal",onClick:h=>o.insertAtCursor(String(f))},{default:i(()=>[c(g(f),1)]),_:2},1032,["onClick"])),64))]),r("div",ri,[(m(),p(E,null,U(3,f=>s(k,{key:f,class:"keypad-btn",size:"small",variant:"tonal",onClick:h=>o.insertAtCursor(String(f+3))},{default:i(()=>[c(g(f+3),1)]),_:2},1032,["onClick"])),64))]),r("div",di,[(m(),p(E,null,U(3,f=>s(k,{key:f,class:"keypad-btn",size:"small",variant:"tonal",onClick:h=>o.insertAtCursor(String(f+6))},{default:i(()=>[c(g(f+6),1)]),_:2},1032,["onClick"])),64))]),r("div",ui,[s(k,{class:"keypad-btn",size:"small",variant:"tonal",onClick:e[1]||(e[1]=f=>o.insertAtCursor("-"))},{default:i(()=>[...e[6]||(e[6]=[c(" - ",-1)])]),_:1}),s(k,{class:"keypad-btn",size:"small",variant:"tonal",onClick:e[2]||(e[2]=f=>o.insertAtCursor("0"))},{default:i(()=>[...e[7]||(e[7]=[c(" 0 ",-1)])]),_:1}),s(k,{class:"keypad-btn",color:"error",size:"small",variant:"tonal",onClick:o.deleteLastChar},{default:i(()=>[...e[8]||(e[8]=[c(" ← ",-1)])]),_:1},8,["onClick"])]),r("div",ci,[s(k,{class:"keypad-btn space-btn",size:"small",variant:"tonal",onClick:e[3]||(e[3]=f=>o.insertAtCursor(" "))},{default:i(()=>[...e[9]||(e[9]=[c(" 空格 ",-1)])]),_:1}),s(k,{class:"keypad-btn space-btn",size:"small",variant:"tonal",onClick:e[4]||(e[4]=f=>o.insertAtCursor(` -`))},{default:i(()=>[...e[10]||(e[10]=[c(" 换行 ",-1)])]),_:1})])]),r("div",mi,[(m(!0),p(E,null,U(n.quickTexts,f=>(m(),b(k,{key:f,size:"small",variant:"flat",onClick:h=>o.insertAtCursor(f)},{default:i(()=>[c(g(f),1)]),_:2},1032,["onClick"]))),128))])])):w("",!0)])]}),_:1}),a.isEditingPastData?(m(),b(_e,{key:0,type:"warning",variant:"tonal",class:"mx-4 mb-4",border:"start","border-color":"warning",prominent:""},{prepend:i(()=>[...e[11]||(e[11]=[])]),default:i(()=>[r("div",fi,[e[12]||(e[12]=r("div",{class:"text-h6 mb-1"},"你打算修改历史?",-1)),r("div",hi," 这是 "+g(new Date(a.currentDateString.slice(0,4),a.currentDateString.slice(4,6)-1,a.currentDateString.slice(6,8)).toLocaleDateString())+" 的作业 • 请谨慎操作,确保不会覆盖重要数据 ",1)])]),_:1})):w("",!0),e[13]||(e[13]=r("div",{class:"text-center text-body-2 text-disabled mb-5"}," 点击空白处完成编辑 ",-1))]),_:1})]),_:1},8,["modelValue","fullscreen","onClick:outside"])}const Ut=W(Jn,[["render",gi],["__scopeId","data-v-af72d8a9"]]),pi={name:"AttendanceSidebar",props:{studentList:{type:Array,required:!0},attendance:{type:Object,required:!0},isEditingDisabled:{type:Boolean,default:!1}},emits:["click","disabled-click"],setup(){return{display:Ae()}},methods:{getSetting:S,handleClick(){this.isEditingDisabled?this.$emit("disabled-click"):this.$emit("click")}}},vi={style:{"white-space":"nowrap"}},yi={style:{"white-space":"nowrap"}},ki={style:{"white-space":"nowrap"}},bi={key:0},xi={style:{"white-space":"nowrap"}},wi={style:{"white-space":"nowrap"}},Si={key:0},Ci={style:{"white-space":"nowrap"}},_i={style:{"white-space":"nowrap"}},Di={key:0},Ti={style:{"white-space":"nowrap"}};function Ii(t,e,a,l,n,o){return a.studentList&&a.studentList.length?oe((m(),b(ne,{key:0,class:he([{"cursor-not-allowed":a.isEditingDisabled},"attendance-area no-select"]),cols:"1",onClick:o.handleClick},{default:i(()=>[e[10]||(e[10]=r("h1",null,"出勤",-1)),r("h2",null,[e[0]||(e[0]=r("span",{style:{"white-space":"nowrap"}}," 应到",-1)),e[1]||(e[1]=c(" : ",-1)),r("span",vi,g(a.studentList.length-a.attendance.exclude.length)+"人 ",1)]),r("h2",null,[e[2]||(e[2]=r("span",{style:{"white-space":"nowrap"}}," 实到",-1)),e[3]||(e[3]=c(" : ",-1)),r("span",yi,g(a.studentList.length-a.attendance.absent.length-!o.getSetting("display.lateStudentsArePresent")*a.attendance.late.length-a.attendance.exclude.length)+"人 ",1)]),r("h2",null,[e[4]||(e[4]=r("span",{style:{"white-space":"nowrap"}}," 请假",-1)),e[5]||(e[5]=c(" : ",-1)),r("span",ki,g(a.attendance.absent.length)+"人 ",1)]),(m(!0),p(E,null,U(a.attendance.absent,(u,f)=>(m(),p("h3",{key:"absent-"+f,class:"gray-text"},[l.display.lgAndUp.value?(m(),p("span",bi,g(`${f+1}. `),1)):w("",!0),r("span",xi,g(u),1)]))),128)),r("h2",null,[e[6]||(e[6]=r("span",{style:{"white-space":"nowrap"}},"迟到",-1)),e[7]||(e[7]=c(" : ",-1)),r("span",wi,g(a.attendance.late.length)+"人 ",1)]),(m(!0),p(E,null,U(a.attendance.late,(u,f)=>(m(),p("h3",{key:"late-"+f,class:"gray-text"},[l.display.lgAndUp.value?(m(),p("span",Si,g(`${f+1}. `),1)):w("",!0),r("span",Ci,g(u),1)]))),128)),r("h2",null,[e[8]||(e[8]=r("span",{style:{"white-space":"nowrap"}},"不参与",-1)),e[9]||(e[9]=c(" : ",-1)),r("span",_i,g(a.attendance.exclude.length)+"人 ",1)]),(m(!0),p(E,null,U(a.attendance.exclude,(u,f)=>(m(),p("h3",{key:"exclude-"+f,class:"gray-text"},[l.display.lgAndUp.value?(m(),p("span",Di,g(`${f+1}. `),1)):w("",!0),r("span",Ti,g(u),1)]))),128))]),_:1},8,["class","onClick"])),[[xe,a.isEditingDisabled?!1:{class:`text-${["primary","secondary","info","success","warning","error"][Math.floor(Math.random()*6)]}`}]]):w("",!0)}const zt=W(pi,[["render",Ii],["__scopeId","data-v-5a7eaf6a"]]),Ei={class:"d-flex flex-no-wrap justify-space-between"},Ni={class:"pe-4"},Vi={class:"mb-3"},Mt={__name:"PwaInstallCard",setup(t){const e=$(!1),a=$(!1),l=$(!1),n=st({title:"",message:"",links:[]}),o={pending:"待授权",granted:"已完成",denied:"已拒绝",unavailable:"不可用"},u={pending:"mdi-progress-clock",granted:"mdi-check-circle",denied:"mdi-close-circle",unavailable:"mdi-help-circle"},f={pending:"primary",granted:"success",denied:"error",unavailable:"surface-variant"},h=st({pwa:{label:"安装应用",description:"将网站安装为独立应用,便于快速启动",status:"pending"},notification:{label:"通知权限",description:"允许接收作业、考试等通知提醒",status:"pending"},storage:{label:"离线存储",description:"启用持久化存储以获得更稳健的离线体验",status:"pending"}}),d=G(()=>[{key:"pwa",...h.pwa},{key:"notification",...h.notification},{key:"storage",...h.storage}]),y=G(()=>d.value.some(x=>x.status==="pending")),I={pwa:[{text:"MDN - 安装 PWA 指南",desc:"检查浏览器是否支持并手动触发安装",href:"https://developer.mozilla.org/zh-CN/docs/Web/Progressive_web_apps/Guides/Installing"},{text:"Microsoft Edge - PWA 体验",desc:"Edge 浏览器安装与 UX 说明",href:"https://learn.microsoft.com/zh-cn/microsoft-edge/progressive-web-apps/ux"}],notification:[{text:"MDN - 通知权限与用法",desc:"浏览器通知权限的工作方式与调试",href:"https://developer.mozilla.org/zh-CN/docs/Web/API/notification"}],storage:[{text:"MDN - Storage 持久化说明",desc:"了解持久化存储的可用性与申请方式",href:"https://developer.mozilla.org/zh-CN/docs/Web/API/StorageManager/persist"}]};let L;const H=async()=>{var ue;if(S("pwa.hideInstallCard")){e.value=!1;return}if(window.matchMedia("(display-mode: standalone)").matches||window.navigator.standalone===!0?h.pwa.status="granted":(window.deferredPwaPrompt,h.pwa.status="pending"),typeof Notification>"u")h.notification.status="unavailable";else{const le=Notification.permission;h.notification.status=le==="granted"?"granted":le==="denied"?"denied":"pending"}if((ue=navigator.storage)!=null&&ue.persisted){const le=await navigator.storage.persisted();h.storage.status=le?"granted":"pending"}else h.storage.status="unavailable";const R=d.value.some(le=>le.status!=="granted");e.value=R},N=async()=>{const x=window.deferredPwaPrompt;if(!x){h.pwa.status="pending",te("pwa","浏览器没有提供安装提示,可按文档手动安装。");return}x.prompt();const{outcome:A}=await x.userChoice;h.pwa.status=A==="accepted"?"granted":"denied",A!=="accepted"&&te("pwa","如果未出现安装弹窗,或被拒绝,请按说明手动安装。"),window.deferredPwaPrompt=null},K=async()=>{if(typeof Notification>"u"){h.notification.status="unavailable",te("notification","当前环境不支持通知 API,可查看说明手动开启或更换浏览器。");return}const x=await Qt();h.notification.status=x?"granted":"denied",x||te("notification","通知请求未被授予,请按说明检查浏览器或系统设置。")},Q=async()=>{var A;if(!((A=navigator.storage)!=null&&A.persist)){h.storage.status="unavailable",te("storage","当前浏览器不支持持久化存储,可查看说明或更换浏览器。");return}const x=await Jt();h.storage.status=x?"granted":"denied",x||te("storage","未能启用持久化存储,可按说明检查浏览器或系统设置。")},ge=async()=>{if(!(!y.value||a.value)){a.value=!0;try{await N(),await K(),await Q()}finally{a.value=!1,await H()}}},pe=async x=>{if(!a.value){a.value=!0;try{x==="pwa"?await N():x==="notification"?await K():x==="storage"&&await Q()}finally{a.value=!1,await H()}}},te=(x,A="")=>{x==="pwa"?n.title="如何安装为应用":x==="notification"?n.title="如何开启通知":n.title="如何启用离线存储",n.message=A||"查看以下步骤获取更多说明。",n.links=I[x]||[],l.value=!0},se=()=>{de("pwa.hideInstallCard",!0),e.value=!1},C=()=>{h.pwa.status!=="granted"&&(h.pwa.status="pending"),H()},z=()=>{H()};return Xe(()=>{H(),window.addEventListener("pwa-prompt-ready",C),L=window.matchMedia("(display-mode: standalone)"),L.addEventListener("change",z)}),Gt(()=>{window.removeEventListener("pwa-prompt-ready",C),L&&L.removeEventListener("change",z)}),(x,A)=>e.value?(m(),b(_,{key:0,class:"mb-4",color:"surface-variant",variant:"tonal"},{default:i(()=>[r("div",Ei,[r("div",Ni,[s(j,{class:"text-h6"},{default:i(()=>[...A[2]||(A[2]=[c(" 安装应用与授权 ",-1)])]),_:1}),s(yt,{class:"pb-1"},{default:i(()=>[...A[3]||(A[3]=[c(" 手动点选下方项目请求安装和权限,也可以直接关闭 ",-1)])]),_:1}),s(V,{class:"pt-0 pb-1"},{default:i(()=>[s(we,{density:"comfortable",lines:"two"},{default:i(()=>[(m(!0),p(E,null,U(d.value,R=>(m(),b(Se,{key:R.key,disabled:a.value,onClick:()=>pe(R.key)},{prepend:i(()=>[s(Ie,{color:f[R.status],size:"32",variant:"tonal"},{default:i(()=>[s(D,{icon:u[R.status]},null,8,["icon"])]),_:2},1032,["color"])]),append:i(()=>[s(O,{color:f[R.status],size:"small",variant:"tonal",class:"me-2"},{default:i(()=>[c(g(o[R.status]),1)]),_:2},1032,["color"]),s(k,{variant:"text",icon:"mdi-information",size:"small",disabled:a.value,onClick:We(()=>te(R.key),["stop"])},null,8,["disabled","onClick"])]),default:i(()=>[s(Pe,null,{default:i(()=>[c(g(R.label),1)]),_:2},1024),s(Fe,null,{default:i(()=>[c(g(R.description),1)]),_:2},1024)]),_:2},1032,["disabled","onClick"]))),128))]),_:1})]),_:1}),s(X,null,{default:i(()=>[s(k,{class:"ms-2",variant:"outlined",size:"small",onClick:se},{default:i(()=>[...A[4]||(A[4]=[c(" 关闭 ",-1)])]),_:1}),s(k,{class:"ms-2",variant:"elevated",color:"primary",size:"small","prepend-icon":a.value?"mdi-timer-sand":"mdi-shield-check",disabled:!y.value||a.value,onClick:ge},{default:i(()=>[c(g(a.value?"处理中":"一次处理全部"),1)]),_:1},8,["prepend-icon","disabled"])]),_:1})]),s(Ie,{class:"ma-3",size:"100",rounded:"0"},{default:i(()=>[s(D,{icon:"mdi-monitor-cellphone",size:"80"})]),_:1})]),s(J,{modelValue:l.value,"onUpdate:modelValue":A[1]||(A[1]=R=>l.value=R),"max-width":"520"},{default:i(()=>[s(_,null,{default:i(()=>[s(j,{class:"text-h6"},{default:i(()=>[c(g(n.title),1)]),_:1}),s(V,null,{default:i(()=>[r("p",Vi,g(n.message),1),s(we,{density:"comfortable"},{default:i(()=>[(m(!0),p(E,null,U(n.links,(R,ue)=>(m(),b(Se,{key:ue,href:R.href,target:"_blank",rel:"noopener"},{default:i(()=>[s(Pe,null,{default:i(()=>[c(g(R.text),1)]),_:2},1024),s(Fe,null,{default:i(()=>[c(g(R.desc),1)]),_:2},1024)]),_:2},1032,["href"]))),128))]),_:1})]),_:1}),s(X,null,{default:i(()=>[s(F),s(k,{variant:"text",onClick:A[0]||(A[0]=R=>l.value=!1)},{default:i(()=>[...A[5]||(A[5]=[c("我知道了",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})):w("",!0)}},Ai={name:"HomeActions",props:{synced:Boolean,loadingUpload:Boolean,showRandomPickerButton:Boolean,showExamScheduleButton:Boolean,showListCardButton:Boolean,showFullscreenButton:Boolean,isFullscreen:Boolean,showAntiScreenBurnCard:Boolean,showTestCardButton:Boolean},emits:["upload","show-sync-message","open-random-picker","toggle-fullscreen","add-test-card"]},Ui={class:"d-flex flex-wrap align-center mt-4"};function zi(t,e,a,l,n,o){return m(),p(E,null,[r("div",Ui,[a.synced?(m(),b(k,{key:1,color:"success",size:"large",onClick:e[1]||(e[1]=u=>t.$emit("show-sync-message"))},{default:i(()=>[...e[9]||(e[9]=[c(" 同步完成 ",-1)])]),_:1})):(m(),b(k,{key:0,loading:a.loadingUpload,class:"ml-2",color:"error",size:"large",onClick:e[0]||(e[0]=u=>t.$emit("upload"))},{default:i(()=>[...e[8]||(e[8]=[c(" 上传 ",-1)])]),_:1},8,["loading"])),a.showRandomPickerButton?(m(),b(k,{key:2,"append-icon":"mdi-dice-multiple",class:"ml-2",color:"amber","prepend-icon":"mdi-account-question",size:"large",onClick:e[2]||(e[2]=u=>t.$emit("open-random-picker"))},{default:i(()=>[...e[10]||(e[10]=[c(" 随机点名 ",-1)])]),_:1})):w("",!0),a.showExamScheduleButton?(m(),b(Ye,{key:3,class:"ml-2",color:"green",variant:"elevated",divided:""},{default:i(()=>[s(k,{"prepend-icon":"mdi-calendar-check",size:"large",onClick:e[3]||(e[3]=u=>t.$router.push("/examschedule"))},{default:i(()=>[...e[11]||(e[11]=[c(" 考试看板 ",-1)])]),_:1}),s(k,{icon:"mdi-plus",size:"large",onClick:e[4]||(e[4]=u=>t.$emit("add-exam-card"))})]),_:1})):w("",!0),a.showListCardButton?(m(),b(k,{key:4,class:"ml-2",color:"primary-darken-1","prepend-icon":"mdi-list-box",size:"large",onClick:e[5]||(e[5]=u=>t.$router.push("/list"))},{default:i(()=>[...e[12]||(e[12]=[c(" 列表 ",-1)])]),_:1})):w("",!0),a.showFullscreenButton?(m(),b(k,{key:5,color:a.isFullscreen?"blue-grey":"blue","prepend-icon":a.isFullscreen?"mdi-fullscreen-exit":"mdi-fullscreen",class:"ml-2",size:"large",onClick:e[6]||(e[6]=u=>t.$emit("toggle-fullscreen"))},{default:i(()=>[c(g(a.isFullscreen?"退出全屏":"全屏显示"),1)]),_:1},8,["color","prepend-icon"])):w("",!0),a.showTestCardButton?(m(),b(k,{key:6,class:"ml-2",color:"purple","prepend-icon":"mdi-test-tube",size:"large",onClick:e[7]||(e[7]=u=>t.$emit("add-test-card"))},{default:i(()=>[...e[13]||(e[13]=[c(" 添加测试卡片 ",-1)])]),_:1})):w("",!0)]),a.showAntiScreenBurnCard?(m(),b(_,{key:0,border:"",class:"mt-4 anti-burn-card",color:"primary",variant:"tonal"},{default:i(()=>[s(j,{class:"text-subtitle-1"},{default:i(()=>[s(D,{icon:"mdi-shield-check",size:"small",start:""}),e[14]||(e[14]=c(" 屏幕保护技术已启用 ",-1))]),_:1}),s(V,{class:"text-body-2"},{default:i(()=>[...e[15]||(e[15]=[r("p",null," 为防止OLED/LCD屏幕烧屏,界面元素会定期微调位置。 ",-1),r("p",{class:"text-caption text-grey"}," 此功能不会影响正常使用,仅在长时间静止显示时生效。 ",-1),r("p",{class:"text-caption text-grey"}," 建议在放学后关闭显示器以节约能源。 ",-1)])]),_:1})]),_:1})):w("",!0)],64)}const $t=W(Ai,[["render",zi]]),Mi={name:"RelativeTimeDisplay",props:{time:{type:[String,Date,Number],required:!0}},computed:{displayTime(){if(!this.time)return"";const t=new Date(this.time),e=new Date,a=new Date(t.getFullYear(),t.getMonth(),t.getDate()),l=new Date(e.getFullYear(),e.getMonth(),e.getDate()),n=a.getTime()-l.getTime(),o=Math.round(n/(1e3*60*60*24));if(o===0)return"今天";if(o===1)return"明天";if(o===2)return"后天";if(o===-1)return"昨天";if(o===-2)return"前天";const u=l.getDay()||7,f=new Date(l);f.setDate(l.getDate()-u+1);const h=new Date(l);if(h.setDate(l.getDate()+(7-u)),a>=f&&a<=h)return["周日","周一","周二","周三","周四","周五","周六"][t.getDay()];const d=t.getMonth()+1,y=t.getDate();return`${d}月${y}日`}}};function $i(t,e,a,l,n,o){return m(),p("span",null,g(o.displayTime),1)}const Pt=W(Mi,[["render",$i]]),ze=Yt("exam",{state:()=>({examList:[],exams:{},loadingList:!1,loadingDetails:{}}),actions:{async fetchExamList(){if(!this.loadingList){this.loadingList=!0;try{const t=await Z.loadData("es_list");Array.isArray(t)?this.examList=t:this.examList=[]}catch(t){console.error("Failed to load exam list:",t)}finally{this.loadingList=!1}}},async fetchExam(t){if(this.exams[t])return this.exams[t];if(!this.loadingDetails[t]){this.loadingDetails[t]=!0;try{const e=await Z.loadData(`es_${t}`);return e&&(this.exams[t]=e),e}catch(e){console.error(`Failed to load exam details for ${t}:`,e)}finally{this.loadingDetails[t]=!1}}},async getUpcomingExams(t=25){await this.fetchExamList();const e=[],a=new Date,l=new Date(a.getTime()+2*24*60*60*1e3),n=this.examList.slice(0,t);for(const o of n){let u=this.exams[o.id];u||(u=await this.fetchExam(o.id)),u&&u.examInfos&&Array.isArray(u.examInfos)&&u.examInfos.some(h=>{const d=new Date(h.start);return d>=a&&d<=l})&&e.push({id:o.id,...u})}return e}}}),Pi={name:"ConciseExamCard",components:{RelativeTimeDisplay:Pt},props:{examId:{type:String,required:!0},contentStyle:{type:Object,default:()=>({})},readonly:{type:Boolean,default:!1}},computed:{...bt(ze,["exams","loadingDetails"]),exam(){return this.exams[this.examId]},loading(){return this.loadingDetails[this.examId]},groupedExamInfos(){if(!this.exam||!this.exam.examInfos)return[];const t=[...this.exam.examInfos].sort((l,n)=>new Date(l.start)-new Date(n.start)),e=[];let a=null;return t.forEach(l=>{const o=new Date(l.start).toDateString();(!a||a.key!==o)&&(a={key:o,date:l.start,infos:[]},e.push(a)),a.infos.push(l)}),e}},mounted(){this.fetchExam(this.examId)},methods:{...kt(ze,["fetchExam"]),formatTimeOnly(t){if(!t)return"";try{const e=new Date(t),a=e.getHours().toString().padStart(2,"0"),l=e.getMinutes().toString().padStart(2,"0");return`${a}:${l}`}catch{return""}},isPast(t){return t?new Date(t)t.$emit("click"))},{default:i(()=>[s(j,{class:"d-flex align-center py-2 px-3 bg-primary-lighten-5 text-subtitle-1 font-weight-bold"},{default:i(()=>{var f;return[r("span",Fi,g(((f=o.exam)==null?void 0:f.examName)||"加载中..."),1)]}),_:1}),s(V,{class:"flex-grow-1 pa-4 overflow-y-auto",style:re(a.contentStyle)},{default:i(()=>[o.loading?(m(),p("div",Li,[s(xt,{indeterminate:"",size:"24",color:"primary"})])):o.exam?(m(),p("div",Ri,[(m(!0),p(E,null,U(o.groupedExamInfos,(f,h)=>(m(),p("div",{key:h,class:"mb-3"},[r("div",Oi,[s(u,{time:f.date},null,8,["time"])]),(m(!0),p(E,null,U(f.infos,(d,y)=>(m(),p("div",{key:y,class:he(["d-flex align-center justify-space-between py-1 border-b-sm",{"border-none":y===f.infos.length-1,"text-grey":o.isPast(d.end)}])},[r("div",Bi,g(d.name),1),r("div",ji,g(o.formatTimeOnly(d.start))+" - "+g(o.formatTimeOnly(d.end)),1)],2))),128))]))),128))])):(m(),p("div",Hi,"无法加载"))]),_:1},8,["style"])]),_:1})}const Ft=W(Pi,[["render",Ki],["__scopeId","data-v-33424f55"]]),qi=["6IO4","5Lmz","6JCd6I6J","5rer","5aW4"],Wi=qi.map(t=>_t.decode(t)),ht=.75,Gi={name:"HitokotoCard",data(){return{enabled:!1,refreshInterval:60,kvConfig:{sources:["zhaoyu"],sensitiveWords:[]},sentence:"",author:"",origin:"",loading:!1,timer:null,unwatch:null,fontSize:28}},computed:{contentStyle(){return{"font-size":`${this.fontSize*ht}px`,"white-space":"pre-wrap","line-height":"1.6","text-align":"left"}},authorStyle(){return{"font-size":`${this.fontSize*ht*.6}px`,"text-align":"left"}}},async mounted(){this.loadLocalSettings(),await this.loadKvSettings(),this.fetchSentence(),this.startTimer(),this.unwatch=Re(()=>{this.loadLocalSettings(),this.startTimer()})},beforeUnmount(){this.stopTimer(),this.unwatch&&this.unwatch()},methods:{loadLocalSettings(){this.enabled=$e.getSetting("hitokoto.enabled"),this.refreshInterval=$e.getSetting("hitokoto.refreshInterval"),this.fontSize=$e.getSetting("font.size")},async loadKvSettings(){try{const t=await Z.loadData("sentence-info");let e=t;t&&t.data&&(e=t.data),e&&(this.kvConfig={sources:Array.isArray(e.sources)&&e.sources.length>0?e.sources:["zhaoyu"],sensitiveWords:e.sensitiveWords?e.sensitiveWords.split(/[,,]/).map(a=>a.trim()).filter(a=>a):[],jinrishiciToken:e.jinrishiciToken})}catch(t){console.error("Failed to load sentence-info",t)}},startTimer(){this.timer&&clearInterval(this.timer),this.refreshInterval>0&&(this.timer=setInterval(this.fetchSentence,this.refreshInterval*1e3))},stopTimer(){this.timer&&clearInterval(this.timer)},async fetchSentence(){if(!this.loading){this.loading=!0;try{const t=this.kvConfig.sources,e=t[Math.floor(Math.random()*t.length)];let a=null,l="",n="",o="";if(e==="hitokoto")a=(await je.get("https://v1.hitokoto.cn/")).data,l=a.hitokoto,n=a.from_who,o=a.from;else if(e==="zhaoyu"){const u=await je.get("https://hub.saintic.com/openservice/sentence/all.json");u.data.success&&(a=u.data.data,l=a.sentence||a.content||a.name,n=a.author,o=a.name||a.origin)}else if(e==="jinrishici")if(this.kvConfig.jinrishiciToken){const u=await je.get("https://v2.jinrishici.com/one.json?client=npm-sdk/1.0&X-User-Token="+encodeURIComponent(this.kvConfig.jinrishiciToken),{});u.data.status==="success"&&(a=u.data.data,l=a.content,n=a.origin.author,o=a.origin.title)}else return console.warn("Jinrishici token missing. Please enable it in settings to generate a token."),this.loading=!1,this.fetchSentence();if(l){if([...Wi,...this.kvConfig.sensitiveWords].some(h=>h&&l.includes(h)))return this.loading=!1,this.fetchSentence();this.sentence=l,this.author=n||"",this.origin=o||"未知"}}catch(t){console.error("Failed to fetch sentence",t),this.sentence="获取失败",this.author="",this.origin=""}finally{this.loading=!1}}}}},Qi={key:0,class:"mr-2"},Ji={key:1};function Yi(t,e,a,l,n,o){return m(),b(_,{class:"hitokoto-card",elevation:"2",border:"",rounded:"xl",loading:n.loading,height:"100%",onClick:o.fetchSentence},{default:i(()=>[s(V,{class:"pa-6 d-flex flex-column justify-center",style:{height:"100%"}},{default:i(()=>[r("div",{class:"font-weight-medium mb-4 serif-font",style:re(o.contentStyle)},g(n.sentence),5),r("div",{class:"text-medium-emphasis serif-font",style:re(o.authorStyle)},[n.author?(m(),p("span",Qi,g(n.author),1)):w("",!0),n.origin?(m(),p("span",Ji,"《"+g(n.origin)+"》",1)):w("",!0)],4)]),_:1})]),_:1},8,["loading","onClick"])}const Lt=W(Gi,[["render",Yi],["__scopeId","data-v-de957b7d"]]),Xi=2,Zi=.9,ea=.6,ta={name:"TimeCard",data(){return{now:new Date,timer:null,unwatch:null,fontSize:28}},computed:{timeString(){const t=String(this.now.getHours()).padStart(2,"0"),e=String(this.now.getMinutes()).padStart(2,"0");return`${t}:${e}`},secondsString(){return`:${String(this.now.getSeconds()).padStart(2,"0")}`},dateString(){const t=this.now.getFullYear(),e=this.now.getMonth()+1,a=this.now.getDate();return`${t}年${e}月${a}日`},weekdayString(){return["星期日","星期一","星期二","星期三","星期四","星期五","星期六"][this.now.getDay()]},periodOfDay(){const t=this.now.getHours();return t<6?"凌晨":t<8?"早晨":t<11?"上午":t<13?"中午":t<17?"下午":t<19?"傍晚":t<22?"晚上":"深夜"},timeStyle(){return{"font-size":`${this.fontSize*Xi}px`,"font-weight":"700","line-height":"1","letter-spacing":"4px","font-variant-numeric":"tabular-nums"}},secondsStyle(){return{"font-size":`${this.fontSize*Zi}px`,"font-variant-numeric":"tabular-nums","vertical-align":"baseline","margin-left":"4px",opacity:"0.6"}},dateStyle(){return{"font-size":`${this.fontSize*ea}px`,"letter-spacing":"1px"}}},mounted(){this.loadSettings(),this.startTimer(),this.unwatch=Re(()=>{this.loadSettings()})},beforeUnmount(){this.stopTimer(),this.unwatch&&this.unwatch()},methods:{loadSettings(){this.fontSize=$e.getSetting("font.size")},startTimer(){this.timer=setInterval(()=>{this.now=new Date},1e3)},stopTimer(){this.timer&&(clearInterval(this.timer),this.timer=null)}}};function sa(t,e,a,l,n,o){return m(),b(_,{class:"time-card",elevation:"2",border:"",rounded:"xl",height:"100%"},{default:i(()=>[s(V,{class:"pa-6 d-flex flex-column",style:{height:"100%"}},{default:i(()=>[r("div",{class:"time-display",style:re(o.timeStyle)},[c(g(o.timeString),1),r("span",{class:"seconds-text",style:re(o.secondsStyle)},g(o.secondsString),5)],4),r("div",{class:"date-line mt-3",style:re(o.dateStyle)},g(o.dateString)+" "+g(o.weekdayString)+" "+g(o.periodOfDay),5)]),_:1})]),_:1})}const Rt=W(ta,[["render",sa],["__scopeId","data-v-725dbda6"]]),na={name:"HomeworkGrid",computed:{settings(){return settings}},components:{HitokotoCard:Lt,TimeCard:Rt,ConciseExamCard:Ft},props:{sortedItems:{type:Array,required:!0},unusedSubjects:{type:Array,required:!0},emptySubjectDisplay:{type:String,default:"button"},isMobile:{type:Boolean,default:!1},isEditingDisabled:{type:Boolean,default:!1},contentStyle:{type:Object,default:()=>({})},highlightedCards:{type:Object,default:()=>({})}},emits:["open-dialog","open-attendance","disabled-click"],data(){return{isReadOnlyToken:!1}},async mounted(){this.resizeObserver=new ResizeObserver(()=>{this.resizeAllGridItems()}),this.$refs.gridContainer&&this.resizeObserver.observe(this.$refs.gridContainer),this.$nextTick(()=>{this.resizeAllGridItems(),this.$refs.items&&this.$refs.items.forEach(t=>{t.firstElementChild&&this.resizeObserver.observe(t.firstElementChild)})}),await this.checkReadOnlyStatus()},updated(){this.$nextTick(()=>{this.resizeAllGridItems(),this.$refs.items&&this.$refs.items.forEach(t=>{t.firstElementChild&&this.resizeObserver.observe(t.firstElementChild)})})},beforeUnmount(){this.resizeObserver&&this.resizeObserver.disconnect()},methods:{getSetting:S,async checkReadOnlyStatus(){try{let t=null;if(this.$parent&&this.$parent.$refs&&this.$parent.$refs.studentNameManager?t=this.$parent.$refs.studentNameManager:this.$root&&this.$root.$refs&&this.$root.$refs.studentNameManager&&(t=this.$root.$refs.studentNameManager),t&&typeof t.isReadOnly<"u")this.isReadOnlyToken=t.isReadOnly;else{const{getSetting:e}=await nt(async()=>{const{getSetting:l}=await import("./index-CHEqx3ZK.js").then(n=>n.cL);return{getSetting:l}},__vite__mapDeps([0,1]),import.meta.url),a=e("server.kvToken");if(a){const{default:l}=await nt(async()=>{const{default:o}=await import("./dataProvider-B62Oym03.js").then(u=>u.e);return{default:o}},__vite__mapDeps([2,0,1,3]),import.meta.url),n=e("server.domain");if(n)try{const o=await l.get(`${n}/kv/_token`,{headers:{Authorization:`Bearer ${a}`}});o.data&&typeof o.data.isReadOnly<"u"&&(this.isReadOnlyToken=o.data.isReadOnly)}catch(o){console.error("获取Token信息失败:",o)}}}}catch(t){console.error("检查只读状态失败:",t)}},resizeGridItem(t){const e=this.$refs.gridContainer;if(!e)return;const a=parseInt(window.getComputedStyle(e).getPropertyValue("grid-auto-rows")),l=parseInt(window.getComputedStyle(e).getPropertyValue("gap")),n=t.firstElementChild;if(!n)return;const o=n.getBoundingClientRect().height,u=Math.ceil((o+l)/(a+l));t.style.gridRowEnd=`span ${u}`},resizeAllGridItems(){const t=this.$refs.items;t&&t.forEach(e=>this.resizeGridItem(e))},handleCardClick(t,e){if(this.isEditingDisabled){this.$emit("disabled-click");return}t==="attendance"?this.$emit("open-attendance"):t==="dialog"&&this.$emit("open-dialog",e)},splitPoint(t){return t.split(` -`).filter(e=>e.trim())},handleMouseMove(t){const e=t.currentTarget,a=e.getBoundingClientRect(),l=(t.clientX-a.left)/a.width*100,n=(t.clientY-a.top)/a.height*100;e.style.setProperty("--x",`${l}%`),e.style.setProperty("--y",`${n}%`)},handleTouchMove(t){if(t.touches.length===1){const e=t.touches[0],a=t.currentTarget,l=a.getBoundingClientRect(),n=(e.clientX-l.left)/l.width*100,o=(e.clientY-l.top)/l.height*100;a.style.setProperty("--x",`${n}%`),a.style.setProperty("--y",`${o}%`)}}}},ia={ref:"gridContainer",class:"grid-masonry"},aa=["data-key"],oa={key:0,style:{height:"100%"}},la={key:1,style:{height:"100%"}},ra={key:2,style:{height:"100%"}},da={class:"d-flex justify-space-between align-center mb-2"},ua={class:"text-h6"},ca={key:0,class:"mb-2"},ma={class:"text-error text-caption mb-1"},fa={class:"d-flex flex-wrap",style:{gap:"4px"}},ha={key:1,class:"mb-2"},ga={class:"text-warning text-caption mb-1"},pa={class:"d-flex flex-wrap",style:{gap:"4px"}},va={key:2,class:"mb-2"},ya={class:"text-grey text-caption mb-1"},ka={class:"d-flex flex-wrap",style:{gap:"4px"}},ba={key:3,class:"text-success text-center mt-2"},xa={class:"empty-subjects mt-4"},wa={key:0,class:"d-flex flex-wrap justify-center"},Sa={key:2,class:"empty-subjects-grid"};function Ca(t,e,a,l,n,o){const u=Rt,f=Lt,h=Ft;return m(),p(E,null,[r("div",ia,[s(qe,{name:"grid"},{default:i(()=>[(m(!0),p(E,null,U(a.sortedItems,d=>(m(),p("div",{key:d.key,ref_for:!0,ref:"items","data-key":d.key,style:re({order:d.order}),class:"grid-item"},[d.type==="time"?(m(),p("div",oa,[s(u)])):d.type==="hitokoto"?(m(),p("div",la,[s(f)])):d.type==="exam"?(m(),p("div",ra,[s(h,{"exam-id":d.data.examId,"content-style":a.contentStyle,onClick:y=>t.$emit("open-exam-detail",d.data.examId)},null,8,["exam-id","content-style","onClick"])])):d.type==="attendance"?(m(),b(_,{key:3,class:he([{"glow-highlight":a.highlightedCards[d.key],"cursor-not-allowed":a.isEditingDisabled,"cursor-pointer":!a.isEditingDisabled},"glow-track"]),border:"",height:"100%",onClick:e[0]||(e[0]=y=>o.handleCardClick("attendance",null)),onMousemove:o.handleMouseMove,onTouchmove:o.handleTouchMove},{default:i(()=>[s(j,{class:"d-flex align-center"},{default:i(()=>[s(D,{class:"mr-2",color:"primary",icon:"mdi-account-group"}),e[1]||(e[1]=c(" 出勤统计 ",-1))]),_:1}),s(V,null,{default:i(()=>[r("div",da,[e[2]||(e[2]=r("span",null,"应到/实到",-1)),r("span",ua,g(d.data.total-d.data.exclude.length)+"/"+g(d.data.total-d.data.absent.length-!o.getSetting("display.lateStudentsArePresent")*d.data.late.length-d.data.exclude.length),1)]),s(ve,{class:"mb-2"}),d.data.absent.length>0?(m(),p("div",ca,[r("div",ma,"请假 ("+g(d.data.absent.length)+")",1),r("div",fa,[(m(!0),p(E,null,U(d.data.absent,y=>(m(),b(O,{key:y,color:"error",size:"x-small",variant:"flat"},{default:i(()=>[c(g(y),1)]),_:2},1024))),128))])])):w("",!0),d.data.late.length>0?(m(),p("div",ha,[r("div",ga,"迟到 ("+g(d.data.late.length)+")",1),r("div",pa,[(m(!0),p(E,null,U(d.data.late,y=>(m(),b(O,{key:y,color:"warning",size:"x-small",variant:"flat"},{default:i(()=>[c(g(y),1)]),_:2},1024))),128))])])):w("",!0),d.data.exclude.length>0?(m(),p("div",va,[r("div",ya,"不参与 ("+g(d.data.exclude.length)+")",1),r("div",ka,[(m(!0),p(E,null,U(d.data.exclude,y=>(m(),b(O,{key:y,color:"grey",size:"x-small",variant:"flat"},{default:i(()=>[c(g(y),1)]),_:2},1024))),128))])])):w("",!0),d.data.absent.length===0&&d.data.late.length===0&&d.data.exclude.length===0?(m(),p("div",ba," 全勤 ")):w("",!0)]),_:2},1024)]),_:2},1032,["class","onMousemove","onTouchmove"])):d.type==="custom"?(m(),b(_,{key:4,class:he([{"glow-highlight":a.highlightedCards[d.key],"cursor-not-allowed":a.isEditingDisabled,"cursor-pointer":!a.isEditingDisabled},"glow-track"]),border:"",height:"100%",onClick:y=>o.handleCardClick("dialog",d.key),onMousemove:o.handleMouseMove,onTouchmove:o.handleTouchMove},{default:i(()=>[s(j,{class:"text-primary"},{default:i(()=>[s(D,{class:"mr-2",icon:"mdi-card-text-outline",size:"small"}),c(" "+g(d.name),1)]),_:2},1024),s(V,{style:re(a.contentStyle)},{default:i(()=>[c(g(d.content),1)]),_:2},1032,["style"])]),_:2},1032,["class","onClick","onMousemove","onTouchmove"])):(m(),b(_,{key:5,class:he([{"glow-highlight":a.highlightedCards[d.key],"cursor-not-allowed":a.isEditingDisabled,"cursor-pointer":!a.isEditingDisabled},"glow-track"]),border:"",height:"100%",onClick:y=>o.handleCardClick("dialog",d.key),onMousemove:o.handleMouseMove,onTouchmove:o.handleTouchMove},{default:i(()=>[s(j,null,{default:i(()=>[c(g(d.name),1)]),_:2},1024),s(V,{style:re(a.contentStyle)},{default:i(()=>[s(we,null,{default:i(()=>[(m(!0),p(E,null,U(o.splitPoint(d.content),y=>(m(),b(Se,{key:y},{default:i(()=>[c(g(y),1)]),_:2},1024))),128))]),_:2},1024)]),_:2},1032,["style"])]),_:2},1032,["class","onClick","onMousemove","onTouchmove"]))],12,aa))),128))]),_:1})],512),r("div",xa,[a.isMobile?(m(),p("div",wa,[(m(!0),p(E,null,U(a.unusedSubjects,d=>(m(),b(O,{key:d.name,class:"ma-1",color:"primary",variant:"tonal",onClick:y=>o.handleCardClick("dialog",d.name)},{default:i(()=>[s(D,{start:"",size:"small"},{default:i(()=>[c(g(n.isReadOnlyToken?"mdi-cancel":"mdi-plus"),1)]),_:1}),c(" "+g(d.name),1)]),_:2},1032,["onClick"]))),128))])):a.emptySubjectDisplay==="button"?(m(),b(Ye,{key:1,divided:"",variant:"tonal"},{default:i(()=>[(m(!0),p(E,null,U(a.unusedSubjects,d=>(m(),b(k,{key:d.name,onClick:y=>o.handleCardClick("dialog",d.name)},{default:i(()=>[s(D,{start:""},{default:i(()=>[c(g(n.isReadOnlyToken?"mdi-cancel":"mdi-plus"),1)]),_:1}),c(" "+g(d.name),1)]),_:2},1032,["onClick"]))),128))]),_:1})):(m(),p("div",Sa,[s(qe,{name:"v-list"},{default:i(()=>[(m(!0),p(E,null,U(a.unusedSubjects,d=>(m(),b(_,{key:d.name,border:"",class:"empty-subject-card",onClick:y=>o.handleCardClick("dialog",d.name)},{default:i(()=>[s(j,{class:"text-subtitle-1"},{default:i(()=>[c(g(d.name),1)]),_:2},1024),s(V,{class:"text-center"},{default:i(()=>[n.isReadOnlyToken?(m(),p(E,{key:0},[s(D,{color:"grey",size:"small"},{default:i(()=>[...e[3]||(e[3]=[c(" mdi-cancel ",-1)])]),_:1}),e[4]||(e[4]=r("div",{class:"text-caption text-grey"}," 当日无作业 ",-1))],64)):(m(),p(E,{key:1},[s(D,{color:"grey",size:"small"},{default:i(()=>[...e[5]||(e[5]=[c(" mdi-plus ",-1)])]),_:1}),e[6]||(e[6]=r("div",{class:"text-caption text-grey"}," 点击添加作业 ",-1))],64))]),_:1})]),_:2},1032,["onClick"]))),128))]),_:1})]))])],64)}const Ot=W(na,[["render",Ca],["__scopeId","data-v-5f84fa28"]]),_a={key:0,class:"mt-2 text-caption text-medium-emphasis"},Da={class:"mt-2 mb-4"},Ta={class:"d-flex flex-wrap gap-2"},Ia={key:0,class:"ms-1 text-error"},Ea={__name:"StudentNameManager",emits:["token-info-updated"],setup(t,{expose:e,emit:a}){const l=a,n=$(!1),o=$(""),u=$([]),f=$(""),h=$(!1),d=$(""),y=$(null),I=$([]),L=$(""),H=$(""),N=$({name:"",isHeadTeacher:!1,subjects:[]}),K=G(()=>{var T;return((T=y.value)==null?void 0:T.deviceType)==="student"}),Q=G(()=>{var T;return((T=y.value)==null?void 0:T.deviceType)==="teacher"}),ge=G(()=>{var T;return((T=y.value)==null?void 0:T.isReadOnly)===!0}),pe=G(()=>{var T;return((T=y.value)==null?void 0:T.note)||"设置名称"}),te=G(()=>!!se.value),se=G(()=>S("server.kvToken")),C=G(()=>S("server.provider")),z=G(()=>C.value==="kv-server"||C.value==="classworkscloud"),x=G(()=>K.value?"设置学生姓名":Q.value?"设置教师姓名":"设置姓名"),A=G(()=>I.value),R=async()=>{var T;if(!(!z.value||!se.value))try{const M=S("server.domain");if(!M)return;const B=await fe.get(`${M}/kv/_token`,{headers:{Authorization:`Bearer ${se.value}`}});if(y.value=B.data,y.value.deviceType==="student"){f.value=y.value.note||"";const P=(await fe.get(`${M}/kv/classworks-list-main`,{headers:{Authorization:`Bearer ${se.value}`}})).data.value||[];if(u.value=Array.isArray(P)?P:[],u.value.length>0){const q=y.value.note||"",ye=u.value.some(ke=>ke.name===q);(!q||!ye)&&(n.value=!0,o.value="")}return}if(y.value.deviceType==="teacher"){H.value=y.value.note||"";try{const P=(await fe.get(`${M}/kv/classworks-list-teacher`,{headers:{Authorization:`Bearer ${se.value}`}})).data.value||[];I.value=Array.isArray(P)?P:[]}catch(Y){((T=Y==null?void 0:Y.response)==null?void 0:T.status)===404?(console.log("教师列表不存在,初始化为空"),I.value=[]):(console.error("加载教师列表失败:",Y),I.value=[])}if(I.value.length>0){const Y=y.value.note||"",P=I.value.some(q=>q.name===Y);(!Y||!P)&&(n.value=!0,L.value="")}return}}catch(M){console.error("检查学生姓名状态失败:",M)}},ue=async()=>{var T,M,B,Y;if(!(!o.value||h.value)){d.value="",h.value=!0;try{const P=S("server.domain"),q=se.value;(await fe.post(`${P}/apps/tokens/${q}/set-student-name`,{name:o.value})).data.success&&(f.value=o.value,n.value=!1,await R(),l("token-info-updated"))}catch(P){const q=(T=P==null?void 0:P.response)==null?void 0:T.status;q===400?d.value="该名称不在学生列表中,请选择正确的姓名":q===403?d.value="只有学生类型的 Token 可以设置姓名":q===404?d.value="设备未设置学生列表或 Token 不存在":d.value=((Y=(B=(M=P==null?void 0:P.response)==null?void 0:M.data)==null?void 0:B.error)==null?void 0:Y.message)||(P==null?void 0:P.message)||"设置失败,请稍后重试"}finally{h.value=!1}}},le=async()=>{var T,M,B,Y,P;if(!(!N.value.name||h.value)){d.value="",h.value=!0;try{const q=S("server.domain"),ye=se.value,ke={name:N.value.name.trim(),isHeadTeacher:!!N.value.isHeadTeacher,subjects:Array.isArray(N.value.subjects)?N.value.subjects.filter(Te=>Te&&String(Te).trim()).map(Te=>String(Te).trim()):[]},et=I.value.findIndex(Te=>Te.name===ke.name);et>=0?I.value[et]=ke:I.value.push(ke);const De=await Z.saveData("classworks-list-teacher",I.value);if((De==null?void 0:De.success)===!1)throw new Error(((T=De==null?void 0:De.error)==null?void 0:T.message)||"保存列表失败");(await fe.post(`${q}/apps/tokens/${ye}/set-teacher-name`,{name:ke.name})).data.success&&(H.value=ke.name,n.value=!1,await R(),l("token-info-updated"))}catch(q){const ye=(M=q==null?void 0:q.response)==null?void 0:M.status;ye===400?d.value="该名称不在教师列表中,请选择正确的姓名":ye===403?d.value="只有教师类型的 Token 可以设置姓名":ye===404?d.value="设备未设置教师列表或 Token 不存在":d.value=((P=(Y=(B=q==null?void 0:q.response)==null?void 0:B.data)==null?void 0:Y.error)==null?void 0:P.message)||(q==null?void 0:q.message)||"设置失败,请稍后重试"}finally{h.value=!1}}},ie=T=>{N.value.name=T.name,N.value.isHeadTeacher=T.isHeadTeacher||!1,N.value.subjects=Array.isArray(T.subjects)?[...T.subjects]:[]},v=()=>{n.value=!1},ae=async()=>{if(console.log("StudentNameManager.openDialog called"),console.log("isStudentToken:",K.value),console.log("studentList.length:",u.value.length),console.log("currentStudentName:",f.value),K.value){const T=await Z.loadData("classworks-list-main");u.value=Array.isArray(T==null?void 0:T.value)?T.value:Array.isArray(T)?T:[],u.value.length===0?(console.log("Student list is empty, trying to load..."),await R(),o.value=f.value,n.value=!0):(o.value=f.value,n.value=!0);return}if(Q.value){try{const T=await Z.loadData("classworks-list-teacher");I.value=Array.isArray(T==null?void 0:T.value)?T.value:Array.isArray(T)?T:[]}catch{console.log("教师列表不存在或加载失败,允许手动创建"),I.value=[]}if(N.value={name:H.value,isHeadTeacher:!1,subjects:[]},H.value){const T=I.value.find(M=>M.name===H.value);T&&(N.value.isHeadTeacher=T.isHeadTeacher||!1,N.value.subjects=Array.isArray(T.subjects)?[...T.subjects]:[])}n.value=!0,console.log("Dialog opened (teacher), showDialog:",n.value);return}console.log("Not a student/teacher token, cannot open dialog")};return Le(se,()=>{R()}),Re(()=>{R()}),Le(y,()=>{l("token-info-updated")},{deep:!0}),Xe(()=>{R()}),e({checkStudentNameStatus:R,openDialog:ae,currentStudentName:f,currentTeacherName:H,isStudentToken:K,isTeacherToken:Q,isReadOnly:ge,displayName:pe,hasToken:te,tokenInfo:y}),(T,M)=>(m(),p(E,null,[s(J,{modelValue:n.value,"onUpdate:modelValue":M[4]||(M[4]=B=>n.value=B),"max-width":"720",persistent:""},{default:i(()=>[s(_,null,{default:i(()=>[s(j,null,{default:i(()=>[c(g(x.value),1)]),_:1}),s(V,null,{default:i(()=>[K.value?(m(),p(E,{key:0},[M[5]||(M[5]=r("div",{class:"mb-2"}," 请从列表中选择您的姓名: ",-1)),s(Kt,{modelValue:o.value,"onUpdate:modelValue":M[0]||(M[0]=B=>o.value=B),items:u.value,clearable:"","hide-details":"","item-title":"name","item-value":"name",label:"学生姓名",placeholder:"选择您的姓名"},null,8,["modelValue","items"]),u.value.length>0?(m(),p("div",_a," 共 "+g(u.value.length)+" 位学生 ",1)):w("",!0)],64)):Q.value?(m(),p(E,{key:1},[s(Ce,{modelValue:N.value.name,"onUpdate:modelValue":M[1]||(M[1]=B=>N.value.name=B),label:"教师姓名",placeholder:"输入姓名或从下方建议中选择",clearable:""},null,8,["modelValue"]),r("div",Da,[r("div",Ta,[(m(!0),p(E,null,U(A.value,B=>(m(),b(O,{key:B.name,size:"small",onClick:Y=>ie(B)},{default:i(()=>[c(g(B.name)+" ",1),B.isHeadTeacher?(m(),p("span",Ia," 👨‍🏫 ")):w("",!0)]),_:2},1032,["onClick"]))),128))])]),s(Qe,{modelValue:N.value.isHeadTeacher,"onUpdate:modelValue":M[2]||(M[2]=B=>N.value.isHeadTeacher=B),inset:"",color:"primary",label:N.value.isHeadTeacher?"班主任":"非班主任"},null,8,["modelValue","label"]),s(as,{modelValue:N.value.subjects,"onUpdate:modelValue":M[3]||(M[3]=B=>N.value.subjects=B),multiple:"",chips:"",clearable:"",label:"任教科目",hint:"可直接输入并回车添加多个科目","persistent-hint":""},null,8,["modelValue"])],64)):w("",!0),d.value?(m(),b(_e,{key:2,class:"mt-3",type:"error",variant:"tonal"},{default:i(()=>[c(g(d.value),1)]),_:1})):w("",!0)]),_:1}),s(X,null,{default:i(()=>[s(k,{variant:"text",onClick:v},{default:i(()=>[...M[6]||(M[6]=[c(" 稍后设置 ",-1)])]),_:1}),s(F),K.value?(m(),b(k,{key:0,disabled:!o.value||h.value,loading:h.value,color:"primary",onClick:ue},{default:i(()=>[...M[7]||(M[7]=[c(" 确认 ",-1)])]),_:1},8,["disabled","loading"])):Q.value?(m(),b(k,{key:1,disabled:!N.value.name||h.value,loading:h.value,color:"primary",onClick:le},{default:i(()=>[...M[8]||(M[8]=[c(" 确认 ",-1)])]),_:1},8,["disabled","loading"])):w("",!0)]),_:1})]),_:1})]),_:1},8,["modelValue"]),Xt(T.$slots,"header-display",{isStudent:K.value,openDialog:ae,studentName:f.value,teacherName:H.value},void 0)],64))}},Bt=W(Ea,[["__scopeId","data-v-cebbe710"]]),Na={class:"text-center mb-6"},Va={class:"text-body-2"},Aa={class:"form-section"},Ua={__name:"DeviceAuthDialog",props:{showCancel:{type:Boolean,default:!1},preconfig:{type:Object,default:null}},emits:["success","cancel"],setup(t,{expose:e,emit:a}){const l=t,n=a,o=$({namespace:"",password:""}),u=$(!1),f=$("");Le(()=>l.preconfig,d=>{d&&(console.log("应用预配置数据:",d),o.value.namespace=d.namespace||"",o.value.password=d.password||"",d.autoExecute&&d.namespace?(console.log("检测到自动执行标志且有命名空间,自动执行认证"),setTimeout(()=>{h()},300)):d.namespace&&console.log("预配置数据已填入,等待手动认证"))},{immediate:!0,deep:!0});const h=async()=>{var d,y,I,L,H;if(!(!o.value.namespace||u.value)){f.value="",u.value=!0;try{const N=S("server.domain");if(!N)throw new Error("未配置服务器域名");const K=await fe.post(`${N}/apps/auth/token`,{namespace:o.value.namespace,password:o.value.password||void 0,appId:"d158067f53627d2b98babe8bffd2fd7d"});if(!K.data.success)throw new Error("设备验证失败");const Q=K.data;de("server.kvToken",Q.token),(d=Q.device)!=null&&d.uuid&&de("device.uuid",Q.device.uuid),n("success",Q)}catch(N){const K=(y=N==null?void 0:N.response)==null?void 0:y.status;K===401||K===403?f.value="密码错误或无权限访问":K===404?f.value="设备不存在,请检查 namespace 是否正确":f.value=((H=(L=(I=N==null?void 0:N.response)==null?void 0:I.data)==null?void 0:L.error)==null?void 0:H.message)||(N==null?void 0:N.message)||"认证失败,请稍后重试"}finally{u.value=!1}}};return e({reset:()=>{o.value={namespace:"",password:""},f.value=""}}),(d,y)=>(m(),b(_,{class:"auth-card"},{default:i(()=>[s(V,{class:"pa-8"},{default:i(()=>[r("div",Na,[s(D,{class:"mb-4",color:"success",size:"80"},{default:i(()=>[...y[4]||(y[4]=[c(" mdi-account-key ",-1)])]),_:1}),y[5]||(y[5]=r("h2",{class:"text-h4 mb-3"}," 设备认证 ",-1)),y[6]||(y[6]=r("p",{class:"text-body-1 text-medium-emphasis"}," 输入你在 Classworks KV 获取的认证信息 ",-1))]),s(_,{class:"pa-4 mb-6",color:"info",variant:"tonal"},{default:i(()=>[r("div",Va,[s(D,{class:"mr-2",size:"20"},{default:i(()=>[...y[7]||(y[7]=[c(" mdi-information ",-1)])]),_:1}),y[8]||(y[8]=c(" 对于已有UUID的用户,您应当使用UUID与您的密码登录。 ",-1))])]),_:1}),r("div",Aa,[s(Ce,{modelValue:o.value.namespace,"onUpdate:modelValue":y[0]||(y[0]=I=>o.value.namespace=I),class:"mb-4","hide-details":"auto",label:"命名空间","prepend-inner-icon":"mdi-identifier",variant:"outlined"},null,8,["modelValue"]),s(Ce,{modelValue:o.value.password,"onUpdate:modelValue":y[1]||(y[1]=I=>o.value.password=I),label:"认证码","prepend-inner-icon":"mdi-lock-outline",type:"text",variant:"outlined"},null,8,["modelValue"]),f.value?(m(),b(_e,{key:0,class:"mt-4",closable:"",type:"error",variant:"tonal","onClick:close":y[2]||(y[2]=I=>f.value="")},{default:i(()=>[c(g(f.value),1)]),_:1})):w("",!0)])]),_:1}),s(X,{class:"pa-6 pt-0"},{default:i(()=>[t.showCancel?(m(),b(k,{key:0,size:"large",variant:"text",onClick:y[3]||(y[3]=I=>d.$emit("cancel"))},{default:i(()=>[...y[9]||(y[9]=[c(" 取消 ",-1)])]),_:1})):w("",!0),s(F),s(k,{disabled:!o.value.namespace||u.value,loading:u.value,class:"px-8",color:"primary",size:"x-large",variant:"elevated",onClick:h},{default:i(()=>[s(D,{size:"24",start:""},{default:i(()=>[...y[10]||(y[10]=[c(" mdi-login ",-1)])]),_:1}),y[11]||(y[11]=r("span",{class:"text-h6"},"认证并登录",-1))]),_:1},8,["disabled","loading"])]),_:1})]),_:1}))}},za=W(Ua,[["__scopeId","data-v-9e8d02e4"]]),Ma={__name:"TokenInputDialog",props:{showCancel:{type:Boolean,default:!1}},emits:["success","cancel"],setup(t,{expose:e,emit:a}){const l=a,n=$(""),o=$(!1),u=$(""),f=async()=>{var h,d,y;if(!(!n.value||o.value)){u.value="",o.value=!0;try{const I=S("server.domain");if(!I)throw new Error("未配置服务器域名");await fe.get(`${I}/kv/_info`,{headers:{Accept:"application/json","x-app-token":n.value}}),de("server.kvToken",n.value),l("success")}catch(I){const L=(h=I==null?void 0:I.response)==null?void 0:h.status;L===401||L===403?u.value="Token 无效或无权限,请确认后重试":L===404?u.value="命名空间不存在或服务器未就绪":u.value=((y=(d=I==null?void 0:I.response)==null?void 0:d.data)==null?void 0:y.message)||(I==null?void 0:I.message)||"验证失败,请稍后重试"}finally{o.value=!1}}};return e({reset:()=>{n.value="",u.value=""}}),(h,d)=>(m(),b(_,null,{default:i(()=>[s(j,null,{default:i(()=>[...d[2]||(d[2]=[c("输入授权 Token",-1)])]),_:1}),s(V,null,{default:i(()=>[s(Ce,{modelValue:n.value,"onUpdate:modelValue":d[0]||(d[0]=y=>n.value=y),clearable:"",density:"comfortable","hide-details":"auto",label:"KV 授权 Token",placeholder:"粘贴从授权页面获取的 Token",variant:"outlined"},null,8,["modelValue"]),u.value?(m(),b(_e,{key:0,class:"mt-3",type:"error",variant:"tonal"},{default:i(()=>[c(g(u.value),1)]),_:1})):w("",!0)]),_:1}),s(X,null,{default:i(()=>[s(F),t.showCancel?(m(),b(k,{key:0,variant:"text",onClick:d[1]||(d[1]=y=>h.$emit("cancel"))},{default:i(()=>[...d[3]||(d[3]=[c(" 取消 ",-1)])]),_:1})):w("",!0),s(k,{disabled:!n.value||o.value,loading:o.value,color:"primary",onClick:f},{default:i(()=>[...d[4]||(d[4]=[c(" 保存 Token ",-1)])]),_:1},8,["disabled","loading"])]),_:1})]),_:1}))}},$a={__name:"AlternativeCodeDialog",props:{showCancel:{type:Boolean,default:!1}},emits:["submit","cancel"],setup(t,{expose:e,emit:a}){const l=a,n=$(""),o=()=>{n.value&&l("submit",n.value)};return e({reset:()=>{n.value=""}}),(u,f)=>(m(),b(_,null,{default:i(()=>[s(j,null,{default:i(()=>[...f[2]||(f[2]=[c("输入替代代码",-1)])]),_:1}),s(V,null,{default:i(()=>[s(Ue,{modelValue:n.value,"onUpdate:modelValue":f[0]||(f[0]=h=>n.value=h),density:"comfortable","hide-details":"auto",label:"替代代码",placeholder:"请输入替代代码",rows:"5",variant:"outlined"},null,8,["modelValue"]),s(_e,{class:"mt-3",type:"info",variant:"tonal"},{default:i(()=>[...f[3]||(f[3]=[c(" 替代代码功能暂未实现,敬请期待 ",-1)])]),_:1})]),_:1}),s(X,null,{default:i(()=>[s(F),t.showCancel?(m(),b(k,{key:0,variant:"text",onClick:f[1]||(f[1]=h=>u.$emit("cancel"))},{default:i(()=>[...f[4]||(f[4]=[c(" 取消 ",-1)])]),_:1})):w("",!0),s(k,{disabled:!n.value,color:"primary",onClick:o},{default:i(()=>[...f[5]||(f[5]=[c(" 提交 ",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1}))}},ee=[];for(let t=0;t<256;++t)ee.push((t+256).toString(16).slice(1));function Pa(t,e=0){return(ee[t[e+0]]+ee[t[e+1]]+ee[t[e+2]]+ee[t[e+3]]+"-"+ee[t[e+4]]+ee[t[e+5]]+"-"+ee[t[e+6]]+ee[t[e+7]]+"-"+ee[t[e+8]]+ee[t[e+9]]+"-"+ee[t[e+10]]+ee[t[e+11]]+ee[t[e+12]]+ee[t[e+13]]+ee[t[e+14]]+ee[t[e+15]]).toLowerCase()}let He;const Fa=new Uint8Array(16);function La(){if(!He){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");He=crypto.getRandomValues.bind(crypto)}return He(Fa)}const Ra=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),gt={randomUUID:Ra};function Oa(t,e,a){var n;t=t||{};const l=t.random??((n=t.rng)==null?void 0:n.call(t))??La();if(l.length<16)throw new Error("Random bytes length must be >= 16");return l[6]=l[6]&15|64,l[8]=l[8]&63|128,Pa(l)}function Ba(t,e,a){return gt.randomUUID&&!t?gt.randomUUID():Oa(t)}const ja={class:"step-content"},Ha={class:"text-center mb-6"},Ka={class:"step-content"},qa={class:"relationship-diagram"},Wa={class:"diagram-item"},Ga={class:"text-center"},Qa={class:"diagram-description mt-3"},Ja={class:"diagram-connector"},Ya={class:"diagram-item"},Xa={class:"text-center"},Za={class:"diagram-description mt-3"},eo={class:"step-content"},to={class:"button-group"},so={class:"d-flex flex-column align-center py-2"},no={class:"d-flex flex-column align-center py-2"},io={class:"step-content"},ao={class:"text-center mb-6"},oo={class:"step-content"},lo={class:"text-center mb-6"},ro={class:"d-flex flex-column flex-sm-row align-center"},uo={class:"flex-grow-1"},co={class:"text-h6 font-weight-bold"},mo={class:"text-h5 mb-6"},fo={class:"text-subtitle-2"},ho={class:"d-flex align-center"},go={class:"d-flex align-center"},po={class:"step-content"},vo={class:"text-center mb-6"},yo={class:"d-flex align-center mb-3"},ko={class:"text-h6 font-weight-medium"},bo={key:0,class:"text-body-2 mb-2"},xo={class:"mb-2"},wo={class:"device-code"},So={key:1,class:"text-body-2 text-error"},Co={class:"log-box"},_o={key:0,class:"text-caption text-medium-emphasis"},Do={class:"d-flex flex-wrap gap-2 mt-4"},Me=5,To={__name:"FirstTimeGuide",emits:["close","success"],setup(t,{emit:e}){const a=e,l=S("server.authDomain"),n=$(1),o=$(""),u=$("idle"),f=$(""),h=$(null),d=$(null),y=$([]),I=$({1:!1,2:!1,3:!1,4:!1}),L=()=>{n.value{n.value>1&&n.value--},N=ie=>{o.value=ie,L()},K=()=>{a("close")},Q=()=>{window.open(l,"_blank")},ge=()=>{n.value=5},pe=G(()=>Object.values(I.value).filter(Boolean).length/4*100),te=G(()=>u.value==="success"?"success":u.value==="error"?"error":"primary"),se=G(()=>u.value==="success"?"mdi-check-circle":u.value==="error"?"mdi-alert-circle":u.value==="registering"?"mdi-progress-clock":"mdi-rocket-launch"),C=G(()=>u.value==="success"?"完成!设备已创建":u.value==="error"?"创建失败":u.value==="registering"?"正在执行…":"准备开始"),z=ie=>{const v=new Date,ae=String(v.getHours()).padStart(2,"0"),T=String(v.getMinutes()).padStart(2,"0"),M=String(v.getSeconds()).padStart(2,"0");y.value.push({time:`${ae}:${T}:${M}`,message:ie})},x=()=>"Classworks",A=async()=>{var ie,v,ae;if(u.value!=="registering"){u.value="registering",f.value="",y.value=[],I.value={1:!1,2:!1,3:!1,4:!1};try{z("正在生成设备信息…");const T=Ba(),M=x(),B=S("server.domain");I.value[1]=!0,z("向服务器注册设备…");const Y=await fe.post(`${B}/devices`,{uuid:T,deviceName:M});I.value[2]=!0,h.value={uuid:T,deviceName:M,createdAt:new Date().toISOString(),registered:!0},localStorage.setItem("Classworks_progressive_device",JSON.stringify(h.value)),z("获取访问令牌…");try{const P=await fe.post(`${B}/apps/auth/token`,{namespace:T,password:"",appId:"d158067f53627d2b98babe8bffd2fd7d"});P.data&&P.data.token?(d.value=P.data,de("server.kvToken",P.data.token),(ie=P.data.device)!=null&&ie.uuid&&de("device.uuid",P.data.device.uuid),z("已获取 Token 并写入配置")):z("未返回 Token,您可以稍后在授权页完成配置")}catch(P){console.warn("自动获取 Token 失败:",P),z("自动获取 Token 失败,可在授权页手动完成")}I.value[3]=!0,z("完成!您可以应用令牌或前往授权页面继续配置"),I.value[4]=!0,u.value="success"}catch(T){console.error("设备注册失败:",T),f.value=((ae=(v=T.response)==null?void 0:v.data)==null?void 0:ae.message)||T.message||"网络连接失败",z("失败:"+f.value),u.value="error"}}},R=()=>{u.value="idle",f.value="",y.value=[],I.value={1:!1,2:!1,3:!1,4:!1}},ue=()=>{const ie=h.value;if(!(ie!=null&&ie.uuid))return;const ae=`${S("server.authDomain")}/?uuid=${encodeURIComponent(ie.uuid)}&tolinktoaccount=true`;window.open(ae,"_blank")},le=()=>{d.value&&a("success",d.value),a("close")};return(ie,v)=>(m(),b(_,{class:"guide-card"},{default:i(()=>[s(it,{"model-value":n.value/Me*100,color:"primary",height:"6"},null,8,["model-value"]),s(V,{class:"pa-8"},{default:i(()=>[oe(r("div",ja,[r("div",Ha,[s(D,{class:"mb-4",color:"primary",size:"80"},{default:i(()=>[...v[2]||(v[2]=[c(" mdi-hand-wave ",-1)])]),_:1}),v[3]||(v[3]=r("h2",{class:"text-h4 mb-3"}," 欢迎使用 Classworks ",-1)),v[4]||(v[4]=r("p",{class:"text-body-1 text-medium-emphasis"}," 适用于班级大屏的作业板小工具 ",-1))])],512),[[be,n.value===1]]),oe(r("div",Ka,[v[17]||(v[17]=r("h3",{class:"text-h5 mb-6 text-center"}," Classworks 和 Classworks KV 的关系 ",-1)),s(_,{class:"pa-6 mb-6",color:"primary",variant:"tonal"},{default:i(()=>[r("div",qa,[r("div",Wa,[s(_,{class:"pa-4",color:"blue-darken-1",elevation:"8"},{default:i(()=>[r("div",Ga,[s(D,{color:"white",size:"60"},{default:i(()=>[...v[5]||(v[5]=[c(" mdi-laptop ",-1)])]),_:1}),v[6]||(v[6]=r("h4",{class:"text-h6 text-white mt-2"}," Classworks ",-1)),v[7]||(v[7]=r("p",{class:"text-caption text-white mt-1"}," 作业板应用 ",-1))])]),_:1}),r("div",Qa,[s(O,{class:"mb-2",color:"blue",size:"small",variant:"flat"},{default:i(()=>[...v[8]||(v[8]=[c(" 前端应用 ",-1)])]),_:1}),v[9]||(v[9]=r("div",{class:"text-body-2"},[c(" • 显示作业内容"),r("br"),c(" • 管理班级信息"),r("br"),c(" • 提供用户界面 ")],-1))])]),r("div",Ja,[s(D,{color:"primary",size:"40"},{default:i(()=>[...v[10]||(v[10]=[c(" mdi-swap-horizontal ",-1)])]),_:1}),v[11]||(v[11]=r("div",{class:"text-caption font-weight-bold mt-2"}," 数据同步 ",-1))]),r("div",Ya,[s(_,{class:"pa-4",color:"green-darken-1",elevation:"8"},{default:i(()=>[r("div",Xa,[s(D,{color:"white",size:"60"},{default:i(()=>[...v[12]||(v[12]=[c(" mdi-cloud-sync ",-1)])]),_:1}),v[13]||(v[13]=r("h4",{class:"text-h6 text-white mt-2"}," Classworks KV ",-1)),v[14]||(v[14]=r("p",{class:"text-caption text-white mt-1"}," 云端数据库 ",-1))])]),_:1}),r("div",Za,[s(O,{class:"mb-2",color:"green",size:"small",variant:"flat"},{default:i(()=>[...v[15]||(v[15]=[c(" 后端服务 ",-1)])]),_:1}),v[16]||(v[16]=r("div",{class:"text-body-2"},[c(" • 存储作业数据"),r("br"),c(" • 多设备同步"),r("br"),c(" • 权限管理 ")],-1))])])])]),_:1})],512),[[be,n.value===2]]),oe(r("div",eo,[v[25]||(v[25]=r("h3",{class:"text-h5 mb-6 text-center"}," 你需要在多个设备上查看作业吗? ",-1)),s(_,{class:"mb-6 pa-4",color:"info",variant:"tonal"},{default:i(()=>[...v[18]||(v[18]=[r("div",{class:"text-body-2"}," 比如:在家里电脑、手机上查看,或者多个教室设备共享数据 ",-1)])]),_:1}),r("div",to,[s(k,{block:"",class:"mb-4 py-6",color:"primary",size:"x-large",variant:"elevated",onClick:v[0]||(v[0]=ae=>N("cloud"))},{default:i(()=>[r("div",so,[s(D,{class:"mb-2",size:"40"},{default:i(()=>[...v[19]||(v[19]=[c(" mdi-cloud-check ",-1)])]),_:1}),v[20]||(v[20]=r("span",{class:"text-h6"},"需要,使用云同步",-1)),v[21]||(v[21]=r("span",{class:"text-caption mt-1"},"多设备访问",-1))])]),_:1}),s(k,{block:"",class:"py-6",size:"x-large",variant:"outlined",onClick:v[1]||(v[1]=ae=>N("local"))},{default:i(()=>[r("div",no,[s(D,{class:"mb-2",size:"40"},{default:i(()=>[...v[22]||(v[22]=[c(" mdi-laptop ",-1)])]),_:1}),v[23]||(v[23]=r("span",{class:"text-h6"},"不需要,只用这台设备",-1)),v[24]||(v[24]=r("span",{class:"text-caption mt-1"},"本地存储",-1))])]),_:1})])],512),[[be,n.value===3]]),oe(r("div",io,[r("div",ao,[s(D,{class:"mb-4",color:"success",size:"80"},{default:i(()=>[...v[26]||(v[26]=[c(" mdi-check-circle ",-1)])]),_:1}),v[28]||(v[28]=r("h3",{class:"text-h5 mb-4"}," 您可以使用本地模式 ",-1)),s(_,{class:"pa-4 text-left",variant:"tonal"},{default:i(()=>[...v[27]||(v[27]=[r("div",{class:"text-body-1 mb-2"}," 此数据将存储在您的浏览器中,如果您的浏览器不支持IndexedDB,可能会出现问题。如果您经常清除浏览器数据,请谨慎使用本地模式。 ",-1),r("div",{class:"text-body-1 mb-2"}," 在刚才地方点击使用本地模式的按钮使用。 ",-1)])]),_:1})])],512),[[be,n.value===4&&o.value==="local"]]),oe(r("div",oo,[r("div",lo,[s(D,{class:"mb-4",color:"primary",size:"80"},{default:i(()=>[...v[29]||(v[29]=[c(" mdi-cloud-cog ",-1)])]),_:1}),v[30]||(v[30]=r("h3",{class:"text-h5 mb-4"}," 需要先设置云端账号 ",-1))]),s(_,{class:"pa-6 mb-6",variant:"tonal"},{default:i(()=>[r("div",ro,[r("div",uo,[v[32]||(v[32]=r("h4",{class:"text-h6 font-weight-bold mb-2"}," 自动注册设备 ",-1)),v[33]||(v[33]=r("p",{class:"text-body-2 mb-3 text-medium-emphasis"}," 通过引导式流程自动创建设备、获取令牌并完成初始化。适合首次体验或快速部署多终端。 ",-1)),s(k,{color:"primary","prepend-icon":"mdi-flash",size:"large",variant:"elevated",onClick:ge},{default:i(()=>[...v[31]||(v[31]=[c(" 自动注册 ",-1)])]),_:1})])])]),_:1}),v[41]||(v[41]=r("div",{class:"mb-6"}," 也可以手动前往 Classworks KV 控制台获取认证信息: ",-1)),s(_,{color:Ee(l)=="https://kv.houlang.cloud"?"primary":"error",variant:Ee(l)=="https://kv.houlang.cloud"?"elevated":"outlined",class:"pa-6 mb-6",onClick:Q},{default:i(()=>[s(D,{class:"mb-3",size:"48"},{default:i(()=>[...v[34]||(v[34]=[c(" mdi-open-in-new ",-1)])]),_:1}),r("h4",co," 请访问 "+g(Ee(l)=="https://kv.houlang.cloud"?"Classworks KV":"自定义的 Classworks KV 实例 ")+" 控制台 ",1),r("div",mo,g(Ee(l)),1),r("h6",fo,g(Ee(l)=="https://kv.houlang.cloud"?"此实例由 Classworks KV 官方提供":"此链接由您的实例、预配代码或管理员管理,当前可能不是 Classworks KV 官方的实例地址。"),1)]),_:1},8,["color","variant"]),s(fs,{class:"mt-6",variant:"accordion"},{default:i(()=>[s(ct,null,{default:i(()=>[s(mt,null,{default:i(()=>[r("div",ho,[s(D,{class:"mr-3",color:"warning"},{default:i(()=>[...v[35]||(v[35]=[c(" mdi-help-circle ",-1)])]),_:1}),v[36]||(v[36]=r("span",{class:"text-subtitle-1 font-weight-medium"},"我以前已经使用过 Classworks KV?",-1))])]),_:1}),s(ft,null,{default:i(()=>[s(_,{class:"pa-4",color:"success",variant:"tonal"},{default:i(()=>[...v[37]||(v[37]=[r("div",{class:"text-body-2 mb-2"},[c(" 如果您之前已经使用过 Classworks KV,可以直接使用您的 "),r("strong",null,"UUID(命名空间)"),c(" 和 "),r("strong",null,"设置的密码"),c(" 进行认证。 ")],-1),r("div",{class:"text-body-2"},' 返回上一页,点击"已注册"按钮,输入您的认证信息即可登录。 ',-1)])]),_:1})]),_:1})]),_:1}),s(ct,null,{default:i(()=>[s(mt,null,{default:i(()=>[r("div",go,[s(D,{class:"mr-3",color:"info"},{default:i(()=>[...v[38]||(v[38]=[c(" mdi-help-circle ",-1)])]),_:1}),v[39]||(v[39]=r("span",{class:"text-subtitle-1 font-weight-medium"},"我如何配置不同类型的设备?",-1))])]),_:1}),s(ft,null,{default:i(()=>[s(_,{class:"pa-4",color:"info",variant:"tonal"},{default:i(()=>[...v[40]||(v[40]=[r("div",{class:"text-body-2 mb-2"},[c(" 不同的密码对应不同的设备类型,这将由 "),r("strong",null,"管理员管理"),c("。 ")],-1),r("div",{class:"text-body-2 mb-2"}," 例如: ",-1),r("ul",{class:"text-body-2 ml-4"},[r("li",{class:"mb-1"}," 班级大屏使用一个密码 "),r("li",{class:"mb-1"}," 教师设备使用另一个密码 "),r("li",null,"学生设备使用不同的密码")],-1),r("div",{class:"text-body-2 mt-3"}," 请联系您的管理员获取对应设备类型的密码。 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1})],512),[[be,n.value===4&&o.value==="cloud"]]),oe(r("div",po,[r("div",vo,[s(Ie,{class:"mb-4",color:"primary",size:"80",variant:"tonal"},{default:i(()=>[s(D,{size:"48"},{default:i(()=>[...v[42]||(v[42]=[c(" mdi-rocket-launch ",-1)])]),_:1})]),_:1}),v[43]||(v[43]=r("h3",{class:"text-h5 font-weight-bold mb-2"}," 渐进式注册 ",-1)),v[44]||(v[44]=r("p",{class:"text-body-2 text-medium-emphasis"}," 您可以暂时不配置 Classworks KV ",-1))]),s(it,{"model-value":pe.value,class:"mb-6",color:"primary",height:"8",rounded:""},null,8,["model-value"]),s(ce,null,{default:i(()=>[s(ne,{cols:"12"},{default:i(()=>[s(_,{color:te.value,variant:"tonal"},{default:i(()=>[s(Ve,null,{default:i(()=>[r("div",yo,[s(D,{color:te.value,class:"mr-2",size:"32"},{default:i(()=>[c(g(se.value),1)]),_:1},8,["color"]),r("div",ko,g(C.value),1)]),h.value?(m(),p("div",bo,[r("div",xo,[v[45]||(v[45]=r("strong",null,"设备名称:",-1)),c(g(h.value.deviceName),1)]),r("div",null,[v[46]||(v[46]=r("strong",null,"设备 UUID:",-1)),r("code",wo,g(h.value.uuid),1)])])):w("",!0),u.value==="error"?(m(),p("div",So,g(f.value),1)):w("",!0)]),_:1})]),_:1},8,["color"])]),_:1}),s(ne,{cols:"12"},{default:i(()=>[s(_,{variant:"outlined"},{default:i(()=>[s(Ve,null,{default:i(()=>[v[47]||(v[47]=r("div",{class:"text-subtitle-2 font-weight-medium mb-3"}," 过程日志 ",-1)),r("div",Co,[(m(!0),p(E,null,U(y.value,(ae,T)=>(m(),p("div",{key:T,class:"text-caption log-line"},g(ae.time)+" · "+g(ae.message),1))),128)),y.value.length?w("",!0):(m(),p("div",_o," 等待开始… "))])]),_:1})]),_:1})]),_:1})]),_:1}),r("div",Do,[u.value==="idle"?(m(),b(k,{key:0,color:"primary","prepend-icon":"mdi-play",size:"large",onClick:A},{default:i(()=>[...v[48]||(v[48]=[c(" 开始创建 ",-1)])]),_:1})):w("",!0),u.value==="error"?(m(),b(k,{key:1,color:"error","prepend-icon":"mdi-refresh",variant:"outlined",onClick:R},{default:i(()=>[...v[49]||(v[49]=[c(" 重试 ",-1)])]),_:1})):w("",!0),u.value==="registering"?(m(),b(k,{key:2,loading:!0,color:"primary","prepend-icon":"mdi-progress-clock",variant:"tonal"},{default:i(()=>[...v[50]||(v[50]=[c(" 正在执行… ",-1)])]),_:1})):w("",!0),u.value==="success"?(m(),b(k,{key:3,color:"success","prepend-icon":"mdi-check-circle",size:"large",variant:"elevated",onClick:le},{default:i(()=>[...v[51]||(v[51]=[c(" 应用令牌并关闭 ",-1)])]),_:1})):w("",!0),u.value==="success"?(m(),b(k,{key:4,color:"primary","prepend-icon":"mdi-open-in-new",size:"large",variant:"outlined",onClick:ue},{default:i(()=>[...v[52]||(v[52]=[c(" 前往绑定账户 ",-1)])]),_:1})):w("",!0)])],512),[[be,n.value===5]])]),_:1}),s(X,{class:"pa-6 pt-0"},{default:i(()=>[n.value>1?(m(),b(k,{key:0,size:"large",variant:"text",onClick:H},{default:i(()=>[s(D,{start:""},{default:i(()=>[...v[53]||(v[53]=[c(" mdi-chevron-left ",-1)])]),_:1}),v[54]||(v[54]=c(" 上一步 ",-1))]),_:1})):w("",!0),s(F),n.value[v[56]||(v[56]=c(" 下一步 ",-1)),s(D,{end:""},{default:i(()=>[...v[55]||(v[55]=[c(" mdi-chevron-right ",-1)])]),_:1})]),_:1},8,["disabled"])):w("",!0),n.value===Me||n.value===4?(m(),b(k,{key:2,color:"primary",size:"large",variant:"elevated",onClick:K},{default:i(()=>[...v[57]||(v[57]=[c(" 关闭 ",-1)])]),_:1})):w("",!0)]),_:1})]),_:1}))}},Io=W(To,[["__scopeId","data-v-817c6e0e"]]),Eo={key:0,class:"init-overlay"},No={class:"init-container"},Vo={class:"main-card-row"},Ao={class:"card-horizontal-layout"},Uo={class:"card-icon-wrapper"},zo={class:"card-horizontal-layout"},Mo={class:"card-icon-wrapper"},$o={class:"card-horizontal-layout"},Po={class:"card-icon-wrapper"},Fo={class:"options-buttons"},Lo={__name:"InitServiceChooser",props:{preconfig:{type:Object,default:()=>({namespace:null,authCode:null,autoOpen:!1,autoExecute:!1})}},emits:["done"],setup(t,{emit:e}){const a=t,l=e,n=$(!1),o=$(!1),u=$(!1),f=$(!1),h=$(!1),d=$(null),y=G(()=>S("server.provider")),I=G(()=>y.value==="kv-server"||y.value==="classworkscloud"),L=G(()=>S("server.kvToken")),H=G(()=>{var z;return(z=a.preconfig)!=null&&z.namespace?{namespace:a.preconfig.namespace,password:a.preconfig.authCode||"",autoExecute:a.preconfig.autoExecute||!1}:null}),N=()=>{const z=window.location.pathname,x=z==="/"||z==="/index"||z==="/index.html",A=I.value&&(!L.value||L.value==="");n.value=x&&A};Le(()=>a.preconfig,z=>{z!=null&&z.autoOpen&&(z!=null&&z.namespace)&&n.value&&(console.log("检测到预配数据,自动打开设备认证对话框"),setTimeout(()=>{u.value=!0},500))},{immediate:!0,deep:!0}),Xe(()=>{N()});const K=()=>{const z=S("server.authDomain"),x="d158067f53627d2b98babe8bffd2fd7d",A=window.location.origin,R=encodeURIComponent(`${A}/authorizecallback`),ue=S("device.uuid")||"00000000-0000-4000-8000-000000000000";let le=`${z}/authorize?app_id=${x}&mode=callback&callback_url=${R}&remark=Classworks 自动授权 来自${window.location.hostname} ${new Date().toLocaleString()}`;ue!=="00000000-0000-4000-8000-000000000000"&&(le+=`&uuid=${encodeURIComponent(ue)}`),window.location.href=le},Q=z=>{o.value=!1,console.log("渐进式注册成功:",z),N(),l("done")},ge=z=>{var x;u.value=!1,console.log("认证成功:",z),(x=a.preconfig)!=null&&x.namespace&&console.log(`预配数据认证成功: ${a.preconfig.namespace}`),N(),l("done")},pe=()=>{f.value=!1,N(),l("done")},te=z=>{console.log("替代代码:",z),h.value=!1},se=()=>{de("server.provider","kv-local"),n.value=!1,window.location.reload(),l("done")},C=()=>{window.open(S("server.authDomain"),"_blank")};return(z,x)=>n.value?(m(),p("div",Eo,[r("div",No,[x[22]||(x[22]=r("div",{class:"init-header"},[r("div",{class:"title"}," 欢迎使用 Classworks "),r("div",{class:"subtitle"}," 请选择你的使用方式 ")],-1)),r("div",Vo,[s(_,{class:"main-service-card gradient-new clickable",elevation:"4",onClick:x[0]||(x[0]=A=>o.value=!0)},{default:i(()=>[s(Ve,null,{default:i(()=>[r("div",Ao,[r("div",Uo,[s(D,{color:"primary",size:"48"},{default:i(()=>[...x[12]||(x[12]=[c(" mdi-new-box ",-1)])]),_:1})]),x[13]||(x[13]=r("div",{class:"card-content"},[r("div",{class:"text-h6 font-weight-bold"}," 初次使用 "),r("div",{class:"text-body-2 text-medium-emphasis mt-1"}," 了解 Classworks KV 并开始使用 ")],-1))])]),_:1})]),_:1}),s(_,{class:"main-service-card gradient-registered clickable",elevation:"4",onClick:x[1]||(x[1]=A=>u.value=!0)},{default:i(()=>[s(Ve,null,{default:i(()=>[r("div",zo,[r("div",Mo,[s(D,{color:"success",size:"48"},{default:i(()=>[...x[14]||(x[14]=[c(" mdi-account-check ",-1)])]),_:1})]),x[15]||(x[15]=r("div",{class:"card-content"},[r("div",{class:"text-h6 font-weight-bold"}," 已注册 "),r("div",{class:"text-body-2 text-medium-emphasis mt-1"}," 使用设备 Namespace 登录 ")],-1))])]),_:1})]),_:1}),s(_,{class:"main-service-card clickable",elevation:"4",onClick:C},{default:i(()=>[s(Ve,null,{default:i(()=>[r("div",$o,[r("div",Po,[s(D,{color:"info",size:"48"},{default:i(()=>[...x[16]||(x[16]=[c(" mdi-database-cog ",-1)])]),_:1})]),x[17]||(x[17]=r("div",{class:"card-content"},[r("div",{class:"text-h6 font-weight-bold"}," Classworks KV "),r("div",{class:"text-body-2 text-medium-emphasis mt-1"}," 打开云端控制台管理数据 ")],-1))])]),_:1})]),_:1})]),r("div",Fo,[s(k,{"prepend-icon":"mdi-laptop",size:"small",variant:"tonal",onClick:se},{default:i(()=>[...x[18]||(x[18]=[c(" 使用本地模式 ",-1)])]),_:1}),s(k,{"prepend-icon":"mdi-flash",size:"small",variant:"tonal",onClick:K},{default:i(()=>[...x[19]||(x[19]=[c(" 授权码式授权(弃用) ",-1)])]),_:1}),s(k,{"prepend-icon":"mdi-key",size:"small",variant:"tonal",onClick:x[2]||(x[2]=A=>f.value=!0)},{default:i(()=>[...x[20]||(x[20]=[c(" 输入 Token ",-1)])]),_:1}),s(k,{"prepend-icon":"mdi-code-tags",size:"small",variant:"tonal",onClick:x[3]||(x[3]=A=>h.value=!0)},{default:i(()=>[...x[21]||(x[21]=[c(" 输入替代代码 ",-1)])]),_:1})]),x[23]||(x[23]=r("div",{class:"footer-hint"}," 完成授权后可使用作业同步、考试看板等在线功能。 ",-1))]),s(J,{modelValue:o.value,"onUpdate:modelValue":x[5]||(x[5]=A=>o.value=A),"max-width":"600"},{default:i(()=>[s(Io,{onClose:x[4]||(x[4]=A=>o.value=!1),onSuccess:Q})]),_:1},8,["modelValue"]),s(J,{modelValue:u.value,"onUpdate:modelValue":x[7]||(x[7]=A=>u.value=A),"max-width":"500"},{default:i(()=>[s(za,{ref_key:"deviceAuthDialog",ref:d,preconfig:H.value,"show-cancel":!0,onCancel:x[6]||(x[6]=A=>u.value=!1),onSuccess:ge},null,8,["preconfig"])]),_:1},8,["modelValue"]),s(J,{modelValue:f.value,"onUpdate:modelValue":x[9]||(x[9]=A=>f.value=A),"max-width":"500"},{default:i(()=>[s(Ma,{"show-cancel":!0,onCancel:x[8]||(x[8]=A=>f.value=!1),onSuccess:pe})]),_:1},8,["modelValue"]),s(J,{modelValue:h.value,"onUpdate:modelValue":x[11]||(x[11]=A=>h.value=A),"max-width":"500"},{default:i(()=>[s($a,{"show-cancel":!0,onCancel:x[10]||(x[10]=A=>h.value=!1),onSubmit:te})]),_:1},8,["modelValue"])])):w("",!0)}},jt=W(Lo,[["__scopeId","data-v-cbfbc6db"]]),Ro={name:"ExamScheduleCard",props:{examId:{type:String,required:!0},contentStyle:{type:Object,default:()=>({})}},computed:{...bt(ze,["exams","loadingDetails"]),exam(){return this.exams[this.examId]},loading(){return this.loadingDetails[this.examId]}},mounted(){this.fetchExam(this.examId)},methods:{...kt(ze,["fetchExam"]),formatTime(t){if(!t)return"";try{const e=new Date(t),a=(e.getMonth()+1).toString().padStart(2,"0"),l=e.getDate().toString().padStart(2,"0"),n=e.getHours().toString().padStart(2,"0"),o=e.getMinutes().toString().padStart(2,"0");return`${a}-${l} ${n}:${o}`}catch{return t}}}},Oo={class:"text-truncate"},Bo={key:0,class:"d-flex justify-center align-center fill-height",style:{"min-height":"200px"}},jo={class:"d-flex align-center mb-1"},Ho={class:"font-weight-medium"},Ko={class:"d-flex align-center"},qo={class:"font-weight-medium"},Wo={key:2,class:"d-flex flex-column align-center justify-center fill-height text-grey mt-4"};function Go(t,e,a,l,n,o){return m(),b(_,{class:"fill-height d-flex flex-column rounded-xl",elevation:"2"},{default:i(()=>[s(j,{class:"d-flex align-center py-3 px-4 bg-primary text-white"},{default:i(()=>{var u;return[s(D,{class:"mr-2"},{default:i(()=>[...e[1]||(e[1]=[c("mdi-calendar-clock",-1)])]),_:1}),r("span",Oo,g(((u=o.exam)==null?void 0:u.examName)||"加载中..."),1),s(F),s(k,{icon:"mdi-close",variant:"text",density:"comfortable",onClick:e[0]||(e[0]=f=>t.$emit("close"))})]}),_:1}),s(V,{class:"flex-grow-1 pa-4 overflow-y-auto",style:re(a.contentStyle)},{default:i(()=>[o.loading?(m(),p("div",Bo,[s(xt,{indeterminate:"",color:"primary"})])):o.exam?(m(),p(E,{key:1},[o.exam.message?(m(),b(_e,{key:0,color:"info",variant:"tonal",class:"mb-4 text-body-1",border:"start",density:"compact"},{default:i(()=>[c(g(o.exam.message),1)]),_:1})):w("",!0),s(we,{density:"comfortable",class:"pa-0 bg-transparent"},{default:i(()=>[(m(!0),p(E,null,U(o.exam.examInfos,(u,f)=>(m(),b(Se,{key:f,class:"px-0 mb-3"},{prepend:i(()=>[s(Ie,{color:"primary",variant:"tonal",size:"large",class:"mr-3 font-weight-bold elevation-1"},{default:i(()=>[c(g(u.name.charAt(0)),1)]),_:2},1024)]),default:i(()=>[s(Pe,{class:"font-weight-bold text-h6 mb-1"},{default:i(()=>[c(g(u.name),1)]),_:2},1024),s(Fe,{class:"text-body-1"},{default:i(()=>[r("div",jo,[s(D,{size:"small",color:"success",class:"mr-2"},{default:i(()=>[...e[2]||(e[2]=[c("mdi-clock-start",-1)])]),_:1}),r("span",Ho,g(o.formatTime(u.start)),1)]),r("div",Ko,[s(D,{size:"small",color:"error",class:"mr-2"},{default:i(()=>[...e[3]||(e[3]=[c("mdi-clock-end",-1)])]),_:1}),r("span",qo,g(o.formatTime(u.end)),1)])]),_:2},1024)]),_:2},1024))),128))]),_:1})],64)):(m(),p("div",Wo,[s(D,{size:"large",class:"mb-2"},{default:i(()=>[...e[4]||(e[4]=[c("mdi-alert-circle-outline",-1)])]),_:1}),e[5]||(e[5]=c(" 无法加载考试信息 ",-1))]))]),_:1},8,["style"])]),_:1})}const Qo=W(Ro,[["render",Go],["__scopeId","data-v-52dc8ca5"]]);function Ke(t,e){let a=null;return function(...l){a&&clearTimeout(a),a=setTimeout(()=>{t.apply(this,l)},e)}}function Jo(t,e){let a=null,l=0;return function(...n){const o=Date.now();o-l{l=o,t.apply(this,n)},e)):(l=o,t.apply(this,n))}}const Yo={name:"Classworks 作业板",components:{MessageLog:St,RandomPicker:Tt,FloatingToolbar:Vt,FloatingICP:Nt,HomeworkEditDialog:Ut,InitServiceChooser:jt,ChatWidget:Be,StudentNameManager:Bt,UrgentTestDialog:Et,AttendanceSidebar:zt,AttendanceManagementDialog:At,HomeworkGrid:Ot,HomeActions:$t,PwaInstallCard:Mt,ExamScheduleCard:Qo,ExamConfigEditor:pt},setup(){const{mobile:t}=Ae(),e=ze();return{mobile:t,examStore:e}},data(){const t=[{name:"语文",order:0},{name:"数学",order:1},{name:"英语",order:2},{name:"物理",order:3},{name:"化学",order:4},{name:"生物",order:5},{name:"政治",order:6},{name:"历史",order:7},{name:"地理",order:8},{name:"其他",order:9}];return{showAddExamDialog:!1,showExamDetailDialog:!1,selectedExamId:null,upcomingExams:[],dataKey:"",provider:"",useDisplay:Ae,state:{classNumber:"",namespaceInfo:null,deviceName:"",studentList:[],boardData:{homework:{},attendance:{absent:[],late:[],exclude:[]}},dialogVisible:!1,dialogTitle:"",textarea:"",dateString:"",synced:!1,attendDialogVisible:!1,contentStyle:{"font-size":`${S("font.size")}px`},uploadLoading:!1,downloadLoading:!1,snackbar:!1,snackbarText:"",fontSize:S("font.size"),datePickerDialog:!1,selectedDate:new Date().toISOString().split("T")[0].replace(/-/g,""),selectedDateObj:new Date,refreshInterval:null,showNoDataMessage:!1,noDataMessage:"",isToday:!1,attendanceDialog:!1,availableSubjects:t,isFullscreen:!1},loading:{download:!1,upload:!1,students:!1,copyToToday:!1},debouncedUpload:null,debouncedAttendanceSave:null,throttledReflow:null,sortedItemsCache:{key:"",value:[]},confirmDialog:{show:!1,resolve:null,reject:null},urlConfigDialog:{show:!1,config:null,changes:[],validSettings:{},confirmHandler:null,cancelHandler:null,icons:{}},settingsTick:0,isChatOpen:!1,highlightedCards:{},tokenDisplayInfo:{show:!1,readonly:!1,text:"",color:"primary",variant:"tonal",icon:"mdi-account",disabled:!1},realtimeInfo:{show:!1,time:"",key:""},$offKvChanged:null,$offConnect:null,debouncedRealtimeRefresh:null,preconfigData:{namespace:null,authCode:null,autoOpen:!1,autoExecute:!1},urgentTestDialog:!1,tokenInfo:null,persistentNotifications:[],notificationDetailDialog:!1,currentNotification:null}},computed:{isMobile(){return S("display.forceDesktopMode")?!1:this.mobile},titleText(){var u,f;const t=((f=(u=this.state.namespaceInfo)==null?void 0:u.device)==null?void 0:f.name)||this.state.classNumber||"高三八班",e=this.getToday(),a=new Date(e);a.setDate(a.getDate()-1);const l=this.state.dateString,n=this.formatDate(e),o=this.formatDate(a);return l===n?t+" - 今天的作业":l===o?t+" - 昨天的作业":`${t} - ${l}的作业`},sortedItems(){const t=[];this.isMobile&&t.push({key:"attendance-card",name:"出勤统计",type:"attendance",data:{total:this.state.studentList.length,absent:this.state.boardData.attendance.absent,late:this.state.boardData.attendance.late,exclude:this.state.boardData.attendance.exclude}});for(const e in this.state.boardData.homework)if(e.startsWith("exam-")){const a=this.state.boardData.homework[e];t.push({key:e,name:"考试安排",type:"exam",data:{examId:a.examId},order:-100,rowSpan:200})}for(const e of this.state.availableSubjects){const a=e.name,l=this.state.boardData.homework[a];if(l&&l.content){const o=100+l.content.split(` -`).filter(u=>u.trim()).length*24;t.push({key:a,name:a,type:"homework",content:l.content,order:e.order,rowSpan:o})}}S("timeCard.enabled")&&t.push({key:"time-card",name:"时间",type:"time",order:9997,rowSpan:150}),S("hitokoto.enabled")&&t.push({key:"hitokoto-card",name:"一言",type:"hitokoto",order:9998,rowSpan:150});for(const e in this.state.boardData.homework)if(e.startsWith("custom-")){const a=this.state.boardData.homework[e],n=100+a.content.split(` -`).filter(o=>o.trim()).length*24;t.push({key:e,name:a.name,type:"custom",content:a.content,order:9999,rowSpan:n})}return t.sort((e,a)=>e.order-a.order),t},unusedSubjects(){const t=Object.keys(this.state.boardData.homework).filter(e=>{var a;return(a=this.state.boardData.homework[e].content)==null?void 0:a.trim()});return this.state.availableSubjects.filter(e=>!t.includes(e.name)).sort((e,a)=>e.order-a.order)},emptySubjects(){return this.emptySubjectDisplay!=="button"?[]:this.unusedSubjects},autoSave(){return S("edit.autoSave")},blockNonTodayAutoSave(){return S("edit.blockNonTodayAutoSave")},isToday(){const t=(()=>{const e=new Date,a=e.getFullYear(),l=String(e.getMonth()+1).padStart(2,"0"),n=String(e.getDate()).padStart(2,"0");return`${a}${l}${n}`})();return this.state.dateString===t},canAutoSave(){return this.autoSave&&(!this.blockNonTodayAutoSave||this.isToday)},needConfirmSave(){return!this.isToday&&this.confirmNonTodaySave},shouldShowBlockedMessage(){return!this.isToday&&this.autoSave&&this.blockNonTodayAutoSave},refreshBeforeEdit(){return S("edit.refreshBeforeEdit")},emptySubjectDisplay(){return S("display.emptySubjectDisplay")},dynamicSort(){return S("display.dynamicSort")},isEditingDisabled(){if(this.state.uploadLoading||this.state.downloadLoading)return!0;const t=this.$refs.studentNameManager;return!!(t!=null&&t.isReadOnly||!this.canEditCurrentDate)},unreadCount(){var t;return((t=this.$refs.messageLog)==null?void 0:t.unreadCount)||0},showRandomPickerButton(){return S("randomPicker.enabled")},showListCardButton(){return S("display.showListCard")},confirmNonTodaySave(){return S("edit.confirmNonTodaySave")},blockPastDataEdit(){return S("edit.blockPastDataEdit")},shouldShowSaveConfirm(){return!this.isToday&&this.confirmNonTodaySave},shouldBlockAutoSave(){return!this.isToday&&this.autoSave&&this.blockNonTodayAutoSave},canEditCurrentDate(){return this.isToday?!0:!this.blockPastDataEdit},isEditingPastData(){return!this.isToday},showFullscreenButton(){return S("display.showFullscreenButton")},showExamScheduleButton(){return S("display.showExamScheduleButton")},showAntiScreenBurnCard(){return S("display.showAntiScreenBurnCard")},showTestCardButton(){return S("developer.enabled")},shouldShowInit(){var n;const t=S("server.provider"),e=t==="kv-server"||t==="classworkscloud",a=S("server.kvToken"),l=((n=this.$route)==null?void 0:n.path)==="/";return this.settingsTick,l&&e&&(!a||a==="")},hasExamCard(){for(const t in this.state.boardData.homework)if(t.startsWith("exam-"))return!0;return!1},shouldShowUrgentTestButton(){const t=S("server.provider");return!(t==="kv-server"||t==="classworkscloud")||!S("server.kvToken")||!this.tokenInfo?!1:this.tokenInfo.deviceType==="teacher"||this.tokenInfo.deviceType==="classroom"},subjectOrder(){return[...this.state.availableSubjects].sort((t,e)=>t.order-e.order).map(t=>t.name)}},watch:{homeworkData:{handler(){this.$nextTick(()=>{this.$refs.waterfall&&this.$refs.waterfall.reflow()})},deep:!0},"$vuetify.display.width":{handler(){this.throttledReflow()},deep:!0},"state.attendanceDialog":{handler(t){this.handleAttendanceDialogClose(t)}}},created(){this.debouncedUpload=Ke(this.uploadData,2e3),this.debouncedAttendanceSave=Ke(async()=>{this.autoSave&&await this.trySave(!0)},2e3),this.throttledReflow=Jo(()=>{this.$refs.gridContainer&&this.optimizeGridLayout(this.sortedItems)},200)},async mounted(){try{this.updateBackendUrl(),await this.initializeData(),await this.loadDeviceInfo(),this.setupAutoRefresh(),this.unwatchSettings=Re(()=>{this.updateSettings()}),this.$nextTick(()=>{const t=this.$refs.studentNameManager;t&&(this.studentNameInfo.name=t.currentStudentName||t.currentTeacherName||"",this.studentNameInfo.isStudent=t.isStudentToken,this.studentNameInfo.isTeacher=t.isTeacherToken,this.studentNameInfo.openDialog=()=>t.openDialog(),this.$watch(()=>t.currentStudentName,e=>{this.studentNameInfo.name=e,this.updateTokenDisplayInfo()}),this.$watch(()=>t.currentTeacherName,e=>{t.isTeacherToken&&(this.studentNameInfo.name=e,this.updateTokenDisplayInfo())}),this.$watch(()=>t.isStudentToken,e=>{this.studentNameInfo.isStudent=e,this.updateTokenDisplayInfo()}),this.$watch(()=>t.isTeacherToken,e=>{this.studentNameInfo.isTeacher=e,this.updateTokenDisplayInfo()}))}),document.addEventListener("fullscreenchange",this.fullscreenChangeHandler),document.addEventListener("webkitfullscreenchange",this.fullscreenChangeHandler),document.addEventListener("mozfullscreenchange",this.fullscreenChangeHandler),document.addEventListener("MSFullscreenChange",this.fullscreenChangeHandler),this.checkHashForRandomPicker(),window.addEventListener("hashchange",this.checkHashForRandomPicker),this.setupRealtimeChannel(),this.$nextTick(()=>{this.updateTokenDisplayInfo()}),await this.loadTokenInfo(),this.loadPersistentNotifications()}catch(t){console.error("初始化失败:",t),this.showError("初始化失败,请刷新页面重试")}},beforeUnmount(){this.unwatchSettings&&this.unwatchSettings(),this.state.refreshInterval&&clearInterval(this.state.refreshInterval),document.removeEventListener("fullscreenchange",this.fullscreenChangeHandler),document.removeEventListener("webkitfullscreenchange",this.fullscreenChangeHandler),document.removeEventListener("mozfullscreenchange",this.fullscreenChangeHandler),document.removeEventListener("MSFullscreenChange",this.fullscreenChangeHandler),window.removeEventListener("hashchange",this.checkHashForRandomPicker);try{this.$offKvChanged&&typeof this.$offKvChanged=="function"&&(this.$offKvChanged(),this.$offKvChanged=null),this.$offDeviceEvent&&typeof this.$offDeviceEvent=="function"&&(this.$offDeviceEvent(),this.$offDeviceEvent=null),this.$offConnect&&typeof this.$offConnect=="function"&&(this.$offConnect(),this.$offConnect=null),ns()}catch(t){console.warn("主页面事件清理失败:",t)}},methods:{async loadDeviceInfo(){var t;try{const e=S("server.provider");if(!(e==="kv-server"||e==="classworkscloud"))return;const l=await ds.loadNamespaceInfo();if(l&&l.success===!1)return;this.state.namespaceInfo=l||null,this.state.deviceName=((t=l==null?void 0:l.account)==null?void 0:t.deviceName)||""}catch(e){console.warn("加载设备信息失败:",e)}},async loadTokenInfo(){try{const t=S("server.provider");if(!(t==="kv-server"||t==="classworkscloud"))return;const a=S("server.kvToken");if(!a)return;const l=S("server.domain");if(!l)return;const n=await fe.get(`${l}/kv/_token`,{headers:{Authorization:`Bearer ${a}`}});this.tokenInfo=n.data,console.log("Token info loaded:",this.tokenInfo)}catch(t){console.warn("Failed to load token info:",t),this.tokenInfo=null}},updateTokenDisplayInfo(){const t=this.$refs.studentNameManager;if(!t||!t.hasToken){this.tokenDisplayInfo.show=!1,this.tokenDisplayInfo.readonly=!1;return}const e=t.displayName,a=t.isReadOnly,l=t.isStudentToken,n=t.isTeacherToken;if(this.tokenDisplayInfo.readonly=a,!l&&!n){this.tokenDisplayInfo.show=!1;return}this.tokenDisplayInfo.text=e,this.tokenDisplayInfo.color="primary",this.tokenDisplayInfo.icon=n?"mdi-school":"mdi-account",this.tokenDisplayInfo.disabled=a,this.tokenDisplayInfo.show=!0},handleTokenChipClick(){console.log("Token chip clicked");const t=this.$refs.studentNameManager;console.log("Manager:",t),console.log("Is student token:",t==null?void 0:t.isStudentToken),console.log("Is teacher token:",t==null?void 0:t.isTeacherToken),t&&(t.isStudentToken||t.isTeacherToken)?(console.log("Opening dialog..."),t.openDialog()):console.log("Cannot open dialog - conditions not met")},ensureDate(t){if(t instanceof Date)return t;if(typeof t=="string"){const e=new Date(t);if(!isNaN(e.getTime()))return e}return new Date},formatDate(t){const e=this.ensureDate(t),a=e.getFullYear(),l=String(e.getMonth()+1).padStart(2,"0"),n=String(e.getDate()).padStart(2,"0");return`${a}${l}${n}`},formatTime(t){return t?new Date(t).toLocaleString():""},getToday(){return new Date},async initializeData(){this.parsePreconfigData();const t=await this.parseUrlConfig(),a=new URLSearchParams(window.location.search).get("date"),l=this.getToday();let n=l;if(a){if(/^\d{8}$/.test(a)){const o=a.substring(0,4),u=a.substring(4,6),f=a.substring(6,8);n=new Date(`${o}-${u}-${f}`)}else n=new Date(a);isNaN(n.getTime())&&(n=l)}if(this.state.dateString=this.formatDate(n),this.state.selectedDate=this.state.dateString,this.state.selectedDateObj=n,this.state.isToday=this.formatDate(n)===this.formatDate(l),!t){this.provider=S("server.provider");const o=S("server.classNumber");this.state.classNumber=o}await Promise.all([this.downloadData(),this.loadConfig()]),await this.examStore.fetchExamList();for(const o of this.examStore.examList)this.examStore.fetchExam(o.id);this.checkUpcomingExams()},async checkUpcomingExams(){this.upcomingExams=await this.examStore.getUpcomingExams()},loadExamCards(){},saveExamCards(){},addExamCard(t,e=!1,a=!1){const l=`exam-${t}`;!e&&this.state.boardData.homework[l]?delete this.state.boardData.homework[l]:this.state.boardData.homework[l]={type:"exam",examId:t,name:"考试安排",content:""},this.state.synced=!1,a||this.trySave(!0)},openExamDetail(t){this.selectedExamId=t,this.showExamDetailDialog=!0},removeCurrentExamCard(){this.selectedExamId&&(this.addExamCard(this.selectedExamId),this.showExamDetailDialog=!1)},async onExamConfigSaved(){this.selectedExamId&&(delete this.examStore.exams[this.selectedExamId],await this.examStore.fetchExam(this.selectedExamId),this.$message.success("保存成功","考试配置已更新"))},onExamConfigDeleted(){this.removeCurrentExamCard(),this.$message.success("删除成功","考试配置已删除")},isExamCardAdded(t){return!!this.state.boardData.homework[`exam-${t}`]},removeExamCard(t){},addAllUpcomingExams(){let t=0;for(const e of this.upcomingExams)this.isExamCardAdded(e.id)||(this.addExamCard(e.id,!0,!0),t++);t>0?(this.trySave(!0),this.$message.success("添加成功",`已添加 ${t} 个考试安排`)):this.$message.info("提示","所有考试已添加")},async downloadData(t=!1){var e,a,l;if(!this.loading.download)try{this.loading.download=!0;const n=await Z.loadData("classworks-data-"+this.state.dateString);if(n.success==!1)if(n.error.code==="NOT_FOUND")this.state.showNoDataMessage=!0,this.state.noDataMessage=n.error.message,(t||!this.state.boardData||!this.state.boardData.homework&&!this.state.boardData.attendance)&&(this.state.boardData={homework:{},attendance:{absent:[],late:[],exclude:[]}});else throw new Error(n.error.message);else this.state.boardData={homework:n.homework||{},attendance:{absent:((e=n.attendance)==null?void 0:e.absent)||[],late:((a=n.attendance)==null?void 0:a.late)||[],exclude:((l=n.attendance)==null?void 0:l.exclude)||[]}},this.state.synced=!0,this.state.showNoDataMessage=!1,this.$message.success("下载成功","数据已更新")}catch(n){console.error("数据加载失败:",n),this.$message.error("下载失败",n.message),(t||!this.state.boardData||!this.state.boardData.homework&&!this.state.boardData.attendance)&&(this.state.boardData={homework:{},attendance:{absent:[],late:[],exclude:[]}})}finally{this.loading.download=!1}},async trySave(t=!1){if(t&&!this.canAutoSave)return this.shouldShowBlockedMessage&&this.showMessage("需要手动保存","已禁止自动保存非当天数据","warning"),!1;if(!t&&this.needConfirmSave)try{await this.showConfirmDialog()}catch{return!1}try{return await this.uploadData(),!0}catch(e){return this.$message.error("保存失败",e.message||"请重试"),!1}},async handleClose(){var a;if(!this.currentEditSubject)return;const t=this.state.textarea.trim(),e=((a=this.state.boardData.homework[this.currentEditSubject])==null?void 0:a.content)||"";if(t!==e.trim()){if(!t&&this.currentEditSubject.startsWith("custom-")){delete this.state.boardData.homework[this.currentEditSubject],this.state.synced=!1,this.autoSave&&await this.trySave(!0),this.state.dialogVisible=!1;return}this.state.boardData.homework[this.currentEditSubject].type==="custom"?this.state.boardData.homework[this.currentEditSubject].content=t:this.state.boardData.homework[this.currentEditSubject]={content:t},this.state.synced=!1,this.autoSave&&await this.trySave(!0)}this.state.dialogVisible=!1},async uploadData(){if(!this.loading.upload)try{this.loading.upload=!0;const t=await Z.saveData("classworks-data-"+this.state.dateString,this.state.boardData);if(t.success==!1)throw new Error(t.error.message);this.state.synced=!0,this.$message.success(t.message||"保存成功")}finally{this.loading.upload=!1}},async loadConfig(){try{try{const t=await Z.loadData("classworks-list-main");t.success!=!1&&Array.isArray(t)&&(this.state.studentList=t.map(e=>e.name))}catch(t){console.warn("Failed to load student list from dedicated key, falling back to config",t)}await this.loadSubjects()}catch(t){console.error("加载配置失败:",t),this.$message.error("加载配置失败",t.message)}},async loadSubjects(){try{const t=await Z.loadData("classworks-config-subject");t&&Array.isArray(t)&&(this.state.availableSubjects=t)}catch(t){console.warn("Failed to load subject configuration:",t)}},showSyncMessage(){this.$message.success("数据已同步","数据已完成与服务器同步")},async openDialog(t){var e;if(this.isEditingDisabled){const a=this.$refs.studentNameManager;a!=null&&a.isReadOnly?this.$message.warning("无法编辑","当前使用的是只读令牌"):this.canEditCurrentDate?this.$message.warning("无法编辑","数据加载中,请稍候"):this.$message.warning("无法编辑","已禁止编辑过往数据");return}if(t.startsWith("custom-")){this.currentEditSubject=t,this.state.dialogTitle=this.state.boardData.homework[t].name,this.state.textarea=this.state.boardData.homework[t].content,this.state.dialogVisible=!0;return}if(this.refreshBeforeEdit)try{await this.downloadData()}catch(a){console.error("刷新数据失败:",a),this.$message.error("刷新数据失败,可能显示的不是最新数据")}this.currentEditSubject=t,this.state.boardData.homework[t]||(this.state.boardData.homework[t]={content:""}),this.state.dialogTitle=((e=this.state.availableSubjects.find(a=>a.name===t))==null?void 0:e.name)||t,this.state.textarea=this.state.boardData.homework[t].content,this.state.dialogVisible=!0},async handleHomeworkSave(t){this.currentEditSubject&&(this.state.boardData.homework[this.currentEditSubject].type==="custom"?this.state.boardData.homework[this.currentEditSubject].content=t:this.state.boardData.homework[this.currentEditSubject]={content:t},this.state.synced=!1,this.autoSave&&await this.trySave(!0))},setAttendanceArea(){if(this.isEditingDisabled){this.handleDisabledClick();return}this.state.attendanceDialog=!0},handleDisabledClick(){const t=this.$refs.studentNameManager;t!=null&&t.isReadOnly?this.$message.warning("无法编辑","当前使用的是只读令牌"):this.canEditCurrentDate?this.$message.warning("无法编辑","数据加载中,请稍候"):this.$message.warning("无法编辑","已禁止编辑过往数据")},zoom(t){t==="up"&&this.state.fontSize<100?this.state.fontSize+=2:t==="out"&&this.state.fontSize>16&&(this.state.fontSize-=2),this.state.contentStyle={"font-size":`${this.state.fontSize}px`},de("font.size",this.state.fontSize)},updateBackendUrl(){const t=S("server.provider"),e=S("server.classNumber");this.provider=t,this.state.classNumber=e},setupAutoRefresh(){const t=S("refresh.auto"),e=S("refresh.interval");this.state.refreshInterval&&clearInterval(this.state.refreshInterval),t&&(this.state.refreshInterval=setInterval(()=>{this.shouldSkipRefresh()||(this.downloadData(),this.loadPersistentNotifications())},e*1e3))},shouldSkipRefresh(){return!!(this.state.dialogVisible||this.state.attendanceDialog||this.confirmDialog.show||this.state.datePickerDialog||this.loading.upload||this.loading.download||!this.state.synced)},updateSettings(){this.state.fontSize=S("font.size"),this.state.contentStyle={"font-size":`${this.state.fontSize}px`},this.setupAutoRefresh(),this.updateBackendUrl(),this.loadDeviceInfo(),this.loadTokenInfo(),this.settingsTick++},async handleDateSelect(t){if(t)try{const e=this.ensureDate(t),a=this.formatDate(e);if(a===this.state.dateString)return;this.state.dateString=a,this.state.selectedDate=a,this.state.selectedDateObj=e,this.state.isToday=a===this.formatDate(this.getToday()),await Promise.all([this.downloadData(!0),this.loadSubjects()])}catch(e){console.error("Date processing error:",e),this.$message.error("日期处理错误","请重新选择日期")}},setupRealtimeChannel(){try{const t=S("server.kvToken");if(!t){console.warn("未配置 KV Token,无法加入实时频道");return}wt(),Ge(t),this.$offConnect=ss(()=>Ge(t)),this.debouncedRealtimeRefresh||(this.debouncedRealtimeRefresh=Ke(async()=>{var d,y,I;const l=JSON.parse(JSON.stringify(this.state.boardData.homework));await this.downloadData();const n=new Date,o=String(n.getHours()).padStart(2,"0"),u=String(n.getMinutes()).padStart(2,"0"),f=String(n.getSeconds()).padStart(2,"0");(d=this.$message)==null||d.info("数据已更新",`已于 ${o}:${u}:${f} 自动刷新`);const h={};for(const L in this.state.boardData.homework){const H=((y=l[L])==null?void 0:y.content)||"",N=((I=this.state.boardData.homework[L])==null?void 0:I.content)||"";H!==N&&(h[L]=!0)}for(const L in l)this.state.boardData.homework[L]||(h[L]=!0);this.highlightedCards=h,setTimeout(()=>{this.highlightedCards={}},1e4)},800));const e=l=>{var o;if(!l)return;if(l.key==="notification-list"){this.loadPersistentNotifications();return}const n=`classworks-data-${this.state.dateString}`;l.key===n&&(l.action!=="upsert"&&l.action!=="delete"||(o=this.debouncedRealtimeRefresh)==null||o.call(this,l.key))},a=l=>{let n=l;l.content&&l.timestamp&&(n={uuid:l.senderId||"realtime",key:l.content.key,action:l.content.action,created:l.content.created,updatedAt:l.content.updatedAt||l.timestamp,deletedAt:l.content.deletedAt,batch:l.content.batch}),e(n)};this.$offKvChanged=me("kv-key-changed",a),this.deviceEventHandler=Ct({onKvChanged:e,enableLegacySupport:!0}),this.$offDeviceEvent=me("device-event",this.deviceEventHandler)}catch(t){console.warn("实时频道初始化失败",t)}},async saveAttendance(){try{await this.trySave(!0),this.state.attendanceDialog=!1}catch(t){console.error("保存出勤状态失败:",t),this.$message.error("保存失败","请重试")}},showMessage(t,e="",a="success"){this.$message[a](t,e)},updateSortedItemsCache(t,e){this._sortedItemsCache={key:t,value:e}},addTestCard(){const t=Date.now().toString();this.state.boardData.homework[`custom-${t}`]={name:"测试卡片",content:`这是一个测试卡片 -可以用来测试布局`,type:"custom"},this.state.synced=!1},showConfirmDialog(){return new Promise((t,e)=>{this.confirmDialog={show:!0,resolve:()=>{this.confirmDialog.show=!1,t()},reject:()=>{this.confirmDialog.show=!1,e(new Error("用户取消保存"))}}})},confirmSave(){this.confirmDialog.show=!1,this.confirmDialog.resolve&&this.confirmDialog.resolve(!0)},cancelSave(){this.confirmDialog.show=!1,this.confirmDialog.reject&&this.confirmDialog.reject(new Error("用户取消保存"))},async manualUpload(){return this.trySave(!1)},handleAttendanceChange(){this.state.synced=!1,this.debouncedAttendanceSave()},async handleAttendanceDialogClose(t){!t&&!this.state.synced&&await this.trySave(!0)},toggleFullscreen(){this.state.isFullscreen?this.exitFullscreen():this.enterFullscreen()},enterFullscreen(){const t=document.documentElement;t.requestFullscreen?t.requestFullscreen():t.webkitRequestFullScreen?t.webkitRequestFullScreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.msRequestFullscreen&&t.msRequestFullscreen()},exitFullscreen(){document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen?document.webkitExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.msExitFullscreen&&document.msExitFullscreen()},fullscreenChangeHandler(){this.state.isFullscreen=!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)},openRandomPicker(){this.$refs.randomPicker&&this.$refs.randomPicker.open()},checkHashForRandomPicker(){window.location.hash==="#random-picker"&&this.$nextTick(()=>{console.log("打开随机点名"),window.location.hash="",this.openRandomPicker()})},parseUrlConfig(){try{const e=new URLSearchParams(window.location.search).get("config");if(!e)return!1;try{const a=atob(e),l=Uint8Array.from(a,d=>d.charCodeAt(0)),n=new TextDecoder().decode(l),o=JSON.parse(n);console.log("从URL读取配置:",o);const u=[],f={},h={};return this.processSpecialSettings(o,u,f),this.processStandardSettings(o,u,f,h),Object.keys(f).length===0?(console.log("URL配置与当前配置相同,无需应用"),!1):new Promise(d=>{this.urlConfigDialog={show:!0,config:o,changes:u,validSettings:f,icons:h,confirmHandler:()=>{this.urlConfigDialog.show=!1,this.applyUrlConfig(f),d(!0)},cancelHandler:()=>{this.urlConfigDialog.show=!1,d(!1)}}})}catch(a){return console.error("解析URL配置错误:",a),this.$message.error("URL配置错误","无法解析配置数据"),!1}}catch(t){return console.error("处理URL配置错误:",t),!1}},processSpecialSettings(t,e,a){var l,n;if(t.classNumber!==void 0){const o=S("server.classNumber");t.classNumber!==o&&(e.push({key:"server.classNumber",name:"班级",oldValue:o,newValue:t.classNumber,description:((l=Ne["server.classNumber"])==null?void 0:l.description)||"班级编号",icon:((n=Ne["server.classNumber"])==null?void 0:n.icon)||"mdi-account-group"}),a["server.classNumber"]=t.classNumber)}t.date!==void 0&&t.date!==this.state.dateString&&(e.push({key:"date",name:"日期",oldValue:this.state.dateString,newValue:t.date,description:"查看的日期",icon:"mdi-calendar"}),a.date=t.date),t.subjects&&Array.isArray(t.subjects)&&(e.push({key:"subjects",name:"科目列表",oldValue:`${this.state.availableSubjects.length}个科目`,newValue:`${t.subjects.length}个科目`,description:"可用科目列表",icon:"mdi-notebook"}),a.subjects=t.subjects)},processStandardSettings(t,e,a,l){Object.entries(t).forEach(([n,o])=>{if(["classNumber","date","subjects"].includes(n))return;let u=n,f=Ne[n];if(!f&&!n.includes(".")){const h=["server.","display.","theme.","edit.","refresh.","font.","randomPicker."];for(const d of h){const y=`${d}${n}`;if(Ne[y]){u=y,f=Ne[y];break}}}if(f){let h=this.convertValueToCorrectType(o,f.type);if(f.validate&&!f.validate(h)){console.warn(`URL配置项 ${u} 的值无效: ${o}`);return}const d=S(u);h!==d&&(e.push({key:u,name:this.getSettingDisplayName(u),oldValue:this.formatSettingValue(d),newValue:this.formatSettingValue(h),description:f.description||u,icon:f.icon||"mdi-cog"}),a[u]=h,l[u]=f.icon||"mdi-cog")}else e.push({key:n,name:this.getSettingDisplayName(n),oldValue:"未知",newValue:this.formatSettingValue(o),description:"自定义配置项",icon:"mdi-cog-outline"}),a[n]=o,l[n]="mdi-cog-outline"})},convertValueToCorrectType(t,e){return e==="boolean"?!!t:e==="number"?Number(t):String(t)},formatSettingValue(t){return typeof t=="boolean"?t?"开启":"关闭":t===""||t===null||t===void 0?"空":t.toString()},getSettingDisplayName(t){const e=t.split("."),a=e[e.length-1];return{provider:"数据提供方",domain:"服务器域名",classNumber:"班级编号",emptySubjectDisplay:"空科目显示方式",dynamicSort:"动态排序",showRandomButton:"随机按钮",showFullscreenButton:"全屏按钮",cardHoverEffect:"卡片悬浮效果",enhancedTouchMode:"增强触摸模式",showAntiScreenBurnCard:"防烧屏卡片",mode:"主题模式",size:"字体大小",autoSave:"自动保存",blockNonTodayAutoSave:"禁止自动保存非当日",refreshBeforeEdit:"编辑前刷新",confirmNonTodaySave:"非当日保存确认",auto:"自动刷新",interval:"刷新间隔"}[a]||a},safeBase64Decode(t){try{return _t.decode(t)}catch(e){throw console.error("Base64解码错误:",e),new Error("无法解码配置数据")}},applyUrlConfig(t){for(const[e,a]of Object.entries(t)){if(e==="date"){this.handleDateSelect(a);continue}if(e==="subjects"){this.state.availableSubjects=a;continue}de(e,a),e==="server.classNumber"&&(this.state.classNumber=a)}return this.updateBackendUrl(),this.$message.success("URL配置已应用","已从URL加载配置"),!0},navigateDay(t){const e=new Date(this.state.selectedDateObj);e.setDate(e.getDate()+t),this.handleDateSelect(e)},async copyHomeworkToToday(){if(!this.loading.copyToToday)try{this.loading.copyToToday=!0;const t=this.state.dateString,e=JSON.parse(JSON.stringify(this.state.boardData.homework)),a=this.getToday(),l=this.formatDate(a);this.state.dateString=l,await this.downloadData();const n={};for(const u in e)e[u]&&e[u].content&&(e[u].type==="custom"?n[u]=JSON.parse(JSON.stringify(e[u])):n[u]={content:e[u].content});this.state.boardData.homework=n,this.state.synced=!1,await this.uploadData(),this.state.selectedDate=l,this.state.selectedDateObj=a,this.state.isToday=!0;const o=new URL(window.location);o.searchParams.delete("date"),window.history.pushState({},"",o),this.$message.success("复制成功",`已将 ${t} 的作业内容复制到今天(已替换原有作业)`)}catch(t){console.error("复制作业失败:",t),this.$message.error("复制失败",t.message||"请重试")}finally{this.loading.copyToToday=!1}},parsePreconfigData(){try{const t=new URLSearchParams(window.location.search),e=t.get("namespace"),a=t.get("authCode")||t.get("auth_code"),l=t.get("autoExecute")||t.get("auto_execute");e&&(this.preconfigData.namespace=e,this.preconfigData.authCode=a,this.preconfigData.autoOpen=!0,this.preconfigData.autoExecute=this.parseBoolean(l),console.log("检测到预配数据:",{namespace:this.preconfigData.namespace,hasAuthCode:!!this.preconfigData.authCode,autoExecute:this.preconfigData.autoExecute}),this.cleanupUrlParams(["namespace","authCode","auth_code","autoExecute","auto_execute"]))}catch(t){console.error("解析预配数据失败:",t)}},parseBoolean(t){if(!t)return!1;const e=t.toLowerCase();return e==="true"||e==="1"||e==="yes"},cleanupUrlParams(t){try{const e=new URL(window.location);let a=!1;t.forEach(l=>{e.searchParams.has(l)&&(e.searchParams.delete(l),a=!0)}),a&&window.history.replaceState({},document.title,e.toString())}catch(e){console.error("清理URL参数失败:",e)}},async loadPersistentNotifications(){try{const t=await Z.loadData("notification-list");t&&Array.isArray(t)?this.persistentNotifications=t:t&&t.success!==!1&&Array.isArray(t.data)?this.persistentNotifications=t.data:this.persistentNotifications=[]}catch(t){console.error("加载常驻通知失败",t)}},showNotificationDetail(t){this.currentNotification=t,this.notificationDetailDialog=!0},async removePersistentNotification(t){this.persistentNotifications=this.persistentNotifications.filter(a=>a.id!==t);const e=this.persistentNotifications.length>0?this.persistentNotifications:{};await Z.saveData("notification-list",e),this.notificationDetailDialog=!1}}},Xo={key:2,class:"d-flex"},Zo={class:"text-h6 text-truncate font-weight-bold"},el={class:"text-h4 font-weight-medium mb-4",style:{"line-height":"1.5"}},tl={class:"text-subtitle-1 text-grey"},sl={class:"d-flex align-center flex-wrap"},nl={class:"text-subtitle-1"},il={class:"text-grey-darken-1"},al={class:"text-primary font-weight-medium"},ol={key:1,class:"text-center py-4 text-grey"};function ll(t,e,a,l,n,o){const u=jt,f=Bt,h=Ot,d=$t,y=Mt,I=zt,L=Ut,H=At,N=St,K=Vt,Q=Nt,ge=Be,pe=Et,te=Tt,se=pt;return m(),p(E,null,[s(cs,{class:"no-select"},{append:i(()=>[n.tokenDisplayInfo.readonly?(m(),b(O,{key:0,class:"mx-2",color:"warning","prepend-icon":"mdi-lock-alert",variant:"tonal"},{default:i(()=>[...e[29]||(e[29]=[c(" 只读 ",-1)])]),_:1})):w("",!0),n.tokenDisplayInfo.show?(m(),b(O,{key:1,style:re({cursor:n.tokenDisplayInfo.disabled?"default":"pointer"}),class:"mx-2",color:"primary","prepend-icon":"mdi-account",variant:"tonal",onClick:o.handleTokenChipClick},{default:i(()=>[c(g(n.tokenDisplayInfo.text),1)]),_:1},8,["style","onClick"])):w("",!0),o.shouldShowUrgentTestButton?(m(),b(k,{key:2,"prepend-icon":"mdi-chat",onClick:e[0]||(e[0]=C=>n.urgentTestDialog=!0),variant:"tonal"},{default:i(()=>[...e[30]||(e[30]=[c("发送通知",-1)])]),_:1})):w("",!0),s(k,{icon:"mdi-chat",variant:"text",onClick:e[1]||(e[1]=C=>n.isChatOpen=!0)}),s(k,{badge:o.unreadCount||void 0,"badge-color":o.unreadCount?"error":void 0,icon:"mdi-bell",variant:"text",onClick:e[2]||(e[2]=C=>t.$refs.messageLog.drawer=!0)},null,8,["badge","badge-color"]),s(k,{icon:"mdi-cog",variant:"text",onClick:e[3]||(e[3]=C=>t.$router.push("/settings"))})]),default:i(()=>[s(us,null,{default:i(()=>[c(g(o.titleText),1)]),_:1}),s(F)]),_:1}),o.shouldShowInit?(m(),b(u,{key:0,preconfig:n.preconfigData,onDone:e[4]||(e[4]=C=>n.settingsTick++)},null,8,["preconfig"])):w("",!0),o.shouldShowInit?w("",!0):(m(),b(f,{key:1,ref:"studentNameManager",onTokenInfoUpdated:o.updateTokenDisplayInfo},null,8,["onTokenInfoUpdated"])),o.shouldShowInit?w("",!0):(m(),p("div",Xo,[s(Dt,{class:"main-window flex-grow-1 no-select bloom-container",fluid:""},{default:i(()=>[n.persistentNotifications.length>0?(m(),b(ce,{key:0,class:"mb-4"},{default:i(()=>[s(ne,{cols:"12"},{default:i(()=>[(m(!0),p(E,null,U(n.persistentNotifications,C=>(m(),b(_,{key:C.id,color:C.isUrgent?"error":"primary",class:"mb-2 cursor-pointer",variant:"tonal",onClick:z=>o.showNotificationDetail(C)},{default:i(()=>[s(V,{class:"d-flex align-center py-3"},{default:i(()=>[r("span",Zo,g(C.message),1),s(F),s(k,{icon:"mdi-chevron-right",variant:"text"})]),_:2},1024)]),_:2},1032,["color","onClick"]))),128))]),_:1})]),_:1})):w("",!0),s(J,{modelValue:n.notificationDetailDialog,"onUpdate:modelValue":e[8]||(e[8]=C=>n.notificationDetailDialog=C),"max-width":"700",scrollable:""},{default:i(()=>[n.currentNotification?(m(),b(_,{key:0,class:"rounded-xl"},{default:i(()=>[s(j,{class:"d-flex align-center pa-4 text-h5"},{default:i(()=>[r("span",{class:he([n.currentNotification.isUrgent?"text-error":"","font-weight-bold"])},g(n.currentNotification.isUrgent?"强调通知":"通知详情"),3),s(F),s(k,{icon:"mdi-close",variant:"text",onClick:e[5]||(e[5]=C=>n.notificationDetailDialog=!1)})]),_:1}),s(ve),s(V,{class:"pa-6"},{default:i(()=>[r("div",el,g(n.currentNotification.message),1),r("div",tl," 发布时间:"+g(o.formatTime(n.currentNotification.timestamp)),1)]),_:1}),s(ve),s(X,{class:"pa-4"},{default:i(()=>[s(k,{color:"error","prepend-icon":"mdi-delete",size:"x-large",variant:"tonal",class:"px-6",onClick:e[6]||(e[6]=C=>o.removePersistentNotification(n.currentNotification.id))},{default:i(()=>[...e[31]||(e[31]=[c(" 删除通知 ",-1)])]),_:1}),s(F),s(k,{color:"primary",size:"x-large",variant:"elevated",class:"px-8",onClick:e[7]||(e[7]=C=>n.notificationDetailDialog=!1)},{default:i(()=>[...e[32]||(e[32]=[c(" 关闭 ",-1)])]),_:1})]),_:1})]),_:1})):w("",!0)]),_:1},8,["modelValue"]),s(h,{"sorted-items":o.sortedItems,"unused-subjects":o.unusedSubjects,"empty-subject-display":o.emptySubjectDisplay,"is-mobile":o.isMobile,"is-editing-disabled":o.isEditingDisabled,"content-style":n.state.contentStyle,"highlighted-cards":n.highlightedCards,onOpenDialog:o.openDialog,onOpenAttendance:o.setAttendanceArea,onDisabledClick:o.handleDisabledClick,onOpenExamDetail:o.openExamDetail},null,8,["sorted-items","unused-subjects","empty-subject-display","is-mobile","is-editing-disabled","content-style","highlighted-cards","onOpenDialog","onOpenAttendance","onDisabledClick","onOpenExamDetail"]),s(d,{synced:n.state.synced,"loading-upload":n.loading.upload,"show-random-picker-button":o.showRandomPickerButton,"show-exam-schedule-button":o.showExamScheduleButton,"show-list-card-button":o.showListCardButton,"show-fullscreen-button":o.showFullscreenButton,"is-fullscreen":n.state.isFullscreen,"show-anti-screen-burn-card":o.showAntiScreenBurnCard,"show-test-card-button":o.showTestCardButton,onUpload:o.manualUpload,onShowSyncMessage:o.showSyncMessage,onOpenRandomPicker:o.openRandomPicker,onToggleFullscreen:o.toggleFullscreen,onAddTestCard:o.addTestCard,onAddExamCard:e[9]||(e[9]=C=>n.showAddExamDialog=!0)},null,8,["synced","loading-upload","show-random-picker-button","show-exam-schedule-button","show-list-card-button","show-fullscreen-button","is-fullscreen","show-anti-screen-burn-card","show-test-card-button","onUpload","onShowSyncMessage","onOpenRandomPicker","onToggleFullscreen","onAddTestCard"]),s(y),n.upcomingExams.length>0&&!o.hasExamCard?(m(),b(_e,{key:1,class:"mt-4",color:"info",variant:"tonal",closable:"",icon:"mdi-calendar-clock",title:"近期有考试安排"},{append:i(()=>[s(k,{color:"primary",variant:"text",onClick:o.addAllUpcomingExams},{default:i(()=>[...e[34]||(e[34]=[c(" 一键添加 ",-1)])]),_:1},8,["onClick"])]),default:i(()=>[r("div",sl,[e[33]||(e[33]=r("span",{class:"mr-2"},"检测到未来两天内有以下考试:",-1)),(m(!0),p(E,null,U(n.upcomingExams,C=>(m(),b(O,{key:C.id,size:"small",class:"mr-1 mb-1",color:"primary"},{default:i(()=>[c(g(C.examName),1)]),_:2},1024))),128))])]),_:1})):w("",!0)]),_:1}),o.isMobile?w("",!0):(m(),b(I,{key:0,"student-list":n.state.studentList,attendance:n.state.boardData.attendance,"is-editing-disabled":o.isEditingDisabled,onClick:o.setAttendanceArea,onDisabledClick:o.handleDisabledClick},null,8,["student-list","attendance","is-editing-disabled","onClick","onDisabledClick"]))])),s(L,{modelValue:n.state.dialogVisible,"onUpdate:modelValue":e[10]||(e[10]=C=>n.state.dialogVisible=C),"auto-save":o.autoSave,"initial-content":n.state.textarea,title:n.state.dialogTitle,"is-editing-past-data":o.isEditingPastData,"current-date-string":n.state.dateString,onSave:o.handleHomeworkSave},null,8,["modelValue","auto-save","initial-content","title","is-editing-past-data","current-date-string","onSave"]),s(Zt,{modelValue:n.state.snackbar,"onUpdate:modelValue":e[11]||(e[11]=C=>n.state.snackbar=C),timeout:2e3},{default:i(()=>[c(g(n.state.snackbarText),1)]),_:1},8,["modelValue"]),s(H,{modelValue:n.state.attendanceDialog,"onUpdate:modelValue":e[12]||(e[12]=C=>n.state.attendanceDialog=C),"student-list":n.state.studentList,attendance:n.state.boardData.attendance,"date-string":n.state.dateString,onSave:o.saveAttendance,onChange:o.handleAttendanceChange},null,8,["modelValue","student-list","attendance","date-string","onSave","onChange"]),s(N,{ref:"messageLog"},null,512),s(K,{"is-today":o.isToday,loading:n.loading.download,"copy-to-today-loading":n.loading.copyToToday,"selected-date":n.state.selectedDateObj,"unread-count":o.unreadCount,onRefresh:o.downloadData,onZoom:o.zoom,onOpenMessages:e[13]||(e[13]=C=>t.$refs.messageLog.drawer=!0),onOpenSettings:e[14]||(e[14]=C=>t.$router.push("/settings")),onDateSelect:o.handleDateSelect,onPrevDay:e[15]||(e[15]=C=>o.navigateDay(-1)),onNextDay:e[16]||(e[16]=C=>o.navigateDay(1)),onCopyToToday:o.copyHomeworkToToday},null,8,["is-today","loading","copy-to-today-loading","selected-date","unread-count","onRefresh","onZoom","onDateSelect","onCopyToToday"]),s(Q),s(ge,{modelValue:n.isChatOpen,"onUpdate:modelValue":e[17]||(e[17]=C=>n.isChatOpen=C),"show-button":!1},null,8,["modelValue"]),s(pe,{modelValue:n.urgentTestDialog,"onUpdate:modelValue":e[18]||(e[18]=C=>n.urgentTestDialog=C)},null,8,["modelValue"]),s(J,{modelValue:n.confirmDialog.show,"onUpdate:modelValue":e[19]||(e[19]=C=>n.confirmDialog.show=C),"max-width":"400"},{default:i(()=>[s(_,null,{default:i(()=>[s(j,{class:"text-h6"},{default:i(()=>[...e[35]||(e[35]=[c(" 确认保存",-1)])]),_:1}),s(V,null,{default:i(()=>[c(" 您正在修改 "+g(n.state.dateString)+" 的数据,确定要保存吗? ",1)]),_:1}),s(X,null,{default:i(()=>[s(F),s(k,{color:"grey",variant:"text",onClick:n.confirmDialog.reject},{default:i(()=>[...e[36]||(e[36]=[c(" 取消 ",-1)])]),_:1},8,["onClick"]),s(k,{color:"primary",onClick:n.confirmDialog.resolve},{default:i(()=>[...e[37]||(e[37]=[c(" 确认保存",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),s(te,{ref:"randomPicker",attendance:n.state.boardData.attendance,"student-list":n.state.studentList},null,8,["attendance","student-list"]),s(J,{modelValue:n.urlConfigDialog.show,"onUpdate:modelValue":e[20]||(e[20]=C=>n.urlConfigDialog.show=C),"max-width":"500"},{default:i(()=>[s(_,null,{default:i(()=>[s(j,{class:"text-h6"},{default:i(()=>[...e[38]||(e[38]=[c(" 确认应用URL配置",-1)])]),_:1}),s(V,null,{default:i(()=>[e[39]||(e[39]=r("p",null,"以下配置将应用于当前班级:",-1)),s(we,{density:"compact"},{default:i(()=>[(m(!0),p(E,null,U(n.urlConfigDialog.changes,C=>(m(),b(Se,{key:C.key},{prepend:i(()=>[s(D,{icon:C.icon,class:"mr-2",size:"small"},null,8,["icon"])]),default:i(()=>[s(Pe,{class:"d-flex align-center"},{default:i(()=>[r("span",nl,g(C.name),1),s(Ze,{activator:"parent",location:"top"},{default:i(()=>[c(g(C.description||C.key),1)]),_:2},1024)]),_:2},1024),s(Fe,null,{default:i(()=>[r("span",il,g(C.oldValue),1),s(D,{class:"mx-1",icon:"mdi-arrow-right",size:"small"}),r("span",al,g(C.newValue),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1}),s(X,null,{default:i(()=>[s(F),s(k,{color:"grey",variant:"text",onClick:n.urlConfigDialog.cancelHandler},{default:i(()=>[...e[40]||(e[40]=[c(" 取消 ",-1)])]),_:1},8,["onClick"]),s(k,{color:"primary",onClick:n.urlConfigDialog.confirmHandler},{default:i(()=>[...e[41]||(e[41]=[c(" 确认应用 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),s(J,{modelValue:n.showExamDetailDialog,"onUpdate:modelValue":e[23]||(e[23]=C=>n.showExamDetailDialog=C),persistent:"",fullscreen:""},{default:i(()=>[n.selectedExamId?(m(),b(_,{key:0},{default:i(()=>[s(j,{class:"d-flex align-center pa-4"},{default:i(()=>[e[42]||(e[42]=c(" 编辑考试配置 ",-1)),s(F),s(k,{icon:"mdi-close",variant:"text",onClick:e[21]||(e[21]=C=>n.showExamDetailDialog=!1)})]),_:1}),s(V,{class:"pa-4",style:{"max-height":"70vh","overflow-y":"auto"}},{default:i(()=>[s(se,{"config-id":n.selectedExamId,"dialog-mode":!0,onSaved:o.onExamConfigSaved,onDeleted:o.onExamConfigDeleted},null,8,["config-id","onSaved","onDeleted"])]),_:1}),s(ve),s(X,{class:"pa-4"},{default:i(()=>[s(k,{color:"error","prepend-icon":"mdi-delete",variant:"tonal",onClick:o.removeCurrentExamCard},{default:i(()=>[...e[43]||(e[43]=[c(" 移除卡片 ",-1)])]),_:1},8,["onClick"]),s(F),s(k,{color:"primary",variant:"text",onClick:e[22]||(e[22]=C=>n.showExamDetailDialog=!1)},{default:i(()=>[...e[44]||(e[44]=[c(" 关闭 ",-1)])]),_:1})]),_:1})]),_:1})):w("",!0)]),_:1},8,["modelValue"]),s(J,{modelValue:n.showAddExamDialog,"onUpdate:modelValue":e[25]||(e[25]=C=>n.showAddExamDialog=C),"max-width":"500"},{default:i(()=>[s(_,null,{default:i(()=>[s(j,{class:"text-h6"},{default:i(()=>[...e[45]||(e[45]=[c("预览考试看板",-1)])]),_:1}),s(V,null,{default:i(()=>[l.examStore.examList.length>0?(m(),b(we,{key:0},{default:i(()=>[(m(!0),p(E,null,U(l.examStore.examList,C=>{var z;return m(),b(Se,{key:C.id,title:((z=l.examStore.exams[C.id])==null?void 0:z.examName)||C.id,subtitle:C.id,onClick:x=>o.addExamCard(C.id)},{prepend:i(()=>[s(D,{color:"primary"},{default:i(()=>[...e[46]||(e[46]=[c("mdi-calendar-text",-1)])]),_:1})]),append:i(()=>[s(k,{icon:o.isExamCardAdded(C.id)?"mdi-check":"mdi-plus",color:o.isExamCardAdded(C.id)?"success":"grey",variant:"text"},null,8,["icon","color"])]),_:2},1032,["title","subtitle","onClick"])}),128))]),_:1})):(m(),p("div",ol," 暂无考试配置 "))]),_:1}),s(X,null,{default:i(()=>[s(F),s(k,{color:"primary",variant:"text",onClick:e[24]||(e[24]=C=>n.showAddExamDialog=!1)},{default:i(()=>[...e[47]||(e[47]=[c("关闭",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),s(J,{modelValue:n.notificationDetailDialog,"onUpdate:modelValue":e[28]||(e[28]=C=>n.notificationDetailDialog=C),"max-width":"600"},{default:i(()=>[n.currentNotification?(m(),b(_,{key:0},{default:i(()=>[s(j,{class:he(["headline",n.currentNotification.isUrgent?"text-error":"text-primary"])},{default:i(()=>[c(g(n.currentNotification.isUrgent?"强调通知":"通知详情"),1)]),_:1},8,["class"]),s(V,{class:"text-h5 py-4"},{default:i(()=>[c(g(n.currentNotification.message),1)]),_:1}),s(X,null,{default:i(()=>[s(k,{color:"error",variant:"text",onClick:e[26]||(e[26]=C=>o.removePersistentNotification(n.currentNotification.id))},{default:i(()=>[...e[48]||(e[48]=[c("删除",-1)])]),_:1}),s(F),s(k,{color:"primary",onClick:e[27]||(e[27]=C=>n.notificationDetailDialog=!1)},{default:i(()=>[...e[49]||(e[49]=[c("关闭",-1)])]),_:1})]),_:1})]),_:1})):w("",!0)]),_:1},8,["modelValue"]),e[50]||(e[50]=r("br",null,null,-1)),e[51]||(e[51]=r("br",null,null,-1)),e[52]||(e[52]=r("br",null,null,-1))],64)}const Vl=W(Yo,[["render",ll]]);export{Vl as default}; diff --git a/assets/index-DBBDlRhV.css b/assets/index-DBBDlRhV.css deleted file mode 100644 index 22145ae..0000000 --- a/assets/index-DBBDlRhV.css +++ /dev/null @@ -1 +0,0 @@ -@charset "UTF-8";.random-picker-card[data-v-85e7eea6]{overflow:hidden}.counter-container[data-v-85e7eea6]{margin:2rem 0}.counter-btn[data-v-85e7eea6]{width:64px;height:64px;border-radius:50%}.count-display[data-v-85e7eea6]{min-width:100px;text-align:center}.start-btn[data-v-85e7eea6]{min-width:200px;height:64px;border-radius:32px;font-size:1.2rem}.filter-options-card[data-v-85e7eea6]{max-width:450px;margin:0 auto}.filter-chip[data-v-85e7eea6]{cursor:pointer;transition:all .2s ease}.filter-chip[data-v-85e7eea6]:active{transform:scale(.95)}.student-list-tooltip[data-v-85e7eea6]{max-height:200px;overflow-y:auto;margin-top:5px;font-size:.9em}.animation-container[data-v-85e7eea6]{min-height:300px;display:flex;flex-direction:column;justify-content:center;align-items:center}.animation-wrapper[data-v-85e7eea6]{width:100%;max-width:400px;margin:0 auto}.shuffle-container[data-v-85e7eea6]{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.student-item[data-v-85e7eea6]{padding:10px 15px;background-color:rgba(var(--v-theme-surface-variant),.7);border-radius:8px;transition:all .3s ease;font-size:1.2rem}.student-item.highlighted[data-v-85e7eea6]{background-color:rgb(var(--v-theme-primary));color:rgb(var(--v-theme-on-primary));transform:scale(1.1);font-weight:700;box-shadow:0 4px 8px #0003}.result-container[data-v-85e7eea6]{min-height:300px}.result-card[data-v-85e7eea6]{max-width:400px;margin:0 auto;transition:transform .3s ease}.result-card[data-v-85e7eea6]:hover{transform:translateY(-4px)}.result-card:hover .refresh-btn[data-v-85e7eea6]{opacity:1}.refresh-btn[data-v-85e7eea6]{opacity:.7;transition:opacity .3s ease}.refresh-btn[data-v-85e7eea6]:hover{opacity:1}@keyframes refresh-pulse-85e7eea6{0%{transform:scale(1);box-shadow:0 0 rgba(var(--v-theme-primary),.5)}50%{transform:scale(1.05);box-shadow:0 0 15px rgba(var(--v-theme-primary),.7)}to{transform:scale(1);box-shadow:0 0 rgba(var(--v-theme-primary),.5)}}.refresh-animation[data-v-85e7eea6]{animation:refresh-pulse-85e7eea6 .5s ease}.shuffle-enter-active[data-v-85e7eea6],.shuffle-leave-active[data-v-85e7eea6]{transition:all .5s ease}.shuffle-enter-from[data-v-85e7eea6],.shuffle-leave-to[data-v-85e7eea6]{opacity:0;transform:translateY(30px)}.shuffle-move[data-v-85e7eea6]{transition:transform .5s ease}@media (hover: none){.counter-btn[data-v-85e7eea6],.start-btn[data-v-85e7eea6]{min-height:72px}.student-item[data-v-85e7eea6]{padding:12px 20px;font-size:1.4rem}.refresh-btn[data-v-85e7eea6]{opacity:1;min-width:36px;min-height:36px}.filter-chip[data-v-85e7eea6]{min-height:40px;font-size:1rem}}.mode-switch-container .mode-toggle[data-v-85e7eea6]{border:1px solid rgba(var(--v-theme-primary),.2);border-radius:50px;padding:4px;box-shadow:0 2px 8px #0000001a}.mode-switch-container .mode-toggle .v-btn[data-v-85e7eea6]{min-width:120px;height:40px;font-weight:500;letter-spacing:.5px}.mode-switch-container .mode-toggle .v-btn.v-btn--active[data-v-85e7eea6]{transform:scale(1.02);font-weight:600}.number-range-container[data-v-85e7eea6]{max-width:300px;margin:0 auto;padding:16px;background:rgba(var(--v-theme-surface-variant),.1);border-radius:12px;border:1px solid rgba(var(--v-theme-primary),.1)}.number-range-container .number-input[data-v-85e7eea6]{width:100px}.number-range-container .number-input[data-v-85e7eea6] .v-field{border-radius:8px;box-shadow:0 2px 4px #0000000d}[data-v-6190a823] .v-dialog{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}[data-v-6190a823] .v-overlay__scrim{background:#000c!important}.urgent-notification-card[data-v-6190a823]{position:relative;animation:urgentPulse-6190a823 2s infinite,slideIn-6190a823 .5s ease-out;border:3px solid rgba(255,255,255,.3)}.close-btn[data-v-6190a823]{position:absolute;top:16px;right:16px;z-index:1}.urgency-icon[data-v-6190a823]{animation:iconPulse-6190a823 1.5s infinite;filter:drop-shadow(0 0 10px rgba(255,255,255,.5))}.urgent-title[data-v-6190a823]{font-size:2.5rem;font-weight:700;color:#fff;line-height:1.2}.urgent-subtitle[data-v-6190a823]{font-size:2rem;font-weight:700;color:#fff;line-height:1.2}.notification-content[data-v-6190a823]{font-size:1.4rem;color:#fffffff2;line-height:1.6;padding:0 20px}.sender-label[data-v-6190a823],.target-label[data-v-6190a823]{font-size:.9rem;color:#fffc;font-weight:600;text-transform:uppercase;letter-spacing:1px}.sender-details[data-v-6190a823],.target-devices[data-v-6190a823]{display:flex;flex-wrap:wrap;gap:8px}.actions[data-v-6190a823]{display:flex;justify-content:center;gap:16px}.navigation-controls[data-v-6190a823]{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.notification-counter[data-v-6190a823]{color:#fff;font-weight:600}.navigation-buttons[data-v-6190a823]{display:flex;justify-content:center;gap:8px}@keyframes urgentPulse-6190a823{0%,to{box-shadow:0 0 30px #ffffff4d}50%{box-shadow:0 0 50px #fff9}}@keyframes iconPulse-6190a823{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes slideIn-6190a823{0%{opacity:0;transform:translateY(-50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 600px){.urgent-title[data-v-6190a823]{font-size:2rem}.notification-content[data-v-6190a823]{font-size:1.2rem;padding:0 10px}.urgent-notification-card[data-v-6190a823]{width:95%!important;margin:20px}}.chat-toggle[data-v-1a62ac2a]{position:fixed;z-index:1100}.chat-panel[data-v-1a62ac2a]{position:fixed;z-index:1101}.chat-card[data-v-1a62ac2a]{width:100%;height:100%;display:flex;flex-direction:column}.chat-body[data-v-1a62ac2a]{padding:8px 12px;height:calc(100% - 120px)}.messages[data-v-1a62ac2a]{height:100%;overflow:auto}.message-row[data-v-1a62ac2a]{display:flex;align-items:flex-end;margin:8px 0}.message-row.self[data-v-1a62ac2a]{flex-direction:row-reverse}.message-row .avatar[data-v-1a62ac2a]{width:28px;display:flex;justify-content:center}.message-row .bubble[data-v-1a62ac2a]{max-width:70%;background:#ffffff0f;border-radius:10px;padding:6px 10px;margin:0 8px}.message-row.self .bubble[data-v-1a62ac2a]{background:#2196f326}.bubble .text[data-v-1a62ac2a]{white-space:pre-wrap;word-break:break-word}.bubble .meta[data-v-1a62ac2a]{font-size:12px;opacity:.6;margin-top:2px;text-align:right}.bubble .sender-name[data-v-1a62ac2a]{font-size:11px;color:#fffc;margin-bottom:2px;font-weight:500}.message-row.self .bubble .sender-name[data-v-1a62ac2a]{color:#2196f3cc}.device-name[data-v-1a62ac2a]{font-weight:500;opacity:.8}.divider-row[data-v-1a62ac2a]{text-align:center;color:#fff9;font-size:12px}.divider-text[data-v-1a62ac2a]{margin:4px 0}.chat-input[data-v-1a62ac2a]{padding:8px}.events-container[data-v-1a62ac2a]{height:100%;display:flex;flex-direction:column}.events-list[data-v-1a62ac2a]{flex-grow:1;overflow-y:auto;max-height:calc(100% - 120px)}.event-item[data-v-1a62ac2a]{transition:all .2s ease}.event-item[data-v-1a62ac2a]:hover{transform:translate(2px)}.event-content[data-v-1a62ac2a]{max-width:100%}.chat-content[data-v-1a62ac2a]{background:#0000000d;padding:4px 8px;border-radius:4px;word-break:break-word}.event-data[data-v-1a62ac2a]{background:#0000000d;padding:4px;border-radius:4px;font-size:10px;max-height:100px;overflow-y:auto;white-space:pre-wrap;word-break:break-all}.pagination[data-v-1a62ac2a]{display:flex;justify-content:center}.event-stats[data-v-1a62ac2a]{flex-shrink:0}.gap-1[data-v-c6850940]{gap:4px}.message-history-card .v-chip[data-v-c6850940]{margin:1px}.floating-icp-link[data-v-fa73670f]{position:fixed;right:4px;bottom:0;z-index:100;font-size:14px;font-weight:500;letter-spacing:.2px;color:#6b6b6b;text-decoration:none;background:transparent;border:none;box-shadow:none;transition:none!important}.floating-icp-link[data-v-fa73670f]:hover,.floating-icp-link[data-v-fa73670f]:focus,.floating-icp-link[data-v-fa73670f]:active{color:#414141;text-decoration:none;outline:none}@media (max-width: 600px){.floating-icp-link[data-v-fa73670f]{right:16px;bottom:0;font-size:14px}}.floating-toolbar-container[data-v-7076d3aa]{position:fixed;bottom:0;left:0;width:100%;height:0;z-index:100;display:flex;justify-content:center;pointer-events:none}.floating-toolbar[data-v-7076d3aa]{position:absolute;bottom:24px;left:50%;transform:translate(-50%);transition:all .3s cubic-bezier(.4,0,.2,1);background:#ffffffb3!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000001a!important;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;display:flex;align-items:center;justify-content:space-between;padding:0 4px;pointer-events:auto;will-change:transform}.floating-toolbar[data-v-7076d3aa]:hover{transform:translate(-50%) translateY(-4px);background:#fffc!important}.toolbar-buttons[data-v-7076d3aa]{display:flex;align-items:center}.toolbar-btn[data-v-7076d3aa]{margin:0 2px}.toolbar-btn[data-v-7076d3aa]:hover{background:#ffffff4d!important;transform:scale(1.05)}.toolbar-btn[data-v-7076d3aa]:active{transform:scale(.95)}.side-action-btn[data-v-7076d3aa]{position:absolute;bottom:24px;right:24px;pointer-events:auto;z-index:101;background:#ffffffe6!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2)}.date-picker-card[data-v-7076d3aa]{border-radius:16px;overflow:hidden;background:#ffffffe6!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2)}@media (max-width: 600px){.floating-toolbar[data-v-7076d3aa]{bottom:16px;width:auto;max-width:95%;padding:2px}.toolbar-buttons[data-v-7076d3aa]{width:100%;justify-content:space-around;padding:4px}.toolbar-btn[data-v-7076d3aa]{margin:0;min-width:40px}.side-action-btn[data-v-7076d3aa]{bottom:80px;right:16px}}@media (prefers-color-scheme: dark){.floating-toolbar[data-v-7076d3aa]{background:#1e1e1eb3!important;border:1px solid rgba(255,255,255,.1)}.floating-toolbar[data-v-7076d3aa]:hover{background:#1e1e1ecc!important}.toolbar-btn[data-v-7076d3aa]:hover{background:#ffffff1a!important}.date-picker-card[data-v-7076d3aa]{background:#1e1e1ee6!important;border:1px solid rgba(255,255,255,.1)}.side-action-btn[data-v-7076d3aa]{background:#1e1e1ee6!important;border:1px solid rgba(255,255,255,.1);color:#fff!important}}.gap-1[data-v-e18ba4e5]{gap:4px}.gap-2[data-v-e18ba4e5]{gap:8px}.template-buttons[data-v-af72d8a9]{display:flex;flex-direction:column;gap:12px}.book-chip[data-v-af72d8a9]{align-self:flex-start}.pages-container[data-v-af72d8a9]{display:flex;flex-wrap:wrap;gap:4px;padding-left:16px}.group-label[data-v-af72d8a9]{font-size:.875rem;color:#0009;margin-right:8px;white-space:nowrap}[data-v-af72d8a9] .v-chip{cursor:pointer;-webkit-user-select:none;user-select:none}.quick-tools[data-v-af72d8a9]{border-left:1px solid rgba(0,0,0,.12);padding-left:16px}.gap-1[data-v-af72d8a9]{gap:4px}.numeric-keypad[data-v-af72d8a9]{display:flex;flex-direction:column;gap:4px;padding:8px;border:1px solid rgba(0,0,0,.12);border-radius:4px}.keypad-row[data-v-af72d8a9]{display:flex;gap:4px}.keypad-btn[data-v-af72d8a9]{flex:1;min-width:36px!important}.space-btn[data-v-af72d8a9]{width:100%!important}.gap-1[data-v-33424f55]{gap:0px}.border-b-sm[data-v-33424f55]{border-bottom:1px solid rgba(0,0,0,.05)}.border-none[data-v-33424f55]{border-bottom:none}.hover-elevation[data-v-33424f55]{transition:box-shadow .2s}.hover-elevation[data-v-33424f55]:hover{box-shadow:0 4px 8px #0000001a!important}.hitokoto-card[data-v-de957b7d]{cursor:pointer;transition:all .3s ease}.hitokoto-card[data-v-de957b7d]:hover{transform:translateY(-2px)}.serif-font[data-v-de957b7d]{font-family:"Noto Serif SC","Source Han Serif SC","Source Han Serif",source-han-serif-sc,Songti SC,SimSun,Hiragino Sans GB,system-ui,serif}.time-card[data-v-725dbda6]{transition:all .3s ease;overflow:hidden}.time-card[data-v-725dbda6]:hover{transform:translateY(-2px)}.time-display[data-v-725dbda6]{font-family:JetBrains Mono,Fira Code,Cascadia Code,Consolas,monospace;white-space:nowrap}.seconds-text[data-v-725dbda6]{font-family:JetBrains Mono,Fira Code,Cascadia Code,Consolas,monospace}.date-line[data-v-725dbda6]{opacity:.75;letter-spacing:1px}.cursor-not-allowed[data-v-5f84fa28]{cursor:not-allowed!important}.cursor-pointer[data-v-5f84fa28]{cursor:pointer}.v-card.cursor-not-allowed[data-v-5f84fa28]:hover{transform:none!important}.auth-card[data-v-9e8d02e4]{max-width:100%;min-height:500px}.form-section[data-v-9e8d02e4]{max-width:600px;margin:0 auto}.v-btn[data-v-9e8d02e4]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.v-btn.v-btn--size-x-large[data-v-9e8d02e4]{min-height:60px}.guide-card[data-v-817c6e0e]{max-width:100%;min-height:500px}.step-content[data-v-817c6e0e]{min-height:400px;animation:fadeIn-817c6e0e .3s ease-in}@keyframes fadeIn-817c6e0e{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.button-group[data-v-817c6e0e]{max-width:600px;margin:0 auto}.step-item[data-v-817c6e0e]{cursor:default}.v-btn[data-v-817c6e0e]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.v-btn.v-btn--size-x-large[data-v-817c6e0e]{min-height:120px}.relationship-diagram[data-v-817c6e0e]{display:flex;justify-content:space-around;align-items:flex-start;gap:20px;flex-wrap:wrap}.diagram-item[data-v-817c6e0e]{flex:1;min-width:200px;max-width:300px}.diagram-connector[data-v-817c6e0e]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:100px}.diagram-description[data-v-817c6e0e]{text-align:center}@media (max-width: 768px){.relationship-diagram[data-v-817c6e0e]{flex-direction:column;align-items:center}.diagram-connector[data-v-817c6e0e]{transform:rotate(90deg);margin:20px 0}}.progressive-register-card[data-v-817c6e0e]{transition:all .3s ease;border:2px solid transparent!important}.progressive-register-card[data-v-817c6e0e]:hover{box-shadow:0 8px 24px #0000001f!important}.progressive-register-card .card-icon-wrapper[data-v-817c6e0e],.progressive-register-card .card-actions[data-v-817c6e0e]{flex-shrink:0}.progressive-register-card code[data-v-817c6e0e]{background:#0000001a;padding:2px 6px;border-radius:4px;font-family:Consolas,Monaco,Courier New,monospace}.log-box[data-v-817c6e0e]{height:140px;overflow:auto;background:#0000000a;border-radius:8px;padding:8px 12px}.log-line+.log-line[data-v-817c6e0e]{margin-top:4px}.device-code[data-v-817c6e0e]{background:#0000001a;padding:2px 6px;border-radius:4px;font-family:Consolas,Monaco,Courier New,monospace;font-size:.875rem}.init-overlay[data-v-cbfbc6db]{position:relative}.init-container[data-v-cbfbc6db]{max-width:900px;margin:24px auto;padding:8px 16px}.init-header .title[data-v-cbfbc6db]{font-size:28px;font-weight:700;text-align:left;margin-bottom:8px}.init-header .subtitle[data-v-cbfbc6db]{font-size:14px;opacity:.75;text-align:left}.main-card-row[data-v-cbfbc6db]{display:flex;flex-direction:column;gap:16px;margin-top:32px}.main-service-card[data-v-cbfbc6db]{min-height:100px;cursor:pointer;transition:all .3s ease}.main-service-card[data-v-cbfbc6db]:hover{box-shadow:0 4px 12px #00000026!important}.main-service-card .v-card-item[data-v-cbfbc6db]{padding:20px 24px}.card-horizontal-layout[data-v-cbfbc6db]{display:flex;align-items:center;gap:20px}.card-icon-wrapper[data-v-cbfbc6db]{flex-shrink:0}.card-content[data-v-cbfbc6db]{flex:1;text-align:left}.gradient-new[data-v-cbfbc6db]{background:linear-gradient(135deg,#2196f31f,#6750a414 60%);border:2px solid rgba(33,150,243,.2)}.gradient-registered[data-v-cbfbc6db]{background:linear-gradient(135deg,#4caf501f,#00b8d414 60%);border:2px solid rgba(76,175,80,.2)}.gradient-kv[data-v-cbfbc6db]{background:linear-gradient(135deg,#00b8d41f,#2196f314 60%);border:2px solid rgba(0,184,212,.2)}.alternative-options[data-v-cbfbc6db]{margin-top:40px;padding:20px;background:rgba(var(--v-theme-surface-variant),.3);border-radius:12px}.options-title[data-v-cbfbc6db]{font-size:14px;font-weight:600;opacity:.8;margin-bottom:12px;text-align:left}.options-buttons[data-v-cbfbc6db]{margin-top:24px;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-start}.clickable[data-v-cbfbc6db]{cursor:pointer}.footer-hint[data-v-cbfbc6db]{margin-top:24px;font-size:13px;opacity:.7;text-align:left}@media (max-width: 768px){.card-horizontal-layout[data-v-cbfbc6db]{gap:16px}.card-icon-wrapper .v-icon[data-v-cbfbc6db]{font-size:40px!important}.options-buttons[data-v-cbfbc6db]{flex-direction:column}.options-buttons .v-btn[data-v-cbfbc6db]{width:100%}}.v-list-item-title[data-v-52dc8ca5]{white-space:normal}.glow-effect{transition:box-shadow .3s ease-in-out,transform .3s ease-in-out}.glow-effect:hover{box-shadow:0 0 15px rgba(var(--v-theme-primary),.5);transform:translateY(-2px)}.glow-text{text-shadow:0 0 5px rgba(var(--v-theme-primary),.5)}.bloom-container .v-card{transition:box-shadow .3s ease}.bloom-container .v-card:hover{box-shadow:0 4px 20px #0000001a,0 0 15px rgba(var(--v-theme-primary),.3)!important}.bloom-container .v-btn{transition:box-shadow .3s ease}.bloom-container .v-btn:hover{box-shadow:0 0 10px rgba(var(--v-theme-primary),.4)}.glow-track{position:relative;overflow:hidden;transition:all .3s ease}.glow-track:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at var(--x, 50%) var(--y, 50%),rgba(255,255,255,.15) 0%,rgba(255,255,255,0) 70%);opacity:0;transition:opacity .3s;pointer-events:none;z-index:1}.glow-track:hover:before{opacity:1}.glow-highlight{animation:glow-pulse 3s ease-in-out;box-shadow:0 0 20px #2196f399,0 0 40px #2196f366,0 0 60px #2196f333!important}@keyframes glow-pulse{0%,to{box-shadow:0 0 20px #2196f399,0 0 40px #2196f366,0 0 60px #2196f333}50%{box-shadow:0 0 30px #2196f3cc,0 0 60px #2196f399,0 0 90px #2196f366}}.grid-item .v-card{transition:transform .3s ease,box-shadow .3s ease}.grid-item .v-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026!important}.grid-item .v-card:active{transform:translateY(-2px)}.empty-subject-card{transition:all .3s ease;opacity:.8}.empty-subject-card:hover{opacity:1;transform:translateY(-4px)}.anti-burn-card{animation:subtle-glow 4s infinite alternate;transition:all .3s ease}.anti-burn-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026!important}@keyframes subtle-glow{0%{box-shadow:0 0 5px #2196f31a}to{box-shadow:0 0 15px #2196f34d}}.grid-masonry{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:8px;grid-auto-flow:dense;grid-auto-rows:1px;align-items:start}.grid-item{width:100%;transition:all .2s ease}.empty-card{transform:scale(.9);opacity:.8;grid-row-end:span 1!important}.empty-card:hover{transform:scale(.95);opacity:1}.empty-subjects-container{display:flex;flex-wrap:wrap}@media (max-width: 1199px){.grid-masonry{grid-template-columns:repeat(2,1fr)}}@media (max-width: 799px){.grid-masonry{grid-template-columns:1fr}.empty-card{transform:scale(.95)}}.main-window::-webkit-scrollbar{width:8px}.main-window::-webkit-scrollbar-track{background:transparent}.main-window::-webkit-scrollbar-thumb{background-color:#0003;border-radius:4px}.main-window::-webkit-scrollbar-thumb:hover{background-color:#0000004d}.no-data-message{display:flex;justify-content:center;align-items:center;min-height:200px;margin:20px 0}.attendance-drawer{border-left:1px solid rgba(0,0,0,.12)}.attendance-drawer :deep(.v-navigation-drawer__content){overflow-y:auto}.attendance-drawer :deep(.v-navigation-drawer__content::-webkit-scrollbar){width:8px}.attendance-drawer :deep(.v-navigation-drawer__content::-webkit-scrollbar-track){background:transparent}.attendance-drawer :deep(.v-navigation-drawer__content::-webkit-scrollbar-thumb){background-color:#0003;border-radius:4px}.attendance-drawer :deep(.v-navigation-drawer__content::-webkit-scrollbar-thumb:hover){background-color:#0000004d}@media (max-width: 960px){.attendance-drawer{display:none}}.text-success{color:rgb(var(--v-theme-success))}.text-error{color:rgb(var(--v-theme-error))}.text-warning{color:rgb(var(--v-theme-warning))}.attendance-card{display:flex;flex-direction:column}.attendance-numbers{padding:20px 0}.total-number{border-bottom:1px solid rgba(0,0,0,.12);padding-bottom:20px}.status-number{flex:1}.text-h2,.text-h3{line-height:1.2}.empty-subjects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;padding:8px}.empty-subject-card{cursor:pointer;transition:all .2s ease;opacity:.8}.empty-subject-card:hover{transform:scale(1.02);opacity:1}.empty-subjects{border-top:1px solid rgba(0,0,0,.12);padding-top:1rem}.empty-subject-card:not(:disabled):hover{opacity:1;transform:scale(1.02)}.attendance-stat{height:100%}.suggestion-btn{margin:2px;min-width:0;padding:0 6px}.suggestion-btn:active{transform:scale(.95)}@media (hover: none){.student-card .attendance-actions{opacity:1}}@media (max-width: 600px){.student-card .attendance-actions .v-btn{margin:0 1px;min-width:28px;width:28px;height:28px}}.filter-chip{cursor:pointer;margin:2px}.filter-chip:active{transform:scale(.95)}.grid-item{transition:transform .4s cubic-bezier(.05,.7,.1,1),opacity .2s cubic-bezier(.2,0,0,1);will-change:transform,opacity;backface-visibility:hidden}.grid-item.v-enter-active{transition:transform .4s cubic-bezier(.05,.7,.1,1),opacity .25s cubic-bezier(.2,0,0,1)}.grid-item.v-move{transition:transform .4s cubic-bezier(.05,.7,.1,1);z-index:1}.grid-item.v-leave-active{position:absolute!important;transition:transform .3s cubic-bezier(.3,0,.8,.15),opacity .2s cubic-bezier(.3,0,1,1)}.grid-item.v-enter-from,.grid-item.v-leave-to{opacity:0;transform:scale(.95)}.empty-subject-card{transition:all .25s cubic-bezier(.2,0,0,1)}.empty-subject-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 4px 24px #0000001f}.v-list-enter-active{transition:all .4s cubic-bezier(.05,.7,.1,1)}.v-list-leave-active{transition:all .3s cubic-bezier(.3,0,.8,.15)}.v-list-enter-from,.v-list-leave-to{opacity:0;transform:translate(-24px)}.attendance-area h2,.attendance-area h3{transition:all .3s cubic-bezier(.2,0,0,1)}.v-card{transition:all .4s cubic-bezier(.05,.7,.1,1)}.v-card:active{transform:scale(.98);transition-duration:.1s}.v-card{touch-action:manipulation}.v-card:active{transform:scale(.99);transition-duration:80ms}@media (pointer: coarse){.v-card:before{margin:-8px}}.v-dialog:before{display:none!important}.v-dialog:before,.v-dialog:after{display:none!important}.v-dialog .v-card{transition:none}.v-dialog .v-card:active{transform:none}.v-dialog-transition-enter-active{transition:transform .4s cubic-bezier(.05,.7,.1,1),opacity .3s cubic-bezier(.2,0,0,1)}.v-dialog-transition-leave-active{transition:transform .25s cubic-bezier(.3,0,.8,.15),opacity .2s cubic-bezier(.3,0,1,1)}.v-btn{transition:background-color .25s cubic-bezier(.2,0,0,1),transform .15s cubic-bezier(.05,.7,.1,1);touch-action:manipulation;min-height:40px;min-width:40px}.v-btn:active{transform:scale(.98);transition-duration:80ms}@media (pointer: coarse){.v-btn{padding:8px 16px;margin:4px}.v-btn:before{margin:-8px}}.no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}.grid-enter-active,.grid-leave-active{transition:all .5s ease}.grid-enter-from{opacity:0;transform:translateY(20px)}.grid-leave-to{opacity:0;transform:translateY(-20px)}.v-list-enter-active,.v-list-leave-active{transition:all .3s ease}.v-list-enter-from{opacity:0;transform:translate(-20px)}.v-list-leave-to{opacity:0;transform:translate(20px)}.page-enter-active,.page-leave-active{transition:opacity .3s,transform .3s}.page-enter-from{opacity:0;transform:translateY(20px)}.page-leave-to{opacity:0;transform:translateY(-20px)}.fade-enter-active,.fade-leave-active{transition:opacity .3s}.fade-enter-from,.fade-leave-to{opacity:0}.scale-enter-active,.scale-leave-active{transition:all .3s}.scale-enter-from,.scale-leave-to{opacity:0;transform:scale(.9)}.hover-card{transition:transform .2s ease,box-shadow .3s ease;will-change:transform,box-shadow}.hover-card:hover,.hover-card:focus{transform:translateY(-4px);box-shadow:0 8px 16px #00000026!important}.hover-card:active{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a!important}.touch-button{min-height:48px;min-width:48px;border-radius:12px;padding:12px 24px}.touch-button.v-btn--icon{min-height:56px;min-width:56px}.ripple-enhanced{position:relative;overflow:hidden}.ripple-enhanced:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at var(--x, 50%) var(--y, 50%),rgba(255,255,255,.2) 0%,rgba(255,255,255,0) 60%);opacity:0;transition:opacity .5s;pointer-events:none}.ripple-enhanced:active:after{opacity:1;transition:opacity .2s}html{scroll-behavior:smooth}.v-app-bar{position:fixed!important}.touch-list-item{min-height:56px;padding:12px 16px}.large-touch-target{min-height:56px;min-width:56px}.fullscreen-mode .v-app-bar{background-color:rgba(var(--v-theme-surface-variant),.85)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.fullscreen-mode .main-window{padding-top:16px;padding-bottom:16px} diff --git a/assets/index-DQBDs7lF.js b/assets/index-DQBDs7lF.js new file mode 100644 index 0000000..451a325 --- /dev/null +++ b/assets/index-DQBDs7lF.js @@ -0,0 +1,6 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-Bqe1gKo7.js","./vendor-vuetify-ChAgIwn2.js","./vendor-vue-H0jQBZ7T.js","./index-CXKF55qP.css","./dataProvider-Dty8Zh7m.js","./vendor-utils-DDRLRfsI.js","./serverRotation-CLP7smnN.js","./MessageLog-Bk_BSM_5.js","./VAppBarTitle-CKv90Z6x.js","./VAppBarTitle-CczdD-Q2.css","./MessageLog-BGkFwivK.css","./RandomPicker-D9wYBCNM.js","./VTextField-B7edjjhw.js","./autofocus-Dh4QPNon.js","./autofocus-D1VSzmed.css","./VTooltip-UMclv3tZ.js","./VTooltip-DNuxJ6UK.css","./VChip-CPVASmWt.js","./VChip-Dmz_1Lnv.css","./RandomPicker-CFzd4pLS.css","./FloatingToolbar-Cgd04mIk.js","./VSheet-DHN9xqm_.js","./VSheet-DxsDksIw.css","./VDatePicker-CyfBxTLk.js","./VBadge-B7gMUs96.js","./VBadge-BGqjJnM0.css","./VDatePicker-X4Ryb5EN.css","./FloatingToolbar-DbFL4asY.css","./ChatWidget-BmQ7IWQ8.js","./socketClient-DM3fpE4o.js","./vendor-socket-CyTcV1HU.js","./soundList-BZnE47k0.js","./deviceEvents-BIvMKD-7.js","./VRow-C2iyFaHv.js","./VRow-D2ArqUC2.css","./VPagination-Dj4se6cS.js","./VPagination-BF2MZmld.css","./VTextarea-DiXZJMiq.js","./VTextarea-_xVwaw_z.css","./ChatWidget-DT8kwi-O.css","./HomeworkEditDialog-pWq_RaKu.js","./VAlert-b5nBlHgx.js","./VAlert-D_OX1cfW.css","./HomeworkEditDialog-BYeU7sR3.css","./InitServiceChooser-jlKUfspi.js","./VExpansionPanels-C1X8gcBr.js","./VExpansionPanels-kEj4ZJQK.css","./InitServiceChooser-CJilcHuq.css","./StudentNameManager-C1pk_k0J.js","./VAutocomplete-Buofo9XU.js","./VSelect-DC96rbwz.js","./VCheckboxBtn-nWqvYDIO.js","./VSwitch-C77LDPed.js","./VSwitch-C87GkfUP.css","./VSelect-DHZViySU.css","./VAutocomplete-Ygy_KjMW.css","./VCombobox-CmqRIcRE.js","./VCombobox-r6cc1Iy_.css","./StudentNameManager-tn0RQdqM.css","./UrgentTestDialog-UNAdXolu.js","./VContainer-BHAiZEWc.js","./VContainer-B1KSavhG.css","./VForm-CLdG1sH8.js","./VCheckbox-DHAqPlv1.js","./VCheckbox-ZL-u1kGB.css","./UrgentTestDialog-BdqUELUV.css","./AttendanceSidebar-Tp52ZTpl.js","./AttendanceManagementDialog-CIJpfYKx.js","./AttendanceManagementDialog-B_Clb251.css","./PwaInstallCard-DX5CpgAU.js","./ExamScheduleCard-B4npxxbW.js","./ExamScheduleCard-B03q7hf4.css","./ExamConfigEditor-sH7Cpbyw.js","./VSkeletonLoader-D5uB8vy5.js","./VSkeletonLoader-C11ZEozu.css","./ExamConfigEditor-DV8lOLSp.css"])))=>i.map(i=>d[i]); +import{_ as O,V as re,c as N,d as _,e as T,S as H,w as te,g as k,f as E,h as R,i as $,j as X,k as Z,l as v,n as le,o as V,p as j,q as M,r as Se,s as be,t as xe,v as se,x as F}from"./index-Bqe1gKo7.js";import{X as l,_ as g,j as i,N as A,S as m,a5 as Ce,a6 as _e,a7 as Te,Y as y,Z as r,k as f,F as b,a2 as C,n as U,$ as S,a1 as h,U as ae,e as Ee,a3 as x,a8 as I}from"./vendor-vue-H0jQBZ7T.js";import{d as L,a as Ie,k as Ne}from"./dataProvider-Dty8Zh7m.js";import{a as J,g as de}from"./vendor-utils-DDRLRfsI.js";import{V as z}from"./VChip-CPVASmWt.js";import{a0 as Q}from"./vendor-vuetify-ChAgIwn2.js";import{V as ce}from"./VContainer-BHAiZEWc.js";import{g as Ae,j as ne,o as Ve,a as oe,l as Re}from"./socketClient-DM3fpE4o.js";import{c as Oe}from"./deviceEvents-BIvMKD-7.js";import{V as Le,a as Pe}from"./VAppBarTitle-CKv90Z6x.js";import{V as ze,a as je}from"./VRow-C2iyFaHv.js";import{V as Me}from"./VAlert-b5nBlHgx.js";import{V as Ue}from"./VTooltip-UMclv3tZ.js";const Be={__name:"AsyncLoadingPlaceholder",props:{height:{type:String,default:"120px"}},setup(e){return(t,s)=>(l(),g("div",{class:"async-loading-placeholder d-flex justify-center align-center",style:A({minHeight:e.height})},[i(re,{indeterminate:"",color:"primary",size:"28",width:"2"})],4))}},K=O(Be,[["__scopeId","data-v-2d12e0c7"]]),Fe={name:"RelativeTimeDisplay",props:{time:{type:[String,Date,Number],required:!0}},computed:{displayTime(){if(!this.time)return"";const e=new Date(this.time),t=new Date,s=new Date(e.getFullYear(),e.getMonth(),e.getDate()),o=new Date(t.getFullYear(),t.getMonth(),t.getDate()),a=s.getTime()-o.getTime(),n=Math.round(a/(1e3*60*60*24));if(n===0)return"今天";if(n===1)return"明天";if(n===2)return"后天";if(n===-1)return"昨天";if(n===-2)return"前天";const c=o.getDay()||7,p=new Date(o);p.setDate(o.getDate()-c+1);const D=new Date(o);if(D.setDate(o.getDate()+(7-c)),s>=p&&s<=D)return["周日","周一","周二","周三","周四","周五","周六"][e.getDay()];const d=e.getMonth()+1,w=e.getDate();return`${d}月${w}日`}}};function He(e,t,s,o,a,n){return l(),g("span",null,m(n.displayTime),1)}const ue=O(Fe,[["render",He]]),ee=Ce("exam",{state:()=>({examList:[],exams:{},loadingList:!1,loadingDetails:{}}),actions:{async fetchExamList(){if(!this.loadingList){this.loadingList=!0;try{const e=await L.loadData("es_list");Array.isArray(e)?this.examList=e:this.examList=[]}catch(e){console.error("Failed to load exam list:",e)}finally{this.loadingList=!1}}},async fetchExam(e){if(this.exams[e])return this.exams[e];if(!this.loadingDetails[e]){this.loadingDetails[e]=!0;try{const t=await L.loadData(`es_${e}`);return t&&(this.exams[e]=t),t}catch(t){console.error(`Failed to load exam details for ${e}:`,t)}finally{this.loadingDetails[e]=!1}}},async getUpcomingExams(e=25){await this.fetchExamList();const t=[],s=new Date,o=new Date(s.getTime()+2*24*60*60*1e3),a=this.examList.slice(0,e);for(const n of a){let c=this.exams[n.id];c||(c=await this.fetchExam(n.id)),c&&c.examInfos&&Array.isArray(c.examInfos)&&c.examInfos.some(D=>{const d=new Date(D.start);return d>=s&&d<=o})&&t.push({id:n.id,...c})}return t}}}),$e={name:"ConciseExamCard",components:{RelativeTimeDisplay:ue},props:{examId:{type:String,required:!0},contentStyle:{type:Object,default:()=>({})},readonly:{type:Boolean,default:!1}},computed:{...Te(ee,["exams","loadingDetails"]),exam(){return this.exams[this.examId]},loading(){return this.loadingDetails[this.examId]},groupedExamInfos(){if(!this.exam||!this.exam.examInfos)return[];const e=[...this.exam.examInfos].sort((o,a)=>new Date(o.start)-new Date(a.start)),t=[];let s=null;return e.forEach(o=>{const n=new Date(o.start).toDateString();(!s||s.key!==n)&&(s={key:n,date:o.start,infos:[]},t.push(s)),s.infos.push(o)}),t}},mounted(){this.fetchExam(this.examId)},methods:{..._e(ee,["fetchExam"]),formatTimeOnly(e){if(!e)return"";try{const t=new Date(e),s=t.getHours().toString().padStart(2,"0"),o=t.getMinutes().toString().padStart(2,"0");return`${s}:${o}`}catch{return""}},isPast(e){return e?new Date(e)e.$emit("click"))},{default:r(()=>[i(N,{class:"d-flex align-center py-2 px-3 bg-primary-lighten-5 text-subtitle-1 font-weight-bold"},{default:r(()=>{var p;return[f("span",Ke,m(((p=n.exam)==null?void 0:p.examName)||"加载中..."),1)]}),_:1}),i(_,{class:"flex-grow-1 pa-4 overflow-y-auto",style:A(s.contentStyle)},{default:r(()=>[n.loading?(l(),g("div",We,[i(re,{indeterminate:"",size:"24",color:"primary"})])):n.exam?(l(),g("div",Ge,[(l(!0),g(b,null,C(n.groupedExamInfos,(p,D)=>(l(),g("div",{key:D,class:"mb-3"},[f("div",qe,[i(c,{time:p.date},null,8,["time"])]),(l(!0),g(b,null,C(p.infos,(d,w)=>(l(),g("div",{key:w,class:U(["d-flex align-center justify-space-between py-1 border-b-sm",{"border-none":w===p.infos.length-1,"text-grey":n.isPast(d.end)}])},[f("div",Je,m(d.name),1),f("div",Ye,m(n.formatTimeOnly(d.start))+" - "+m(n.formatTimeOnly(d.end)),1)],2))),128))]))),128))])):(l(),g("div",Xe,"无法加载"))]),_:1},8,["style"])]),_:1})}const he=O($e,[["render",Ze],["__scopeId","data-v-33424f55"]]),Qe=["6IO4","5Lmz","6JCd6I6J","5rer","5aW4"],et=Qe.map(e=>de.decode(e)),ie=.75,tt={name:"HitokotoCard",data(){return{enabled:!1,refreshInterval:60,kvConfig:{sources:["zhaoyu"],sensitiveWords:[]},sentence:"",author:"",origin:"",loading:!1,timer:null,unwatch:null,fontSize:28}},computed:{contentStyle(){return{"font-size":`${this.fontSize*ie}px`,"white-space":"pre-wrap","line-height":"1.6","text-align":"left"}},authorStyle(){return{"font-size":`${this.fontSize*ie*.6}px`,"text-align":"left"}}},async mounted(){this.loadLocalSettings(),await this.loadKvSettings(),this.fetchSentence(),this.startTimer(),this.unwatch=te(()=>{this.loadLocalSettings(),this.startTimer()})},beforeUnmount(){this.stopTimer(),this.unwatch&&this.unwatch()},methods:{loadLocalSettings(){this.enabled=H.getSetting("hitokoto.enabled"),this.refreshInterval=H.getSetting("hitokoto.refreshInterval"),this.fontSize=H.getSetting("font.size")},async loadKvSettings(){try{const e=await L.loadData("sentence-info");let t=e;e&&e.data&&(t=e.data),t&&(this.kvConfig={sources:Array.isArray(t.sources)&&t.sources.length>0?t.sources:["zhaoyu"],sensitiveWords:t.sensitiveWords?t.sensitiveWords.split(/[,,]/).map(s=>s.trim()).filter(s=>s):[],jinrishiciToken:t.jinrishiciToken})}catch(e){console.error("Failed to load sentence-info",e)}},startTimer(){this.timer&&clearInterval(this.timer),this.refreshInterval>0&&(this.timer=setInterval(this.fetchSentence,this.refreshInterval*1e3))},stopTimer(){this.timer&&clearInterval(this.timer)},async fetchSentence(){if(!this.loading){this.loading=!0;try{const e=this.kvConfig.sources,t=e[Math.floor(Math.random()*e.length)];let s=null,o="",a="",n="";if(t==="hitokoto")s=(await J.get("https://v1.hitokoto.cn/")).data,o=s.hitokoto,a=s.from_who,n=s.from;else if(t==="zhaoyu"){const c=await J.get("https://hub.saintic.com/openservice/sentence/all.json");c.data.success&&(s=c.data.data,o=s.sentence||s.content||s.name,a=s.author,n=s.name||s.origin)}else if(t==="jinrishici")if(this.kvConfig.jinrishiciToken){const c=await J.get("https://v2.jinrishici.com/one.json?client=npm-sdk/1.0&X-User-Token="+encodeURIComponent(this.kvConfig.jinrishiciToken),{});c.data.status==="success"&&(s=c.data.data,o=s.content,a=s.origin.author,n=s.origin.title)}else return console.warn("Jinrishici token missing. Please enable it in settings to generate a token."),this.loading=!1,this.fetchSentence();if(o){if([...et,...this.kvConfig.sensitiveWords].some(D=>D&&o.includes(D)))return this.loading=!1,this.fetchSentence();this.sentence=o,this.author=a||"",this.origin=n||"未知"}}catch(e){console.error("Failed to fetch sentence",e),this.sentence="获取失败",this.author="",this.origin=""}finally{this.loading=!1}}}}},st={key:0,class:"mr-2"},at={key:1};function nt(e,t,s,o,a,n){return l(),y(T,{class:"hitokoto-card",elevation:"2",border:"",rounded:"xl",loading:a.loading,height:"100%",onClick:n.fetchSentence},{default:r(()=>[i(_,{class:"pa-6 d-flex flex-column justify-center",style:{height:"100%"}},{default:r(()=>[f("div",{class:"font-weight-medium mb-4 serif-font",style:A(n.contentStyle)},m(a.sentence),5),f("div",{class:"text-medium-emphasis serif-font",style:A(n.authorStyle)},[a.author?(l(),g("span",st,m(a.author),1)):S("",!0),a.origin?(l(),g("span",at,"《"+m(a.origin)+"》",1)):S("",!0)],4)]),_:1})]),_:1},8,["loading","onClick"])}const me=O(tt,[["render",nt],["__scopeId","data-v-de957b7d"]]),ot=2,it=.9,rt=.6,lt={name:"TimeCard",data(){return{now:new Date,timer:null,unwatch:null,fontSize:28}},computed:{timeString(){const e=String(this.now.getHours()).padStart(2,"0"),t=String(this.now.getMinutes()).padStart(2,"0");return`${e}:${t}`},secondsString(){return`:${String(this.now.getSeconds()).padStart(2,"0")}`},dateString(){const e=this.now.getFullYear(),t=this.now.getMonth()+1,s=this.now.getDate();return`${e}年${t}月${s}日`},weekdayString(){return["星期日","星期一","星期二","星期三","星期四","星期五","星期六"][this.now.getDay()]},periodOfDay(){const e=this.now.getHours();return e<6?"凌晨":e<8?"早晨":e<11?"上午":e<13?"中午":e<17?"下午":e<19?"傍晚":e<22?"晚上":"深夜"},timeStyle(){return{"font-size":`${this.fontSize*ot}px`,"font-weight":"700","line-height":"1","letter-spacing":"4px","font-variant-numeric":"tabular-nums"}},secondsStyle(){return{"font-size":`${this.fontSize*it}px`,"font-variant-numeric":"tabular-nums","vertical-align":"baseline","margin-left":"4px",opacity:"0.6"}},dateStyle(){return{"font-size":`${this.fontSize*rt}px`,"letter-spacing":"1px"}}},mounted(){this.loadSettings(),this.startTimer(),this.unwatch=te(()=>{this.loadSettings()})},beforeUnmount(){this.stopTimer(),this.unwatch&&this.unwatch()},methods:{loadSettings(){this.fontSize=H.getSetting("font.size")},startTimer(){this.timer=setInterval(()=>{this.now=new Date},1e3)},stopTimer(){this.timer&&(clearInterval(this.timer),this.timer=null)}}};function dt(e,t,s,o,a,n){return l(),y(T,{class:"time-card",elevation:"2",border:"",rounded:"xl",height:"100%"},{default:r(()=>[i(_,{class:"pa-6 d-flex flex-column",style:{height:"100%"}},{default:r(()=>[f("div",{class:"time-display",style:A(n.timeStyle)},[h(m(n.timeString),1),f("span",{class:"seconds-text",style:A(n.secondsStyle)},m(n.secondsString),5)],4),f("div",{class:"date-line mt-3",style:A(n.dateStyle)},m(n.dateString)+" "+m(n.weekdayString)+" "+m(n.periodOfDay),5)]),_:1})]),_:1})}const fe=O(lt,[["render",dt],["__scopeId","data-v-725dbda6"]]),ct={name:"HomeworkGrid",computed:{settings(){return settings}},components:{HitokotoCard:me,TimeCard:fe,ConciseExamCard:he},props:{sortedItems:{type:Array,required:!0},unusedSubjects:{type:Array,required:!0},emptySubjectDisplay:{type:String,default:"button"},isMobile:{type:Boolean,default:!1},isEditingDisabled:{type:Boolean,default:!1},contentStyle:{type:Object,default:()=>({})},highlightedCards:{type:Object,default:()=>({})}},emits:["open-dialog","open-attendance","disabled-click"],data(){return{isReadOnlyToken:!1}},async mounted(){this.resizeObserver=new ResizeObserver(()=>{this.resizeAllGridItems()}),this.$refs.gridContainer&&this.resizeObserver.observe(this.$refs.gridContainer),this.$nextTick(()=>{this.resizeAllGridItems(),this.$refs.items&&this.$refs.items.forEach(e=>{e.firstElementChild&&this.resizeObserver.observe(e.firstElementChild)})}),await this.checkReadOnlyStatus()},updated(){this.$nextTick(()=>{this.resizeAllGridItems(),this.$refs.items&&this.$refs.items.forEach(e=>{e.firstElementChild&&this.resizeObserver.observe(e.firstElementChild)})})},beforeUnmount(){this.resizeObserver&&this.resizeObserver.disconnect()},methods:{getSetting:k,async checkReadOnlyStatus(){try{let e=null;if(this.$parent&&this.$parent.$refs&&this.$parent.$refs.studentNameManager?e=this.$parent.$refs.studentNameManager:this.$root&&this.$root.$refs&&this.$root.$refs.studentNameManager&&(e=this.$root.$refs.studentNameManager),e&&typeof e.isReadOnly<"u")this.isReadOnlyToken=e.isReadOnly;else{const{getSetting:t}=await E(async()=>{const{getSetting:o}=await import("./index-Bqe1gKo7.js").then(a=>a.aI);return{getSetting:o}},__vite__mapDeps([0,1,2,3]),import.meta.url),s=t("server.kvToken");if(s){const{default:o}=await E(async()=>{const{default:n}=await import("./dataProvider-Dty8Zh7m.js").then(c=>c.c);return{default:n}},__vite__mapDeps([4,5,0,1,2,3,6]),import.meta.url),a=t("server.domain");if(a)try{const n=await o.get(`${a}/kv/_token`,{headers:{Authorization:`Bearer ${s}`}});n.data&&typeof n.data.isReadOnly<"u"&&(this.isReadOnlyToken=n.data.isReadOnly)}catch(n){console.error("获取Token信息失败:",n)}}}}catch(e){console.error("检查只读状态失败:",e)}},resizeGridItem(e){const t=this.$refs.gridContainer;if(!t)return;const s=parseInt(window.getComputedStyle(t).getPropertyValue("grid-auto-rows")),o=parseInt(window.getComputedStyle(t).getPropertyValue("gap")),a=e.firstElementChild;if(!a)return;const n=a.getBoundingClientRect().height,c=Math.ceil((n+o)/(s+o));e.style.gridRowEnd=`span ${c}`},resizeAllGridItems(){const e=this.$refs.items;e&&e.forEach(t=>this.resizeGridItem(t))},handleCardClick(e,t){if(this.isEditingDisabled){this.$emit("disabled-click");return}e==="attendance"?this.$emit("open-attendance"):e==="dialog"&&this.$emit("open-dialog",t)},splitPoint(e){return e.split(` +`).filter(t=>t.trim())},handleMouseMove(e){const t=e.currentTarget,s=t.getBoundingClientRect(),o=(e.clientX-s.left)/s.width*100,a=(e.clientY-s.top)/s.height*100;t.style.setProperty("--x",`${o}%`),t.style.setProperty("--y",`${a}%`)},handleTouchMove(e){if(e.touches.length===1){const t=e.touches[0],s=e.currentTarget,o=s.getBoundingClientRect(),a=(t.clientX-o.left)/o.width*100,n=(t.clientY-o.top)/o.height*100;s.style.setProperty("--x",`${a}%`),s.style.setProperty("--y",`${n}%`)}}}},ut={ref:"gridContainer",class:"grid-masonry"},ht=["data-key"],mt={key:0,style:{height:"100%"}},ft={key:1,style:{height:"100%"}},gt={key:2,style:{height:"100%"}},yt={class:"d-flex justify-space-between align-center mb-2"},pt={class:"text-h6"},kt={key:0,class:"mb-2"},wt={class:"text-error text-caption mb-1"},vt={class:"d-flex flex-wrap",style:{gap:"4px"}},Dt={key:1,class:"mb-2"},St={class:"text-warning text-caption mb-1"},bt={class:"d-flex flex-wrap",style:{gap:"4px"}},xt={key:2,class:"mb-2"},Ct={class:"text-grey text-caption mb-1"},_t={class:"d-flex flex-wrap",style:{gap:"4px"}},Tt={key:3,class:"text-success text-center mt-2"},Et={class:"empty-subjects mt-4"},It={key:0,class:"d-flex flex-wrap justify-center"},Nt={key:2,class:"empty-subjects-grid"};function At(e,t,s,o,a,n){const c=fe,p=me,D=he;return l(),g(b,null,[f("div",ut,[i(ae,{name:"grid"},{default:r(()=>[(l(!0),g(b,null,C(s.sortedItems,d=>(l(),g("div",{key:d.key,ref_for:!0,ref:"items","data-key":d.key,style:A({order:d.order}),class:"grid-item"},[d.type==="time"?(l(),g("div",mt,[i(c)])):d.type==="hitokoto"?(l(),g("div",ft,[i(p)])):d.type==="exam"?(l(),g("div",gt,[i(D,{"exam-id":d.data.examId,"content-style":s.contentStyle,onClick:w=>e.$emit("open-exam-detail",d.data.examId)},null,8,["exam-id","content-style","onClick"])])):d.type==="attendance"?(l(),y(T,{key:3,class:U([{"glow-highlight":s.highlightedCards[d.key],"cursor-not-allowed":s.isEditingDisabled,"cursor-pointer":!s.isEditingDisabled},"glow-track"]),border:"",height:"100%",onClick:t[0]||(t[0]=w=>n.handleCardClick("attendance",null)),onMousemove:n.handleMouseMove,onTouchmove:n.handleTouchMove},{default:r(()=>[i(N,{class:"d-flex align-center"},{default:r(()=>[i(R,{class:"mr-2",color:"primary",icon:"mdi-account-group"}),t[1]||(t[1]=h(" 出勤统计 ",-1))]),_:1}),i(_,null,{default:r(()=>[f("div",yt,[t[2]||(t[2]=f("span",null,"应到/实到",-1)),f("span",pt,m(d.data.total-d.data.exclude.length)+"/"+m(d.data.total-d.data.absent.length-!n.getSetting("display.lateStudentsArePresent")*d.data.late.length-d.data.exclude.length),1)]),i($,{class:"mb-2"}),d.data.absent.length>0?(l(),g("div",kt,[f("div",wt,"请假 ("+m(d.data.absent.length)+")",1),f("div",vt,[(l(!0),g(b,null,C(d.data.absent,w=>(l(),y(z,{key:w,color:"error",size:"x-small",variant:"flat"},{default:r(()=>[h(m(w),1)]),_:2},1024))),128))])])):S("",!0),d.data.late.length>0?(l(),g("div",Dt,[f("div",St,"迟到 ("+m(d.data.late.length)+")",1),f("div",bt,[(l(!0),g(b,null,C(d.data.late,w=>(l(),y(z,{key:w,color:"warning",size:"x-small",variant:"flat"},{default:r(()=>[h(m(w),1)]),_:2},1024))),128))])])):S("",!0),d.data.exclude.length>0?(l(),g("div",xt,[f("div",Ct,"不参与 ("+m(d.data.exclude.length)+")",1),f("div",_t,[(l(!0),g(b,null,C(d.data.exclude,w=>(l(),y(z,{key:w,color:"grey",size:"x-small",variant:"flat"},{default:r(()=>[h(m(w),1)]),_:2},1024))),128))])])):S("",!0),d.data.absent.length===0&&d.data.late.length===0&&d.data.exclude.length===0?(l(),g("div",Tt," 全勤 ")):S("",!0)]),_:2},1024)]),_:2},1032,["class","onMousemove","onTouchmove"])):d.type==="custom"?(l(),y(T,{key:4,class:U([{"glow-highlight":s.highlightedCards[d.key],"cursor-not-allowed":s.isEditingDisabled,"cursor-pointer":!s.isEditingDisabled},"glow-track"]),border:"",height:"100%",onClick:w=>n.handleCardClick("dialog",d.key),onMousemove:n.handleMouseMove,onTouchmove:n.handleTouchMove},{default:r(()=>[i(N,{class:"text-primary"},{default:r(()=>[i(R,{class:"mr-2",icon:"mdi-card-text-outline",size:"small"}),h(" "+m(d.name),1)]),_:2},1024),i(_,{style:A(s.contentStyle)},{default:r(()=>[h(m(d.content),1)]),_:2},1032,["style"])]),_:2},1032,["class","onClick","onMousemove","onTouchmove"])):(l(),y(T,{key:5,class:U([{"glow-highlight":s.highlightedCards[d.key],"cursor-not-allowed":s.isEditingDisabled,"cursor-pointer":!s.isEditingDisabled},"glow-track"]),border:"",height:"100%",onClick:w=>n.handleCardClick("dialog",d.key),onMousemove:n.handleMouseMove,onTouchmove:n.handleTouchMove},{default:r(()=>[i(N,null,{default:r(()=>[h(m(d.name),1)]),_:2},1024),i(_,{style:A(s.contentStyle)},{default:r(()=>[i(X,null,{default:r(()=>[(l(!0),g(b,null,C(n.splitPoint(d.content),w=>(l(),y(Z,{key:w},{default:r(()=>[h(m(w),1)]),_:2},1024))),128))]),_:2},1024)]),_:2},1032,["style"])]),_:2},1032,["class","onClick","onMousemove","onTouchmove"]))],12,ht))),128))]),_:1})],512),f("div",Et,[s.isMobile?(l(),g("div",It,[(l(!0),g(b,null,C(s.unusedSubjects,d=>(l(),y(z,{key:d.name,class:"ma-1",color:"primary",variant:"tonal",onClick:w=>n.handleCardClick("dialog",d.name)},{default:r(()=>[i(R,{start:"",size:"small"},{default:r(()=>[h(m(a.isReadOnlyToken?"mdi-cancel":"mdi-plus"),1)]),_:1}),h(" "+m(d.name),1)]),_:2},1032,["onClick"]))),128))])):s.emptySubjectDisplay==="button"?(l(),y(le,{key:1,divided:"",variant:"tonal"},{default:r(()=>[(l(!0),g(b,null,C(s.unusedSubjects,d=>(l(),y(v,{key:d.name,onClick:w=>n.handleCardClick("dialog",d.name)},{default:r(()=>[i(R,{start:""},{default:r(()=>[h(m(a.isReadOnlyToken?"mdi-cancel":"mdi-plus"),1)]),_:1}),h(" "+m(d.name),1)]),_:2},1032,["onClick"]))),128))]),_:1})):(l(),g("div",Nt,[i(ae,{name:"v-list"},{default:r(()=>[(l(!0),g(b,null,C(s.unusedSubjects,d=>(l(),y(T,{key:d.name,border:"",class:"empty-subject-card",onClick:w=>n.handleCardClick("dialog",d.name)},{default:r(()=>[i(N,{class:"text-subtitle-1"},{default:r(()=>[h(m(d.name),1)]),_:2},1024),i(_,{class:"text-center"},{default:r(()=>[a.isReadOnlyToken?(l(),g(b,{key:0},[i(R,{color:"grey",size:"small"},{default:r(()=>[...t[3]||(t[3]=[h(" mdi-cancel ",-1)])]),_:1}),t[4]||(t[4]=f("div",{class:"text-caption text-grey"}," 当日无作业 ",-1))],64)):(l(),g(b,{key:1},[i(R,{color:"grey",size:"small"},{default:r(()=>[...t[5]||(t[5]=[h(" mdi-plus ",-1)])]),_:1}),t[6]||(t[6]=f("div",{class:"text-caption text-grey"}," 点击添加作业 ",-1))],64))]),_:1})]),_:2},1032,["onClick"]))),128))]),_:1})]))])],64)}const Vt=O(ct,[["render",At],["__scopeId","data-v-5f84fa28"]]),Rt={name:"HomeActions",props:{synced:Boolean,loadingUpload:Boolean,showRandomPickerButton:Boolean,showExamScheduleButton:Boolean,showListCardButton:Boolean,showFullscreenButton:Boolean,isFullscreen:Boolean,showAntiScreenBurnCard:Boolean,showTestCardButton:Boolean},emits:["upload","show-sync-message","open-random-picker","toggle-fullscreen","add-test-card"]},Ot={class:"d-flex flex-wrap align-center mt-4"};function Lt(e,t,s,o,a,n){return l(),g(b,null,[f("div",Ot,[s.synced?(l(),y(v,{key:1,color:"success",size:"large",onClick:t[1]||(t[1]=c=>e.$emit("show-sync-message"))},{default:r(()=>[...t[9]||(t[9]=[h(" 同步完成 ",-1)])]),_:1})):(l(),y(v,{key:0,loading:s.loadingUpload,class:"ml-2",color:"error",size:"large",onClick:t[0]||(t[0]=c=>e.$emit("upload"))},{default:r(()=>[...t[8]||(t[8]=[h(" 上传 ",-1)])]),_:1},8,["loading"])),s.showRandomPickerButton?(l(),y(v,{key:2,"append-icon":"mdi-dice-multiple",class:"ml-2",color:"amber","prepend-icon":"mdi-account-question",size:"large",onClick:t[2]||(t[2]=c=>e.$emit("open-random-picker"))},{default:r(()=>[...t[10]||(t[10]=[h(" 随机点名 ",-1)])]),_:1})):S("",!0),s.showExamScheduleButton?(l(),y(le,{key:3,class:"ml-2",color:"green",variant:"elevated",divided:""},{default:r(()=>[i(v,{"prepend-icon":"mdi-calendar-check",size:"large",onClick:t[3]||(t[3]=c=>e.$router.push("/examschedule"))},{default:r(()=>[...t[11]||(t[11]=[h(" 考试看板 ",-1)])]),_:1}),i(v,{icon:"mdi-plus",size:"large",onClick:t[4]||(t[4]=c=>e.$emit("add-exam-card"))})]),_:1})):S("",!0),s.showListCardButton?(l(),y(v,{key:4,class:"ml-2",color:"primary-darken-1","prepend-icon":"mdi-list-box",size:"large",onClick:t[5]||(t[5]=c=>e.$router.push("/list"))},{default:r(()=>[...t[12]||(t[12]=[h(" 列表 ",-1)])]),_:1})):S("",!0),s.showFullscreenButton?(l(),y(v,{key:5,color:s.isFullscreen?"blue-grey":"blue","prepend-icon":s.isFullscreen?"mdi-fullscreen-exit":"mdi-fullscreen",class:"ml-2",size:"large",onClick:t[6]||(t[6]=c=>e.$emit("toggle-fullscreen"))},{default:r(()=>[h(m(s.isFullscreen?"退出全屏":"全屏显示"),1)]),_:1},8,["color","prepend-icon"])):S("",!0),s.showTestCardButton?(l(),y(v,{key:6,class:"ml-2",color:"purple","prepend-icon":"mdi-test-tube",size:"large",onClick:t[7]||(t[7]=c=>e.$emit("add-test-card"))},{default:r(()=>[...t[13]||(t[13]=[h(" 添加测试卡片 ",-1)])]),_:1})):S("",!0)]),s.showAntiScreenBurnCard?(l(),y(T,{key:0,border:"",class:"mt-4 anti-burn-card",color:"primary",variant:"tonal"},{default:r(()=>[i(N,{class:"text-subtitle-1"},{default:r(()=>[i(R,{icon:"mdi-shield-check",size:"small",start:""}),t[14]||(t[14]=h(" 屏幕保护技术已启用 ",-1))]),_:1}),i(_,{class:"text-body-2"},{default:r(()=>[...t[15]||(t[15]=[f("p",null," 为防止OLED/LCD屏幕烧屏,界面元素会定期微调位置。 ",-1),f("p",{class:"text-caption text-grey"}," 此功能不会影响正常使用,仅在长时间静止显示时生效。 ",-1),f("p",{class:"text-caption text-grey"}," 建议在放学后关闭显示器以节约能源。 ",-1)])]),_:1})]),_:1})):S("",!0)],64)}const Pt=O(Rt,[["render",Lt]]),zt={name:"FloatingICP"},jt={"aria-label":"xICP备x号",class:"floating-icp-link",href:"https://beian.miit.gov.cn/",rel:"noopener noreferrer",target:"_blank",style:{display:"none"}};function Mt(e,t,s,o,a,n){return l(),g("a",jt," xICP备x号 ")}const Ut=O(zt,[["render",Mt],["__scopeId","data-v-fa73670f"]]),Bt={class:"skeleton-grid"},Ft={__name:"HomeSkeleton",setup(e){const{mobile:t}=Q(),s=Ee(()=>t.value?3:6);return(o,a)=>(l(),y(ce,{class:"main-window",fluid:""},{default:r(()=>[f("div",Bt,[(l(!0),g(b,null,C(s.value,n=>(l(),g("div",{key:n,class:"skeleton-card"},[...a[0]||(a[0]=[f("div",{class:"skeleton-heading skeleton-pulse"},null,-1),f("div",{class:"skeleton-line skeleton-pulse"},null,-1),f("div",{class:"skeleton-line skeleton-line--short skeleton-pulse"},null,-1)])]))),128))]),a[1]||(a[1]=f("div",{class:"d-flex justify-center mt-6 ga-3"},[f("div",{class:"skeleton-btn skeleton-pulse"}),f("div",{class:"skeleton-btn skeleton-pulse"})],-1))]),_:1}))}},Ht=O(Ft,[["__scopeId","data-v-ea69d8df"]]);function Y(e,t){let s=null;return function(...o){s&&clearTimeout(s),s=setTimeout(()=>{e.apply(this,o)},t)}}function $t(e,t){let s=null,o=0;return function(...a){const n=Date.now();n-o{o=n,e.apply(this,a)},t)):(o=n,e.apply(this,a))}}const Kt=I({loader:()=>E(()=>import("./MessageLog-Bk_BSM_5.js").then(e=>e.M),__vite__mapDeps([7,0,1,2,3,8,9,10]),import.meta.url),loadingComponent:K,delay:200}),Wt=I({loader:()=>E(()=>import("./RandomPicker-D9wYBCNM.js"),__vite__mapDeps([11,0,1,2,3,12,13,14,15,16,17,18,19]),import.meta.url),delay:0}),Gt=I({loader:()=>E(()=>import("./FloatingToolbar-Cgd04mIk.js"),__vite__mapDeps([20,0,1,2,3,21,22,23,24,25,26,27]),import.meta.url),delay:200}),qt=I({loader:()=>E(()=>import("./ChatWidget-BmQ7IWQ8.js").then(e=>e.C),__vite__mapDeps([28,29,30,0,1,2,3,6,31,17,18,32,24,25,15,16,33,34,35,36,37,13,14,38,39]),import.meta.url),delay:0}),Jt=I({loader:()=>E(()=>import("./HomeworkEditDialog-pWq_RaKu.js"),__vite__mapDeps([40,4,5,0,1,2,3,6,37,13,14,38,17,18,41,42,43]),import.meta.url),delay:0}),Yt=I({loader:()=>E(()=>import("./InitServiceChooser-jlKUfspi.js"),__vite__mapDeps([44,0,1,2,3,4,5,6,12,13,14,41,42,37,38,17,18,45,46,33,34,47]),import.meta.url),loadingComponent:K,delay:200}),Xt=I({loader:()=>E(()=>import("./StudentNameManager-C1pk_k0J.js"),__vite__mapDeps([48,0,1,2,3,4,5,6,49,13,14,50,12,21,22,51,52,53,17,18,54,55,56,57,41,42,58]),import.meta.url),delay:200}),Zt=I({loader:()=>E(()=>import("./UrgentTestDialog-UNAdXolu.js"),__vite__mapDeps([59,28,29,30,0,1,2,3,6,31,17,18,32,24,25,15,16,33,34,35,36,37,13,14,38,39,4,5,8,9,60,61,62,52,53,63,51,64,65]),import.meta.url),delay:0}),Qt=I({loader:()=>E(()=>import("./AttendanceSidebar-Tp52ZTpl.js"),__vite__mapDeps([66,0,1,2,3,33,34,58]),import.meta.url),loadingComponent:K,delay:200}),es=I({loader:()=>E(()=>import("./AttendanceManagementDialog-CIJpfYKx.js"),__vite__mapDeps([67,0,1,2,3,17,18,33,34,12,13,14,68]),import.meta.url),delay:0}),ts=I({loader:()=>E(()=>import("./PwaInstallCard-DX5CpgAU.js"),__vite__mapDeps([69,2,0,1,3,17,18]),import.meta.url),delay:200}),ss=I({loader:()=>E(()=>import("./ExamScheduleCard-B4npxxbW.js"),__vite__mapDeps([70,2,0,1,3,41,42,4,5,6,17,18,60,61,29,30,32,8,9,33,34,15,16,71]),import.meta.url),loadingComponent:K,delay:200}),as=I({loader:()=>E(()=>import("./ExamConfigEditor-sH7Cpbyw.js"),__vite__mapDeps([72,4,5,0,1,2,3,6,41,42,73,74,15,16,17,18,33,34,12,13,14,37,38,52,53,49,50,21,22,51,54,55,23,24,25,26,75]),import.meta.url),delay:0}),ns={name:"Classworks 作业板",components:{MessageLog:Kt,RandomPicker:Wt,FloatingToolbar:Gt,FloatingICP:Ut,HomeworkEditDialog:Jt,InitServiceChooser:Yt,ChatWidget:qt,StudentNameManager:Xt,UrgentTestDialog:Zt,AttendanceSidebar:Qt,AttendanceManagementDialog:es,HomeworkGrid:Vt,HomeActions:Pt,PwaInstallCard:ts,ExamScheduleCard:ss,ExamConfigEditor:as,HomeSkeleton:Ht},setup(){const{mobile:e}=Q(),t=ee();return{mobile:e,examStore:t}},data(){const e=[{name:"语文",order:0},{name:"数学",order:1},{name:"英语",order:2},{name:"物理",order:3},{name:"化学",order:4},{name:"生物",order:5},{name:"政治",order:6},{name:"历史",order:7},{name:"地理",order:8},{name:"其他",order:9}];return{showAddExamDialog:!1,showExamDetailDialog:!1,selectedExamId:null,upcomingExams:[],dataKey:"",provider:"",useDisplay:Q,state:{classNumber:"",namespaceInfo:null,deviceName:"",studentList:[],boardData:{homework:{},attendance:{absent:[],late:[],exclude:[]}},dialogVisible:!1,dialogTitle:"",textarea:"",dateString:"",synced:!1,attendDialogVisible:!1,contentStyle:{"font-size":`${k("font.size")}px`},uploadLoading:!1,downloadLoading:!1,snackbar:!1,snackbarText:"",fontSize:k("font.size"),datePickerDialog:!1,selectedDate:new Date().toISOString().split("T")[0].replace(/-/g,""),selectedDateObj:new Date,refreshInterval:null,showNoDataMessage:!1,noDataMessage:"",isToday:!1,attendanceDialog:!1,availableSubjects:e,isFullscreen:!1},loading:{download:!1,upload:!1,students:!1,copyToToday:!1},dataReady:!1,debouncedUpload:null,debouncedAttendanceSave:null,throttledReflow:null,sortedItemsCache:{key:"",value:[]},confirmDialog:{show:!1,resolve:null,reject:null},urlConfigDialog:{show:!1,config:null,changes:[],validSettings:{},confirmHandler:null,cancelHandler:null,icons:{}},settingsTick:0,isChatOpen:!1,highlightedCards:{},tokenDisplayInfo:{show:!1,readonly:!1,text:"",color:"primary",variant:"tonal",icon:"mdi-account",disabled:!1},realtimeInfo:{show:!1,time:"",key:""},$offKvChanged:null,$offConnect:null,debouncedRealtimeRefresh:null,preconfigData:{namespace:null,authCode:null,autoOpen:!1,autoExecute:!1},urgentTestDialog:!1,tokenInfo:null,persistentNotifications:[],notificationDetailDialog:!1,currentNotification:null}},computed:{isMobile(){return k("display.forceDesktopMode")?!1:this.mobile},titleText(){var c,p;const e=((p=(c=this.state.namespaceInfo)==null?void 0:c.device)==null?void 0:p.name)||this.state.classNumber||"高三八班",t=this.getToday(),s=new Date(t);s.setDate(s.getDate()-1);const o=this.state.dateString,a=this.formatDate(t),n=this.formatDate(s);return o===a?e+" - 今天的作业":o===n?e+" - 昨天的作业":`${e} - ${o}的作业`},sortedItems(){const e=[];this.isMobile&&e.push({key:"attendance-card",name:"出勤统计",type:"attendance",data:{total:this.state.studentList.length,absent:this.state.boardData.attendance.absent,late:this.state.boardData.attendance.late,exclude:this.state.boardData.attendance.exclude}});for(const t in this.state.boardData.homework)if(t.startsWith("exam-")){const s=this.state.boardData.homework[t];e.push({key:t,name:"考试安排",type:"exam",data:{examId:s.examId},order:-100,rowSpan:200})}for(const t of this.state.availableSubjects){const s=t.name,o=this.state.boardData.homework[s];if(o&&o.content){const n=100+o.content.split(` +`).filter(c=>c.trim()).length*24;e.push({key:s,name:s,type:"homework",content:o.content,order:t.order,rowSpan:n})}}k("timeCard.enabled")&&e.push({key:"time-card",name:"时间",type:"time",order:9997,rowSpan:150}),k("hitokoto.enabled")&&e.push({key:"hitokoto-card",name:"一言",type:"hitokoto",order:9998,rowSpan:150});for(const t in this.state.boardData.homework)if(t.startsWith("custom-")){const s=this.state.boardData.homework[t],a=100+s.content.split(` +`).filter(n=>n.trim()).length*24;e.push({key:t,name:s.name,type:"custom",content:s.content,order:9999,rowSpan:a})}return e.sort((t,s)=>t.order-s.order),e},unusedSubjects(){const e=Object.keys(this.state.boardData.homework).filter(t=>{var s;return(s=this.state.boardData.homework[t].content)==null?void 0:s.trim()});return this.state.availableSubjects.filter(t=>!e.includes(t.name)).sort((t,s)=>t.order-s.order)},emptySubjects(){return this.emptySubjectDisplay!=="button"?[]:this.unusedSubjects},autoSave(){return k("edit.autoSave")},blockNonTodayAutoSave(){return k("edit.blockNonTodayAutoSave")},isToday(){const e=(()=>{const t=new Date,s=t.getFullYear(),o=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0");return`${s}${o}${a}`})();return this.state.dateString===e},canAutoSave(){return this.autoSave&&(!this.blockNonTodayAutoSave||this.isToday)},needConfirmSave(){return!this.isToday&&this.confirmNonTodaySave},shouldShowBlockedMessage(){return!this.isToday&&this.autoSave&&this.blockNonTodayAutoSave},refreshBeforeEdit(){return k("edit.refreshBeforeEdit")},emptySubjectDisplay(){return k("display.emptySubjectDisplay")},dynamicSort(){return k("display.dynamicSort")},isEditingDisabled(){if(this.state.uploadLoading||this.state.downloadLoading)return!0;const e=this.$refs.studentNameManager;return!!(e!=null&&e.isReadOnly||!this.canEditCurrentDate)},unreadCount(){var e;return((e=this.$refs.messageLog)==null?void 0:e.unreadCount)||0},showRandomPickerButton(){return k("randomPicker.enabled")},showListCardButton(){return k("display.showListCard")},confirmNonTodaySave(){return k("edit.confirmNonTodaySave")},blockPastDataEdit(){return k("edit.blockPastDataEdit")},shouldShowSaveConfirm(){return!this.isToday&&this.confirmNonTodaySave},shouldBlockAutoSave(){return!this.isToday&&this.autoSave&&this.blockNonTodayAutoSave},canEditCurrentDate(){return this.isToday?!0:!this.blockPastDataEdit},isEditingPastData(){return!this.isToday},showFullscreenButton(){return k("display.showFullscreenButton")},showExamScheduleButton(){return k("display.showExamScheduleButton")},showAntiScreenBurnCard(){return k("display.showAntiScreenBurnCard")},showTestCardButton(){return k("developer.enabled")},shouldShowInit(){var a;const e=k("server.provider"),t=e==="kv-server"||e==="classworkscloud",s=k("server.kvToken"),o=((a=this.$route)==null?void 0:a.path)==="/";return this.settingsTick,o&&t&&(!s||s==="")},hasExamCard(){for(const e in this.state.boardData.homework)if(e.startsWith("exam-"))return!0;return!1},shouldShowUrgentTestButton(){const e=k("server.provider");return!(e==="kv-server"||e==="classworkscloud")||!k("server.kvToken")||!this.tokenInfo?!1:this.tokenInfo.deviceType==="teacher"||this.tokenInfo.deviceType==="classroom"},subjectOrder(){return[...this.state.availableSubjects].sort((e,t)=>e.order-t.order).map(e=>e.name)}},watch:{homeworkData:{handler(){this.$nextTick(()=>{this.$refs.waterfall&&this.$refs.waterfall.reflow()})},deep:!0},"$vuetify.display.width":{handler(){this.throttledReflow()},deep:!0},"state.attendanceDialog":{handler(e){this.handleAttendanceDialogClose(e)}}},created(){this.debouncedUpload=Y(this.uploadData,2e3),this.debouncedAttendanceSave=Y(async()=>{this.autoSave&&await this.trySave(!0)},2e3),this.throttledReflow=$t(()=>{this.$refs.gridContainer&&this.optimizeGridLayout(this.sortedItems)},200)},async mounted(){try{this.updateBackendUrl(),await this.initializeData(),this.dataReady=!0,await this.loadDeviceInfo(),this.setupAutoRefresh(),this.unwatchSettings=te(()=>{this.updateSettings()}),this.$nextTick(()=>{const e=this.$refs.studentNameManager;e&&(this.studentNameInfo.name=e.currentStudentName||e.currentTeacherName||"",this.studentNameInfo.isStudent=e.isStudentToken,this.studentNameInfo.isTeacher=e.isTeacherToken,this.studentNameInfo.openDialog=()=>e.openDialog(),this.$watch(()=>e.currentStudentName,t=>{this.studentNameInfo.name=t,this.updateTokenDisplayInfo()}),this.$watch(()=>e.currentTeacherName,t=>{e.isTeacherToken&&(this.studentNameInfo.name=t,this.updateTokenDisplayInfo())}),this.$watch(()=>e.isStudentToken,t=>{this.studentNameInfo.isStudent=t,this.updateTokenDisplayInfo()}),this.$watch(()=>e.isTeacherToken,t=>{this.studentNameInfo.isTeacher=t,this.updateTokenDisplayInfo()}))}),document.addEventListener("fullscreenchange",this.fullscreenChangeHandler),document.addEventListener("webkitfullscreenchange",this.fullscreenChangeHandler),document.addEventListener("mozfullscreenchange",this.fullscreenChangeHandler),document.addEventListener("MSFullscreenChange",this.fullscreenChangeHandler),this.checkHashForRandomPicker(),window.addEventListener("hashchange",this.checkHashForRandomPicker),this.setupRealtimeChannel(),this.$nextTick(()=>{this.updateTokenDisplayInfo()}),await this.loadTokenInfo(),this.loadPersistentNotifications()}catch(e){console.error("初始化失败:",e),this.showError("初始化失败,请刷新页面重试")}},beforeUnmount(){this.unwatchSettings&&this.unwatchSettings(),this.state.refreshInterval&&clearInterval(this.state.refreshInterval),document.removeEventListener("fullscreenchange",this.fullscreenChangeHandler),document.removeEventListener("webkitfullscreenchange",this.fullscreenChangeHandler),document.removeEventListener("mozfullscreenchange",this.fullscreenChangeHandler),document.removeEventListener("MSFullscreenChange",this.fullscreenChangeHandler),window.removeEventListener("hashchange",this.checkHashForRandomPicker);try{this.$offKvChanged&&typeof this.$offKvChanged=="function"&&(this.$offKvChanged(),this.$offKvChanged=null),this.$offDeviceEvent&&typeof this.$offDeviceEvent=="function"&&(this.$offDeviceEvent(),this.$offDeviceEvent=null),this.$offConnect&&typeof this.$offConnect=="function"&&(this.$offConnect(),this.$offConnect=null),Re()}catch(e){console.warn("主页面事件清理失败:",e)}},methods:{async loadDeviceInfo(){var e;try{const t=k("server.provider");if(!(t==="kv-server"||t==="classworkscloud"))return;const o=await Ne.loadNamespaceInfo();if(o&&o.success===!1)return;this.state.namespaceInfo=o||null,this.state.deviceName=((e=o==null?void 0:o.account)==null?void 0:e.deviceName)||""}catch(t){console.warn("加载设备信息失败:",t)}},async loadTokenInfo(){try{const e=k("server.provider");if(!(e==="kv-server"||e==="classworkscloud"))return;const s=k("server.kvToken");if(!s)return;const o=k("server.domain");if(!o)return;const a=await Ie.get(`${o}/kv/_token`,{headers:{Authorization:`Bearer ${s}`}});this.tokenInfo=a.data,console.log("Token info loaded:",this.tokenInfo)}catch(e){console.warn("Failed to load token info:",e),this.tokenInfo=null}},updateTokenDisplayInfo(){const e=this.$refs.studentNameManager;if(!e||!e.hasToken){this.tokenDisplayInfo.show=!1,this.tokenDisplayInfo.readonly=!1;return}const t=e.displayName,s=e.isReadOnly,o=e.isStudentToken,a=e.isTeacherToken;if(this.tokenDisplayInfo.readonly=s,!o&&!a){this.tokenDisplayInfo.show=!1;return}this.tokenDisplayInfo.text=t,this.tokenDisplayInfo.color="primary",this.tokenDisplayInfo.icon=a?"mdi-school":"mdi-account",this.tokenDisplayInfo.disabled=s,this.tokenDisplayInfo.show=!0},handleTokenChipClick(){console.log("Token chip clicked");const e=this.$refs.studentNameManager;console.log("Manager:",e),console.log("Is student token:",e==null?void 0:e.isStudentToken),console.log("Is teacher token:",e==null?void 0:e.isTeacherToken),e&&(e.isStudentToken||e.isTeacherToken)?(console.log("Opening dialog..."),e.openDialog()):console.log("Cannot open dialog - conditions not met")},ensureDate(e){if(e instanceof Date)return e;if(typeof e=="string"){const t=new Date(e);if(!isNaN(t.getTime()))return t}return new Date},formatDate(e){const t=this.ensureDate(e),s=t.getFullYear(),o=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0");return`${s}${o}${a}`},formatTime(e){return e?new Date(e).toLocaleString():""},getToday(){return new Date},async initializeData(){this.parsePreconfigData();const e=await this.parseUrlConfig(),s=new URLSearchParams(window.location.search).get("date"),o=this.getToday();let a=o;if(s){if(/^\d{8}$/.test(s)){const n=s.substring(0,4),c=s.substring(4,6),p=s.substring(6,8);a=new Date(`${n}-${c}-${p}`)}else a=new Date(s);isNaN(a.getTime())&&(a=o)}if(this.state.dateString=this.formatDate(a),this.state.selectedDate=this.state.dateString,this.state.selectedDateObj=a,this.state.isToday=this.formatDate(a)===this.formatDate(o),!e){this.provider=k("server.provider");const n=k("server.classNumber");this.state.classNumber=n}await Promise.all([this.downloadData(),this.loadConfig()]),await this.examStore.fetchExamList();for(const n of this.examStore.examList)this.examStore.fetchExam(n.id);this.checkUpcomingExams()},async checkUpcomingExams(){this.upcomingExams=await this.examStore.getUpcomingExams()},loadExamCards(){},saveExamCards(){},addExamCard(e,t=!1,s=!1){const o=`exam-${e}`;!t&&this.state.boardData.homework[o]?delete this.state.boardData.homework[o]:this.state.boardData.homework[o]={type:"exam",examId:e,name:"考试安排",content:""},this.state.synced=!1,s||this.trySave(!0)},openExamDetail(e){this.selectedExamId=e,this.showExamDetailDialog=!0},removeCurrentExamCard(){this.selectedExamId&&(this.addExamCard(this.selectedExamId),this.showExamDetailDialog=!1)},async onExamConfigSaved(){this.selectedExamId&&(delete this.examStore.exams[this.selectedExamId],await this.examStore.fetchExam(this.selectedExamId),this.$message.success("保存成功","考试配置已更新"))},onExamConfigDeleted(){this.removeCurrentExamCard(),this.$message.success("删除成功","考试配置已删除")},isExamCardAdded(e){return!!this.state.boardData.homework[`exam-${e}`]},removeExamCard(e){},addAllUpcomingExams(){let e=0;for(const t of this.upcomingExams)this.isExamCardAdded(t.id)||(this.addExamCard(t.id,!0,!0),e++);e>0?(this.trySave(!0),this.$message.success("添加成功",`已添加 ${e} 个考试安排`)):this.$message.info("提示","所有考试已添加")},async downloadData(e=!1){var t,s,o;if(!this.loading.download)try{this.loading.download=!0;const a=await L.loadData("classworks-data-"+this.state.dateString);if(a.success==!1)if(a.error.code==="NOT_FOUND")this.state.showNoDataMessage=!0,this.state.noDataMessage=a.error.message,(e||!this.state.boardData||!this.state.boardData.homework&&!this.state.boardData.attendance)&&(this.state.boardData={homework:{},attendance:{absent:[],late:[],exclude:[]}});else throw new Error(a.error.message);else this.state.boardData={homework:a.homework||{},attendance:{absent:((t=a.attendance)==null?void 0:t.absent)||[],late:((s=a.attendance)==null?void 0:s.late)||[],exclude:((o=a.attendance)==null?void 0:o.exclude)||[]}},this.state.synced=!0,this.state.showNoDataMessage=!1,this.$message.success("下载成功","数据已更新")}catch(a){console.error("数据加载失败:",a),this.$message.error("下载失败",a.message),(e||!this.state.boardData||!this.state.boardData.homework&&!this.state.boardData.attendance)&&(this.state.boardData={homework:{},attendance:{absent:[],late:[],exclude:[]}})}finally{this.loading.download=!1}},async trySave(e=!1){if(e&&!this.canAutoSave)return this.shouldShowBlockedMessage&&this.showMessage("需要手动保存","已禁止自动保存非当天数据","warning"),!1;if(!e&&this.needConfirmSave)try{await this.showConfirmDialog()}catch{return!1}try{return await this.uploadData(),!0}catch(t){return this.$message.error("保存失败",t.message||"请重试"),!1}},async handleClose(){var s;if(!this.currentEditSubject)return;const e=this.state.textarea.trim(),t=((s=this.state.boardData.homework[this.currentEditSubject])==null?void 0:s.content)||"";if(e!==t.trim()){if(!e&&this.currentEditSubject.startsWith("custom-")){delete this.state.boardData.homework[this.currentEditSubject],this.state.synced=!1,this.autoSave&&await this.trySave(!0),this.state.dialogVisible=!1;return}this.state.boardData.homework[this.currentEditSubject].type==="custom"?this.state.boardData.homework[this.currentEditSubject].content=e:this.state.boardData.homework[this.currentEditSubject]={content:e},this.state.synced=!1,this.autoSave&&await this.trySave(!0)}this.state.dialogVisible=!1},async uploadData(){if(!this.loading.upload)try{this.loading.upload=!0;const e=await L.saveData("classworks-data-"+this.state.dateString,this.state.boardData);if(e.success==!1)throw new Error(e.error.message);this.state.synced=!0,this.$message.success(e.message||"保存成功")}finally{this.loading.upload=!1}},async loadConfig(){try{try{const e=await L.loadData("classworks-list-main");e.success!=!1&&Array.isArray(e)&&(this.state.studentList=e.map(t=>t.name))}catch(e){console.warn("Failed to load student list from dedicated key, falling back to config",e)}await this.loadSubjects()}catch(e){console.error("加载配置失败:",e),this.$message.error("加载配置失败",e.message)}},async loadSubjects(){try{const e=await L.loadData("classworks-config-subject");e&&Array.isArray(e)&&(this.state.availableSubjects=e)}catch(e){console.warn("Failed to load subject configuration:",e)}},showSyncMessage(){this.$message.success("数据已同步","数据已完成与服务器同步")},async openDialog(e){var t;if(this.isEditingDisabled){const s=this.$refs.studentNameManager;s!=null&&s.isReadOnly?this.$message.warning("无法编辑","当前使用的是只读令牌"):this.canEditCurrentDate?this.$message.warning("无法编辑","数据加载中,请稍候"):this.$message.warning("无法编辑","已禁止编辑过往数据");return}if(e.startsWith("custom-")){this.currentEditSubject=e,this.state.dialogTitle=this.state.boardData.homework[e].name,this.state.textarea=this.state.boardData.homework[e].content,this.state.dialogVisible=!0;return}if(this.refreshBeforeEdit)try{await this.downloadData()}catch(s){console.error("刷新数据失败:",s),this.$message.error("刷新数据失败,可能显示的不是最新数据")}this.currentEditSubject=e,this.state.boardData.homework[e]||(this.state.boardData.homework[e]={content:""}),this.state.dialogTitle=((t=this.state.availableSubjects.find(s=>s.name===e))==null?void 0:t.name)||e,this.state.textarea=this.state.boardData.homework[e].content,this.state.dialogVisible=!0},async handleHomeworkSave(e){this.currentEditSubject&&(this.state.boardData.homework[this.currentEditSubject].type==="custom"?this.state.boardData.homework[this.currentEditSubject].content=e:this.state.boardData.homework[this.currentEditSubject]={content:e},this.state.synced=!1,this.autoSave&&await this.trySave(!0))},setAttendanceArea(){if(this.isEditingDisabled){this.handleDisabledClick();return}this.state.attendanceDialog=!0},handleDisabledClick(){const e=this.$refs.studentNameManager;e!=null&&e.isReadOnly?this.$message.warning("无法编辑","当前使用的是只读令牌"):this.canEditCurrentDate?this.$message.warning("无法编辑","数据加载中,请稍候"):this.$message.warning("无法编辑","已禁止编辑过往数据")},zoom(e){e==="up"&&this.state.fontSize<100?this.state.fontSize+=2:e==="out"&&this.state.fontSize>16&&(this.state.fontSize-=2),this.state.contentStyle={"font-size":`${this.state.fontSize}px`},se("font.size",this.state.fontSize)},updateBackendUrl(){const e=k("server.provider"),t=k("server.classNumber");this.provider=e,this.state.classNumber=t},setupAutoRefresh(){const e=k("refresh.auto"),t=k("refresh.interval");this.state.refreshInterval&&clearInterval(this.state.refreshInterval),e&&(this.state.refreshInterval=setInterval(()=>{this.shouldSkipRefresh()||(this.downloadData(),this.loadPersistentNotifications())},t*1e3))},shouldSkipRefresh(){return!!(this.state.dialogVisible||this.state.attendanceDialog||this.confirmDialog.show||this.state.datePickerDialog||this.loading.upload||this.loading.download||!this.state.synced)},updateSettings(){this.state.fontSize=k("font.size"),this.state.contentStyle={"font-size":`${this.state.fontSize}px`},this.setupAutoRefresh(),this.updateBackendUrl(),this.loadDeviceInfo(),this.loadTokenInfo(),this.settingsTick++},async handleDateSelect(e){if(e)try{const t=this.ensureDate(e),s=this.formatDate(t);if(s===this.state.dateString)return;this.state.dateString=s,this.state.selectedDate=s,this.state.selectedDateObj=t,this.state.isToday=s===this.formatDate(this.getToday()),await Promise.all([this.downloadData(!0),this.loadSubjects()])}catch(t){console.error("Date processing error:",t),this.$message.error("日期处理错误","请重新选择日期")}},setupRealtimeChannel(){try{const e=k("server.kvToken");if(!e){console.warn("未配置 KV Token,无法加入实时频道");return}Ae(),ne(e),this.$offConnect=Ve(()=>ne(e)),this.debouncedRealtimeRefresh||(this.debouncedRealtimeRefresh=Y(async()=>{var d,w,B;const o=JSON.parse(JSON.stringify(this.state.boardData.homework));await this.downloadData();const a=new Date,n=String(a.getHours()).padStart(2,"0"),c=String(a.getMinutes()).padStart(2,"0"),p=String(a.getSeconds()).padStart(2,"0");(d=this.$message)==null||d.info("数据已更新",`已于 ${n}:${c}:${p} 自动刷新`);const D={};for(const P in this.state.boardData.homework){const W=((w=o[P])==null?void 0:w.content)||"",G=((B=this.state.boardData.homework[P])==null?void 0:B.content)||"";W!==G&&(D[P]=!0)}for(const P in o)this.state.boardData.homework[P]||(D[P]=!0);this.highlightedCards=D,setTimeout(()=>{this.highlightedCards={}},1e4)},800));const t=o=>{var n;if(!o)return;if(o.key==="notification-list"){this.loadPersistentNotifications();return}const a=`classworks-data-${this.state.dateString}`;o.key===a&&(o.action!=="upsert"&&o.action!=="delete"||(n=this.debouncedRealtimeRefresh)==null||n.call(this,o.key))},s=o=>{let a=o;o.content&&o.timestamp&&(a={uuid:o.senderId||"realtime",key:o.content.key,action:o.content.action,created:o.content.created,updatedAt:o.content.updatedAt||o.timestamp,deletedAt:o.content.deletedAt,batch:o.content.batch}),t(a)};this.$offKvChanged=oe("kv-key-changed",s),this.deviceEventHandler=Oe({onKvChanged:t,enableLegacySupport:!0}),this.$offDeviceEvent=oe("device-event",this.deviceEventHandler)}catch(e){console.warn("实时频道初始化失败",e)}},async saveAttendance(){try{await this.trySave(!0),this.state.attendanceDialog=!1}catch(e){console.error("保存出勤状态失败:",e),this.$message.error("保存失败","请重试")}},showMessage(e,t="",s="success"){this.$message[s](e,t)},updateSortedItemsCache(e,t){this._sortedItemsCache={key:e,value:t}},addTestCard(){const e=Date.now().toString();this.state.boardData.homework[`custom-${e}`]={name:"测试卡片",content:`这是一个测试卡片 +可以用来测试布局`,type:"custom"},this.state.synced=!1},showConfirmDialog(){return new Promise((e,t)=>{this.confirmDialog={show:!0,resolve:()=>{this.confirmDialog.show=!1,e()},reject:()=>{this.confirmDialog.show=!1,t(new Error("用户取消保存"))}}})},confirmSave(){this.confirmDialog.show=!1,this.confirmDialog.resolve&&this.confirmDialog.resolve(!0)},cancelSave(){this.confirmDialog.show=!1,this.confirmDialog.reject&&this.confirmDialog.reject(new Error("用户取消保存"))},async manualUpload(){return this.trySave(!1)},handleAttendanceChange(){this.state.synced=!1,this.debouncedAttendanceSave()},async handleAttendanceDialogClose(e){!e&&!this.state.synced&&await this.trySave(!0)},toggleFullscreen(){this.state.isFullscreen?this.exitFullscreen():this.enterFullscreen()},enterFullscreen(){const e=document.documentElement;e.requestFullscreen?e.requestFullscreen():e.webkitRequestFullScreen?e.webkitRequestFullScreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.msRequestFullscreen&&e.msRequestFullscreen()},exitFullscreen(){document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen?document.webkitExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.msExitFullscreen&&document.msExitFullscreen()},fullscreenChangeHandler(){this.state.isFullscreen=!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)},openRandomPicker(){this.$refs.randomPicker&&this.$refs.randomPicker.open()},checkHashForRandomPicker(){window.location.hash==="#random-picker"&&this.$nextTick(()=>{console.log("打开随机点名"),window.location.hash="",this.openRandomPicker()})},parseUrlConfig(){try{const t=new URLSearchParams(window.location.search).get("config");if(!t)return!1;try{const s=atob(t),o=Uint8Array.from(s,d=>d.charCodeAt(0)),a=new TextDecoder().decode(o),n=JSON.parse(a);console.log("从URL读取配置:",n);const c=[],p={},D={};return this.processSpecialSettings(n,c,p),this.processStandardSettings(n,c,p,D),Object.keys(p).length===0?(console.log("URL配置与当前配置相同,无需应用"),!1):new Promise(d=>{this.urlConfigDialog={show:!0,config:n,changes:c,validSettings:p,icons:D,confirmHandler:()=>{this.urlConfigDialog.show=!1,this.applyUrlConfig(p),d(!0)},cancelHandler:()=>{this.urlConfigDialog.show=!1,d(!1)}}})}catch(s){return console.error("解析URL配置错误:",s),this.$message.error("URL配置错误","无法解析配置数据"),!1}}catch(e){return console.error("处理URL配置错误:",e),!1}},processSpecialSettings(e,t,s){var o,a;if(e.classNumber!==void 0){const n=k("server.classNumber");e.classNumber!==n&&(t.push({key:"server.classNumber",name:"班级",oldValue:n,newValue:e.classNumber,description:((o=F["server.classNumber"])==null?void 0:o.description)||"班级编号",icon:((a=F["server.classNumber"])==null?void 0:a.icon)||"mdi-account-group"}),s["server.classNumber"]=e.classNumber)}e.date!==void 0&&e.date!==this.state.dateString&&(t.push({key:"date",name:"日期",oldValue:this.state.dateString,newValue:e.date,description:"查看的日期",icon:"mdi-calendar"}),s.date=e.date),e.subjects&&Array.isArray(e.subjects)&&(t.push({key:"subjects",name:"科目列表",oldValue:`${this.state.availableSubjects.length}个科目`,newValue:`${e.subjects.length}个科目`,description:"可用科目列表",icon:"mdi-notebook"}),s.subjects=e.subjects)},processStandardSettings(e,t,s,o){Object.entries(e).forEach(([a,n])=>{if(["classNumber","date","subjects"].includes(a))return;let c=a,p=F[a];if(!p&&!a.includes(".")){const D=["server.","display.","theme.","edit.","refresh.","font.","randomPicker."];for(const d of D){const w=`${d}${a}`;if(F[w]){c=w,p=F[w];break}}}if(p){let D=this.convertValueToCorrectType(n,p.type);if(p.validate&&!p.validate(D)){console.warn(`URL配置项 ${c} 的值无效: ${n}`);return}const d=k(c);D!==d&&(t.push({key:c,name:this.getSettingDisplayName(c),oldValue:this.formatSettingValue(d),newValue:this.formatSettingValue(D),description:p.description||c,icon:p.icon||"mdi-cog"}),s[c]=D,o[c]=p.icon||"mdi-cog")}else t.push({key:a,name:this.getSettingDisplayName(a),oldValue:"未知",newValue:this.formatSettingValue(n),description:"自定义配置项",icon:"mdi-cog-outline"}),s[a]=n,o[a]="mdi-cog-outline"})},convertValueToCorrectType(e,t){return t==="boolean"?!!e:t==="number"?Number(e):String(e)},formatSettingValue(e){return typeof e=="boolean"?e?"开启":"关闭":e===""||e===null||e===void 0?"空":e.toString()},getSettingDisplayName(e){const t=e.split("."),s=t[t.length-1];return{provider:"数据提供方",domain:"服务器域名",classNumber:"班级编号",emptySubjectDisplay:"空科目显示方式",dynamicSort:"动态排序",showRandomButton:"随机按钮",showFullscreenButton:"全屏按钮",cardHoverEffect:"卡片悬浮效果",enhancedTouchMode:"增强触摸模式",showAntiScreenBurnCard:"防烧屏卡片",mode:"主题模式",size:"字体大小",autoSave:"自动保存",blockNonTodayAutoSave:"禁止自动保存非当日",refreshBeforeEdit:"编辑前刷新",confirmNonTodaySave:"非当日保存确认",auto:"自动刷新",interval:"刷新间隔"}[s]||s},safeBase64Decode(e){try{return de.decode(e)}catch(t){throw console.error("Base64解码错误:",t),new Error("无法解码配置数据")}},applyUrlConfig(e){for(const[t,s]of Object.entries(e)){if(t==="date"){this.handleDateSelect(s);continue}if(t==="subjects"){this.state.availableSubjects=s;continue}se(t,s),t==="server.classNumber"&&(this.state.classNumber=s)}return this.updateBackendUrl(),this.$message.success("URL配置已应用","已从URL加载配置"),!0},navigateDay(e){const t=new Date(this.state.selectedDateObj);t.setDate(t.getDate()+e),this.handleDateSelect(t)},async copyHomeworkToToday(){if(!this.loading.copyToToday)try{this.loading.copyToToday=!0;const e=this.state.dateString,t=JSON.parse(JSON.stringify(this.state.boardData.homework)),s=this.getToday(),o=this.formatDate(s);this.state.dateString=o,await this.downloadData();const a={};for(const c in t)t[c]&&t[c].content&&(t[c].type==="custom"?a[c]=JSON.parse(JSON.stringify(t[c])):a[c]={content:t[c].content});this.state.boardData.homework=a,this.state.synced=!1,await this.uploadData(),this.state.selectedDate=o,this.state.selectedDateObj=s,this.state.isToday=!0;const n=new URL(window.location);n.searchParams.delete("date"),window.history.pushState({},"",n),this.$message.success("复制成功",`已将 ${e} 的作业内容复制到今天(已替换原有作业)`)}catch(e){console.error("复制作业失败:",e),this.$message.error("复制失败",e.message||"请重试")}finally{this.loading.copyToToday=!1}},parsePreconfigData(){try{const e=new URLSearchParams(window.location.search),t=e.get("namespace"),s=e.get("authCode")||e.get("auth_code"),o=e.get("autoExecute")||e.get("auto_execute");t&&(this.preconfigData.namespace=t,this.preconfigData.authCode=s,this.preconfigData.autoOpen=!0,this.preconfigData.autoExecute=this.parseBoolean(o),console.log("检测到预配数据:",{namespace:this.preconfigData.namespace,hasAuthCode:!!this.preconfigData.authCode,autoExecute:this.preconfigData.autoExecute}),this.cleanupUrlParams(["namespace","authCode","auth_code","autoExecute","auto_execute"]))}catch(e){console.error("解析预配数据失败:",e)}},parseBoolean(e){if(!e)return!1;const t=e.toLowerCase();return t==="true"||t==="1"||t==="yes"},cleanupUrlParams(e){try{const t=new URL(window.location);let s=!1;e.forEach(o=>{t.searchParams.has(o)&&(t.searchParams.delete(o),s=!0)}),s&&window.history.replaceState({},document.title,t.toString())}catch(t){console.error("清理URL参数失败:",t)}},async loadPersistentNotifications(){try{const e=await L.loadData("notification-list");e&&Array.isArray(e)?this.persistentNotifications=e:e&&e.success!==!1&&Array.isArray(e.data)?this.persistentNotifications=e.data:this.persistentNotifications=[]}catch(e){console.error("加载常驻通知失败",e)}},showNotificationDetail(e){this.currentNotification=e,this.notificationDetailDialog=!0},async removePersistentNotification(e){this.persistentNotifications=this.persistentNotifications.filter(s=>s.id!==e);const t=this.persistentNotifications.length>0?this.persistentNotifications:{};await L.saveData("notification-list",t),this.notificationDetailDialog=!1}}},os={key:3,class:"d-flex"},is={class:"text-h6 text-truncate font-weight-bold"},rs={class:"text-h4 font-weight-medium mb-4",style:{"line-height":"1.5"}},ls={class:"text-subtitle-1 text-grey"},ds={class:"d-flex align-center flex-wrap"},cs={class:"text-subtitle-1"},us={class:"text-grey-darken-1"},hs={class:"text-primary font-weight-medium"},ms={key:1,class:"text-center py-4 text-grey"};function fs(e,t,s,o,a,n){const c=x("init-service-chooser"),p=x("StudentNameManager"),D=x("HomeSkeleton"),d=x("homework-grid"),w=x("home-actions"),B=x("pwa-install-card"),P=x("attendance-sidebar"),W=x("homework-edit-dialog"),G=x("attendance-management-dialog"),ge=x("message-log"),ye=x("floating-toolbar"),pe=x("FloatingICP"),ke=x("ChatWidget"),we=x("UrgentTestDialog"),ve=x("random-picker"),De=x("exam-config-editor");return l(),g(b,null,[i(Pe,{class:"no-select"},{append:r(()=>[a.tokenDisplayInfo.readonly?(l(),y(z,{key:0,class:"mx-2",color:"warning","prepend-icon":"mdi-lock-alert",variant:"tonal"},{default:r(()=>[...t[29]||(t[29]=[h(" 只读 ",-1)])]),_:1})):S("",!0),a.tokenDisplayInfo.show?(l(),y(z,{key:1,style:A({cursor:a.tokenDisplayInfo.disabled?"default":"pointer"}),class:"mx-2",color:"primary","prepend-icon":"mdi-account",variant:"tonal",onClick:n.handleTokenChipClick},{default:r(()=>[h(m(a.tokenDisplayInfo.text),1)]),_:1},8,["style","onClick"])):S("",!0),n.shouldShowUrgentTestButton?(l(),y(v,{key:2,"prepend-icon":"mdi-chat",onClick:t[0]||(t[0]=u=>a.urgentTestDialog=!0),variant:"tonal"},{default:r(()=>[...t[30]||(t[30]=[h("发送通知",-1)])]),_:1})):S("",!0),i(v,{icon:"mdi-chat",variant:"text",onClick:t[1]||(t[1]=u=>a.isChatOpen=!0)}),i(v,{badge:n.unreadCount||void 0,"badge-color":n.unreadCount?"error":void 0,icon:"mdi-bell",variant:"text",onClick:t[2]||(t[2]=u=>e.$refs.messageLog.drawer=!0)},null,8,["badge","badge-color"]),i(v,{icon:"mdi-cog",variant:"text",onClick:t[3]||(t[3]=u=>e.$router.push("/settings"))})]),default:r(()=>[i(Le,null,{default:r(()=>[h(m(n.titleText),1)]),_:1}),i(V)]),_:1}),n.shouldShowInit?(l(),y(c,{key:0,preconfig:a.preconfigData,onDone:t[4]||(t[4]=u=>a.settingsTick++)},null,8,["preconfig"])):S("",!0),n.shouldShowInit?S("",!0):(l(),y(p,{key:1,ref:"studentNameManager",onTokenInfoUpdated:n.updateTokenDisplayInfo},null,8,["onTokenInfoUpdated"])),!n.shouldShowInit&&!a.dataReady?(l(),y(D,{key:2})):S("",!0),!n.shouldShowInit&&a.dataReady?(l(),g("div",os,[i(ce,{class:"main-window flex-grow-1 no-select bloom-container",fluid:""},{default:r(()=>[a.persistentNotifications.length>0?(l(),y(ze,{key:0,class:"mb-4"},{default:r(()=>[i(je,{cols:"12"},{default:r(()=>[(l(!0),g(b,null,C(a.persistentNotifications,u=>(l(),y(T,{key:u.id,color:u.isUrgent?"error":"primary",class:"mb-2 cursor-pointer",variant:"tonal",onClick:q=>n.showNotificationDetail(u)},{default:r(()=>[i(_,{class:"d-flex align-center py-3"},{default:r(()=>[f("span",is,m(u.message),1),i(V),i(v,{icon:"mdi-chevron-right",variant:"text"})]),_:2},1024)]),_:2},1032,["color","onClick"]))),128))]),_:1})]),_:1})):S("",!0),i(j,{modelValue:a.notificationDetailDialog,"onUpdate:modelValue":t[8]||(t[8]=u=>a.notificationDetailDialog=u),"max-width":"700",scrollable:""},{default:r(()=>[a.currentNotification?(l(),y(T,{key:0,class:"rounded-xl"},{default:r(()=>[i(N,{class:"d-flex align-center pa-4 text-h5"},{default:r(()=>[f("span",{class:U([a.currentNotification.isUrgent?"text-error":"","font-weight-bold"])},m(a.currentNotification.isUrgent?"强调通知":"通知详情"),3),i(V),i(v,{icon:"mdi-close",variant:"text",onClick:t[5]||(t[5]=u=>a.notificationDetailDialog=!1)})]),_:1}),i($),i(_,{class:"pa-6"},{default:r(()=>[f("div",rs,m(a.currentNotification.message),1),f("div",ls," 发布时间:"+m(n.formatTime(a.currentNotification.timestamp)),1)]),_:1}),i($),i(M,{class:"pa-4"},{default:r(()=>[i(v,{color:"error","prepend-icon":"mdi-delete",size:"x-large",variant:"tonal",class:"px-6",onClick:t[6]||(t[6]=u=>n.removePersistentNotification(a.currentNotification.id))},{default:r(()=>[...t[31]||(t[31]=[h(" 删除通知 ",-1)])]),_:1}),i(V),i(v,{color:"primary",size:"x-large",variant:"elevated",class:"px-8",onClick:t[7]||(t[7]=u=>a.notificationDetailDialog=!1)},{default:r(()=>[...t[32]||(t[32]=[h(" 关闭 ",-1)])]),_:1})]),_:1})]),_:1})):S("",!0)]),_:1},8,["modelValue"]),i(d,{"sorted-items":n.sortedItems,"unused-subjects":n.unusedSubjects,"empty-subject-display":n.emptySubjectDisplay,"is-mobile":n.isMobile,"is-editing-disabled":n.isEditingDisabled,"content-style":a.state.contentStyle,"highlighted-cards":a.highlightedCards,onOpenDialog:n.openDialog,onOpenAttendance:n.setAttendanceArea,onDisabledClick:n.handleDisabledClick,onOpenExamDetail:n.openExamDetail},null,8,["sorted-items","unused-subjects","empty-subject-display","is-mobile","is-editing-disabled","content-style","highlighted-cards","onOpenDialog","onOpenAttendance","onDisabledClick","onOpenExamDetail"]),i(w,{synced:a.state.synced,"loading-upload":a.loading.upload,"show-random-picker-button":n.showRandomPickerButton,"show-exam-schedule-button":n.showExamScheduleButton,"show-list-card-button":n.showListCardButton,"show-fullscreen-button":n.showFullscreenButton,"is-fullscreen":a.state.isFullscreen,"show-anti-screen-burn-card":n.showAntiScreenBurnCard,"show-test-card-button":n.showTestCardButton,onUpload:n.manualUpload,onShowSyncMessage:n.showSyncMessage,onOpenRandomPicker:n.openRandomPicker,onToggleFullscreen:n.toggleFullscreen,onAddTestCard:n.addTestCard,onAddExamCard:t[9]||(t[9]=u=>a.showAddExamDialog=!0)},null,8,["synced","loading-upload","show-random-picker-button","show-exam-schedule-button","show-list-card-button","show-fullscreen-button","is-fullscreen","show-anti-screen-burn-card","show-test-card-button","onUpload","onShowSyncMessage","onOpenRandomPicker","onToggleFullscreen","onAddTestCard"]),i(B),a.upcomingExams.length>0&&!n.hasExamCard?(l(),y(Me,{key:1,class:"mt-4",color:"info",variant:"tonal",closable:"",icon:"mdi-calendar-clock",title:"近期有考试安排"},{append:r(()=>[i(v,{color:"primary",variant:"text",onClick:n.addAllUpcomingExams},{default:r(()=>[...t[34]||(t[34]=[h(" 一键添加 ",-1)])]),_:1},8,["onClick"])]),default:r(()=>[f("div",ds,[t[33]||(t[33]=f("span",{class:"mr-2"},"检测到未来两天内有以下考试:",-1)),(l(!0),g(b,null,C(a.upcomingExams,u=>(l(),y(z,{key:u.id,size:"small",class:"mr-1 mb-1",color:"primary"},{default:r(()=>[h(m(u.examName),1)]),_:2},1024))),128))])]),_:1})):S("",!0)]),_:1}),n.isMobile?S("",!0):(l(),y(P,{key:0,"student-list":a.state.studentList,attendance:a.state.boardData.attendance,"is-editing-disabled":n.isEditingDisabled,onClick:n.setAttendanceArea,onDisabledClick:n.handleDisabledClick},null,8,["student-list","attendance","is-editing-disabled","onClick","onDisabledClick"]))])):S("",!0),i(W,{modelValue:a.state.dialogVisible,"onUpdate:modelValue":t[10]||(t[10]=u=>a.state.dialogVisible=u),"auto-save":n.autoSave,"initial-content":a.state.textarea,title:a.state.dialogTitle,"is-editing-past-data":n.isEditingPastData,"current-date-string":a.state.dateString,onSave:n.handleHomeworkSave},null,8,["modelValue","auto-save","initial-content","title","is-editing-past-data","current-date-string","onSave"]),i(Se,{modelValue:a.state.snackbar,"onUpdate:modelValue":t[11]||(t[11]=u=>a.state.snackbar=u),timeout:2e3},{default:r(()=>[h(m(a.state.snackbarText),1)]),_:1},8,["modelValue"]),i(G,{modelValue:a.state.attendanceDialog,"onUpdate:modelValue":t[12]||(t[12]=u=>a.state.attendanceDialog=u),"student-list":a.state.studentList,attendance:a.state.boardData.attendance,"date-string":a.state.dateString,onSave:n.saveAttendance,onChange:n.handleAttendanceChange},null,8,["modelValue","student-list","attendance","date-string","onSave","onChange"]),i(ge,{ref:"messageLog"},null,512),i(ye,{"is-today":n.isToday,loading:a.loading.download,"copy-to-today-loading":a.loading.copyToToday,"selected-date":a.state.selectedDateObj,"unread-count":n.unreadCount,onRefresh:n.downloadData,onZoom:n.zoom,onOpenMessages:t[13]||(t[13]=u=>e.$refs.messageLog.drawer=!0),onOpenSettings:t[14]||(t[14]=u=>e.$router.push("/settings")),onDateSelect:n.handleDateSelect,onPrevDay:t[15]||(t[15]=u=>n.navigateDay(-1)),onNextDay:t[16]||(t[16]=u=>n.navigateDay(1)),onCopyToToday:n.copyHomeworkToToday},null,8,["is-today","loading","copy-to-today-loading","selected-date","unread-count","onRefresh","onZoom","onDateSelect","onCopyToToday"]),i(pe),i(ke,{modelValue:a.isChatOpen,"onUpdate:modelValue":t[17]||(t[17]=u=>a.isChatOpen=u),"show-button":!1},null,8,["modelValue"]),i(we,{modelValue:a.urgentTestDialog,"onUpdate:modelValue":t[18]||(t[18]=u=>a.urgentTestDialog=u)},null,8,["modelValue"]),i(j,{modelValue:a.confirmDialog.show,"onUpdate:modelValue":t[19]||(t[19]=u=>a.confirmDialog.show=u),"max-width":"400"},{default:r(()=>[i(T,null,{default:r(()=>[i(N,{class:"text-h6"},{default:r(()=>[...t[35]||(t[35]=[h(" 确认保存",-1)])]),_:1}),i(_,null,{default:r(()=>[h(" 您正在修改 "+m(a.state.dateString)+" 的数据,确定要保存吗? ",1)]),_:1}),i(M,null,{default:r(()=>[i(V),i(v,{color:"grey",variant:"text",onClick:a.confirmDialog.reject},{default:r(()=>[...t[36]||(t[36]=[h(" 取消 ",-1)])]),_:1},8,["onClick"]),i(v,{color:"primary",onClick:a.confirmDialog.resolve},{default:r(()=>[...t[37]||(t[37]=[h(" 确认保存",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),i(ve,{ref:"randomPicker",attendance:a.state.boardData.attendance,"student-list":a.state.studentList},null,8,["attendance","student-list"]),i(j,{modelValue:a.urlConfigDialog.show,"onUpdate:modelValue":t[20]||(t[20]=u=>a.urlConfigDialog.show=u),"max-width":"500"},{default:r(()=>[i(T,null,{default:r(()=>[i(N,{class:"text-h6"},{default:r(()=>[...t[38]||(t[38]=[h(" 确认应用URL配置",-1)])]),_:1}),i(_,null,{default:r(()=>[t[39]||(t[39]=f("p",null,"以下配置将应用于当前班级:",-1)),i(X,{density:"compact"},{default:r(()=>[(l(!0),g(b,null,C(a.urlConfigDialog.changes,u=>(l(),y(Z,{key:u.key},{prepend:r(()=>[i(R,{icon:u.icon,class:"mr-2",size:"small"},null,8,["icon"])]),default:r(()=>[i(be,{class:"d-flex align-center"},{default:r(()=>[f("span",cs,m(u.name),1),i(Ue,{activator:"parent",location:"top"},{default:r(()=>[h(m(u.description||u.key),1)]),_:2},1024)]),_:2},1024),i(xe,null,{default:r(()=>[f("span",us,m(u.oldValue),1),i(R,{class:"mx-1",icon:"mdi-arrow-right",size:"small"}),f("span",hs,m(u.newValue),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1}),i(M,null,{default:r(()=>[i(V),i(v,{color:"grey",variant:"text",onClick:a.urlConfigDialog.cancelHandler},{default:r(()=>[...t[40]||(t[40]=[h(" 取消 ",-1)])]),_:1},8,["onClick"]),i(v,{color:"primary",onClick:a.urlConfigDialog.confirmHandler},{default:r(()=>[...t[41]||(t[41]=[h(" 确认应用 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),i(j,{modelValue:a.showExamDetailDialog,"onUpdate:modelValue":t[23]||(t[23]=u=>a.showExamDetailDialog=u),persistent:"",fullscreen:""},{default:r(()=>[a.selectedExamId?(l(),y(T,{key:0},{default:r(()=>[i(N,{class:"d-flex align-center pa-4"},{default:r(()=>[t[42]||(t[42]=h(" 编辑考试配置 ",-1)),i(V),i(v,{icon:"mdi-close",variant:"text",onClick:t[21]||(t[21]=u=>a.showExamDetailDialog=!1)})]),_:1}),i(_,{class:"pa-4",style:{"max-height":"70vh","overflow-y":"auto"}},{default:r(()=>[i(De,{"config-id":a.selectedExamId,"dialog-mode":!0,onSaved:n.onExamConfigSaved,onDeleted:n.onExamConfigDeleted},null,8,["config-id","onSaved","onDeleted"])]),_:1}),i($),i(M,{class:"pa-4"},{default:r(()=>[i(v,{color:"error","prepend-icon":"mdi-delete",variant:"tonal",onClick:n.removeCurrentExamCard},{default:r(()=>[...t[43]||(t[43]=[h(" 移除卡片 ",-1)])]),_:1},8,["onClick"]),i(V),i(v,{color:"primary",variant:"text",onClick:t[22]||(t[22]=u=>a.showExamDetailDialog=!1)},{default:r(()=>[...t[44]||(t[44]=[h(" 关闭 ",-1)])]),_:1})]),_:1})]),_:1})):S("",!0)]),_:1},8,["modelValue"]),i(j,{modelValue:a.showAddExamDialog,"onUpdate:modelValue":t[25]||(t[25]=u=>a.showAddExamDialog=u),"max-width":"500"},{default:r(()=>[i(T,null,{default:r(()=>[i(N,{class:"text-h6"},{default:r(()=>[...t[45]||(t[45]=[h("预览考试看板",-1)])]),_:1}),i(_,null,{default:r(()=>[o.examStore.examList.length>0?(l(),y(X,{key:0},{default:r(()=>[(l(!0),g(b,null,C(o.examStore.examList,u=>{var q;return l(),y(Z,{key:u.id,title:((q=o.examStore.exams[u.id])==null?void 0:q.examName)||u.id,subtitle:u.id,onClick:ys=>n.addExamCard(u.id)},{prepend:r(()=>[i(R,{color:"primary"},{default:r(()=>[...t[46]||(t[46]=[h("mdi-calendar-text",-1)])]),_:1})]),append:r(()=>[i(v,{icon:n.isExamCardAdded(u.id)?"mdi-check":"mdi-plus",color:n.isExamCardAdded(u.id)?"success":"grey",variant:"text"},null,8,["icon","color"])]),_:2},1032,["title","subtitle","onClick"])}),128))]),_:1})):(l(),g("div",ms," 暂无考试配置 "))]),_:1}),i(M,null,{default:r(()=>[i(V),i(v,{color:"primary",variant:"text",onClick:t[24]||(t[24]=u=>a.showAddExamDialog=!1)},{default:r(()=>[...t[47]||(t[47]=[h("关闭",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),i(j,{modelValue:a.notificationDetailDialog,"onUpdate:modelValue":t[28]||(t[28]=u=>a.notificationDetailDialog=u),"max-width":"600"},{default:r(()=>[a.currentNotification?(l(),y(T,{key:0},{default:r(()=>[i(N,{class:U(["headline",a.currentNotification.isUrgent?"text-error":"text-primary"])},{default:r(()=>[h(m(a.currentNotification.isUrgent?"强调通知":"通知详情"),1)]),_:1},8,["class"]),i(_,{class:"text-h5 py-4"},{default:r(()=>[h(m(a.currentNotification.message),1)]),_:1}),i(M,null,{default:r(()=>[i(v,{color:"error",variant:"text",onClick:t[26]||(t[26]=u=>n.removePersistentNotification(a.currentNotification.id))},{default:r(()=>[...t[48]||(t[48]=[h("删除",-1)])]),_:1}),i(V),i(v,{color:"primary",onClick:t[27]||(t[27]=u=>a.notificationDetailDialog=!1)},{default:r(()=>[...t[49]||(t[49]=[h("关闭",-1)])]),_:1})]),_:1})]),_:1})):S("",!0)]),_:1},8,["modelValue"]),t[50]||(t[50]=f("br",null,null,-1)),t[51]||(t[51]=f("br",null,null,-1)),t[52]||(t[52]=f("br",null,null,-1))],64)}const gs=O(ns,[["render",fs]]),Ns=Object.freeze(Object.defineProperty({__proto__:null,default:gs},Symbol.toStringTag,{value:"Module"}));export{Ns as i,ee as u}; diff --git a/assets/index-fer6T-lk.js b/assets/index-fer6T-lk.js new file mode 100644 index 0000000..f9a97a5 --- /dev/null +++ b/assets/index-fer6T-lk.js @@ -0,0 +1 @@ +const V=/^[\uD800-\uDBFF]$/,G=/^[\uDC00-\uDFFF]$/,J=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;var D;(function(n){n[n.Unknown=1e-13]="Unknown",n[n.Rule=1e-12]="Rule",n[n.DICT=2e-8]="DICT",n[n.Surname=1]="Surname",n[n.Custom=1]="Custom"})(D||(D={}));const t={Normal:1,Surname:10,Custom:100};function d(n){var i;return n.length-(((i=n.match(J))===null||i===void 0?void 0:i.length)||0)}function k(n){const i=[];let g=0;for(;g1)return this.StringDICT.get(i);{const g=i.charCodeAt(0);return this.NumberDICT[g]}}set(i,g){if(i.length>1)this.StringDICT.set(i,g);else{const h=i.charCodeAt(0);this.NumberDICT[h]=g}}clear(){this.NumberDICT=[],this.StringDICT.clear()}}const T={"bǎng páng pāng":["膀"],líng:["〇","伶","凌","刢","囹","坽","夌","姈","婈","孁","岺","彾","掕","昤","朎","柃","棂","櫺","欞","泠","淩","澪","灵","燯","爧","狑","玲","琌","瓴","皊","砱","祾","秢","竛","笭","紷","綾","绫","羐","羚","翎","聆","舲","苓","菱","蓤","蔆","蕶","蛉","衑","裬","詅","跉","軨","輘","酃","醽","鈴","錂","铃","閝","陵","零","霊","霗","霛","霝","靈","駖","魿","鯪","鲮","鴒","鸰","鹷","麢","齡","齢","龄","龗","㥄"],yī:["一","乊","伊","依","医","吚","咿","噫","壱","壹","夁","嫛","嬄","弌","揖","撎","檹","毉","洢","渏","漪","瑿","畩","祎","禕","稦","繄","蛜","衤","譩","辷","郼","醫","銥","铱","鷖","鹥","黟","黳"],"dīng zhēng":["丁"],"kǎo qiǎo yú":["丂"],qī:["七","倛","僛","凄","嘁","墄","娸","悽","慼","慽","戚","捿","柒","桤","桼","棲","榿","欺","沏","淒","漆","紪","緀","萋","褄","諆","迉","郪","鏚","霋","魌","鶈"],shàng:["丄","尙","尚","恦","緔","绱"],xià:["丅","下","乤","圷","夏","夓","懗","梺","疜","睱","罅","鎼","鏬"],hǎn:["丆","喊","浫","罕","豃","㘎"],"wàn mò":["万"],zhàng:["丈","仗","墇","嶂","帐","帳","幛","扙","杖","涱","痮","瘬","瘴","瞕","粀","胀","脹","賬","账","障"],sān:["三","厁","叁","弎","毵","毶","毿","犙","鬖"],"shàng shǎng shang":["上"],"qí jī":["丌","其","奇"],"bù fǒu":["不"],"yǔ yù yú":["与"],miǎn:["丏","偭","免","冕","勉","勔","喕","娩","愐","汅","沔","湎","睌","緬","缅","腼","葂","靦","鮸","𩾃"],gài:["丐","乢","匃","匄","戤","概","槩","槪","溉","漑","瓂","葢","鈣","钙","𬮿"],chǒu:["丑","丒","侴","吜","杽","瞅","矁","醜","魗"],zhuān:["专","叀","嫥","専","專","瑼","甎","砖","磗","磚","蟤","諯","鄟","顓","颛","鱄","䏝"],"qiě jū":["且"],pī:["丕","伓","伾","噼","坯","岯","憵","批","披","炋","狉","狓","砒","磇","礔","礕","秛","秠","耚","豾","邳","鈚","鉟","銔","錃","錍","霹","駓","髬","魾","𬳵"],shì:["世","丗","亊","事","仕","侍","冟","势","勢","卋","呩","嗜","噬","士","奭","嬕","室","市","式","弑","弒","恀","恃","戺","拭","揓","是","昰","枾","柿","栻","澨","烒","煶","眂","眎","眡","睗","示","礻","筮","簭","舐","舓","襫","視","视","觢","試","誓","諡","謚","试","谥","貰","贳","軾","轼","逝","遾","釈","释","釋","鈰","鉃","鉽","铈","飾","餙","餝","饰","鰘","䏡","𬤊"],qiū:["丘","丠","坵","媝","恘","恷","楸","秋","秌","穐","篍","緧","萩","蘒","蚯","蝵","蟗","蠤","趥","邱","鞦","鞧","鰌","鰍","鳅","鶖","鹙","龝"],bǐng:["丙","屛","怲","抦","昞","昺","柄","棅","炳","禀","秉","稟","苪","蛃","邴","鈵","陃","鞆","餅","餠","饼"],yè:["业","亱","僷","墷","夜","嶪","嶫","抴","捙","擛","擪","擫","晔","曄","曅","曗","曳","曵","枼","枽","業","洂","液","澲","烨","燁","爗","璍","皣","瞱","瞸","礏","腋","葉","謁","谒","邺","鄴","鍱","鐷","靥","靨","頁","页","餣","饁","馌","驜","鵺","鸈"],cóng:["丛","从","叢","婃","孮","従","徔","徖","悰","樷","欉","淙","灇","爜","琮","藂","誴","賨","賩","錝"],dōng:["东","倲","冬","咚","埬","岽","崬","徚","昸","東","氡","氭","涷","笗","苳","菄","蝀","鮗","鯟","鶇","鶫","鸫","鼕","𬟽"],sī:["丝","俬","凘","厮","司","咝","嘶","噝","媤","廝","恖","撕","斯","楒","泀","澌","燍","禗","禠","私","糹","絲","緦","纟","缌","罳","蕬","虒","蛳","蜤","螄","蟖","蟴","鉰","銯","鍶","鐁","锶","颸","飔","騦","鷥","鸶","鼶","㟃"],chéng:["丞","呈","城","埕","堘","塍","塖","宬","峸","惩","懲","成","承","挰","掁","揨","枨","棖","橙","檙","洆","溗","澂","珵","珹","畻","程","窚","筬","絾","脭","荿","誠","诚","郕","酲","鋮","铖","騬","鯎"],diū:["丟","丢","銩","铥"],liǎng:["両","两","兩","唡","啢","掚","緉","脼","蜽","裲","魉","魎","𬜯"],yǒu:["丣","卣","友","梄","湵","牖","禉","羑","聈","苃","莠","蜏","酉","銪","铕","黝"],yán:["严","厳","啱","喦","嚴","塩","壛","壧","妍","姸","娫","娮","岩","嵒","嵓","巌","巖","巗","延","揅","昖","楌","檐","櫩","欕","沿","炎","炏","狿","琂","盐","碞","筵","簷","莚","蔅","虤","蜒","言","訁","訮","詽","讠","郔","閆","閻","闫","阎","顏","顔","颜","鹽","麣","𫄧"],bìng:["並","併","倂","傡","垪","摒","栤","病","窉","竝","誁","靐","鮩"],"sàng sāng":["丧"],gǔn:["丨","惃","滚","滾","磙","緄","绲","蓘","蔉","衮","袞","輥","辊","鮌","鯀","鲧"],jiū:["丩","勼","啾","揪","揫","朻","究","糾","纠","萛","赳","阄","鬏","鬮","鳩","鸠"],"gè gě":["个","個","各"],yā:["丫","圧","孲","庘","押","枒","桠","椏","錏","鐚","鴉","鴨","鵶","鸦","鸭"],pán:["丬","媻","幋","槃","洀","瀊","爿","盘","盤","磐","縏","蒰","蟠","蹒","蹣","鎜","鞶"],"zhōng zhòng":["中"],jǐ:["丮","妀","己","戟","挤","掎","撠","擠","橶","泲","犱","脊","虮","蟣","魢","鱾","麂"],jiè:["丯","介","借","唶","堺","屆","届","岕","庎","徣","戒","楐","犗","玠","琾","界","畍","疥","砎","蚧","蛶","衸","褯","誡","诫","鎅","骱","魪"],fēng:["丰","仹","偑","僼","凨","凬","凮","妦","寷","封","峯","峰","崶","枫","楓","檒","沣","沨","渢","灃","烽","犎","猦","琒","疯","瘋","盽","砜","碸","篈","蘴","蜂","蠭","豐","鄷","酆","鋒","鎽","鏠","锋","霻","靊","飌","麷"],"guàn kuàng":["丱"],chuàn:["串","汌","玔","賗","釧","钏"],chǎn:["丳","产","冁","剷","囅","嵼","旵","浐","滻","灛","產","産","簅","蒇","蕆","諂","譂","讇","谄","鏟","铲","閳","闡","阐","骣","𬊤"],lín:["临","冧","壣","崊","嶙","斴","晽","暽","林","潾","瀶","燐","琳","璘","瞵","碄","磷","粦","粼","繗","翷","臨","轔","辚","遴","邻","鄰","鏻","阾","隣","霖","驎","鱗","鳞","麐","麟","𬴊","𬭸"],zhuó:["丵","劅","卓","啄","圴","妰","娺","撯","擆","擢","斫","斮","斱","斲","斵","晫","椓","浊","浞","濁","灼","烵","琸","硺","禚","窡","籗","籱","罬","茁","蠗","蠿","諁","諑","謶","诼","酌","鐲","镯","鵫","鷟","䓬","𬸦"],zhǔ:["丶","主","劯","嘱","囑","宔","帾","拄","渚","濐","煑","煮","燝","瞩","矚","罜","詝","陼","鸀","麈","𬣞"],bā:["丷","仈","八","叭","哵","夿","岜","巴","捌","朳","玐","疤","笆","粑","羓","芭","蚆","豝","釟"],wán:["丸","刓","完","岏","抏","捖","汍","烷","玩","琓","笂","紈","纨","翫","芄","貦","頑","顽"],dān:["丹","勯","匰","単","妉","媅","殚","殫","甔","眈","砃","箪","簞","耼","耽","聃","聸","褝","襌","躭","郸","鄲","酖","頕"],"wèi wéi":["为"],"jǐng dǎn":["丼"],"lì lí":["丽"],jǔ:["举","弆","挙","擧","椇","榉","榘","櫸","欅","矩","筥","聥","舉","莒","蒟","襷","踽","齟","龃"],piě:["丿","苤","鐅","𬭯"],fú:["乀","伏","俘","凫","刜","匐","咈","哹","垘","孚","岪","巿","帗","幅","幞","弗","彿","怫","扶","柫","栿","桴","氟","泭","浮","涪","澓","炥","玸","甶","畉","癁","祓","福","稪","符","箙","紱","紼","絥","綍","绂","绋","罘","罦","翇","艀","芙","芣","苻","茀","茯","菔","葍","虙","蚨","蜉","蝠","袚","袱","襆","襥","諨","豧","踾","輻","辐","郛","鉘","鉜","韍","韨","颫","髴","鮄","鮲","鳧","鳬","鴔","鵩","黻"],"yí jí":["乁"],yì:["乂","义","亄","亦","亿","伇","伿","佾","俋","億","兿","刈","劓","劮","勚","勩","匇","呓","呭","呹","唈","囈","圛","坄","垼","埸","奕","嫕","嬑","寱","屹","峄","嶧","帟","帠","幆","廙","异","弈","弋","役","忆","怈","怿","悒","意","憶","懌","懿","抑","挹","敡","易","晹","曀","曎","杙","枍","棭","榏","槸","檍","歝","殔","殪","殹","毅","浂","浥","浳","湙","溢","潩","澺","瀷","炈","焲","熠","熤","熼","燚","燡","燱","獈","玴","異","疫","痬","瘗","瘞","瘱","癔","益","瞖","穓","竩","篒","縊","繶","繹","绎","缢","義","羿","翊","翌","翳","翼","耴","肄","肊","膉","臆","艗","艺","芅","苅","萟","蓺","薏","藙","藝","蘙","虉","蜴","螠","衪","袣","裔","裛","褹","襼","訲","訳","詍","詣","誼","譯","議","讛","议","译","诣","谊","豙","豛","豷","貖","贀","跇","轶","逸","邑","鄓","醷","釴","鈠","鎰","鐿","镒","镱","阣","隿","霬","饐","駅","驛","驿","骮","鮨","鶂","鶃","鶍","鷁","鷊","鷧","鷾","鸃","鹝","鹢","黓","齸","𬬩","㑊","𫄷","𬟁"],nǎi:["乃","倷","奶","嬭","廼","氖","疓","艿","迺","釢"],wǔ:["乄","五","仵","伍","侮","倵","儛","午","啎","妩","娬","嫵","庑","廡","忤","怃","憮","摀","武","潕","熓","牾","玝","珷","瑦","甒","碔","舞","躌","迕","逜","陚","鵡","鹉","𣲘"],jiǔ:["久","乆","九","乣","奺","杦","汣","灸","玖","紤","舏","酒","镹","韭","韮"],"tuō zhé":["乇","杔","馲"],"me mó ma yāo":["么"],zhī:["之","倁","卮","巵","搘","支","栀","梔","椥","榰","汁","泜","疷","祗","祬","秓","稙","綕","肢","胑","胝","脂","芝","蘵","蜘","衼","隻","鳷","鴲","鼅","𦭜"],"wū wù":["乌"],zhà:["乍","咤","宱","搾","榨","溠","痄","蚱","詐","诈","醡","霅","䃎"],hū:["乎","乯","匢","匫","呼","唿","嘑","垀","寣","幠","忽","惚","昒","歑","泘","淴","滹","烀","苸","虍","虖","謼","軤","轷","雐"],fá:["乏","伐","傠","坺","垡","墢","姂","栰","浌","瞂","笩","筏","罚","罰","罸","藅","閥","阀"],"lè yuè yào lào":["乐","樂"],yín:["乑","吟","噖","嚚","圁","垠","夤","婬","寅","峾","崟","崯","檭","殥","泿","淫","滛","烎","犾","狺","璌","硍","碒","荶","蔩","訔","訚","訡","誾","鄞","鈝","銀","银","霪","鷣","齦"],pīng:["乒","俜","娉","涄","甹","砯","聠","艵","頩"],pāng:["乓","滂","胮","膖","雱","霶"],qiáo:["乔","侨","僑","嫶","憔","桥","槗","樵","橋","櫵","犞","瞧","硚","礄","荍","荞","蕎","藮","譙","趫","鐈","鞒","鞽","顦"],hǔ:["乕","琥","萀","虎","虝","錿","鯱"],guāi:["乖"],"chéng shèng":["乗","乘","娍"],yǐ:["乙","乛","以","倚","偯","嬟","崺","已","庡","扆","攺","敼","旑","旖","檥","矣","礒","笖","舣","艤","苡","苢","蚁","螘","蟻","裿","踦","輢","轙","逘","酏","釔","鈘","鉯","钇","顗","鳦","齮","𫖮","𬺈"],"háo yǐ":["乚"],"niè miē":["乜"],qǐ:["乞","企","启","唘","啓","啔","啟","婍","屺","杞","棨","玘","盀","綺","绮","芑","諬","起","邔","闙"],yě:["也","冶","嘢","埜","壄","漜","野"],xí:["习","喺","媳","嶍","席","椺","檄","漝","習","蓆","袭","襲","覡","觋","謵","趘","郋","鎴","隰","霫","飁","騱","騽","驨","鰼","鳛","𠅤","𫘬"],xiāng:["乡","厢","廂","忀","楿","欀","湘","瓖","稥","箱","緗","缃","膷","芗","萫","葙","薌","襄","郷","鄉","鄊","鄕","鑲","镶","香","驤","骧","鱜","麘","𬙋"],shū:["书","倏","倐","儵","叔","姝","尗","抒","掓","摅","攄","書","枢","梳","樞","殊","殳","毹","毺","淑","瀭","焂","疎","疏","紓","綀","纾","舒","菽","蔬","踈","軗","輸","输","鄃","陎","鮛","鵨"],dǒu:["乧","抖","枓","蚪","鈄","阧","陡"],shǐ:["乨","使","兘","史","始","宩","屎","榁","矢","笶","豕","鉂","駛","驶"],jī:["乩","僟","击","刉","刏","剞","叽","唧","喞","嗘","嘰","圾","基","墼","姬","屐","嵆","嵇","撃","擊","朞","机","枅","樭","機","毄","激","犄","玑","璣","畸","畿","癪","矶","磯","积","積","笄","筓","箕","簊","緁","羁","羇","羈","耭","肌","芨","虀","覉","覊","譏","譤","讥","賫","賷","赍","跻","踑","躋","躸","銈","錤","鐖","鑇","鑙","隮","雞","鞿","韲","飢","饑","饥","魕","鳮","鶏","鶺","鷄","鸄","鸡","齎","齏","齑","𬯀","𫓯","𫓹","𫌀"],náng:["乪","嚢","欜","蠰","饢"],jiā:["乫","佳","傢","加","嘉","抸","枷","梜","毠","泇","浃","浹","犌","猳","珈","痂","笳","糘","耞","腵","葭","袈","豭","貑","跏","迦","鉫","鎵","镓","鴐","麚","𬂩"],jù:["乬","倨","倶","具","剧","劇","勮","埧","埾","壉","姖","屦","屨","岠","巨","巪","怇","惧","愳","懅","懼","拒","拠","昛","歫","洰","澽","炬","烥","犋","秬","窭","窶","簴","粔","耟","聚","虡","蚷","詎","讵","豦","距","踞","躆","遽","邭","醵","鉅","鐻","钜","颶","飓","駏","鮔"],shí:["乭","十","埘","塒","姼","实","実","寔","實","峕","嵵","时","旹","時","榯","湜","溡","炻","祏","竍","蚀","蝕","辻","遈","鉐","飠","饣","鮖","鰣","鲥","鼫","鼭"],mǎo:["乮","冇","卯","峁","戼","昴","泖","笷","蓩","鉚","铆"],mǎi:["买","嘪","荬","蕒","買","鷶"],luàn:["乱","亂","釠"],rǔ:["乳","擩","汝","肗","辱","鄏"],xué:["乴","学","學","峃","嶨","斈","泶","澩","燢","穴","茓","袕","踅","鷽","鸴"],yǎn:["䶮","乵","俨","偃","儼","兖","兗","厣","厴","噞","孍","嵃","巘","巚","弇","愝","戭","扊","抁","掩","揜","曮","椼","檿","沇","渷","演","琰","甗","眼","罨","萒","蝘","衍","褗","躽","遃","郾","隒","顩","魇","魘","鰋","鶠","黡","黤","黬","黭","黶","鼴","鼹","齴","龑","𬸘","𬙂","𪩘"],fǔ:["乶","俌","俛","俯","府","弣","抚","拊","撫","斧","椨","滏","焤","甫","盙","簠","腐","腑","蜅","輔","辅","郙","釜","釡","阝","頫","鬴","黼","㕮","𫖯"],shā:["乷","唦","杀","桬","殺","毮","猀","痧","砂","硰","紗","繺","纱","蔱","裟","鎩","铩","閷","髿","魦","鯊","鯋","鲨"],nǎ:["乸","雫"],qián:["乹","亁","仱","偂","前","墘","媊","岒","拑","掮","榩","橬","歬","潛","潜","濳","灊","箝","葥","虔","軡","鈐","鉗","銭","錢","鎆","钤","钱","钳","靬","騚","騝","鰬","黔","黚"],suǒ:["乺","唢","嗩","所","暛","溑","溹","琐","琑","瑣","索","褨","鎖","鎻","鏁","锁"],yú:["乻","于","亐","伃","余","堣","堬","妤","娛","娯","娱","嬩","崳","嵎","嵛","愚","扵","揄","旟","楡","楰","榆","欤","歈","歟","歶","渔","渝","湡","漁","澞","牏","狳","玗","玙","瑜","璵","盂","睮","窬","竽","籅","羭","腴","臾","舁","舆","艅","茰","萮","萸","蕍","蘛","虞","虶","蝓","螸","衧","褕","覦","觎","諛","謣","谀","踰","輿","轝","逾","邘","酑","鍝","隅","雓","雩","餘","馀","騟","骬","髃","魚","魣","鮽","鯲","鰅","鱼","鷠","鸆","齵"],zhù:["乼","伫","佇","住","坾","墸","壴","嵀","拀","杼","柱","樦","殶","注","炷","疰","眝","祝","祩","竚","筯","箸","篫","簗","紵","紸","纻","羜","翥","苎","莇","蛀","註","貯","贮","跓","軴","鉒","鋳","鑄","铸","馵","駐","驻"],zhě:["乽","者","褶","襵","赭","踷","鍺","锗"],"qián gān":["乾"],"zhì luàn":["乿"],guī:["亀","圭","妫","媯","嫢","嬀","帰","归","摫","椝","槻","槼","櫷","歸","珪","瑰","璝","瓌","皈","瞡","硅","茥","蘬","規","规","邽","郌","閨","闺","騩","鬶","鬹"],"lǐn lìn":["亃"],jué:["亅","决","刔","劂","匷","厥","噊","孒","孓","崛","崫","嶥","彏","憠","憰","戄","抉","挗","掘","攫","桷","橛","橜","欮","氒","決","灍","焳","熦","爑","爴","爵","獗","玃","玦","玨","珏","瑴","瘚","矍","矡","砄","絕","絶","绝","臄","芵","蕝","蕨","虳","蟨","蟩","觖","觮","觼","訣","譎","诀","谲","貜","赽","趉","蹷","躩","鈌","鐍","鐝","钁","镢","鴂","鴃","鷢","𫘝","㵐","𫔎"],"le liǎo":["了"],"gè mā":["亇"],"yǔ yú":["予","懙"],zhēng:["争","佂","凧","姃","媜","峥","崝","崢","征","徰","炡","烝","爭","狰","猙","癥","眐","睁","睜","筝","箏","篜","聇","脀","蒸","踭","鉦","錚","鏳","鬇"],èr:["二","刵","咡","弍","弐","樲","誀","貮","貳","贰","髶"],chù:["亍","傗","儊","怵","憷","搐","斶","歜","珿","琡","矗","竌","絀","绌","臅","触","觸","豖","鄐","閦","黜"],kuī:["亏","刲","岿","巋","盔","窥","窺","聧","虧","闚","顝"],yún:["云","伝","勻","匀","囩","妘","愪","抣","昀","橒","沄","涢","溳","澐","熉","畇","秐","筼","篔","紜","縜","纭","耘","芸","蒷","蕓","郧","鄖","鋆","雲"],hù:["互","冱","嗀","嚛","婟","嫭","嫮","岵","帍","弖","怙","戶","户","戸","戽","扈","护","昈","槴","沍","沪","滬","熩","瓠","祜","笏","簄","粐","綔","蔰","護","豰","鄠","鍙","頀","鱯","鳠","鳸","鸌","鹱"],qí:["亓","剘","埼","岐","岓","崎","嵜","愭","掑","斉","斊","旂","旗","棊","棋","檱","櫀","歧","淇","濝","猉","玂","琦","琪","璂","畦","疧","碁","碕","祁","祈","祺","禥","竒","簯","簱","籏","粸","綥","綦","肵","脐","臍","艩","芪","萁","萕","蕲","藄","蘄","蚑","蚚","蛴","蜝","蜞","螧","蠐","褀","軝","鄿","釮","錡","锜","陭","頎","颀","騎","騏","騹","骐","骑","鬐","鬿","鯕","鰭","鲯","鳍","鵸","鶀","麒","麡","𨙸","𬨂","䓫"],jǐng:["井","儆","刭","剄","坓","宑","幜","憬","暻","殌","汫","汬","澋","璄","璟","璥","穽","肼","蟼","警","阱","頚","頸"],sì:["亖","佀","価","儩","兕","嗣","四","姒","娰","孠","寺","巳","柶","榹","汜","泗","泤","洍","洠","涘","瀃","牭","祀","禩","竢","笥","耜","肂","肆","蕼","覗","貄","釲","鈶","鈻","飤","飼","饲","駟","騃","驷"],suì:["亗","嬘","岁","嵗","旞","檖","歲","歳","澻","煫","燧","璲","砕","碎","祟","禭","穂","穗","穟","繀","繐","繸","襚","誶","譢","谇","賥","邃","鐆","鐩","隧","韢","𫟦","𬭼"],gèn:["亘","亙","揯","搄","茛"],yà:["亚","亜","俹","冴","劜","圔","圠","埡","娅","婭","揠","氩","氬","犽","砑","稏","聐","襾","覀","訝","讶","迓","齾"],"xiē suò":["些"],"qí zhāi":["亝","齊"],"yā yà":["亞","压","垭","壓","铔"],"jí qì":["亟","焏"],tóu:["亠","投","頭","骰"],"wáng wú":["亡"],"kàng háng gāng":["亢"],dà:["亣","眔"],jiāo:["交","僬","娇","嬌","峧","嶕","嶣","憍","椒","浇","澆","焦","礁","穚","簥","胶","膠","膲","茭","茮","蕉","虠","蛟","蟭","跤","轇","郊","鐎","驕","骄","鮫","鲛","鵁","鷦","鷮","鹪","䴔"],hài:["亥","嗐","害","氦","餀","饚","駭","駴","骇"],"hēng pēng":["亨"],mǔ:["亩","姆","峔","拇","母","牡","牳","畂","畆","畒","畝","畞","畮","砪","胟","踇","鉧","𬭁","𧿹"],ye:["亪"],xiǎng:["享","亯","响","想","晑","蚃","蠁","響","飨","餉","饗","饷","鮝","鯗","鱶","鲞"],jīng:["京","亰","兢","坕","坙","婛","惊","旌","旍","晶","橸","泾","涇","猄","睛","秔","稉","粳","精","経","經","綡","聙","腈","茎","荆","荊","菁","葏","驚","鯨","鲸","鶁","鶄","麖","麠","鼱","䴖"],tíng:["亭","停","婷","嵉","庭","廷","楟","榳","筳","聤","莛","葶","蜓","蝏","諪","邒","霆","鼮","䗴"],liàng:["亮","喨","悢","晾","湸","諒","谅","輌","輛","辆","鍄"],"qīn qìng":["亲","親"],bó:["亳","仢","侼","僰","博","帛","愽","懪","挬","搏","欂","浡","淿","渤","煿","牔","狛","瓝","礴","秡","箔","簙","糪","胉","脖","膊","舶","艊","萡","葧","袯","襏","襮","謈","踣","郣","鈸","鉑","鋍","鎛","鑮","钹","铂","镈","餺","馎","馛","馞","駁","駮","驳","髆","鵓","鹁"],yòu:["亴","佑","佦","侑","又","右","哊","唀","囿","姷","宥","峟","幼","狖","祐","蚴","誘","诱","貁","迶","酭","釉","鼬"],xiè:["亵","伳","偞","偰","僁","卨","卸","噧","塮","夑","媟","屑","屧","廨","徢","懈","暬","械","榍","榭","泻","洩","渫","澥","瀉","瀣","灺","炧","炨","燮","爕","獬","祄","禼","糏","紲","絏","絬","繲","纈","绁","缷","薢","薤","蟹","蠏","褉","褻","謝","谢","躞","邂","靾","韰","齂","齘","齛","齥","𬹼","𤫉"],"dǎn dàn":["亶","馾"],lián:["亷","劆","匲","匳","嗹","噒","奁","奩","嫾","帘","廉","怜","憐","涟","漣","濂","濓","瀮","熑","燫","簾","籢","籨","縺","翴","联","聨","聫","聮","聯","臁","莲","蓮","薕","螊","蠊","裢","褳","覝","謰","蹥","连","連","鎌","鐮","镰","鬑","鰱","鲢"],duǒ:["亸","哚","嚲","埵","崜","朵","朶","綞","缍","趓","躱","躲","軃"],"wěi mén":["亹","斖"],rén:["人","亻","仁","壬","忈","忎","朲","秂","芢","魜","鵀"],jí:["亼","亽","伋","佶","偮","卙","即","卽","及","叝","吉","堲","塉","姞","嫉","岌","嵴","嶯","彶","忣","急","愱","戢","揤","极","棘","楫","極","槉","檝","殛","汲","湒","潗","疾","瘠","皍","笈","箿","籍","級","级","膌","艥","蒺","蕀","蕺","蝍","螏","襋","觙","谻","踖","蹐","躤","輯","轚","辑","郆","銡","鍓","鏶","集","雧","霵","鹡","㴔"],wáng:["亾","仼","兦","莣","蚟"],"shén shí":["什"],lè:["仂","叻","忇","氻","泐","玏","砳","簕","艻","阞","韷","餎","鰳","鱳","鳓"],dīng:["仃","叮","帄","玎","疔","盯","耵","虰","靪"],zè:["仄","崱","庂","捑","昃","昗","汄"],"jǐn jìn":["仅","僅","嫤"],"pú pū":["仆"],"chóu qiú":["仇"],zhǎng:["仉","幥","掌","礃"],jīn:["今","堻","巾","惍","斤","津","珒","琻","璡","砛","筋","荕","衿","襟","觔","金","釒","釿","钅","鹶","黅","𬬱"],bīng:["仌","仒","兵","冫","冰","掤","氷","鋲"],réng:["仍","礽","芿","辸","陾"],fó:["仏","坲","梻"],"jīn sǎn":["仐"],lún:["仑","伦","侖","倫","囵","圇","婨","崘","崙","棆","沦","淪","磮","腀","菕","蜦","踚","輪","轮","錀","陯","鯩","𬬭"],cāng:["仓","仺","倉","凔","嵢","沧","滄","濸","獊","舱","艙","苍","蒼","螥","鸧"],"zǎi zǐ zī":["仔"],tā:["他","塌","它","榙","溻","牠","祂","褟","趿","遢","闧"],fù:["付","偩","傅","冨","副","咐","坿","复","妇","婦","媍","嬔","富","復","椱","祔","禣","竎","緮","縛","缚","腹","萯","蕧","蚹","蛗","蝜","蝮","袝","複","覄","覆","訃","詂","讣","負","賦","賻","负","赋","赙","赴","輹","鍑","鍢","阜","附","馥","駙","驸","鮒","鰒","鲋","鳆","㳇"],xiān:["仙","仚","佡","僊","僲","先","嘕","奾","屳","廯","忺","憸","掀","暹","杴","氙","珗","祆","秈","籼","繊","纎","纖","苮","褼","襳","跹","蹮","躚","酰","鍁","锨","韯","韱","馦","鱻","鶱","𬸣"],"tuō chà duó":["仛"],hóng:["仜","吰","垬","妅","娂","宏","宖","弘","彋","汯","泓","洪","浤","渱","潂","玒","玜","竑","竤","篊","粠","紘","紭","綋","纮","翃","翝","耾","苰","荭","葒","葓","谹","谼","鈜","鉷","鋐","閎","闳","霐","霟","鞃","魟","鴻","鸿","黉","黌","𫟹","𬭎"],tóng:["仝","佟","哃","峂","峝","庝","彤","晍","曈","桐","氃","浵","潼","犝","獞","眮","瞳","砼","秱","童","粡","膧","茼","蚒","詷","赨","酮","鉖","鉵","銅","铜","餇","鮦","鲖","𫍣","𦒍"],rèn:["仞","仭","刃","刄","妊","姙","屻","岃","扨","牣","祍","紉","紝","絍","纫","纴","肕","腍","衽","袵","訒","認","认","讱","軔","轫","鈓","靭","靱","韌","韧","飪","餁","饪"],qiān:["仟","佥","僉","千","圲","奷","孯","岍","悭","愆","慳","扦","拪","搴","撁","攐","攑","攓","杄","櫏","汘","汧","牵","牽","竏","签","簽","籖","籤","粁","芊","茾","蚈","褰","諐","謙","谦","谸","迁","遷","釺","鈆","鉛","鏲","钎","阡","韆","顅","騫","骞","鬜","鬝","鵮","鹐"],"gǎn hàn":["仠"],"yì gē":["仡"],dài:["代","侢","叇","垈","埭","岱","帒","带","帯","帶","廗","怠","戴","曃","柋","殆","瀻","玳","瑇","甙","簤","紿","緿","绐","艜","蝳","袋","襶","貣","贷","蹛","軑","軚","軩","轪","迨","霴","靆","鴏","黛","黱"],"lìng líng lǐng":["令"],chào:["仦","耖","觘"],"cháng zhǎng":["仧","兏","長","长"],sā:["仨"],cháng:["仩","偿","償","嘗","嚐","嫦","尝","常","徜","瑺","瓺","甞","肠","腸","膓","苌","萇","镸","鱨","鲿"],yí:["仪","侇","儀","冝","匜","咦","圯","夷","姨","宐","宜","宧","寲","峓","嶬","嶷","巸","彛","彜","彝","彞","怡","恞","扅","暆","栘","椬","椸","沂","洟","熪","瓵","痍","移","簃","籎","羠","胰","萓","蛦","螔","觺","謻","貽","贻","跠","迻","遺","鏔","頉","頤","頥","顊","颐","饴","鮧","鴺"],mù:["仫","凩","募","墓","幕","幙","慔","慕","暮","暯","木","楘","毣","沐","炑","牧","狇","目","睦","穆","艒","苜","莯","蚞","鉬","钼","雮","霂"],"men mén":["们"],fǎn:["仮","反","橎","返"],"chào miǎo":["仯"],"yǎng áng":["仰"],zhòng:["仲","众","堹","妕","媑","狆","眾","祌","筗","茽","蚛","衆","衶","諥"],"pǐ pí":["仳"],wò:["仴","偓","卧","媉","幄","握","楃","沃","渥","濣","瓁","瞃","硪","肟","腛","臥","齷","龌"],jiàn:["件","俴","健","僭","剑","剣","剱","劍","劎","劒","劔","墹","寋","建","徤","擶","旔","楗","毽","洊","涧","澗","牮","珔","瞷","磵","礀","箭","糋","繝","腱","臶","舰","艦","荐","薦","覸","諓","諫","譛","谏","賎","賤","贱","趝","践","踐","踺","轞","鉴","鍳","鍵","鐱","鑑","鑒","鑬","鑳","键","間","餞","饯","𬣡"],"jià jiè jie":["价"],"yǎo fó":["仸"],"rèn rén":["任"],"fèn bīn":["份"],dī:["仾","低","啲","埞","堤","岻","彽","樀","滴","磾","秪","羝","袛","趆","隄","鞮","䃅"],fǎng:["仿","倣","旊","昉","昘","瓬","眆","紡","纺","舫","訪","访","髣","鶭"],zhōng:["伀","刣","妐","幒","彸","忠","柊","汷","泈","炂","盅","籦","終","终","舯","蔠","蜙","螤","螽","衳","衷","蹱","鈡","鍾","鐘","钟","锺","鴤","鼨"],pèi:["伂","佩","姵","帔","斾","旆","沛","浿","珮","蓜","轡","辔","配","霈","馷"],diào:["伄","吊","弔","掉","瘹","盄","窎","窵","竨","訋","釣","鈟","銱","鋽","鑃","钓","铞","雿","魡"],dùn:["伅","潡","炖","燉","盾","砘","碷","踲","逇","遁","遯","鈍","钝"],wěn:["伆","刎","吻","呅","抆","桽","稳","穏","穩","紊","肳","脗"],xǐn:["伈"],kàng:["伉","匟","囥","抗","炕","鈧","钪"],ài:["伌","僾","塧","壒","嫒","嬡","愛","懓","暧","曖","爱","瑷","璦","皧","瞹","砹","硋","碍","礙","薆","譺","賹","鑀","隘","靉","餲","馤","鱫","鴱"],"jì qí":["伎","薺"],"xiū xǔ":["休"],"jìn yín":["伒"],dǎn:["伔","刐","撢","玬","瓭","紞","胆","膽","衴","賧","赕","黕","𬘘"],fū:["伕","呋","娐","孵","尃","怤","懯","敷","旉","玞","砆","稃","筟","糐","綒","肤","膚","荂","荴","衭","趺","跗","邞","鄜","酜","鈇","麩","麬","麱","麸","𫓧"],tǎng:["伖","傥","儻","埫","戃","曭","爣","矘","躺","鎲","钂","镋"],yōu:["优","優","呦","嚘","峳","幽","忧","悠","憂","攸","櫌","滺","瀀","纋","羪","耰","逌","鄾","麀"],huǒ:["伙","夥","火","煷","邩","鈥","钬"],"huì kuài":["会","會","浍","璯"],yǔ:["伛","俁","俣","偊","傴","匬","噳","圄","圉","宇","寙","屿","嶼","庾","挧","敔","斞","楀","瑀","瘐","祤","禹","穥","窳","羽","與","萭","貐","鄅","頨","麌","齬","龉","㺄"],cuì:["伜","啛","忰","悴","毳","淬","焠","疩","瘁","竁","粋","粹","紣","綷","翆","翠","脃","脆","脺","膬","膵","臎","萃","襊","顇"],sǎn:["伞","傘","糤","繖","饊","馓"],wěi:["伟","伪","偉","偽","僞","儰","娓","寪","屗","崣","嶉","徫","愇","捤","暐","梶","洧","浘","渨","炜","煒","猥","玮","瑋","痿","緯","纬","腲","艉","芛","苇","荱","萎","葦","蒍","蔿","蜼","諉","诿","踓","鍡","韑","韙","韡","韪","頠","颹","骩","骪","骫","鮪","鲔","𫇭","𬀩","𬱟"],"chuán zhuàn":["传","傳"],"chē jū":["伡","俥","车"],"jū chē":["車"],yá:["伢","厑","厓","堐","岈","崕","崖","涯","漄","牙","玡","琊","睚","笌","芽","蚜","衙","齖"],qiàn:["伣","俔","倩","儙","刋","壍","嬱","悓","棈","椠","槧","欠","歉","皘","篏","篟","縴","芡","蒨","蔳","輤","𬘬"],shāng:["伤","傷","商","墒","慯","殇","殤","滳","漡","熵","蔏","螪","觞","觴","謪","鬺"],chāng:["伥","倀","娼","昌","椙","淐","猖","琩","菖","裮","錩","锠","閶","阊","鯧","鲳","鼚"],"chen cāng":["伧"],xùn:["伨","侚","卂","噀","巺","巽","徇","愻","殉","殾","汛","潠","狥","蕈","訊","訓","訙","训","讯","迅","迿","逊","遜","鑂","顨","馴","驯"],xìn:["伩","囟","孞","脪","舋","衅","訫","釁","阠","顖"],chǐ:["伬","侈","卶","叺","呎","垑","恥","歯","耻","肔","胣","蚇","裭","褫","豉","鉹","齒","齿"],"xián xuán":["伭"],"nú nǔ":["伮"],"bó bǎi":["伯"],"gū gù":["估"],nǐ:["伱","你","儞","孴","拟","擬","旎","晲","狔","苨","薿","隬"],"nì ní":["伲"],bàn:["伴","办","半","姅","怑","扮","瓣","秚","絆","绊","辦","鉡","靽"],xù:["伵","侐","勖","勗","卹","叙","垿","壻","婿","序","恤","敍","敘","旭","昫","朂","槒","欰","殈","汿","沀","洫","溆","漵","潊","烅","烼","煦","獝","珬","盢","瞁","稸","絮","続","緒","緖","續","绪","续","聓","聟","蓄","藚","訹","賉","酗","頊","鱮","㳚"],zhòu:["伷","僽","冑","呪","咒","咮","宙","昼","晝","甃","皱","皺","籀","籒","籕","粙","紂","縐","纣","绉","胄","荮","葤","詋","酎","駎","驟","骤","㤘","㑇"],shēn:["伸","侁","兟","呻","堔","妽","娠","屾","峷","扟","敒","曑","柛","氠","深","燊","珅","甡","甧","申","眒","砷","穼","籶","籸","糂","紳","绅","罙","罧","葠","蓡","蔘","薓","裑","訷","詵","诜","身","駪","鯓","鯵","鰺","鲹","鵢","𬳽"],qū:["伹","佉","匤","呿","坥","屈","岖","岴","嶇","憈","抾","敺","浀","煀","祛","筁","粬","胠","蛆","蛐","袪","覻","詘","诎","趍","躯","軀","阹","駆","駈","驅","驱","髷","魼","鰸","鱋","鶌","麯","麴","麹","黢","㭕","𪨰","䓛"],"sì cì":["伺"],bēng:["伻","嘣","奟","崩","嵭","閍"],"sì shì":["似"],"jiā qié gā":["伽"],"yǐ chì":["佁"],"diàn tián":["佃","钿"],"hān gàn":["佄"],mài:["佅","劢","勱","卖","唛","売","脈","衇","賣","迈","邁","霡","霢","麥","麦","鿏"],dàn:["但","僤","啖","啗","啿","噉","嚪","帎","憺","旦","柦","氮","沊","泹","淡","狚","疍","癚","禫","窞","腅","萏","蓞","蛋","蜑","觛","訑","誕","诞","贉","霮","餤","饏","駳","髧","鴠","𫢸"],bù:["佈","勏","吥","咘","埗","埠","布","廍","怖","悑","步","歨","歩","瓿","篰","荹","蔀","踄","部","郶","鈈","钚","餢"],bǐ:["佊","俾","匕","夶","妣","彼","朼","柀","比","毞","沘","疕","秕","笔","筆","粃","聛","舭","貏","鄙"],"zhāo shào":["佋"],cǐ:["佌","此","泚","皉","𫚖"],wèi:["位","卫","味","喂","墛","媦","慰","懀","未","渭","煟","熭","犚","猬","畏","緭","罻","胃","苿","菋","藯","蘶","蝟","螱","衛","衞","褽","謂","讆","讏","谓","躗","躛","軎","轊","鏏","霨","餧","餵","饖","魏","鮇","鳚"],zuǒ:["佐","左","繓"],yǎng:["佒","傟","养","坱","岟","慃","懩","攁","氧","氱","炴","痒","癢","礢","紻","蝆","軮","養","駚"],"tǐ tī":["体","體"],zhàn:["佔","偡","嶘","战","戦","戰","栈","桟","棧","湛","站","綻","绽","菚","蘸","虥","虦","譧","轏","驏"],"hé hē hè":["何"],bì:["佖","咇","哔","嗶","坒","堛","壁","奰","妼","婢","嬖","币","幣","幤","庇","庳","廦","弊","弻","弼","彃","必","怭","愊","愎","敝","斃","梐","毕","毖","毙","湢","滗","滭","潷","煏","熚","狴","獘","獙","珌","璧","畀","畢","疪","痹","痺","皕","睤","碧","筚","箅","箆","篦","篳","粊","綼","縪","繴","罼","腷","苾","荜","萆","萞","蓖","蓽","蔽","薜","蜌","袐","襅","襞","襣","觱","詖","诐","貱","贔","赑","跸","蹕","躃","躄","避","邲","鄨","鄪","鉍","鏎","鐴","铋","閇","閉","閟","闭","陛","韠","飶","饆","馝","駜","驆","髀","魓","鮅","鷝","鷩","鼊"],tuó:["佗","坨","堶","岮","槖","橐","沱","砣","砤","碢","紽","詑","跎","酡","阤","陀","陁","駝","駞","騨","驒","驝","驼","鮀","鴕","鸵","鼉","鼍","鼧","𬶍"],shé:["佘","舌","虵","蛥"],"yì dié":["佚","昳","泆","軼"],"fó fú bì bó":["佛"],"zuò zuō":["作"],gōu:["佝","沟","溝","痀","篝","簼","緱","缑","袧","褠","鈎","鉤","钩","鞲","韝"],nìng:["佞","侫","倿","寕","泞","澝","濘"],qú:["佢","劬","戵","斪","欋","欔","氍","淭","灈","爠","璖","璩","癯","磲","籧","絇","胊","臞","菃","葋","蕖","蘧","蟝","蠷","蠼","衐","衢","躣","軥","鑺","鴝","鸜","鸲","鼩"],"yōng yòng":["佣"],wǎ:["佤","咓","砙","邷"],kǎ:["佧","垰","胩","裃","鉲"],bāo:["佨","勹","包","孢","煲","笣","胞","苞","蕔","裦","褒","襃","闁","齙","龅"],"huái huí":["佪"],"gé hè":["佫"],lǎo:["佬","咾","恅","栳","狫","珯","硓","老","耂","荖","蛯","轑","銠","铑","鮱"],xiáng:["佭","庠","栙","祥","絴","翔","詳","跭"],gé:["佮","匌","呄","嗝","塥","愅","挌","搿","槅","櫊","滆","膈","臵","茖","觡","諽","輵","轕","閣","阁","隔","鞷","韐","韚","騔","骼","鮯"],yáng:["佯","劷","垟","崸","徉","扬","揚","敭","旸","昜","暘","杨","楊","洋","炀","珜","疡","瘍","眻","蛘","諹","輰","鍚","钖","阦","阳","陽","霷","颺","飏","鰑","鴹","鸉"],bǎi:["佰","捭","摆","擺","栢","百","竡","粨","襬"],fǎ:["佱","峜","法","灋","砝","鍅"],mǐng:["佲","凕","姳","慏","酩"],"èr nài":["佴"],hěn:["佷","很","狠","詪","𬣳"],huó:["佸","活"],guǐ:["佹","匦","匭","厬","垝","姽","宄","庋","庪","恑","晷","湀","癸","祪","簋","蛫","蟡","觤","詭","诡","軌","轨","陒","鬼"],quán:["佺","全","啳","埢","姾","峑","巏","拳","搼","权","楾","権","權","泉","洤","湶","牷","犈","瑔","痊","硂","筌","縓","荃","葲","蜷","蠸","觠","詮","诠","跧","踡","輇","辁","醛","銓","铨","闎","顴","颧","駩","騡","鬈","鰁","鳈","齤"],tiāo:["佻","庣","旫","祧","聎"],jiǎo:["佼","儌","孂","挢","搅","撟","撹","攪","敫","敽","敿","晈","暞","曒","灚","燞","狡","璬","皎","皦","絞","纐","绞","腳","臫","蟜","譑","賋","踋","鉸","铰","餃","饺","鱎","龣"],cì:["佽","刾","庛","朿","栨","次","絘","茦","莿","蛓","螆","賜","赐"],xíng:["侀","刑","哘","型","娙","形","洐","硎","蛵","邢","郉","鈃","鉶","銒","钘","铏","陉","陘","餳","𫰛"],tuō:["侂","咃","咜","圫","托","拕","拖","汑","脫","脱","莌","袥","託","讬","飥","饦","魠","鮵"],kǎn:["侃","偘","冚","坎","惂","砍","莰","輡","轗","顑"],zhí:["侄","値","值","埴","執","姪","嬂","戠","执","摭","植","樴","淔","漐","直","禃","絷","縶","聀","职","職","膱","蟙","跖","踯","蹠","躑","軄","釞","馽"],gāi:["侅","垓","姟","峐","晐","畡","祴","荄","該","该","豥","賅","賌","赅","陔"],lái:["來","俫","倈","崃","崍","庲","来","梾","棶","涞","淶","猍","琜","筙","箂","莱","萊","逨","郲","錸","铼","騋","鯠","鶆","麳"],kuǎ:["侉","咵","垮","銙"],gōng:["侊","公","功","匑","匔","塨","宫","宮","工","幊","弓","恭","攻","杛","碽","糼","糿","肱","觥","觵","躬","躳","髸","龔","龚","䢼"],lì:["例","俐","俪","傈","儮","儷","凓","利","力","励","勵","历","厉","厤","厯","厲","叓","吏","呖","唎","唳","嚦","囇","坜","塛","壢","娳","婯","屴","岦","悧","悷","慄","戾","搮","暦","曆","曞","朸","枥","栃","栗","栛","檪","櫔","櫪","欐","歴","歷","沥","沴","涖","溧","濿","瀝","爏","犡","猁","珕","瑮","瓅","瓑","瓥","疬","痢","癧","盭","睙","砅","砺","砾","磿","礪","礫","礰","禲","秝","立","笠","篥","粒","粝","糲","脷","苈","茘","荔","莅","莉","蒚","蒞","藶","蚸","蛎","蛠","蜧","蝷","蠇","蠣","詈","讈","赲","轢","轣","轹","酈","鉝","隶","隷","雳","靂","靋","鬁","鳨","鴗","鷅","麜","𫵷","𬍛"],yīn:["侌","凐","喑","噾","囙","因","垔","堙","姻","婣","愔","慇","栶","氤","洇","溵","濦","瘖","禋","秵","筃","絪","緸","茵","蒑","蔭","裀","諲","銦","铟","闉","阥","阴","陰","陻","隂","霒","霠","鞇","音","韾","駰","骃","齗","𬘡","𬤇","𬮱"],mǐ:["侎","孊","弭","敉","洣","渳","灖","米","粎","羋","脒","芈","葞","蔝","銤"],zhū:["侏","株","槠","橥","櫧","櫫","洙","潴","瀦","猪","珠","硃","秼","絑","茱","蕏","蛛","蝫","蠩","袾","誅","諸","诛","诸","豬","跦","邾","銖","铢","駯","鮢","鯺","鴸","鼄"],ān:["侒","偣","媕","安","峖","庵","桉","氨","盦","盫","腤","菴","萻","葊","蓭","誝","諳","谙","鞌","鞍","韽","馣","鮟","鵪","鶕","鹌","𩽾"],lù:["侓","僇","勎","勠","圥","坴","塶","娽","峍","廘","彔","录","戮","摝","椂","樚","淕","淥","渌","漉","潞","琭","璐","甪","盝","睩","硉","祿","禄","稑","穋","箓","簏","簬","簵","簶","籙","粶","蔍","蕗","虂","螰","賂","赂","趢","路","踛","蹗","輅","轆","辂","辘","逯","醁","錄","録","錴","鏴","陸","騄","騼","鯥","鴼","鵦","鵱","鷺","鹭","鹿","麓","𫘧"],móu:["侔","劺","恈","眸","蛑","謀","谋","踎","鍪","鴾","麰"],ér:["侕","儿","児","兒","峏","栭","洏","粫","而","胹","荋","袻","輀","轜","陑","隭","髵","鮞","鲕","鴯","鸸"],"dòng tǒng tóng":["侗"],chà:["侘","奼","姹","岔","汊","詫","诧"],chì:["侙","傺","勅","勑","叱","啻","彳","恜","慗","憏","懘","抶","敕","斥","杘","湁","灻","炽","烾","熾","痓","痸","瘛","翄","翅","翤","翨","腟","赤","趩","遫","鉓","雴","飭","饬","鶒","鷘"],"gòng gōng":["供","共"],zhōu:["侜","周","喌","州","徟","洲","淍","炿","烐","珘","矪","舟","謅","譸","诌","賙","赒","輈","輖","辀","週","郮","銂","霌","駲","騆","鵃","鸼"],rú:["侞","儒","嚅","如","嬬","孺","帤","曘","桇","渪","濡","筎","茹","蕠","薷","蝡","蠕","袽","襦","邚","醹","銣","铷","顬","颥","鱬","鴑","鴽"],"jiàn cún":["侟"],xiá:["侠","俠","匣","峡","峽","敮","暇","柙","炠","烚","狎","狭","狹","珨","瑕","硖","硤","碬","祫","筪","縖","翈","舝","舺","蕸","赮","轄","辖","遐","鍜","鎋","陜","陿","霞","騢","魻","鶷","黠"],lǚ:["侣","侶","儢","吕","呂","屡","屢","履","挔","捛","旅","梠","焒","祣","稆","穭","絽","縷","缕","膂","膐","褛","褸","郘","鋁","铝"],ta:["侤"],"jiǎo yáo":["侥","僥","徺"],zhēn:["侦","偵","寊","帧","帪","幀","搸","斟","桢","楨","榛","樼","殝","浈","湞","潧","澵","獉","珍","珎","瑧","甄","眞","真","砧","碪","祯","禎","禛","箴","胗","臻","葴","蒖","蓁","薽","貞","贞","轃","遉","酙","針","鉁","錱","鍼","针","鱵"],"cè zè zhāi":["侧","側"],kuài:["侩","儈","凷","哙","噲","圦","块","塊","巜","廥","快","旝","欳","狯","獪","筷","糩","脍","膾","郐","鄶","鱠","鲙"],chái:["侪","儕","喍","柴","犲","祡","豺"],nóng:["侬","儂","农","哝","噥","檂","欁","浓","濃","燶","禯","秾","穠","脓","膿","蕽","襛","譨","農","辳","醲","鬞","𬪩"],jǐn:["侭","儘","卺","厪","巹","槿","漌","瑾","紧","緊","菫","蓳","謹","谨","錦","锦","饉","馑"],"hóu hòu":["侯","矦"],jiǒng:["侰","僒","冏","囧","泂","澃","炯","烱","煚","煛","熲","燛","窘","綗","褧","迥","逈","顈","颎","䌹"],"chěng tǐng":["侱"],"zhèn zhēn":["侲","揕"],zuò:["侳","做","唑","坐","岝","岞","座","祚","糳","胙","葃","葄","蓙","袏","阼"],qīn:["侵","兓","媇","嵚","嶔","欽","衾","誛","钦","顉","駸","骎","鮼"],jú:["侷","啹","婅","局","巈","椈","橘","泦","淗","湨","焗","犑","狊","粷","菊","蘜","趜","跼","蹫","輂","郹","閰","駶","驧","鵙","鵴","鶪","鼰","鼳","䴗"],"shù dōu":["侸"],tǐng:["侹","圢","娗","挺","涏","烶","珽","脡","艇","誔","頲","颋"],shèn:["侺","愼","慎","昚","涁","渗","滲","瘆","瘮","眘","祳","肾","胂","脤","腎","蜃","蜄","鋠"],"tuì tuó":["侻"],nán:["侽","喃","娚","抩","暔","枏","柟","楠","男","畘","莮","萳","遖"],xiāo:["侾","哓","嘵","嚻","囂","婋","宯","宵","庨","彇","揱","枭","枵","梟","櫹","歊","毊","消","潇","瀟","灱","灲","烋","焇","猇","獢","痚","痟","硝","硣","窙","箫","簘","簫","綃","绡","翛","膮","萧","蕭","虈","虓","蟂","蟏","蟰","蠨","踃","逍","銷","销","霄","颵","驍","骁","髇","髐","魈","鴞","鴵","鷍","鸮"],"biàn pián":["便","緶","缏"],tuǐ:["俀","腿","蹆","骽"],xì:["係","匸","卌","呬","墍","屃","屓","屭","忥","怬","恄","椞","潝","潟","澙","熂","犔","磶","禊","細","綌","縘","细","绤","舃","舄","蕮","虩","衋","覤","赩","趇","郤","釳","阋","隙","隟","霼","餼","饩","鬩","黖"],cù:["促","媨","憱","猝","瘄","瘯","簇","縬","脨","蔟","誎","趗","踧","踿","蹙","蹴","蹵","醋","顣","鼀"],é:["俄","囮","娥","峉","峨","峩","涐","珴","皒","睋","磀","莪","訛","誐","譌","讹","迗","鈋","鋨","锇","頟","額","额","魤","鵝","鵞","鹅"],qiú:["俅","叴","唒","囚","崷","巯","巰","扏","梂","殏","毬","求","汓","泅","浗","湭","煪","犰","玌","球","璆","皳","盚","紌","絿","肍","芁","莍","虬","虯","蛷","裘","觓","觩","訄","訅","賕","赇","逎","逑","遒","酋","釚","釻","銶","頄","鮂","鯄","鰽","鼽","𨱇"],xú:["俆","徐","禑"],"guàng kuāng":["俇"],kù:["俈","喾","嚳","库","庫","廤","瘔","絝","绔","袴","裤","褲","酷"],wù:["俉","务","務","勿","卼","坞","塢","奦","婺","寤","屼","岉","嵨","忢","悞","悟","悮","戊","扤","晤","杌","溩","焐","熃","物","痦","矹","窹","粅","蘁","誤","误","鋈","阢","隖","雾","霚","霧","靰","騖","骛","鶩","鹜","鼿","齀"],jùn:["俊","儁","呁","埈","寯","峻","懏","捃","攟","晙","棞","燇","珺","畯","竣","箟","蜠","賐","郡","陖","餕","馂","駿","骏","鵔","鵕","鵘","䐃"],liáng:["俍","墚","梁","椋","樑","粮","粱","糧","良","輬","辌","𫟅"],zǔ:["俎","唨","爼","祖","組","组","詛","诅","鎺","阻","靻"],"qiào xiào":["俏"],yǒng:["俑","勇","勈","咏","埇","塎","嵱","彮","怺","恿","悀","惥","愑","愹","慂","柡","栐","永","泳","湧","甬","蛹","詠","踊","踴","鯒","鲬"],hùn:["俒","倱","圂","尡","慁","掍","溷","焝","睴","觨","諢","诨"],jìng:["俓","傹","境","妌","婙","婧","弪","弳","径","徑","敬","曔","桱","梷","浄","瀞","獍","痉","痙","竞","竟","竫","競","竸","胫","脛","莖","誩","踁","迳","逕","鏡","镜","靖","静","靜","鵛"],sàn:["俕","閐"],pěi:["俖"],sú:["俗"],xī:["俙","僖","兮","凞","卥","厀","吸","唏","唽","嘻","噏","嚱","夕","奚","嬆","嬉","屖","嵠","巇","希","徆","徯","息","悉","悕","惁","惜","昔","晞","晰","晳","曦","析","桸","榽","樨","橀","欷","氥","汐","浠","淅","渓","溪","烯","焁","焈","焟","熄","熈","熙","熹","熺","熻","燨","爔","牺","犀","犠","犧","琋","瘜","皙","睎","瞦","矽","硒","磎","礂","稀","穸","窸","粞","糦","緆","繥","羲","翕","翖","肸","肹","膝","舾","莃","菥","蒠","蜥","螅","蟋","蠵","西","觹","觽","觿","譆","谿","豀","豨","豯","貕","赥","邜","鄎","酅","醯","釸","錫","鏭","鐊","鑴","锡","隵","餏","饎","饻","鯑","鵗","鸂","鼷"],lǐ:["俚","娌","峢","峲","李","欚","浬","澧","理","礼","禮","粴","裏","裡","豊","逦","邐","醴","鋰","锂","鯉","鱧","鱱","鲤","鳢"],bǎo:["保","堢","媬","宝","寚","寳","寶","珤","緥","葆","藵","褓","賲","靌","飹","飽","饱","駂","鳵","鴇","鸨"],"yú shù yù":["俞"],"sì qí":["俟"],"xìn shēn":["信"],xiū:["俢","修","咻","庥","樇","烌","羞","脙","脩","臹","貅","銝","鎀","飍","饈","馐","髤","髹","鮴","鱃","鵂","鸺","䗛"],dì:["俤","偙","僀","埊","墑","墬","娣","帝","怟","旳","梊","焍","玓","甋","眱","睇","碲","祶","禘","第","締","缔","腣","菂","蒂","蔕","蝃","蝭","螮","諦","谛","踶","递","逓","遞","遰","鉪","𤧛","䗖"],chóu:["俦","儔","嬦","惆","愁","懤","栦","燽","畴","疇","皗","稠","筹","籌","絒","綢","绸","菗","詶","讎","讐","踌","躊","酧","酬","醻","雔","雠","雦"],zhì:["俧","偫","儨","制","劕","垁","娡","寘","帙","帜","幟","庢","庤","廌","彘","徏","徝","志","忮","懥","懫","挃","挚","掷","摯","擲","旘","晊","智","栉","桎","梽","櫍","櫛","治","洷","滍","滞","滯","潌","瀄","炙","熫","狾","猘","璏","瓆","痔","痣","礩","祑","秩","秷","稚","稺","穉","窒","紩","緻","置","翐","膣","至","致","芖","蛭","袟","袠","製","覟","觗","觯","觶","誌","豑","豒","貭","質","贄","质","贽","跱","踬","躓","輊","轾","郅","銍","鋕","鑕","铚","锧","陟","隲","雉","駤","騭","騺","驇","骘","鯯","鴙","鷙","鸷","𬃊"],"liǎ liǎng":["俩"],jiǎn:["俭","倹","儉","减","剪","堿","弿","彅","戩","戬","拣","挸","捡","揀","撿","枧","柬","梘","检","検","檢","減","湕","瀽","瑐","睑","瞼","硷","碱","礆","笕","筧","简","簡","絸","繭","翦","茧","藆","蠒","裥","襇","襉","襺","詃","謇","謭","譾","谫","趼","蹇","鐗","鬋","鰎","鹸","鹻","鹼"],huò:["俰","咟","嚯","嚿","奯","彠","惑","或","擭","旤","曤","檴","沎","湱","瀖","獲","癨","眓","矐","祸","禍","穫","窢","耯","臛","艧","获","蒦","藿","蠖","謋","貨","货","鍃","鑊","镬","雘","霍","靃","韄","㸌"],"jù jū":["俱","据","鋸","锯"],xiào:["俲","傚","効","咲","哮","啸","嘋","嘨","嘯","孝","效","斅","斆","歗","涍","熽","笑","詨","誟"],pái:["俳","徘","牌","犤","猅","簰","簲","輫"],biào:["俵","鰾","鳔"],"chù tì":["俶"],fèi:["俷","剕","厞","吠","屝","废","廃","廢","昲","曊","櫠","沸","濷","狒","癈","肺","萉","費","费","鐨","镄","陫","靅","鼣"],fèng:["俸","凤","奉","湗","焨","煈","賵","赗","鳯","鳳","鴌"],ǎn:["俺","唵","埯","揞","罯","銨","铵"],bèi:["俻","倍","偝","偹","備","僃","备","悖","惫","愂","憊","昁","梖","焙","牬","犕","狈","狽","珼","琲","碚","禙","糒","苝","蓓","蛽","褙","貝","贝","軰","輩","辈","邶","郥","鄁","鋇","鐾","钡","鞁","鞴","𬇙"],yù:["俼","儥","喅","喩","喻","域","堉","妪","嫗","寓","峪","嶎","庽","彧","御","愈","慾","戫","昱","棛","棜","棫","櫲","欎","欝","欲","毓","浴","淯","滪","潏","澦","灪","焴","煜","燏","燠","爩","狱","獄","玉","琙","瘉","癒","砡","硢","硲","礇","礖","礜","禦","秗","稢","稶","篽","籞","籲","粖","緎","罭","聿","肀","艈","芋","芌","茟","蒮","蓣","蓹","蕷","蘌","蜟","蜮","袬","裕","誉","諭","譽","谕","豫","軉","輍","逳","遇","遹","郁","醧","鈺","鋊","錥","鐭","钰","閾","阈","雤","霱","預","预","飫","饇","饫","馭","驈","驭","鬰","鬱","鬻","魊","鱊","鳿","鴥","鴧","鴪","鵒","鷸","鸒","鹆","鹬"],xīn:["俽","噺","妡","嬜","廞","心","忄","忻","惞","新","昕","杺","欣","歆","炘","盺","薪","訢","辛","邤","鈊","鋅","鑫","锌","馨","馫","䜣","𫷷"],"hǔ chí":["俿"],jiù:["倃","僦","匓","匛","匶","厩","咎","就","廄","廏","廐","慦","捄","救","旧","柩","柾","桕","欍","殧","疚","臼","舅","舊","鯦","鷲","鹫","麔","齨","㠇"],yáo:["倄","傜","嗂","垚","堯","姚","媱","尧","尭","峣","嶢","嶤","徭","揺","搖","摇","摿","暚","榣","烑","爻","猺","珧","瑤","瑶","磘","窑","窯","窰","肴","蘨","謠","謡","谣","軺","轺","遙","遥","邎","顤","颻","飖","餆","餚","鰩","鱙","鳐"],"cuì zú":["倅"],"liǎng liǎ":["倆"],wǎn:["倇","唍","婉","惋","挽","晚","晥","晩","晼","梚","椀","琬","畹","皖","盌","碗","綩","綰","绾","脘","萖","踠","輓","鋔"],zǒng:["倊","偬","傯","嵸","总","惣","捴","搃","摠","燪","総","緫","縂","總","蓗"],guān:["倌","关","官","棺","瘝","癏","窤","蒄","関","闗","關","鰥","鱞","鳏"],tiǎn:["倎","唺","忝","悿","晪","殄","淟","睓","腆","舔","覥","觍","賟","錪","餂"],mén:["們","扪","捫","璊","菛","虋","鍆","钔","門","閅","门","𫞩"],"dǎo dào":["倒"],"tán tàn":["倓","埮"],"juè jué":["倔"],chuí:["倕","垂","埀","捶","搥","桘","棰","槌","箠","腄","菙","錘","鎚","锤","陲","顀"],xìng:["倖","姓","婞","嬹","幸","性","悻","杏","涬","緈","臖","荇","莕","葕"],péng:["倗","傰","塜","塳","弸","憉","捀","朋","棚","椖","樥","硼","稝","竼","篷","纄","膨","芃","蓬","蘕","蟚","蟛","袶","輣","錋","鑝","韸","韼","騯","髼","鬅","鬔","鵬","鹏"],"tǎng cháng":["倘"],hòu:["候","厚","后","垕","堠","後","洉","茩","豞","逅","郈","鮜","鱟","鲎","鲘"],tì:["倜","剃","嚏","嚔","屉","屜","悌","悐","惕","惖","戻","掦","替","朑","歒","殢","涕","瓋","笹","籊","薙","褅","逖","逷","髰","鬀","鬄"],gàn:["倝","凎","幹","榦","檊","淦","灨","盰","紺","绀","詌","贑","赣","骭","㽏"],"liàng jìng":["倞","靓"],suī:["倠","哸","夊","滖","濉","眭","睢","芕","荽","荾","虽","雖","鞖"],"chàng chāng":["倡"],jié:["倢","偼","傑","刦","刧","刼","劫","劼","卩","卪","婕","媫","孑","岊","崨","嵥","嶻","巀","幯","截","捷","掶","擮","昅","杢","杰","桀","桝","楬","楶","榤","洁","滐","潔","狤","睫","礍","竭","節","羯","莭","蓵","蛣","蜐","蠘","蠞","蠽","衱","袺","訐","詰","誱","讦","踕","迼","鉣","鍻","镼","頡","鮚","鲒","㛃"],"kǒng kōng":["倥"],juàn:["倦","劵","奆","慻","桊","淃","狷","獧","眷","睊","睠","絭","絹","绢","罥","羂","腃","蔨","鄄","餋"],zōng:["倧","堫","宗","嵏","嵕","惾","朡","棕","椶","熧","猣","磫","緃","翪","腙","葼","蝬","豵","踨","踪","蹤","鍐","鑁","騌","騣","骔","鬃","鬉","鬷","鯮","鯼"],ní:["倪","坭","埿","尼","屔","怩","淣","猊","籾","聣","蚭","蜺","觬","貎","跜","輗","郳","鈮","铌","霓","馜","鯢","鲵","麑","齯","𫐐","𫠜"],zhuō:["倬","拙","捉","桌","梲","棁","棳","槕","涿","窧","鐯","䦃"],"wō wēi":["倭"],luǒ:["倮","剆","曪","瘰","癳","臝","蓏","蠃","裸","躶"],sōng:["倯","凇","娀","崧","嵩","庺","憽","松","枀","枩","柗","梥","檧","淞","濍","硹","菘","鬆"],lèng:["倰","堎","愣","睖","踜"],zì:["倳","剚","字","恣","渍","漬","牸","眥","眦","胔","胾","自","茡","荢"],bèn:["倴","坌","捹","撪","渀","笨","逩"],cǎi:["倸","啋","婇","彩","採","棌","毝","睬","綵","跴","踩"],zhài:["债","債","寨","瘵","砦"],yē:["倻","吔","噎","擨","暍","椰","歋","潱","蠮"],shà:["倽","唼","喢","歃","箑","翜","翣","萐","閯","霎"],qīng:["倾","傾","卿","圊","寈","氢","氫","淸","清","蜻","軽","輕","轻","郬","錆","鑋","靑","青","鯖"],yīng:["偀","嘤","噟","嚶","婴","媖","嫈","嬰","孆","孾","愥","撄","攖","朠","桜","樱","櫻","渶","煐","珱","瑛","璎","瓔","甇","甖","碤","礯","緓","纓","绬","缨","罂","罃","罌","膺","英","莺","蘡","蝧","蠳","褮","譻","賏","軈","鑍","锳","霙","韺","鴬","鶑","鶧","鶯","鷪","鷹","鸎","鸚","鹦","鹰","䓨"],"chēng chèn":["偁","爯"],ruǎn:["偄","朊","瑌","瓀","碝","礝","腝","軟","輭","软","阮"],"zhòng tóng":["偅"],chǔn:["偆","惷","睶","萶","蠢","賰"],"jiǎ jià":["假"],"jì jié":["偈"],"bǐng bìng":["偋"],ruò:["偌","叒","嵶","弱","楉","焫","爇","箬","篛","蒻","鄀","鰙","鰯","鶸"],tí:["偍","厗","啼","嗁","崹","漽","瑅","睼","禵","稊","緹","缇","罤","蕛","褆","謕","趧","蹄","蹏","醍","鍗","題","题","騠","鮷","鯷","鳀","鵜","鷤","鹈","𫘨"],wēi:["偎","危","喴","威","媙","嶶","巍","微","愄","揋","揻","椳","楲","溦","烓","煨","燰","癓","縅","葨","葳","薇","蜲","蝛","覣","詴","逶","隇","隈","霺","鰃","鰄","鳂"],piān:["偏","囨","媥","楄","犏","篇","翩","鍂"],yàn:["偐","厌","厭","唁","喭","嚈","嚥","堰","妟","姲","嬊","嬿","宴","彥","彦","敥","晏","暥","曕","曣","滟","灎","灔","灧","灩","焔","焰","焱","熖","燄","牪","猒","砚","硯","艳","艶","艷","覎","觃","觾","諺","讌","讞","谚","谳","豓","豔","贋","贗","赝","軅","酀","酽","醼","釅","雁","餍","饜","騐","験","騴","驗","驠","验","鬳","鳫","鴈","鴳","鷃","鷰","齞"],"tǎng dàng":["偒"],è:["偔","匎","卾","厄","呝","咢","噩","垩","堊","堮","岋","崿","廅","悪","愕","戹","扼","搤","搹","擜","櫮","歞","歺","湂","琧","砈","砐","硆","腭","苊","萼","蕚","蚅","蝁","覨","諤","讍","谔","豟","軛","軶","轭","遌","遏","遻","鄂","鈪","鍔","鑩","锷","阨","阸","頞","顎","颚","餓","餩","饿","鰐","鰪","鱷","鳄","鶚","鹗","齃","齶","𫫇","𥔲"],xié:["偕","勰","协","協","嗋","垥","奊","恊","愶","拹","携","撷","擕","擷","攜","斜","旪","熁","燲","綊","緳","縀","缬","翓","胁","脅","脇","脋","膎","蝢","衺","襭","諧","讗","谐","鞋","鞵","龤","㙦"],chě:["偖","扯","撦"],shěng:["偗","渻","眚"],chā:["偛","嗏","扠","挿","插","揷","疀","臿","艖","銟","鍤","锸","餷"],huáng:["偟","凰","喤","堭","墴","媓","崲","徨","惶","楻","湟","煌","獚","瑝","璜","癀","皇","磺","穔","篁","簧","艎","葟","蝗","蟥","諻","趪","遑","鍠","鐄","锽","隍","韹","餭","騜","鰉","鱑","鳇","鷬","黃","黄","𨱑"],yǎo:["偠","咬","婹","宎","岆","杳","柼","榚","溔","狕","窅","窈","舀","苭","闄","騕","鷕","齩"],"chǒu qiào":["偢"],yóu:["偤","尤","庮","怣","沋","油","浟","游","犹","猶","猷","由","疣","秞","肬","莜","莸","蕕","蚰","蝣","訧","輏","輶","逰","遊","邮","郵","鈾","铀","駀","魷","鮋","鱿","鲉","𬨎"],xū:["偦","墟","媭","嬃","楈","欨","歔","燸","疞","盱","綇","縃","繻","胥","蕦","虗","虚","虛","蝑","裇","訏","許","諝","譃","谞","鑐","需","須","须","顼","驉","鬚","魆","魖","𬣙","𦈡"],zhā:["偧","哳","抯","挓","揸","摣","樝","渣","皶","觰","譇","齄","齇"],cī:["偨","疵","蠀","趀","骴","髊","齹"],bī:["偪","屄","楅","毴","豍","逼","鰏","鲾","鵖"],xún:["偱","噚","寻","尋","峋","巡","廵","循","恂","揗","攳","旬","杊","栒","桪","樳","洵","浔","潯","燅","燖","珣","璕","畃","紃","荀","蟳","詢","询","鄩","鱏","鱘","鲟","𬘓","𬩽","𬍤","𬊈"],"cāi sī":["偲"],duān:["偳","媏","端","褍","鍴"],ǒu:["偶","吘","嘔","耦","腢","蕅","藕","𬉼","𠙶"],tōu:["偷","偸","鍮"],"zán zá zǎ":["偺"],"lǚ lóu":["偻","僂"],fèn:["偾","僨","奋","奮","弅","忿","愤","憤","瀵","瞓","秎","粪","糞","膹","鱝","鲼"],"kuǐ guī":["傀"],sǒu:["傁","叜","叟","嗾","櫢","瞍","薮","藪"],"zhì sī tí":["傂"],sù:["傃","僳","嗉","塐","塑","夙","嫊","愫","憟","榡","樎","樕","殐","泝","涑","溯","溸","潚","潥","玊","珟","璛","簌","粛","粟","素","縤","肃","肅","膆","蔌","藗","觫","訴","謖","诉","谡","趚","蹜","速","遡","遬","鋉","餗","驌","骕","鱐","鷫","鹔","𫗧"],xiā:["傄","煆","瞎","虲","谺","颬","鰕"],"yuàn yuán":["傆","媛"],rǒng:["傇","冗","宂","氄","軵"],nù:["傉","怒"],yùn:["傊","孕","恽","惲","愠","慍","枟","腪","蕴","薀","藴","蘊","褞","貟","运","運","郓","鄆","酝","醖","醞","韗","韞","韵","韻","餫"],"gòu jiǎng":["傋"],mà:["傌","嘜","榪","睰","祃","禡","罵","閁","駡","骂","鬕"],bàng:["傍","塝","棒","玤","稖","艕","蒡","蜯","謗","谤","鎊","镑"],diān:["傎","厧","嵮","巅","巓","巔","掂","攧","敁","槇","滇","癫","癲","蹎","顚","顛","颠","齻"],táng:["傏","唐","啺","坣","堂","塘","搪","棠","榶","溏","漟","煻","瑭","磄","禟","篖","糃","糖","糛","膅","膛","蓎","螗","螳","赯","踼","鄌","醣","鎕","隚","餹","饄","鶶","䣘"],hào:["傐","哠","恏","昊","昦","晧","暠","暤","暭","曍","浩","淏","澔","灏","灝","皓","皜","皞","皡","皥","耗","聕","薃","號","鄗","顥","颢","鰝"],"xī xì":["傒"],shān:["傓","删","刪","剼","圸","山","挻","搧","柵","檆","潸","澘","煽","狦","珊","笘","縿","羴","羶","脠","舢","芟","衫","跚","軕","邖","閊","鯅"],"qiàn jiān":["傔"],"què jué":["傕","埆"],"cāng chen":["傖"],róng:["傛","媶","嫆","嬫","容","峵","嵘","嶸","戎","搈","曧","栄","榕","榮","榵","毧","溶","瀜","烿","熔","狨","瑢","穁","絨","绒","羢","肜","茙","茸","荣","蓉","蝾","融","螎","蠑","褣","鎔","镕","駥"],"tà tàn":["傝"],suō:["傞","唆","嗍","嗦","娑","摍","桫","梭","睃","簑","簔","羧","莏","蓑","趖","鮻"],dǎi:["傣","歹"],zài:["傤","儎","再","在","扗","洅","載","酨"],gǔ:["傦","古","啒","尳","愲","榖","榾","汩","淈","濲","瀔","牯","皷","皼","盬","瞽","穀","罟","羖","股","脵","臌","薣","蛊","蠱","詁","诂","轂","逧","鈷","钴","餶","馉","鼓","鼔","𦙶"],bīn:["傧","宾","彬","斌","椕","滨","濒","濱","濵","瀕","繽","缤","虨","豩","豳","賓","賔","邠","鑌","镔","霦","顮"],chǔ:["储","儲","杵","椘","楚","楮","檚","濋","璴","础","礎","禇","處","齭","齼","𬺓"],nuó:["傩","儺","挪","梛","橠"],"cān càn":["傪"],lěi:["傫","儡","厽","垒","塁","壘","壨","櫐","灅","癗","矋","磊","礨","耒","蕌","蕾","藟","蘽","蠝","誄","讄","诔","鑸","鸓"],cuī:["催","凗","墔","崔","嵟","慛","摧","榱","獕","磪","鏙"],yōng:["傭","嗈","墉","壅","嫞","庸","廱","慵","拥","擁","滽","灉","牅","痈","癕","癰","臃","邕","郺","鄘","鏞","镛","雍","雝","饔","鱅","鳙","鷛"],"zāo cáo":["傮"],sǒng:["傱","嵷","怂","悚","愯","慫","竦","耸","聳","駷","㧐"],ào:["傲","坳","垇","墺","奡","嫯","岙","岰","嶴","懊","擙","澳","鏊","驁","骜"],"qī còu":["傶"],chuǎng:["傸","磢","闖","闯"],shǎ:["傻","儍"],hàn:["傼","垾","悍","憾","扞","捍","撖","撼","旱","晘","暵","汉","涆","漢","瀚","焊","猂","皔","睅","翰","莟","菡","蛿","蜭","螒","譀","輚","釬","銲","鋎","雗","頷","顄","颔","駻","鶾"],zhāng:["傽","嫜","张","張","彰","慞","暲","樟","漳","獐","璋","章","粻","蔁","蟑","遧","鄣","鏱","餦","騿","鱆","麞"],"yān yàn":["傿","墕","嬮"],"piào biāo":["僄","骠"],liàn:["僆","堜","媡","恋","戀","楝","殓","殮","湅","潋","澰","瀲","炼","煉","瑓","練","纞","练","萰","錬","鍊","鏈","链","鰊","𬶠"],màn:["㵘","僈","墁","幔","慢","曼","漫","澷","熳","獌","縵","缦","蔄","蘰","鄤","鏝","镘","𬜬"],"tàn tǎn":["僋"],yíng:["僌","営","塋","嬴","攍","楹","櫿","溁","溋","滢","潆","濙","濚","濴","瀅","瀛","瀠","瀯","灐","灜","熒","營","瑩","盁","盈","禜","籝","籯","縈","茔","荧","莹","萤","营","萦","萾","蓥","藀","蛍","蝇","蝿","螢","蠅","謍","贏","赢","迎","鎣"],dòng:["働","冻","凍","动","動","姛","戙","挏","栋","棟","湩","硐","胨","胴","腖","迵","霘","駧"],zhuàn:["僎","啭","囀","堟","撰","灷","瑑","篆","腞","蒃","襈","譔","饌","馔"],xiàng:["像","勨","向","嚮","姠","嶑","曏","橡","珦","缿","蟓","衖","襐","象","鐌","項","项","鱌"],shàn:["僐","善","墠","墡","嬗","擅","敾","椫","樿","歚","汕","灗","疝","磰","繕","缮","膳","蟮","蟺","訕","謆","譱","讪","贍","赡","赸","鄯","鐥","饍","騸","骟","鱓","鱔","鳝","𫮃"],"tuí tuǐ":["僓"],zǔn:["僔","噂","撙","譐"],pú:["僕","匍","圤","墣","濮","獛","璞","瞨","穙","莆","菐","菩","葡","蒱","蒲","贌","酺","鏷","镤"],láo:["僗","劳","労","勞","哰","崂","嶗","憥","朥","浶","牢","痨","癆","窂","簩","醪","鐒","铹","顟","髝","𫭼"],chǎng:["僘","厰","廠","敞","昶","氅","鋹","𬬮"],guāng:["僙","光","咣","垙","姯","洸","灮","炗","炚","炛","烡","珖","胱","茪","輄","銧","黆","𨐈"],liáo:["僚","嘹","嫽","寥","寮","尞","屪","嵺","嶚","嶛","廫","憀","敹","暸","橑","獠","璙","疗","療","竂","簝","繚","缭","聊","膋","膫","藔","蟟","豂","賿","蹘","辽","遼","飉","髎","鷯","鹩"],dèng:["僜","凳","墱","嶝","櫈","瞪","磴","覴","邓","鄧","隥"],"chán zhàn zhuàn":["僝"],bō:["僠","嶓","拨","撥","播","波","溊","玻","癶","盋","砵","碆","礡","缽","菠","袰","蹳","鉢","钵","餑","饽","驋","鱍","𬭛"],huì:["僡","匯","卉","喙","嘒","嚖","圚","嬒","寭","屶","屷","彗","彙","彚","徻","恚","恵","惠","慧","憓","懳","晦","暳","槥","橞","檅","櫘","汇","泋","滙","潓","烩","燴","獩","璤","瞺","硊","秽","穢","篲","絵","繪","绘","翙","翽","荟","蔧","蕙","薈","薉","蟪","詯","誨","諱","譓","譿","讳","诲","賄","贿","鐬","闠","阓","靧","頮","顪","颒","餯","𬤝","𬭬"],chuǎn:["僢","喘","舛","荈","踳"],"tiě jiàn":["僣"],sēng:["僧","鬙"],xiàn:["僩","僴","哯","垷","塪","姭","娊","宪","岘","峴","憲","撊","晛","橌","橺","涀","瀗","献","獻","现","現","県","睍","粯","糮","絤","綫","線","线","缐","羡","羨","腺","臔","臽","苋","莧","誢","豏","鋧","錎","限","陥","陷","霰","餡","馅","麲","鼸","𬀪","𪾢"],"yù jú":["僪"],"è wū":["僫"],"tóng zhuàng":["僮"],lǐn:["僯","凛","凜","廩","廪","懍","懔","撛","檁","檩","澟","癛","癝"],gù:["僱","凅","固","堌","崓","崮","故","梏","棝","牿","痼","祻","錮","锢","雇","顧","顾","鯝","鲴"],jiāng:["僵","壃","姜","橿","殭","江","畕","疅","礓","繮","缰","翞","茳","葁","薑","螀","螿","豇","韁","鱂","鳉"],mǐn:["僶","冺","刡","勄","悯","惽","愍","慜","憫","抿","敃","敏","敯","泯","潣","皿","笢","笽","簢","蠠","閔","閩","闵","闽","鰵","鳘","黽"],jìn:["僸","凚","噤","嚍","墐","壗","妗","嬧","搢","晉","晋","枃","殣","浕","浸","溍","濅","濜","烬","煡","燼","琎","瑨","璶","盡","祲","縉","缙","荩","藎","覲","觐","賮","贐","赆","近","进","進","靳","齽"],"jià jie":["價"],qiào:["僺","峭","帩","撬","殻","窍","竅","誚","诮","躈","陗","鞩","韒","髚"],pì:["僻","媲","嫓","屁","澼","甓","疈","譬","闢","鷿","鸊","䴙"],sài:["僿","簺","賽","赛"],"chán tǎn shàn":["儃"],"dāng dàng":["儅","当","闣"],xuān:["儇","喧","塇","媗","宣","愃","愋","揎","昍","暄","煊","煖","瑄","睻","矎","禤","箮","翧","翾","萱","萲","蓒","蕿","藼","蘐","蝖","蠉","諠","諼","譞","谖","軒","轩","鍹","駽","鰚","𫓶","𫍽"],"dān dàn":["儋","擔","瘅"],càn:["儏","澯","灿","燦","璨","粲","薒","謲"],"bīn bìn":["儐"],"án àn":["儑"],tái:["儓","坮","嬯","抬","擡","檯","炱","炲","籉","臺","薹","跆","邰","颱","鮐","鲐"],lán:["儖","兰","囒","婪","岚","嵐","幱","拦","攔","斓","斕","栏","欄","欗","澜","瀾","灆","灡","燣","燷","璼","篮","籃","籣","繿","葻","蓝","藍","蘫","蘭","褴","襕","襤","襴","襽","譋","讕","谰","躝","鑭","镧","闌","阑","韊","𬒗"],"nǐ yì ài yí":["儗"],méng:["儚","幪","曚","朦","橗","檬","氋","溕","濛","甍","甿","盟","礞","艨","莔","萌","蕄","虻","蝱","鄳","鄸","霿","靀","顭","饛","鯍","鸏","鹲","𫑡","㠓"],níng:["儜","凝","咛","嚀","嬣","柠","橣","檸","狞","獰","聍","聹","薴","鑏","鬡","鸋"],qióng:["儝","卭","宆","惸","憌","桏","橩","焪","焭","煢","熍","琼","瓊","睘","穷","穹","窮","竆","笻","筇","舼","茕","藑","藭","蛩","蛬","赹","跫","邛","銎","䓖"],liè:["儠","冽","列","劣","劽","埒","埓","姴","峛","巤","挒","捩","栵","洌","浖","烈","烮","煭","犣","猎","猟","獵","聗","脟","茢","蛚","趔","躐","迾","颲","鬛","鬣","鮤","鱲","鴷","䴕","𫚭"],kuǎng:["儣","夼","懭"],bào:["儤","勽","報","忁","报","抱","曓","爆","犦","菢","虣","蚫","豹","鉋","鑤","铇","骲","髱","鮑","鲍"],biāo:["儦","墂","幖","彪","标","標","滮","瀌","熛","爂","猋","瘭","磦","膘","臕","謤","贆","鏢","鑣","镖","镳","颮","颷","飆","飇","飈","飊","飑","飙","飚","驫","骉","髟"],zǎn:["儧","儹","噆","攅","昝","趱","趲"],háo:["儫","嗥","嘷","噑","嚎","壕","椃","毜","毫","濠","獆","獔","竓","籇","蚝","蠔","譹","豪"],qìng:["儬","凊","庆","慶","櫦","濪","碃","磬","罄","靘"],chèn:["儭","嚫","榇","櫬","疢","衬","襯","讖","谶","趁","趂","齓","齔","龀"],téng:["儯","幐","滕","漛","疼","籐","籘","縢","腾","藤","虅","螣","誊","謄","邆","駦","騰","驣","鰧","䲢"],"lǒng lóng lòng":["儱"],"chán chàn":["儳"],"ráng xiāng":["儴","勷"],"huì xié":["儶"],luó:["儸","攞","椤","欏","猡","玀","箩","籮","罗","羅","脶","腡","萝","蘿","螺","覼","逻","邏","鏍","鑼","锣","镙","饠","騾","驘","骡","鸁"],léi:["儽","嫘","檑","欙","瓃","畾","縲","纍","纝","缧","罍","羸","蔂","蘲","虆","轠","鐳","鑘","镭","雷","靁","鱩","鼺"],"nàng nāng":["儾"],"wù wū":["兀"],yǔn:["允","喗","夽","抎","殒","殞","狁","磒","荺","賱","鈗","阭","陨","隕","霣","馻","齫","齳"],zān:["兂","橵","簪","簮","糌","鐕","鐟","鵤"],yuán:["元","円","原","厡","厵","园","圆","圎","園","圓","垣","塬","媴","嫄","援","榞","榬","橼","櫞","沅","湲","源","溒","爰","猨","猿","笎","緣","縁","缘","羱","茒","薗","蝝","蝯","螈","袁","褤","謜","轅","辕","邍","邧","酛","鈨","鎱","騵","魭","鶢","鶰","黿","鼋","𫘪"],xiōng:["兄","兇","凶","匂","匈","哅","忷","恟","汹","洶","胷","胸","芎","訩","詾","讻"],chōng:["充","嘃","忡","憃","憧","摏","沖","浺","珫","罿","翀","舂","艟","茺","衝","蹖","㳘"],zhào:["兆","垗","旐","曌","枛","櫂","照","燳","狣","瞾","笊","罀","罩","羄","肁","肇","肈","詔","诏","赵","趙","鮡","𬶐"],"duì ruì yuè":["兊","兌","兑"],kè:["克","刻","勀","勊","堁","娔","客","恪","愙","氪","溘","碦","緙","缂","艐","衉","課","课","錁","锞","騍","骒"],tù:["兎","兔","堍","迌","鵵"],dǎng:["党","攩","欓","譡","讜","谠","黨","𣗋"],dōu:["兜","兠","唗","橷","篼","蔸"],huǎng:["兤","奛","幌","怳","恍","晄","炾","熀","縨","詤","謊","谎"],rù:["入","嗕","媷","扖","杁","洳","溽","縟","缛","蓐","褥","鳰"],nèi:["內","氝","氞","錗"],"yú shù":["兪"],"liù lù":["六"],han:["兯","爳"],tiān:["兲","天","婖","添","酟","靔","靝","黇"],"xīng xìng":["兴"],diǎn:["典","嚸","奌","婰","敟","椣","点","碘","蒧","蕇","踮","點"],"zī cí":["兹"],jiān:["兼","冿","囏","坚","堅","奸","姦","姧","尖","幵","惤","戋","戔","搛","椾","樫","櫼","歼","殱","殲","湔","瀐","瀸","煎","熞","熸","牋","瑊","睷","礛","礷","笺","箋","緘","縑","缄","缣","肩","艰","艱","菅","菺","葌","蒹","蔪","蕑","蕳","虃","譼","豜","鑯","雃","鞯","韀","韉","餰","馢","鰔","鰜","鰹","鲣","鳒","鵑","鵳","鶼","鹣","麉"],shòu:["兽","受","售","壽","夀","寿","授","狩","獣","獸","痩","瘦","綬","绶","膄"],jì:["兾","冀","剂","剤","劑","勣","坖","垍","塈","妓","季","寂","寄","廭","彑","徛","忌","悸","惎","懻","技","旡","既","旣","暨","暩","曁","梞","檕","檵","洎","漃","漈","瀱","痵","癠","禝","稩","稷","穄","穊","穧","紀","継","績","繋","繼","继","绩","罽","臮","芰","茍","茤","葪","蓟","蔇","薊","蘎","蘮","蘻","裚","襀","覬","觊","計","記","誋","计","记","跡","跽","蹟","迹","际","際","霁","霽","驥","骥","髻","鬾","魝","魥","鯚","鯽","鰶","鰿","鱀","鱭","鲚","鲫","鵋","鷑","齌","𪟝","𬶨","𬶭"],jiōng:["冂","冋","坰","埛","扃","蘏","蘔","駉","駫","𬳶"],mào:["冃","冐","媢","帽","愗","懋","暓","柕","楙","毷","瑁","皃","眊","瞀","耄","茂","萺","蝐","袤","覒","貌","貿","贸","鄚","鄮"],rǎn:["冄","冉","姌","媣","染","珃","苒","蒅","䎃"],"nèi nà":["内"],gāng:["冈","冮","刚","剛","堈","堽","岡","掆","摃","棡","牨","犅","疘","綱","纲","缸","罁","罡","肛","釭","鎠","㭎"],cè:["冊","册","厕","厠","夨","廁","恻","惻","憡","敇","测","測","笧","策","筞","筴","箣","荝","萗","萴","蓛"],guǎ:["冎","剐","剮","叧","寡"],"mào mò":["冒"],gòu:["冓","啂","坸","垢","够","夠","媾","彀","搆","撀","构","構","煹","覯","觏","訽","詬","诟","購","购","遘","雊"],xǔ:["冔","喣","暊","栩","珝","盨","糈","詡","諿","诩","鄦","醑"],mì:["冖","冪","嘧","塓","宻","密","峚","幂","幎","幦","怽","榓","樒","櫁","汨","淧","滵","漞","濗","熐","羃","蔤","蜜","覓","覔","覛","觅","謐","谧","鼏"],"yóu yín":["冘"],xiě:["写","冩","藛"],jūn:["军","君","均","桾","汮","皲","皸","皹","碅","莙","蚐","袀","覠","軍","鈞","銁","銞","鍕","钧","頵","鮶","鲪","麏"],mí:["冞","擟","瀰","爢","猕","獼","祢","禰","縻","蒾","藌","蘪","蘼","袮","詸","謎","迷","醚","醾","醿","釄","镾","鸍","麊","麋","麛"],"guān guàn":["冠","覌","観","觀","观"],měng:["冡","勐","懵","掹","猛","獴","艋","蜢","蠓","錳","锰","鯭","鼆"],zhǒng:["冢","塚","尰","歱","煄","瘇","肿","腫","踵"],zuì:["冣","嶵","晬","最","栬","槜","檇","檌","祽","絊","罪","蕞","辠","酔","酻","醉","錊"],yuān:["冤","剈","囦","嬽","寃","棩","淵","渁","渆","渊","渕","灁","眢","肙","葾","蒬","蜎","蜵","駌","鳶","鴛","鵷","鸢","鸳","鹓","鼘","鼝"],míng:["冥","名","明","暝","朙","榠","洺","溟","猽","眀","眳","瞑","茗","螟","覭","詺","鄍","銘","铭","鳴","鸣"],kòu:["冦","叩","宼","寇","扣","敂","滱","窛","筘","簆","蔲","蔻","釦","鷇"],tài:["冭","太","夳","忲","态","態","汰","汱","泰","溙","肽","舦","酞","鈦","钛"],"féng píng":["冯","馮"],"chōng chòng":["冲"],kuàng:["况","圹","壙","岲","懬","旷","昿","曠","框","況","爌","眖","眶","矿","砿","礦","穬","絋","絖","纊","纩","貺","贶","軦","邝","鄺","鉱","鋛","鑛","黋"],lěng:["冷"],pàn:["冸","判","叛","沜","泮","溿","炍","牉","畔","盼","聁","袢","襻","詊","鋬","鑻","頖","鵥"],fā:["冹","彂","沷","発","發"],xiǎn:["冼","尟","尠","崄","嶮","幰","攇","显","櫶","毨","灦","烍","燹","狝","猃","獫","獮","玁","禒","筅","箲","藓","蘚","蚬","蜆","譣","赻","跣","鍌","险","険","險","韅","顕","顯","㬎"],qià:["冾","圶","帢","恰","殎","洽","硈","胢","髂"],"jìng chēng":["净","凈","淨"],sōu:["凁","嗖","廀","廋","捜","搜","摉","溲","獀","艘","蒐","螋","鄋","醙","鎪","锼","颼","飕","餿","馊","騪"],měi:["凂","媄","媺","嬍","嵄","挴","毎","每","浼","渼","燘","美","躾","鎂","镁","黣"],tú:["凃","図","图","圖","圗","塗","屠","峹","嵞","庩","廜","徒","悇","揬","涂","瘏","筡","腯","荼","蒤","跿","途","酴","鈯","鍎","馟","駼","鵌","鶟","鷋","鷵","𬳿"],zhǔn:["准","凖","埻","準","𬘯"],"liáng liàng":["凉","涼","量"],diāo:["凋","刁","刟","叼","奝","弴","彫","汈","琱","碉","簓","虭","蛁","貂","錭","雕","鮉","鯛","鲷","鵰","鼦"],còu:["凑","湊","腠","輳","辏"],ái:["凒","啀","嘊","捱","溰","癌","皑","皚"],duó:["凙","剫","夺","奪","痥","踱","鈬","鐸","铎"],dú:["凟","匵","嬻","椟","櫝","殰","涜","牍","牘","犊","犢","独","獨","瓄","皾","裻","読","讀","讟","豄","贕","錖","鑟","韇","韣","韥","騳","髑","黩","黷"],"jǐ jī":["几"],fán:["凡","凢","凣","匥","墦","杋","柉","棥","樊","瀿","烦","煩","燔","璠","矾","礬","笲","籵","緐","羳","舤","舧","薠","蘩","蠜","襎","蹯","釩","鐇","鐢","钒","鷭","𫔍","𬸪"],jū:["凥","匊","娵","婮","居","崌","抅","挶","掬","梮","椐","檋","毩","毱","泃","涺","狙","琚","疽","砠","罝","腒","艍","蜛","裾","諊","跔","踘","躹","陱","雎","鞠","鞫","駒","驹","鮈","鴡","鶋","𬶋"],"chù chǔ":["処","处"],zhǐ:["凪","劧","咫","址","坧","帋","恉","扺","指","旨","枳","止","汦","沚","洔","淽","疻","砋","祉","秖","紙","纸","芷","藢","衹","襧","訨","趾","軹","轵","酯","阯","黹"],píng:["凭","凴","呯","坪","塀","岼","帡","帲","幈","平","慿","憑","枰","洴","焩","玶","瓶","甁","竮","箳","簈","缾","荓","萍","蓱","蚲","蛢","評","评","軿","輧","郱","鮃","鲆"],kǎi:["凯","凱","剀","剴","垲","塏","恺","愷","慨","暟","蒈","輆","鍇","鎧","铠","锴","闓","闿","颽"],gān:["凲","坩","尲","尴","尶","尷","柑","泔","漧","玕","甘","疳","矸","竿","筸","粓","肝","苷","迀","酐","魐"],"kǎn qiǎn":["凵"],tū:["凸","堗","嶀","捸","涋","湥","痜","禿","秃","突","葖","鋵","鵚","鼵","㻬"],"āo wā":["凹"],chū:["出","初","岀","摴","榋","樗","貙","齣","䢺","䝙"],dàng:["凼","圵","垱","壋","档","檔","氹","璗","瓽","盪","瞊","砀","碭","礑","簜","荡","菪","蕩","蘯","趤","逿","雼","𬍡"],hán:["函","凾","含","圅","娢","寒","崡","晗","梒","浛","涵","澏","焓","琀","甝","筨","蜬","邗","邯","鋡","韓","韩"],záo:["凿","鑿"],dāo:["刀","刂","忉","氘","舠","螩","釖","魛","鱽"],chuāng:["刅","摐","牎","牕","疮","瘡","窓","窗","窻"],"fēn fèn":["分"],"qiè qiē":["切"],kān:["刊","勘","堪","戡","栞","龕","龛"],cǔn:["刌","忖"],chú:["刍","厨","幮","廚","橱","櫉","櫥","滁","犓","篨","耡","芻","蒢","蒭","蜍","蟵","豠","趎","蹰","躇","躕","鉏","鋤","锄","除","雏","雛","鶵"],"huà huá":["划"],lí:["刕","剓","剺","劙","厘","喱","嚟","囄","嫠","孷","廲","悡","梨","梸","棃","漓","灕","犁","犂","狸","琍","璃","瓈","盠","睝","离","穲","竰","筣","篱","籬","糎","縭","缡","罹","艃","荲","菞","蓠","蔾","藜","蘺","蜊","蟍","蟸","蠫","褵","謧","貍","醨","鋫","錅","鏫","鑗","離","驪","骊","鯏","鯬","鱺","鲡","鵹","鸝","鹂","黎","黧","㰀"],yuè:["刖","嬳","岄","岳","嶽","恱","悅","悦","戉","抈","捳","月","樾","瀹","爚","玥","礿","禴","篗","籆","籥","籰","粤","粵","蘥","蚎","蚏","説","越","跀","跃","躍","軏","鈅","鉞","鑰","钺","閱","閲","阅","鸑","鸙","黦","龠","𫐄","𬸚"],liú:["刘","劉","嚠","媹","嵧","旈","旒","榴","橊","流","浏","瀏","琉","瑠","瑬","璢","畄","留","畱","疁","瘤","癅","硫","蒥","蓅","蟉","裗","鎏","鏐","鐂","镠","飀","飅","飗","駠","駵","騮","驑","骝","鰡","鶹","鹠","麍"],zé:["则","則","啧","嘖","嫧","帻","幘","択","樍","歵","沢","泎","溭","皟","瞔","矠","礋","箦","簀","舴","蔶","蠌","襗","謮","賾","赜","迮","鸅","齚","齰"],"chuàng chuāng":["创","創"],qù:["刞","厺","去","閴","闃","阒","麮","鼁"],"bié biè":["別","别"],"páo bào":["刨"],"chǎn chàn":["刬","剗","幝"],guā:["刮","劀","桰","歄","煱","瓜","胍","踻","颪","颳","騧","鴰","鸹"],gēng:["刯","庚","椩","浭","焿","畊","絚","羮","羹","耕","菮","賡","赓","鶊","鹒"],dào:["到","噵","悼","椡","檤","燾","瓙","盗","盜","稲","稻","纛","翿","艔","菿","衜","衟","軇","道"],chuàng:["刱","剏","剙","怆","愴"],kū:["刳","哭","圐","堀","枯","桍","矻","窟","跍","郀","骷","鮬"],duò:["刴","剁","墯","尮","惰","憜","挅","桗","舵","跥","跺","陊","陏","飿","饳","鵽"],"shuā shuà":["刷"],"quàn xuàn":["券"],"chà shā":["刹","剎"],"cì cī":["刺"],guì:["刽","刿","劊","劌","撌","攰","昋","桂","椢","槶","樻","櫃","猤","禬","筀","蓕","襘","貴","贵","跪","鐀","鑎","鞼","鱖","鱥"],lóu:["剅","娄","婁","廔","楼","樓","溇","漊","熡","耧","耬","艛","蒌","蔞","蝼","螻","謱","軁","遱","鞻","髅","髏","𪣻"],cuò:["剉","剒","厝","夎","挫","措","棤","莝","莡","蓌","逪","銼","錯","锉","错"],"xiāo xuē":["削"],"kēi kè":["剋","尅"],"là lá":["剌"],tī:["剔","梯","踢","銻","锑","鷈","鷉","䏲","䴘"],pōu:["剖"],wān:["剜","塆","壪","帵","弯","彎","湾","潫","灣","睕","蜿","豌"],"bāo bō":["剝","剥"],duō:["剟","咄","哆","嚉","多","夛","掇","毲","畓","裰","㙍"],qíng:["剠","勍","夝","情","擎","晴","暒","棾","樈","檠","氰","甠","硘","葝","黥"],"yǎn shàn":["剡"],"dū zhuó":["剢"],yān:["剦","嫣","崦","嶖","恹","懕","懨","樮","淊","淹","漹","烟","焉","焑","煙","珚","篶","胭","臙","菸","鄢","醃","閹","阉","黫"],huō:["剨","劐","吙","攉","秴","耠","锪","騞","𬴃"],shèng:["剩","剰","勝","圣","墭","嵊","晠","榺","橳","琞","聖","蕂","貹","賸"],"duān zhì":["剬"],wū:["剭","呜","嗚","圬","屋","巫","弙","杇","歍","汙","汚","污","洿","烏","窏","箼","螐","誈","誣","诬","邬","鄔","鎢","钨","鰞","鴮"],gē:["割","哥","圪","彁","戈","戓","戨","歌","滒","犵","肐","袼","謌","鎶","鴚","鴿","鸽"],"dá zhá":["剳"],chuán:["剶","暷","椽","篅","舡","舩","船","輲","遄"],"tuán zhuān":["剸","漙","篿"],"lù jiū":["剹"],pēng:["剻","匉","嘭","怦","恲","抨","梈","烹","砰","軯","駍"],piāo:["剽","勡","慓","旚","犥","翲","螵","飃","飄","飘","魒"],kōu:["剾","彄","抠","摳","眍","瞘","芤","𫸩"],"jiǎo chāo":["剿","劋","勦","摷"],qiāo:["劁","勪","墝","幧","敲","橇","毃","燆","硗","磽","繑","趬","跷","踍","蹺","蹻","郻","鄡","鄥","鍫","鍬","鐰","锹","頝"],"huá huà":["劃"],"zhā zhá":["劄"],"pī pǐ":["劈","悂"],tāng:["劏","嘡","羰","薚","蝪","蹚","鞺","鼞"],chán:["劖","嚵","壥","婵","嬋","巉","廛","棎","毚","湹","潹","潺","澶","瀍","瀺","煘","獑","磛","緾","纏","纒","缠","艬","蝉","蟐","蟬","蟾","誗","讒","谗","躔","鄽","酁","鋋","鑱","镵","饞","馋"],zuān:["劗","躜","躦","鉆","鑚"],mó:["劘","嫫","嬤","嬷","尛","摹","擵","橅","糢","膜","藦","蘑","謨","謩","谟","饃","饝","馍","髍","魔","魹"],zhú:["劚","斸","曯","欘","灟","炢","烛","燭","爥","瘃","竹","笁","笜","舳","茿","蓫","蠋","蠾","躅","逐","逫","钃","鱁"],quàn:["劝","勧","勸","牶","韏"],"jìn jìng":["劤","劲","勁"],kēng:["劥","坑","牼","硁","硜","誙","銵","鍞","鏗","铿","阬"],"xié liè":["劦"],"zhù chú":["助"],nǔ:["努","弩","砮","胬"],shào:["劭","卲","哨","潲","紹","綤","绍","袑","邵"],miǎo:["劰","杪","淼","渺","眇","秒","篎","緲","缈","藐","邈"],kǒu:["劶","口"],wā:["劸","娲","媧","屲","挖","攨","洼","溛","漥","瓾","畖","穵","窊","窪","蛙","韈","鼃"],kuāng:["劻","匡","匩","哐","恇","洭","筐","筺","誆","诓","軭","邼"],hé:["劾","咊","啝","姀","峆","敆","曷","柇","楁","毼","河","涸","渮","澕","熆","皬","盇","盉","盍","盒","禾","篕","籺","粭","翮","菏","萂","覈","訸","詥","郃","釛","鉌","鑉","閡","闔","阂","阖","鞨","頜","餄","饸","魺","鹖","麧","齕","龁","龢","𬌗"],gào:["勂","吿","告","峼","祮","祰","禞","筶","誥","诰","郜","鋯","锆"],"bó bèi":["勃"],láng:["勆","嫏","廊","斏","桹","榔","樃","欴","狼","琅","瑯","硠","稂","艆","蓈","蜋","螂","躴","郒","郞","鋃","鎯","锒"],xūn:["勋","勛","勲","勳","嚑","坃","埙","塤","壎","壦","曛","燻","獯","矄","纁","臐","薫","薰","蘍","醺","𫄸"],"juàn juān":["勌","瓹"],"lè lēi":["勒"],kài:["勓","炌","烗","鎎"],"wěng yǎng":["勜"],qín:["勤","嗪","噙","嶜","庈","懃","懄","捦","擒","斳","檎","澿","珡","琴","琹","瘽","禽","秦","耹","芩","芹","菦","螓","蠄","鈙","鈫","雂","靲","鳹","鵭"],jiàng:["勥","匞","匠","嵹","弜","弶","摾","櫤","洚","滰","犟","糡","糨","絳","绛","謽","酱","醤","醬"],fān:["勫","嬏","帆","幡","忛","憣","旙","旛","繙","翻","藩","轓","颿","飜","鱕"],juān:["勬","姢","娟","捐","涓","蠲","裐","鎸","鐫","镌","鹃"],"tóng dòng":["勭","烔","燑","狪"],lǜ:["勴","垏","嵂","律","慮","氯","滤","濾","爈","箻","綠","繂","膟","葎","虑","鑢"],chè:["勶","坼","彻","徹","掣","撤","澈","烢","爡","瞮","硩","聅","迠","頙","㬚"],sháo:["勺","玿","韶"],"gōu gòu":["勾"],cōng:["匆","囪","囱","忩","怱","悤","暰","樬","漗","瑽","璁","瞛","篵","繱","聡","聦","聪","聰","苁","茐","葱","蓯","蔥","蟌","鍯","鏓","鏦","騘","驄","骢"],"táo yáo":["匋","陶"],páo:["匏","咆","垉","庖","爮","狍","袍","褜","軳","鞄","麅"],dá:["匒","妲","怛","炟","燵","畣","笪","羍","荙","薘","蟽","詚","达","迏","迖","迚","逹","達","鐽","靼","鞑","韃","龖","龘","𫟼"],"huà huā":["化"],"běi bèi":["北"],nǎo:["匘","垴","堖","嫐","恼","悩","惱","瑙","碯","脑","脳","腦"],"chí shi":["匙"],fāng:["匚","堏","方","淓","牥","芳","邡","鈁","錺","钫","鴋"],zā:["匝","咂","帀","沞","臜","臢","迊","鉔","魳"],qiè:["匧","厒","妾","怯","悏","惬","愜","挈","穕","窃","竊","笡","箧","篋","籡","踥","鍥","锲","鯜"],"zāng cáng":["匨"],fěi:["匪","奜","悱","棐","榧","篚","翡","蕜","誹","诽"],"kuì guì":["匮","匱"],suǎn:["匴"],pǐ:["匹","噽","嚭","圮","庀","痞","癖","脴","苉","銢","鴄"],"qū ōu":["区","區"],"kē qià":["匼"],"yǎn yàn":["匽","棪"],biǎn:["匾","惼","揙","碥","稨","窆","藊","褊","貶","贬","鴘"],nì:["匿","堄","嫟","嬺","惄","愵","昵","暱","氼","眤","睨","縌","胒","腻","膩","逆","𨺙"],niàn:["卄","唸","埝","廿","念","惗","艌"],sà:["卅","櫒","脎","萨","蕯","薩","鈒","隡","颯","飒","馺"],zú:["卆","哫","崪","族","箤","足","踤","镞"],shēng:["升","呏","声","斘","昇","曻","枡","殅","泩","湦","焺","牲","珄","生","甥","竔","笙","聲","鉎","鍟","阩","陞","陹","鵿","鼪"],wàn:["卍","卐","忨","杤","瞣","脕","腕","萬","蟃","贎","輐","錽","𬇕"],"huá huà huā":["华","華"],bēi:["卑","悲","揹","杯","桮","盃","碑","藣","鵯","鹎"],"zú cù":["卒"],"dān shàn chán":["单","單"],"nán nā":["南"],"shuài lǜ":["卛"],"bǔ bo pú":["卜"],"kuàng guàn":["卝"],biàn:["卞","变","変","峅","弁","徧","忭","抃","昪","汳","汴","玣","艑","苄","覍","諚","變","辡","辧","辨","辩","辫","辮","辯","遍","釆","𨚕"],bǔ:["卟","哺","捕","补","補","鸔","𬷕"],"zhàn zhān":["占","覱"],"kǎ qiǎ":["卡"],lú:["卢","嚧","垆","壚","庐","廬","曥","枦","栌","櫨","泸","瀘","炉","爐","獹","玈","瓐","盧","矑","籚","纑","罏","胪","臚","舮","舻","艫","芦","蘆","蠦","轤","轳","鈩","鑪","顱","颅","馿","髗","魲","鱸","鲈","鸕","鸬","黸","𬬻"],lǔ:["卤","塷","掳","擄","樐","橹","櫓","氌","滷","澛","瀂","硵","磠","穞","艣","艪","蓾","虏","虜","鏀","鐪","鑥","镥","魯","鲁","鹵"],guà:["卦","啩","挂","掛","罣","褂","詿","诖"],"áng yǎng":["卬"],yìn:["印","垽","堷","廕","慭","憖","憗","懚","洕","湚","猌","癊","胤","茚","酳","鮣","䲟"],què:["却","卻","塙","崅","悫","愨","慤","搉","榷","燩","琷","皵","确","確","礭","闋","阕","鵲","鹊","𬒈"],luǎn:["卵"],"juàn juǎn":["卷","巻"],"chǎng ān hàn":["厂"],"wěi yán":["厃"],tīng:["厅","厛","听","庁","廰","廳","汀","烃","烴","綎","耓","聴","聼","聽","鞓","𬘩"],"zhé zhái":["厇"],"hàn àn":["厈","屽"],yǎ:["厊","唖","庌","痖","瘂","蕥"],shè:["厍","厙","弽","慑","慴","懾","摂","欇","涉","涻","渉","滠","灄","社","舎","蔎","蠂","設","设","赦","騇","麝"],dǐ:["厎","呧","坘","弤","抵","拞","掋","牴","砥","菧","觝","詆","诋","軧","邸","阺","骶","鯳"],"zhǎ zhǎi":["厏"],páng:["厐","嫎","庞","徬","舽","螃","逄","鰟","鳑","龎","龐"],"zhì shī":["厔"],máng:["厖","吂","哤","娏","忙","恾","杗","杧","汒","浝","牻","痝","盲","硭","笀","芒","茫","蘉","邙","釯","鋩","铓","駹"],zuī:["厜","樶","纗","蟕"],"shà xià":["厦","廈"],áo:["厫","嗷","嗸","廒","敖","滶","獒","獓","璈","翱","翶","翺","聱","蔜","螯","謷","謸","遨","鏖","隞","鰲","鳌","鷔","鼇"],"lán qiān":["厱"],"sī mǒu":["厶"],"gōng hóng":["厷"],"lín miǎo":["厸"],"qiú róu":["厹"],dū:["厾","嘟","督","醏"],"xiàn xuán":["县","縣"],"cān shēn cēn sān":["参","參","叄","叅"],"ài yǐ":["叆"],"chā chà chǎ chá":["叉"],shuāng:["双","孀","孇","欆","礵","艭","雙","霜","騻","驦","骦","鷞","鸘","鹴"],shōu:["収","收"],guái:["叏"],bá:["叐","妭","抜","拔","炦","癹","胈","茇","菝","詙","跋","軷","魃","鼥"],"fā fà":["发"],"zhuó yǐ lì jué":["叕"],qǔ:["取","娶","竬","蝺","詓","齲","龋"],"jiǎ xiá":["叚","徦"],"wèi yù":["叞","尉","蔚"],dié:["叠","垤","堞","峌","幉","恎","惵","戜","曡","殜","氎","牃","牒","瓞","畳","疂","疉","疊","碟","絰","绖","耊","耋","胅","艓","苵","蜨","蝶","褋","詄","諜","谍","跮","蹀","迭","镻","鰈","鲽","鴩","𫶇"],ruì:["叡","枘","汭","瑞","睿","芮","蚋","蜹","銳","鋭","锐"],"jù gōu":["句"],lìng:["另","呤","炩","蘦"],"dāo dáo tāo":["叨"],"zhī zhǐ":["只"],jiào:["叫","呌","嘂","嘦","噍","嬓","斍","斠","滘","漖","獥","珓","皭","窖","藠","訆","譥","趭","較","轎","轿","较","酵","醮","釂"],"zhào shào":["召"],"kě kè":["可"],"tái tāi":["台","苔"],pǒ:["叵","尀","笸","箥","鉕","钷","駊"],"yè xié":["叶"],"hào háo":["号"],tàn:["叹","嘆","探","歎","湠","炭","碳","舕"],"hōng hóng":["叿"],miē:["吀","咩","哶","孭"],"xū yū yù":["吁"],chī:["吃","哧","喫","嗤","噄","妛","媸","彨","彲","摛","攡","殦","瓻","痴","癡","眵","瞝","笞","粚","胵","蚩","螭","訵","魑","鴟","鵄","鸱","黐","齝","𫄨"],"xuān sòng":["吅"],yāo:["吆","喓","夭","妖","幺","楆","殀","祅","腰","葽","訞","邀","鴁","鴢","㙘"],zǐ:["吇","姉","姊","子","杍","梓","榟","橴","滓","矷","秭","笫","籽","紫","耔","虸","訿","釨"],"hé gě":["合","鲄"],"cùn dòu":["吋"],"tóng tòng":["同"],"tǔ tù":["吐","唋"],"zhà zhā":["吒","奓"],"xià hè":["吓"],"ā yā":["吖"],"ma má mǎ":["吗"],lìn:["吝","恡","悋","橉","焛","甐","膦","蔺","藺","賃","赁","蹸","躏","躙","躪","轥","閵"],tūn:["吞","暾","朜","焞"],"bǐ pǐ":["吡"],qìn:["吢","吣","唚","抋","揿","搇","撳","沁","瀙","菣","藽"],"jiè gè":["吤"],"fǒu pǐ":["否"],"ba bā":["吧"],dūn:["吨","噸","墩","墪","惇","撉","撴","犜","獤","礅","蜳","蹾","驐"],fēn:["吩","帉","昐","朆","梤","棻","氛","竕","紛","纷","翂","芬","衯","訜","躮","酚","鈖","雰","餴","饙","馚"],"é huā":["吪"],"kēng háng":["吭","妔"],shǔn:["吮"],"zhī zī":["吱"],"yǐn shěn":["吲"],wú:["吳","吴","呉","墲","峿","梧","橆","毋","洖","浯","無","珸","璑","祦","芜","茣","莁","蕪","蜈","蟱","譕","郚","鋙","铻","鯃","鵐","鷡","鹀","鼯"],"chǎo chāo":["吵"],"nà nè":["吶"],"xuè chuò jué":["吷"],chuī:["吹","炊","龡"],"dōu rú":["吺"],hǒu:["吼","犼"],"hōng hǒu ōu":["吽"],"wú yù":["吾"],"ya yā":["呀"],"è e":["呃"],dāi:["呆","懛","獃"],"mèn qǐ":["呇"],hōng:["呍","嚝","揈","灴","烘","焢","硡","薨","訇","谾","軣","輷","轟","轰","鍧"],nà:["呐","捺","笝","納","纳","肭","蒳","衲","豽","貀","軜","郍","鈉","钠","靹","魶"],"tūn tiān":["呑"],"fǔ ḿ":["呒","嘸"],"dāi tǎi":["呔"],"ǒu ōu òu":["呕"],"bài bei":["呗"],"yuán yún yùn":["员","員"],guō:["呙","啯","嘓","埚","堝","墎","崞","彉","彍","懖","猓","瘑","聒","蝈","蟈","郭","鈛","鍋","锅"],"huá qì":["呚"],"qiàng qiāng":["呛","跄"],shī:["呞","失","尸","屍","师","師","施","浉","湤","湿","溮","溼","濕","狮","獅","瑡","絁","葹","蒒","蓍","虱","蝨","褷","襹","詩","诗","邿","釃","鉇","鍦","鯴","鰤","鲺","鳲","鳾","鶳","鸤","䴓","𫚕"],juǎn:["呟","埍","臇","菤","錈","锩"],pěn:["呠","翸"],"wěn mǐn":["呡"],"ne ní":["呢"],"ḿ m̀ móu":["呣"],rán:["呥","嘫","然","燃","繎","肰","蚦","蚺","衻","袇","袡","髥","髯"],"tiè chè":["呫"],"qì zhī":["呮"],"zǐ cī":["呰"],"guā gū guǎ":["呱"],"cī zī":["呲"],"hǒu xǔ gòu":["呴"],"hē ā á ǎ à a":["呵"],náo:["呶","夒","峱","嶩","巎","挠","撓","猱","硇","蛲","蟯","詉","譊","鐃","铙"],"xiā gā":["呷"],pēi:["呸","怌","肧","胚","衃","醅"],"háo xiāo":["呺"],mìng:["命","掵"],"dá dàn":["呾"],"zuǐ jǔ":["咀"],"xián gān":["咁"],pǒu:["咅","哣","犃"],"yǎng yāng":["咉"],"zǎ zé zhā":["咋"],"hé hè huó huò hú":["和"],hāi:["咍"],dā:["咑","哒","噠","墶","搭","撘","耷","褡","鎝","𨱏"],"kǎ kā":["咔"],gū:["咕","唂","唃","姑","嫴","孤","巬","巭","柧","橭","沽","泒","稒","笟","箍","箛","篐","罛","苽","菇","菰","蓇","觚","軱","軲","轱","辜","酤","鈲","鮕","鴣","鸪"],"kā gā":["咖"],zuo:["咗"],lóng:["咙","嚨","嶐","巃","巄","昽","曨","朧","栊","槞","櫳","湰","滝","漋","爖","珑","瓏","癃","眬","矓","砻","礱","礲","窿","竜","聋","聾","胧","茏","蘢","蠪","蠬","襱","豅","鏧","鑨","霳","靇","驡","鸗","龍","龒","龙"],"xiàn xián":["咞"],qì:["咠","唭","噐","器","夡","弃","憇","憩","暣","棄","欫","气","気","氣","汔","汽","泣","湆","湇","炁","甈","盵","矵","碛","碶","磜","磧","罊","芞","葺","藒","蟿","訖","讫","迄","鐑"],"xì dié":["咥"],"liē liě lié lie":["咧"],zī:["咨","嗞","姕","姿","孜","孳","孶","崰","嵫","栥","椔","淄","湽","滋","澬","玆","禌","秶","粢","紎","緇","緕","纃","缁","茊","茲","葘","諮","谘","貲","資","赀","资","赼","趑","趦","輜","輺","辎","鄑","鈭","錙","鍿","鎡","锱","镃","頾","頿","髭","鯔","鰦","鲻","鶅","鼒","齍","齜","龇"],mī:["咪"],"jī xī qià":["咭"],"gē luò kǎ lo":["咯"],"shù xún":["咰"],"zán zá zǎ zan":["咱"],"hāi ké":["咳"],huī:["咴","噅","噕","婎","媈","幑","徽","恢","拻","挥","揮","晖","暉","楎","洃","瀈","灰","灳","烣","睳","禈","翚","翬","蘳","袆","褘","詼","诙","豗","輝","辉","鰴","麾","㧑"],"huài shì":["咶"],táo:["咷","啕","桃","檮","洮","淘","祹","綯","绹","萄","蜪","裪","迯","逃","醄","鋾","鞀","鞉","饀","駣","騊","鼗","𫘦"],xián:["咸","啣","娴","娹","婱","嫌","嫺","嫻","弦","挦","撏","涎","湺","澖","甉","痫","癇","癎","絃","胘","舷","藖","蚿","蛝","衔","衘","誸","諴","賢","贒","贤","輱","醎","銜","鑦","閑","闲","鷳","鷴","鷼","鹇","鹹","麙","𫍯"],"è àn":["咹"],"xuān xuǎn":["咺","烜"],"wāi hé wǒ guǎ guō":["咼"],"yàn yè yān":["咽"],āi:["哀","哎","埃","溾","銰","鎄","锿"],pǐn:["品","榀"],shěn:["哂","婶","嬸","审","宷","審","弞","曋","渖","瀋","瞫","矤","矧","覾","訠","諗","讅","谂","谉","邥","頣","魫"],"hǒng hōng hòng":["哄"],"wā wa":["哇"],"hā hǎ hà":["哈"],zāi:["哉","栽","渽","溨","災","灾","烖","睵","賳"],"dì diè":["哋"],pài:["哌","沠","派","渒","湃","蒎","鎃"],"gén hěn":["哏"],"yǎ yā":["哑","雅"],"yuě huì":["哕","噦"],nián:["哖","年","秊","秥","鮎","鯰","鲇","鲶","鵇","黏"],"huá huā":["哗","嘩"],"jì jiē zhāi":["哜","嚌"],mōu:["哞"],"yō yo":["哟","喲"],lòng:["哢","梇","贚"],"ò ó é":["哦"],"lī lǐ li":["哩"],"nǎ na nǎi né něi":["哪"],hè:["哬","垎","壑","寉","惒","焃","煂","燺","爀","癋","碋","翯","褐","謞","賀","贺","赫","靍","靎","靏","鶴","鸖","鹤"],"bō pò bā":["哱"],zhé:["哲","啠","喆","嚞","埑","悊","摺","晢","晣","歽","矺","砓","磔","籷","粍","虴","蛰","蟄","袩","詟","謫","謺","讁","讋","谪","輒","輙","轍","辄","辙","鮿"],"liàng láng":["哴"],"liè lǜ":["哷"],hān:["哻","憨","蚶","谽","酣","頇","顸","馠","魽","鼾"],"hēng hng":["哼"],gěng:["哽","埂","峺","挭","梗","綆","绠","耿","莄","郠","骾","鯁","鲠","𬒔"],"chuò yuè":["哾"],"gě jiā":["哿"],"bei bài":["唄"],"hán hàn":["唅"],chún:["唇","浱","湻","滣","漘","犉","純","纯","脣","莼","蒓","蓴","醇","醕","錞","陙","鯙","鶉","鹑","𬭚"],"ài āi":["唉"],"jiá qiǎn":["唊"],"yán dàn xián":["唌"],chē:["唓","砗","硨","莗","蛼"],"wú ńg ń":["唔"],zào:["唕","唣","噪","慥","梍","灶","煰","燥","皁","皂","竃","竈","簉","艁","譟","趮","躁","造","𥖨"],dí:["唙","啇","嘀","嚁","嫡","廸","敌","敵","梑","涤","滌","狄","笛","籴","糴","苖","荻","蔋","蔐","藡","覿","觌","豴","迪","靮","頔","馰","髢","鸐","𬱖"],"gòng hǒng gǒng":["唝","嗊"],dóu:["唞"],"lào láo":["唠","嘮","憦"],huàn:["唤","喚","奂","奐","宦","嵈","幻","患","愌","换","換","擐","攌","梙","槵","浣","涣","渙","漶","澣","烉","焕","煥","瑍","痪","瘓","睆","肒","藧","豢","轘","逭","鯇","鯶","鰀","鲩"],léng:["唥","塄","楞","碐","薐"],"wō wěi":["唩"],fěng:["唪","覂","諷","讽"],"yín jìn":["唫"],"hǔ xià":["唬"],wéi:["唯","围","圍","壝","峗","峞","嵬","帏","帷","幃","惟","桅","沩","洈","涠","湋","溈","潍","潙","潿","濰","犩","矀","維","维","蓶","覹","违","違","鄬","醀","鍏","闈","闱","韋","韦","鮠","𣲗","𬶏"],shuā:["唰"],chàng:["唱","怅","悵","暢","焻","畅","畼","誯","韔","鬯"],"ér wā":["唲"],qiàng:["唴","炝","熗","羻"],yō:["唷"],yū:["唹","淤","瘀","盓","箊","紆","纡","込","迂","迃","陓"],lài:["唻","濑","瀨","瀬","癞","癩","睐","睞","籁","籟","藾","賚","賴","赉","赖","頼","顂","鵣"],tuò:["唾","嶞","柝","毤","毻","箨","籜","萚","蘀","跅"],"zhōu zhāo tiào":["啁"],kěn:["啃","垦","墾","恳","懇","肎","肯","肻","豤","錹"],"zhuó zhào":["啅","濯"],"hēng hèng":["啈","悙"],"lín lán":["啉"],"a ā á ǎ à":["啊"],qiāng:["啌","嗴","嶈","戕","摤","斨","枪","槍","溬","牄","猐","獇","羌","羗","腔","蜣","謒","鏘","锖","锵"],"tūn zhūn xiāng duǐ":["啍"],wèn:["問","妏","揾","搵","璺","问","顐"],"cuì qi":["啐"],"dié shà jié tì":["啑"],"yuē wā":["啘"],"zǐ cǐ":["啙"],"bǐ tú":["啚"],"chuò chuài":["啜"],"yǎ yā è":["啞"],fēi:["啡","婓","婔","扉","暃","渄","猆","緋","绯","裶","霏","非","靟","飛","飝","飞","餥","馡","騑","騛","鯡","鲱","𬴂"],pí:["啤","壀","枇","毗","毘","焷","琵","疲","皮","篺","罴","羆","脾","腗","膍","蚍","蚽","蜱","螷","蠯","豼","貔","郫","鈹","阰","陴","隦","魮","鮍","鲏","鵧","鼙"],shá:["啥"],"lā la":["啦"],"yīng qíng":["啨"],pā:["啪","妑","舥","葩","趴"],"zhě shì":["啫"],sè:["啬","嗇","懎","擌","栜","歮","涩","渋","澀","澁","濇","濏","瀒","瑟","璱","瘷","穑","穡","穯","繬","譅","轖","銫","鏼","铯","飋"],niè:["啮","嗫","噛","嚙","囁","囓","圼","孼","孽","嵲","嶭","巕","帇","敜","枿","槷","櫱","涅","湼","痆","篞","籋","糱","糵","聂","聶","臬","臲","蘖","蠥","讘","踂","踗","踙","蹑","躡","錜","鎳","鑈","鑷","钀","镊","镍","闑","陧","隉","顳","颞","齧","𫔶"],"luō luó luo":["啰","囉"],"tān chǎn tuō":["啴"],bo:["啵","蔔"],dìng:["啶","定","椗","矴","碇","碠","磸","聢","腚","萣","蝊","訂","订","錠","锭","顁","飣","饤"],lāng:["啷"],"án ān":["啽"],kā:["喀","擖"],"yóng yú":["喁"],"lā lá lǎ":["喇"],jiē:["喈","喼","嗟","堦","媘","接","掲","擑","湝","煯","疖","痎","癤","皆","秸","稭","脻","蝔","街","謯","阶","階","鞂","鶛"],hóu:["喉","帿","猴","瘊","睺","篌","糇","翭","葔","鄇","鍭","餱","骺","鯸","𬭤"],"dié zhá":["喋"],wāi:["喎","歪","竵"],"nuò rě":["喏"],"xù huò guó":["喐"],zán:["喒"],"wō ō":["喔"],hú:["喖","嘝","囫","壶","壷","壺","媩","弧","搰","斛","楜","槲","湖","瀫","焀","煳","狐","猢","瑚","瓳","箶","絗","縠","胡","葫","蔛","蝴","螜","衚","觳","醐","鍸","頶","餬","鬍","魱","鰗","鵠","鶘","鶦","鹕"],"huàn yuán xuǎn hé":["喛"],xǐ:["喜","囍","壐","屣","徙","憙","枲","橲","歖","漇","玺","璽","矖","禧","縰","葈","葸","蓰","蟢","謑","蹝","躧","鈢","鉨","鉩","鱚","𬭳","𬶮"],"hē hè yè":["喝"],kuì:["喟","嘳","媿","嬇","愦","愧","憒","篑","簣","籄","聩","聭","聵","膭","蕢","謉","餽","饋","馈"],"zhǒng chuáng":["喠"],"wéi wèi":["喡","為","爲"],"duó zhà":["喥"],"sāng sàng":["喪"],"qiáo jiāo":["喬"],"pèn bēn":["喯"],"cān sūn qī":["喰"],"zhā chā":["喳"],miāo:["喵"],"pēn pèn":["喷"],kuí:["喹","夔","奎","巙","戣","揆","晆","暌","楏","楑","櫆","犪","睽","葵","藈","蘷","虁","蝰","躨","逵","鄈","鍨","鍷","頯","馗","騤","骙","魁"],"lou lóu":["喽"],"zào qiāo":["喿"],"hè xiāo xiào hù":["嗃"],"á shà":["嗄"],xiù:["嗅","岫","峀","溴","珛","琇","璓","秀","綉","繍","繡","绣","螑","袖","褎","褏","銹","鏥","鏽","锈","齅"],"qiāng qiàng":["嗆","戗","戧","蹌","蹡"],"ài yì":["嗌","艾"],"má mǎ ma":["嗎"],"kè kē":["嗑"],"dā tà":["嗒","鎉"],sǎng:["嗓","搡","磉","褬","鎟","顙","颡"],chēn:["嗔","抻","琛","瞋","諃","謓","賝","郴","𬘭"],"wā gǔ":["嗗"],"pǎng bēng":["嗙"],"xián qiǎn qiān":["嗛"],lào:["嗠","嫪","橯","涝","澇","耢","耮","躼","軂","酪"],wēng:["嗡","翁","聬","螉","鎓","鶲","鹟","𬭩"],wà:["嗢","腽","膃","袜","襪","韤"],"hēi hāi":["嗨"],hē:["嗬","欱","蠚","訶","诃"],zi:["嗭"],sǎi:["嗮"],"ǹg ńg ňg":["嗯"],gě:["嗰","舸"],ná:["嗱","拏","拿","鎿","镎"],diǎ:["嗲"],"ài ǎi āi":["嗳"],tōng:["嗵","樋","炵","蓪"],"zuī suī":["嗺"],"zhē zhè zhù zhe":["嗻"],mò:["嗼","圽","塻","墨","妺","嫼","寞","帞","昩","末","枺","歿","殁","沫","漠","爅","獏","瘼","皌","眽","眿","瞐","瞙","砞","礳","秣","絈","纆","耱","茉","莈","蓦","蛨","蟔","貃","貊","貘","銆","鏌","镆","陌","靺","驀","魩","默","黙","𬙊"],sòu:["嗽","瘶"],tǎn:["嗿","坦","忐","憳","憻","暺","毯","璮","菼","袒","襢","醓","鉭","钽"],"jiào dǎo":["嘄"],"kǎi gě":["嘅"],"shān càn":["嘇"],cáo:["嘈","嶆","曹","曺","槽","漕","艚","蓸","螬","褿","鏪","𥕢"],piào:["嘌","徱","蔈","驃"],"lóu lou":["嘍"],gǎ:["尕","玍"],"gǔ jiǎ":["嘏"],"jiāo xiāo":["嘐"],"xū shī":["嘘","噓"],pó:["嘙","嚩","婆","櫇","皤","鄱"],"dē dēi":["嘚"],"ma má":["嘛"],"lē lei":["嘞"],"gā gá gǎ":["嘠"],sāi:["嘥","噻","毢","腮","顋","鰓"],"zuō chuài":["嘬"],"cháo zhāo":["嘲","朝","鼂"],zuǐ:["嘴","噿","嶊","璻"],"qiáo qiào":["嘺","翹","谯"],"chù xù shòu":["嘼"],"tān chǎn":["嘽"],"dàn tán":["嘾","弾","彈","惔","澹"],"hēi mò":["嘿"],ě:["噁","砨","頋","騀","鵈"],"fān bo":["噃"],chuáng:["噇","床","牀"],"cù zā hé":["噈"],"tūn kuò":["噋"],"cēng chēng":["噌"],dēng:["噔","嬁","灯","燈","璒","登","竳","簦","艠","豋"],pū:["噗","扑","撲","攴","攵","潽","炇","陠"],juē:["噘","屩","屫","撧"],lū:["噜","嚕","撸","擼","謢"],zhān:["噡","岾","惉","旃","旜","枬","栴","毡","氈","氊","沾","瞻","薝","蛅","詀","詹","譫","谵","趈","邅","閚","霑","飦","饘","驙","魙","鱣","鸇","鹯","𫗴"],ō:["噢"],"zhòu zhuó":["噣"],"jiào qiào chī":["噭"],yuàn:["噮","妴","怨","愿","掾","瑗","禐","苑","衏","裫","褑","院","願"],"ǎi ài āi":["噯"],"yōng yǒng":["噰","澭"],"jué xué":["噱"],"pēn pèn fèn":["噴"],gá:["噶","尜","釓","錷","钆"],"xīn hěn hèn":["噷"],dāng:["噹","澢","珰","璫","筜","簹","艡","蟷","裆","襠"],làn:["嚂","滥","濫","烂","燗","爁","爛","爤","瓓","糷","钄"],tà:["嚃","嚺","崉","挞","搨","撻","榻","橽","毾","涾","澾","濌","禢","粏","誻","譶","蹋","蹹","躂","躢","遝","錔","闒","闥","闼","阘","鞜","鞳"],"huō huò ǒ":["嚄"],hāo:["嚆","茠","蒿","薅"],"hè xià":["嚇"],"xiù pì":["嚊"],"zhōu chóu":["嚋","盩","诪"],mē:["嚒"],"chā cā":["嚓"],"bó pào bào":["嚗"],"me mèi mò":["嚜"],"xié hái":["嚡"],"áo xiāo":["嚣"],mō:["嚤","摸"],pín:["嚬","娦","嫔","嬪","玭","矉","薲","蠙","貧","贫","顰","颦","𬞟"],mè:["嚰","濹"],"rǎng rāng":["嚷"],lá:["嚹","旯"],"jiáo jué jiào":["嚼"],chuò:["嚽","娖","擉","歠","涰","磭","踀","輟","辍","辵","辶","酫","鑡","餟","齪","龊"],"huān huàn":["嚾"],"zá cà":["囃"],chài:["囆","虿","蠆","袃","訍"],"náng nāng":["囊"],"zá zàn cān":["囋"],sū:["囌","櫯","甦","稣","穌","窣","蘇","蘓","酥","鯂"],zèng:["囎","熷","甑","贈","赠","鋥","锃"],"zá niè yàn":["囐"],nāng:["囔"],"luó luō luo":["囖"],"wéi guó":["囗"],huí:["囘","回","囬","廻","廽","恛","洄","痐","茴","蚘","蛔","蛕","蜖","迴","逥","鮰"],nín:["囜","您","脌"],"jiǎn nān":["囝"],nān:["囡"],tuán:["团","団","團","慱","抟","摶","檲","糰","鏄","鷒","鷻"],"tún dùn":["囤","坉"],guó:["囯","囶","囻","国","圀","國","帼","幗","慖","摑","漍","聝","腘","膕","蔮","虢","馘","𬇹"],kùn:["困","涃","睏"],"wéi tōng":["囲"],qūn:["囷","夋","逡"],rì:["囸","日","衵","鈤","馹","驲"],tāi:["囼","孡","胎"],pǔ:["圃","圑","擈","普","暜","樸","檏","氆","浦","溥","烳","諩","譜","谱","蹼","鐠","镨"],"quān juàn juān":["圈","圏"],"chuí chuán":["圌"],tuǎn:["圕","畽","疃"],lüè:["圙","掠","略","畧","稤","鋝","鋢","锊","䂮"],"huán yuán":["圜"],luán:["圝","圞","奱","娈","孌","孪","孿","峦","巒","挛","攣","曫","栾","欒","滦","灤","癴","癵","羉","脔","臠","虊","銮","鑾","鵉","鸞","鸾"],tǔ:["土","圡","釷","钍"],"xū wéi":["圩"],"dì de":["地","嶳"],"qiān sú":["圱"],zhèn:["圳","塦","挋","振","朕","栚","甽","眹","紖","絼","纼","誫","賑","赈","鋴","鎭","鎮","镇","阵","陣","震","鴆","鸩"],"chǎng cháng":["场","場","塲"],"qí yín":["圻"],jiá:["圿","忦","恝","戞","扴","脥","荚","莢","蛱","蛺","裌","跲","郏","郟","鋏","铗","頬","頰","颊","鴶","鵊"],"zhǐ zhì":["坁"],bǎn:["坂","岅","昄","板","版","瓪","粄","舨","蝂","鈑","钣","阪","魬"],qǐn:["坅","寑","寝","寢","昑","梫","笉","螼","赾","鋟","锓"],"méi fén":["坆"],"rǒng kēng":["坈"],"fāng fáng":["坊"],"fèn bèn":["坋"],tān:["坍","怹","摊","擹","攤","滩","灘","瘫","癱","舑","貪","贪"],"huài pēi pī péi":["坏"],"dì làn":["坔"],tán:["坛","墰","墵","壇","壜","婒","憛","昙","曇","榃","檀","潭","燂","痰","磹","罈","罎","藫","談","譚","譠","谈","谭","貚","郯","醰","錟","顃"],bà:["坝","垻","壩","弝","欛","灞","爸","矲","覇","霸","鮁","鲅"],fén:["坟","墳","妢","岎","幩","枌","棼","汾","焚","燌","燓","羒","羵","蒶","蕡","蚠","蚡","豮","豶","轒","鐼","隫","馩","魵","黂","鼖","鼢","𣸣"],zhuì:["坠","墜","惴","甀","畷","礈","綴","縋","缀","缒","腏","膇","諈","贅","赘","醊","錣","鑆"],pō:["坡","岥","泼","溌","潑","釙","鏺","钋","頗","颇","䥽"],"pǎn bàn":["坢"],kūn:["坤","堃","堒","崐","崑","昆","晜","潉","焜","熴","猑","琨","瑻","菎","蜫","裈","裩","褌","醌","錕","锟","騉","髠","髡","髨","鯤","鲲","鵾","鶤","鹍"],diàn:["坫","垫","墊","壂","奠","婝","店","惦","扂","橂","殿","淀","澱","玷","琔","电","癜","簟","蜔","鈿","電","靛","驔"],"mù mǔ":["坶"],"kē kě":["坷","軻"],xuè:["坹","岤","桖","瀥","狘","瞲","謔","谑","趐"],"dǐ chí":["坻","柢"],lā:["垃","柆","菈","邋"],lǒng:["垄","垅","壟","壠","拢","攏","竉","陇","隴","𬕂"],mín:["垊","姄","岷","崏","捪","旻","旼","民","珉","琘","琝","瑉","痻","盿","砇","緍","緡","缗","罠","苠","鈱","錉","鍲","鴖"],"dòng tóng":["垌","峒","洞"],cí:["垐","嬨","慈","柌","濨","珁","瓷","甆","磁","礠","祠","糍","茨","詞","词","辝","辞","辤","辭","雌","飺","餈","鴜","鶿","鷀","鹚"],duī:["垖","堆","塠","痽","磓","鐓","鐜","鴭"],"duò duǒ":["垛"],"duǒ duò":["垜","挆"],chá:["垞","察","嵖","搽","槎","檫","猹","茬","茶","詧","靫","𥻗"],shǎng:["垧","晌","樉","賞","贘","赏","鋿","鏛","鑜"],shǒu:["垨","守","手","扌","艏","首"],da:["垯","繨","跶"],háng:["垳","斻","杭","筕","絎","绗","航","苀","蚢","裄","貥","迒","頏","颃","魧"],"ān ǎn":["垵"],xīng:["垶","惺","星","曐","煋","猩","瑆","皨","篂","腥","興","觪","觲","謃","騂","骍","鮏","鯹"],"yuàn huán":["垸"],bāng:["垹","帮","幇","幚","幫","捠","梆","浜","邦","邫","鞤","𠳐"],"póu fú":["垺"],cén:["埁","岑","涔"],"běng fēng":["埄"],"dì fáng":["埅"],"xiá jiā":["埉"],"mái mán":["埋"],làng:["埌","崀","浪","蒗","閬","㫰"],"shān yán":["埏"],"qín jīn":["埐"],"pǔ bù":["埔"],huā:["埖","婲","椛","硴","糀","花","蒊","蘤","誮","錵"],"suì sù":["埣"],"pí pì":["埤"],"qīng zhēng":["埥","鲭"],"wǎn wān":["埦"],lǔn:["埨","稐","𫭢"],"zhēng chéng":["埩"],kōng:["埪","崆","箜","躻","錓","鵼"],"cǎi cài":["埰","寀","采"],"chù tòu":["埱"],běng:["埲","琫","菶","鞛"],"kǎn xiàn":["埳"],"yì shì":["埶","醳"],péi:["培","毰","裴","裵","賠","赔","錇","锫","阫","陪"],"sào sǎo":["埽"],"jǐn qīn jìn":["堇"],"péng bèng":["堋"],"qiàn zàn jiàn":["堑"],àn:["堓","屵","岸","按","暗","案","胺","荌","豻","貋","錌","闇","隌","黯"],"duò huī":["堕","墮"],huán:["堚","寏","寰","峘","桓","洹","澴","獂","环","環","糫","繯","缳","羦","荁","萈","萑","豲","鍰","鐶","锾","镮","闤","阛","雈","鬟","鹮","𬘫","𤩽"],"bǎo bǔ pù":["堡"],"máo móu wǔ":["堥"],ruán:["堧","壖","撋"],"ài è yè":["堨"],gèng:["堩","暅"],méi:["堳","塺","媒","嵋","徾","攗","枚","栂","梅","楣","楳","槑","湄","湈","煤","猸","玫","珻","瑂","眉","睂","禖","脄","脢","腜","苺","莓","葿","郿","酶","鎇","镅","霉","鶥","鹛","黴"],dǔ:["堵","琽","睹","笃","篤","覩","賭","赌"],féng:["堸","綘","艂","逢"],hèng:["堼"],chūn:["堾","媋","旾","春","暙","杶","椿","槆","橁","櫄","瑃","箺","萅","蝽","輴","鰆","鶞","䲠"],jiǎng:["塂","奖","奨","奬","桨","槳","獎","耩","膙","蒋","蔣","講","讲","顜"],huāng:["塃","巟","慌","肓","荒","衁"],duàn:["塅","断","斷","椴","段","毈","煅","瑖","碫","簖","籪","緞","缎","腶","葮","躖","鍛","锻"],tǎ:["塔","墖","獭","獺","鮙","鰨","鳎"],wěng:["塕","奣","嵡","攚","暡","瞈","蓊"],"sāi sài sè":["塞"],zàng:["塟","弉","臓","臟","葬","蔵","銺"],tián:["塡","屇","恬","沺","湉","璳","甛","甜","田","畋","畑","碵","磌","胋","闐","阗","鴫","鷆","鷏"],zhèng:["塣","幁","政","証","諍","證","证","诤","郑","鄭","靕","鴊"],"tián zhèn":["填"],wēn:["塭","昷","榲","殟","温","溫","瑥","瘟","蕰","豱","輼","轀","辒","鎾","饂","鰛","鰮","鳁"],liù:["塯","廇","磟","翏","雡","霤","餾","鬸","鷚","鹨"],hǎi:["塰","海","烸","酼","醢"],lǎng:["塱","朖","朗","朤","烺","蓢","㮾"],bèng:["塴","揼","泵","甏","綳","蹦","迸","逬","鏰","镚"],chén:["塵","宸","尘","忱","敐","敶","晨","曟","栕","樄","沉","煁","瘎","臣","茞","莀","莐","蔯","薼","螴","訦","諶","軙","辰","迧","鈂","陈","陳","霃","鷐","麎"],"ōu qiū":["塸"],"qiàn jiàn":["塹"],"zhuān tuán":["塼"],shuǎng:["塽","慡","漺","爽","縔","鏯"],shú:["塾","婌","孰","璹","秫","贖","赎"],lǒu:["塿","嵝","嶁","甊","篓","簍"],chí:["墀","弛","持","池","漦","竾","筂","箎","篪","茌","荎","蚳","謘","貾","赿","踟","迟","迡","遅","遟","遲","鍉","馳","驰"],shù:["墅","庶","庻","怷","恕","戍","束","树","樹","沭","漱","潄","濖","竖","竪","絉","腧","荗","蒁","虪","術","裋","豎","述","鉥","錰","鏣","霔","鶐","𬬸"],"dì zhì":["墆","疐"],kàn:["墈","崁","瞰","矙","磡","衎","鬫"],chěn:["墋","夦","硶","碜","磣","贂","趻","踸","鍖"],"zhǐ zhuó":["墌"],qiǎng:["墏","繈","繦","羥","襁"],zēng:["増","增","憎","璔","矰","磳","罾","譄","鄫","鱛","䎖"],qiáng:["墙","墻","嫱","嬙","樯","檣","漒","牆","艢","蔃","蔷","蘠"],"kuài tuí":["墤"],"tuǎn dǒng":["墥"],"qiáo què":["墧"],"zūn dūn":["墫"],"qiāo áo":["墽"],"yì tú":["墿"],"xué bó jué":["壆"],lǎn:["壈","嬾","孄","孏","懒","懶","揽","擥","攬","榄","欖","浨","漤","灠","纜","缆","罱","覧","覽","览","醂","顲"],huài:["壊","壞","蘾"],rǎng:["壌","壤","攘","爙"],"làn xiàn":["壏"],dǎo:["壔","导","導","岛","島","嶋","嶌","嶹","捣","搗","擣","槝","祷","禂","禱","蹈","陦","隝","隯"],ruǐ:["壡","桵","橤","繠","蕊","蕋","蘂","蘃"],san:["壭"],zhuàng:["壮","壯","壵","撞","焋","状","狀"],"ké qiào":["壳","殼"],kǔn:["壸","壼","悃","捆","梱","硱","祵","稇","稛","綑","裍","閫","閸","阃"],mǎng:["壾","漭","茻","莽","莾","蠎"],cún:["壿","存"],"zhǐ zhōng":["夂"],"gǔ yíng":["夃"],"jiàng xiáng":["夅","降"],"páng féng fēng":["夆"],zhāi:["夈","捚","摘","斋","斎","榸","粂","齋"],"xuàn xiòng":["夐"],wài:["外","顡"],"wǎn yuàn wān yuān":["夗"],"mǎo wǎn":["夘"],mèng:["夢","夣","孟","梦","癦","霥"],"dà dài":["大"],"fū fú":["夫","姇","枎","粰"],guài:["夬","怪","恠"],yāng:["央","姎","抰","殃","泱","秧","胦","鉠","鍈","雵","鴦","鸯"],"hāng bèn":["夯"],gǎo:["夰","搞","杲","槀","槁","檺","稁","稾","稿","縞","缟","菒","藁","藳"],"tāo běn":["夲"],"tóu tou":["头"],"yǎn tāo":["夵"],"kuā kuà":["夸","誇"],"jiá jiā gā xiá":["夹"],huà:["夻","婳","嫿","嬅","崋","摦","杹","枠","桦","槬","樺","澅","画","畫","畵","繣","舙","話","諙","譮","话","黊"],"jiā jiá gā xiá":["夾"],ēn:["奀","恩","蒽"],"dī tì":["奃"],"yǎn yān":["奄","渰"],pào:["奅","疱","皰","砲","礟","礮","靤","麭"],nài:["奈","柰","渿","耐","萘","褦","錼","鼐"],"quān juàn":["奍","弮","棬"],zòu:["奏","揍"],"qì qiè xiè":["契"],kāi:["奒","开","揩","鐦","锎","開"],"bēn bèn":["奔","泍"],tào:["套"],"zàng zhuǎng":["奘"],běn:["奙","本","楍","畚","翉","苯"],"xùn zhuì":["奞"],shē:["奢","檨","猞","畭","畲","賒","賖","赊","輋","𪨶"],"hǎ pò tǎi":["奤"],"ào yù":["奥","奧","澚"],yūn:["奫","氲","氳","蒀","蒕","蝹","贇","赟","𫖳"],"duǒ chě":["奲"],"nǚ rǔ":["女"],nú:["奴","孥","笯","駑","驽"],"dīng dǐng tiǎn":["奵"],"tā jiě":["她"],nuán:["奻"],"hǎo hào":["好"],fàn:["奿","嬎","梵","汎","泛","滼","瀪","犯","畈","盕","笵","範","范","訉","販","贩","軬","輽","飯","飰","饭"],shuò:["妁","搠","朔","槊","烁","爍","矟","蒴","鎙","鑠","铄"],"fēi pèi":["妃"],wàng:["妄","忘","旺","望","朢"],zhuāng:["妆","妝","娤","庄","庒","桩","梉","樁","粧","糚","荘","莊","装","裝"],mā:["妈","媽"],"fū yōu":["妋"],"hài jiè":["妎"],dù:["妒","妬","杜","殬","渡","秺","芏","荰","螙","蠧","蠹","鍍","镀","靯","𬭊"],miào:["妙","庙","庿","廟","玅","竗"],"fǒu pēi pī":["妚"],"yuè jué":["妜"],niū:["妞"],"nà nàn":["妠"],tuǒ:["妥","嫷","庹","椭","楕","橢","鬌","鰖","鵎"],"wàn yuán":["妧"],fáng:["妨","房","肪","防","魴","鲂"],nī:["妮"],zhóu:["妯","碡"],zhāo:["妱","巶","招","昭","釗","鉊","鍣","钊","駋","𬬿"],"nǎi nǐ":["妳"],tǒu:["妵","敨","紏","蘣","黈"],"xián xuán xù":["妶"],"zhí yì":["妷","秇"],ē:["妸","妿","婀","屙"],mèi:["妹","媚","寐","抺","旀","昧","沬","煝","痗","眛","睸","祙","篃","蝞","袂","跊","鬽","魅"],"qī qì":["妻"],"xū xǔ":["姁","稰"],"shān shàn":["姍","姗","苫","釤","钐"],mán:["姏","慲","樠","蛮","蠻","謾","饅","馒","鬗","鬘","鰻","鳗"],jiě:["姐","媎","檞","毑","飷"],"wěi wēi":["委"],pīn:["姘","拼","礗","穦","馪","驞"],"huá huó":["姡"],"jiāo xiáo":["姣"],"gòu dù":["姤"],"lǎo mǔ":["姥"],"nián niàn":["姩"],zhěn:["姫","屒","弫","抮","昣","枕","畛","疹","眕","稹","縝","縥","缜","聄","萙","袗","裖","覙","診","诊","軫","轸","辴","駗","鬒"],héng:["姮","恆","恒","烆","珩","胻","蘅","衡","鑅","鴴","鵆","鸻"],"jūn xún":["姰"],"kuā hù":["姱"],"è yà":["姶"],"xiān shēn":["姺"],wá:["娃"],"ráo rǎo":["娆","嬈"],"shào shāo":["娋"],xiē:["娎","揳","楔","歇","蝎","蠍"],"wǔ méi mǔ":["娒"],"chuò lài":["娕"],niáng:["娘","嬢","孃"],"nà nuó":["娜","𦰡"],"pōu bǐ":["娝"],"něi suī":["娞"],tuì:["娧","煺","蛻","蜕","退","駾"],mǎn:["娨","屘","満","满","滿","螨","蟎","襔","鏋"],"wú wù yú":["娪"],"xī āi":["娭"],"zhuì shuì":["娷"],"dōng dòng":["娻"],"ǎi ái è":["娾"],"ē ě":["娿"],mián:["婂","嬵","宀","杣","棉","檰","櫋","眠","矈","矊","矏","綿","緜","绵","芇","蝒"],"pǒu péi bù":["婄"],biǎo:["婊","脿","表","裱","褾","諘","錶"],"fù fàn":["婏"],wǒ:["婐","婑","我"],"ní nǐ":["婗","棿"],"quán juàn":["婘","惓"],hūn:["婚","昏","昬","棔","涽","睧","睯","碈","荤","葷","蔒","轋","閽","阍"],"qiān jǐn":["婜"],"wān wà":["婠"],"lái lài":["婡","徕","徠"],"zhōu chōu":["婤"],"chuò nào":["婥"],"nüè àn":["婩"],"hùn kūn":["婫"],"dàng yáng":["婸"],nàn:["婻"],"ruò chuò":["婼"],jiǎ:["婽","岬","斚","斝","榎","槚","檟","玾","甲","胛","鉀","钾"],"tōu yú":["婾","媮"],"yù yú":["媀"],"wéi wěi":["媁"],"dì tí":["媂","珶","苐"],róu:["媃","揉","柔","渘","煣","瑈","瓇","禸","粈","糅","脜","腬","葇","蝚","蹂","輮","鍒","鞣","騥","鰇","鶔","𫐓"],"ruǎn nèn":["媆"],miáo:["媌","嫹","描","瞄","苗","鶓","鹋"],"yí pèi":["媐"],"mián miǎn":["媔"],"tí shì":["媞","惿"],"duò tuó":["媠","沲"],ǎo:["媪","媼","艹","芺","袄","襖","镺"],"chú zòu":["媰"],yìng:["媵","映","暎","硬","膡","鱦"],"qín shēn":["嫀"],jià:["嫁","幏","架","榢","稼","駕","驾"],sǎo:["嫂"],"zhēn zhěn":["嫃"],"jiē suǒ":["嫅"],"míng mǐng":["嫇"],niǎo:["嫋","嬝","嬲","茑","蔦","袅","裊","褭","鸟"],tāo:["嫍","幍","弢","慆","掏","搯","槄","涛","滔","濤","瑫","絛","縚","縧","绦","詜","謟","轁","鞱","韜","韬","飸","饕"],biáo:["嫑"],"piáo piāo":["嫖","薸"],xuán:["嫙","悬","懸","暶","檈","漩","玄","璇","璿","痃","蜁","𫠊"],"màn mān":["嫚"],kāng:["嫝","嵻","康","慷","槺","漮","砊","穅","糠","躿","鏮","鱇","𡐓","𩾌"],"hān nǎn":["嫨"],nèn:["嫩","嫰"],zhē:["嫬","遮"],"mā má":["嫲"],piè:["嫳"],zhǎn:["嫸","展","搌","斩","斬","琖","盏","盞","輾","醆","颭","飐"],"xiān yǎn jìn":["嬐"],liǎn:["嬚","敛","斂","琏","璉","羷","脸","臉","蔹","蘝","蘞","裣","襝","鄻"],"qióng huán xuān":["嬛"],dǒng:["嬞","懂","箽","董","蕫","諌"],cān:["嬠","湌","爘","飡","餐","驂","骖"],tiǎo:["嬥","宨","晀","朓","窱","脁"],bí:["嬶","荸","鼻"],liǔ:["嬼","柳","栁","桞","桺","橮","熮","珋","綹","绺","罶","羀","鋶","锍"],"qiān xiān":["孅","欦"],"xié huī":["孈"],"huān quán":["孉"],"lí lì":["孋","麗"],"zhú chuò":["孎"],kǒng:["孔","恐"],"mā zī":["孖"],"sūn xùn":["孙","孫"],"bèi bó":["孛","誖"],"yòu niū":["孧"],zhuǎn:["孨","竱","轉"],hái:["孩","骸"],nāo:["孬"],"chán càn":["孱"],bò:["孹","檗","蘗","譒"],nái:["孻","腉"],"níng nìng":["宁","寍","寗","寜","寧","甯"],zhái:["宅"],"tū jiā":["宊"],sòng:["宋","訟","誦","讼","诵","送","鎹","頌","颂","餸"],ròu:["宍","肉","譳"],zhūn:["宒","窀","衠","諄","谆","迍"],"mì fú":["宓"],"dàng tàn":["宕"],"wǎn yuān":["宛"],chǒng:["宠","寵"],qún:["宭","峮","帬","羣","群","裙","裠"],zǎi:["宰","崽"],"bǎo shí":["宲"],"jiā jia jie":["家"],"huāng huǎng":["宺"],kuān:["宽","寛","寬","臗","鑧","髋","髖"],"sù xiǔ xiù":["宿"],"jié zǎn":["寁"],"bìng bǐng":["寎"],"jìn qǐn":["寖"],"lóu jù":["寠"],"xiě xiè":["寫"],"qīn qìn":["寴"],cùn:["寸","籿"],duì:["对","対","對","怼","憝","懟","濧","瀩","碓","祋","綐","薱","譈","譵","轛","队","陮"],"lüè luó":["寽"],"shè yè yì":["射"],"jiāng jiàng qiāng":["将"],"jiāng jiàng":["將","浆","漿","畺"],zūn:["尊","嶟","樽","罇","遵","鐏","鱒","鳟","鶎","鷷","𨱔"],"shù zhù":["尌","澍"],xiǎo:["小","晓","暁","曉","皛","皢","筱","筿","篠","謏","𫍲"],"jié jí":["尐","诘","鞊"],"shǎo shào":["少"],ěr:["尒","尓","尔","栮","毦","洱","爾","珥","耳","薾","衈","趰","迩","邇","鉺","铒","餌","饵","駬"],"wāng yóu":["尢"],wāng:["尣","尩","尪","尫","汪"],liào:["尥","尦","廖","撂","料","炓","窷","鐐","镣","𪤗"],"méng máng lóng páng":["尨"],gà:["尬","魀"],"kuì kuǐ":["尯"],tuí:["尵","弚","穨","蘈","蹪","隤","頹","頺","頽","颓","魋","𬯎"],yǐn:["尹","嶾","引","朄","檃","檼","櫽","淾","濥","瘾","癮","粌","蘟","蚓","螾","讔","赺","趛","輑","鈏","靷"],"chǐ chě":["尺"],kāo:["尻","髛"],"jìn jǐn":["尽"],"wěi yǐ":["尾"],"niào suī":["尿"],céng:["层","層","嶒","驓"],diǎo:["屌"],"píng bǐng bīng":["屏"],lòu:["屚","漏","瘘","瘺","瘻","鏤","镂","陋"],"shǔ zhǔ":["属","屬"],"xiè tì":["屟"],"chè cǎo":["屮"],"tún zhūn":["屯"],"nì jǐ":["屰"],"hóng lóng":["屸"],"qǐ kǎi":["岂","豈"],áng:["岇","昂","昻"],"gǎng gāng":["岗","崗"],kě:["岢","敤","渇","渴","炣"],gǒu:["岣","狗","玽","笱","耇","耈","耉","苟","豿"],tiáo:["岧","岹","樤","祒","笤","芀","萔","蓚","蓨","蜩","迢","鋚","鎥","鞗","髫","鯈","鰷","鲦","齠","龆"],"qū jū":["岨"],lǐng:["岭","嶺","領","领"],pò:["岶","敀","洦","湐","烞","珀","破","砶","粕","蒪","魄"],"bā kè":["峇"],luò:["峈","摞","洛","洜","犖","珞","笿","纙","荦","詻","雒","駱","骆","鵅"],"fù niè":["峊"],ěn:["峎"],"zhì shì":["峙","崻"],qiǎ:["峠","跒","酠","鞐"],"qiáo jiào":["峤","癄"],"xié yé":["峫"],bū:["峬","庯","晡","誧","逋","鈽","錻","钸","餔","鵏"],chóng:["崇","崈","爞","虫","蝩","蟲","褈","隀"],"zú cuì":["崒","椊"],"líng léng":["崚"],"dòng dōng":["崠"],xiáo:["崤","洨","淆","訤","誵"],"pí bǐ":["崥","芘"],"zhǎn chán":["崭","嶃","嶄"],"wǎi wēi":["崴"],"yáng dàng":["崵"],"shì dié":["崼"],yào:["崾","曜","熎","燿","矅","穾","窔","筄","耀","艞","药","葯","薬","藥","袎","覞","詏","讑","靿","鷂","鹞","鼼"],"kān zhàn":["嵁"],"hán dǎng":["嵅"],"qiàn kàn":["嵌"],"wù máo":["嵍"],"kě jié":["嵑","嶱"],"wēi wěi":["嵔"],kē:["嵙","柯","棵","榼","樖","牁","牱","犐","珂","疴","瞌","磕","礚","科","稞","窠","萪","薖","蚵","蝌","趷","轲","醘","鈳","钶","頦","顆","颗","髁"],"dàng táng":["嵣"],"róng yíng":["嵤","爃"],"ái kǎi":["嵦"],"kāo qiāo":["嵪"],cuó:["嵯","嵳","痤","矬","蒫","蔖","虘","鹺","鹾"],"qiǎn qīn":["嵰"],"dì dié":["嵽"],cēn:["嵾"],dǐng:["嵿","艼","薡","鐤","頂","顶","鼎","鼑"],"áo ào":["嶅"],"pǐ pèi":["嶏"],"jiào qiáo":["嶠","潐"],"jué guì":["嶡","鳜"],"zhān shàn":["嶦","鳣"],"xiè jiè":["嶰"],"guī xī juàn":["嶲"],rū:["嶿"],"lì liè":["巁","棙","爄","綟"],"xī guī juàn":["巂"],"yíng hōng":["巆"],yǐng:["巊","廮","影","摬","梬","潁","瘿","癭","矨","穎","郢","鐛","頴","颍","颕","颖"],chǎo:["巐","炒","煼","眧","麨"],cuán:["巑","櫕","欑"],chuān:["巛","川","氚","瑏","穿"],"jīng xíng":["巠"],cháo:["巢","巣","晁","漅","潮","牊","窲","罺","謿","轈","鄛","鼌"],qiǎo:["巧","愀","髜"],gǒng:["巩","廾","拱","拲","栱","汞","珙","輁","鞏"],"chà chā chāi cī":["差"],"xiàng hàng":["巷"],shuài:["帅","帥","蟀"],pà:["帊","帕","怕","袙"],"tǎng nú":["帑"],"mò wà":["帓"],"tiē tiě tiè":["帖"],zhǒu:["帚","晭","疛","睭","箒","肘","菷","鯞"],"juǎn juàn":["帣"],shuì:["帨","涗","涚","睡","稅","税","裞"],"chóu dào":["帱","幬"],"jiǎn jiān sàn":["帴"],"shà qiè":["帹"],"qí jì":["帺","荠"],"shān qiāo shēn":["幓"],"zhuàng chuáng":["幢"],"chān chàn":["幨"],miè:["幭","懱","搣","滅","灭","烕","礣","篾","蔑","薎","蠛","衊","鑖","鱴","鴓"],"gān gàn":["干"],"bìng bīng":["并","幷"],"jī jǐ":["幾"],"guǎng ān":["广"],guǎng:["広","廣","犷","獷"],me:["庅"],"dùn tún":["庉"],"bài tīng":["庍"],"yìng yīng":["应"],"dǐ de":["底"],"dù duó":["度"],"máng méng páng":["庬"],"bìng píng":["庰"],chěng:["庱","悜","睈","逞","騁","骋"],"jī cuò":["庴"],qǐng:["庼","廎","檾","漀","苘","請","謦","请","頃","顷"],"guī wěi huì":["廆"],"jǐn qín":["廑"],kuò:["廓","扩","拡","擴","濶","筈","萿","葀","蛞","闊","阔","霩","鞟","鞹","韕","頢","鬠"],"qiáng sè":["廧","薔"],"yǐn yìn":["廴","隐","隠","隱","飮","飲","饮"],"pò pǎi":["廹","迫"],"nòng lòng":["弄"],"dì tì tuí":["弟"],"jué zhāng":["弡"],"mí mǐ":["弥","彌","靡"],chāo:["弨","怊","抄","欩","訬","超","鈔","钞"],yi:["弬"],shāo:["弰","旓","烧","焼","燒","筲","艄","萷","蕱","輎","髾","鮹"],"xuān yuān":["弲"],"qiáng qiǎng jiàng":["強","强"],"tán dàn":["弹","醈"],biè:["彆"],"qiáng jiàng qiǎng":["彊"],"jì xuě":["彐"],tuàn:["彖","褖"],yuē:["彟","曰","曱","矱"],"shān xiǎn":["彡"],wén:["彣","文","炆","珳","瘒","繧","聞","芠","蚉","蚊","螡","蟁","閺","閿","闅","闦","闻","阌","雯","馼","駇","魰","鳼","鴍","鼤","𫘜"],"péng bāng":["彭"],"piāo piào":["彯"],"zhuó bó":["彴"],"tuǒ yí":["彵"],"páng fǎng":["彷"],wǎng:["彺","往","徃","惘","枉","棢","網","网","罒","罓","罔","罖","菵","蛧","蝄","誷","輞","辋","魍"],cú:["徂","殂"],"dài dāi":["待"],huái:["徊","怀","懐","懷","槐","淮","耲","蘹","褢","褱","踝"],"wā wàng jiā":["徍"],"chěng zhèng":["徎"],"dé děi de":["得"],"cóng zòng":["從"],"shì tǐ":["徥"],"tí chí":["徲","鶗","鶙"],dé:["徳","德","恴","悳","惪","淂","鍀","锝"],"zhǐ zhēng":["徴","徵"],bié:["徶","癿","莂","蛂","襒","蹩"],"chōng zhǒng":["徸"],"jiǎo jiào":["徼","笅","筊"],"lòng lǒng":["徿"],"qú jù":["忂","渠","瞿","螶"],"dìng tìng":["忊"],gǎi:["忋","改"],rěn:["忍","栠","栣","秹","稔","綛","荏","荵","躵"],chàn:["忏","懴","懺","硟","羼","韂","顫"],tè:["忑","慝","特","蟘","鋱","铽"],"tè tēi tuī":["忒"],"gān hàn":["忓","攼"],"yì qì":["忔"],"tài shì":["忕"],"xī liě":["忚"],"yīng yìng":["応","應","譍"],"mǐn wěn mín":["忞","忟"],"sōng zhōng":["忪"],"yù shū":["忬","悆"],"qí shì":["忯","耆"],"tún zhūn dùn":["忳"],"qián qín":["忴","扲"],hún:["忶","浑","渾","餛","馄","魂","鼲"],niǔ:["忸","扭","炄","狃","紐","纽","莥","鈕","钮","靵"],"kuáng wǎng":["忹"],"kāng hàng":["忼"],"kài xì":["忾","愾"],òu:["怄","慪"],"bǎo bào":["怉"],"mín mén":["怋"],"zuò zhà":["怍"],zěn:["怎"],yàng:["怏","恙","样","様","樣","漾","羕","詇"],"kòu jù":["怐"],"náo niú":["怓"],"zhēng zhèng":["怔","掙","钲","铮"],"tiē zhān":["怗"],"hù gù":["怘"],"cū jù zū":["怚"],"sī sāi":["思"],"yóu chóu":["怞"],"tū dié":["怢"],"yōu yào":["怮"],xuàn:["怰","昡","楦","泫","渲","炫","琄","眩","碹","絢","縼","繏","绚","蔙","衒","袨","贙","鉉","鏇","铉","镟","颴"],"xù xuè":["怴"],"bì pī":["怶"],"xī shù":["怸"],"nèn nín":["恁"],"tiāo yáo":["恌"],"xī qī xù":["恓"],"xiào jiǎo":["恔"],"hū kuā":["恗"],nǜ:["恧","朒","衂","衄"],hèn:["恨"],"dòng tōng":["恫"],"quán zhuān":["恮"],"è wù ě wū":["恶","惡"],tòng:["恸","慟","憅","痛","衕"],"yuān juàn":["悁"],"qiāo qiǎo":["悄"],"jiè kè":["悈"],"hào jiào":["悎"],huǐ:["悔","檓","毀","毁","毇","燬","譭"],"mán mèn":["悗","鞔"],"yī yì":["悘","衣"],quān:["悛","箞","鐉","𨟠"],"kuī lǐ":["悝"],"yì niàn":["悥"],"mèn mēn":["悶"],guàn:["悹","悺","惯","慣","掼","摜","樌","欟","泴","涫","潅","灌","爟","瓘","盥","礶","祼","罆","罐","貫","贯","躀","遦","鏆","鑵","鱹","鸛","鹳"],"kōng kǒng":["悾"],"lǔn lùn":["惀"],guǒ:["惈","果","椁","槨","粿","綶","菓","蜾","裹","褁","輠","餜","馃"],"yuān wǎn":["惌","箢"],"lán lín":["惏"],"yù xù":["惐","淢"],"chuò chuì":["惙"],"hūn mèn":["惛"],"chǎng tǎng":["惝"],"suǒ ruǐ":["惢"],cǎn:["惨","慘","憯","黪","黲","䅟"],cán:["惭","慙","慚","残","殘","蚕","蝅","蠶","蠺"],"dàn dá":["惮","憚"],rě:["惹"],"yú tōu":["愉"],"kài qì":["愒"],"dàng táng shāng yáng":["愓"],"chén xìn dān":["愖"],"kè qià":["愘"],nuò:["愞","懦","懧","掿","搦","榒","稬","穤","糑","糥","糯","諾","诺","蹃","逽","鍩","锘"],gǎn:["感","擀","敢","桿","橄","澉","澸","皯","秆","稈","笴","芉","衦","赶","趕","鱤","鳡"],"còng sōng":["愡"],"sāi sī sǐ":["愢"],"gōng gòng hǒng":["愩","慐"],"shuò sù":["愬","洬"],"yáo yào":["愮"],huàng:["愰","曂","榥","滉","皝","皩","鎤","㿠"],zhěng:["愸","抍","拯","整","晸"],cǎo:["愺","艸","草","騲"],"xì xié":["慀"],"cǎo sāo":["慅"],"xù chù":["慉"],"qiè qiàn":["慊"],"cáo cóng":["慒"],"ào áo":["慠"],"lián liǎn":["慩","梿","槤","櫣"],"jìn qín jǐn":["慬"],"dì chì":["慸"],"zhí zhé":["慹"],"lóu lǚ":["慺","鷜"],còng:["憁","謥"],"zhī zhì":["憄","知","織","织"],chēng:["憆","摚","撐","撑","晿","柽","棦","橕","檉","泟","浾","琤","瞠","碀","緽","罉","蛏","蟶","赪","赬","鏿","鐣","阷","靗","頳","饓"],biē:["憋","虌","鱉","鳖","鼈","龞"],"chéng dèng zhèng":["憕"],"xǐ xī":["憘"],"duì dùn tūn":["憞"],"xiāo jiāo":["憢"],"xián xiàn":["憪"],"liáo liǎo":["憭","燎","爎","爒"],shéng:["憴","縄","繉","繩","绳","譝"],"náo nǎo náng":["憹"],"jǐng jìng":["憼"],"jǐ jiǎo":["憿"],"xuān huān":["懁"],"cǎo sāo sào":["懆"],mèn:["懑","懣","暪","焖","燜"],"mèng méng měng":["懜"],"ài yì nǐ":["懝"],"méng měng":["懞","瞢","矒"],"qí jī jì":["懠"],mǒ:["懡"],"lán xiàn":["懢"],"yōu yǒu":["懮"],"liú liǔ":["懰","藰"],ràng:["懹","譲","讓","让"],huān:["懽","欢","歓","歡","獾","讙","貛","酄","驩","鴅","鵍"],nǎn:["戁","揇","湳","煵","腩","蝻","赧"],"mí mó":["戂"],"gàng zhuàng":["戅","戆"],"zhuàng gàng":["戇"],"xū qu":["戌"],"xì hū":["戏","戯","戲"],"jiá gā":["戛"],zéi:["戝","蠈","賊","贼","鰂","鱡","鲗"],děng:["戥","等"],"hū xì":["戱"],chuō:["戳","踔","逴"],"biǎn piān":["扁"],"shǎng jiōng":["扄"],"shàn shān":["扇"],cái:["才","材","纔","裁","財","财"],"zhā zā zhá":["扎"],"lè lì cái":["扐"],"bā pá":["扒"],"dǎ dá":["打"],rēng:["扔"],"fǎn fú":["払"],"diǎo dí yuē lì":["扚"],"káng gāng":["扛"],"yū wū":["扜"],"yū wū kū":["扝"],"tuō chǐ yǐ":["扡"],"gǔ jié xì gē":["扢"],dèn:["扥","扽"],"sǎo sào":["扫","掃"],rǎo:["扰","擾","隢"],"xī chā qì":["扱"],"bān pān":["扳"],"bā ào":["扷"],"xī zhé":["扸"],"zhì sǔn kǎn":["扻"],zhǎo:["找","沼","瑵"],"kuáng wǎng zài":["抂"],"hú gǔ":["抇","鹄","鹘"],"bǎ bà":["把"],"dǎn shěn":["抌"],"nè nì ruì nà":["抐"],zhuā:["抓","檛","簻","膼","髽"],póu:["抔","裒"],"zhé shé zhē":["折"],"póu pōu fū":["抙","捊"],pāo:["抛","拋","脬","萢"],"ǎo ào niù":["抝"],"lūn lún":["抡","掄"],"qiǎng qiāng chēng":["抢"],"zhǐ zhǎi":["抧"],"bù pū":["抪","柨"],"yǎo tāo":["抭"],"hē hè qiā":["抲"],"nǐ ní":["抳"],"pī pēi":["抷"],"mǒ mò mā":["抹"],chōu:["抽","犨","犫","瘳","篘"],"jiā yá":["拁"],"fú bì":["拂","畐","鶝"],zhǎ:["拃","眨","砟","鮺","鲝"],"dān dàn dǎn":["担"],"chāi cā":["拆"],niān:["拈","蔫"],"lā lá lǎ là":["拉"],"bàn pàn":["拌"],pāi:["拍"],līn:["拎"],guǎi:["拐","枴","柺"],"tuò tà zhí":["拓"],"ào ǎo niù":["拗"],"jū gōu":["拘"],"pīn pàn fān":["拚"],"bài bái":["拜"],bài:["拝","敗","稗","粺","薭","贁","败","韛"],qiá:["拤"],"nǐng níng nìng":["拧"],"zé zhái":["择","擇"],hén:["拫","痕","鞎"],"kuò guā":["括"],"jié jiá":["拮"],nǐn:["拰"],shuān:["拴","栓","閂","闩"],"cún zùn":["拵"],"zā zǎn":["拶","桚"],kǎo:["拷","攷","栲","烤","考"],"yí chǐ hài":["拸"],"cè sè chuò":["拺"],"zhuài zhuāi yè":["拽"],"shí shè":["拾"],bāi:["挀","掰"],"kuò guāng":["挄"],nòng:["挊","挵","齈"],"jiào jiāo":["挍","敎","教"],"kuà kū":["挎"],"ná rú":["挐"],"tiāo tiǎo":["挑"],"dié shè":["挕"],liě:["挘","毟"],"yà yǎ":["挜","掗"],"wō zhuā":["挝"],"xié jiā":["挟","挾"],"dǎng dàng":["挡","擋"],"zhèng zhēng":["挣","正","症"],"āi ái":["挨"],"tuō shuì":["挩","捝"],"tǐ tì":["挮"],"suō shā":["挱"],"sā shā suō":["挲"],"kēng qiān":["挳","摼"],"bàng péng":["挷"],"ruó ruá":["挼"],"jiǎo kù":["捁"],"wǔ wú":["捂"],tǒng:["捅","桶","筒","筩","統","綂","统","㛚"],"huò chì":["捇"],"tú shū chá":["捈"],"lǚ luō":["捋"],"shāo shào":["捎","稍"],niē:["捏","揑"],"shù sǒng sōu":["捒"],"yé yú":["捓"],"jué zhuó":["捔"],"bù pú zhì":["捗"],zùn:["捘","銌"],lāo:["捞","撈","粩"],sǔn:["损","損","榫","笋","筍","箰","鎨","隼"],"wàn wǎn wān yù":["捥"],pěng:["捧","淎","皏"],shě:["捨"],"fǔ fù bǔ":["捬"],dáo:["捯"],"luò luǒ wǒ":["捰"],"juǎn quán":["捲"],"chēn tiǎn":["捵"],"niǎn niē":["捻"],"ruó wěi ré":["捼"],zuó:["捽","昨","秨","稓","筰","莋","鈼"],"wò xiá":["捾"],"qìng qiàn":["掅"],"póu pǒu":["掊"],qiā:["掐","葜"],"pái pǎi":["排"],"qiān wàn":["掔"],"yè yē":["掖"],"niè nǐ yì":["掜"],"huò xù":["掝"],"yàn shàn yǎn":["掞"],"zhěng dìng":["掟"],kòng:["控","鞚"],tuī:["推","蓷","藬"],"zōu zhōu chōu":["掫"],tiàn:["掭","舚"],kèn:["掯","裉","褃"],pá:["掱","杷","潖","爬","琶","筢"],"guó guāi":["掴"],"dǎn shàn":["掸","撣"],"chān xiān càn shǎn":["掺"],sāo:["掻","搔","溞","繅","缫","螦","騒","騷","鰠","鱢","鳋"],pèng:["掽","椪","槰","碰","踫"],"zhēng kēng":["揁"],"jiū yóu":["揂"],"jiān jiǎn":["揃","籛"],"pì chè":["揊"],"sāi zǒng cāi":["揌"],"tí dī dǐ":["提"],"zǒng sōng":["揔"],"huáng yóng":["揘"],"zǎn zuàn":["揝"],"xū jū":["揟"],"ké qiā":["揢"],"chuāi chuǎi chuài tuán zhuī":["揣"],"dì tì":["揥"],"lá là":["揦"],là:["揧","楋","溂","瓎","瘌","翋","臘","蝋","蝲","蠟","辢","辣","鑞","镴","鬎","鯻","𬶟"],"jiē qì":["揭"],"chòng dǒng":["揰"],"dié shé yè":["揲"],"jiàn qián jiǎn":["揵"],yé:["揶","爷","爺","瑘","鋣","鎁","铘"],chān:["搀","摻","攙","裧","襜","覘","觇","辿","鋓"],"gē gé":["搁","擱"],"lǒu lōu":["搂","摟"],"chōu zǒu":["搊"],chuāi:["搋"],sūn:["搎","槂","狲","猻","荪","蓀","蕵","薞","飧","飱"],"róng náng nǎng":["搑"],"péng bàng":["搒"],cuō:["搓","瑳","磋","蹉","遳","醝"],"kē è":["搕"],"nù nuò nòu":["搙"],"lā xié xiàn":["搚"],qiǔ:["搝","糗"],"xiǎn xiān":["搟"],"jié zhé":["搩"],"pán bān pó":["搫"],bān:["搬","攽","斑","斒","班","瘢","癍","肦","螁","螌","褩","辬","頒","颁","𨭉"],"zhì nái":["搱"],"wā wǎ wà":["搲"],huá:["搳","撶","滑","猾","蕐","螖","譁","鏵","铧","驊","骅","鷨"],"qiāng qiǎng chēng":["搶"],"tián shēn":["搷"],"ná nuò":["搻"],èn:["摁"],"shè niè":["摄","攝"],bìn:["摈","擯","殡","殯","膑","臏","髌","髕","髩","鬂","鬓","鬢"],"shā sà shǎi":["摋"],"chǎn sùn":["摌"],"jiū liú liáo jiǎo náo":["摎"],"féng pěng":["摓"],shuāi:["摔"],"dì tú zhí":["摕"],"qì jì chá":["摖"],"sōu sǒng":["摗"],"liǎn liàn":["摙"],"gài xì":["摡"],"hù chū":["摢"],tàng:["摥","烫","燙","鐋"],"nái zhì":["摨"],"mó mā":["摩"],"jiāng qiàng":["摪"],"áo qiáo":["摮"],"niè chè":["摰"],"mán màn":["摱"],"chàn cán":["摲"],"sè mí sù":["摵"],"biāo biào":["摽"],"juē jué":["撅"],piē:["撆","暼","氕","瞥"],"piě piē":["撇"],"zǎn zān zēn qián":["撍"],"sā sǎ":["撒"],hòng:["撔","訌","讧","闀","鬨"],"héng guàng":["撗"],niǎn:["撚","撵","攆","涊","焾","碾","簐","蹍","蹨","躎","輦","辇"],"chéng zhěng":["撜"],"huī wéi":["撝"],cāo:["撡","操","糙"],"xiāo sōu":["撨"],"liáo liāo":["撩"],"cuō zuǒ":["撮"],"wěi tuǒ":["撱"],cuān:["撺","攛","汆","蹿","躥","鑹","镩"],"qiào yāo jī":["撽"],"zhuā wō":["撾"],"lèi léi":["擂"],nǎng:["擃","攮","曩","灢"],"qíng jǐng":["擏"],kuǎi:["擓","蒯","㧟"],"pǐ bò":["擗"],"bò bāi":["擘"],"jù jǐ":["據"],mēng:["擝"],"sǒu sòu":["擞"],xǐng:["擤","箵","醒"],cā:["擦"],"níng nǐng nìng":["擰"],"zhì jié":["擳"],"là liè":["擸","爉"],"sòu sǒu":["擻"],"lì luò yuè":["擽"],"tī zhāi zhì":["擿"],pān:["攀","潘","眅","萠"],lèi:["攂","泪","涙","淚","禷","类","纇","蘱","酹","銇","錑","頛","頪","類","颣"],"cā sǎ":["攃"],"jùn pèi":["攈"],"lì luò":["攊","躒"],"là lài":["攋","櫴"],"lú luó":["攎"],"zǎn cuán":["攒"],"xiān jiān":["攕"],"mí mǐ mó":["攠"],"zǎn cuán zàn zuān":["攢"],zuàn:["攥"],"lì shài":["攦"],"lì luǒ":["攭"],"guǐ guì":["攱"],"jī qī yǐ":["攲"],fàng:["放"],"wù móu":["敄"],"chù shōu":["敊"],"gé guó è":["敋"],"duó duì":["敓","敚"],"duō què":["敠","敪"],"sàn sǎn":["散"],"dūn duì":["敦","镦"],"qī yǐ jī":["敧"],"xiào xué":["敩"],"shù shǔ shuò":["数","數"],"ái zhú":["敱","敳"],"xiòng xuàn":["敻"],"zhuó zhú":["斀"],"yì dù":["斁"],"lí tái":["斄"],"fěi fēi":["斐"],"yǔ zhōng":["斔"],"dòu dǒu":["斗"],"wò guǎn":["斡"],"tǒu tiǎo":["斢"],dòu:["斣","梪","浢","痘","窦","竇","脰","荳","豆","逗","郖","酘","閗","闘","餖","饾","鬥","鬦","鬪","鬬","鬭"],"yín zhì":["斦"],"chǎn jiè":["斺"],"wū yū yú":["於"],"yóu liú":["斿"],"páng bàng":["旁"],"máo mào":["旄"],"pī bì":["旇"],"xuán xuàn":["旋"],"wú mó":["无"],zǎo:["早","枣","栆","棗","澡","璪","薻","藻","蚤"],gā:["旮"],"gàn hàn":["旰"],"tái yīng":["旲"],"xū xù":["旴"],"tūn zhùn":["旽"],"wù wǔ":["旿"],"pò pèi":["昢"],zòng:["昮","猔","疭","瘲","粽","糉","糭","縦"],ǎi:["昹","毐","矮","蔼","藹","譪","躷","霭","靄"],"huàng huǎng":["晃"],xuǎn:["晅","癣","癬","选","選"],"xù kuā":["晇"],hǒng:["晎"],shài:["晒","曬"],"yūn yùn":["晕","煴"],"shèng chéng":["晟","椉","盛"],"jǐng yǐng":["景"],shǎn:["晱","熌","睒","覢","閃","闪","陕","陝"],"qǐ dù":["晵"],"ǎn àn yǎn":["晻"],"wǎng wàng":["暀"],zàn:["暂","暫","瓉","瓒","瓚","禶","襸","讃","讚","賛","贊","赞","蹔","鄼","錾","鏨","饡"],"yùn yūn":["暈"],"mín mǐn":["暋"],"dǔ shǔ":["暏"],shǔ:["暑","曙","潻","癙","糬","署","薥","薯","藷","蜀","蠴","襡","襩","鱪","鱰","黍","鼠","鼡"],"jiǎn lán":["暕"],nuǎn:["暖","煗","餪"],"bào pù":["暴"],"xī xǐ":["暿"],"pù bào":["曝","瀑"],"qū qǔ":["紶"],"qǔ qū":["曲"],"gèng gēng":["更"],"hū hù":["曶","雽"],"zēng céng":["曽","橧"],"céng zēng":["曾","竲"],"cǎn qián jiàn":["朁"],"qiè hé":["朅"],"bì pí":["朇","禆","笓","裨"],"yǒu yòu":["有"],"bān fén":["朌","鳻"],"fú fù":["服","洑"],"fěi kū":["朏","胐"],"qú xù chǔn":["朐"],"juān zuī":["朘"],"huāng máng wáng":["朚"],"qī jī":["期"],"tóng chuáng":["朣","橦"],zhá:["札","牐","箚","蚻","譗","鍘","铡","閘","闸"],"zhú shù shú":["朮"],"shù shú zhú":["术"],"zhū shú":["朱"],"pǔ pò pō piáo":["朴"],"dāo tiáo mù":["朷"],"guǐ qiú":["朹"],xiǔ:["朽","滫","潃","糔"],"chéng chēng":["朾"],zá:["杂","沯","砸","襍","雑","雜","雥","韴"],"yú wū":["杅"],"gān gǎn":["杆"],"chā chà":["杈"],"shān shā":["杉"],cūn:["村","皴","竴","膥","踆","邨"],"rèn ér":["杒","梕"],"sháo biāo":["杓"],"dì duò":["杕","枤"],"gū gài":["杚"],"yí zhì lí duò":["杝"],"gàng gāng":["杠"],"tiáo tiāo":["条","條"],"mà mǎ":["杩"],"sì zhǐ xǐ":["杫"],"yuán wán":["杬","蚖"],"bèi fèi":["杮"],"shū duì":["杸"],"niǔ chǒu":["杻"],"wò yuè":["枂","臒"],máo:["枆","毛","氂","渵","牦","矛","罞","茅","茆","蝥","蟊","軞","酕","鉾","錨","锚","髦","鶜"],"pī mì":["枈"],àng:["枊","盎","醠"],"fāng bìng":["枋"],"hù dǐ":["枑"],xín:["枔","襑","鐔","鬵"],"yāo yǎo":["枖"],"ě è":["枙"],"zhī qí":["枝"],"cōng zōng":["枞","樅"],"xiān zhēn":["枮"],"tái sì":["枱"],"gǒu jǔ gōu":["枸"],"bāo fú":["枹"],"yì xiè":["枻","栧"],"tuó duò":["柁","馱","駄","驮"],"yí duò lí":["柂"],"nǐ chì":["柅"],"pán bàn":["柈","跘"],"yǎng yàng yāng yīng":["柍"],"fù fū fǔ":["柎"],"bǎi bó bò":["柏"],mǒu:["某"],"sháo shào":["柖"],zhè:["柘","樜","浙","淛","蔗","蟅","這","鷓","鹧","䗪"],"yòu yóu":["柚","櫾"],"guì jǔ":["柜"],"zhà zuò":["柞"],"dié zhì":["柣","眰"],"zhā zǔ zū":["柤"],"chá zhā":["查","査"],"āo ào":["柪","軪"],"bā fú pèi bó biē":["柭"],"duò zuó wù":["柮"],"bì bié":["柲"],"zhù chù":["柷"],"bēi pēi":["柸"],"shì fèi":["柹"],"shān zhà shi cè":["栅"],"lì yuè":["栎","櫟"],"qì qiè":["栔","砌"],"qī xī":["栖","蹊"],"guā kuò":["栝"],"bīng bēn":["栟"],"xiào jiào":["校"],"jiàn zùn":["栫","袸"],"yǒu yù":["栯"],"hé hú":["核"],gēn:["根","跟"],"zhī yì":["栺"],"gé gē":["格"],"héng háng":["桁"],"guàng guāng":["桄"],"yí tí":["桋","荑"],sāng:["桑","桒","槡"],"jú jié":["桔"],"yú móu":["桙"],"ráo náo":["桡","橈"],"guì huì":["桧","檜"],"chén zhèn":["桭"],"tīng yíng":["桯"],"bó po":["桲"],"bèn fàn":["桳"],"fēng fèng":["桻","葑"],"sù yìn":["梀"],"tǐng tìng":["梃"],"xuān juān xié":["梋"],"tú chá":["梌"],"āo yòu":["梎"],kuǎn:["梡","欵","款","歀"],"shāo sào":["梢"],"qín chén cén":["梣"],"lí sì qǐ":["梩"],"chān yán":["梴"],"bīn bīng":["梹","槟","檳"],"táo chóu dào":["梼"],"cōng sōng":["棇"],"gùn hùn":["棍"],"dé zhé":["棏"],"pái bèi pèi":["棑"],"bàng pǒu bèi bēi":["棓"],"dì dài tì":["棣"],sēn:["森","椮","槮","襂"],"rěn shěn":["棯"],"léng lēng líng":["棱"],"fú sù":["棴"],"zōu sǒu":["棷"],zōu:["棸","箃","緅","諏","诹","邹","郰","鄒","鄹","陬","騶","驺","鯫","鲰","黀","齱","齺"],"zhào zhuō":["棹"],"chēn shēn":["棽"],"jiē qiè":["椄"],"yǐ yī":["椅"],"chóu zhòu diāo":["椆"],"qiāng kōng":["椌"],"zhuī chuí":["椎"],"bēi pí":["椑"],mēn:["椚"],"quān juàn quán":["椦"],"duǒ chuán":["椯"],"wěi huī":["椲"],"jiǎ jiā":["椵"],"hán jiān":["椷"],"shèn zhēn":["椹"],"yàn yà":["椻"],"zhā chá":["楂"],"guō kuǎ":["楇"],"jí zhì":["楖"],"kǔ hù":["楛"],"yóu yǒu":["楢"],"sǒng cōng":["楤"],"yuán xuàn":["楥"],"yǎng yàng yīng":["楧"],pián:["楩","胼","腁","賆","蹁","駢","騈","骈","骿","㛹"],"dié yè":["楪"],"dùn shǔn":["楯"],"còu zòu":["楱"],"dì dǐ shì":["楴"],"kǎi jiē":["楷"],"róu ròu":["楺"],"lè yuè":["楽"],"wēn yùn":["榅","鞰"],lǘ:["榈","櫚","氀","膢","藘","閭","闾","驢","驴"],shén:["榊","神","鉮","鰰","𬬹"],"bī pi":["榌"],"zhǎn niǎn zhèn":["榐"],"fú fù bó":["榑"],"jiàn jìn":["榗"],"bǎng bàng":["榜"],"shā xiè":["榝","樧"],nòu:["槈","耨","鎒","鐞"],"qiǎn lián xiàn":["槏"],gàng:["槓","焵","焹","筻","鿍"],gāo:["槔","槹","橰","櫜","睾","篙","糕","羔","臯","韟","餻","高","髙","鷎","鷱","鼛"],"diān zhěn zhēn":["槙"],"kǎn jiàn":["槛"],"xí dié":["槢"],"jī guī":["槣"],"róng yōng":["槦"],"tuán shuàn quán":["槫"],"qì sè":["槭"],"cuī zhǐ":["槯"],"yǒu chǎo":["槱"],"màn wàn":["槾"],"lí chī":["樆"],"léi lěi":["樏","櫑","礌"],"cháo jiǎo chāo":["樔"],"chēng táng":["樘"],"jiū liáo":["樛"],"mó mú":["模"],"niǎo mù":["樢"],"héng hèng":["横","橫"],xuě:["樰","膤","艝","轌","雪","鱈","鳕"],"fá fèi":["橃"],rùn:["橍","润","潤","膶","閏","閠","闰"],"zhǎn jiǎn":["橏"],shùn:["橓","瞚","瞬","舜","蕣","順","顺","鬊"],"tuí dūn":["橔"],"táng chēng":["橖"],"sù qiū":["橚"],"tán diàn":["橝"],"fén fèn fèi":["橨"],"rǎn yān":["橪"],"cū chu":["橻"],"shū qiāo":["橾"],"píng bò":["檘"],"zhái shì tú":["檡"],"biǎo biāo":["檦"],"qiān lián":["檶"],"nǐ mí":["檷"],"jiàn kǎn":["檻"],"nòu ruǎn rú":["檽"],"jī jì":["櫅","禨"],"huǎng guǒ gǔ":["櫎"],"lǜ chū":["櫖"],"miè mèi":["櫗"],ōu:["櫙","欧","歐","殴","毆","瓯","甌","膒","藲","謳","讴","鏂","鴎","鷗","鸥"],"zhù zhuó":["櫡"],"jué jì":["櫭"],"huái guī":["櫰"],"chán zhàn":["欃"],"wéi zuì":["欈"],cáng:["欌","鑶"],"yù yì":["欥"],"chù qù xì":["欪"],"kài ài":["欬"],"yì yīn":["欭"],"xì kài":["欯"],"shuò sòu":["欶"],"ǎi ēi éi ěi èi ê̄ ế ê̌ ề":["欸"],"qī yī":["欹"],"chuā xū":["欻"],"chǐ chuài":["欼"],"kǎn qiàn":["欿"],"kǎn kè":["歁"],"chuǎn chuán":["歂"],"yīn yān":["歅"],"jìn qūn":["歏"],pēn:["歕"],"xū chuā":["歘"],"xī shè":["歙"],"liǎn hān":["歛"],"zhì chí":["歭"],"sè shà":["歰"],sǐ:["死"],"wěn mò":["歾"],piǎo:["殍","皫","瞟","醥","顠"],"qíng jìng":["殑"],"fǒu bó":["殕"],"zhí shi":["殖"],"yè yān yàn":["殗"],"hūn mèi":["殙"],chòu:["殠","臰","遚"],"kuì huì":["殨","溃","潰"],cuàn:["殩","熶","爨","窜","竄","篡","簒"],"yīn yān yǐn":["殷"],"qìng kēng shēng":["殸"],"yáo xiáo xiào":["殽"],"gū gǔ":["毂","蛄"],"guàn wān":["毌"],"dú dài":["毒"],"xún xùn":["毥"],mú:["毪","氁"],"dòu nuò":["毭"],"sāi suī":["毸"],lu:["氇"],sào:["氉","瘙","矂","髞"],"shì zhī":["氏"],"dī dǐ":["氐"],"máng méng":["氓"],"yáng rì":["氜"],shuǐ:["水","氵","氺","閖"],"zhěng chéng zhèng":["氶"],tǔn:["氽"],"fán fàn":["氾"],"guǐ jiǔ":["氿"],"bīn pà pā":["汃"],"zhuó què":["汋"],"dà tài":["汏"],pìn:["汖","牝","聘"],"hàn hán":["汗","馯"],tu:["汢"],"tāng shāng":["汤","湯"],"zhī jì":["汥"],"gàn hán cén":["汵"],"wèn mén":["汶"],"fāng pāng":["汸"],"hǔ huǎng":["汻"],"niú yóu":["汼"],hàng:["沆"],"shěn chén":["沈"],"dùn zhuàn":["沌"],"nǜ niǔ":["沑"],"méi mò":["沒","没"],"tà dá":["沓"],"mì wù":["沕"],"hóng pāng":["沗"],"shā shà":["沙"],"zhuǐ zǐ":["沝"],"ōu òu":["沤","漚"],"jǔ jù":["沮"],"tuō duó":["沰"],"mǐ lì":["沵"],"yí chí":["沶"],"xiè yì":["泄"],"bó pō":["泊"],"mì bì":["泌","秘"],"chù shè":["泏"],"yōu yòu āo":["泑"],"pēng píng":["泙","硑"],"pào pāo":["泡"],"ní nì":["泥","秜"],"yuè sà":["泧"],"jué xuè":["泬","疦"],"lóng shuāng":["泷","瀧"],"luò pō":["泺","濼"],"zé shì":["泽","澤"],"sǎ xǐ":["洒"],"sè qì zì":["洓"],"xǐ xiǎn":["洗"],"kǎo kào":["洘"],"àn yàn è":["洝"],"lěi lèi":["洡"],"qiè jié":["洯"],"qiǎn jiān":["浅"],"jì jǐ":["济","済","濟","纪"],"hǔ xǔ":["浒","滸"],"jùn xùn":["浚","濬"],"yǐng chéng yíng":["浧"],"liàn lì":["浰"],"féng hóng":["浲","溄"],"jiǒng jiōng":["浻"],"suī něi":["浽"],"yǒng chōng":["涌"],"tūn yūn":["涒"],"wō guō":["涡","渦"],hēng:["涥","脝"],"zhǎng zhàng":["涨","漲"],"shòu tāo":["涭"],shuàn:["涮","腨"],"kōng náng":["涳"],"wò wǎn yuān":["涴"],"tuō tuò":["涶"],wō:["涹","猧","窝","窩","莴","萵","蜗","蝸","踒"],"qiè jí":["淁"],"guǒ guàn":["淉"],"lín lìn":["淋","獜","疄"],"tǎng chǎng":["淌"],"nào chuò zhuō":["淖"],"péng píng":["淜"],féi:["淝","肥","腓","蜰"],"pì pèi":["淠"],"niǎn shěn":["淰"],"biāo hǔ":["淲"],"chún zhūn":["淳"],"hùn hún":["混"],qiǎn:["淺","繾","缱","肷","膁","蜸","譴","谴","遣","鑓"],"wèn mín":["渂"],"rè ruò luò":["渃"],"dú dòu":["渎","瀆","读"],"jiàn jiān":["渐","溅","漸","濺"],"miǎn shéng":["渑","澠"],"nuǎn nuán":["渜"],"qiú wù":["渞"],"tíng tīng":["渟"],"dì tí dī":["渧"],"gǎng jiǎng":["港"],"hōng qìng":["渹"],tuān:["湍","煓"],"huì mǐn xū":["湏"],"xǔ xù":["湑"],pén:["湓","瓫","盆","葐"],"mǐn hūn":["湣"],"tuàn nuǎn":["湪"],"qiū jiǎo":["湫","湬"],"yān yīn":["湮"],"bàn pán":["湴"],"zhuāng hún":["湷"],"yàn guì":["溎"],"lián liǎn nián xián xiàn":["溓"],"dá tǎ":["溚","鿎"],"liū liù":["溜","澑","蹓"],lùn:["溣"],mǎ:["溤","犸","獁","玛","瑪","码","碼","遤","鎷","馬","马","鰢","鷌"],"zhēn qín":["溱"],"nì niào":["溺"],"chù xù":["滀","畜"],"wěng wēng":["滃"],"hào xuè":["滈"],"qì xì xiē":["滊"],"xíng yíng":["滎"],"zé hào":["滜"],"piāo piào piǎo":["漂"],"cóng sǒng":["漎"],"féng péng":["漨"],"luò tà":["漯"],"pēng bēn":["漰"],"chóng shuāng":["漴"],"huǒ kuò huò":["漷"],"liáo liú":["漻"],"cuǐ cuī":["漼"],"cóng zǒng":["潀"],"cóng zōng":["潈"],"pì piē":["潎"],"dàng xiàng":["潒"],"huáng guāng":["潢"],"liáo lào lǎo":["潦"],"cōng zòng":["潨"],"zhí zhì":["潪"],"tān shàn":["潬"],"tú zhā":["潳"],"sàn sǎ":["潵"],hēi:["潶","黑","黒","𬭶"],"chéng dèng":["澄","瀓"],"cūn cún":["澊"],"péng pēng":["澎"],"hòng gǒng":["澒","銾"],"wàn màn":["澫"],"kuài huì":["澮"],"guō wō":["濄"],"pēn fén":["濆"],"jí shà":["濈"],"huì huò":["濊"],"dǐng tìng":["濎"],"mǐ nǐ":["濔"],"bì pì":["濞"],"cuì zuǐ":["濢"],"hù huò":["濩"],"ǎi kài kè":["濭"],"wěi duì":["濻","瀢"],"zàn cuán":["濽","灒"],"yǎng yàng":["瀁"],"wǎng wāng":["瀇"],"mò miè":["瀎","眜"],suǐ:["瀡","膸","髓"],"huái wāi":["瀤"],"zùn jiàn":["瀳"],"yīng yǐng yìng":["瀴"],"ráng ràng":["瀼"],shuàng:["灀"],"zhuó jiào zé":["灂"],sǎ:["灑","訯","靸"],"luán luàn":["灓"],"dǎng tǎng":["灙"],"xún quán quàn":["灥"],"huǒ biāo":["灬"],"zhà yù":["灹"],"fén bèn":["炃"],"jiǒng guì":["炅"],"pàng fēng":["炐"],quē:["炔","缺","缼","蒛"],biān:["炞","煸","甂","砭","笾","箯","籩","編","编","蝙","邉","邊","鍽","鞭","鯾","鯿","鳊"],"zhāo zhào":["炤"],"zhuō chù":["炪"],"pào páo bāo":["炮"],"páo fǒu":["炰"],"shǎn qián shān":["炶"],"zhà zhá":["炸"],"jiǎo yào":["烄"],quǎn:["烇","犬","犭","畎","綣","绻","虇"],"yàng yáng":["烊"],"lào luò":["烙"],"huí huǐ":["烠"],rè:["热","熱"],"fú páo":["烰"],"xiè chè":["烲","焎"],"yàn shān":["烻"],"hūn xūn":["焄"],kào:["焅","犒","銬","铐","靠","鮳","鯌","鲓","㸆"],"juān yè":["焆"],"jùn qū":["焌"],"tāo dào":["焘"],"chǎo jù":["焣"],"wò ài":["焥"],"zǒng cōng":["焧"],"xī yì":["焬"],"xìn xīn":["焮"],"chāo zhuō":["焯"],"xiǒng yīng":["焸","焽"],kuǐ:["煃","跬","蹞","頍","𫠆"],"huī yùn xūn":["煇"],"jiǎo qiāo":["煍"],"qián shǎn shān":["煔"],"xī yí":["煕"],"shà shā":["煞"],"yè zhá":["煠"],"yáng yàng":["煬"],"ēn yūn":["煾"],"yūn yǔn":["熅"],"hè xiāo":["熇"],xióng:["熊","熋","雄"],"xūn xùn":["熏","爋"],gòng:["熕","貢","贡"],liū:["熘"],"cōng zǒng":["熜"],"lù āo":["熝"],"shú shóu":["熟"],"fēng péng":["熢"],"cuǐ suī":["熣"],tēng:["熥","膯","鼟"],"yùn yù":["熨"],"áo āo":["熬"],"hàn rǎn":["熯"],"ōu ǒu":["熰"],"huáng huǎng":["熿"],"chǎn dǎn chàn":["燀"],"jiāo zhuó qiáo jué":["燋"],"yàn yān":["燕"],"tài liè":["燤"],āo:["爊"],"yàn xún":["爓"],"jué jiào":["爝","覐","覚","覺","觉"],"lǎn làn":["爦"],"zhuǎ zhǎo":["爪"],"zhǎo zhuǎ":["爫"],"fù fǔ":["父"],diē:["爹","褺","跌"],zāng:["牂","羘","臧","賍","賘","贓","贜","赃","髒"],"piàn piān":["片"],"biān miàn":["牑"],bǎng:["牓","綁","绑"],"yǒu yōng":["牗"],"chēng chèng":["牚","竀"],niú:["牛","牜"],"jiū lè":["牞"],"mù móu":["牟"],māng:["牤"],"gē qiú":["牫"],"yòu chōu":["牰"],"tè zhí":["犆"],bēn:["犇","錛","锛"],"jiān qián":["犍","玪"],má:["犘","痲","蔴","蟇","麻"],"máo lí":["犛"],"bá quǎn":["犮"],"zhuó bào":["犳"],"àn hān":["犴"],"kàng gǎng":["犺"],"pèi fèi":["犻"],"fān huān":["犿"],kuáng:["狂","狅","誑","诳","軖","軠","鵟","𫛭"],"yí quán chí":["狋"],"xīng shēng":["狌"],"tuó yí":["狏"],kǔ:["狜","苦"],"huán huān":["狟"],"hé mò":["狢"],"tà shì":["狧"],"máng dòu":["狵"],"xī shǐ":["狶"],suān:["狻","痠","酸"],"bài pí":["猈"],"jiān yàn":["猏","豣"],"yī yǐ":["猗"],"yá wèi":["猚"],cāi:["猜"],"māo máo":["猫","貓"],"chuàn chuān":["猭"],"tuān tuàn":["猯","貒"],"yà jiá qiè":["猰"],"hè xiē gé hài":["猲"],"biān piàn":["猵","獱"],"bó pò":["猼"],"háo gāo":["獋"],"fén fèn":["獖"],"yào xiāo":["獟"],"shuò xī":["獡"],"gé liè xiē":["獦"],"nòu rú":["獳"],"náo nǎo yōu":["獶"],ráng:["獽","瓤","禳","穣","穰","蘘","躟","鬤"],"náo yōu":["獿"],"lǜ shuài":["率"],"wáng wàng":["王"],"yáng chàng":["玚"],"mín wén":["玟"],"bīn fēn":["玢"],"mén yǔn":["玧"],"qiāng cāng":["玱","瑲","篬"],"án gān":["玵"],"xuán xián":["玹"],"cī cǐ":["玼","跐"],"yí tāi":["珆"],"zǔ jù":["珇"],fà:["珐","琺","蕟","髪","髮"],"yín kèn":["珢"],"huī hún":["珲"],"xuán qióng":["琁"],"fú fū":["琈"],"bǐng pín":["琕"],"cuì sè":["琗"],"yù wéi":["琟"],"tiǎn tiàn":["琠"],"zhuó zuó":["琢"],"běng pěi":["琣"],guǎn:["琯","璭","痯","筦","管","舘","輨","錧","館","馆","鳤"],"hún huī":["琿"],"xié jiē":["瑎"],"chàng dàng yáng":["瑒"],"tiàn zhèn":["瑱"],"bīn pián":["瑸","璸"],"tú shū":["瑹"],cuǐ:["璀","皠","趡"],"zǎo suǒ":["璅"],"jué qióng":["璚"],"lú fū":["璷"],"jì zī":["璾"],suí:["瓍","綏","绥","遀","随","隨","髄"],"mí xǐ":["瓕"],"qióng wěi wèi":["瓗"],"huán yè yà":["瓛"],"bó páo":["瓟"],"zhí hú":["瓡"],piáo:["瓢","闝"],"wǎ wà":["瓦"],"xiáng hóng":["瓨"],wèng:["瓮","甕","罋","蕹","齆"],"shèn shén":["甚"],ruí:["甤","緌","蕤"],yòng:["用","砽","苚","蒏","醟","㶲"],shuǎi:["甩"],béng:["甭","甮"],"yóu zhá":["甴"],"diàn tián shèng":["甸"],"tǐng dīng":["町","甼"],"zāi zī":["甾"],"bì qí":["畁"],"dá fú":["畗"],"cè jì":["畟"],"zāi zī tián":["畠"],"zhì chóu shì":["畤"],"fān pān":["畨","番"],"shē yú":["畬"],"dāng dàng dǎng":["當"],"jiāng qiáng":["疆"],"pǐ yǎ shū":["疋"],"jié qiè":["疌"],"yí nǐ":["疑"],nè:["疒","眲","訥","讷"],"gē yì":["疙"],"nüè yào":["疟","瘧"],"lì lài":["疠","癘"],"yǎ xiā":["疨"],xuē:["疶","蒆","薛","辥","辪","靴","鞾"],"dǎn da":["疸"],"fá biǎn":["疺"],"fèi féi":["疿","痱"],"shān diàn":["痁"],"téng chóng":["痋"],"tōng tóng":["痌"],"wěi yòu yù":["痏"],"tān shǐ":["痑"],"pū pù":["痡","鋪"],"bēng péng":["痭"],"má lìn":["痳"],"tiǎn diàn":["痶"],"ān yè è":["痷"],"kē ē":["痾"],"zhì chì":["瘈"],"jiǎ xiá xiā":["瘕"],"lěi huì":["瘣"],"chài cuó":["瘥"],"diān chēn":["瘨"],"da dá":["瘩"],"biě biē":["瘪"],qué:["瘸"],"dàn dān":["癉"],"guì wēi":["癐"],"nòng nóng":["癑"],"biē biě":["癟"],"bō bǒ":["癷"],bái:["白"],"jí bī":["皀"],"de dì dí dī":["的"],"pā bà":["皅"],"gāo háo":["皋"],"gāo yáo":["皐"],"lì luò bō":["皪"],"zhā cǔ":["皻"],"zhāo zhǎn dǎn":["皽"],"jiān jiàn":["监","監","鋻","间","鞬"],"gài gě hé":["盖"],"máng wàng":["盳"],yuǎn:["盶","逺","遠"],"tián xián":["盷"],"xiāng xiàng":["相"],dǔn:["盹","趸","躉"],"xì pǎn":["盻"],"shěng xǐng":["省"],"yún hùn":["眃"],"miǎn miàn":["眄"],"kàn kān":["看"],"yìng yāng yǎng":["眏"],"yǎo āo ǎo":["眑"],"jū xū kōu":["眗"],"yí chì":["眙"],"dié tì":["眣"],"bǐng fǎng":["眪"],"pàng pán":["眫"],"mī mí":["眯","瞇"],"xuàn shùn xún":["眴"],tiào:["眺","粜","糶","覜","趒"],"zhe zhuó zháo zhāo":["着"],"qiáo shào xiāo":["睄"],"cuó zhuài":["睉"],gùn:["睔","謴"],"suì zuì":["睟"],"pì bì":["睥","稫","辟"],"yì zé gāo":["睪"],"xǐng xìng":["睲"],"guì wèi kuì":["瞆"],"kòu jì":["瞉"],"qióng huán":["瞏"],"mán mén":["瞒","瞞"],"diāo dōu":["瞗"],"lou lóu lǘ":["瞜"],"shùn rún":["瞤"],"liào liǎo":["瞭","钌"],"jiàn xián":["瞯"],"wǔ mí":["瞴"],"guì kuì":["瞶"],"nǐng chēng":["矃"],"huò yuè":["矆"],"mēng méng":["矇"],"kuàng guō":["矌"],"guàn quán":["矔"],"mǎn mán":["矕"],"jīn guān qín":["矜"],"jīn qín guān":["矝"],"yù xù jué":["矞"],"jiǎo jiáo":["矫","矯"],duǎn:["短"],"shí dàn":["石"],"gāng qiāng kòng":["矼"],"huā xū":["砉"],"pīn bīn fēn":["砏"],"yán yàn":["研","硏"],"luǒ kē":["砢"],"fú fèi":["砩","笰"],"zhǔ zhù":["砫"],"lá lì lā":["砬"],"kuāng guāng":["硄"],"gè luò":["硌"],"shuò shí":["硕","碩"],"wèi wéi ái":["硙"],"què kè kù":["硞"],"mǎng bàng":["硥"],"luò lòng":["硦"],"yǒng tóng":["硧"],nüè:["硸","虐"],"kēng kěng":["硻"],"yān yǎn":["硽"],"zhuì chuí duǒ":["硾"],"kōng kòng":["硿"],"zòng cóng":["碂"],"jiān zhàn":["碊"],"lù liù":["碌","陆"],"què xī":["碏"],"lún lǔn lùn":["碖"],"náo gāng":["碙"],"jié yà":["碣"],"wèi wěi":["碨"],"tí dī":["碮"],"chá chā":["碴"],"qiāo què":["碻"],"sù xiè":["碿"],"liú liù":["磂","遛","鎦","馏"],"sī tí":["磃"],"bàng páng":["磅"],"huá kě gū":["磆"],"wěi kuǐ":["磈"],"xiá qià yà":["磍"],"lián qiān":["磏"],"wèi ái gài":["磑"],"lá lā":["磖"],"áo qiāo":["磝"],"pēng pèng":["磞","閛"],"yīn yǐn":["磤"],"lěi léi":["磥"],"mó mò":["磨"],"qì zhú":["磩"],"láo luò":["磱"],"pán bō":["磻"],"jí shé":["磼"],"hé qiāo qiào":["礉"],"kè huò":["礊"],"què hú":["礐"],"è qì":["礘"],cǎ:["礤","礸"],"xián xín":["礥"],"léi lěi lèi":["礧"],"yán yǎn":["礹"],"qí zhǐ":["祇","蚔"],"bēng fāng":["祊"],"bì mì":["祕"],suàn:["祘","笇","筭","算","蒜"],"piào piāo":["票"],"jì zhài":["祭"],"shuì lèi":["祱"],"jìn jīn":["禁"],"chán shàn":["禅"],"yáng shāng":["禓"],"zhī zhǐ tí":["禔"],"shàn chán":["禪"],"yú yù ǒu":["禺"],"zǐ zì":["秄"],"chá ná":["秅"],"zhǒng zhòng chóng":["种"],"hào mào":["秏"],"kù kū":["秙"],zū:["租","葅"],chèng:["秤","穪"],"huó kuò":["秮","秳"],"chēng chèn chèng":["称","稱"],"shì zhì":["秲","銴"],"fù pū":["秿"],"xùn zè":["稄"],"tú shǔ":["稌"],"zhùn zhǔn":["稕"],"jī qí":["稘","綨","觭"],"léng líng":["稜"],"zuì zú sū":["稡"],"xì qiè":["稧","郄"],"zhǒng zhòng":["種"],"zōng zǒng":["稯"],"xián jiān liàn":["稴"],"zī jiū":["稵"],"jī qǐ":["稽"],ròng:["穃"],"shān cǎn cēn":["穇"],"mén méi":["穈"],"jǐ jì":["穖"],"xiāo rào":["穘"],"zhuō bó":["穛"],"tóng zhǒng zhòng":["穜"],zuō:["穝"],"biāo pāo":["穮","藨"],"zhuō jué":["穱"],"cuán zàn":["穳"],"kōng kòng kǒng":["空"],"yū yǔ":["穻"],zhǎi:["窄","鉙"],báo:["窇","雹"],"kū zhú":["窋"],"jiào liáo liù":["窌"],"wā guī":["窐"],"tiǎo yáo":["窕"],"xūn yìn":["窨"],"yà yē":["窫"],"tián diān yǎn":["窴"],"chāo kē":["窼"],"kuǎn cuàn":["窽","窾"],"chù qì":["竐"],"qǔ kǒu":["竘"],"jìng zhěn":["竧"],"kǎn kàn":["竷"],"zhú dǔ":["竺"],"lè jīn":["竻"],"zhuì ruì":["笍"],"háng hàng":["笐"],"cén jìn hán":["笒"],"dā xiá nà":["笚"],"zé zuó":["笮"],"lóng lǒng":["笼","篭","籠","躘","龓"],"zhù zhú":["筑","築"],"dá dā":["答","荅"],shāi:["筛","篩","簁","籭"],"yún jūn":["筠"],"láng làng":["筤","郎","阆"],"zhì zhǐ":["筫"],o:["筽"],"póu bù fú pú":["箁"],"pái bēi":["箄"],gè:["箇","虼","鉻","铬"],"tái chí":["箈"],"guǎi dài":["箉"],"zhào dào":["箌"],"jīng qìng":["箐"],"lín lǐn":["箖"],"jùn qūn":["箘"],"shī yí":["箷","釶"],"yuē yào chuò":["箹"],"xiāo shuò qiào":["箾"],"gōng gǎn lǒng":["篢"],"páng péng":["篣"],"zhuó huò":["篧"],"jiǎn jiān":["篯"],"dí zhú":["篴"],"zān cēn cǎn":["篸"],"zhuàn suǎn zuàn":["篹"],"piǎo biāo":["篻"],"guó guì":["簂"],"cè jí":["簎"],"mì miè":["簚"],"shāi sī":["簛"],"sǔn zhuàn":["簨"],"gàn gǎn":["簳"],"bò bǒ":["簸"],"bó bù":["簿"],shi:["籂"],"zhēn jiān":["籈"],"zhuàn zuǎn":["籑"],"fān pān biān":["籓"],"sǒu shǔ":["籔"],zuǎn:["籫","繤","纂","纉","纘","缵"],nǚ:["籹","釹","钕"],"shā chǎo":["粆"],"kāng jīng":["粇"],fěn:["粉","黺"],cū:["粗","觕","麁","麄","麤"],"nián zhān":["粘"],"cè sè":["粣"],"zhōu yù":["粥"],"shēn sǎn":["糁"],"biān biǎn":["糄","萹"],miàn:["糆","面","靣","麪","麫","麵","麺"],"hú hū hù":["糊"],"gǔ gòu":["糓"],"mí méi":["糜"],"sǎn shēn":["糝","糣"],zāo:["糟","蹧","遭","醩"],"mì sī":["糸"],"jiū jiǔ":["糺"],"xì jì":["系","繫"],"zhēng zhěng":["糽"],"chà chǎ":["紁","衩"],"yuē yāo":["約","约"],"hóng gōng":["紅","红"],"hé gē":["紇","纥"],"wén wèn":["紋","纹"],fóu:["紑"],"jì jié jiè":["紒"],"pī pí bǐ":["紕","纰"],"jīn jìn":["紟"],"zhā zā":["紥","紮"],hā:["紦"],"fū fù":["紨"],"chōu chóu":["紬"],"lèi léi lěi":["累"],"bō bì":["紴"],"tiǎn zhěn":["紾"],"jiōng jiǒng":["絅"],"jié jiē":["結","结","节"],"guà kuā":["絓"],"bǎi mò":["絔"],"gēng huán":["絙"],"jié xié":["絜"],"quán shuān":["絟"],"gǎi ǎi":["絠"],"luò lào":["絡","络"],"bīng bēng pēng":["絣"],"gěi jǐ":["給","给"],"tóng tōng dòng":["絧"],"tiào diào dào":["絩"],"lěi lèi léi":["絫"],"gāi hài":["絯"],"chī zhǐ":["絺"],"wèn miǎn mán wàn":["絻"],"huán huàn wàn":["綄"],"qīn xiān":["綅"],"tì tí":["綈"],"yán xiàn":["綖"],"zōng zèng zòng":["綜"],"chēn lín":["綝"],"zhǔn zhùn":["綧"],"qiàn qīng zhēng":["綪"],"qìng qǐ":["綮"],"lún guān":["綸","纶"],"chuò chāo":["綽","绰"],"tián tǎn chān":["緂"],"lǜ lù":["緑","绿"],"ruǎn ruàn":["緛"],"jí qī":["緝"],"zhòng chóng":["緟","重"],"miáo máo":["緢"],"xiè yè":["緤"],huǎn:["緩","缓","㬊"],"gēng gèng":["緪","縆"],"tōu xū shū":["緰"],"zōng zòng":["緵","繌"],"yùn gǔn":["緷"],"guā wō":["緺"],"yùn yūn wēn":["緼","縕"],"bāng bàng":["縍"],"gǔ hú":["縎","鶻"],"cī cuò suǒ":["縒"],"cuī shuāi":["縗"],"róng rǒng ròng":["縙"],"zài zēng":["縡"],cài:["縩","菜","蔡"],"féng fèng":["縫"],"suō sù":["縮","缩"],"yǎn yǐn":["縯","酓"],"zòng zǒng":["縱","纵"],"zhuàn juàn":["縳"],"mò mù":["縸","莫"],"piǎo piāo":["縹","缥"],"fán pó":["繁"],"bēng bèng":["繃"],"móu miù miào liǎo":["繆"],"yáo yóu zhòu":["繇"],"zēng zèng":["繒","缯"],"jú jué":["繘"],"chuō chuò":["繛"],"zūn zǔn":["繜"],rào:["繞","绕","遶"],"chǎn chán":["繟"],"huì huí":["繢","缋","藱"],"qiāo sāo zǎo":["繰"],"jiǎo zhuó":["繳","缴"],"dàn tán chán":["繵"],nǒng:["繷"],"pú fú":["纀"],"yào lì":["纅"],"rǎng xiāng":["纕"],"lí sǎ xǐ lǐ":["纚"],"xiān qiàn":["纤"],"jīng jìng":["经"],"tí tì":["绨"],"bēng běng bèng":["绷"],"zōng zèng":["综"],"jī qī":["缉"],"wēn yùn yūn":["缊"],"fèng féng":["缝"],"shuāi cuī suī":["缞"],"miù móu liáo miào mù":["缪"],"qiāo sāo":["缲"],fǒu:["缶","缹","缻","雬","鴀"],"bà ba pí":["罢","罷"],"guà guǎi":["罫"],"yáng xiáng":["羊","羏"],"měi gāo":["羙"],"yì xī":["羛"],"qiǎng qiān":["羟"],"qiāng kòng":["羫"],"qián xián yán":["羬"],nóu:["羺"],"hóng gòng":["羾"],"pī bì pō":["翍"],"qú yù":["翑"],ké:["翗"],"qiào qiáo":["翘"],"zhái dí":["翟"],"dào zhōu":["翢"],"hóu qú":["翵"],shuǎ:["耍"],"ruǎn nuò":["耎"],"ér nài":["耏"],"zhuān duān":["耑"],"pá bà":["耙"],"chí sì":["耛"],"qù chú":["耝"],"lún lǔn":["耣"],"jí jiè":["耤"],"tāng tǎng":["耥"],pǎng:["耪","覫"],"zhá zé":["耫"],"yē yé":["耶"],"yún yíng":["耺"],"wà tuǐ zhuó":["聉"],"ér nǜ":["聏"],"tiē zhé":["聑"],"dǐ zhì":["聜"],qié:["聺"],"nǐ jiàn":["聻"],"lèi lē":["肋"],cào:["肏","襙","鄵","鼜"],"bó dí":["肑"],"xiào xiāo":["肖"],"dù dǔ":["肚"],chāi:["肞","釵","钗"],"hán qín hàn":["肣"],"pàng pán pàn":["肨","胖"],"zhūn chún":["肫"],āng:["肮","骯"],"yù yō":["育"],"pí bǐ bì":["肶"],"fèi bì":["胇"],"bèi bēi":["背"],"fèi zǐ":["胏"],"píng pēng":["胓","苹"],"fū fú zhǒu":["胕"],"shèng shēng":["胜"],kuà:["胯","跨","骻"],"gǎi hǎi":["胲"],"gē gé gā":["胳"],"néng nài":["能"],"guī kuì":["胿"],"mài mò":["脉"],"zāng zàng":["脏"],"jiǎo jué":["脚","角"],cuǒ:["脞"],"de te":["脦"],"zuī juān":["脧"],něi:["脮","腇","餒","馁","鮾","鯘"],"pú fǔ":["脯"],niào:["脲"],shuí:["脽"],guò:["腂","過","鐹"],"là xī":["腊"],"yān ā":["腌"],"gāo gào":["膏"],"lù biāo":["膔"],chuái:["膗"],"zhuān chuán chún zhuǎn":["膞"],chuài:["膪","踹"],"fán pán":["膰"],"wǔ hū":["膴"],"shān dàn":["膻"],tún:["臀","臋","蛌","豘","豚","軘","霕","飩","饨","魨","鲀","黗"],"bì bei":["臂"],"là gé":["臈"],"sào sāo":["臊"],nào:["臑","閙","闹","鬧"],"ní luán":["臡"],"qiān xián":["臤"],"guàng jiǒng":["臦"],"guǎng jiǒng":["臩"],"chòu xiù":["臭"],"mián biān":["臱"],"dié zhí":["臷"],"zhī jìn":["臸"],"shè shě":["舍"],pù:["舖","舗"],"bān bō pán":["般"],kuā:["舿"],"gèn gěn":["艮"],"sè shǎi":["色"],"fú bó":["艴"],"jiāo qiú":["艽"],"chāi chā":["芆"],"sháo què":["芍"],"hù xià":["芐"],"zì zǐ":["芓"],"huì hū":["芔"],"tún chūn":["芚"],"jiè gài":["芥"],"xù zhù":["芧"],"yuán yán":["芫"],"xīn xìn":["芯"],"lún huā":["芲"],"wù hū":["芴"],"gōu gǒu":["芶"],"mào máo":["芼"],"fèi fú":["芾"],"chán yín":["苂"],qiē:["苆"],"sū sù":["苏"],"tiáo sháo":["苕"],"lì jī":["苙"],"kē hē":["苛"],"jù qǔ":["苣"],"ruò rě":["若"],"zhù níng":["苧"],"pā bó":["苩"],xiú:["苬"],"zhǎ zuó":["苲"],"jū chá":["苴"],nié:["苶"],"shēng ruí":["苼"],"qié jiā":["茄"],"zǐ cí":["茈"],"qiàn xī":["茜"],chǎi:["茝"],"fá pèi":["茷"],ráo:["荛","蕘","襓","饒","饶"],"yíng xíng":["荥"],"qián xún":["荨","蕁"],"yìn yīn":["荫"],"hé hè":["荷"],"shā suō":["莎"],"péng fēng":["莑"],"shēn xīn":["莘"],"wǎn guān guǎn":["莞"],"yóu sù":["莤"],"shāo xiāo":["莦","蛸"],"làng liáng":["莨"],"piǎo fú":["莩"],"wèn wǎn miǎn":["莬"],"shì shí":["莳","蒔"],"tù tú":["莵"],"xiān liǎn":["莶","薟"],"wǎn yù":["菀"],"zōu chù":["菆"],"lù lǜ":["菉"],"jūn jùn":["菌"],"niè rěn":["菍"],"zī zì zāi":["菑"],"tú tù":["菟"],"jiē shà":["菨"],"qiáo zhǎo":["菬"],"tái zhī chí":["菭"],"fēi fěi":["菲","蜚"],"qín qīn jīn":["菳"],"zū jù":["菹","蒩"],"lǐn má":["菻"],"tián tiàn":["菾"],tiē:["萜","貼","贴"],"luò là lào luō":["落"],"zhù zhuó zhe":["著"],"shèn rèn":["葚"],"gě gé":["葛"],"jùn suǒ":["葰"],"kuì kuài":["蒉"],"rú ná":["蒘"],"méng mēng měng":["蒙"],"yuán huán":["蒝"],"xú shú":["蒣"],"xí xì":["蒵"],"mì míng":["蓂"],"sōu sǒu":["蓃"],"gài gě hé hài":["蓋"],"yǎo zhuó":["蓔"],"diào tiáo dí":["蓧"],"xū qiū fū":["蓲"],"zí jú":["蓻"],"liǎo lù":["蓼"],xu:["蓿"],"hàn hǎn":["蔊"],"màn wàn mán":["蔓"],"pó bò":["蔢"],"fān fán bō":["蕃"],"hóng hòng":["蕻"],"yù ào":["薁","隩"],"xí xiào":["薂"],"báo bó bò":["薄"],"cí zī":["薋"],"wàn luàn":["薍"],"kǎo hāo":["薧"],"yuǎn wěi":["薳"],"zhòu chóu":["薵"],"wō mái":["薶"],"xiāo hào":["藃"],"yù xù xū":["藇"],"jiè jí":["藉"],"diào zhuó":["藋"],"cáng zàng":["藏"],lǎ:["藞"],"chú zhū":["藸"],"pín píng":["蘋"],"gān hán":["虷"],"hóng jiàng":["虹"],"huī huǐ":["虺"],"xiā há":["虾"],"mǎ mà mā":["蚂"],"fāng bàng":["蚄"],"bàng bèng":["蚌"],"jué quē":["蚗"],"qín qián":["蚙"],"gōng zhōng":["蚣"],"fǔ fù":["蚥"],"dài dé":["蚮"],"gǒu qú xù":["蚼"],"bǒ pí":["蚾"],"shé yí":["蛇"],tiě:["蛈","鉄","銕","鐡","鐵","铁","驖"],"gé luò":["蛒"],"máng bàng":["蛖"],"yì xǔ":["蛡"],"há gé":["蛤"],"qiè ní":["蛪"],"é yǐ":["蛾"],"zhē zhé":["蜇"],"là zhà":["蜡"],suò:["蜶","逤"],"yóu qiú":["蝤"],"xiā hā":["蝦"],"xī qī":["螇"],"bī pí":["螕"],"nài něng":["螚"],"hé xiá":["螛"],"guì huǐ":["螝"],"mǎ mā mà":["螞"],"shì zhē":["螫"],"zhì dié":["螲"],"jiàn chán":["螹"],"ma má mò":["蟆"],"mǎng měng":["蟒"],"biē bié":["蟞"],"bēn fèi":["蟦"],"láo liáo":["蟧"],"yín xún":["蟫"],"lí lǐ":["蠡"],"xuè xiě":["血"],"xíng háng hàng héng":["行"],"shuāi cuī":["衰"],"tuó tuō":["袉"],"lǐng líng":["袊"],"bào páo pào":["袌"],"jù jiē":["袓"],"hè kè":["袔"],"yí yì":["袘","貤"],"nà jué":["袦"],"bèi pī":["被"],"chǐ nuǒ":["袲"],"chǐ qǐ duǒ nuǒ":["袳"],"jiá qiā jié":["袷"],"bó mò":["袹"],"guī guà":["袿"],"liè liě":["裂"],"chéng chěng":["裎"],"jiē gé":["裓"],"dāo chóu":["裯"],"shang cháng":["裳"],"yuān gǔn":["裷"],"yǎn ān":["裺"],"tì xī":["裼"],"fù fú":["褔"],"chǔ zhǔ":["褚"],"tuì tùn":["褪"],lǎi:["襰"],"yào yāo":["要"],"qín tán":["覃"],"jiàn xiàn":["見","见"],piǎn:["覑","諞","谝","貵","𡎚"],"piē miè":["覕"],"yíng yǐng":["覮"],"qù qū":["覰","覷","觑"],"jiàn biǎn":["覵"],"luó luǎn":["覶"],"zī zuǐ":["觜"],"huà xiè":["觟"],"jiě jiè xiè":["解","觧"],"xué hù":["觷"],"lì lù":["觻"],tǎo:["討","讨"],zhùn:["訰"],"zī zǐ":["訾"],"yí dài":["詒","诒"],xiòng:["詗","诇"],"diào tiǎo":["誂"],"yí chǐ chì":["誃"],"lǎng làng":["誏"],"ēi éi ěi èi xī":["誒","诶"],shuà:["誜"],"yǔ yù":["語","语","雨"],"shuō shuì yuè":["說","说"],"shuí shéi":["誰","谁"],"qū juè":["誳"],"chī lài":["誺"],"nì ná":["誽"],"diào tiáo":["調"],"pǐ bēi":["諀"],"jì jī":["諅"],"zé zuò zhǎ cuò":["諎"],"chù jí":["諔"],"háo xià":["諕"],"lùn lún":["論","论"],"shì dì":["諟"],"huà guā":["諣"],"xǐ shāi āi":["諰"],"nán nàn":["諵","難"],miù:["謬","谬"],zèn:["譖","谮"],"shí zhì":["識","识"],"juàn xuān":["讂"],"yí tuī":["讉"],zhán:["讝"],"xǔ hǔ":["许"],"xiáng yáng":["详"],"tiáo diào zhōu":["调"],"chén shèn":["谌"],"mí mèi":["谜"],"màn mán":["谩"],"gǔ yù":["谷"],"huō huò huá":["豁"],"zhì zhài":["豸"],"huān huán":["貆"],"kěn kūn":["貇"],"mò hé":["貈"],"mò hé háo":["貉"],"jù lóu":["貗"],"zé zhài":["責","责"],"dài tè":["貸"],"bì bēn":["賁"],"jiǎ gǔ jià":["賈"],"xiōng mín":["賯"],càng:["賶"],"zhuàn zuàn":["賺","赚"],"wàn zhuàn":["贃"],"gàn gòng zhuàng":["贛"],"yuán yùn":["贠"],"bēn bì":["贲"],"jiǎ gǔ":["贾"],zǒu:["走","赱","鯐"],"dié tú":["趃"],"jū qiè":["趄"],"qū cù":["趋","趨"],"jí jié":["趌"],"guā huó":["趏"],"què qì jí":["趞"],"tàng tāng":["趟"],"chuō zhuó":["趠"],"qù cù":["趣"],"yuè tì":["趯"],"bō bào":["趵"],"kuà wù":["趶"],"guì jué":["趹"],"fāng fàng páng":["趽"],"páo bà":["跁"],"qí qǐ":["跂"],"jiàn chén":["跈"],"pǎo páo":["跑"],"diǎn diē tiē":["跕"],"jū jù qiè":["跙"],bǒ:["跛"],"luò lì":["跞"],"dài duò duō chí":["跢"],zhuǎi:["跩"],"bèng pián":["跰"],"tiào táo":["跳"],"shū chōu":["跾"],"liàng liáng":["踉"],"tà tā":["踏"],chǎ:["蹅","鑔","镲"],"dí zhí":["蹢"],"dēng dèng":["蹬","鐙","镫"],cèng:["蹭"],"dūn cún":["蹲"],"juě jué":["蹶"],liāo:["蹽"],"xiè sǎ":["躠"],tǐ:["躰","軆","骵"],"yà zhá gá":["轧","軋"],"xìn xiàn":["軐"],"fàn guǐ":["軓"],"zhuàn zhuǎn":["転"],"zhóu zhòu":["軸","轴"],bú:["轐","醭","鳪"],"zhuǎn zhuàn zhuǎi":["转"],"zǎi zài":["载"],"niǎn zhǎn":["辗"],"biān bian":["边"],"dào biān":["辺"],"yǐ yí":["迆","迤","迱"],"guò guo guō":["过"],"wàng kuāng":["迋"],"hái huán":["还"],"zhè zhèi":["这"],"yuǎn yuàn":["远"],"zhì lì":["迣"],"zhù wǎng":["迬"],"zhuī duī":["追"],"shì kuò":["适"],tòu:["透"],"tōng tòng":["通"],guàng:["逛"],"dǎi dài":["逮"],"suì suí":["遂"],"tí dì":["遆"],"yí wèi":["遗"],"shì dí zhé":["適"],cà:["遪"],"huán hái":["還"],"lí chí":["邌"],"kàng háng":["邟"],"nà nèi nā":["那"],"xié yá yé yú xú":["邪"],"gāi hái":["郂"],"huán xún":["郇"],"chī xī":["郗"],hǎo:["郝"],"lì zhí":["郦"],"xiáo ǎo":["郩"],"dōu dū":["都"],liǎo:["曢","鄝","镽"],"zàn cuán cuó":["酂","酇"],"dīng dǐng":["酊"],"cù zuò":["酢"],"fā pō":["酦"],"shāi shī":["酾"],niàng:["酿","醸"],"qiú chōu":["醔"],"pō fā":["醗","醱"],"chǎn chěn":["醦"],"yàn liǎn xiān":["醶"],"niàng niáng":["釀"],"lǐ li":["里"],"lí xǐ xī":["釐"],"liǎo liào":["釕"],"dīng dìng":["釘","钉"],"qiǎo jiǎo":["釥"],"yú huá":["釪"],"huá wū":["釫"],"rì rèn jiàn":["釰","釼"],"dì dài":["釱"],"pī zhāo":["釽"],"yá yé":["釾"],"bǎ pá":["鈀","钯"],"tā tuó":["鉈","铊"],běi:["鉳"],"bǐng píng":["鉼"],"hā kē":["鉿","铪"],chòng:["銃","铳"],"xiǎng jiōng":["銄"],"yù sì":["銉"],"xù huì":["銊"],"rén rěn":["銋"],"shàn shuò":["銏"],"chì lì":["銐"],"xiǎn xǐ":["銑","铣"],"hóu xiàng":["銗"],"diào tiáo yáo":["銚"],"xiān kuò tiǎn guā":["銛","銽","铦"],"zhé niè":["銸"],"zhōng yōng":["銿"],"tōu tù dòu":["鋀"],"méi méng":["鋂"],"wàn jiǎn":["鋄","鎫"],"tǐng dìng":["鋌","铤"],"juān jiān cuān":["鋑"],"sī tuó":["鋖"],"juān xuān juàn":["鋗"],"wú huá wū":["鋘"],"zhuó chuò":["鋜"],"xíng xìng jīng":["鋞"],"jū jú":["鋦","锔"],"zuì niè":["鋷"],"yuān yuǎn wǎn wān":["鋺"],"gāng gàng":["鋼","钢"],zhuī:["錐","锥","騅","骓","鵻"],ā:["錒","锕"],"cuō chā":["鎈"],"suǒ sè":["鎍"],"yáo zú":["鎐"],"yè tà gé":["鎑"],"qiāng chēng":["鎗"],"gé lì":["鎘","镉","鬲"],"bī pī bì":["鎞"],"gǎo hào":["鎬"],"zú chuò":["鏃"],"xiū xiù":["鏅"],"shòu sōu":["鏉"],"dí dī":["鏑","镝"],"qiāo sǎn càn":["鏒"],"lù áo":["鏕"],"tāng táng":["鏜"],"jiàn zàn":["鏩"],"huì suì ruì":["鏸"],"qiǎng qiāng":["鏹","镪"],"sǎn xiàn sà":["鏾"],"jiǎn jiàn":["鐧","锏"],"dāng chēng":["鐺","铛"],"zuān zuàn":["鑽"],"sà xì":["钑"],"yào yuè":["钥"],"tǒu dǒu":["钭"],"zuàn zuān":["钻"],"qiān yán":["铅"],"pí pī":["铍"],"yáo diào tiáo":["铫"],"tāng tàng":["铴"],"pù pū":["铺"],"tán xiān":["锬"],"liù liú":["镏"],"hào gǎo":["镐"],"táng tāng":["镗"],"tán chán xín":["镡"],"huò shǎn":["閄"],"hàn bì":["閈","闬"],"kāng kàng":["閌","闶"],"xián jiàn jiān jiǎn":["閒"],"xiā xiǎ":["閕"],"xiǎ kě":["閜"],"biàn guān":["閞"],"hé gé":["閤","颌"],"hòng xiàng":["閧"],"sē xī":["閪"],"tíng tǐng":["閮"],"è yān":["閼","阏"],"hòng juǎn xiàng":["闂"],"bǎn pàn":["闆"],"dū shé":["闍","阇"],"què quē":["闕"],"tāng táng chāng":["闛"],"kàn hǎn":["闞","阚"],"xì sè tà":["闟"],"mēn mèn":["闷"],"quē què":["阙"],"yán diàn":["阽"],"ā ē":["阿"],"bēi pō pí":["陂"],"yàn yǎn":["隁"],"yú yáo shù":["隃"],"lóng lōng":["隆"],"duì zhuì":["隊"],"suí duò":["隋"],"gāi qí ái":["隑"],"huī duò":["隓","隳"],"wěi kuí":["隗"],"lì dài":["隸"],"zhuī cuī wéi":["隹"],"hè hú":["隺","鶮"],"jùn juàn":["隽","雋"],"nán nàn nuó":["难"],"què qiāo qiǎo":["雀"],"guàn huán":["雚"],"guī xī":["雟"],"sè xí":["雭"],án:["雸"],"wù méng":["雺"],tèng:["霯"],"lù lòu":["露"],mái:["霾"],"jìng liàng":["靚"],"gé jí":["革"],bǎ:["靶"],"yāng yàng":["鞅"],"gé tà sǎ":["鞈"],"biān yìng":["鞕"],"qiào shāo":["鞘"],"juān xuān":["鞙"],"shàng zhǎng":["鞝"],"pí bǐng bì bēi":["鞞"],la:["鞡"],"xiè dié":["鞢"],ēng:["鞥"],"móu mù":["鞪"],"bì bǐng":["鞸"],"mèi wà":["韎"],rǒu:["韖"],"shè xiè":["韘"],"yùn wēn":["韫"],"dùn dú":["頓","顿"],duǐ:["頧"],luō:["頱"],"bīn pín":["頻"],yóng:["顒","颙","鰫"],mān:["顢","颟"],"jǐng gěng":["颈"],"jié xié jiá":["颉"],"kē ké":["颏"],"pín bīn":["频"],"chàn zhàn":["颤"],"fēng fěng":["風","风"],"biāo diū":["颩"],"bá fú":["颰"],"sāo sōu":["颾"],"liù liáo":["飂"],"shí sì yì":["食"],"yǎng juàn":["飬"],"zhù tǒu":["飳"],"yí sì":["飴"],"zuò zé zhā":["飵"],tiè:["飻","餮"],"xiǎng náng":["饟"],"táng xíng":["饧"],"gē le":["饹"],"chā zha":["馇"],"náng nǎng":["馕"],"yūn wò":["馧"],"zhī shì":["馶"],"xìn jìn":["馸"],"kuài jué":["駃"],zǎng:["駔","驵"],"tái dài":["駘"],"xún xuān":["駨"],"liáng láng":["駺"],piàn:["騗","騙","骗","魸"],"dài tái":["骀"],"sāo sǎo":["骚"],"gǔ gū":["骨"],"bèi mó":["骳"],"xiāo qiāo":["骹"],"bǎng pǎng":["髈"],"bó jué":["髉"],"bì pǒ":["髲"],"máo méng":["髳"],"kuò yuè":["髺"],"bā bà":["魞","鲃"],"jì cǐ":["鮆"],"bó bà":["鮊"],"zhǎ zhà":["鮓","鲊"],"chóu dài":["鮘"],"luò gé":["鮥"],"guī xié wā kuí":["鮭"],"xiān xiǎn":["鮮","鲜"],"pū bū":["鯆"],"yì sī":["鯣"],"bà bó":["鲌"],"guī xié":["鲑"],"sāi xǐ":["鳃"],"niǎo diǎo":["鳥"],"diāo zhāo":["鳭"],"gān hàn yàn":["鳱"],"fū guī":["鳺"],"jiān qiān zhān":["鳽"],"hé jiè":["鶡"],"piān biǎn":["鶣"],"chuàn zhì":["鶨"],"cāng qiāng":["鶬"],"sǔn xùn":["鶽"],"biāo páo":["麃"],"zhù cū":["麆"],"jūn qún":["麇","麕"],chi:["麶"],"mó me":["麼"],"mó me ma":["麽"],"mí mǒ":["麿"],"dàn shèn":["黮"],"zhěn yān":["黰"],"dǎn zhǎn":["黵"],"miǎn mǐn měng":["黾"],hōu:["齁"],nàng:["齉"],"qí jì zī zhāi":["齐"],"yín kěn yǎn":["龂"],"yín kěn":["龈"],"gōng wò":["龏"],"guī jūn qiū":["龜","龟"],"kuí wā":["䖯"],lōu:["䁖"],"ōu qū":["𫭟"],"lóu lǘ":["𦝼"],"gǎ gā gá":["嘎"],"wā guà":["坬"],"zhǐ dǐ":["茋"],"gǒng hóng":["硔"],"yáo xiào":["滧"]},e=new U;Object.keys(T).forEach(n=>{const i=T[n];for(let g of i)e.set(g,n)});const K=["zh","ch","sh","z","c","s","b","p","m","f","d","t","n","l","g","k","h","j","q","x","r","y","w",""],X=["j","q","x"],Y=["uān","uán","uǎn","uàn","uan","uē","ué","uě","uè","ue","ūn","ún","ǔn","ùn","un","ū","ú","ǔ","ù","u"],nn={uān:"üān",uán:"üán",uǎn:"üǎn",uàn:"üàn",uan:"üan",uē:"üē",ué:"üé",uě:"üě",uè:"üè",ue:"üe",ūn:"ǖn",ún:"ǘn",ǔn:"ǚn",ùn:"ǜn",un:"ün",ū:"ǖ",ú:"ǘ",ǔ:"ǚ",ù:"ǜ",u:"ü"},gn=["ia","ian","iang","iao","ie","iu","iong","ua","uai","uan","uang","ue","ui","uo","üan","üe","van","ve"],Z={一:"yì",二:"èr",三:"sān",四:"sì",五:"wǔ",六:"liù",七:"qī",八:"bā",九:"jiǔ",十:"shí",百:"bǎi",千:"qiān",万:"wàn",亿:"yì",单:"dān",两:"liǎng",双:"shuāng",多:"duō",几:"jǐ",十一:"shí yī",零一:"líng yī",第一:"dì yī",一十:"yī shí",一十一:"yī shí yī"},C={重:"chóng",行:"háng",斗:"dǒu",更:"gēng"};function hn(){const n={零一:"líng yī","〇一":"líng yī",十一:"shí yī",一十:"yī shí",第一:"dì yī",一十一:"yī shí yī"};for(let i in Z)for(let g in C){const h=`${i}${g}`,u=`${Z[i]} ${C[g]}`;n[h]=u}return n}const M=hn(),un=Object.keys(M).map(n=>({zh:n,pinyin:M[n],probability:1e-12,length:d(n),priority:t.Normal,dict:Symbol("rule")})),F={不:{bú:[4]},一:{yí:[4],yì:[1,2,3]}},sn={不:["的","而","之","后","也","还","地"],一:["的","而","之","后","也","还","是"]},zn=Object.keys(F);function on(n,i,g){if(zn.indexOf(n)===-1)return r(n);if(i===g&&i&&r(i)!==i)return m(r(n));if(g&&!sn[n].includes(g)){const h=r(g);if(h!==g){const u=p(h),s=F[n];for(let z in s)if(s[z].indexOf(Number(u))!==-1)return z}}}function yn(n,i){if(n==="了"&&(!i||!e.get(i)))return"liǎo"}function ln(n,i){if(n==="々")return!i||!e.get(i)?"tóng":e.get(i).split(" ")[0]}function I(n,i,g){return ln(n,i)||yn(n,i)||on(n,i,g)||r(n)}const P={南宫:"nán gōng",第五:"dì wǔ",万俟:"mò qí",司马:"sī mǎ",上官:"shàng guān",欧阳:"ōu yáng",夏侯:"xià hóu",诸葛:"zhū gě",闻人:"wén rén",东方:"dōng fāng",赫连:"hè lián",皇甫:"huáng fǔ",尉迟:"yù chí",公羊:"gōng yáng",澹台:"tán tái",公冶:"gōng yě",宗政:"zōng zhèng",濮阳:"pú yáng",淳于:"chún yú",太叔:"tài shū",申屠:"shēn tú",公孙:"gōng sūn",仲孙:"zhòng sūn",轩辕:"xuān yuán",令狐:"líng hú",钟离:"zhōng lí",宇文:"yǔ wén",长孙:"zhǎng sūn",慕容:"mù róng",鲜于:"xiān yú",闾丘:"lǘ qiū",司徒:"sī tú",司空:"sī kōng",亓官:"qí guān",司寇:"sī kòu",仉督:"zhǎng dū",子车:"zǐ jū",颛孙:"zhuān sūn",端木:"duān mù",巫马:"wū mǎ",公西:"gōng xī",漆雕:"qī diāo",乐正:"yuè zhèng",壤驷:"rǎng sì",公良:"gōng liáng",拓跋:"tuò bá",夹谷:"jiá gǔ",宰父:"zǎi fǔ",榖梁:"gǔ liáng",段干:"duàn gān",百里:"bǎi lǐ",东郭:"dōng guō",南门:"nán mén",呼延:"hū yán",羊舌:"yáng shé",梁丘:"liáng qiū",左丘:"zuǒ qiū",东门:"dōng mén",西门:"xī mén",句龙:"gōu lóng",毌丘:"guàn qiū",赵:"zhào",钱:"qián",孙:"sūn",李:"lǐ",周:"zhōu",吴:"wú",郑:"zhèng",王:"wáng",冯:"féng",陈:"chén",褚:"chǔ",卫:"wèi",蒋:"jiǎng",沈:"shěn",韩:"hán",杨:"yáng",朱:"zhū",秦:"qín",尤:"yóu",许:"xǔ",何:"hé",吕:"lǚ",施:"shī",张:"zhāng",孔:"kǒng",曹:"cáo",严:"yán",华:"huà",金:"jīn",魏:"wèi",陶:"táo",姜:"jiāng",戚:"qī",谢:"xiè",邹:"zōu",喻:"yù",柏:"bǎi",水:"shuǐ",窦:"dòu",章:"zhāng",云:"yún",苏:"sū",潘:"pān",葛:"gě",奚:"xī",范:"fàn",彭:"péng",郎:"láng",鲁:"lǔ",韦:"wéi",昌:"chāng",马:"mǎ",苗:"miáo",凤:"fèng",花:"huā",方:"fāng",俞:"yú",任:"rén",袁:"yuán",柳:"liǔ",酆:"fēng",鲍:"bào",史:"shǐ",唐:"táng",费:"fèi",廉:"lián",岑:"cén",薛:"xuē",雷:"léi",贺:"hè",倪:"ní",汤:"tāng",滕:"téng",殷:"yīn",罗:"luó",毕:"bì",郝:"hǎo",邬:"wū",安:"ān",常:"cháng",乐:"yuè",于:"yú",时:"shí",傅:"fù",皮:"pí",卞:"biàn",齐:"qí",康:"kāng",伍:"wǔ",余:"yú",元:"yuán",卜:"bǔ",顾:"gù",孟:"mèng",平:"píng",黄:"huáng",和:"hé",穆:"mù",萧:"xiāo",尹:"yǐn",姚:"yáo",邵:"shào",湛:"zhàn",汪:"wāng",祁:"qí",毛:"máo",禹:"yǔ",狄:"dí",米:"mǐ",贝:"bèi",明:"míng",臧:"zāng",计:"jì",伏:"fú",成:"chéng",戴:"dài",谈:"tán",宋:"sòng",茅:"máo",庞:"páng",熊:"xióng",纪:"jǐ",舒:"shū",屈:"qū",项:"xiàng",祝:"zhù",董:"dǒng",梁:"liáng",杜:"dù",阮:"ruǎn",蓝:"lán",闵:"mǐn",席:"xí",季:"jì",麻:"má",强:"qiáng",贾:"jiǎ",路:"lù",娄:"lóu",危:"wēi",江:"jiāng",童:"tóng",颜:"yán",郭:"guō",梅:"méi",盛:"shèng",林:"lín",刁:"diāo",钟:"zhōng",徐:"xú",邱:"qiū",骆:"luò",高:"gāo",夏:"xià",蔡:"cài",田:"tián",樊:"fán",胡:"hú",凌:"líng",霍:"huò",虞:"yú",万:"wàn",支:"zhī",柯:"kē",昝:"zǎn",管:"guǎn",卢:"lú",莫:"mò",经:"jīng",房:"fáng",裘:"qiú",缪:"miào",干:"gān",解:"xiè",应:"yīng",宗:"zōng",丁:"dīng",宣:"xuān",贲:"bēn",邓:"dèng",郁:"yù",单:"shàn",杭:"háng",洪:"hóng",包:"bāo",诸:"zhū",左:"zuǒ",石:"shí",崔:"cuī",吉:"jí",钮:"niǔ",龚:"gōng",程:"chéng",嵇:"jī",邢:"xíng",滑:"huá",裴:"péi",陆:"lù",荣:"róng",翁:"wēng",荀:"xún",羊:"yáng",於:"yū",惠:"huì",甄:"zhēn",曲:"qū",家:"jiā",封:"fēng",芮:"ruì",羿:"yì",储:"chǔ",靳:"jìn",汲:"jí",邴:"bǐng",糜:"mí",松:"sōng",井:"jǐng",段:"duàn",富:"fù",巫:"wū",乌:"wū",焦:"jiāo",巴:"bā",弓:"gōng",牧:"mù",隗:"wěi",山:"shān",谷:"gǔ",车:"chē",侯:"hóu",宓:"mì",蓬:"péng",全:"quán",郗:"xī",班:"bān",仰:"yǎng",秋:"qiū",仲:"zhòng",伊:"yī",宫:"gōng",宁:"nìng",仇:"qiú",栾:"luán",暴:"bào",甘:"gān",钭:"tǒu",厉:"lì",戎:"róng",祖:"zǔ",武:"wǔ",符:"fú",刘:"liú",景:"jǐng",詹:"zhān",束:"shù",龙:"lóng",叶:"yè",幸:"xìng",司:"sī",韶:"sháo",郜:"gào",黎:"lí",蓟:"jì",薄:"bó",印:"yìn",宿:"sù",白:"bái",怀:"huái",蒲:"pú",邰:"tái",从:"cóng",鄂:"è",索:"suǒ",咸:"xián",籍:"jí",赖:"lài",卓:"zhuó",蔺:"lìn",屠:"tú",蒙:"méng",池:"chí",乔:"qiáo",阴:"yīn",鬱:"yù",胥:"xū",能:"nài",苍:"cāng",双:"shuāng",闻:"wén",莘:"shēn",党:"dǎng",翟:"zhái",谭:"tán",贡:"gòng",劳:"láo",逄:"páng",姬:"jī",申:"shēn",扶:"fú",堵:"dǔ",冉:"rǎn",宰:"zǎi",郦:"lì",雍:"yōng",郤:"xì",璩:"qú",桑:"sāng",桂:"guì",濮:"pú",牛:"niú",寿:"shòu",通:"tōng",边:"biān",扈:"hù",燕:"yān",冀:"jì",郏:"jiá",浦:"pǔ",尚:"shàng",农:"nóng",温:"wēn",别:"bié",庄:"zhuāng",晏:"yàn",柴:"chái",瞿:"qú",阎:"yán",充:"chōng",慕:"mù",连:"lián",茹:"rú",习:"xí",宦:"huàn",艾:"ài",鱼:"yú",容:"róng",向:"xiàng",古:"gǔ",易:"yì",慎:"shèn",戈:"gē",廖:"liào",庾:"yǔ",终:"zhōng",暨:"jì",居:"jū",衡:"héng",步:"bù",都:"dū",耿:"gěng",满:"mǎn",弘:"hóng",匡:"kuāng",国:"guó",文:"wén",寇:"kòu",广:"guǎng",禄:"lù",阙:"quē",东:"dōng",欧:"ōu",殳:"shū",沃:"wò",利:"lì",蔚:"wèi",越:"yuè",夔:"kuí",隆:"lóng",师:"shī",巩:"gǒng",厍:"shè",聂:"niè",晁:"cháo",勾:"gōu",敖:"áo",融:"róng",冷:"lěng",訾:"zī",辛:"xīn",阚:"kàn",那:"nā",简:"jiǎn",饶:"ráo",空:"kōng",曾:"zēng",母:"mǔ",沙:"shā",乜:"niè",养:"yǎng",鞠:"jū",须:"xū",丰:"fēng",巢:"cháo",关:"guān",蒯:"kuǎi",相:"xiàng",查:"zhā",后:"hòu",荆:"jīng",红:"hóng",游:"yóu",竺:"zhú",权:"quán",逯:"lù",盖:"gě",益:"yì",桓:"huán",公:"gōng",牟:"móu",哈:"hǎ",言:"yán",福:"fú",肖:"xiāo",区:"ōu",覃:"qín",朴:"piáo",繁:"pó",员:"yùn",句:"gōu",要:"yāo",过:"guō",钻:"zuān",谌:"chén",折:"shé",召:"shào",郄:"qiè",撒:"sǎ",甯:"nìng",六:"lù",啜:"chuài",行:"xíng"},cn=Object.keys(P).map(n=>({zh:n,pinyin:P[n],probability:1+d(n),length:d(n),priority:t.Surname,dict:Symbol("surname")})),N={这个:"zhè ge",成为:"chéng wéi",认为:"rèn wéi",作为:"zuò wéi",部分:"bù fen",要求:"yāo qiú",应该:"yīng gāi",增长:"zēng zhǎng",提供:"tí gōng",觉得:"jué de",任务:"rèn wu",那个:"nà ge",称为:"chēng wéi",为主:"wéi zhǔ",了解:"liǎo jiě",处理:"chǔ lǐ",皇上:"huáng shang",只要:"zhǐ yào",大量:"dà liàng",力量:"lì liàng",几乎:"jī hū",干部:"gàn bù",目的:"mù dì",行为:"xíng wéi",只见:"zhǐ jiàn",认识:"rèn shi",市长:"shì zhǎng",师父:"shī fu",调查:"diào chá",重新:"chóng xīn",分为:"fēn wéi",知识:"zhī shi",导弹:"dǎo dàn",质量:"zhì liàng",行款:"háng kuǎn",行列:"háng liè",行话:"háng huà",行业:"háng yè",隔行:"gé háng",在行:"zài háng",行家:"háng jia",内行:"nèi háng",外行:"wài háng",同行:"tóng háng",本行:"běn háng",行伍:"háng wǔ",洋行:"yáng háng",银行:"yín háng",商行:"shāng háng",支行:"zhī háng",总行:"zǒng háng",行情:"háng qíng",懂行:"dǒng háng",行规:"háng guī",行当:"háng dang",行货:"háng huò",太行:"tài háng",入行:"rù háng",中行:"zhōng háng",农行:"nóng háng",工行:"gōng háng",建行:"jiàn háng",各行:"gè háng",行号:"háng hào",行高:"háng gāo",行首:"háng shǒu",行尾:"háng wěi",行末:"háng mò",行长:"háng cháng",行距:"háng jù",换行:"huàn háng",行会:"háng huì",行辈:"háng bèi",行道:"háng dào",道行:"dào heng",参与:"cān yù",充分:"chōng fèn",尽管:"jǐn guǎn",生长:"shēng zhǎng",数量:"shù liàng",应当:"yīng dāng",院长:"yuàn zhǎng",强调:"qiáng diào",只能:"zhǐ néng",音乐:"yīn yuè",以为:"yǐ wéi",处于:"chǔ yú",部长:"bù zhǎng",蒙古:"měng gǔ",只有:"zhǐ yǒu",适当:"shì dàng",只好:"zhǐ hǎo",成长:"chéng zhǎng",高兴:"gāo xìng",不了:"bù liǎo",产量:"chǎn liàng",胖子:"pàng zi",显得:"xiǎn de",只是:"zhǐ shì",似的:"shì de",率领:"shuài lǐng",改为:"gǎi wéi",不禁:"bù jīn",成分:"chéng fèn",答应:"dā ying",少年:"shào nián",兴趣:"xìng qù",太监:"tài jian",休息:"xiū xi",校长:"xiào zhǎng",更新:"gēng xīn",合同:"hé tong",喝道:"hè dào",重庆:"chóng qìng",重建:"chóng jiàn",使得:"shǐ de",审查:"shěn chá",累计:"lěi jì",给予:"jǐ yǔ",极为:"jí wéi",冠军:"guàn jūn",仿佛:"fǎng fú",头发:"tóu fa",投降:"tóu xiáng",家长:"jiā zhǎng",仔细:"zǐ xì",要是:"yào shi",将领:"jiàng lǐng",含量:"hán liàng",更为:"gèng wéi",积累:"jī lěi",地处:"dì chǔ",县长:"xiàn zhǎng",少女:"shào nǚ",路上:"lù shang",只怕:"zhǐ pà",能量:"néng liàng",储量:"chǔ liàng",供应:"gōng yìng",挑战:"tiǎo zhàn",西藏:"xī zàng",记得:"jì de",总量:"zǒng liàng",当真:"dàng zhēn",将士:"jiàng shì",差别:"chā bié",较为:"jiào wéi",长老:"zhǎng lǎo",大夫:"dài fu",差异:"chā yì",懂得:"dǒng de",尽量:"jǐn liàng",模样:"mú yàng",的确:"dí què",为首:"wéi shǒu",便宜:"pián yi",更名:"gēng míng",石头:"shí tou",州长:"zhōu zhǎng",为止:"wéi zhǐ",漂亮:"piào liang",炮弹:"pào dàn",藏族:"zàng zú",角色:"jué sè",当作:"dàng zuò",尽快:"jǐn kuài",人为:"rén wéi",重复:"chóng fù",胡同:"hú tòng",差距:"chā jù",弟兄:"dì xiong",大将:"dà jiàng",睡觉:"shuì jiào",一觉:"yí jiào",团长:"tuán zhǎng",队长:"duì zhǎng",区长:"qū zhǎng",难得:"nán dé",丫头:"yā tou",会长:"huì zhǎng",弟弟:"dì di",王爷:"wáng ye",重量:"zhòng liàng",誉为:"yù wéi",家伙:"jiā huo",华山:"huà shān",椅子:"yǐ zi",流量:"liú liàng",长大:"zhǎng dà",勉强:"miǎn qiǎng",会计:"kuài jì",过分:"guò fèn",济南:"jǐ nán",调动:"diào dòng",燕京:"yān jīng",少将:"shào jiàng",中毒:"zhòng dú",晓得:"xiǎo de",变更:"biàn gēng",打更:"dǎ gēng",认得:"rèn de",苹果:"píng guǒ",念头:"niàn tou",挣扎:"zhēng zhá",三藏:"sān zàng",剥削:"bō xuē",丞相:"chéng xiàng",少量:"shǎo liàng",寻思:"xún si",夺得:"duó dé",干线:"gàn xiàn",呼吁:"hū yù",处罚:"chǔ fá",长官:"zhǎng guān",柏林:"bó lín",亲戚:"qīn qi",身分:"shēn fèn",胳膊:"gē bo",着手:"zhuó shǒu",炸弹:"zhà dàn",咳嗽:"ké sou",叶子:"yè zi",外长:"wài zhǎng",供给:"gōng jǐ",师长:"shī zhǎng",变量:"biàn liàng",应有:"yīng yǒu",下载:"xià zài",乐器:"yuè qì",间接:"jiàn jiē",底下:"dǐ xià",打扮:"dǎ bàn",子弹:"zǐ dàn",弹药:"dàn yào",热量:"rè liàng",削弱:"xuē ruò",骨干:"gǔ gàn",容量:"róng liàng",模糊:"mó hu",转动:"zhuàn dòng",称呼:"chēng hu",科长:"kē zhǎng",处置:"chǔ zhì",着重:"zhuó zhòng",着急:"zháo jí",强迫:"qiǎng pò",庭长:"tíng zhǎng",首相:"shǒu xiàng",喇嘛:"lǎ ma",镇长:"zhèn zhǎng",只管:"zhǐ guǎn",重重:"chóng chóng",免得:"miǎn de",着实:"zhuó shí",度假:"dù jià",真相:"zhēn xiàng",相貌:"xiàng mào",处分:"chǔ fèn",委屈:"wěi qu",为期:"wéi qī",伯伯:"bó bo",伯子:"bǎi zi",圈子:"quān zi",见识:"jiàn shi",笼罩:"lǒng zhào",与会:"yù huì",都督:"dū du",都市:"dū shì",成都:"chéng dū",首都:"shǒu dū",帝都:"dì dū",王都:"wáng dū",东都:"dōng dū",都护:"dū hù",都城:"dū chéng",建都:"jiàn dū",迁都:"qiān dū",故都:"gù dū",定都:"dìng dū",中都:"zhōng dū",六安:"lù ān",宰相:"zǎi xiàng",较量:"jiào liàng",对称:"duì chèn",总长:"zǒng zhǎng",相公:"xiàng gong",空白:"kòng bái",打量:"dǎ liang",水分:"shuǐ fèn",舌头:"shé tou",没收:"mò shōu",行李:"xíng li",判处:"pàn chǔ",散文:"sǎn wén",处境:"chǔ jìng",孙子:"sūn zi",拳头:"quán tou",打发:"dǎ fā",组长:"zǔ zhǎng",骨头:"gǔ tou",宁可:"nìng kě",更换:"gēng huàn",薄弱:"bó ruò",还原:"huán yuán",重修:"chóng xiū",重来:"chóng lái",只顾:"zhǐ gù",爱好:"ài hào",馒头:"mán tou",军长:"jūn zhǎng",首长:"shǒu zhǎng",厂长:"chǎng zhǎng",司长:"sī zhǎng",长子:"zhǎng zǐ",强劲:"qiáng jìng",恰当:"qià dàng",头儿:"tóu er",站长:"zhàn zhǎng",折腾:"zhē teng",相处:"xiāng chǔ",统率:"tǒng shuài",中将:"zhōng jiàng",命中:"mìng zhòng",名将:"míng jiàng",木头:"mù tou",动弹:"dòng tan",地壳:"dì qiào",干活:"gàn huó",少爷:"shào ye",水量:"shuǐ liàng",补给:"bǔ jǐ",尾巴:"wěi ba",来得:"lái de",好奇:"hào qí",钥匙:"yào shi",当做:"dàng zuò",沉着:"chén zhuó",哑巴:"yǎ ba",车子:"chē zi",上将:"shàng jiàng",恶心:"ě xīn",担子:"dàn zi",应届:"yīng jiè",主角:"zhǔ jué",运转:"yùn zhuǎn",兄长:"xiōng zhǎng",格式:"gé shì",正月:"zhēng yuè",营长:"yíng zhǎng",当成:"dàng chéng",女婿:"nǚ xu",咽喉:"yān hóu",重阳:"chóng yáng",化为:"huà wéi",吐蕃:"tǔ bō",钻进:"zuān jìn",乐队:"yuè duì",亮相:"liàng xiàng",被子:"bèi zi",舍得:"shě de",杉木:"shā mù",击中:"jī zhòng",排长:"pái zhǎng",假期:"jià qī",分量:"fèn liàng",数次:"shù cì",提防:"dī fáng",吆喝:"yāo he",查处:"chá chǔ",量子:"liàng zǐ",里头:"lǐ tou",调研:"diào yán",伺候:"cì hou",重申:"chóng shēn",枕头:"zhěn tou",拚命:"pīn mìng",社长:"shè zhǎng",归还:"guī huán",批量:"pī liàng",畜牧:"xù mù",点着:"diǎn zháo",甚为:"shèn wéi",小将:"xiǎo jiàng",着眼:"zhuó yǎn",处死:"chǔ sǐ",厌恶:"yàn wù",鼓乐:"gǔ yuè",树干:"shù gàn",秘鲁:"bì lǔ",大方:"dà fāng",外头:"wài tou",班长:"bān zhǎng",星宿:"xīng xiù",宁愿:"nìng yuàn",钦差:"qīn chāi",为数:"wéi shù",勾当:"gòu dàng",削减:"xuē jiǎn",间谍:"jiàn dié",埋怨:"mán yuàn",结实:"jiē shi",计量:"jì liáng",淹没:"yān mò",村长:"cūn zhǎng",连长:"lián zhǎng",自给:"zì jǐ",武将:"wǔ jiàng",温差:"wēn chā",直奔:"zhí bèn",供求:"gōng qiú",剂量:"jì liàng",道长:"dào zhǎng",泄露:"xiè lòu",王八:"wáng ba",切割:"qiē gē",间隔:"jiàn gé",一晃:"yì huǎng",长假:"cháng jià",令狐:"líng hú",为害:"wéi hài",句子:"jù zi",偿还:"cháng huán",疙瘩:"gē da",燕山:"yān shān",堵塞:"dǔ sè",夺冠:"duó guàn",扎实:"zhā shi",电荷:"diàn hè",看守:"kān shǒu",复辟:"fù bì",郁闷:"yù mèn",尽早:"jǐn zǎo",切断:"qiē duàn",指头:"zhǐ tou",为生:"wéi shēng",畜生:"chù sheng",切除:"qiē chú",着力:"zhuó lì",着想:"zhuó xiǎng",级差:"jí chā",投奔:"tóu bèn",棍子:"gùn zi",含糊:"hán hu",少妇:"shào fù",兴致:"xìng zhì",纳闷:"nà mèn",干流:"gàn liú",卷起:"juǎn qǐ",扇子:"shàn zi",更改:"gēng gǎi",笼络:"lǒng luò",喇叭:"lǎ ba",载荷:"zài hè",妥当:"tuǒ dàng",为难:"wéi nán",着陆:"zhuó lù",燕子:"yàn zi",干吗:"gàn má",白发:"bái fà",总得:"zǒng děi",夹击:"jiā jī",曝光:"bào guāng",曲调:"qǔ diào",相机:"xiàng jī",叫化:"jiào huà",角逐:"jué zhú",啊哟:"ā yō",载重:"zài zhòng",长辈:"zhǎng bèi",出差:"chū chāi",垛口:"duǒ kǒu",撇开:"piē kāi",厅长:"tīng zhǎng",组分:"zǔ fèn",误差:"wù chā",家当:"jiā dàng",传记:"zhuàn jì",个子:"gè zi",铺设:"pū shè",干事:"gàn shì",杆菌:"gǎn jūn",定量:"dìng liàng",运载:"yùn zài",会儿:"huì er",酋长:"qiú zhǎng",重返:"chóng fǎn",差额:"chā é",露面:"lòu miàn",钻研:"zuān yán",大城:"dài chéng",上当:"shàng dàng",销量:"xiāo liàng",作坊:"zuō fang",照相:"zhào xiàng",哎呀:"āi yā",调集:"diào jí",看中:"kàn zhòng",议长:"yì zhǎng",风筝:"fēng zheng",辟邪:"bì xié",空隙:"kòng xì",更迭:"gēng dié",偏差:"piān chā",声调:"shēng diào",适量:"shì liàng",屯子:"tún zi",无量:"wú liàng",空地:"kòng dì",调度:"diào dù",散射:"sǎn shè",创伤:"chuāng shāng",海参:"hǎi shēn",满载:"mǎn zài",重叠:"chóng dié",落差:"luò chā",单调:"dān diào",老将:"lǎo jiàng",人参:"rén shēn",间断:"jiàn duàn",重现:"chóng xiàn",夹杂:"jiā zá",调用:"diào yòng",萝卜:"luó bo",附着:"fù zhuó",应声:"yìng shēng",主将:"zhǔ jiàng",罪过:"zuì guo",咀嚼:"jǔ jué",为政:"wéi zhèng",过量:"guò liàng",乐曲:"yuè qǔ",负荷:"fù hè",枪弹:"qiāng dàn",悄然:"qiǎo rán",处方:"chǔ fāng",悄声:"qiǎo shēng",曲子:"qǔ zi",情调:"qíng diào",挑衅:"tiǎo xìn",代为:"dài wéi",了结:"liǎo jié",打中:"dǎ zhòng",酒吧:"jiǔ bā",懒得:"lǎn de",增量:"zēng liàng",衣着:"yī zhuó",部将:"bù jiàng",要塞:"yào sài",茶几:"chá jī",杠杆:"gàng gǎn",出没:"chū mò",鲜有:"xiǎn yǒu",间隙:"jiàn xì",重担:"zhòng dàn",重演:"chóng yǎn",重试:"chóng shì",应酬:"yìng chou",只当:"zhǐ dāng",毋宁:"wú nìng",包扎:"bāo zā",前头:"qián tou",卷烟:"juǎn yān",非得:"fēi děi",弹道:"dàn dào",杆子:"gān zi",门将:"mén jiàng",后头:"hòu tou",喝彩:"hè cǎi",暖和:"nuǎn huo",累积:"lěi jī",调遣:"diào qiǎn",倔强:"jué jiàng",宝藏:"bǎo zàng",丧事:"sāng shì",约莫:"yuē mo",纤夫:"qiàn fū",更替:"gēng tì",装载:"zhuāng zài",背包:"bēi bāo",帖子:"tiě zi",松散:"sōng sǎn",呼喝:"hū hè",可恶:"kě wù",自转:"zì zhuàn",供电:"gōng diàn",反省:"fǎn xǐng",坦率:"tǎn shuài",苏打:"sū dá",本分:"běn fèn",落得:"luò de",鄙薄:"bǐ bó",相间:"xiāng jiàn",单薄:"dān bó",混蛋:"hún dàn",贞观:"zhēn guān",附和:"fù hè",能耐:"néng nài",吓唬:"xià hu",未了:"wèi liǎo",引着:"yǐn zháo",抽调:"chōu diào",沙子:"shā zi",席卷:"xí juǎn",标的:"biāo dì",别扭:"biè niu",思量:"sī liang",喝采:"hè cǎi",论语:"lún yǔ",盖子:"gài zi",分外:"fèn wài",弄堂:"lòng táng",乐舞:"yuè wǔ",雨量:"yǔ liàng",毛发:"máo fà",差遣:"chāi qiǎn",背负:"bēi fù",转速:"zhuàn sù",声乐:"shēng yuè",夹攻:"jiā gōng",供水:"gōng shuǐ",主干:"zhǔ gàn",惩处:"chéng chǔ",长相:"zhǎng xiàng",公差:"gōng chāi",榴弹:"liú dàn",省得:"shěng de",条子:"tiáo zi",重围:"chóng wéi",阻塞:"zǔ sè",劲风:"jìng fēng",纠葛:"jiū gé",颠簸:"diān bǒ",点中:"diǎn zhòng",重创:"zhòng chuāng",姥姥:"lǎo lao",迷糊:"mí hu",公家:"gōng jia",几率:"jī lǜ",苦闷:"kǔ mèn",度量:"dù liàng",差错:"chā cuò",暑假:"shǔ jià",参差:"cēn cī",搭载:"dā zài",助长:"zhù zhǎng",相称:"xiāng chèn",红晕:"hóng yùn",舍命:"shě mìng",喜好:"xǐ hào",列传:"liè zhuàn",劲敌:"jìng dí",蛤蟆:"há ma",请假:"qǐng jià",钉子:"dīng zi",沉没:"chén mò",高丽:"gāo lí",休假:"xiū jià",无为:"wú wéi",巴结:"bā jie",了得:"liǎo dé",变相:"biàn xiàng",核弹:"hé dàn",亲家:"qìng jia",承载:"chéng zài",喝问:"hè wèn",还击:"huán jī",交还:"jiāo huán",将令:"jiàng lìng",单于:"chán yú",空缺:"kòng quē",绿林:"lù lín",胆量:"dǎn liàng",执着:"zhí zhuó",低调:"dī diào",闭塞:"bì sè",轻薄:"qīng bó",得当:"dé dàng",占卜:"zhān bǔ",扫帚:"sào zhou",龟兹:"qiū cí",年长:"nián zhǎng",外传:"wài zhuàn",头子:"tóu zi",裁缝:"cái feng",礼乐:"lǐ yuè",血泊:"xuè pō",散乱:"sǎn luàn",动量:"dòng liàng",倒腾:"dǎo teng",取舍:"qǔ shě",咱家:"zán jiā",长发:"cháng fà",爪哇:"zhǎo wā",弹壳:"dàn ké",省悟:"xǐng wù",嚷嚷:"rāng rang",连累:"lián lèi",应得:"yīng dé",族长:"zú zhǎng",柜子:"guì zi",擂鼓:"léi gǔ",眩晕:"xuàn yùn",调配:"tiáo pèi",躯干:"qū gàn",差役:"chāi yì",坎坷:"kǎn kě",少儿:"shào ér",乐团:"yuè tuán",养分:"yǎng fèn",退还:"tuì huán",格调:"gé diào",语调:"yǔ diào",音调:"yīn diào",乐府:"yuè fǔ",古朴:"gǔ pǔ",打点:"dǎ diǎn",差使:"chāi shǐ",匀称:"yún chèn",瘦削:"shòu xuē",膏药:"gāo yao",吞没:"tūn mò",调任:"diào rèn",散居:"sǎn jū",上头:"shàng tóu",风靡:"fēng mǐ",放假:"fàng jià",估量:"gū liang",失当:"shī dàng",中弹:"zhòng dàn",妄为:"wàng wéi",长者:"zhǎng zhě",起哄:"qǐ hòng",末了:"mò liǎo",相声:"xiàng sheng",校正:"jiào zhèng",劝降:"quàn xiáng",矢量:"shǐ liàng",沉闷:"chén mèn",给与:"jǐ yǔ",解法:"jiě fǎ",塞外:"sài wài",将校:"jiàng xiào",嗜好:"shì hào",没落:"mò luò",朴刀:"pō dāo",片子:"piān zi",切削:"qiē xiāo",弹丸:"dàn wán",稀薄:"xī bó",亏得:"kuī dé",间歇:"jiàn xiē",翘首:"qiáo shǒu",色调:"sè diào",处决:"chǔ jué",表率:"biǎo shuài",尺子:"chǐ zi",招降:"zhāo xiáng",称职:"chèn zhí",斗篷:"dǒu peng",铺子:"pù zi",底子:"dǐ zi",负载:"fù zài",干警:"gàn jǐng",倒数:"dào shǔ",将官:"jiàng guān",锄头:"chú tou",归降:"guī xiáng",疟疾:"nüè ji",唠叨:"láo dao",限量:"xiàn liàng",屏息:"bǐng xī",重逢:"chóng féng",器乐:"qì yuè",氢弹:"qīng dàn",脖颈:"bó gěng",妃子:"fēi zi",处事:"chǔ shì",参量:"cān liàng",轻率:"qīng shuài",缥缈:"piāo miǎo",中奖:"zhòng jiǎng",才干:"cái gàn",施舍:"shī shě",卷子:"juàn zi",游说:"yóu shuì",巷子:"xiàng zi",膀胱:"páng guāng",切勿:"qiè wù",看管:"kān guǎn",风头:"fēng tou",精干:"jīng gàn",高差:"gāo chā",恐吓:"kǒng hè",扁担:"biǎn dàn",给养:"jǐ yǎng",格子:"gé zi",供需:"gōng xū",反差:"fǎn chā",飞弹:"fēi dàn",微薄:"wēi bó",发型:"fà xíng",即兴:"jí xìng",攒动:"cuán dòng",间或:"jiàn huò",浅薄:"qiǎn bó",乐章:"yuè zhāng",顺差:"shùn chā",调子:"diào zi",相位:"xiàng wèi",转子:"zhuàn zǐ",劲旅:"jìng lǚ",咔嚓:"kā chā",了事:"liǎo shì",转悠:"zhuàn you",当铺:"dàng pù",爪子:"zhuǎ zi",单子:"dān zi",好战:"hào zhàn",燕麦:"yàn mài",只许:"zhǐ xǔ",干练:"gàn liàn",女将:"nǚ jiàng",酒量:"jiǔ liàng",划船:"huá chuán",伎俩:"jì liǎng",挑拨:"tiǎo bō",少校:"shào xiào",着落:"zhuó luò",憎恶:"zēng wù",刻薄:"kè bó",要挟:"yāo xié",用处:"yòng chu",还手:"huán shǒu",模具:"mú jù",执著:"zhí zhuó",喝令:"hè lìng",保长:"bǎo zhǎng",吸着:"xī zhe",症结:"zhēng jié",公转:"gōng zhuàn",校勘:"jiào kān",重提:"chóng tí",扫兴:"sǎo xìng",铺盖:"pū gài",长史:"zhǎng shǐ",差价:"chā jià",压根:"yà gēn",怔住:"zhèng zhù",应允:"yīng yǔn",切入:"qiē rù",战将:"zhàn jiàng",年少:"nián shào",舍身:"shě shēn",执拗:"zhí niù",处世:"chǔ shì",中风:"zhòng fēng",等量:"děng liàng",放量:"fàng liàng",腔调:"qiāng diào",老少:"lǎo shào",没入:"mò rù",瓜葛:"guā gé",将帅:"jiàng shuài",车载:"chē zài",窝囊:"wō nang",长进:"zhǎng jìn",可汗:"kè hán",并州:"bīng zhōu",供销:"gōng xiāo",切片:"qiē piàn",差事:"chāi shì",知会:"zhī hui",鹰爪:"yīng zhǎo",处女:"chǔ nǚ",切磋:"qiē cuō",日头:"rì tou",押解:"yā jiè",滋长:"zī zhǎng",道观:"dào guàn",脚色:"jué sè",当量:"dāng liàng",婆家:"pó jia",缘分:"yuán fèn",空闲:"kòng xián",好色:"hào sè",怒喝:"nù hè",笼统:"lǒng tǒng",边塞:"biān sài",何曾:"hé céng",重合:"chóng hé",零散:"líng sǎn",轰隆:"hōng lōng",化子:"huà zi",内蒙:"nèi měng",数落:"shǔ luò",逆差:"nì chā",牟利:"móu lì",栅栏:"zhà lan",中标:"zhòng biāo",调档:"diào dàng",佝偻:"gōu lóu",场子:"chǎng zi",甲壳:"jiǎ qiào",重温:"chóng wēn",炮制:"páo zhì",返还:"fǎn huán",自传:"zì zhuàn",高调:"gāo diào",殷红:"yān hóng",固着:"gù zhuó",强求:"qiǎng qiú",本相:"běn xiàng",骄横:"jiāo hèng",草率:"cǎo shuài",气闷:"qì mèn",着色:"zhuó sè",宁肯:"nìng kěn",兴头:"xìng tou",拘泥:"jū nì",夹角:"jiā jiǎo",发髻:"fà jì",猛将:"měng jiàng",约摸:"yuē mo",拖累:"tuō lěi",呢绒:"ní róng",钻探:"zuān tàn",夹层:"jiā céng",落魄:"luò pò",巷道:"hàng dào",运量:"yùn liàng",解闷:"jiě mèn",空儿:"kòng er",估摸:"gū mo",好客:"hào kè",钻孔:"zuān kǒng",糊弄:"hù nòng",荥阳:"xíng yáng",烦闷:"fán mèn",仓卒:"cāng cù",分叉:"fēn chà",厂子:"chǎng zi",小调:"xiǎo diào",少阳:"shào yáng",受降:"shòu xiáng",染坊:"rǎn fáng",胳臂:"gē bei",将门:"jiàng mén",模板:"mú bǎn",配给:"pèi jǐ",为伍:"wéi wǔ",跟头:"gēn tou",划算:"huá suàn",累赘:"léi zhui",哄笑:"hōng xiào",晕眩:"yūn xuàn",干掉:"gàn diào",缝制:"féng zhì",难处:"nán chù",着意:"zhuó yì",蛮横:"mán hèng",奇数:"jī shù",短发:"duǎn fà",生还:"shēng huán",还清:"huán qīng",看护:"kān hù",直率:"zhí shuài",奏乐:"zòu yuè",载客:"zài kè",专横:"zhuān hèng",湮没:"yān mò",空格:"kòng gé",铺垫:"pū diàn",良将:"liáng jiàng",哗啦:"huā lā",散漫:"sǎn màn",脱发:"tuō fà",送还:"sòng huán",埋没:"mái mò",累及:"lěi jí",薄雾:"bó wù",调离:"diào lí",舌苔:"shé tāi",机长:"jī zhǎng",栓塞:"shuān sè",配角:"pèi jué",切口:"qiē kǒu",创口:"chuāng kǒu",哈欠:"hā qian",实弹:"shí dàn",铺平:"pū píng",哈达:"hǎ dá",懒散:"lǎn sǎn",实干:"shí gàn",填空:"tián kòng",刁钻:"diāo zuān",乐师:"yuè shī",量变:"liàng biàn",诱降:"yòu xiáng",搪塞:"táng sè",征调:"zhēng diào",夹道:"jiā dào",干咳:"gān ké",止咳:"zhǐ ké",乐工:"yuè gōng",划过:"huá guò",着火:"zháo huǒ",更正:"gēng zhèng",给付:"jǐ fù",空子:"kòng zi",哪吒:"né zhā",正着:"zhèng zháo",刷子:"shuā zi",丧葬:"sāng zàng",夹带:"jiā dài",安分:"ān fèn",中意:"zhòng yì",长孙:"zhǎng sūn",校订:"jiào dìng",卷曲:"juǎn qū",载运:"zài yùn",投弹:"tóu dàn",柞蚕:"zuò cán",份量:"fèn liàng",调换:"diào huàn",了然:"liǎo rán",咧嘴:"liě zuǐ",典当:"diǎn dàng",寒假:"hán jià",长兄:"zhǎng xiōng",给水:"jǐ shuǐ",须发:"xū fà",枝干:"zhī gàn",属相:"shǔ xiàng",哄抢:"hōng qiǎng",刻划:"kè huà",塞子:"sāi zi",单干:"dān gàn",还乡:"huán xiāng",兆头:"zhào tou",寺观:"sì guàn",督率:"dū shuài",啊哈:"ā ha",割舍:"gē shě",抹布:"mā bù",好恶:"hào wù",下处:"xià chǔ",消长:"xiāo zhǎng",离间:"lí jiàn",准头:"zhǔn tou",校对:"jiào duì",什物:"shí wù",番禺:"pān yú",佛爷:"fó ye",吗啡:"mǎ fēi",盐分:"yán fèn",虎将:"hǔ jiàng",薄荷:"bò he",独处:"dú chǔ",空位:"kòng wèi",铺路:"pū lù",乌拉:"wū lā",调回:"diào huí",来头:"lái tou",闲散:"xián sǎn",胶卷:"jiāo juǎn",冒失:"mào shi",干劲:"gàn jìn",弦乐:"xián yuè",相国:"xiàng guó",丹参:"dān shēn",助兴:"zhù xìng",铺开:"pū kāi",次长:"cì zhǎng",发卡:"fà qiǎ",拮据:"jié jū",刹车:"shā chē",生发:"shēng fà",重播:"chóng bō",缝合:"féng hé",音量:"yīn liàng",少尉:"shào wèi",冲压:"chòng yā",苍劲:"cāng jìng",厚薄:"hòu báo",威吓:"wēi hè",外相:"wài xiàng",呼号:"hū háo",着迷:"zháo mí",挑担:"tiāo dàn",纹路:"wén lù",还俗:"huán sú",强横:"qiáng hèng",着数:"zhāo shù",降顺:"xiáng shùn",挑明:"tiǎo míng",眯缝:"mī feng",分内:"fèn nèi",更衣:"gēng yī",软和:"ruǎn huo",尽兴:"jìn xìng",号子:"hào zi",爪牙:"zhǎo yá",败将:"bài jiàng",猜中:"cāi zhòng",结扎:"jié zā",没空:"méi kòng",夹缝:"jiā fèng",拾掇:"shí duo",掺和:"chān huo",簸箕:"bò ji",电量:"diàn liàng",荷载:"hè zǎi",调式:"diào shì",处身:"chǔ shēn",打手:"dǎ shǒu",弹弓:"dàn gōng",横蛮:"hèng mán",能干:"néng gàn",校点:"jiào diǎn",加载:"jiā zài",干校:"gàn xiào",哄传:"hōng chuán",校注:"jiào zhù",淤塞:"yū sè",马扎:"mǎ zhá",月氏:"yuè zhī",高干:"gāo gàn",经传:"jīng zhuàn",曾孙:"zēng sūn",好斗:"hào dòu",关卡:"guān qiǎ",逃奔:"táo bèn",磨蹭:"mó ceng",牟取:"móu qǔ",颤栗:"zhàn lì",蚂蚱:"mà zha",撮合:"cuō he",趔趄:"liè qie",摔打:"shuāi dǎ",台子:"tái zi",分得:"fēn de",粘着:"nián zhuó",采邑:"cài yì",散装:"sǎn zhuāng",婀娜:"ē nuó",兴味:"xìng wèi",行头:"xíng tou",气量:"qì liàng",调运:"diào yùn",处治:"chǔ zhì",乐音:"yuè yīn",充塞:"chōng sè",恫吓:"dòng hè",论调:"lùn diào",相中:"xiāng zhòng",民乐:"mín yuè",炮仗:"pào zhang",丧服:"sāng fú",骁将:"xiāo jiàng",量刑:"liàng xíng",缝补:"féng bǔ",财会:"cái kuài",大干:"dà gàn",历数:"lì shǔ",校场:"jiào chǎng",塞北:"sài běi",识相:"shí xiàng",辱没:"rǔ mò",鲜亮:"xiān liàng",语塞:"yǔ sè",露脸:"lòu liǎn",凉快:"liáng kuai",腰杆:"yāo gǎn",溜达:"liū da",嘎嘎:"gā gā",公干:"gōng gàn",桔梗:"jié gěng",挑逗:"tiǎo dòu",看门:"kān mén",乐歌:"yuè gē",拓片:"tà piàn",挑动:"tiǎo dòng",准将:"zhǔn jiàng",遒劲:"qiú jìng",磨坊:"mò fáng",逶迤:"wēi yí",搅和:"jiǎo huo",摩挲:"mó suō",作弄:"zuò nòng",苗头:"miáo tou",打颤:"dǎ zhàn",大藏:"dà zàng",畜牲:"chù shēng",勾搭:"gōu da",树荫:"shù yīn",树杈:"shù chà",铁杆:"tiě gǎn",将相:"jiàng xiàng",份子:"fèn zi",视差:"shì chā",绿荫:"lǜ yīn",枪杆:"qiāng gǎn",缝纫:"féng rèn",愁闷:"chóu mèn",点将:"diǎn jiàng",华佗:"huà tuó",劲射:"jìng shè",箱笼:"xiāng lǒng",终了:"zhōng liǎo",鬓发:"bìn fà",结巴:"jiē ba",苦干:"kǔ gàn",看家:"kān jiā",正旦:"zhēng dàn",中肯:"zhòng kěn",厦门:"xià mén",东莞:"dōng guǎn",食量:"shí liàng",宫调:"gōng diào",间作:"jiàn zuò",弹片:"dàn piàn",差池:"chā chí",漂白:"piǎo bái",杠子:"gàng zi",调处:"tiáo chǔ",好动:"hào dòng",转炉:"zhuàn lú",屏气:"bǐng qì",夹板:"jiā bǎn",哀乐:"āi yuè",干道:"gàn dào",苦处:"kǔ chù",劈柴:"pǐ chái",长势:"zhǎng shì",天华:"tiān huá",共处:"gòng chǔ",校验:"jiào yàn",出塞:"chū sài",磨盘:"mò pán",萎靡:"wěi mǐ",奔丧:"bēn sāng",唱和:"chàng hè",大调:"dà diào",非分:"fēi fèn",钻营:"zuān yíng",夹子:"jiā zi",超载:"chāo zài",更始:"gēng shǐ",铃铛:"líng dang",披散:"pī sàn",发还:"fā huán",转轮:"zhuàn lún",横财:"hèng cái",泡桐:"pāo tóng",抛撒:"pāo sǎ",天呀:"tiān yā",糊糊:"hū hu",躯壳:"qū qiào",通量:"tōng liàng",奉还:"fèng huán",午觉:"wǔ jiào",闷棍:"mèn gùn",浪头:"làng tou",砚台:"yàn tái",油坊:"yóu fáng",学长:"xué zhǎng",过载:"guò zài",笔调:"bǐ diào",衣被:"yī bèi",畜产:"xù chǎn",调阅:"diào yuè",蛮干:"mán gàn",曾祖:"zēng zǔ",提干:"tí gàn",变调:"biàn diào",覆没:"fù mò",模子:"mú zi",乐律:"yuè lǜ",称心:"chèn xīn",木杆:"mù gān",重印:"chóng yìn",自省:"zì xǐng",提调:"tí diào",看相:"kàn xiàng",芋头:"yù tou",下切:"xià qiē",塞上:"sài shàng",铺张:"pū zhāng",藤蔓:"téng wàn",薄幸:"bó xìng",解数:"xiè shù",褪去:"tuì qù",霰弹:"xiàn dàn",柚木:"yóu mù",痕量:"hén liàng",雅乐:"yǎ yuè",号哭:"háo kū",诈降:"zhà xiáng",猪圈:"zhū juàn",咋舌:"zé shé",铣床:"xǐ chuáng",防弹:"fáng dàn",健将:"jiàn jiàng",丽水:"lí shuǐ",削发:"xuē fà",空当:"kòng dāng",多相:"duō xiàng",鲜见:"xiǎn jiàn",划桨:"huá jiǎng",载波:"zài bō",跳蚤:"tiào zao",俏皮:"qiào pí",吧嗒:"bā dā",结发:"jié fà",了断:"liǎo duàn",同调:"tóng diào",石磨:"shí mò",时差:"shí chā",鼻塞:"bí sè",挑子:"tiāo zi",推磨:"tuī mò",武侯:"wǔ hóu",抹煞:"mǒ shā",调转:"diào zhuǎn",籍没:"jí mò",还债:"huán zhài",调演:"diào yǎn",分划:"fēn huá",奇偶:"jī ǒu",断喝:"duàn hè",闷雷:"mèn léi",狼藉:"láng jí",饭量:"fàn liàng",还礼:"huán lǐ",转调:"zhuǎn diào",星相:"xīng xiàng",手相:"shǒu xiàng",配乐:"pèi yuè",盖头:"gài tou",连杆:"lián gǎn",簿记:"bù jì",刀把:"dāo bà",量词:"liàng cí",名角:"míng jué",步调:"bù diào",校本:"jiào běn",账簿:"zhàng bù",隽永:"juàn yǒng",稍为:"shāo wéi",易传:"yì zhuàn",乐谱:"yuè pǔ",牵累:"qiān lěi",答理:"dā li",喝斥:"hè chì",吟哦:"yín é",干渠:"gàn qú",海量:"hǎi liàng",精当:"jīng dàng",着床:"zhuó chuáng",月相:"yuè xiàng",庶几:"shù jī",宫观:"gōng guàn",论处:"lùn chǔ",征辟:"zhēng bì",厚朴:"hòu pò",介壳:"jiè qiào",吭哧:"kēng chī",咯血:"kǎ xiě",铺陈:"pū chén",重生:"chóng shēng",乐理:"yuè lǐ",哀号:"āi háo",藏历:"zàng lì",刚劲:"gāng jìng",削平:"xuē píng",浓荫:"nóng yīn",城垛:"chéng duǒ",当差:"dāng chāi",正传:"zhèng zhuàn",并处:"bìng chǔ",创面:"chuāng miàn",旦角:"dàn jué",薄礼:"bó lǐ",晃荡:"huàng dang",臊子:"sào zi",家什:"jiā shí",闷头:"mēn tóu",美发:"měi fà",度数:"dù shu",着凉:"zháo liáng",闯将:"chuǎng jiàng",几案:"jī àn",姘头:"pīn tou",差数:"chā shù",散碎:"sǎn suì",壅塞:"yōng sè",寒颤:"hán zhàn",牵强:"qiān qiǎng",无间:"wú jiàn",轮转:"lún zhuàn",号叫:"háo jiào",铺排:"pū pái",降伏:"xiáng fú",轧钢:"zhá gāng",东阿:"dōng ē",病假:"bìng jià",累加:"lěi jiā",梗塞:"gěng sè",弹夹:"dàn jiā",钻心:"zuān xīn",晃眼:"huǎng yǎn",魔爪:"mó zhǎo",标量:"biāo liàng",憋闷:"biē mèn",猜度:"cāi duó",处士:"chǔ shì",官差:"guān chāi",讨还:"tǎo huán",长门:"cháng mén",馏分:"liú fēn",里弄:"lǐ lòng",色相:"sè xiàng",雅兴:"yǎ xìng",角力:"jué lì",弹坑:"dàn kēng",枝杈:"zhī chà",夹具:"jiā jù",处刑:"chǔ xíng",悍将:"hàn jiàng",好学:"hào xué",好好:"hǎo hǎo",银发:"yín fà",扫把:"sào bǎ",法相:"fǎ xiàng",贵干:"guì gàn",供气:"gōng qì",空余:"kòng yú",捆扎:"kǔn zā",瘠薄:"jí bó",浆糊:"jiàng hu",嘎吱:"gā zhī",调令:"diào lìng",法帖:"fǎ tiè",淋病:"lìn bìng",调派:"diào pài",转盘:"zhuàn pán",供稿:"gōng gǎo",差官:"chāi guān",忧闷:"yōu mèn",教长:"jiào zhǎng",重唱:"chóng chàng",酒兴:"jiǔ xìng",乐坛:"yuè tán",花呢:"huā ní",叱喝:"chì hè",膀臂:"bǎng bì",得空:"dé kòng",转圈:"zhuàn quān",横暴:"hèng bào",哄抬:"hōng tái",引吭:"yǐn háng",载货:"zài huò",中计:"zhòng jì",官长:"guān zhǎng",相面:"xiàng miàn",看头:"kàn tou",盼头:"pàn tou",意兴:"yì xìng",军乐:"jūn yuè",累次:"lěi cì",骨嘟:"gǔ dū",燕赵:"yān zhào",报丧:"bào sāng",弥撒:"mí sa",挨斗:"ái dòu",扁舟:"piān zhōu",丑角:"chǒu jué",吊丧:"diào sāng",强将:"qiáng jiàng",重奏:"chóng zòu",发辫:"fà biàn",着魔:"zháo mó",着法:"zhāo fǎ",盛放:"shèng fàng",填塞:"tián sè",凶横:"xiōng hèng",稽首:"qǐ shǒu",碑帖:"bēi tiè",冲量:"chōng liàng",发菜:"fà cài",假发:"jiǎ fà",翻卷:"fān juǎn",小量:"xiǎo liàng",胶着:"jiāo zhuó",里子:"lǐ zi",调调:"diào diao",散兵:"sǎn bīng",高挑:"gāo tiǎo",播撒:"bō sǎ",夹心:"jiā xīn",扇动:"shān dòng",叨扰:"tāo rǎo",霓裳:"ní cháng",捻子:"niǎn zi",弥缝:"mí féng",撒布:"sǎ bù",场院:"cháng yuàn",省亲:"xǐng qīn",提拉:"tí lā",惯量:"guàn liàng",强逼:"qiáng bī",强征:"qiáng zhēng",晕车:"yùn chē",数道:"shù dào",带累:"dài lèi",拓本:"tà běn",嫌恶:"xián wù",宿将:"sù jiàng",龟裂:"jūn liè",缠夹:"chán jiā",发式:"fà shì",隔扇:"gé shàn",天分:"tiān fèn",癖好:"pǐ hào",四通:"sì tōng",白术:"bái zhú",划伤:"huá shāng",角斗:"jué dòu",听差:"tīng chāi",岁差:"suì chā",丧礼:"sāng lǐ",脉脉:"mò mò",削瘦:"xuē shòu",撒播:"sǎ bō",莎草:"suō cǎo",犍为:"qián wéi",调头:"diào tóu",龙卷:"lóng juǎn",外调:"wài diào",字帖:"zì tiè",卷发:"juǎn fà",揣度:"chuǎi duó",洋相:"yáng xiàng",散光:"sǎn guāng",骨碌:"gū lu",薄命:"bó mìng",笼头:"lóng tóu",咽炎:"yān yán",碌碡:"liù zhou",片儿:"piàn er",纤手:"qiàn shǒu",散体:"sǎn tǐ",内省:"nèi xǐng",强留:"qiáng liú",解送:"jiè sòng",反间:"fǎn jiàn",少壮:"shào zhuàng",留空:"liú kōng",告假:"gào jià",咳血:"ké xuè",薄暮:"bó mù",铺轨:"pū guǐ",磨削:"mó xuē",治丧:"zhì sāng",叉子:"chā zi",哄动:"hōng dòng",蛾子:"é zi",出落:"chū luò",股长:"gǔ zhǎng",贵处:"guì chù",还魂:"huán hún",例假:"lì jià",刹住:"shā zhù",身量:"shēn liàng",同好:"tóng hào",模量:"mó liàng",更生:"gēng shēng",服丧:"fú sāng",率直:"shuài zhí",字模:"zì mú",散架:"sǎn jià",答腔:"dā qiāng",交恶:"jiāo wù",薄情:"bó qíng",眼泡:"yǎn pāo",袅娜:"niǎo nuó",草垛:"cǎo duò",冲劲:"chòng jìn",呢喃:"ní nán",切中:"qiè zhòng",挑灯:"tiǎo dēng",还愿:"huán yuàn",激将:"jī jiàng",更鼓:"gēng gǔ",没药:"mò yào",败兴:"bài xìng",切面:"qiē miàn",散户:"sǎn hù",累进:"lěi jìn",背带:"bēi dài",秤杆:"chèng gǎn",碾坊:"niǎn fáng",簿子:"bù zi",扳手:"bān shǒu",铅山:"yán shān",儒将:"rú jiàng",重光:"chóng guāng",剪发:"jiǎn fà",长上:"zhǎng shàng",小传:"xiǎo zhuàn",压轴:"yā zhòu",弱冠:"ruò guàn",花卷:"huā juǎn",横祸:"hèng huò",夹克:"jiā kè",光晕:"guāng yùn",披靡:"pī mǐ",对调:"duì diào",夹持:"jiā chí",空额:"kòng é",平调:"píng diào",铺床:"pū chuáng",丧钟:"sāng zhōng",作乐:"zuò lè",少府:"shào fǔ",数数:"shuò shuò",奔头:"bèn tou",进给:"jìn jǐ",率性:"shuài xìng",乐子:"lè zi",绑扎:"bǎng zā",挑唆:"tiǎo suō",漂洗:"piǎo xǐ",夹墙:"jiā qiáng",咳喘:"ké chuǎn",乜斜:"miē xie",错处:"cuò chù",闷酒:"mèn jiǔ",时调:"shí diào",重孙:"chóng sūn",经幢:"jīng chuáng",圩场:"xū chǎng",调门:"diào mén",花头:"huā tóu",划拉:"huá la",套色:"tào shǎi",粗率:"cū shuài",相率:"xiāng shuài",款识:"kuǎn zhì",吁请:"yù qǐng",荫蔽:"yīn bì",文蛤:"wén gé",嘀嗒:"dī dā",调取:"diào qǔ",交差:"jiāo chāi",落子:"luò zǐ",相册:"xiàng cè",絮叨:"xù dao",落发:"luò fà",异相:"yì xiàng",浸没:"jìn mò",角抵:"jué dǐ",卸载:"xiè zài",春卷:"chūn juǎn",扎挣:"zhá zheng",畜养:"xù yǎng",吡咯:"bǐ luò",垛子:"duò zi",恶少:"è shào",发际:"fà jì",红苕:"hóng sháo",糨糊:"jiàng hu",哭丧:"kū sāng",稍息:"shào xī",晕船:"yùn chuán",校样:"jiào yàng",外差:"wài chā",脚爪:"jiǎo zhǎo",铺展:"pū zhǎn",芫荽:"yán sui",夹紧:"jiā jǐn",尿泡:"suī pào",丧乱:"sāng luàn",凶相:"xiōng xiàng",华发:"huá fà",打场:"dǎ cháng",云量:"yún liàng",正切:"zhèng qiē",划拳:"huá quán",划艇:"huá tǐng",评传:"píng zhuàn",拉纤:"lā qiàn",句读:"jù dòu",散剂:"sǎn jì",骨殖:"gǔ shi",塞音:"sè yīn",铺叙:"pū xù",阏氏:"yān zhī",冷颤:"lěng zhàn",煞住:"shā zhù",少男:"shào nán",管乐:"guǎn yuè",号啕:"háo táo",纳降:"nà xiáng",拥塞:"yōng sè",万乘:"wàn shèng",杆儿:"gǎn ér",葛藤:"gé téng",簿籍:"bù jí",皮夹:"pí jiā",校准:"jiào zhǔn",允当:"yǔn dàng",器量:"qì liàng",选调:"xuǎn diào",扮相:"bàn xiàng",干才:"gàn cái",基干:"jī gàn",割切:"gē qiē",国乐:"guó yuè",卡壳:"qiǎ ké",辟谷:"bì gǔ",磨房:"mò fáng",咿呀:"yī yā",芥末:"jiè mo",薄技:"bó jì",产假:"chǎn jià",诗兴:"shī xìng",重出:"chóng chū",转椅:"zhuàn yǐ",酌量:"zhuó liang",簿册:"bù cè",藏青:"zàng qīng",的士:"dī shì",调人:"diào rén",解元:"jiè yuán",茎干:"jīng gàn",巨量:"jù liàng",榔头:"láng tou",率真:"shuài zhēn",喷香:"pèn xiāng",锁钥:"suǒ yuè",虾蟆:"há má",相图:"xiàng tú",兴会:"xìng huì",灶头:"zào tóu",重婚:"chóng hūn",钻洞:"zuān dòng",忖度:"cǔn duó",党参:"dǎng shēn",调温:"diào wēn",杆塔:"gān tǎ",葛布:"gé bù",拱券:"gǒng xuàn",夹生:"jiā shēng",露馅:"lòu xiàn",恰切:"qià qiè",散见:"sǎn jiàn",哨卡:"shào qiǎ",烫发:"tàng fà",体量:"tǐ liàng",挺括:"tǐng kuò",系带:"jì dài",相士:"xiàng shì",羊圈:"yáng juàn",转矩:"zhuàn jǔ",吧台:"bā tái",苍术:"cāng zhú",菲薄:"fěi bó",蛤蚧:"gé jiè",蛤蜊:"gé lí",瓜蔓:"guā wàn",怪相:"guài xiàng",临帖:"lín tiè",女红:"nǚ gōng",刨床:"bào chuáng",翘楚:"qiáo chǔ",数九:"shǔ jiǔ",谈兴:"tán xìng",雄劲:"xióng jìng",扎染:"zā rǎn",遮荫:"zhē yīn",周正:"zhōu zhèng",赚头:"zhuàn tou",扒手:"pá shǒu",搀和:"chān huo",诚朴:"chéng pǔ",肚量:"dù liàng",干结:"gān jié",工尺:"gōng chě",家累:"jiā lěi",曲水:"qū shuǐ",沙参:"shā shēn",挑花:"tiǎo huā",阿门:"ā mén",背篓:"bēi lǒu",瘪三:"biē sān",裁处:"cái chǔ",创痛:"chuāng tòng",福相:"fú xiàng",更动:"gēng dòng",豪兴:"háo xìng",还阳:"huán yáng",还嘴:"huán zuǐ",借调:"jiè diào",卷云:"juǎn yún",流弹:"liú dàn",想头:"xiǎng tou",削价:"xuē jià",校阅:"jiào yuè",雅量:"yǎ liàng",别传:"bié zhuàn",薄酒:"bó jiǔ",春假:"chūn jià",发妻:"fà qī",哗哗:"huā huā",宽绰:"kuān chuo",了悟:"liǎo wù",切花:"qiē huā",审度:"shěn duó",应许:"yīng xǔ",转台:"zhuàn tái",仔猪:"zǐ zhū",裁量:"cái liáng",藏戏:"zàng xì",乘兴:"chéng xìng",绸缪:"chóu móu",摧折:"cuī zhé",调经:"tiáo jīng",调职:"diào zhí",缝缀:"féng zhuì",骨朵:"gū duǒ",核儿:"hú er",恒量:"héng liàng",还价:"huán jià",浑朴:"hún pǔ",苦差:"kǔ chāi",面糊:"miàn hù",煞车:"shā chē",省视:"xǐng shì",什锦:"shí jǐn",信差:"xìn chāi",余切:"yú qiē",攒眉:"cuán méi",炸糕:"zhá gāo",钻杆:"zuàn gǎn",扒灰:"pá huī",拌和:"bàn huò",长调:"cháng diào",大溜:"dà liù",抖搂:"dǒu lōu",飞转:"fēi zhuàn",干仗:"gàn zhàng",好胜:"hào shèng",画片:"huà piàn",搅混:"jiǎo hún",螺杆:"luó gǎn",木模:"mù mú",怒号:"nù háo",频数:"pín shù",无宁:"wú níng",遗少:"yí shào",邮差:"yóu chāi",占卦:"zhān guà",占星:"zhān xīng",重审:"chóng shěn",自量:"zì liàng",调防:"diào fáng",发廊:"fà láng",反调:"fǎn diào",缝子:"fèng zi",更夫:"gēng fū",骨子:"gǔ zi",光杆:"guāng gǎn",夹棍:"jiā gùn",居丧:"jū sāng",巨贾:"jù gǔ",看押:"kān yā",空转:"kōng zhuàn",量力:"liàng lì",炮烙:"páo luò",赔还:"péi huán",扑扇:"pū shān",散记:"sǎn jì",散件:"sǎn jiàn",删削:"shān xuē",射干:"shè gàn",条几:"tiáo jī",偷空:"tōu kòng",削壁:"xuē bì",校核:"jiào hé",阴干:"yīn gān",择菜:"zhái cài",重九:"chóng jiǔ",主调:"zhǔ diào",自禁:"zì jīn",吧唧:"bā jī",便溺:"biàn niào",词调:"cí diào",叨咕:"dáo gu",落枕:"lào zhěn",铺砌:"pū qì",刷白:"shuà bái",委靡:"wěi mǐ",系泊:"xì bó",相马:"xiàng mǎ",熨帖:"yù tiē",转筋:"zhuàn jīn",棒喝:"bàng hè",傧相:"bīn xiàng",镐头:"gǎo tóu",间苗:"jiàn miáo",乐池:"yuè chí",卖相:"mài xiàng",屏弃:"bǐng qì",铅弹:"qiān dàn",切变:"qiē biàn",请调:"qǐng diào",群氓:"qún méng",散板:"sǎn bǎn",省察:"xǐng chá",事假:"shì jià",纤绳:"qiàn shéng",重影:"chóng yǐng",耕种:"gēng zhòng",种地:"zhòng dì",种菜:"zhòng cài",栽种:"zāi zhòng",接种:"jiē zhòng",垦种:"kěn zhòng",种殖:"zhòng zhí",种瓜:"zhòng guā",种豆:"zhòng dòu",种树:"zhòng shù",睡着:"shuì zháo",笼子:"lóng zi",重启:"chóng qǐ",重整:"chóng zhěng",重弹:"chóng tán",重足:"chóng zú",重山:"chóng shān",重游:"chóng yóu",重峦:"chóng luán",爷爷:"yé ye",奶奶:"nǎi nai",姥爷:"lǎo ye",爸爸:"bà ba",妈妈:"mā ma",婶婶:"shěn shen",舅舅:"jiù jiu",姑姑:"gū gu",叔叔:"shū shu",姨夫:"yí fu",舅母:"jiù mu",姑父:"gū fu",姐夫:"jiě fu",婆婆:"pó po",公公:"gōng gong",舅子:"jiù zi",姐姐:"jiě jie",哥哥:"gē ge",妹妹:"mèi mei",妹夫:"mèi fu",姨子:"yí zi",宝宝:"bǎo bao",娃娃:"wá wa",孩子:"hái zi",日子:"rì zi",样子:"yàng zi",狮子:"shī zi",身子:"shēn zi",架子:"jià zi",嫂子:"sǎo zi",鼻子:"bí zi",亭子:"tíng zi",折子:"zhé zi",面子:"miàn zi",脖子:"bó zi",辈子:"bèi zi",帽子:"mào zi",拍子:"pāi zi",柱子:"zhù zi",辫子:"biàn zi",鸽子:"gē zi",房子:"fáng zi",丸子:"wán zi",摊子:"tān zi",牌子:"pái zi",胡子:"hú zi",鬼子:"guǐ zi",矮子:"ǎi zi",鸭子:"yā zi",小子:"xiǎo zi",影子:"yǐng zi",屋子:"wū zi",对子:"duì zi",点子:"diǎn zi",本子:"běn zi",种子:"zhǒng zi",儿子:"ér zi",兔子:"tù zi",骗子:"piàn zi",院子:"yuàn zi",猴子:"hóu zi",嗓子:"sǎng zi",侄子:"zhí zi",柿子:"shì zi",钳子:"qián zi",虱子:"shī zi",瓶子:"píng zi",豹子:"bào zi",筷子:"kuài zi",篮子:"lán zi",绳子:"shéng zi",嘴巴:"zuǐ ba",耳朵:"ěr duo",茄子:"qié zi",蚌埠:"bèng bù",崆峒:"kōng tóng",琵琶:"pí pa",蘑菇:"mó gu",葫芦:"hú lu",狐狸:"hú li",桔子:"jú zi",盒子:"hé zi",桌子:"zhuō zi",竹子:"zhú zi",师傅:"shī fu",衣服:"yī fu",袜子:"wà zi",杯子:"bēi zi",刺猬:"cì wei",麦子:"mài zi",队伍:"duì wu",知了:"zhī liǎo",鱼儿:"yú er",馄饨:"hún tun",灯笼:"dēng long",庄稼:"zhuāng jia",聪明:"cōng ming",镜子:"jìng zi",银子:"yín zi",盘子:"pán zi",了却:"liǎo què",力气:"lì qi",席子:"xí zi",林子:"lín zi",朝霞:"zhāo xiá",朝夕:"zhāo xī",朝气:"zhāo qì",翅膀:"chì bǎng",省长:"shěng zhǎng",臧否:"zāng pǐ",否泰:"pǐ tài",变得:"biàn de",丈夫:"zhàng fu",豆腐:"dòu fu",笔杆:"bǐ gǎn",枞阳:"zōng yáng",行人:"xíng rén",打着:"dǎ zhe",第一:"dì yī",万一:"wàn yī",之一:"zhī yī",得之:"dé zhī",统一:"tǒng yī",唯一:"wéi yī",专一:"zhuān yī",单一:"dān yī",如一:"rú yī",其一:"qí yī",合一:"hé yī",逐一:"zhú yī",周一:"zhōu yī",初一:"chū yī",研一:"yán yī",归一:"guī yī",假一:"jiǎ yī",闻一:"wén yī",了了:"liǎo liǎo",公了:"gōng liǎo",私了:"sī liǎo",一月:"yī yuè",一号:"yī hào",一级:"yī jí",一等:"yī děng",一哥:"yī gē",月一:"yuè yī",一一:"yī yī",二一:"èr yī",三一:"sān yī",四一:"sì yī",五一:"wǔ yī",六一:"liù yī",七一:"qī yī",八一:"bā yī",九一:"jiǔ yī","一〇":"yī líng",一零:"yī líng",一二:"yī èr",一三:"yī sān",一四:"yī sì",一五:"yī wǔ",一六:"yī liù",一七:"yī qī",一八:"yī bā",一九:"yī jiǔ",一又:"yī yòu",一饼:"yī bǐng",一楼:"yī lóu",为例:"wéi lì",为准:"wéi zhǔn",沧海:"cāng hǎi",难为:"nán wéi",责难:"zé nàn",患难:"huàn nàn",磨难:"mó nàn",大难:"dà nàn",刁难:"diāo nàn",殉难:"xùn nàn",落难:"luò nàn",罹难:"lí nàn",灾难:"zāi nàn",难民:"nàn mín",苦难:"kǔ nàn",危难:"wēi nàn",发难:"fā nàn",逃难:"táo nàn",避难:"bì nàn",遇难:"yù nàn",阻难:"zǔ nàn",厄难:"è nàn",徇难:"xùn nàn",空难:"kōng nàn",喜欢:"xǐ huan",朝朝:"zhāo zhāo",不行:"bù xíng",轧轧:"yà yà",弯曲:"wān qū",扭曲:"niǔ qū",曲直:"qū zhí",委曲:"wěi qū",酒曲:"jiǔ qū",曲径:"qū jìng",曲解:"qū jiě",歪曲:"wāi qū",曲线:"qū xiàn",曲阜:"qū fù",九曲:"jiǔ qū",曲折:"qū zhé",曲肱:"qū gōng",曲意:"qū yì",仡佬:"gē lǎo"},tn=Object.keys(N).map(n=>({zh:n,pinyin:N[n],probability:2e-8,length:2,priority:t.Normal,dict:Symbol("dict2")})),v={为什么:"wèi shén me",实际上:"shí jì shang",检察长:"jiǎn chá zhǎng",干什么:"gàn shén me",这会儿:"zhè huì er",尽可能:"jǐn kě néng",董事长:"dǒng shì zhǎng",了不起:"liǎo bù qǐ",参谋长:"cān móu zhǎng",朝鲜族:"cháo xiǎn zú",海内外:"hǎi nèi wài",禁不住:"jīn bú zhù",柏拉图:"bó lā tú",不在乎:"bú zài hu",洛杉矶:"luò shān jī",有点儿:"yǒu diǎn er",迫击炮:"pǎi jī pào",不得了:"bù dé liǎo",马尾松:"mǎ wěi sōng",运输量:"yùn shū liàng",发脾气:"fā pí qi",士大夫:"shì dà fū",鸭绿江:"yā lù jiāng",压根儿:"yà gēn er",对得起:"duì de qǐ",那会儿:"nà huì er",自个儿:"zì gě er",物理量:"wù lǐ liàng",怎么着:"zěn me zhāo",明晃晃:"míng huǎng huǎng",节假日:"jié jià rì",心里话:"xīn lǐ huà",发行量:"fā xíng liàng",兴冲冲:"xìng chōng chōng",分子量:"fēn zǐ liàng",国子监:"guó zǐ jiàn",老大难:"lǎo dà nán",党内外:"dǎng nèi wài",这么着:"zhè me zhāo",少奶奶:"shào nǎi nai",暗地里:"àn dì lǐ",更年期:"gēng nián qī",工作量:"gōng zuò liàng",背地里:"bèi dì lǐ",山里红:"shān li hóng",好好儿:"hǎo hāo er",交响乐:"jiāo xiǎng yuè",好意思:"hǎo yì si",吐谷浑:"tǔ yù hún",没意思:"méi yì si",理发师:"lǐ fà shī",塔什干:"tǎ shí gān",充其量:"chōng qí liàng",靠得住:"kào de zhù",车行道:"chē xíng dào",人行道:"rén xíng dào",中郎将:"zhōng láng jiàng",照明弹:"zhào míng dàn",烟幕弹:"yān mù dàn",没奈何:"mò nài hé",乱哄哄:"luàn hōng hōng",惠更斯:"huì gēng sī",载重量:"zài zhòng liàng",瞧得起:"qiáo de qǐ",纪传体:"jì zhuàn tǐ",阿房宫:"ē páng gōng",卷心菜:"juǎn xīn cài",戏班子:"xì bān zi",过得去:"guò de qù",花岗石:"huā gāng shí",外甥女:"wài sheng nǚ",团团转:"tuán tuán zhuàn",大堡礁:"dà bǎo jiāo",燃烧弹:"rán shāo dàn",劳什子:"láo shí zi",摇滚乐:"yáo gǔn yuè",夹竹桃:"jiā zhú táo",闹哄哄:"nào hōng hōng",三连冠:"sān lián guàn",重头戏:"zhòng tóu xì",二人转:"èr rén zhuàn",节骨眼:"jiē gǔ yǎn",知识面:"zhī shi miàn",护士长:"hù shi zhǎng",信号弹:"xìn hào dàn",干电池:"gān diàn chí",枪杆子:"qiāng gǎn zi",哭丧棒:"kū sāng bàng",鼻咽癌:"bí yān ái",瓦岗军:"wǎ gāng jūn",买得起:"mǎi de qǐ",癞蛤蟆:"lài há ma",脊梁骨:"jǐ liang gǔ",子母弹:"zǐ mǔ dàn",开小差:"kāi xiǎo chāi",女强人:"nǚ qiáng rén",英雄传:"yīng xióng zhuàn",爵士乐:"jué shì yuè",说笑话:"shuō xiào hua",碰头会:"pèng tóu huì",玻璃钢:"bō li gāng",曳光弹:"yè guāng dàn",少林拳:"shào lín quán",咏叹调:"yǒng tàn diào",少先队:"shào xiān duì",灵长目:"líng zhǎng mù",对着干:"duì zhe gàn",蒙蒙亮:"méng méng liàng",软骨头:"ruǎn gǔ tou",铺盖卷:"pū gài juǎn",和稀泥:"huò xī ní",背黑锅:"bēi hēi guō",红彤彤:"hóng tōng tōng",武侯祠:"wǔ hóu cí",打哆嗦:"dǎ duō suo",户口簿:"hù kǒu bù",马尾藻:"mǎ wěi zǎo",夜猫子:"yè māo zi",打手势:"dǎ shǒu shì",龙王爷:"lóng wáng yé",气头上:"qì tóu shang",糊涂虫:"hú tu chóng",笔杆子:"bǐ gǎn zi",占便宜:"zhàn pián yi",打主意:"dǎ zhǔ yì",多弹头:"duō dàn tóu",露一手:"lòu yì shǒu",堰塞湖:"yàn sè hú",保得住:"bǎo de zhù",趵突泉:"bào tū quán",奥得河:"ào de hé",司务长:"sī wù zhǎng",禁不起:"jīn bù qǐ",什刹海:"shí chà hǎi",莲花落:"lián huā lào",见世面:"jiàn shì miàn",豁出去:"huō chū qù",电位差:"diàn wèi chā",挨个儿:"āi gè er",那阵儿:"nà zhèn er",肺活量:"fèi huó liàng",大师傅:"dà shī fu",掷弹筒:"zhì dàn tǒng",打呼噜:"dǎ hū lu",广渠门:"ān qú mén",未见得:"wèi jiàn dé",大婶儿:"dà shěn er",谈得来:"tán de lái",脚丫子:"jiǎo yā zi",空包弹:"kōng bāo dàn",窝里斗:"wō li dòu",弹着点:"dàn zhuó diǎn",个头儿:"gè tóu er",看得起:"kàn de qǐ",糊涂账:"hú tu zhàng",大猩猩:"dà xīng xing",禁得起:"jīn de qǐ",法相宗:"fǎ xiàng zōng",可怜相:"kě lián xiàng",吃得下:"chī de xià",汉堡包:"hàn bǎo bāo",闹嚷嚷:"nào rāng rāng",数来宝:"shǔ lái bǎo",合得来:"hé de lái",干性油:"gān xìng yóu",闷葫芦:"mèn hú lu",呱呱叫:"guā guā jiào",西洋参:"xī yáng shēn",林荫道:"lín yīn dào",拉家常:"lā jiā cháng",卷铺盖:"juǎn pū gài",过得硬:"guò de yìng",飞将军:"fēi jiāng jūn",挑大梁:"tiǎo dà liáng",哈巴狗:"hǎ ba gǒu",过家家:"guò jiā jiā",催泪弹:"cuī lèi dàn",雨夹雪:"yǔ jiā xuě",敲竹杠:"qiāo zhú gàng",列车长:"liè chē zhǎng",华达呢:"huá dá ní",犯得着:"fàn de zháo",土疙瘩:"tǔ gē da",煞风景:"shā fēng jǐng",轻量级:"qīng liàng jí",羞答答:"xiū dā dā",石子儿:"shí zǐ er",达姆弹:"dá mǔ dàn",科教片:"kē jiào piān",侃大山:"kǎn dà shān",丁点儿:"dīng diǎn er",吃得消:"chī de xiāo",捋虎须:"luō hǔ xū",高丽参:"gāo lí shēn",众生相:"zhòng shēng xiàng",咽峡炎:"yān xiá yán",禁得住:"jīn de zhù",吃得开:"chī de kāi",柞丝绸:"zuò sī chóu",应声虫:"yìng shēng chóng",数得着:"shǔ de zháo",傻劲儿:"shǎ jìn er",铅玻璃:"qiān bō li",可的松:"kě dì sōng",划得来:"huá de lái",晕乎乎:"yūn hū hū",屎壳郎:"shǐ ke làng",尥蹶子:"liào juě zi",藏红花:"zàng hóng huā",闷罐车:"mèn guàn chē",卡脖子:"qiǎ bó zi",红澄澄:"hóng deng deng",赶得及:"gǎn de jí",当间儿:"dāng jiàn er",露马脚:"lòu mǎ jiǎo",鸡内金:"jī nèi jīn",犯得上:"fàn de shàng",钉齿耙:"dīng chǐ bà",饱和点:"bǎo hé diǎn",龙爪槐:"lóng zhǎo huái",喝倒彩:"hè dào cǎi",定冠词:"dìng guàn cí",担担面:"dàn dan miàn",吃得住:"chī de zhù",爪尖儿:"zhuǎ jiān er",支着儿:"zhī zhāo er",折跟头:"zhē gēn tou",阴着儿:"yīn zhāo er",烟卷儿:"yān juǎn er",宣传弹:"xuān chuán dàn",信皮儿:"xìn pí er",弦切角:"xián qiē jiǎo",缩砂密:"sù shā mì",说得来:"shuō de lái",水漂儿:"shuǐ piāo er",耍笔杆:"shuǎ bǐ gǎn",数得上:"shǔ de shàng",数不着:"shǔ bù zháo",数不清:"shǔ bù qīng",什件儿:"shí jiàn er",生死簿:"shēng sǐ bù",扇风机:"shān fēng jī",撒呓挣:"sā yì zheng",日记簿:"rì jì bù",热得快:"rè de kuài",亲家公:"qìng jia gōng",奇函数:"jī hán shù",拍纸簿:"pāi zhǐ bù",努劲儿:"nǔ jìn er",泥娃娃:"ní wá wa",内切圆:"nèi qiē yuán",哪会儿:"nǎ huì er",闷头儿:"mēn tóu er",没谱儿:"méi pǔ er",铆劲儿:"mǎo jìn er",溜肩膀:"liū jiān bǎng",了望台:"liào wàng tái",老来少:"lǎo lái shào",坤角儿:"kūn jué er",考勤簿:"kǎo qín bù",卷笔刀:"juǎn bǐ dāo",进给量:"jìn jǐ liàng",划不来:"huá bù lái",汗褂儿:"hàn guà er",鼓囊囊:"gǔ nāng nāng",够劲儿:"gòu jìn er",公切线:"gōng qiē xiàn",搁得住:"gé de zhù",赶浪头:"gǎn làng tóu",赶得上:"gǎn de shàng",干酵母:"gān jiào mǔ",嘎渣儿:"gā zhā er",嘎嘣脆:"gā bēng cuì",对得住:"duì de zhù",逗闷子:"dòu mèn zi",顶呱呱:"dǐng guā guā",滴溜儿:"dī liù er",大轴子:"dà zhòu zi",打板子:"dǎ bǎn zi",寸劲儿:"cùn jìn er",醋劲儿:"cù jìn er",揣手儿:"chuāi shǒu er",冲劲儿:"chòng jìn er",吃得来:"chī de lái",不更事:"bù gēng shì",奔头儿:"bèn tou er",百夫长:"bǎi fū zhǎng",娃娃亲:"wá wa qīn",死劲儿:"sǐ jìn er",骨朵儿:"gū duǒ er",功劳簿:"gōng láo bù",都江堰:"dū jiāng yàn",一担水:"yí dàn shuǐ",否极泰:"pǐ jí tài",泰来否:"tài lái pǐ",咳特灵:"ké tè líng",开户行:"kāi hù háng",郦食其:"lì yì jī",花事了:"huā shì liǎo",一更更:"yì gēng gēng",一重山:"yì chóng shān",风一更:"fēng yì gēng",雪一更:"xuě yì gēng",归一码:"guī yì mǎ",星期一:"xīng qī yī",礼拜一:"lǐ bài yī",一季度:"yī jì dù",一月一:"yī yuè yī",一字马:"yī zì mǎ",一是一:"yī shì yī",一次方:"yī cì fāng",一阳指:"yī yáng zhǐ",一字决:"yī zì jué",一年级:"yī nián jí",一不做:"yī bú zuò",屈戌儿:"qū qu ér",难为水:"nán wéi shuǐ",难为情:"nán wéi qíng",行一行:"xíng yì háng",别别的:"biè bié de",干哪行:"gàn nǎ háng",干一行:"gàn yì háng",曲别针:"qū bié zhēn"},jn=Object.keys(v).map(n=>({zh:n,pinyin:v[n],probability:2e-8,length:3,priority:t.Normal,dict:Symbol("dict3")})),_={成吉思汗:"chéng jí sī hán",四通八达:"sì tōng bā dá",一模一样:"yì mú yí yàng",青藏高原:"qīng zàng gāo yuán",阿弥陀佛:"ē mí tuó fó",解放思想:"jiè fàng sī xiǎng",所作所为:"suǒ zuò suǒ wéi",迷迷糊糊:"mí mí hu hū",荷枪实弹:"hè qiāng shí dàn",兴高采烈:"xìng gāo cǎi liè",无能为力:"wú néng wéi lì",布鲁塞尔:"bù lǔ sài ěr",为所欲为:"wéi suǒ yù wéi",克什米尔:"kè shí mǐ ěr",没完没了:"méi wán méi liǎo",不为人知:"bù wéi rén zhī",结结巴巴:"jiē jiē bā bā",前仆后继:"qián pū hòu jì",铺天盖地:"pū tiān gài dì",直截了当:"zhí jié liǎo dàng",供不应求:"gōng bú yìng qiú",御史大夫:"yù shǐ dà fū",不为瓦全:"bù wéi wǎ quán",不可收拾:"bù kě shōu shi",胡作非为:"hú zuò fēi wéi",分毫不差:"fēn háo bú chà",模模糊糊:"mó mó hu hū",不足为奇:"bù zú wéi qí",悄无声息:"qiǎo wú shēng xī",了如指掌:"liǎo rú zhǐ zhǎng",深恶痛绝:"shēn wù tòng jué",高高兴兴:"gāo gāo xìng xìng",唉声叹气:"āi shēng tàn qì",汉藏语系:"hàn zàng yǔ xì",处心积虑:"chǔ xīn jī lǜ",泣不成声:"qì bù chéng shēng",半夜三更:"bàn yè sān gēng",失魂落魄:"shī hún luò pò",二十八宿:"èr shí bā xiù",转来转去:"zhuàn lái zhuàn qù",数以万计:"shǔ yǐ wàn jì",相依为命:"xiāng yī wéi mìng",恋恋不舍:"liàn liàn bù shě",屈指可数:"qū zhǐ kě shǔ",神出鬼没:"shén chū guǐ mò",结结实实:"jiē jiē shí shí",有的放矢:"yǒu dì fàng shǐ",叽哩咕噜:"jī lǐ gū lū",调兵遣将:"diào bīng qiǎn jiàng",载歌载舞:"zài gē zài wǔ",转危为安:"zhuǎn wēi wéi ān",踏踏实实:"tā tā shi shí",桑给巴尔:"sāng jǐ bā ěr",装模作样:"zhuāng mú zuò yàng",见义勇为:"jiàn yì yǒng wéi",相差无几:"xiāng chā wú jǐ",叹为观止:"tàn wéi guān zhǐ",闷闷不乐:"mèn mèn bú lè",喜怒哀乐:"xǐ nù āi lè",鲜为人知:"xiǎn wéi rén zhī",张牙舞爪:"zhāng yá wǔ zhǎo",为非作歹:"wéi fēi zuò dǎi",含糊其辞:"hán hú qí cí",疲于奔命:"pí yú bēn mìng",勉为其难:"miǎn wéi qí nán",依依不舍:"yī yī bù shě",顶头上司:"dǐng tóu shàng si",不着边际:"bù zhuó biān jì",大模大样:"dà mú dà yàng",寻欢作乐:"xún huān zuò lè",一走了之:"yì zǒu liǎo zhī",字里行间:"zì lǐ háng jiān",含含糊糊:"hán hán hu hū",恰如其分:"qià rú qí fèn",破涕为笑:"pò tì wéi xiào",深更半夜:"shēn gēng bàn yè",千差万别:"qiān chā wàn bié",数不胜数:"shǔ bú shèng shǔ",据为己有:"jù wéi jǐ yǒu",天旋地转:"tiān xuán dì zhuàn",养尊处优:"yǎng zūn chǔ yōu",玻璃纤维:"bō li xiān wéi",吵吵闹闹:"chāo chao nào nào",晕头转向:"yūn tóu zhuàn xiàng",土生土长:"tǔ shēng tǔ zhǎng",宁死不屈:"nìng sǐ bù qū",不省人事:"bù xǐng rén shì",尽力而为:"jìn lì ér wéi",精明强干:"jīng míng qiáng gàn",唠唠叨叨:"láo lao dāo dāo",叽叽喳喳:"jī ji zhā zhā",功不可没:"gōng bù kě mò",锲而不舍:"qiè ér bù shě",排忧解难:"pái yōu jiě nàn",稀里糊涂:"xī li hú tú",各有所长:"gè yǒu suǒ cháng",的的确确:"dí dí què què",哄堂大笑:"hōng táng dà xiào",听而不闻:"tīng ér bù wén",刀耕火种:"dāo gēng huǒ zhòng",内分泌腺:"nèi fèn mì xiàn",化险为夷:"huà xiǎn wéi yí",百发百中:"bǎi fā bǎi zhòng",重见天日:"chóng jiàn tiān rì",反败为胜:"fǎn bài wéi shèng",一了百了:"yì liǎo bǎi liǎo",大大咧咧:"dà da liē liē",心急火燎:"xīn jí huǒ liǎo",粗心大意:"cū xīn dà yi",鸡皮疙瘩:"jī pí gē da",夷为平地:"yí wéi píng dì",日积月累:"rì jī yuè lěi",设身处地:"shè shēn chǔ dì",投其所好:"tóu qí suǒ hào",间不容发:"jiān bù róng fà",人满为患:"rén mǎn wéi huàn",穷追不舍:"qióng zhuī bù shě",为时已晚:"wéi shí yǐ wǎn",如数家珍:"rú shǔ jiā zhēn",心里有数:"xīn lǐ yǒu shù",以牙还牙:"yǐ yá huán yá",神不守舍:"shén bù shǒu shě",孟什维克:"mèng shí wéi kè",各自为战:"gè zì wéi zhàn",怨声载道:"yuàn shēng zài dào",救苦救难:"jiù kǔ jiù nàn",好好先生:"hǎo hǎo xiān sheng",怪模怪样:"guài mú guài yàng",抛头露面:"pāo tóu lù miàn",游手好闲:"yóu shǒu hào xián",无所不为:"wú suǒ bù wéi",调虎离山:"diào hǔ lí shān",步步为营:"bù bù wéi yíng",好大喜功:"hào dà xǐ gōng",众矢之的:"zhòng shǐ zhī dì",长生不死:"cháng shēng bù sǐ",蔚为壮观:"wèi wéi zhuàng guān",不可胜数:"bù kě shèng shǔ",鬼使神差:"guǐ shǐ shén chāi",洁身自好:"jié shēn zì hào",敢作敢为:"gǎn zuò gǎn wéi",茅塞顿开:"máo sè dùn kāi",走马换将:"zǒu mǎ huàn jiàng",为时过早:"wéi shí guò zǎo",为人师表:"wéi rén shī biǎo",阴差阳错:"yīn chā yáng cuò",油腔滑调:"yóu qiāng huá diào",重蹈覆辙:"chóng dǎo fù zhé",骂骂咧咧:"mà ma liē liē",絮絮叨叨:"xù xù dāo dāo",如履薄冰:"rú lǚ bó bīng",损兵折将:"sǔn bīng zhé jiàng",拐弯抹角:"guǎi wān mò jiǎo",像模像样:"xiàng mú xiàng yàng",供过于求:"gōng guò yú qiú",开花结果:"kāi huā jiē guǒ",仔仔细细:"zǐ zǐ xì xì",川藏公路:"chuān zàng gōng lù",河北梆子:"hé běi bāng zi",长年累月:"cháng nián lěi yuè",正儿八经:"zhèng er bā jīng",不识抬举:"bù shí tái ju",重振旗鼓:"chóng zhèn qí gǔ",气息奄奄:"qì xī yān yān",紧追不舍:"jǐn zhuī bù shě",服服帖帖:"fú fu tiē tiē",强词夺理:"qiǎng cí duó lǐ",噼里啪啦:"pī li pā lā",人才济济:"rén cái jǐ jǐ",发人深省:"fā rén shēn xǐng",不足为凭:"bù zú wéi píng",为富不仁:"wéi fù bù rén",连篇累牍:"lián piān lěi dú",呼天抢地:"hū tiān qiāng dì",落落大方:"luò luò dà fāng",自吹自擂:"zì chuī zì léi",乐善好施:"lè shàn hào shī",以攻为守:"yǐ gōng wéi shǒu",磨磨蹭蹭:"mó mó cèng cèng",削铁如泥:"xuē tiě rú ní",助纣为虐:"zhù zhòu wéi nüè",以退为进:"yǐ tuì wéi jìn",嘁嘁喳喳:"qī qī chā chā",枪林弹雨:"qiāng lín dàn yǔ",令人发指:"lìng rén fà zhǐ",转败为胜:"zhuǎn bài wéi shèng",转弯抹角:"zhuǎn wān mò jiǎo",在劫难逃:"zài jié nán táo",正当防卫:"zhèng dàng fáng wèi",不足为怪:"bù zú wéi guài",难兄难弟:"nàn xiōng nàn dì",咿咿呀呀:"yī yī yā yā",弹尽粮绝:"dàn jìn liáng jué",阿谀奉承:"ē yú fèng chéng",稀里哗啦:"xī li huā lā",返老还童:"fǎn lǎo huán tóng",好高骛远:"hào gāo wù yuǎn",鹿死谁手:"lù sǐ shéi shǒu",差强人意:"chā qiáng rén yì",大吹大擂:"dà chuī dà léi",成家立业:"chéng jiā lì yè",自怨自艾:"zì yuàn zì yì",负债累累:"fù zhài lěi lěi",古为今用:"gǔ wéi jīn yòng",入土为安:"rù tǔ wéi ān",下不为例:"xià bù wéi lì",一哄而上:"yì hōng ér shàng",没头苍蝇:"méi tóu cāng ying",天差地远:"tiān chā dì yuǎn",风卷残云:"fēng juǎn cán yún",多灾多难:"duō zāi duō nàn",乳臭未干:"rǔ xiù wèi gān",行家里手:"háng jiā lǐ shǒu",狼狈为奸:"láng bèi wéi jiān",处变不惊:"chǔ biàn bù jīng",一唱一和:"yí chàng yí hè",一念之差:"yí niàn zhī chā",金蝉脱壳:"jīn chán tuō qiào",滴滴答答:"dī dī dā dā",硕果累累:"shuò guǒ léi léi",好整以暇:"hào zhěng yǐ xiá",红得发紫:"hóng de fā zǐ",传为美谈:"chuán wéi měi tán",富商大贾:"fù shāng dà gǔ",四海为家:"sì hǎi wéi jiā",了若指掌:"liǎo ruò zhǐ zhǎng",大有可为:"dà yǒu kě wéi",出头露面:"chū tóu lù miàn",鼓鼓囊囊:"gǔ gu nāng nāng",窗明几净:"chuāng míng jī jìng",泰然处之:"tài rán chǔ zhī",怒发冲冠:"nù fà chōng guān",有机玻璃:"yǒu jī bō li",骨头架子:"gǔ tou jià zi",义薄云天:"yì bó yún tiān",一丁点儿:"yī dīng diǎn er",时来运转:"shí lái yùn zhuǎn",陈词滥调:"chén cí làn diào",化整为零:"huà zhěng wéi líng",火烧火燎:"huǒ shāo huǒ liǎo",干脆利索:"gàn cuì lì suǒ",吊儿郎当:"diào er láng dāng",广种薄收:"guǎng zhòng bó shōu",种瓜得瓜:"zhòng guā dé guā",种豆得豆:"zhòng dòu dé dòu",难舍难分:"nán shě nán fēn",歃血为盟:"shà xuè wéi méng",奋发有为:"fèn fā yǒu wéi",阴错阳差:"yīn cuò yáng chā",东躲西藏:"dōng duǒ xī cáng",烟熏火燎:"yān xūn huǒ liǎo",钻牛角尖:"zuān niú jiǎo jiān",乔装打扮:"qiáo zhuāng dǎ bàn",改弦更张:"gǎi xián gēng zhāng",河南梆子:"hé nán bāng zi",好吃懒做:"hào chī lǎn zuò",何乐不为:"hé lè bù wéi",大出风头:"dà chū fēng tóu",攻城掠地:"gōng chéng lüè dì",漂漂亮亮:"piào piào liang liang",折衷主义:"zhé zhōng zhǔ yì",大马哈鱼:"dà mǎ hǎ yú",绿树成荫:"lǜ shù chéng yīn",率先垂范:"shuài xiān chuí fàn",家长里短:"jiā cháng lǐ duǎn",宽大为怀:"kuān dà wéi huái",左膀右臂:"zuǒ bǎng yòu bì",一笑了之:"yí xiào liǎo zhī",天下为公:"tiān xià wéi gōng",还我河山:"huán wǒ hé shān",何足为奇:"hé zú wéi qí",好自为之:"hǎo zì wéi zhī",风姿绰约:"fēng zī chuò yuē",大雨滂沱:"dà yǔ pāng tuó",传为佳话:"chuán wéi jiā huà",吃里扒外:"chī lǐ pá wài",重操旧业:"chóng cāo jiù yè",小家子气:"xiǎo jiā zi qì",少不更事:"shào bù gēng shì",难分难舍:"nán fēn nán shě",添砖加瓦:"tiān zhuān jiā wǎ",是非分明:"shì fēi fēn míng",舍我其谁:"shě wǒ qí shuí",偏听偏信:"piān tīng piān xìn",量入为出:"liàng rù wéi chū",降龙伏虎:"xiáng lóng fú hǔ",钢化玻璃:"gāng huà bō li",正中下怀:"zhèng zhòng xià huái",以身许国:"yǐ shēn xǔ guó",一语中的:"yì yǔ zhòng dì",丧魂落魄:"sàng hún luò pò",三座大山:"sān zuò dà shān",济济一堂:"jǐ jǐ yì táng",好事之徒:"hào shì zhī tú",干净利索:"gàn jìng lì suǒ",出将入相:"chū jiàng rù xiàng",袅袅娜娜:"niǎo niǎo nuó nuó",狐狸尾巴:"hú li wěi ba",好逸恶劳:"hào yì wù láo",大而无当:"dà ér wú dàng",打马虎眼:"dǎ mǎ hu yǎn",板上钉钉:"bǎn shàng dìng dīng",吆五喝六:"yāo wǔ hè liù",虾兵蟹将:"xiā bīng xiè jiàng",水调歌头:"shuǐ diào gē tóu",数典忘祖:"shǔ diǎn wàng zǔ",人事不省:"rén shì bù xǐng",曲高和寡:"qǔ gāo hè guǎ",屡教不改:"lǚ jiào bù gǎi",互为因果:"hù wéi yīn guǒ",互为表里:"hù wéi biǎo lǐ",厚此薄彼:"hòu cǐ bó bǐ",过关斩将:"guò guān zhǎn jiàng",疙疙瘩瘩:"gē ge dā dā",大腹便便:"dà fù pián pián",走为上策:"zǒu wéi shàng cè",冤家对头:"yuān jia duì tóu",有隙可乘:"yǒu xì kě chèng",一鳞半爪:"yì lín bàn zhǎo",片言只语:"piàn yán zhǐ yǔ",开花结实:"kāi huā jié shí",经年累月:"jīng nián lěi yuè",含糊其词:"hán hú qí cí",寡廉鲜耻:"guǎ lián xiǎn chǐ",成年累月:"chéng nián lěi yuè",不徇私情:"bú xùn sī qíng",不当人子:"bù dāng rén zǐ",膀大腰圆:"bǎng dà yāo yuán",指腹为婚:"zhǐ fù wéi hūn",这么点儿:"zhè me diǎn er",意兴索然:"yì xīng suǒ rán",绣花枕头:"xiù huā zhěn tou",无的放矢:"wú dì fàng shǐ",望闻问切:"wàng wén wèn qiè",舍己为人:"shě jǐ wèi rén",穷年累月:"qióng nián lěi yuè",排难解纷:"pái nàn jiě fēn",处之泰然:"chǔ zhī tài rán",指鹿为马:"zhǐ lù wéi mǎ",危如累卵:"wēi rú lěi luǎn",天兵天将:"tiān bīng tiān jiàng",舍近求远:"shě jìn qiú yuǎn",南腔北调:"nán qiāng běi diào",苦中作乐:"kǔ zhōng zuò lè",厚积薄发:"hòu jī bó fā",臭味相投:"xiù wèi xiāng tóu",长幼有序:"zhǎng yòu yǒu xù",逼良为娼:"bī liáng wéi chāng",悲悲切切:"bēi bēi qiè qiē",败军之将:"bài jūn zhī jiàng",欺行霸市:"qī háng bà shì",削足适履:"xuē zú shì lǚ",先睹为快:"xiān dǔ wéi kuài",啼饥号寒:"tí jī háo hán",疏不间亲:"shū bú jiàn qīn",神差鬼使:"shén chāi guǐ shǐ",敲敲打打:"qiāo qiāo dǎ dǎ",平铺直叙:"píng pū zhí xù",没头没尾:"méi tóu mò wěi",寥寥可数:"liáo liáo kě shǔ",哼哈二将:"hēng hā èr jiàng",鹤发童颜:"hè fà tóng yán",各奔前程:"gè bèn qián chéng",弹无虚发:"dàn wú xū fā",大人先生:"dà rén xiān sheng",与民更始:"yǔ mín gēng shǐ",树碑立传:"shù bēi lì zhuàn",是非得失:"shì fēi dé shī",实逼处此:"shí bī chǔ cǐ",塞翁失马:"sài wēng shī mǎ",日薄西山:"rì bó xī shān",切身体会:"qiè shēn tǐ huì",片言只字:"piàn yán zhǐ zì",跑马卖解:"pǎo mǎ mài xiè",宁折不弯:"nìng zhé bù wān",零零散散:"líng líng sǎn sǎn",量体裁衣:"liàng tǐ cái yī",连中三元:"lián zhòng sān yuán",礼崩乐坏:"lǐ bēng yuè huài",不为已甚:"bù wéi yǐ shèn",转悲为喜:"zhuǎn bēi wéi xǐ",以眼还眼:"yǐ yǎn huán yǎn",蔚为大观:"wèi wéi dà guān",未为不可:"wèi wéi bù kě",童颜鹤发:"tóng yán hè fà",朋比为奸:"péng bǐ wéi jiān",莫此为甚:"mò cǐ wéi shèn",夹枪带棒:"jiā qiāng dài bàng",富商巨贾:"fù shāng jù jiǎ",淡然处之:"dàn rán chǔ zhī",箪食壶浆:"dān shí hú jiāng",创巨痛深:"chuāng jù tòng shēn",草长莺飞:"cǎo zhǎng yīng fēi",坐视不救:"zuò shī bú jiù",以己度人:"yǐ jǐ duó rén",随行就市:"suí háng jiù shì",文以载道:"wén yǐ zài dào",文不对题:"wén bú duì tí",铁板钉钉:"tiě bǎn dìng dīng",身体发肤:"shēn tǐ fà fū",缺吃少穿:"quē chī shǎo chuān",目无尊长:"mù wú zūn zhǎng",吉人天相:"jí rén tiān xiàng",毁家纾难:"huǐ jiā shū nàn",钢筋铁骨:"gāng jīn tiě gǔ",丢卒保车:"diū zú bǎo jū",丢三落四:"diū sān là sì",闭目塞听:"bì mù sè tīng",削尖脑袋:"xuē jiān nǎo dài",为非作恶:"wéi fēi zuò è",人才难得:"rén cái nán dé",情非得已:"qíng fēi dé yǐ",切中要害:"qiè zhòng yào hài",火急火燎:"huǒ jí huǒ liǎo",画地为牢:"huà dì wéi láo",好酒贪杯:"hào jiǔ tān bēi",长歌当哭:"cháng gē dàng kū",载沉载浮:"zài chén zài fú",遇难呈祥:"yù nàn chéng xiáng",榆木疙瘩:"yú mù gē da",以邻为壑:"yǐ lín wéi hè",洋为中用:"yáng wéi zhōng yòng",言为心声:"yán wéi xīn shēng",言必有中:"yán bì yǒu zhòng",图穷匕见:"tú qióng bǐ xiàn",滂沱大雨:"páng tuó dà yǔ",目不暇给:"mù bù xiá jǐ",量才录用:"liàng cái lù yòng",教学相长:"jiào xué xiāng zhǎng",悔不当初:"huǐ bù dāng chū",呼幺喝六:"hū yāo hè liù",不足为训:"bù zú wéi xùn",不拘形迹:"bù jū xíng jī",傍若无人:"páng ruò wú rén",罪责难逃:"zuì zé nán táo",自我吹嘘:"zì wǒ chuī xū",转祸为福:"zhuǎn huò wéi fú",勇冠三军:"yǒng guàn sān jūn",易地而处:"yì dì ér chǔ",卸磨杀驴:"xiè mò shā lǘ",玩儿不转:"wán ér bú zhuàn",天道好还:"tiān dào hǎo huán",身单力薄:"shēn dān lì bó",撒豆成兵:"sǎ dòu chéng bīng",片纸只字:"piàn zhǐ zhī zì",宁缺毋滥:"nìng quē wú làn",没没无闻:"mò mò wú wén",量力而为:"liàng lì ér wéi",历历可数:"lì lì kě shǔ",口碑载道:"kǒu bēi zài dào",君子好逑:"jūn zǐ hǎo qiú",好为人师:"hào wéi rén shī",豪商巨贾:"háo shāng jù jiǎ",各有所好:"gè yǒu suǒ hào",度德量力:"duó dé liàng lì",指天为誓:"zhǐ tiān wéi shì",逸兴遄飞:"yì xìng chuán fēi",心宽体胖:"xīn kuān tǐ pán",为德不卒:"wéi dé bù zú",天下为家:"tiān xià wéi jiā",视为畏途:"shì wéi wèi tú",三灾八难:"sān zāi bā nàn",沐猴而冠:"mù hóu ér guàn",哩哩啦啦:"lī li lā lā",见缝就钻:"jiàn fèng jiù zuān",夹层玻璃:"jiā céng bō li",急公好义:"jí gōng hào yì",积年累月:"jī nián lěi yuè",划地为牢:"huá dì wéi láo",更名改姓:"gēng míng gǎi xìng",奉为圭臬:"fèng wéi guī niè",多难兴邦:"duō nàn xīng bāng",不破不立:"bú pò bú lì",坐地自划:"zuò dì zì huá",坐不重席:"zuò bù chóng xí",坐不窥堂:"zuò bù kuī táng",作嫁衣裳:"zuò jià yī shang",左枝右梧:"zuǒ zhī yòu wú",左宜右有:"zuǒ yí yòu yǒu",钻头觅缝:"zuān tóu mì fèng",钻天打洞:"zuān tiān dǎ dòng",钻皮出羽:"zuān pí chū yǔ",钻火得冰:"zuān huǒ dé bīng",钻洞觅缝:"zuàn dòng mì féng",钻冰求火:"zuān bīng qiú huǒ",子为父隐:"zǐ wéi fù yǐn",擢发难数:"zhuó fà nán shǔ",着人先鞭:"zhuó rén xiān biān",斫雕为朴:"zhuó diāo wéi pǔ",锥处囊中:"zhuī chǔ náng zhōng",椎心饮泣:"chuí xīn yǐn qì",椎心泣血:"chuí xīn qì xuè",椎牛飨士:"chuí niú xiǎng shì",椎牛歃血:"chuí niú shà xuè",椎牛发冢:"chuí niú fà zhǒng",椎埋屠狗:"chuí mái tú gǒu",椎埋狗窃:"chuí mái gǒu qiè",壮发冲冠:"zhuàng fā chōng guàn",庄严宝相:"zhuāng yán bǎo xiàng",转愁为喜:"zhuǎn chóu wéi xǐ",转嗔为喜:"zhuǎn chēn wéi xǐ",拽巷啰街:"zhuài xiàng luó jiē",拽耙扶犁:"zhuāi pá fú lí",拽布拖麻:"zhuài bù tuō má",箸长碗短:"zhù cháng wǎn duǎn",铸剑为犁:"zhù jiàn wéi lí",杼柚其空:"zhù yòu qí kōng",杼柚空虚:"zhù yòu kōng xū",助天为虐:"zhù tiān wéi nüè",属垣有耳:"zhǔ yuán yǒu ěr",属毛离里:"zhǔ máo lí lǐ",属辞比事:"zhǔ cí bǐ shì",逐物不还:"zhú wù bù huán",铢量寸度:"zhū liáng cùn duó",铢两悉称:"zhū liǎng xī chèn",侏儒观戏:"zhū rú guān xì",朱轓皁盖:"zhū fān zào gài",昼度夜思:"zhòu duó yè sī",诪张为幻:"zhōu zhāng wéi huàn",重明继焰:"chóng míng jì yàn",众啄同音:"zhòng zhuó tóng yīn",众毛攒裘:"zhòng máo cuán qiú",众好众恶:"zhòng hào zhòng wù",擿埴索涂:"zhāi zhí suǒ tú",稚齿婑媠:"zhì chǐ wǒ tuó",至当不易:"zhì dàng bú yì",指皂为白:"zhǐ zào wéi bái",指雁为羹:"zhǐ yàn wéi gēng",指树为姓:"zhǐ shù wéi xìng",指山说磨:"zhǐ shān shuō mò",止戈为武:"zhǐ gē wéi wǔ",枝干相持:"zhī gàn xiāng chí",枝大于本:"zh dà yú běn",支吾其词:"zhī wú qí cí",正身率下:"zhèng shēn shuài xià",正冠李下:"zhèng guàn lǐ xià",整冠纳履:"zhěng guān nà lǚ",整躬率物:"zhěng gōng shuài wù",整顿干坤:"zhěng dùn gàn kūn",针头削铁:"zhēn tóu xuē tiě",贞松劲柏:"zhēn sōng jìng bǎi",赭衣塞路:"zhě yī sè lù",折箭为誓:"shé jiàn wéi shì",折而族之:"zhé ér zú zhī",昭德塞违:"zhāo dé sè wéi",章句小儒:"zhāng jù xiǎo rú",湛恩汪濊:"zhàn ēn wāng huì",占风望气:"zhān fēng wàng qì",斩将搴旗:"zhǎn jiàng qiān qí",曾母投杼:"zēng mǔ tóu zhù",曾参杀人:"zēng shēn shā rén",造谣中伤:"zào yáo zhòng shāng",早占勿药:"zǎo zhān wù yào",凿龟数策:"záo guī shǔ cè",攒三聚五:"cuán sān jù wǔ",攒眉蹙额:"cuán mei cù é",攒零合整:"cuán líng hé zhěng",攒锋聚镝:"cuán fēng jù dí",载笑载言:"zài xiào zài yán",载酒问字:"zài jiǔ wèn zì",殒身不恤:"yǔn shēn bú xù",云舒霞卷:"yún shū xiá juǎn",月中折桂:"yuè zhōng shé guì",月落参横:"yuè luò shēn héng",鬻驽窃价:"yù nú qiè jià",鬻鸡为凤:"yù jī wéi fèng",遇难成祥:"yù nàn chéng xiáng",郁郁累累:"yù yù lěi lěi",玉卮无当:"yù zhī wú dàng",语笑喧阗:"yǔ xiào xuān tián",与世沉浮:"yǔ shì chén fú",与时消息:"yǔ shí xiāo xi",逾墙钻隙:"yú qiáng zuān xì",渔夺侵牟:"yú duó qīn móu",杅穿皮蠹:"yú chuān pí dù",余勇可贾:"yú yǒng kě gǔ",予智予雄:"yú zhì yú xióng",予取予求:"yú qǔ yú qiú",于家为国:"yú jiā wéi guó",有借无还:"yǒu jiè wú huán",有加无已:"yǒu jiā wú yǐ",有国难投:"yǒu guó nán tóu",游必有方:"yóu bì yǒu fāng",油干灯尽:"yóu gàn dēng jìn",尤云殢雨:"yóu yún tì yǔ",庸中皦皦:"yōng zhōng jiǎo jiǎo",郢书燕说:"yǐng shū yān shuō",营蝇斐锦:"yíng yíng fēi jǐn",鹰心雁爪:"yīng xīn yàn zhǎo",莺吟燕儛:"yīng yín yàn wǔ",应天顺时:"yīng tiān shùn shí",印累绶若:"yìn léi shòu ruò",隐占身体:"yǐn zhàn shēn tǐ",饮犊上流:"yìn dú shàng liú",引绳切墨:"yǐn shéng qiē mò",龈齿弹舌:"yín chǐ dàn shé",因缘为市:"yīn yuán wéi shì",因树为屋:"yīn shù wéi wū",溢美溢恶:"yì měi yì wù",抑塞磊落:"yì sè lěi luò",倚闾望切:"yǐ lǘ wàng qiē",以意为之:"yǐ yì wéi zhī",以言为讳:"yǐ yán wéi huì",以疏间亲:"yǐ shū jiàn qīn",以水济水:"yǐ shuǐ jǐ shuǐ",以书为御:"yǐ shū wéi yù",以守为攻:"yǐ shǒu wéi gōng",以升量石:"yǐ shēng liáng dàn",以慎为键:"yǐ shèn wéi jiàn",以筌为鱼:"yǐ quán wéi yú",以利累形:"yǐ lì lěi xíng",以毁为罚:"yǐ huǐ wéi fá",以黑为白:"yǐ hēi wéi bái",以规为瑱:"yǐ guī wéi tiàn",以古为鉴:"yǐ gǔ wéi jiàn",以宫笑角:"yǐ gōng xiào jué",以法为教:"yǐ fǎ wéi jiào",以大恶细:"yǐ dà wù xì",遗世忘累:"yí shì wàng lěi",遗寝载怀:"yí qǐn zài huái",移的就箭:"yí dì jiù jiàn",依头缕当:"yī tóu lǚ dàng",衣租食税:"yì zū shí shuì",衣轻乘肥:"yì qīng chéng féi",衣裳之会:"yī shang zhī huì",衣单食薄:"yī dān shí bó",一还一报:"yì huán yí bào",叶公好龙:"yè gōng hào lóng",野调无腔:"yě diào wú qiāng",瑶池女使:"yáo chí nǚ shǐ",幺麽小丑:"yāo mó xiǎo chǒu",养精畜锐:"yǎng jīng xù ruì",卬首信眉:"áng shǒu shēn méi",洋洋纚纚:"yáng yáng sǎ sǎ",羊羔美酒:"yáng gāo měi jiǔ",扬风扢雅:"yáng fēng jié yǎ",燕昭市骏:"yān zhāo shì jùn",燕昭好马:"yān zhāo hǎo mǎ",燕石妄珍:"yān shí wàng zhēn",燕骏千金:"yān jùn qiān jīn",燕金募秀:"yān jīn mù xiù",燕驾越毂:"yān jià yuè gǔ",燕歌赵舞:"yān gē zhào wǔ",燕岱之石:"yān dài zhī shí",燕处危巢:"yàn chǔ wēi cháo",掞藻飞声:"shàn zǎo fēi shēng",偃革为轩:"yǎn gé wéi xuān",妍蚩好恶:"yán chī hǎo è",压良为贱:"yā liáng wéi jiàn",搀行夺市:"chān háng duó shì",泣数行下:"qì shù háng xià",当行出色:"dāng háng chū sè",秀出班行:"xiù chū bān háng",儿女成行:"ér nǚ chéng háng",大行大市:"dà háng dà shì",寻行数墨:"xún háng shǔ mò",埙篪相和:"xūn chí xiāng hè",血债累累:"xuè zhài lěi lěi",炫玉贾石:"xuàn yù gǔ shí",炫石为玉:"xuàn shí wéi yù",悬石程书:"xuán dàn chéng shū",悬狟素飡:"xuán huán sù cān",悬龟系鱼:"xuán guī xì yú",揎拳捋袖:"xuān quán luō xiù",轩鹤冠猴:"xuān hè guàn hóu",畜妻养子:"xù qī yǎng zǐ",羞人答答:"xiū rén dā dā",修鳞养爪:"xiū lín yǎng zhǎo",熊据虎跱:"xióng jù hǔ zhì",兄死弟及:"xiōng sǐ dì jí",腥闻在上:"xīng wén zài shàng",兴文匽武:"xīng wén yǎn wǔ",兴观群怨:"xìng guān qún yuàn",兴高彩烈:"xìng gāo cǎi liè",心手相应:"xīn shǒu xiāng yìng",心口相应:"xīn kǒu xiāng yīng",挟势弄权:"xié shì nòng quán",胁肩累足:"xié jiān lěi zú",校短量长:"jiào duǎn liáng cháng",小眼薄皮:"xiǎo yǎn bó pí",硝云弹雨:"xiāo yún dàn yǔ",鸮鸣鼠暴:"xiāo míng shǔ bào",削株掘根:"xuē zhū jué gēn",削铁无声:"xuē tiě wú shēng",削职为民:"xuē zhí wéi mín",削木为吏:"xuē mù wéi lì",想望风褱:"xiǎng wàng fēng huái",香培玉琢:"xiang pei yu zhuó",相鼠有皮:"xiàng shǔ yǒu pí",相时而动:"xiàng shí ér dòng",相切相磋:"xiāng qiē xiāng cuō",相女配夫:"xiàng nǚ pèi fū",相门有相:"xiàng mén yǒu xiàng",挦章撦句:"xián zhāng chě jù",先我着鞭:"xiān wǒ zhuó biān",习焉不察:"xí yān bù chá",歙漆阿胶:"shè qī ē jiāo",晰毛辨发:"xī máo biàn fà",悉索薄赋:"xī suǒ bó fù",雾鳞云爪:"wù lín yún zhǎo",物稀为贵:"wù xī wéi guì",碔砆混玉:"wǔ fū hùn yù",武断专横:"wǔ duàn zhuān héng",五石六鹢:"wǔ shí liù yì",五色相宣:"wǔ sè xiāng xuān",五侯七贵:"wǔ hóu qī guì",五侯蜡烛:"wǔ hòu là zhú",五羖大夫:"wǔ gǔ dà fū",吾自有处:"wú zì yǒu chǔ",无下箸处:"wú xià zhù chǔ",无伤无臭:"wú shāng wú xiù",无能为役:"wú néng wéi yì",无寇暴死:"wú kòu bào sǐ",无孔不钻:"wú kǒng bú zuàn",无间可乘:"wú jiān kě chéng",无间冬夏:"wú jiān dōng xià",无恶不为:"wú è bù wéi",无动为大:"wú dòng wéi dà",诬良为盗:"wū liáng wéi dào",握拳透爪:"wò quán tòu zhǎo",文武差事:"wén wǔ chāi shì",委委佗佗:"wēi wēi tuó tuó",惟日为岁:"wéi rì wéi suì",帷薄不修:"wéi bó bù xiū",为善最乐:"wéi shàn zuì lè",为山止篑:"wéi shān zhǐ kuì",为仁不富:"wéi rén bú fù",为裘为箕:"wéi qiú wéi jī",为民父母:"wéi mín fù mǔ",为虺弗摧:"wéi huǐ fú cuī",为好成歉:"wéi hǎo chéng qiàn",为鬼为蜮:"wéi guǐ wéi yù",望风响应:"wàng fēng xiǎng yīng",望尘僄声:"wàng chén piào shēng",往渚还汀:"wǎng zhǔ huán tīng",王贡弹冠:"wáng gòng dàn guàn",亡国大夫:"wáng guó dà fū",万贯家私:"wàn guàn jiā sī",晚食当肉:"wǎn shí dàng ròu",晚节不保:"wǎn jié bù bǎo",玩岁愒时:"wán suì kài shí",蛙蟆胜负:"wā má shèng fù",吞言咽理:"tūn yán yàn lǐ",颓垣断堑:"tuí yuán duàn qiàn",推干就湿:"tuī gàn jiù shī",剸繁决剧:"tuán fán jué jù",团头聚面:"tuán tóu jù miàn",兔丝燕麦:"tù sī yàn mài",兔头麞脑:"tù tóu zhāng nǎo",兔葵燕麦:"tù kuí yàn mài",吐哺握发:"tǔ bǔ wò fà",投传而去:"tóu zhuàn ér qù",头没杯案:"tóu mò bēi àn",头昏脑闷:"tóu hūn nǎo mèn",头会箕敛:"tóu kuài jī liǎn",头出头没:"tóu chū tóu mò",痛自创艾:"tòng zì chuāng yì",同恶相助:"tóng wù xiāng zhù",同恶相恤:"tóng wù xiāng xù",痌瘝在抱:"tōng guān zài bào",通文调武:"tōng wén diào wǔ",停留长智:"tíng liú zhǎng zhì",铁树开华:"tiě shù kāi huā",条贯部分:"tiáo guàn bù fēn",挑牙料唇:"tiǎo yá liào chún",挑么挑六:"tiāo yāo tiāo liù",挑唇料嘴:"tiǎo chún liào zuǐ",恬不为意:"tián bù wéi yì",恬不为怪:"tián bù wéi guài",天下为笼:"tiān xià wéi lóng",天台路迷:"tiān tái lù mí",天年不遂:"tiān nián bú suì",探囊胠箧:"tàn náng qū qiè",谭言微中:"tán yán wēi zhòng",谈言微中:"tán yán wēi zhòng",狧穅及米:"shì kāng jí mǐ",随物应机:"suí wù yīng jī",搜岩采干:"sōu yán cǎi gàn",宋斤鲁削:"sòng jīn lǔ xuē",松筠之节:"sōng yún zhī jié",四亭八当:"sì tíng bā dàng",四马攒蹄:"sì mǎ cuán tí",四不拗六:"sì bú niù liù",思所逐之:"sī suǒ zhú zhī",丝恩发怨:"sī ēn fà yuàn",硕望宿德:"shuò wàng xiǔ dé",铄古切今:"shuò gǔ qiē jīn",顺风而呼:"shùn fēng ér hū",顺风吹火:"shùn fēng chuī huǒ",水中著盐:"shuǐ zhōng zhuó yán",双柑斗酒:"shuāng gān dǒu jiǔ",数米而炊:"shǔ mǐ ér chuī",数米量柴:"shǔ mǐ liáng chái",数理逻辑:"shù lǐ luó ji",数黑论黄:"shǔ hēi lùn huáng",数白论黄:"shǔ bái lùn huáng",束缊还妇:"shù yūn huán fù",束蒲为脯:"shù pú wéi pú",束椽为柱:"shù chuán wéi zhù",书缺有间:"shū quē yǒu jiàn",手足重茧:"shǒu zú chóng jiǎn",手足异处:"shǒu zú yì chǔ",手脚干净:"shǒu jiǎo gàn jìng",手不应心:"shǒu bù yīng xīn",螫手解腕:"shì shǒu jiě wàn",释知遗形:"shì zhī yí xíng",适时应务:"shì shí yīng wù",适情率意:"shì qíng shuài yì",适当其冲:"shì dāng qí chōng",视为知己:"shì wéi zhī jǐ",使羊将狼:"shǐ yáng jiàng láng",食为民天:"shí wéi mín tiān",拾掇无遗:"shí duō wú yí",实与有力:"shí yù yǒu lì",石英玻璃:"shí yīng bō li",石室金匮:"shí shì jīn guì",什袭珍藏:"shí xí zhēn cáng",什伍东西:"shí wǔ dōng xī",什围伍攻:"shí wéi wǔ gōng",十魔九难:"shí mó jiǔ nàn",诗书发冢:"shī shū fà zhǒng",虱处裈中:"shī chǔ kūn zhōng",师直为壮:"shī zhí wéi zhuàng",尸居龙见:"shī jū lóng xiàn",圣经贤传:"shèng jīng xián zhuàn",圣君贤相:"shèng jūn xián xiàng",生拖死拽:"shēng tuō sǐ zhuài",审己度人:"shěn jǐ duó rén",神武挂冠:"shén wǔ guà guàn",神龙失埶:"shén lóng shī shì",深文曲折:"shēn wén qǔ shé",深厉浅揭:"shēn lì qiǎn qì",深谷为陵:"shēn gǔ wéi líng",深恶痛疾:"shēn wù tòng jí",深仇宿怨:"shēn chóu xiǔ yuàn",舍己为公:"shě jǐ wèi gōng",舍短取长:"shě duǎn qǔ cháng",舍策追羊:"shě cè zhuī yáng",蛇蝎为心:"shé xiē wéi xīn",少成若性:"shào chéng ruò xìng",上当学乖:"shàng dàng xué guāi",赏不当功:"shǎng bù dāng gōng",善自为谋:"shàn zì wéi móu",善为说辞:"shàn wéi shuō cí",善善恶恶:"shàn shàn wù è",善财难舍:"shàn cái nán shě",苫眼铺眉:"shān yǎn pū méi",讪牙闲嗑:"shàn yá xián kē",山阴乘兴:"shān yīn chéng xīng",山殽野湋:"shān yáo yě wéi",山溜穿石:"shān liù chuān shí",山节藻棁:"shān jié zǎo zhuō",杀鸡为黍:"shā jī wéi shǔ",色厉胆薄:"sè lì dǎn bó",桑荫未移:"sāng yīn wèi yí",桑荫不徙:"sāng yīn bù xǐ",桑土绸缪:"sāng tǔ chóu miù",桑户棬枢:"sāng hù juàn shū",三战三北:"sān zhàn sān běi",三瓦两舍:"sān wǎ liǎng shě",三人为众:"sān rén wèi zhòng",三差两错:"sān chā liǎng cuò",塞井焚舍:"sāi jǐng fén shě",洒心更始:"sǎ xīn gèng shǐ",洒扫应对:"sǎ sǎo yìng duì",软红香土:"ruǎn hóng xiāng tǔ",入吾彀中:"rù wú gòu zhōng",入铁主簿:"rù tiě zhǔ bù",入理切情:"rù lǐ qiē qíng",汝成人耶:"rǔ chéng rén yé",如水投石:"rú shuǐ tóu shí",如切如磋:"rú qiē rú cuō",如登春台:"rú dēng chūn tái",肉薄骨并:"ròu bó gǔ bìng",柔情绰态:"róu qíng chuò tài",戎马劻勷:"róng mǎ kuāng ráng",日中为市:"rì zhōng wéi shì",日月参辰:"rì yuè shēn chén",日省月修:"rì xǐng yuè xiū",日削月割:"rì xuē yuè gē",日省月试:"rì xǐng yuè shì",任达不拘:"rèn dá bù jū",人言藉藉:"rén yán jí jí",人模狗样:"rén mú gǒu yàng",人莫予毒:"rén mò yú dú",热熬翻饼:"rè áo fān bǐng",圈牢养物:"juàn láo yǎng wù",取予有节:"qǔ yǔ yǒu jié",诎要桡腘:"qū yāo ráo guó",穷形尽相:"qióng xíng jìn xiàng",情凄意切:"qíng qī yì qiè",情见势屈:"qíng xiàn shì qū",情见乎辞:"qíng xiàn hū cí",清都绛阙:"qīng dōu jiàng què",倾肠倒肚:"qīng cháng dào dǔ",青紫被体:"qīng zǐ pī tǐ",青林黑塞:"qīng lín hēi sài",螓首蛾眉:"qín shǒu é méi",琴瑟之好:"qín sè zhī hào",且住为佳:"qiě zhù wéi jiā",切树倒根:"qiē shù dǎo gēn",切理餍心:"qiē lǐ yàn xīn",切近的当:"qiē jìn de dāng",翘足引领:"qiáo zú yǐn lǐng",巧发奇中:"qiǎo fā qí zhòng",强嘴拗舌:"jiàng zuǐ niù shé",强直自遂:"qiáng zhí zì suí",强死强活:"qiǎng sǐ qiǎng huó",强食自爱:"qiǎng shí zì ài",强食靡角:"qiǎng shí mí jiǎo",强弓劲弩:"qiáng gōng jìng nǔ",强聒不舍:"qiǎng guō bù shě",强凫变鹤:"qiáng fú biàn hè",强而后可:"qiǎng ér hòu kě",强得易贫:"qiǎng dé yì pín",遣兴陶情:"qiǎn xìng táo qíng",牵羊担酒:"qiān yáng dān jiǔ",千了百当:"qiān liǎo bǎi dàng",泣下如雨:"qì xià rú yǔ",起偃为竖:"qǐ yǎn wéi shù",岂弟君子:"kǎi tì jūn zǐ",綦溪利跂:"qí xī lì qí",棋输先著:"qí shū xiān zhuó",齐王舍牛:"qí wáng shě niú",欺天诳地:"qī tiān kuáng dì",普天率土:"pǔ tiān shuài tǔ",铺胸纳地:"pū xiōng nà dì",铺锦列绣:"pū jǐn liè xiù",破家为国:"pò jiā wèi guó",破觚为圜:"pò gū wéi yuán",萍飘蓬转:"píng piāo péng zhuàn",帡天极地:"píng tiān jí dì",屏声息气:"bǐng shēng xī qì",凭几据杖:"píng jī jù zhàng",贫嘴薄舌:"pín zuǐ bó shé",片语只辞:"piàn yǔ zhī cí",披发文身:"pī fà wén shēn",烹龙炮凤:"pēng lóng páo fèng",炰鳖脍鲤:"fǒu biē kuài lǐ",庞眉皓发:"páng méi hào fà",攀花折柳:"pān huā zhé liǔ",攀蟾折桂:"pān chán shé guì",女大难留:"nǚ dà nán liú",弄玉吹箫:"nòng yù chuī xiāo",弄管调弦:"nòng guǎn tiáo xián",弄粉调朱:"nòng fěn diào zhū",浓抹淡妆:"nóng mò dàn zhuāng",捻土为香:"niǎn tǔ wéi xiāng",年谊世好:"nián yì shì hǎo",年华垂暮:"nián huá chuí mù",儗不于伦:"nǐ bù yú lún",泥而不滓:"ní ér bù zǐ",能者为师:"néng zhě wéi shī",能不称官:"néng bú chèn guān",挠直为曲:"náo zhí wéi qū",难进易退:"nán jìn yì tuì",难得糊涂:"nán dé hú tú",南蛮鴂舌:"nán mán jué shé",南贩北贾:"nán fàn běi gǔ",牧猪奴戏:"mù zhū nú xì",目眢心忳:"mù yuān xīn tún",目挑心招:"mù tiǎo xīn zhāo",目量意营:"mù liàng yì yíng",木头木脑:"mù tóu mù nǎo",木干鸟栖:"mù gàn niǎo qī",侔色揣称:"móu sè chuǎi chèn",莫予毒也:"mò yú dú yě",抹粉施脂:"mò fěn shī zhī",磨砻镌切:"mó lóng juān qiē",磨棱刓角:"mó léng wán jiǎo",摸门不着:"mō mén bù zháo",摸不着边:"mō bù zhuó biān",命中注定:"mìng zhōng zhù dìng",鸣鹤之应:"míng hè zhī yìng",明效大验:"míng xiào dà yàn",名我固当:"míng wǒ gù dāng",邈处欿视:"miǎo chǔ kǎn shì",黾穴鸲巢:"měng xué qú cháo",绵里薄材:"mián lǐ bó cái",靡有孑遗:"mǐ yǒu jié yí",靡衣偷食:"mǐ yī tōu shí",迷恋骸骨:"mí liàn hái gǔ",扪参历井:"mén shēn lì jǐng",门单户薄:"mén dān hù bó",昧旦晨兴:"mèi dàn chén xīng",冒名接脚:"mào míng jiē jiǎo",毛遂堕井:"máo suí duò jǐng",毛发倒竖:"máo fā dǎo shù",卖文为生:"mài wén wéi shēng",卖李钻核:"mài lǐ zuān hé",买椟还珠:"mǎi dú huán zhū",埋三怨四:"mán sān yuàn sì",马入华山:"mǎ rù huá shān",落魄江湖:"luò pò jiāng hú",落落难合:"luò luò nán hé",落草为寇:"luò cǎo wéi kòu",罗织构陷:"luó zhī gòu xiàn",鸾凤和鸣:"luán fèng hè míng",率由旧章:"shuài yóu jiù zhāng",率土同庆:"shuài tǔ tóng qìng",率兽食人:"shuài shòu shí rén",率土归心:"shuài tǔ guī xīn",率马以骥:"shuài mǎ yǐ jì",率尔成章:"shuài ěr chéng zhāng",鲁斤燕削:"lǔ jīn yàn xuē",漏尽更阑:"lòu jìn gēng lán",笼鸟槛猿:"lóng niǎo jiàn yuán",笼鸟池鱼:"lóng niǎo chí yú",龙游曲沼:"lóng yóu qū zhǎo",龙血玄黄:"lóng xuè xuán huáng",龙雕凤咀:"lóng diāo fèng jǔ",六尺之讬:"liù chǐ zhī tuō",令原之戚:"líng yuán zhī qī",令人捧腹:"lìng rén pěng fù",陵劲淬砺:"líng jìng cuì lì",临敌易将:"lín dí yì jiàng",裂裳衣疮:"liè shang yī chuāng",裂冠毁冕:"liè guàn huǐ miǎn",了无惧色:"liǎo wú jù sè",了身达命:"liǎo shēn dá mìng",了然无闻:"liǎo rán wú wén",了不可见:"liǎo bù kě jiàn",了不长进:"liǎo bù zhǎng jìn",燎发摧枯:"liǎo fà cuī kū",审时度势:"shěn shí duó shì",量小力微:"liàng xiǎo lì wēi",相时度力:"xiāng shí duó lì",量枘制凿:"liàng ruì zhì záo",量如江海:"liàng rú jiāng hǎi",量金买赋:"liàng jīn mǎi fù",量己审分:"liàng jǐ shěn fēn",敛骨吹魂:"liǎn gǔ chuī hún",詈夷为跖:"lì yí wéi zhí",利令志惛:"lì lìng zhì hūn",李广不侯:"lǐ guǎng bú hòu",礼为情貌:"lǐ wéi qíng mào",礼让为国:"lǐ ràng wéi guó",犁生骍角:"lí shēng xīng jiǎo",离本徼末:"lí běn jiǎo mò",楞眉横眼:"léng méi hèng yǎn",擂天倒地:"léi tiān dǎo dì",累足成步:"lěi zú chéng bù",累瓦结绳:"lěi wǎ jié shéng",累土至山:"lěi tǔ zhì shān",累土聚沙:"lěi tǔ jù shā",累卵之危:"lěi luǎn zhī wēi",累累如珠:"lěi lěi rú zhū",累块积苏:"lěi kuài jī sū",乐山乐水:"lè shān lè shuǐ",潦原浸天:"lǎo yuán jìn tiān",老师宿儒:"lǎo shī xiǔ rú",牢什古子:"láo shí gǔ zi",琅嬛福地:"láng huán fú dì",揆情度理:"kuí qíng duó lǐ",旷日累时:"kuàng rì lěi shí",匡救弥缝:"kuāng jiù mí fèng",枯树生华:"kū shù shēng huā",口轻舌薄:"kǒu qīng shé bó",口角生风:"kǒu jiǎo shēng fēng",口角春风:"kǒu jiǎo chūn fēng",口角风情:"kǒu jiǎo fēng qíng",口干舌焦:"kǒu gān shé jiāo",口腹之累:"kǒu fù zhī lěi",空腹便便:"kōng fù pián pián",嗑牙料嘴:"kē yá liào zuǐ",刻木为鹄:"kè mù wéi hú",咳珠唾玉:"ké zhū tuò yù",咳唾成珠:"ké tuò chéng zhū",抗颜为师:"kàng yán wéi shī",开华结果:"kāi huā jié guǒ",峻阪盐车:"jùn bǎn yán chē",嚼铁咀金:"jiáo tiě jǔ jīn",嚼墨喷纸:"jué mò pēn zhǐ",倔头强脑:"juè tóu jiàng nǎo",倔头倔脑:"juè tóu juè nǎo",倦鸟知还:"juàn niǎo zhī huán",卷席而葬:"juǎn xí ér zàng",卷甲倍道:"juǎn jiǎ bèi dào",聚米为山:"jù mǐ wéi shān",举手相庆:"jǔ shǒu xiāng qìng",举世混浊:"jǔ shì hún zhuó",鞠为茂草:"jū wéi mào cǎo",拘神遣将:"jū shén qiǎn jiàng",居下讪上:"jū xià shàn shàng",久要不忘:"jiǔ yāo bú wàng",九转功成:"jiǔ zhuǎn gōng chéng",九蒸三熯:"jiǔ zhēng sān hàn",敬业乐群:"jìng yè lè qún",井底虾蟆:"jǐng dǐ xiā má",旌旗卷舒:"jīng qí juǎn shū",荆棘载途:"jīng jí zài tú",禁舍开塞:"jìn shě kāi sāi",祲威盛容:"jìn wēi shèng róng",进退消长:"jìn tuì xiāo cháng",进退应矩:"jìn tuì yīng jǔ",进退触籓:"jìn tuì chù fān",进退跋疐:"jìn tuì bá zhì",尽多尽少:"jǐn duō jǐn shǎo",锦囊还矢:"jǐn náng huán shǐ",矜己自饰:"jīn jǐ zì shì",矜功负气:"jīn gōng fù qì",津关险塞:"jīn guān xiǎn sài",金吾不禁:"jīn wú bú jìn",金翅擘海:"jīn chì bāi hǎi",解衣衣人:"jiě yī yī rén",解人难得:"jiě rén nán dé",解铃系铃:"jiě líng xì líng",解发佯狂:"jiě fà yáng kuáng",诘屈磝碻:"jié qū áo qiāo",教猱升木:"jiāo náo shēng mù",较瘦量肥:"jiào shòu liàng féi",角立杰出:"jiǎo lì jié chū",焦沙烂石:"jiāo shā làn shí",骄儿騃女:"jiāo ér sì nǚ",浇风薄俗:"jiāo fēng bó sú",降妖捉怪:"xiáng yāo zhuō guài",将取固予:"jiāng qǔ gù yǔ",将门有将:"jiàng mén yǒu jiàng",将夺固与:"jiāng duó gù yǔ",槛花笼鹤:"jiàn huā lóng hè",鉴影度形:"jiàn yǐng duó xíng",渐不可长:"jiàn bù kě zhǎng",见素抱朴:"xiàn sù bào pǔ",见弃于人:"jiàn qì yú rén",简丝数米:"jiǎn sī shǔ mǐ",俭不中礼:"jiǎn bú zhòng lǐ",间见层出:"jiàn xiàn céng chū",尖嘴薄舌:"jiān zuǐ bó shé",甲冠天下:"jiǎ guàn tiān xià",葭莩之亲:"jiā fú zhī qīn",家累千金:"jiā lèi qiān jīn",家给人足:"jiā jǐ rén zú",家道从容:"jiā dào cóng róng",夹袋人物:"jiā dài rén wù",霁风朗月:"jì fēng lǎng yuè",寄兴寓情:"jì xìng yù qíng",计深虑远:"jì shēn lǜ yuǎn",计功量罪:"jì gōng liàng zuì",掎裳连襼:"jǐ shang lián yì",虮虱相吊:"jǐ shī xiāng diào",疾不可为:"jí bù kě wéi",极深研几:"jí shēn yán jī",及宾有鱼:"jí bīn yǒu yú",激薄停浇:"jī bó tíng jiāo",积素累旧:"jī sù lěi jiù",积时累日:"jī shí lěi rì",积露为波:"jī lù wéi bō",积德累功:"jī dé lěi gōng",积谗糜骨:"jī chán méi gǔ",击排冒没:"jī pái mào mò",祸为福先:"huò wéi fú xiān",祸福相依:"huò fú xiāng yī",获隽公车:"huò jùn gōng chē",混应滥应:"hùn yīng làn yīng",毁舟为杕:"huǐ zhōu wéi duò",毁钟为铎:"huǐ zhōng wéi duó",毁冠裂裳:"huǐ guān liè cháng",晦盲否塞:"huì máng pǐ sè",回船转舵:"huí chuán zhuàn duò",潢池盗弄:"huáng chí dào nòng",黄冠草履:"huáng guàn cǎo lǚ",黄发儿齿:"huáng fà ér chǐ",黄发垂髫:"huáng fà chuí tiáo",还珠返璧:"huán zhū fǎn bì",还年驻色:"huán nián zhù sè",还年却老:"huán nián què lǎo",坏裳为裤:"huài shang wéi kù",画荻和丸:"huà dí huò wán",化枭为鸠:"huà xiāo wéi jiū",化腐为奇:"huà fǔ wéi qí",化鸱为凤:"huà chī wéi fèng",花不棱登:"huā bu lēng dēng",户限为穿:"hù xiàn wéi chuān",呼卢喝雉:"hū lú hè zhì",呼来喝去:"hū lái hè qù",呼不给吸:"hū bù jǐ xī",厚味腊毒:"hòu wèi xī dú",厚德载物:"hòu dé zài wù",鸿渐于干:"hóng jiàn yú gàn",洪炉燎发:"hóng lú liáo fà",红绳系足:"hóng shéng jì zú",红不棱登:"hóng bu lēng dēng",横抢硬夺:"hèng qiǎng yìng duó",横恩滥赏:"hèng ēn làn shǎng",恨海难填:"hèn hǎi nán tián",鹤发鸡皮:"hè fà jī pí",涸思干虑:"hé sī gān lǜ",河涸海干:"hé hé hǎi gān",和颜说色:"hé yán yuè sè",合从连衡:"hé zòng lián héng",浩浩汤汤:"hào hào shāng shāng",好勇斗狠:"hào yǒng dòu hěn",好问则裕:"hào wèn zé yù",好为事端:"hào wéi shì duān",好问决疑:"hào wèn jué yí",好生之德:"hào shēng zhī dé",好奇尚异:"hǎo qí shàng yì",好恶不同:"hǎo è bù tóng",好丹非素:"hào dān fēi sù",豪干暴取:"háo gàn bào qǔ",毫发不爽:"háo fà bù shuǎng",寒酸落魄:"hán suān luò pò",含英咀华:"hán yīng jǔ huá",含糊不明:"hán hú bù míng",过为已甚:"guò wéi yǐ shèn",桂折兰摧:"guì shé lán cuī",规旋矩折:"guī xuán jǔ shé",广文先生:"guǎng wén xiān sheng",广陵散绝:"guǎng líng sǎn jué",冠山戴粒:"guàn shān dài lì",冠屦倒施:"guàn jù dǎo shī",挂席为门:"guà xí wéi mén",寡见鲜闻:"guǎ jiàn xiǎn wén",瓜葛相连:"guā gé xiāng lián",鼓吻奋爪:"gǔ wěn fèn zhǎo",古调单弹:"gǔ diào dān tán",古调不弹:"gǔ diào bù tán",姑射神人:"gū yè shén rén",苟合取容:"gǒu hé qǔ róng",狗续侯冠:"gǒu xù hòu guàn",钩爪锯牙:"gōu zhǎo jù yá",共枝别干:"gòng zhī bié gàn",共为唇齿:"gòng wéi chún chǐ",拱手而降:"gǒng shǒu ér xiáng",拱肩缩背:"gǒng jiān suō bèi",功薄蝉翼:"gōng bó chán yì",弓调马服:"gōng diào mǎ fú",更姓改物:"gēng xìng gǎi wù",更仆难数:"gēng pú nán shǔ",更令明号:"gēng lìng míng hào",更待干罢:"gèng dài gàn bà",更唱迭和:"gēng chàng dié hé",更长梦短:"gēng cháng mèng duǎn",各色名样:"gè sè míng yàng",格格不纳:"gé gé bú nà",格格不吐:"gé gé bù tǔ",告朔饩羊:"gù shuò xì yáng",膏车秣马:"gào chē mò mǎ",高义薄云:"gāo yì bó yún",岗头泽底:"gāng tóu zé dǐ",敢为敢做:"gǎn wéi gǎn zuò",甘分随时:"gān fèn suí shí",甘处下流:"gān chǔ xià liú",干啼湿哭:"gàn tí shī kū",干名犯义:"gàn míng fàn yì",干将莫邪:"gān jiāng mò yé",干城之将:"gān chéng zhī jiàng",腹载五车:"fù zài wǔ chē",父债子还:"fù zhài zǐ huán",父为子隐:"fù wéi zǐ yǐn",辅世长民:"fǔ shì zhǎng mín",福为祸始:"fú wéi huò shǐ",符号逻辑:"fú hào luó jí",浮收勒折:"fú shōu lè shé",肤受之愬:"fū shòu zhī sù",否终则泰:"pǐ zhōng zé tài",佛头著粪:"fó tóu zhuó fèn",奉为楷模:"fèng wéi kǎi mó",凤靡鸾吪:"fèng mǐ luán é",封豨修蛇:"fēng xī xiū shé",风影敷衍:"fēng yǐng fū yǎn",丰屋蔀家:"fēng wū bù jiā",粪土不如:"fèn tǔ bù rú",分风劈流:"fēn fēng pǐ liú",沸沸汤汤:"fèi fèi shāng shāng",菲食薄衣:"fěi shí bó yī",飞将数奇:"fēi jiàng shù qí",放辟邪侈:"fàng pì xié chǐ",方领圆冠:"fāng lǐng yuán guàn",犯而不校:"fàn ér bú jiào",返本还源:"fǎn běn huán yuán",反劳为逸:"fǎn láo wéi yì",法轮常转:"fǎ lún cháng zhuàn",罚不当罪:"fá bù dāng zuì",发引千钧:"fà yǐn qiān jūn",发奸擿伏:"fā jiān tī fú",发短心长:"fà duǎn xīn cháng",二竖为虐:"èr shù wéi nüè",儿女心肠:"ér nǚ xīn cháng",儿女亲家:"ér nǚ qìng jiā",遏恶扬善:"è wù yáng shàn",饿殍枕藉:"è piǎo zhěn jí",饿殍载道:"è piǎo zài dào",恶醉强酒:"wù zuì qiǎng jiǔ",恶意中伤:"è yì zhòng shāng",恶湿居下:"wù shī jū xià",恶居下流:"wù jū xià liú",恶不去善:"wù bú qù shàn",扼吭夺食:"è háng duó shí",扼襟控咽:"è jīn kòng yān",峨峨汤汤:"é é shāng shāng",屙金溺银:"ē jīn niào yín",朵颐大嚼:"duǒ yí dà jiáo",夺人所好:"duó rén suǒ hào",多言数穷:"duō yán shuò qióng",多文为富:"duō wén wéi fù",多端寡要:"duō duān guǎ yào",多财善贾:"duō cái shàn gǔ",遁世无闷:"dùn shì wú mèn",遁迹黄冠:"dùn jì huáng guàn",堆案盈几:"duī àn yíng jī",断还归宗:"duàn huán guī zōng",短见薄识:"duǎn jiàn bó shí",蠹居棊处:"dù jū qí chǔ",度己以绳:"duó jǐ yǐ shéng",杜默为诗:"dù mò wéi shī",杜鹃啼血:"dù juān tí xuè",笃近举远:"dǔ jìn jǔ yuǎn",独有千秋:"dú yǒu qiān qiū",读书得间:"dú shū dé jiàn",斗转参横:"dǒu zhuǎn shēn héng",兜肚连肠:"dōu dǔ lián cháng",洞见症结:"dòng jiàn zhèng jié",恫疑虚喝:"dòng yí xū hè",动中窾要:"dòng zhōng kuǎn yào",东鸣西应:"dōng míng xī yīng",东鳞西爪:"dōng lín xī zhǎo",东量西折:"dōng liàng xī shé",东家西舍:"dōng jiā xī shè",东扯西拽:"dōng chě xī zhuāi",鼎铛有耳:"dǐng chēng yǒu ěr",鼎铛玉石:"dǐng chēng yù shí",钉头磷磷:"dīng tóu lín lín",跌宕不羁:"diē dàng bù jī",跌弹斑鸠:"diē dàn bān jiū",雕心雁爪:"diāo xīn yàn zhǎo",颠倒衣裳:"diān dǎo yī cháng",德薄能鲜:"dé bó néng xiǎn",得马折足:"dé mǎ shé zú",蹈其覆辙:"dǎo qí fù zhé",捣虚撇抗:"dǎo xū piē kàng",倒载干戈:"dào zài gān gē",倒裳索领:"dào cháng suǒ lǐng",倒果为因:"dào guǒ wéi yīn",叨在知己:"tāo zài zhī jǐ",叨陪末座:"tāo péi mò zuò",党豺为虐:"dǎng chái wéi nüè",当轴处中:"dāng zhóu chǔ zhōng",当着不着:"dāng zhuó bù zhuó",当务始终:"dāng wù shǐ zhōng",淡汝浓抹:"dàn rǔ nóng mǒ",弹丸脱手:"tán wán tuō shǒu",弹铗无鱼:"dàn jiá wú yú",箪食瓢饮:"dān sì piáo yǐn",大璞不完:"dà pú bù wán",大明法度:"dà míng fǎ dù",大车以载:"dà chē yǐ zài",打闷葫芦:"dǎ mèn hú lu",沓来踵至:"tà lái zhǒng zhì",厝火燎原:"cuò huǒ liǎo yuán",撮科打哄:"cuō kē dǎ hòng",寸积铢累:"cùn jī zhū lěi",啛啛喳喳:"cuì cuì chā chā",摧折豪强:"cuī zhé háo qiáng",摧刚为柔:"cuī gāng wéi róu",从俗就简:"cóng sú jiù jiǎn",此发彼应:"cǐ fā bǐ yīng",此唱彼和:"cǐ chàng bǐ hè",慈悲为本:"cí bēi wéi běn",纯属骗局:"chún shǔ piàn jú",春笋怒发:"chūn sǔn nù fā",垂头搨翼:"chuí tóu tà yì",传为笑谈:"chuán wéi xiào tán",传风扇火:"chuán fēng shān huǒ",穿红着绿:"chuān hóng zhuó lǜ",触处机来:"chù chǔ jī lái",处尊居显:"chǔ zūn jū xiǎn",处堂燕雀:"chǔ táng yàn què",处实效功:"chǔ shí xiào gōng",处高临深:"chǔ gāo lín shēn",出入无间:"chū rù wú jiān",出门应辙:"chū mén yīng zhé",出处语默:"chū chǔ yǔ mò",出处殊途:"chū chǔ shū tú",出处进退:"chū chǔ jìn tuì",愁山闷海:"chóu shān mèn hǎi",冲冠眦裂:"chōng guàn zì liè",齿牙为祸:"chǐ yá wéi huò",尺二冤家:"chǐ èr yuān jia",尺短寸长:"chǐ duǎn cùn cháng",尺寸之功:"chǐ cùn zhī gōng",城北徐公:"chéng běi xú gōng",成败兴废:"chéng bài xīng fèi",趁水和泥:"chèn shuǐ huò ní",称雨道晴:"chēng yǔ dào qíng",称体载衣:"chēng tǐ zài yī",称体裁衣:"chèn tǐ cái yī",称家有无:"chèn jiā yǒu wú",称德度功:"chēng dé duó gōng",沉吟章句:"chén yín zhāng jù",沉吟不决:"chén yín bù jué",沉疴宿疾:"chén kē sù jí",扯纤拉烟:"chě qiàn lā yān",扯顺风旗:"chě shùn fēng qí",车载船装:"chē zǎi chuán zhuāng",朝升暮合:"zhāo shēng mù gě",朝攀暮折:"zhāo pān mù shé",超今冠古:"chāo jīn guàn gǔ",倡而不和:"chàng ér bú hè",畅所欲为:"chàng suǒ yù wéi",苌弘碧血:"cháng hóng bì xiě",长幼尊卑:"zhǎng yòu zūn bēi",长绳系日:"cháng shéng jì rì",长年三老:"zhǎng nián sān lǎo",长春不老:"cháng chūn bù lǎo",长傲饰非:"zhǎng ào shì fēi",昌亭旅食:"chāng tíng lǚ shí",禅絮沾泥:"chán xù zhān ní",差三错四:"chā sān cuò sì",层台累榭:"céng tái lěi xiè",层见迭出:"céng xiàn dié chū",藏踪蹑迹:"cáng zōng niè jì",苍蝇见血:"cāng yíng jiàn xiě",餐松啖柏:"cān sōng dàn bó",骖风驷霞:"cān fēng sì xiá",参伍错综:"cēn wǔ cuò zōng",参辰卯酉:"shēn chén mǎo yǒu",材优干济:"cái yōu gān jǐ",材薄质衰:"cái bó zhì shuāi",才大难用:"cái dà nán yòng",才薄智浅:"cái bó zhì qiǎn",不足为意:"bù zú wéi yì",不足为据:"bù zú wéi jù",不足为法:"bù zú wéi fǎ",不足齿数:"bù zú chǐ shǔ",不着疼热:"bù zhuó téng rè",不知薡蕫:"bù zhī dǐng dǒng",不越雷池:"bú yuè léi chí",不相为谋:"bù xiāng wéi móu",不贪为宝:"bù tān wéi bǎo",不了而了:"bù liǎo ér liǎo",不可揆度:"bù kě kuí duó",不遑启处:"bù huáng qǐ chǔ",不当不正:"bù dāng bú zhèng",不差什么:"bú chà shén me",不差累黍:"bù chā lěi shǔ",擘两分星:"bò liǎng fēn xīng",簸土扬沙:"bǒ tǔ yáng shā",薄物细故:"bó wù xì gù",薄寒中人:"bó hán zhòng rén",博文约礼:"bó wén yuē lǐ",播糠眯目:"bō kāng mí mù",剥皮抽筋:"bō pí chōu jīn",剥肤椎髓:"bō fū chuí suǐ",波属云委:"bō zhǔ yún wěi",波骇云属:"bō hài yún zhǔ",兵微将寡:"bīng wēi jiàng guǎ",兵强将勇:"bīng qiáng jiàng yǒng",兵多将广:"bīng duō jiàng guǎng",兵不由将:"bīng bù yóu jiàng",冰解的破:"bīng jiě dì pò",彬彬济济:"bīn bīn jǐ jǐ",摽梅之年:"biào méi zhī nián",表里为奸:"biǎo lǐ wéi jiān",飙发电举:"biāo fā diàn jǔ",变贪厉薄:"biàn tān lì bó",敝盖不弃:"bì gài bú qì",秕言谬说:"bǐ yán miù shuō",比物属事:"bǐ wù zhǔ shì",被山带河:"pī shān dài hé",被甲枕戈:"pī jiǎ zhěn gē",被甲据鞍:"pī jiǎ jù ān",被褐怀玉:"pī hè huái yù",被发缨冠:"pī fà yīng guàn",背曲腰躬:"bèi qǔ yāo gōng",北窗高卧:"běi chuāng gāo wò",北辰星拱:"běi chén xīng gǒng",北鄙之音:"běi bǐ zhī yīn",卑宫菲食:"bēi gōng fěi shí",暴衣露冠:"pù yī lù guàn",暴腮龙门:"pù sāi lóng mén",暴露文学:"bào lù wén xué",暴虎冯河:"bào hǔ píng hé",抱蔓摘瓜:"bào wàn zhāi guā",抱法处势:"bào fǎ chǔ shì",褒贬与夺:"bāo biǎn yǔ duó",帮闲钻懒:"bāng xián zuān lǎn",拜将封侯:"bài jiàng fēng hóu",百兽率舞:"bǎi shòu shuài wǔ",百孔千创:"bǎi kǒng qiān chuāng",白衣卿相:"bái yī qīng xiàng",白首为郎:"bái shǒu wéi láng",白首相知:"bái shǒu xiāng zhī",把玩无厌:"bǎ wán wú yàn",拔锅卷席:"bá guō juǎn xí",拔本塞源:"bá běn sè yuán",傲不可长:"ào bù kě zhǎng",熬更守夜:"áo gēng shǒu yè",安时处顺:"ān shí chǔ shùn",安身为乐:"ān shēn wéi lè",安老怀少:"ān lǎo huái shào",安步当车:"ān bù dàng chē",爱人好士:"ài rén hào shì",矮人观场:"ǎi rén guān chǎng",捱风缉缝:"ái fēng jī fèng",挨山塞海:"āi shān sè hǎi",阿家阿翁:"ā jiā ā wēng",阿党相为:"ē dǎng xiāng wéi",追亡逐北:"zhuī wáng zhú běi",竹篮打水:"zhú lán dá shuǐ",知疼着热:"zhī téng zháo rè",语不惊人:"yǔ bù jīng rén",于今为烈:"yú jīn wéi liè",一日三省:"yí rì sān xǐng",穴居野处:"xué jū yě chǔ",五脊六兽:"wǔ jǐ liù shòu",无声无臭:"wú shēng wú xiù",谓予不信:"wèi yú bú xìn",舍身为国:"shě shēn wéi guó",杀妻求将:"shā qī qiú jiàng",强作解人:"qiǎng zuò jiě rén",气冲斗牛:"qì chōng dǒu niú",临深履薄:"lín shēn lǚ bó",钧天广乐:"jūn tiān guǎng yuè",艰难竭蹶:"jiān nán jié jué",夹七夹八:"jiā qī jiā bā",混混噩噩:"hún hún è è",厚古薄今:"hòu gǔ bó jīn",鬼怕恶人:"guǐ pà è rén",伽马射线:"gā mǎ shè xiàn",佛头着粪:"fó tóu zhuó fèn",奉为至宝:"fèng wéi zhì bǎo",登坛拜将:"dēng tán bài jiàng",晨昏定省:"chén hūn dìng xǐng",察察为明:"chá chá wéi míng",博闻强识:"bó wén qiáng zhì",避难就易:"bì nán jiù yì",了无生机:"liǎo wú shēng jī",有一说一:"yǒu yī shuō yī",独一无二:"dú yī wú èr",说一不二:"shuō yī bù èr",举一反三:"jǔ yī fǎn sān",数一数二:"shǔ yī shǔ èr",杀一儆百:"shā yī jǐng bǎi",丁一卯二:"dīng yī mǎo èr",丁一确二:"dīng yī què èr",不一而止:"bù yī ér zhǐ",无一幸免:"wú yī xìng miǎn",表里不一:"biǎo lǐ bù yī",良莠不一:"liáng yǒu bù yī",心口不一:"xīn kǒu bù yī",言行不一:"yán xíng bù yī",政令不一:"zhèng lìng bù yī",参差不一:"cēn cī bù yī",纷纷不一:"fēn fēn bù yī",毁誉不一:"huǐ yù bù yī",不一而三:"bù yī ér sān",百不一遇:"bǎi bù yī yù",言行抱一:"yán xíng bào yī",瑜百瑕一:"yú bǎi xiá yī",背城借一:"bèi chéng jiè yī",凭城借一:"píng chéng jiè yī",劝百讽一:"quàn bǎi fěng yī",群居和一:"qún jū hé yī",百不获一:"bǎi bù huò yī",百不失一:"bǎi bù shī yī",百无失一:"bǎi wú shī yī",万不失一:"wàn bù shī yī",万无失一:"wàn wú shī yī",合而为一:"hé ér wéi yī",合两为一:"hé liǎng wéi yī",合二为一:"hé èr wéi yī",天下为一:"tiān xià wéi yī",相与为一:"xiāng yǔ wéi yī",较若画一:"jiào ruò huà yī",较如画一:"jiào rú huà yī",斠若画一:"jiào ruò huà yī",言行若一:"yán xíng ruò yī",始终若一:"shǐ zhōng ruò yī",终始若一:"zhōng shǐ ruò yī",惟精惟一:"wéi jīng wéi yī",众多非一:"zhòng duō fēi yī",不能赞一:"bù néng zàn yī",问一答十:"wèn yī dá shí",一不扭众:"yī bù niǔ zhòng",一以贯之:"yī yǐ guàn zhī",一以当百:"yī yǐ dāng bǎi",百不当一:"bǎi bù dāng yī",十不当一:"shí bù dāng yī",以一警百:"yǐ yī jǐng bǎi",以一奉百:"yǐ yī fèng bǎi",以一持万:"yǐ yī chí wàn",以一知万:"yǐ yī zhī wàn",百里挑一:"bǎi lǐ tiāo yī",整齐划一:"zhěng qí huà yī",一来二去:"yī lái èr qù",一路公交:"yī lù gōng jiāo",一路汽车:"yī lù qì chē",一路巴士:"yī lù bā shì",朝朝朝落:"zhāo cháo zhāo luò",曲意逢迎:"qū yì féng yíng",一行不行:"yì háng bù xíng",行行不行:"háng háng bù xíng"},dn=Object.keys(_).map(n=>({zh:n,pinyin:_[n],probability:2e-8,length:4,priority:t.Normal,dict:Symbol("dict4")})),E={巴尔干半岛:"bā ěr gàn bàn dǎo",巴尔喀什湖:"bā ěr kā shí hú",不幸而言中:"bú xìng ér yán zhòng",布尔什维克:"bù ěr shí wéi kè",何乐而不为:"hé lè ér bù wéi",苛政猛于虎:"kē zhèng měng yú hǔ",蒙得维的亚:"méng dé wéi dì yà",民以食为天:"mín yǐ shí wéi tiān",事后诸葛亮:"shì hòu zhū gě liàng",物以稀为贵:"wù yǐ xī wéi guì",先下手为强:"xiān xià shǒu wéi qiáng",行行出状元:"háng háng chū zhuàng yuan",亚得里亚海:"yà dé lǐ yà hǎi",眼不见为净:"yǎn bú jiàn wéi jìng",竹筒倒豆子:"zhú tǒng dào dòu zi"},xn=Object.keys(E).map(n=>({zh:n,pinyin:E[n],probability:2e-8,length:5,priority:t.Normal,dict:Symbol("dict5")}));function A(n,i){return n&&(n.decimali.probability)?n:i}function R(n){n.probability<1e-300&&(n.probability*=1e300,n.decimal+=1)}function bn(n){return n.priority===t.Custom?-(n.length*n.length*100):n.priority===t.Surname?-(n.length*n.length*10):0}function en(n,i){const g=[];let h=n.length-1,u=n[h];for(let s=i-1;s>=0;s--){const z=s+1>=i?{probability:1,decimal:0,patterns:[]}:g[s+1];for(;u&&u.index+u.length-1===s;){const c=u.index,o={probability:u.probability*z.probability,decimal:z.decimal+bn(u),patterns:z.patterns,concatPattern:u};R(o),g[c]=A(g[c],o),u=n[--h]}const y={probability:1e-13*z.probability,decimal:0,patterns:z.patterns};R(y),g[s]=A(g[s],y),g[s].concatPattern&&(g[s].patterns=g[s].patterns.concat(g[s].concatPattern),g[s].concatPattern=void 0,delete g[s+1])}return g[0].patterns.reverse()}function $(n,i){return n&&n.count<=i.count?n:i}function rn(n){return n.priority===t.Custom?-(n.length*n.length*1e5):n.priority===t.Surname?-(n.length*n.length*100):1}function wn(n,i){const g=[];let h=n.length-1,u=n[h];for(let s=i-1;s>=0;s--){const z=s+1>=i?{count:0,patterns:[]}:g[s+1];for(;u&&u.index+u.length-1===s;){const c=u.index,o={count:rn(u)+z.count,patterns:z.patterns,concatPattern:u};g[c]=$(g[c],o),u=n[--h]}const y={count:1+z.count,patterns:z.patterns};g[s]=$(g[s],y),g[s].concatPattern&&(g[s].patterns=g[s].patterns.concat(g[s].concatPattern),g[s].concatPattern=void 0,delete g[s+1])}return g[0].patterns.reverse()}function fn(n,i){return!(i.index+i.length<=n.index||i.priority>n.priority||i.priority===n.priority&&i.length>n.length)}function qn(n){const i=[];for(let g=n.length-1;g>=0;){const{index:h}=n[g];let u=g-1;for(;u>=0&&fn(n[g],n[u]);)u--;(u<0||n[u].index+n[u].length<=h)&&i.push(n[g]),g=u}return i.reverse()}var L;(function(n){n[n.ReverseMaxMatch=1]="ReverseMaxMatch",n[n.MaxProbability=2]="MaxProbability",n[n.MinTokenization=3]="MinTokenization"})(L||(L={}));class W{constructor(i,g="",h=""){this.children=new Map,this.fail=null,this.patterns=[],this.parent=i,this.prefix=g,this.key=h}}class mn{constructor(){this.dictMap=new Map,this.queues=[],this.root=new W(null)}build(i){this.buildTrie(i),this.buildFailPointer()}buildTrie(i){for(let g of i){const h=k(g.zh);let u=this.root;for(let s=0;s{i=i.concat(h)}),this.queues=[];i.length>g;){let h=i[g++],u=h.parent&&h.parent.fail,s=h.key;for(;u&&!u.children.has(s);)u=u.fail;u?h.fail=u.children.get(s):h.fail=this.root}}addPatternToDictMap(i){this.dictMap.has(i.dict)||this.dictMap.set(i.dict,new Set),this.dictMap.get(i.dict).add(i)}addNodeToQueues(i){this.queues[d(i.prefix)]||(this.queues[d(i.prefix)]=[]),this.queues[d(i.prefix)].push(i)}insertPattern(i,g){for(let h=i.length-1;h>=0;h--){const u=i[h];if(g.priority===u.priority&&g.probability>=u.probability)i[h+1]=u;else if(g.priority>u.priority)i[h+1]=u;else{i[h+1]=g;return}}i[0]=g}removeDict(i){this.dictMap.has(i)&&(this.dictMap.get(i).forEach(h=>{h.node.patterns=h.node.patterns.filter(u=>u!==h)}),this.dictMap.delete(i))}match(i,g){let h=this.root,u=[];const s=k(i);for(let z=0;zg==="off"?l.priority!==t.Surname:g==="head"?l.length-1-z===0:!0);c&&u.push(Object.assign(Object.assign({},c),{index:z-c.length+1}));let o=h.fail;for(;o!==null;){const l=o.patterns.find(j=>g==="off"?j.priority!==t.Surname:g==="head"?j.length-1-z===0:!0);l&&u.push(Object.assign(Object.assign({},l),{index:z-l.length+1})),o=o.fail}}}return u}search(i,g,h=2){const u=this.match(i,g);return h===1?qn(u):h===3?wn(u,d(i)):en(u,d(i))}}const pn=[...xn,...dn,...jn,...tn,...un,...cn],B=new mn;B.build(pn);const an=new U,kn=()=>an,Pn=[];function Sn(){return Pn}const r=n=>{const i=e.get(n);return i?i.split(" ")[0]:n},Dn=n=>{const i=[],g=Sn();for(let h=0;h{const s=u?Dn(n):n,z=B.search(s,g,h);let y=0;const c=k(n);for(let o=0;on.replace(/(ā|á|ǎ|à)/g,"a").replace(/(ō|ó|ǒ|ò)/g,"o").replace(/(ē|é|ě|è)/g,"e").replace(/(ī|í|ǐ|ì)/g,"i").replace(/(ū|ú|ǔ|ù)/g,"u").replace(/(ǖ|ǘ|ǚ|ǜ)/g,"ü").replace(/(n̄|ń|ň|ǹ)/g,"n").replace(/(m̄|ḿ|m̌|m̀)/g,"m").replace(/(ê̄|ế|ê̌|ề)/g,"ê"),H=(n,i="off")=>{const g=kn();let h=e.get(n)?e.get(n).split(" "):[];if(g.get(n))h=g.get(n).split(" ");else if(i!=="off"){const u=P[n];u&&(h=[u].concat(h.filter(s=>s!==u)))}return h},Zn=(n,i="off")=>{let g=H(n,i);return g.length>0?g.map(h=>({origin:n,result:h,isZh:!0,originPinyin:h})):[{origin:n,result:n,isZh:!1,originPinyin:n}]},q=(n,i)=>{const g=n.split(" "),h=[],u=[];for(let s of g)for(let z of K)if(s.startsWith(z)){let y=s.slice(z.length);X.indexOf(z)!==-1&&Y.indexOf(y)!==-1&&(y=nn[y]),h.push(z),u.push(y);break}return i==="standard"&&h.forEach((s,z)=>{(s==="y"||s==="w")&&(h[z]="")}),{final:u.join(" "),initial:h.join(" ")}},f=n=>{const{final:i}=q(n);let g="",h="",u="";return gn.indexOf(m(i))!==-1?(g=i[0],h=i[1],u=i.slice(2)):(h=i[0]||"",u=i.slice(1)||""),{head:g,body:h,tail:u}},p=n=>{const i=/(ā|ō|ē|ī|ū|ǖ|n̄|m̄|ê̄)/,g=/(á|ó|é|í|ú|ǘ|ń|ḿ|ế)/,h=/(ǎ|ǒ|ě|ǐ|ǔ|ǚ|ň|m̌|ê̌)/,u=/(à|ò|è|ì|ù|ǜ|ǹ|m̀|ề)/,s=/(a|o|e|i|u|ü|ê)/,z=/(n|m)$/,y=[];return n.split(" ").forEach(o=>{i.test(o)?y.push("1"):g.test(o)?y.push("2"):h.test(o)?y.push("3"):u.test(o)?y.push("4"):s.test(o)||z.test(o)?y.push("0"):y.push("")}),y.join(" ")},Cn=(n,i)=>{const g=m(n).split(" "),h=p(i).split(" "),u=[];return g.forEach((s,z)=>{u.push(`${s}${h[z]}`)}),u.join(" ")},Q=(n,i)=>{const g=[];return n.split(" ").forEach(u=>{g.push(i?u[0]:u)}),g.join(" ")},Mn=n=>typeof n!="string"?(console.error("The first param of pinyin is error: "+n+' is not assignable to type "string".'),!1):!0;function a(n,i){return i instanceof RegExp?i.test(n):!0}const In=(n,i)=>{let g=i.nonZh;if(g==="removed")return n.filter(h=>h.isZh||!a(h.origin,i.nonZhScope));if(g==="consecutive"){for(let h=n.length-2;h>=0;h--){const u=n[h],s=n[h+1];!u.isZh&&!s.isZh&&a(u.origin,i.nonZhScope)&&a(s.origin,i.nonZhScope)&&(u.origin+=s.origin,u.result+=s.result,s.delete=!0)}return n.filter(h=>!h.delete)}else return n},O=(n,i)=>d(n)===1&&i.multiple?Zn(n,i.surname):!1,Nn=(n,i)=>{switch(i.pattern){case"pinyin":break;case"num":n.forEach(g=>{g.result=g.isZh?p(g.result):""});break;case"initial":n.forEach(g=>{g.result=g.isZh?q(g.result,i.initialPattern).initial:""});break;case"final":n.forEach(g=>{g.result=g.isZh?q(g.result,i.initialPattern).final:""});break;case"first":n.forEach(g=>{g.result=Q(g.result,g.isZh)});break;case"finalHead":n.forEach(g=>{g.result=g.isZh?f(g.result).head:""});break;case"finalBody":n.forEach(g=>{g.result=g.isZh?f(g.result).body:""});break;case"finalTail":n.forEach(g=>{g.result=g.isZh?f(g.result).tail:""});break}},vn=(n,i)=>{switch(i.toneType){case"symbol":break;case"none":n.forEach(g=>{g.isZh&&(g.result=m(g.result))});break;case"num":{n.forEach(g=>{g.isZh&&(g.result=Cn(g.result,g.originPinyin))});break}}},_n=(n,i)=>{i.v&&n.forEach(g=>{g.isZh&&(g.result=g.result.replace(/ü/g,typeof i.v=="string"?i.v:"v"))})},En=(n,i,g)=>{if(i.multiple&&d(g)===1){let h="";n=n.filter(u=>{const s=u.result!==h;return h=u.result,s})}return i.type==="array"?n.map(h=>h.result):i.type==="all"?n.map(h=>{const u=h.isZh?h.result:"",{initial:s,final:z}=q(u,i.initialPattern),{head:y,body:c,tail:o}=f(u);let l=[];return u!==""&&(l=[u].concat(H(h.origin,i.surname).filter(j=>j!==u))),{origin:h.origin,pinyin:u,initial:s,final:z,first:Q(h.result,h.isZh),finalHead:y,finalBody:c,finalTail:o,num:Number(p(h.originPinyin)),isZh:h.isZh,polyphonic:l,inZhRange:!!e.get(h.origin),result:h.result}}):n.map(h=>h.result).join(i.separator)},An=(n,i)=>(i===!1&&n.forEach(g=>{g.origin==="一"?g.result=g.originPinyin="yī":g.origin==="不"&&(g.result=g.originPinyin="bù")}),n),Rn={pattern:"pinyin",toneType:"symbol",type:"string",multiple:!1,mode:"normal",removeNonZh:!1,nonZh:"spaced",v:!1,separator:" ",toneSandhi:!0,segmentit:2};function $n(n,i){if(i=Object.assign(Object.assign({},Rn),i||{}),!Mn(n))return n;if(n==="")return i.type==="array"||i.type==="all"?[]:"";i.surname===void 0&&(i.mode==="surname"?i.surname="all":i.surname="off"),i.type==="all"&&(i.pattern="pinyin"),i.pattern==="num"&&(i.toneType="none"),i.removeNonZh&&(i.nonZh="removed");let h=Array(d(n)),{list:u}=Tn(n,h,i.surname,i.segmentit,i.traditional);return u=An(u,i.toneSandhi),u=In(u,i),O(n,i)&&(u=O(n,i)),Nn(u,i),vn(u,i),_n(u,i),En(u,i,n)}var S;(function(n){n[n.AllSegment=1]="AllSegment",n[n.AllArray=2]="AllArray",n[n.AllString=3]="AllString",n[n.PinyinSegment=4]="PinyinSegment",n[n.PinyinArray=5]="PinyinArray",n[n.PinyinString=6]="PinyinString",n[n.ZhSegment=7]="ZhSegment",n[n.ZhArray=8]="ZhArray",n[n.ZhString=9]="ZhString"})(S||(S={}));S.AllSegment;export{S as OutputFormat,f as getFinalParts,q as getInitialAndFinal,p as getNumOfTone,Sn as getTraditionalDict,$n as pinyin}; diff --git a/assets/sentry-BmncddYq.js b/assets/sentry-BmncddYq.js new file mode 100644 index 0000000..be9ff7b --- /dev/null +++ b/assets/sentry-BmncddYq.js @@ -0,0 +1 @@ +import{getVisitorId as s}from"./visitorId-CSigcYRT.js";import{i as l,b as i,r as c,f as u,s as g,a as f,g as p}from"./vendor-sentry-lCQUUJMT.js";import"./index-Bqe1gKo7.js";import"./vendor-vuetify-ChAgIwn2.js";import"./vendor-vue-H0jQBZ7T.js";let t=null;function k(a,o){l({app:a,dsn:"https://dc34ab47426f49c0925445f0d87b7007@report.houlang.cloud/6",sendDefaultPii:!0,integrations:[i({router:o}),c({maskAllText:!1,blockAllMedia:!1}),t=u({autoInject:!1,colorScheme:"system",showBranding:!1,showName:!0,showEmail:!0,isNameRequired:!1,isEmailRequired:!1,useSentryUser:{name:"username",email:"email"},themeDark:{submitBackground:"#6200EA",submitBackgroundHover:"#7C4DFF"},themeLight:{submitBackground:"#6200EA",submitBackgroundHover:"#7C4DFF"}})],tracesSampleRate:1,tracePropagationTargets:["localhost",/^https?:\/\/cs\.(houlang\.cloud|houlangs\.com)/],replaysSessionSampleRate:0,replaysOnErrorSampleRate:0,enableLogs:!0,beforeSend(e){return e}}),s().then(e=>{g({id:e,username:e}),f("fingerprint",e),console.log("Sentry 用户标识已设置:",e)}).catch(e=>{console.warn("设置 Sentry 用户标识失败:",e)}),window.openSentryFeedback=()=>{try{if(!t)return console.warn("Sentry Feedback integration 未初始化"),!1;if(typeof t.createWidget=="function"){const e=t.createWidget();if(e&&typeof e.open=="function")return e.open(),console.log("Sentry Feedback 对话框已打开"),!0}return typeof t.openDialog=="function"?(t.openDialog(),console.log("Sentry Feedback 对话框已打开"),!0):(console.warn("无法找到打开 Feedback 的方法"),console.log("可用方法:",Object.keys(t)),!1)}catch(e){return console.error("打开 Sentry Feedback 时出错:",e),!1}},window.startSentryReplay=()=>{try{const e=p();if(!e)return console.warn("Sentry 客户端未初始化"),!1;const r=(e.getOptions().integrations||[]).find(n=>n&&n.name==="Replay");return r&&typeof r.start=="function"?(r.start(),console.log("Sentry Replay 已手动启动"),!0):(console.warn("无法找到 Sentry Replay integration"),!1)}catch(e){return console.error("启动 Sentry Replay 时出错:",e),!1}}}export{k as initSentry}; diff --git a/assets/serverRotation-D840vVDL.js b/assets/serverRotation-CLP7smnN.js similarity index 93% rename from assets/serverRotation-D840vVDL.js rename to assets/serverRotation-CLP7smnN.js index 941ad96..7e46950 100644 --- a/assets/serverRotation-D840vVDL.js +++ b/assets/serverRotation-CLP7smnN.js @@ -1 +1 @@ -import{k as n}from"./index-CHEqx3ZK.js";const u=["https://kv-service.houlang.cloud","https://kv-service.wuyuan.dev"];function f(t){if(t==="classworkscloud")return[...u];const o=n("server.domain");return o?[o]:[]}async function p(t,o={}){const d=o.provider||n("server.provider"),i=o.onServerTried,a=typeof i=="function",v=f(d),r=[];let c=null;for(const s of v)try{r.push({url:s,status:"trying"}),a&&i({url:s,status:"trying",tried:[...r]});const e=await t(s);return r[r.length-1].status="success",a&&i({url:s,status:"success",tried:[...r]}),e}catch(e){c=e,r[r.length-1].status="failed",r[r.length-1].error=e.message||String(e),a&&i({url:s,status:"failed",error:e,tried:[...r]}),console.warn(`Server ${s} failed:`,e.message)}console.error("All servers failed. Tried:",r);const l=c||new Error("All servers failed");throw l.triedServers=r,l}function S(){return n("server.provider")==="classworkscloud"?u[0]:n("server.domain")||""}function h(){return n("server.provider")==="classworkscloud"}export{S as g,h as i,p as t}; +import{g as n}from"./index-Bqe1gKo7.js";const u=["https://kv-service.houlang.cloud","https://kv-service.wuyuan.dev"];function f(t){if(t==="classworkscloud")return[...u];const o=n("server.domain");return o?[o]:[]}async function p(t,o={}){const d=o.provider||n("server.provider"),i=o.onServerTried,a=typeof i=="function",v=f(d),r=[];let c=null;for(const s of v)try{r.push({url:s,status:"trying"}),a&&i({url:s,status:"trying",tried:[...r]});const e=await t(s);return r[r.length-1].status="success",a&&i({url:s,status:"success",tried:[...r]}),e}catch(e){c=e,r[r.length-1].status="failed",r[r.length-1].error=e.message||String(e),a&&i({url:s,status:"failed",error:e,tried:[...r]}),console.warn(`Server ${s} failed:`,e.message)}console.error("All servers failed. Tried:",r);const l=c||new Error("All servers failed");throw l.triedServers=r,l}function S(){return n("server.provider")==="classworkscloud"?u[0]:n("server.domain")||""}function h(){return n("server.provider")==="classworkscloud"}export{S as g,h as i,p as t}; diff --git a/assets/settings-CJNzJrPW.js b/assets/settings-CJNzJrPW.js new file mode 100644 index 0000000..da9069f --- /dev/null +++ b/assets/settings-CJNzJrPW.js @@ -0,0 +1,24 @@ +import{_ as qe,V as It}from"./MessageLog-Bk_BSM_5.js";import{_ as E,N as we,c as P,h as g,d as S,B as Ae,q as G,e as C,L as Ie,z as Xe,f as $e,O as et,g as y,v as ne,P as Tt,s as j,t as Q,l as f,j as M,k as x,i as A,r as Pe,Q as xe,w as Me,x as Ne,o as R,J as Se,p as $,V as tt,K as Ut,R as jt,T as Bt,U as nt,W as Nt,n as Re}from"./index-Bqe1gKo7.js";import{X as c,Y as p,Z as n,j as t,a1 as o,S as w,$ as v,ae as Ce,k as m,P as Pt,_ as k,m as ge,F,a2 as W,r as Mt,ac as ae,ad as fe,n as _e,o as Oe,b as q,aa as Et,D as zt,e as ke,a3 as Lt}from"./vendor-vue-H0jQBZ7T.js";import{V as z}from"./VChip-CPVASmWt.js";import{V as st}from"./VSwitch-C77LDPed.js";import{V as Ve}from"./VSelect-DC96rbwz.js";import{V as N}from"./VTextField-B7edjjhw.js";import{V as it,a as Kt}from"./VSheet-DHN9xqm_.js";import{d as H,b as Fe,a as Rt,o as Ot,k as Ft}from"./dataProvider-Dty8Zh7m.js";import{V as L,a as he}from"./VAlert-b5nBlHgx.js";import{V as Y,a as B}from"./VRow-C2iyFaHv.js";import{V as Ee}from"./VContainer-BHAiZEWc.js";import{a as De}from"./vendor-utils-DDRLRfsI.js";import{V as ie}from"./VCheckbox-DHAqPlv1.js";import{V as pe}from"./VTextarea-DiXZJMiq.js";import{s as Jt,a as Qt}from"./soundList-BZnE47k0.js";import{t as Ht,f as Gt,n as Wt,p as Yt,a0 as Zt}from"./vendor-vuetify-ChAgIwn2.js";import{V as lt}from"./VForm-CLdG1sH8.js";import{V as ze,a as Le,b as ot,c as Ke}from"./VExpansionPanels-C1X8gcBr.js";import{e as at,b as qt,a as Z}from"./VTabsWindowItem-D3P2Hofy.js";import{V as Je}from"./VCombobox-CmqRIcRE.js";import{V as Qe}from"./VCheckboxBtn-nWqvYDIO.js";import{i as Xt,t as $t}from"./serverRotation-CLP7smnN.js";import{getVisitorId as en}from"./visitorId-CSigcYRT.js";import{b as He,c as Ge,V as tn,a as nn}from"./VAppBarTitle-CKv90Z6x.js";import"./autofocus-Dh4QPNon.js";import"./VPagination-Dj4se6cS.js";const sn={name:"SettingsCard",props:{title:{type:String,required:!0},icon:{type:String,required:!0},loading:{type:Boolean,default:!1}}};function ln(s,e,a,r,i,l){return c(),p(C,{class:"settings-card rounded-lg",elevation:"2"},{default:n(()=>[t(we,null,{prepend:n(()=>[t(g,{icon:a.icon,class:"mr-2",size:"large"},null,8,["icon"])]),default:n(()=>[t(P,{class:"text-h6"},{default:n(()=>[o(w(a.title),1)]),_:1})]),_:1}),t(S,null,{default:n(()=>[a.loading?(c(),p(Ae,{key:0,class:"mb-4",color:"primary",indeterminate:""})):v("",!0),Ce(s.$slots,"default",{},void 0,!0)]),_:3}),s.$slots.actions?(c(),p(G,{key:0,class:"pa-4"},{default:n(()=>[Ce(s.$slots,"actions",{},void 0,!0)]),_:3})):v("",!0)]),_:3})}const K=E(sn,[["render",ln],["__scopeId","data-v-9c035df1"]]),on=[{text:"帝高阳之苗裔兮,朕皇考曰伯庸。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"摄提贞于孟陬兮,惟庚寅吾以降。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"皇览揆余初度兮,肇锡余以嘉名。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"名余曰正则兮,字余曰灵均。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"纷吾既有此内美兮,又重之以修能。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"扈江离与辟芷兮,纫秋兰以为佩。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"汩余若将不及兮,恐年岁之不吾与。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"朝搴阰之木兰兮,夕揽洲之宿莽。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"日月忽其不淹兮,春与秋其代序。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"惟草木之零落兮,恐美人之迟暮。(惟 通:唯)",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"不抚壮而弃秽兮,何不改此度?(改此度 一作:改乎此度)",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"乘骐骥以驰骋兮,来吾道夫先路!",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"昔三后之纯粹兮,固众芳之所在。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"杂申椒与菌桂兮,岂惟纫夫蕙茝!",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"彼尧舜之耿介兮,既遵道而得路。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"何桀纣之猖披兮,夫唯捷径以窘步。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"惟夫党人之偷乐兮,路幽昧以险隘。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"岂余身之惮殃兮,恐皇舆之败绩!",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"忽奔走以先后兮,及前王之踵武。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"荃不查余之中情兮,反信谗而齌怒。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"余固知謇謇之为患兮,忍而不能舍也。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"指九天以为正兮,夫唯灵修之故也。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"曰黄昏以为期兮,羌中道而改路!",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"初既与余成言兮,后悔遁而有他。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"余既不难夫离别兮,伤灵修之数化。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"余既滋兰之九畹兮,又树蕙之百亩。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"畦留夷与揭车兮,杂杜衡与芳芷。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"冀枝叶之峻茂兮,愿俟时乎吾将刈。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"虽萎绝其亦何伤兮,哀众芳之芜秽。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"众皆竞进以贪婪兮,凭不厌乎求索。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"羌内恕己以量人兮,各兴心而嫉妒。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"忽驰骛以追逐兮,非余心之所急。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"老冉冉其将至兮,恐修名之不立。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"朝饮木兰之坠露兮,夕餐秋菊之落英。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"苟余情其信姱以练要兮,长顑颔亦何伤。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"掔木根以结茝兮,贯薜荔之落蕊。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"矫菌桂以纫蕙兮,索胡绳之纚纚。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"謇吾法夫前修兮,非世俗之所服。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"虽不周于今之人兮,愿依彭咸之遗则。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"长太息以掩涕兮,哀民生之多艰。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"余虽好修姱以鞿羁兮,謇朝谇而夕替。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"既替余以蕙纕兮,又申之以揽茝。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"亦余心之所善兮,虽九死其犹未悔。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"怨灵修之浩荡兮,终不察夫民心。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"众女嫉余之蛾眉兮,谣诼谓余以善淫。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"固时俗之工巧兮,偭规矩而改错。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"背绳墨以追曲兮,竞周容以为度。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"忳郁邑余侘傺兮,吾独穷困乎此时也。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"宁溘死以流亡兮,余不忍为此态也。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"鸷鸟之不群兮,自前世而固然。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"何方圜之能周兮,夫孰异道而相安?",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"屈心而抑志兮,忍尤而攘诟。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"伏清白以死直兮,固前圣之所厚。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"悔相道之不察兮,延伫乎吾将反。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"回朕车以复路兮,及行迷之未远。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"步余马于兰皋兮,驰椒丘且焉止息。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"进不入以离尤兮,退将复修吾初服。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"制芰荷以为衣兮,集芙蓉以为裳。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"不吾知其亦已兮,苟余情其信芳。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"高余冠之岌岌兮,长余佩之陆离。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"芳与泽其杂糅兮,唯昭质其犹未亏。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"忽反顾以游目兮,将往观乎四荒。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"佩缤纷其繁饰兮,芳菲菲其弥章。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"民生各有所乐兮,余独好修以为常。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"虽体解吾犹未变兮,岂余心之可惩。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"女媭之婵媛兮,申申其詈予,曰:",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"鲧婞直以亡身兮,终然夭乎羽之野。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"汝何博謇而好修兮,纷独有此姱节?",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"薋菉葹以盈室兮,判独离而不服。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"众不可户说兮,孰云察余之中情?",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"世并举而好朋兮,夫何茕独而不予听?",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"依前圣以节中兮,喟凭心而历兹。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"济沅湘以南征兮,就重华而陈词:",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"启《九辩》与《九歌》兮,夏康娱以自纵。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"不顾难以图后兮,五子用失乎家衖。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"羿淫游以佚畋兮,又好射夫封狐。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"固乱流其鲜终兮,浞又贪夫厥家。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"浇身被服强圉兮,纵欲而不忍。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"日康娱而自忘兮,厥首用夫颠陨。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"夏桀之常违兮,乃遂焉而逢殃。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"后辛之菹醢兮,殷宗用而不长。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"汤禹俨而祗敬兮,周论道而莫差。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"举贤才而授能兮,循绳墨而不颇。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"皇天无私阿兮,览民德焉错辅。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"夫维圣哲以茂行兮,苟得用此下土。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"瞻前而顾后兮,相观民之计极。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"夫孰非义而可用兮?孰非善而可服?",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"阽余身而危死兮,览余初其犹未悔。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"不量凿而正枘兮,固前修以菹醢。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"曾歔欷余郁邑兮,哀朕时之不当。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"揽茹蕙以掩涕兮,沾余襟之浪浪。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"跪敷衽以陈辞兮,耿吾既得此中正。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"驷玉虬以椉鹥兮,溘埃风余上征。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"朝发轫于苍梧兮,夕余至乎县圃。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"欲少留此灵琐兮,日忽忽其将暮。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"吾令羲和弭节兮,望崦嵫而勿迫。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"路曼曼其修远兮,吾将上下而求索。(曼曼 一作:漫漫)",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"饮余马于咸池兮,总余辔乎扶桑。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"折若木以拂日兮,聊逍遥以相羊。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"前望舒使先驱兮,后飞廉使奔属。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"鸾皇为余先戒兮,雷师告余以未具。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"吾令凤鸟飞腾兮,继之以日夜。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"飘风屯其相离兮,帅云霓而来御。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"纷总总其离合兮,斑陆离其上下。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"吾令帝阍开关兮,倚阊阖而望予。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"时暧暧其将罢兮,结幽兰而延伫。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"世溷浊而不分兮,好蔽美而嫉妒。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"朝吾将济于白水兮,登阆风而绁马。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"忽反顾以流涕兮,哀高丘之无女。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"溘吾游此春宫兮,折琼枝以继佩。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"及荣华之未落兮,相下女之可诒。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"吾令丰隆乘云兮,求宓妃之所在。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"解佩纕以结言兮,吾令謇修以为理。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"纷总总其离合兮,忽纬繣其难迁。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"夕归次于穷石兮,朝濯发乎洧盘。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"保厥美以骄傲兮,日康娱以淫游。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"虽信美而无礼兮,来违弃而改求。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"览相观于四极兮,周流乎天余乃下。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"望瑶台之偃蹇兮,见有娀之佚女。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"吾令鸩为媒兮,鸩告余以不好。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"雄鸠之鸣逝兮,余犹恶其佻巧。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"心犹豫而狐疑兮,欲自适而不可。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"凤皇既受诒兮,恐高辛之先我。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"欲远集而无所止兮,聊浮游以逍遥。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"及少康之未家兮,留有虞之二姚。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"理弱而媒拙兮,恐导言之不固。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"世溷浊而嫉贤兮,好蔽美而称恶。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"闺中既以邃远兮,哲王又不寤。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"怀朕情而不发兮,余焉能忍而与此终古?",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"索琼茅以筳篿兮,命灵氛为余占之。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"曰:两美其必合兮,孰信修而慕之?",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"思九州之博大兮,岂惟是其有女?",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"曰:勉远逝而无狐疑兮,孰求美而释女?",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"何所独无芳草兮,尔何怀乎故宇?",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"世幽昧以昡曜兮,孰云察余之善恶?",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"民好恶其不同兮,惟此党人其独异!",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"户服艾以盈要兮,谓幽兰其不可佩。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"览察草木其犹未得兮,岂珵美之能当?",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"苏粪壤以充帏兮,谓申椒其不芳。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"欲从灵氛之吉占兮,心犹豫而狐疑。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"巫咸将夕降兮,怀椒糈而要之。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"百神翳其备降兮,九疑缤其并迎。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"皇剡剡其扬灵兮,告余以吉故。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"曰:勉升降以上下兮,求矩矱之所同。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"汤禹俨而求合兮,挚咎繇而能调。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"苟中情其好修兮,又何必用夫行媒?",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"说操筑于傅岩兮,武丁用而不疑。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"吕望之鼓刀兮,遭周文而得举。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"宁戚之讴歌兮,齐桓闻以该辅。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"及年岁之未晏兮,时亦犹其未央。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"恐鹈鴂之先鸣兮,使夫百草为之不芳。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"何琼佩之偃蹇兮,众薆然而蔽之。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"惟此党人之不谅兮,恐嫉妒而折之。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"时缤纷其变易兮,又何可以淹留?",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"兰芷变而不芳兮,荃蕙化而为茅。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"何昔日之芳草兮,今直为此萧艾也?",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"岂其有他故兮,莫好修之害也!",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"余以兰为可恃兮,羌无实而容长。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"委厥美以从俗兮,苟得列乎众芳。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"椒专佞以慢慆兮,樧又欲充夫佩帏。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"既干进而务入兮,又何芳之能祗?",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"固时俗之流从兮,又孰能无变化?",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"览椒兰其若兹兮,又况揭车与江离?",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"惟兹佩之可贵兮,委厥美而历兹。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"芳菲菲而难亏兮,芬至今犹未沬。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"和调度以自娱兮,聊浮游而求女。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"及余饰之方壮兮,周流观乎上下。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"灵氛既告余以吉占兮,历吉日乎吾将行。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"折琼枝以为羞兮,精琼爢以为粻。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"为余驾飞龙兮,杂瑶象以为车。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"何离心之可同兮?吾将远逝以自疏。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"邅吾道夫昆仑兮,路修远以周流。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"扬云霓之晻蔼兮,鸣玉鸾之啾啾。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"朝发轫于天津兮,夕余至乎西极。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"凤皇翼其承旗兮,高翱翔之翼翼。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"忽吾行此流沙兮,遵赤水而容与。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"麾蛟龙使梁津兮,诏西皇使涉予。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"路修远以多艰兮,腾众车使径待。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"路不周以左转兮,指西海以为期。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"屯余车其千乘兮,齐玉轪而并驰。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"驾八龙之婉婉兮,载云旗之委蛇。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"抑志而弭节兮,神高驰之邈邈。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"奏《九歌》而舞《韶》兮,聊假日以媮乐。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"陟升皇之赫戏兮,忽临睨夫旧乡。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"仆夫悲余马怀兮,蜷局顾而不行。",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"乱曰:已矣哉!",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"国无人莫我知兮,又何怀乎故都!",author:"屈原",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"},{text:"既莫足与为美政兮,吾将从彭咸之所居!",author:"离骚",contributor:"Sunwuyuan",link:"https://www.gushiwen.cn/shiwenv.aspx?id=f5714bcd33e3"}],We={quotes:on};let je=null;async function an(){return je||(je=(await $e(async()=>{const{default:s}=await import("./core-IlBOtVFl.js").then(e=>e.c);return{default:s}},[],import.meta.url)).default),je}const Ye={text:"点击此处可以查看 Classworks 用户群里沙雕群友们的发言",author:"点击后会复制当前句子到剪贴板中"},Ze={main:{delay:50,deleteSpeed:100},source:{delay:10,deleteSpeed:10,cursor:""}},rn={name:"EchoChamberCard",components:{SettingsCard:K},data:()=>({typewriter:null,sourceWriter:null,currentQuote:Ye,hasClicked:!1}),mounted(){this.initTypewriters()},methods:{async initTypewriters(){const s=await an();this.typewriter=new s(this.$refs.typewriter,Ze.main),this.sourceWriter=new s(this.$refs.sourceWriter,Ze.source),this.typeQuote(Ye)},typeQuote(s){this.typewriter.deleteAll(30).typeString(s.text).start(),s.author&&this.sourceWriter.deleteAll(20).typeString(s.author).start()},async handleClick(){this.hasClicked||(this.hasClicked=!0),await this.copyToClipboard(),this.currentQuote=this.getRandomQuote(),this.typeQuote(this.currentQuote)},getRandomQuote(){return We.quotes[Math.floor(Math.random()*We.quotes.length)]},async copyToClipboard(){if(!this.currentQuote)return;const{text:s,author:e,contributor:a,link:r}=this.currentQuote,i=[s,e&&`作者:${e}`,a&&`贡献者:${a}`,(r||a)&&`来源:${r||`https://github.com/${a}`}`].filter(Boolean);try{await navigator.clipboard.writeText(i.join(` +`))}catch(l){console.error("复制失败:",l)}}},beforeUnmount(){[this.typewriter,this.sourceWriter].forEach(s=>s==null?void 0:s.stop())}},un={ref:"typewriter",class:"typewriter-text"},dn={ref:"sourceWriter",class:"source-text"};function cn(s,e,a,r,i,l){const u=K;return c(),p(u,{border:"",icon:"mdi-thought-bubble",title:"回声洞",onClick:l.handleClick},{default:n(()=>[t(S,null,{default:n(()=>[m("div",un,null,512),m("div",dn,null,512)]),_:1}),t(Pt,{name:"fade"},{default:n(()=>{var h;return[(h=s.currentQuote)!=null&&h.contributor?(c(),p(z,{key:0,class:"contributor"},{default:n(()=>[t(Ie,{start:""},{default:n(()=>[t(Xe,{src:`https://github.com/${s.currentQuote.contributor}.png`},null,8,["src"])]),_:1}),o(" "+w(s.currentQuote.contributor),1)]),_:1})):v("",!0)]}),_:1})]),_:1},8,["onClick"])}const rt=E(rn,[["render",cn],["__scopeId","data-v-2acb3fbb"]]),mn={name:"SettingItem",props:{settingKey:{type:String,required:!0},icon:{type:String,default:null},disabled:{type:Boolean,default:!1},title:{type:String,default:null},description:{type:String,default:null}},data(){return{localValue:null,definition:null,type:null,selectOptions:[],hasOptions:!1,minValue:0,maxValue:100,stepValue:1,showSnackbar:!1,snackbarText:"",fontFamilies:[{title:"Arial",value:"Arial, sans-serif"},{title:"Calibri",value:"Calibri, sans-serif"},{title:"Cambria",value:"Cambria, serif"},{title:"Consolas",value:"Consolas, monospace"},{title:"Courier New",value:"Courier New, monospace"},{title:"Georgia",value:"Georgia, serif"},{title:"Helvetica",value:"Helvetica, sans-serif"},{title:"Segoe UI",value:"Segoe UI, sans-serif"},{title:"Times New Roman",value:"Times New Roman, serif"},{title:"Trebuchet MS",value:"Trebuchet MS, sans-serif"},{title:"Verdana",value:"Verdana, sans-serif"},{title:"Monospace",value:"monospace"},{title:"Sans-serif",value:"sans-serif"},{title:"Serif",value:"serif"}],displayValueMappings:{"display.emptySubjectDisplay":{card:"卡片",button:"按钮"},"theme.mode":{light:"浅色",dark:"深色"},"server.provider":{classworkscloud:"Classworks云端存储","kv-local":"KV本地存储","kv-server":"KV远程服务器"}},defaultIcons:{boolean:"mdi-toggle-switch-outline",number:"mdi-numeric",string:"mdi-form-textbox"}}},computed:{displayTitle(){if(this.title)return this.title;if(this.definition&&this.definition.description)return this.definition.description;const s=this.settingKey.split(".");return s[s.length-1]},displayDescription(){return this.description?this.description:this.settingKey},isFontFamily(){return this.settingKey.toLowerCase().includes("fontfamily")||this.settingKey.toLowerCase().includes("font.family")},isDefaultValue(){return this.definition?typeof this.localValue=="object"&&this.localValue!==null?JSON.stringify(this.localValue)===JSON.stringify(this.definition.default):this.localValue===this.definition.default:!0},settingIcon(){return this.icon?this.icon:this.definition&&this.definition.icon?this.definition.icon:this.defaultIcons[this.type]||"mdi-cog-outline"}},created(){this.loadSetting()},methods:{loadSetting(){if(this.definition=Tt(this.settingKey),!this.definition){console.error(`未找到设置项定义: ${this.settingKey}`);return}if(this.type=this.definition.type,this.localValue=y(this.settingKey),this.type==="string"){if(this.isFontFamily)this.selectOptions=this.fontFamilies,this.hasOptions=!0;else if(this.settingKey in this.displayValueMappings){const s=this.displayValueMappings[this.settingKey];this.selectOptions=Object.entries(s).map(([e,a])=>({title:a,value:e})),this.hasOptions=!0}else if(this.definition.validate){const e=this.definition.validate.toString().match(/\[(.*?)\]/);if(e){const r=e[1].split(",").map(i=>{const l=i.trim().replace(/['"]/g,"");return{title:this.getDisplayValue(l)||l,value:l}});r.length>0&&(this.selectOptions=r,this.hasOptions=!0)}}}if(this.type==="number"&&this.definition.validate){const s=this.definition.validate.toString(),e=s.match(/value\s*>=\s*(\d+)/);e&&(this.minValue=Number(e[1]));const a=s.match(/value\s*<=\s*(\d+)/);a&&(this.maxValue=Number(a[1]));const r=this.maxValue-this.minValue;r>100?this.stepValue=10:r>20?this.stepValue=5:r>10?this.stepValue=2:this.stepValue=1}},getDisplayValue(s){return this.settingKey in this.displayValueMappings&&this.displayValueMappings[this.settingKey][s]||s},updateSetting(s){let e=s;this.type==="boolean"?e=!!s:this.type==="number"&&(e=Number(s),ethis.maxValue&&(e=this.maxValue)),ne(this.settingKey,e)?this.$emit("update",this.settingKey,e):(this.localValue=y(this.settingKey),this.$emit("error",this.settingKey))},adjustValue(s){if(this.type!=="number")return;const e=this.localValue+s;e>=this.minValue&&e<=this.maxValue&&(this.localValue=e,this.updateSetting(e))},copySettingId(){navigator.clipboard.writeText(this.settingKey).then(()=>{this.showSnackbarMessage("设置ID已复制到剪贴板")}).catch(s=>{console.error("复制失败:",s)})},copySettingValue(){let s="";typeof this.localValue=="object"&&this.localValue!==null?s=JSON.stringify(this.localValue):s=String(this.localValue),navigator.clipboard.writeText(s).then(()=>{this.showSnackbarMessage("设置值已复制到剪贴板")}).catch(e=>{console.error("复制失败:",e)})},resetToDefault(){this.definition&&(et(this.settingKey),this.localValue=y(this.settingKey),this.showSnackbarMessage("已重置为默认值"),this.$emit("update",this.settingKey,this.localValue))},showSnackbarMessage(s){this.snackbarText=s,this.showSnackbar=!0}}},fn={class:"text-caption text-grey-darken-1"},hn={class:"d-flex flex-column flex-sm-row align-center"},pn={key:0,class:"me-2"},wn={key:2,class:"d-flex align-center"},gn={key:0,class:"px-4 pb-2 pt-0"};function vn(s,e,a,r,i,l){return c(),k(F,null,[t(x,{disabled:a.disabled,class:"setting-item"},{prepend:n(()=>[t(g,{icon:l.settingIcon},null,8,["icon"])]),append:n(()=>[m("div",hn,[i.type!=="string"||i.hasOptions?(c(),k("div",pn,[i.type==="boolean"?(c(),p(st,{key:0,modelValue:i.localValue,"onUpdate:modelValue":[e[0]||(e[0]=u=>i.localValue=u),l.updateSetting],disabled:a.disabled,density:"comfortable","hide-details":""},null,8,["modelValue","disabled","onUpdate:modelValue"])):i.type==="string"&&i.hasOptions?(c(),p(Ve,{key:1,modelValue:i.localValue,"onUpdate:modelValue":[e[1]||(e[1]=u=>i.localValue=u),l.updateSetting],disabled:a.disabled,items:i.selectOptions,"bg-color":"surface",class:"setting-select",density:"compact","hide-details":"","item-title":"title","item-value":"value",variant:"outlined"},null,8,["modelValue","disabled","items","onUpdate:modelValue"])):i.type==="number"?(c(),k("div",wn,[t(f,{disabled:a.disabled||i.localValue<=i.minValue,icon:"mdi-minus",size:"small",variant:"text",onClick:e[2]||(e[2]=u=>l.adjustValue(-i.stepValue))},null,8,["disabled"]),t(N,{modelValue:i.localValue,"onUpdate:modelValue":[e[3]||(e[3]=u=>i.localValue=u),l.updateSetting],modelModifiers:{number:!0},disabled:a.disabled,max:i.maxValue,min:i.minValue,step:i.stepValue,"bg-color":"surface",class:"mx-2 setting-number-field",density:"compact","hide-details":"",style:{width:"80px"},type:"number",variant:"outlined"},null,8,["modelValue","disabled","max","min","step","onUpdate:modelValue"]),t(f,{disabled:a.disabled||i.localValue>=i.maxValue,icon:"mdi-plus",size:"small",variant:"text",onClick:e[4]||(e[4]=u=>l.adjustValue(i.stepValue))},null,8,["disabled"])])):v("",!0)])):v("",!0),t(it,{location:"bottom"},{activator:n(({props:u})=>[t(f,ge({disabled:a.disabled,class:"ml-2",icon:"mdi-dots-vertical",size:"small"},u,{variant:"text"}),null,16,["disabled"])]),default:n(()=>[t(M,{density:"compact"},{default:n(()=>[t(x,{onClick:l.copySettingId},{prepend:n(()=>[t(g,{icon:"mdi-key",size:"small"})]),default:n(()=>[t(j,null,{default:n(()=>[...e[7]||(e[7]=[o("复制设置ID",-1)])]),_:1})]),_:1},8,["onClick"]),t(x,{onClick:l.copySettingValue},{prepend:n(()=>[t(g,{icon:"mdi-content-copy",size:"small"})]),default:n(()=>[t(j,null,{default:n(()=>[...e[8]||(e[8]=[o("复制设置值",-1)])]),_:1})]),_:1},8,["onClick"]),t(A),t(x,{disabled:l.isDefaultValue,onClick:l.resetToDefault},{prepend:n(()=>[t(g,{icon:"mdi-restore",size:"small"})]),default:n(()=>[t(j,null,{default:n(()=>[...e[9]||(e[9]=[o("重置为默认值",-1)])]),_:1})]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})])]),default:n(()=>[t(j,{class:"text-wrap"},{default:n(()=>[o(w(l.displayTitle),1)]),_:1}),t(Q,{class:"d-flex align-center text-wrap"},{default:n(()=>[m("span",fn,w(a.settingKey),1)]),_:1})]),_:1},8,["disabled"]),i.type==="string"&&!i.hasOptions?(c(),k("div",gn,[t(N,{modelValue:i.localValue,"onUpdate:modelValue":[e[5]||(e[5]=u=>i.localValue=u),l.updateSetting],disabled:a.disabled,"bg-color":"surface",class:"setting-text-field mt-1",density:"compact","hide-details":"",variant:"outlined"},null,8,["modelValue","disabled","onUpdate:modelValue"])])):v("",!0),t(Pe,{modelValue:i.showSnackbar,"onUpdate:modelValue":e[6]||(e[6]=u=>i.showSnackbar=u),timeout:2e3,color:"success",location:"top"},{default:n(()=>[o(w(i.snackbarText),1)]),_:1},8,["modelValue"])],64)}const le=E(mn,[["render",vn],["__scopeId","data-v-08b49b47"]]),bn={name:"SettingsExplorer",components:{SettingItem:le},data(){return{searchQuery:"",currentSettings:{},unwatchFunction:null}},computed:{isDeveloperMode(){return y("developer.enabled")},allSettings(){var e;const s=[];for(const[a,r]of Object.entries(Ne))this.searchQuery&&!a.toLowerCase().includes(this.searchQuery.toLowerCase())&&!((e=r.description)!=null&&e.toLowerCase().includes(this.searchQuery.toLowerCase()))||s.push({key:a,...r});return s},formattedSettings(){return JSON.stringify(this.currentSettings,null,2)}},created(){this.updateCurrentSettings(),this.unwatchFunction=Me(()=>{this.updateCurrentSettings()})},beforeUnmount(){this.unwatchFunction&&this.unwatchFunction()},methods:{updateCurrentSettings(){this.currentSettings=xe()},onSettingUpdate(s,e){this.$emit("update",s,e),this.updateCurrentSettings()},onSettingError(s){this.$emit("error",s)},copySettingsToClipboard(){navigator.clipboard.writeText(JSON.stringify(this.currentSettings)).then(()=>{this.$emit("message",{type:"success",text:"设置已复制到剪贴板"})}).catch(s=>{console.error("复制到剪贴板失败:",s),this.$emit("message",{type:"error",text:"复制到剪贴板失败"})})}}},kn={class:"settings-explorer"},yn={class:"settings-json"};function xn(s,e,a,r,i,l){const u=le;return c(),k("div",kn,[m("div",null,[t(N,{modelValue:i.searchQuery,"onUpdate:modelValue":e[0]||(e[0]=h=>i.searchQuery=h),class:"mb-4",clearable:"",density:"comfortable",label:"搜索设置","prepend-inner-icon":"mdi-magnify",variant:"outlined"},null,8,["modelValue"]),t(M,null,{default:n(()=>[(c(!0),k(F,null,W(l.allSettings,h=>(c(),k("div",{key:h.key},[(c(),p(u,{key:h.key,disabled:h.requireDeveloper&&!l.isDeveloperMode,"setting-key":h.key,onError:l.onSettingError,onUpdate:l.onSettingUpdate},null,8,["disabled","setting-key","onError","onUpdate"])),t(A,{class:"my-2"})]))),128))]),_:1}),t(C,{border:""},{default:n(()=>[t(P,{class:"text-subtitle-1"},{default:n(()=>[...e[1]||(e[1]=[o("当前配置",-1)])]),_:1}),t(S,null,{default:n(()=>[m("pre",yn,w(l.formattedSettings),1)]),_:1}),t(G,null,{default:n(()=>[t(R),t(f,{onClick:l.copySettingsToClipboard},{default:n(()=>[e[3]||(e[3]=o(" 复制到剪贴板 ",-1)),t(g,{right:""},{default:n(()=>[...e[2]||(e[2]=[o("mdi-content-copy",-1)])]),_:1})]),_:1},8,["onClick"])]),_:1})]),_:1})])])}const ut=E(bn,[["render",xn],["__scopeId","data-v-4d032f99"]]),Sn={name:"SettingGroup",props:{title:{type:String,default:null},description:{type:String,default:null},icon:{type:String,default:null},border:{type:Boolean,default:!1}},methods:{onSettingUpdate(s,e){this.$emit("update",s,e)},onSettingError(s){this.$emit("error",s)}}};function Cn(s,e,a,r,i,l){return c(),p(C,{border:a.border,class:"setting-group"},{default:n(()=>[a.title?(c(),p(P,{key:0,class:"d-flex align-center"},{default:n(()=>[a.icon?(c(),p(g,{key:0,icon:a.icon,class:"mr-2"},null,8,["icon"])):v("",!0),o(" "+w(a.title),1)]),_:1})):v("",!0),a.description?(c(),p(Se,{key:1},{default:n(()=>[o(w(a.description),1)]),_:1})):v("",!0),t(S,null,{default:n(()=>[t(M,null,{default:n(()=>[Ce(s.$slots,"default",{},void 0,!0)]),_:3})]),_:3}),s.$slots.actions?(c(),p(G,{key:2},{default:n(()=>[Ce(s.$slots,"actions",{},void 0,!0)]),_:3})):v("",!0)]),_:3},8,["border"])}const Te=E(Sn,[["render",Cn],["__scopeId","data-v-9af32ae4"]]),_n={subjects:{语文:{books:{课本:["第一单元","第二单元"],练习册:["第一章","第二章"]}},数学:{books:{课本:["第一章","第二章"],习题册:["基础练习","提高练习"]}},英语:{books:{课本:["Unit 1","Unit 2"],练习册:["Chapter 1","Chapter 2"]}}},commonSubject:{books:{试卷:["单元测试","期中测试","期末测试"],假期作业:["必做题","选做题"]}},actions:["写完","下一课","不交","明天交"]},Vn={name:"HomeworkTemplateCard",components:{SettingsCard:K,SettingGroup:Te},data(){return{loading:!1,error:null,config:Mt(JSON.parse(JSON.stringify(_n))),originalConfig:null,newSubject:"",newCommonBook:"",newAction:"",newTask:"",editedSubjects:{},editedBookTypes:{},newBookTypes:{},newBooks:{},showSnackbar:!1,snackbarText:"",snackbarColor:"success",isNewConfig:!0,dialog:{show:!1,title:"",nameLabel:"",editedItem:{name:"",type:"",subject:"",bookType:"",originalName:"",tasks:[]}}}},computed:{subjectList(){return Object.keys(this.config.subjects)},hasChanges(){return this.isNewConfig?!0:this.originalConfig&&JSON.stringify(this.config)!==JSON.stringify(this.originalConfig)}},created(){this.loadConfig()},methods:{async loadConfig(){var s,e;this.loading=!0;try{const a=await H.loadData("classworks-config-homework-template");if(a){const r=a;Object.assign(this.config,r),this.originalConfig=JSON.parse(JSON.stringify(r)),this.isNewConfig=!1,this.showMessage("配置已加载","success")}else if(((s=a.error)==null?void 0:s.code)==="NOT_FOUND")this.showMessage("使用默认配置","info"),this.isNewConfig=!0;else{const r=((e=a.error)==null?void 0:e.message)||"加载失败";this.showMessage(`加载失败: ${r},可继续编辑当前配置`,"warning")}}catch(a){console.error("Failed to load config:",a),this.showMessage("加载失败,可继续编辑当前配置","warning")}this.loading=!1},async saveConfig(){this.loading=!0;try{const s=await H.saveData("classworks-config-homework-template",this.config);if(s)this.originalConfig=JSON.parse(JSON.stringify(this.config)),this.isNewConfig=!1,this.showMessage("配置已保存","success");else throw new Error(s||"保存失败")}catch(s){console.error("Failed to save config:",s),this.showMessage(`保存失败: ${s.message},请稍后重试`,"error")}this.loading=!1},showMessage(s,e="success"){this.snackbarText=s,this.snackbarColor=e,this.showSnackbar=!0},addSubject(){this.newSubject&&(this.config.subjects[this.newSubject]||(this.config.subjects[this.newSubject]={books:{}}),this.newSubject="")},updateSubject(s){const e=this.editedSubjects[s];if(e&&e!==s){const a=this.config.subjects[s];this.config.subjects[e]=a,delete this.config.subjects[s]}delete this.editedSubjects[s]},deleteSubject(s){delete this.config.subjects[s]},addBookType(s){const e=this.newBookTypes[s];e&&(this.config.subjects[s].books[e]||(this.config.subjects[s].books[e]=[]),this.newBookTypes[s]="")},updateBookType(s,e){const a=`${s}-${e}`,r=this.editedBookTypes[a];if(r&&r!==e){const i=this.config.subjects[s].books[e];this.config.subjects[s].books[r]=i,delete this.config.subjects[s].books[e]}delete this.editedBookTypes[a]},deleteBookType(s,e){s==="common"?delete this.config.commonSubject.books[e]:delete this.config.subjects[s].books[e]},addBook(s,e){const a=`${s}-${e}`,r=this.newBooks[a];r&&(this.config.subjects[s].books[e].includes(r)||this.config.subjects[s].books[e].push(r),this.newBooks[a]="")},removeBook(s,e,a){const r=this.config.subjects[s].books[e],i=r.indexOf(a);i>-1&&r.splice(i,1)},addCommonBook(){this.newCommonBook&&(this.config.commonSubject.books[this.newCommonBook]||(this.config.commonSubject.books[this.newCommonBook]=[]),this.newCommonBook="")},removeCommonBook(s){delete this.config.commonSubject.books[s]},addAction(){this.newAction&&(this.config.actions.includes(this.newAction)||this.config.actions.push(this.newAction),this.newAction="")},removeAction(s){const e=this.config.actions.indexOf(s);e>-1&&this.config.actions.splice(e,1)},openBookDialog(s,e,a){this.dialog.show=!0,this.dialog.title="编辑需完成部分",this.dialog.nameLabel="部分名称",this.dialog.editedItem={name:a,type:"book",subject:s,bookType:e,originalName:a,tasks:this.config.subjects[s].books[e]}},openCommonBookDialog(s){this.dialog.show=!0,this.dialog.title="编辑通用作业本",this.dialog.nameLabel="作业本名称",this.dialog.editedItem={name:s,type:"commonBook",originalName:s,tasks:Array.isArray(this.config.commonSubject.books[s])?[...this.config.commonSubject.books[s]]:[]}},openActionDialog(s){this.dialog={show:!0,title:"编辑操作",nameLabel:"操作名称",editedItem:{name:s,type:"action",originalName:s,tasks:[]}}},addTask(){this.newTask&&(this.dialog.editedItem.tasks||(this.dialog.editedItem.tasks=[]),this.dialog.editedItem.tasks.push(this.newTask),this.newTask="")},removeTask(s){this.dialog.editedItem.tasks.splice(s,1)},openSubjectBookDialog(s,e,a){this.dialog.show=!0,this.dialog.title=s==="common"?"编辑通用作业本":"编辑作业本",this.dialog.nameLabel="作业本名称",this.dialog.editedItem={name:e,type:"subjectBook",subject:s,originalName:e,tasks:Array.isArray(a)?[...a]:[]}},saveDialog(){const{type:s,name:e,subject:a,originalName:r,tasks:i}=this.dialog.editedItem;if(!e){this.showMessage("名称不能为空","error");return}let l;const u=a==="common"?this.config.commonSubject.books:a?this.config.subjects[a].books:null;switch(s){case"subjectBook":u&&(r!==e?(u[e]=i||[],delete u[r]):u[e]=i||[]);break;case"action":l=this.config.actions.indexOf(r),l>-1&&(this.config.actions[l]=e);break}this.closeDialog()},closeDialog(){this.dialog={show:!1,title:"",nameLabel:"",editedItem:{name:"",type:"",subject:"",originalName:"",tasks:[]}},this.newTask=""}}},Dn={class:"d-flex justify-space-between align-center mb-6"};function An(s,e,a,r,i,l){const u=Te,h=K;return c(),p(h,{loading:i.loading,border:"",icon:"mdi-book-edit",title:"作业模板配置"},{default:n(()=>[i.error?(c(),p(L,{key:0,class:"mb-4",closable:"",type:"error",variant:"tonal"},{default:n(()=>[o(w(i.error),1)]),_:1})):v("",!0),m("div",Dn,[m("div",null,[t(f,{loading:i.loading,class:"mr-2",color:"primary","prepend-icon":"mdi-refresh",size:"large",onClick:l.loadConfig},{default:n(()=>[...e[7]||(e[7]=[o(" 重新加载配置 ",-1)])]),_:1},8,["loading","onClick"]),t(f,{loading:i.loading,color:"success","prepend-icon":"mdi-content-save",size:"large",onClick:l.saveConfig},{default:n(()=>[...e[8]||(e[8]=[o(" 保存所有更改 ",-1)])]),_:1},8,["loading","onClick"])]),l.hasChanges?(c(),p(z,{key:0,color:"warning",variant:"elevated"},{default:n(()=>[...e[9]||(e[9]=[o(" 有未保存的更改 ",-1)])]),_:1})):v("",!0)]),t(Y,null,{default:n(()=>[t(B,{cols:"12",md:"6"},{default:n(()=>[t(u,{border:"",icon:"mdi-book",title:"科目配置"},{default:n(()=>[t(M,null,{default:n(()=>[t(x,null,{default:n(()=>[t(N,{modelValue:i.newSubject,"onUpdate:modelValue":e[0]||(e[0]=d=>i.newSubject=d),"append-inner-icon":"mdi-plus",density:"comfortable",label:"添加新科目",variant:"outlined","onClick:appendInner":l.addSubject,onKeyup:ae(l.addSubject,["enter"])},null,8,["modelValue","onClick:appendInner","onKeyup"])]),_:1}),(c(!0),k(F,null,W(l.subjectList,d=>(c(),p(x,{key:d},{default:n(()=>[t(C,{border:"",class:"w-100 mb-2"},{default:n(()=>[t(P,{class:"d-flex align-center"},{default:n(()=>[t(N,{modelValue:i.editedSubjects[d],"onUpdate:modelValue":b=>i.editedSubjects[d]=b,placeholder:d,density:"comfortable","hide-details":"",variant:"plain",onBlur:b=>l.updateSubject(d)},null,8,["modelValue","onUpdate:modelValue","placeholder","onBlur"]),t(R),t(f,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:b=>l.deleteSubject(d)},null,8,["onClick"])]),_:2},1024),t(S,null,{default:n(()=>[t(N,{modelValue:i.newBookTypes[d],"onUpdate:modelValue":b=>i.newBookTypes[d]=b,"append-inner-icon":"mdi-plus",class:"mb-2",density:"comfortable",label:"添加作业本名称",variant:"outlined","onClick:appendInner":()=>l.addBookType(d),onKeyup:ae(()=>l.addBookType(d),["enter"])},null,8,["modelValue","onUpdate:modelValue","onClick:appendInner","onKeyup"]),t(M,{border:"",density:"compact",rounded:""},{default:n(()=>[(c(!0),k(F,null,W(i.config.subjects[d].books,(b,T)=>(c(),p(x,{key:T,title:T,onClick:I=>l.openSubjectBookDialog(d,T,b)},{prepend:n(()=>[t(g,{class:"mr-2",icon:"mdi-book-open-variant"})]),append:n(()=>[t(z,{class:"mr-2",color:"info",size:"small"},{default:n(()=>[o(w(b.length)+"个部分 ",1)]),_:2},1024),t(f,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:fe(()=>l.deleteBookType(d,T),["stop"])},null,8,["onClick"])]),_:2},1032,["title","onClick"]))),128))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1}),t(B,{cols:"12",md:"6"},{default:n(()=>[t(u,{border:"",icon:"mdi-cog",title:"通用配置"},{default:n(()=>[t(M,null,{default:n(()=>[t(x,null,{default:n(()=>[t(N,{modelValue:i.newCommonBook,"onUpdate:modelValue":e[1]||(e[1]=d=>i.newCommonBook=d),"append-inner-icon":"mdi-plus",density:"comfortable",label:"添加作业本名称",variant:"outlined","onClick:appendInner":l.addCommonBook,onKeyup:ae(l.addCommonBook,["enter"])},null,8,["modelValue","onClick:appendInner","onKeyup"])]),_:1}),t(x,null,{default:n(()=>[t(M,{border:"",density:"compact",rounded:""},{default:n(()=>[(c(!0),k(F,null,W(i.config.commonSubject.books,(d,b)=>(c(),p(x,{key:b,title:b,onClick:T=>l.openSubjectBookDialog("common",b,d)},{prepend:n(()=>[t(g,{class:"mr-2",icon:"mdi-book-multiple"})]),append:n(()=>[t(z,{class:"mr-2",color:"info",size:"small"},{default:n(()=>[o(w(d.length)+"个部分 ",1)]),_:2},1024),t(f,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:fe(()=>l.deleteBookType("common",b),["stop"])},null,8,["onClick"])]),_:2},1032,["title","onClick"]))),128))]),_:1})]),_:1}),t(A,{class:"my-2"}),t(x,null,{default:n(()=>[t(N,{modelValue:i.newAction,"onUpdate:modelValue":e[2]||(e[2]=d=>i.newAction=d),"append-inner-icon":"mdi-plus",density:"comfortable",label:"添加操作",variant:"outlined","onClick:appendInner":l.addAction,onKeyup:ae(l.addAction,["enter"])},null,8,["modelValue","onClick:appendInner","onKeyup"])]),_:1}),t(x,null,{default:n(()=>[t(M,{border:"",density:"compact",rounded:""},{default:n(()=>[(c(!0),k(F,null,W(i.config.actions,d=>(c(),p(x,{key:d,title:d,onClick:b=>l.openActionDialog(d)},{append:n(()=>[t(f,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:fe(b=>l.removeAction(d),["stop"])},null,8,["onClick"])]),_:2},1032,["title","onClick"]))),128))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),t($,{modelValue:i.dialog.show,"onUpdate:modelValue":e[5]||(e[5]=d=>i.dialog.show=d),"max-width":"600px"},{default:n(()=>[t(C,null,{default:n(()=>[t(P,{class:"text-h5 pa-4"},{default:n(()=>[o(w(i.dialog.title),1)]),_:1}),t(S,null,{default:n(()=>[t(Ee,null,{default:n(()=>[t(Y,null,{default:n(()=>[t(B,{cols:"12"},{default:n(()=>[t(N,{modelValue:i.dialog.editedItem.name,"onUpdate:modelValue":e[3]||(e[3]=d=>i.dialog.editedItem.name=d),label:i.dialog.nameLabel,rules:[d=>!!d||"名称不能为空"],density:"comfortable",variant:"outlined"},null,8,["modelValue","label","rules"])]),_:1}),i.dialog.editedItem.type==="subjectBook"?(c(),p(B,{key:0,cols:"12"},{default:n(()=>[e[10]||(e[10]=m("div",{class:"text-subtitle-2 mb-2"},"所属科目",-1)),t(z,{color:"primary"},{default:n(()=>[o(w(i.dialog.editedItem.subject),1)]),_:1})]),_:1})):v("",!0),["subjectBook","commonBook"].includes(i.dialog.editedItem.type)?(c(),p(B,{key:1,cols:"12"},{default:n(()=>[t(C,{variant:"outlined"},{default:n(()=>[t(P,{class:"text-subtitle-1 py-2"},{default:n(()=>[...e[11]||(e[11]=[o("需完成部分",-1)])]),_:1}),t(S,{class:"pt-0"},{default:n(()=>[t(M,{border:"",class:"mb-2",density:"compact",rounded:""},{default:n(()=>[(c(!0),k(F,null,W(i.dialog.editedItem.tasks,(d,b)=>(c(),p(x,{key:b},{prepend:n(()=>[t(g,{class:"mr-2",icon:"mdi-checkbox-blank-circle-outline",size:"small"})]),append:n(()=>[t(f,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:T=>l.removeTask(b)},null,8,["onClick"])]),default:n(()=>[t(N,{modelValue:i.dialog.editedItem.tasks[b],"onUpdate:modelValue":T=>i.dialog.editedItem.tasks[b]=T,density:"compact","hide-details":"",variant:"plain"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024))),128))]),_:1}),t(N,{modelValue:i.newTask,"onUpdate:modelValue":e[4]||(e[4]=d=>i.newTask=d),"append-inner-icon":"mdi-plus",class:"mt-2",density:"comfortable",label:"添加需完成部分",variant:"outlined","onClick:appendInner":l.addTask,onKeyup:ae(l.addTask,["enter"])},null,8,["modelValue","onClick:appendInner","onKeyup"])]),_:1})]),_:1})]),_:1})):v("",!0)]),_:1})]),_:1})]),_:1}),t(G,{class:"pa-4"},{default:n(()=>[t(R),t(f,{color:"primary",variant:"elevated",onClick:l.saveDialog},{default:n(()=>[...e[12]||(e[12]=[o(" 关闭 ",-1)])]),_:1},8,["onClick"]),t(f,{color:"error",variant:"text",onClick:l.closeDialog},{default:n(()=>[...e[13]||(e[13]=[o(" 取消 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(Pe,{modelValue:i.showSnackbar,"onUpdate:modelValue":e[6]||(e[6]=d=>i.showSnackbar=d),color:i.snackbarColor,timeout:3e3},{default:n(()=>[o(w(i.snackbarText),1)]),_:1},8,["modelValue","color"])]),_:1},8,["loading"])}const dt=E(Vn,[["render",An],["__scopeId","data-v-67769fa2"]]),In={name:"SubjectManagementCard",components:{SettingsCard:K},data(){return{loading:!1,error:null,subjects:[],originalSubjects:null,newSubjectName:"",showSnackbar:!1,snackbarText:"",snackbarColor:"success",defaultSubjects:[{name:"语文",order:0},{name:"数学",order:1},{name:"英语",order:2},{name:"物理",order:3},{name:"化学",order:4},{name:"生物",order:5},{name:"政治",order:6},{name:"历史",order:7},{name:"地理",order:8},{name:"其他",order:9}]}},computed:{hasChanges(){return this.originalSubjects&&JSON.stringify(this.subjects)!==JSON.stringify(this.originalSubjects)}},created(){this.loadConfig()},methods:{async loadConfig(){this.loading=!0;try{const s=await H.loadData("classworks-config-subject");s?(this.subjects=s.map((e,a)=>({name:e.name,order:e.order??a})).sort((e,a)=>e.order-a.order),this.originalSubjects=JSON.parse(JSON.stringify(this.subjects)),this.showMessage("配置已加载","success")):(this.subjects=[],this.originalSubjects=[],this.showMessage("使用默认配置","info"))}catch(s){console.error("Failed to load config:",s),this.showMessage("加载失败,可继续编辑当前配置","warning")}this.loading=!1},async saveConfig(){this.loading=!0;try{const s=await H.saveData("classworks-config-subject",this.subjects);if(s)this.originalSubjects=JSON.parse(JSON.stringify(this.subjects)),this.showMessage("配置已保存","success");else throw new Error(s||"保存失败")}catch(s){console.error("Failed to save config:",s),this.showMessage(`保存失败: ${s.message},请稍后重试`,"error")}this.loading=!1},showMessage(s,e="success"){this.snackbarText=s,this.snackbarColor=e,this.showSnackbar=!0},addSubject(){if(!this.newSubjectName)return;const s={name:this.newSubjectName,order:this.subjects.length};this.subjects.push(s),this.newSubjectName=""},updateSubject(s){const e=this.subjects.findIndex(a=>a.order===s.order);e>-1&&(this.subjects[e]={...s})},deleteSubject(s){const e=this.subjects.findIndex(a=>a.order===s.order);e>-1&&(this.subjects.splice(e,1),this.subjects.forEach((a,r)=>{a.order=r}))},moveSubject(s,e){const a=s+e;if(a>=0&&a{i.order=l})}},resetToDefault(){this.subjects=JSON.parse(JSON.stringify(this.defaultSubjects)),this.showMessage("已重置为默认科目列表","info")}}},Tn={class:"d-flex justify-space-between align-center mb-6"},Un={class:"d-flex flex-column align-center mr-2"};function jn(s,e,a,r,i,l){const u=K;return c(),p(u,{loading:i.loading,border:"",icon:"mdi-book-multiple",title:"科目管理"},{default:n(()=>[i.error?(c(),p(L,{key:0,class:"mb-4",closable:"",type:"error",variant:"tonal"},{default:n(()=>[o(w(i.error),1)]),_:1})):v("",!0),m("div",Tn,[m("div",null,[t(f,{loading:i.loading,class:"mr-2",color:"primary","prepend-icon":"mdi-refresh",size:"large",variant:"text",onClick:l.loadConfig},{default:n(()=>[...e[2]||(e[2]=[o(" 重新加载 ",-1)])]),_:1},8,["loading","onClick"]),t(f,{loading:i.loading,color:"success","prepend-icon":"mdi-content-save",size:"large",onClick:l.saveConfig},{default:n(()=>[...e[3]||(e[3]=[o(" 保存 ",-1)])]),_:1},8,["loading","onClick"]),t(f,{loading:i.loading,class:"mr-2","prepend-icon":"mdi-restore",variant:"text",onClick:l.resetToDefault},{default:n(()=>[...e[4]||(e[4]=[o(" 重置为默认 ",-1)])]),_:1},8,["loading","onClick"])]),l.hasChanges?(c(),p(z,{key:0,color:"warning",variant:"elevated"},{default:n(()=>[...e[5]||(e[5]=[o(" 有未保存的更改 ",-1)])]),_:1})):v("",!0)]),t(C,{class:"mb-4",variant:"outlined"},{default:n(()=>[t(S,null,{default:n(()=>[t(Y,null,{default:n(()=>[t(B,{cols:"12",sm:"6"},{default:n(()=>[t(N,{modelValue:i.newSubjectName,"onUpdate:modelValue":e[0]||(e[0]=h=>i.newSubjectName=h),rules:[h=>!!h||"科目名称不能为空"],"append-inner-icon":"mdi-plus",density:"comfortable",label:"科目名称",variant:"outlined",onKeyup:ae(l.addSubject,["enter"]),"onClick:appendInner":l.addSubject},null,8,["modelValue","rules","onKeyup","onClick:appendInner"])]),_:1})]),_:1})]),_:1})]),_:1}),t(C,{variant:"outlined"},{default:n(()=>[t(S,{class:"pa-0"},{default:n(()=>[t(M,{lines:"one"},{default:n(()=>[(c(!0),k(F,null,W(i.subjects,(h,d)=>(c(),p(x,{key:h.order},{prepend:n(()=>[m("div",Un,[t(f,{disabled:d===0,icon:"mdi-chevron-up",size:"small",variant:"text",onClick:b=>l.moveSubject(d,-1)},null,8,["disabled","onClick"]),t(f,{disabled:d===i.subjects.length-1,icon:"mdi-chevron-down",size:"small",variant:"text",onClick:b=>l.moveSubject(d,1)},null,8,["disabled","onClick"])])]),append:n(()=>[t(f,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:b=>l.deleteSubject(h)},null,8,["onClick"])]),default:n(()=>[t(j,null,{default:n(()=>[t(N,{modelValue:h.name,"onUpdate:modelValue":b=>h.name=b,density:"compact","hide-details":"",variant:"plain",onBlur:b=>l.updateSubject(h)},null,8,["modelValue","onUpdate:modelValue","onBlur"])]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1}),t(Pe,{modelValue:i.showSnackbar,"onUpdate:modelValue":e[1]||(e[1]=h=>i.showSnackbar=h),color:i.snackbarColor,timeout:3e3},{default:n(()=>[o(w(i.snackbarText),1)]),_:1},8,["modelValue","color"])]),_:1},8,["loading"])}const ct=E(In,[["render",jn],["__scopeId","data-v-f87674cf"]]),Bn={};function Nn(s,e,a,r,i,l){const u=le,h=K;return c(),p(h,{icon:"mdi-cog",title:"编辑设置"},{default:n(()=>[t(M,null,{default:n(()=>[t(u,{"setting-key":"randomPicker.enabled"}),t(A,{class:"my-2"}),t(u,{"setting-key":"randomPicker.mode"}),t(A,{class:"my-2"}),t(u,{"setting-key":"randomPicker.minNumber"}),t(A,{class:"my-2"}),t(u,{"setting-key":"randomPicker.maxNumber"}),t(A,{class:"my-2"}),t(u,{"setting-key":"randomPicker.defaultCount"}),t(A,{class:"my-2"}),t(u,{"setting-key":"randomPicker.animation"})]),_:1})]),_:1})}const mt=E(Bn,[["render",Nn]]),Pn={name:"HitokotoSettings",components:{SettingGroup:Te,SettingItem:le},data(){return{kvConfig:{sources:["zhaoyu"],sensitiveWords:"",jinrishiciToken:null},loading:!1,testLoading:!1,testMessage:"",testColor:"info",testResultDialog:!1,testResultData:null,enableCloudSensitiveWords:!0}},mounted(){this.loadKvSettings()},methods:{async loadKvSettings(){this.loading=!0;try{const s=await H.loadData("sentence-info");let e=s;s&&s.data&&(e=s.data),e&&(this.kvConfig={sources:Array.isArray(e.sources)?e.sources:["zhaoyu"],sensitiveWords:e.sensitiveWords||"",jinrishiciToken:e.jinrishiciToken})}catch(s){console.error("Failed to load sentence-info",s)}finally{this.loading=!1}},async saveKvSettings(){this.loading=!0;try{if(this.kvConfig.sources.includes("jinrishici")&&!this.kvConfig.jinrishiciToken)try{const s=await De.get("https://v2.jinrishici.com/token");s.data.status==="success"&&(this.kvConfig.jinrishiciToken=s.data.data)}catch(s){console.error("Failed to get jinrishici token",s)}await H.saveData("sentence-info",this.kvConfig)}catch(s){console.error("Failed to save sentence-info",s)}finally{this.loading=!1}},async testJinrishici(){var s,e;this.testLoading=!0,this.testMessage="",this.testColor="info";try{const a={};this.kvConfig.jinrishiciToken&&(a["X-User-Token"]=this.kvConfig.jinrishiciToken);const r=await De.get("https://v2.jinrishici.com/info?X-User-Token="+encodeURIComponent(this.kvConfig.jinrishiciToken));if(r.data&&r.data.status==="success"){this.testResultData=r.data,this.testResultDialog=!0;const i=(s=r.data.data)==null?void 0:s.token,l=(e=r.data.data)==null?void 0:e.region,u=this.kvConfig.jinrishiciToken?i===this.kvConfig.jinrishiciToken:!0;this.testColor=u?"success":"warning",this.testMessage=u?`接口正常,Token 一致:${i}${l?`,地区:${l}`:""}`:`接口返回 Token 与当前设置不一致:${i}${l?`,地区:${l}`:""}`}else this.testColor="error",this.testMessage="接口返回非 success,请检查网络或 Token 配置。"}catch(a){console.error("Failed to test jinrishici info",a),this.testColor="error",this.testMessage="接口测试失败,请检查网络或 Token。"}finally{this.testLoading=!1}}}},Mn={class:"d-flex flex-wrap gap-2"},En={class:"text-caption text-orange mt-2"},zn={class:"d-flex flex-column flex-sm-row align-center w-100"},Ln={key:2,class:"text-center pb-4"},Kn={class:"d-flex align-center mb-2"},Rn={class:"text-body-1 font-weight-medium"},On={class:"d-flex align-center mb-2"},Fn={class:"text-body-1 font-weight-medium"},Jn={class:"d-flex align-center mb-2"},Qn={class:"text-body-1 font-weight-medium"},Hn={class:"d-flex align-center mb-2"},Gn={class:"text-body-2 font-weight-medium"},Wn={class:"d-flex align-center mb-2"},Yn={class:"text-body-1 font-weight-medium"},Zn={class:"d-flex align-center mb-2"},qn={class:"text-body-1 font-weight-medium"},Xn={class:"px-4 py-3"},$n={class:"d-flex flex-wrap gap-2"};function es(s,e,a,r,i,l){const u=le,h=Te;return c(),k("div",null,[t(h,{title:"一言设置",icon:"mdi-comment-quote"},{default:n(()=>[t(u,{"setting-key":"hitokoto.enabled"}),t(u,{"setting-key":"hitokoto.refreshInterval"})]),_:1}),t(h,{title:"数据源配置",icon:"mdi-cloud-sync",class:"mt-4"},{default:n(()=>[e[13]||(e[13]=m("div",{class:"text-caption text-grey px-4 pt-2 pb-2"},"以下配置将同步到云端,对所有连接此班级的设备生效。",-1)),t(x,null,{default:n(()=>[t(j,{class:"mb-2"},{default:n(()=>[...e[7]||(e[7]=[o("启用数据源",-1)])]),_:1}),m("div",Mn,[t(ie,{modelValue:i.kvConfig.sources,"onUpdate:modelValue":[e[0]||(e[0]=d=>i.kvConfig.sources=d),l.saveKvSettings],label:"一言 (Hitokoto)",value:"hitokoto","hide-details":"",density:"compact",class:"mr-4",disabled:i.loading},null,8,["modelValue","disabled","onUpdate:modelValue"]),t(ie,{modelValue:i.kvConfig.sources,"onUpdate:modelValue":[e[1]||(e[1]=d=>i.kvConfig.sources=d),l.saveKvSettings],label:"诏预 (Zhaoyu)",value:"zhaoyu","hide-details":"",density:"compact",class:"mr-4",disabled:i.loading},null,8,["modelValue","disabled","onUpdate:modelValue"]),t(ie,{modelValue:i.kvConfig.sources,"onUpdate:modelValue":[e[2]||(e[2]=d=>i.kvConfig.sources=d),l.saveKvSettings],label:"今日诗词 (Jinrishici)",value:"jinrishici","hide-details":"",density:"compact",disabled:i.loading},null,8,["modelValue","disabled","onUpdate:modelValue"])]),m("div",En,[t(g,{size:"x-small",color:"orange",class:"mr-1"},{default:n(()=>[...e[8]||(e[8]=[o("mdi-alert",-1)])]),_:1}),e[9]||(e[9]=o(" 一言(Hitokoto)数据源已收到关于存在负面内容的大量反馈,请用户谨慎启用。 ",-1))])]),_:1}),i.kvConfig.sources.includes("jinrishici")?(c(),p(x,{key:0},{default:n(()=>[t(N,{modelValue:i.kvConfig.jinrishiciToken,"onUpdate:modelValue":e[3]||(e[3]=d=>i.kvConfig.jinrishiciToken=d),label:"今日诗词 Token",variant:"outlined",density:"comfortable",disabled:i.loading,hint:"留空则自动获取,也可以手动输入已有 Token","persistent-hint":"",class:"mt-2",onChange:l.saveKvSettings},null,8,["modelValue","disabled","onChange"])]),_:1})):v("",!0),i.kvConfig.sources.includes("jinrishici")?(c(),p(x,{key:1},{default:n(()=>[m("div",zn,[t(f,{loading:i.testLoading,color:"primary",variant:"outlined",class:"mr-sm-4 mb-2 mb-sm-0",onClick:l.testJinrishici},{default:n(()=>[...e[10]||(e[10]=[o(" 测试今日诗词接口 ",-1)])]),_:1},8,["loading","onClick"]),i.testMessage?(c(),p(L,{key:0,type:i.testColor,density:"comfortable",border:"start",class:"flex-grow-1"},{default:n(()=>[o(w(i.testMessage),1)]),_:1},8,["type"])):v("",!0)])]),_:1})):v("",!0),t(x,null,{default:n(()=>[t(pe,{modelValue:i.kvConfig.sensitiveWords,"onUpdate:modelValue":e[4]||(e[4]=d=>i.kvConfig.sensitiveWords=d),disabled:i.loading,label:"敏感词过滤 (用逗号分隔)",variant:"outlined",rows:"3","auto-grow":"","hide-details":"",class:"mt-2 mb-2",onChange:l.saveKvSettings},null,8,["modelValue","disabled","onChange"])]),_:1}),t(x,null,{default:n(()=>[t(ie,{label:"启用云端敏感词列表","hide-details":"",modelValue:i.enableCloudSensitiveWords,"onUpdate:modelValue":e[5]||(e[5]=d=>i.enableCloudSensitiveWords=d),density:"compact",disabled:"",class:"mb-2"},null,8,["modelValue"]),e[11]||(e[11]=m("div",{class:"text-caption text-grey"},[o(" 已启用的数据源将在获取一言时随机尝试,直到成功获取内容为止。"),m("br"),o(" 敏感词过滤会将包含任意敏感词的句子过滤掉,避免显示不当内容。"),m("br")],-1))]),_:1}),i.loading?(c(),k("div",Ln,[t(tt,{indeterminate:"",size:"24",color:"primary"}),e[12]||(e[12]=m("span",{class:"ml-2 text-caption"},"正在同步配置...",-1))])):v("",!0)]),_:1}),t($,{modelValue:i.testResultDialog,"onUpdate:modelValue":e[6]||(e[6]=d=>i.testResultDialog=d),"max-width":"600"},{default:n(()=>[i.testResultData?(c(),p(C,{key:0,class:"rounded-lg"},{default:n(()=>[t(S,{class:"pa-0"},{default:n(()=>[t(M,{lines:"two",class:"py-0"},{default:n(()=>[t(x,{class:"px-4 py-3"},{prepend:n(()=>[t(Ie,{color:"primary",variant:"tonal",class:"mr-2"},{default:n(()=>[t(g,{icon:"mdi-key-variant"})]),_:1})]),default:n(()=>[t(j,{class:"text-subtitle-2 font-weight-bold mb-1"},{default:n(()=>[...e[14]||(e[14]=[o("Token",-1)])]),_:1}),t(Q,{class:"text-body-2 text-high-emphasis",style:{"word-break":"break-all"}},{default:n(()=>[o(w(i.testResultData.data.token),1)]),_:1})]),_:1}),t(A),t(Y,{"no-gutters":""},{default:n(()=>[t(B,{cols:"6"},{default:n(()=>[t(x,{class:"px-4 py-2"},{prepend:n(()=>[t(g,{icon:"mdi-ip-network",color:"grey-darken-1",class:"mr-2"})]),default:n(()=>[t(j,{class:"text-caption text-grey-darken-1"},{default:n(()=>[...e[15]||(e[15]=[o("IP 地址",-1)])]),_:1}),t(Q,{class:"text-body-2"},{default:n(()=>[o(w(i.testResultData.data.ip),1)]),_:1})]),_:1})]),_:1}),t(B,{cols:"6"},{default:n(()=>[t(x,{class:"px-4 py-2"},{prepend:n(()=>[t(g,{icon:"mdi-map-marker-radius",color:"grey-darken-1",class:"mr-2"})]),default:n(()=>[t(j,{class:"text-caption text-grey-darken-1"},{default:n(()=>[...e[16]||(e[16]=[o("地区",-1)])]),_:1}),t(Q,{class:"text-body-2"},{default:n(()=>[o(w(i.testResultData.data.region),1)]),_:1})]),_:1})]),_:1})]),_:1}),t(A),t(Ee,{class:"px-4 py-3"},{default:n(()=>[t(Y,{dense:""},{default:n(()=>[t(B,{cols:"6",sm:"4"},{default:n(()=>[m("div",Kn,[t(g,{icon:"mdi-thermometer",color:"orange",class:"mr-2"}),m("div",null,[e[17]||(e[17]=m("div",{class:"text-caption text-grey"},"温度",-1)),m("div",Rn,w(i.testResultData.data.weatherData.temperature)+"°C",1)])])]),_:1}),t(B,{cols:"6",sm:"4"},{default:n(()=>[m("div",On,[t(g,{icon:"mdi-weather-cloudy",color:"blue-grey",class:"mr-2"}),m("div",null,[e[18]||(e[18]=m("div",{class:"text-caption text-grey"},"天气",-1)),m("div",Fn,w(i.testResultData.data.weatherData.weather),1)])])]),_:1}),t(B,{cols:"6",sm:"4"},{default:n(()=>[m("div",Jn,[t(g,{icon:"mdi-water-percent",color:"blue",class:"mr-2"}),m("div",null,[e[19]||(e[19]=m("div",{class:"text-caption text-grey"},"湿度",-1)),m("div",Qn,w(i.testResultData.data.weatherData.humidity)+"%",1)])])]),_:1}),t(B,{cols:"6",sm:"4"},{default:n(()=>[m("div",Hn,[t(g,{icon:"mdi-weather-windy",color:"teal",class:"mr-2"}),m("div",null,[e[20]||(e[20]=m("div",{class:"text-caption text-grey"},"风向/风力",-1)),m("div",Gn,w(i.testResultData.data.weatherData.windDirection)+" "+w(i.testResultData.data.weatherData.windPower)+"级 ",1)])])]),_:1}),t(B,{cols:"6",sm:"4"},{default:n(()=>[m("div",Wn,[t(g,{icon:"mdi-blur",color:"grey",class:"mr-2"}),m("div",null,[e[21]||(e[21]=m("div",{class:"text-caption text-grey"},"PM2.5",-1)),m("div",Yn,w(i.testResultData.data.weatherData.pm25),1)])])]),_:1}),t(B,{cols:"6",sm:"4"},{default:n(()=>[m("div",Zn,[t(g,{icon:"mdi-eye",color:"indigo",class:"mr-2"}),m("div",null,[e[22]||(e[22]=m("div",{class:"text-caption text-grey"},"能见度",-1)),m("div",qn,w(i.testResultData.data.weatherData.visibility),1)])])]),_:1})]),_:1})]),_:1}),t(A),m("div",Xn,[e[23]||(e[23]=m("div",{class:"text-caption text-grey mb-2"},"环境标签",-1)),m("div",$n,[(c(!0),k(F,null,W(i.testResultData.data.tags,d=>(c(),p(z,{key:d,size:"small",color:"primary",variant:"tonal",class:"mr-1 mb-1"},{default:n(()=>[o(w(d),1)]),_:2},1024))),128))])]),t(A),t(x,{class:"px-4 py-2"},{prepend:n(()=>[t(g,{icon:"mdi-clock-outline",size:"small",class:"mr-2"})]),default:n(()=>[t(j,{class:"text-caption text-grey-darken-1"},{default:n(()=>[o(" 北京时间: "+w(new Date(i.testResultData.data.beijingTime).toLocaleString()),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})):v("",!0)]),_:1},8,["modelValue"])])}const ft=E(Pn,[["render",es]]),ts={name:"NotificationSoundSettings",data(){return{singleSound:"",urgentSound:"",currentAudio:null,showAutoplayWarning:!0}},computed:{soundOptions(){return Qt.map(s=>({title:s.replace(".mp3",""),value:s}))}},mounted(){this.loadSettings()},beforeUnmount(){this.stopPreview()},methods:{loadSettings(){this.singleSound=y("notification.singleSound"),this.urgentSound=y("notification.urgentSound")},onSingleSoundChange(s){var e;ne("notification.singleSound",s),(e=this.$message)==null||e.success("设置已保存",`单次通知铃声: ${s}`)},onUrgentSoundChange(s){var e;ne("notification.urgentSound",s),(e=this.$message)==null||e.success("设置已保存",`紧急通知铃声: ${s}`)},async previewSound(s){var e,a;this.showAutoplayWarning=!1,this.stopPreview();try{const r=await this.playSoundWithPromise(s,!1);this.currentAudio=r,this.currentAudio&&this.currentAudio.addEventListener("ended",()=>{this.currentAudio=null},{once:!0})}catch(r){console.error("播放音频失败:",r),r.name==="NotAllowedError"?(e=this.$message)==null||e.warning("无法播放音频","浏览器阻止了自动播放,请再次点击试听按钮"):(a=this.$message)==null||a.error("播放失败","音频文件加载失败,请稍后重试")}},playSoundWithPromise(s,e=!1){return new Promise((a,r)=>{const i=this.getSoundPath(s);if(!i){r(new Error("音频文件不存在"));return}try{const l=new Audio(i);l.loop=e,l.play().then(()=>{a(l)}).catch(u=>{r(u)})}catch(l){r(l)}})},getSoundPath(s){if(!s)return null;try{return`/sounds/${s}`}catch{return null}},stopPreview(){this.currentAudio&&(Jt(this.currentAudio),this.currentAudio=null)},resetSingleSound(){var s;this.singleSound="Teams 默认.mp3",ne("notification.singleSound",this.singleSound),(s=this.$message)==null||s.success("已恢复单次通知铃声默认设置")},resetUrgentSound(){var s;this.urgentSound="Teams 默认通话铃.mp3",ne("notification.urgentSound",this.urgentSound),(s=this.$message)==null||s.success("已恢复紧急通知铃声默认设置")}}},ns={class:"d-flex align-center"},ss={class:"mt-3 d-flex gap-2"},is={class:"mt-3 d-flex gap-2"};function ls(s,e,a,r,i,l){return c(),p(C,{class:"notification-sound-settings"},{default:n(()=>[t(P,null,{default:n(()=>[...e[5]||(e[5]=[o(" 通知铃声设置 ",-1)])]),_:1}),t(S,null,{default:n(()=>[i.showAutoplayWarning?(c(),p(L,{key:0,type:"info",variant:"tonal",closable:"",class:"mb-4","onClick:close":e[0]||(e[0]=u=>i.showAutoplayWarning=!1)},{default:n(()=>[m("div",ns,[t(g,{class:"mr-2"},{default:n(()=>[...e[6]||(e[6]=[o("mdi-information",-1)])]),_:1}),e[7]||(e[7]=m("span",null,"首次使用请点击试听按钮测试音频播放是否正常",-1))])]),_:1})):v("",!0),t(Y,null,{default:n(()=>[t(B,{cols:"12"},{default:n(()=>[t(C,{border:""},{default:n(()=>[t(P,{class:"text-subtitle-1"},{default:n(()=>[t(g,{left:""},{default:n(()=>[...e[8]||(e[8]=[o("mdi-bell-ring",-1)])]),_:1}),e[9]||(e[9]=o(" 单次通知铃声 ",-1))]),_:1}),t(S,null,{default:n(()=>[t(Ve,{modelValue:i.singleSound,"onUpdate:modelValue":[e[1]||(e[1]=u=>i.singleSound=u),l.onSingleSoundChange],items:l.soundOptions,label:"选择铃声","prepend-icon":"mdi-music-note",variant:"outlined",density:"comfortable"},{item:n(({props:u,item:h})=>[t(x,ge(u,{onClick:d=>l.previewSound(h.value)}),{prepend:n(()=>[t(g,null,{default:n(()=>[...e[10]||(e[10]=[o("mdi-music-note",-1)])]),_:1})]),append:n(()=>[t(f,{icon:"",size:"small",variant:"text",onClick:fe(d=>l.previewSound(h.value),["stop"])},{default:n(()=>[t(g,null,{default:n(()=>[...e[11]||(e[11]=[o("mdi-play",-1)])]),_:1})]),_:1},8,["onClick"])]),_:2},1040,["onClick"])]),_:1},8,["modelValue","items","onUpdate:modelValue"]),m("div",ss,[t(f,{color:"primary",variant:"tonal",onClick:e[2]||(e[2]=u=>l.previewSound(i.singleSound))},{default:n(()=>[t(g,{left:""},{default:n(()=>[...e[12]||(e[12]=[o("mdi-play",-1)])]),_:1}),e[13]||(e[13]=o(" 试听 ",-1))]),_:1}),t(f,{onClick:l.resetSingleSound},{default:n(()=>[t(g,{left:""},{default:n(()=>[...e[14]||(e[14]=[o("mdi-restore",-1)])]),_:1}),e[15]||(e[15]=o(" 恢复 ",-1))]),_:1},8,["onClick"])])]),_:1})]),_:1})]),_:1}),t(B,{cols:"12"},{default:n(()=>[t(C,{border:""},{default:n(()=>[t(P,{class:"text-subtitle-1"},{default:n(()=>[t(g,{left:"",color:"error"},{default:n(()=>[...e[16]||(e[16]=[o("mdi-bell-alert",-1)])]),_:1}),e[17]||(e[17]=o(" 紧急通知铃声 ",-1))]),_:1}),t(S,null,{default:n(()=>[t(Ve,{modelValue:i.urgentSound,"onUpdate:modelValue":[e[3]||(e[3]=u=>i.urgentSound=u),l.onUrgentSoundChange],items:l.soundOptions,label:"选择铃声","prepend-icon":"mdi-music-note",variant:"outlined",density:"comfortable"},{item:n(({props:u,item:h})=>[t(x,ge(u,{onClick:d=>l.previewSound(h.value)}),{prepend:n(()=>[t(g,null,{default:n(()=>[...e[18]||(e[18]=[o("mdi-music-note",-1)])]),_:1})]),append:n(()=>[t(f,{icon:"",size:"small",variant:"text",onClick:fe(d=>l.previewSound(h.value),["stop"])},{default:n(()=>[t(g,null,{default:n(()=>[...e[19]||(e[19]=[o("mdi-play",-1)])]),_:1})]),_:1},8,["onClick"])]),_:2},1040,["onClick"])]),_:1},8,["modelValue","items","onUpdate:modelValue"]),m("div",is,[t(f,{color:"error",variant:"tonal",onClick:e[4]||(e[4]=u=>l.previewSound(i.urgentSound))},{default:n(()=>[t(g,{left:""},{default:n(()=>[...e[20]||(e[20]=[o("mdi-play",-1)])]),_:1}),e[21]||(e[21]=o(" 试听 ",-1))]),_:1}),t(f,{onClick:l.resetUrgentSound},{default:n(()=>[t(g,{left:""},{default:n(()=>[...e[22]||(e[22]=[o("mdi-restore",-1)])]),_:1}),e[23]||(e[23]=o(" 恢复 ",-1))]),_:1},8,["onClick"])])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}const ht=E(ts,[["render",ls],["__scopeId","data-v-55be56a4"]]),os={name:"ThemeSettingsCard",components:{SettingsCard:K},data(){return{localTheme:y("theme.mode")}},watch:{localTheme(s){ne("theme.mode",s),this.updateTheme(s)}},setup(){return{theme:Ht()}},methods:{updateTheme(s){this.theme.global.name.value=s}}};function as(s,e,a,r,i,l){const u=K;return c(),p(u,{icon:"mdi-palette",title:"主题设置"},{default:n(()=>[t(M,null,{default:n(()=>[t(x,null,{prepend:n(()=>[t(g,{class:"mr-3",icon:"mdi-theme-light-dark"})]),append:n(()=>[t(Ut,{modelValue:i.localTheme,"onUpdate:modelValue":e[0]||(e[0]=h=>i.localTheme=h),color:"primary",density:"comfortable"},{default:n(()=>[t(f,{value:"light"},{default:n(()=>[t(g,{class:"mr-2",icon:"mdi-white-balance-sunny"}),e[3]||(e[3]=o(" 明亮 ",-1))]),_:1}),t(f,{value:"dark"},{default:n(()=>[t(g,{class:"mr-2",icon:"mdi-moon-waning-crescent"}),e[4]||(e[4]=o(" 暗黑 ",-1))]),_:1})]),_:1},8,["modelValue"])]),default:n(()=>[t(j,null,{default:n(()=>[...e[1]||(e[1]=[o("主题模式",-1)])]),_:1}),t(Q,null,{default:n(()=>[...e[2]||(e[2]=[o("选择明亮或暗黑主题",-1)])]),_:1})]),_:1})]),_:1})]),_:1})}const pt=E(os,[["render",as]]),rs={name:"DisplaySettingsCard",components:{SettingsCard:K,SettingItem:le},data(){return{}}};function us(s,e,a,r,i,l){const u=le,h=K;return c(),p(h,{border:"",icon:"mdi-monitor",title:"显示设置"},{default:n(()=>[t(M,null,{default:n(()=>[t(u,{"setting-key":"display.emptySubjectDisplay"}),t(A,{class:"my-2"}),t(u,{"setting-key":"display.dynamicSort"}),t(A,{class:"my-2"}),t(u,{"setting-key":"display.showRandomButton"}),t(A,{class:"my-2"}),t(u,{"setting-key":"display.showFullscreenButton"}),t(A,{class:"my-2"}),t(u,{"setting-key":"display.cardHoverEffect"}),t(A,{class:"my-2"}),t(u,{"setting-key":"display.enhancedTouchMode"}),t(A,{class:"my-2"}),t(u,{"setting-key":"display.showQuickTools"}),t(A,{class:"my-2"}),t(u,{"setting-key":"display.showAntiScreenBurnCard"}),t(A,{class:"my-2"}),t(u,{"setting-key":"display.showExamScheduleButton"}),t(A,{class:"my-2"}),t(u,{"setting-key":"display.forceDesktopMode"}),t(A,{class:"my-2"}),t(u,{"setting-key":"display.lateStudentsArePresent"})]),_:1})]),_:1})}const wt=E(rs,[["render",us]]),ds={};function cs(s,e,a,r,i,l){const u=le,h=K;return c(),p(h,{icon:"mdi-cog",title:"编辑设置"},{default:n(()=>[t(M,null,{default:n(()=>[t(u,{"setting-key":"edit.autoSave"}),t(A,{class:"my-2"}),t(u,{"setting-key":"edit.blockNonTodayAutoSave"}),t(A,{class:"my-2"}),t(u,{"setting-key":"edit.confirmNonTodaySave"}),t(A,{class:"my-2"}),t(u,{"setting-key":"edit.refreshBeforeEdit"}),t(A,{class:"my-2"}),t(u,{"setting-key":"edit.autoSavePromptText"}),t(A,{class:"my-2"}),t(u,{"setting-key":"edit.manualSavePromptText"})]),_:1})]),_:1})}const gt=E(ds,[["render",cs]]),ms={name:"RefreshSettingsCard",components:{SettingsCard:K},data(){return{}}};function fs(s,e,a,r,i,l){const u=le,h=K;return c(),p(h,{icon:"mdi-refresh-circle",title:"刷新设置"},{default:n(()=>[t(lt,null,{default:n(()=>[t(M,null,{default:n(()=>[t(u,{"setting-key":"refresh.auto",title:"自动刷新"}),t(A,{class:"my-2"}),t(u,{"setting-key":"refresh.interval",title:"刷新间隔"})]),_:1})]),_:1})]),_:1})}const vt=E(ms,[["render",fs]]),hs={name:"SettingsLinkGenerator",data(){return{selectedItems:[],generatedLink:"",linkCopied:!1,search:"",preconfigForm:{namespace:"",authCode:"",autoExecute:!1},unifiedLink:"",headers:[{title:"",key:"data-table-select"},{title:"设置项",key:"description",sortable:!0},{title:"当前值",key:"value",sortable:!0},{title:"键名",key:"key",class:"d-none d-sm-table-cell",sortable:!0},{title:"状态",key:"isChanged",sortable:!0}]}},computed:{settingItems(){const s=xe(),e=[];for(const[a,r]of Object.entries(Ne)){if(r.requireDeveloper&&!s["developer.enabled"])continue;const i=s[a]!==r.default;e.push({key:a,description:r.description||a,value:s[a],icon:r.icon||"mdi-cog",isChanged:i,defaultValue:r.default})}return e.sort((a,r)=>a.key.localeCompare(r.key))},filteredItems(){if(!this.search)return this.settingItems;const s=this.search.toLowerCase();return s==="已修改"?this.settingItems.filter(e=>e.isChanged):s==="是"||s==="否"?this.settingItems.filter(e=>typeof e.value=="boolean"&&(s==="是"?e.value:!e.value)):this.settingItems.filter(e=>{const a=e.description.toLowerCase(),r=e.key.toLowerCase(),i=String(e.value).toLowerCase(),l=e.isChanged?"已修改":"默认";return a.includes(s)||r.includes(s)||i.includes(s)||l.includes(s)})},hasDisplaySettings(){return this.selectedItems.some(s=>s.startsWith("display."))},hasEditSettings(){return this.selectedItems.some(s=>s.startsWith("edit."))},hasServerSettings(){return this.selectedItems.some(s=>s.startsWith("server."))},hasChangedSettings(){const s=xe();return this.selectedItems.some(e=>{const a=Ne[e];return a&&s[e]!==a.default})}},methods:{handleSelectionChange(s){this.selectedItems=s.map(e=>e.key),this.generateLink()},generateLink(){const s=`${window.location.protocol}//${window.location.host}/`,e=xe(),a={};for(const r of this.selectedItems)a[r]=e[r];if(Object.keys(a).length===0){this.generatedLink=s;return}try{const r=JSON.stringify(a),l=new TextEncoder().encode(r),h={config:btoa(Array.from(l).map(I=>String.fromCharCode(I)).join(""))},b=new URLSearchParams(window.location.search).get("date");b&&(h.date=b);const T=new URLSearchParams(h).toString();this.generatedLink=`${s}?${T}`}catch(r){console.error("生成链接失败:",r),this.generatedLink="链接生成失败,请重试"}this.linkCopied=!1},async copyLink(){this.generatedLink||this.generateLink();try{await navigator.clipboard.writeText(this.generatedLink),this.linkCopied=!0,setTimeout(()=>{this.linkCopied=!1},3e3)}catch(s){console.error("复制链接失败:",s)}},resetSelection(){this.selectedItems=[],this.generatedLink="",this.linkCopied=!1},selectAll(){this.selectedItems=this.settingItems.map(s=>s.key),this.generateLink()},selectDataSourceSettings(){const s=this.settingItems.filter(e=>e.key.startsWith("server.")&&e.key!=="server.kvToken").map(e=>e.key);this.selectedItems=s,this.generateLink()},selectChangedSettings(){const s=this.settingItems.filter(e=>e.isChanged&&e.key!=="server.kvToken").map(e=>e.key);this.selectedItems=s,this.generateLink()},selectByPrefix(s){const e=this.settingItems.filter(a=>a.key.startsWith(`${s}.`)).map(a=>a.key);this.selectedItems=e},autoGenerateLink(){this.selectedItems.length>0?this.generateLink():this.generatedLink=""},getSettingDescription(s){const e=this.settingItems.find(a=>a.key===s);return e?e.description:s},generateUnifiedLink(){if(this.preconfigForm.namespace.trim())try{const s=`${window.location.protocol}//${window.location.host}/`,e=new URLSearchParams;if(e.append("namespace",this.preconfigForm.namespace.trim()),this.preconfigForm.authCode.trim()&&e.append("authCode",this.preconfigForm.authCode.trim()),this.preconfigForm.autoExecute&&e.append("autoExecute","true"),this.selectedItems.length>0){const a=xe(),r={};for(const d of this.selectedItems)r[d]=a[d];const i=JSON.stringify(r),u=new TextEncoder().encode(i),h=btoa(Array.from(u).map(d=>String.fromCharCode(d)).join(""));e.append("config",h)}this.unifiedLink=`${s}?${e.toString()}`,this.linkCopied=!1,console.log("生成统一链接:",this.unifiedLink),console.log("包含预配置:",!!this.preconfigForm.namespace),console.log("包含设置数量:",this.selectedItems.length)}catch(s){console.error("生成统一链接失败:",s),this.unifiedLink="链接生成失败,请重试"}},async copyUnifiedLink(){if(this.unifiedLink||this.generateUnifiedLink(),!(!this.unifiedLink||this.unifiedLink.includes("失败")))try{await navigator.clipboard.writeText(this.unifiedLink),this.linkCopied=!0,setTimeout(()=>{this.linkCopied=!1},3e3)}catch(s){console.error("复制统一链接失败:",s)}},openTestLink(){this.unifiedLink&&!this.unifiedLink.includes("失败")&&window.open(this.unifiedLink,"_blank")},clearAll(){this.preconfigForm={namespace:"",authCode:"",autoExecute:!1},this.selectedItems=[],this.unifiedLink="",this.generatedLink="",this.linkCopied=!1}},watch:{selectedItems:{handler(){this.preconfigForm.namespace.trim()&&this.generateUnifiedLink()},deep:!0},"preconfigForm.namespace":{handler(){this.preconfigForm.namespace.trim()?this.generateUnifiedLink():this.unifiedLink=""}},"preconfigForm.authCode":{handler(){this.preconfigForm.namespace.trim()&&this.generateUnifiedLink()}},"preconfigForm.autoExecute":{handler(){this.preconfigForm.namespace.trim()&&this.generateUnifiedLink()}}}},ps={class:"d-flex mb-3 gap-2 flex-wrap"},ws={class:"d-flex align-center mb-3 flex-wrap gap-2"},gs={class:"d-flex align-center"},vs={class:"d-flex align-center"},bs={key:0},ks={key:1},ys={key:2},xs={class:"text-caption text-grey"},Ss={class:"d-flex mb-3 gap-2 flex-wrap"},Cs={class:"d-flex flex-wrap gap-1"};function _s(s,e,a,r,i,l){return c(),k("div",null,[t(C,{border:"",class:"unified-link-generator"},{default:n(()=>[t(P,{class:"text-h6"},{default:n(()=>[t(g,{class:"mr-2",icon:"mdi-link-variant",start:""}),e[6]||(e[6]=o(" 统一链接生成器 ",-1))]),_:1}),t(S,null,{default:n(()=>[e[35]||(e[35]=m("div",{class:"text-body-2 text-medium-emphasis mb-4"}," 生成包含预配置认证信息和设置的统一链接。可以同时预配置设备认证和应用设置。 ",-1)),t(C,{class:"mb-4",variant:"tonal"},{default:n(()=>[t(P,{class:"text-subtitle-1"},{default:n(()=>[t(g,{start:""},{default:n(()=>[...e[7]||(e[7]=[o("mdi-account-key",-1)])]),_:1}),e[8]||(e[8]=o(" 预配置认证信息 ",-1))]),_:1}),t(S,null,{default:n(()=>[t(Y,null,{default:n(()=>[t(B,{cols:"12",md:"6"},{default:n(()=>[t(N,{modelValue:i.preconfigForm.namespace,"onUpdate:modelValue":e[0]||(e[0]=u=>i.preconfigForm.namespace=u),hint:"设备的命名空间标识符",label:"命名空间","persistent-hint":"",placeholder:"例如: classroom-001","prepend-inner-icon":"mdi-identifier",variant:"outlined"},null,8,["modelValue"])]),_:1}),t(B,{cols:"12",md:"6"},{default:n(()=>[t(N,{modelValue:i.preconfigForm.authCode,"onUpdate:modelValue":e[1]||(e[1]=u=>i.preconfigForm.authCode=u),hint:"留空则需要用户手动输入",label:"认证码","persistent-hint":"",placeholder:"设备认证码(可选)","prepend-inner-icon":"mdi-lock-outline",variant:"outlined"},null,8,["modelValue"])]),_:1})]),_:1}),t(Y,{class:"mt-2"},{default:n(()=>[t(B,{cols:"12"},{default:n(()=>[t(ie,{modelValue:i.preconfigForm.autoExecute,"onUpdate:modelValue":e[2]||(e[2]=u=>i.preconfigForm.autoExecute=u),density:"compact",hint:"启用后会自动尝试认证,即使没有认证码也会尝试",label:"自动执行认证","persistent-hint":""},null,8,["modelValue"])]),_:1})]),_:1}),i.preconfigForm.namespace?(c(),p(L,{key:0,class:"mt-3",type:"info",variant:"tonal"},{default:n(()=>[e[13]||(e[13]=m("div",{class:"text-subtitle-2 mb-2"},"预配置信息:",-1)),t(z,{class:"mr-2 mb-1",size:"small"},{default:n(()=>[t(g,{size:"small",start:""},{default:n(()=>[...e[9]||(e[9]=[o("mdi-identifier",-1)])]),_:1}),o(" 命名空间: "+w(i.preconfigForm.namespace),1)]),_:1}),i.preconfigForm.authCode?(c(),p(z,{key:0,class:"mr-2 mb-1",color:"warning",size:"small"},{default:n(()=>[t(g,{size:"small",start:""},{default:n(()=>[...e[10]||(e[10]=[o("mdi-lock",-1)])]),_:1}),o(" 认证码: "+w(i.preconfigForm.authCode.length>8?i.preconfigForm.authCode.substring(0,8)+"...":i.preconfigForm.authCode),1)]),_:1})):(c(),p(z,{key:1,class:"mr-2 mb-1",color:"grey",size:"small"},{default:n(()=>[t(g,{size:"small",start:""},{default:n(()=>[...e[11]||(e[11]=[o("mdi-lock-open",-1)])]),_:1}),e[12]||(e[12]=o(" 无认证码 ",-1))]),_:1})),t(z,{color:i.preconfigForm.autoExecute?"success":"orange",class:"mr-2 mb-1",size:"small"},{default:n(()=>[t(g,{size:"small",start:""},{default:n(()=>[o(w(i.preconfigForm.autoExecute?"mdi-play-circle":"mdi-hand-back-left"),1)]),_:1}),o(" "+w(i.preconfigForm.autoExecute?"自动认证":"手动认证"),1)]),_:1},8,["color"])]),_:1})):v("",!0)]),_:1})]),_:1}),t(C,{class:"mb-4",variant:"tonal"},{default:n(()=>[t(P,{class:"text-subtitle-1"},{default:n(()=>[t(g,{start:""},{default:n(()=>[...e[14]||(e[14]=[o("mdi-cog-transfer",-1)])]),_:1}),e[15]||(e[15]=o(" 设置分享(可选) ",-1))]),_:1}),t(S,null,{default:n(()=>[e[22]||(e[22]=m("div",{class:"text-body-2 text-medium-emphasis mb-3"}," 选择需要包含在链接中的设置项。如果不选择任何设置,将只生成预配置认证链接。 ",-1)),m("div",ps,[t(f,{color:"primary","prepend-icon":"mdi-server-network",size:"small",variant:"tonal",onClick:l.selectDataSourceSettings},{default:n(()=>[...e[16]||(e[16]=[o(" 数据源设置 ",-1)])]),_:1},8,["onClick"]),t(f,{color:"primary","prepend-icon":"mdi-compare",size:"small",variant:"tonal",onClick:l.selectChangedSettings},{default:n(()=>[...e[17]||(e[17]=[o(" 已变更设置 ",-1)])]),_:1},8,["onClick"]),t(f,{color:"success","prepend-icon":"mdi-select-all",size:"small",variant:"tonal",onClick:l.selectAll},{default:n(()=>[...e[18]||(e[18]=[o(" 全选 ",-1)])]),_:1},8,["onClick"]),t(f,{color:"error","prepend-icon":"mdi-select-remove",size:"small",variant:"tonal",onClick:l.resetSelection},{default:n(()=>[...e[19]||(e[19]=[o(" 清除选择 ",-1)])]),_:1},8,["onClick"])]),m("div",ws,[t(z,{class:"mr-2",color:"primary"},{default:n(()=>[o(" 已选 "+w(i.selectedItems.length)+" 项设置 ",1)]),_:1}),i.selectedItems.length>0?(c(),k(F,{key:0},[(c(!0),k(F,null,W(i.selectedItems.slice(0,3),u=>(c(),p(z,{key:u,class:"mr-1",size:"small",variant:"text"},{default:n(()=>[o(w(l.getSettingDescription(u)),1)]),_:2},1024))),128)),i.selectedItems.length>3?(c(),p(z,{key:0,color:"grey",size:"small",variant:"text"},{default:n(()=>[o(" +"+w(i.selectedItems.length-3)+" 更多 ",1)]),_:1})):v("",!0)],64)):v("",!0)]),t(ze,{variant:"accordion"},{default:n(()=>[t(Le,null,{default:n(()=>[t(ot,null,{default:n(({expanded:u})=>[m("div",gs,[t(g,{class:"mr-2"},{default:n(()=>[o(w(u?"mdi-chevron-up":"mdi-chevron-down"),1)]),_:2},1024),e[20]||(e[20]=o(" 显示设置列表详情 ",-1))])]),_:1}),t(Ke,null,{default:n(()=>[t(N,{modelValue:i.search,"onUpdate:modelValue":e[3]||(e[3]=u=>i.search=u),class:"mb-4",clearable:"","hide-details":"",label:"搜索设置","prepend-inner-icon":"mdi-magnify","single-line":""},null,8,["modelValue"]),t(at,{modelValue:i.selectedItems,"onUpdate:modelValue":e[4]||(e[4]=u=>i.selectedItems=u),headers:i.headers,items:l.filteredItems,"items-per-page":l.settingItems.length,"sort-by":[{key:"isChanged",order:"desc"}],class:"rounded setting-table",density:"compact","item-value":"key","show-select":"","onUpdate:selected":l.handleSelectionChange},{"item.description":n(({item:u})=>[m("div",vs,[t(g,{icon:u.icon,class:"mr-2",size:"small"},null,8,["icon"]),o(" "+w(u.description)+" ",1),u.key==="server.kvToken"?(c(),p(z,{key:0,class:"ml-2",color:"error",size:"x-small"},{default:n(()=>[...e[21]||(e[21]=[o(" 敏感 ",-1)])]),_:1})):v("",!0)])]),"item.value":n(({item:u})=>[typeof u.value=="boolean"?(c(),k("span",bs,w(u.value?"是":"否"),1)):u.key==="server.kvToken"&&u.value?(c(),k("span",ks,w(u.value.substring(0,8))+"... ",1)):(c(),k("span",ys,w(u.value),1))]),"item.key":n(({item:u})=>[m("span",xs,w(u.key),1)]),"item.isChanged":n(({item:u})=>[t(z,{color:u.isChanged?"warning":"success",text:u.isChanged?"已修改":"默认",density:"compact",size:"x-small"},null,8,["color","text"])]),_:2},1032,["modelValue","headers","items","items-per-page","onUpdate:selected"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),t(C,{class:"mb-4",variant:"outlined"},{default:n(()=>[t(P,{class:"text-subtitle-1"},{default:n(()=>[t(g,{start:""},{default:n(()=>[...e[23]||(e[23]=[o("mdi-link",-1)])]),_:1}),e[24]||(e[24]=o(" 生成的统一链接 ",-1))]),_:1}),t(S,null,{default:n(()=>[m("div",Ss,[t(f,{disabled:!i.preconfigForm.namespace.trim(),color:"primary","prepend-icon":"mdi-auto-fix",variant:"flat",onClick:l.generateUnifiedLink},{default:n(()=>[...e[25]||(e[25]=[o(" 生成统一链接 ",-1)])]),_:1},8,["disabled","onClick"]),t(f,{disabled:!i.unifiedLink,color:"success","prepend-icon":"mdi-test-tube",variant:"tonal",onClick:l.openTestLink},{default:n(()=>[...e[26]||(e[26]=[o(" 测试链接 ",-1)])]),_:1},8,["disabled","onClick"]),t(f,{color:"error","prepend-icon":"mdi-delete",variant:"tonal",onClick:l.clearAll},{default:n(()=>[...e[27]||(e[27]=[o(" 清空所有 ",-1)])]),_:1},8,["onClick"])]),t(N,{modelValue:i.unifiedLink,"onUpdate:modelValue":e[5]||(e[5]=u=>i.unifiedLink=u),"append-inner-icon":i.linkCopied?"mdi-check":"mdi-content-copy",placeholder:i.preconfigForm.namespace?"点击「生成统一链接」按钮":"请先输入命名空间",class:"mb-3",label:"统一链接",readonly:"",variant:"outlined","onClick:appendInner":l.copyUnifiedLink},null,8,["modelValue","append-inner-icon","placeholder","onClick:appendInner"]),i.unifiedLink?(c(),p(L,{key:0,class:"mb-3",type:"success",variant:"tonal"},{default:n(()=>[e[33]||(e[33]=m("div",{class:"text-subtitle-2 mb-2"},"链接包含内容:",-1)),m("div",Cs,[t(z,{color:"primary",size:"small"},{default:n(()=>[t(g,{size:"small",start:""},{default:n(()=>[...e[28]||(e[28]=[o("mdi-account-key",-1)])]),_:1}),e[29]||(e[29]=o(" 预配置认证 ",-1))]),_:1}),i.selectedItems.length>0?(c(),p(z,{key:0,color:"secondary",size:"small"},{default:n(()=>[t(g,{size:"small",start:""},{default:n(()=>[...e[30]||(e[30]=[o("mdi-cog",-1)])]),_:1}),o(" "+w(i.selectedItems.length)+" 项设置 ",1)]),_:1})):(c(),p(z,{key:1,color:"grey",size:"small"},{default:n(()=>[t(g,{size:"small",start:""},{default:n(()=>[...e[31]||(e[31]=[o("mdi-cog-off",-1)])]),_:1}),e[32]||(e[32]=o(" 无额外设置 ",-1))]),_:1}))])]),_:1})):v("",!0)]),_:1})]),_:1}),t(L,{type:"warning",variant:"tonal"},{default:n(()=>[...e[34]||(e[34]=[m("div",{class:"text-subtitle-2 mb-2"},"⚠️ 安全提醒",-1),m("ul",{class:"text-body-2 pl-4"},[m("li",null,"认证码和设置信息会在URL中传输,请谨慎分发"),m("li",null,"建议仅在受信任的网络环境中使用"),m("li",null,"生产环境建议使用HTTPS协议"),m("li",null,"数据源设置和已变更设置默认不包含敏感Token信息")],-1)])]),_:1})]),_:1})]),_:1})])}const bt=E(hs,[["render",_s]]),Vs={name:"UnsavedWarning",props:{show:Boolean,message:{type:String,default:"未保存"}}},Ds={class:"warning-container"};function As(s,e,a,r,i,l){return c(),k("div",Ds,[a.show?(c(),p(z,{key:0,class:"warning-chip",color:"warning",size:"small"},{default:n(()=>[o(w(a.message),1)]),_:1})):v("",!0)])}const Ue=E(Vs,[["render",As],["__scopeId","data-v-0f36b655"]]),Is=Yt({disabled:Boolean,modelValue:{type:Boolean,default:null},...Bt()},"VHover"),kt=Gt()({name:"VHover",props:Is(),emits:{"update:modelValue":s=>!0},setup(s,e){let{slots:a}=e;const r=Wt(s,"modelValue"),{runOpenDelay:i,runCloseDelay:l}=jt(s,u=>!s.disabled&&(r.value=u));return()=>{var u;return(u=a.default)==null?void 0:u.call(a,{isHovering:r.value,props:{onMouseenter:i,onMouseleave:l}})}}}),Ts={name:"TeacherListCard",components:{UnsavedWarning:Ue},props:{isMobile:Boolean},data(){return{newTeacher:{name:"",subjects:[],isHeadTeacher:!1},editState:{index:-1,teacher:null},modelValue:{list:[],text:"",advanced:!1},loading:!1,error:null,lastSavedData:null,unsavedChanges:!1,commonSubjects:["语文","数学","英语","物理","化学","生物","政治","历史","地理","信息技术","音乐","美术","体育"]}},watch:{modelValue:{handler(s){this.lastSavedData&&(this.unsavedChanges=JSON.stringify(s.list)!==JSON.stringify(this.lastSavedData)),this.modelValue.advanced||(this.modelValue.text=JSON.stringify(s.list,null,2))},deep:!0}},mounted(){this.loadTeachers()},methods:{async loadTeachers(){var s;this.error=null;try{if(this.loading=!0,!y("server.classNumber"))throw new Error("请先设置班号");try{const a=await H.loadData("classworks-list-teacher");a.success!==!1&&Array.isArray(a)&&(this.modelValue.list=a.map(r=>({name:r.name||"",subjects:Array.isArray(r.subjects)?r.subjects:[],isHeadTeacher:!!r.isHeadTeacher})),this.modelValue.text=JSON.stringify(this.modelValue.list,null,2),this.lastSavedData=JSON.parse(JSON.stringify(this.modelValue.list)),this.unsavedChanges=!1)}catch(a){console.warn("Failed to load teacher list, initializing empty list",a),this.modelValue.list=[],this.modelValue.text="[]",this.lastSavedData=[]}}catch(e){console.error("加载教师列表失败:",e),this.error=e.message||"加载失败,请检查设置",(s=this.$message)==null||s.error("加载失败",this.error)}finally{this.loading=!1}},async saveTeachers(){var s,e,a;try{if(!y("server.classNumber"))throw new Error("请先设置班号");const i=this.modelValue.list.map(u=>({name:u.name,subjects:Array.isArray(u.subjects)?u.subjects:[],isHeadTeacher:!!u.isHeadTeacher})),l=await H.saveData("classworks-list-teacher",i);if(l.success===!1)throw new Error(((s=l.error)==null?void 0:s.message)||"保存失败");this.modelValue.list=i,this.lastSavedData=JSON.parse(JSON.stringify(i)),this.unsavedChanges=!1,(e=this.$message)==null||e.success("保存成功","教师列表已更新")}catch(r){console.error("保存教师列表失败:",r),(a=this.$message)==null||a.error("保存失败",r.message||"请重试")}},toggleAdvanced(){this.modelValue.advanced=!this.modelValue.advanced,this.modelValue.advanced&&(this.modelValue.text=JSON.stringify(this.modelValue.list,null,2))},handleTextInput(s){if(this.modelValue.advanced)try{const e=JSON.parse(s);Array.isArray(e)?(this.modelValue.list=e.map(a=>({name:a.name||"",subjects:Array.isArray(a.subjects)?a.subjects:[],isHeadTeacher:!!a.isHeadTeacher})),this.error=null):this.error="JSON 必须是一个数组"}catch(e){this.error="JSON 格式错误: "+e.message}},addTeacher(){var e,a;const s=this.newTeacher.name.trim();if(!s){(e=this.$message)==null||e.warning("提示","请输入教师姓名");return}if(this.newTeacher.subjects.length===0){(a=this.$message)==null||a.warning("提示","请选择至少一个任教科目");return}this.modelValue.list.push({name:s,subjects:[...this.newTeacher.subjects],isHeadTeacher:this.newTeacher.isHeadTeacher}),this.newTeacher={name:"",subjects:[],isHeadTeacher:!1}},startEdit(s,e){this.editState.index=s,this.editState.teacher={name:e.name,subjects:[...e.subjects],isHeadTeacher:e.isHeadTeacher}},saveEdit(){var s,e;if(this.editState.index!==-1){const a=this.editState.teacher.name.trim();if(!a){(s=this.$message)==null||s.warning("提示","教师姓名不能为空");return}if(this.editState.teacher.subjects.length===0){(e=this.$message)==null||e.warning("提示","请选择至少一个任教科目");return}this.modelValue.list[this.editState.index]={name:a,subjects:[...this.editState.teacher.subjects],isHeadTeacher:this.editState.teacher.isHeadTeacher},this.editState.index=-1,this.editState.teacher=null}},cancelEdit(){this.editState.index=-1,this.editState.teacher=null},removeTeacher(s){s!==void 0&&this.modelValue.list.splice(s,1)},handleClick(s,e){this.isMobile&&this.startEdit(s,e)}}},Us={key:0},js={class:"d-flex align-start mb-3"},Bs={class:"flex-grow-1"},Ns={class:"d-flex align-center mb-1"},Ps=["onClick"],Ms={key:0,class:"mt-2"},Es={key:1,class:"mt-1"},zs={key:1,class:"pt-2"};function Ls(s,e,a,r,i,l){const u=Ue;return c(),p(C,{class:_e({"unsaved-changes":i.unsavedChanges}),color:i.unsavedChanges?"warning-subtle":void 0,border:""},{default:n(()=>[t(we,null,{prepend:n(()=>[t(g,{class:"mr-2",icon:"mdi-account-tie",size:"large"})]),append:n(()=>[t(u,{show:i.unsavedChanges,message:"有未保存的更改"},null,8,["show"]),t(f,{color:i.modelValue.advanced?"primary":void 0,"prepend-icon":"mdi-code-braces",variant:"text",onClick:l.toggleAdvanced},{default:n(()=>[o(w(i.modelValue.advanced?"返回基础编辑":"高级编辑"),1)]),_:1},8,["color","onClick"])]),default:n(()=>[t(P,{class:"text-h6"},{default:n(()=>[...e[4]||(e[4]=[o("教师列表",-1)])]),_:1})]),_:1}),t(S,null,{default:n(()=>[i.loading?(c(),p(Ae,{key:0,class:"mb-4",color:"primary",indeterminate:""})):v("",!0),i.error?(c(),p(L,{key:1,class:"mb-4",closable:"",type:"error",variant:"tonal"},{default:n(()=>[o(w(i.error),1)]),_:1})):v("",!0),t(nt,null,{default:n(()=>[i.modelValue.advanced?(c(),k("div",zs,[t(pe,{modelValue:i.modelValue.text,"onUpdate:modelValue":[e[3]||(e[3]=h=>i.modelValue.text=h),l.handleTextInput],hint:"JSON 格式编辑教师列表。每个教师需包含 name、subjects(数组)、isHeadTeacher(布尔值)",label:"批量编辑教师列表 (JSON)","persistent-hint":"",placeholder:'[{"name":"教师姓名","subjects":["语文","数学"],"isHeadTeacher":true}]',rows:"15",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue"])])):(c(),k("div",Us,[t(C,{class:"mb-6",variant:"outlined"},{default:n(()=>[t(S,null,{default:n(()=>[t(Y,null,{default:n(()=>[t(B,{cols:"12",md:"4"},{default:n(()=>[t(N,{modelValue:i.newTeacher.name,"onUpdate:modelValue":e[0]||(e[0]=h=>i.newTeacher.name=h),density:"comfortable","hide-details":"",label:"教师姓名",placeholder:"输入教师姓名","prepend-inner-icon":"mdi-account",variant:"outlined"},null,8,["modelValue"])]),_:1}),t(B,{cols:"12",md:"5"},{default:n(()=>[t(Je,{modelValue:i.newTeacher.subjects,"onUpdate:modelValue":e[1]||(e[1]=h=>i.newTeacher.subjects=h),items:i.commonSubjects,chips:"",clearable:"","closable-chips":"",density:"comfortable","hide-details":"",label:"任教科目",multiple:"",placeholder:"选择或输入科目","prepend-inner-icon":"mdi-book-open-variant",variant:"outlined"},null,8,["modelValue","items"])]),_:1}),t(B,{cols:"12",md:"3",class:"d-flex align-center gap-2"},{default:n(()=>[t(ie,{modelValue:i.newTeacher.isHeadTeacher,"onUpdate:modelValue":e[2]||(e[2]=h=>i.newTeacher.isHeadTeacher=h),density:"comfortable","hide-details":"",label:"班主任"},null,8,["modelValue"]),t(f,{disabled:!i.newTeacher.name.trim()||i.newTeacher.subjects.length===0,color:"primary","prepend-icon":"mdi-plus",onClick:l.addTeacher},{default:n(()=>[...e[5]||(e[5]=[o(" 添加教师 ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})]),_:1})]),_:1}),i.modelValue.list.length===0?(c(),p(Y,{key:0},{default:n(()=>[t(B,{cols:"12"},{default:n(()=>[t(L,{type:"info",variant:"tonal"},{default:n(()=>[...e[6]||(e[6]=[o(" 暂无教师信息,请添加教师 ",-1)])]),_:1})]),_:1})]),_:1})):(c(),p(Y,{key:1},{default:n(()=>[(c(!0),k(F,null,W(i.modelValue.list,(h,d)=>(c(),p(B,{key:d,cols:"12",lg:"6",xl:"4"},{default:n(()=>[t(kt,null,{default:n(({isHovering:b,props:T})=>[t(C,ge({elevation:a.isMobile?1:b?4:1,border:"",class:"teacher-card"},{ref_for:!0},T),{default:n(()=>[t(S,{class:"pa-4"},{default:n(()=>[m("div",js,[t(Ie,{color:h.isHeadTeacher?"primary":"grey-lighten-1",class:"mr-3",size:"48"},{default:n(()=>[t(g,{icon:h.isHeadTeacher?"mdi-star":"mdi-account",size:"28"},null,8,["icon"])]),_:2},1032,["color"]),m("div",Bs,[m("div",Ns,[i.editState.index===d?(c(),p(N,{key:0,modelValue:i.editState.teacher.name,"onUpdate:modelValue":I=>i.editState.teacher.name=I,autofocus:"",class:"flex-grow-1",density:"compact","hide-details":"",variant:"underlined"},null,8,["modelValue","onUpdate:modelValue"])):(c(),k("span",{key:1,class:"text-h6 font-weight-medium",onClick:I=>l.handleClick(d,h)},w(h.name),9,Ps)),h.isHeadTeacher?(c(),p(z,{key:2,class:"ml-2",color:"primary",density:"comfortable",size:"small",variant:"flat"},{default:n(()=>[...e[7]||(e[7]=[o(" 班主任 ",-1)])]),_:1})):v("",!0)]),i.editState.index===d?(c(),k("div",Ms,[t(Je,{modelValue:i.editState.teacher.subjects,"onUpdate:modelValue":I=>i.editState.teacher.subjects=I,items:i.commonSubjects,chips:"","closable-chips":"",density:"compact","hide-details":"",label:"任教科目",multiple:"",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","items"]),t(ie,{modelValue:i.editState.teacher.isHeadTeacher,"onUpdate:modelValue":I=>i.editState.teacher.isHeadTeacher=I,class:"mt-2",density:"compact","hide-details":"",label:"班主任"},null,8,["modelValue","onUpdate:modelValue"])])):(c(),k("div",Es,[(c(!0),k(F,null,W(h.subjects,(I,te)=>(c(),p(z,{key:te,class:"mr-1 mb-1",density:"comfortable",size:"small",variant:"tonal"},{default:n(()=>[o(w(I),1)]),_:2},1024))),128))]))]),m("div",{class:_e([{"opacity-100":b||a.isMobile||i.editState.index===d},"d-flex gap-1 action-buttons ml-2"])},[i.editState.index===d?(c(),p(f,{key:0,color:"success",icon:"mdi-check",size:"small",variant:"text",onClick:l.saveEdit},null,8,["onClick"])):v("",!0),i.editState.index===d?(c(),p(f,{key:1,color:"grey",icon:"mdi-close",size:"small",variant:"text",onClick:l.cancelEdit},null,8,["onClick"])):(c(),p(f,{key:2,color:"primary",icon:"mdi-pencil",size:"small",variant:"text",onClick:I=>l.startEdit(d,h)},null,8,["onClick"])),i.editState.index!==d?(c(),p(f,{key:3,color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:I=>l.removeTeacher(d)},null,8,["onClick"])):v("",!0)],2)])]),_:2},1024)]),_:2},1040,["elevation"])]),_:2},1024)]),_:2},1024))),128))]),_:1}))]))]),_:1}),t(Y,{class:"mt-6"},{default:n(()=>[t(B,{class:"d-flex gap-2",cols:"12"},{default:n(()=>[t(f,{disabled:i.loading,loading:i.loading,color:"primary","prepend-icon":"mdi-content-save",size:"large",onClick:l.saveTeachers},{default:n(()=>[...e[8]||(e[8]=[o(" 保存教师列表 ",-1)])]),_:1},8,["disabled","loading","onClick"]),t(f,{disabled:i.loading,loading:i.loading,color:"error","prepend-icon":"mdi-refresh",size:"large",variant:"outlined",onClick:l.loadTeachers},{default:n(()=>[...e[9]||(e[9]=[o(" 重载教师列表 ",-1)])]),_:1},8,["disabled","loading","onClick"])]),_:1})]),_:1})]),_:1})]),_:1},8,["class","color"])}const yt=E(Ts,[["render",Ls],["__scopeId","data-v-16455a49"]]);let Be=null;async function Ks(){return Be||(Be=(await $e(async()=>{const{pinyin:s}=await import("./index-fer6T-lk.js");return{pinyin:s}},[],import.meta.url)).pinyin),Be}const Rs={name:"StudentListCard",components:{UnsavedWarning:Ue},props:{isMobile:Boolean},data(){return{newStudentName:"",editState:{index:-1,name:""},modelValue:{list:[],text:"",advanced:!1},loading:!1,error:null,lastSavedData:null,unsavedChanges:!1}},watch:{modelValue:{handler(s){this.lastSavedData&&(this.unsavedChanges=JSON.stringify(s.list)!==JSON.stringify(this.lastSavedData)),this.modelValue.advanced||(this.modelValue.text=s.list.slice().sort((e,a)=>e.id-a.id).map(e=>e.name).join(` +`))},deep:!0}},mounted(){this.loadStudents()},methods:{async loadStudents(){var s;this.error=null;try{if(this.loading=!0,!y("server.classNumber"))throw new Error("请先设置班号");try{const a=await H.loadData("classworks-list-main");a.success!=!1&&Array.isArray(a)&&(this.modelValue.list=a.map((r,i)=>typeof r=="string"?{id:i+1,name:r}:{id:r.id||i+1,name:r.name||r.toString()}),this.modelValue.list.sort((r,i)=>r.id-i.id),this.modelValue.text=this.modelValue.list.map(r=>r.name).join(` +`),this.lastSavedData=JSON.parse(JSON.stringify(this.modelValue.list)),this.unsavedChanges=!1)}catch(a){console.warn("Failed to load student list from dedicated key, falling back to config",a)}}catch(e){console.error("加载学生列表失败:",e),this.error=e.message||"加载失败,请检查设置",(s=this.$message)==null||s.error("加载失败",this.error)}finally{this.loading=!1}},async saveStudents(){var s,e,a;try{if(!y("server.classNumber"))throw new Error("请先设置班号");const i=this.modelValue.list.slice().sort((u,h)=>u.id-h.id).map((u,h)=>({id:h+1,name:u.name})),l=await H.saveData("classworks-list-main",i);if(l.success===!1)throw new Error(((s=l.error)==null?void 0:s.message)||"保存失败");this.modelValue.list=i,this.lastSavedData=JSON.parse(JSON.stringify(i)),this.unsavedChanges=!1,(e=this.$message)==null||e.success("保存成功","学生列表已更新")}catch(r){console.error("保存学生列表失败:",r),(a=this.$message)==null||a.error("保存失败",r.message||"请重试")}},toggleAdvanced(){this.modelValue.advanced=!this.modelValue.advanced},handleTextInput(s){if(!this.modelValue.advanced)return;const e=s.split(` +`).filter(l=>l.trim()),a=new Map(this.modelValue.list.map(l=>[l.name,l.id]));let r=Math.max(0,...this.modelValue.list.map(l=>l.id));const i=e.map(l=>(l=l.trim(),a.has(l)?{id:a.get(l),name:l}:{id:++r,name:l}));this.modelValue.list=i},addStudent(){const s=this.newStudentName.trim();if(s&&!this.modelValue.list.some(e=>e.name===s)){const e=Math.max(0,...this.modelValue.list.map(a=>a.id));this.modelValue.list.push({id:e+1,name:s}),this.newStudentName=""}},startEdit(s,e){this.editState.index=s,this.editState.name=e.name},saveEdit(){if(this.editState.index!==-1){const s=this.editState.name.trim();s&&s!==this.modelValue.list[this.editState.index].name&&(this.modelValue.list[this.editState.index].name=s),this.editState.index=-1,this.editState.name=""}},removeStudent(s){s!==void 0&&this.modelValue.list.splice(s,1)},moveStudent(s,e){if(e==="top"){if(s>0){const a=this.modelValue.list[s];this.modelValue.list.splice(s,1),this.modelValue.list.unshift(a),this.modelValue.list.forEach((r,i)=>r.id=i+1)}}else{const a=e==="up"?s-1:s+1;a>=0&&a{const i=s(a.name,{toneType:"none"}),l=s(r.name,{toneType:"none"});return i.localeCompare(l)});e.forEach((a,r)=>a.id=r+1),this.modelValue.list=e}}},Os={key:0},Fs=["onClick"],Js={key:1,class:"pt-2"};function Qs(s,e,a,r,i,l){const u=Ue;return c(),p(C,{class:_e({"unsaved-changes":i.unsavedChanges}),color:i.unsavedChanges?"warning-subtle":void 0,border:""},{default:n(()=>[t(we,null,{prepend:n(()=>[t(g,{class:"mr-2",icon:"mdi-account-group",size:"large"})]),append:n(()=>[t(u,{show:i.unsavedChanges,message:"有未保存的更改"},null,8,["show"]),t(f,{disabled:i.modelValue.list.length===0,class:"mr-2","prepend-icon":"mdi-sort-alphabetical-variant",variant:"text",onClick:l.sortStudentsByPinyin},{default:n(()=>[...e[4]||(e[4]=[o(" 按姓名首字母排序 ",-1)])]),_:1},8,["disabled","onClick"]),t(f,{color:i.modelValue.advanced?"primary":void 0,"prepend-icon":"mdi-code-braces",variant:"text",onClick:l.toggleAdvanced},{default:n(()=>[o(w(i.modelValue.advanced?"返回基础编辑":"高级编辑"),1)]),_:1},8,["color","onClick"])]),default:n(()=>[t(P,{class:"text-h6"},{default:n(()=>[...e[3]||(e[3]=[o("学生列表",-1)])]),_:1})]),_:1}),t(S,null,{default:n(()=>[i.loading?(c(),p(Ae,{key:0,class:"mb-4",color:"primary",indeterminate:""})):v("",!0),i.error?(c(),p(L,{key:1,class:"mb-4",closable:"",type:"error",variant:"tonal"},{default:n(()=>[o(w(i.error),1)]),_:1})):v("",!0),t(nt,null,{default:n(()=>[i.modelValue.advanced?(c(),k("div",Js,[t(pe,{modelValue:i.modelValue.text,"onUpdate:modelValue":[e[2]||(e[2]=h=>i.modelValue.text=h),l.handleTextInput],hint:"使用文本编辑模式批量编辑学生名单,保存时会自动去除空行",label:"批量编辑学生列表","persistent-hint":"",placeholder:"每行输入一个学生姓名",rows:"10",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue"])])):(c(),k("div",Os,[t(Y,{class:"mb-6"},{default:n(()=>[t(B,{cols:"12",md:"4",sm:"6"},{default:n(()=>[t(N,{modelValue:i.newStudentName,"onUpdate:modelValue":e[0]||(e[0]=h=>i.newStudentName=h),class:"mb-4","hide-details":"",label:"添加学生",placeholder:"输入学生姓名后回车添加","prepend-inner-icon":"mdi-account-plus",variant:"outlined",onKeyup:ae(l.addStudent,["enter"])},{append:n(()=>[t(f,{disabled:!i.newStudentName.trim(),color:"primary",icon:"mdi-plus",variant:"text",onClick:l.addStudent},null,8,["disabled","onClick"])]),_:1},8,["modelValue","onKeyup"])]),_:1})]),_:1}),t(Y,null,{default:n(()=>[(c(!0),k(F,null,W(i.modelValue.list,(h,d)=>(c(),p(B,{key:d,cols:"12",lg:"3",md:"4",sm:"6"},{default:n(()=>[t(kt,null,{default:n(({isHovering:b,props:T})=>[t(C,ge({elevation:a.isMobile?1:b?4:1,border:"",class:"student-card"},{ref_for:!0},T),{default:n(()=>[t(S,{class:"d-flex align-center pa-3"},{default:n(()=>[t(it,{"open-on-hover":!a.isMobile,location:"bottom"},{activator:n(({props:I})=>[t(f,ge({class:"mr-3 font-weight-medium",size:"small"},{ref_for:!0},I,{variant:"tonal"}),{default:n(()=>[o(w(d+1),1)]),_:2},1040)]),default:n(()=>[t(M,{density:"compact",nav:""},{default:n(()=>[t(x,{disabled:d===0,"prepend-icon":"mdi-arrow-up-bold",onClick:I=>l.moveStudent(d,"top")},{default:n(()=>[...e[5]||(e[5]=[o(" 置顶 ",-1)])]),_:1},8,["disabled","onClick"]),t(A),t(x,{disabled:d===0,"prepend-icon":"mdi-arrow-up",onClick:I=>l.moveStudent(d,"up")},{default:n(()=>[...e[6]||(e[6]=[o(" 上移 ",-1)])]),_:1},8,["disabled","onClick"]),t(x,{disabled:d===i.modelValue.list.length-1,"prepend-icon":"mdi-arrow-down",onClick:I=>l.moveStudent(d,"down")},{default:n(()=>[...e[7]||(e[7]=[o(" 下移 ",-1)])]),_:1},8,["disabled","onClick"])]),_:2},1024)]),_:2},1032,["open-on-hover"]),i.editState.index===d?(c(),p(N,{key:0,modelValue:i.editState.name,"onUpdate:modelValue":e[1]||(e[1]=I=>i.editState.name=I),autofocus:"",class:"flex-grow-1",density:"compact","hide-details":"",variant:"underlined",onBlur:l.saveEdit,onKeyup:ae(l.saveEdit,["enter"])},null,8,["modelValue","onBlur","onKeyup"])):(c(),k("span",{key:1,class:"text-body-1 flex-grow-1",onClick:I=>l.handleClick(d,h)},w(h.name),9,Fs)),m("div",{class:_e([{"opacity-100":b||a.isMobile},"d-flex gap-1 action-buttons"])},[t(f,{color:"primary",icon:"mdi-pencil",size:"small",variant:"text",onClick:I=>l.startEdit(d,h)},null,8,["onClick"]),t(f,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:I=>l.removeStudent(d)},null,8,["onClick"])],2)]),_:2},1024)]),_:2},1040,["elevation"])]),_:2},1024)]),_:2},1024))),128))]),_:1})]))]),_:1}),t(Y,{class:"mt-6"},{default:n(()=>[t(B,{class:"d-flex gap-2",cols:"12"},{default:n(()=>[t(f,{disabled:i.loading,loading:i.loading,color:"primary","prepend-icon":"mdi-content-save",size:"large",onClick:l.saveStudents},{default:n(()=>[...e[8]||(e[8]=[o(" 保存名单 ",-1)])]),_:1},8,["disabled","loading","onClick"]),t(f,{disabled:i.loading,loading:i.loading,color:"error","prepend-icon":"mdi-refresh",size:"large",variant:"outlined",onClick:l.loadStudents},{default:n(()=>[...e[9]||(e[9]=[o(" 重载名单 ",-1)])]),_:1},8,["disabled","loading","onClick"])]),_:1})]),_:1})]),_:1})]),_:1},8,["class","color"])}const xt=E(Rs,[["render",Qs],["__scopeId","data-v-4feed29c"]]),Hs={key:0,class:"d-flex justify-center align-center fill-height"},Gs={key:1,class:"d-flex justify-center align-center fill-height"},Ws={key:2},Ys={class:"text-caption ml-4 text-medium-emphasis"},Zs={key:0},qs={key:1},Xs={class:"text-error"},St={__name:"CloudMigrationDialog",props:{modelValue:Boolean},emits:["update:modelValue"],setup(s,{emit:e}){const a=s,r=e,i=q(!1),l=q(!1),u=q(!1),h=q([]),d=q([]),b=q(!1),T=q(null),I=q(null),te=[{id:"student-list",label:"学生列表",description:"classworks-list-main",matcher:D=>D==="classworks-list-main"||D.startsWith("classworks-list-main")},{id:"homework-data",label:"作业数据",description:"classworks-data-*",matcher:D=>D.startsWith("classworks-data-")},{id:"lists",label:"列表",description:"classworks-list-*",matcher:D=>D.startsWith("classworks-list-")},{id:"other",label:"其他",description:"所有其他键",matcher:D=>!D.startsWith("classworks-data-")&&!D.startsWith("classworks-list-")}];Oe(()=>a.modelValue,D=>{i.value=D,D&&re()}),Oe(i,D=>{r("update:modelValue",D)});const re=async()=>{l.value=!0;try{const D=await Fe.loadKeys({limit:1e3});h.value=D.keys||[],d.value=[]}catch(D){console.error(D)}finally{l.value=!1}},X=D=>h.value.filter(D.matcher),ve=D=>X(D).length,ue=D=>{const _=X(D);return _.length===0?!1:_.filter(V=>d.value.includes(V)).length===_.length},de=D=>{const _=X(D);if(_.length===0)return!1;const U=_.filter(V=>d.value.includes(V)).length;return U>0&&U<_.length},oe=D=>{const _=X(D);if(_.length===0)return;const U=ue(D),V=new Set(d.value);U?_.forEach(J=>V.delete(J)):_.forEach(J=>V.add(J)),d.value=Array.from(V)},be=async()=>{var D,_,U;u.value=!0,I.value=null,T.value=null;try{const V={};for(const me of d.value){const se=await Fe.loadData(me);if(se){if(se&&se.success===!1&&se.error){console.warn(`Skipping key ${me} due to load error`,se.error);continue}V[me]=se}}const J=y("server.domain"),ee=y("server.kvToken");if(!J||!ee)throw new Error("请先配置服务器地址和 Token");const ce=J.replace(/\/$/,""),O=await Rt.post(`${ce}/kv/_batchimport`,V,{headers:{Authorization:`Bearer ${ee}`,"Content-Type":"application/json"}});if(O.data&&O.data.code===200)T.value=O.data.data,b.value=!0,i.value=!1;else throw new Error(((D=O.data)==null?void 0:D.message)||"迁移失败")}catch(V){console.error(V),I.value=((U=(_=V.response)==null?void 0:_.data)==null?void 0:U.message)||V.message||"发生未知错误",b.value=!0}finally{u.value=!1}};return(D,_)=>(c(),k(F,null,[t($,{modelValue:i.value,"onUpdate:modelValue":_[2]||(_[2]=U=>i.value=U),"max-width":"600",scrollable:""},{default:n(()=>[t(C,null,{default:n(()=>[t(P,null,{default:n(()=>[..._[5]||(_[5]=[o("迁移到云端",-1)])]),_:1}),t(S,{style:{height:"400px"}},{default:n(()=>[l.value?(c(),k("div",Hs,[t(tt,{indeterminate:"",color:"primary"})])):h.value.length===0?(c(),k("div",Gs," 没有找到本地数据 ")):(c(),k("div",Ws,[t(M,{"select-strategy":"classic",class:"mb-4"},{default:n(()=>[t(Nt,null,{default:n(()=>[..._[6]||(_[6]=[o("选择数据类型",-1)])]),_:1}),(c(),k(F,null,W(te,U=>t(x,{key:U.id,onClick:V=>oe(U)},{prepend:n(()=>[t(Qe,{"model-value":ue(U),indeterminate:de(U),onClick:fe(V=>oe(U),["stop"])},null,8,["model-value","indeterminate","onClick"])]),default:n(()=>[t(j,null,{default:n(()=>[o(w(U.label),1)]),_:2},1024),t(Q,null,{default:n(()=>[o(w(U.description)+" ("+w(ve(U))+" 项)",1)]),_:2},1024)]),_:2},1032,["onClick"])),64))]),_:1}),t(A,{class:"mb-4"}),t(ze,null,{default:n(()=>[t(Le,{title:"详细数据列表"},{default:n(()=>[t(Ke,null,{default:n(()=>[t(M,{"select-strategy":"classic",density:"compact"},{default:n(()=>[(c(!0),k(F,null,W(h.value,U=>(c(),p(x,{key:U,value:U},{prepend:n(()=>[t(Qe,{modelValue:d.value,"onUpdate:modelValue":_[0]||(_[0]=V=>d.value=V),value:U},null,8,["modelValue","value"])]),default:n(()=>[t(j,null,{default:n(()=>[o(w(U),1)]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1})]),_:1})]),_:1})]),_:1})]))]),_:1}),t(A),t(G,null,{default:n(()=>[m("div",Ys," 已选择 "+w(d.value.length)+" 项 ",1),t(R),t(f,{variant:"text",onClick:_[1]||(_[1]=U=>i.value=!1)},{default:n(()=>[..._[7]||(_[7]=[o("取消",-1)])]),_:1}),t(f,{color:"primary",onClick:be,loading:u.value,disabled:d.value.length===0},{default:n(()=>[..._[8]||(_[8]=[o(" 开始迁移 ",-1)])]),_:1},8,["loading","disabled"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),t($,{modelValue:b.value,"onUpdate:modelValue":_[4]||(_[4]=U=>b.value=U),"max-width":"500"},{default:n(()=>[t(C,null,{default:n(()=>[t(P,null,{default:n(()=>[..._[9]||(_[9]=[o("迁移结果",-1)])]),_:1}),t(S,null,{default:n(()=>[T.value?(c(),k("div",Zs,[m("p",null,"总计: "+w(T.value.summary.total),1),m("p",null,"成功: "+w(T.value.summary.successful),1),m("p",null,"失败: "+w(T.value.summary.failed),1)])):I.value?(c(),k("div",qs,[m("p",Xs,w(I.value),1)])):v("",!0)]),_:1}),t(G,null,{default:n(()=>[t(R),t(f,{color:"primary",onClick:_[3]||(_[3]=U=>b.value=!1)},{default:n(()=>[..._[10]||(_[10]=[o("关闭",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])],64))}},$s={name:"KvDatabaseCard",components:{SettingsCard:K,CloudMigrationDialog:St},data(){return{loading:!1,loadingData:!1,savingData:!1,deletingData:!1,kvData:[],searchQuery:"",viewDialog:!1,editDialog:!1,deleteDialog:!1,createDialog:!1,cloudUrlDialog:!1,showMigrationDialog:!1,selectedItem:null,editingItem:null,itemToDelete:null,selectedCloudItem:null,gettingCloudUrl:!1,cloudUrlResult:null,cloudUrlError:null,cloudUrlOptions:{migrateFromLocal:!0,autoConfigureCloud:!0},editingData:"",newKey:"",newData:"",tableHeaders:[{title:"键名",key:"key",sortable:!0},{title:"操作",key:"actions",sortable:!1,width:"120px"}]}},computed:{currentProvider(){return y("server.provider")},isKvProvider(){return this.currentProvider==="kv-local"||this.currentProvider==="kv-server"||this.currentProvider==="classworkscloud"},connectionStatus(){return this.isKvProvider?this.currentProvider==="kv-local"?"本地数据库":"服务器数据库":"当前数据提供者不支持KV数据库管理"},connectionIcon(){return this.isKvProvider?this.currentProvider==="kv-local"?"mdi-database":"mdi-database-sync":"mdi-database-off"},connectionColor(){return this.isKvProvider?"success":"error"},filteredKvData(){return this.searchQuery?this.kvData.filter(s=>s.key.toLowerCase().includes(this.searchQuery.toLowerCase())):this.kvData},isValidJson(){if(!this.editingData)return!0;try{return JSON.parse(this.editingData),!0}catch{return!1}},isValidNewJson(){if(!this.newData)return!0;try{return JSON.parse(this.newData),!0}catch{return!1}},isValidKey(){return!this.newKey||this.newKey.trim()===""?!1:!this.kvData.some(s=>s.key===this.newKey.trim())}},async mounted(){this.isKvProvider&&await this.loadKvData()},methods:{async refreshConnection(){this.loading=!0;try{await new Promise(s=>setTimeout(s,500)),this.$message.success("连接状态已刷新")}catch(s){this.$message.error("刷新失败",s.message)}finally{this.loading=!1}},async loadKvData(){var s;if(!this.isKvProvider){this.$message.warning("当前数据提供者不支持KV数据库管理");return}this.loadingData=!0;try{this.kvData=[];const e=await H.loadKeys({sortBy:"key",sortDir:"asc",limit:1e3});if(e.success===!1)throw new Error(((s=e.error)==null?void 0:s.message)||"获取键名列表失败");this.kvData=e.keys.map(a=>({key:a,value:null,loaded:!1})),this.$message.success("键名加载完成",`共找到 ${this.kvData.length} 个键,总计 ${e.total_rows} 个键`)}catch(e){this.$message.error("加载数据失败",e.message)}finally{this.loadingData=!1}},async viewItem(s){this.selectedItem=s,this.viewDialog=!0,(!s.loaded||s.value===null)&&await this.loadItemData(s)},async editItem(s){this.editingItem=s,(!s.loaded||s.value===null)&&await this.loadItemData(s),this.editingData=this.formatJsonData(s.value),this.editDialog=!0},async loadItemData(s){try{const e=await H.loadData(s.key);if(e&&e.success!==!1)s.value=e,s.loaded=!0;else throw new Error("数据加载失败")}catch(e){this.$message.error("加载数据失败",e.message),s.value=null,s.loaded=!1}},closeEditDialog(){this.editDialog=!1,this.editingItem=null,this.editingData=""},createNewItem(){this.newKey="",this.newData=`{ + "example": "value" +}`,this.createDialog=!0},closeCreateDialog(){this.createDialog=!1,this.newKey="",this.newData=""},async saveNewData(){var s;if(!(!this.isValidKey||!this.isValidNewJson)){this.savingData=!0;try{const e=JSON.parse(this.newData),a=this.newKey.trim(),r=await H.saveData(a,e);if(r&&!r.error)this.kvData.push({key:a,value:e,loaded:!0}),this.$message.success("数据创建成功"),this.closeCreateDialog();else throw new Error(((s=r.error)==null?void 0:s.message)||"创建失败")}catch(e){this.$message.error("创建失败",e.message)}finally{this.savingData=!1}}},async saveEditedData(){var s;if(!(!this.isValidJson||!this.editingItem)){this.savingData=!0;try{const e=JSON.parse(this.editingData),a=await H.saveData(this.editingItem.key,e);if(a&&!a.error){const r=this.kvData.findIndex(i=>i.key===this.editingItem.key);r!==-1&&(this.kvData[r].value=e,this.kvData[r].loaded=!0),this.$message.success("数据保存成功"),this.closeEditDialog()}else throw new Error(((s=a.error)==null?void 0:s.message)||"保存失败")}catch(e){this.$message.error("保存失败",e.message)}finally{this.savingData=!1}}},confirmDelete(s){this.itemToDelete=s,this.deleteDialog=!0},async deleteItem(){if(this.itemToDelete){this.deletingData=!0;try{this.currentProvider==="kv-local"?await(await Ot("ClassworksDB",2)).transaction("kv","readwrite").objectStore("kv").delete(this.itemToDelete.key):await H.saveData(this.itemToDelete.key,null);const s=this.kvData.findIndex(e=>e.key===this.itemToDelete.key);s!==-1&&this.kvData.splice(s,1),this.$message.success("数据删除成功"),this.deleteDialog=!1,this.itemToDelete=null}catch(s){this.$message.error("删除失败",s.message)}finally{this.deletingData=!1}}},formatJsonData(s){try{return JSON.stringify(s,null,2)}catch{return String(s)}},async copyToClipboard(s){try{const e=this.formatJsonData(s);await navigator.clipboard.writeText(e),this.$message.success("数据已复制到剪贴板")}catch(e){this.$message.error("复制失败",e.message)}},async getCloudUrl(s){this.selectedCloudItem=s,this.cloudUrlResult=null,this.cloudUrlError=null,this.cloudUrlDialog=!0,await this.fetchCloudUrl()},async fetchCloudUrl(){var s;if(this.selectedCloudItem){this.gettingCloudUrl=!0,this.cloudUrlError=null;try{const e=await H.getKeyCloudUrl(this.selectedCloudItem.key,this.cloudUrlOptions);e.success?(this.cloudUrlResult=e,this.$message.success("云端地址获取成功")):(this.cloudUrlError=((s=e.error)==null?void 0:s.message)||"获取云端地址失败",this.$message.error("获取失败",this.cloudUrlError))}catch(e){this.cloudUrlError=e.message||"获取云端地址时发生错误",this.$message.error("获取失败",this.cloudUrlError)}finally{this.gettingCloudUrl=!1}}},async refreshCloudUrl(){await this.fetchCloudUrl()},async copyCloudUrl(){var s;if((s=this.cloudUrlResult)!=null&&s.url)try{await navigator.clipboard.writeText(this.cloudUrlResult.url),this.$message.success("云端地址已复制到剪贴板")}catch(e){this.$message.error("复制失败",e.message)}},openCloudUrl(){var s;if((s=this.cloudUrlResult)!=null&&s.url)try{window.open(this.cloudUrlResult.url,"_blank")}catch(e){this.$message.error("打开链接失败",e.message)}}}},ei={class:"text-primary"},ti={class:"mt-2"},ni={key:0,class:"mb-2"},si={key:1,class:"mb-2"};function ii(s,e,a,r,i,l){const u=St,h=K;return c(),p(h,{loading:i.loading,icon:"mdi-database-edit",title:"KV数据库管理"},{default:n(()=>[t(M,null,{default:n(()=>[t(x,null,{prepend:n(()=>[t(g,{color:l.connectionColor,icon:l.connectionIcon,class:"mr-3"},null,8,["color","icon"])]),append:n(()=>[t(f,{loading:i.loading,variant:"tonal",onClick:l.refreshConnection},{default:n(()=>[...e[20]||(e[20]=[o(" 刷新 ",-1)])]),_:1},8,["loading","onClick"])]),default:n(()=>[t(j,null,{default:n(()=>[...e[19]||(e[19]=[o("数据库状态",-1)])]),_:1}),t(Q,null,{default:n(()=>[o(w(l.connectionStatus),1)]),_:1})]),_:1}),t(A,{class:"my-2"}),t(x,null,{prepend:n(()=>[t(g,{class:"mr-3",icon:"mdi-format-list-bulleted"})]),append:n(()=>[t(Re,{variant:"tonal"},{default:n(()=>[t(f,{loading:i.loadingData,onClick:l.loadKvData},{default:n(()=>[...e[22]||(e[22]=[o(" 加载数据 ",-1)])]),_:1},8,["loading","onClick"]),t(f,{disabled:!l.isKvProvider,onClick:l.createNewItem},{default:n(()=>[t(g,{class:"mr-1",icon:"mdi-plus"}),e[23]||(e[23]=o(" 新建 ",-1))]),_:1},8,["disabled","onClick"]),t(f,{onClick:e[0]||(e[0]=d=>i.showMigrationDialog=!0)},{default:n(()=>[t(g,{class:"mr-1",icon:"mdi-cloud-upload"}),e[24]||(e[24]=o(" 从本地迁移 ",-1))]),_:1})]),_:1})]),default:n(()=>[t(j,null,{default:n(()=>[...e[21]||(e[21]=[o("数据条目",-1)])]),_:1}),t(Q,null,{default:n(()=>[o("共 "+w(i.kvData.length)+" 条记录",1)]),_:1})]),_:1})]),_:1}),i.kvData.length>0?(c(),p(C,{key:0,class:"mt-4",variant:"outlined"},{default:n(()=>[t(P,{class:"d-flex align-center"},{default:n(()=>[t(g,{class:"mr-2",icon:"mdi-table"}),e[25]||(e[25]=o(" KV数据列表 ",-1)),t(R),t(N,{modelValue:i.searchQuery,"onUpdate:modelValue":e[1]||(e[1]=d=>i.searchQuery=d),clearable:"",density:"compact","hide-details":"",label:"搜索键名","prepend-inner-icon":"mdi-magnify",style:{"max-width":"300px"},variant:"outlined"},null,8,["modelValue"])]),_:1}),t(at,{headers:i.tableHeaders,items:l.filteredKvData,"items-per-page":10,loading:i.loadingData,class:"elevation-0","item-value":"key"},{"item.key":n(({item:d})=>[m("code",ei,w(d.key),1)]),"item.actions":n(({item:d})=>[t(Re,{density:"compact",variant:"text"},{default:n(()=>[t(f,{icon:"mdi-eye",size:"small",title:"查看",onClick:b=>l.viewItem(d)},null,8,["onClick"]),t(f,{icon:"mdi-pencil",size:"small",title:"编辑",onClick:b=>l.editItem(d)},null,8,["onClick"]),t(f,{color:"primary",icon:"mdi-cloud-download",size:"small",title:"获取云端地址",onClick:b=>l.getCloudUrl(d)},null,8,["onClick"]),t(f,{color:"error",icon:"mdi-delete",size:"small",title:"删除",onClick:b=>l.confirmDelete(d)},null,8,["onClick"])]),_:2},1024)]),_:2},1032,["headers","items","loading"])]),_:1})):v("",!0),t($,{modelValue:i.viewDialog,"onUpdate:modelValue":e[5]||(e[5]=d=>i.viewDialog=d),"max-width":"800px"},{default:n(()=>[t(C,null,{default:n(()=>[t(P,{class:"d-flex align-center"},{default:n(()=>[t(g,{class:"mr-2",icon:"mdi-eye"}),e[26]||(e[26]=o(" 查看数据 ",-1)),t(R),t(f,{icon:"mdi-close",variant:"text",onClick:e[2]||(e[2]=d=>i.viewDialog=!1)})]),_:1}),i.selectedItem?(c(),p(Se,{key:0},{default:n(()=>[e[27]||(e[27]=o(" 键名: ",-1)),m("code",null,w(i.selectedItem.key),1)]),_:1})):v("",!0),t(S,null,{default:n(()=>[i.selectedItem?(c(),p(pe,{key:0,"model-value":l.formatJsonData(i.selectedItem.value),class:"font-monospace",label:"数据内容",readonly:"",rows:"15",variant:"outlined"},null,8,["model-value"])):v("",!0)]),_:1}),t(G,null,{default:n(()=>[t(R),t(f,{variant:"tonal",onClick:e[3]||(e[3]=d=>{var b;return l.copyToClipboard((b=i.selectedItem)==null?void 0:b.value)})},{default:n(()=>[t(g,{class:"mr-1",icon:"mdi-content-copy"}),e[28]||(e[28]=o(" 复制数据 ",-1))]),_:1}),t(f,{variant:"text",onClick:e[4]||(e[4]=d=>i.viewDialog=!1)},{default:n(()=>[...e[29]||(e[29]=[o(" 关闭 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),t($,{modelValue:i.editDialog,"onUpdate:modelValue":e[7]||(e[7]=d=>i.editDialog=d),"max-width":"800px"},{default:n(()=>[t(C,null,{default:n(()=>[t(P,{class:"d-flex align-center"},{default:n(()=>[t(g,{class:"mr-2",icon:"mdi-pencil"}),e[30]||(e[30]=o(" 编辑数据 ",-1)),t(R),t(f,{icon:"mdi-close",variant:"text",onClick:l.closeEditDialog},null,8,["onClick"])]),_:1}),i.editingItem?(c(),p(Se,{key:0},{default:n(()=>[e[31]||(e[31]=o(" 键名: ",-1)),m("code",null,w(i.editingItem.key),1)]),_:1})):v("",!0),t(S,null,{default:n(()=>[t(pe,{modelValue:i.editingData,"onUpdate:modelValue":e[6]||(e[6]=d=>i.editingData=d),error:!l.isValidJson,"error-messages":l.isValidJson?[]:["请输入有效的JSON格式"],class:"font-monospace",label:"数据内容 (JSON格式)",rows:"15",variant:"outlined"},null,8,["modelValue","error","error-messages"])]),_:1}),t(G,null,{default:n(()=>[t(R),t(f,{variant:"text",onClick:l.closeEditDialog},{default:n(()=>[...e[32]||(e[32]=[o(" 取消 ",-1)])]),_:1},8,["onClick"]),t(f,{disabled:!l.isValidJson,loading:i.savingData,color:"primary",variant:"tonal",onClick:l.saveEditedData},{default:n(()=>[...e[33]||(e[33]=[o(" 保存 ",-1)])]),_:1},8,["disabled","loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),t($,{modelValue:i.createDialog,"onUpdate:modelValue":e[10]||(e[10]=d=>i.createDialog=d),"max-width":"800px"},{default:n(()=>[t(C,null,{default:n(()=>[t(P,{class:"d-flex align-center"},{default:n(()=>[t(g,{class:"mr-2",icon:"mdi-plus"}),e[34]||(e[34]=o(" 新建数据 ",-1)),t(R),t(f,{icon:"mdi-close",variant:"text",onClick:l.closeCreateDialog},null,8,["onClick"])]),_:1}),t(S,null,{default:n(()=>[t(N,{modelValue:i.newKey,"onUpdate:modelValue":e[8]||(e[8]=d=>i.newKey=d),error:!l.isValidKey,"error-messages":l.isValidKey?[]:["键名不能为空且不能与现有键重复"],class:"mb-4",label:"键名",placeholder:"请输入键名,如:my-config",variant:"outlined"},null,8,["modelValue","error","error-messages"]),t(pe,{modelValue:i.newData,"onUpdate:modelValue":e[9]||(e[9]=d=>i.newData=d),error:!l.isValidNewJson,"error-messages":l.isValidNewJson?[]:["请输入有效的JSON格式"],class:"font-monospace",label:"数据内容 (JSON格式)",placeholder:'请输入JSON数据,如:{"name": "value"}',rows:"15",variant:"outlined"},null,8,["modelValue","error","error-messages"])]),_:1}),t(G,null,{default:n(()=>[t(R),t(f,{variant:"text",onClick:l.closeCreateDialog},{default:n(()=>[...e[35]||(e[35]=[o(" 取消 ",-1)])]),_:1},8,["onClick"]),t(f,{disabled:!l.isValidKey||!l.isValidNewJson,loading:i.savingData,color:"primary",variant:"tonal",onClick:l.saveNewData},{default:n(()=>[...e[36]||(e[36]=[o(" 创建 ",-1)])]),_:1},8,["disabled","loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),t($,{modelValue:i.cloudUrlDialog,"onUpdate:modelValue":e[15]||(e[15]=d=>i.cloudUrlDialog=d),"max-width":"800px"},{default:n(()=>[t(C,null,{default:n(()=>[t(P,{class:"d-flex align-center"},{default:n(()=>[t(g,{class:"mr-2",icon:"mdi-cloud-download"}),e[37]||(e[37]=o(" 获取云端访问地址 ",-1)),t(R),t(f,{icon:"mdi-close",variant:"text",onClick:e[11]||(e[11]=d=>i.cloudUrlDialog=!1)})]),_:1}),i.selectedCloudItem?(c(),p(Se,{key:0},{default:n(()=>[e[38]||(e[38]=o(" 键名: ",-1)),m("code",null,w(i.selectedCloudItem.key),1)]),_:1})):v("",!0),t(S,null,{default:n(()=>[i.cloudUrlError?(c(),p(L,{key:0,class:"mb-4",type:"error",variant:"tonal"},{default:n(()=>[o(w(i.cloudUrlError),1)]),_:1})):v("",!0),i.cloudUrlResult&&i.cloudUrlResult.success?(c(),p(L,{key:1,class:"mb-4",type:"success",variant:"tonal"},{default:n(()=>[t(he,null,{default:n(()=>[...e[39]||(e[39]=[o("云端地址获取成功",-1)])]),_:1}),m("div",ti,[i.cloudUrlResult.migrated?(c(),k("div",ni,[t(g,{class:"mr-1",color:"success",icon:"mdi-database-arrow-up"}),e[40]||(e[40]=o(" 数据已从本地迁移到云端 ",-1))])):v("",!0),i.cloudUrlResult.configured?(c(),k("div",si,[t(g,{class:"mr-1",color:"info",icon:"mdi-cog"}),e[41]||(e[41]=o(" 云端配置已自动设置 ",-1))])):v("",!0)])]),_:1})):v("",!0),i.cloudUrlResult&&i.cloudUrlResult.url?(c(),p(N,{key:2,"model-value":i.cloudUrlResult.url,"append-inner-icon":"mdi-content-copy",class:"font-monospace",label:"云端访问地址",readonly:"",variant:"outlined","onClick:appendInner":l.copyCloudUrl},null,8,["model-value","onClick:appendInner"])):v("",!0),i.cloudUrlResult&&i.cloudUrlResult.url?(c(),p(ze,{key:3,class:"mt-4"},{default:n(()=>[t(Le,null,{default:n(()=>[t(ot,null,{default:n(()=>[t(g,{class:"mr-2",icon:"mdi-cog"}),e[42]||(e[42]=o(" 高级选项 ",-1))]),_:1}),t(Ke,null,{default:n(()=>[t(ie,{modelValue:i.cloudUrlOptions.migrateFromLocal,"onUpdate:modelValue":e[12]||(e[12]=d=>i.cloudUrlOptions.migrateFromLocal=d),density:"compact",label:"从本地迁移数据到云端"},null,8,["modelValue"]),t(ie,{modelValue:i.cloudUrlOptions.autoConfigureCloud,"onUpdate:modelValue":e[13]||(e[13]=d=>i.cloudUrlOptions.autoConfigureCloud=d),density:"compact",label:"自动配置云端默认设置"},null,8,["modelValue"]),t(f,{loading:i.gettingCloudUrl,class:"mt-2",color:"primary",variant:"tonal",onClick:l.refreshCloudUrl},{default:n(()=>[t(g,{class:"mr-1",icon:"mdi-refresh"}),e[43]||(e[43]=o(" 重新获取 ",-1))]),_:1},8,["loading","onClick"])]),_:1})]),_:1})]),_:1})):v("",!0)]),_:1}),t(G,null,{default:n(()=>[t(R),t(f,{variant:"text",onClick:e[14]||(e[14]=d=>i.cloudUrlDialog=!1)},{default:n(()=>[...e[44]||(e[44]=[o(" 关闭 ",-1)])]),_:1}),i.cloudUrlResult&&i.cloudUrlResult.url?(c(),p(f,{key:0,color:"primary",variant:"tonal",onClick:l.openCloudUrl},{default:n(()=>[t(g,{class:"mr-1",icon:"mdi-open-in-new"}),e[45]||(e[45]=o(" 在新窗口打开 ",-1))]),_:1},8,["onClick"])):v("",!0)]),_:1})]),_:1})]),_:1},8,["modelValue"]),t($,{modelValue:i.deleteDialog,"onUpdate:modelValue":e[17]||(e[17]=d=>i.deleteDialog=d),"max-width":"400px"},{default:n(()=>[t(C,null,{default:n(()=>[t(P,{class:"d-flex align-center text-error"},{default:n(()=>[t(g,{class:"mr-2",icon:"mdi-alert"}),e[46]||(e[46]=o(" 确认删除 ",-1))]),_:1}),t(S,null,{default:n(()=>{var d;return[e[48]||(e[48]=o(" 确定要删除键名为 ",-1)),m("code",null,w((d=i.itemToDelete)==null?void 0:d.key),1),e[49]||(e[49]=o(" 的数据吗? ",-1)),e[50]||(e[50]=m("br",null,null,-1)),e[51]||(e[51]=m("br",null,null,-1)),t(L,{class:"mt-2",type:"warning",variant:"tonal"},{default:n(()=>[...e[47]||(e[47]=[o(" 此操作不可撤销,请谨慎操作! ",-1)])]),_:1})]}),_:1}),t(G,null,{default:n(()=>[t(R),t(f,{variant:"text",onClick:e[16]||(e[16]=d=>i.deleteDialog=!1)},{default:n(()=>[...e[52]||(e[52]=[o(" 取消 ",-1)])]),_:1}),t(f,{loading:i.deletingData,color:"error",variant:"tonal",onClick:l.deleteItem},{default:n(()=>[...e[53]||(e[53]=[o(" 删除 ",-1)])]),_:1},8,["loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(u,{modelValue:i.showMigrationDialog,"onUpdate:modelValue":e[18]||(e[18]=d=>i.showMigrationDialog=d)},null,8,["modelValue"])]),_:1},8,["loading"])}const Ct=E($s,[["render",ii],["__scopeId","data-v-67879974"]]),li={name:"DataProviderSettingsCard",components:{SettingsCard:K},data(){return{loading:!1,serverchecktime:{},confirmDialog:!1,confirmTitle:"",confirmMessage:"",confirmAction:null,machineId:null,migrateLoading:!1}},computed:{currentProvider(){return y("server.provider")},isKvProvider(){return this.currentProvider==="kv-local"||this.currentProvider==="kv-server"||this.currentProvider==="classworkscloud"}},async created(){this.machineId=y("device.uuid")},methods:{async checkServerConnection(){this.loading=!0,this.serverchecktime=new Date;const s=[];try{const e=y("server.siteKey"),a={Accept:"application/json"};if(e&&(a["x-site-key"]=e),Xt()){const r=await $t(async h=>{const d=await De.get(`${h}/check`,{method:"GET",headers:a});if(d.data.status!=="success")throw new Error("服务器响应异常");return d},{onServerTried:({url:h,status:d,tried:b})=>{s.length=0,s.push(...b)}}),i=new Date-this.serverchecktime,l=s.find(h=>h.status==="success");let u=`服务器连接正常 延迟${i}ms`;if(s.length>1){const h=s.map((d,b)=>`${b+1}. ${d.url} (${d.status==="success"?"成功":"失败"})`).join(` +`);u+=` + +依次尝试的服务器: +${h}`}else l&&(u+=` +服务器: ${l.url}`);this.$message.success("连接成功",u)}else{const r=y("server.domain");if((await De.get(`${r}/check`,{method:"GET",headers:a})).data.status==="success")this.$message.success("连接成功","服务器连接正常 延迟"+(new Date-this.serverchecktime)+"ms");else throw new Error("服务器响应异常")}}catch(e){let a=e.message||"无法连接到服务器";if(s.length>0){const r=s.map((i,l)=>`${l+1}. ${i.url} (失败${i.error?`: ${i.error}`:""})`).join(` +`);a+=` + +依次尝试的服务器: +${r} + +所有服务器均连接失败`}this.$message.error("连接失败",a)}finally{this.loading=!1}},confirmClearLocalStorage(){this.confirmTitle="确认清除",this.confirmMessage="此操作将清除所有本地存储的数据,确定要继续吗?",this.confirmAction=this.clearLocalStorage,this.confirmDialog=!0},clearLocalStorage(){try{localStorage.clear(),this.$message.success("清除成功","本地存储数据已清除"),this.confirmDialog=!1}catch(s){this.$message.error("清除失败",s.message)}},confirmClearIndexedDB(){this.confirmTitle="确认清除",this.confirmMessage="此操作将清除所有IndexedDB中的数据,确定要继续吗?",this.confirmAction=this.clearIndexedDB,this.confirmDialog=!0},async clearIndexedDB(){try{await window.indexedDB.deleteDatabase("ClassworksDB"),this.$message.success("清除成功","数据库缓存已清除"),this.confirmDialog=!1,this.isKvProvider&&setTimeout(()=>{window.location.reload()},1500)}catch(s){this.$message.error("清除失败",s.message)}},async exportData(){try{const s="ClassworksDB",e={indexedDB:{}},a=await new Promise((d,b)=>{const T=window.indexedDB.open(s);T.onerror=()=>b(T.error),T.onsuccess=()=>d(T.result)}),r=Array.from(a.objectStoreNames);for(const d of r){const T=a.transaction(d,"readonly").objectStore(d),I=await new Promise((te,re)=>{const X=T.getAll();X.onerror=()=>re(X.error),X.onsuccess=()=>te(X.result)});e.indexedDB[d]=I}const i=new Blob([JSON.stringify(e,null,2)],{type:"application/json"}),l=URL.createObjectURL(i),u=document.createElement("a"),h=new Date().toISOString().split("T")[0];u.href=l,u.download=`homework-indexeddb-${h}.json`,u.click(),URL.revokeObjectURL(l),this.$message.success("导出成功","IndexedDB数据已导出")}catch(s){console.error("导出失败:",s),this.$message.error("导出失败",s.message||"无法导出数据库数据")}},async migrateData(){this.migrateLoading=!0,this.$router.push("/datamigration"),this.migrateLoading=!1},handleConfirm(){this.confirmAction&&this.confirmAction()}}};function oi(s,e,a,r,i,l){const u=K;return c(),p(u,{icon:"mdi-database-cog",title:"数据源设置"},{default:n(()=>[t(M,null,{default:n(()=>[l.currentProvider==="kv-server"||l.currentProvider==="classworkscloud"?(c(),p(x,{key:0},{prepend:n(()=>[t(g,{class:"mr-3",icon:"mdi-lan-connect"})]),append:n(()=>[t(f,{loading:i.loading,variant:"tonal",onClick:l.checkServerConnection},{default:n(()=>[...e[3]||(e[3]=[o(" 测试连接 ",-1)])]),_:1},8,["loading","onClick"])]),default:n(()=>[t(j,null,{default:n(()=>[...e[2]||(e[2]=[o("检查服务器连接",-1)])]),_:1})]),_:1})):v("",!0),l.currentProvider==="kv-local"?(c(),k(F,{key:1},[t(x,null,{prepend:n(()=>[t(g,{class:"mr-3",icon:"mdi-database"})]),append:n(()=>[t(f,{color:"error",variant:"tonal",onClick:l.confirmClearIndexedDB},{default:n(()=>[...e[6]||(e[6]=[o(" 清除 ",-1)])]),_:1},8,["onClick"])]),default:n(()=>[t(j,null,{default:n(()=>[...e[4]||(e[4]=[o("清除数据库缓存",-1)])]),_:1}),t(Q,null,{default:n(()=>[...e[5]||(e[5]=[o("这将清除所有本地数据库中的数据 ",-1)])]),_:1})]),_:1}),t(x,null,{prepend:n(()=>[t(g,{class:"mr-3",icon:"mdi-database-export"})]),append:n(()=>[t(f,{variant:"tonal",onClick:l.exportData},{default:n(()=>[...e[8]||(e[8]=[o(" 导出",-1)])]),_:1},8,["onClick"])]),default:n(()=>[t(j,null,{default:n(()=>[...e[7]||(e[7]=[o("导出数据库",-1)])]),_:1})]),_:1})],64)):v("",!0),t(x,null,{prepend:n(()=>[t(g,{class:"mr-3",icon:"mdi-lan-connect"})]),append:n(()=>[t(f,{to:"/cachemanagement",variant:"tonal"},{default:n(()=>[...e[10]||(e[10]=[o(" 查看",-1)])]),_:1})]),default:n(()=>[t(j,null,{default:n(()=>[...e[9]||(e[9]=[o("查看本地缓存",-1)])]),_:1})]),_:1})]),_:1}),t($,{modelValue:i.confirmDialog,"onUpdate:modelValue":e[1]||(e[1]=h=>i.confirmDialog=h),"max-width":"400"},{default:n(()=>[t(C,null,{default:n(()=>[t(P,null,{default:n(()=>[o(w(i.confirmTitle),1)]),_:1}),t(S,null,{default:n(()=>[o(w(i.confirmMessage),1)]),_:1}),t(G,null,{default:n(()=>[t(R),t(f,{color:"grey",variant:"text",onClick:e[0]||(e[0]=h=>i.confirmDialog=!1)},{default:n(()=>[...e[11]||(e[11]=[o("取消 ",-1)])]),_:1}),t(f,{color:"error",variant:"tonal",onClick:l.handleConfirm},{default:n(()=>[...e[12]||(e[12]=[o("确认 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})}const _t=E(li,[["render",oi]]),ai={name:"CloudNamespaceInfoCard",props:{visible:{type:Boolean,default:!0}},data(){return{namespaceInfo:{},loading:!1,hasNamespaceInfo:!1,showReinitDialog:!1,defaultAuthServer:y("server.authDomain")}},watch:{visible(s){s===!0&&this.fetchNamespaceInfo()}},mounted(){this.visible&&this.fetchNamespaceInfo()},methods:{formatDate(s){if(!s)return"未知";try{return new Date(s).toLocaleString("zh-CN")}catch{return s}},async fetchNamespaceInfo(){this.loading=!0;try{const s=await Ft.loadNamespaceInfo();this.namespaceInfo=s,this.hasNamespaceInfo=!0,this.loading=!1}catch(s){console.error("获取命名空间信息失败:",s),this.hasNamespaceInfo=!1,this.namespaceInfo={}}finally{this.loading=!1}},async reloadInfo(){await this.fetchNamespaceInfo()},getBindAccountUrl(){var e,a;const s=(a=(e=this.namespaceInfo)==null?void 0:e.device)==null?void 0:a.uuid;return s?`${this.defaultAuthServer}?uuid=${encodeURIComponent(s)}&tolinktoaccount=true`:this.defaultAuthServer},confirmReinitialize(){ne("server.kvToken",""),ne("device.uuid",""),this.showReinitDialog=!1,this.$router.push("/")}}},ri={key:0,class:"mb-4"},ui={key:1,class:"d-flex align-center mb-4"},di={class:"d-flex flex-column gap-1"},ci={class:"d-flex align-center"},mi={class:"d-flex align-center"},fi={key:0,class:"d-flex align-center"},hi={class:"text-truncate"},pi={class:"d-flex align-center"},wi={key:1,class:"d-flex align-center"};function gi(s,e,a,r,i,l){return c(),p(C,{disabled:!i.hasNamespaceInfo,loading:i.loading,class:"my-4"},{loader:n(()=>[i.loading?(c(),p(Ae,{key:0,color:"primary",indeterminate:""})):v("",!0)]),default:n(()=>[t(P,null,{default:n(()=>[t(g,{class:"me-2"},{default:n(()=>[...e[3]||(e[3]=[o(" mdi-cloud-check ",-1)])]),_:1}),e[4]||(e[4]=o(" 设备信息 ",-1))]),_:1}),i.hasNamespaceInfo?(c(),p(S,{key:0},{default:n(()=>[i.namespaceInfo.hasAccount===!1?(c(),k("div",ri,[t(L,{border:"",type:"warning",variant:"tonal"},{default:n(()=>[t(he,null,{default:n(()=>[...e[5]||(e[5]=[o("设备未绑定账号",-1)])]),_:1}),e[7]||(e[7]=m("div",null,"当前设备尚未绑定账号,部分功能可能受限。请前往绑定账号以获得完整体验。",-1)),t(f,{href:l.getBindAccountUrl(),"append-icon":"mdi-open-in-new",class:"mt-3",target:"_blank",variant:"outlined"},{default:n(()=>[...e[6]||(e[6]=[o(" 前往绑定账号 ",-1)])]),_:1},8,["href"])]),_:1})])):v("",!0),i.namespaceInfo.hasAccount&&i.namespaceInfo.account?(c(),k("div",ui,[t(C,{"prepend-avatar":i.namespaceInfo.account.avatarUrl,subtitle:"此设备由贵校管理 管理员账号 ID: "+i.namespaceInfo.account.id,title:i.namespaceInfo.account.name||"未命名用户",border:"",class:"w-100",hover:"",variant:"tonal"},{default:n(()=>[t(S,null,{default:n(()=>[...e[8]||(e[8]=[o(" 此设备由贵校或贵单位管理,该管理员系此空间所有者,如有疑问请咨询他,对于恶意绑定、滥用行为请反馈。 ",-1)])]),_:1})]),_:1},8,["prepend-avatar","subtitle","title"])])):v("",!0),i.namespaceInfo.device?(c(),p(C,{key:2,border:"",class:"mb-4",hover:"",variant:"tonal"},{default:n(()=>[t(P,{class:"pb-1"},{default:n(()=>[...e[9]||(e[9]=[o(" 设备信息 ",-1)])]),_:1}),t(S,null,{default:n(()=>[m("div",di,[m("div",ci,[t(g,{class:"me-2",size:"small"},{default:n(()=>[...e[10]||(e[10]=[o(" mdi-tag ",-1)])]),_:1}),e[11]||(e[11]=m("span",{class:"font-weight-medium me-2"},"设备名称:",-1)),m("span",null,w(i.namespaceInfo.device.name||"未命名设备"),1)]),m("div",mi,[t(g,{class:"me-2",size:"small"},{default:n(()=>[...e[12]||(e[12]=[o(" mdi-identifier ",-1)])]),_:1}),e[13]||(e[13]=m("span",{class:"font-weight-medium me-2"},"设备 ID:",-1)),m("span",null,w(i.namespaceInfo.device.id),1)]),i.namespaceInfo.hasAccount===!1&&i.namespaceInfo.device.uuid?(c(),k("div",fi,[t(g,{class:"me-2",size:"small"},{default:n(()=>[...e[14]||(e[14]=[o(" mdi-uuid ",-1)])]),_:1}),e[15]||(e[15]=m("span",{class:"font-weight-medium me-2"},"UUID:",-1)),m("span",hi,w(i.namespaceInfo.device.uuid),1)])):v("",!0),m("div",pi,[t(g,{class:"me-2",size:"small"},{default:n(()=>[...e[16]||(e[16]=[o(" mdi-calendar ",-1)])]),_:1}),e[17]||(e[17]=m("span",{class:"font-weight-medium me-2"},"创建时间:",-1)),m("span",null,w(l.formatDate(i.namespaceInfo.device.createdAt)),1)]),i.namespaceInfo.device.updatedAt?(c(),k("div",wi,[t(g,{class:"me-2",size:"small"},{default:n(()=>[...e[18]||(e[18]=[o(" mdi-calendar-clock ",-1)])]),_:1}),e[19]||(e[19]=m("span",{class:"font-weight-medium me-2"},"更新时间:",-1)),m("span",null,w(l.formatDate(i.namespaceInfo.device.updatedAt)),1)])):v("",!0)])]),_:1})]),_:1})):v("",!0),t(C,{border:"",hover:"",subtitle:"文档形键值数据库",title:"Classworks KV"},{default:n(()=>[t(S,null,{default:n(()=>[...e[20]||(e[20]=[o(" Classworks KV 是厚浪云推出的文档形键值数据库,其是一个开放的云应用平台,为各种应用提供存储服务。此设备正在使用其服务,如果您希望管理设备信息,请前往 Classworks KV 的网站,如果您在服务推出前就在使用 Classworks,您的数据已被自动迁移。 ",-1),m("br",null,null,-1),m("br",null,null,-1),o(" Classworks KV 的全域管理员是 ",-1),m("a",{href:"https://wuyuan.dev",target:"_blank"}," 孙悟元 ",-1)])]),_:1}),t(G,null,{default:n(()=>[t(f,{href:i.defaultAuthServer,"append-icon":"mdi-open-in-new",class:"text-none",target:"_blank"},{default:n(()=>[...e[21]||(e[21]=[o(" 前往 Classworks KV ",-1)])]),_:1},8,["href"])]),_:1})]),_:1})]),_:1})):(c(),p(S,{key:1},{default:n(()=>[t(L,{type:"info",variant:"tonal"},{default:n(()=>[t(he,null,{default:n(()=>[...e[22]||(e[22]=[o("未获取到设备信息",-1)])]),_:1}),e[23]||(e[23]=m("p",null,"您尚未完成云端存储授权或连接失败,请点击下方按钮进行初始化。",-1))]),_:1})]),_:1})),t(G,null,{default:n(()=>[t(R),t(f,{loading:i.loading,color:"primary",variant:"outlined",onClick:l.reloadInfo},{default:n(()=>[...e[24]||(e[24]=[o(" 刷新设备信息 ",-1)])]),_:1},8,["loading","onClick"]),t(f,{color:"error",variant:"outlined",onClick:e[0]||(e[0]=u=>i.showReinitDialog=!0)},{default:n(()=>[...e[25]||(e[25]=[o(" 重新初始化云端存储 ",-1)])]),_:1})]),_:1}),t($,{modelValue:i.showReinitDialog,"onUpdate:modelValue":e[2]||(e[2]=u=>i.showReinitDialog=u),"max-width":"500"},{default:n(()=>[t(C,null,{default:n(()=>[t(P,null,{default:n(()=>[...e[26]||(e[26]=[o("确认重新初始化",-1)])]),_:1}),t(S,null,{default:n(()=>[t(L,{class:"mb-3",type:"warning",variant:"tonal"},{default:n(()=>[t(he,null,{default:n(()=>[...e[27]||(e[27]=[o("警告",-1)])]),_:1}),e[28]||(e[28]=o(" 此操作将清除当前的云端存储配置(包括 Token),您需要重新进行授权。 ",-1))]),_:1}),e[29]||(e[29]=m("p",null,"您确定要重新初始化云端存储吗?",-1))]),_:1}),t(G,null,{default:n(()=>[t(R),t(f,{variant:"text",onClick:e[1]||(e[1]=u=>i.showReinitDialog=!1)},{default:n(()=>[...e[30]||(e[30]=[o(" 取消 ",-1)])]),_:1}),t(f,{color:"error",onClick:l.confirmReinitialize},{default:n(()=>[...e[31]||(e[31]=[o(" 确认 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["disabled","loading"])}const Vt=E(ai,[["render",gi]]),vi={name:"ServerSettingsCard",components:{SettingsCard:K,CloudNamespaceInfoCard:Vt},props:{loading:Boolean},data(){return{unwatch:null,serverSettings:{provider:y("server.provider"),domain:y("server.domain"),classNumber:y("server.classNumber"),kvToken:y("server.kvToken")},settingsChangeTimeout:null}},computed:{currentProvider(){return this.serverSettings.provider},isKvProvider(){return this.currentProvider==="kv-local"||this.currentProvider==="kv-server"},isClassworksCloud(){return this.currentProvider==="classworkscloud"},useServer(){return this.currentProvider==="server"||this.currentProvider==="kv-server"||this.currentProvider==="classworkscloud"}},watch:{serverSettings:{handler(){this.settingsChangeTimeout&&clearTimeout(this.settingsChangeTimeout),this.settingsChangeTimeout=setTimeout(()=>{this.saveAllSettings()},100)},deep:!0}},mounted(){this.loadAllSettings(),this.unwatch=Me(()=>{this.loadAllSettings(),this.$forceUpdate&&this.$forceUpdate()})},beforeUnmount(){this.unwatch&&this.unwatch()},methods:{loadAllSettings(){this.serverSettings={provider:y("server.provider"),domain:y("server.domain"),classNumber:y("server.classNumber"),kvToken:y("server.kvToken")}},saveAllSettings(){Object.entries(this.serverSettings).forEach(([s,e])=>{const a=`server.${s}`,r=y(a);e!==r&&(ne(a,e)?console.log(`设置已更新: ${a} = ${e}`):(console.error(`设置失败: ${a}`),this.serverSettings[s]=r))})}}},bi={key:0},ki={key:2},yi={key:3},xi={key:4};function Si(s,e,a,r,i,l){const u=Vt,h=K;return c(),p(h,{loading:a.loading,icon:"mdi-database",title:"数据源设置"},{default:n(()=>[t(lt,null,{default:n(()=>[t(Ve,{modelValue:i.serverSettings.provider,"onUpdate:modelValue":e[0]||(e[0]=d=>i.serverSettings.provider=d),items:[{title:"Classworks云端存储",value:"classworkscloud"},{title:"KV本地存储",value:"kv-local"},{title:"KV远程服务器",value:"kv-server"}],class:"mb-3",density:"comfortable","item-title":"title","item-value":"value",label:"数据提供者","prepend-icon":"mdi-database",variant:"outlined"},null,8,["modelValue"]),l.isKvProvider?(c(),p(L,{key:0,class:"my-2",type:"info",variant:"tonal"},{default:n(()=>[t(he,null,{default:n(()=>[...e[5]||(e[5]=[o("KV 存储系统",-1)])]),_:1}),e[7]||(e[7]=m("p",null,"KV存储系统使用本机唯一标识符(UUID)来区分不同设备的数据。",-1)),l.currentProvider==="kv-server"?(c(),k("p",bi,[...e[6]||(e[6]=[o(" 服务器端点格式: ",-1),m("code",null,"http(s)://服务器域名/",-1),m("br",null,null,-1),o(" 在服务器域名处仅填写基础URL,不需要任何路径。 ",-1)])])):v("",!0)]),_:1})):v("",!0),l.isClassworksCloud?(c(),p(L,{key:1,class:"my-2",color:"success",type:"info",variant:"tonal"},{default:n(()=>[t(he,null,{default:n(()=>[...e[8]||(e[8]=[o("Classworks云端存储",-1)])]),_:1}),e[9]||(e[9]=m("p",null,"Classworks云端存储是官方提供的存储解决方案,自动配置了最优的访问设置。",-1)),e[10]||(e[10]=m("p",null,"使用此选项时,服务器域名和网站令牌将自动配置,无需手动设置。",-1))]),_:1})):v("",!0),t(A,{class:"my-2"}),l.isClassworksCloud?(c(),k("div",ki,[t(N,{modelValue:i.serverSettings.kvToken,"onUpdate:modelValue":e[1]||(e[1]=d=>i.serverSettings.kvToken=d),class:"mb-2",density:"comfortable",hint:"令牌用于云端存储授权",label:"KV 授权令牌","persistent-hint":"","prepend-icon":"mdi-shield-key",variant:"outlined"},null,8,["modelValue"]),t(u,{visible:l.isClassworksCloud,class:"mt-4"},null,8,["visible"])])):l.currentProvider==="kv-server"?(c(),k("div",yi,[t(N,{modelValue:i.serverSettings.domain,"onUpdate:modelValue":e[2]||(e[2]=d=>i.serverSettings.domain=d),class:"mb-2",density:"comfortable",hint:"例如: https://example.com (不需要路径)",label:"服务器域名","persistent-hint":"","prepend-icon":"mdi-web",variant:"outlined"},null,8,["modelValue"]),t(N,{modelValue:i.serverSettings.kvToken,"onUpdate:modelValue":e[3]||(e[3]=d=>i.serverSettings.kvToken=d),class:"mb-2",density:"comfortable",hint:"令牌用于服务器验证",label:"KV 授权令牌","persistent-hint":"","prepend-icon":"mdi-shield-key",variant:"outlined"},null,8,["modelValue"])])):l.currentProvider==="kv-local"?(c(),k("div",xi,[t(N,{modelValue:i.serverSettings.classNumber,"onUpdate:modelValue":e[4]||(e[4]=d=>i.serverSettings.classNumber=d),class:"mb-2",density:"comfortable",hint:"例如: 高三八班",label:"班级编号","persistent-hint":"","prepend-icon":"mdi-account-group",variant:"outlined"},null,8,["modelValue"])])):v("",!0)]),_:1})]),_:1},8,["loading"])}const Dt=E(vi,[["render",Si]]),Ci="classworks",_i="module",Vi="0.0.0",Di={dev:"vite --host",build:"vite build",preview:"vite preview",lint:"eslint . --fix",prebuild:"node scripts/generate-sound-list.js"},Ai={"@fingerprintjs/fingerprintjs":"^5.0.1","@mdi/font":"7.4.47","@microsoft/clarity":"^1.0.2","@sentry/vue":"^10.36.0","@vueuse/core":"^14.1.0",axios:"^1.13.2",idb:"^8.0.3","js-base64":"^3.7.8","lucide-vue-next":"^0.555.0","pinyin-pro":"^3.27.0","ratelimit-header-parser":"^0.1.0","roboto-fontface":"*","socket.io-client":"^4.8.1","typewriter-effect":"^2.22.0",uuid:"^13.0.0",vue:"^3.5.25","vue-sonner":"^2.0.9",vuetify:"^3.11.0"},Ii={"@eslint/js":"^9.39.1","@vite-pwa/assets-generator":"^1.0.2","@vitejs/plugin-vue":"^6.0.2",eslint:"^9.39.1","eslint-plugin-import":"^2.32.0","eslint-plugin-n":"^17.23.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^7.2.1","eslint-plugin-vue":"^10.6.2",pinia:"^3.0.4",sass:"1.94.2","sass-embedded":"^1.93.3","unplugin-auto-import":"^20.3.0","unplugin-fonts":"^1.4.0","unplugin-vue-components":"^30.0.0","unplugin-vue-router":"^0.18.0",vite:"^5.4.11","vite-plugin-pwa":"^1.2.0","vite-plugin-vue-devtools":"^7.6.8","vite-plugin-vue-layouts":"^0.11.0","vite-plugin-vuetify":"^2.1.2","vue-router":"^4.6.3"},ye={name:Ci,private:!0,type:_i,version:Vi,scripts:Di,dependencies:Ai,devDependencies:Ii},Ti="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAa9SURBVHic7dY9jlxVFIXRY8SsCEDyMCAjgRFBYokARoGQQII5EDIJYhNgyb9td9euqvfu3WuN4CTf1nn2958/vRyg0mdHHwAcxwBAMQMAxQwAFDMAUMwAQDEDAMUMABQzAFDMAEAxAwDFDAAUMwBQzABAMQMAxQwAFDMAUMwAQDEDAMUMABQzAFDMAEAxAwDFDAAUMwBQzABAMQMAxQwAFDMAUMwAQDEDAMUMABQzAFDMAEAxAwDFDAAUMwBQzABAMQMAxQwAFDMAUMwAQDEDAMUMABQzAFDMAEAxAwDFPj/6AI7z2+9/zW9//HX0Gct6/uUX8/yrL44+I+IDKCX+zA7xzxiASuLP7BL/jAGoI/7MTvHPGIAq4s/sFv+MAagh/syO8c8YgAriz+wa/4wB2J74MzvHP2MAtib+zO7xzxiAbYk/0xD/jAHYkvgzLfHPGIDtiD/TFP+MAdiK+DNt8c8YgG2IP9MY/4wB2IL4M63xzxiA5Yk/0xz/jAFYmvgz7fHPGIBliT8j/v8ZgAWJPyP+1wzAYsSfEf/bDMBCxJ8R//sMwCLEnxH/hxmABYg/I/6HGYCTE39G/B9nAE5M/Bnxf5oBOCnxZ8T/OAbghMSfEf/jGYCTEX9G/E9jAE5E/BnxP50BOAnxZ8R/GQNwAuLPiP9yBuBg4s+IP2MADiT+jPhzBuAg4s+I/zoMwAHEnxH/9RiAOxN/RvzXZQDuSPwZ8V+fAbgT8WfEfxsG4A7EnxH/7RiAGxN/Rvy3ZQBuSPwZ8d+eAbgR8WfEfx8G4AbEnxH//RiAKxN/Rvz3ZQCuSPwZ8d+fAbgS8WfEfwwDcAXiz4j/OAYgJP6M+I9lAALiz4j/eAbgQuLPiP8cDMAFxJ8R/3kYgCcSf0b852IAnkD8GfGfjwF4JPFnxH9OBuARxJ8R/3kZgE8Qf0b852YAPkL8GfGfnwF4gPgz4l+DAfgA8WfEvw4D8A7xZ8S/FgPwBvFnxL8eA/CK+DPiX5MBGPGnxL+u+gEQf0b8a6seAPFnxL++2gEQf0b8e6gcAPFnxL+PugEQf0b8e6kaAPFnxL+fmgEQf0b8e6oYAPFnxL+v7QdA/Bnx723rARB/Rvz723YAxJ8Rf4ctB0D8GfH32G4AxJ8Rf5etBkD8GfH32WYAxJ8Rf6ctBkD8GfH3Wn4AxJ8Rf7dn//7z68ujj+AYP774ZX548fPRZyzr+2+/me++/froMyLLfwBcRvyZHeKfMQCVxJ/ZJf4ZA1BH/Jmd4p8xAFXEn9kt/hkDUEP8mR3jnzEAFcSf2TX+GQOwPfFndo5/xgBsTfyZ3eOfMQDbEn+mIf4ZA7Al8Wda4p8xANsRf6Yp/hkDsBXxZ9rinzEA2xB/pjH+GQOwBfFnWuOfMQDLE3+mOf4ZA7A08Wfa458xAMsSf0b8/zMACxJ/RvyvGYDFiD8j/rcZgIWIPyP+9xmARYg/I/4PMwALEH9G/A8zACcn/oz4P84AnJj4M+L/NANwUuLPiP9xDMAJiT8j/sczACcj/oz4n8YAnIj4M+J/OgNwEuLPiP8yBuAExJ8R/+UMwMHEnxF/xgAcSPwZ8ecMwEHEnxH/dRiAA4g/I/7rMQB3Jv6M+K/LANyR+DPivz4DcCfiz4j/NgzAHYg/I/7bMQA3Jv6M+G/LANyQ+DPivz0DcCPiz4j/PgzADYg/I/77MQBXJv6M+O/LAFyR+DPivz8DcCXiz4j/GAbgCsSfEf9xDEBI/BnxH8sABMSfEf/xDMCFxJ8R/zkYgAuIPyP+8zAATyT+jPjPxQA8gfgz4j8fA/BI4s+I/5wMwCOIPyP+8zIAnyD+jPjPzQB8hPgz4j8/A/AA8WfEvwYD8AHiz4h/HQbgHeLPiH8tBuAN4s+Ifz0G4BXxZ8S/JgMw4k+Jf131AyD+jPjXVj0A4s+If321AyD+jPj3UDkA4s+Ifx91AyD+jPj3UjUA4s+Ifz81AyD+jPj3VDEA4s+If1/bD4D4M+Lf29YDIP6M+Pe37QCIPyP+DlsOgPgz4u+x3QCIPyP+LlsNgPgz4u+zzQCIPyP+TlsMgPgz4u+1/ACIPyP+bs/+/efXl0cfARxj+Q8AuJwBgGIGAIoZAChmAKCYAYBiBgCKGQAoZgCgmAGAYgYAihkAKGYAoJgBgGIGAIoZAChmAKCYAYBiBgCKGQAoZgCgmAGAYgYAihkAKGYAoJgBgGIGAIoZAChmAKCYAYBiBgCKGQAoZgCgmAGAYgYAihkAKGYAoJgBgGIGAIoZAChmAKCYAYBiBgCKGQAoZgCgmAGAYgYAiv0Hs2PMhrt8KlMAAAAASUVORK5CYII=",Ui={name:"AboutCard",setup(){const s=q([]),e=q(!1),a=q(!1),r=q(""),i=q(!1),l=q(!1),u="964979747",h="https://qm.qq.com/q/T6qImKJjGi",d=Et(),b=()=>{try{const V={...ye.dependencies||{},...ye.devDependencies||{}},J=Object.entries(V).map(([ee,ce])=>({name:ee,version:ce.replace(/[\^~]/g,""),description:T(ee)}));s.value=J}catch(V){console.error("加载依赖信息失败:",V),s.value=[]}},T=V=>({vue:"渐进式 JavaScript 框架",vuetify:"材料设计组件框架",axios:"Promise 基础的 HTTP 客户端",pinia:"Vue 状态管理库","vue-router":"Vue.js 官方路由管理器","@vitejs/plugin-vue":"Vite 的 Vue 插件"})[V]||"",I=()=>{d.push("/debug")},te=async()=>{i.value=!0;try{const V=await en();r.value=V||""}catch(V){console.error("获取访客ID失败",V)}finally{i.value=!1}},re=()=>te(),X=async()=>{a.value=!0,r.value||await te()},ve=async()=>{try{await navigator.clipboard.writeText(de.value),l.value=!0,setTimeout(()=>l.value=!1,1800)}catch(V){console.error("复制失败",V)}},ue=ke(()=>{var me,se;const V=navigator||{},J=typeof Intl<"u"&&Intl.DateTimeFormat?Intl.DateTimeFormat().resolvedOptions():{},ee=J&&J.timeZone?J.timeZone:"",ce=((se=(me=d.currentRoute)==null?void 0:me.value)==null?void 0:se.fullPath)||location.pathname;return[`App 版本: v${ye==null?void 0:ye.version}`,`URL: ${location.href}`,`路由: ${ce}`,`UserAgent: ${V.userAgent||""}`,`语言: ${V.language||""}`,`时区: ${ee}`,`平台: ${V.platform||""}`,`在线: ${String(V.onLine)}`,`屏幕: ${(screen==null?void 0:screen.width)||"-"}x${(screen==null?void 0:screen.height)||"-"}`,`视口: ${window.innerWidth||"-"}x${window.innerHeight||"-"}`].join(` +`)}),de=ke(()=>`调试ID: ${r.value||"获取失败"} + +浏览器/环境信息: +${ue.value}`),oe=ke(()=>["问题描述:","1. 期望行为:","2. 实际行为:","3. 复现步骤:","",de.value].join(` +`)),be=ke(()=>{const V="https://github.com/ZeroCatDev/Classworks/issues/new",J=encodeURIComponent("问题报告"),ee=encodeURIComponent(oe.value);return`${V}?title=${J}&body=${ee}`}),D=ke(()=>{const V=encodeURIComponent("Classworks 问题报告"),J=encodeURIComponent(oe.value);return`mailto:sun@wuyuan.dev?subject=${V}&body=${J}`}),_=()=>{typeof window.openSentryFeedback=="function"?window.openSentryFeedback():console.warn("Sentry Feedback 功能不可用")},U=()=>{window.open("https://afdian.com/a/wydev","_blank")};return zt(()=>{b()}),{Dependencies:s,showDeps:e,showReportDialog:a,debugIdInput:r,visitorLoading:i,copyOk:l,qqGroupNumber:u,qqGroupLink:h,goToDebug:I,reloadVisitorId:re,openReportDialog:X,copyEnvInfo:ve,openFeedback:_,openDonationLink:U,envBoxText:de,envInfo:ue,reportBody:oe,githubIssueUrl:be,mailtoLink:D}}},ji={class:"mt-4"},Bi={class:"d-flex flex-column align-start"},Ni={class:"d-flex gap-2 flex-wrap mb-6"},Pi={class:"text-body-2",style:{"white-space":"pre-wrap",margin:"0"}},Mi={class:"d-flex gap-2 flex-wrap mb-4"},Ei={class:"d-flex gap-2 mb-4"},zi={class:"text-caption text-medium-emphasis"};function Li(s,e,a,r,i,l){return c(),p(C,{border:"",hover:"",rounded:"xl"},{default:n(()=>[t(we,null,{prepend:n(()=>[t(g,{class:"mr-2",icon:"mdi-information",size:"large"})]),default:n(()=>[t(P,{class:"text-h6"},{default:n(()=>[...e[6]||(e[6]=[o("关于",-1)])]),_:1})]),_:1}),t(S,null,{default:n(()=>[t(Y,null,{default:n(()=>[t(B,{class:"mx-auto",cols:"12",md:"8"},{default:n(()=>[t(C,{border:"",class:"donation-card gradient-donation clickable mb-6",color:"pink-lighten-4",elevation:"8",hover:"",rounded:"xl",variant:"tonal",onClick:r.openDonationLink},{default:n(()=>[t(we,null,{default:n(()=>[...e[7]||(e[7]=[m("div",{class:"card-content"},[m("div",null,[m("div",{class:"text-h6 font-weight-bold"},"请支持我们 Classworks")])],-1)])]),_:1}),t(S,null,{default:n(()=>[e[9]||(e[9]=m("p",{class:"text-body-2 mb-3"}," 我是Classworks的开发者孙悟元,是一名高二的中国在校学生。Classworks 是一个完全开源免费的项目。如果可以,欢迎打赏。 ",-1)),m("div",ji,[t(f,{"append-icon":"mdi-heart","aria-label":"Support Classworks on Aifadian",class:"text-none",color:"pink",rounded:"xl",variant:"elevated",onClick:r.openDonationLink},{default:n(()=>[...e[8]||(e[8]=[o(" 爱发电 ",-1)])]),_:1},8,["onClick"])])]),_:1})]),_:1},8,["onClick"]),m("div",Bi,[t(Ie,{class:"mb-4",size:"120"},{default:n(()=>[t(Xe,{alt:"Classworks",src:Ti})]),_:1}),e[40]||(e[40]=m("h2",{class:"text-h5 mb-2"},"Classworks",-1)),e[41]||(e[41]=m("p",{class:"text-body-1 mb-4"},"适用于班级大屏的作业板小工具",-1)),m("div",Ni,[t(f,{color:"red","prepend-icon":"mdi-bug",variant:"tonal",onClick:r.openReportDialog},{default:n(()=>[...e[10]||(e[10]=[o(" 报告问题 ",-1)])]),_:1},8,["onClick"]),t(f,{color:"primary",href:"https://qm.qq.com/q/qNBX4ZZVeg","prepend-icon":"mdi-qqchat",target:"_blank",variant:"tonal"},{default:n(()=>[...e[11]||(e[11]=[o(" QQ 群 ",-1)])]),_:1}),t(f,{href:"https://github.com/ClassworksDev/Classworks","prepend-icon":"mdi-github",target:"_blank",variant:"text"},{default:n(()=>[...e[12]||(e[12]=[o(" 前端 ",-1)])]),_:1}),t(f,{href:"https://github.com/ClassworksDev/ClassworksServer","prepend-icon":"mdi-github",target:"_blank",variant:"text"},{default:n(()=>[...e[13]||(e[13]=[o(" 后端 ",-1)])]),_:1})]),t(A,{class:"mb-4 w-100"}),e[42]||(e[42]=m("h3",{class:"text-h6 mb-2"},"备注与致谢",-1)),t(M,{class:"mb-4 bg-transparent"},{default:n(()=>[t(x,{"append-icon":"mdi-link",href:"https://github.com/EnderWolf006/HomeworkBoard",target:"_blank"},{default:n(()=>[t(j,null,{default:n(()=>[...e[14]||(e[14]=[o(" 本项目受到 HomeworkBoard 的启发而开发 ",-1)])]),_:1}),t(Q,null,{default:n(()=>[...e[15]||(e[15]=[o(" 感谢 EnderWolf006 (@EnderWolf) fhzit(@Hellofhz) KeyFac 等人的贡献 ",-1)])]),_:1})]),_:1}),t(x,{"append-icon":"mdi-link",href:"https://hlyun.org",target:"_blank"},{default:n(()=>[t(j,null,{default:n(()=>[...e[16]||(e[16]=[o(" Classworks 由",-1),m("strong",null,"厚浪云",-1),o("提供 ",-1)])]),_:1}),t(Q,null,{default:n(()=>[...e[17]||(e[17]=[o(" 长江后浪推前浪 浮事新人换旧人 ",-1)])]),_:1})]),_:1}),t(x,{"append-icon":"mdi-link",href:"https://zerocat.houlangs.com",target:"_blank"},{default:n(()=>[t(j,null,{default:n(()=>[...e[18]||(e[18]=[o(" 感谢 ZeroCat 社区的开发者们 ",-1)])]),_:1}),t(Q,null,{default:n(()=>[...e[19]||(e[19]=[o(" 新一代,开源,编程社区 ",-1)])]),_:1})]),_:1}),t(A,{class:"ma-1"}),t(x,{"append-icon":"mdi-link",href:"https://github.com/HUSX100/IslandCaller",target:"_blank"},{default:n(()=>[t(j,null,{default:n(()=>[...e[20]||(e[20]=[o(" 本项目与 IslandCaller 没有从属关系 ",-1)])]),_:1}),t(Q,null,{default:n(()=>[...e[21]||(e[21]=[o(" IslandCaller 是由 HUSX100 开发的基于 ClassIsland 提醒服务的轻量级点名器 ",-1)])]),_:1})]),_:1}),t(x,{"append-icon":"mdi-link",href:"https://classisland.tech",target:"_blank"},{default:n(()=>[t(j,null,{default:n(()=>[...e[22]||(e[22]=[o(" 本项目与 ClassIsland 没有从属关系 ",-1)])]),_:1}),t(Q,null,{default:n(()=>[...e[23]||(e[23]=[o(" ClassIsland 是由 HelloWRC 开发的适用于班级大屏的课表信息显示工具 ",-1)])]),_:1})]),_:1})]),_:1}),t(f,{class:"mb-4","prepend-icon":"mdi-package-variant",variant:"text",onClick:e[0]||(e[0]=u=>r.showDeps=!0)},{default:n(()=>[...e[24]||(e[24]=[o(" 查看使用的第三方库 ",-1)])]),_:1}),t($,{modelValue:r.showDeps,"onUpdate:modelValue":e[2]||(e[2]=u=>r.showDeps=u),fullscreen:"",transition:"dialog-bottom-transition"},{default:n(()=>[t(C,null,{default:n(()=>[t(He,null,{default:n(()=>[t(f,{icon:"mdi-close",onClick:e[1]||(e[1]=u=>r.showDeps=!1)}),t(Ge,null,{default:n(()=>[...e[25]||(e[25]=[o("使用的第三方库",-1)])]),_:1}),t(R)]),_:1}),t(S,null,{default:n(()=>[t(M,null,{default:n(()=>[(c(!0),k(F,null,W(r.Dependencies,u=>(c(),p(x,{key:u.name,href:"https://www.npmjs.com/package/"+u.name,"append-icon":"mdi-link",target:"_blank"},{default:n(()=>[t(j,null,{default:n(()=>[o(w(u.name),1)]),_:2},1024),t(Q,null,{default:n(()=>[o(" v"+w(u.version),1)]),_:2},1024)]),_:2},1032,["href"]))),128))]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),t($,{modelValue:r.showReportDialog,"onUpdate:modelValue":e[5]||(e[5]=u=>r.showReportDialog=u),"max-width":"640"},{default:n(()=>[t(C,null,{default:n(()=>[t(He,{density:"compact"},{default:n(()=>[t(f,{icon:"mdi-close",onClick:e[3]||(e[3]=u=>r.showReportDialog=!1)}),t(Ge,null,{default:n(()=>[...e[26]||(e[26]=[o("报告问题",-1)])]),_:1}),t(R)]),_:1}),t(S,null,{default:n(()=>[e[37]||(e[37]=m("p",{class:"mb-4"}," 调试ID与下方的浏览器环境信息将帮助我们快速定位问题,请在反馈中一并附上。 ",-1)),t(Kt,{class:"mb-3 pa-3 bg-grey-lighten-4 rounded",style:{"max-height":"260px",overflow:"auto"}},{default:n(()=>[m("pre",Pi,w(r.envBoxText),1)]),_:1}),m("div",Mi,[t(f,{size:"small",variant:"text","prepend-icon":"mdi-refresh",onClick:r.reloadVisitorId,loading:r.visitorLoading},{default:n(()=>[...e[27]||(e[27]=[o("刷新",-1)])]),_:1},8,["onClick","loading"]),t(f,{size:"small",variant:"text","prepend-icon":"mdi-content-copy",onClick:r.copyEnvInfo},{default:n(()=>[...e[28]||(e[28]=[o("复制信息",-1)])]),_:1},8,["onClick"]),t(f,{size:"small",variant:"text","prepend-icon":"mdi-open-in-new",onClick:r.goToDebug},{default:n(()=>[...e[29]||(e[29]=[o("查看 /debug 页面",-1)])]),_:1},8,["onClick"])]),r.copyOk?(c(),p(L,{key:0,type:"success",density:"compact",class:"mb-4"},{default:n(()=>[...e[30]||(e[30]=[o("已复制到剪贴板",-1)])]),_:1})):v("",!0),m("div",Ei,[t(f,{size:"small",color:"primary",variant:"elevated","prepend-icon":"mdi-message-alert",onClick:r.openFeedback,block:""},{default:n(()=>[...e[31]||(e[31]=[o(" 发送错误反馈到 Sentry ",-1)])]),_:1},8,["onClick"])]),e[38]||(e[38]=m("h4",{class:"text-subtitle-1 mb-2"},"反馈渠道",-1)),t(M,{lines:"one",class:"bg-transparent"},{default:n(()=>[t(x,{href:r.qqGroupLink,target:"_blank","prepend-icon":"mdi-qqchat"},{default:n(()=>[t(j,null,{default:n(()=>[o("QQ群 ("+w(r.qqGroupNumber)+")",1)]),_:1}),t(Q,null,{default:n(()=>[...e[32]||(e[32]=[o("964979747",-1)])]),_:1})]),_:1},8,["href"]),t(x,{href:r.githubIssueUrl,target:"_blank","prepend-icon":"mdi-github"},{default:n(()=>[t(j,null,{default:n(()=>[...e[33]||(e[33]=[o("GitHub Issue",-1)])]),_:1}),t(Q,null,{default:n(()=>[...e[34]||(e[34]=[o("ZeroCatDev/Classworks",-1)])]),_:1})]),_:1},8,["href"]),t(x,{href:r.mailtoLink,target:"_blank","prepend-icon":"mdi-email"},{default:n(()=>[t(j,null,{default:n(()=>[...e[35]||(e[35]=[o("邮件",-1)])]),_:1}),t(Q,null,{default:n(()=>[...e[36]||(e[36]=[o("sun@wuyuan.dev",-1)])]),_:1})]),_:1},8,["href"])]),_:1})]),_:1}),t(G,null,{default:n(()=>[t(R),t(f,{variant:"text",onClick:e[4]||(e[4]=u=>r.showReportDialog=!1)},{default:n(()=>[...e[39]||(e[39]=[o("关闭",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),m("p",zi," Copyright © "+w(new Date().getFullYear())+" Sunwuyuan ",1)])]),_:1})]),_:1})]),_:1})]),_:1})}const At=E(Ui,[["render",Li],["__scopeId","data-v-101b91c8"]]),Ki={name:"Settings",components:{ServerSettingsCard:Dt,EditSettingsCard:gt,RefreshSettingsCard:vt,DisplaySettingsCard:wt,MessageLog:qe,SettingsCard:K,StudentListCard:xt,TeacherListCard:yt,AboutCard:At,DataProviderSettingsCard:_t,ThemeSettingsCard:pt,EchoChamberCard:rt,SettingsExplorer:ut,SettingsLinkGenerator:bt,RandomPickerCard:mt,HomeworkTemplateCard:dt,SubjectManagementCard:ct,KvDatabaseCard:Ct,HitokotoSettings:ft,NotificationSoundSettings:ht},setup(){const{mobile:s}=Zt();return{isMobile:s}},data(){return y("server.provider"),{settings:{server:{domain:y("server.domain"),classNumber:y("server.classNumber"),provider:y("server.provider")},refresh:{auto:y("refresh.auto"),interval:y("refresh.interval")},font:{size:y("font.size")},edit:{autoSave:y("edit.autoSave"),blockNonTodayAutoSave:y("edit.blockNonTodayAutoSave"),confirmNonTodaySave:y("edit.confirmNonTodaySave"),refreshBeforeEdit:y("edit.refreshBeforeEdit")},display:{emptySubjectDisplay:y("display.emptySubjectDisplay"),dynamicSort:y("display.dynamicSort"),showRandomButton:y("display.showRandomButton"),showFullscreenButton:y("display.showFullscreenButton")},developer:{enabled:y("developer.enabled"),showDebugConfig:y("developer.showDebugConfig")},message:{showSidebar:y("message.showSidebar"),maxActiveMessages:y("message.maxActiveMessages"),timeout:y("message.timeout"),saveHistory:y("message.saveHistory")}},dataProviders:[{title:"服务器",value:"server"},{title:"本地数据库",value:"indexedDB"}],studentData:{list:[],text:"",advanced:!1},newStudent:"",editingIndex:-1,editingName:"",deleteDialog:!1,studentToDelete:null,numberDialog:!1,newPosition:"",studentToMove:null,touchStartTime:0,touchTimeout:null,studentsLoading:!1,studentsError:null,debugConfig:"",loading:{server:!1,students:!1},hasUnsavedChanges:!1,lastSavedData:null,settingsTab:"index",settingsTabs:[{title:"首页",icon:"mdi-home",value:"index"},{title:"服务器",icon:"mdi-server",value:"server"},{title:"科目",icon:"mdi-book-edit",value:"subject"},{title:"花名册",icon:"mdi-account-group",value:"student"},{title:"预配链接",icon:"mdi-share",value:"share"},{title:"刷新",icon:"mdi-refresh",value:"refresh"},{title:"编辑",icon:"mdi-pencil",value:"edit"},{title:"显示",icon:"mdi-eye",value:"display"},{title:"主题",icon:"mdi-theme-light-dark",value:"theme"},{title:"通知铃声",icon:"mdi-bell-ring",value:"notification"},{title:"一言",icon:"mdi-comment-quote",value:"hitokoto"},{title:"随机点名",icon:"mdi-dice-multiple",value:"randomPicker"},{title:"开发者",icon:"mdi-developer-board",value:"developer"},{title:"关于",icon:"mdi-information",value:"about"}],drawer:!1}},watch:{settings:{handler(s){this.handleSettingsChange(s)},deep:!0},isMobile:{handler(s){this.drawer=!s},immediate:!0},studentData:{handler(s){this.lastSavedData&&(this.hasUnsavedChanges=JSON.stringify(s.list)!==JSON.stringify(this.lastSavedData)),this.studentData.text=s.list.join(` +`)},deep:!0}},mounted(){this.loadAllSettings(),this.unwatchSettings=Me(()=>{this.loadAllSettings()}),this.drawer=!this.isMobile},beforeUnmount(){this.unwatchSettings&&this.unwatchSettings()},methods:{openClassworksKV(){window.open(y("server.authDomain"),"_blank")},loadAllSettings(){Object.keys(this.settings).forEach(s=>{Object.keys(this.settings[s]).forEach(e=>{this.settings[s][e]=y(`${s}.${e}`)})})},handleSettingsChange(s){this.settingsChangeTimeout&&clearTimeout(this.settingsChangeTimeout),this.settingsChangeTimeout=setTimeout(()=>{Object.entries(s).forEach(([e,a])=>{Object.entries(a).forEach(([r,i])=>{const l=`${e}.${r}`,u=y(l);i!==u&&(ne(l,i)?this.showMessage("设置已更新",`${l} 已保存`):(this.showError("保存失败",`${l} 设置失败`),this.settings[e][r]=u))})})},100)},showMessage(s,e="",a="success"){this.$message[a](s,e)},showError(s,e=""){this.$message.error(s,e)},saveEdit(){if(this.editingIndex!==-1){const s=this.editingName.trim();s&&s!==this.studentData.list[this.editingIndex]&&(this.studentData.list[this.editingIndex]=s),this.editingIndex=-1,this.editingName=""}},startEdit(s,e){this.editingIndex=s,this.editingName=e},confirmDelete(s){this.studentToDelete={index:s,name:this.studentData.list[s]},this.deleteDialog=!0},moveStudent(s,e){const a=e==="up"?s-1:s+1;a>=0&&a=0&&s0){const e=this.studentData.list[s];this.studentData.list.splice(s,1),this.studentData.list.unshift(e)}},addStudent(){const s=this.newStudent.trim();s&&!this.studentData.list.includes(s)&&(this.studentData.list.push(s),this.newStudent="")},removeStudent(s){s!==void 0&&(this.studentData.list.splice(s,1),this.deleteDialog=!1,this.studentToDelete=null)},resetFontSize(){et("font.size"),this.settings.font.size=y("font.size"),this.showMessage("字体已重置","字体大小已恢复默认值")},handleDeveloperChange(s){s||(this.settings.message={showSidebar:!0,maxActiveMessages:5,timeout:5e3,saveHistory:!0})},resetDeveloperSettings(){this.settings.developer={enabled:!1},this.settings.message={showSidebar:!0,maxActiveMessages:5,timeout:5e3,saveHistory:!0},this.handleSettingsChange(this.settings),this.showMessage("已重置","开发者设置已重置为默认值","warning")},adjustFontSize(s){const a=this.settings.font.size;s==="up"&&a<100?this.settings.font.size=a+2:s==="down"&&a>16&&(this.settings.font.size=a-2),this.handleSettingsChange(this.settings)},onSettingsSaved(){this.showMessage("设置已更新","您的设置已成功保存")},onSettingUpdate(s,e){this.showMessage("设置已更新",`${s} 已保存为 ${e}`)}}},Ri={class:"settings-page"},Oi={class:"mt-4"};function Fi(s,e,a,r,i,l){const u=At,h=Dt,d=_t,b=Ct,T=xt,I=yt,te=bt,re=vt,X=gt,ve=wt,ue=pt,de=ht,oe=ft,be=mt,D=ct,_=dt,U=K,V=Lt("developer-settings-card"),J=ut,ee=rt,ce=qe;return c(),k("div",Ri,[t(nn,{elevation:"1"},{prepend:n(()=>[t(f,{icon:"mdi-arrow-left",variant:"text",onClick:e[0]||(e[0]=O=>s.$router.push("/"))}),t(f,{icon:"mdi-menu",variant:"text",onClick:e[1]||(e[1]=O=>i.drawer=!i.drawer)})]),default:n(()=>[t(tn,{class:"text-h6"},{default:n(()=>[...e[5]||(e[5]=[o("设置",-1)])]),_:1})]),_:1}),t(Ee,{fluid:""},{default:n(()=>[t(It,{modelValue:i.drawer,"onUpdate:modelValue":e[2]||(e[2]=O=>i.drawer=O),permanent:!r.isMobile,temporary:r.isMobile},{default:n(()=>[t(M,null,{default:n(()=>[(c(!0),k(F,null,W(i.settingsTabs,O=>(c(),p(x,{key:O.value,active:i.settingsTab===O.value,color:i.settingsTab===O.value?"primary":"default","prepend-icon":O.icon,class:"rounded-e-xl",onClick:me=>i.settingsTab=O.value},{default:n(()=>[t(j,null,{default:n(()=>[o(w(O.title),1)]),_:2},1024)]),_:2},1032,["active","color","prepend-icon","onClick"]))),128))]),_:1})]),_:1},8,["modelValue","permanent","temporary"]),t(qt,{modelValue:i.settingsTab,"onUpdate:modelValue":e[4]||(e[4]=O=>i.settingsTab=O),direction:"vertical",style:{width:"100%"}},{default:n(()=>[t(Z,{value:"index"},{default:n(()=>[t(C,{border:"",class:"service-card gradient-right clickable mb-4",color:"primary",elevation:"8",hover:"",rounded:"xl",variant:"tonal",onClick:l.openClassworksKV},{default:n(()=>[t(we,null,{default:n(()=>[...e[6]||(e[6]=[m("div",{class:"card-title"},[m("div",null,[m("div",{class:"text-h6"},"在寻找 Classworks KV ?"),m("div",{class:"text-caption text-medium-emphasis"}," 文档形键值数据库 ")])],-1)])]),_:1}),t(S,null,{default:n(()=>[m("div",Oi,[t(f,{"append-icon":"mdi-arrow-right",class:"text-none",rounded:"xl",variant:"text",onClick:l.openClassworksKV},{default:n(()=>[...e[7]||(e[7]=[o(" 打开 Classworks KV ",-1)])]),_:1},8,["onClick"])])]),_:1})]),_:1},8,["onClick"]),t(C,{border:"",class:"rounded-xl mb-4",subtitle:"设置",title:"Classworks"},{default:n(()=>[t(S,null,{default:n(()=>[t(L,{class:"rounded-xl",color:"error",icon:"mdi-alert-circle",variant:"tonal"},{default:n(()=>[...e[8]||(e[8]=[o("Classworks 是开源免费的软件,官方没有提供任何形式的付费支持服务,源代码仓库地址在 ",-1),m("a",{href:"https://github.com/ZeroCatDev/Classworks",target:"_blank"},"https://github.com/ZeroCatDev/Classworks",-1),o("。如果您通过有偿协助等付费方式取得本应用,在遇到问题时请在与卖家约定的服务框架下,优先向卖家求助。如果卖家没有提供您预期的服务,请退款或通过其它形式积极维护您的合法权益。 ",-1)])]),_:1}),t(L,{class:"mt-4 rounded-xl",color:"info",icon:"mdi-information",variant:"tonal"},{default:n(()=>[...e[9]||(e[9]=[o("请不要使用浏览器清除缓存功能,否则会导致配置丢失。 ",-1),m("del",null,"恶意的操作可能导致您受到贵校教师的处理 ",-1)])]),_:1}),t(L,{class:"mt-4 rounded-xl",color:"warning",icon:"mdi-information",variant:"tonal"},{default:n(()=>[e[11]||(e[11]=m("p",null," 请不要使用包括但不限于360极速浏览器、360安全浏览器、夸克浏览器、QQ浏览器等浏览器使用 Classworks ,这些浏览器过时且存在严重的一致性问题。在Windows上,使用新版 Microsoft Edge 浏览器是最推荐的选择。 ",-1)),e[12]||(e[12]=m("p",{style:{color:"#666"}}," 上述浏览器商标为其所属公司所有,Classworks™ 与上述浏览器所属公司无竞争关系。 ",-1)),e[13]||(e[13]=m("br",null,null,-1)),t(f,{"append-icon":"mdi-open-in-new",class:"text-none rounded-xl",color:"warning",href:"https://www.microsoft.com/zh-cn/windows/microsoft-edge",target:"_blank",variant:"tonal"},{default:n(()=>[...e[10]||(e[10]=[o("下载 Microsoft Edge(微软边缘浏览器) ",-1)])]),_:1})]),_:1})]),_:1})]),_:1}),t(u)]),_:1}),t(Z,{value:"server"},{default:n(()=>[t(h,{loading:i.loading.server,border:"",onSaved:l.onSettingsSaved},null,8,["loading","onSaved"]),t(d,{border:"",class:"mt-4"}),t(b,{border:"",class:"mt-4"})]),_:1}),t(Z,{value:"student"},{default:n(()=>[t(T,{"is-mobile":r.isMobile,border:""},null,8,["is-mobile"]),t(I,{"is-mobile":r.isMobile,border:"",class:"mt-4"},null,8,["is-mobile"])]),_:1}),t(Z,{value:"share"},{default:n(()=>[t(te,{border:"",class:"mt-4"})]),_:1}),t(Z,{value:"refresh"},{default:n(()=>[t(re,{loading:i.loading.refresh,border:"",onSaved:l.onSettingsSaved},null,8,["loading","onSaved"])]),_:1}),t(Z,{value:"edit"},{default:n(()=>[t(X,{loading:i.loading.edit,border:"",onSaved:l.onSettingsSaved},null,8,["loading","onSaved"])]),_:1}),t(Z,{value:"display"},{default:n(()=>[t(ve,{loading:i.loading.display,border:"",onSaved:l.onSettingsSaved},null,8,["loading","onSaved"])]),_:1}),t(Z,{value:"theme"},{default:n(()=>[t(ue,{loading:i.loading.theme,border:"",onSaved:l.onSettingsSaved},null,8,["loading","onSaved"])]),_:1}),t(Z,{value:"notification"},{default:n(()=>[t(de,{border:""})]),_:1}),t(Z,{value:"hitokoto"},{default:n(()=>[t(oe,{border:""})]),_:1}),t(Z,{value:"randomPicker"},{default:n(()=>[t(be,{"is-mobile":r.isMobile,border:""},null,8,["is-mobile"])]),_:1}),t(Z,{value:"subject"},{default:n(()=>[t(D,{border:""}),e[14]||(e[14]=m("br",null,null,-1)),t(_,{border:""})]),_:1}),t(Z,{value:"developer"},{default:n(()=>[t(U,{border:"",icon:"mdi-developer-board",title:"开发者选项"},{default:n(()=>[t(M,null,{default:n(()=>[t(x,null,{prepend:n(()=>[t(g,{class:"mr-3",icon:"mdi-code-tags"})]),append:n(()=>[t(st,{modelValue:i.settings.developer.enabled,"onUpdate:modelValue":e[3]||(e[3]=O=>i.settings.developer.enabled=O),density:"comfortable","hide-details":"",onChange:l.handleDeveloperChange},null,8,["modelValue","onChange"])]),default:n(()=>[t(j,null,{default:n(()=>[...e[15]||(e[15]=[o("启用开发者选项",-1)])]),_:1}),t(Q,null,{default:n(()=>[...e[16]||(e[16]=[o("启用后可以查看和修改开发者设置 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1}),t(V,{loading:i.loading.developer,border:"",onSaved:l.onSettingsSaved},null,8,["loading","onSaved"]),i.settings.developer.enabled?(c(),p(C,{key:0,border:"",class:"mt-4 rounded-lg"},{default:n(()=>[t(P,{class:"d-flex align-center"},{default:n(()=>[t(g,{class:"mr-2",icon:"mdi-cog-outline"}),e[17]||(e[17]=o(" 所有设置 ",-1))]),_:1}),t(Se,null,{default:n(()=>[...e[18]||(e[18]=[o(" 浏览和修改所有可用设置",-1)])]),_:1}),t(S,null,{default:n(()=>[t(J,{onUpdate:l.onSettingUpdate},null,8,["onUpdate"])]),_:1})]),_:1})):v("",!0),i.settings.developer.enabled?(c(),p(B,{key:1,cols:"12"})):v("",!0)]),_:1}),t(Z,{value:"about"},{default:n(()=>[t(u),t(ee,{border:"",class:"mt-4"})]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(ce,{ref:"messageLog"},null,512)])}const gl=E(Ki,[["render",Fi]]);export{gl as default}; diff --git a/assets/settings-DjYY_dPH.js b/assets/settings-DjYY_dPH.js deleted file mode 100644 index 8447014..0000000 --- a/assets/settings-DjYY_dPH.js +++ /dev/null @@ -1,25 +0,0 @@ -import{s as mn,b as fn,V as mt,a as ft,_ as Ct,c as pn}from"./VCombobox-DuoJlmmF.js";import{_ as Y,o as c,j as g,w as n,c as t,ai as je,q as F,v as o,A as w,t as v,z as j,ag as He,D as y,af as Ke,M as ue,l as E,i as m,br as hn,L as Ge,am as _t,bs as Vt,k as C,s as Se,bt as gn,C as k,a0 as z,a1 as le,y as h,P as Q,Q as D,K as P,E as Ee,aj as tt,F as se,bu as Le,ac as nt,ak as et,G as de,x as ne,Y as ze,a4 as wn,N as Ve,O as Ae,H as we,aa as Dt,bf as vn,B as bn,g as yn,ar as kn,bv as xn,p as Sn,bw as Cn,bd as At,d as Fe,ae as pt,aU as _n,a2 as ge,R as ht,ap as Vn,Z as Dn,a3 as Pe,aP as An,r as Tn,X as In}from"./index-CHEqx3ZK.js";import{V as X}from"./VChip-B02B673U.js";import{V as Tt}from"./VSwitch-CsrhG2o9.js";import{i as Je,V as It,b as jn}from"./VSelect-B5ZKU6ZJ.js";import{V as K}from"./VTextField-BmfQXFFg.js";import{d as re,a as Qe,c as gt,b as En,o as Un,k as Nn}from"./dataProvider-B62Oym03.js";import{V as $,a as Te}from"./VAlert-B7dotCy7.js";import{V as ce,a as O}from"./VRow-7L_239rt.js";import{V as st}from"./VContainer-x94CJ7kH.js";import{a as Ce}from"./VPagination-DEEAIfju.js";import{V as Ie}from"./VTextarea-uYG2fN8H.js";import{V as jt}from"./VForm-ovineFXC.js";import{V as it,a as lt,b as Et,c as ot}from"./VExpansionPanels-DmHhDpJu.js";import{e as Ut,b as Mn,a as he}from"./VTabsWindowItem-2AwayTty.js";import{V as wt}from"./VCheckboxBtn-L9oezRC0.js";import{i as Pn,t as Bn}from"./serverRotation-D840vVDL.js";import{V as vt,a as bt,b as Ln,c as zn}from"./VAppBarTitle-P_aLwYn3.js";const On={name:"SettingsCard",props:{title:{type:String,required:!0},icon:{type:String,required:!0},loading:{type:Boolean,default:!1}}};function Rn(s,e,a,d,i,l){return c(),g(E,{class:"settings-card rounded-lg",elevation:"2"},{default:n(()=>[t(je,null,{prepend:n(()=>[t(v,{icon:a.icon,class:"mr-2",size:"large"},null,8,["icon"])]),default:n(()=>[t(F,{class:"text-h6"},{default:n(()=>[o(w(a.title),1)]),_:1})]),_:1}),t(j,null,{default:n(()=>[a.loading?(c(),g(He,{key:0,class:"mb-4",color:"primary",indeterminate:""})):y("",!0),Ke(s.$slots,"default",{},void 0,!0)]),_:3}),s.$slots.actions?(c(),g(ue,{key:0,class:"pa-4"},{default:n(()=>[Ke(s.$slots,"actions",{},void 0,!0)]),_:3})):y("",!0)]),_:3})}const ee=Y(On,[["render",Rn],["__scopeId","data-v-9c035df1"]]);var Kn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Fn(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}var Nt={exports:{}};(function(s,e){(function(a,d){s.exports=d()})(typeof self<"u"?self:Kn,()=>(()=>{var a={3146:(r,p,u)=>{for(var b=u(3491),A=typeof window>"u"?u.g:window,I=["moz","webkit"],H="AnimationFrame",G=A["request"+H],q=A["cancel"+H]||A["cancelRequest"+H],fe=0;!G&&fe{var p=r&&r.__esModule?()=>r.default:()=>r;return i.d(p,{a:p}),p},i.d=(r,p)=>{for(var u in p)i.o(p,u)&&!i.o(r,u)&&Object.defineProperty(r,u,{enumerable:!0,get:p[u]})},i.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}(),i.o=(r,p)=>Object.prototype.hasOwnProperty.call(r,p);var l={};return(()=>{i.d(l,{default:()=>nn});var r=i(3146),p=i.n(r);const u=function(M){return new RegExp(/<[a-z][\s\S]*>/i).test(M)},b=function(M,x){return Math.floor(Math.random()*(x-M+1))+M};var A="TYPE_CHARACTER",I="REMOVE_CHARACTER",H="REMOVE_ALL",G="REMOVE_LAST_VISIBLE_NODE",q="PAUSE_FOR",fe="CALL_FUNCTION",pe="ADD_HTML_TAG_ELEMENT",me="CHANGE_DELETE_SPEED",ie="CHANGE_DELAY",ye="CHANGE_CURSOR",V="PASTE_STRING",_="HTML_TAG";function U(M){return U=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(x){return typeof x}:function(x){return x&&typeof Symbol=="function"&&x.constructor===Symbol&&x!==Symbol.prototype?"symbol":typeof x},U(M)}function T(M,x){var B=Object.keys(M);if(Object.getOwnPropertySymbols){var N=Object.getOwnPropertySymbols(M);x&&(N=N.filter(function(xe){return Object.getOwnPropertyDescriptor(M,xe).enumerable})),B.push.apply(B,N)}return B}function R(M){for(var x=1;xM.length)&&(x=M.length);for(var B=0,N=Array(x);B1&&arguments[1]!==void 0?arguments[1]:null;if(u(S))return f.typeOutHTMLString(S,J);if(S){var oe=(f.options||{}).stringSplitter,ae=typeof oe=="function"?oe(S):S.split("");f.typeCharacters(ae,J)}return f}),L(this,"pasteString",function(S){var J=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return u(S)?f.typeOutHTMLString(S,J,!0):(S&&f.addEventToQueue(V,{character:S,node:J}),f)}),L(this,"typeOutHTMLString",function(S){var J=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,oe=arguments.length>2?arguments[2]:void 0,ae=function(Ue){var Ne=document.createElement("div");return Ne.innerHTML=Ue,Ne.childNodes}(S);if(ae.length>0)for(var W=0;W0&&arguments[0]!==void 0?arguments[0]:"natural";return f.addEventToQueue(H,{speed:S}),f}),L(this,"changeDeleteSpeed",function(S){if(!S)throw new Error("Must provide new delete speed");return f.addEventToQueue(me,{speed:S}),f}),L(this,"changeDelay",function(S){if(!S)throw new Error("Must provide new delay");return f.addEventToQueue(ie,{delay:S}),f}),L(this,"changeCursor",function(S){if(!S)throw new Error("Must provide new cursor");return f.addEventToQueue(ye,{cursor:S}),f}),L(this,"deleteChars",function(S){if(!S)throw new Error("Must provide amount of characters to delete");for(var J=0;J1&&arguments[1]!==void 0?arguments[1]:null;if(!S||!Array.isArray(S))throw new Error("Characters must be an array");return S.forEach(function(oe){f.addEventToQueue(A,{character:oe,node:J})}),f}),L(this,"removeCharacters",function(S){if(!S||!Array.isArray(S))throw new Error("Characters must be an array");return S.forEach(function(){f.addEventToQueue(I)}),f}),L(this,"addEventToQueue",function(S,J){var oe=arguments.length>2&&arguments[2]!==void 0&&arguments[2];return f.addEventToStateProperty(S,J,oe,"eventQueue")}),L(this,"addReverseCalledEvent",function(S,J){var oe=arguments.length>2&&arguments[2]!==void 0&&arguments[2];return f.options.loop?f.addEventToStateProperty(S,J,oe,"reverseCalledEvents"):f}),L(this,"addEventToStateProperty",function(S,J){var oe=arguments.length>2&&arguments[2]!==void 0&&arguments[2],ae=arguments.length>3?arguments[3]:void 0,W={eventName:S,eventArgs:J||{}};return f.state[ae]=oe?[W].concat(te(f.state[ae])):[].concat(te(f.state[ae]),[W]),f}),L(this,"runEventLoop",function(){f.state.lastFrameTime||(f.state.lastFrameTime=Date.now());var S=Date.now(),J=S-f.state.lastFrameTime;if(!f.state.eventQueue.length){if(!f.options.loop)return;f.state.eventQueue=te(f.state.calledEvents),f.state.calledEvents=[],f.options=R({},f.state.initialOptions)}if(f.state.eventLoop=p()(f.runEventLoop),!f.state.eventLoopPaused){if(f.state.pauseUntil){if(S({typewriter:null,sourceWriter:null,currentQuote:xt,hasClicked:!1}),mounted(){this.initTypewriters()},methods:{initTypewriters(){this.typewriter=new yt(this.$refs.typewriter,St.main),this.sourceWriter=new yt(this.$refs.sourceWriter,St.source),this.typeQuote(xt)},typeQuote(s){this.typewriter.deleteAll(30).typeString(s.text).start(),s.author&&this.sourceWriter.deleteAll(20).typeString(s.author).start()},async handleClick(){this.hasClicked||(this.hasClicked=!0),await this.copyToClipboard(),this.currentQuote=this.getRandomQuote(),this.typeQuote(this.currentQuote)},getRandomQuote(){return kt.quotes[Math.floor(Math.random()*kt.quotes.length)]},async copyToClipboard(){if(!this.currentQuote)return;const{text:s,author:e,contributor:a,link:d}=this.currentQuote,i=[s,e&&`作者:${e}`,a&&`贡献者:${a}`,(d||a)&&`来源:${d||`https://github.com/${a}`}`].filter(Boolean);try{await navigator.clipboard.writeText(i.join(` -`))}catch(l){console.error("复制失败:",l)}}},beforeUnmount(){[this.typewriter,this.sourceWriter].forEach(s=>s==null?void 0:s.stop())}},Gn={ref:"typewriter",class:"typewriter-text"},Wn={ref:"sourceWriter",class:"source-text"};function Yn(s,e,a,d,i,l){const r=ee;return c(),g(r,{border:"",icon:"mdi-thought-bubble",title:"回声洞",onClick:l.handleClick},{default:n(()=>[t(j,null,{default:n(()=>[m("div",Gn,null,512),m("div",Wn,null,512)]),_:1}),t(hn,{name:"fade"},{default:n(()=>{var p;return[(p=s.currentQuote)!=null&&p.contributor?(c(),g(X,{key:0,class:"contributor"},{default:n(()=>[t(Ge,{start:""},{default:n(()=>[t(_t,{src:`https://github.com/${s.currentQuote.contributor}.png`},null,8,["src"])]),_:1}),o(" "+w(s.currentQuote.contributor),1)]),_:1})):y("",!0)]}),_:1})]),_:1},8,["onClick"])}const Mt=Y(Hn,[["render",Yn],["__scopeId","data-v-a6a55e27"]]),qn={name:"SettingItem",props:{settingKey:{type:String,required:!0},icon:{type:String,default:null},disabled:{type:Boolean,default:!1},title:{type:String,default:null},description:{type:String,default:null}},data(){return{localValue:null,definition:null,type:null,selectOptions:[],hasOptions:!1,minValue:0,maxValue:100,stepValue:1,showSnackbar:!1,snackbarText:"",fontFamilies:[{title:"Arial",value:"Arial, sans-serif"},{title:"Calibri",value:"Calibri, sans-serif"},{title:"Cambria",value:"Cambria, serif"},{title:"Consolas",value:"Consolas, monospace"},{title:"Courier New",value:"Courier New, monospace"},{title:"Georgia",value:"Georgia, serif"},{title:"Helvetica",value:"Helvetica, sans-serif"},{title:"Segoe UI",value:"Segoe UI, sans-serif"},{title:"Times New Roman",value:"Times New Roman, serif"},{title:"Trebuchet MS",value:"Trebuchet MS, sans-serif"},{title:"Verdana",value:"Verdana, sans-serif"},{title:"Monospace",value:"monospace"},{title:"Sans-serif",value:"sans-serif"},{title:"Serif",value:"serif"}],displayValueMappings:{"display.emptySubjectDisplay":{card:"卡片",button:"按钮"},"theme.mode":{light:"浅色",dark:"深色"},"server.provider":{classworkscloud:"Classworks云端存储","kv-local":"KV本地存储","kv-server":"KV远程服务器"}},defaultIcons:{boolean:"mdi-toggle-switch-outline",number:"mdi-numeric",string:"mdi-form-textbox"}}},computed:{displayTitle(){if(this.title)return this.title;if(this.definition&&this.definition.description)return this.definition.description;const s=this.settingKey.split(".");return s[s.length-1]},displayDescription(){return this.description?this.description:this.settingKey},isFontFamily(){return this.settingKey.toLowerCase().includes("fontfamily")||this.settingKey.toLowerCase().includes("font.family")},isDefaultValue(){return this.definition?typeof this.localValue=="object"&&this.localValue!==null?JSON.stringify(this.localValue)===JSON.stringify(this.definition.default):this.localValue===this.definition.default:!0},settingIcon(){return this.icon?this.icon:this.definition&&this.definition.icon?this.definition.icon:this.defaultIcons[this.type]||"mdi-cog-outline"}},created(){this.loadSetting()},methods:{loadSetting(){if(this.definition=gn(this.settingKey),!this.definition){console.error(`未找到设置项定义: ${this.settingKey}`);return}if(this.type=this.definition.type,this.localValue=C(this.settingKey),this.type==="string"){if(this.isFontFamily)this.selectOptions=this.fontFamilies,this.hasOptions=!0;else if(this.settingKey in this.displayValueMappings){const s=this.displayValueMappings[this.settingKey];this.selectOptions=Object.entries(s).map(([e,a])=>({title:a,value:e})),this.hasOptions=!0}else if(this.definition.validate){const e=this.definition.validate.toString().match(/\[(.*?)\]/);if(e){const d=e[1].split(",").map(i=>{const l=i.trim().replace(/['"]/g,"");return{title:this.getDisplayValue(l)||l,value:l}});d.length>0&&(this.selectOptions=d,this.hasOptions=!0)}}}if(this.type==="number"&&this.definition.validate){const s=this.definition.validate.toString(),e=s.match(/value\s*>=\s*(\d+)/);e&&(this.minValue=Number(e[1]));const a=s.match(/value\s*<=\s*(\d+)/);a&&(this.maxValue=Number(a[1]));const d=this.maxValue-this.minValue;d>100?this.stepValue=10:d>20?this.stepValue=5:d>10?this.stepValue=2:this.stepValue=1}},getDisplayValue(s){return this.settingKey in this.displayValueMappings&&this.displayValueMappings[this.settingKey][s]||s},updateSetting(s){let e=s;this.type==="boolean"?e=!!s:this.type==="number"&&(e=Number(s),ethis.maxValue&&(e=this.maxValue)),Se(this.settingKey,e)?this.$emit("update",this.settingKey,e):(this.localValue=C(this.settingKey),this.$emit("error",this.settingKey))},adjustValue(s){if(this.type!=="number")return;const e=this.localValue+s;e>=this.minValue&&e<=this.maxValue&&(this.localValue=e,this.updateSetting(e))},copySettingId(){navigator.clipboard.writeText(this.settingKey).then(()=>{this.showSnackbarMessage("设置ID已复制到剪贴板")}).catch(s=>{console.error("复制失败:",s)})},copySettingValue(){let s="";typeof this.localValue=="object"&&this.localValue!==null?s=JSON.stringify(this.localValue):s=String(this.localValue),navigator.clipboard.writeText(s).then(()=>{this.showSnackbarMessage("设置值已复制到剪贴板")}).catch(e=>{console.error("复制失败:",e)})},resetToDefault(){this.definition&&(Vt(this.settingKey),this.localValue=C(this.settingKey),this.showSnackbarMessage("已重置为默认值"),this.$emit("update",this.settingKey,this.localValue))},showSnackbarMessage(s){this.snackbarText=s,this.showSnackbar=!0}}},Zn={class:"text-caption text-grey-darken-1"},Xn={class:"d-flex flex-column flex-sm-row align-center"},$n={key:0,class:"me-2"},es={key:2,class:"d-flex align-center"},ts={key:0,class:"px-4 pb-2 pt-0"};function ns(s,e,a,d,i,l){return c(),k(se,null,[t(D,{disabled:a.disabled,class:"setting-item"},{prepend:n(()=>[t(v,{icon:l.settingIcon},null,8,["icon"])]),append:n(()=>[m("div",Xn,[i.type!=="string"||i.hasOptions?(c(),k("div",$n,[i.type==="boolean"?(c(),g(Tt,{key:0,modelValue:i.localValue,"onUpdate:modelValue":[e[0]||(e[0]=r=>i.localValue=r),l.updateSetting],disabled:a.disabled,density:"comfortable","hide-details":""},null,8,["modelValue","disabled","onUpdate:modelValue"])):i.type==="string"&&i.hasOptions?(c(),g(Je,{key:1,modelValue:i.localValue,"onUpdate:modelValue":[e[1]||(e[1]=r=>i.localValue=r),l.updateSetting],disabled:a.disabled,items:i.selectOptions,"bg-color":"surface",class:"setting-select",density:"compact","hide-details":"","item-title":"title","item-value":"value",variant:"outlined"},null,8,["modelValue","disabled","items","onUpdate:modelValue"])):i.type==="number"?(c(),k("div",es,[t(h,{disabled:a.disabled||i.localValue<=i.minValue,icon:"mdi-minus",size:"small",variant:"text",onClick:e[2]||(e[2]=r=>l.adjustValue(-i.stepValue))},null,8,["disabled"]),t(K,{modelValue:i.localValue,"onUpdate:modelValue":[e[3]||(e[3]=r=>i.localValue=r),l.updateSetting],modelModifiers:{number:!0},disabled:a.disabled,max:i.maxValue,min:i.minValue,step:i.stepValue,"bg-color":"surface",class:"mx-2 setting-number-field",density:"compact","hide-details":"",style:{width:"80px"},type:"number",variant:"outlined"},null,8,["modelValue","disabled","max","min","step","onUpdate:modelValue"]),t(h,{disabled:a.disabled||i.localValue>=i.maxValue,icon:"mdi-plus",size:"small",variant:"text",onClick:e[4]||(e[4]=r=>l.adjustValue(i.stepValue))},null,8,["disabled"])])):y("",!0)])):y("",!0),t(It,{location:"bottom"},{activator:n(({props:r})=>[t(h,Ee({disabled:a.disabled,class:"ml-2",icon:"mdi-dots-vertical",size:"small"},r,{variant:"text"}),null,16,["disabled"])]),default:n(()=>[t(Q,{density:"compact"},{default:n(()=>[t(D,{onClick:l.copySettingId},{prepend:n(()=>[t(v,{icon:"mdi-key",size:"small"})]),default:n(()=>[t(z,null,{default:n(()=>[...e[7]||(e[7]=[o("复制设置ID",-1)])]),_:1})]),_:1},8,["onClick"]),t(D,{onClick:l.copySettingValue},{prepend:n(()=>[t(v,{icon:"mdi-content-copy",size:"small"})]),default:n(()=>[t(z,null,{default:n(()=>[...e[8]||(e[8]=[o("复制设置值",-1)])]),_:1})]),_:1},8,["onClick"]),t(P),t(D,{disabled:l.isDefaultValue,onClick:l.resetToDefault},{prepend:n(()=>[t(v,{icon:"mdi-restore",size:"small"})]),default:n(()=>[t(z,null,{default:n(()=>[...e[9]||(e[9]=[o("重置为默认值",-1)])]),_:1})]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})])]),default:n(()=>[t(z,{class:"text-wrap"},{default:n(()=>[o(w(l.displayTitle),1)]),_:1}),t(le,{class:"d-flex align-center text-wrap"},{default:n(()=>[m("span",Zn,w(a.settingKey),1)]),_:1})]),_:1},8,["disabled"]),i.type==="string"&&!i.hasOptions?(c(),k("div",ts,[t(K,{modelValue:i.localValue,"onUpdate:modelValue":[e[5]||(e[5]=r=>i.localValue=r),l.updateSetting],disabled:a.disabled,"bg-color":"surface",class:"setting-text-field mt-1",density:"compact","hide-details":"",variant:"outlined"},null,8,["modelValue","disabled","onUpdate:modelValue"])])):y("",!0),t(tt,{modelValue:i.showSnackbar,"onUpdate:modelValue":e[6]||(e[6]=r=>i.showSnackbar=r),timeout:2e3,color:"success",location:"top"},{default:n(()=>[o(w(i.snackbarText),1)]),_:1},8,["modelValue"])],64)}const _e=Y(qn,[["render",ns],["__scopeId","data-v-08b49b47"]]),ss={name:"SettingsExplorer",components:{SettingItem:_e},data(){return{searchQuery:"",currentSettings:{},unwatchFunction:null}},computed:{isDeveloperMode(){return C("developer.enabled")},allSettings(){var e;const s=[];for(const[a,d]of Object.entries(et))this.searchQuery&&!a.toLowerCase().includes(this.searchQuery.toLowerCase())&&!((e=d.description)!=null&&e.toLowerCase().includes(this.searchQuery.toLowerCase()))||s.push({key:a,...d});return s},formattedSettings(){return JSON.stringify(this.currentSettings,null,2)}},created(){this.updateCurrentSettings(),this.unwatchFunction=nt(()=>{this.updateCurrentSettings()})},beforeUnmount(){this.unwatchFunction&&this.unwatchFunction()},methods:{updateCurrentSettings(){this.currentSettings=Le()},onSettingUpdate(s,e){this.$emit("update",s,e),this.updateCurrentSettings()},onSettingError(s){this.$emit("error",s)},copySettingsToClipboard(){navigator.clipboard.writeText(JSON.stringify(this.currentSettings)).then(()=>{this.$emit("message",{type:"success",text:"设置已复制到剪贴板"})}).catch(s=>{console.error("复制到剪贴板失败:",s),this.$emit("message",{type:"error",text:"复制到剪贴板失败"})})}}},is={class:"settings-explorer"},ls={class:"settings-json"};function os(s,e,a,d,i,l){const r=_e;return c(),k("div",is,[m("div",null,[t(K,{modelValue:i.searchQuery,"onUpdate:modelValue":e[0]||(e[0]=p=>i.searchQuery=p),class:"mb-4",clearable:"",density:"comfortable",label:"搜索设置","prepend-inner-icon":"mdi-magnify",variant:"outlined"},null,8,["modelValue"]),t(Q,null,{default:n(()=>[(c(!0),k(se,null,de(l.allSettings,p=>(c(),k("div",{key:p.key},[(c(),g(r,{key:p.key,disabled:p.requireDeveloper&&!l.isDeveloperMode,"setting-key":p.key,onError:l.onSettingError,onUpdate:l.onSettingUpdate},null,8,["disabled","setting-key","onError","onUpdate"])),t(P,{class:"my-2"})]))),128))]),_:1}),t(E,{border:""},{default:n(()=>[t(F,{class:"text-subtitle-1"},{default:n(()=>[...e[1]||(e[1]=[o("当前配置",-1)])]),_:1}),t(j,null,{default:n(()=>[m("pre",ls,w(l.formattedSettings),1)]),_:1}),t(ue,null,{default:n(()=>[t(ne),t(h,{onClick:l.copySettingsToClipboard},{default:n(()=>[e[3]||(e[3]=o(" 复制到剪贴板 ",-1)),t(v,{right:""},{default:n(()=>[...e[2]||(e[2]=[o("mdi-content-copy",-1)])]),_:1})]),_:1},8,["onClick"])]),_:1})]),_:1})])])}const Pt=Y(ss,[["render",os],["__scopeId","data-v-4d032f99"]]),as={name:"SettingGroup",props:{title:{type:String,default:null},description:{type:String,default:null},icon:{type:String,default:null},border:{type:Boolean,default:!1}},methods:{onSettingUpdate(s,e){this.$emit("update",s,e)},onSettingError(s){this.$emit("error",s)}}};function rs(s,e,a,d,i,l){return c(),g(E,{border:a.border,class:"setting-group"},{default:n(()=>[a.title?(c(),g(F,{key:0,class:"d-flex align-center"},{default:n(()=>[a.icon?(c(),g(v,{key:0,icon:a.icon,class:"mr-2"},null,8,["icon"])):y("",!0),o(" "+w(a.title),1)]),_:1})):y("",!0),a.description?(c(),g(ze,{key:1},{default:n(()=>[o(w(a.description),1)]),_:1})):y("",!0),t(j,null,{default:n(()=>[t(Q,null,{default:n(()=>[Ke(s.$slots,"default",{},void 0,!0)]),_:3})]),_:3}),s.$slots.actions?(c(),g(ue,{key:2},{default:n(()=>[Ke(s.$slots,"actions",{},void 0,!0)]),_:3})):y("",!0)]),_:3},8,["border"])}const We=Y(as,[["render",rs],["__scopeId","data-v-9af32ae4"]]),us={subjects:{语文:{books:{课本:["第一单元","第二单元"],练习册:["第一章","第二章"]}},数学:{books:{课本:["第一章","第二章"],习题册:["基础练习","提高练习"]}},英语:{books:{课本:["Unit 1","Unit 2"],练习册:["Chapter 1","Chapter 2"]}}},commonSubject:{books:{试卷:["单元测试","期中测试","期末测试"],假期作业:["必做题","选做题"]}},actions:["写完","下一课","不交","明天交"]},ds={name:"HomeworkTemplateCard",components:{SettingsCard:ee,SettingGroup:We},data(){return{loading:!1,error:null,config:wn(JSON.parse(JSON.stringify(us))),originalConfig:null,newSubject:"",newCommonBook:"",newAction:"",newTask:"",editedSubjects:{},editedBookTypes:{},newBookTypes:{},newBooks:{},showSnackbar:!1,snackbarText:"",snackbarColor:"success",isNewConfig:!0,dialog:{show:!1,title:"",nameLabel:"",editedItem:{name:"",type:"",subject:"",bookType:"",originalName:"",tasks:[]}}}},computed:{subjectList(){return Object.keys(this.config.subjects)},hasChanges(){return this.isNewConfig?!0:this.originalConfig&&JSON.stringify(this.config)!==JSON.stringify(this.originalConfig)}},created(){this.loadConfig()},methods:{async loadConfig(){var s,e;this.loading=!0;try{const a=await re.loadData("classworks-config-homework-template");if(a){const d=a;Object.assign(this.config,d),this.originalConfig=JSON.parse(JSON.stringify(d)),this.isNewConfig=!1,this.showMessage("配置已加载","success")}else if(((s=a.error)==null?void 0:s.code)==="NOT_FOUND")this.showMessage("使用默认配置","info"),this.isNewConfig=!0;else{const d=((e=a.error)==null?void 0:e.message)||"加载失败";this.showMessage(`加载失败: ${d},可继续编辑当前配置`,"warning")}}catch(a){console.error("Failed to load config:",a),this.showMessage("加载失败,可继续编辑当前配置","warning")}this.loading=!1},async saveConfig(){this.loading=!0;try{const s=await re.saveData("classworks-config-homework-template",this.config);if(s)this.originalConfig=JSON.parse(JSON.stringify(this.config)),this.isNewConfig=!1,this.showMessage("配置已保存","success");else throw new Error(s||"保存失败")}catch(s){console.error("Failed to save config:",s),this.showMessage(`保存失败: ${s.message},请稍后重试`,"error")}this.loading=!1},showMessage(s,e="success"){this.snackbarText=s,this.snackbarColor=e,this.showSnackbar=!0},addSubject(){this.newSubject&&(this.config.subjects[this.newSubject]||(this.config.subjects[this.newSubject]={books:{}}),this.newSubject="")},updateSubject(s){const e=this.editedSubjects[s];if(e&&e!==s){const a=this.config.subjects[s];this.config.subjects[e]=a,delete this.config.subjects[s]}delete this.editedSubjects[s]},deleteSubject(s){delete this.config.subjects[s]},addBookType(s){const e=this.newBookTypes[s];e&&(this.config.subjects[s].books[e]||(this.config.subjects[s].books[e]=[]),this.newBookTypes[s]="")},updateBookType(s,e){const a=`${s}-${e}`,d=this.editedBookTypes[a];if(d&&d!==e){const i=this.config.subjects[s].books[e];this.config.subjects[s].books[d]=i,delete this.config.subjects[s].books[e]}delete this.editedBookTypes[a]},deleteBookType(s,e){s==="common"?delete this.config.commonSubject.books[e]:delete this.config.subjects[s].books[e]},addBook(s,e){const a=`${s}-${e}`,d=this.newBooks[a];d&&(this.config.subjects[s].books[e].includes(d)||this.config.subjects[s].books[e].push(d),this.newBooks[a]="")},removeBook(s,e,a){const d=this.config.subjects[s].books[e],i=d.indexOf(a);i>-1&&d.splice(i,1)},addCommonBook(){this.newCommonBook&&(this.config.commonSubject.books[this.newCommonBook]||(this.config.commonSubject.books[this.newCommonBook]=[]),this.newCommonBook="")},removeCommonBook(s){delete this.config.commonSubject.books[s]},addAction(){this.newAction&&(this.config.actions.includes(this.newAction)||this.config.actions.push(this.newAction),this.newAction="")},removeAction(s){const e=this.config.actions.indexOf(s);e>-1&&this.config.actions.splice(e,1)},openBookDialog(s,e,a){this.dialog.show=!0,this.dialog.title="编辑需完成部分",this.dialog.nameLabel="部分名称",this.dialog.editedItem={name:a,type:"book",subject:s,bookType:e,originalName:a,tasks:this.config.subjects[s].books[e]}},openCommonBookDialog(s){this.dialog.show=!0,this.dialog.title="编辑通用作业本",this.dialog.nameLabel="作业本名称",this.dialog.editedItem={name:s,type:"commonBook",originalName:s,tasks:Array.isArray(this.config.commonSubject.books[s])?[...this.config.commonSubject.books[s]]:[]}},openActionDialog(s){this.dialog={show:!0,title:"编辑操作",nameLabel:"操作名称",editedItem:{name:s,type:"action",originalName:s,tasks:[]}}},addTask(){this.newTask&&(this.dialog.editedItem.tasks||(this.dialog.editedItem.tasks=[]),this.dialog.editedItem.tasks.push(this.newTask),this.newTask="")},removeTask(s){this.dialog.editedItem.tasks.splice(s,1)},openSubjectBookDialog(s,e,a){this.dialog.show=!0,this.dialog.title=s==="common"?"编辑通用作业本":"编辑作业本",this.dialog.nameLabel="作业本名称",this.dialog.editedItem={name:e,type:"subjectBook",subject:s,originalName:e,tasks:Array.isArray(a)?[...a]:[]}},saveDialog(){const{type:s,name:e,subject:a,originalName:d,tasks:i}=this.dialog.editedItem;if(!e){this.showMessage("名称不能为空","error");return}let l;const r=a==="common"?this.config.commonSubject.books:a?this.config.subjects[a].books:null;switch(s){case"subjectBook":r&&(d!==e?(r[e]=i||[],delete r[d]):r[e]=i||[]);break;case"action":l=this.config.actions.indexOf(d),l>-1&&(this.config.actions[l]=e);break}this.closeDialog()},closeDialog(){this.dialog={show:!1,title:"",nameLabel:"",editedItem:{name:"",type:"",subject:"",originalName:"",tasks:[]}},this.newTask=""}}},cs={class:"d-flex justify-space-between align-center mb-6"};function ms(s,e,a,d,i,l){const r=We,p=ee;return c(),g(p,{loading:i.loading,border:"",icon:"mdi-book-edit",title:"作业模板配置"},{default:n(()=>[i.error?(c(),g($,{key:0,class:"mb-4",closable:"",type:"error",variant:"tonal"},{default:n(()=>[o(w(i.error),1)]),_:1})):y("",!0),m("div",cs,[m("div",null,[t(h,{loading:i.loading,class:"mr-2",color:"primary","prepend-icon":"mdi-refresh",size:"large",onClick:l.loadConfig},{default:n(()=>[...e[7]||(e[7]=[o(" 重新加载配置 ",-1)])]),_:1},8,["loading","onClick"]),t(h,{loading:i.loading,color:"success","prepend-icon":"mdi-content-save",size:"large",onClick:l.saveConfig},{default:n(()=>[...e[8]||(e[8]=[o(" 保存所有更改 ",-1)])]),_:1},8,["loading","onClick"])]),l.hasChanges?(c(),g(X,{key:0,color:"warning",variant:"elevated"},{default:n(()=>[...e[9]||(e[9]=[o(" 有未保存的更改 ",-1)])]),_:1})):y("",!0)]),t(ce,null,{default:n(()=>[t(O,{cols:"12",md:"6"},{default:n(()=>[t(r,{border:"",icon:"mdi-book",title:"科目配置"},{default:n(()=>[t(Q,null,{default:n(()=>[t(D,null,{default:n(()=>[t(K,{modelValue:i.newSubject,"onUpdate:modelValue":e[0]||(e[0]=u=>i.newSubject=u),"append-inner-icon":"mdi-plus",density:"comfortable",label:"添加新科目",variant:"outlined","onClick:appendInner":l.addSubject,onKeyup:Ve(l.addSubject,["enter"])},null,8,["modelValue","onClick:appendInner","onKeyup"])]),_:1}),(c(!0),k(se,null,de(l.subjectList,u=>(c(),g(D,{key:u},{default:n(()=>[t(E,{border:"",class:"w-100 mb-2"},{default:n(()=>[t(F,{class:"d-flex align-center"},{default:n(()=>[t(K,{modelValue:i.editedSubjects[u],"onUpdate:modelValue":b=>i.editedSubjects[u]=b,placeholder:u,density:"comfortable","hide-details":"",variant:"plain",onBlur:b=>l.updateSubject(u)},null,8,["modelValue","onUpdate:modelValue","placeholder","onBlur"]),t(ne),t(h,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:b=>l.deleteSubject(u)},null,8,["onClick"])]),_:2},1024),t(j,null,{default:n(()=>[t(K,{modelValue:i.newBookTypes[u],"onUpdate:modelValue":b=>i.newBookTypes[u]=b,"append-inner-icon":"mdi-plus",class:"mb-2",density:"comfortable",label:"添加作业本名称",variant:"outlined","onClick:appendInner":()=>l.addBookType(u),onKeyup:Ve(()=>l.addBookType(u),["enter"])},null,8,["modelValue","onUpdate:modelValue","onClick:appendInner","onKeyup"]),t(Q,{border:"",density:"compact",rounded:""},{default:n(()=>[(c(!0),k(se,null,de(i.config.subjects[u].books,(b,A)=>(c(),g(D,{key:A,title:A,onClick:I=>l.openSubjectBookDialog(u,A,b)},{prepend:n(()=>[t(v,{class:"mr-2",icon:"mdi-book-open-variant"})]),append:n(()=>[t(X,{class:"mr-2",color:"info",size:"small"},{default:n(()=>[o(w(b.length)+"个部分 ",1)]),_:2},1024),t(h,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:Ae(()=>l.deleteBookType(u,A),["stop"])},null,8,["onClick"])]),_:2},1032,["title","onClick"]))),128))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1}),t(O,{cols:"12",md:"6"},{default:n(()=>[t(r,{border:"",icon:"mdi-cog",title:"通用配置"},{default:n(()=>[t(Q,null,{default:n(()=>[t(D,null,{default:n(()=>[t(K,{modelValue:i.newCommonBook,"onUpdate:modelValue":e[1]||(e[1]=u=>i.newCommonBook=u),"append-inner-icon":"mdi-plus",density:"comfortable",label:"添加作业本名称",variant:"outlined","onClick:appendInner":l.addCommonBook,onKeyup:Ve(l.addCommonBook,["enter"])},null,8,["modelValue","onClick:appendInner","onKeyup"])]),_:1}),t(D,null,{default:n(()=>[t(Q,{border:"",density:"compact",rounded:""},{default:n(()=>[(c(!0),k(se,null,de(i.config.commonSubject.books,(u,b)=>(c(),g(D,{key:b,title:b,onClick:A=>l.openSubjectBookDialog("common",b,u)},{prepend:n(()=>[t(v,{class:"mr-2",icon:"mdi-book-multiple"})]),append:n(()=>[t(X,{class:"mr-2",color:"info",size:"small"},{default:n(()=>[o(w(u.length)+"个部分 ",1)]),_:2},1024),t(h,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:Ae(()=>l.deleteBookType("common",b),["stop"])},null,8,["onClick"])]),_:2},1032,["title","onClick"]))),128))]),_:1})]),_:1}),t(P,{class:"my-2"}),t(D,null,{default:n(()=>[t(K,{modelValue:i.newAction,"onUpdate:modelValue":e[2]||(e[2]=u=>i.newAction=u),"append-inner-icon":"mdi-plus",density:"comfortable",label:"添加操作",variant:"outlined","onClick:appendInner":l.addAction,onKeyup:Ve(l.addAction,["enter"])},null,8,["modelValue","onClick:appendInner","onKeyup"])]),_:1}),t(D,null,{default:n(()=>[t(Q,{border:"",density:"compact",rounded:""},{default:n(()=>[(c(!0),k(se,null,de(i.config.actions,u=>(c(),g(D,{key:u,title:u,onClick:b=>l.openActionDialog(u)},{append:n(()=>[t(h,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:Ae(b=>l.removeAction(u),["stop"])},null,8,["onClick"])]),_:2},1032,["title","onClick"]))),128))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),t(we,{modelValue:i.dialog.show,"onUpdate:modelValue":e[5]||(e[5]=u=>i.dialog.show=u),"max-width":"600px"},{default:n(()=>[t(E,null,{default:n(()=>[t(F,{class:"text-h5 pa-4"},{default:n(()=>[o(w(i.dialog.title),1)]),_:1}),t(j,null,{default:n(()=>[t(st,null,{default:n(()=>[t(ce,null,{default:n(()=>[t(O,{cols:"12"},{default:n(()=>[t(K,{modelValue:i.dialog.editedItem.name,"onUpdate:modelValue":e[3]||(e[3]=u=>i.dialog.editedItem.name=u),label:i.dialog.nameLabel,rules:[u=>!!u||"名称不能为空"],density:"comfortable",variant:"outlined"},null,8,["modelValue","label","rules"])]),_:1}),i.dialog.editedItem.type==="subjectBook"?(c(),g(O,{key:0,cols:"12"},{default:n(()=>[e[10]||(e[10]=m("div",{class:"text-subtitle-2 mb-2"},"所属科目",-1)),t(X,{color:"primary"},{default:n(()=>[o(w(i.dialog.editedItem.subject),1)]),_:1})]),_:1})):y("",!0),["subjectBook","commonBook"].includes(i.dialog.editedItem.type)?(c(),g(O,{key:1,cols:"12"},{default:n(()=>[t(E,{variant:"outlined"},{default:n(()=>[t(F,{class:"text-subtitle-1 py-2"},{default:n(()=>[...e[11]||(e[11]=[o("需完成部分",-1)])]),_:1}),t(j,{class:"pt-0"},{default:n(()=>[t(Q,{border:"",class:"mb-2",density:"compact",rounded:""},{default:n(()=>[(c(!0),k(se,null,de(i.dialog.editedItem.tasks,(u,b)=>(c(),g(D,{key:b},{prepend:n(()=>[t(v,{class:"mr-2",icon:"mdi-checkbox-blank-circle-outline",size:"small"})]),append:n(()=>[t(h,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:A=>l.removeTask(b)},null,8,["onClick"])]),default:n(()=>[t(K,{modelValue:i.dialog.editedItem.tasks[b],"onUpdate:modelValue":A=>i.dialog.editedItem.tasks[b]=A,density:"compact","hide-details":"",variant:"plain"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024))),128))]),_:1}),t(K,{modelValue:i.newTask,"onUpdate:modelValue":e[4]||(e[4]=u=>i.newTask=u),"append-inner-icon":"mdi-plus",class:"mt-2",density:"comfortable",label:"添加需完成部分",variant:"outlined","onClick:appendInner":l.addTask,onKeyup:Ve(l.addTask,["enter"])},null,8,["modelValue","onClick:appendInner","onKeyup"])]),_:1})]),_:1})]),_:1})):y("",!0)]),_:1})]),_:1})]),_:1}),t(ue,{class:"pa-4"},{default:n(()=>[t(ne),t(h,{color:"primary",variant:"elevated",onClick:l.saveDialog},{default:n(()=>[...e[12]||(e[12]=[o(" 关闭 ",-1)])]),_:1},8,["onClick"]),t(h,{color:"error",variant:"text",onClick:l.closeDialog},{default:n(()=>[...e[13]||(e[13]=[o(" 取消 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(tt,{modelValue:i.showSnackbar,"onUpdate:modelValue":e[6]||(e[6]=u=>i.showSnackbar=u),color:i.snackbarColor,timeout:3e3},{default:n(()=>[o(w(i.snackbarText),1)]),_:1},8,["modelValue","color"])]),_:1},8,["loading"])}const Bt=Y(ds,[["render",ms],["__scopeId","data-v-67769fa2"]]),fs={name:"SubjectManagementCard",components:{SettingsCard:ee},data(){return{loading:!1,error:null,subjects:[],originalSubjects:null,newSubjectName:"",showSnackbar:!1,snackbarText:"",snackbarColor:"success",defaultSubjects:[{name:"语文",order:0},{name:"数学",order:1},{name:"英语",order:2},{name:"物理",order:3},{name:"化学",order:4},{name:"生物",order:5},{name:"政治",order:6},{name:"历史",order:7},{name:"地理",order:8},{name:"其他",order:9}]}},computed:{hasChanges(){return this.originalSubjects&&JSON.stringify(this.subjects)!==JSON.stringify(this.originalSubjects)}},created(){this.loadConfig()},methods:{async loadConfig(){this.loading=!0;try{const s=await re.loadData("classworks-config-subject");s?(this.subjects=s.map((e,a)=>({name:e.name,order:e.order??a})).sort((e,a)=>e.order-a.order),this.originalSubjects=JSON.parse(JSON.stringify(this.subjects)),this.showMessage("配置已加载","success")):(this.subjects=[],this.originalSubjects=[],this.showMessage("使用默认配置","info"))}catch(s){console.error("Failed to load config:",s),this.showMessage("加载失败,可继续编辑当前配置","warning")}this.loading=!1},async saveConfig(){this.loading=!0;try{const s=await re.saveData("classworks-config-subject",this.subjects);if(s)this.originalSubjects=JSON.parse(JSON.stringify(this.subjects)),this.showMessage("配置已保存","success");else throw new Error(s||"保存失败")}catch(s){console.error("Failed to save config:",s),this.showMessage(`保存失败: ${s.message},请稍后重试`,"error")}this.loading=!1},showMessage(s,e="success"){this.snackbarText=s,this.snackbarColor=e,this.showSnackbar=!0},addSubject(){if(!this.newSubjectName)return;const s={name:this.newSubjectName,order:this.subjects.length};this.subjects.push(s),this.newSubjectName=""},updateSubject(s){const e=this.subjects.findIndex(a=>a.order===s.order);e>-1&&(this.subjects[e]={...s})},deleteSubject(s){const e=this.subjects.findIndex(a=>a.order===s.order);e>-1&&(this.subjects.splice(e,1),this.subjects.forEach((a,d)=>{a.order=d}))},moveSubject(s,e){const a=s+e;if(a>=0&&a{i.order=l})}},resetToDefault(){this.subjects=JSON.parse(JSON.stringify(this.defaultSubjects)),this.showMessage("已重置为默认科目列表","info")}}},ps={class:"d-flex justify-space-between align-center mb-6"},hs={class:"d-flex flex-column align-center mr-2"};function gs(s,e,a,d,i,l){const r=ee;return c(),g(r,{loading:i.loading,border:"",icon:"mdi-book-multiple",title:"科目管理"},{default:n(()=>[i.error?(c(),g($,{key:0,class:"mb-4",closable:"",type:"error",variant:"tonal"},{default:n(()=>[o(w(i.error),1)]),_:1})):y("",!0),m("div",ps,[m("div",null,[t(h,{loading:i.loading,class:"mr-2",color:"primary","prepend-icon":"mdi-refresh",size:"large",variant:"text",onClick:l.loadConfig},{default:n(()=>[...e[2]||(e[2]=[o(" 重新加载 ",-1)])]),_:1},8,["loading","onClick"]),t(h,{loading:i.loading,color:"success","prepend-icon":"mdi-content-save",size:"large",onClick:l.saveConfig},{default:n(()=>[...e[3]||(e[3]=[o(" 保存 ",-1)])]),_:1},8,["loading","onClick"]),t(h,{loading:i.loading,class:"mr-2","prepend-icon":"mdi-restore",variant:"text",onClick:l.resetToDefault},{default:n(()=>[...e[4]||(e[4]=[o(" 重置为默认 ",-1)])]),_:1},8,["loading","onClick"])]),l.hasChanges?(c(),g(X,{key:0,color:"warning",variant:"elevated"},{default:n(()=>[...e[5]||(e[5]=[o(" 有未保存的更改 ",-1)])]),_:1})):y("",!0)]),t(E,{class:"mb-4",variant:"outlined"},{default:n(()=>[t(j,null,{default:n(()=>[t(ce,null,{default:n(()=>[t(O,{cols:"12",sm:"6"},{default:n(()=>[t(K,{modelValue:i.newSubjectName,"onUpdate:modelValue":e[0]||(e[0]=p=>i.newSubjectName=p),rules:[p=>!!p||"科目名称不能为空"],"append-inner-icon":"mdi-plus",density:"comfortable",label:"科目名称",variant:"outlined",onKeyup:Ve(l.addSubject,["enter"]),"onClick:appendInner":l.addSubject},null,8,["modelValue","rules","onKeyup","onClick:appendInner"])]),_:1})]),_:1})]),_:1})]),_:1}),t(E,{variant:"outlined"},{default:n(()=>[t(j,{class:"pa-0"},{default:n(()=>[t(Q,{lines:"one"},{default:n(()=>[(c(!0),k(se,null,de(i.subjects,(p,u)=>(c(),g(D,{key:p.order},{prepend:n(()=>[m("div",hs,[t(h,{disabled:u===0,icon:"mdi-chevron-up",size:"small",variant:"text",onClick:b=>l.moveSubject(u,-1)},null,8,["disabled","onClick"]),t(h,{disabled:u===i.subjects.length-1,icon:"mdi-chevron-down",size:"small",variant:"text",onClick:b=>l.moveSubject(u,1)},null,8,["disabled","onClick"])])]),append:n(()=>[t(h,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:b=>l.deleteSubject(p)},null,8,["onClick"])]),default:n(()=>[t(z,null,{default:n(()=>[t(K,{modelValue:p.name,"onUpdate:modelValue":b=>p.name=b,density:"compact","hide-details":"",variant:"plain",onBlur:b=>l.updateSubject(p)},null,8,["modelValue","onUpdate:modelValue","onBlur"])]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1}),t(tt,{modelValue:i.showSnackbar,"onUpdate:modelValue":e[1]||(e[1]=p=>i.showSnackbar=p),color:i.snackbarColor,timeout:3e3},{default:n(()=>[o(w(i.snackbarText),1)]),_:1},8,["modelValue","color"])]),_:1},8,["loading"])}const Lt=Y(fs,[["render",gs],["__scopeId","data-v-f87674cf"]]),ws={};function vs(s,e,a,d,i,l){const r=_e,p=ee;return c(),g(p,{icon:"mdi-cog",title:"编辑设置"},{default:n(()=>[t(Q,null,{default:n(()=>[t(r,{"setting-key":"randomPicker.enabled"}),t(P,{class:"my-2"}),t(r,{"setting-key":"randomPicker.mode"}),t(P,{class:"my-2"}),t(r,{"setting-key":"randomPicker.minNumber"}),t(P,{class:"my-2"}),t(r,{"setting-key":"randomPicker.maxNumber"}),t(P,{class:"my-2"}),t(r,{"setting-key":"randomPicker.defaultCount"}),t(P,{class:"my-2"}),t(r,{"setting-key":"randomPicker.animation"})]),_:1})]),_:1})}const zt=Y(ws,[["render",vs]]),bs={name:"HitokotoSettings",components:{SettingGroup:We,SettingItem:_e},data(){return{kvConfig:{sources:["zhaoyu"],sensitiveWords:"",jinrishiciToken:null},loading:!1,testLoading:!1,testMessage:"",testColor:"info",testResultDialog:!1,testResultData:null,enableCloudSensitiveWords:!0}},mounted(){this.loadKvSettings()},methods:{async loadKvSettings(){this.loading=!0;try{const s=await re.loadData("sentence-info");let e=s;s&&s.data&&(e=s.data),e&&(this.kvConfig={sources:Array.isArray(e.sources)?e.sources:["zhaoyu"],sensitiveWords:e.sensitiveWords||"",jinrishiciToken:e.jinrishiciToken})}catch(s){console.error("Failed to load sentence-info",s)}finally{this.loading=!1}},async saveKvSettings(){this.loading=!0;try{if(this.kvConfig.sources.includes("jinrishici")&&!this.kvConfig.jinrishiciToken)try{const s=await Qe.get("https://v2.jinrishici.com/token");s.data.status==="success"&&(this.kvConfig.jinrishiciToken=s.data.data)}catch(s){console.error("Failed to get jinrishici token",s)}await re.saveData("sentence-info",this.kvConfig)}catch(s){console.error("Failed to save sentence-info",s)}finally{this.loading=!1}},async testJinrishici(){var s,e;this.testLoading=!0,this.testMessage="",this.testColor="info";try{const a={};this.kvConfig.jinrishiciToken&&(a["X-User-Token"]=this.kvConfig.jinrishiciToken);const d=await Qe.get("https://v2.jinrishici.com/info?X-User-Token="+encodeURIComponent(this.kvConfig.jinrishiciToken));if(d.data&&d.data.status==="success"){this.testResultData=d.data,this.testResultDialog=!0;const i=(s=d.data.data)==null?void 0:s.token,l=(e=d.data.data)==null?void 0:e.region,r=this.kvConfig.jinrishiciToken?i===this.kvConfig.jinrishiciToken:!0;this.testColor=r?"success":"warning",this.testMessage=r?`接口正常,Token 一致:${i}${l?`,地区:${l}`:""}`:`接口返回 Token 与当前设置不一致:${i}${l?`,地区:${l}`:""}`}else this.testColor="error",this.testMessage="接口返回非 success,请检查网络或 Token 配置。"}catch(a){console.error("Failed to test jinrishici info",a),this.testColor="error",this.testMessage="接口测试失败,请检查网络或 Token。"}finally{this.testLoading=!1}}}},ys={class:"d-flex flex-wrap gap-2"},ks={class:"text-caption text-orange mt-2"},xs={class:"d-flex flex-column flex-sm-row align-center w-100"},Ss={key:2,class:"text-center pb-4"},Cs={class:"d-flex align-center mb-2"},_s={class:"text-body-1 font-weight-medium"},Vs={class:"d-flex align-center mb-2"},Ds={class:"text-body-1 font-weight-medium"},As={class:"d-flex align-center mb-2"},Ts={class:"text-body-1 font-weight-medium"},Is={class:"d-flex align-center mb-2"},js={class:"text-body-2 font-weight-medium"},Es={class:"d-flex align-center mb-2"},Us={class:"text-body-1 font-weight-medium"},Ns={class:"d-flex align-center mb-2"},Ms={class:"text-body-1 font-weight-medium"},Ps={class:"px-4 py-3"},Bs={class:"d-flex flex-wrap gap-2"};function Ls(s,e,a,d,i,l){const r=_e,p=We;return c(),k("div",null,[t(p,{title:"一言设置",icon:"mdi-comment-quote"},{default:n(()=>[t(r,{"setting-key":"hitokoto.enabled"}),t(r,{"setting-key":"hitokoto.refreshInterval"})]),_:1}),t(p,{title:"数据源配置",icon:"mdi-cloud-sync",class:"mt-4"},{default:n(()=>[e[13]||(e[13]=m("div",{class:"text-caption text-grey px-4 pt-2 pb-2"},"以下配置将同步到云端,对所有连接此班级的设备生效。",-1)),t(D,null,{default:n(()=>[t(z,{class:"mb-2"},{default:n(()=>[...e[7]||(e[7]=[o("启用数据源",-1)])]),_:1}),m("div",ys,[t(Ce,{modelValue:i.kvConfig.sources,"onUpdate:modelValue":[e[0]||(e[0]=u=>i.kvConfig.sources=u),l.saveKvSettings],label:"一言 (Hitokoto)",value:"hitokoto","hide-details":"",density:"compact",class:"mr-4",disabled:i.loading},null,8,["modelValue","disabled","onUpdate:modelValue"]),t(Ce,{modelValue:i.kvConfig.sources,"onUpdate:modelValue":[e[1]||(e[1]=u=>i.kvConfig.sources=u),l.saveKvSettings],label:"诏预 (Zhaoyu)",value:"zhaoyu","hide-details":"",density:"compact",class:"mr-4",disabled:i.loading},null,8,["modelValue","disabled","onUpdate:modelValue"]),t(Ce,{modelValue:i.kvConfig.sources,"onUpdate:modelValue":[e[2]||(e[2]=u=>i.kvConfig.sources=u),l.saveKvSettings],label:"今日诗词 (Jinrishici)",value:"jinrishici","hide-details":"",density:"compact",disabled:i.loading},null,8,["modelValue","disabled","onUpdate:modelValue"])]),m("div",ks,[t(v,{size:"x-small",color:"orange",class:"mr-1"},{default:n(()=>[...e[8]||(e[8]=[o("mdi-alert",-1)])]),_:1}),e[9]||(e[9]=o(" 一言(Hitokoto)数据源已收到关于存在负面内容的大量反馈,请用户谨慎启用。 ",-1))])]),_:1}),i.kvConfig.sources.includes("jinrishici")?(c(),g(D,{key:0},{default:n(()=>[t(K,{modelValue:i.kvConfig.jinrishiciToken,"onUpdate:modelValue":e[3]||(e[3]=u=>i.kvConfig.jinrishiciToken=u),label:"今日诗词 Token",variant:"outlined",density:"comfortable",disabled:i.loading,hint:"留空则自动获取,也可以手动输入已有 Token","persistent-hint":"",class:"mt-2",onChange:l.saveKvSettings},null,8,["modelValue","disabled","onChange"])]),_:1})):y("",!0),i.kvConfig.sources.includes("jinrishici")?(c(),g(D,{key:1},{default:n(()=>[m("div",xs,[t(h,{loading:i.testLoading,color:"primary",variant:"outlined",class:"mr-sm-4 mb-2 mb-sm-0",onClick:l.testJinrishici},{default:n(()=>[...e[10]||(e[10]=[o(" 测试今日诗词接口 ",-1)])]),_:1},8,["loading","onClick"]),i.testMessage?(c(),g($,{key:0,type:i.testColor,density:"comfortable",border:"start",class:"flex-grow-1"},{default:n(()=>[o(w(i.testMessage),1)]),_:1},8,["type"])):y("",!0)])]),_:1})):y("",!0),t(D,null,{default:n(()=>[t(Ie,{modelValue:i.kvConfig.sensitiveWords,"onUpdate:modelValue":e[4]||(e[4]=u=>i.kvConfig.sensitiveWords=u),disabled:i.loading,label:"敏感词过滤 (用逗号分隔)",variant:"outlined",rows:"3","auto-grow":"","hide-details":"",class:"mt-2 mb-2",onChange:l.saveKvSettings},null,8,["modelValue","disabled","onChange"])]),_:1}),t(D,null,{default:n(()=>[t(Ce,{label:"启用云端敏感词列表","hide-details":"",modelValue:i.enableCloudSensitiveWords,"onUpdate:modelValue":e[5]||(e[5]=u=>i.enableCloudSensitiveWords=u),density:"compact",disabled:"",class:"mb-2"},null,8,["modelValue"]),e[11]||(e[11]=m("div",{class:"text-caption text-grey"},[o(" 已启用的数据源将在获取一言时随机尝试,直到成功获取内容为止。"),m("br"),o(" 敏感词过滤会将包含任意敏感词的句子过滤掉,避免显示不当内容。"),m("br")],-1))]),_:1}),i.loading?(c(),k("div",Ss,[t(Dt,{indeterminate:"",size:"24",color:"primary"}),e[12]||(e[12]=m("span",{class:"ml-2 text-caption"},"正在同步配置...",-1))])):y("",!0)]),_:1}),t(we,{modelValue:i.testResultDialog,"onUpdate:modelValue":e[6]||(e[6]=u=>i.testResultDialog=u),"max-width":"600"},{default:n(()=>[i.testResultData?(c(),g(E,{key:0,class:"rounded-lg"},{default:n(()=>[t(j,{class:"pa-0"},{default:n(()=>[t(Q,{lines:"two",class:"py-0"},{default:n(()=>[t(D,{class:"px-4 py-3"},{prepend:n(()=>[t(Ge,{color:"primary",variant:"tonal",class:"mr-2"},{default:n(()=>[t(v,{icon:"mdi-key-variant"})]),_:1})]),default:n(()=>[t(z,{class:"text-subtitle-2 font-weight-bold mb-1"},{default:n(()=>[...e[14]||(e[14]=[o("Token",-1)])]),_:1}),t(le,{class:"text-body-2 text-high-emphasis",style:{"word-break":"break-all"}},{default:n(()=>[o(w(i.testResultData.data.token),1)]),_:1})]),_:1}),t(P),t(ce,{"no-gutters":""},{default:n(()=>[t(O,{cols:"6"},{default:n(()=>[t(D,{class:"px-4 py-2"},{prepend:n(()=>[t(v,{icon:"mdi-ip-network",color:"grey-darken-1",class:"mr-2"})]),default:n(()=>[t(z,{class:"text-caption text-grey-darken-1"},{default:n(()=>[...e[15]||(e[15]=[o("IP 地址",-1)])]),_:1}),t(le,{class:"text-body-2"},{default:n(()=>[o(w(i.testResultData.data.ip),1)]),_:1})]),_:1})]),_:1}),t(O,{cols:"6"},{default:n(()=>[t(D,{class:"px-4 py-2"},{prepend:n(()=>[t(v,{icon:"mdi-map-marker-radius",color:"grey-darken-1",class:"mr-2"})]),default:n(()=>[t(z,{class:"text-caption text-grey-darken-1"},{default:n(()=>[...e[16]||(e[16]=[o("地区",-1)])]),_:1}),t(le,{class:"text-body-2"},{default:n(()=>[o(w(i.testResultData.data.region),1)]),_:1})]),_:1})]),_:1})]),_:1}),t(P),t(st,{class:"px-4 py-3"},{default:n(()=>[t(ce,{dense:""},{default:n(()=>[t(O,{cols:"6",sm:"4"},{default:n(()=>[m("div",Cs,[t(v,{icon:"mdi-thermometer",color:"orange",class:"mr-2"}),m("div",null,[e[17]||(e[17]=m("div",{class:"text-caption text-grey"},"温度",-1)),m("div",_s,w(i.testResultData.data.weatherData.temperature)+"°C",1)])])]),_:1}),t(O,{cols:"6",sm:"4"},{default:n(()=>[m("div",Vs,[t(v,{icon:"mdi-weather-cloudy",color:"blue-grey",class:"mr-2"}),m("div",null,[e[18]||(e[18]=m("div",{class:"text-caption text-grey"},"天气",-1)),m("div",Ds,w(i.testResultData.data.weatherData.weather),1)])])]),_:1}),t(O,{cols:"6",sm:"4"},{default:n(()=>[m("div",As,[t(v,{icon:"mdi-water-percent",color:"blue",class:"mr-2"}),m("div",null,[e[19]||(e[19]=m("div",{class:"text-caption text-grey"},"湿度",-1)),m("div",Ts,w(i.testResultData.data.weatherData.humidity)+"%",1)])])]),_:1}),t(O,{cols:"6",sm:"4"},{default:n(()=>[m("div",Is,[t(v,{icon:"mdi-weather-windy",color:"teal",class:"mr-2"}),m("div",null,[e[20]||(e[20]=m("div",{class:"text-caption text-grey"},"风向/风力",-1)),m("div",js,w(i.testResultData.data.weatherData.windDirection)+" "+w(i.testResultData.data.weatherData.windPower)+"级 ",1)])])]),_:1}),t(O,{cols:"6",sm:"4"},{default:n(()=>[m("div",Es,[t(v,{icon:"mdi-blur",color:"grey",class:"mr-2"}),m("div",null,[e[21]||(e[21]=m("div",{class:"text-caption text-grey"},"PM2.5",-1)),m("div",Us,w(i.testResultData.data.weatherData.pm25),1)])])]),_:1}),t(O,{cols:"6",sm:"4"},{default:n(()=>[m("div",Ns,[t(v,{icon:"mdi-eye",color:"indigo",class:"mr-2"}),m("div",null,[e[22]||(e[22]=m("div",{class:"text-caption text-grey"},"能见度",-1)),m("div",Ms,w(i.testResultData.data.weatherData.visibility),1)])])]),_:1})]),_:1})]),_:1}),t(P),m("div",Ps,[e[23]||(e[23]=m("div",{class:"text-caption text-grey mb-2"},"环境标签",-1)),m("div",Bs,[(c(!0),k(se,null,de(i.testResultData.data.tags,u=>(c(),g(X,{key:u,size:"small",color:"primary",variant:"tonal",class:"mr-1 mb-1"},{default:n(()=>[o(w(u),1)]),_:2},1024))),128))])]),t(P),t(D,{class:"px-4 py-2"},{prepend:n(()=>[t(v,{icon:"mdi-clock-outline",size:"small",class:"mr-2"})]),default:n(()=>[t(z,{class:"text-caption text-grey-darken-1"},{default:n(()=>[o(" 北京时间: "+w(new Date(i.testResultData.data.beijingTime).toLocaleString()),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})):y("",!0)]),_:1},8,["modelValue"])])}const Ot=Y(bs,[["render",Ls]]),zs={name:"NotificationSoundSettings",data(){return{singleSound:"",urgentSound:"",currentAudio:null,showAutoplayWarning:!0}},computed:{soundOptions(){return fn.map(s=>({title:s.replace(".mp3",""),value:s}))}},mounted(){this.loadSettings()},beforeUnmount(){this.stopPreview()},methods:{loadSettings(){this.singleSound=C("notification.singleSound"),this.urgentSound=C("notification.urgentSound")},onSingleSoundChange(s){var e;Se("notification.singleSound",s),(e=this.$message)==null||e.success("设置已保存",`单次通知铃声: ${s}`)},onUrgentSoundChange(s){var e;Se("notification.urgentSound",s),(e=this.$message)==null||e.success("设置已保存",`紧急通知铃声: ${s}`)},async previewSound(s){var e,a;this.showAutoplayWarning=!1,this.stopPreview();try{const d=await this.playSoundWithPromise(s,!1);this.currentAudio=d,this.currentAudio&&this.currentAudio.addEventListener("ended",()=>{this.currentAudio=null},{once:!0})}catch(d){console.error("播放音频失败:",d),d.name==="NotAllowedError"?(e=this.$message)==null||e.warning("无法播放音频","浏览器阻止了自动播放,请再次点击试听按钮"):(a=this.$message)==null||a.error("播放失败","音频文件加载失败,请稍后重试")}},playSoundWithPromise(s,e=!1){return new Promise((a,d)=>{const i=this.getSoundPath(s);if(!i){d(new Error("音频文件不存在"));return}try{const l=new Audio(i);l.loop=e,l.play().then(()=>{a(l)}).catch(r=>{d(r)})}catch(l){d(l)}})},getSoundPath(s){if(!s)return null;try{return`/sounds/${s}`}catch{return null}},stopPreview(){this.currentAudio&&(mn(this.currentAudio),this.currentAudio=null)},resetSingleSound(){var s;this.singleSound="Teams 默认.mp3",Se("notification.singleSound",this.singleSound),(s=this.$message)==null||s.success("已恢复单次通知铃声默认设置")},resetUrgentSound(){var s;this.urgentSound="Teams 默认通话铃.mp3",Se("notification.urgentSound",this.urgentSound),(s=this.$message)==null||s.success("已恢复紧急通知铃声默认设置")}}},Os={class:"d-flex align-center"},Rs={class:"mt-3 d-flex gap-2"},Ks={class:"mt-3 d-flex gap-2"};function Fs(s,e,a,d,i,l){return c(),g(E,{class:"notification-sound-settings"},{default:n(()=>[t(F,null,{default:n(()=>[...e[5]||(e[5]=[o(" 通知铃声设置 ",-1)])]),_:1}),t(j,null,{default:n(()=>[i.showAutoplayWarning?(c(),g($,{key:0,type:"info",variant:"tonal",closable:"",class:"mb-4","onClick:close":e[0]||(e[0]=r=>i.showAutoplayWarning=!1)},{default:n(()=>[m("div",Os,[t(v,{class:"mr-2"},{default:n(()=>[...e[6]||(e[6]=[o("mdi-information",-1)])]),_:1}),e[7]||(e[7]=m("span",null,"首次使用请点击试听按钮测试音频播放是否正常",-1))])]),_:1})):y("",!0),t(ce,null,{default:n(()=>[t(O,{cols:"12"},{default:n(()=>[t(E,{border:""},{default:n(()=>[t(F,{class:"text-subtitle-1"},{default:n(()=>[t(v,{left:""},{default:n(()=>[...e[8]||(e[8]=[o("mdi-bell-ring",-1)])]),_:1}),e[9]||(e[9]=o(" 单次通知铃声 ",-1))]),_:1}),t(j,null,{default:n(()=>[t(Je,{modelValue:i.singleSound,"onUpdate:modelValue":[e[1]||(e[1]=r=>i.singleSound=r),l.onSingleSoundChange],items:l.soundOptions,label:"选择铃声","prepend-icon":"mdi-music-note",variant:"outlined",density:"comfortable"},{item:n(({props:r,item:p})=>[t(D,Ee(r,{onClick:u=>l.previewSound(p.value)}),{prepend:n(()=>[t(v,null,{default:n(()=>[...e[10]||(e[10]=[o("mdi-music-note",-1)])]),_:1})]),append:n(()=>[t(h,{icon:"",size:"small",variant:"text",onClick:Ae(u=>l.previewSound(p.value),["stop"])},{default:n(()=>[t(v,null,{default:n(()=>[...e[11]||(e[11]=[o("mdi-play",-1)])]),_:1})]),_:1},8,["onClick"])]),_:2},1040,["onClick"])]),_:1},8,["modelValue","items","onUpdate:modelValue"]),m("div",Rs,[t(h,{color:"primary",variant:"tonal",onClick:e[2]||(e[2]=r=>l.previewSound(i.singleSound))},{default:n(()=>[t(v,{left:""},{default:n(()=>[...e[12]||(e[12]=[o("mdi-play",-1)])]),_:1}),e[13]||(e[13]=o(" 试听 ",-1))]),_:1}),t(h,{onClick:l.resetSingleSound},{default:n(()=>[t(v,{left:""},{default:n(()=>[...e[14]||(e[14]=[o("mdi-restore",-1)])]),_:1}),e[15]||(e[15]=o(" 恢复 ",-1))]),_:1},8,["onClick"])])]),_:1})]),_:1})]),_:1}),t(O,{cols:"12"},{default:n(()=>[t(E,{border:""},{default:n(()=>[t(F,{class:"text-subtitle-1"},{default:n(()=>[t(v,{left:"",color:"error"},{default:n(()=>[...e[16]||(e[16]=[o("mdi-bell-alert",-1)])]),_:1}),e[17]||(e[17]=o(" 紧急通知铃声 ",-1))]),_:1}),t(j,null,{default:n(()=>[t(Je,{modelValue:i.urgentSound,"onUpdate:modelValue":[e[3]||(e[3]=r=>i.urgentSound=r),l.onUrgentSoundChange],items:l.soundOptions,label:"选择铃声","prepend-icon":"mdi-music-note",variant:"outlined",density:"comfortable"},{item:n(({props:r,item:p})=>[t(D,Ee(r,{onClick:u=>l.previewSound(p.value)}),{prepend:n(()=>[t(v,null,{default:n(()=>[...e[18]||(e[18]=[o("mdi-music-note",-1)])]),_:1})]),append:n(()=>[t(h,{icon:"",size:"small",variant:"text",onClick:Ae(u=>l.previewSound(p.value),["stop"])},{default:n(()=>[t(v,null,{default:n(()=>[...e[19]||(e[19]=[o("mdi-play",-1)])]),_:1})]),_:1},8,["onClick"])]),_:2},1040,["onClick"])]),_:1},8,["modelValue","items","onUpdate:modelValue"]),m("div",Ks,[t(h,{color:"error",variant:"tonal",onClick:e[4]||(e[4]=r=>l.previewSound(i.urgentSound))},{default:n(()=>[t(v,{left:""},{default:n(()=>[...e[20]||(e[20]=[o("mdi-play",-1)])]),_:1}),e[21]||(e[21]=o(" 试听 ",-1))]),_:1}),t(h,{onClick:l.resetUrgentSound},{default:n(()=>[t(v,{left:""},{default:n(()=>[...e[22]||(e[22]=[o("mdi-restore",-1)])]),_:1}),e[23]||(e[23]=o(" 恢复 ",-1))]),_:1},8,["onClick"])])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}const Rt=Y(zs,[["render",Fs],["__scopeId","data-v-55be56a4"]]),Js={name:"ThemeSettingsCard",components:{SettingsCard:ee},data(){return{localTheme:C("theme.mode")}},watch:{localTheme(s){Se("theme.mode",s),this.updateTheme(s)}},setup(){return{theme:vn()}},methods:{updateTheme(s){this.theme.global.name.value=s}}};function Qs(s,e,a,d,i,l){const r=ee;return c(),g(r,{icon:"mdi-palette",title:"主题设置"},{default:n(()=>[t(Q,null,{default:n(()=>[t(D,null,{prepend:n(()=>[t(v,{class:"mr-3",icon:"mdi-theme-light-dark"})]),append:n(()=>[t(bn,{modelValue:i.localTheme,"onUpdate:modelValue":e[0]||(e[0]=p=>i.localTheme=p),color:"primary",density:"comfortable"},{default:n(()=>[t(h,{value:"light"},{default:n(()=>[t(v,{class:"mr-2",icon:"mdi-white-balance-sunny"}),e[3]||(e[3]=o(" 明亮 ",-1))]),_:1}),t(h,{value:"dark"},{default:n(()=>[t(v,{class:"mr-2",icon:"mdi-moon-waning-crescent"}),e[4]||(e[4]=o(" 暗黑 ",-1))]),_:1})]),_:1},8,["modelValue"])]),default:n(()=>[t(z,null,{default:n(()=>[...e[1]||(e[1]=[o("主题模式",-1)])]),_:1}),t(le,null,{default:n(()=>[...e[2]||(e[2]=[o("选择明亮或暗黑主题",-1)])]),_:1})]),_:1})]),_:1})]),_:1})}const Kt=Y(Js,[["render",Qs]]),Hs={name:"DisplaySettingsCard",components:{SettingsCard:ee,SettingItem:_e},data(){return{}}};function Gs(s,e,a,d,i,l){const r=_e,p=ee;return c(),g(p,{border:"",icon:"mdi-monitor",title:"显示设置"},{default:n(()=>[t(Q,null,{default:n(()=>[t(r,{"setting-key":"display.emptySubjectDisplay"}),t(P,{class:"my-2"}),t(r,{"setting-key":"display.dynamicSort"}),t(P,{class:"my-2"}),t(r,{"setting-key":"display.showRandomButton"}),t(P,{class:"my-2"}),t(r,{"setting-key":"display.showFullscreenButton"}),t(P,{class:"my-2"}),t(r,{"setting-key":"display.cardHoverEffect"}),t(P,{class:"my-2"}),t(r,{"setting-key":"display.enhancedTouchMode"}),t(P,{class:"my-2"}),t(r,{"setting-key":"display.showQuickTools"}),t(P,{class:"my-2"}),t(r,{"setting-key":"display.showAntiScreenBurnCard"}),t(P,{class:"my-2"}),t(r,{"setting-key":"display.showExamScheduleButton"}),t(P,{class:"my-2"}),t(r,{"setting-key":"display.forceDesktopMode"}),t(P,{class:"my-2"}),t(r,{"setting-key":"display.lateStudentsArePresent"})]),_:1})]),_:1})}const Ft=Y(Hs,[["render",Gs]]),Ws={};function Ys(s,e,a,d,i,l){const r=_e,p=ee;return c(),g(p,{icon:"mdi-cog",title:"编辑设置"},{default:n(()=>[t(Q,null,{default:n(()=>[t(r,{"setting-key":"edit.autoSave"}),t(P,{class:"my-2"}),t(r,{"setting-key":"edit.blockNonTodayAutoSave"}),t(P,{class:"my-2"}),t(r,{"setting-key":"edit.confirmNonTodaySave"}),t(P,{class:"my-2"}),t(r,{"setting-key":"edit.refreshBeforeEdit"}),t(P,{class:"my-2"}),t(r,{"setting-key":"edit.autoSavePromptText"}),t(P,{class:"my-2"}),t(r,{"setting-key":"edit.manualSavePromptText"})]),_:1})]),_:1})}const Jt=Y(Ws,[["render",Ys]]),qs={name:"RefreshSettingsCard",components:{SettingsCard:ee},data(){return{}}};function Zs(s,e,a,d,i,l){const r=_e,p=ee;return c(),g(p,{icon:"mdi-refresh-circle",title:"刷新设置"},{default:n(()=>[t(jt,null,{default:n(()=>[t(Q,null,{default:n(()=>[t(r,{"setting-key":"refresh.auto",title:"自动刷新"}),t(P,{class:"my-2"}),t(r,{"setting-key":"refresh.interval",title:"刷新间隔"})]),_:1})]),_:1})]),_:1})}const Qt=Y(qs,[["render",Zs]]),Xs={name:"SettingsLinkGenerator",data(){return{selectedItems:[],generatedLink:"",linkCopied:!1,search:"",preconfigForm:{namespace:"",authCode:"",autoExecute:!1},unifiedLink:"",headers:[{title:"",key:"data-table-select"},{title:"设置项",key:"description",sortable:!0},{title:"当前值",key:"value",sortable:!0},{title:"键名",key:"key",class:"d-none d-sm-table-cell",sortable:!0},{title:"状态",key:"isChanged",sortable:!0}]}},computed:{settingItems(){const s=Le(),e=[];for(const[a,d]of Object.entries(et)){if(d.requireDeveloper&&!s["developer.enabled"])continue;const i=s[a]!==d.default;e.push({key:a,description:d.description||a,value:s[a],icon:d.icon||"mdi-cog",isChanged:i,defaultValue:d.default})}return e.sort((a,d)=>a.key.localeCompare(d.key))},filteredItems(){if(!this.search)return this.settingItems;const s=this.search.toLowerCase();return s==="已修改"?this.settingItems.filter(e=>e.isChanged):s==="是"||s==="否"?this.settingItems.filter(e=>typeof e.value=="boolean"&&(s==="是"?e.value:!e.value)):this.settingItems.filter(e=>{const a=e.description.toLowerCase(),d=e.key.toLowerCase(),i=String(e.value).toLowerCase(),l=e.isChanged?"已修改":"默认";return a.includes(s)||d.includes(s)||i.includes(s)||l.includes(s)})},hasDisplaySettings(){return this.selectedItems.some(s=>s.startsWith("display."))},hasEditSettings(){return this.selectedItems.some(s=>s.startsWith("edit."))},hasServerSettings(){return this.selectedItems.some(s=>s.startsWith("server."))},hasChangedSettings(){const s=Le();return this.selectedItems.some(e=>{const a=et[e];return a&&s[e]!==a.default})}},methods:{handleSelectionChange(s){this.selectedItems=s.map(e=>e.key),this.generateLink()},generateLink(){const s=`${window.location.protocol}//${window.location.host}/`,e=Le(),a={};for(const d of this.selectedItems)a[d]=e[d];if(Object.keys(a).length===0){this.generatedLink=s;return}try{const d=JSON.stringify(a),l=new TextEncoder().encode(d),p={config:btoa(Array.from(l).map(I=>String.fromCharCode(I)).join(""))},b=new URLSearchParams(window.location.search).get("date");b&&(p.date=b);const A=new URLSearchParams(p).toString();this.generatedLink=`${s}?${A}`}catch(d){console.error("生成链接失败:",d),this.generatedLink="链接生成失败,请重试"}this.linkCopied=!1},async copyLink(){this.generatedLink||this.generateLink();try{await navigator.clipboard.writeText(this.generatedLink),this.linkCopied=!0,setTimeout(()=>{this.linkCopied=!1},3e3)}catch(s){console.error("复制链接失败:",s)}},resetSelection(){this.selectedItems=[],this.generatedLink="",this.linkCopied=!1},selectAll(){this.selectedItems=this.settingItems.map(s=>s.key),this.generateLink()},selectDataSourceSettings(){const s=this.settingItems.filter(e=>e.key.startsWith("server.")&&e.key!=="server.kvToken").map(e=>e.key);this.selectedItems=s,this.generateLink()},selectChangedSettings(){const s=this.settingItems.filter(e=>e.isChanged&&e.key!=="server.kvToken").map(e=>e.key);this.selectedItems=s,this.generateLink()},selectByPrefix(s){const e=this.settingItems.filter(a=>a.key.startsWith(`${s}.`)).map(a=>a.key);this.selectedItems=e},autoGenerateLink(){this.selectedItems.length>0?this.generateLink():this.generatedLink=""},getSettingDescription(s){const e=this.settingItems.find(a=>a.key===s);return e?e.description:s},generateUnifiedLink(){if(this.preconfigForm.namespace.trim())try{const s=`${window.location.protocol}//${window.location.host}/`,e=new URLSearchParams;if(e.append("namespace",this.preconfigForm.namespace.trim()),this.preconfigForm.authCode.trim()&&e.append("authCode",this.preconfigForm.authCode.trim()),this.preconfigForm.autoExecute&&e.append("autoExecute","true"),this.selectedItems.length>0){const a=Le(),d={};for(const u of this.selectedItems)d[u]=a[u];const i=JSON.stringify(d),r=new TextEncoder().encode(i),p=btoa(Array.from(r).map(u=>String.fromCharCode(u)).join(""));e.append("config",p)}this.unifiedLink=`${s}?${e.toString()}`,this.linkCopied=!1,console.log("生成统一链接:",this.unifiedLink),console.log("包含预配置:",!!this.preconfigForm.namespace),console.log("包含设置数量:",this.selectedItems.length)}catch(s){console.error("生成统一链接失败:",s),this.unifiedLink="链接生成失败,请重试"}},async copyUnifiedLink(){if(this.unifiedLink||this.generateUnifiedLink(),!(!this.unifiedLink||this.unifiedLink.includes("失败")))try{await navigator.clipboard.writeText(this.unifiedLink),this.linkCopied=!0,setTimeout(()=>{this.linkCopied=!1},3e3)}catch(s){console.error("复制统一链接失败:",s)}},openTestLink(){this.unifiedLink&&!this.unifiedLink.includes("失败")&&window.open(this.unifiedLink,"_blank")},clearAll(){this.preconfigForm={namespace:"",authCode:"",autoExecute:!1},this.selectedItems=[],this.unifiedLink="",this.generatedLink="",this.linkCopied=!1}},watch:{selectedItems:{handler(){this.preconfigForm.namespace.trim()&&this.generateUnifiedLink()},deep:!0},"preconfigForm.namespace":{handler(){this.preconfigForm.namespace.trim()?this.generateUnifiedLink():this.unifiedLink=""}},"preconfigForm.authCode":{handler(){this.preconfigForm.namespace.trim()&&this.generateUnifiedLink()}},"preconfigForm.autoExecute":{handler(){this.preconfigForm.namespace.trim()&&this.generateUnifiedLink()}}}},$s={class:"d-flex mb-3 gap-2 flex-wrap"},ei={class:"d-flex align-center mb-3 flex-wrap gap-2"},ti={class:"d-flex align-center"},ni={class:"d-flex align-center"},si={key:0},ii={key:1},li={key:2},oi={class:"text-caption text-grey"},ai={class:"d-flex mb-3 gap-2 flex-wrap"},ri={class:"d-flex flex-wrap gap-1"};function ui(s,e,a,d,i,l){return c(),k("div",null,[t(E,{border:"",class:"unified-link-generator"},{default:n(()=>[t(F,{class:"text-h6"},{default:n(()=>[t(v,{class:"mr-2",icon:"mdi-link-variant",start:""}),e[6]||(e[6]=o(" 统一链接生成器 ",-1))]),_:1}),t(j,null,{default:n(()=>[e[35]||(e[35]=m("div",{class:"text-body-2 text-medium-emphasis mb-4"}," 生成包含预配置认证信息和设置的统一链接。可以同时预配置设备认证和应用设置。 ",-1)),t(E,{class:"mb-4",variant:"tonal"},{default:n(()=>[t(F,{class:"text-subtitle-1"},{default:n(()=>[t(v,{start:""},{default:n(()=>[...e[7]||(e[7]=[o("mdi-account-key",-1)])]),_:1}),e[8]||(e[8]=o(" 预配置认证信息 ",-1))]),_:1}),t(j,null,{default:n(()=>[t(ce,null,{default:n(()=>[t(O,{cols:"12",md:"6"},{default:n(()=>[t(K,{modelValue:i.preconfigForm.namespace,"onUpdate:modelValue":e[0]||(e[0]=r=>i.preconfigForm.namespace=r),hint:"设备的命名空间标识符",label:"命名空间","persistent-hint":"",placeholder:"例如: classroom-001","prepend-inner-icon":"mdi-identifier",variant:"outlined"},null,8,["modelValue"])]),_:1}),t(O,{cols:"12",md:"6"},{default:n(()=>[t(K,{modelValue:i.preconfigForm.authCode,"onUpdate:modelValue":e[1]||(e[1]=r=>i.preconfigForm.authCode=r),hint:"留空则需要用户手动输入",label:"认证码","persistent-hint":"",placeholder:"设备认证码(可选)","prepend-inner-icon":"mdi-lock-outline",variant:"outlined"},null,8,["modelValue"])]),_:1})]),_:1}),t(ce,{class:"mt-2"},{default:n(()=>[t(O,{cols:"12"},{default:n(()=>[t(Ce,{modelValue:i.preconfigForm.autoExecute,"onUpdate:modelValue":e[2]||(e[2]=r=>i.preconfigForm.autoExecute=r),density:"compact",hint:"启用后会自动尝试认证,即使没有认证码也会尝试",label:"自动执行认证","persistent-hint":""},null,8,["modelValue"])]),_:1})]),_:1}),i.preconfigForm.namespace?(c(),g($,{key:0,class:"mt-3",type:"info",variant:"tonal"},{default:n(()=>[e[13]||(e[13]=m("div",{class:"text-subtitle-2 mb-2"},"预配置信息:",-1)),t(X,{class:"mr-2 mb-1",size:"small"},{default:n(()=>[t(v,{size:"small",start:""},{default:n(()=>[...e[9]||(e[9]=[o("mdi-identifier",-1)])]),_:1}),o(" 命名空间: "+w(i.preconfigForm.namespace),1)]),_:1}),i.preconfigForm.authCode?(c(),g(X,{key:0,class:"mr-2 mb-1",color:"warning",size:"small"},{default:n(()=>[t(v,{size:"small",start:""},{default:n(()=>[...e[10]||(e[10]=[o("mdi-lock",-1)])]),_:1}),o(" 认证码: "+w(i.preconfigForm.authCode.length>8?i.preconfigForm.authCode.substring(0,8)+"...":i.preconfigForm.authCode),1)]),_:1})):(c(),g(X,{key:1,class:"mr-2 mb-1",color:"grey",size:"small"},{default:n(()=>[t(v,{size:"small",start:""},{default:n(()=>[...e[11]||(e[11]=[o("mdi-lock-open",-1)])]),_:1}),e[12]||(e[12]=o(" 无认证码 ",-1))]),_:1})),t(X,{color:i.preconfigForm.autoExecute?"success":"orange",class:"mr-2 mb-1",size:"small"},{default:n(()=>[t(v,{size:"small",start:""},{default:n(()=>[o(w(i.preconfigForm.autoExecute?"mdi-play-circle":"mdi-hand-back-left"),1)]),_:1}),o(" "+w(i.preconfigForm.autoExecute?"自动认证":"手动认证"),1)]),_:1},8,["color"])]),_:1})):y("",!0)]),_:1})]),_:1}),t(E,{class:"mb-4",variant:"tonal"},{default:n(()=>[t(F,{class:"text-subtitle-1"},{default:n(()=>[t(v,{start:""},{default:n(()=>[...e[14]||(e[14]=[o("mdi-cog-transfer",-1)])]),_:1}),e[15]||(e[15]=o(" 设置分享(可选) ",-1))]),_:1}),t(j,null,{default:n(()=>[e[22]||(e[22]=m("div",{class:"text-body-2 text-medium-emphasis mb-3"}," 选择需要包含在链接中的设置项。如果不选择任何设置,将只生成预配置认证链接。 ",-1)),m("div",$s,[t(h,{color:"primary","prepend-icon":"mdi-server-network",size:"small",variant:"tonal",onClick:l.selectDataSourceSettings},{default:n(()=>[...e[16]||(e[16]=[o(" 数据源设置 ",-1)])]),_:1},8,["onClick"]),t(h,{color:"primary","prepend-icon":"mdi-compare",size:"small",variant:"tonal",onClick:l.selectChangedSettings},{default:n(()=>[...e[17]||(e[17]=[o(" 已变更设置 ",-1)])]),_:1},8,["onClick"]),t(h,{color:"success","prepend-icon":"mdi-select-all",size:"small",variant:"tonal",onClick:l.selectAll},{default:n(()=>[...e[18]||(e[18]=[o(" 全选 ",-1)])]),_:1},8,["onClick"]),t(h,{color:"error","prepend-icon":"mdi-select-remove",size:"small",variant:"tonal",onClick:l.resetSelection},{default:n(()=>[...e[19]||(e[19]=[o(" 清除选择 ",-1)])]),_:1},8,["onClick"])]),m("div",ei,[t(X,{class:"mr-2",color:"primary"},{default:n(()=>[o(" 已选 "+w(i.selectedItems.length)+" 项设置 ",1)]),_:1}),i.selectedItems.length>0?(c(),k(se,{key:0},[(c(!0),k(se,null,de(i.selectedItems.slice(0,3),r=>(c(),g(X,{key:r,class:"mr-1",size:"small",variant:"text"},{default:n(()=>[o(w(l.getSettingDescription(r)),1)]),_:2},1024))),128)),i.selectedItems.length>3?(c(),g(X,{key:0,color:"grey",size:"small",variant:"text"},{default:n(()=>[o(" +"+w(i.selectedItems.length-3)+" 更多 ",1)]),_:1})):y("",!0)],64)):y("",!0)]),t(it,{variant:"accordion"},{default:n(()=>[t(lt,null,{default:n(()=>[t(Et,null,{default:n(({expanded:r})=>[m("div",ti,[t(v,{class:"mr-2"},{default:n(()=>[o(w(r?"mdi-chevron-up":"mdi-chevron-down"),1)]),_:2},1024),e[20]||(e[20]=o(" 显示设置列表详情 ",-1))])]),_:1}),t(ot,null,{default:n(()=>[t(K,{modelValue:i.search,"onUpdate:modelValue":e[3]||(e[3]=r=>i.search=r),class:"mb-4",clearable:"","hide-details":"",label:"搜索设置","prepend-inner-icon":"mdi-magnify","single-line":""},null,8,["modelValue"]),t(Ut,{modelValue:i.selectedItems,"onUpdate:modelValue":e[4]||(e[4]=r=>i.selectedItems=r),headers:i.headers,items:l.filteredItems,"items-per-page":l.settingItems.length,"sort-by":[{key:"isChanged",order:"desc"}],class:"rounded setting-table",density:"compact","item-value":"key","show-select":"","onUpdate:selected":l.handleSelectionChange},{"item.description":n(({item:r})=>[m("div",ni,[t(v,{icon:r.icon,class:"mr-2",size:"small"},null,8,["icon"]),o(" "+w(r.description)+" ",1),r.key==="server.kvToken"?(c(),g(X,{key:0,class:"ml-2",color:"error",size:"x-small"},{default:n(()=>[...e[21]||(e[21]=[o(" 敏感 ",-1)])]),_:1})):y("",!0)])]),"item.value":n(({item:r})=>[typeof r.value=="boolean"?(c(),k("span",si,w(r.value?"是":"否"),1)):r.key==="server.kvToken"&&r.value?(c(),k("span",ii,w(r.value.substring(0,8))+"... ",1)):(c(),k("span",li,w(r.value),1))]),"item.key":n(({item:r})=>[m("span",oi,w(r.key),1)]),"item.isChanged":n(({item:r})=>[t(X,{color:r.isChanged?"warning":"success",text:r.isChanged?"已修改":"默认",density:"compact",size:"x-small"},null,8,["color","text"])]),_:2},1032,["modelValue","headers","items","items-per-page","onUpdate:selected"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),t(E,{class:"mb-4",variant:"outlined"},{default:n(()=>[t(F,{class:"text-subtitle-1"},{default:n(()=>[t(v,{start:""},{default:n(()=>[...e[23]||(e[23]=[o("mdi-link",-1)])]),_:1}),e[24]||(e[24]=o(" 生成的统一链接 ",-1))]),_:1}),t(j,null,{default:n(()=>[m("div",ai,[t(h,{disabled:!i.preconfigForm.namespace.trim(),color:"primary","prepend-icon":"mdi-auto-fix",variant:"flat",onClick:l.generateUnifiedLink},{default:n(()=>[...e[25]||(e[25]=[o(" 生成统一链接 ",-1)])]),_:1},8,["disabled","onClick"]),t(h,{disabled:!i.unifiedLink,color:"success","prepend-icon":"mdi-test-tube",variant:"tonal",onClick:l.openTestLink},{default:n(()=>[...e[26]||(e[26]=[o(" 测试链接 ",-1)])]),_:1},8,["disabled","onClick"]),t(h,{color:"error","prepend-icon":"mdi-delete",variant:"tonal",onClick:l.clearAll},{default:n(()=>[...e[27]||(e[27]=[o(" 清空所有 ",-1)])]),_:1},8,["onClick"])]),t(K,{modelValue:i.unifiedLink,"onUpdate:modelValue":e[5]||(e[5]=r=>i.unifiedLink=r),"append-inner-icon":i.linkCopied?"mdi-check":"mdi-content-copy",placeholder:i.preconfigForm.namespace?"点击「生成统一链接」按钮":"请先输入命名空间",class:"mb-3",label:"统一链接",readonly:"",variant:"outlined","onClick:appendInner":l.copyUnifiedLink},null,8,["modelValue","append-inner-icon","placeholder","onClick:appendInner"]),i.unifiedLink?(c(),g($,{key:0,class:"mb-3",type:"success",variant:"tonal"},{default:n(()=>[e[33]||(e[33]=m("div",{class:"text-subtitle-2 mb-2"},"链接包含内容:",-1)),m("div",ri,[t(X,{color:"primary",size:"small"},{default:n(()=>[t(v,{size:"small",start:""},{default:n(()=>[...e[28]||(e[28]=[o("mdi-account-key",-1)])]),_:1}),e[29]||(e[29]=o(" 预配置认证 ",-1))]),_:1}),i.selectedItems.length>0?(c(),g(X,{key:0,color:"secondary",size:"small"},{default:n(()=>[t(v,{size:"small",start:""},{default:n(()=>[...e[30]||(e[30]=[o("mdi-cog",-1)])]),_:1}),o(" "+w(i.selectedItems.length)+" 项设置 ",1)]),_:1})):(c(),g(X,{key:1,color:"grey",size:"small"},{default:n(()=>[t(v,{size:"small",start:""},{default:n(()=>[...e[31]||(e[31]=[o("mdi-cog-off",-1)])]),_:1}),e[32]||(e[32]=o(" 无额外设置 ",-1))]),_:1}))])]),_:1})):y("",!0)]),_:1})]),_:1}),t($,{type:"warning",variant:"tonal"},{default:n(()=>[...e[34]||(e[34]=[m("div",{class:"text-subtitle-2 mb-2"},"⚠️ 安全提醒",-1),m("ul",{class:"text-body-2 pl-4"},[m("li",null,"认证码和设置信息会在URL中传输,请谨慎分发"),m("li",null,"建议仅在受信任的网络环境中使用"),m("li",null,"生产环境建议使用HTTPS协议"),m("li",null,"数据源设置和已变更设置默认不包含敏感Token信息")],-1)])]),_:1})]),_:1})]),_:1})])}const Ht=Y(Xs,[["render",ui]]),di={name:"UnsavedWarning",props:{show:Boolean,message:{type:String,default:"未保存"}}},ci={class:"warning-container"};function mi(s,e,a,d,i,l){return c(),k("div",ci,[a.show?(c(),g(X,{key:0,class:"warning-chip",color:"warning",size:"small"},{default:n(()=>[o(w(a.message),1)]),_:1})):y("",!0)])}const Ye=Y(di,[["render",mi],["__scopeId","data-v-0f36b655"]]),fi=Sn({disabled:Boolean,modelValue:{type:Boolean,default:null},...Cn()},"VHover"),Gt=yn()({name:"VHover",props:fi(),emits:{"update:modelValue":s=>!0},setup(s,e){let{slots:a}=e;const d=kn(s,"modelValue"),{runOpenDelay:i,runCloseDelay:l}=xn(s,r=>!s.disabled&&(d.value=r));return()=>{var r;return(r=a.default)==null?void 0:r.call(a,{isHovering:d.value,props:{onMouseenter:i,onMouseleave:l}})}}}),pi={name:"TeacherListCard",components:{UnsavedWarning:Ye},props:{isMobile:Boolean},data(){return{newTeacher:{name:"",subjects:[],isHeadTeacher:!1},editState:{index:-1,teacher:null},modelValue:{list:[],text:"",advanced:!1},loading:!1,error:null,lastSavedData:null,unsavedChanges:!1,commonSubjects:["语文","数学","英语","物理","化学","生物","政治","历史","地理","信息技术","音乐","美术","体育"]}},watch:{modelValue:{handler(s){this.lastSavedData&&(this.unsavedChanges=JSON.stringify(s.list)!==JSON.stringify(this.lastSavedData)),this.modelValue.advanced||(this.modelValue.text=JSON.stringify(s.list,null,2))},deep:!0}},mounted(){this.loadTeachers()},methods:{async loadTeachers(){var s;this.error=null;try{if(this.loading=!0,!C("server.classNumber"))throw new Error("请先设置班号");try{const a=await re.loadData("classworks-list-teacher");a.success!==!1&&Array.isArray(a)&&(this.modelValue.list=a.map(d=>({name:d.name||"",subjects:Array.isArray(d.subjects)?d.subjects:[],isHeadTeacher:!!d.isHeadTeacher})),this.modelValue.text=JSON.stringify(this.modelValue.list,null,2),this.lastSavedData=JSON.parse(JSON.stringify(this.modelValue.list)),this.unsavedChanges=!1)}catch(a){console.warn("Failed to load teacher list, initializing empty list",a),this.modelValue.list=[],this.modelValue.text="[]",this.lastSavedData=[]}}catch(e){console.error("加载教师列表失败:",e),this.error=e.message||"加载失败,请检查设置",(s=this.$message)==null||s.error("加载失败",this.error)}finally{this.loading=!1}},async saveTeachers(){var s,e,a;try{if(!C("server.classNumber"))throw new Error("请先设置班号");const i=this.modelValue.list.map(r=>({name:r.name,subjects:Array.isArray(r.subjects)?r.subjects:[],isHeadTeacher:!!r.isHeadTeacher})),l=await re.saveData("classworks-list-teacher",i);if(l.success===!1)throw new Error(((s=l.error)==null?void 0:s.message)||"保存失败");this.modelValue.list=i,this.lastSavedData=JSON.parse(JSON.stringify(i)),this.unsavedChanges=!1,(e=this.$message)==null||e.success("保存成功","教师列表已更新")}catch(d){console.error("保存教师列表失败:",d),(a=this.$message)==null||a.error("保存失败",d.message||"请重试")}},toggleAdvanced(){this.modelValue.advanced=!this.modelValue.advanced,this.modelValue.advanced&&(this.modelValue.text=JSON.stringify(this.modelValue.list,null,2))},handleTextInput(s){if(this.modelValue.advanced)try{const e=JSON.parse(s);Array.isArray(e)?(this.modelValue.list=e.map(a=>({name:a.name||"",subjects:Array.isArray(a.subjects)?a.subjects:[],isHeadTeacher:!!a.isHeadTeacher})),this.error=null):this.error="JSON 必须是一个数组"}catch(e){this.error="JSON 格式错误: "+e.message}},addTeacher(){var e,a;const s=this.newTeacher.name.trim();if(!s){(e=this.$message)==null||e.warning("提示","请输入教师姓名");return}if(this.newTeacher.subjects.length===0){(a=this.$message)==null||a.warning("提示","请选择至少一个任教科目");return}this.modelValue.list.push({name:s,subjects:[...this.newTeacher.subjects],isHeadTeacher:this.newTeacher.isHeadTeacher}),this.newTeacher={name:"",subjects:[],isHeadTeacher:!1}},startEdit(s,e){this.editState.index=s,this.editState.teacher={name:e.name,subjects:[...e.subjects],isHeadTeacher:e.isHeadTeacher}},saveEdit(){var s,e;if(this.editState.index!==-1){const a=this.editState.teacher.name.trim();if(!a){(s=this.$message)==null||s.warning("提示","教师姓名不能为空");return}if(this.editState.teacher.subjects.length===0){(e=this.$message)==null||e.warning("提示","请选择至少一个任教科目");return}this.modelValue.list[this.editState.index]={name:a,subjects:[...this.editState.teacher.subjects],isHeadTeacher:this.editState.teacher.isHeadTeacher},this.editState.index=-1,this.editState.teacher=null}},cancelEdit(){this.editState.index=-1,this.editState.teacher=null},removeTeacher(s){s!==void 0&&this.modelValue.list.splice(s,1)},handleClick(s,e){this.isMobile&&this.startEdit(s,e)}}},hi={key:0},gi={class:"d-flex align-start mb-3"},wi={class:"flex-grow-1"},vi={class:"d-flex align-center mb-1"},bi=["onClick"],yi={key:0,class:"mt-2"},ki={key:1,class:"mt-1"},xi={key:1,class:"pt-2"};function Si(s,e,a,d,i,l){const r=Ye;return c(),g(E,{class:Fe({"unsaved-changes":i.unsavedChanges}),color:i.unsavedChanges?"warning-subtle":void 0,border:""},{default:n(()=>[t(je,null,{prepend:n(()=>[t(v,{class:"mr-2",icon:"mdi-account-tie",size:"large"})]),append:n(()=>[t(r,{show:i.unsavedChanges,message:"有未保存的更改"},null,8,["show"]),t(h,{color:i.modelValue.advanced?"primary":void 0,"prepend-icon":"mdi-code-braces",variant:"text",onClick:l.toggleAdvanced},{default:n(()=>[o(w(i.modelValue.advanced?"返回基础编辑":"高级编辑"),1)]),_:1},8,["color","onClick"])]),default:n(()=>[t(F,{class:"text-h6"},{default:n(()=>[...e[4]||(e[4]=[o("教师列表",-1)])]),_:1})]),_:1}),t(j,null,{default:n(()=>[i.loading?(c(),g(He,{key:0,class:"mb-4",color:"primary",indeterminate:""})):y("",!0),i.error?(c(),g($,{key:1,class:"mb-4",closable:"",type:"error",variant:"tonal"},{default:n(()=>[o(w(i.error),1)]),_:1})):y("",!0),t(At,null,{default:n(()=>[i.modelValue.advanced?(c(),k("div",xi,[t(Ie,{modelValue:i.modelValue.text,"onUpdate:modelValue":[e[3]||(e[3]=p=>i.modelValue.text=p),l.handleTextInput],hint:"JSON 格式编辑教师列表。每个教师需包含 name、subjects(数组)、isHeadTeacher(布尔值)",label:"批量编辑教师列表 (JSON)","persistent-hint":"",placeholder:'[{"name":"教师姓名","subjects":["语文","数学"],"isHeadTeacher":true}]',rows:"15",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue"])])):(c(),k("div",hi,[t(E,{class:"mb-6",variant:"outlined"},{default:n(()=>[t(j,null,{default:n(()=>[t(ce,null,{default:n(()=>[t(O,{cols:"12",md:"4"},{default:n(()=>[t(K,{modelValue:i.newTeacher.name,"onUpdate:modelValue":e[0]||(e[0]=p=>i.newTeacher.name=p),density:"comfortable","hide-details":"",label:"教师姓名",placeholder:"输入教师姓名","prepend-inner-icon":"mdi-account",variant:"outlined"},null,8,["modelValue"])]),_:1}),t(O,{cols:"12",md:"5"},{default:n(()=>[t(mt,{modelValue:i.newTeacher.subjects,"onUpdate:modelValue":e[1]||(e[1]=p=>i.newTeacher.subjects=p),items:i.commonSubjects,chips:"",clearable:"","closable-chips":"",density:"comfortable","hide-details":"",label:"任教科目",multiple:"",placeholder:"选择或输入科目","prepend-inner-icon":"mdi-book-open-variant",variant:"outlined"},null,8,["modelValue","items"])]),_:1}),t(O,{cols:"12",md:"3",class:"d-flex align-center gap-2"},{default:n(()=>[t(Ce,{modelValue:i.newTeacher.isHeadTeacher,"onUpdate:modelValue":e[2]||(e[2]=p=>i.newTeacher.isHeadTeacher=p),density:"comfortable","hide-details":"",label:"班主任"},null,8,["modelValue"]),t(h,{disabled:!i.newTeacher.name.trim()||i.newTeacher.subjects.length===0,color:"primary","prepend-icon":"mdi-plus",onClick:l.addTeacher},{default:n(()=>[...e[5]||(e[5]=[o(" 添加教师 ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})]),_:1})]),_:1}),i.modelValue.list.length===0?(c(),g(ce,{key:0},{default:n(()=>[t(O,{cols:"12"},{default:n(()=>[t($,{type:"info",variant:"tonal"},{default:n(()=>[...e[6]||(e[6]=[o(" 暂无教师信息,请添加教师 ",-1)])]),_:1})]),_:1})]),_:1})):(c(),g(ce,{key:1},{default:n(()=>[(c(!0),k(se,null,de(i.modelValue.list,(p,u)=>(c(),g(O,{key:u,cols:"12",lg:"6",xl:"4"},{default:n(()=>[t(Gt,null,{default:n(({isHovering:b,props:A})=>[t(E,Ee({elevation:a.isMobile?1:b?4:1,border:"",class:"teacher-card"},{ref_for:!0},A),{default:n(()=>[t(j,{class:"pa-4"},{default:n(()=>[m("div",gi,[t(Ge,{color:p.isHeadTeacher?"primary":"grey-lighten-1",class:"mr-3",size:"48"},{default:n(()=>[t(v,{icon:p.isHeadTeacher?"mdi-star":"mdi-account",size:"28"},null,8,["icon"])]),_:2},1032,["color"]),m("div",wi,[m("div",vi,[i.editState.index===u?(c(),g(K,{key:0,modelValue:i.editState.teacher.name,"onUpdate:modelValue":I=>i.editState.teacher.name=I,autofocus:"",class:"flex-grow-1",density:"compact","hide-details":"",variant:"underlined"},null,8,["modelValue","onUpdate:modelValue"])):(c(),k("span",{key:1,class:"text-h6 font-weight-medium",onClick:I=>l.handleClick(u,p)},w(p.name),9,bi)),p.isHeadTeacher?(c(),g(X,{key:2,class:"ml-2",color:"primary",density:"comfortable",size:"small",variant:"flat"},{default:n(()=>[...e[7]||(e[7]=[o(" 班主任 ",-1)])]),_:1})):y("",!0)]),i.editState.index===u?(c(),k("div",yi,[t(mt,{modelValue:i.editState.teacher.subjects,"onUpdate:modelValue":I=>i.editState.teacher.subjects=I,items:i.commonSubjects,chips:"","closable-chips":"",density:"compact","hide-details":"",label:"任教科目",multiple:"",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","items"]),t(Ce,{modelValue:i.editState.teacher.isHeadTeacher,"onUpdate:modelValue":I=>i.editState.teacher.isHeadTeacher=I,class:"mt-2",density:"compact","hide-details":"",label:"班主任"},null,8,["modelValue","onUpdate:modelValue"])])):(c(),k("div",ki,[(c(!0),k(se,null,de(p.subjects,(I,H)=>(c(),g(X,{key:H,class:"mr-1 mb-1",density:"comfortable",size:"small",variant:"tonal"},{default:n(()=>[o(w(I),1)]),_:2},1024))),128))]))]),m("div",{class:Fe([{"opacity-100":b||a.isMobile||i.editState.index===u},"d-flex gap-1 action-buttons ml-2"])},[i.editState.index===u?(c(),g(h,{key:0,color:"success",icon:"mdi-check",size:"small",variant:"text",onClick:l.saveEdit},null,8,["onClick"])):y("",!0),i.editState.index===u?(c(),g(h,{key:1,color:"grey",icon:"mdi-close",size:"small",variant:"text",onClick:l.cancelEdit},null,8,["onClick"])):(c(),g(h,{key:2,color:"primary",icon:"mdi-pencil",size:"small",variant:"text",onClick:I=>l.startEdit(u,p)},null,8,["onClick"])),i.editState.index!==u?(c(),g(h,{key:3,color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:I=>l.removeTeacher(u)},null,8,["onClick"])):y("",!0)],2)])]),_:2},1024)]),_:2},1040,["elevation"])]),_:2},1024)]),_:2},1024))),128))]),_:1}))]))]),_:1}),t(ce,{class:"mt-6"},{default:n(()=>[t(O,{class:"d-flex gap-2",cols:"12"},{default:n(()=>[t(h,{disabled:i.loading,loading:i.loading,color:"primary","prepend-icon":"mdi-content-save",size:"large",onClick:l.saveTeachers},{default:n(()=>[...e[8]||(e[8]=[o(" 保存教师列表 ",-1)])]),_:1},8,["disabled","loading","onClick"]),t(h,{disabled:i.loading,loading:i.loading,color:"error","prepend-icon":"mdi-refresh",size:"large",variant:"outlined",onClick:l.loadTeachers},{default:n(()=>[...e[9]||(e[9]=[o(" 重载教师列表 ",-1)])]),_:1},8,["disabled","loading","onClick"])]),_:1})]),_:1})]),_:1})]),_:1},8,["class","color"])}const Wt=Y(pi,[["render",Si],["__scopeId","data-v-16455a49"]]),Ci={name:"StudentListCard",components:{UnsavedWarning:Ye},props:{isMobile:Boolean},data(){return{newStudentName:"",editState:{index:-1,name:""},modelValue:{list:[],text:"",advanced:!1},loading:!1,error:null,lastSavedData:null,unsavedChanges:!1}},watch:{modelValue:{handler(s){this.lastSavedData&&(this.unsavedChanges=JSON.stringify(s.list)!==JSON.stringify(this.lastSavedData)),this.modelValue.advanced||(this.modelValue.text=s.list.slice().sort((e,a)=>e.id-a.id).map(e=>e.name).join(` -`))},deep:!0}},mounted(){this.loadStudents()},methods:{async loadStudents(){var s;this.error=null;try{if(this.loading=!0,!C("server.classNumber"))throw new Error("请先设置班号");try{const a=await re.loadData("classworks-list-main");a.success!=!1&&Array.isArray(a)&&(this.modelValue.list=a.map((d,i)=>typeof d=="string"?{id:i+1,name:d}:{id:d.id||i+1,name:d.name||d.toString()}),this.modelValue.list.sort((d,i)=>d.id-i.id),this.modelValue.text=this.modelValue.list.map(d=>d.name).join(` -`),this.lastSavedData=JSON.parse(JSON.stringify(this.modelValue.list)),this.unsavedChanges=!1)}catch(a){console.warn("Failed to load student list from dedicated key, falling back to config",a)}}catch(e){console.error("加载学生列表失败:",e),this.error=e.message||"加载失败,请检查设置",(s=this.$message)==null||s.error("加载失败",this.error)}finally{this.loading=!1}},async saveStudents(){var s,e,a;try{if(!C("server.classNumber"))throw new Error("请先设置班号");const i=this.modelValue.list.slice().sort((r,p)=>r.id-p.id).map((r,p)=>({id:p+1,name:r.name})),l=await re.saveData("classworks-list-main",i);if(l.success===!1)throw new Error(((s=l.error)==null?void 0:s.message)||"保存失败");this.modelValue.list=i,this.lastSavedData=JSON.parse(JSON.stringify(i)),this.unsavedChanges=!1,(e=this.$message)==null||e.success("保存成功","学生列表已更新")}catch(d){console.error("保存学生列表失败:",d),(a=this.$message)==null||a.error("保存失败",d.message||"请重试")}},toggleAdvanced(){this.modelValue.advanced=!this.modelValue.advanced},handleTextInput(s){if(!this.modelValue.advanced)return;const e=s.split(` -`).filter(l=>l.trim()),a=new Map(this.modelValue.list.map(l=>[l.name,l.id]));let d=Math.max(0,...this.modelValue.list.map(l=>l.id));const i=e.map(l=>(l=l.trim(),a.has(l)?{id:a.get(l),name:l}:{id:++d,name:l}));this.modelValue.list=i},addStudent(){const s=this.newStudentName.trim();if(s&&!this.modelValue.list.some(e=>e.name===s)){const e=Math.max(0,...this.modelValue.list.map(a=>a.id));this.modelValue.list.push({id:e+1,name:s}),this.newStudentName=""}},startEdit(s,e){this.editState.index=s,this.editState.name=e.name},saveEdit(){if(this.editState.index!==-1){const s=this.editState.name.trim();s&&s!==this.modelValue.list[this.editState.index].name&&(this.modelValue.list[this.editState.index].name=s),this.editState.index=-1,this.editState.name=""}},removeStudent(s){s!==void 0&&this.modelValue.list.splice(s,1)},moveStudent(s,e){if(e==="top"){if(s>0){const a=this.modelValue.list[s];this.modelValue.list.splice(s,1),this.modelValue.list.unshift(a),this.modelValue.list.forEach((d,i)=>d.id=i+1)}}else{const a=e==="up"?s-1:s+1;a>=0&&a{const d=ft(e.name,{toneType:"none"}),i=ft(a.name,{toneType:"none"});return d.localeCompare(i)});s.forEach((e,a)=>e.id=a+1),this.modelValue.list=s}}},_i={key:0},Vi=["onClick"],Di={key:1,class:"pt-2"};function Ai(s,e,a,d,i,l){const r=Ye;return c(),g(E,{class:Fe({"unsaved-changes":i.unsavedChanges}),color:i.unsavedChanges?"warning-subtle":void 0,border:""},{default:n(()=>[t(je,null,{prepend:n(()=>[t(v,{class:"mr-2",icon:"mdi-account-group",size:"large"})]),append:n(()=>[t(r,{show:i.unsavedChanges,message:"有未保存的更改"},null,8,["show"]),t(h,{disabled:i.modelValue.list.length===0,class:"mr-2","prepend-icon":"mdi-sort-alphabetical-variant",variant:"text",onClick:l.sortStudentsByPinyin},{default:n(()=>[...e[4]||(e[4]=[o(" 按姓名首字母排序 ",-1)])]),_:1},8,["disabled","onClick"]),t(h,{color:i.modelValue.advanced?"primary":void 0,"prepend-icon":"mdi-code-braces",variant:"text",onClick:l.toggleAdvanced},{default:n(()=>[o(w(i.modelValue.advanced?"返回基础编辑":"高级编辑"),1)]),_:1},8,["color","onClick"])]),default:n(()=>[t(F,{class:"text-h6"},{default:n(()=>[...e[3]||(e[3]=[o("学生列表",-1)])]),_:1})]),_:1}),t(j,null,{default:n(()=>[i.loading?(c(),g(He,{key:0,class:"mb-4",color:"primary",indeterminate:""})):y("",!0),i.error?(c(),g($,{key:1,class:"mb-4",closable:"",type:"error",variant:"tonal"},{default:n(()=>[o(w(i.error),1)]),_:1})):y("",!0),t(At,null,{default:n(()=>[i.modelValue.advanced?(c(),k("div",Di,[t(Ie,{modelValue:i.modelValue.text,"onUpdate:modelValue":[e[2]||(e[2]=p=>i.modelValue.text=p),l.handleTextInput],hint:"使用文本编辑模式批量编辑学生名单,保存时会自动去除空行",label:"批量编辑学生列表","persistent-hint":"",placeholder:"每行输入一个学生姓名",rows:"10",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue"])])):(c(),k("div",_i,[t(ce,{class:"mb-6"},{default:n(()=>[t(O,{cols:"12",md:"4",sm:"6"},{default:n(()=>[t(K,{modelValue:i.newStudentName,"onUpdate:modelValue":e[0]||(e[0]=p=>i.newStudentName=p),class:"mb-4","hide-details":"",label:"添加学生",placeholder:"输入学生姓名后回车添加","prepend-inner-icon":"mdi-account-plus",variant:"outlined",onKeyup:Ve(l.addStudent,["enter"])},{append:n(()=>[t(h,{disabled:!i.newStudentName.trim(),color:"primary",icon:"mdi-plus",variant:"text",onClick:l.addStudent},null,8,["disabled","onClick"])]),_:1},8,["modelValue","onKeyup"])]),_:1})]),_:1}),t(ce,null,{default:n(()=>[(c(!0),k(se,null,de(i.modelValue.list,(p,u)=>(c(),g(O,{key:u,cols:"12",lg:"3",md:"4",sm:"6"},{default:n(()=>[t(Gt,null,{default:n(({isHovering:b,props:A})=>[t(E,Ee({elevation:a.isMobile?1:b?4:1,border:"",class:"student-card"},{ref_for:!0},A),{default:n(()=>[t(j,{class:"d-flex align-center pa-3"},{default:n(()=>[t(It,{"open-on-hover":!a.isMobile,location:"bottom"},{activator:n(({props:I})=>[t(h,Ee({class:"mr-3 font-weight-medium",size:"small"},{ref_for:!0},I,{variant:"tonal"}),{default:n(()=>[o(w(u+1),1)]),_:2},1040)]),default:n(()=>[t(Q,{density:"compact",nav:""},{default:n(()=>[t(D,{disabled:u===0,"prepend-icon":"mdi-arrow-up-bold",onClick:I=>l.moveStudent(u,"top")},{default:n(()=>[...e[5]||(e[5]=[o(" 置顶 ",-1)])]),_:1},8,["disabled","onClick"]),t(P),t(D,{disabled:u===0,"prepend-icon":"mdi-arrow-up",onClick:I=>l.moveStudent(u,"up")},{default:n(()=>[...e[6]||(e[6]=[o(" 上移 ",-1)])]),_:1},8,["disabled","onClick"]),t(D,{disabled:u===i.modelValue.list.length-1,"prepend-icon":"mdi-arrow-down",onClick:I=>l.moveStudent(u,"down")},{default:n(()=>[...e[7]||(e[7]=[o(" 下移 ",-1)])]),_:1},8,["disabled","onClick"])]),_:2},1024)]),_:2},1032,["open-on-hover"]),i.editState.index===u?(c(),g(K,{key:0,modelValue:i.editState.name,"onUpdate:modelValue":e[1]||(e[1]=I=>i.editState.name=I),autofocus:"",class:"flex-grow-1",density:"compact","hide-details":"",variant:"underlined",onBlur:l.saveEdit,onKeyup:Ve(l.saveEdit,["enter"])},null,8,["modelValue","onBlur","onKeyup"])):(c(),k("span",{key:1,class:"text-body-1 flex-grow-1",onClick:I=>l.handleClick(u,p)},w(p.name),9,Vi)),m("div",{class:Fe([{"opacity-100":b||a.isMobile},"d-flex gap-1 action-buttons"])},[t(h,{color:"primary",icon:"mdi-pencil",size:"small",variant:"text",onClick:I=>l.startEdit(u,p)},null,8,["onClick"]),t(h,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:I=>l.removeStudent(u)},null,8,["onClick"])],2)]),_:2},1024)]),_:2},1040,["elevation"])]),_:2},1024)]),_:2},1024))),128))]),_:1})]))]),_:1}),t(ce,{class:"mt-6"},{default:n(()=>[t(O,{class:"d-flex gap-2",cols:"12"},{default:n(()=>[t(h,{disabled:i.loading,loading:i.loading,color:"primary","prepend-icon":"mdi-content-save",size:"large",onClick:l.saveStudents},{default:n(()=>[...e[8]||(e[8]=[o(" 保存名单 ",-1)])]),_:1},8,["disabled","loading","onClick"]),t(h,{disabled:i.loading,loading:i.loading,color:"error","prepend-icon":"mdi-refresh",size:"large",variant:"outlined",onClick:l.loadStudents},{default:n(()=>[...e[9]||(e[9]=[o(" 重载名单 ",-1)])]),_:1},8,["disabled","loading","onClick"])]),_:1})]),_:1})]),_:1})]),_:1},8,["class","color"])}const Yt=Y(Ci,[["render",Ai],["__scopeId","data-v-7e220985"]]),Ti={key:0,class:"d-flex justify-center align-center fill-height"},Ii={key:1,class:"d-flex justify-center align-center fill-height"},ji={key:2},Ei={class:"text-caption ml-4 text-medium-emphasis"},Ui={key:0},Ni={key:1},Mi={class:"text-error"},qt={__name:"CloudMigrationDialog",props:{modelValue:Boolean},emits:["update:modelValue"],setup(s,{emit:e}){const a=s,d=e,i=ge(!1),l=ge(!1),r=ge(!1),p=ge([]),u=ge([]),b=ge(!1),A=ge(null),I=ge(null),H=[{id:"student-list",label:"学生列表",description:"classworks-list-main",matcher:V=>V==="classworks-list-main"||V.startsWith("classworks-list-main")},{id:"homework-data",label:"作业数据",description:"classworks-data-*",matcher:V=>V.startsWith("classworks-data-")},{id:"lists",label:"列表",description:"classworks-list-*",matcher:V=>V.startsWith("classworks-list-")},{id:"other",label:"其他",description:"所有其他键",matcher:V=>!V.startsWith("classworks-data-")&&!V.startsWith("classworks-list-")}];pt(()=>a.modelValue,V=>{i.value=V,V&&G()}),pt(i,V=>{d("update:modelValue",V)});const G=async()=>{l.value=!0;try{const V=await gt.loadKeys({limit:1e3});p.value=V.keys||[],u.value=[]}catch(V){console.error(V)}finally{l.value=!1}},q=V=>p.value.filter(V.matcher),fe=V=>q(V).length,pe=V=>{const _=q(V);return _.length===0?!1:_.filter(T=>u.value.includes(T)).length===_.length},me=V=>{const _=q(V);if(_.length===0)return!1;const U=_.filter(T=>u.value.includes(T)).length;return U>0&&U<_.length},ie=V=>{const _=q(V);if(_.length===0)return;const U=pe(V),T=new Set(u.value);U?_.forEach(R=>T.delete(R)):_.forEach(R=>T.add(R)),u.value=Array.from(T)},ye=async()=>{var V,_,U;r.value=!0,I.value=null,A.value=null;try{const T={};for(const L of u.value){const ve=await gt.loadData(L);if(ve){if(ve&&ve.success===!1&&ve.error){console.warn(`Skipping key ${L} due to load error`,ve.error);continue}T[L]=ve}}const R=C("server.domain"),te=C("server.kvToken");if(!R||!te)throw new Error("请先配置服务器地址和 Token");const ke=R.replace(/\/$/,""),Z=await En.post(`${ke}/kv/_batchimport`,T,{headers:{Authorization:`Bearer ${te}`,"Content-Type":"application/json"}});if(Z.data&&Z.data.code===200)A.value=Z.data.data,b.value=!0,i.value=!1;else throw new Error(((V=Z.data)==null?void 0:V.message)||"迁移失败")}catch(T){console.error(T),I.value=((U=(_=T.response)==null?void 0:_.data)==null?void 0:U.message)||T.message||"发生未知错误",b.value=!0}finally{r.value=!1}};return(V,_)=>(c(),k(se,null,[t(we,{modelValue:i.value,"onUpdate:modelValue":_[2]||(_[2]=U=>i.value=U),"max-width":"600",scrollable:""},{default:n(()=>[t(E,null,{default:n(()=>[t(F,null,{default:n(()=>[..._[5]||(_[5]=[o("迁移到云端",-1)])]),_:1}),t(j,{style:{height:"400px"}},{default:n(()=>[l.value?(c(),k("div",Ti,[t(Dt,{indeterminate:"",color:"primary"})])):p.value.length===0?(c(),k("div",Ii," 没有找到本地数据 ")):(c(),k("div",ji,[t(Q,{"select-strategy":"classic",class:"mb-4"},{default:n(()=>[t(_n,null,{default:n(()=>[..._[6]||(_[6]=[o("选择数据类型",-1)])]),_:1}),(c(),k(se,null,de(H,U=>t(D,{key:U.id,onClick:T=>ie(U)},{prepend:n(()=>[t(wt,{"model-value":pe(U),indeterminate:me(U),onClick:Ae(T=>ie(U),["stop"])},null,8,["model-value","indeterminate","onClick"])]),default:n(()=>[t(z,null,{default:n(()=>[o(w(U.label),1)]),_:2},1024),t(le,null,{default:n(()=>[o(w(U.description)+" ("+w(fe(U))+" 项)",1)]),_:2},1024)]),_:2},1032,["onClick"])),64))]),_:1}),t(P,{class:"mb-4"}),t(it,null,{default:n(()=>[t(lt,{title:"详细数据列表"},{default:n(()=>[t(ot,null,{default:n(()=>[t(Q,{"select-strategy":"classic",density:"compact"},{default:n(()=>[(c(!0),k(se,null,de(p.value,U=>(c(),g(D,{key:U,value:U},{prepend:n(()=>[t(wt,{modelValue:u.value,"onUpdate:modelValue":_[0]||(_[0]=T=>u.value=T),value:U},null,8,["modelValue","value"])]),default:n(()=>[t(z,null,{default:n(()=>[o(w(U),1)]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1})]),_:1})]),_:1})]),_:1})]))]),_:1}),t(P),t(ue,null,{default:n(()=>[m("div",Ei," 已选择 "+w(u.value.length)+" 项 ",1),t(ne),t(h,{variant:"text",onClick:_[1]||(_[1]=U=>i.value=!1)},{default:n(()=>[..._[7]||(_[7]=[o("取消",-1)])]),_:1}),t(h,{color:"primary",onClick:ye,loading:r.value,disabled:u.value.length===0},{default:n(()=>[..._[8]||(_[8]=[o(" 开始迁移 ",-1)])]),_:1},8,["loading","disabled"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(we,{modelValue:b.value,"onUpdate:modelValue":_[4]||(_[4]=U=>b.value=U),"max-width":"500"},{default:n(()=>[t(E,null,{default:n(()=>[t(F,null,{default:n(()=>[..._[9]||(_[9]=[o("迁移结果",-1)])]),_:1}),t(j,null,{default:n(()=>[A.value?(c(),k("div",Ui,[m("p",null,"总计: "+w(A.value.summary.total),1),m("p",null,"成功: "+w(A.value.summary.successful),1),m("p",null,"失败: "+w(A.value.summary.failed),1)])):I.value?(c(),k("div",Ni,[m("p",Mi,w(I.value),1)])):y("",!0)]),_:1}),t(ue,null,{default:n(()=>[t(ne),t(h,{color:"primary",onClick:_[3]||(_[3]=U=>b.value=!1)},{default:n(()=>[..._[10]||(_[10]=[o("关闭",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])],64))}},Pi={name:"KvDatabaseCard",components:{SettingsCard:ee,CloudMigrationDialog:qt},data(){return{loading:!1,loadingData:!1,savingData:!1,deletingData:!1,kvData:[],searchQuery:"",viewDialog:!1,editDialog:!1,deleteDialog:!1,createDialog:!1,cloudUrlDialog:!1,showMigrationDialog:!1,selectedItem:null,editingItem:null,itemToDelete:null,selectedCloudItem:null,gettingCloudUrl:!1,cloudUrlResult:null,cloudUrlError:null,cloudUrlOptions:{migrateFromLocal:!0,autoConfigureCloud:!0},editingData:"",newKey:"",newData:"",tableHeaders:[{title:"键名",key:"key",sortable:!0},{title:"操作",key:"actions",sortable:!1,width:"120px"}]}},computed:{currentProvider(){return C("server.provider")},isKvProvider(){return this.currentProvider==="kv-local"||this.currentProvider==="kv-server"||this.currentProvider==="classworkscloud"},connectionStatus(){return this.isKvProvider?this.currentProvider==="kv-local"?"本地数据库":"服务器数据库":"当前数据提供者不支持KV数据库管理"},connectionIcon(){return this.isKvProvider?this.currentProvider==="kv-local"?"mdi-database":"mdi-database-sync":"mdi-database-off"},connectionColor(){return this.isKvProvider?"success":"error"},filteredKvData(){return this.searchQuery?this.kvData.filter(s=>s.key.toLowerCase().includes(this.searchQuery.toLowerCase())):this.kvData},isValidJson(){if(!this.editingData)return!0;try{return JSON.parse(this.editingData),!0}catch{return!1}},isValidNewJson(){if(!this.newData)return!0;try{return JSON.parse(this.newData),!0}catch{return!1}},isValidKey(){return!this.newKey||this.newKey.trim()===""?!1:!this.kvData.some(s=>s.key===this.newKey.trim())}},async mounted(){this.isKvProvider&&await this.loadKvData()},methods:{async refreshConnection(){this.loading=!0;try{await new Promise(s=>setTimeout(s,500)),this.$message.success("连接状态已刷新")}catch(s){this.$message.error("刷新失败",s.message)}finally{this.loading=!1}},async loadKvData(){var s;if(!this.isKvProvider){this.$message.warning("当前数据提供者不支持KV数据库管理");return}this.loadingData=!0;try{this.kvData=[];const e=await re.loadKeys({sortBy:"key",sortDir:"asc",limit:1e3});if(e.success===!1)throw new Error(((s=e.error)==null?void 0:s.message)||"获取键名列表失败");this.kvData=e.keys.map(a=>({key:a,value:null,loaded:!1})),this.$message.success("键名加载完成",`共找到 ${this.kvData.length} 个键,总计 ${e.total_rows} 个键`)}catch(e){this.$message.error("加载数据失败",e.message)}finally{this.loadingData=!1}},async viewItem(s){this.selectedItem=s,this.viewDialog=!0,(!s.loaded||s.value===null)&&await this.loadItemData(s)},async editItem(s){this.editingItem=s,(!s.loaded||s.value===null)&&await this.loadItemData(s),this.editingData=this.formatJsonData(s.value),this.editDialog=!0},async loadItemData(s){try{const e=await re.loadData(s.key);if(e&&e.success!==!1)s.value=e,s.loaded=!0;else throw new Error("数据加载失败")}catch(e){this.$message.error("加载数据失败",e.message),s.value=null,s.loaded=!1}},closeEditDialog(){this.editDialog=!1,this.editingItem=null,this.editingData=""},createNewItem(){this.newKey="",this.newData=`{ - "example": "value" -}`,this.createDialog=!0},closeCreateDialog(){this.createDialog=!1,this.newKey="",this.newData=""},async saveNewData(){var s;if(!(!this.isValidKey||!this.isValidNewJson)){this.savingData=!0;try{const e=JSON.parse(this.newData),a=this.newKey.trim(),d=await re.saveData(a,e);if(d&&!d.error)this.kvData.push({key:a,value:e,loaded:!0}),this.$message.success("数据创建成功"),this.closeCreateDialog();else throw new Error(((s=d.error)==null?void 0:s.message)||"创建失败")}catch(e){this.$message.error("创建失败",e.message)}finally{this.savingData=!1}}},async saveEditedData(){var s;if(!(!this.isValidJson||!this.editingItem)){this.savingData=!0;try{const e=JSON.parse(this.editingData),a=await re.saveData(this.editingItem.key,e);if(a&&!a.error){const d=this.kvData.findIndex(i=>i.key===this.editingItem.key);d!==-1&&(this.kvData[d].value=e,this.kvData[d].loaded=!0),this.$message.success("数据保存成功"),this.closeEditDialog()}else throw new Error(((s=a.error)==null?void 0:s.message)||"保存失败")}catch(e){this.$message.error("保存失败",e.message)}finally{this.savingData=!1}}},confirmDelete(s){this.itemToDelete=s,this.deleteDialog=!0},async deleteItem(){if(this.itemToDelete){this.deletingData=!0;try{this.currentProvider==="kv-local"?await(await Un("ClassworksDB",2)).transaction("kv","readwrite").objectStore("kv").delete(this.itemToDelete.key):await re.saveData(this.itemToDelete.key,null);const s=this.kvData.findIndex(e=>e.key===this.itemToDelete.key);s!==-1&&this.kvData.splice(s,1),this.$message.success("数据删除成功"),this.deleteDialog=!1,this.itemToDelete=null}catch(s){this.$message.error("删除失败",s.message)}finally{this.deletingData=!1}}},formatJsonData(s){try{return JSON.stringify(s,null,2)}catch{return String(s)}},async copyToClipboard(s){try{const e=this.formatJsonData(s);await navigator.clipboard.writeText(e),this.$message.success("数据已复制到剪贴板")}catch(e){this.$message.error("复制失败",e.message)}},async getCloudUrl(s){this.selectedCloudItem=s,this.cloudUrlResult=null,this.cloudUrlError=null,this.cloudUrlDialog=!0,await this.fetchCloudUrl()},async fetchCloudUrl(){var s;if(this.selectedCloudItem){this.gettingCloudUrl=!0,this.cloudUrlError=null;try{const e=await re.getKeyCloudUrl(this.selectedCloudItem.key,this.cloudUrlOptions);e.success?(this.cloudUrlResult=e,this.$message.success("云端地址获取成功")):(this.cloudUrlError=((s=e.error)==null?void 0:s.message)||"获取云端地址失败",this.$message.error("获取失败",this.cloudUrlError))}catch(e){this.cloudUrlError=e.message||"获取云端地址时发生错误",this.$message.error("获取失败",this.cloudUrlError)}finally{this.gettingCloudUrl=!1}}},async refreshCloudUrl(){await this.fetchCloudUrl()},async copyCloudUrl(){var s;if((s=this.cloudUrlResult)!=null&&s.url)try{await navigator.clipboard.writeText(this.cloudUrlResult.url),this.$message.success("云端地址已复制到剪贴板")}catch(e){this.$message.error("复制失败",e.message)}},openCloudUrl(){var s;if((s=this.cloudUrlResult)!=null&&s.url)try{window.open(this.cloudUrlResult.url,"_blank")}catch(e){this.$message.error("打开链接失败",e.message)}}}},Bi={class:"text-primary"},Li={class:"mt-2"},zi={key:0,class:"mb-2"},Oi={key:1,class:"mb-2"};function Ri(s,e,a,d,i,l){const r=qt,p=ee;return c(),g(p,{loading:i.loading,icon:"mdi-database-edit",title:"KV数据库管理"},{default:n(()=>[t(Q,null,{default:n(()=>[t(D,null,{prepend:n(()=>[t(v,{color:l.connectionColor,icon:l.connectionIcon,class:"mr-3"},null,8,["color","icon"])]),append:n(()=>[t(h,{loading:i.loading,variant:"tonal",onClick:l.refreshConnection},{default:n(()=>[...e[20]||(e[20]=[o(" 刷新 ",-1)])]),_:1},8,["loading","onClick"])]),default:n(()=>[t(z,null,{default:n(()=>[...e[19]||(e[19]=[o("数据库状态",-1)])]),_:1}),t(le,null,{default:n(()=>[o(w(l.connectionStatus),1)]),_:1})]),_:1}),t(P,{class:"my-2"}),t(D,null,{prepend:n(()=>[t(v,{class:"mr-3",icon:"mdi-format-list-bulleted"})]),append:n(()=>[t(ht,{variant:"tonal"},{default:n(()=>[t(h,{loading:i.loadingData,onClick:l.loadKvData},{default:n(()=>[...e[22]||(e[22]=[o(" 加载数据 ",-1)])]),_:1},8,["loading","onClick"]),t(h,{disabled:!l.isKvProvider,onClick:l.createNewItem},{default:n(()=>[t(v,{class:"mr-1",icon:"mdi-plus"}),e[23]||(e[23]=o(" 新建 ",-1))]),_:1},8,["disabled","onClick"]),t(h,{onClick:e[0]||(e[0]=u=>i.showMigrationDialog=!0)},{default:n(()=>[t(v,{class:"mr-1",icon:"mdi-cloud-upload"}),e[24]||(e[24]=o(" 从本地迁移 ",-1))]),_:1})]),_:1})]),default:n(()=>[t(z,null,{default:n(()=>[...e[21]||(e[21]=[o("数据条目",-1)])]),_:1}),t(le,null,{default:n(()=>[o("共 "+w(i.kvData.length)+" 条记录",1)]),_:1})]),_:1})]),_:1}),i.kvData.length>0?(c(),g(E,{key:0,class:"mt-4",variant:"outlined"},{default:n(()=>[t(F,{class:"d-flex align-center"},{default:n(()=>[t(v,{class:"mr-2",icon:"mdi-table"}),e[25]||(e[25]=o(" KV数据列表 ",-1)),t(ne),t(K,{modelValue:i.searchQuery,"onUpdate:modelValue":e[1]||(e[1]=u=>i.searchQuery=u),clearable:"",density:"compact","hide-details":"",label:"搜索键名","prepend-inner-icon":"mdi-magnify",style:{"max-width":"300px"},variant:"outlined"},null,8,["modelValue"])]),_:1}),t(Ut,{headers:i.tableHeaders,items:l.filteredKvData,"items-per-page":10,loading:i.loadingData,class:"elevation-0","item-value":"key"},{"item.key":n(({item:u})=>[m("code",Bi,w(u.key),1)]),"item.actions":n(({item:u})=>[t(ht,{density:"compact",variant:"text"},{default:n(()=>[t(h,{icon:"mdi-eye",size:"small",title:"查看",onClick:b=>l.viewItem(u)},null,8,["onClick"]),t(h,{icon:"mdi-pencil",size:"small",title:"编辑",onClick:b=>l.editItem(u)},null,8,["onClick"]),t(h,{color:"primary",icon:"mdi-cloud-download",size:"small",title:"获取云端地址",onClick:b=>l.getCloudUrl(u)},null,8,["onClick"]),t(h,{color:"error",icon:"mdi-delete",size:"small",title:"删除",onClick:b=>l.confirmDelete(u)},null,8,["onClick"])]),_:2},1024)]),_:2},1032,["headers","items","loading"])]),_:1})):y("",!0),t(we,{modelValue:i.viewDialog,"onUpdate:modelValue":e[5]||(e[5]=u=>i.viewDialog=u),"max-width":"800px"},{default:n(()=>[t(E,null,{default:n(()=>[t(F,{class:"d-flex align-center"},{default:n(()=>[t(v,{class:"mr-2",icon:"mdi-eye"}),e[26]||(e[26]=o(" 查看数据 ",-1)),t(ne),t(h,{icon:"mdi-close",variant:"text",onClick:e[2]||(e[2]=u=>i.viewDialog=!1)})]),_:1}),i.selectedItem?(c(),g(ze,{key:0},{default:n(()=>[e[27]||(e[27]=o(" 键名: ",-1)),m("code",null,w(i.selectedItem.key),1)]),_:1})):y("",!0),t(j,null,{default:n(()=>[i.selectedItem?(c(),g(Ie,{key:0,"model-value":l.formatJsonData(i.selectedItem.value),class:"font-monospace",label:"数据内容",readonly:"",rows:"15",variant:"outlined"},null,8,["model-value"])):y("",!0)]),_:1}),t(ue,null,{default:n(()=>[t(ne),t(h,{variant:"tonal",onClick:e[3]||(e[3]=u=>{var b;return l.copyToClipboard((b=i.selectedItem)==null?void 0:b.value)})},{default:n(()=>[t(v,{class:"mr-1",icon:"mdi-content-copy"}),e[28]||(e[28]=o(" 复制数据 ",-1))]),_:1}),t(h,{variant:"text",onClick:e[4]||(e[4]=u=>i.viewDialog=!1)},{default:n(()=>[...e[29]||(e[29]=[o(" 关闭 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(we,{modelValue:i.editDialog,"onUpdate:modelValue":e[7]||(e[7]=u=>i.editDialog=u),"max-width":"800px"},{default:n(()=>[t(E,null,{default:n(()=>[t(F,{class:"d-flex align-center"},{default:n(()=>[t(v,{class:"mr-2",icon:"mdi-pencil"}),e[30]||(e[30]=o(" 编辑数据 ",-1)),t(ne),t(h,{icon:"mdi-close",variant:"text",onClick:l.closeEditDialog},null,8,["onClick"])]),_:1}),i.editingItem?(c(),g(ze,{key:0},{default:n(()=>[e[31]||(e[31]=o(" 键名: ",-1)),m("code",null,w(i.editingItem.key),1)]),_:1})):y("",!0),t(j,null,{default:n(()=>[t(Ie,{modelValue:i.editingData,"onUpdate:modelValue":e[6]||(e[6]=u=>i.editingData=u),error:!l.isValidJson,"error-messages":l.isValidJson?[]:["请输入有效的JSON格式"],class:"font-monospace",label:"数据内容 (JSON格式)",rows:"15",variant:"outlined"},null,8,["modelValue","error","error-messages"])]),_:1}),t(ue,null,{default:n(()=>[t(ne),t(h,{variant:"text",onClick:l.closeEditDialog},{default:n(()=>[...e[32]||(e[32]=[o(" 取消 ",-1)])]),_:1},8,["onClick"]),t(h,{disabled:!l.isValidJson,loading:i.savingData,color:"primary",variant:"tonal",onClick:l.saveEditedData},{default:n(()=>[...e[33]||(e[33]=[o(" 保存 ",-1)])]),_:1},8,["disabled","loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(we,{modelValue:i.createDialog,"onUpdate:modelValue":e[10]||(e[10]=u=>i.createDialog=u),"max-width":"800px"},{default:n(()=>[t(E,null,{default:n(()=>[t(F,{class:"d-flex align-center"},{default:n(()=>[t(v,{class:"mr-2",icon:"mdi-plus"}),e[34]||(e[34]=o(" 新建数据 ",-1)),t(ne),t(h,{icon:"mdi-close",variant:"text",onClick:l.closeCreateDialog},null,8,["onClick"])]),_:1}),t(j,null,{default:n(()=>[t(K,{modelValue:i.newKey,"onUpdate:modelValue":e[8]||(e[8]=u=>i.newKey=u),error:!l.isValidKey,"error-messages":l.isValidKey?[]:["键名不能为空且不能与现有键重复"],class:"mb-4",label:"键名",placeholder:"请输入键名,如:my-config",variant:"outlined"},null,8,["modelValue","error","error-messages"]),t(Ie,{modelValue:i.newData,"onUpdate:modelValue":e[9]||(e[9]=u=>i.newData=u),error:!l.isValidNewJson,"error-messages":l.isValidNewJson?[]:["请输入有效的JSON格式"],class:"font-monospace",label:"数据内容 (JSON格式)",placeholder:'请输入JSON数据,如:{"name": "value"}',rows:"15",variant:"outlined"},null,8,["modelValue","error","error-messages"])]),_:1}),t(ue,null,{default:n(()=>[t(ne),t(h,{variant:"text",onClick:l.closeCreateDialog},{default:n(()=>[...e[35]||(e[35]=[o(" 取消 ",-1)])]),_:1},8,["onClick"]),t(h,{disabled:!l.isValidKey||!l.isValidNewJson,loading:i.savingData,color:"primary",variant:"tonal",onClick:l.saveNewData},{default:n(()=>[...e[36]||(e[36]=[o(" 创建 ",-1)])]),_:1},8,["disabled","loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(we,{modelValue:i.cloudUrlDialog,"onUpdate:modelValue":e[15]||(e[15]=u=>i.cloudUrlDialog=u),"max-width":"800px"},{default:n(()=>[t(E,null,{default:n(()=>[t(F,{class:"d-flex align-center"},{default:n(()=>[t(v,{class:"mr-2",icon:"mdi-cloud-download"}),e[37]||(e[37]=o(" 获取云端访问地址 ",-1)),t(ne),t(h,{icon:"mdi-close",variant:"text",onClick:e[11]||(e[11]=u=>i.cloudUrlDialog=!1)})]),_:1}),i.selectedCloudItem?(c(),g(ze,{key:0},{default:n(()=>[e[38]||(e[38]=o(" 键名: ",-1)),m("code",null,w(i.selectedCloudItem.key),1)]),_:1})):y("",!0),t(j,null,{default:n(()=>[i.cloudUrlError?(c(),g($,{key:0,class:"mb-4",type:"error",variant:"tonal"},{default:n(()=>[o(w(i.cloudUrlError),1)]),_:1})):y("",!0),i.cloudUrlResult&&i.cloudUrlResult.success?(c(),g($,{key:1,class:"mb-4",type:"success",variant:"tonal"},{default:n(()=>[t(Te,null,{default:n(()=>[...e[39]||(e[39]=[o("云端地址获取成功",-1)])]),_:1}),m("div",Li,[i.cloudUrlResult.migrated?(c(),k("div",zi,[t(v,{class:"mr-1",color:"success",icon:"mdi-database-arrow-up"}),e[40]||(e[40]=o(" 数据已从本地迁移到云端 ",-1))])):y("",!0),i.cloudUrlResult.configured?(c(),k("div",Oi,[t(v,{class:"mr-1",color:"info",icon:"mdi-cog"}),e[41]||(e[41]=o(" 云端配置已自动设置 ",-1))])):y("",!0)])]),_:1})):y("",!0),i.cloudUrlResult&&i.cloudUrlResult.url?(c(),g(K,{key:2,"model-value":i.cloudUrlResult.url,"append-inner-icon":"mdi-content-copy",class:"font-monospace",label:"云端访问地址",readonly:"",variant:"outlined","onClick:appendInner":l.copyCloudUrl},null,8,["model-value","onClick:appendInner"])):y("",!0),i.cloudUrlResult&&i.cloudUrlResult.url?(c(),g(it,{key:3,class:"mt-4"},{default:n(()=>[t(lt,null,{default:n(()=>[t(Et,null,{default:n(()=>[t(v,{class:"mr-2",icon:"mdi-cog"}),e[42]||(e[42]=o(" 高级选项 ",-1))]),_:1}),t(ot,null,{default:n(()=>[t(Ce,{modelValue:i.cloudUrlOptions.migrateFromLocal,"onUpdate:modelValue":e[12]||(e[12]=u=>i.cloudUrlOptions.migrateFromLocal=u),density:"compact",label:"从本地迁移数据到云端"},null,8,["modelValue"]),t(Ce,{modelValue:i.cloudUrlOptions.autoConfigureCloud,"onUpdate:modelValue":e[13]||(e[13]=u=>i.cloudUrlOptions.autoConfigureCloud=u),density:"compact",label:"自动配置云端默认设置"},null,8,["modelValue"]),t(h,{loading:i.gettingCloudUrl,class:"mt-2",color:"primary",variant:"tonal",onClick:l.refreshCloudUrl},{default:n(()=>[t(v,{class:"mr-1",icon:"mdi-refresh"}),e[43]||(e[43]=o(" 重新获取 ",-1))]),_:1},8,["loading","onClick"])]),_:1})]),_:1})]),_:1})):y("",!0)]),_:1}),t(ue,null,{default:n(()=>[t(ne),t(h,{variant:"text",onClick:e[14]||(e[14]=u=>i.cloudUrlDialog=!1)},{default:n(()=>[...e[44]||(e[44]=[o(" 关闭 ",-1)])]),_:1}),i.cloudUrlResult&&i.cloudUrlResult.url?(c(),g(h,{key:0,color:"primary",variant:"tonal",onClick:l.openCloudUrl},{default:n(()=>[t(v,{class:"mr-1",icon:"mdi-open-in-new"}),e[45]||(e[45]=o(" 在新窗口打开 ",-1))]),_:1},8,["onClick"])):y("",!0)]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(we,{modelValue:i.deleteDialog,"onUpdate:modelValue":e[17]||(e[17]=u=>i.deleteDialog=u),"max-width":"400px"},{default:n(()=>[t(E,null,{default:n(()=>[t(F,{class:"d-flex align-center text-error"},{default:n(()=>[t(v,{class:"mr-2",icon:"mdi-alert"}),e[46]||(e[46]=o(" 确认删除 ",-1))]),_:1}),t(j,null,{default:n(()=>{var u;return[e[48]||(e[48]=o(" 确定要删除键名为 ",-1)),m("code",null,w((u=i.itemToDelete)==null?void 0:u.key),1),e[49]||(e[49]=o(" 的数据吗? ",-1)),e[50]||(e[50]=m("br",null,null,-1)),e[51]||(e[51]=m("br",null,null,-1)),t($,{class:"mt-2",type:"warning",variant:"tonal"},{default:n(()=>[...e[47]||(e[47]=[o(" 此操作不可撤销,请谨慎操作! ",-1)])]),_:1})]}),_:1}),t(ue,null,{default:n(()=>[t(ne),t(h,{variant:"text",onClick:e[16]||(e[16]=u=>i.deleteDialog=!1)},{default:n(()=>[...e[52]||(e[52]=[o(" 取消 ",-1)])]),_:1}),t(h,{loading:i.deletingData,color:"error",variant:"tonal",onClick:l.deleteItem},{default:n(()=>[...e[53]||(e[53]=[o(" 删除 ",-1)])]),_:1},8,["loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(r,{modelValue:i.showMigrationDialog,"onUpdate:modelValue":e[18]||(e[18]=u=>i.showMigrationDialog=u)},null,8,["modelValue"])]),_:1},8,["loading"])}const Zt=Y(Pi,[["render",Ri],["__scopeId","data-v-67879974"]]),Ki={name:"DataProviderSettingsCard",components:{SettingsCard:ee},data(){return{loading:!1,serverchecktime:{},confirmDialog:!1,confirmTitle:"",confirmMessage:"",confirmAction:null,machineId:null,migrateLoading:!1}},computed:{currentProvider(){return C("server.provider")},isKvProvider(){return this.currentProvider==="kv-local"||this.currentProvider==="kv-server"||this.currentProvider==="classworkscloud"}},async created(){this.machineId=C("device.uuid")},methods:{async checkServerConnection(){this.loading=!0,this.serverchecktime=new Date;const s=[];try{const e=C("server.siteKey"),a={Accept:"application/json"};if(e&&(a["x-site-key"]=e),Pn()){const d=await Bn(async p=>{const u=await Qe.get(`${p}/check`,{method:"GET",headers:a});if(u.data.status!=="success")throw new Error("服务器响应异常");return u},{onServerTried:({url:p,status:u,tried:b})=>{s.length=0,s.push(...b)}}),i=new Date-this.serverchecktime,l=s.find(p=>p.status==="success");let r=`服务器连接正常 延迟${i}ms`;if(s.length>1){const p=s.map((u,b)=>`${b+1}. ${u.url} (${u.status==="success"?"成功":"失败"})`).join(` -`);r+=` - -依次尝试的服务器: -${p}`}else l&&(r+=` -服务器: ${l.url}`);this.$message.success("连接成功",r)}else{const d=C("server.domain");if((await Qe.get(`${d}/check`,{method:"GET",headers:a})).data.status==="success")this.$message.success("连接成功","服务器连接正常 延迟"+(new Date-this.serverchecktime)+"ms");else throw new Error("服务器响应异常")}}catch(e){let a=e.message||"无法连接到服务器";if(s.length>0){const d=s.map((i,l)=>`${l+1}. ${i.url} (失败${i.error?`: ${i.error}`:""})`).join(` -`);a+=` - -依次尝试的服务器: -${d} - -所有服务器均连接失败`}this.$message.error("连接失败",a)}finally{this.loading=!1}},confirmClearLocalStorage(){this.confirmTitle="确认清除",this.confirmMessage="此操作将清除所有本地存储的数据,确定要继续吗?",this.confirmAction=this.clearLocalStorage,this.confirmDialog=!0},clearLocalStorage(){try{localStorage.clear(),this.$message.success("清除成功","本地存储数据已清除"),this.confirmDialog=!1}catch(s){this.$message.error("清除失败",s.message)}},confirmClearIndexedDB(){this.confirmTitle="确认清除",this.confirmMessage="此操作将清除所有IndexedDB中的数据,确定要继续吗?",this.confirmAction=this.clearIndexedDB,this.confirmDialog=!0},async clearIndexedDB(){try{await window.indexedDB.deleteDatabase("ClassworksDB"),this.$message.success("清除成功","数据库缓存已清除"),this.confirmDialog=!1,this.isKvProvider&&setTimeout(()=>{window.location.reload()},1500)}catch(s){this.$message.error("清除失败",s.message)}},async exportData(){try{const s="ClassworksDB",e={indexedDB:{}},a=await new Promise((u,b)=>{const A=window.indexedDB.open(s);A.onerror=()=>b(A.error),A.onsuccess=()=>u(A.result)}),d=Array.from(a.objectStoreNames);for(const u of d){const A=a.transaction(u,"readonly").objectStore(u),I=await new Promise((H,G)=>{const q=A.getAll();q.onerror=()=>G(q.error),q.onsuccess=()=>H(q.result)});e.indexedDB[u]=I}const i=new Blob([JSON.stringify(e,null,2)],{type:"application/json"}),l=URL.createObjectURL(i),r=document.createElement("a"),p=new Date().toISOString().split("T")[0];r.href=l,r.download=`homework-indexeddb-${p}.json`,r.click(),URL.revokeObjectURL(l),this.$message.success("导出成功","IndexedDB数据已导出")}catch(s){console.error("导出失败:",s),this.$message.error("导出失败",s.message||"无法导出数据库数据")}},async migrateData(){this.migrateLoading=!0,this.$router.push("/datamigration"),this.migrateLoading=!1},handleConfirm(){this.confirmAction&&this.confirmAction()}}};function Fi(s,e,a,d,i,l){const r=ee;return c(),g(r,{icon:"mdi-database-cog",title:"数据源设置"},{default:n(()=>[t(Q,null,{default:n(()=>[l.currentProvider==="kv-server"||l.currentProvider==="classworkscloud"?(c(),g(D,{key:0},{prepend:n(()=>[t(v,{class:"mr-3",icon:"mdi-lan-connect"})]),append:n(()=>[t(h,{loading:i.loading,variant:"tonal",onClick:l.checkServerConnection},{default:n(()=>[...e[3]||(e[3]=[o(" 测试连接 ",-1)])]),_:1},8,["loading","onClick"])]),default:n(()=>[t(z,null,{default:n(()=>[...e[2]||(e[2]=[o("检查服务器连接",-1)])]),_:1})]),_:1})):y("",!0),l.currentProvider==="kv-local"?(c(),k(se,{key:1},[t(D,null,{prepend:n(()=>[t(v,{class:"mr-3",icon:"mdi-database"})]),append:n(()=>[t(h,{color:"error",variant:"tonal",onClick:l.confirmClearIndexedDB},{default:n(()=>[...e[6]||(e[6]=[o(" 清除 ",-1)])]),_:1},8,["onClick"])]),default:n(()=>[t(z,null,{default:n(()=>[...e[4]||(e[4]=[o("清除数据库缓存",-1)])]),_:1}),t(le,null,{default:n(()=>[...e[5]||(e[5]=[o("这将清除所有本地数据库中的数据 ",-1)])]),_:1})]),_:1}),t(D,null,{prepend:n(()=>[t(v,{class:"mr-3",icon:"mdi-database-export"})]),append:n(()=>[t(h,{variant:"tonal",onClick:l.exportData},{default:n(()=>[...e[8]||(e[8]=[o(" 导出",-1)])]),_:1},8,["onClick"])]),default:n(()=>[t(z,null,{default:n(()=>[...e[7]||(e[7]=[o("导出数据库",-1)])]),_:1})]),_:1})],64)):y("",!0),t(D,null,{prepend:n(()=>[t(v,{class:"mr-3",icon:"mdi-lan-connect"})]),append:n(()=>[t(h,{to:"/cachemanagement",variant:"tonal"},{default:n(()=>[...e[10]||(e[10]=[o(" 查看",-1)])]),_:1})]),default:n(()=>[t(z,null,{default:n(()=>[...e[9]||(e[9]=[o("查看本地缓存",-1)])]),_:1})]),_:1})]),_:1}),t(we,{modelValue:i.confirmDialog,"onUpdate:modelValue":e[1]||(e[1]=p=>i.confirmDialog=p),"max-width":"400"},{default:n(()=>[t(E,null,{default:n(()=>[t(F,null,{default:n(()=>[o(w(i.confirmTitle),1)]),_:1}),t(j,null,{default:n(()=>[o(w(i.confirmMessage),1)]),_:1}),t(ue,null,{default:n(()=>[t(ne),t(h,{color:"grey",variant:"text",onClick:e[0]||(e[0]=p=>i.confirmDialog=!1)},{default:n(()=>[...e[11]||(e[11]=[o("取消 ",-1)])]),_:1}),t(h,{color:"error",variant:"tonal",onClick:l.handleConfirm},{default:n(()=>[...e[12]||(e[12]=[o("确认 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})}const Xt=Y(Ki,[["render",Fi]]),Ji={name:"CloudNamespaceInfoCard",props:{visible:{type:Boolean,default:!0}},data(){return{namespaceInfo:{},loading:!1,hasNamespaceInfo:!1,showReinitDialog:!1,defaultAuthServer:C("server.authDomain")}},watch:{visible(s){s===!0&&this.fetchNamespaceInfo()}},mounted(){this.visible&&this.fetchNamespaceInfo()},methods:{formatDate(s){if(!s)return"未知";try{return new Date(s).toLocaleString("zh-CN")}catch{return s}},async fetchNamespaceInfo(){this.loading=!0;try{const s=await Nn.loadNamespaceInfo();this.namespaceInfo=s,this.hasNamespaceInfo=!0,this.loading=!1}catch(s){console.error("获取命名空间信息失败:",s),this.hasNamespaceInfo=!1,this.namespaceInfo={}}finally{this.loading=!1}},async reloadInfo(){await this.fetchNamespaceInfo()},getBindAccountUrl(){var e,a;const s=(a=(e=this.namespaceInfo)==null?void 0:e.device)==null?void 0:a.uuid;return s?`${this.defaultAuthServer}?uuid=${encodeURIComponent(s)}&tolinktoaccount=true`:this.defaultAuthServer},confirmReinitialize(){Se("server.kvToken",""),Se("device.uuid",""),this.showReinitDialog=!1,this.$router.push("/")}}},Qi={key:0,class:"mb-4"},Hi={key:1,class:"d-flex align-center mb-4"},Gi={class:"d-flex flex-column gap-1"},Wi={class:"d-flex align-center"},Yi={class:"d-flex align-center"},qi={key:0,class:"d-flex align-center"},Zi={class:"text-truncate"},Xi={class:"d-flex align-center"},$i={key:1,class:"d-flex align-center"};function el(s,e,a,d,i,l){return c(),g(E,{disabled:!i.hasNamespaceInfo,loading:i.loading,class:"my-4"},{loader:n(()=>[i.loading?(c(),g(He,{key:0,color:"primary",indeterminate:""})):y("",!0)]),default:n(()=>[t(F,null,{default:n(()=>[t(v,{class:"me-2"},{default:n(()=>[...e[3]||(e[3]=[o(" mdi-cloud-check ",-1)])]),_:1}),e[4]||(e[4]=o(" 设备信息 ",-1))]),_:1}),i.hasNamespaceInfo?(c(),g(j,{key:0},{default:n(()=>[i.namespaceInfo.hasAccount===!1?(c(),k("div",Qi,[t($,{border:"",type:"warning",variant:"tonal"},{default:n(()=>[t(Te,null,{default:n(()=>[...e[5]||(e[5]=[o("设备未绑定账号",-1)])]),_:1}),e[7]||(e[7]=m("div",null,"当前设备尚未绑定账号,部分功能可能受限。请前往绑定账号以获得完整体验。",-1)),t(h,{href:l.getBindAccountUrl(),"append-icon":"mdi-open-in-new",class:"mt-3",target:"_blank",variant:"outlined"},{default:n(()=>[...e[6]||(e[6]=[o(" 前往绑定账号 ",-1)])]),_:1},8,["href"])]),_:1})])):y("",!0),i.namespaceInfo.hasAccount&&i.namespaceInfo.account?(c(),k("div",Hi,[t(E,{"prepend-avatar":i.namespaceInfo.account.avatarUrl,subtitle:"此设备由贵校管理 管理员账号 ID: "+i.namespaceInfo.account.id,title:i.namespaceInfo.account.name||"未命名用户",border:"",class:"w-100",hover:"",variant:"tonal"},{default:n(()=>[t(j,null,{default:n(()=>[...e[8]||(e[8]=[o(" 此设备由贵校或贵单位管理,该管理员系此空间所有者,如有疑问请咨询他,对于恶意绑定、滥用行为请反馈。 ",-1)])]),_:1})]),_:1},8,["prepend-avatar","subtitle","title"])])):y("",!0),i.namespaceInfo.device?(c(),g(E,{key:2,border:"",class:"mb-4",hover:"",variant:"tonal"},{default:n(()=>[t(F,{class:"pb-1"},{default:n(()=>[...e[9]||(e[9]=[o(" 设备信息 ",-1)])]),_:1}),t(j,null,{default:n(()=>[m("div",Gi,[m("div",Wi,[t(v,{class:"me-2",size:"small"},{default:n(()=>[...e[10]||(e[10]=[o(" mdi-tag ",-1)])]),_:1}),e[11]||(e[11]=m("span",{class:"font-weight-medium me-2"},"设备名称:",-1)),m("span",null,w(i.namespaceInfo.device.name||"未命名设备"),1)]),m("div",Yi,[t(v,{class:"me-2",size:"small"},{default:n(()=>[...e[12]||(e[12]=[o(" mdi-identifier ",-1)])]),_:1}),e[13]||(e[13]=m("span",{class:"font-weight-medium me-2"},"设备 ID:",-1)),m("span",null,w(i.namespaceInfo.device.id),1)]),i.namespaceInfo.hasAccount===!1&&i.namespaceInfo.device.uuid?(c(),k("div",qi,[t(v,{class:"me-2",size:"small"},{default:n(()=>[...e[14]||(e[14]=[o(" mdi-uuid ",-1)])]),_:1}),e[15]||(e[15]=m("span",{class:"font-weight-medium me-2"},"UUID:",-1)),m("span",Zi,w(i.namespaceInfo.device.uuid),1)])):y("",!0),m("div",Xi,[t(v,{class:"me-2",size:"small"},{default:n(()=>[...e[16]||(e[16]=[o(" mdi-calendar ",-1)])]),_:1}),e[17]||(e[17]=m("span",{class:"font-weight-medium me-2"},"创建时间:",-1)),m("span",null,w(l.formatDate(i.namespaceInfo.device.createdAt)),1)]),i.namespaceInfo.device.updatedAt?(c(),k("div",$i,[t(v,{class:"me-2",size:"small"},{default:n(()=>[...e[18]||(e[18]=[o(" mdi-calendar-clock ",-1)])]),_:1}),e[19]||(e[19]=m("span",{class:"font-weight-medium me-2"},"更新时间:",-1)),m("span",null,w(l.formatDate(i.namespaceInfo.device.updatedAt)),1)])):y("",!0)])]),_:1})]),_:1})):y("",!0),t(E,{border:"",hover:"",subtitle:"文档形键值数据库",title:"Classworks KV"},{default:n(()=>[t(j,null,{default:n(()=>[...e[20]||(e[20]=[o(" Classworks KV 是厚浪云推出的文档形键值数据库,其是一个开放的云应用平台,为各种应用提供存储服务。此设备正在使用其服务,如果您希望管理设备信息,请前往 Classworks KV 的网站,如果您在服务推出前就在使用 Classworks,您的数据已被自动迁移。 ",-1),m("br",null,null,-1),m("br",null,null,-1),o(" Classworks KV 的全域管理员是 ",-1),m("a",{href:"https://wuyuan.dev",target:"_blank"}," 孙悟元 ",-1)])]),_:1}),t(ue,null,{default:n(()=>[t(h,{href:i.defaultAuthServer,"append-icon":"mdi-open-in-new",class:"text-none",target:"_blank"},{default:n(()=>[...e[21]||(e[21]=[o(" 前往 Classworks KV ",-1)])]),_:1},8,["href"])]),_:1})]),_:1})]),_:1})):(c(),g(j,{key:1},{default:n(()=>[t($,{type:"info",variant:"tonal"},{default:n(()=>[t(Te,null,{default:n(()=>[...e[22]||(e[22]=[o("未获取到设备信息",-1)])]),_:1}),e[23]||(e[23]=m("p",null,"您尚未完成云端存储授权或连接失败,请点击下方按钮进行初始化。",-1))]),_:1})]),_:1})),t(ue,null,{default:n(()=>[t(ne),t(h,{loading:i.loading,color:"primary",variant:"outlined",onClick:l.reloadInfo},{default:n(()=>[...e[24]||(e[24]=[o(" 刷新设备信息 ",-1)])]),_:1},8,["loading","onClick"]),t(h,{color:"error",variant:"outlined",onClick:e[0]||(e[0]=r=>i.showReinitDialog=!0)},{default:n(()=>[...e[25]||(e[25]=[o(" 重新初始化云端存储 ",-1)])]),_:1})]),_:1}),t(we,{modelValue:i.showReinitDialog,"onUpdate:modelValue":e[2]||(e[2]=r=>i.showReinitDialog=r),"max-width":"500"},{default:n(()=>[t(E,null,{default:n(()=>[t(F,null,{default:n(()=>[...e[26]||(e[26]=[o("确认重新初始化",-1)])]),_:1}),t(j,null,{default:n(()=>[t($,{class:"mb-3",type:"warning",variant:"tonal"},{default:n(()=>[t(Te,null,{default:n(()=>[...e[27]||(e[27]=[o("警告",-1)])]),_:1}),e[28]||(e[28]=o(" 此操作将清除当前的云端存储配置(包括 Token),您需要重新进行授权。 ",-1))]),_:1}),e[29]||(e[29]=m("p",null,"您确定要重新初始化云端存储吗?",-1))]),_:1}),t(ue,null,{default:n(()=>[t(ne),t(h,{variant:"text",onClick:e[1]||(e[1]=r=>i.showReinitDialog=!1)},{default:n(()=>[...e[30]||(e[30]=[o(" 取消 ",-1)])]),_:1}),t(h,{color:"error",onClick:l.confirmReinitialize},{default:n(()=>[...e[31]||(e[31]=[o(" 确认 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["disabled","loading"])}const $t=Y(Ji,[["render",el]]),tl={name:"ServerSettingsCard",components:{SettingsCard:ee,CloudNamespaceInfoCard:$t},props:{loading:Boolean},data(){return{unwatch:null,serverSettings:{provider:C("server.provider"),domain:C("server.domain"),classNumber:C("server.classNumber"),kvToken:C("server.kvToken")},settingsChangeTimeout:null}},computed:{currentProvider(){return this.serverSettings.provider},isKvProvider(){return this.currentProvider==="kv-local"||this.currentProvider==="kv-server"},isClassworksCloud(){return this.currentProvider==="classworkscloud"},useServer(){return this.currentProvider==="server"||this.currentProvider==="kv-server"||this.currentProvider==="classworkscloud"}},watch:{serverSettings:{handler(){this.settingsChangeTimeout&&clearTimeout(this.settingsChangeTimeout),this.settingsChangeTimeout=setTimeout(()=>{this.saveAllSettings()},100)},deep:!0}},mounted(){this.loadAllSettings(),this.unwatch=nt(()=>{this.loadAllSettings(),this.$forceUpdate&&this.$forceUpdate()})},beforeUnmount(){this.unwatch&&this.unwatch()},methods:{loadAllSettings(){this.serverSettings={provider:C("server.provider"),domain:C("server.domain"),classNumber:C("server.classNumber"),kvToken:C("server.kvToken")}},saveAllSettings(){Object.entries(this.serverSettings).forEach(([s,e])=>{const a=`server.${s}`,d=C(a);e!==d&&(Se(a,e)?console.log(`设置已更新: ${a} = ${e}`):(console.error(`设置失败: ${a}`),this.serverSettings[s]=d))})}}},nl={key:0},sl={key:2},il={key:3},ll={key:4};function ol(s,e,a,d,i,l){const r=$t,p=ee;return c(),g(p,{loading:a.loading,icon:"mdi-database",title:"数据源设置"},{default:n(()=>[t(jt,null,{default:n(()=>[t(Je,{modelValue:i.serverSettings.provider,"onUpdate:modelValue":e[0]||(e[0]=u=>i.serverSettings.provider=u),items:[{title:"Classworks云端存储",value:"classworkscloud"},{title:"KV本地存储",value:"kv-local"},{title:"KV远程服务器",value:"kv-server"}],class:"mb-3",density:"comfortable","item-title":"title","item-value":"value",label:"数据提供者","prepend-icon":"mdi-database",variant:"outlined"},null,8,["modelValue"]),l.isKvProvider?(c(),g($,{key:0,class:"my-2",type:"info",variant:"tonal"},{default:n(()=>[t(Te,null,{default:n(()=>[...e[5]||(e[5]=[o("KV 存储系统",-1)])]),_:1}),e[7]||(e[7]=m("p",null,"KV存储系统使用本机唯一标识符(UUID)来区分不同设备的数据。",-1)),l.currentProvider==="kv-server"?(c(),k("p",nl,[...e[6]||(e[6]=[o(" 服务器端点格式: ",-1),m("code",null,"http(s)://服务器域名/",-1),m("br",null,null,-1),o(" 在服务器域名处仅填写基础URL,不需要任何路径。 ",-1)])])):y("",!0)]),_:1})):y("",!0),l.isClassworksCloud?(c(),g($,{key:1,class:"my-2",color:"success",type:"info",variant:"tonal"},{default:n(()=>[t(Te,null,{default:n(()=>[...e[8]||(e[8]=[o("Classworks云端存储",-1)])]),_:1}),e[9]||(e[9]=m("p",null,"Classworks云端存储是官方提供的存储解决方案,自动配置了最优的访问设置。",-1)),e[10]||(e[10]=m("p",null,"使用此选项时,服务器域名和网站令牌将自动配置,无需手动设置。",-1))]),_:1})):y("",!0),t(P,{class:"my-2"}),l.isClassworksCloud?(c(),k("div",sl,[t(K,{modelValue:i.serverSettings.kvToken,"onUpdate:modelValue":e[1]||(e[1]=u=>i.serverSettings.kvToken=u),class:"mb-2",density:"comfortable",hint:"令牌用于云端存储授权",label:"KV 授权令牌","persistent-hint":"","prepend-icon":"mdi-shield-key",variant:"outlined"},null,8,["modelValue"]),t(r,{visible:l.isClassworksCloud,class:"mt-4"},null,8,["visible"])])):l.currentProvider==="kv-server"?(c(),k("div",il,[t(K,{modelValue:i.serverSettings.domain,"onUpdate:modelValue":e[2]||(e[2]=u=>i.serverSettings.domain=u),class:"mb-2",density:"comfortable",hint:"例如: https://example.com (不需要路径)",label:"服务器域名","persistent-hint":"","prepend-icon":"mdi-web",variant:"outlined"},null,8,["modelValue"]),t(K,{modelValue:i.serverSettings.kvToken,"onUpdate:modelValue":e[3]||(e[3]=u=>i.serverSettings.kvToken=u),class:"mb-2",density:"comfortable",hint:"令牌用于服务器验证",label:"KV 授权令牌","persistent-hint":"","prepend-icon":"mdi-shield-key",variant:"outlined"},null,8,["modelValue"])])):l.currentProvider==="kv-local"?(c(),k("div",ll,[t(K,{modelValue:i.serverSettings.classNumber,"onUpdate:modelValue":e[4]||(e[4]=u=>i.serverSettings.classNumber=u),class:"mb-2",density:"comfortable",hint:"例如: 高三八班",label:"班级编号","persistent-hint":"","prepend-icon":"mdi-account-group",variant:"outlined"},null,8,["modelValue"])])):y("",!0)]),_:1})]),_:1},8,["loading"])}const en=Y(tl,[["render",ol]]),al="classworks",rl="module",ul="0.0.0",dl={dev:"vite --host",build:"vite build",preview:"vite preview",lint:"eslint . --fix",prebuild:"node scripts/generate-sound-list.js"},cl={"@fingerprintjs/fingerprintjs":"^5.0.1","@mdi/font":"7.4.47","@microsoft/clarity":"^1.0.2","@sentry/vue":"^10.36.0","@vueuse/core":"^14.1.0",axios:"^1.13.2",idb:"^8.0.3","js-base64":"^3.7.8","js-yaml":"^4.1.1","lucide-vue-next":"^0.555.0",marked:"^17.0.1","pinyin-pro":"^3.27.0","ratelimit-header-parser":"^0.1.0","roboto-fontface":"*","socket.io-client":"^4.8.1","typewriter-effect":"^2.22.0",uuid:"^13.0.0",vue:"^3.5.25","vue-sonner":"^2.0.9",vuetify:"^3.11.0"},ml={"@eslint/js":"^9.39.1","@vite-pwa/assets-generator":"^1.0.2","@vitejs/plugin-vue":"^6.0.2",eslint:"^9.39.1","eslint-plugin-import":"^2.32.0","eslint-plugin-n":"^17.23.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^7.2.1","eslint-plugin-vue":"^10.6.2",pinia:"^3.0.4",sass:"1.94.2","sass-embedded":"^1.93.3","unplugin-auto-import":"^20.3.0","unplugin-fonts":"^1.4.0","unplugin-vue-components":"^30.0.0","unplugin-vue-router":"^0.18.0",vite:"^5.4.11","vite-plugin-pwa":"^1.2.0","vite-plugin-vue-devtools":"^7.6.8","vite-plugin-vue-layouts":"^0.11.0","vite-plugin-vuetify":"^2.1.2","vue-router":"^4.6.3"},Be={name:al,private:!0,type:rl,version:ul,scripts:dl,dependencies:cl,devDependencies:ml},fl="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAa9SURBVHic7dY9jlxVFIXRY8SsCEDyMCAjgRFBYokARoGQQII5EDIJYhNgyb9td9euqvfu3WuN4CTf1nn2958/vRyg0mdHHwAcxwBAMQMAxQwAFDMAUMwAQDEDAMUMABQzAFDMAEAxAwDFDAAUMwBQzABAMQMAxQwAFDMAUMwAQDEDAMUMABQzAFDMAEAxAwDFDAAUMwBQzABAMQMAxQwAFDMAUMwAQDEDAMUMABQzAFDMAEAxAwDFDAAUMwBQzABAMQMAxQwAFDMAUMwAQDEDAMUMABQzAFDMAEAxAwDFPj/6AI7z2+9/zW9//HX0Gct6/uUX8/yrL44+I+IDKCX+zA7xzxiASuLP7BL/jAGoI/7MTvHPGIAq4s/sFv+MAagh/syO8c8YgAriz+wa/4wB2J74MzvHP2MAtib+zO7xzxiAbYk/0xD/jAHYkvgzLfHPGIDtiD/TFP+MAdiK+DNt8c8YgG2IP9MY/4wB2IL4M63xzxiA5Yk/0xz/jAFYmvgz7fHPGIBliT8j/v8ZgAWJPyP+1wzAYsSfEf/bDMBCxJ8R//sMwCLEnxH/hxmABYg/I/6HGYCTE39G/B9nAE5M/Bnxf5oBOCnxZ8T/OAbghMSfEf/jGYCTEX9G/E9jAE5E/BnxP50BOAnxZ8R/GQNwAuLPiP9yBuBg4s+IP2MADiT+jPhzBuAg4s+I/zoMwAHEnxH/9RiAOxN/RvzXZQDuSPwZ8V+fAbgT8WfEfxsG4A7EnxH/7RiAGxN/Rvy3ZQBuSPwZ8d+eAbgR8WfEfx8G4AbEnxH//RiAKxN/Rvz3ZQCuSPwZ8d+fAbgS8WfEfwwDcAXiz4j/OAYgJP6M+I9lAALiz4j/eAbgQuLPiP8cDMAFxJ8R/3kYgCcSf0b852IAnkD8GfGfjwF4JPFnxH9OBuARxJ8R/3kZgE8Qf0b852YAPkL8GfGfnwF4gPgz4l+DAfgA8WfEvw4D8A7xZ8S/FgPwBvFnxL8eA/CK+DPiX5MBGPGnxL+u+gEQf0b8a6seAPFnxL++2gEQf0b8e6gcAPFnxL+PugEQf0b8e6kaAPFnxL+fmgEQf0b8e6oYAPFnxL+v7QdA/Bnx723rARB/Rvz723YAxJ8Rf4ctB0D8GfH32G4AxJ8Rf5etBkD8GfH32WYAxJ8Rf6ctBkD8GfH3Wn4AxJ8Rf7dn//7z68ujj+AYP774ZX548fPRZyzr+2+/me++/froMyLLfwBcRvyZHeKfMQCVxJ/ZJf4ZA1BH/Jmd4p8xAFXEn9kt/hkDUEP8mR3jnzEAFcSf2TX+GQOwPfFndo5/xgBsTfyZ3eOfMQDbEn+mIf4ZA7Al8Wda4p8xANsRf6Yp/hkDsBXxZ9rinzEA2xB/pjH+GQOwBfFnWuOfMQDLE3+mOf4ZA7A08Wfa458xAMsSf0b8/zMACxJ/RvyvGYDFiD8j/rcZgIWIPyP+9xmARYg/I/4PMwALEH9G/A8zACcn/oz4P84AnJj4M+L/NANwUuLPiP9xDMAJiT8j/sczACcj/oz4n8YAnIj4M+J/OgNwEuLPiP8yBuAExJ8R/+UMwMHEnxF/xgAcSPwZ8ecMwEHEnxH/dRiAA4g/I/7rMQB3Jv6M+K/LANyR+DPivz4DcCfiz4j/NgzAHYg/I/7bMQA3Jv6M+G/LANyQ+DPivz0DcCPiz4j/PgzADYg/I/77MQBXJv6M+O/LAFyR+DPivz8DcCXiz4j/GAbgCsSfEf9xDEBI/BnxH8sABMSfEf/xDMCFxJ8R/zkYgAuIPyP+8zAATyT+jPjPxQA8gfgz4j8fA/BI4s+I/5wMwCOIPyP+8zIAnyD+jPjPzQB8hPgz4j8/A/AA8WfEvwYD8AHiz4h/HQbgHeLPiH8tBuAN4s+Ifz0G4BXxZ8S/JgMw4k+Jf131AyD+jPjXVj0A4s+If321AyD+jPj3UDkA4s+Ifx91AyD+jPj3UjUA4s+Ifz81AyD+jPj3VDEA4s+If1/bD4D4M+Lf29YDIP6M+Pe37QCIPyP+DlsOgPgz4u+x3QCIPyP+LlsNgPgz4u+zzQCIPyP+TlsMgPgz4u+1/ACIPyP+bs/+/efXl0cfARxj+Q8AuJwBgGIGAIoZAChmAKCYAYBiBgCKGQAoZgCgmAGAYgYAihkAKGYAoJgBgGIGAIoZAChmAKCYAYBiBgCKGQAoZgCgmAGAYgYAihkAKGYAoJgBgGIGAIoZAChmAKCYAYBiBgCKGQAoZgCgmAGAYgYAihkAKGYAoJgBgGIGAIoZAChmAKCYAYBiBgCKGQAoZgCgmAGAYgYAiv0Hs2PMhrt8KlMAAAAASUVORK5CYII=",pl={name:"AboutCard",setup(){const s=ge([]),e=ge(!1),a=ge(!1),d=ge(""),i=ge(!1),l=ge(!1),r="964979747",p="https://qm.qq.com/q/T6qImKJjGi",u=Vn(),b=()=>{try{const T={...Be.dependencies||{},...Be.devDependencies||{}},R=Object.entries(T).map(([te,ke])=>({name:te,version:ke.replace(/[\^~]/g,""),description:A(te)}));s.value=R}catch(T){console.error("加载依赖信息失败:",T),s.value=[]}},A=T=>({vue:"渐进式 JavaScript 框架",vuetify:"材料设计组件框架",axios:"Promise 基础的 HTTP 客户端",pinia:"Vue 状态管理库","vue-router":"Vue.js 官方路由管理器","@vitejs/plugin-vue":"Vite 的 Vue 插件"})[T]||"",I=()=>{u.push("/debug")},H=async()=>{i.value=!0;try{const T=await An();d.value=T||""}catch(T){console.error("获取访客ID失败",T)}finally{i.value=!1}},G=()=>H(),q=async()=>{a.value=!0,d.value||await H()},fe=async()=>{try{await navigator.clipboard.writeText(me.value),l.value=!0,setTimeout(()=>l.value=!1,1800)}catch(T){console.error("复制失败",T)}},pe=Pe(()=>{var L,ve;const T=navigator||{},R=typeof Intl<"u"&&Intl.DateTimeFormat?Intl.DateTimeFormat().resolvedOptions():{},te=R&&R.timeZone?R.timeZone:"",ke=((ve=(L=u.currentRoute)==null?void 0:L.value)==null?void 0:ve.fullPath)||location.pathname;return[`App 版本: v${Be==null?void 0:Be.version}`,`URL: ${location.href}`,`路由: ${ke}`,`UserAgent: ${T.userAgent||""}`,`语言: ${T.language||""}`,`时区: ${te}`,`平台: ${T.platform||""}`,`在线: ${String(T.onLine)}`,`屏幕: ${(screen==null?void 0:screen.width)||"-"}x${(screen==null?void 0:screen.height)||"-"}`,`视口: ${window.innerWidth||"-"}x${window.innerHeight||"-"}`].join(` -`)}),me=Pe(()=>`调试ID: ${d.value||"获取失败"} - -浏览器/环境信息: -${pe.value}`),ie=Pe(()=>["问题描述:","1. 期望行为:","2. 实际行为:","3. 复现步骤:","",me.value].join(` -`)),ye=Pe(()=>{const T="https://github.com/ZeroCatDev/Classworks/issues/new",R=encodeURIComponent("问题报告"),te=encodeURIComponent(ie.value);return`${T}?title=${R}&body=${te}`}),V=Pe(()=>{const T=encodeURIComponent("Classworks 问题报告"),R=encodeURIComponent(ie.value);return`mailto:sun@wuyuan.dev?subject=${T}&body=${R}`}),_=()=>{typeof window.openSentryFeedback=="function"?window.openSentryFeedback():console.warn("Sentry Feedback 功能不可用")},U=()=>{window.open("https://afdian.com/a/wydev","_blank")};return Dn(()=>{b()}),{Dependencies:s,showDeps:e,showReportDialog:a,debugIdInput:d,visitorLoading:i,copyOk:l,qqGroupNumber:r,qqGroupLink:p,goToDebug:I,reloadVisitorId:G,openReportDialog:q,copyEnvInfo:fe,openFeedback:_,openDonationLink:U,envBoxText:me,envInfo:pe,reportBody:ie,githubIssueUrl:ye,mailtoLink:V}}},hl={class:"mt-4"},gl={class:"d-flex flex-column align-start"},wl={class:"d-flex gap-2 flex-wrap mb-6"},vl={class:"text-body-2",style:{"white-space":"pre-wrap",margin:"0"}},bl={class:"d-flex gap-2 flex-wrap mb-4"},yl={class:"d-flex gap-2 mb-4"},kl={class:"text-caption text-medium-emphasis"};function xl(s,e,a,d,i,l){return c(),g(E,{border:"",hover:"",rounded:"xl"},{default:n(()=>[t(je,null,{prepend:n(()=>[t(v,{class:"mr-2",icon:"mdi-information",size:"large"})]),default:n(()=>[t(F,{class:"text-h6"},{default:n(()=>[...e[6]||(e[6]=[o("关于",-1)])]),_:1})]),_:1}),t(j,null,{default:n(()=>[t(ce,null,{default:n(()=>[t(O,{class:"mx-auto",cols:"12",md:"8"},{default:n(()=>[t(E,{border:"",class:"donation-card gradient-donation clickable mb-6",color:"pink-lighten-4",elevation:"8",hover:"",rounded:"xl",variant:"tonal",onClick:d.openDonationLink},{default:n(()=>[t(je,null,{default:n(()=>[...e[7]||(e[7]=[m("div",{class:"card-content"},[m("div",null,[m("div",{class:"text-h6 font-weight-bold"},"请支持我们 Classworks")])],-1)])]),_:1}),t(j,null,{default:n(()=>[e[9]||(e[9]=m("p",{class:"text-body-2 mb-3"}," 我是Classworks的开发者孙悟元,是一名高二的中国在校学生。Classworks 是一个完全开源免费的项目。如果可以,欢迎打赏。 ",-1)),m("div",hl,[t(h,{"append-icon":"mdi-heart","aria-label":"Support Classworks on Aifadian",class:"text-none",color:"pink",rounded:"xl",variant:"elevated",onClick:d.openDonationLink},{default:n(()=>[...e[8]||(e[8]=[o(" 爱发电 ",-1)])]),_:1},8,["onClick"])])]),_:1})]),_:1},8,["onClick"]),m("div",gl,[t(Ge,{class:"mb-4",size:"120"},{default:n(()=>[t(_t,{alt:"Classworks",src:fl})]),_:1}),e[40]||(e[40]=m("h2",{class:"text-h5 mb-2"},"Classworks",-1)),e[41]||(e[41]=m("p",{class:"text-body-1 mb-4"},"适用于班级大屏的作业板小工具",-1)),m("div",wl,[t(h,{color:"red","prepend-icon":"mdi-bug",variant:"tonal",onClick:d.openReportDialog},{default:n(()=>[...e[10]||(e[10]=[o(" 报告问题 ",-1)])]),_:1},8,["onClick"]),t(h,{color:"primary",href:"https://qm.qq.com/q/qNBX4ZZVeg","prepend-icon":"mdi-qqchat",target:"_blank",variant:"tonal"},{default:n(()=>[...e[11]||(e[11]=[o(" QQ 群 ",-1)])]),_:1}),t(h,{href:"https://github.com/ClassworksDev/Classworks","prepend-icon":"mdi-github",target:"_blank",variant:"text"},{default:n(()=>[...e[12]||(e[12]=[o(" 前端 ",-1)])]),_:1}),t(h,{href:"https://github.com/ClassworksDev/ClassworksServer","prepend-icon":"mdi-github",target:"_blank",variant:"text"},{default:n(()=>[...e[13]||(e[13]=[o(" 后端 ",-1)])]),_:1})]),t(P,{class:"mb-4 w-100"}),e[42]||(e[42]=m("h3",{class:"text-h6 mb-2"},"备注与致谢",-1)),t(Q,{class:"mb-4 bg-transparent"},{default:n(()=>[t(D,{"append-icon":"mdi-link",href:"https://github.com/EnderWolf006/HomeworkBoard",target:"_blank"},{default:n(()=>[t(z,null,{default:n(()=>[...e[14]||(e[14]=[o(" 本项目受到 HomeworkBoard 的启发而开发 ",-1)])]),_:1}),t(le,null,{default:n(()=>[...e[15]||(e[15]=[o(" 感谢 EnderWolf006 (@EnderWolf) fhzit(@Hellofhz) KeyFac 等人的贡献 ",-1)])]),_:1})]),_:1}),t(D,{"append-icon":"mdi-link",href:"https://hlyun.org",target:"_blank"},{default:n(()=>[t(z,null,{default:n(()=>[...e[16]||(e[16]=[o(" Classworks 由",-1),m("strong",null,"厚浪云",-1),o("提供 ",-1)])]),_:1}),t(le,null,{default:n(()=>[...e[17]||(e[17]=[o(" 长江后浪推前浪 浮事新人换旧人 ",-1)])]),_:1})]),_:1}),t(D,{"append-icon":"mdi-link",href:"https://zerocat.houlangs.com",target:"_blank"},{default:n(()=>[t(z,null,{default:n(()=>[...e[18]||(e[18]=[o(" 感谢 ZeroCat 社区的开发者们 ",-1)])]),_:1}),t(le,null,{default:n(()=>[...e[19]||(e[19]=[o(" 新一代,开源,编程社区 ",-1)])]),_:1})]),_:1}),t(P,{class:"ma-1"}),t(D,{"append-icon":"mdi-link",href:"https://github.com/HUSX100/IslandCaller",target:"_blank"},{default:n(()=>[t(z,null,{default:n(()=>[...e[20]||(e[20]=[o(" 本项目与 IslandCaller 没有从属关系 ",-1)])]),_:1}),t(le,null,{default:n(()=>[...e[21]||(e[21]=[o(" IslandCaller 是由 HUSX100 开发的基于 ClassIsland 提醒服务的轻量级点名器 ",-1)])]),_:1})]),_:1}),t(D,{"append-icon":"mdi-link",href:"https://classisland.tech",target:"_blank"},{default:n(()=>[t(z,null,{default:n(()=>[...e[22]||(e[22]=[o(" 本项目与 ClassIsland 没有从属关系 ",-1)])]),_:1}),t(le,null,{default:n(()=>[...e[23]||(e[23]=[o(" ClassIsland 是由 HelloWRC 开发的适用于班级大屏的课表信息显示工具 ",-1)])]),_:1})]),_:1})]),_:1}),t(h,{class:"mb-4","prepend-icon":"mdi-package-variant",variant:"text",onClick:e[0]||(e[0]=r=>d.showDeps=!0)},{default:n(()=>[...e[24]||(e[24]=[o(" 查看使用的第三方库 ",-1)])]),_:1}),t(we,{modelValue:d.showDeps,"onUpdate:modelValue":e[2]||(e[2]=r=>d.showDeps=r),fullscreen:"",transition:"dialog-bottom-transition"},{default:n(()=>[t(E,null,{default:n(()=>[t(vt,null,{default:n(()=>[t(h,{icon:"mdi-close",onClick:e[1]||(e[1]=r=>d.showDeps=!1)}),t(bt,null,{default:n(()=>[...e[25]||(e[25]=[o("使用的第三方库",-1)])]),_:1}),t(ne)]),_:1}),t(j,null,{default:n(()=>[t(Q,null,{default:n(()=>[(c(!0),k(se,null,de(d.Dependencies,r=>(c(),g(D,{key:r.name,href:"https://www.npmjs.com/package/"+r.name,"append-icon":"mdi-link",target:"_blank"},{default:n(()=>[t(z,null,{default:n(()=>[o(w(r.name),1)]),_:2},1024),t(le,null,{default:n(()=>[o(" v"+w(r.version),1)]),_:2},1024)]),_:2},1032,["href"]))),128))]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(we,{modelValue:d.showReportDialog,"onUpdate:modelValue":e[5]||(e[5]=r=>d.showReportDialog=r),"max-width":"640"},{default:n(()=>[t(E,null,{default:n(()=>[t(vt,{density:"compact"},{default:n(()=>[t(h,{icon:"mdi-close",onClick:e[3]||(e[3]=r=>d.showReportDialog=!1)}),t(bt,null,{default:n(()=>[...e[26]||(e[26]=[o("报告问题",-1)])]),_:1}),t(ne)]),_:1}),t(j,null,{default:n(()=>[e[37]||(e[37]=m("p",{class:"mb-4"}," 调试ID与下方的浏览器环境信息将帮助我们快速定位问题,请在反馈中一并附上。 ",-1)),t(jn,{class:"mb-3 pa-3 bg-grey-lighten-4 rounded",style:{"max-height":"260px",overflow:"auto"}},{default:n(()=>[m("pre",vl,w(d.envBoxText),1)]),_:1}),m("div",bl,[t(h,{size:"small",variant:"text","prepend-icon":"mdi-refresh",onClick:d.reloadVisitorId,loading:d.visitorLoading},{default:n(()=>[...e[27]||(e[27]=[o("刷新",-1)])]),_:1},8,["onClick","loading"]),t(h,{size:"small",variant:"text","prepend-icon":"mdi-content-copy",onClick:d.copyEnvInfo},{default:n(()=>[...e[28]||(e[28]=[o("复制信息",-1)])]),_:1},8,["onClick"]),t(h,{size:"small",variant:"text","prepend-icon":"mdi-open-in-new",onClick:d.goToDebug},{default:n(()=>[...e[29]||(e[29]=[o("查看 /debug 页面",-1)])]),_:1},8,["onClick"])]),d.copyOk?(c(),g($,{key:0,type:"success",density:"compact",class:"mb-4"},{default:n(()=>[...e[30]||(e[30]=[o("已复制到剪贴板",-1)])]),_:1})):y("",!0),m("div",yl,[t(h,{size:"small",color:"primary",variant:"elevated","prepend-icon":"mdi-message-alert",onClick:d.openFeedback,block:""},{default:n(()=>[...e[31]||(e[31]=[o(" 发送错误反馈到 Sentry ",-1)])]),_:1},8,["onClick"])]),e[38]||(e[38]=m("h4",{class:"text-subtitle-1 mb-2"},"反馈渠道",-1)),t(Q,{lines:"one",class:"bg-transparent"},{default:n(()=>[t(D,{href:d.qqGroupLink,target:"_blank","prepend-icon":"mdi-qqchat"},{default:n(()=>[t(z,null,{default:n(()=>[o("QQ群 ("+w(d.qqGroupNumber)+")",1)]),_:1}),t(le,null,{default:n(()=>[...e[32]||(e[32]=[o("964979747",-1)])]),_:1})]),_:1},8,["href"]),t(D,{href:d.githubIssueUrl,target:"_blank","prepend-icon":"mdi-github"},{default:n(()=>[t(z,null,{default:n(()=>[...e[33]||(e[33]=[o("GitHub Issue",-1)])]),_:1}),t(le,null,{default:n(()=>[...e[34]||(e[34]=[o("ZeroCatDev/Classworks",-1)])]),_:1})]),_:1},8,["href"]),t(D,{href:d.mailtoLink,target:"_blank","prepend-icon":"mdi-email"},{default:n(()=>[t(z,null,{default:n(()=>[...e[35]||(e[35]=[o("邮件",-1)])]),_:1}),t(le,null,{default:n(()=>[...e[36]||(e[36]=[o("sun@wuyuan.dev",-1)])]),_:1})]),_:1},8,["href"])]),_:1})]),_:1}),t(ue,null,{default:n(()=>[t(ne),t(h,{variant:"text",onClick:e[4]||(e[4]=r=>d.showReportDialog=!1)},{default:n(()=>[...e[39]||(e[39]=[o("关闭",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),m("p",kl," Copyright © "+w(new Date().getFullYear())+" Sunwuyuan ",1)])]),_:1})]),_:1})]),_:1})]),_:1})}const tn=Y(pl,[["render",xl],["__scopeId","data-v-101b91c8"]]),Sl={name:"Settings",components:{ServerSettingsCard:en,EditSettingsCard:Jt,RefreshSettingsCard:Qt,DisplaySettingsCard:Ft,MessageLog:Ct,SettingsCard:ee,StudentListCard:Yt,TeacherListCard:Wt,AboutCard:tn,DataProviderSettingsCard:Xt,ThemeSettingsCard:Kt,EchoChamberCard:Mt,SettingsExplorer:Pt,SettingsLinkGenerator:Ht,RandomPickerCard:zt,HomeworkTemplateCard:Bt,SubjectManagementCard:Lt,KvDatabaseCard:Zt,HitokotoSettings:Ot,NotificationSoundSettings:Rt},setup(){const{mobile:s}=In();return{isMobile:s}},data(){return C("server.provider"),{settings:{server:{domain:C("server.domain"),classNumber:C("server.classNumber"),provider:C("server.provider")},refresh:{auto:C("refresh.auto"),interval:C("refresh.interval")},font:{size:C("font.size")},edit:{autoSave:C("edit.autoSave"),blockNonTodayAutoSave:C("edit.blockNonTodayAutoSave"),confirmNonTodaySave:C("edit.confirmNonTodaySave"),refreshBeforeEdit:C("edit.refreshBeforeEdit")},display:{emptySubjectDisplay:C("display.emptySubjectDisplay"),dynamicSort:C("display.dynamicSort"),showRandomButton:C("display.showRandomButton"),showFullscreenButton:C("display.showFullscreenButton")},developer:{enabled:C("developer.enabled"),showDebugConfig:C("developer.showDebugConfig")},message:{showSidebar:C("message.showSidebar"),maxActiveMessages:C("message.maxActiveMessages"),timeout:C("message.timeout"),saveHistory:C("message.saveHistory")}},dataProviders:[{title:"服务器",value:"server"},{title:"本地数据库",value:"indexedDB"}],studentData:{list:[],text:"",advanced:!1},newStudent:"",editingIndex:-1,editingName:"",deleteDialog:!1,studentToDelete:null,numberDialog:!1,newPosition:"",studentToMove:null,touchStartTime:0,touchTimeout:null,studentsLoading:!1,studentsError:null,debugConfig:"",loading:{server:!1,students:!1},hasUnsavedChanges:!1,lastSavedData:null,settingsTab:"index",settingsTabs:[{title:"首页",icon:"mdi-home",value:"index"},{title:"服务器",icon:"mdi-server",value:"server"},{title:"科目",icon:"mdi-book-edit",value:"subject"},{title:"花名册",icon:"mdi-account-group",value:"student"},{title:"预配链接",icon:"mdi-share",value:"share"},{title:"刷新",icon:"mdi-refresh",value:"refresh"},{title:"编辑",icon:"mdi-pencil",value:"edit"},{title:"显示",icon:"mdi-eye",value:"display"},{title:"主题",icon:"mdi-theme-light-dark",value:"theme"},{title:"通知铃声",icon:"mdi-bell-ring",value:"notification"},{title:"一言",icon:"mdi-comment-quote",value:"hitokoto"},{title:"随机点名",icon:"mdi-dice-multiple",value:"randomPicker"},{title:"开发者",icon:"mdi-developer-board",value:"developer"},{title:"关于",icon:"mdi-information",value:"about"}],drawer:!1}},watch:{settings:{handler(s){this.handleSettingsChange(s)},deep:!0},isMobile:{handler(s){this.drawer=!s},immediate:!0},studentData:{handler(s){this.lastSavedData&&(this.hasUnsavedChanges=JSON.stringify(s.list)!==JSON.stringify(this.lastSavedData)),this.studentData.text=s.list.join(` -`)},deep:!0}},mounted(){this.loadAllSettings(),this.unwatchSettings=nt(()=>{this.loadAllSettings()}),this.drawer=!this.isMobile},beforeUnmount(){this.unwatchSettings&&this.unwatchSettings()},methods:{openClassworksKV(){window.open(C("server.authDomain"),"_blank")},loadAllSettings(){Object.keys(this.settings).forEach(s=>{Object.keys(this.settings[s]).forEach(e=>{this.settings[s][e]=C(`${s}.${e}`)})})},handleSettingsChange(s){this.settingsChangeTimeout&&clearTimeout(this.settingsChangeTimeout),this.settingsChangeTimeout=setTimeout(()=>{Object.entries(s).forEach(([e,a])=>{Object.entries(a).forEach(([d,i])=>{const l=`${e}.${d}`,r=C(l);i!==r&&(Se(l,i)?this.showMessage("设置已更新",`${l} 已保存`):(this.showError("保存失败",`${l} 设置失败`),this.settings[e][d]=r))})})},100)},showMessage(s,e="",a="success"){this.$message[a](s,e)},showError(s,e=""){this.$message.error(s,e)},saveEdit(){if(this.editingIndex!==-1){const s=this.editingName.trim();s&&s!==this.studentData.list[this.editingIndex]&&(this.studentData.list[this.editingIndex]=s),this.editingIndex=-1,this.editingName=""}},startEdit(s,e){this.editingIndex=s,this.editingName=e},confirmDelete(s){this.studentToDelete={index:s,name:this.studentData.list[s]},this.deleteDialog=!0},moveStudent(s,e){const a=e==="up"?s-1:s+1;a>=0&&a=0&&s0){const e=this.studentData.list[s];this.studentData.list.splice(s,1),this.studentData.list.unshift(e)}},addStudent(){const s=this.newStudent.trim();s&&!this.studentData.list.includes(s)&&(this.studentData.list.push(s),this.newStudent="")},removeStudent(s){s!==void 0&&(this.studentData.list.splice(s,1),this.deleteDialog=!1,this.studentToDelete=null)},resetFontSize(){Vt("font.size"),this.settings.font.size=C("font.size"),this.showMessage("字体已重置","字体大小已恢复默认值")},handleDeveloperChange(s){s||(this.settings.message={showSidebar:!0,maxActiveMessages:5,timeout:5e3,saveHistory:!0})},resetDeveloperSettings(){this.settings.developer={enabled:!1},this.settings.message={showSidebar:!0,maxActiveMessages:5,timeout:5e3,saveHistory:!0},this.handleSettingsChange(this.settings),this.showMessage("已重置","开发者设置已重置为默认值","warning")},adjustFontSize(s){const a=this.settings.font.size;s==="up"&&a<100?this.settings.font.size=a+2:s==="down"&&a>16&&(this.settings.font.size=a-2),this.handleSettingsChange(this.settings)},onSettingsSaved(){this.showMessage("设置已更新","您的设置已成功保存")},onSettingUpdate(s,e){this.showMessage("设置已更新",`${s} 已保存为 ${e}`)}}},Cl={class:"settings-page"},_l={class:"mt-4"};function Vl(s,e,a,d,i,l){const r=tn,p=en,u=Xt,b=Zt,A=Yt,I=Wt,H=Ht,G=Qt,q=Jt,fe=Ft,pe=Kt,me=Rt,ie=Ot,ye=zt,V=Lt,_=Bt,U=ee,T=Tn("developer-settings-card"),R=Pt,te=Mt,ke=Ct;return c(),k("div",Cl,[t(zn,{elevation:"1"},{prepend:n(()=>[t(h,{icon:"mdi-arrow-left",variant:"text",onClick:e[0]||(e[0]=Z=>s.$router.push("/"))}),t(h,{icon:"mdi-menu",variant:"text",onClick:e[1]||(e[1]=Z=>i.drawer=!i.drawer)})]),default:n(()=>[t(Ln,{class:"text-h6"},{default:n(()=>[...e[5]||(e[5]=[o("设置",-1)])]),_:1})]),_:1}),t(st,{fluid:""},{default:n(()=>[t(pn,{modelValue:i.drawer,"onUpdate:modelValue":e[2]||(e[2]=Z=>i.drawer=Z),permanent:!d.isMobile,temporary:d.isMobile},{default:n(()=>[t(Q,null,{default:n(()=>[(c(!0),k(se,null,de(i.settingsTabs,Z=>(c(),g(D,{key:Z.value,active:i.settingsTab===Z.value,color:i.settingsTab===Z.value?"primary":"default","prepend-icon":Z.icon,class:"rounded-e-xl",onClick:L=>i.settingsTab=Z.value},{default:n(()=>[t(z,null,{default:n(()=>[o(w(Z.title),1)]),_:2},1024)]),_:2},1032,["active","color","prepend-icon","onClick"]))),128))]),_:1})]),_:1},8,["modelValue","permanent","temporary"]),t(Mn,{modelValue:i.settingsTab,"onUpdate:modelValue":e[4]||(e[4]=Z=>i.settingsTab=Z),direction:"vertical",style:{width:"100%"}},{default:n(()=>[t(he,{value:"index"},{default:n(()=>[t(E,{border:"",class:"service-card gradient-right clickable mb-4",color:"primary",elevation:"8",hover:"",rounded:"xl",variant:"tonal",onClick:l.openClassworksKV},{default:n(()=>[t(je,null,{default:n(()=>[...e[6]||(e[6]=[m("div",{class:"card-title"},[m("div",null,[m("div",{class:"text-h6"},"在寻找 Classworks KV ?"),m("div",{class:"text-caption text-medium-emphasis"}," 文档形键值数据库 ")])],-1)])]),_:1}),t(j,null,{default:n(()=>[m("div",_l,[t(h,{"append-icon":"mdi-arrow-right",class:"text-none",rounded:"xl",variant:"text",onClick:l.openClassworksKV},{default:n(()=>[...e[7]||(e[7]=[o(" 打开 Classworks KV ",-1)])]),_:1},8,["onClick"])])]),_:1})]),_:1},8,["onClick"]),t(E,{border:"",class:"rounded-xl mb-4",subtitle:"设置",title:"Classworks"},{default:n(()=>[t(j,null,{default:n(()=>[t($,{class:"rounded-xl",color:"error",icon:"mdi-alert-circle",variant:"tonal"},{default:n(()=>[...e[8]||(e[8]=[o("Classworks 是开源免费的软件,官方没有提供任何形式的付费支持服务,源代码仓库地址在 ",-1),m("a",{href:"https://github.com/ZeroCatDev/Classworks",target:"_blank"},"https://github.com/ZeroCatDev/Classworks",-1),o("。如果您通过有偿协助等付费方式取得本应用,在遇到问题时请在与卖家约定的服务框架下,优先向卖家求助。如果卖家没有提供您预期的服务,请退款或通过其它形式积极维护您的合法权益。 ",-1)])]),_:1}),t($,{class:"mt-4 rounded-xl",color:"info",icon:"mdi-information",variant:"tonal"},{default:n(()=>[...e[9]||(e[9]=[o("请不要使用浏览器清除缓存功能,否则会导致配置丢失。 ",-1),m("del",null,"恶意的操作可能导致您受到贵校教师的处理 ",-1)])]),_:1}),t($,{class:"mt-4 rounded-xl",color:"warning",icon:"mdi-information",variant:"tonal"},{default:n(()=>[e[11]||(e[11]=m("p",null," 请不要使用包括但不限于360极速浏览器、360安全浏览器、夸克浏览器、QQ浏览器等浏览器使用 Classworks ,这些浏览器过时且存在严重的一致性问题。在Windows上,使用新版 Microsoft Edge 浏览器是最推荐的选择。 ",-1)),e[12]||(e[12]=m("p",{style:{color:"#666"}}," 上述浏览器商标为其所属公司所有,Classworks™ 与上述浏览器所属公司无竞争关系。 ",-1)),e[13]||(e[13]=m("br",null,null,-1)),t(h,{"append-icon":"mdi-open-in-new",class:"text-none rounded-xl",color:"warning",href:"https://www.microsoft.com/zh-cn/windows/microsoft-edge",target:"_blank",variant:"tonal"},{default:n(()=>[...e[10]||(e[10]=[o("下载 Microsoft Edge(微软边缘浏览器) ",-1)])]),_:1})]),_:1})]),_:1})]),_:1}),t(r)]),_:1}),t(he,{value:"server"},{default:n(()=>[t(p,{loading:i.loading.server,border:"",onSaved:l.onSettingsSaved},null,8,["loading","onSaved"]),t(u,{border:"",class:"mt-4"}),t(b,{border:"",class:"mt-4"})]),_:1}),t(he,{value:"student"},{default:n(()=>[t(A,{"is-mobile":d.isMobile,border:""},null,8,["is-mobile"]),t(I,{"is-mobile":d.isMobile,border:"",class:"mt-4"},null,8,["is-mobile"])]),_:1}),t(he,{value:"share"},{default:n(()=>[t(H,{border:"",class:"mt-4"})]),_:1}),t(he,{value:"refresh"},{default:n(()=>[t(G,{loading:i.loading.refresh,border:"",onSaved:l.onSettingsSaved},null,8,["loading","onSaved"])]),_:1}),t(he,{value:"edit"},{default:n(()=>[t(q,{loading:i.loading.edit,border:"",onSaved:l.onSettingsSaved},null,8,["loading","onSaved"])]),_:1}),t(he,{value:"display"},{default:n(()=>[t(fe,{loading:i.loading.display,border:"",onSaved:l.onSettingsSaved},null,8,["loading","onSaved"])]),_:1}),t(he,{value:"theme"},{default:n(()=>[t(pe,{loading:i.loading.theme,border:"",onSaved:l.onSettingsSaved},null,8,["loading","onSaved"])]),_:1}),t(he,{value:"notification"},{default:n(()=>[t(me,{border:""})]),_:1}),t(he,{value:"hitokoto"},{default:n(()=>[t(ie,{border:""})]),_:1}),t(he,{value:"randomPicker"},{default:n(()=>[t(ye,{"is-mobile":d.isMobile,border:""},null,8,["is-mobile"])]),_:1}),t(he,{value:"subject"},{default:n(()=>[t(V,{border:""}),e[14]||(e[14]=m("br",null,null,-1)),t(_,{border:""})]),_:1}),t(he,{value:"developer"},{default:n(()=>[t(U,{border:"",icon:"mdi-developer-board",title:"开发者选项"},{default:n(()=>[t(Q,null,{default:n(()=>[t(D,null,{prepend:n(()=>[t(v,{class:"mr-3",icon:"mdi-code-tags"})]),append:n(()=>[t(Tt,{modelValue:i.settings.developer.enabled,"onUpdate:modelValue":e[3]||(e[3]=Z=>i.settings.developer.enabled=Z),density:"comfortable","hide-details":"",onChange:l.handleDeveloperChange},null,8,["modelValue","onChange"])]),default:n(()=>[t(z,null,{default:n(()=>[...e[15]||(e[15]=[o("启用开发者选项",-1)])]),_:1}),t(le,null,{default:n(()=>[...e[16]||(e[16]=[o("启用后可以查看和修改开发者设置 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1}),t(T,{loading:i.loading.developer,border:"",onSaved:l.onSettingsSaved},null,8,["loading","onSaved"]),i.settings.developer.enabled?(c(),g(E,{key:0,border:"",class:"mt-4 rounded-lg"},{default:n(()=>[t(F,{class:"d-flex align-center"},{default:n(()=>[t(v,{class:"mr-2",icon:"mdi-cog-outline"}),e[17]||(e[17]=o(" 所有设置 ",-1))]),_:1}),t(ze,null,{default:n(()=>[...e[18]||(e[18]=[o(" 浏览和修改所有可用设置",-1)])]),_:1}),t(j,null,{default:n(()=>[t(R,{onUpdate:l.onSettingUpdate},null,8,["onUpdate"])]),_:1})]),_:1})):y("",!0),i.settings.developer.enabled?(c(),g(O,{key:1,cols:"12"})):y("",!0)]),_:1}),t(he,{value:"about"},{default:n(()=>[t(r),t(te,{border:"",class:"mt-4"})]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(ke,{ref:"messageLog"},null,512)])}const Ql=Y(Sl,[["render",Vl]]);export{Ql as default}; diff --git a/assets/settings-BuoTKm8j.css b/assets/settings-cNI4NbxC.css similarity index 87% rename from assets/settings-BuoTKm8j.css rename to assets/settings-cNI4NbxC.css index 32b165e..3a242f9 100644 --- a/assets/settings-BuoTKm8j.css +++ b/assets/settings-cNI4NbxC.css @@ -1 +1 @@ -.settings-card[data-v-9c035df1]{height:100%}.source-text[data-v-a6a55e27],.contributor[data-v-a6a55e27]{opacity:.7;font-size:.9em}.fade-enter-active[data-v-a6a55e27],.fade-leave-active[data-v-a6a55e27]{transition:opacity .3s ease}.fade-enter-from[data-v-a6a55e27],.fade-leave-to[data-v-a6a55e27]{opacity:0}.setting-item[data-v-08b49b47]{border-radius:8px;transition:background-color .2s}.setting-text-field[data-v-08b49b47],.setting-select[data-v-08b49b47],.setting-number-field[data-v-08b49b47]{min-width:180px;border-radius:6px}.text-wrap[data-v-08b49b47]{white-space:normal;overflow-wrap:break-word;word-break:break-word}@media (max-width: 600px){.setting-item[data-v-08b49b47]{flex-wrap:wrap}}.settings-explorer[data-v-4d032f99]{padding:8px 0}.settings-json[data-v-4d032f99]{background-color:#0000000d;padding:12px;border-radius:4px;overflow-x:auto;font-family:monospace;white-space:pre-wrap;max-height:300px;overflow-y:auto}.v-theme--dark .settings-json[data-v-4d032f99]{background-color:#ffffff0d}.setting-group[data-v-9af32ae4]{margin-bottom:16px}.v-card-text[data-v-67769fa2]{padding-top:0}.v-list-item[data-v-f87674cf]{border-bottom:1px solid rgba(0,0,0,.12)}.v-list-item[data-v-f87674cf]:last-child{border-bottom:none}.notification-sound-settings[data-v-55be56a4]{margin:16px 0}.warning-container[data-v-0f36b655]{display:inline-block;margin-right:8px}.warning-chip[data-v-0f36b655]{animation:fade-in-0f36b655 .3s ease}@keyframes fade-in-0f36b655{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-warning{0%,to{transform:scale(1)}50%{transform:scale(1.002)}}@keyframes pulse-border{0%,to{opacity:1}50%{opacity:.5}}.teacher-card[data-v-16455a49]{transition:all .2s ease}.action-buttons[data-v-16455a49]{opacity:0;transition:opacity .2s ease}.unsaved-changes[data-v-16455a49]{border-color:rgb(var(--v-theme-warning))!important}.student-card[data-v-7e220985]{transition:all .2s ease}.action-buttons[data-v-7e220985]{opacity:0;transition:opacity .2s ease}.unsaved-changes[data-v-7e220985]{border-color:rgb(var(--v-theme-warning))!important}.font-monospace[data-v-67879974]{font-family:Consolas,Monaco,Courier New,monospace}code[data-v-67879974]{background-color:#0000000d;padding:2px 4px;border-radius:4px;font-size:.875em}.gradient-donation[data-v-101b91c8]{background:linear-gradient(135deg,#ec407a26,#e91e6314 60%);border:2px solid rgba(236,64,122,.25);transition:all .3s ease;cursor:pointer}.gradient-donation[data-v-101b91c8]:hover{transform:translateY(-4px);box-shadow:0 8px 24px #ec407a4d!important}.gradient-donation[data-v-101b91c8]:active{transform:translateY(-2px)}.card-content[data-v-101b91c8]{display:flex;align-items:center;justify-content:space-between}.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}.settings-page .v-card{transition:transform .2s,box-shadow .2s}.settings-page .v-card:hover{box-shadow:0 4px 8px #0000001a!important} +.settings-card[data-v-9c035df1]{height:100%}.source-text[data-v-2acb3fbb],.contributor[data-v-2acb3fbb]{opacity:.7;font-size:.9em}.fade-enter-active[data-v-2acb3fbb],.fade-leave-active[data-v-2acb3fbb]{transition:opacity .3s ease}.fade-enter-from[data-v-2acb3fbb],.fade-leave-to[data-v-2acb3fbb]{opacity:0}.setting-item[data-v-08b49b47]{border-radius:8px;transition:background-color .2s}.setting-text-field[data-v-08b49b47],.setting-select[data-v-08b49b47],.setting-number-field[data-v-08b49b47]{min-width:180px;border-radius:6px}.text-wrap[data-v-08b49b47]{white-space:normal;overflow-wrap:break-word;word-break:break-word}@media (max-width: 600px){.setting-item[data-v-08b49b47]{flex-wrap:wrap}}.settings-explorer[data-v-4d032f99]{padding:8px 0}.settings-json[data-v-4d032f99]{background-color:#0000000d;padding:12px;border-radius:4px;overflow-x:auto;font-family:monospace;white-space:pre-wrap;max-height:300px;overflow-y:auto}.v-theme--dark .settings-json[data-v-4d032f99]{background-color:#ffffff0d}.setting-group[data-v-9af32ae4]{margin-bottom:16px}.v-card-text[data-v-67769fa2]{padding-top:0}.v-list-item[data-v-f87674cf]{border-bottom:1px solid rgba(0,0,0,.12)}.v-list-item[data-v-f87674cf]:last-child{border-bottom:none}.notification-sound-settings[data-v-55be56a4]{margin:16px 0}.warning-container[data-v-0f36b655]{display:inline-block;margin-right:8px}.warning-chip[data-v-0f36b655]{animation:fade-in-0f36b655 .3s ease}@keyframes fade-in-0f36b655{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-warning{0%,to{transform:scale(1)}50%{transform:scale(1.002)}}@keyframes pulse-border{0%,to{opacity:1}50%{opacity:.5}}.teacher-card[data-v-16455a49]{transition:all .2s ease}.action-buttons[data-v-16455a49]{opacity:0;transition:opacity .2s ease}.unsaved-changes[data-v-16455a49]{border-color:rgb(var(--v-theme-warning))!important}.student-card[data-v-4feed29c]{transition:all .2s ease}.action-buttons[data-v-4feed29c]{opacity:0;transition:opacity .2s ease}.unsaved-changes[data-v-4feed29c]{border-color:rgb(var(--v-theme-warning))!important}.font-monospace[data-v-67879974]{font-family:Consolas,Monaco,Courier New,monospace}code[data-v-67879974]{background-color:#0000000d;padding:2px 4px;border-radius:4px;font-size:.875em}.gradient-donation[data-v-101b91c8]{background:linear-gradient(135deg,#ec407a26,#e91e6314 60%);border:2px solid rgba(236,64,122,.25);transition:all .3s ease;cursor:pointer}.gradient-donation[data-v-101b91c8]:hover{transform:translateY(-4px);box-shadow:0 8px 24px #ec407a4d!important}.gradient-donation[data-v-101b91c8]:active{transform:translateY(-2px)}.card-content[data-v-101b91c8]{display:flex;align-items:center;justify-content:space-between}.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}.settings-page .v-card{transition:transform .2s,box-shadow .2s}.settings-page .v-card:hover{box-shadow:0 4px 8px #0000001a!important} diff --git a/assets/socket-debugger-56kW4wD8.js b/assets/socket-debugger-56kW4wD8.js new file mode 100644 index 0000000..6d55e7f --- /dev/null +++ b/assets/socket-debugger-56kW4wD8.js @@ -0,0 +1,4 @@ +import{c as Ce,g as I,d as se}from"./socketClient-DM3fpE4o.js";import{_ as Se,e as g,c as D,h as L,o as re,d as k,j as Z,k as _,s as y,t as x,i as ue,l as V}from"./index-Bqe1gKo7.js";import{V as q,a as m}from"./VRow-C2iyFaHv.js";import{V as Q}from"./VChip-CPVASmWt.js";import{V as we}from"./VTextField-B7edjjhw.js";import{V as Le}from"./VTextarea-DiXZJMiq.js";import{V as $e}from"./VSwitch-C77LDPed.js";import{V as Re}from"./VAlert-b5nBlHgx.js";import{V as De}from"./VContainer-BHAiZEWc.js";import{b as c,D as Ie,af as Te,X as C,Y as H,Z as t,j as n,a1 as o,S as u,k as p,$ as G,_ as z,F as de,a2 as ie,n as Ue,I as Be,e as ce}from"./vendor-vue-H0jQBZ7T.js";import"./vendor-socket-CyTcV1HU.js";import"./serverRotation-CLP7smnN.js";import"./vendor-vuetify-ChAgIwn2.js";import"./autofocus-Dh4QPNon.js";const ze={class:"d-flex flex-wrap gap-2"},Me={class:"text-h4"},Ne={class:"text-h4"},Pe={class:"text-h4"},Ee={class:"text-h4"},Oe={class:"log-time"},je={class:"log-type"},Ae={class:"log-message"},Fe={key:0,class:"log-data"},Je={key:0,class:"text-center text-disabled pa-8"},He={__name:"socket-debugger",setup(Ge){const fe=c(Ce()),$=c(!1),K=c(""),S=c(""),W=c(0),h=c(""),M=c(null),X=c("00:00:00"),Y=c(!0),d=c({eventsReceived:0,eventsSent:0,errors:0,reconnects:0,avgLatency:0,lastPing:0,bytesSent:0,bytesReceived:0}),R=c([]),N=c(new Set),P=c(null),b=c({name:"",data:"{}"}),v=c(null),ee=ce(()=>$.value?{text:"已连接",color:"success"}:{text:"未连接",color:"error"}),me=ce(()=>S.value==="websocket"?"success":S.value==="polling"?"warning":"grey");function s(l,e,a=null){const f=new Date().toLocaleTimeString("zh-CN",{hour12:!1});R.value.push({type:l,message:e,data:a,time:f}),R.value.length>500&&R.value.shift(),Y.value&&Be(()=>{P.value&&(P.value.scrollTop=P.value.scrollHeight)})}function pe(){R.value=[],s("info","日志已清空")}function te(l){if(l===0)return"0 B";const e=1024,a=["B","KB","MB","GB"],i=Math.floor(Math.log(l)/Math.log(e));return Math.round(l/Math.pow(e,i)*100)/100+" "+a[i]}let w=null;function ve(){if(M.value){const e=Date.now()-M.value,a=Math.floor(e/36e5),i=Math.floor(e%36e5/6e4),f=Math.floor(e%6e4/1e3);X.value=`${String(a).padStart(2,"0")}:${String(i).padStart(2,"0")}:${String(f).padStart(2,"0")}`}else X.value="00:00:00"}let T=null;function ne(){var U;const l=I();T&&le();const e=()=>{var r,B,ae;$.value=!0,K.value=l.id,S.value=((ae=(B=(r=l.io)==null?void 0:r.engine)==null?void 0:B.transport)==null?void 0:ae.name)||"unknown",M.value=Date.now(),h.value=new Date().toLocaleString("zh-CN"),s("success","已连接到服务器",{socketId:l.id,transport:S.value}),w||(w=setInterval(ve,1e3))},a=r=>{$.value=!1,K.value="",S.value="",M.value=null,s("warning","连接已断开",{reason:r}),w&&(clearInterval(w),w=null)},i=r=>{d.value.errors++,s("error","连接错误",{message:r.message,type:r.type})},f=r=>{d.value.reconnects++,W.value++,s("info",`重连成功 (尝试 #${r})`)},E=r=>{s("info",`正在尝试重连 #${r}...`)},O=r=>{d.value.errors++,s("error","重连失败",{message:r.message})},j=()=>{d.value.errors++,s("error","重连彻底失败")},A=()=>{s("debug","Ping 发送")},F=r=>{d.value.lastPing=r;const B=d.value.avgLatency;d.value.avgLatency=B===0?r:Math.round(B*.8+r*.2),s("debug",`Pong 接收 (${r}ms)`)},J=r=>{S.value=r.name,s("success",`传输已升级到 ${r.name}`)};T={socket:l,onConnect:e,onDisconnect:a,onConnectError:i,onReconnect:f,onReconnectAttempt:E,onReconnectError:O,onReconnectFailed:j,onPing:A,onPong:F,onUpgrade:J},l.on("connect",e),l.on("disconnect",a),l.on("connect_error",i),l.io.on("reconnect",f),l.io.on("reconnect_attempt",E),l.io.on("reconnect_error",O),l.io.on("reconnect_failed",j),l.io.on("ping",A),l.io.on("pong",F),(U=l.io)!=null&&U.engine&&l.io.engine.on("upgrade",J),N.value=new Set(Object.keys(l._callbacks||{}).map(r=>r.replace("$",""))),l.connected&&e()}function le(){var U;if(!T)return;const{socket:l,onConnect:e,onDisconnect:a,onConnectError:i,onReconnect:f,onReconnectAttempt:E,onReconnectError:O,onReconnectFailed:j,onPing:A,onPong:F,onUpgrade:J}=T;try{l.off("connect",e),l.off("disconnect",a),l.off("connect_error",i),l.io.off("reconnect",f),l.io.off("reconnect_attempt",E),l.io.off("reconnect_error",O),l.io.off("reconnect_failed",j),l.io.off("ping",A),l.io.off("pong",F),(U=l.io)!=null&&U.engine&&l.io.engine.off("upgrade",J)}catch{}T=null}function oe(){try{I().connect(),s("info","正在连接...")}catch(l){s("error","连接失败",{message:l.message})}}function ge(){try{se(),s("info","已手动断开连接")}catch(l){s("error","断开连接失败",{message:l.message})}}function _e(){try{se(),setTimeout(()=>{ne(),oe()},100)}catch(l){s("error","重连失败",{message:l.message})}}function ye(){try{const l=I();let e;try{e=JSON.parse(b.value.data)}catch{e=b.value.data}l.emit(b.value.name,e),d.value.eventsSent++,d.value.bytesSent+=JSON.stringify(e).length,s("info",`已发送事件: ${b.value.name}`,e)}catch(l){s("error","发送事件失败",{message:l.message})}}function ke(){v.value=null,s("info","开始连接测试...");const l=I(),e=setTimeout(()=>{v.value={type:"error",message:"连接测试超时 (20秒)"},s("error","连接测试超时")},2e4);l.connected?(clearTimeout(e),v.value={type:"success",message:`连接正常! Socket ID: ${l.id}, 传输: ${S.value}`},s("success","连接测试通过")):(l.once("connect",()=>{clearTimeout(e),v.value={type:"success",message:"连接测试成功!"},s("success","连接测试通过")}),l.once("connect_error",a=>{clearTimeout(e),v.value={type:"error",message:`连接失败: ${a.message}`},s("error","连接测试失败",{message:a.message})}))}function be(){const l=I(),e=Date.now();l.emit("ping",()=>{const a=Date.now()-e;v.value={type:"info",message:`测量延迟: ${a}ms`},s("info",`延迟测量结果: ${a}ms`)})}function xe(){s("warning","模拟错误场景..."),I().emit("nonexistent-event-test",{test:!0}),v.value={type:"info",message:"已发送测试事件到服务器,请检查服务器响应"}}function Ve(){const l=R.value.map(f=>`[${f.time}] [${f.type.toUpperCase()}] ${f.message}${f.data?` +`+JSON.stringify(f.data,null,2):""}`).join(` + +`),e=new Blob([l],{type:"text/plain"}),a=URL.createObjectURL(e),i=document.createElement("a");i.href=a,i.download=`socket-logs-${Date.now()}.txt`,i.click(),URL.revokeObjectURL(a),s("success","日志已导出")}return Ie(()=>{ne(),s("info","Socket 调试器已初始化")}),Te(()=>{le(),w&&(clearInterval(w),w=null)}),(l,e)=>(C(),H(De,{fluid:""},{default:t(()=>[n(q,null,{default:t(()=>[n(m,{cols:"12"},{default:t(()=>[n(g,{border:""},{default:t(()=>[n(D,{class:"d-flex align-center"},{default:t(()=>[n(L,{class:"mr-2",color:"primary"},{default:t(()=>[...e[4]||(e[4]=[o("mdi-network",-1)])]),_:1}),e[5]||(e[5]=o(" Socket.IO 连接调试器 ",-1)),n(re),n(Q,{color:ee.value.color,size:"small"},{default:t(()=>[o(u(ee.value.text),1)]),_:1},8,["color"])]),_:1})]),_:1})]),_:1}),n(m,{cols:"12",md:"6"},{default:t(()=>[n(g,{border:""},{default:t(()=>[n(D,null,{default:t(()=>[...e[6]||(e[6]=[o("连接信息",-1)])]),_:1}),n(k,null,{default:t(()=>[n(Z,{density:"compact"},{default:t(()=>[n(_,null,{prepend:t(()=>[n(L,null,{default:t(()=>[...e[7]||(e[7]=[o("mdi-server",-1)])]),_:1})]),default:t(()=>[n(y,null,{default:t(()=>[...e[8]||(e[8]=[o("服务器地址",-1)])]),_:1}),n(x,null,{default:t(()=>[o(u(fe.value),1)]),_:1})]),_:1}),n(_,null,{prepend:t(()=>[n(L,null,{default:t(()=>[...e[9]||(e[9]=[o("mdi-identifier",-1)])]),_:1})]),default:t(()=>[n(y,null,{default:t(()=>[...e[10]||(e[10]=[o("Socket ID",-1)])]),_:1}),n(x,null,{default:t(()=>[o(u(K.value||"未连接"),1)]),_:1})]),_:1}),n(_,null,{prepend:t(()=>[n(L,null,{default:t(()=>[...e[11]||(e[11]=[o("mdi-transit-connection-variant",-1)])]),_:1})]),default:t(()=>[n(y,null,{default:t(()=>[...e[12]||(e[12]=[o("传输方式",-1)])]),_:1}),n(x,null,{default:t(()=>[n(Q,{size:"x-small",color:me.value},{default:t(()=>[o(u(S.value||"未知"),1)]),_:1},8,["color"])]),_:1})]),_:1}),n(_,null,{prepend:t(()=>[n(L,null,{default:t(()=>[...e[13]||(e[13]=[o("mdi-clock-outline",-1)])]),_:1})]),default:t(()=>[n(y,null,{default:t(()=>[...e[14]||(e[14]=[o("连接时长",-1)])]),_:1}),n(x,null,{default:t(()=>[o(u(X.value),1)]),_:1})]),_:1}),n(_,null,{prepend:t(()=>[n(L,null,{default:t(()=>[...e[15]||(e[15]=[o("mdi-refresh",-1)])]),_:1})]),default:t(()=>[n(y,null,{default:t(()=>[...e[16]||(e[16]=[o("重连次数",-1)])]),_:1}),n(x,null,{default:t(()=>[o(u(W.value),1)]),_:1})]),_:1}),n(_,null,{prepend:t(()=>[n(L,null,{default:t(()=>[...e[17]||(e[17]=[o("mdi-calendar-clock",-1)])]),_:1})]),default:t(()=>[n(y,null,{default:t(()=>[...e[18]||(e[18]=[o("上次连接",-1)])]),_:1}),n(x,null,{default:t(()=>[o(u(h.value||"从未连接"),1)]),_:1})]),_:1})]),_:1}),n(ue,{class:"my-4"}),p("div",ze,[n(V,{color:"primary","prepend-icon":"mdi-connection",disabled:$.value,onClick:oe},{default:t(()=>[...e[19]||(e[19]=[o(" 连接 ",-1)])]),_:1},8,["disabled"]),n(V,{color:"error","prepend-icon":"mdi-connection",disabled:!$.value,onClick:ge},{default:t(()=>[...e[20]||(e[20]=[o(" 断开 ",-1)])]),_:1},8,["disabled"]),n(V,{color:"warning","prepend-icon":"mdi-refresh",onClick:_e},{default:t(()=>[...e[21]||(e[21]=[o(" 重连 ",-1)])]),_:1}),n(V,{color:"info","prepend-icon":"mdi-delete-sweep",onClick:pe},{default:t(()=>[...e[22]||(e[22]=[o(" 清空日志 ",-1)])]),_:1})])]),_:1})]),_:1})]),_:1}),n(m,{cols:"12",md:"6"},{default:t(()=>[n(g,{border:""},{default:t(()=>[n(D,null,{default:t(()=>[...e[23]||(e[23]=[o("统计信息",-1)])]),_:1}),n(k,null,{default:t(()=>[n(q,null,{default:t(()=>[n(m,{cols:"6"},{default:t(()=>[n(g,{variant:"tonal",color:"success"},{default:t(()=>[n(k,{class:"text-center"},{default:t(()=>[p("div",Me,u(d.value.eventsReceived),1),e[24]||(e[24]=p("div",{class:"text-caption"},"接收事件",-1))]),_:1})]),_:1})]),_:1}),n(m,{cols:"6"},{default:t(()=>[n(g,{variant:"tonal",color:"primary"},{default:t(()=>[n(k,{class:"text-center"},{default:t(()=>[p("div",Ne,u(d.value.eventsSent),1),e[25]||(e[25]=p("div",{class:"text-caption"},"发送事件",-1))]),_:1})]),_:1})]),_:1}),n(m,{cols:"6"},{default:t(()=>[n(g,{variant:"tonal",color:"warning"},{default:t(()=>[n(k,{class:"text-center"},{default:t(()=>[p("div",Pe,u(d.value.errors),1),e[26]||(e[26]=p("div",{class:"text-caption"},"错误次数",-1))]),_:1})]),_:1})]),_:1}),n(m,{cols:"6"},{default:t(()=>[n(g,{variant:"tonal",color:"info"},{default:t(()=>[n(k,{class:"text-center"},{default:t(()=>[p("div",Ee,u(d.value.reconnects),1),e[27]||(e[27]=p("div",{class:"text-caption"},"重连次数",-1))]),_:1})]),_:1})]),_:1})]),_:1}),n(ue,{class:"my-4"}),n(Z,{density:"compact"},{default:t(()=>[n(_,null,{default:t(()=>[n(y,null,{default:t(()=>[...e[28]||(e[28]=[o("平均延迟",-1)])]),_:1}),n(x,null,{default:t(()=>[o(u(d.value.avgLatency)+" ms",1)]),_:1})]),_:1}),n(_,null,{default:t(()=>[n(y,null,{default:t(()=>[...e[29]||(e[29]=[o("上次 Ping",-1)])]),_:1}),n(x,null,{default:t(()=>[o(u(d.value.lastPing)+" ms",1)]),_:1})]),_:1}),n(_,null,{default:t(()=>[n(y,null,{default:t(()=>[...e[30]||(e[30]=[o("数据传输",-1)])]),_:1}),n(x,null,{default:t(()=>[o(" ↑ "+u(te(d.value.bytesSent))+" / ↓ "+u(te(d.value.bytesReceived)),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),n(m,{cols:"12",md:"6"},{default:t(()=>[n(g,{border:""},{default:t(()=>[n(D,null,{default:t(()=>[e[31]||(e[31]=o(" 事件监控 ",-1)),n(Q,{class:"ml-2",size:"small"},{default:t(()=>[o(u(N.value.size)+" 个监听器",1)]),_:1})]),_:1}),n(k,null,{default:t(()=>[n(Z,{density:"compact","max-height":"300",style:{"overflow-y":"auto"}},{default:t(()=>[N.value.size===0?(C(),H(_,{key:0},{default:t(()=>[n(y,{class:"text-center text-disabled"},{default:t(()=>[...e[32]||(e[32]=[o(" 暂无活动监听器 ",-1)])]),_:1})]),_:1})):G("",!0),(C(!0),z(de,null,ie(Array.from(N.value),a=>(C(),H(_,{key:a},{prepend:t(()=>[n(L,{size:"small"},{default:t(()=>[...e[33]||(e[33]=[o("mdi-eye",-1)])]),_:1})]),default:t(()=>[n(y,null,{default:t(()=>[o(u(a),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1})]),_:1}),n(m,{cols:"12",md:"6"},{default:t(()=>[n(g,{border:""},{default:t(()=>[n(D,null,{default:t(()=>[...e[34]||(e[34]=[o("发送自定义事件",-1)])]),_:1}),n(k,null,{default:t(()=>[n(we,{modelValue:b.value.name,"onUpdate:modelValue":e[0]||(e[0]=a=>b.value.name=a),label:"事件名称","prepend-icon":"mdi-tag",density:"compact",class:"mb-2"},null,8,["modelValue"]),n(Le,{modelValue:b.value.data,"onUpdate:modelValue":e[1]||(e[1]=a=>b.value.data=a),label:"数据 (JSON)","prepend-icon":"mdi-code-json",rows:"4",density:"compact",class:"mb-2"},null,8,["modelValue"]),n(V,{block:"",color:"primary","prepend-icon":"mdi-send",disabled:!$.value||!b.value.name,onClick:ye},{default:t(()=>[...e[35]||(e[35]=[o(" 发送事件 ",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1}),n(m,{cols:"12"},{default:t(()=>[n(g,{border:""},{default:t(()=>[n(D,{class:"d-flex align-center"},{default:t(()=>[e[37]||(e[37]=o(" 连接日志 ",-1)),n(re),n($e,{modelValue:Y.value,"onUpdate:modelValue":e[2]||(e[2]=a=>Y.value=a),label:"自动滚动",density:"compact","hide-details":"",class:"mr-4"},null,8,["modelValue"]),n(V,{size:"small",variant:"text","prepend-icon":"mdi-download",onClick:Ve},{default:t(()=>[...e[36]||(e[36]=[o(" 导出 ",-1)])]),_:1})]),_:1}),n(k,null,{default:t(()=>[p("div",{ref_key:"logContainer",ref:P,class:"log-container",style:{height:"400px","overflow-y":"auto",background:"#1e1e1e","border-radius":"4px",padding:"12px"}},[(C(!0),z(de,null,ie(R.value,(a,i)=>(C(),z("div",{key:i,class:Ue(["log-entry",`log-${a.type}`])},[p("span",Oe,"["+u(a.time)+"]",1),p("span",je,"["+u(a.type.toUpperCase())+"]",1),p("span",Ae,u(a.message),1),a.data?(C(),z("pre",Fe,u(a.data),1)):G("",!0)],2))),128)),R.value.length===0?(C(),z("div",Je," 暂无日志 ")):G("",!0)],512)]),_:1})]),_:1})]),_:1}),n(m,{cols:"12"},{default:t(()=>[n(g,{border:""},{default:t(()=>[n(D,null,{default:t(()=>[...e[38]||(e[38]=[o("连接诊断",-1)])]),_:1}),n(k,null,{default:t(()=>[n(q,null,{default:t(()=>[n(m,{cols:"12",md:"4"},{default:t(()=>[n(V,{block:"",color:"info","prepend-icon":"mdi-test-tube",onClick:ke},{default:t(()=>[...e[39]||(e[39]=[o(" 测试连接 ",-1)])]),_:1})]),_:1}),n(m,{cols:"12",md:"4"},{default:t(()=>[n(V,{block:"",color:"success","prepend-icon":"mdi-timer",disabled:!$.value,onClick:be},{default:t(()=>[...e[40]||(e[40]=[o(" 测量延迟 ",-1)])]),_:1},8,["disabled"])]),_:1}),n(m,{cols:"12",md:"4"},{default:t(()=>[n(V,{block:"",color:"warning","prepend-icon":"mdi-alert",onClick:xe},{default:t(()=>[...e[41]||(e[41]=[o(" 模拟错误 ",-1)])]),_:1})]),_:1})]),_:1}),v.value?(C(),H(Re,{key:0,type:v.value.type,class:"mt-4",closable:"","onClick:close":e[3]||(e[3]=a=>v.value=null)},{default:t(()=>[o(u(v.value.message),1)]),_:1},8,["type"])):G("",!0)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}))}},st=Se(He,[["__scopeId","data-v-59f4b407"]]);export{st as default}; diff --git a/assets/socket-debugger-BstARi-S.js b/assets/socket-debugger-BstARi-S.js deleted file mode 100644 index f406714..0000000 --- a/assets/socket-debugger-BstARi-S.js +++ /dev/null @@ -1,4 +0,0 @@ -import{c as Ce,g as T,d as se}from"./socketClient-BXJ0f21_.js";import{_ as we,a2 as c,Z as Se,ct as Le,o as x,j as G,w as t,c as n,l as g,q as D,t as L,v as o,x as re,A as u,z as k,P as Z,Q as y,a0 as _,a1 as V,K as ue,i as p,y as C,D as H,C as B,F as de,G as ie,d as $e,aw as Re,a3 as ce}from"./index-CHEqx3ZK.js";import{V as W,a as m}from"./VRow-7L_239rt.js";import{V as X}from"./VChip-B02B673U.js";import{V as De}from"./VTextField-BmfQXFFg.js";import{V as Te}from"./VTextarea-uYG2fN8H.js";import{V as Ie}from"./VSwitch-CsrhG2o9.js";import{V as Ue}from"./VAlert-B7dotCy7.js";import{V as ze}from"./VContainer-x94CJ7kH.js";import"./serverRotation-D840vVDL.js";const Be={class:"d-flex flex-wrap gap-2"},Me={class:"text-h4"},Pe={class:"text-h4"},Ne={class:"text-h4"},Ee={class:"text-h4"},Oe={class:"log-time"},je={class:"log-type"},Ae={class:"log-message"},Fe={key:0,class:"log-data"},Je={key:0,class:"text-center text-disabled pa-8"},Ge={__name:"socket-debugger",setup(He){const fe=c(Ce()),$=c(!1),K=c(""),w=c(""),Y=c(0),h=c(""),M=c(null),q=c("00:00:00"),Q=c(!0),d=c({eventsReceived:0,eventsSent:0,errors:0,reconnects:0,avgLatency:0,lastPing:0,bytesSent:0,bytesReceived:0}),R=c([]),P=c(new Set),N=c(null),b=c({name:"",data:"{}"}),v=c(null),ee=ce(()=>$.value?{text:"已连接",color:"success"}:{text:"未连接",color:"error"}),me=ce(()=>w.value==="websocket"?"success":w.value==="polling"?"warning":"grey");function s(l,e,a=null){const f=new Date().toLocaleTimeString("zh-CN",{hour12:!1});R.value.push({type:l,message:e,data:a,time:f}),R.value.length>500&&R.value.shift(),Q.value&&Re(()=>{N.value&&(N.value.scrollTop=N.value.scrollHeight)})}function pe(){R.value=[],s("info","日志已清空")}function te(l){if(l===0)return"0 B";const e=1024,a=["B","KB","MB","GB"],i=Math.floor(Math.log(l)/Math.log(e));return Math.round(l/Math.pow(e,i)*100)/100+" "+a[i]}let S=null;function ve(){if(M.value){const e=Date.now()-M.value,a=Math.floor(e/36e5),i=Math.floor(e%36e5/6e4),f=Math.floor(e%6e4/1e3);q.value=`${String(a).padStart(2,"0")}:${String(i).padStart(2,"0")}:${String(f).padStart(2,"0")}`}else q.value="00:00:00"}let I=null;function ne(){var U;const l=T();I&&le();const e=()=>{var r,z,ae;$.value=!0,K.value=l.id,w.value=((ae=(z=(r=l.io)==null?void 0:r.engine)==null?void 0:z.transport)==null?void 0:ae.name)||"unknown",M.value=Date.now(),h.value=new Date().toLocaleString("zh-CN"),s("success","已连接到服务器",{socketId:l.id,transport:w.value}),S||(S=setInterval(ve,1e3))},a=r=>{$.value=!1,K.value="",w.value="",M.value=null,s("warning","连接已断开",{reason:r}),S&&(clearInterval(S),S=null)},i=r=>{d.value.errors++,s("error","连接错误",{message:r.message,type:r.type})},f=r=>{d.value.reconnects++,Y.value++,s("info",`重连成功 (尝试 #${r})`)},E=r=>{s("info",`正在尝试重连 #${r}...`)},O=r=>{d.value.errors++,s("error","重连失败",{message:r.message})},j=()=>{d.value.errors++,s("error","重连彻底失败")},A=()=>{s("debug","Ping 发送")},F=r=>{d.value.lastPing=r;const z=d.value.avgLatency;d.value.avgLatency=z===0?r:Math.round(z*.8+r*.2),s("debug",`Pong 接收 (${r}ms)`)},J=r=>{w.value=r.name,s("success",`传输已升级到 ${r.name}`)};I={socket:l,onConnect:e,onDisconnect:a,onConnectError:i,onReconnect:f,onReconnectAttempt:E,onReconnectError:O,onReconnectFailed:j,onPing:A,onPong:F,onUpgrade:J},l.on("connect",e),l.on("disconnect",a),l.on("connect_error",i),l.io.on("reconnect",f),l.io.on("reconnect_attempt",E),l.io.on("reconnect_error",O),l.io.on("reconnect_failed",j),l.io.on("ping",A),l.io.on("pong",F),(U=l.io)!=null&&U.engine&&l.io.engine.on("upgrade",J),P.value=new Set(Object.keys(l._callbacks||{}).map(r=>r.replace("$",""))),l.connected&&e()}function le(){var U;if(!I)return;const{socket:l,onConnect:e,onDisconnect:a,onConnectError:i,onReconnect:f,onReconnectAttempt:E,onReconnectError:O,onReconnectFailed:j,onPing:A,onPong:F,onUpgrade:J}=I;try{l.off("connect",e),l.off("disconnect",a),l.off("connect_error",i),l.io.off("reconnect",f),l.io.off("reconnect_attempt",E),l.io.off("reconnect_error",O),l.io.off("reconnect_failed",j),l.io.off("ping",A),l.io.off("pong",F),(U=l.io)!=null&&U.engine&&l.io.engine.off("upgrade",J)}catch{}I=null}function oe(){try{T().connect(),s("info","正在连接...")}catch(l){s("error","连接失败",{message:l.message})}}function ge(){try{se(),s("info","已手动断开连接")}catch(l){s("error","断开连接失败",{message:l.message})}}function ye(){try{se(),setTimeout(()=>{ne(),oe()},100)}catch(l){s("error","重连失败",{message:l.message})}}function _e(){try{const l=T();let e;try{e=JSON.parse(b.value.data)}catch{e=b.value.data}l.emit(b.value.name,e),d.value.eventsSent++,d.value.bytesSent+=JSON.stringify(e).length,s("info",`已发送事件: ${b.value.name}`,e)}catch(l){s("error","发送事件失败",{message:l.message})}}function ke(){v.value=null,s("info","开始连接测试...");const l=T(),e=setTimeout(()=>{v.value={type:"error",message:"连接测试超时 (20秒)"},s("error","连接测试超时")},2e4);l.connected?(clearTimeout(e),v.value={type:"success",message:`连接正常! Socket ID: ${l.id}, 传输: ${w.value}`},s("success","连接测试通过")):(l.once("connect",()=>{clearTimeout(e),v.value={type:"success",message:"连接测试成功!"},s("success","连接测试通过")}),l.once("connect_error",a=>{clearTimeout(e),v.value={type:"error",message:`连接失败: ${a.message}`},s("error","连接测试失败",{message:a.message})}))}function be(){const l=T(),e=Date.now();l.emit("ping",()=>{const a=Date.now()-e;v.value={type:"info",message:`测量延迟: ${a}ms`},s("info",`延迟测量结果: ${a}ms`)})}function xe(){s("warning","模拟错误场景..."),T().emit("nonexistent-event-test",{test:!0}),v.value={type:"info",message:"已发送测试事件到服务器,请检查服务器响应"}}function Ve(){const l=R.value.map(f=>`[${f.time}] [${f.type.toUpperCase()}] ${f.message}${f.data?` -`+JSON.stringify(f.data,null,2):""}`).join(` - -`),e=new Blob([l],{type:"text/plain"}),a=URL.createObjectURL(e),i=document.createElement("a");i.href=a,i.download=`socket-logs-${Date.now()}.txt`,i.click(),URL.revokeObjectURL(a),s("success","日志已导出")}return Se(()=>{ne(),s("info","Socket 调试器已初始化")}),Le(()=>{le(),S&&(clearInterval(S),S=null)}),(l,e)=>(x(),G(ze,{fluid:""},{default:t(()=>[n(W,null,{default:t(()=>[n(m,{cols:"12"},{default:t(()=>[n(g,{border:""},{default:t(()=>[n(D,{class:"d-flex align-center"},{default:t(()=>[n(L,{class:"mr-2",color:"primary"},{default:t(()=>[...e[4]||(e[4]=[o("mdi-network",-1)])]),_:1}),e[5]||(e[5]=o(" Socket.IO 连接调试器 ",-1)),n(re),n(X,{color:ee.value.color,size:"small"},{default:t(()=>[o(u(ee.value.text),1)]),_:1},8,["color"])]),_:1})]),_:1})]),_:1}),n(m,{cols:"12",md:"6"},{default:t(()=>[n(g,{border:""},{default:t(()=>[n(D,null,{default:t(()=>[...e[6]||(e[6]=[o("连接信息",-1)])]),_:1}),n(k,null,{default:t(()=>[n(Z,{density:"compact"},{default:t(()=>[n(y,null,{prepend:t(()=>[n(L,null,{default:t(()=>[...e[7]||(e[7]=[o("mdi-server",-1)])]),_:1})]),default:t(()=>[n(_,null,{default:t(()=>[...e[8]||(e[8]=[o("服务器地址",-1)])]),_:1}),n(V,null,{default:t(()=>[o(u(fe.value),1)]),_:1})]),_:1}),n(y,null,{prepend:t(()=>[n(L,null,{default:t(()=>[...e[9]||(e[9]=[o("mdi-identifier",-1)])]),_:1})]),default:t(()=>[n(_,null,{default:t(()=>[...e[10]||(e[10]=[o("Socket ID",-1)])]),_:1}),n(V,null,{default:t(()=>[o(u(K.value||"未连接"),1)]),_:1})]),_:1}),n(y,null,{prepend:t(()=>[n(L,null,{default:t(()=>[...e[11]||(e[11]=[o("mdi-transit-connection-variant",-1)])]),_:1})]),default:t(()=>[n(_,null,{default:t(()=>[...e[12]||(e[12]=[o("传输方式",-1)])]),_:1}),n(V,null,{default:t(()=>[n(X,{size:"x-small",color:me.value},{default:t(()=>[o(u(w.value||"未知"),1)]),_:1},8,["color"])]),_:1})]),_:1}),n(y,null,{prepend:t(()=>[n(L,null,{default:t(()=>[...e[13]||(e[13]=[o("mdi-clock-outline",-1)])]),_:1})]),default:t(()=>[n(_,null,{default:t(()=>[...e[14]||(e[14]=[o("连接时长",-1)])]),_:1}),n(V,null,{default:t(()=>[o(u(q.value),1)]),_:1})]),_:1}),n(y,null,{prepend:t(()=>[n(L,null,{default:t(()=>[...e[15]||(e[15]=[o("mdi-refresh",-1)])]),_:1})]),default:t(()=>[n(_,null,{default:t(()=>[...e[16]||(e[16]=[o("重连次数",-1)])]),_:1}),n(V,null,{default:t(()=>[o(u(Y.value),1)]),_:1})]),_:1}),n(y,null,{prepend:t(()=>[n(L,null,{default:t(()=>[...e[17]||(e[17]=[o("mdi-calendar-clock",-1)])]),_:1})]),default:t(()=>[n(_,null,{default:t(()=>[...e[18]||(e[18]=[o("上次连接",-1)])]),_:1}),n(V,null,{default:t(()=>[o(u(h.value||"从未连接"),1)]),_:1})]),_:1})]),_:1}),n(ue,{class:"my-4"}),p("div",Be,[n(C,{color:"primary","prepend-icon":"mdi-connection",disabled:$.value,onClick:oe},{default:t(()=>[...e[19]||(e[19]=[o(" 连接 ",-1)])]),_:1},8,["disabled"]),n(C,{color:"error","prepend-icon":"mdi-connection",disabled:!$.value,onClick:ge},{default:t(()=>[...e[20]||(e[20]=[o(" 断开 ",-1)])]),_:1},8,["disabled"]),n(C,{color:"warning","prepend-icon":"mdi-refresh",onClick:ye},{default:t(()=>[...e[21]||(e[21]=[o(" 重连 ",-1)])]),_:1}),n(C,{color:"info","prepend-icon":"mdi-delete-sweep",onClick:pe},{default:t(()=>[...e[22]||(e[22]=[o(" 清空日志 ",-1)])]),_:1})])]),_:1})]),_:1})]),_:1}),n(m,{cols:"12",md:"6"},{default:t(()=>[n(g,{border:""},{default:t(()=>[n(D,null,{default:t(()=>[...e[23]||(e[23]=[o("统计信息",-1)])]),_:1}),n(k,null,{default:t(()=>[n(W,null,{default:t(()=>[n(m,{cols:"6"},{default:t(()=>[n(g,{variant:"tonal",color:"success"},{default:t(()=>[n(k,{class:"text-center"},{default:t(()=>[p("div",Me,u(d.value.eventsReceived),1),e[24]||(e[24]=p("div",{class:"text-caption"},"接收事件",-1))]),_:1})]),_:1})]),_:1}),n(m,{cols:"6"},{default:t(()=>[n(g,{variant:"tonal",color:"primary"},{default:t(()=>[n(k,{class:"text-center"},{default:t(()=>[p("div",Pe,u(d.value.eventsSent),1),e[25]||(e[25]=p("div",{class:"text-caption"},"发送事件",-1))]),_:1})]),_:1})]),_:1}),n(m,{cols:"6"},{default:t(()=>[n(g,{variant:"tonal",color:"warning"},{default:t(()=>[n(k,{class:"text-center"},{default:t(()=>[p("div",Ne,u(d.value.errors),1),e[26]||(e[26]=p("div",{class:"text-caption"},"错误次数",-1))]),_:1})]),_:1})]),_:1}),n(m,{cols:"6"},{default:t(()=>[n(g,{variant:"tonal",color:"info"},{default:t(()=>[n(k,{class:"text-center"},{default:t(()=>[p("div",Ee,u(d.value.reconnects),1),e[27]||(e[27]=p("div",{class:"text-caption"},"重连次数",-1))]),_:1})]),_:1})]),_:1})]),_:1}),n(ue,{class:"my-4"}),n(Z,{density:"compact"},{default:t(()=>[n(y,null,{default:t(()=>[n(_,null,{default:t(()=>[...e[28]||(e[28]=[o("平均延迟",-1)])]),_:1}),n(V,null,{default:t(()=>[o(u(d.value.avgLatency)+" ms",1)]),_:1})]),_:1}),n(y,null,{default:t(()=>[n(_,null,{default:t(()=>[...e[29]||(e[29]=[o("上次 Ping",-1)])]),_:1}),n(V,null,{default:t(()=>[o(u(d.value.lastPing)+" ms",1)]),_:1})]),_:1}),n(y,null,{default:t(()=>[n(_,null,{default:t(()=>[...e[30]||(e[30]=[o("数据传输",-1)])]),_:1}),n(V,null,{default:t(()=>[o(" ↑ "+u(te(d.value.bytesSent))+" / ↓ "+u(te(d.value.bytesReceived)),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),n(m,{cols:"12",md:"6"},{default:t(()=>[n(g,{border:""},{default:t(()=>[n(D,null,{default:t(()=>[e[31]||(e[31]=o(" 事件监控 ",-1)),n(X,{class:"ml-2",size:"small"},{default:t(()=>[o(u(P.value.size)+" 个监听器",1)]),_:1})]),_:1}),n(k,null,{default:t(()=>[n(Z,{density:"compact","max-height":"300",style:{"overflow-y":"auto"}},{default:t(()=>[P.value.size===0?(x(),G(y,{key:0},{default:t(()=>[n(_,{class:"text-center text-disabled"},{default:t(()=>[...e[32]||(e[32]=[o(" 暂无活动监听器 ",-1)])]),_:1})]),_:1})):H("",!0),(x(!0),B(de,null,ie(Array.from(P.value),a=>(x(),G(y,{key:a},{prepend:t(()=>[n(L,{size:"small"},{default:t(()=>[...e[33]||(e[33]=[o("mdi-eye",-1)])]),_:1})]),default:t(()=>[n(_,null,{default:t(()=>[o(u(a),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1})]),_:1}),n(m,{cols:"12",md:"6"},{default:t(()=>[n(g,{border:""},{default:t(()=>[n(D,null,{default:t(()=>[...e[34]||(e[34]=[o("发送自定义事件",-1)])]),_:1}),n(k,null,{default:t(()=>[n(De,{modelValue:b.value.name,"onUpdate:modelValue":e[0]||(e[0]=a=>b.value.name=a),label:"事件名称","prepend-icon":"mdi-tag",density:"compact",class:"mb-2"},null,8,["modelValue"]),n(Te,{modelValue:b.value.data,"onUpdate:modelValue":e[1]||(e[1]=a=>b.value.data=a),label:"数据 (JSON)","prepend-icon":"mdi-code-json",rows:"4",density:"compact",class:"mb-2"},null,8,["modelValue"]),n(C,{block:"",color:"primary","prepend-icon":"mdi-send",disabled:!$.value||!b.value.name,onClick:_e},{default:t(()=>[...e[35]||(e[35]=[o(" 发送事件 ",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1}),n(m,{cols:"12"},{default:t(()=>[n(g,{border:""},{default:t(()=>[n(D,{class:"d-flex align-center"},{default:t(()=>[e[37]||(e[37]=o(" 连接日志 ",-1)),n(re),n(Ie,{modelValue:Q.value,"onUpdate:modelValue":e[2]||(e[2]=a=>Q.value=a),label:"自动滚动",density:"compact","hide-details":"",class:"mr-4"},null,8,["modelValue"]),n(C,{size:"small",variant:"text","prepend-icon":"mdi-download",onClick:Ve},{default:t(()=>[...e[36]||(e[36]=[o(" 导出 ",-1)])]),_:1})]),_:1}),n(k,null,{default:t(()=>[p("div",{ref_key:"logContainer",ref:N,class:"log-container",style:{height:"400px","overflow-y":"auto",background:"#1e1e1e","border-radius":"4px",padding:"12px"}},[(x(!0),B(de,null,ie(R.value,(a,i)=>(x(),B("div",{key:i,class:$e(["log-entry",`log-${a.type}`])},[p("span",Oe,"["+u(a.time)+"]",1),p("span",je,"["+u(a.type.toUpperCase())+"]",1),p("span",Ae,u(a.message),1),a.data?(x(),B("pre",Fe,u(a.data),1)):H("",!0)],2))),128)),R.value.length===0?(x(),B("div",Je," 暂无日志 ")):H("",!0)],512)]),_:1})]),_:1})]),_:1}),n(m,{cols:"12"},{default:t(()=>[n(g,{border:""},{default:t(()=>[n(D,null,{default:t(()=>[...e[38]||(e[38]=[o("连接诊断",-1)])]),_:1}),n(k,null,{default:t(()=>[n(W,null,{default:t(()=>[n(m,{cols:"12",md:"4"},{default:t(()=>[n(C,{block:"",color:"info","prepend-icon":"mdi-test-tube",onClick:ke},{default:t(()=>[...e[39]||(e[39]=[o(" 测试连接 ",-1)])]),_:1})]),_:1}),n(m,{cols:"12",md:"4"},{default:t(()=>[n(C,{block:"",color:"success","prepend-icon":"mdi-timer",disabled:!$.value,onClick:be},{default:t(()=>[...e[40]||(e[40]=[o(" 测量延迟 ",-1)])]),_:1},8,["disabled"])]),_:1}),n(m,{cols:"12",md:"4"},{default:t(()=>[n(C,{block:"",color:"warning","prepend-icon":"mdi-alert",onClick:xe},{default:t(()=>[...e[41]||(e[41]=[o(" 模拟错误 ",-1)])]),_:1})]),_:1})]),_:1}),v.value?(x(),G(Ue,{key:0,type:v.value.type,class:"mt-4",closable:"","onClick:close":e[3]||(e[3]=a=>v.value=null)},{default:t(()=>[o(u(v.value.message),1)]),_:1},8,["type"])):H("",!0)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}))}},nt=we(Ge,[["__scopeId","data-v-59f4b407"]]);export{nt as default}; diff --git a/assets/socketClient-BXJ0f21_.js b/assets/socketClient-BXJ0f21_.js deleted file mode 100644 index 2fe762c..0000000 --- a/assets/socketClient-BXJ0f21_.js +++ /dev/null @@ -1 +0,0 @@ -import{k as pe}from"./index-CHEqx3ZK.js";import{i as de,g as ye}from"./serverRotation-D840vVDL.js";const m=Object.create(null);m.open="0";m.close="1";m.ping="2";m.pong="3";m.message="4";m.upgrade="5";m.noop="6";const O=Object.create(null);Object.keys(m).forEach(n=>{O[m[n]]=n});const U={type:"error",data:"parser error"},ee=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",te=typeof ArrayBuffer=="function",se=n=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(n):n&&n.buffer instanceof ArrayBuffer,W=({type:n,data:e},t,s)=>ee&&e instanceof Blob?t?s(e):X(e,s):te&&(e instanceof ArrayBuffer||se(e))?t?s(e):X(new Blob([e]),s):s(m[n]+(e||"")),X=(n,e)=>{const t=new FileReader;return t.onload=function(){const s=t.result.split(",")[1];e("b"+(s||""))},t.readAsDataURL(n)};function Q(n){return n instanceof Uint8Array?n:n instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer,n.byteOffset,n.byteLength)}let P;function me(n,e){if(ee&&n.data instanceof Blob)return n.data.arrayBuffer().then(Q).then(e);if(te&&(n.data instanceof ArrayBuffer||se(n.data)))return e(Q(n.data));W(n,!1,t=>{P||(P=new TextEncoder),e(P.encode(t))})}const j="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",k=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let n=0;n{let e=n.length*.75,t=n.length,s,i=0,r,o,c,h;n[n.length-1]==="="&&(e--,n[n.length-2]==="="&&e--);const g=new ArrayBuffer(e),l=new Uint8Array(g);for(s=0;s>4,l[i++]=(o&15)<<4|c>>2,l[i++]=(c&3)<<6|h&63;return g},_e=typeof ArrayBuffer=="function",$=(n,e)=>{if(typeof n!="string")return{type:"message",data:ne(n,e)};const t=n.charAt(0);return t==="b"?{type:"message",data:be(n.substring(1),e)}:O[t]?n.length>1?{type:O[t],data:n.substring(1)}:{type:O[t]}:U},be=(n,e)=>{if(_e){const t=ge(n);return ne(t,e)}else return{base64:!0,data:n}},ne=(n,e)=>{switch(e){case"blob":return n instanceof Blob?n:new Blob([n]);case"arraybuffer":default:return n instanceof ArrayBuffer?n:n.buffer}},ie="",we=(n,e)=>{const t=n.length,s=new Array(t);let i=0;n.forEach((r,o)=>{W(r,!1,c=>{s[o]=c,++i===t&&e(s.join(ie))})})},ve=(n,e)=>{const t=n.split(ie),s=[];for(let i=0;i{const s=t.length;let i;if(s<126)i=new Uint8Array(1),new DataView(i.buffer).setUint8(0,s);else if(s<65536){i=new Uint8Array(3);const r=new DataView(i.buffer);r.setUint8(0,126),r.setUint16(1,s)}else{i=new Uint8Array(9);const r=new DataView(i.buffer);r.setUint8(0,127),r.setBigUint64(1,BigInt(s))}n.data&&typeof n.data!="string"&&(i[0]|=128),e.enqueue(i),e.enqueue(t)})}})}let q;function A(n){return n.reduce((e,t)=>e+t.length,0)}function R(n,e){if(n[0].length===e)return n.shift();const t=new Uint8Array(e);let s=0;for(let i=0;iMath.pow(2,21)-1){c.enqueue(U);break}i=l*Math.pow(2,32)+g.getUint32(4),s=3}else{if(A(t)n){c.enqueue(U);break}}}})}const re=4;function u(n){if(n)return Te(n)}function Te(n){for(var e in u.prototype)n[e]=u.prototype[e];return n}u.prototype.on=u.prototype.addEventListener=function(n,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+n]=this._callbacks["$"+n]||[]).push(e),this};u.prototype.once=function(n,e){function t(){this.off(n,t),e.apply(this,arguments)}return t.fn=e,this.on(n,t),this};u.prototype.off=u.prototype.removeListener=u.prototype.removeAllListeners=u.prototype.removeEventListener=function(n,e){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var t=this._callbacks["$"+n];if(!t)return this;if(arguments.length==1)return delete this._callbacks["$"+n],this;for(var s,i=0;iPromise.resolve().then(e):(e,t)=>t(e,0),p=typeof self<"u"?self:typeof window<"u"?window:Function("return this")(),Ae="arraybuffer";function oe(n,...e){return e.reduce((t,s)=>(n.hasOwnProperty(s)&&(t[s]=n[s]),t),{})}const Re=p.setTimeout,Oe=p.clearTimeout;function N(n,e){e.useNativeTimers?(n.setTimeoutFn=Re.bind(p),n.clearTimeoutFn=Oe.bind(p)):(n.setTimeoutFn=p.setTimeout.bind(p),n.clearTimeoutFn=p.clearTimeout.bind(p))}const Se=1.33;function Ce(n){return typeof n=="string"?Be(n):Math.ceil((n.byteLength||n.size)*Se)}function Be(n){let e=0,t=0;for(let s=0,i=n.length;s=57344?t+=3:(s++,t+=4);return t}function ae(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}function xe(n){let e="";for(let t in n)n.hasOwnProperty(t)&&(e.length&&(e+="&"),e+=encodeURIComponent(t)+"="+encodeURIComponent(n[t]));return e}function Ne(n){let e={},t=n.split("&");for(let s=0,i=t.length;s{this.readyState="paused",e()};if(this._polling||!this.writable){let s=0;this._polling&&(s++,this.once("pollComplete",function(){--s||t()})),this.writable||(s++,this.once("drain",function(){--s||t()}))}else t()}_poll(){this._polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){const t=s=>{if(this.readyState==="opening"&&s.type==="open"&&this.onOpen(),s.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(s)};ve(e,this.socket.binaryType).forEach(t),this.readyState!=="closed"&&(this._polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this._poll())}doClose(){const e=()=>{this.write([{type:"close"}])};this.readyState==="open"?e():this.once("open",e)}write(e){this.writable=!1,we(e,t=>{this.doWrite(t,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const e=this.opts.secure?"https":"http",t=this.query||{};return this.opts.timestampRequests!==!1&&(t[this.opts.timestampParam]=ae()),!this.supportsBinary&&!t.sid&&(t.b64=1),this.createUri(e,t)}}let ce=!1;try{ce=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}const qe=ce;function De(){}class Ue extends Pe{constructor(e){if(super(e),typeof location<"u"){const t=location.protocol==="https:";let s=location.port;s||(s=t?"443":"80"),this.xd=typeof location<"u"&&e.hostname!==location.hostname||s!==e.port}}doWrite(e,t){const s=this.request({method:"POST",data:e});s.on("success",t),s.on("error",(i,r)=>{this.onError("xhr post error",i,r)})}doPoll(){const e=this.request();e.on("data",this.onData.bind(this)),e.on("error",(t,s)=>{this.onError("xhr poll error",t,s)}),this.pollXhr=e}}class y extends u{constructor(e,t,s){super(),this.createRequest=e,N(this,s),this._opts=s,this._method=s.method||"GET",this._uri=t,this._data=s.data!==void 0?s.data:null,this._create()}_create(){var e;const t=oe(this._opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");t.xdomain=!!this._opts.xd;const s=this._xhr=this.createRequest(t);try{s.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){s.setDisableHeaderCheck&&s.setDisableHeaderCheck(!0);for(let i in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(i)&&s.setRequestHeader(i,this._opts.extraHeaders[i])}}catch{}if(this._method==="POST")try{s.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{s.setRequestHeader("Accept","*/*")}catch{}(e=this._opts.cookieJar)===null||e===void 0||e.addCookies(s),"withCredentials"in s&&(s.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(s.timeout=this._opts.requestTimeout),s.onreadystatechange=()=>{var i;s.readyState===3&&((i=this._opts.cookieJar)===null||i===void 0||i.parseCookies(s.getResponseHeader("set-cookie"))),s.readyState===4&&(s.status===200||s.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof s.status=="number"?s.status:0)},0))},s.send(this._data)}catch(i){this.setTimeoutFn(()=>{this._onError(i)},0);return}typeof document<"u"&&(this._index=y.requestsCount++,y.requests[this._index]=this)}_onError(e){this.emitReserved("error",e,this._xhr),this._cleanup(!0)}_cleanup(e){if(!(typeof this._xhr>"u"||this._xhr===null)){if(this._xhr.onreadystatechange=De,e)try{this._xhr.abort()}catch{}typeof document<"u"&&delete y.requests[this._index],this._xhr=null}}_onLoad(){const e=this._xhr.responseText;e!==null&&(this.emitReserved("data",e),this.emitReserved("success"),this._cleanup())}abort(){this._cleanup()}}y.requestsCount=0;y.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",G);else if(typeof addEventListener=="function"){const n="onpagehide"in p?"pagehide":"unload";addEventListener(n,G,!1)}}function G(){for(let n in y.requests)y.requests.hasOwnProperty(n)&&y.requests[n].abort()}const Ie=function(){const n=he({xdomain:!1});return n&&n.responseType!==null}();class Ve extends Ue{constructor(e){super(e);const t=e&&e.forceBase64;this.supportsBinary=Ie&&!t}request(e={}){return Object.assign(e,{xd:this.xd},this.opts),new y(he,this.uri(),e)}}function he(n){const e=n.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!e||qe))return new XMLHttpRequest}catch{}if(!e)try{return new p[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}const ue=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class Fe extends Y{get name(){return"websocket"}doOpen(){const e=this.uri(),t=this.opts.protocols,s=ue?{}:oe(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(s.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(e,t,s)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let t=0;t{try{this.doWrite(s,r)}catch{}i&&x(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.onerror=()=>{},this.ws.close(),this.ws=null)}uri(){const e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=ae()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}}const D=p.WebSocket||p.MozWebSocket;class Me extends Fe{createSocket(e,t,s){return ue?new D(e,t,s):t?new D(e,t):new D(e)}doWrite(e,t){this.ws.send(t)}}class He extends Y{get name(){return"webtransport"}doOpen(){try{this._transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name])}catch(e){return this.emitReserved("error",e)}this._transport.closed.then(()=>{this.onClose()}).catch(e=>{this.onError("webtransport error",e)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(e=>{const t=ke(Number.MAX_SAFE_INTEGER,this.socket.binaryType),s=e.readable.pipeThrough(t).getReader(),i=Ee();i.readable.pipeTo(e.writable),this._writer=i.writable.getWriter();const r=()=>{s.read().then(({done:c,value:h})=>{c||(this.onPacket(h),r())}).catch(c=>{})};r();const o={type:"open"};this.query.sid&&(o.data=`{"sid":"${this.query.sid}"}`),this._writer.write(o).then(()=>this.onOpen())})})}write(e){this.writable=!1;for(let t=0;t{i&&x(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var e;(e=this._transport)===null||e===void 0||e.close()}}const Ke={websocket:Me,webtransport:He,polling:Ve},We=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,$e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function I(n){if(n.length>8e3)throw"URI too long";const e=n,t=n.indexOf("["),s=n.indexOf("]");t!=-1&&s!=-1&&(n=n.substring(0,t)+n.substring(t,s).replace(/:/g,";")+n.substring(s,n.length));let i=We.exec(n||""),r={},o=14;for(;o--;)r[$e[o]]=i[o]||"";return t!=-1&&s!=-1&&(r.source=e,r.host=r.host.substring(1,r.host.length-1).replace(/;/g,":"),r.authority=r.authority.replace("[","").replace("]","").replace(/;/g,":"),r.ipv6uri=!0),r.pathNames=Ye(r,r.path),r.queryKey=ze(r,r.query),r}function Ye(n,e){const t=/\/{2,9}/g,s=e.replace(t,"/").split("/");return(e.slice(0,1)=="/"||e.length===0)&&s.splice(0,1),e.slice(-1)=="/"&&s.splice(s.length-1,1),s}function ze(n,e){const t={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(s,i,r){i&&(t[i]=r)}),t}const V=typeof addEventListener=="function"&&typeof removeEventListener=="function",S=[];V&&addEventListener("offline",()=>{S.forEach(n=>n())},!1);class b extends u{constructor(e,t){if(super(),this.binaryType=Ae,this.writeBuffer=[],this._prevBufferLen=0,this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,e&&typeof e=="object"&&(t=e,e=null),e){const s=I(e);t.hostname=s.host,t.secure=s.protocol==="https"||s.protocol==="wss",t.port=s.port,s.query&&(t.query=s.query)}else t.host&&(t.hostname=I(t.host).host);N(this,t),this.secure=t.secure!=null?t.secure:typeof location<"u"&&location.protocol==="https:",t.hostname&&!t.port&&(t.port=this.secure?"443":"80"),this.hostname=t.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=t.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=[],this._transportsByName={},t.transports.forEach(s=>{const i=s.prototype.name;this.transports.push(i),this._transportsByName[i]=s}),this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},t),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=Ne(this.opts.query)),V&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this._beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this._offlineEventListener=()=>{this._onClose("transport close",{description:"network connection lost"})},S.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=void 0),this._open()}createTransport(e){const t=Object.assign({},this.opts.query);t.EIO=re,t.transport=e,this.id&&(t.sid=this.id);const s=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return new this._transportsByName[e](s)}_open(){if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}const e=this.opts.rememberUpgrade&&b.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1?"websocket":this.transports[0];this.readyState="opening";const t=this.createTransport(e);t.open(),this.setTransport(t)}setTransport(e){this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on("drain",this._onDrain.bind(this)).on("packet",this._onPacket.bind(this)).on("error",this._onError.bind(this)).on("close",t=>this._onClose("transport close",t))}onOpen(){this.readyState="open",b.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush()}_onPacket(e){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")switch(this.emitReserved("packet",e),this.emitReserved("heartbeat"),e.type){case"open":this.onHandshake(JSON.parse(e.data));break;case"ping":this._sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this._resetPingTimeout();break;case"error":const t=new Error("server error");t.code=e.data,this._onError(t);break;case"message":this.emitReserved("data",e.data),this.emitReserved("message",e.data);break}}onHandshake(e){this.emitReserved("handshake",e),this.id=e.sid,this.transport.query.sid=e.sid,this._pingInterval=e.pingInterval,this._pingTimeout=e.pingTimeout,this._maxPayload=e.maxPayload,this.onOpen(),this.readyState!=="closed"&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);const e=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+e,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose("ping timeout")},e),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const e=this._getWritablePackets();this.transport.send(e),this._prevBufferLen=e.length,this.emitReserved("flush")}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let t=1;for(let s=0;s0&&t>this._maxPayload)return this.writeBuffer.slice(0,s);t+=2}return this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;const e=Date.now()>this._pingTimeoutTime;return e&&(this._pingTimeoutTime=0,x(()=>{this._onClose("ping timeout")},this.setTimeoutFn)),e}write(e,t,s){return this._sendPacket("message",e,t,s),this}send(e,t,s){return this._sendPacket("message",e,t,s),this}_sendPacket(e,t,s,i){if(typeof t=="function"&&(i=t,t=void 0),typeof s=="function"&&(i=s,s=null),this.readyState==="closing"||this.readyState==="closed")return;s=s||{},s.compress=s.compress!==!1;const r={type:e,data:t,options:s};this.emitReserved("packetCreate",r),this.writeBuffer.push(r),i&&this.once("flush",i),this.flush()}close(){const e=()=>{this._onClose("forced close"),this.transport.close()},t=()=>{this.off("upgrade",t),this.off("upgradeError",t),e()},s=()=>{this.once("upgrade",t),this.once("upgradeError",t)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?s():e()}):this.upgrading?s():e()),this}_onError(e){if(b.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState==="opening")return this.transports.shift(),this._open();this.emitReserved("error",e),this._onClose("transport error",e)}_onClose(e,t){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing"){if(this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),V&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){const s=S.indexOf(this._offlineEventListener);s!==-1&&S.splice(s,1)}this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this._prevBufferLen=0}}}b.protocol=re;class Je extends b{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),this.readyState==="open"&&this.opts.upgrade)for(let e=0;e{s||(t.send([{type:"ping",data:"probe"}]),t.once("packet",_=>{if(!s)if(_.type==="pong"&&_.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;b.priorWebsocketSuccess=t.name==="websocket",this.transport.pause(()=>{s||this.readyState!=="closed"&&(l(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())})}else{const v=new Error("probe error");v.transport=t.name,this.emitReserved("upgradeError",v)}}))};function r(){s||(s=!0,l(),t.close(),t=null)}const o=_=>{const v=new Error("probe error: "+_);v.transport=t.name,r(),this.emitReserved("upgradeError",v)};function c(){o("transport closed")}function h(){o("socket closed")}function g(_){t&&_.name!==t.name&&r()}const l=()=>{t.removeListener("open",i),t.removeListener("error",o),t.removeListener("close",c),this.off("close",h),this.off("upgrading",g)};t.once("open",i),t.once("error",o),t.once("close",c),this.once("close",h),this.once("upgrading",g),this._upgrades.indexOf("webtransport")!==-1&&e!=="webtransport"?this.setTimeoutFn(()=>{s||t.open()},200):t.open()}onHandshake(e){this._upgrades=this._filterUpgrades(e.upgrades),super.onHandshake(e)}_filterUpgrades(e){const t=[];for(let s=0;sKe[i]).filter(i=>!!i)),super(e,s)}};function Qe(n,e="",t){let s=n;t=t||typeof location<"u"&&location,n==null&&(n=t.protocol+"//"+t.host),typeof n=="string"&&(n.charAt(0)==="/"&&(n.charAt(1)==="/"?n=t.protocol+n:n=t.host+n),/^(https?|wss?):\/\//.test(n)||(typeof t<"u"?n=t.protocol+"//"+n:n="https://"+n),s=I(n)),s.port||(/^(http|ws)$/.test(s.protocol)?s.port="80":/^(http|ws)s$/.test(s.protocol)&&(s.port="443")),s.path=s.path||"/";const r=s.host.indexOf(":")!==-1?"["+s.host+"]":s.host;return s.id=s.protocol+"://"+r+":"+s.port+e,s.href=s.protocol+"://"+r+(t&&t.port===s.port?"":":"+s.port),s}const je=typeof ArrayBuffer=="function",Ge=n=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(n):n.buffer instanceof ArrayBuffer,fe=Object.prototype.toString,Ze=typeof Blob=="function"||typeof Blob<"u"&&fe.call(Blob)==="[object BlobConstructor]",et=typeof File=="function"||typeof File<"u"&&fe.call(File)==="[object FileConstructor]";function z(n){return je&&(n instanceof ArrayBuffer||Ge(n))||Ze&&n instanceof Blob||et&&n instanceof File}function C(n,e){if(!n||typeof n!="object")return!1;if(Array.isArray(n)){for(let t=0,s=n.length;t=0&&n.num{delete this.acks[e];for(let c=0;c{this.io.clearTimeoutFn(r),t.apply(this,c)};o.withError=!0,this.acks[e]=o}emitWithAck(e,...t){return new Promise((s,i)=>{const r=(o,c)=>o?i(o):s(c);r.withError=!0,t.push(r),this.emit(e,...t)})}_addToQueue(e){let t;typeof e[e.length-1]=="function"&&(t=e.pop());const s={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((i,...r)=>(this._queue[0],i!==null?s.tryCount>this._opts.retries&&(this._queue.shift(),t&&t(i)):(this._queue.shift(),t&&t(null,...r)),s.pending=!1,this._drainQueue())),this._queue.push(s),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||this._queue.length===0)return;const t=this._queue[0];t.pending&&!e||(t.pending=!0,t.tryCount++,this.flags=t.flags,this.emit.apply(this,t.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){typeof this.auth=="function"?this.auth(e=>{this._sendConnectPacket(e)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:a.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(e=>{if(!this.sendBuffer.some(s=>String(s.id)===e)){const s=this.acks[e];delete this.acks[e],s.withError&&s.call(this,new Error("socket has been disconnected"))}})}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case a.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case a.EVENT:case a.BINARY_EVENT:this.onevent(e);break;case a.ACK:case a.BINARY_ACK:this.onack(e);break;case a.DISCONNECT:this.ondisconnect();break;case a.CONNECT_ERROR:this.destroy();const s=new Error(e.data.message);s.data=e.data.data,this.emitReserved("connect_error",s);break}}onevent(e){const t=e.data||[];e.id!=null&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){const t=this._anyListeners.slice();for(const s of t)s.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&typeof e[e.length-1]=="string"&&(this._lastOffset=e[e.length-1])}ack(e){const t=this;let s=!1;return function(...i){s||(s=!0,t.packet({type:a.ACK,id:e,data:i}))}}onack(e){const t=this.acks[e.id];typeof t=="function"&&(delete this.acks[e.id],t.withError&&e.data.unshift(null),t.apply(this,e.data))}onconnect(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this._drainQueue(!0),this.emitReserved("connect")}emitBuffered(){this.receiveBuffer.forEach(e=>this.emitEvent(e)),this.receiveBuffer=[],this.sendBuffer.forEach(e=>{this.notifyOutgoingListeners(e),this.packet(e)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(e=>e()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:a.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){const t=this._anyListeners;for(let s=0;s0&&n.jitter<=1?n.jitter:0,this.attempts=0}w.prototype.duration=function(){var n=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),t=Math.floor(e*this.jitter*n);n=Math.floor(e*10)&1?n+t:n-t}return Math.min(n,this.max)|0};w.prototype.reset=function(){this.attempts=0};w.prototype.setMin=function(n){this.ms=n};w.prototype.setMax=function(n){this.max=n};w.prototype.setJitter=function(n){this.jitter=n};class H extends u{constructor(e,t){var s;super(),this.nsps={},this.subs=[],e&&typeof e=="object"&&(t=e,e=void 0),t=t||{},t.path=t.path||"/socket.io",this.opts=t,N(this,t),this.reconnection(t.reconnection!==!1),this.reconnectionAttempts(t.reconnectionAttempts||1/0),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor((s=t.randomizationFactor)!==null&&s!==void 0?s:.5),this.backoff=new w({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(t.timeout==null?2e4:t.timeout),this._readyState="closed",this.uri=e;const i=t.parser||ot;this.encoder=new i.Encoder,this.decoder=new i.Decoder,this._autoConnect=t.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,e||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(e){return e===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return e===void 0?this._reconnectionDelay:(this._reconnectionDelay=e,(t=this.backoff)===null||t===void 0||t.setMin(e),this)}randomizationFactor(e){var t;return e===void 0?this._randomizationFactor:(this._randomizationFactor=e,(t=this.backoff)===null||t===void 0||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return e===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,(t=this.backoff)===null||t===void 0||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(e){if(~this._readyState.indexOf("open"))return this;this.engine=new Xe(this.uri,this.opts);const t=this.engine,s=this;this._readyState="opening",this.skipReconnect=!1;const i=d(t,"open",function(){s.onopen(),e&&e()}),r=c=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",c),e?e(c):this.maybeReconnectOnOpen()},o=d(t,"error",r);if(this._timeout!==!1){const c=this._timeout,h=this.setTimeoutFn(()=>{i(),r(new Error("timeout")),t.close()},c);this.opts.autoUnref&&h.unref(),this.subs.push(()=>{this.clearTimeoutFn(h)})}return this.subs.push(i),this.subs.push(o),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const e=this.engine;this.subs.push(d(e,"ping",this.onping.bind(this)),d(e,"data",this.ondata.bind(this)),d(e,"error",this.onerror.bind(this)),d(e,"close",this.onclose.bind(this)),d(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(t){this.onclose("parse error",t)}}ondecoded(e){x(()=>{this.emitReserved("packet",e)},this.setTimeoutFn)}onerror(e){this.emitReserved("error",e)}socket(e,t){let s=this.nsps[e];return s?this._autoConnect&&!s.active&&s.connect():(s=new le(this,e,t),this.nsps[e]=s),s}_destroy(e){const t=Object.keys(this.nsps);for(const s of t)if(this.nsps[s].active)return;this._close()}_packet(e){const t=this.encoder.encode(e);for(let s=0;se()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close")}disconnect(){return this._close()}onclose(e,t){var s;this.cleanup(),(s=this.engine)===null||s===void 0||s.close(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const t=this.backoff.duration();this._reconnecting=!0;const s=this.setTimeoutFn(()=>{e.skipReconnect||(this.emitReserved("reconnect_attempt",e.backoff.attempts),!e.skipReconnect&&e.open(i=>{i?(e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",i)):e.onreconnect()}))},t);this.opts.autoUnref&&s.unref(),this.subs.push(()=>{this.clearTimeoutFn(s)})}}onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}const E={};function B(n,e){typeof n=="object"&&(e=n,n=void 0),e=e||{};const t=Qe(n,e.path||"/socket.io"),s=t.source,i=t.id,r=t.path,o=E[i]&&r in E[i].nsps,c=e.forceNew||e["force new connection"]||e.multiplex===!1||o;let h;return c?h=new H(s,e):(E[i]||(E[i]=new H(s,e)),h=E[i]),t.query&&!e.query&&(e.query=t.queryKey),h.socket(t.path,e)}Object.assign(B,{Manager:H,Socket:le,io:B,connect:B});let f=null,K=null;const T=new Set;function ct(){var t,s;if(de())return ye();const n=pe("server.domain"),e=(s=(t=import.meta)==null?void 0:t.env)==null?void 0:s.VITE_SERVER_URL;return n||e||window.location.origin}function L(){const n=ct();if(!f||K!==n){if(f){try{f.disconnect()}catch{}f=null}K=n,f=B(n,{transports:["polling","websocket"]}),T.forEach(({event:e,handler:t})=>{f.on(e,t)})}return f}function pt(n,e){return L().on(n,e),T.add({event:n,handler:e}),()=>ht(n,e)}function ht(n,e){if(f){f.off(n,e);for(const t of Array.from(T))t.event===n&&t.handler===e&&T.delete(t)}}function dt(n){const e=L();n&&e.emit("join-token",{token:n})}function yt(n){f&&f.emit("leave-token",{token:n})}function mt(){f&&f.emit("leave-all")}function gt(n){const e=L();return e.on("connect",n),()=>e.off("connect",n)}function _t(n,e=null){L().emit("send-event",{type:n,content:e})}function bt(){if(f){try{f.disconnect()}catch{}f=null,K=null,T.clear()}}export{gt as a,yt as b,ct as c,bt as d,L as g,dt as j,mt as l,pt as o,_t as s}; diff --git a/assets/socketClient-DM3fpE4o.js b/assets/socketClient-DM3fpE4o.js new file mode 100644 index 0000000..0e17f5e --- /dev/null +++ b/assets/socketClient-DM3fpE4o.js @@ -0,0 +1 @@ +import{l as f}from"./vendor-socket-CyTcV1HU.js";import{g as l}from"./index-Bqe1gKo7.js";import{i as a,g as u}from"./serverRotation-CLP7smnN.js";let e=null,c=null;const r=new Set;function m(){var o,s;if(a())return u();const n=l("server.domain"),t=(s=(o=import.meta)==null?void 0:o.env)==null?void 0:s.VITE_SERVER_URL;return n||t||window.location.origin}function i(){const n=m();if(!e||c!==n){if(e){try{e.disconnect()}catch{}e=null}c=n,e=f(n,{transports:["polling","websocket"]}),r.forEach(({event:t,handler:o})=>{e.on(t,o)})}return e}function k(n,t){return i().on(n,t),r.add({event:n,handler:t}),()=>g(n,t)}function g(n,t){if(e){e.off(n,t);for(const o of Array.from(r))o.event===n&&o.handler===t&&r.delete(o)}}function E(n){const t=i();n&&t.emit("join-token",{token:n})}function S(n){e&&e.emit("leave-token",{token:n})}function U(){e&&e.emit("leave-all")}function w(n){const t=i();return t.on("connect",n),()=>t.off("connect",n)}function R(n,t=null){i().emit("send-event",{type:n,content:t})}function b(){if(e){try{e.disconnect()}catch{}e=null,c=null,r.clear()}}export{k as a,S as b,m as c,b as d,i as g,E as j,U as l,w as o,R as s}; diff --git a/assets/soundList-BZnE47k0.js b/assets/soundList-BZnE47k0.js new file mode 100644 index 0000000..18f8f8a --- /dev/null +++ b/assets/soundList-BZnE47k0.js @@ -0,0 +1 @@ +const o=["Teams Ping.mp3","Teams Remix.mp3","Teams bounce.mp3","Teams incoming-ringtone-level30.mp3","Teams incoming-ringtone-level40.mp3","Teams meetup_ring.mp3","Teams screenshare_ring.mp3","Teams teams_meet_up_reminder.mp3","Teams teams_notification.mp3","Teams 优先处理.mp3","Teams 共鸣.mp3","Teams 召唤.mp3","Teams 叮铃.mp3","Teams 增强.mp3","Teams 尤里卡.mp3","Teams 弹拨.mp3","Teams 提醒.mp3","Teams 摇摆.mp3","Teams 时空.mp3","Teams 气泡(大声).mp3","Teams 气泡.mp3","Teams 波普.mp3","Teams 波纹.mp3","Teams 滴水.mp3","Teams 点击.mp3","Teams 蜂鸣声.mp3","Teams 警报.mp3","Teams 赋予希望.mp3","Teams 轻弹.mp3","Teams 进阶.mp3","Teams 重复振铃.mp3","Teams 颤振.mp3","Teams 高分.mp3","Teams 默认.mp3","Teams 默认通话铃.mp3"];function T(m){return m?`/sounds/${m}`:null}function r(m,p=!1){const s=T(m);if(!s)return console.warn("音频文件不存在:",m),null;try{const e=new Audio(s);e.loop=p;const a=e.play();return a!==void 0&&a.catch(n=>{console.warn("播放音频失败:",n.name,n.message)}),e}catch(e){return console.error("创建音频对象失败:",e),null}}function t(m){m&&(m.pause(),m.currentTime=0)}export{o as a,r as p,t as s}; diff --git a/assets/vendor-sentry-lCQUUJMT.js b/assets/vendor-sentry-lCQUUJMT.js new file mode 100644 index 0000000..3a80d5e --- /dev/null +++ b/assets/vendor-sentry-lCQUUJMT.js @@ -0,0 +1,501 @@ +const x=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,V=globalThis,Ft="10.41.0";function jt(){return os(V),V}function os(e){const t=e.__SENTRY__=e.__SENTRY__||{};return t.version=t.version||Ft,t[Ft]=t[Ft]||{}}function bn(e,t,n=V){const r=n.__SENTRY__=n.__SENTRY__||{},s=r[Ft]=r[Ft]||{};return s[e]||(s[e]=t())}const bd=["debug","info","warn","error","log","assert","trace"],Ed="Sentry Logger ",Ur={};function pt(e){if(!("console"in V))return e();const t=V.console,n={},r=Object.keys(Ur);r.forEach(s=>{const i=Ur[s];n[s]=t[s],t[s]=i});try{return e()}finally{r.forEach(s=>{t[s]=n[s]})}}function vd(){Ni().enabled=!0}function Td(){Ni().enabled=!1}function Rc(){return Ni().enabled}function wd(...e){Ai("log",...e)}function Id(...e){Ai("warn",...e)}function kd(...e){Ai("error",...e)}function Ai(e,...t){x&&Rc()&&pt(()=>{V.console[e](`${Ed}[${e}]:`,...t)})}function Ni(){return x?bn("loggerSettings",()=>({enabled:!1})):{enabled:!1}}const b={enable:vd,disable:Td,isEnabled:Rc,log:wd,warn:Id,error:kd},xc=50,Ut="?",Ro=/\(error: (.*)\)/,xo=/captureMessage|captureException/;function Mc(...e){const t=e.sort((n,r)=>n[0]-r[0]).map(n=>n[1]);return(n,r=0,s=0)=>{const i=[],o=n.split(` +`);for(let c=r;c1024&&(a=a.slice(0,1024));const u=Ro.test(a)?a.replace(Ro,"$1"):a;if(!u.match(/\S*Error: /)){for(const d of t){const l=d(u);if(l){i.push(l);break}}if(i.length>=xc+s)break}}return Rd(i.slice(s))}}function Cd(e){return Array.isArray(e)?Mc(...e):e}function Rd(e){if(!e.length)return[];const t=Array.from(e);return/sentryWrapped/.test(fr(t).function||"")&&t.pop(),t.reverse(),xo.test(fr(t).function||"")&&(t.pop(),xo.test(fr(t).function||"")&&t.pop()),t.slice(0,xc).map(n=>({...n,filename:n.filename||fr(t).filename,function:n.function||Ut}))}function fr(e){return e[e.length-1]||{}}const Ts="";function at(e){try{return!e||typeof e!="function"?Ts:e.name||Ts}catch{return Ts}}function Mo(e){const t=e.exception;if(t){const n=[];try{return t.values.forEach(r=>{r.stacktrace.frames&&n.push(...r.stacktrace.frames)}),n}catch{return}}}function Ac(e){return"__v_isVNode"in e&&e.__v_isVNode?"[VueVNode]":"[VueViewModel]"}const Ir={},Ao={};function Rt(e,t){Ir[e]=Ir[e]||[],Ir[e].push(t)}function xt(e,t){if(!Ao[e]){Ao[e]=!0;try{t()}catch(n){x&&b.error(`Error while instrumenting ${e}`,n)}}}function ze(e,t){const n=e&&Ir[e];if(n)for(const r of n)try{r(t)}catch(s){x&&b.error(`Error while triggering instrumentation handler. +Type: ${e} +Name: ${at(r)} +Error:`,s)}}let ws=null;function Nc(e){const t="error";Rt(t,e),xt(t,xd)}function xd(){ws=V.onerror,V.onerror=function(e,t,n,r,s){return ze("error",{column:r,error:s,line:n,msg:e,url:t}),ws?ws.apply(this,arguments):!1},V.onerror.__SENTRY_INSTRUMENTED__=!0}let Is=null;function Lc(e){const t="unhandledrejection";Rt(t,e),xt(t,Md)}function Md(){Is=V.onunhandledrejection,V.onunhandledrejection=function(e){return ze("unhandledrejection",e),Is?Is.apply(this,arguments):!0},V.onunhandledrejection.__SENTRY_INSTRUMENTED__=!0}const Dc=Object.prototype.toString;function as(e){switch(Dc.call(e)){case"[object Error]":case"[object Exception]":case"[object DOMException]":case"[object WebAssembly.Exception]":return!0;default:return ct(e,Error)}}function En(e,t){return Dc.call(e)===`[object ${t}]`}function Oc(e){return En(e,"ErrorEvent")}function No(e){return En(e,"DOMError")}function Ad(e){return En(e,"DOMException")}function rt(e){return En(e,"String")}function Li(e){return typeof e=="object"&&e!==null&&"__sentry_template_string__"in e&&"__sentry_template_values__"in e}function un(e){return e===null||Li(e)||typeof e!="object"&&typeof e!="function"}function Fn(e){return En(e,"Object")}function cs(e){return typeof Event<"u"&&ct(e,Event)}function Nd(e){return typeof Element<"u"&&ct(e,Element)}function Ld(e){return En(e,"RegExp")}function vn(e){return!!(e!=null&&e.then&&typeof e.then=="function")}function Dd(e){return Fn(e)&&"nativeEvent"in e&&"preventDefault"in e&&"stopPropagation"in e}function ct(e,t){try{return e instanceof t}catch{return!1}}function Pc(e){return!!(typeof e=="object"&&e!==null&&(e.__isVue||e._isVue||e.__v_isVNode))}function Di(e){return typeof Request<"u"&&ct(e,Request)}const Oi=V,Od=80;function De(e,t={}){if(!e)return"";try{let n=e;const r=5,s=[];let i=0,o=0;const c=" > ",a=c.length;let u;const d=Array.isArray(t)?t:t.keyAttrs,l=!Array.isArray(t)&&t.maxStringLength||Od;for(;n&&i++1&&o+s.length*a+u.length>=l));)s.push(u),o+=u.length,n=n.parentNode;return s.reverse().join(c)}catch{return""}}function Pd(e,t){const n=e,r=[];if(!(n!=null&&n.tagName))return"";if(Oi.HTMLElement&&n instanceof HTMLElement&&n.dataset){if(n.dataset.sentryComponent)return n.dataset.sentryComponent;if(n.dataset.sentryElement)return n.dataset.sentryElement}r.push(n.tagName.toLowerCase());const s=t!=null&&t.length?t.filter(o=>n.getAttribute(o)).map(o=>[o,n.getAttribute(o)]):null;if(s!=null&&s.length)s.forEach(o=>{r.push(`[${o[0]}="${o[1]}"]`)});else{n.id&&r.push(`#${n.id}`);const o=n.className;if(o&&rt(o)){const c=o.split(/\s+/);for(const a of c)r.push(`.${a}`)}}const i=["aria-label","type","name","title","alt"];for(const o of i){const c=n.getAttribute(o);c&&r.push(`[${o}="${c}"]`)}return r.join("")}function Vt(){try{return Oi.document.location.href}catch{return""}}function Fc(e){if(!Oi.HTMLElement)return null;let t=e;const n=5;for(let r=0;r"}}function Do(e){if(typeof e=="object"&&e!==null){const t={};for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}else return{}}function Fd(e){const t=Object.keys(Bc(e));return t.sort(),t[0]?t.join(", "):"[object has no keys]"}let Kt;function Gn(e){if(Kt!==void 0)return Kt?Kt(e):e();const t=Symbol.for("__SENTRY_SAFE_RANDOM_ID_WRAPPER__"),n=V;return t in n&&typeof n[t]=="function"?(Kt=n[t],Kt(e)):(Kt=null,e())}function bt(){return Gn(()=>Math.random())}function Yn(){return Gn(()=>Date.now())}function Xs(e,t=0){return typeof e!="string"||t===0||e.length<=t?e:`${e.slice(0,t)}...`}function Oo(e,t){if(!Array.isArray(e))return"";const n=[];for(let r=0;rkr(e,r,n))}function $d(){const e=V;return e.crypto||e.msCrypto}let ks;function Bd(){return bt()*16}function Be(e=$d()){try{if(e!=null&&e.randomUUID)return Gn(()=>e.randomUUID()).replace(/-/g,"")}catch{}return ks||(ks="10000000100040008000"+1e11),ks.replace(/[018]/g,t=>(t^(Bd()&15)>>t/4).toString(16))}function Hc(e){var t,n;return(n=(t=e.exception)==null?void 0:t.values)==null?void 0:n[0]}function Nt(e){const{message:t,event_id:n}=e;if(t)return t;const r=Hc(e);return r?r.type&&r.value?`${r.type}: ${r.value}`:r.type||r.value||n||"":n||""}function Js(e,t,n){const r=e.exception=e.exception||{},s=r.values=r.values||[],i=s[0]=s[0]||{};i.value||(i.value=t||""),i.type||(i.type="Error")}function ln(e,t){const n=Hc(e);if(!n)return;const r={type:"generic",handled:!0},s=n.mechanism;if(n.mechanism={...r,...s,...t},t&&"data"in t){const i={...s==null?void 0:s.data,...t.data};n.mechanism.data=i}}function Po(e){if(Hd(e))return!0;try{Oe(e,"__sentry_captured__",!0)}catch{}return!1}function Hd(e){try{return e.__sentry_captured__}catch{}}const Uc=1e3;function Gt(){return Yn()/Uc}function Ud(){const{performance:e}=V;if(!(e!=null&&e.now)||!e.timeOrigin)return Gt;const t=e.timeOrigin;return()=>(t+Gn(()=>e.now()))/Uc}let Fo;function _e(){return(Fo??(Fo=Ud()))()}let Cs=null;function Wd(){var o;const{performance:e}=V;if(!(e!=null&&e.now))return;const t=3e5,n=Gn(()=>e.now()),r=Yn(),s=e.timeOrigin;if(typeof s=="number"&&Math.abs(s+n-r)jd(n)};return e&&dn(n,e),n}function dn(e,t={}){if(t.user&&(!e.ipAddress&&t.user.ip_address&&(e.ipAddress=t.user.ip_address),!e.did&&!t.did&&(e.did=t.user.id||t.user.email||t.user.username)),e.timestamp=t.timestamp||_e(),t.abnormal_mechanism&&(e.abnormal_mechanism=t.abnormal_mechanism),t.ignoreDuration&&(e.ignoreDuration=t.ignoreDuration),t.sid&&(e.sid=t.sid.length===32?t.sid:Be()),t.init!==void 0&&(e.init=t.init),!e.did&&t.did&&(e.did=`${t.did}`),typeof t.started=="number"&&(e.started=t.started),e.ignoreDuration)e.duration=void 0;else if(typeof t.duration=="number")e.duration=t.duration;else{const n=e.timestamp-e.started;e.duration=n>=0?n:0}t.release&&(e.release=t.release),t.environment&&(e.environment=t.environment),!e.ipAddress&&t.ipAddress&&(e.ipAddress=t.ipAddress),!e.userAgent&&t.userAgent&&(e.userAgent=t.userAgent),typeof t.errors=="number"&&(e.errors=t.errors),t.status&&(e.status=t.status)}function qd(e,t){let n={};e.status==="ok"&&(n={status:"exited"}),dn(e,n)}function jd(e){return{sid:`${e.sid}`,init:e.init,started:new Date(e.started*1e3).toISOString(),timestamp:new Date(e.timestamp*1e3).toISOString(),status:e.status,errors:e.errors,did:typeof e.did=="number"||typeof e.did=="string"?`${e.did}`:void 0,duration:e.duration,abnormal_mechanism:e.abnormal_mechanism,attrs:{release:e.release,environment:e.environment,ip_address:e.ipAddress,user_agent:e.userAgent}}}function Kn(e,t,n=2){if(!t||typeof t!="object"||n<=0)return t;if(e&&Object.keys(t).length===0)return e;const r={...e};for(const s in t)Object.prototype.hasOwnProperty.call(t,s)&&(r[s]=Kn(r[s],t[s],n-1));return r}function ut(){return Be()}function it(){return Be().substring(16)}const Zs="_sentrySpan";function fn(e,t){t?Oe(e,Zs,t):delete e[Zs]}function Wr(e){return e[Zs]}const Vd=100;class et{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._attributes={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext={traceId:ut(),sampleRand:bt()}}clone(){const t=new et;return t._breadcrumbs=[...this._breadcrumbs],t._tags={...this._tags},t._attributes={...this._attributes},t._extra={...this._extra},t._contexts={...this._contexts},this._contexts.flags&&(t._contexts.flags={values:[...this._contexts.flags.values]}),t._user=this._user,t._level=this._level,t._session=this._session,t._transactionName=this._transactionName,t._fingerprint=this._fingerprint,t._eventProcessors=[...this._eventProcessors],t._attachments=[...this._attachments],t._sdkProcessingMetadata={...this._sdkProcessingMetadata},t._propagationContext={...this._propagationContext},t._client=this._client,t._lastEventId=this._lastEventId,t._conversationId=this._conversationId,fn(t,Wr(this)),t}setClient(t){this._client=t}setLastEventId(t){this._lastEventId=t}getClient(){return this._client}lastEventId(){return this._lastEventId}addScopeListener(t){this._scopeListeners.push(t)}addEventProcessor(t){return this._eventProcessors.push(t),this}setUser(t){return this._user=t||{email:void 0,id:void 0,ip_address:void 0,username:void 0},this._session&&dn(this._session,{user:t}),this._notifyScopeListeners(),this}getUser(){return this._user}setConversationId(t){return this._conversationId=t||void 0,this._notifyScopeListeners(),this}setTags(t){return this._tags={...this._tags,...t},this._notifyScopeListeners(),this}setTag(t,n){return this.setTags({[t]:n})}setAttributes(t){return this._attributes={...this._attributes,...t},this._notifyScopeListeners(),this}setAttribute(t,n){return this.setAttributes({[t]:n})}removeAttribute(t){return t in this._attributes&&(delete this._attributes[t],this._notifyScopeListeners()),this}setExtras(t){return this._extra={...this._extra,...t},this._notifyScopeListeners(),this}setExtra(t,n){return this._extra={...this._extra,[t]:n},this._notifyScopeListeners(),this}setFingerprint(t){return this._fingerprint=t,this._notifyScopeListeners(),this}setLevel(t){return this._level=t,this._notifyScopeListeners(),this}setTransactionName(t){return this._transactionName=t,this._notifyScopeListeners(),this}setContext(t,n){return n===null?delete this._contexts[t]:this._contexts[t]=n,this._notifyScopeListeners(),this}setSession(t){return t?this._session=t:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(t){if(!t)return this;const n=typeof t=="function"?t(this):t,r=n instanceof et?n.getScopeData():Fn(n)?t:void 0,{tags:s,attributes:i,extra:o,user:c,contexts:a,level:u,fingerprint:d=[],propagationContext:l,conversationId:f}=r||{};return this._tags={...this._tags,...s},this._attributes={...this._attributes,...i},this._extra={...this._extra,...o},this._contexts={...this._contexts,...a},c&&Object.keys(c).length&&(this._user=c),u&&(this._level=u),d.length&&(this._fingerprint=d),l&&(this._propagationContext=l),f&&(this._conversationId=f),this}clear(){return this._breadcrumbs=[],this._tags={},this._attributes={},this._extra={},this._user={},this._contexts={},this._level=void 0,this._transactionName=void 0,this._fingerprint=void 0,this._session=void 0,this._conversationId=void 0,fn(this,void 0),this._attachments=[],this.setPropagationContext({traceId:ut(),sampleRand:bt()}),this._notifyScopeListeners(),this}addBreadcrumb(t,n){var i;const r=typeof n=="number"?n:Vd;if(r<=0)return this;const s={timestamp:Gt(),...t,message:t.message?Xs(t.message,2048):t.message};return this._breadcrumbs.push(s),this._breadcrumbs.length>r&&(this._breadcrumbs=this._breadcrumbs.slice(-r),(i=this._client)==null||i.recordDroppedEvent("buffer_overflow","log_item")),this._notifyScopeListeners(),this}getLastBreadcrumb(){return this._breadcrumbs[this._breadcrumbs.length-1]}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(t){return this._attachments.push(t),this}clearAttachments(){return this._attachments=[],this}getScopeData(){return{breadcrumbs:this._breadcrumbs,attachments:this._attachments,contexts:this._contexts,tags:this._tags,attributes:this._attributes,extra:this._extra,user:this._user,level:this._level,fingerprint:this._fingerprint||[],eventProcessors:this._eventProcessors,propagationContext:this._propagationContext,sdkProcessingMetadata:this._sdkProcessingMetadata,transactionName:this._transactionName,span:Wr(this),conversationId:this._conversationId}}setSDKProcessingMetadata(t){return this._sdkProcessingMetadata=Kn(this._sdkProcessingMetadata,t,2),this}setPropagationContext(t){return this._propagationContext=t,this}getPropagationContext(){return this._propagationContext}captureException(t,n){const r=(n==null?void 0:n.event_id)||Be();if(!this._client)return x&&b.warn("No client configured on scope - will not capture exception!"),r;const s=new Error("Sentry syntheticException");return this._client.captureException(t,{originalException:t,syntheticException:s,...n,event_id:r},this),r}captureMessage(t,n,r){const s=(r==null?void 0:r.event_id)||Be();if(!this._client)return x&&b.warn("No client configured on scope - will not capture message!"),s;const i=(r==null?void 0:r.syntheticException)??new Error(t);return this._client.captureMessage(t,n,{originalException:t,syntheticException:i,...r,event_id:s},this),s}captureEvent(t,n){const r=t.event_id||(n==null?void 0:n.event_id)||Be();return this._client?(this._client.captureEvent(t,{...n,event_id:r},this),r):(x&&b.warn("No client configured on scope - will not capture event!"),r)}_notifyScopeListeners(){this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach(t=>{t(this)}),this._notifyingListeners=!1)}}function Gd(){return bn("defaultCurrentScope",()=>new et)}function Yd(){return bn("defaultIsolationScope",()=>new et)}class Kd{constructor(t,n){let r;t?r=t:r=new et;let s;n?s=n:s=new et,this._stack=[{scope:r}],this._isolationScope=s}withScope(t){const n=this._pushScope();let r;try{r=t(n)}catch(s){throw this._popScope(),s}return vn(r)?r.then(s=>(this._popScope(),s),s=>{throw this._popScope(),s}):(this._popScope(),r)}getClient(){return this.getStackTop().client}getScope(){return this.getStackTop().scope}getIsolationScope(){return this._isolationScope}getStackTop(){return this._stack[this._stack.length-1]}_pushScope(){const t=this.getScope().clone();return this._stack.push({client:this.getClient(),scope:t}),t}_popScope(){return this._stack.length<=1?!1:!!this._stack.pop()}}function pn(){const e=jt(),t=os(e);return t.stack=t.stack||new Kd(Gd(),Yd())}function Xd(e){return pn().withScope(e)}function Jd(e,t){const n=pn();return n.withScope(()=>(n.getStackTop().scope=e,t(e)))}function $o(e){return pn().withScope(()=>e(pn().getIsolationScope()))}function Zd(){return{withIsolationScope:$o,withScope:Xd,withSetScope:Jd,withSetIsolationScope:(e,t)=>$o(t),getCurrentScope:()=>pn().getScope(),getIsolationScope:()=>pn().getIsolationScope()}}function Tn(e){const t=os(e);return t.acs?t.acs:Zd()}function ee(){const e=jt();return Tn(e).getCurrentScope()}function Re(){const e=jt();return Tn(e).getIsolationScope()}function Wc(){return bn("globalScope",()=>new et)}function us(...e){const t=jt(),n=Tn(t);if(e.length===2){const[r,s]=e;return r?n.withSetScope(r,s):n.withScope(s)}return n.withScope(e[0])}function z(){return ee().getClient()}function Qd(e){const t=e.getPropagationContext(),{traceId:n,parentSpanId:r,propagationSpanId:s}=t,i={trace_id:n,span_id:s||it()};return r&&(i.parent_span_id=r),i}const Le="sentry.source",Fi="sentry.sample_rate",zc="sentry.previous_trace_sample_rate",lt="sentry.op",fe="sentry.origin",$n="sentry.idle_span_finish_reason",Xn="sentry.measurement_unit",Jn="sentry.measurement_value",Bo="sentry.custom_span_name",$i="sentry.profile_id",wn="sentry.exclusive_time",ef="sentry.link.type",tf="gen_ai.conversation.id",nf=0,Bi=1,ye=2;function rf(e){if(e<400&&e>=100)return{code:Bi};if(e>=400&&e<500)switch(e){case 401:return{code:ye,message:"unauthenticated"};case 403:return{code:ye,message:"permission_denied"};case 404:return{code:ye,message:"not_found"};case 409:return{code:ye,message:"already_exists"};case 413:return{code:ye,message:"failed_precondition"};case 429:return{code:ye,message:"resource_exhausted"};case 499:return{code:ye,message:"cancelled"};default:return{code:ye,message:"invalid_argument"}}if(e>=500&&e<600)switch(e){case 501:return{code:ye,message:"unimplemented"};case 503:return{code:ye,message:"unavailable"};case 504:return{code:ye,message:"deadline_exceeded"};default:return{code:ye,message:"internal_error"}}return{code:ye,message:"internal_error"}}function qc(e,t){e.setAttribute("http.response.status_code",t);const n=rf(t);n.message!=="unknown_error"&&e.setStatus(n)}const jc="_sentryScope",Vc="_sentryIsolationScope";function sf(e){try{const t=V.WeakRef;if(typeof t=="function")return new t(e)}catch{}return e}function of(e){if(e){if(typeof e=="object"&&"deref"in e&&typeof e.deref=="function")try{return e.deref()}catch{return}return e}}function af(e,t,n){e&&(Oe(e,Vc,sf(n)),Oe(e,jc,t))}function zr(e){const t=e;return{scope:t[jc],isolationScope:of(t[Vc])}}const Hi="sentry-",cf=/^sentry-/,uf=8192;function Gc(e){const t=df(e);if(!t)return;const n=Object.entries(t).reduce((r,[s,i])=>{if(s.match(cf)){const o=s.slice(Hi.length);r[o]=i}return r},{});if(Object.keys(n).length>0)return n}function lf(e){if(!e)return;const t=Object.entries(e).reduce((n,[r,s])=>(s&&(n[`${Hi}${r}`]=s),n),{});return ff(t)}function df(e){if(!(!e||!rt(e)&&!Array.isArray(e)))return Array.isArray(e)?e.reduce((t,n)=>{const r=Ho(n);return Object.entries(r).forEach(([s,i])=>{t[s]=i}),t},{}):Ho(e)}function Ho(e){return e.split(",").map(t=>{const n=t.indexOf("=");if(n===-1)return[];const r=t.slice(0,n),s=t.slice(n+1);return[r,s].map(i=>{try{return decodeURIComponent(i.trim())}catch{return}})}).reduce((t,[n,r])=>(n&&r&&(t[n]=r),t),{})}function ff(e){if(Object.keys(e).length!==0)return Object.entries(e).reduce((t,[n,r],s)=>{const i=`${encodeURIComponent(n)}=${encodeURIComponent(r)}`,o=s===0?i:`${t},${i}`;return o.length>uf?(x&&b.warn(`Not adding key: ${n} with val: ${r} to baggage header due to exceeding baggage size limits.`),t):o},"")}const pf=/^o(\d+)\./,hf=/^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)((?:\[[:.%\w]+\]|[\w.-]+))(?::(\d+))?\/(.+)/;function mf(e){return e==="http"||e==="https"}function In(e,t=!1){const{host:n,path:r,pass:s,port:i,projectId:o,protocol:c,publicKey:a}=e;return`${c}://${a}${t&&s?`:${s}`:""}@${n}${i?`:${i}`:""}/${r&&`${r}/`}${o}`}function _f(e){const t=hf.exec(e);if(!t){pt(()=>{console.error(`Invalid Sentry Dsn: ${e}`)});return}const[n,r,s="",i="",o="",c=""]=t.slice(1);let a="",u=c;const d=u.split("/");if(d.length>1&&(a=d.slice(0,-1).join("/"),u=d.pop()),u){const l=u.match(/^\d+/);l&&(u=l[0])}return Yc({host:i,pass:s,path:a,projectId:u,port:o,protocol:n,publicKey:r})}function Yc(e){return{protocol:e.protocol,publicKey:e.publicKey||"",pass:e.pass||"",host:e.host,port:e.port||"",path:e.path||"",projectId:e.projectId}}function gf(e){if(!x)return!0;const{port:t,projectId:n,protocol:r}=e;return["protocol","publicKey","host","projectId"].find(o=>e[o]?!1:(b.error(`Invalid Sentry Dsn: ${o} missing`),!0))?!1:n.match(/^\d+$/)?mf(r)?t&&isNaN(parseInt(t,10))?(b.error(`Invalid Sentry Dsn: Invalid port ${t}`),!1):!0:(b.error(`Invalid Sentry Dsn: Invalid protocol ${r}`),!1):(b.error(`Invalid Sentry Dsn: Invalid projectId ${n}`),!1)}function yf(e){const t=e.match(pf);return t==null?void 0:t[1]}function Sf(e){const t=e.getOptions(),{host:n}=e.getDsn()||{};let r;return t.orgId?r=String(t.orgId):n&&(r=yf(n)),r}function bf(e){const t=typeof e=="string"?_f(e):Yc(e);if(!(!t||!gf(t)))return t}function Wt(e){if(typeof e=="boolean")return Number(e);const t=typeof e=="string"?parseFloat(e):e;if(!(typeof t!="number"||isNaN(t)||t<0||t>1))return t}const Kc=new RegExp("^[ \\t]*([0-9a-f]{32})?-?([0-9a-f]{16})?-?([01])?[ \\t]*$");function Ef(e){if(!e)return;const t=e.match(Kc);if(!t)return;let n;return t[3]==="1"?n=!0:t[3]==="0"&&(n=!1),{traceId:t[1],parentSampled:n,parentSpanId:t[2]}}function vf(e,t){const n=Ef(e),r=Gc(t);if(!(n!=null&&n.traceId))return{traceId:ut(),sampleRand:bt()};const s=Tf(n,r);r&&(r.sample_rand=s.toString());const{traceId:i,parentSpanId:o,parentSampled:c}=n;return{traceId:i,parentSpanId:o,sampled:c,dsc:r||{},sampleRand:s}}function Xc(e=ut(),t=it(),n){let r="";return n!==void 0&&(r=n?"-1":"-0"),`${e}-${t}${r}`}function Jc(e=ut(),t=it(),n){return`00-${e}-${t}-${n?"01":"00"}`}function Tf(e,t){const n=Wt(t==null?void 0:t.sample_rand);if(n!==void 0)return n;const r=Wt(t==null?void 0:t.sample_rate);return r&&(e==null?void 0:e.parentSampled)!==void 0?e.parentSampled?bt()*r:r+bt()*(1-r):bt()}const Zc=0,Ui=1;let Uo=!1;function wf(e){const{spanId:t,traceId:n}=e.spanContext(),{data:r,op:s,parent_span_id:i,status:o,origin:c,links:a}=K(e);return{parent_span_id:i,span_id:t,trace_id:n,data:r,op:s,status:o,origin:c,links:a}}function If(e){const{spanId:t,traceId:n,isRemote:r}=e.spanContext(),s=r?t:K(e).parent_span_id,i=zr(e).scope,o=r?(i==null?void 0:i.getPropagationContext().propagationSpanId)||it():t;return{parent_span_id:s,span_id:o,trace_id:n}}function kf(e){const{traceId:t,spanId:n}=e.spanContext(),r=Mt(e);return Xc(t,n,r)}function Cf(e){const{traceId:t,spanId:n}=e.spanContext(),r=Mt(e);return Jc(t,n,r)}function Qc(e){if(e&&e.length>0)return e.map(({context:{spanId:t,traceId:n,traceFlags:r,...s},attributes:i})=>({span_id:t,trace_id:n,sampled:r===Ui,attributes:i,...s}))}function $t(e){return typeof e=="number"?Wo(e):Array.isArray(e)?e[0]+e[1]/1e9:e instanceof Date?Wo(e.getTime()):_e()}function Wo(e){return e>9999999999?e/1e3:e}function K(e){var r;if(xf(e))return e.getSpanJSON();const{spanId:t,traceId:n}=e.spanContext();if(Rf(e)){const{attributes:s,startTime:i,name:o,endTime:c,status:a,links:u}=e,d="parentSpanId"in e?e.parentSpanId:"parentSpanContext"in e?(r=e.parentSpanContext)==null?void 0:r.spanId:void 0;return{span_id:t,trace_id:n,data:s,description:o,parent_span_id:d,start_timestamp:$t(i),timestamp:$t(c)||void 0,status:eu(a),op:s[lt],origin:s[fe],links:Qc(u)}}return{span_id:t,trace_id:n,start_timestamp:0,data:{}}}function Rf(e){const t=e;return!!t.attributes&&!!t.startTime&&!!t.name&&!!t.endTime&&!!t.status}function xf(e){return typeof e.getSpanJSON=="function"}function Mt(e){const{traceFlags:t}=e.spanContext();return t===Ui}function eu(e){if(!(!e||e.code===nf))return e.code===Bi?"ok":e.message||"internal_error"}const Bt="_sentryChildSpans",Qs="_sentryRootSpan";function tu(e,t){const n=e[Qs]||e;Oe(t,Qs,n),e[Bt]?e[Bt].add(t):Oe(e,Bt,new Set([t]))}function Mf(e,t){e[Bt]&&e[Bt].delete(t)}function Cr(e){const t=new Set;function n(r){if(!t.has(r)&&Mt(r)){t.add(r);const s=r[Bt]?Array.from(r[Bt]):[];for(const i of s)n(i)}}return n(e),Array.from(t)}function ve(e){return e[Qs]||e}function Te(){const e=jt(),t=Tn(e);return t.getActiveSpan?t.getActiveSpan():Wr(ee())}function ei(){Uo||(pt(()=>{console.warn("[Sentry] Returning null from `beforeSendSpan` is disallowed. To drop certain spans, configure the respective integrations directly or use `ignoreSpans`.")}),Uo=!0)}let zo=!1;function Af(){if(zo)return;function e(){const t=Te(),n=t&&ve(t);if(n){const r="internal_error";x&&b.log(`[Tracing] Root span: ${r} -> Global error occurred`),n.setStatus({code:ye,message:r})}}e.tag="sentry_tracingErrorCallback",zo=!0,Nc(e),Lc(e)}function qe(e){var n;if(typeof __SENTRY_TRACING__=="boolean"&&!__SENTRY_TRACING__)return!1;const t=e||((n=z())==null?void 0:n.getOptions());return!!t&&(t.tracesSampleRate!=null||!!t.tracesSampler)}function qo(e){b.log(`Ignoring span ${e.op} - ${e.description} because it matches \`ignoreSpans\`.`)}function qr(e,t){if(!(t!=null&&t.length)||!e.description)return!1;for(const n of t){if(Lf(n)){if(kr(e.description,n))return x&&qo(e),!0;continue}if(!n.name&&!n.op)continue;const r=n.name?kr(e.description,n.name):!0,s=n.op?e.op&&kr(e.op,n.op):!0;if(r&&s)return x&&qo(e),!0}return!1}function Nf(e,t){const n=t.parent_span_id,r=t.span_id;if(n)for(const s of e)s.parent_span_id===r&&(s.parent_span_id=n)}function Lf(e){return typeof e=="string"||e instanceof RegExp}const Wi="production",nu="_frozenDsc";function Rr(e,t){Oe(e,nu,t)}function ru(e,t){const n=t.getOptions(),{publicKey:r}=t.getDsn()||{},s={environment:n.environment||Wi,release:n.release,public_key:r,trace_id:e,org_id:Sf(t)};return t.emit("createDsc",s),s}function su(e,t){const n=t.getPropagationContext();return n.dsc||ru(n.traceId,e)}function dt(e){var h;const t=z();if(!t)return{};const n=ve(e),r=K(n),s=r.data,i=n.spanContext().traceState,o=(i==null?void 0:i.get("sentry.sample_rate"))??s[Fi]??s[zc];function c(m){return(typeof o=="number"||typeof o=="string")&&(m.sample_rate=`${o}`),m}const a=n[nu];if(a)return c(a);const u=i==null?void 0:i.get("sentry.dsc"),d=u&&Gc(u);if(d)return c(d);const l=ru(e.spanContext().traceId,t),f=s[Le],p=r.description;return f!=="url"&&p&&(l.transaction=p),qe()&&(l.sampled=String(Mt(n)),l.sample_rand=(i==null?void 0:i.get("sentry.sample_rand"))??((h=zr(n).scope)==null?void 0:h.getPropagationContext().sampleRand.toString())),c(l),t.emit("createDsc",l,n),l}class wt{constructor(t={}){this._traceId=t.traceId||ut(),this._spanId=t.spanId||it()}spanContext(){return{spanId:this._spanId,traceId:this._traceId,traceFlags:Zc}}end(t){}setAttribute(t,n){return this}setAttributes(t){return this}setStatus(t){return this}updateName(t){return this}isRecording(){return!1}addEvent(t,n,r){return this}addLink(t){return this}addLinks(t){return this}recordException(t,n){}}function Xe(e,t=100,n=1/0){try{return ti("",e,t,n)}catch(r){return{ERROR:`**non-serializable** (${r})`}}}function iu(e,t=3,n=100*1024){const r=Xe(e,t);return Ff(r)>n?iu(e,t-1,n):r}function ti(e,t,n=1/0,r=1/0,s=$f()){const[i,o]=s;if(t==null||["boolean","string"].includes(typeof t)||typeof t=="number"&&Number.isFinite(t))return t;const c=Df(e,t);if(!c.startsWith("[object "))return c;if(t.__sentry_skip_normalization__)return t;const a=typeof t.__sentry_override_normalization_depth__=="number"?t.__sentry_override_normalization_depth__:n;if(a===0)return c.replace("object ","");if(i(t))return"[Circular ~]";const u=t;if(u&&typeof u.toJSON=="function")try{const p=u.toJSON();return ti("",p,a-1,r,s)}catch{}const d=Array.isArray(t)?[]:{};let l=0;const f=Bc(t);for(const p in f){if(!Object.prototype.hasOwnProperty.call(f,p))continue;if(l>=r){d[p]="[MaxProperties ~]";break}const h=f[p];d[p]=ti(p,h,a-1,r,s),l++}return o(t),d}function Df(e,t){try{if(e==="domain"&&t&&typeof t=="object"&&t._events)return"[Domain]";if(e==="domainEmitter")return"[DomainEmitter]";if(typeof global<"u"&&t===global)return"[Global]";if(typeof window<"u"&&t===window)return"[Window]";if(typeof document<"u"&&t===document)return"[Document]";if(Pc(t))return Ac(t);if(Dd(t))return"[SyntheticEvent]";if(typeof t=="number"&&!Number.isFinite(t))return`[${t}]`;if(typeof t=="function")return`[Function: ${at(t)}]`;if(typeof t=="symbol")return`[${String(t)}]`;if(typeof t=="bigint")return`[BigInt: ${String(t)}]`;const n=Of(t);return/^HTML(\w*)Element$/.test(n)?`[HTMLElement: ${n}]`:`[object ${n}]`}catch(n){return`**non-serializable** (${n})`}}function Of(e){const t=Object.getPrototypeOf(e);return t!=null&&t.constructor?t.constructor.name:"null prototype"}function Pf(e){return~-encodeURI(e).split(/%..|./).length}function Ff(e){return Pf(JSON.stringify(e))}function $f(){const e=new WeakSet;function t(r){return e.has(r)?!0:(e.add(r),!1)}function n(r){e.delete(r)}return[t,n]}function At(e,t=[]){return[e,t]}function Bf(e,t){const[n,r]=e;return[n,[...r,t]]}function ni(e,t){const n=e[1];for(const r of n){const s=r[0].type;if(t(r,s))return!0}return!1}function Hf(e,t){return ni(e,(n,r)=>t.includes(r))}function ri(e){const t=os(V);return t.encodePolyfill?t.encodePolyfill(e):new TextEncoder().encode(e)}function Uf(e){const[t,n]=e;let r=JSON.stringify(t);function s(i){typeof r=="string"?r=typeof i=="string"?r+i:[ri(r),i]:r.push(typeof i=="string"?ri(i):i)}for(const i of n){const[o,c]=i;if(s(` +${JSON.stringify(o)} +`),typeof c=="string"||c instanceof Uint8Array)s(c);else{let a;try{a=JSON.stringify(c)}catch{a=JSON.stringify(Xe(c))}s(a)}}return typeof r=="string"?r:Wf(r)}function Wf(e){const t=e.reduce((s,i)=>s+i.length,0),n=new Uint8Array(t);let r=0;for(const s of e)n.set(s,r),r+=s.length;return n}function zf(e){return[{type:"span"},e]}function qf(e){const t=typeof e.data=="string"?ri(e.data):e.data;return[{type:"attachment",length:t.length,filename:e.filename,content_type:e.contentType,attachment_type:e.attachmentType},t]}const jf={session:"session",sessions:"session",attachment:"attachment",transaction:"transaction",event:"error",client_report:"internal",user_report:"default",profile:"profile",profile_chunk:"profile",replay_event:"replay",replay_recording:"replay",check_in:"monitor",feedback:"feedback",span:"span",raw_security:"security",log:"log_item",metric:"metric",trace_metric:"metric"};function jo(e){return jf[e]}function zi(e){if(!(e!=null&&e.sdk))return;const{name:t,version:n}=e.sdk;return{name:t,version:n}}function ou(e,t,n,r){var i;const s=(i=e.sdkProcessingMetadata)==null?void 0:i.dynamicSamplingContext;return{event_id:e.event_id,sent_at:new Date().toISOString(),...t&&{sdk:t},...!!n&&r&&{dsn:In(r)},...s&&{trace:s}}}function Vf(e,t){var r,s,i,o;if(!t)return e;const n=e.sdk||{};return e.sdk={...n,name:n.name||t.name,version:n.version||t.version,integrations:[...((r=e.sdk)==null?void 0:r.integrations)||[],...t.integrations||[]],packages:[...((s=e.sdk)==null?void 0:s.packages)||[],...t.packages||[]],settings:(i=e.sdk)!=null&&i.settings||t.settings?{...(o=e.sdk)==null?void 0:o.settings,...t.settings}:void 0},e}function Gf(e,t,n,r){const s=zi(n),i={sent_at:new Date().toISOString(),...s&&{sdk:s},...!!r&&t&&{dsn:In(t)}},o="aggregates"in e?[{type:"sessions"},e]:[{type:"session"},e.toJSON()];return At(i,[o])}function Yf(e,t,n,r){const s=zi(n),i=e.type&&e.type!=="replay_event"?e.type:"event";Vf(e,n==null?void 0:n.sdk);const o=ou(e,s,r,t);return delete e.sdkProcessingMetadata,At(o,[[{type:i},e]])}function Kf(e,t){function n(p){return!!p.trace_id&&!!p.public_key}const r=dt(e[0]),s=t==null?void 0:t.getDsn(),i=t==null?void 0:t.getOptions().tunnel,o={sent_at:new Date().toISOString(),...n(r)&&{trace:r},...!!i&&s&&{dsn:In(s)}},{beforeSendSpan:c,ignoreSpans:a}=(t==null?void 0:t.getOptions())||{},u=a!=null&&a.length?e.filter(p=>!qr(K(p),a)):e,d=e.length-u.length;d&&(t==null||t.recordDroppedEvent("before_send","span",d));const l=c?p=>{const h=K(p),m=c(h);return m||(ei(),h)}:K,f=[];for(const p of u){const h=l(p);h&&f.push(zf(h))}return At(o,f)}function Xf(e){if(!x)return;const{description:t="< unknown name >",op:n="< unknown op >",parent_span_id:r}=K(e),{spanId:s}=e.spanContext(),i=Mt(e),o=ve(e),c=o===e,a=`[Tracing] Starting ${i?"sampled":"unsampled"} ${c?"root ":""}span`,u=[`op: ${n}`,`name: ${t}`,`ID: ${s}`];if(r&&u.push(`parent ID: ${r}`),!c){const{op:d,description:l}=K(o);u.push(`root ID: ${o.spanContext().spanId}`),d&&u.push(`root op: ${d}`),l&&u.push(`root description: ${l}`)}b.log(`${a} + ${u.join(` + `)}`)}function Jf(e){if(!x)return;const{description:t="< unknown name >",op:n="< unknown op >"}=K(e),{spanId:r}=e.spanContext(),i=ve(e)===e,o=`[Tracing] Finishing "${n}" ${i?"root ":""}span "${t}" with ID ${r}`;b.log(o)}function Zf(e,t,n,r=Te()){const s=r&&ve(r);s&&(x&&b.log(`[Measurement] Setting measurement on root span: ${e} = ${t} ${n}`),s.addEvent(e,{[Jn]:t,[Xn]:n}))}function Vo(e){if(!e||e.length===0)return;const t={};return e.forEach(n=>{const r=n.attributes||{},s=r[Xn],i=r[Jn];typeof s=="string"&&typeof i=="number"&&(t[n.name]={value:i,unit:s})}),t}const Go=1e3;class ls{constructor(t={}){this._traceId=t.traceId||ut(),this._spanId=t.spanId||it(),this._startTime=t.startTimestamp||_e(),this._links=t.links,this._attributes={},this.setAttributes({[fe]:"manual",[lt]:t.op,...t.attributes}),this._name=t.name,t.parentSpanId&&(this._parentSpanId=t.parentSpanId),"sampled"in t&&(this._sampled=t.sampled),t.endTimestamp&&(this._endTime=t.endTimestamp),this._events=[],this._isStandaloneSpan=t.isStandalone,this._endTime&&this._onSpanEnded()}addLink(t){return this._links?this._links.push(t):this._links=[t],this}addLinks(t){return this._links?this._links.push(...t):this._links=t,this}recordException(t,n){}spanContext(){const{_spanId:t,_traceId:n,_sampled:r}=this;return{spanId:t,traceId:n,traceFlags:r?Ui:Zc}}setAttribute(t,n){return n===void 0?delete this._attributes[t]:this._attributes[t]=n,this}setAttributes(t){return Object.keys(t).forEach(n=>this.setAttribute(n,t[n])),this}updateStartTime(t){this._startTime=$t(t)}setStatus(t){return this._status=t,this}updateName(t){return this._name=t,this.setAttribute(Le,"custom"),this}end(t){this._endTime||(this._endTime=$t(t),Jf(this),this._onSpanEnded())}getSpanJSON(){return{data:this._attributes,description:this._name,op:this._attributes[lt],parent_span_id:this._parentSpanId,span_id:this._spanId,start_timestamp:this._startTime,status:eu(this._status),timestamp:this._endTime,trace_id:this._traceId,origin:this._attributes[fe],profile_id:this._attributes[$i],exclusive_time:this._attributes[wn],measurements:Vo(this._events),is_segment:this._isStandaloneSpan&&ve(this)===this||void 0,segment_id:this._isStandaloneSpan?ve(this).spanContext().spanId:void 0,links:Qc(this._links)}}isRecording(){return!this._endTime&&!!this._sampled}addEvent(t,n,r){x&&b.log("[Tracing] Adding an event to span:",t);const s=Yo(n)?n:r||_e(),i=Yo(n)?{}:n||{},o={name:t,time:$t(s),attributes:i};return this._events.push(o),this}isStandaloneSpan(){return!!this._isStandaloneSpan}_onSpanEnded(){const t=z();if(t&&t.emit("spanEnd",this),!(this._isStandaloneSpan||this===ve(this)))return;if(this._isStandaloneSpan){this._sampled?ep(Kf([this],t)):(x&&b.log("[Tracing] Discarding standalone span because its trace was not chosen to be sampled."),t&&t.recordDroppedEvent("sample_rate","span"));return}const r=this._convertSpanToTransaction();r&&(zr(this).scope||ee()).captureEvent(r)}_convertSpanToTransaction(){var d;if(!Ko(K(this)))return;this._name||(x&&b.warn("Transaction has no name, falling back to ``."),this._name="");const{scope:t,isolationScope:n}=zr(this),r=(d=t==null?void 0:t.getScopeData().sdkProcessingMetadata)==null?void 0:d.normalizedRequest;if(this._sampled!==!0)return;const i=Cr(this).filter(l=>l!==this&&!Qf(l)).map(l=>K(l)).filter(Ko),o=this._attributes[Le];delete this._attributes[Bo],i.forEach(l=>{delete l.data[Bo]});const c={contexts:{trace:wf(this)},spans:i.length>Go?i.sort((l,f)=>l.start_timestamp-f.start_timestamp).slice(0,Go):i,start_timestamp:this._startTime,timestamp:this._endTime,transaction:this._name,type:"transaction",sdkProcessingMetadata:{capturedSpanScope:t,capturedSpanIsolationScope:n,dynamicSamplingContext:dt(this)},request:r,...o&&{transaction_info:{source:o}}},a=Vo(this._events);return a&&Object.keys(a).length&&(x&&b.log("[Measurements] Adding measurements to transaction event",JSON.stringify(a,void 0,2)),c.measurements=a),c}}function Yo(e){return e&&typeof e=="number"||e instanceof Date||Array.isArray(e)}function Ko(e){return!!e.start_timestamp&&!!e.timestamp&&!!e.span_id&&!!e.trace_id}function Qf(e){return e instanceof ls&&e.isStandaloneSpan()}function ep(e){const t=z();if(!t)return;const n=e[1];if(!n||n.length===0){t.recordDroppedEvent("before_send","span");return}t.sendEnvelope(e)}function tp(e,t,n=()=>{},r=()=>{}){let s;try{s=e()}catch(i){throw t(i),n(),i}return np(s,t,n,r)}function np(e,t,n,r){return vn(e)?e.then(s=>(n(),r(s),s),s=>{throw t(s),n(),s}):(n(),r(e),e)}function rp(e,t,n){if(!qe(e))return[!1];let r,s;typeof e.tracesSampler=="function"?(s=e.tracesSampler({...t,inheritOrSampleWith:c=>typeof t.parentSampleRate=="number"?t.parentSampleRate:typeof t.parentSampled=="boolean"?Number(t.parentSampled):c}),r=!0):t.parentSampled!==void 0?s=t.parentSampled:typeof e.tracesSampleRate<"u"&&(s=e.tracesSampleRate,r=!0);const i=Wt(s);if(i===void 0)return x&&b.warn(`[Tracing] Discarding root span because of invalid sample rate. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(s)} of type ${JSON.stringify(typeof s)}.`),[!1];if(!i)return x&&b.log(`[Tracing] Discarding transaction because ${typeof e.tracesSampler=="function"?"tracesSampler returned 0 or false":"a negative sampling decision was inherited or tracesSampleRate is set to 0"}`),[!1,i,r];const o=nop(i)(()=>{const u=ee(),d=lu(u,i),f=e.onlyIfParent&&!d?new wt:cu({parentSpan:d,spanArguments:r,forceTransaction:s,scope:u});return fn(u,f),tp(()=>t(f),()=>{const{status:p}=K(f);f.isRecording()&&(!p||p==="ok")&&f.setStatus({code:ye,message:"internal_error"})},()=>{f.end()})}))}function It(e){const t=ji();if(t.startInactiveSpan)return t.startInactiveSpan(e);const n=uu(e),{forceTransaction:r,parentSpan:s}=e;return(e.scope?o=>us(e.scope,o):s!==void 0?o=>qi(s,o):o=>o())(()=>{const o=ee(),c=lu(o,s);return e.onlyIfParent&&!c?new wt:cu({parentSpan:c,spanArguments:n,forceTransaction:r,scope:o})})}function qi(e,t){const n=ji();return n.withActiveSpan?n.withActiveSpan(e,t):us(r=>(fn(r,e||void 0),t(r)))}function cu({parentSpan:e,spanArguments:t,forceTransaction:n,scope:r}){if(!qe()){const o=new wt;if(n||!e){const c={sampled:"false",sample_rate:"0",transaction:t.name,...dt(o)};Rr(o,c)}return o}const s=Re();let i;if(e&&!n)i=ip(e,r,t),tu(e,i);else if(e){const o=dt(e),{traceId:c,spanId:a}=e.spanContext(),u=Mt(e);i=Xo({traceId:c,parentSpanId:a,...t},r,u),Rr(i,o)}else{const{traceId:o,dsc:c,parentSpanId:a,sampled:u}={...s.getPropagationContext(),...r.getPropagationContext()};i=Xo({traceId:o,parentSpanId:a,...t},r,u),c&&Rr(i,c)}return Xf(i),af(i,r,s),i}function uu(e){const n={isStandalone:(e.experimental||{}).standalone,...e};if(e.startTime){const r={...n};return r.startTimestamp=$t(e.startTime),delete r.startTime,r}return n}function ji(){const e=jt();return Tn(e)}function Xo(e,t,n){var h;const r=z(),s=(r==null?void 0:r.getOptions())||{},{name:i=""}=e,o={spanAttributes:{...e.attributes},spanName:i,parentSampled:n};r==null||r.emit("beforeSampling",o,{decision:!1});const c=o.parentSampled??n,a=o.spanAttributes,u=t.getPropagationContext(),[d,l,f]=t.getScopeData().sdkProcessingMetadata[au]?[!1]:rp(s,{name:i,parentSampled:c,attributes:a,parentSampleRate:Wt((h=u.dsc)==null?void 0:h.sample_rate)},u.sampleRand),p=new ls({...e,attributes:{[Le]:"custom",[Fi]:l!==void 0&&f?l:void 0,...a},sampled:d});return!d&&r&&(x&&b.log("[Tracing] Discarding root span because its trace was not chosen to be sampled."),r.recordDroppedEvent("sample_rate","transaction")),r&&r.emit("spanStart",p),p}function ip(e,t,n){const{spanId:r,traceId:s}=e.spanContext(),i=t.getScopeData().sdkProcessingMetadata[au]?!1:Mt(e),o=i?new ls({...n,parentSpanId:r,traceId:s,sampled:i}):new wt({traceId:s});tu(e,o);const c=z();return c&&(c.emit("spanStart",o),n.endTimestamp&&c.emit("spanEnd",o)),o}function lu(e,t){if(t)return t;if(t===null)return;const n=Wr(e);if(!n)return;const r=z();return(r?r.getOptions():{}).parentSpanIsAlwaysRootSpan?ve(n):n}function op(e){return e!==void 0?t=>qi(e,t):t=>t()}const xr={idleTimeout:1e3,finalTimeout:3e4,childSpanTimeout:15e3},ap="heartbeatFailed",cp="idleTimeout",up="finalTimeout",lp="externalFinish";function du(e,t={}){const n=new Map;let r=!1,s,i=lp,o=!t.disableAutoFinish;const c=[],{idleTimeout:a=xr.idleTimeout,finalTimeout:u=xr.finalTimeout,childSpanTimeout:d=xr.childSpanTimeout,beforeSpanEnd:l,trimIdleSpanEndTimestamp:f=!0}=t,p=z();if(!p||!qe()){const y=new wt,I={sample_rate:"0",sampled:"false",...dt(y)};return Rr(y,I),y}const h=ee(),m=Te(),_=dp(e);_.end=new Proxy(_.end,{apply(y,I,P){if(l&&l(_),I instanceof wt)return;const[v,...k]=P,w=v||_e(),C=$t(w),M=Cr(_).filter(T=>T!==_),J=K(_);if(!M.length||!f)return A(C),Reflect.apply(y,I,[C,...k]);const Y=p.getOptions().ignoreSpans,Z=M==null?void 0:M.reduce((T,H)=>{const ne=K(H);return!ne.timestamp||Y&&qr(ne,Y)?T:T?Math.max(T,ne.timestamp):ne.timestamp},void 0),E=J.start_timestamp,F=Math.min(E?E+u/1e3:1/0,Math.max(E||-1/0,Math.min(C,Z||1/0)));return A(F),Reflect.apply(y,I,[F,...k])}});function g(){s&&(clearTimeout(s),s=void 0)}function S(y){g(),s=setTimeout(()=>{!r&&n.size===0&&o&&(i=cp,_.end(y))},a)}function N(y){s=setTimeout(()=>{!r&&o&&(i=ap,_.end(y))},d)}function R(y){g(),n.set(y,!0);const I=_e();N(I+d/1e3)}function U(y){if(n.has(y)&&n.delete(y),n.size===0){const I=_e();S(I+a/1e3)}}function A(y){r=!0,n.clear(),c.forEach(M=>M()),fn(h,m);const I=K(_),{start_timestamp:P}=I;if(!P)return;I.data[$n]||_.setAttribute($n,i);const k=I.status;(!k||k==="unknown")&&_.setStatus({code:Bi}),b.log(`[Tracing] Idle span "${I.op}" finished`);const w=Cr(_).filter(M=>M!==_);let C=0;w.forEach(M=>{M.isRecording()&&(M.setStatus({code:ye,message:"cancelled"}),M.end(y),x&&b.log("[Tracing] Cancelling span since span ended early",JSON.stringify(M,void 0,2)));const J=K(M),{timestamp:Y=0,start_timestamp:Z=0}=J,E=Z<=y,F=(u+a)/1e3,T=Y-Z<=F;if(x){const H=JSON.stringify(M,void 0,2);E?T||b.log("[Tracing] Discarding span since it finished after idle span final timeout",H):b.log("[Tracing] Discarding span since it happened after idle span was finished",H)}(!T||!E)&&(Mf(_,M),C++)}),C>0&&_.setAttribute("sentry.idle_span_discarded_spans",C)}return c.push(p.on("spanStart",y=>{if(r||y===_||K(y).timestamp||y instanceof ls&&y.isStandaloneSpan())return;Cr(_).includes(y)&&R(y.spanContext().spanId)})),c.push(p.on("spanEnd",y=>{r||U(y.spanContext().spanId)})),c.push(p.on("idleSpanEnableAutoFinish",y=>{y===_&&(o=!0,S(),n.size&&N())})),t.disableAutoFinish||S(),setTimeout(()=>{r||(_.setStatus({code:ye,message:"deadline_exceeded"}),i=up,_.end())},u),_}function dp(e){const t=It(e);return fn(ee(),t),x&&b.log("[Tracing] Started span is an idle span"),t}const Rs=0,Jo=1,Zo=2;function Zn(e){return new Bn(t=>{t(e)})}function Vi(e){return new Bn((t,n)=>{n(e)})}class Bn{constructor(t){this._state=Rs,this._handlers=[],this._runExecutor(t)}then(t,n){return new Bn((r,s)=>{this._handlers.push([!1,i=>{if(!t)r(i);else try{r(t(i))}catch(o){s(o)}},i=>{if(!n)s(i);else try{r(n(i))}catch(o){s(o)}}]),this._executeHandlers()})}catch(t){return this.then(n=>n,t)}finally(t){return new Bn((n,r)=>{let s,i;return this.then(o=>{i=!1,s=o,t&&t()},o=>{i=!0,s=o,t&&t()}).then(()=>{if(i){r(s);return}n(s)})})}_executeHandlers(){if(this._state===Rs)return;const t=this._handlers.slice();this._handlers=[],t.forEach(n=>{n[0]||(this._state===Jo&&n[1](this._value),this._state===Zo&&n[2](this._value),n[0]=!0)})}_runExecutor(t){const n=(i,o)=>{if(this._state===Rs){if(vn(o)){o.then(r,s);return}this._state=i,this._value=o,this._executeHandlers()}},r=i=>{n(Jo,i)},s=i=>{n(Zo,i)};try{t(r,s)}catch(i){s(i)}}}function fp(e,t,n,r=0){try{const s=si(t,n,e,r);return vn(s)?s:Zn(s)}catch(s){return Vi(s)}}function si(e,t,n,r){const s=n[r];if(!e||!s)return e;const i=s({...e},t);return x&&i===null&&b.log(`Event processor "${s.id||"?"}" dropped event`),vn(i)?i.then(o=>si(o,t,n,r+1)):si(i,t,n,r+1)}let tt,Qo,ea,mt;function pp(e){const t=V._sentryDebugIds,n=V._debugIds;if(!t&&!n)return{};const r=t?Object.keys(t):[],s=n?Object.keys(n):[];if(mt&&r.length===Qo&&s.length===ea)return mt;Qo=r.length,ea=s.length,mt={},tt||(tt={});const i=(o,c)=>{for(const a of o){const u=c[a],d=tt==null?void 0:tt[a];if(d&&mt&&u)mt[d[0]]=u,tt&&(tt[a]=[d[0],u]);else if(u){const l=e(a);for(let f=l.length-1;f>=0;f--){const p=l[f],h=p==null?void 0:p.filename;if(h&&mt&&tt){mt[h]=u,tt[a]=[h,u];break}}}}};return t&&i(r,t),n&&i(s,n),mt}function hp(e,t){const{fingerprint:n,span:r,breadcrumbs:s,sdkProcessingMetadata:i}=t;mp(e,t),r&&yp(e,r),Sp(e,n),_p(e,s),gp(e,i)}function ta(e,t){const{extra:n,tags:r,attributes:s,user:i,contexts:o,level:c,sdkProcessingMetadata:a,breadcrumbs:u,fingerprint:d,eventProcessors:l,attachments:f,propagationContext:p,transactionName:h,span:m}=t;xn(e,"extra",n),xn(e,"tags",r),xn(e,"attributes",s),xn(e,"user",i),xn(e,"contexts",o),e.sdkProcessingMetadata=Kn(e.sdkProcessingMetadata,a,2),c&&(e.level=c),h&&(e.transactionName=h),m&&(e.span=m),u.length&&(e.breadcrumbs=[...e.breadcrumbs,...u]),d.length&&(e.fingerprint=[...e.fingerprint,...d]),l.length&&(e.eventProcessors=[...e.eventProcessors,...l]),f.length&&(e.attachments=[...e.attachments,...f]),e.propagationContext={...e.propagationContext,...p}}function xn(e,t,n){e[t]=Kn(e[t],n,1)}function fu(e,t){const n=Wc().getScopeData();return e&&ta(n,e.getScopeData()),t&&ta(n,t.getScopeData()),n}function mp(e,t){const{extra:n,tags:r,user:s,contexts:i,level:o,transactionName:c}=t;Object.keys(n).length&&(e.extra={...n,...e.extra}),Object.keys(r).length&&(e.tags={...r,...e.tags}),Object.keys(s).length&&(e.user={...s,...e.user}),Object.keys(i).length&&(e.contexts={...i,...e.contexts}),o&&(e.level=o),c&&e.type!=="transaction"&&(e.transaction=c)}function _p(e,t){const n=[...e.breadcrumbs||[],...t];e.breadcrumbs=n.length?n:void 0}function gp(e,t){e.sdkProcessingMetadata={...e.sdkProcessingMetadata,...t}}function yp(e,t){e.contexts={trace:If(t),...e.contexts},e.sdkProcessingMetadata={dynamicSamplingContext:dt(t),...e.sdkProcessingMetadata};const n=ve(t),r=K(n).description;r&&!e.transaction&&e.type==="transaction"&&(e.transaction=r)}function Sp(e,t){e.fingerprint=e.fingerprint?Array.isArray(e.fingerprint)?e.fingerprint:[e.fingerprint]:[],t&&(e.fingerprint=e.fingerprint.concat(t)),e.fingerprint.length||delete e.fingerprint}function pu(e,t,n,r,s,i){const{normalizeDepth:o=3,normalizeMaxBreadth:c=1e3}=e,a={...t,event_id:t.event_id||n.event_id||Be(),timestamp:t.timestamp||Gt()},u=n.integrations||e.integrations.map(g=>g.name);bp(a,e),Tp(a,u),s&&s.emit("applyFrameMetadata",t),t.type===void 0&&Ep(a,e.stackParser);const d=Ip(r,n.captureContext);n.mechanism&&ln(a,n.mechanism);const l=s?s.getEventProcessors():[],f=fu(i,d),p=[...n.attachments||[],...f.attachments];p.length&&(n.attachments=p),hp(a,f);const h=[...l,...f.eventProcessors];return(n.data&&n.data.__sentry__===!0?Zn(a):fp(h,a,n)).then(g=>(g&&vp(g),typeof o=="number"&&o>0?wp(g,o,c):g))}function bp(e,t){var c,a;const{environment:n,release:r,dist:s,maxValueLength:i}=t;e.environment=e.environment||n||Wi,!e.release&&r&&(e.release=r),!e.dist&&s&&(e.dist=s);const o=e.request;o!=null&&o.url&&i&&(o.url=Xs(o.url,i)),i&&((a=(c=e.exception)==null?void 0:c.values)==null||a.forEach(u=>{u.value&&(u.value=Xs(u.value,i))}))}function Ep(e,t){var r,s;const n=pp(t);(s=(r=e.exception)==null?void 0:r.values)==null||s.forEach(i=>{var o,c;(c=(o=i.stacktrace)==null?void 0:o.frames)==null||c.forEach(a=>{a.filename&&(a.debug_id=n[a.filename])})})}function vp(e){var r,s;const t={};if((s=(r=e.exception)==null?void 0:r.values)==null||s.forEach(i=>{var o,c;(c=(o=i.stacktrace)==null?void 0:o.frames)==null||c.forEach(a=>{a.debug_id&&(a.abs_path?t[a.abs_path]=a.debug_id:a.filename&&(t[a.filename]=a.debug_id),delete a.debug_id)})}),Object.keys(t).length===0)return;e.debug_meta=e.debug_meta||{},e.debug_meta.images=e.debug_meta.images||[];const n=e.debug_meta.images;Object.entries(t).forEach(([i,o])=>{n.push({type:"sourcemap",code_file:i,debug_id:o})})}function Tp(e,t){t.length>0&&(e.sdk=e.sdk||{},e.sdk.integrations=[...e.sdk.integrations||[],...t])}function wp(e,t,n){var s,i;if(!e)return null;const r={...e,...e.breadcrumbs&&{breadcrumbs:e.breadcrumbs.map(o=>({...o,...o.data&&{data:Xe(o.data,t,n)}}))},...e.user&&{user:Xe(e.user,t,n)},...e.contexts&&{contexts:Xe(e.contexts,t,n)},...e.extra&&{extra:Xe(e.extra,t,n)}};return(s=e.contexts)!=null&&s.trace&&r.contexts&&(r.contexts.trace=e.contexts.trace,e.contexts.trace.data&&(r.contexts.trace.data=Xe(e.contexts.trace.data,t,n))),e.spans&&(r.spans=e.spans.map(o=>({...o,...o.data&&{data:Xe(o.data,t,n)}}))),(i=e.contexts)!=null&&i.flags&&r.contexts&&(r.contexts.flags=Xe(e.contexts.flags,3,n)),r}function Ip(e,t){if(!t)return e;const n=e?e.clone():new et;return n.update(t),n}function kp(e){if(e)return Cp(e)?{captureContext:e}:xp(e)?{captureContext:e}:e}function Cp(e){return e instanceof et||typeof e=="function"}const Rp=["user","level","extra","contexts","tags","fingerprint","propagationContext"];function xp(e){return Object.keys(e).some(t=>Rp.includes(t))}function ds(e,t){return ee().captureException(e,kp(t))}function hu(e,t){return ee().captureEvent(e,t)}function Mp(e,t){Re().setContext(e,t)}function E0(e,t){Re().setTag(e,t)}function v0(e){Re().setUser(e)}function Ap(){const e=z();return(e==null?void 0:e.getOptions().enabled)!==!1&&!!(e!=null&&e.getTransport())}function Np(e){Re().addEventProcessor(e)}function na(e){const t=Re(),{user:n}=fu(t,ee()),{userAgent:r}=V.navigator||{},s=zd({user:n,...r&&{userAgent:r},...e}),i=t.getSession();return(i==null?void 0:i.status)==="ok"&&dn(i,{status:"exited"}),mu(),t.setSession(s),s}function mu(){const e=Re(),n=ee().getSession()||e.getSession();n&&qd(n),_u(),e.setSession()}function _u(){const e=Re(),t=z(),n=e.getSession();n&&t&&t.captureSession(n)}function xs(e=!1){if(e){mu();return}_u()}const Lp="7";function Dp(e){const t=e.protocol?`${e.protocol}:`:"",n=e.port?`:${e.port}`:"";return`${t}//${e.host}${n}${e.path?`/${e.path}`:""}/api/`}function Op(e){return`${Dp(e)}${e.projectId}/envelope/`}function Pp(e,t){const n={sentry_version:Lp};return e.publicKey&&(n.sentry_key=e.publicKey),t&&(n.sentry_client=`${t.name}/${t.version}`),new URLSearchParams(n).toString()}function Fp(e,t,n){return t||`${Op(e)}?${Pp(e,n)}`}const ra=[];function $p(e){const t={};return e.forEach(n=>{const{name:r}=n,s=t[r];s&&!s.isDefaultInstance&&n.isDefaultInstance||(t[r]=n)}),Object.values(t)}function Bp(e){const t=e.defaultIntegrations||[],n=e.integrations;t.forEach(s=>{s.isDefaultInstance=!0});let r;if(Array.isArray(n))r=[...t,...n];else if(typeof n=="function"){const s=n(t);r=Array.isArray(s)?s:[s]}else r=t;return $p(r)}function Hp(e,t){const n={};return t.forEach(r=>{r&&gu(e,r,n)}),n}function sa(e,t){for(const n of t)n!=null&&n.afterAllSetup&&n.afterAllSetup(e)}function gu(e,t,n){if(n[t.name]){x&&b.log(`Integration skipped because it was already installed: ${t.name}`);return}if(n[t.name]=t,!ra.includes(t.name)&&typeof t.setupOnce=="function"&&(t.setupOnce(),ra.push(t.name)),t.setup&&typeof t.setup=="function"&&t.setup(e),typeof t.preprocessEvent=="function"){const r=t.preprocessEvent.bind(t);e.on("preprocessEvent",(s,i)=>r(s,i,e))}if(typeof t.processEvent=="function"){const r=t.processEvent.bind(t),s=Object.assign((i,o)=>r(i,o,e),{id:t.name});e.addEventProcessor(s)}x&&b.log(`Integration installed: ${t.name}`)}function ia(e){const t=z();if(!t){x&&b.warn(`Cannot add integration "${e.name}" because no SDK Client is available.`);return}t.addIntegration(e)}function Up(e){return[{type:"log",item_count:e.length,content_type:"application/vnd.sentry.items.log+json"},{items:e}]}function Wp(e,t,n,r){const s={};return t!=null&&t.sdk&&(s.sdk={name:t.sdk.name,version:t.sdk.version}),n&&r&&(s.dsn=In(r)),At(s,[Up(e)])}function ii(e,t){const n=t??zp(e)??[];if(n.length===0)return;const r=e.getOptions(),s=Wp(n,r._metadata,r.tunnel,e.getDsn());yu().set(e,[]),e.emit("flushLogs"),e.sendEnvelope(s)}function zp(e){return yu().get(e)}function yu(){return bn("clientToLogBufferMap",()=>new WeakMap)}function qp(e){return[{type:"trace_metric",item_count:e.length,content_type:"application/vnd.sentry.items.trace-metric+json"},{items:e}]}function jp(e,t,n,r){const s={};return t!=null&&t.sdk&&(s.sdk={name:t.sdk.name,version:t.sdk.version}),n&&r&&(s.dsn=In(r)),At(s,[qp(e)])}function Su(e,t){const n=t??Vp(e)??[];if(n.length===0)return;const r=e.getOptions(),s=jp(n,r._metadata,r.tunnel,e.getDsn());bu().set(e,[]),e.emit("flushMetrics"),e.sendEnvelope(s)}function Vp(e){return bu().get(e)}function bu(){return bn("clientToMetricBufferMap",()=>new WeakMap)}function Eu(e){return typeof e=="object"&&typeof e.unref=="function"&&e.unref(),e}const Gi=Symbol.for("SentryBufferFullError");function Yi(e=100){const t=new Set;function n(){return t.sizer(c),()=>r(c)),c}function i(o){if(!t.size)return Zn(!0);const c=Promise.allSettled(Array.from(t)).then(()=>!0);if(!o)return c;const a=[c,new Promise(u=>Eu(setTimeout(()=>u(!1),o)))];return Promise.race(a)}return{get $(){return Array.from(t)},add:s,drain:i}}const Gp=60*1e3;function Yp(e,t=Yn()){const n=parseInt(`${e}`,10);if(!isNaN(n))return n*1e3;const r=Date.parse(`${e}`);return isNaN(r)?Gp:r-t}function Kp(e,t){return e[t]||e.all||0}function vu(e,t,n=Yn()){return Kp(e,t)>n}function Tu(e,{statusCode:t,headers:n},r=Yn()){const s={...e},i=n==null?void 0:n["x-sentry-rate-limits"],o=n==null?void 0:n["retry-after"];if(i)for(const c of i.trim().split(",")){const[a,u,,,d]=c.split(":",5),l=parseInt(a,10),f=(isNaN(l)?60:l)*1e3;if(!u)s.all=r+f;else for(const p of u.split(";"))p==="metric_bucket"?(!d||d.split(";").includes("custom"))&&(s[p]=r+f):s[p]=r+f}else o?s.all=r+Yp(o,r):t===429&&(s.all=r+60*1e3);return s}const wu=64;function Xp(e,t,n=Yi(e.bufferSize||wu)){let r={};const s=o=>n.drain(o);function i(o){const c=[];if(ni(o,(l,f)=>{const p=jo(f);vu(r,p)?e.recordDroppedEvent("ratelimit_backoff",p):c.push(l)}),c.length===0)return Promise.resolve({});const a=At(o[0],c),u=l=>{if(Hf(a,["client_report"])){x&&b.warn(`Dropping client report. Will not send outcomes (reason: ${l}).`);return}ni(a,(f,p)=>{e.recordDroppedEvent(l,jo(p))})},d=()=>t({body:Uf(a)}).then(l=>l.statusCode===413?(x&&b.error("Sentry responded with status code 413. Envelope was discarded due to exceeding size limits."),u("send_error"),l):(x&&l.statusCode!==void 0&&(l.statusCode<200||l.statusCode>=300)&&b.warn(`Sentry responded with status code ${l.statusCode} to sent event.`),r=Tu(r,l),l),l=>{throw u("network_error"),x&&b.error("Encountered error running transport request:",l),l});return n.add(d).then(l=>l,l=>{if(l===Gi)return x&&b.error("Skipped sending event because buffer is full."),u("queue_overflow"),Promise.resolve({});throw l})}return{send:i,flush:s}}function Jp(e,t,n){const r=[{type:"client_report"},{timestamp:Gt(),discarded_events:e}];return At(t?{dsn:t}:{},[r])}function Iu(e){const t=[];e.message&&t.push(e.message);try{const n=e.exception.values[e.exception.values.length-1];n!=null&&n.value&&(t.push(n.value),n.type&&t.push(`${n.type}: ${n.value}`))}catch{}return t}function Zp(e){var a;const{trace_id:t,parent_span_id:n,span_id:r,status:s,origin:i,data:o,op:c}=((a=e.contexts)==null?void 0:a.trace)??{};return{data:o??{},description:e.transaction,op:c,parent_span_id:n,span_id:r??"",start_timestamp:e.start_timestamp??0,status:s,timestamp:e.timestamp,trace_id:t??"",origin:i,profile_id:o==null?void 0:o[$i],exclusive_time:o==null?void 0:o[wn],measurements:e.measurements,is_segment:!0}}function Qp(e){return{type:"transaction",timestamp:e.timestamp,start_timestamp:e.start_timestamp,transaction:e.description,contexts:{trace:{trace_id:e.trace_id,span_id:e.span_id,parent_span_id:e.parent_span_id,op:e.op,status:e.status,origin:e.origin,data:{...e.data,...e.profile_id&&{[$i]:e.profile_id},...e.exclusive_time&&{[wn]:e.exclusive_time}}}},measurements:e.measurements}}const oa="Not capturing exception because it's already been captured.",aa="Discarded session because of missing or non-string release",ku=Symbol.for("SentryInternalError"),Cu=Symbol.for("SentryDoNotSendEventError"),eh=5e3;function Mr(e){return{message:e,[ku]:!0}}function Ms(e){return{message:e,[Cu]:!0}}function ca(e){return!!e&&typeof e=="object"&&ku in e}function ua(e){return!!e&&typeof e=="object"&&Cu in e}function la(e,t,n,r,s){let i=0,o,c=!1;e.on(n,()=>{i=0,clearTimeout(o),c=!1}),e.on(t,a=>{i+=r(a),i>=8e5?s(e):c||(c=!0,o=Eu(setTimeout(()=>{s(e)},eh)))}),e.on("flush",()=>{s(e)})}class th{constructor(t){var r,s,i;if(this._options=t,this._integrations={},this._numProcessing=0,this._outcomes={},this._hooks={},this._eventProcessors=[],this._promiseBuffer=Yi(((r=t.transportOptions)==null?void 0:r.bufferSize)??wu),t.dsn?this._dsn=bf(t.dsn):x&&b.warn("No DSN provided, client will not send events."),this._dsn){const o=Fp(this._dsn,t.tunnel,t._metadata?t._metadata.sdk:void 0);this._transport=t.transport({tunnel:this._options.tunnel,recordDroppedEvent:this.recordDroppedEvent.bind(this),...t.transportOptions,url:o})}this._options.enableLogs=this._options.enableLogs??((s=this._options._experiments)==null?void 0:s.enableLogs),this._options.enableLogs&&la(this,"afterCaptureLog","flushLogs",ih,ii),(this._options.enableMetrics??((i=this._options._experiments)==null?void 0:i.enableMetrics)??!0)&&la(this,"afterCaptureMetric","flushMetrics",sh,Su)}captureException(t,n,r){const s=Be();if(Po(t))return x&&b.log(oa),s;const i={event_id:s,...n};return this._process(()=>this.eventFromException(t,i).then(o=>this._captureEvent(o,i,r)).then(o=>o),"error"),i.event_id}captureMessage(t,n,r,s){const i={event_id:Be(),...r},o=Li(t)?t:String(t),c=un(t),a=c?this.eventFromMessage(o,n,i):this.eventFromException(t,i);return this._process(()=>a.then(u=>this._captureEvent(u,i,s)),c?"unknown":"error"),i.event_id}captureEvent(t,n,r){const s=Be();if(n!=null&&n.originalException&&Po(n.originalException))return x&&b.log(oa),s;const i={event_id:s,...n},o=t.sdkProcessingMetadata||{},c=o.capturedSpanScope,a=o.capturedSpanIsolationScope,u=da(t.type);return this._process(()=>this._captureEvent(t,i,c||r,a),u),i.event_id}captureSession(t){this.sendSession(t),dn(t,{init:!1})}getDsn(){return this._dsn}getOptions(){return this._options}getSdkMetadata(){return this._options._metadata}getTransport(){return this._transport}async flush(t){const n=this._transport;if(!n)return!0;this.emit("flush");const r=await this._isClientDoneProcessing(t),s=await n.flush(t);return r&&s}async close(t){ii(this);const n=await this.flush(t);return this.getOptions().enabled=!1,this.emit("close"),n}getEventProcessors(){return this._eventProcessors}addEventProcessor(t){this._eventProcessors.push(t)}init(){(this._isEnabled()||this._options.integrations.some(({name:t})=>t.startsWith("Spotlight")))&&this._setupIntegrations()}getIntegrationByName(t){return this._integrations[t]}addIntegration(t){const n=this._integrations[t.name];gu(this,t,this._integrations),n||sa(this,[t])}sendEvent(t,n={}){this.emit("beforeSendEvent",t,n);let r=Yf(t,this._dsn,this._options._metadata,this._options.tunnel);for(const s of n.attachments||[])r=Bf(r,qf(s));this.sendEnvelope(r).then(s=>this.emit("afterSendEvent",t,s))}sendSession(t){const{release:n,environment:r=Wi}=this._options;if("aggregates"in t){const i=t.attrs||{};if(!i.release&&!n){x&&b.warn(aa);return}i.release=i.release||n,i.environment=i.environment||r,t.attrs=i}else{if(!t.release&&!n){x&&b.warn(aa);return}t.release=t.release||n,t.environment=t.environment||r}this.emit("beforeSendSession",t);const s=Gf(t,this._dsn,this._options._metadata,this._options.tunnel);this.sendEnvelope(s)}recordDroppedEvent(t,n,r=1){if(this._options.sendClientReports){const s=`${t}:${n}`;x&&b.log(`Recording outcome: "${s}"${r>1?` (${r} times)`:""}`),this._outcomes[s]=(this._outcomes[s]||0)+r}}on(t,n){const r=this._hooks[t]=this._hooks[t]||new Set,s=(...i)=>n(...i);return r.add(s),()=>{r.delete(s)}}emit(t,...n){const r=this._hooks[t];r&&r.forEach(s=>s(...n))}async sendEnvelope(t){if(this.emit("beforeEnvelope",t),this._isEnabled()&&this._transport)try{return await this._transport.send(t)}catch(n){return x&&b.error("Error while sending envelope:",n),{}}return x&&b.error("Transport disabled"),{}}dispose(){}_setupIntegrations(){const{integrations:t}=this._options;this._integrations=Hp(this,t),sa(this,t)}_updateSessionFromEvent(t,n){var a,u;let r=n.level==="fatal",s=!1;const i=(a=n.exception)==null?void 0:a.values;if(i){s=!0,r=!1;for(const d of i)if(((u=d.mechanism)==null?void 0:u.handled)===!1){r=!0;break}}const o=t.status==="ok";(o&&t.errors===0||o&&r)&&(dn(t,{...r&&{status:"crashed"},errors:t.errors||Number(s||r)}),this.captureSession(t))}async _isClientDoneProcessing(t){let n=0;for(;!t||nsetTimeout(r,1)),!this._numProcessing)return!0;n++}return!1}_isEnabled(){return this.getOptions().enabled!==!1&&this._transport!==void 0}_prepareEvent(t,n,r,s){const i=this.getOptions(),o=Object.keys(this._integrations);return!n.integrations&&(o!=null&&o.length)&&(n.integrations=o),this.emit("preprocessEvent",t,n),t.type||s.setLastEventId(t.event_id||n.event_id),pu(i,t,n,r,this,s).then(c=>{if(c===null)return c;this.emit("postprocessEvent",c,n),c.contexts={trace:Qd(r),...c.contexts};const a=su(this,r);return c.sdkProcessingMetadata={dynamicSamplingContext:a,...c.sdkProcessingMetadata},c})}_captureEvent(t,n={},r=ee(),s=Re()){return x&&oi(t)&&b.log(`Captured error event \`${Iu(t)[0]||""}\``),this._processEvent(t,n,r,s).then(i=>i.event_id,i=>{x&&(ua(i)?b.log(i.message):ca(i)?b.warn(i.message):b.warn(i))})}_processEvent(t,n,r,s){const i=this.getOptions(),{sampleRate:o}=i,c=Ru(t),a=oi(t),d=`before send for type \`${t.type||"error"}\``,l=typeof o>"u"?void 0:Wt(o);if(a&&typeof l=="number"&&bt()>l)return this.recordDroppedEvent("sample_rate","error"),Vi(Ms(`Discarding event because it's not included in the random sample (sampling rate = ${o})`));const f=da(t.type);return this._prepareEvent(t,n,r,s).then(p=>{if(p===null)throw this.recordDroppedEvent("event_processor",f),Ms("An event processor returned `null`, will not send event.");if(n.data&&n.data.__sentry__===!0)return p;const m=rh(this,i,p,n);return nh(m,d)}).then(p=>{var _;if(p===null){if(this.recordDroppedEvent("before_send",f),c){const S=1+(t.spans||[]).length;this.recordDroppedEvent("before_send","span",S)}throw Ms(`${d} returned \`null\`, will not send event.`)}const h=r.getSession()||s.getSession();if(a&&h&&this._updateSessionFromEvent(h,p),c){const g=((_=p.sdkProcessingMetadata)==null?void 0:_.spanCountBeforeProcessing)||0,S=p.spans?p.spans.length:0,N=g-S;N>0&&this.recordDroppedEvent("before_send","span",N)}const m=p.transaction_info;if(c&&m&&p.transaction!==t.transaction){const g="custom";p.transaction_info={...m,source:g}}return this.sendEvent(p,n),p}).then(null,p=>{throw ua(p)||ca(p)?p:(this.captureException(p,{mechanism:{handled:!1,type:"internal"},data:{__sentry__:!0},originalException:p}),Mr(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event. +Reason: ${p}`))})}_process(t,n){this._numProcessing++,this._promiseBuffer.add(t).then(r=>(this._numProcessing--,r),r=>(this._numProcessing--,r===Gi&&this.recordDroppedEvent("queue_overflow",n),r))}_clearOutcomes(){const t=this._outcomes;return this._outcomes={},Object.entries(t).map(([n,r])=>{const[s,i]=n.split(":");return{reason:s,category:i,quantity:r}})}_flushOutcomes(){x&&b.log("Flushing outcomes...");const t=this._clearOutcomes();if(t.length===0){x&&b.log("No outcomes to send");return}if(!this._dsn){x&&b.log("No dsn provided, will not send outcomes");return}x&&b.log("Sending outcomes:",t);const n=Jp(t,this._options.tunnel&&In(this._dsn));this.sendEnvelope(n)}}function da(e){return e==="replay_event"?"replay":e||"error"}function nh(e,t){const n=`${t} must return \`null\` or a valid event.`;if(vn(e))return e.then(r=>{if(!Fn(r)&&r!==null)throw Mr(n);return r},r=>{throw Mr(`${t} rejected with ${r}`)});if(!Fn(e)&&e!==null)throw Mr(n);return e}function rh(e,t,n,r){const{beforeSend:s,beforeSendTransaction:i,beforeSendSpan:o,ignoreSpans:c}=t;let a=n;if(oi(a)&&s)return s(a,r);if(Ru(a)){if(o||c){const u=Zp(a);if(c!=null&&c.length&&qr(u,c))return null;if(o){const d=o(u);d?a=Kn(n,Qp(d)):ei()}if(a.spans){const d=[],l=a.spans;for(const p of l){if(c!=null&&c.length&&qr(p,c)){Nf(l,p);continue}if(o){const h=o(p);h?d.push(h):(ei(),d.push(p))}else d.push(p)}const f=a.spans.length-d.length;f&&e.recordDroppedEvent("before_send","span",f),a.spans=d}}if(i){if(a.spans){const u=a.spans.length;a.sdkProcessingMetadata={...n.sdkProcessingMetadata,spanCountBeforeProcessing:u}}return i(a,r)}}return a}function oi(e){return e.type===void 0}function Ru(e){return e.type==="transaction"}function sh(e){let t=0;return e.name&&(t+=e.name.length*2),t+=8,t+xu(e.attributes)}function ih(e){let t=0;return e.message&&(t+=e.message.length*2),t+xu(e.attributes)}function xu(e){if(!e)return 0;let t=0;return Object.values(e).forEach(n=>{Array.isArray(n)?t+=n.length*fa(n[0]):un(n)?t+=fa(n):t+=100}),t}function fa(e){return typeof e=="string"?e.length*2:typeof e=="number"?8:typeof e=="boolean"?4:0}function oh(e){return as(e)&&"__sentry_fetch_url_host__"in e&&typeof e.__sentry_fetch_url_host__=="string"}function pa(e){return oh(e)?`${e.message} (${e.__sentry_fetch_url_host__})`:e.message}function ah(e,t){t.debug===!0&&(x?b.enable():pt(()=>{console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.")})),ee().update(t.initialScope);const r=new e(t);return ch(r),r.init(),r}function ch(e){ee().setClient(e)}const uh="thismessage:/";function Ki(e){return"isRelative"in e}function Xi(e,t){const n=e.indexOf("://")<=0&&e.indexOf("//")!==0,r=n?uh:void 0;try{if("canParse"in URL&&!URL.canParse(e,r))return;const s=new URL(e,r);return n?{isRelative:n,pathname:s.pathname,search:s.search,hash:s.hash}:s}catch{}}function lh(e){if(Ki(e))return e.pathname;const t=new URL(e);return t.search="",t.hash="",["80","443"].includes(t.port)&&(t.port=""),t.password&&(t.password="%filtered%"),t.username&&(t.username="%filtered%"),t.toString()}function Ht(e){if(!e)return{};const t=e.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!t)return{};const n=t[6]||"",r=t[8]||"";return{host:t[4],path:t[5],protocol:t[2],search:n,hash:r,relative:t[5]+n+r}}function dh(e){return e.split(/[?#]/,1)[0]}function Et(e,t=!0){if(e.startsWith("data:")){const n=e.match(/^data:([^;,]+)/),r=n?n[1]:"text/plain",s=e.includes(";base64,"),i=e.indexOf(",");let o="";if(t&&i!==-1){const c=e.slice(i+1);o=c.length>10?`${c.slice(0,10)}... [truncated]`:c}return`data:${r}${s?",base64":""}${o?`,${o}`:""}`}return e}function fh(e,t){const n=t==null?void 0:t.getDsn(),r=t==null?void 0:t.getOptions().tunnel;return hh(e,n)||ph(e,r)}function ph(e,t){return t?ha(e)===ha(t):!1}function hh(e,t){const n=Xi(e);return!n||Ki(n)?!1:t?n.host.includes(t.host)&&/(^|&|\?)sentry_key=/.test(n.search):!1}function ha(e){return e[e.length-1]==="/"?e.slice(0,-1):e}function mh(e){var t;"aggregates"in e?((t=e.attrs)==null?void 0:t.ip_address)===void 0&&(e.attrs={...e.attrs,ip_address:"{{auto}}"}):e.ipAddress===void 0&&(e.ipAddress="{{auto}}")}function Mu(e,t,n=[t],r="npm"){const s=(e._metadata=e._metadata||{}).sdk=e._metadata.sdk||{};s.name||(s.name=`sentry.javascript.${t}`,s.packages=n.map(i=>({name:`${r}:@sentry/${i}`,version:Ft})),s.version=Ft)}function Au(e={}){const t=e.client||z();if(!Ap()||!t)return{};const n=jt(),r=Tn(n);if(r.getTraceData)return r.getTraceData(e);const s=e.scope||ee(),i=e.span||Te(),o=i?kf(i):_h(s),c=i?dt(i):su(t,s),a=lf(c);if(!Kc.test(o))return b.warn("Invalid sentry-trace data. Cannot generate trace data"),{};const d={"sentry-trace":o,baggage:a};return e.propagateTraceparent&&(d.traceparent=i?Cf(i):gh(s)),d}function _h(e){const{traceId:t,sampled:n,propagationSpanId:r}=e.getPropagationContext();return Xc(t,r,n)}function gh(e){const{traceId:t,sampled:n,propagationSpanId:r}=e.getPropagationContext();return Jc(t,r,n)}function yh(e,t,n){let r,s,i;const o=n!=null&&n.maxWait?Math.max(n.maxWait,t):0,c=(n==null?void 0:n.setTimeoutImpl)||setTimeout;function a(){return u(),r=e(),r}function u(){s!==void 0&&clearTimeout(s),i!==void 0&&clearTimeout(i),s=i=void 0}function d(){return s!==void 0||i!==void 0?a():r}function l(){return s&&clearTimeout(s),s=c(a,t),o&&i===void 0&&(i=c(a,o)),r}return l.cancel=u,l.flush=d,l}const Sh=100;function kt(e,t){const n=z(),r=Re();if(!n)return;const{beforeBreadcrumb:s=null,maxBreadcrumbs:i=Sh}=n.getOptions();if(i<=0)return;const c={timestamp:Gt(),...e},a=s?pt(()=>s(c,t)):c;a!==null&&(n.emit&&n.emit("beforeAddBreadcrumb",a,t),r.addBreadcrumb(a,i))}let ma;const bh="FunctionToString",_a=new WeakMap,Eh=()=>({name:bh,setupOnce(){ma=Function.prototype.toString;try{Function.prototype.toString=function(...e){const t=Pi(this),n=_a.has(z())&&t!==void 0?t:this;return ma.apply(n,e)}}catch{}},setup(e){_a.set(e,!0)}}),vh=Eh,Th=[/^Script error\.?$/,/^Javascript error: Script error\.? on line 0$/,/^ResizeObserver loop completed with undelivered notifications.$/,/^Cannot redefine property: googletag$/,/^Can't find variable: gmo$/,/^undefined is not an object \(evaluating 'a\.[A-Z]'\)$/,`can't redefine non-configurable property "solana"`,"vv().getRestrictions is not a function. (In 'vv().getRestrictions(1,a)', 'vv().getRestrictions' is undefined)","Can't find variable: _AutofillCallbackHandler",/^Non-Error promise rejection captured with value: Object Not Found Matching Id:\d+, MethodName:simulateEvent, ParamCount:\d+$/,/^Java exception was raised during method invocation$/],wh="EventFilters",Ih=(e={})=>{let t;return{name:wh,setup(n){const r=n.getOptions();t=ga(e,r)},processEvent(n,r,s){if(!t){const i=s.getOptions();t=ga(e,i)}return Ch(n,t)?null:n}}},kh=(e={})=>({...Ih(e),name:"InboundFilters"});function ga(e={},t={}){return{allowUrls:[...e.allowUrls||[],...t.allowUrls||[]],denyUrls:[...e.denyUrls||[],...t.denyUrls||[]],ignoreErrors:[...e.ignoreErrors||[],...t.ignoreErrors||[],...e.disableErrorDefaults?[]:Th],ignoreTransactions:[...e.ignoreTransactions||[],...t.ignoreTransactions||[]]}}function Ch(e,t){if(e.type){if(e.type==="transaction"&&xh(e,t.ignoreTransactions))return x&&b.warn(`Event dropped due to being matched by \`ignoreTransactions\` option. +Event: ${Nt(e)}`),!0}else{if(Rh(e,t.ignoreErrors))return x&&b.warn(`Event dropped due to being matched by \`ignoreErrors\` option. +Event: ${Nt(e)}`),!0;if(Lh(e))return x&&b.warn(`Event dropped due to not having an error message, error type or stacktrace. +Event: ${Nt(e)}`),!0;if(Mh(e,t.denyUrls))return x&&b.warn(`Event dropped due to being matched by \`denyUrls\` option. +Event: ${Nt(e)}. +Url: ${jr(e)}`),!0;if(!Ah(e,t.allowUrls))return x&&b.warn(`Event dropped due to not being matched by \`allowUrls\` option. +Event: ${Nt(e)}. +Url: ${jr(e)}`),!0}return!1}function Rh(e,t){return t!=null&&t.length?Iu(e).some(n=>st(n,t)):!1}function xh(e,t){if(!(t!=null&&t.length))return!1;const n=e.transaction;return n?st(n,t):!1}function Mh(e,t){if(!(t!=null&&t.length))return!1;const n=jr(e);return n?st(n,t):!1}function Ah(e,t){if(!(t!=null&&t.length))return!0;const n=jr(e);return n?st(n,t):!0}function Nh(e=[]){for(let t=e.length-1;t>=0;t--){const n=e[t];if(n&&n.filename!==""&&n.filename!=="[native code]")return n.filename||null}return null}function jr(e){var t,n;try{const r=[...((t=e.exception)==null?void 0:t.values)??[]].reverse().find(i=>{var o,c,a;return((o=i.mechanism)==null?void 0:o.parent_id)===void 0&&((a=(c=i.stacktrace)==null?void 0:c.frames)==null?void 0:a.length)}),s=(n=r==null?void 0:r.stacktrace)==null?void 0:n.frames;return s?Nh(s):null}catch{return x&&b.error(`Cannot extract url for event ${Nt(e)}`),null}}function Lh(e){var t,n;return(n=(t=e.exception)==null?void 0:t.values)!=null&&n.length?!e.message&&!e.exception.values.some(r=>r.stacktrace||r.type&&r.type!=="Error"||r.value):!1}function Dh(e,t,n,r,s,i){var c;if(!((c=s.exception)!=null&&c.values)||!i||!ct(i.originalException,Error))return;const o=s.exception.values.length>0?s.exception.values[s.exception.values.length-1]:void 0;o&&(s.exception.values=ai(e,t,r,i.originalException,n,s.exception.values,o,0))}function ai(e,t,n,r,s,i,o,c){if(i.length>=n+1)return i;let a=[...i];if(ct(r[s],Error)){ya(o,c,r);const u=e(t,r[s]),d=a.length;Sa(u,s,d,c),a=ai(e,t,n,r[s],s,[u,...a],u,d)}return Nu(r)&&r.errors.forEach((u,d)=>{if(ct(u,Error)){ya(o,c,r);const l=e(t,u),f=a.length;Sa(l,`errors[${d}]`,f,c),a=ai(e,t,n,u,s,[l,...a],l,f)}}),a}function Nu(e){return Array.isArray(e.errors)}function ya(e,t,n){e.mechanism={handled:!0,type:"auto.core.linked_errors",...Nu(n)&&{is_exception_group:!0},...e.mechanism,exception_id:t}}function Sa(e,t,n,r){e.mechanism={handled:!0,...e.mechanism,type:"chained",source:t,exception_id:n,parent_id:r}}function Oh(e){const t="console";Rt(t,e),xt(t,Ph)}function Ph(){"console"in V&&bd.forEach(function(e){e in V.console&&Ne(V.console,e,function(t){return Ur[e]=t,function(...n){ze("console",{args:n,level:e});const s=Ur[e];s==null||s.apply(V.console,n)}})})}function Lu(e){return e==="warn"?"warning":["fatal","error","warning","log","info","debug"].includes(e)?e:"log"}const Fh="Dedupe",$h=()=>{let e;return{name:Fh,processEvent(t){if(t.type)return t;try{if(Hh(t,e))return x&&b.warn("Event dropped due to being a duplicate of previously captured event."),null}catch{}return e=t}}},Bh=$h;function Hh(e,t){return t?!!(Uh(e,t)||Wh(e,t)):!1}function Uh(e,t){const n=e.message,r=t.message;return!(!n&&!r||n&&!r||!n&&r||n!==r||!Ou(e,t)||!Du(e,t))}function Wh(e,t){const n=ba(t),r=ba(e);return!(!n||!r||n.type!==r.type||n.value!==r.value||!Ou(e,t)||!Du(e,t))}function Du(e,t){let n=Mo(e),r=Mo(t);if(!n&&!r)return!0;if(n&&!r||!n&&r||(n=n,r=r,r.length!==n.length))return!1;for(let s=0;s({name:zh,setup(e){e.on("spanStart",t=>{const n=ee().getScopeData(),r=Re().getScopeData(),s=n.conversationId||r.conversationId;s&&t.setAttribute(tf,s)})}}),jh=qh;function Vh(e,t,n,r,s){if(!e.fetchData)return;const{method:i,url:o}=e.fetchData,c=qe()&&t(o);if(e.endTimestamp){const p=e.fetchData.__span;if(!p)return;const h=r[p];h&&(c&&(Kh(h,e),Gh(h,e,s)),delete r[p]);return}const{spanOrigin:a="auto.http.browser",propagateTraceparent:u=!1}=typeof s=="object"?s:{spanOrigin:s},d=!!Te(),l=c&&d?It(Jh(o,i,a)):new wt;if(e.fetchData.__span=l.spanContext().spanId,r[l.spanContext().spanId]=l,n(e.fetchData.url)){const p=e.args[0],h={...e.args[1]||{}},m=Yh(p,h,qe()&&d?l:void 0,u);m&&(e.args[1]=h,h.headers=m)}const f=z();if(f){const p={input:e.args,response:e.response,startTimestamp:e.startTimestamp,endTimestamp:e.endTimestamp};f.emit("beforeOutgoingRequestSpan",l,p)}return l}function Gh(e,t,n){var s;const r=typeof n=="object"&&n!==null?n.onRequestSpanEnd:void 0;r==null||r(e,{headers:(s=t.response)==null?void 0:s.headers,error:t.error})}function Yh(e,t,n,r){const s=Au({span:n,propagateTraceparent:r}),i=s["sentry-trace"],o=s.baggage,c=s.traceparent;if(!i)return;const a=t.headers||(Di(e)?e.headers:void 0);if(a)if(Xh(a)){const u=new Headers(a);if(u.get("sentry-trace")||u.set("sentry-trace",i),r&&c&&!u.get("traceparent")&&u.set("traceparent",c),o){const d=u.get("baggage");d?pr(d)||u.set("baggage",`${d},${o}`):u.set("baggage",o)}return u}else if(Array.isArray(a)){const u=[...a];a.find(l=>l[0]==="sentry-trace")||u.push(["sentry-trace",i]),r&&c&&!a.find(l=>l[0]==="traceparent")&&u.push(["traceparent",c]);const d=a.find(l=>l[0]==="baggage"&&pr(l[1]));return o&&!d&&u.push(["baggage",o]),u}else{const u="sentry-trace"in a?a["sentry-trace"]:void 0,d="traceparent"in a?a.traceparent:void 0,l="baggage"in a?a.baggage:void 0,f=l?Array.isArray(l)?[...l]:[l]:[],p=l&&(Array.isArray(l)?l.find(m=>pr(m)):pr(l));o&&!p&&f.push(o);const h={...a,"sentry-trace":u??i,baggage:f.length>0?f.join(","):void 0};return r&&c&&!d&&(h.traceparent=c),h}else return{...s}}function Kh(e,t){var n,r;if(t.response){qc(e,t.response.status);const s=(r=(n=t.response)==null?void 0:n.headers)==null?void 0:r.get("content-length");if(s){const i=parseInt(s);i>0&&e.setAttribute("http.response_content_length",i)}}else t.error&&e.setStatus({code:ye,message:"internal_error"});e.end()}function pr(e){return e.split(",").some(t=>t.trim().startsWith(Hi))}function Xh(e){return typeof Headers<"u"&&ct(e,Headers)}function Jh(e,t,n){if(e.startsWith("data:")){const i=Et(e);return{name:`${t} ${i}`,attributes:Ea(e,void 0,t,n)}}const r=Xi(e),s=r?lh(r):e;return{name:`${t} ${s}`,attributes:Ea(e,r,t,n)}}function Ea(e,t,n,r){const s={url:Et(e),type:"fetch","http.method":n,[fe]:r,[lt]:"http.client"};return t&&(Ki(t)||(s["http.url"]=Et(t.href),s["server.address"]=t.host),t.search&&(s["http.query"]=t.search),t.hash&&(s["http.fragment"]=t.hash)),s}function Zh(e,t={},n=ee()){const{message:r,name:s,email:i,url:o,source:c,associatedEventId:a,tags:u}=e,d={contexts:{feedback:{contact_email:i,name:s,message:r,url:o,source:c,associated_event_id:a}},type:"feedback",level:"info",tags:u},l=(n==null?void 0:n.getClient())||z();return l&&l.emit("beforeSendFeedback",d,t),n.captureEvent(d,t)}function Pu(e){if(e!==void 0)return e>=400&&e<500?"warning":e>=500?"error":void 0}const Hn=V;function Qh(){return"history"in Hn&&!!Hn.history}function em(){if(!("fetch"in Hn))return!1;try{return new Headers,new Request("data:,"),new Response,!0}catch{return!1}}function ci(e){return e&&/^function\s+\w+\(\)\s+\{\s+\[native code\]\s+\}$/.test(e.toString())}function tm(){var n;if(typeof EdgeRuntime=="string")return!0;if(!em())return!1;if(ci(Hn.fetch))return!0;let e=!1;const t=Hn.document;if(t&&typeof t.createElement=="function")try{const r=t.createElement("iframe");r.hidden=!0,t.head.appendChild(r),(n=r.contentWindow)!=null&&n.fetch&&(e=ci(r.contentWindow.fetch)),t.head.removeChild(r)}catch(r){x&&b.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ",r)}return e}function Fu(e,t){const n="fetch";Rt(n,e),xt(n,()=>$u(void 0,t))}function nm(e){const t="fetch-body-resolved";Rt(t,e),xt(t,()=>$u(sm))}function $u(e,t=!1){t&&!tm()||Ne(V,"fetch",function(n){return function(...r){const s=new Error,{method:i,url:o}=im(r),c={args:r,fetchData:{method:i,url:o},startTimestamp:_e()*1e3,virtualError:s,headers:om(r)};return e||ze("fetch",{...c}),n.apply(V,r).then(async a=>(e?e(a):ze("fetch",{...c,endTimestamp:_e()*1e3,response:a}),a),a=>{ze("fetch",{...c,endTimestamp:_e()*1e3,error:a}),as(a)&&a.stack===void 0&&(a.stack=s.stack,Oe(a,"framesToPop",1));const u=z(),d=(u==null?void 0:u.getOptions().enhanceFetchErrorMessages)??"always";if(d!==!1&&a instanceof TypeError&&(a.message==="Failed to fetch"||a.message==="Load failed"||a.message==="NetworkError when attempting to fetch resource."))try{const p=new URL(c.fetchData.url).host;d==="always"?a.message=`${a.message} (${p})`:Oe(a,"__sentry_fetch_url_host__",p)}catch{}throw a})}})}async function rm(e,t){if(e!=null&&e.body){const n=e.body,r=n.getReader(),s=setTimeout(()=>{n.cancel().then(null,()=>{})},90*1e3);let i=!0;for(;i;){let o;try{o=setTimeout(()=>{n.cancel().then(null,()=>{})},5e3);const{done:c}=await r.read();clearTimeout(o),c&&(t(),i=!1)}catch{i=!1}finally{clearTimeout(o)}}clearTimeout(s),r.releaseLock(),n.cancel().then(null,()=>{})}}function sm(e){let t;try{t=e.clone()}catch{return}rm(t,()=>{ze("fetch-body-resolved",{endTimestamp:_e()*1e3,response:e})})}function Ar(e,t){return!!e&&typeof e=="object"&&!!e[t]}function va(e){return typeof e=="string"?e:e?Ar(e,"url")?e.url:e.toString?e.toString():"":""}function im(e){if(e.length===0)return{method:"GET",url:""};if(e.length===2){const[n,r]=e;return{url:va(n),method:Ar(r,"method")?String(r.method).toUpperCase():Di(n)&&Ar(n,"method")?String(n.method).toUpperCase():"GET"}}const t=e[0];return{url:va(t),method:Ar(t,"method")?String(t.method).toUpperCase():"GET"}}function om(e){const[t,n]=e;try{if(typeof n=="object"&&n!==null&&"headers"in n&&n.headers)return new Headers(n.headers);if(Di(t))return new Headers(t.headers)}catch{}}function am(){return typeof __SENTRY_BROWSER_BUNDLE__<"u"&&!!__SENTRY_BROWSER_BUNDLE__}function cm(){return"npm"}function um(){return!am()&&Object.prototype.toString.call(typeof process<"u"?process:0)==="[object process]"}function Vr(){return typeof window<"u"&&(!um()||lm())}function lm(){const e=V.process;return(e==null?void 0:e.type)==="renderer"}const Ze=V,se=Ze.document,An=Ze.navigator,Bu="Report a Bug",dm="Cancel",fm="Send Bug Report",pm="Confirm",hm="Report a Bug",mm="your.email@example.org",_m="Email",gm="What's the bug? What did you expect?",ym="Description",Sm="Your Name",bm="Name",Em="Thank you for your report!",vm="(required)",Tm="Add a screenshot",wm="Remove screenshot",Im="Highlight",km="Hide",Cm="Remove",Rm="widget",xm="api",Mm=5e3,Am=(e,t={includeReplay:!0})=>{if(!e.message)throw new Error("Unable to submit feedback with empty message");const n=z();if(!n)throw new Error("No client setup, cannot send feedback.");e.tags&&Object.keys(e.tags).length&&ee().setTags(e.tags);const r=Zh({source:xm,url:Vt(),...e},t);return new Promise((s,i)=>{const o=setTimeout(()=>i("Unable to determine if Feedback was correctly sent."),3e4),c=n.on("afterSendEvent",(a,u)=>{if(a.event_id===r)return clearTimeout(o),c(),u!=null&&u.statusCode&&u.statusCode>=200&&u.statusCode<300?s(r):(u==null?void 0:u.statusCode)===403?i("Unable to send feedback. This could be because this domain is not in your list of allowed domains."):i("Unable to send feedback. This could be because of network issues, or because you are using an ad-blocker.")})})},Nr=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__;function Nm(){return!(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(An.userAgent)||/Macintosh/i.test(An.userAgent)&&An.maxTouchPoints&&An.maxTouchPoints>1||!isSecureContext)}function hr(e,t){return{...e,...t,tags:{...e.tags,...t.tags},onFormOpen:()=>{var n,r;(n=t.onFormOpen)==null||n.call(t),(r=e.onFormOpen)==null||r.call(e)},onFormClose:()=>{var n,r;(n=t.onFormClose)==null||n.call(t),(r=e.onFormClose)==null||r.call(e)},onSubmitSuccess:(n,r)=>{var s,i;(s=t.onSubmitSuccess)==null||s.call(t,n,r),(i=e.onSubmitSuccess)==null||i.call(e,n,r)},onSubmitError:n=>{var r,s;(r=t.onSubmitError)==null||r.call(t,n),(s=e.onSubmitError)==null||s.call(e,n)},onFormSubmitted:()=>{var n,r;(n=t.onFormSubmitted)==null||n.call(t),(r=e.onFormSubmitted)==null||r.call(e)},themeDark:{...e.themeDark,...t.themeDark},themeLight:{...e.themeLight,...t.themeLight}}}function Lm(e){const t=se.createElement("style");return t.textContent=` +.widget__actor { + position: fixed; + z-index: var(--z-index); + margin: var(--page-margin); + inset: var(--actor-inset); + + display: flex; + align-items: center; + gap: 8px; + padding: 16px; + + font-family: inherit; + font-size: var(--font-size); + font-weight: 600; + line-height: 1.14em; + text-decoration: none; + + background: var(--actor-background, var(--background)); + border-radius: var(--actor-border-radius, 1.7em/50%); + border: var(--actor-border, var(--border)); + box-shadow: var(--actor-box-shadow, var(--box-shadow)); + color: var(--actor-color, var(--foreground)); + fill: var(--actor-color, var(--foreground)); + cursor: pointer; + opacity: 1; + transition: transform 0.2s ease-in-out; + transform: translate(0, 0) scale(1); +} +.widget__actor[aria-hidden="true"] { + opacity: 0; + pointer-events: none; + visibility: hidden; + transform: translate(0, 16px) scale(0.98); +} + +.widget__actor:hover { + background: var(--actor-hover-background, var(--background)); + filter: var(--interactive-filter); +} + +.widget__actor svg { + width: 1.14em; + height: 1.14em; +} + +@media (max-width: 600px) { + .widget__actor span { + display: none; + } +} +`,e&&t.setAttribute("nonce",e),t}function $e(e,t){return Object.entries(t).forEach(([n,r])=>{e.setAttributeNS(null,n,r)}),e}const Xt=20,Dm="http://www.w3.org/2000/svg";function Om(){const e=c=>Ze.document.createElementNS(Dm,c),t=$e(e("svg"),{width:`${Xt}`,height:`${Xt}`,viewBox:`0 0 ${Xt} ${Xt}`,fill:"var(--actor-color, var(--foreground))"}),n=$e(e("g"),{clipPath:"url(#clip0_57_80)"}),r=$e(e("path"),{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M15.6622 15H12.3997C12.2129 14.9959 12.031 14.9396 11.8747 14.8375L8.04965 12.2H7.49956V19.1C7.4875 19.3348 7.3888 19.5568 7.22256 19.723C7.05632 19.8892 6.83435 19.9879 6.59956 20H2.04956C1.80193 19.9968 1.56535 19.8969 1.39023 19.7218C1.21511 19.5467 1.1153 19.3101 1.11206 19.0625V12.2H0.949652C0.824431 12.2017 0.700142 12.1783 0.584123 12.1311C0.468104 12.084 0.362708 12.014 0.274155 11.9255C0.185602 11.8369 0.115689 11.7315 0.0685419 11.6155C0.0213952 11.4995 -0.00202913 11.3752 -0.00034808 11.25V3.75C-0.00900498 3.62067 0.0092504 3.49095 0.0532651 3.36904C0.0972798 3.24712 0.166097 3.13566 0.255372 3.04168C0.344646 2.94771 0.452437 2.87327 0.571937 2.82307C0.691437 2.77286 0.82005 2.74798 0.949652 2.75H8.04965L11.8747 0.1625C12.031 0.0603649 12.2129 0.00407221 12.3997 0H15.6622C15.9098 0.00323746 16.1464 0.103049 16.3215 0.278167C16.4966 0.453286 16.5964 0.689866 16.5997 0.9375V3.25269C17.3969 3.42959 18.1345 3.83026 18.7211 4.41679C19.5322 5.22788 19.9878 6.32796 19.9878 7.47502C19.9878 8.62209 19.5322 9.72217 18.7211 10.5333C18.1345 11.1198 17.3969 11.5205 16.5997 11.6974V14.0125C16.6047 14.1393 16.5842 14.2659 16.5395 14.3847C16.4948 14.5035 16.4268 14.6121 16.3394 14.7042C16.252 14.7962 16.147 14.8698 16.0307 14.9206C15.9144 14.9714 15.7891 14.9984 15.6622 15ZM1.89695 10.325H1.88715V4.625H8.33715C8.52423 4.62301 8.70666 4.56654 8.86215 4.4625L12.6872 1.875H14.7247V13.125H12.6872L8.86215 10.4875C8.70666 10.3835 8.52423 10.327 8.33715 10.325H2.20217C2.15205 10.3167 2.10102 10.3125 2.04956 10.3125C1.9981 10.3125 1.94708 10.3167 1.89695 10.325ZM2.98706 12.2V18.1625H5.66206V12.2H2.98706ZM16.5997 9.93612V5.01393C16.6536 5.02355 16.7072 5.03495 16.7605 5.04814C17.1202 5.13709 17.4556 5.30487 17.7425 5.53934C18.0293 5.77381 18.2605 6.06912 18.4192 6.40389C18.578 6.73866 18.6603 7.10452 18.6603 7.47502C18.6603 7.84552 18.578 8.21139 18.4192 8.54616C18.2605 8.88093 18.0293 9.17624 17.7425 9.41071C17.4556 9.64518 17.1202 9.81296 16.7605 9.90191C16.7072 9.91509 16.6536 9.9265 16.5997 9.93612Z"});t.appendChild(n).appendChild(r);const s=e("defs"),i=$e(e("clipPath"),{id:"clip0_57_80"}),o=$e(e("rect"),{width:`${Xt}`,height:`${Xt}`,fill:"white"});return i.appendChild(o),s.appendChild(i),t.appendChild(s).appendChild(i).appendChild(o),t}function Pm({triggerLabel:e,triggerAriaLabel:t,shadow:n,styleNonce:r}){const s=se.createElement("button");if(s.type="button",s.className="widget__actor",s.ariaHidden="false",s.ariaLabel=t||e||Bu,s.appendChild(Om()),e){const o=se.createElement("span");o.appendChild(se.createTextNode(e)),s.appendChild(o)}const i=Lm(r);return{el:s,appendToDom(){n.appendChild(i),n.appendChild(s)},removeFromDom(){s.remove(),i.remove()},show(){s.ariaHidden="false"},hide(){s.ariaHidden="true"}}}const Hu="rgba(88, 74, 192, 1)",Fm={foreground:"#2b2233",background:"#ffffff",accentForeground:"white",accentBackground:Hu,successColor:"#268d75",errorColor:"#df3338",border:"1.5px solid rgba(41, 35, 47, 0.13)",boxShadow:"0px 4px 24px 0px rgba(43, 34, 51, 0.12)",outline:"1px auto var(--accent-background)",interactiveFilter:"brightness(95%)"},Ta={foreground:"#ebe6ef",background:"#29232f",accentForeground:"white",accentBackground:Hu,successColor:"#2da98c",errorColor:"#f55459",border:"1.5px solid rgba(235, 230, 239, 0.15)",boxShadow:"0px 4px 24px 0px rgba(43, 34, 51, 0.12)",outline:"1px auto var(--accent-background)",interactiveFilter:"brightness(150%)"};function wa(e){return` + --foreground: ${e.foreground}; + --background: ${e.background}; + --accent-foreground: ${e.accentForeground}; + --accent-background: ${e.accentBackground}; + --success-color: ${e.successColor}; + --error-color: ${e.errorColor}; + --border: ${e.border}; + --box-shadow: ${e.boxShadow}; + --outline: ${e.outline}; + --interactive-filter: ${e.interactiveFilter}; + `}function Ia({colorScheme:e,themeDark:t,themeLight:n,styleNonce:r}){const s=se.createElement("style");return s.textContent=` +:host { + --font-family: system-ui, 'Helvetica Neue', Arial, sans-serif; + --font-size: 14px; + --z-index: 100000; + + --page-margin: 16px; + --inset: auto 0 0 auto; + --actor-inset: var(--inset); + + font-family: var(--font-family); + font-size: var(--font-size); + + ${e!=="system"?`color-scheme: only ${e};`:""} + + ${wa(e==="dark"?{...Ta,...t}:{...Fm,...n})} +} + +${e==="system"?` +@media (prefers-color-scheme: dark) { + :host { + color-scheme: only dark; + + ${wa({...Ta,...t})} + } +}`:""} +`,r&&s.setAttribute("nonce",r),s}const $m=({lazyLoadIntegration:e,getModalIntegration:t,getScreenshotIntegration:n})=>({id:s="sentry-feedback",autoInject:i=!0,showBranding:o=!0,isEmailRequired:c=!1,isNameRequired:a=!1,showEmail:u=!0,showName:d=!0,enableScreenshot:l=!0,useSentryUser:f={email:"email",name:"username"},tags:p,styleNonce:h,scriptNonce:m,colorScheme:_="system",themeLight:g={},themeDark:S={},addScreenshotButtonLabel:N=Tm,cancelButtonLabel:R=dm,confirmButtonLabel:U=pm,emailLabel:A=_m,emailPlaceholder:y=mm,formTitle:I=hm,isRequiredLabel:P=vm,messageLabel:v=ym,messagePlaceholder:k=gm,nameLabel:w=bm,namePlaceholder:C=Sm,removeScreenshotButtonLabel:M=wm,submitButtonLabel:J=fm,successMessageText:Y=Em,triggerLabel:Z=Bu,triggerAriaLabel:E="",highlightToolText:F=Im,hideToolText:T=km,removeHighlightText:H=Cm,onFormOpen:ne,onFormClose:te,onSubmitSuccess:me,onSubmitError:we,onFormSubmitted:ht}={})=>{const be={id:s,autoInject:i,showBranding:o,isEmailRequired:c,isNameRequired:a,showEmail:u,showName:d,enableScreenshot:l,useSentryUser:f,tags:p,styleNonce:h,scriptNonce:m,colorScheme:_,themeDark:S,themeLight:g,triggerLabel:Z,triggerAriaLabel:E,cancelButtonLabel:R,submitButtonLabel:J,confirmButtonLabel:U,formTitle:I,emailLabel:A,emailPlaceholder:y,messageLabel:v,messagePlaceholder:k,nameLabel:w,namePlaceholder:C,successMessageText:Y,isRequiredLabel:P,addScreenshotButtonLabel:N,removeScreenshotButtonLabel:M,highlightToolText:F,hideToolText:T,removeHighlightText:H,onFormClose:te,onFormOpen:ne,onSubmitError:we,onSubmitSuccess:me,onFormSubmitted:ht};let Ee=null,Ve=null,Ge=[];const Rn=G=>{if(!Ee){const ue=se.createElement("div");ue.id=String(G.id),se.body.appendChild(ue),Ee=ue.attachShadow({mode:"open"}),Ve=Ia(G),Ee.appendChild(Ve)}return Ee},lr=async G=>{const ue=G.enableScreenshot&&Nm();let xe,Se;try{xe=(t?t():await e("feedbackModalIntegration",m))(),ia(xe)}catch{throw Nr&&b.error("[Feedback] Error when trying to load feedback integrations. Try using `feedbackSyncIntegration` in your `Sentry.init`."),new Error("[Feedback] Missing feedback modal integration!")}try{const B=ue?n?n():await e("feedbackScreenshotIntegration",m):void 0;B&&(Se=B(),ia(Se))}catch{Nr&&b.error("[Feedback] Missing feedback screenshot integration. Proceeding without screenshots.")}const le=xe.createDialog({options:{...G,onFormClose:()=>{var B;le==null||le.close(),(B=G.onFormClose)==null||B.call(G)},onFormSubmitted:()=>{var B;le==null||le.close(),(B=G.onFormSubmitted)==null||B.call(G)}},screenshotIntegration:Se,sendFeedback:Am,shadow:Rn(G)});return le},dr=(G,ue={})=>{const xe=hr(be,ue),Se=typeof G=="string"?se.querySelector(G):typeof G.addEventListener=="function"?G:null;if(!Se)throw Nr&&b.error("[Feedback] Unable to attach to target element"),new Error("Unable to attach to target element");let le=null;const B=async()=>{le||(le=await lr({...xe,onFormSubmitted:()=>{var W;le==null||le.removeFromDom(),(W=xe.onFormSubmitted)==null||W.call(xe)}})),le.appendToDom(),le.open()};Se.addEventListener("click",B);const Ie=()=>{Ge=Ge.filter(W=>W!==Ie),le==null||le.removeFromDom(),le=null,Se.removeEventListener("click",B)};return Ge.push(Ie),Ie},Ye=(G={})=>{const ue=hr(be,G),xe=Rn(ue),Se=Pm({triggerLabel:ue.triggerLabel,triggerAriaLabel:ue.triggerAriaLabel,shadow:xe,styleNonce:h});return dr(Se.el,{...ue,onFormOpen(){Se.hide()},onFormClose(){Se.show()},onFormSubmitted(){Se.show()}}),Se};return{name:"Feedback",setupOnce(){!Vr()||!be.autoInject||(se.readyState==="loading"?se.addEventListener("DOMContentLoaded",()=>Ye().appendToDom()):Ye().appendToDom())},attachTo:dr,createWidget(G={}){const ue=Ye(hr(be,G));return ue.appendToDom(),ue},async createForm(G={}){return lr(hr(be,G))},setTheme(G){if(be.colorScheme=G,Ee){const ue=Ia(be);Ve?Ee.replaceChild(ue,Ve):Ee.prepend(ue),Ve=ue}},remove(){var G;Ee&&((G=Ee.parentElement)==null||G.remove(),Ee=null,Ve=null),Ge.forEach(ue=>ue()),Ge=[]}}};var fs,oe,Uu,Lt,ka,Wu,ui,Un={},Ji=[],Bm=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,Zi=Array.isArray;function St(e,t){for(var n in t)e[n]=t[n];return e}function zu(e){var t=e.parentNode;t&&t.removeChild(e)}function j(e,t,n){var r,s,i,o={};for(i in t)i=="key"?r=t[i]:i=="ref"?s=t[i]:o[i]=t[i];if(arguments.length>2&&(o.children=arguments.length>3?fs.call(arguments,2):n),typeof e=="function"&&e.defaultProps!=null)for(i in e.defaultProps)o[i]===void 0&&(o[i]=e.defaultProps[i]);return Lr(e,o,r,s,null)}function Lr(e,t,n,r,s){var i={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:s??++Uu,__i:-1,__u:0};return s==null&&oe.vnode!=null&&oe.vnode(i),i}function Qn(e){return e.children}function Dr(e,t){this.props=e,this.context=t}function hn(e,t){if(t==null)return e.__?hn(e.__,e.__i+1):null;for(var n;tn?(li(r,t,s),s.length=r.length=0,t=void 0,Lt.sort(ui)):t&&oe.__c&&oe.__c(t,Ji));t&&li(r,t,s),Gr.__r=0}function ju(e,t,n,r,s,i,o,c,a,u,d){var l,f,p,h,m,_=r&&r.__k||Ji,g=t.length;for(n.__d=a,Um(n,t,_),a=n.__d,l=0;l0?Lr(s.type,s.props,s.key,s.ref?s.ref:null,s.__v):s)!=null?(s.__=e,s.__b=e.__b+1,c=Wm(s,n,o=r+l,d),s.__i=c,i=null,c!==-1&&(d--,(i=n[c])&&(i.__u|=131072)),i==null||i.__v===null?(c==-1&&l--,typeof s.type!="function"&&(s.__u|=65536)):c!==o&&(c===o+1?l++:c>o?d>a-o?l+=c-o:l--:l=c(a!=null&&!(131072&a.__u)?1:0))for(;o>=0||c=0){if((a=t[o])&&!(131072&a.__u)&&s==a.key&&i===a.type)return o;o--}if(c=n.__.length&&n.__.push({__V:Or}),n.__[e]}function Dt(e){return mn=1,Yu(Xu,e)}function Yu(e,t,n){var r=Yt(ft++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):Xu(void 0,t),function(c){var a=r.__N?r.__N[0]:r.__[0],u=r.t(a,c);a!==u&&(r.__N=[u,r.__[1]],r.__c.setState({}))}],r.__c=ie,!ie.u)){var s=function(c,a,u){if(!r.__c.__H)return!0;var d=r.__c.__H.__.filter(function(f){return!!f.__c});if(d.every(function(f){return!f.__N}))return!i||i.call(this,c,a,u);var l=!1;return d.forEach(function(f){if(f.__N){var p=f.__[0];f.__=f.__N,f.__N=void 0,p!==f.__[0]&&(l=!0)}}),!(!l&&r.__c.props===c)&&(!i||i.call(this,c,a,u))};ie.u=!0;var i=ie.shouldComponentUpdate,o=ie.componentWillUpdate;ie.componentWillUpdate=function(c,a,u){if(this.__e){var d=i;i=void 0,s(c,a,u),i=d}o&&o.call(this,c,a,u)},ie.shouldComponentUpdate=s}return r.__N||r.__}function Vm(e,t){var n=Yt(ft++,3);!de.__s&&to(n.__H,t)&&(n.__=e,n.i=t,ie.__H.__h.push(n))}function Ku(e,t){var n=Yt(ft++,4);!de.__s&&to(n.__H,t)&&(n.__=e,n.i=t,ie.__h.push(n))}function Gm(e){return mn=5,er(function(){return{current:e}},[])}function Ym(e,t,n){mn=6,Ku(function(){return typeof e=="function"?(e(t()),function(){return e(null)}):e?(e.current=t(),function(){return e.current=null}):void 0},n==null?n:n.concat(e))}function er(e,t){var n=Yt(ft++,7);return to(n.__H,t)?(n.__V=e(),n.i=t,n.__h=e,n.__V):n.__}function an(e,t){return mn=8,er(function(){return e},t)}function Km(e){var t=ie.context[e.__c],n=Yt(ft++,9);return n.c=e,t?(n.__==null&&(n.__=!0,t.sub(ie)),t.props.value):e.__}function Xm(e,t){de.useDebugValue&&de.useDebugValue(t?t(e):e)}function Jm(e){var t=Yt(ft++,10),n=Dt();return t.__=e,ie.componentDidCatch||(ie.componentDidCatch=function(r,s){t.__&&t.__(r,s),n[1](r)}),[n[0],function(){n[1](void 0)}]}function Zm(){var e=Yt(ft++,11);if(!e.__){for(var t=ie.__v;t!==null&&!t.__m&&t.__!==null;)t=t.__;var n=t.__m||(t.__m=[0,0]);e.__="P"+n[0]+"-"+n[1]++}return e.__}function Qm(){for(var e;e=Gu.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(Pr),e.__H.__h.forEach(fi),e.__H.__h=[]}catch(t){e.__H.__h=[],de.__e(t,e.__v)}}de.__b=function(e){ie=null,Na&&Na(e)},de.__=function(e,t){t.__k&&t.__k.__m&&(e.__m=t.__k.__m),Fa&&Fa(e,t)},de.__r=function(e){La&&La(e),ft=0;var t=(ie=e.__c).__H;t&&(As===ie?(t.__h=[],ie.__h=[],t.__.forEach(function(n){n.__N&&(n.__=n.__N),n.__V=Or,n.__N=n.i=void 0})):(t.__h.forEach(Pr),t.__h.forEach(fi),t.__h=[],ft=0)),As=ie},de.diffed=function(e){Da&&Da(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(Gu.push(t)!==1&&Aa===de.requestAnimationFrame||((Aa=de.requestAnimationFrame)||e_)(Qm)),t.__H.__.forEach(function(n){n.i&&(n.__H=n.i),n.__V!==Or&&(n.__=n.__V),n.i=void 0,n.__V=Or})),As=ie=null},de.__c=function(e,t){t.some(function(n){try{n.__h.forEach(Pr),n.__h=n.__h.filter(function(r){return!r.__||fi(r)})}catch(r){t.some(function(s){s.__h&&(s.__h=[])}),t=[],de.__e(r,n.__v)}}),Oa&&Oa(e,t)},de.unmount=function(e){Pa&&Pa(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach(function(r){try{Pr(r)}catch(s){t=s}}),n.__H=void 0,t&&de.__e(t,n.__v))};var $a=typeof requestAnimationFrame=="function";function e_(e){var t,n=function(){clearTimeout(r),$a&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,100);$a&&(t=requestAnimationFrame(n))}function Pr(e){var t=ie,n=e.__c;typeof n=="function"&&(e.__c=void 0,n()),ie=t}function fi(e){var t=ie;e.__c=e.__(),ie=t}function to(e,t){return!e||e.length!==t.length||t.some(function(n,r){return n!==e[r]})}function Xu(e,t){return typeof t=="function"?t(e):t}const t_=Object.defineProperty({__proto__:null,useCallback:an,useContext:Km,useDebugValue:Xm,useEffect:Vm,useErrorBoundary:Jm,useId:Zm,useImperativeHandle:Ym,useLayoutEffect:Ku,useMemo:er,useReducer:Yu,useRef:Gm,useState:Dt},Symbol.toStringTag,{value:"Module"}),n_="http://www.w3.org/2000/svg";function r_(){const e=r=>se.createElementNS(n_,r),t=$e(e("svg"),{width:"32",height:"30",viewBox:"0 0 72 66",fill:"inherit"}),n=$e(e("path"),{transform:"translate(11, 11)",d:"M29,2.26a4.67,4.67,0,0,0-8,0L14.42,13.53A32.21,32.21,0,0,1,32.17,40.19H27.55A27.68,27.68,0,0,0,12.09,17.47L6,28a15.92,15.92,0,0,1,9.23,12.17H4.62A.76.76,0,0,1,4,39.06l2.94-5a10.74,10.74,0,0,0-3.36-1.9l-2.91,5a4.54,4.54,0,0,0,1.69,6.24A4.66,4.66,0,0,0,4.62,44H19.15a19.4,19.4,0,0,0-8-17.31l2.31-4A23.87,23.87,0,0,1,23.76,44H36.07a35.88,35.88,0,0,0-16.41-31.8l4.67-8a.77.77,0,0,1,1.05-.27c.53.29,20.29,34.77,20.66,35.17a.76.76,0,0,1-.68,1.13H40.6q.09,1.91,0,3.81h4.78A4.59,4.59,0,0,0,50,39.43a4.49,4.49,0,0,0-.62-2.28Z"});return t.appendChild(n),t}function s_({options:e}){const t=er(()=>({__html:r_().outerHTML}),[]);return j("h2",{class:"dialog__header"},j("span",{class:"dialog__title"},e.formTitle),e.showBranding?j("a",{class:"brand-link",target:"_blank",href:"https://sentry.io/welcome/",title:"Powered by Sentry",rel:"noopener noreferrer",dangerouslySetInnerHTML:t}):null)}function i_(e,t){const n=[];return t.isNameRequired&&!e.name&&n.push(t.nameLabel),t.isEmailRequired&&!e.email&&n.push(t.emailLabel),e.message||n.push(t.messageLabel),n}function Ns(e,t){const n=e.get(t);return typeof n=="string"?n.trim():""}function o_({options:e,defaultEmail:t,defaultName:n,onFormClose:r,onSubmit:s,onSubmitSuccess:i,onSubmitError:o,showEmail:c,showName:a,screenshotInput:u}){const{tags:d,addScreenshotButtonLabel:l,removeScreenshotButtonLabel:f,cancelButtonLabel:p,emailLabel:h,emailPlaceholder:m,isEmailRequired:_,isNameRequired:g,messageLabel:S,messagePlaceholder:N,nameLabel:R,namePlaceholder:U,submitButtonLabel:A,isRequiredLabel:y}=e,[I,P]=Dt(!1),[v,k]=Dt(null),[w,C]=Dt(!1),M=u==null?void 0:u.input,[J,Y]=Dt(null),Z=an(T=>{Y(T),C(!1)},[]),E=an(T=>{const H=i_(T,{emailLabel:h,isEmailRequired:_,isNameRequired:g,messageLabel:S,nameLabel:R});return H.length>0?k(`Please enter in the following required fields: ${H.join(", ")}`):k(null),H.length===0},[h,_,g,S,R]),F=an(async T=>{P(!0);try{if(T.preventDefault(),!(T.target instanceof HTMLFormElement))return;const H=new FormData(T.target),ne=await(u&&w?u.value():void 0),te={name:Ns(H,"name"),email:Ns(H,"email"),message:Ns(H,"message"),attachments:ne?[ne]:void 0};if(!E(te))return;try{const me=await s({name:te.name,email:te.email,message:te.message,source:Rm,tags:d},{attachments:te.attachments});i(te,me)}catch(me){Nr&&b.error(me),k(me),o(me)}}finally{P(!1)}},[u&&w,i,o]);return j("form",{class:"form",onSubmit:F},M&&w?j(M,{onError:Z}):null,j("fieldset",{class:"form__right","data-sentry-feedback":!0,disabled:I},j("div",{class:"form__top"},v?j("div",{class:"form__error-container"},v):null,a?j("label",{for:"name",class:"form__label"},j(Ls,{label:R,isRequiredLabel:y,isRequired:g}),j("input",{class:"form__input",defaultValue:n,id:"name",name:"name",placeholder:U,required:g,type:"text"})):j("input",{"aria-hidden":!0,value:n,name:"name",type:"hidden"}),c?j("label",{for:"email",class:"form__label"},j(Ls,{label:h,isRequiredLabel:y,isRequired:_}),j("input",{class:"form__input",defaultValue:t,id:"email",name:"email",placeholder:m,required:_,type:"email"})):j("input",{"aria-hidden":!0,value:t,name:"email",type:"hidden"}),j("label",{for:"message",class:"form__label"},j(Ls,{label:S,isRequiredLabel:y,isRequired:!0}),j("textarea",{autoFocus:!0,class:"form__input form__input--textarea",id:"message",name:"message",placeholder:N,required:!0,rows:5})),M?j("label",{for:"screenshot",class:"form__label"},j("button",{class:"btn btn--default",disabled:I,type:"button",onClick:()=>{Y(null),C(T=>!T)}},w?f:l),J?j("div",{class:"form__error-container"},J.message):null):null),j("div",{class:"btn-group"},j("button",{class:"btn btn--primary",disabled:I,type:"submit"},A),j("button",{class:"btn btn--default",disabled:I,type:"button",onClick:r},p))))}function Ls({label:e,isRequired:t,isRequiredLabel:n}){return j("span",{class:"form__label__text"},e,t&&j("span",{class:"form__label__text--required"},n))}const _r=16,Ba=17,a_="http://www.w3.org/2000/svg";function c_(){const e=a=>Ze.document.createElementNS(a_,a),t=$e(e("svg"),{width:`${_r}`,height:`${Ba}`,viewBox:`0 0 ${_r} ${Ba}`,fill:"inherit"}),n=$e(e("g"),{clipPath:"url(#clip0_57_156)"}),r=$e(e("path"),{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M3.55544 15.1518C4.87103 16.0308 6.41775 16.5 8 16.5C10.1217 16.5 12.1566 15.6571 13.6569 14.1569C15.1571 12.6566 16 10.6217 16 8.5C16 6.91775 15.5308 5.37103 14.6518 4.05544C13.7727 2.73985 12.5233 1.71447 11.0615 1.10897C9.59966 0.503466 7.99113 0.34504 6.43928 0.653721C4.88743 0.962403 3.46197 1.72433 2.34315 2.84315C1.22433 3.96197 0.462403 5.38743 0.153721 6.93928C-0.15496 8.49113 0.00346625 10.0997 0.608967 11.5615C1.21447 13.0233 2.23985 14.2727 3.55544 15.1518ZM4.40546 3.1204C5.46945 2.40946 6.72036 2.03 8 2.03C9.71595 2.03 11.3616 2.71166 12.575 3.92502C13.7883 5.13838 14.47 6.78405 14.47 8.5C14.47 9.77965 14.0905 11.0306 13.3796 12.0945C12.6687 13.1585 11.6582 13.9878 10.476 14.4775C9.29373 14.9672 7.99283 15.0953 6.73777 14.8457C5.48271 14.596 4.32987 13.9798 3.42502 13.075C2.52018 12.1701 1.90397 11.0173 1.65432 9.76224C1.40468 8.50718 1.5328 7.20628 2.0225 6.02404C2.5122 4.8418 3.34148 3.83133 4.40546 3.1204Z"}),s=$e(e("path"),{d:"M6.68775 12.4297C6.78586 12.4745 6.89218 12.4984 7 12.5C7.11275 12.4955 7.22315 12.4664 7.32337 12.4145C7.4236 12.3627 7.51121 12.2894 7.58 12.2L12 5.63999C12.0848 5.47724 12.1071 5.28902 12.0625 5.11098C12.0178 4.93294 11.9095 4.77744 11.7579 4.67392C11.6064 4.57041 11.4221 4.52608 11.24 4.54931C11.0579 4.57254 10.8907 4.66173 10.77 4.79999L6.88 10.57L5.13 8.56999C5.06508 8.49566 4.98613 8.43488 4.89768 8.39111C4.80922 8.34735 4.713 8.32148 4.61453 8.31498C4.51605 8.30847 4.41727 8.32147 4.32382 8.35322C4.23038 8.38497 4.14413 8.43484 4.07 8.49999C3.92511 8.63217 3.83692 8.81523 3.82387 9.01092C3.81083 9.2066 3.87393 9.39976 4 9.54999L6.43 12.24C6.50187 12.3204 6.58964 12.385 6.68775 12.4297Z"});t.appendChild(n).append(s,r);const i=e("defs"),o=$e(e("clipPath"),{id:"clip0_57_156"}),c=$e(e("rect"),{width:`${_r}`,height:`${_r}`,fill:"white",transform:"translate(0 0.5)"});return o.appendChild(c),i.appendChild(o),t.appendChild(i).appendChild(o).appendChild(c),t}function u_({open:e,onFormSubmitted:t,...n}){const r=n.options,s=er(()=>({__html:c_().outerHTML}),[]),[i,o]=Dt(null),c=an(()=>{i&&(clearTimeout(i),o(null)),t()},[i]),a=an((u,d)=>{n.onSubmitSuccess(u,d),o(setTimeout(()=>{t(),o(null)},Mm))},[t]);return j(Qn,null,i?j("div",{class:"success__position",onClick:c},j("div",{class:"success__content"},r.successMessageText,j("span",{class:"success__icon",dangerouslySetInnerHTML:s}))):j("dialog",{class:"dialog",onClick:r.onFormClose,open:e},j("div",{class:"dialog__position"},j("div",{class:"dialog__content",onClick:u=>{u.stopPropagation()}},j(s_,{options:r}),j(o_,{...n,onSubmitSuccess:a})))))}const l_=` +.dialog { + position: fixed; + z-index: var(--z-index); + margin: 0; + inset: 0; + + display: flex; + align-items: center; + justify-content: center; + padding: 0; + height: 100vh; + width: 100vw; + + color: var(--dialog-color, var(--foreground)); + fill: var(--dialog-color, var(--foreground)); + line-height: 1.75em; + + background-color: rgba(0, 0, 0, 0.05); + border: none; + inset: 0; + opacity: 1; + transition: opacity 0.2s ease-in-out; +} + +.dialog__position { + position: fixed; + z-index: var(--z-index); + inset: var(--dialog-inset); + padding: var(--page-margin); + display: flex; + max-height: calc(100vh - (2 * var(--page-margin))); +} +@media (max-width: 600px) { + .dialog__position { + inset: var(--page-margin); + padding: 0; + } +} + +.dialog__position:has(.editor) { + inset: var(--page-margin); + padding: 0; +} + +.dialog:not([open]) { + opacity: 0; + pointer-events: none; + visibility: hidden; +} +.dialog:not([open]) .dialog__content { + transform: translate(0, -16px) scale(0.98); +} + +.dialog__content { + display: flex; + flex-direction: column; + gap: 16px; + padding: var(--dialog-padding, 24px); + max-width: 100%; + width: 100%; + max-height: 100%; + overflow: auto; + + background: var(--dialog-background, var(--background)); + border-radius: var(--dialog-border-radius, 20px); + border: var(--dialog-border, var(--border)); + box-shadow: var(--dialog-box-shadow, var(--box-shadow)); + transform: translate(0, 0) scale(1); + transition: transform 0.2s ease-in-out; +} + +`,d_=` +.dialog__header { + display: flex; + gap: 4px; + justify-content: space-between; + font-weight: var(--dialog-header-weight, 600); + margin: 0; +} +.dialog__title { + align-self: center; + width: var(--form-width, 272px); +} + +@media (max-width: 600px) { + .dialog__title { + width: auto; + } +} + +.dialog__position:has(.editor) .dialog__title { + width: auto; +} + + +.brand-link { + display: inline-flex; +} +.brand-link:focus-visible { + outline: var(--outline); +} +`,f_=` +.form { + display: flex; + overflow: auto; + flex-direction: row; + gap: 16px; + flex: 1 0; +} + +.form fieldset { + border: none; + margin: 0; + padding: 0; +} + +.form__right { + flex: 0 0 auto; + display: flex; + overflow: auto; + flex-direction: column; + justify-content: space-between; + gap: 20px; + width: var(--form-width, 100%); +} + +.dialog__position:has(.editor) .form__right { + width: var(--form-width, 272px); +} + +.form__top { + display: flex; + flex-direction: column; + gap: 8px; +} + +.form__error-container { + color: var(--error-color); + fill: var(--error-color); +} + +.form__label { + display: flex; + flex-direction: column; + gap: 4px; + margin: 0px; +} + +.form__label__text { + display: flex; + gap: 4px; + align-items: center; +} + +.form__label__text--required { + font-size: 0.85em; +} + +.form__input { + font-family: inherit; + line-height: inherit; + background: transparent; + box-sizing: border-box; + border: var(--input-border, var(--border)); + border-radius: var(--input-border-radius, 6px); + color: var(--input-color, inherit); + fill: var(--input-color, inherit); + font-size: var(--input-font-size, inherit); + font-weight: var(--input-font-weight, 500); + padding: 6px 12px; +} + +.form__input::placeholder { + opacity: 0.65; + color: var(--input-placeholder-color, inherit); + filter: var(--interactive-filter); +} + +.form__input:focus-visible { + outline: var(--input-focus-outline, var(--outline)); +} + +.form__input--textarea { + font-family: inherit; + resize: vertical; +} + +.error { + color: var(--error-color); + fill: var(--error-color); +} +`,p_=` +.btn-group { + display: grid; + gap: 8px; +} + +.btn { + line-height: inherit; + border: var(--button-border, var(--border)); + border-radius: var(--button-border-radius, 6px); + cursor: pointer; + font-family: inherit; + font-size: var(--button-font-size, inherit); + font-weight: var(--button-font-weight, 600); + padding: var(--button-padding, 6px 16px); +} +.btn[disabled] { + opacity: 0.6; + pointer-events: none; +} + +.btn--primary { + color: var(--button-primary-color, var(--accent-foreground)); + fill: var(--button-primary-color, var(--accent-foreground)); + background: var(--button-primary-background, var(--accent-background)); + border: var(--button-primary-border, var(--border)); + border-radius: var(--button-primary-border-radius, 6px); + font-weight: var(--button-primary-font-weight, 500); +} +.btn--primary:hover { + color: var(--button-primary-hover-color, var(--accent-foreground)); + fill: var(--button-primary-hover-color, var(--accent-foreground)); + background: var(--button-primary-hover-background, var(--accent-background)); + filter: var(--interactive-filter); +} +.btn--primary:focus-visible { + background: var(--button-primary-hover-background, var(--accent-background)); + filter: var(--interactive-filter); + outline: var(--button-primary-focus-outline, var(--outline)); +} + +.btn--default { + color: var(--button-color, var(--foreground)); + fill: var(--button-color, var(--foreground)); + background: var(--button-background, var(--background)); + border: var(--button-border, var(--border)); + border-radius: var(--button-border-radius, 6px); + font-weight: var(--button-font-weight, 500); +} +.btn--default:hover { + color: var(--button-color, var(--foreground)); + fill: var(--button-color, var(--foreground)); + background: var(--button-hover-background, var(--background)); + filter: var(--interactive-filter); +} +.btn--default:focus-visible { + background: var(--button-hover-background, var(--background)); + filter: var(--interactive-filter); + outline: var(--button-focus-outline, var(--outline)); +} +`,h_=` +.success__position { + position: fixed; + inset: var(--dialog-inset); + padding: var(--page-margin); + z-index: var(--z-index); +} +.success__content { + background: var(--success-background, var(--background)); + border: var(--success-border, var(--border)); + border-radius: var(--success-border-radius, 1.7em/50%); + box-shadow: var(--success-box-shadow, var(--box-shadow)); + font-weight: var(--success-font-weight, 600); + color: var(--success-color); + fill: var(--success-color); + padding: 12px 24px; + line-height: 1.75em; + + display: grid; + align-items: center; + grid-auto-flow: column; + gap: 6px; + cursor: default; +} + +.success__icon { + display: flex; +} +`;function m_(e){const t=se.createElement("style");return t.textContent=` +:host { + --dialog-inset: var(--inset); +} + +${l_} +${d_} +${f_} +${p_} +${h_} +`,e&&t.setAttribute("nonce",e),t}function __(){const e=ee().getUser(),t=Re().getUser(),n=Wc().getUser();return e&&Object.keys(e).length?e:t&&Object.keys(t).length?t:n}const g_=()=>({name:"FeedbackModal",setupOnce(){},createDialog:({options:e,screenshotIntegration:t,sendFeedback:n,shadow:r})=>{const s=r,i=e.useSentryUser,o=__(),c=se.createElement("div"),a=m_(e.styleNonce);let u="";const d={get el(){return c},appendToDom(){!s.contains(a)&&!s.contains(c)&&(s.appendChild(a),s.appendChild(c))},removeFromDom(){c.remove(),a.remove(),se.body.style.overflow=u},open(){var p,h;f(!0),(p=e.onFormOpen)==null||p.call(e),(h=z())==null||h.emit("openFeedbackWidget"),u=se.body.style.overflow,se.body.style.overflow="hidden"},close(){f(!1),se.body.style.overflow=u}},l=t==null?void 0:t.createInput({h:j,hooks:t_,dialog:d,options:e}),f=p=>{jm(j(u_,{options:e,screenshotInput:l,showName:e.showName||e.isNameRequired,showEmail:e.showEmail||e.isEmailRequired,defaultName:String(i&&(o==null?void 0:o[i.name])||""),defaultEmail:String(i&&(o==null?void 0:o[i.email])||""),onFormClose:()=>{var h;f(!1),(h=e.onFormClose)==null||h.call(e)},onSubmit:n,onSubmitSuccess:(h,m)=>{var _;f(!1),(_=e.onSubmitSuccess)==null||_.call(e,h,m)},onSubmitError:h=>{var m;(m=e.onSubmitError)==null||m.call(e,h)},onFormSubmitted:()=>{var h;(h=e.onFormSubmitted)==null||h.call(e)},open:p}),c)};return d}});function y_({h:e}){return function(){return e("svg",{"data-test-id":"icon-close",viewBox:"0 0 16 16",fill:"#2B2233",height:"25px",width:"25px"},e("circle",{r:"7",cx:"8",cy:"8",fill:"white"}),e("path",{strokeWidth:"1.5",d:"M8,16a8,8,0,1,1,8-8A8,8,0,0,1,8,16ZM8,1.53A6.47,6.47,0,1,0,14.47,8,6.47,6.47,0,0,0,8,1.53Z"}),e("path",{strokeWidth:"1.5",d:"M5.34,11.41a.71.71,0,0,1-.53-.22.74.74,0,0,1,0-1.06l5.32-5.32a.75.75,0,0,1,1.06,1.06L5.87,11.19A.74.74,0,0,1,5.34,11.41Z"}),e("path",{strokeWidth:"1.5",d:"M10.66,11.41a.74.74,0,0,1-.53-.22L4.81,5.87A.75.75,0,0,1,5.87,4.81l5.32,5.32a.74.74,0,0,1,0,1.06A.71.71,0,0,1,10.66,11.41Z"}))}}function S_(e){const t=se.createElement("style"),n="#1A141F",r="#302735";return t.textContent=` +.editor { + display: flex; + flex-grow: 1; + flex-direction: column; +} + +.editor__image-container { + justify-items: center; + padding: 15px; + position: relative; + height: 100%; + border-radius: var(--menu-border-radius, 6px); + + background-color: ${n}; + background-image: repeating-linear-gradient( + -145deg, + transparent, + transparent 8px, + ${n} 8px, + ${n} 11px + ), + repeating-linear-gradient( + -45deg, + transparent, + transparent 15px, + ${r} 15px, + ${r} 16px + ); +} + +.editor__canvas-container { + width: 100%; + height: 100%; + position: relative; + display: flex; + align-items: center; + justify-content: center; +} + +.editor__canvas-container > * { + object-fit: contain; + position: absolute; +} + +.editor__tool-container { + padding-top: 8px; + display: flex; + justify-content: center; +} + +.editor__tool-bar { + display: flex; + gap: 8px; +} + +.editor__tool { + display: flex; + padding: 8px 12px; + justify-content: center; + align-items: center; + border: var(--button-border, var(--border)); + border-radius: var(--button-border-radius, 6px); + background: var(--button-background, var(--background)); + color: var(--button-color, var(--foreground)); +} + +.editor__tool--active { + background: var(--button-primary-background, var(--accent-background)); + color: var(--button-primary-color, var(--accent-foreground)); +} + +.editor__rect { + position: absolute; + z-index: 2; +} + +.editor__rect button { + opacity: 0; + position: absolute; + top: -12px; + right: -12px; + cursor: pointer; + padding: 0; + z-index: 3; + border: none; + background: none; +} + +.editor__rect:hover button { + opacity: 1; +} +`,e&&t.setAttribute("nonce",e),t}function b_({h:e}){return function({action:n,setAction:r,options:s}){return e("div",{class:"editor__tool-container"},e("div",{class:"editor__tool-bar"},e("button",{type:"button",class:`editor__tool ${n==="highlight"?"editor__tool--active":""}`,onClick:()=>{r(n==="highlight"?"":"highlight")}},s.highlightToolText),e("button",{type:"button",class:`editor__tool ${n==="hide"?"editor__tool--active":""}`,onClick:()=>{r(n==="hide"?"":"hide")}},s.hideToolText)))}}function E_({hooks:e}){function t(){const[n,r]=e.useState(Ze.devicePixelRatio??1);return e.useEffect(()=>{const s=()=>{r(Ze.devicePixelRatio)},i=matchMedia(`(resolution: ${Ze.devicePixelRatio}dppx)`);return i.addEventListener("change",s),()=>{i.removeEventListener("change",s)}},[]),n}return function({onBeforeScreenshot:r,onScreenshot:s,onAfterScreenshot:i,onError:o}){const c=t();e.useEffect(()=>{(async()=>{r();const u=await An.mediaDevices.getDisplayMedia({video:{width:Ze.innerWidth*c,height:Ze.innerHeight*c},audio:!1,monitorTypeSurfaces:"exclude",preferCurrentTab:!0,selfBrowserSurface:"include",surfaceSwitching:"exclude"}),d=se.createElement("video");await new Promise((l,f)=>{d.srcObject=u,d.onloadedmetadata=()=>{s(d,c),u.getTracks().forEach(p=>p.stop()),l()},d.play().catch(f)}),i()})().catch(o)},[])}}function v_(e,t,n){switch(e.type){case"highlight":{t.shadowColor="rgba(0, 0, 0, 0.7)",t.shadowBlur=50,t.fillStyle=n,t.fillRect(e.x-1,e.y-1,e.w+2,e.h+2),t.clearRect(e.x,e.y,e.w,e.h);break}case"hide":t.fillStyle="rgb(0, 0, 0)",t.fillRect(e.x,e.y,e.w,e.h);break}}function _t(e,t,n){if(!e)return;const r=e.getContext("2d",t);r&&n(e,r)}function Ds(e,t){_t(e,{alpha:!0},(n,r)=>{r.drawImage(t,0,0,t.width,t.height,0,0,n.width,n.height)})}function Os(e,t,n){_t(e,{alpha:!0},(r,s)=>{n.length&&(s.fillStyle="rgba(0, 0, 0, 0.25)",s.fillRect(0,0,r.width,r.height)),n.forEach(i=>{v_(i,s,t)})})}function T_({h:e,hooks:t,outputBuffer:n,dialog:r,options:s}){const i=E_({hooks:t}),o=b_({h:e}),c=y_({h:e}),a={__html:S_(s.styleNonce).innerText},u=r.el.style,d=({screenshot:l})=>{const[f,p]=t.useState("highlight"),[h,m]=t.useState([]),_=t.useRef(null),g=t.useRef(null),S=t.useRef(null),N=t.useRef(null),[R,U]=t.useState(1),A=t.useMemo(()=>{const w=se.getElementById(s.id);if(!w)return"white";const C=getComputedStyle(w);return C.getPropertyValue("--button-primary-background")||C.getPropertyValue("--accent-background")},[s.id]);t.useLayoutEffect(()=>{const w=()=>{const C=_.current;C&&(_t(l.canvas,{alpha:!1},M=>{const J=Math.min(C.clientWidth/M.width,C.clientHeight/M.height);U(J)}),(C.clientHeight===0||C.clientWidth===0)&&setTimeout(w,0))};return w(),Ze.addEventListener("resize",w),()=>{Ze.removeEventListener("resize",w)}},[l]);const y=t.useCallback((w,C)=>{_t(w,{alpha:!0},(M,J)=>{J.scale(C,C),M.width=l.canvas.width,M.height=l.canvas.height})},[l]);t.useEffect(()=>{y(g.current,l.dpi),Ds(g.current,l.canvas)},[l]),t.useEffect(()=>{y(S.current,l.dpi),_t(S.current,{alpha:!0},(w,C)=>{C.clearRect(0,0,w.width,w.height)}),Os(S.current,A,h)},[h,A]),t.useEffect(()=>{y(n,l.dpi),Ds(n,l.canvas),_t(se.createElement("canvas"),{alpha:!0},(w,C)=>{C.scale(l.dpi,l.dpi),w.width=l.canvas.width,w.height=l.canvas.height,Os(w,A,h),Ds(n,w)})},[h,l,A]);const I=w=>{if(!f||!N.current)return;const C=N.current.getBoundingClientRect(),M={type:f,x:w.offsetX/R,y:w.offsetY/R},J=(E,F)=>{const T=(F.clientX-C.x)/R,H=(F.clientY-C.y)/R;return{type:E.type,x:Math.min(E.x,T),y:Math.min(E.y,H),w:Math.abs(T-E.x),h:Math.abs(H-E.y)}},Y=E=>{_t(S.current,{alpha:!0},(F,T)=>{T.clearRect(0,0,F.width,F.height)}),Os(S.current,A,[...h,J(M,E)])},Z=E=>{const F=J(M,E);F.w*R>=1&&F.h*R>=1&&m(T=>[...T,F]),se.removeEventListener("mousemove",Y),se.removeEventListener("mouseup",Z)};se.addEventListener("mousemove",Y),se.addEventListener("mouseup",Z)},P=t.useCallback(w=>C=>{C.preventDefault(),C.stopPropagation(),m(M=>{const J=[...M];return J.splice(w,1),J})},[]),v={width:`${l.canvas.width*R}px`,height:`${l.canvas.height*R}px`},k=w=>{w.stopPropagation()};return e("div",{class:"editor"},e("style",{nonce:s.styleNonce,dangerouslySetInnerHTML:a}),e("div",{class:"editor__image-container"},e("div",{class:"editor__canvas-container",ref:_},e("canvas",{ref:g,id:"background",style:v}),e("canvas",{ref:S,id:"foreground",style:v}),e("div",{ref:N,onMouseDown:I,style:v},h.map((w,C)=>e("div",{key:C,class:"editor__rect",style:{top:`${w.y*R}px`,left:`${w.x*R}px`,width:`${w.w*R}px`,height:`${w.h*R}px`}},e("button",{"aria-label":s.removeHighlightText,onClick:P(C),onMouseDown:k,onMouseUp:k,type:"button"},e(c,null))))))),e(o,{options:s,action:f,setAction:p}))};return function({onError:f}){const[p,h]=t.useState();return i({onBeforeScreenshot:t.useCallback(()=>{u.display="none"},[]),onScreenshot:t.useCallback((m,_)=>{_t(se.createElement("canvas"),{alpha:!1},(g,S)=>{S.scale(_,_),g.width=m.videoWidth,g.height=m.videoHeight,S.drawImage(m,0,0,g.width,g.height),h({canvas:g,dpi:_})}),n.width=m.videoWidth,n.height=m.videoHeight},[]),onAfterScreenshot:t.useCallback(()=>{u.display="block"},[]),onError:t.useCallback(m=>{u.display="block",f(m)},[])}),p?e(d,{screenshot:p}):e("div",null)}}const w_=()=>({name:"FeedbackScreenshot",setupOnce(){},createInput:({h:e,hooks:t,dialog:n,options:r})=>{const s=se.createElement("canvas");return{input:T_({h:e,hooks:t,outputBuffer:s,dialog:n,options:r}),value:async()=>{const i=await new Promise(o=>{s.toBlob(o,"image/png")});if(i)return{data:new Uint8Array(await i.arrayBuffer()),filename:"screenshot.png",contentType:"application/png"}}}}}),X=V;let pi=0;function Ju(){return pi>0}function I_(){pi++,setTimeout(()=>{pi--})}function _n(e,t={}){function n(s){return typeof s=="function"}if(!n(e))return e;try{const s=e.__sentry_wrapped__;if(s)return typeof s=="function"?s:e;if(Pi(e))return e}catch{return e}const r=function(...s){try{const i=s.map(o=>_n(o,t));return e.apply(this,i)}catch(i){throw I_(),us(o=>{o.addEventProcessor(c=>(t.mechanism&&(Js(c,void 0),ln(c,t.mechanism)),c.extra={...c.extra,arguments:s},c)),ds(i)}),i}};try{for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&(r[s]=e[s])}catch{}$c(r,e),Oe(e,"__sentry_wrapped__",r);try{Object.getOwnPropertyDescriptor(r,"name").configurable&&Object.defineProperty(r,"name",{get(){return e.name}})}catch{}return r}function no(){const e=Vt(),{referrer:t}=X.document||{},{userAgent:n}=X.navigator||{},r={...t&&{Referer:t},...n&&{"User-Agent":n}};return{url:e,headers:r}}const T0=$m({getModalIntegration:()=>g_,getScreenshotIntegration:()=>w_});function ro(e,t){const n=so(e,t),r={type:M_(t),value:A_(t)};return n.length&&(r.stacktrace={frames:n}),r.type===void 0&&r.value===""&&(r.value="Unrecoverable error caught"),r}function k_(e,t,n,r){const s=z(),i=s==null?void 0:s.getOptions().normalizeDepth,o=P_(t),c={__serialized__:iu(t,i)};if(o)return{exception:{values:[ro(e,o)]},extra:c};const a={exception:{values:[{type:cs(t)?t.constructor.name:r?"UnhandledRejection":"Error",value:D_(t,{isUnhandledRejection:r})}]},extra:c};if(n){const u=so(e,n);u.length&&(a.exception.values[0].stacktrace={frames:u})}return a}function Ps(e,t){return{exception:{values:[ro(e,t)]}}}function so(e,t){const n=t.stacktrace||t.stack||"",r=R_(t),s=x_(t);try{return e(n,r,s)}catch{}return[]}const C_=/Minified React error #\d+;/i;function R_(e){return e&&C_.test(e.message)?1:0}function x_(e){return typeof e.framesToPop=="number"?e.framesToPop:0}function Zu(e){return typeof WebAssembly<"u"&&typeof WebAssembly.Exception<"u"?e instanceof WebAssembly.Exception:!1}function M_(e){const t=e==null?void 0:e.name;return!t&&Zu(e)?e.message&&Array.isArray(e.message)&&e.message.length==2?e.message[0]:"WebAssembly.Exception":t}function A_(e){const t=e==null?void 0:e.message;return Zu(e)?Array.isArray(e.message)&&e.message.length==2?e.message[1]:"wasm exception":t?t.error&&typeof t.error.message=="string"?pa(t.error):pa(e):"No error message"}function N_(e,t,n,r){const s=(n==null?void 0:n.syntheticException)||void 0,i=io(e,t,s,r);return ln(i),i.level="error",n!=null&&n.event_id&&(i.event_id=n.event_id),Zn(i)}function L_(e,t,n="info",r,s){const i=(r==null?void 0:r.syntheticException)||void 0,o=hi(e,t,i,s);return o.level=n,r!=null&&r.event_id&&(o.event_id=r.event_id),Zn(o)}function io(e,t,n,r,s){let i;if(Oc(t)&&t.error)return Ps(e,t.error);if(No(t)||Ad(t)){const o=t;if("stack"in t)i=Ps(e,t);else{const c=o.name||(No(o)?"DOMError":"DOMException"),a=o.message?`${c}: ${o.message}`:c;i=hi(e,a,n,r),Js(i,a)}return"code"in o&&(i.tags={...i.tags,"DOMException.code":`${o.code}`}),i}return as(t)?Ps(e,t):Fn(t)||cs(t)?(i=k_(e,t,n,s),ln(i,{synthetic:!0}),i):(i=hi(e,t,n,r),Js(i,`${t}`),ln(i,{synthetic:!0}),i)}function hi(e,t,n,r){const s={};if(r&&n){const i=so(e,n);i.length&&(s.exception={values:[{value:t,stacktrace:{frames:i}}]}),ln(s,{synthetic:!0})}if(Li(t)){const{__sentry_template_string__:i,__sentry_template_values__:o}=t;return s.logentry={message:i,params:o},s}return s.message=t,s}function D_(e,{isUnhandledRejection:t}){const n=Fd(e),r=t?"promise rejection":"exception";return Oc(e)?`Event \`ErrorEvent\` captured as ${r} with message \`${e.message}\``:cs(e)?`Event \`${O_(e)}\` (type=${e.type}) captured as ${r}`:`Object captured as ${r} with keys: ${n}`}function O_(e){try{const t=Object.getPrototypeOf(e);return t?t.constructor.name:void 0}catch{}}function P_(e){for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)){const n=e[t];if(n instanceof Error)return n}}class F_ extends th{constructor(t){var d;const n=$_(t),r=X.SENTRY_SDK_SOURCE||cm();Mu(n,"browser",["browser"],r),(d=n._metadata)!=null&&d.sdk&&(n._metadata.sdk.settings={infer_ip:n.sendDefaultPii?"auto":"never",...n._metadata.sdk.settings}),super(n);const{sendDefaultPii:s,sendClientReports:i,enableLogs:o,_experiments:c,enableMetrics:a}=this._options,u=a??(c==null?void 0:c.enableMetrics)??!0;X.document&&(i||o||u)&&X.document.addEventListener("visibilitychange",()=>{X.document.visibilityState==="hidden"&&(i&&this._flushOutcomes(),o&&ii(this),u&&Su(this))}),s&&this.on("beforeSendSession",mh)}eventFromException(t,n){return N_(this._options.stackParser,t,n,this._options.attachStacktrace)}eventFromMessage(t,n="info",r){return L_(this._options.stackParser,t,n,r,this._options.attachStacktrace)}_prepareEvent(t,n,r,s){return t.platform=t.platform||"javascript",super._prepareEvent(t,n,r,s)}}function $_(e){var t;return{release:typeof __SENTRY_RELEASE__=="string"?__SENTRY_RELEASE__:(t=X.SENTRY_RELEASE)==null?void 0:t.id,sendClientReports:!0,parentSpanIsAlwaysRootSpan:!0,...e}}const zt=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,O=V,B_=(e,t)=>e>t[1]?"poor":e>t[0]?"needs-improvement":"good",tr=(e,t,n,r)=>{let s,i;return o=>{t.value>=0&&(o||r)&&(i=t.value-(s??0),(i||s===void 0)&&(s=t.value,t.delta=i,t.rating=B_(t.value,n),e(t)))}},nr=(e=!0)=>{var n,r;const t=(r=(n=O.performance)==null?void 0:n.getEntriesByType)==null?void 0:r.call(n,"navigation")[0];if(!e||t&&t.responseStart>0&&t.responseStart{const e=nr();return(e==null?void 0:e.activationStart)??0};function vt(e,t,n){O.document&&O.addEventListener(e,t,n)}function Yr(e,t,n){O.document&&O.removeEventListener(e,t,n)}let cn=-1;const Qu=new Set,H_=()=>{var e,t;return((e=O.document)==null?void 0:e.visibilityState)==="hidden"&&!((t=O.document)!=null&&t.prerendering)?0:1/0},Fr=e=>{if(U_(e)&&cn>-1){if(e.type==="visibilitychange"||e.type==="pagehide")for(const t of Qu)t();isFinite(cn)||(cn=e.type==="visibilitychange"?e.timeStamp:0,Yr("prerenderingchange",Fr,!0))}},rr=()=>{var e;if(O.document&&cn<0){const t=kn();cn=(O.document.prerendering||(e=globalThis.performance.getEntriesByType("visibility-state").filter(r=>r.name==="hidden"&&r.startTime>t)[0])==null?void 0:e.startTime)??H_(),vt("visibilitychange",Fr,!0),vt("pagehide",Fr,!0),vt("prerenderingchange",Fr,!0)}return{get firstHiddenTime(){return cn},onHidden(t){Qu.add(t)}}};function U_(e){var t;return e.type==="pagehide"||((t=O.document)==null?void 0:t.visibilityState)==="hidden"}const W_=()=>`v5-${Date.now()}-${Math.floor(Math.random()*(9e12-1))+1e12}`,sr=(e,t=-1)=>{var i,o;const n=nr();let r="navigate";return n&&((i=O.document)!=null&&i.prerendering||kn()>0?r="prerender":(o=O.document)!=null&&o.wasDiscarded?r="restore":n.type&&(r=n.type.replace(/_/g,"-"))),{name:e,value:t,rating:"good",delta:0,entries:[],id:W_(),navigationType:r}},Fs=new WeakMap;function oo(e,t){try{return Fs.get(e)||Fs.set(e,new t),Fs.get(e)}catch{return new t}}class Kr{constructor(){Kr.prototype.__init.call(this),Kr.prototype.__init2.call(this)}__init(){this._sessionValue=0}__init2(){this._sessionEntries=[]}_processEntry(t){var s;if(t.hadRecentInput)return;const n=this._sessionEntries[0],r=this._sessionEntries[this._sessionEntries.length-1];this._sessionValue&&n&&r&&t.startTime-r.startTime<1e3&&t.startTime-n.startTime<5e3?(this._sessionValue+=t.value,this._sessionEntries.push(t)):(this._sessionValue=t.value,this._sessionEntries=[t]),(s=this._onAfterProcessingUnexpectedShift)==null||s.call(this,t)}}const Cn=(e,t,n={})=>{try{if(PerformanceObserver.supportedEntryTypes.includes(e)){const r=new PerformanceObserver(s=>{Promise.resolve().then(()=>{t(s.getEntries())})});return r.observe({type:e,buffered:!0,...n}),r}}catch{}},ao=e=>{let t=!1;return()=>{t||(e(),t=!0)}},ps=e=>{var t;(t=O.document)!=null&&t.prerendering?addEventListener("prerenderingchange",()=>e(),!0):e()},z_=[1800,3e3],q_=(e,t={})=>{ps(()=>{const n=rr(),r=sr("FCP");let s;const o=Cn("paint",c=>{for(const a of c)a.name==="first-contentful-paint"&&(o.disconnect(),a.startTime{q_(ao(()=>{var a;const n=sr("CLS",0);let r;const s=rr(),i=oo(t,Kr),o=u=>{for(const d of u)i._processEntry(d);i._sessionValue>n.value&&(n.value=i._sessionValue,n.entries=i._sessionEntries,r())},c=Cn("layout-shift",o);c&&(r=tr(e,n,j_,t.reportAllChanges),s.onHidden(()=>{o(c.takeRecords()),r(!0)}),(a=O==null?void 0:O.setTimeout)==null||a.call(O,r))}))};let el=0,$s=1/0,gr=0;const G_=e=>{e.forEach(t=>{t.interactionId&&($s=Math.min($s,t.interactionId),gr=Math.max(gr,t.interactionId),el=gr?(gr-$s)/7+1:0)})};let mi;const tl=()=>mi?el:performance.interactionCount||0,Y_=()=>{"interactionCount"in performance||mi||(mi=Cn("event",G_,{type:"event",buffered:!0,durationThreshold:0}))},Bs=10;let nl=0;const K_=()=>tl()-nl;class Xr{constructor(){Xr.prototype.__init.call(this),Xr.prototype.__init2.call(this)}__init(){this._longestInteractionList=[]}__init2(){this._longestInteractionMap=new Map}_resetInteractions(){nl=tl(),this._longestInteractionList.length=0,this._longestInteractionMap.clear()}_estimateP98LongestInteraction(){const t=Math.min(this._longestInteractionList.length-1,Math.floor(K_()/50));return this._longestInteractionList[t]}_processEntry(t){var s,i;if((s=this._onBeforeProcessingEntry)==null||s.call(this,t),!(t.interactionId||t.entryType==="first-input"))return;const n=this._longestInteractionList.at(-1);let r=this._longestInteractionMap.get(t.interactionId);if(r||this._longestInteractionList.lengthn._latency){if(r?t.duration>r._latency?(r.entries=[t],r._latency=t.duration):t.duration===r._latency&&t.startTime===r.entries[0].startTime&&r.entries.push(t):(r={id:t.interactionId,entries:[t],_latency:t.duration},this._longestInteractionMap.set(r.id,r),this._longestInteractionList.push(r)),this._longestInteractionList.sort((o,c)=>c._latency-o._latency),this._longestInteractionList.length>Bs){const o=this._longestInteractionList.splice(Bs);for(const c of o)this._longestInteractionMap.delete(c.id)}(i=this._onAfterProcessingINPCandidate)==null||i.call(this,r)}}}const rl=e=>{var n;const t=O.requestIdleCallback||O.setTimeout;((n=O.document)==null?void 0:n.visibilityState)==="hidden"?e():(e=ao(e),vt("visibilitychange",e,{once:!0,capture:!0}),vt("pagehide",e,{once:!0,capture:!0}),t(()=>{e(),Yr("visibilitychange",e,{capture:!0}),Yr("pagehide",e,{capture:!0})}))},X_=[200,500],J_=40,Z_=(e,t={})=>{if(!(globalThis.PerformanceEventTiming&&"interactionId"in PerformanceEventTiming.prototype))return;const n=rr();ps(()=>{Y_();const r=sr("INP");let s;const i=oo(t,Xr),o=a=>{rl(()=>{for(const d of a)i._processEntry(d);const u=i._estimateP98LongestInteraction();u&&u._latency!==r.value&&(r.value=u._latency,r.entries=u.entries,s())})},c=Cn("event",o,{durationThreshold:t.durationThreshold??J_});s=tr(e,r,X_,t.reportAllChanges),c&&(c.observe({type:"first-input",buffered:!0}),n.onHidden(()=>{o(c.takeRecords()),s(!0)}))})};class Q_{_processEntry(t){var n;(n=this._onBeforeProcessingEntry)==null||n.call(this,t)}}const eg=[2500,4e3],tg=(e,t={})=>{ps(()=>{const n=rr(),r=sr("LCP");let s;const i=oo(t,Q_),o=a=>{t.reportAllChanges||(a=a.slice(-1));for(const u of a)i._processEntry(u),u.startTime{o(c.takeRecords()),c.disconnect(),s(!0)}),u=d=>{d.isTrusted&&(rl(a),Yr(d.type,u,{capture:!0}))};for(const d of["keydown","click","visibilitychange"])vt(d,u,{capture:!0})}})},ng=[800,1800],_i=e=>{var t,n;(t=O.document)!=null&&t.prerendering?ps(()=>_i(e)):((n=O.document)==null?void 0:n.readyState)!=="complete"?addEventListener("load",()=>_i(e),!0):setTimeout(e)},rg=(e,t={})=>{const n=sr("TTFB"),r=tr(e,n,ng,t.reportAllChanges);_i(()=>{const s=nr();s&&(n.value=Math.max(s.responseStart-kn(),0),n.entries=[s],r(!0))})},Nn={},Jr={};let sl,il,ol,al;function co(e,t=!1){return hs("cls",e,ig,sl,t)}function uo(e,t=!1){return hs("lcp",e,og,il,t)}function sg(e){return hs("ttfb",e,ag,ol)}function cl(e){return hs("inp",e,cg,al)}function qt(e,t){return ul(e,t),Jr[e]||(ug(e),Jr[e]=!0),ll(e,t)}function ir(e,t){const n=Nn[e];if(n!=null&&n.length)for(const r of n)try{r(t)}catch(s){zt&&b.error(`Error while triggering instrumentation handler. +Type: ${e} +Name: ${at(r)} +Error:`,s)}}function ig(){return V_(e=>{ir("cls",{metric:e}),sl=e},{reportAllChanges:!0})}function og(){return tg(e=>{ir("lcp",{metric:e}),il=e},{reportAllChanges:!0})}function ag(){return rg(e=>{ir("ttfb",{metric:e}),ol=e})}function cg(){return Z_(e=>{ir("inp",{metric:e}),al=e})}function hs(e,t,n,r,s=!1){ul(e,t);let i;return Jr[e]||(i=n(),Jr[e]=!0),r&&t({metric:r}),ll(e,t,s?i:void 0)}function ug(e){const t={};e==="event"&&(t.durationThreshold=0),Cn(e,n=>{ir(e,{entries:n})},t)}function ul(e,t){Nn[e]=Nn[e]||[],Nn[e].push(t)}function ll(e,t,n){return()=>{n&&n();const r=Nn[e];if(!r)return;const s=r.indexOf(t);s!==-1&&r.splice(s,1)}}function lg(e){return"duration"in e}const dg=e=>{const t=n=>{var r;(n.type==="pagehide"||((r=O.document)==null?void 0:r.visibilityState)==="hidden")&&e(n)};vt("visibilitychange",t,{capture:!0,once:!0}),vt("pagehide",t,{capture:!0,once:!0})};function Hs(e){return typeof e=="number"&&isFinite(e)}function Ct(e,t,n,{...r}){const s=K(e).start_timestamp;return s&&s>t&&typeof e.updateStartTime=="function"&&e.updateStartTime(t),qi(e,()=>{const i=It({startTime:t,...r});return i&&i.end(n),i})}function lo(e){var _;const t=z();if(!t)return;const{name:n,transaction:r,attributes:s,startTime:i}=e,{release:o,environment:c,sendDefaultPii:a}=t.getOptions(),u=t.getIntegrationByName("Replay"),d=u==null?void 0:u.getReplayId(),l=ee(),f=l.getUser(),p=f!==void 0?f.email||f.id||f.ip_address:void 0;let h;try{h=l.getScopeData().contexts.profile.profile_id}catch{}const m={release:o,environment:c,user:p||void 0,profile_id:h||void 0,replay_id:d||void 0,transaction:r,"user_agent.original":(_=O.navigator)==null?void 0:_.userAgent,"client.address":a?"{{auto}}":void 0,...s};return It({name:n,attributes:m,startTime:i,experimental:{standalone:!0}})}function or(){return O.addEventListener&&O.performance}function he(e){return e/1e3}function fg(e){let t="unknown",n="unknown",r="";for(const s of e){if(s==="/"){[t,n]=e.split("/");break}if(!isNaN(Number(s))){t=r==="h"?"http":r,n=e.split(r)[1];break}r+=s}return r===e&&(t=r),{name:t,version:n}}function dl(e){try{return PerformanceObserver.supportedEntryTypes.includes(e)}catch{return!1}}function fl(e,t){let n,r=!1;function s(c){!r&&n&&t(c,n),r=!0}dg(()=>{s("pagehide")});const i=e.on("beforeStartNavigationSpan",(c,a)=>{a!=null&&a.isRedirect||(s("navigation"),i(),o())}),o=e.on("afterStartPageLoadSpan",c=>{n=c.spanContext().spanId,o()})}function pg(e){let t=0,n;if(!dl("layout-shift"))return;const r=co(({metric:s})=>{const i=s.entries[s.entries.length-1];i&&(t=s.value,n=i)},!0);fl(e,(s,i)=>{hg(t,n,i,s),r()})}function hg(e,t,n,r){var u;zt&&b.log(`Sending CLS span (${e})`);const s=t?he((Pe()||0)+t.startTime):_e(),i=ee().getScopeData().transactionName,o=t?De((u=t.sources[0])==null?void 0:u.node):"Layout shift",c={[fe]:"auto.http.browser.cls",[lt]:"ui.webvital.cls",[wn]:0,"sentry.pageload.span_id":n,"sentry.report_event":r};t!=null&&t.sources&&t.sources.forEach((d,l)=>{c[`cls.source.${l+1}`]=De(d.node)});const a=lo({name:o,transaction:i,attributes:c,startTime:s});a&&(a.addEvent("cls",{[Xn]:"",[Jn]:e}),a.end(s))}function mg(e){let t=0,n;if(!dl("largest-contentful-paint"))return;const r=uo(({metric:s})=>{const i=s.entries[s.entries.length-1];i&&(t=s.value,n=i)},!0);fl(e,(s,i)=>{_g(t,n,i,s),r()})}function _g(e,t,n,r){zt&&b.log(`Sending LCP span (${e})`);const s=he((Pe()||0)+((t==null?void 0:t.startTime)||0)),i=ee().getScopeData().transactionName,o=t?De(t.element):"Largest contentful paint",c={[fe]:"auto.http.browser.lcp",[lt]:"ui.webvital.lcp",[wn]:0,"sentry.pageload.span_id":n,"sentry.report_event":r};t&&(t.element&&(c["lcp.element"]=De(t.element)),t.id&&(c["lcp.id"]=t.id),t.url&&(c["lcp.url"]=t.url),t.loadTime!=null&&(c["lcp.loadTime"]=t.loadTime),t.renderTime!=null&&(c["lcp.renderTime"]=t.renderTime),t.size!=null&&(c["lcp.size"]=t.size));const a=lo({name:o,transaction:i,attributes:c,startTime:s});a&&(a.addEvent("lcp",{[Xn]:"millisecond",[Jn]:e}),a.end(s))}function Ue(e){return e&&((Pe()||performance.timeOrigin)+e)/1e3}function pl(e){var n;const t={};if(e.nextHopProtocol!=null){const{name:r,version:s}=fg(e.nextHopProtocol);t["network.protocol.version"]=s,t["network.protocol.name"]=r}return Pe()||(n=or())!=null&&n.timeOrigin?gg({...t,"http.request.redirect_start":Ue(e.redirectStart),"http.request.redirect_end":Ue(e.redirectEnd),"http.request.worker_start":Ue(e.workerStart),"http.request.fetch_start":Ue(e.fetchStart),"http.request.domain_lookup_start":Ue(e.domainLookupStart),"http.request.domain_lookup_end":Ue(e.domainLookupEnd),"http.request.connect_start":Ue(e.connectStart),"http.request.secure_connection_start":Ue(e.secureConnectionStart),"http.request.connection_end":Ue(e.connectEnd),"http.request.request_start":Ue(e.requestStart),"http.request.response_start":Ue(e.responseStart),"http.request.response_end":Ue(e.responseEnd),"http.request.time_to_first_byte":e.responseStart!=null?e.responseStart/1e3:void 0}):t}function gg(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null))}const yg=2147483647;let Ha=0,Je={},Ae,tn;function Sg({recordClsStandaloneSpans:e,recordLcpStandaloneSpans:t,client:n}){const r=or();if(r&&Pe()){r.mark&&O.performance.mark("sentry-tracing-init");const s=t?mg(n):wg(),i=Ig(),o=e?pg(n):Tg();return()=>{s==null||s(),i(),o==null||o()}}return()=>{}}function bg(){qt("longtask",({entries:e})=>{const t=Te();if(!t)return;const{op:n,start_timestamp:r}=K(t);for(const s of e){const i=he(Pe()+s.startTime),o=he(s.duration);n==="navigation"&&r&&i{const n=Te();if(n)for(const r of t.getEntries()){if(!r.scripts[0])continue;const s=he(Pe()+r.startTime),{start_timestamp:i,op:o}=K(n);if(o==="navigation"&&i&&s{const t=Te();if(t){for(const n of e)if(n.name==="click"){const r=he(Pe()+n.startTime),s=he(n.duration),i={name:De(n.target),op:`ui.interaction.${n.name}`,startTime:r,attributes:{[fe]:"auto.ui.browser.metrics"}},o=Fc(n.target);o&&(i.attributes["ui.component_name"]=o),Ct(t,r,r+s,i)}}})}function Tg(){return co(({metric:e})=>{const t=e.entries[e.entries.length-1];t&&(Je.cls={value:e.value,unit:""},tn=t)},!0)}function wg(){return uo(({metric:e})=>{const t=e.entries[e.entries.length-1];t&&(Je.lcp={value:e.value,unit:"millisecond"},Ae=t)},!0)}function Ig(){return sg(({metric:e})=>{e.entries[e.entries.length-1]&&(Je.ttfb={value:e.value,unit:"millisecond"})})}function kg(e,t){const n=or(),r=Pe();if(!(n!=null&&n.getEntries)||!r)return;const s=he(r),i=n.getEntries(),{op:o,start_timestamp:c}=K(e);i.slice(Ha).forEach(a=>{const u=he(a.startTime),d=he(Math.max(0,a.duration));if(!(o==="navigation"&&c&&s+u{Zf(a,u.value,u.unit)}),e.setAttribute("performance.timeOrigin",s),e.setAttribute("performance.activationStart",kn()),Og(e,t)),Ae=void 0,tn=void 0,Je={}}function Cg(e){if((e==null?void 0:e.entryType)==="measure")try{return e.detail.devtools.track==="Components ⚛"}catch{return}}function Rg(e,t,n,r,s,i){if(Cg(t)||["mark","measure"].includes(t.entryType)&&st(t.name,i))return;const o=nr(!1),c=he(o?o.requestStart:0),a=s+Math.max(n,c),u=s+n,d=u+r,l={[fe]:"auto.resource.browser.metrics"};a!==u&&(l["sentry.browser.measure_happened_before_request"]=!0,l["sentry.browser.measure_start_time"]=a),xg(l,t),a<=d&&Ct(e,a,d,{name:t.name,op:t.entryType,attributes:l})}function xg(e,t){try{const n=t.detail;if(!n)return;if(typeof n=="object"){for(const[r,s]of Object.entries(n))if(s&&un(s))e[`sentry.browser.measure.detail.${r}`]=s;else if(s!==void 0)try{e[`sentry.browser.measure.detail.${r}`]=JSON.stringify(s)}catch{}return}if(un(n)){e["sentry.browser.measure.detail"]=n;return}try{e["sentry.browser.measure.detail"]=JSON.stringify(n)}catch{}}catch{}}function Mg(e,t,n){["unloadEvent","redirect","domContentLoadedEvent","loadEvent","connect"].forEach(r=>{yr(e,t,r,n)}),yr(e,t,"secureConnection",n,"TLS/SSL"),yr(e,t,"fetch",n,"cache"),yr(e,t,"domainLookup",n,"DNS"),Ng(e,t,n)}function yr(e,t,n,r,s=n){const i=Ag(n),o=t[i],c=t[`${n}Start`];!c||!o||Ct(e,r+he(c),r+he(o),{op:`browser.${s}`,name:t.name,attributes:{[fe]:"auto.ui.browser.metrics",...n==="redirect"&&t.redirectCount!=null?{"http.redirect_count":t.redirectCount}:{}}})}function Ag(e){return e==="secureConnection"?"connectEnd":e==="fetch"?"domainLookupStart":`${e}End`}function Ng(e,t,n){const r=n+he(t.requestStart),s=n+he(t.responseEnd),i=n+he(t.responseStart);t.responseEnd&&(Ct(e,r,s,{op:"browser.request",name:t.name,attributes:{[fe]:"auto.ui.browser.metrics"}}),Ct(e,i,s,{op:"browser.response",name:t.name,attributes:{[fe]:"auto.ui.browser.metrics"}}))}function Lg(e,t,n,r,s,i,o){if(t.initiatorType==="xmlhttprequest"||t.initiatorType==="fetch")return;const c=t.initiatorType?`resource.${t.initiatorType}`:"resource.other";if(o!=null&&o.includes(c))return;const a={[fe]:"auto.resource.browser.metrics"},u=Ht(n);u.protocol&&(a["url.scheme"]=u.protocol.split(":").pop()),u.host&&(a["server.address"]=u.host),a["url.same_origin"]=n.includes(O.location.origin),Pg(t,a,[["responseStatus","http.response.status_code"],["transferSize","http.response_transfer_size"],["encodedBodySize","http.response_content_length"],["decodedBodySize","http.decoded_response_content_length"],["renderBlockingStatus","resource.render_blocking_status"],["deliveryType","http.response_delivery_type"]]);const d={...a,...pl(t)},l=i+r,f=l+s;Ct(e,l,f,{name:n.replace(O.location.origin,""),op:c,attributes:d})}function Dg(e){const t=O.navigator;if(!t)return;const n=t.connection;n&&(n.effectiveType&&e.setAttribute("effectiveConnectionType",n.effectiveType),n.type&&e.setAttribute("connectionType",n.type),Hs(n.rtt)&&(Je["connection.rtt"]={value:n.rtt,unit:"millisecond"})),Hs(t.deviceMemory)&&e.setAttribute("deviceMemory",`${t.deviceMemory} GB`),Hs(t.hardwareConcurrency)&&e.setAttribute("hardwareConcurrency",String(t.hardwareConcurrency))}function Og(e,t){Ae&&t.recordLcpOnPageloadSpan&&(Ae.element&&e.setAttribute("lcp.element",De(Ae.element)),Ae.id&&e.setAttribute("lcp.id",Ae.id),Ae.url&&e.setAttribute("lcp.url",Ae.url.trim().slice(0,200)),Ae.loadTime!=null&&e.setAttribute("lcp.loadTime",Ae.loadTime),Ae.renderTime!=null&&e.setAttribute("lcp.renderTime",Ae.renderTime),e.setAttribute("lcp.size",Ae.size)),tn!=null&&tn.sources&&t.recordClsOnPageloadSpan&&tn.sources.forEach((n,r)=>e.setAttribute(`cls.source.${r+1}`,De(n.node)))}function Pg(e,t,n){n.forEach(([r,s])=>{const i=e[r];i!=null&&(typeof i=="number"&&i{}}const Bg=({entries:e})=>{const t=Te(),n=t?ve(t):void 0,r=n?K(n).description:ee().getScopeData().transactionName;e.forEach(s=>{var p,h;const i=s;if(!i.identifier)return;const o=i.name,c=i.renderTime,a=i.loadTime,[u,d]=a?[he(a),"load-time"]:c?[he(c),"render-time"]:[_e(),"entry-emission"],l=o==="image-paint"?he(Math.max(0,(c??0)-(a??0))):0,f={[fe]:"auto.ui.browser.elementtiming",[lt]:"ui.elementtiming",[Le]:"component","sentry.span_start_time_source":d,"sentry.transaction_name":r,"element.id":i.id,"element.type":((h=(p=i.element)==null?void 0:p.tagName)==null?void 0:h.toLowerCase())||"unknown","element.size":i.naturalWidth&&i.naturalHeight?`${i.naturalWidth}x${i.naturalHeight}`:void 0,"element.render_time":c,"element.load_time":a,"element.url":i.url||void 0,"element.identifier":i.identifier,"element.paint_type":o};sp({name:`element[${i.identifier}]`,attributes:f,startTime:u,onlyIfParent:!0},m=>{m.end(u+l)})})},Hg=1e3;let Ua,gi,yi;function hl(e){const t="dom";Rt(t,e),xt(t,Ug)}function Ug(){if(!O.document)return;const e=ze.bind(null,"dom"),t=Wa(e,!0);O.document.addEventListener("click",t,!1),O.document.addEventListener("keypress",t,!1),["EventTarget","Node"].forEach(n=>{var i,o;const s=(i=O[n])==null?void 0:i.prototype;(o=s==null?void 0:s.hasOwnProperty)!=null&&o.call(s,"addEventListener")&&(Ne(s,"addEventListener",function(c){return function(a,u,d){if(a==="click"||a=="keypress")try{const l=this.__sentry_instrumentation_handlers__=this.__sentry_instrumentation_handlers__||{},f=l[a]=l[a]||{refCount:0};if(!f.handler){const p=Wa(e);f.handler=p,c.call(this,a,p,d)}f.refCount++}catch{}return c.call(this,a,u,d)}}),Ne(s,"removeEventListener",function(c){return function(a,u,d){if(a==="click"||a=="keypress")try{const l=this.__sentry_instrumentation_handlers__||{},f=l[a];f&&(f.refCount--,f.refCount<=0&&(c.call(this,a,f.handler,d),f.handler=void 0,delete l[a]),Object.keys(l).length===0&&delete this.__sentry_instrumentation_handlers__)}catch{}return c.call(this,a,u,d)}}))})}function Wg(e){if(e.type!==gi)return!1;try{if(!e.target||e.target._sentryId!==yi)return!1}catch{}return!0}function zg(e,t){return e!=="keypress"?!1:t!=null&&t.tagName?!(t.tagName==="INPUT"||t.tagName==="TEXTAREA"||t.isContentEditable):!0}function Wa(e,t=!1){return n=>{if(!n||n._sentryCaptured)return;const r=qg(n);if(zg(n.type,r))return;Oe(n,"_sentryCaptured",!0),r&&!r._sentryId&&Oe(r,"_sentryId",Be());const s=n.type==="keypress"?"input":n.type;Wg(n)||(e({event:n,name:s,global:t}),gi=n.type,yi=r?r._sentryId:void 0),clearTimeout(Ua),Ua=O.setTimeout(()=>{yi=void 0,gi=void 0},Hg)}}function qg(e){try{return e.target}catch{return null}}let Sr;function ms(e){const t="history";Rt(t,e),xt(t,jg)}function jg(){if(O.addEventListener("popstate",()=>{const t=O.location.href,n=Sr;if(Sr=t,n===t)return;ze("history",{from:n,to:t})}),!Qh())return;function e(t){return function(...n){const r=n.length>2?n[2]:void 0;if(r){const s=Sr,i=Vg(String(r));if(Sr=i,s===i)return t.apply(this,n);ze("history",{from:s,to:i})}return t.apply(this,n)}}Ne(O.history,"pushState",e),Ne(O.history,"replaceState",e)}function Vg(e){try{return new URL(e,O.location.origin).toString()}catch{return e}}const $r={};function ml(e){const t=$r[e];if(t)return t;let n=O[e];if(ci(n))return $r[e]=n.bind(O);const r=O.document;if(r&&typeof r.createElement=="function")try{const s=r.createElement("iframe");s.hidden=!0,r.head.appendChild(s);const i=s.contentWindow;i!=null&&i[e]&&(n=i[e]),r.head.removeChild(s)}catch(s){zt&&b.warn(`Could not create sandbox iframe for ${e} check, bailing to window.${e}: `,s)}return n&&($r[e]=n.bind(O))}function Gg(e){$r[e]=void 0}function ar(...e){return ml("setTimeout")(...e)}const Ot="__sentry_xhr_v3__";function _l(e){const t="xhr";Rt(t,e),xt(t,Yg)}function Yg(){if(!O.XMLHttpRequest)return;const e=XMLHttpRequest.prototype;e.open=new Proxy(e.open,{apply(t,n,r){const s=new Error,i=_e()*1e3,o=rt(r[0])?r[0].toUpperCase():void 0,c=Kg(r[1]);if(!o||!c)return t.apply(n,r);n[Ot]={method:o,url:c,request_headers:{}},o==="POST"&&c.match(/sentry_key/)&&(n.__sentry_own_request__=!0);const a=()=>{const u=n[Ot];if(u&&n.readyState===4){try{u.status_code=n.status}catch{}const d={endTimestamp:_e()*1e3,startTimestamp:i,xhr:n,virtualError:s};ze("xhr",d)}};return"onreadystatechange"in n&&typeof n.onreadystatechange=="function"?n.onreadystatechange=new Proxy(n.onreadystatechange,{apply(u,d,l){return a(),u.apply(d,l)}}):n.addEventListener("readystatechange",a),n.setRequestHeader=new Proxy(n.setRequestHeader,{apply(u,d,l){const[f,p]=l,h=d[Ot];return h&&rt(f)&&rt(p)&&(h.request_headers[f.toLowerCase()]=p),u.apply(d,l)}}),t.apply(n,r)}}),e.send=new Proxy(e.send,{apply(t,n,r){const s=n[Ot];if(!s)return t.apply(n,r);r[0]!==void 0&&(s.body=r[0]);const i={startTimestamp:_e()*1e3,xhr:n};return ze("xhr",i),t.apply(n,r)}})}function Kg(e){if(rt(e))return e;try{return e.toString()}catch{}}const Xg=Symbol.for("sentry__originalRequestBody");function gl(e){return new URLSearchParams(e).toString()}function yl(e,t=b){try{if(typeof e=="string")return[e];if(e instanceof URLSearchParams)return[e.toString()];if(e instanceof FormData)return[gl(e)];if(!e)return[void 0]}catch(n){return zt&&t.error(n,"Failed to serialize body",e),[void 0,"BODY_PARSE_ERROR"]}return zt&&t.log("Skipping network body because of body type",e),[void 0,"UNPARSEABLE_BODY_TYPE"]}function Sl(e=[]){if(e.length>=2&&e[1]&&typeof e[1]=="object"&&"body"in e[1])return e[1].body;if(e.length>=1&&e[0]instanceof Request){const n=e[0][Xg];return n!==void 0?n:void 0}}function bl(e){let t;try{t=e.getAllResponseHeaders()}catch(n){return zt&&b.error(n,"Failed to get xhr response headers",e),{}}return t?t.split(`\r +`).reduce((n,r)=>{const[s,i]=r.split(": ");return i&&(n[s.toLowerCase()]=i),n},{}):{}}const Us=[],Br=new Map,Jt=new Map,Jg=60;function Zg(){if(or()&&Pe()){const t=Qg();return()=>{t()}}return()=>{}}const Si={click:"click",pointerdown:"click",pointerup:"click",mousedown:"click",mouseup:"click",touchstart:"click",touchend:"click",mouseover:"hover",mouseout:"hover",mouseenter:"hover",mouseleave:"hover",pointerover:"hover",pointerout:"hover",pointerenter:"hover",pointerleave:"hover",dragstart:"drag",dragend:"drag",drag:"drag",dragenter:"drag",dragleave:"drag",dragover:"drag",drop:"drag",keydown:"press",keyup:"press",keypress:"press",input:"press"};function Qg(){return cl(ey)}const ey=({metric:e})=>{if(e.value==null)return;const t=he(e.value);if(t>Jg)return;const n=e.entries.find(h=>h.duration===e.value&&Si[h.name]);if(!n)return;const{interactionId:r}=n,s=Si[n.name],i=he(Pe()+n.startTime),o=Te(),c=o?ve(o):void 0,a=r!=null?Br.get(r):void 0,u=(a==null?void 0:a.span)||c,d=u?K(u).description:ee().getScopeData().transactionName,l=(a==null?void 0:a.elementName)||De(n.target),f={[fe]:"auto.http.browser.inp",[lt]:`ui.interaction.${s}`,[wn]:n.duration},p=lo({name:l,transaction:d,attributes:f,startTime:i});p&&(p.addEvent("inp",{[Xn]:"millisecond",[Jn]:e.value}),p.end(i+t))};function ty(){const e=Object.keys(Si);Vr()&&e.forEach(s=>{O.addEventListener(s,t,{capture:!0,passive:!0})});function t(s){const i=s.target;if(!i)return;const o=De(i),c=Math.round(s.timeStamp);if(Jt.set(c,o),Jt.size>50){const a=Jt.keys().next().value;a!==void 0&&Jt.delete(a)}}function n(s){const i=Math.round(s.startTime);let o=Jt.get(i);if(!o)for(let c=-5;c<=5;c++){const a=Jt.get(i+c);if(a){o=a;break}}return o||""}const r=({entries:s})=>{const i=Te(),o=i&&ve(i);s.forEach(c=>{if(!lg(c))return;const a=c.interactionId;if(a==null||Br.has(a))return;const u=c.target?De(c.target):n(c);if(Us.length>10){const d=Us.shift();Br.delete(d)}Us.push(a),Br.set(a,{span:o,elementName:u})})};qt("event",r),qt("first-input",r)}const ny=40;function ry(e,t=ml("fetch")){let n=0,r=0;async function s(i){const o=i.body.length;n+=o,r++;const c={body:i.body,method:"POST",referrerPolicy:"strict-origin",headers:e.headers,keepalive:n<=6e4&&r<15,...e.fetchOptions};try{const a=await t(e.url,c);return{statusCode:a.status,headers:{"x-sentry-rate-limits":a.headers.get("X-Sentry-Rate-Limits"),"retry-after":a.headers.get("Retry-After")}}}catch(a){throw Gg("fetch"),a}finally{n-=o,r--}}return Xp(e,s,Yi(e.bufferSize||ny))}const je=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,sy=30,iy=50;function bi(e,t,n,r){const s={filename:e,function:t===""?Ut:t,in_app:!0};return n!==void 0&&(s.lineno=n),r!==void 0&&(s.colno=r),s}const oy=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,ay=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,cy=/\((\S*)(?::(\d+))(?::(\d+))\)/,uy=/at (.+?) ?\(data:(.+?),/,ly=e=>{const t=e.match(uy);if(t)return{filename:``,function:t[1]};const n=oy.exec(e);if(n){const[,s,i,o]=n;return bi(s,Ut,+i,+o)}const r=ay.exec(e);if(r){if(r[2]&&r[2].indexOf("eval")===0){const c=cy.exec(r[2]);c&&(r[2]=c[1],r[3]=c[2],r[4]=c[3])}const[i,o]=El(r[1]||Ut,r[2]);return bi(o,i,r[3]?+r[3]:void 0,r[4]?+r[4]:void 0)}},dy=[sy,ly],fy=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,py=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,hy=e=>{const t=fy.exec(e);if(t){if(t[3]&&t[3].indexOf(" > eval")>-1){const i=py.exec(t[3]);i&&(t[1]=t[1]||"eval",t[3]=i[1],t[4]=i[2],t[5]="")}let r=t[3],s=t[1]||Ut;return[s,r]=El(s,r),bi(r,s,t[4]?+t[4]:void 0,t[5]?+t[5]:void 0)}},my=[iy,hy],_y=[dy,my],gy=Mc(..._y),El=(e,t)=>{const n=e.indexOf("safari-extension")!==-1,r=e.indexOf("safari-web-extension")!==-1;return n||r?[e.indexOf("@")!==-1?e.split("@")[0]:Ut,n?`safari-extension:${t}`:`safari-web-extension:${t}`]:[e,t]},br=1024,yy="Breadcrumbs",Sy=(e={})=>{const t={console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0,...e};return{name:yy,setup(n){t.console&&Oh(Ty(n)),t.dom&&hl(vy(n,t.dom)),t.xhr&&_l(wy(n)),t.fetch&&Fu(Iy(n)),t.history&&ms(ky(n)),t.sentry&&n.on("beforeSendEvent",Ey(n))}}},by=Sy;function Ey(e){return function(n){z()===e&&kt({category:`sentry.${n.type==="transaction"?"transaction":"event"}`,event_id:n.event_id,level:n.level,message:Nt(n)},{event:n})}}function vy(e,t){return function(r){if(z()!==e)return;let s,i,o=typeof t=="object"?t.serializeAttribute:void 0,c=typeof t=="object"&&typeof t.maxStringLength=="number"?t.maxStringLength:void 0;c&&c>br&&(je&&b.warn(`\`dom.maxStringLength\` cannot exceed ${br}, but a value of ${c} was configured. Sentry will use ${br} instead.`),c=br),typeof o=="string"&&(o=[o]);try{const u=r.event,d=Cy(u)?u.target:u;s=De(d,{keyAttrs:o,maxStringLength:c}),i=Fc(d)}catch{s=""}if(s.length===0)return;const a={category:`ui.${r.name}`,message:s};i&&(a.data={"ui.component_name":i}),kt(a,{event:r.event,name:r.name,global:r.global})}}function Ty(e){return function(n){if(z()!==e)return;const r={category:"console",data:{arguments:n.args,logger:"console"},level:Lu(n.level),message:Oo(n.args," ")};if(n.level==="assert")if(n.args[0]===!1)r.message=`Assertion failed: ${Oo(n.args.slice(1)," ")||"console.assert"}`,r.data.arguments=n.args.slice(1);else return;kt(r,{input:n.args,level:n.level})}}function wy(e){return function(n){if(z()!==e)return;const{startTimestamp:r,endTimestamp:s}=n,i=n.xhr[Ot];if(!r||!s||!i)return;const{method:o,url:c,status_code:a,body:u}=i,d={method:o,url:c,status_code:a},l={xhr:n.xhr,input:u,startTimestamp:r,endTimestamp:s},f={category:"xhr",data:d,type:"http",level:Pu(a)};e.emit("beforeOutgoingRequestBreadcrumb",f,l),kt(f,l)}}function Iy(e){return function(n){if(z()!==e)return;const{startTimestamp:r,endTimestamp:s}=n;if(s&&!(n.fetchData.url.match(/sentry_key/)&&n.fetchData.method==="POST"))if(n.fetchData.method,n.fetchData.url,n.error){const i=n.fetchData,o={data:n.error,input:n.args,startTimestamp:r,endTimestamp:s},c={category:"fetch",data:i,level:"error",type:"http"};e.emit("beforeOutgoingRequestBreadcrumb",c,o),kt(c,o)}else{const i=n.response,o={...n.fetchData,status_code:i==null?void 0:i.status};n.fetchData.request_body_size,n.fetchData.response_body_size,i==null||i.status;const c={input:n.args,response:i,startTimestamp:r,endTimestamp:s},a={category:"fetch",data:o,type:"http",level:Pu(o.status_code)};e.emit("beforeOutgoingRequestBreadcrumb",a,c),kt(a,c)}}}function ky(e){return function(n){if(z()!==e)return;let r=n.from,s=n.to;const i=Ht(X.location.href);let o=r?Ht(r):void 0;const c=Ht(s);o!=null&&o.path||(o=i),i.protocol===c.protocol&&i.host===c.host&&(s=c.relative),i.protocol===o.protocol&&i.host===o.host&&(r=o.relative),kt({category:"navigation",data:{from:r,to:s}})}}function Cy(e){return!!e&&!!e.target}const Ry=["EventTarget","Window","Node","ApplicationCache","AudioTrackList","BroadcastChannel","ChannelMergerNode","CryptoOperation","EventSource","FileReader","HTMLUnknownElement","IDBDatabase","IDBRequest","IDBTransaction","KeyOperation","MediaController","MessagePort","ModalWindow","Notification","SVGElementInstance","Screen","SharedWorker","TextTrack","TextTrackCue","TextTrackList","WebSocket","WebSocketWorker","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestUpload"],xy="BrowserApiErrors",My=(e={})=>{const t={XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0,unregisterOriginalCallbacks:!1,...e};return{name:xy,setupOnce(){t.setTimeout&&Ne(X,"setTimeout",za),t.setInterval&&Ne(X,"setInterval",za),t.requestAnimationFrame&&Ne(X,"requestAnimationFrame",Ny),t.XMLHttpRequest&&"XMLHttpRequest"in X&&Ne(XMLHttpRequest.prototype,"send",Ly);const n=t.eventTarget;n&&(Array.isArray(n)?n:Ry).forEach(s=>Dy(s,t))}}},Ay=My;function za(e){return function(...t){const n=t[0];return t[0]=_n(n,{mechanism:{handled:!1,type:`auto.browser.browserapierrors.${at(e)}`}}),e.apply(this,t)}}function Ny(e){return function(t){return e.apply(this,[_n(t,{mechanism:{data:{handler:at(e)},handled:!1,type:"auto.browser.browserapierrors.requestAnimationFrame"}})])}}function Ly(e){return function(...t){const n=this;return["onload","onerror","onprogress","onreadystatechange"].forEach(s=>{s in n&&typeof n[s]=="function"&&Ne(n,s,function(i){const o={mechanism:{data:{handler:at(i)},handled:!1,type:`auto.browser.browserapierrors.xhr.${s}`}},c=Pi(i);return c&&(o.mechanism.data.handler=at(c)),_n(i,o)})}),e.apply(this,t)}}function Dy(e,t){var s,i;const r=(s=X[e])==null?void 0:s.prototype;(i=r==null?void 0:r.hasOwnProperty)!=null&&i.call(r,"addEventListener")&&(Ne(r,"addEventListener",function(o){return function(c,a,u){try{Oy(a)&&(a.handleEvent=_n(a.handleEvent,{mechanism:{data:{handler:at(a),target:e},handled:!1,type:"auto.browser.browserapierrors.handleEvent"}}))}catch{}return t.unregisterOriginalCallbacks&&Py(this,c,a),o.apply(this,[c,_n(a,{mechanism:{data:{handler:at(a),target:e},handled:!1,type:"auto.browser.browserapierrors.addEventListener"}}),u])}}),Ne(r,"removeEventListener",function(o){return function(c,a,u){try{const d=a.__sentry_wrapped__;d&&o.call(this,c,d,u)}catch{}return o.call(this,c,a,u)}}))}function Oy(e){return typeof e.handleEvent=="function"}function Py(e,t,n){e&&typeof e=="object"&&"removeEventListener"in e&&typeof e.removeEventListener=="function"&&e.removeEventListener(t,n)}const Fy=(e={})=>{const t=e.lifecycle??"route";return{name:"BrowserSession",setupOnce(){if(typeof X.document>"u"){je&&b.warn("Using the `browserSessionIntegration` in non-browser environments is not supported.");return}na({ignoreDuration:!0}),xs();const n=Re();let r=n.getUser();n.addScopeListener(s=>{const i=s.getUser();((r==null?void 0:r.id)!==(i==null?void 0:i.id)||(r==null?void 0:r.ip_address)!==(i==null?void 0:i.ip_address))&&(xs(),r=i)}),t==="route"&&ms(({from:s,to:i})=>{s!==i&&(na({ignoreDuration:!0}),xs())})}}},$y="CultureContext",By=()=>({name:$y,preprocessEvent(e){var n;const t=Uy();t&&(e.contexts={...e.contexts,culture:{...t,...(n=e.contexts)==null?void 0:n.culture}})}}),Hy=By;function Uy(){try{const e=X.Intl;if(!e)return;const t=e.DateTimeFormat().resolvedOptions();return{locale:t.locale,timezone:t.timeZone,calendar:t.calendar}}catch{return}}const Wy="GlobalHandlers",zy=(e={})=>{const t={onerror:!0,onunhandledrejection:!0,...e};return{name:Wy,setupOnce(){Error.stackTraceLimit=50},setup(n){t.onerror&&(jy(n),qa("onerror")),t.onunhandledrejection&&(Vy(n),qa("onunhandledrejection"))}}},qy=zy;function jy(e){Nc(t=>{const{stackParser:n,attachStacktrace:r}=vl();if(z()!==e||Ju())return;const{msg:s,url:i,line:o,column:c,error:a}=t,u=Ky(io(n,a||s,void 0,r,!1),i,o,c);u.level="error",hu(u,{originalException:a,mechanism:{handled:!1,type:"auto.browser.global_handlers.onerror"}})})}function Vy(e){Lc(t=>{const{stackParser:n,attachStacktrace:r}=vl();if(z()!==e||Ju())return;const s=Gy(t),i=un(s)?Yy(s):io(n,s,void 0,r,!0);i.level="error",hu(i,{originalException:s,mechanism:{handled:!1,type:"auto.browser.global_handlers.onunhandledrejection"}})})}function Gy(e){if(un(e))return e;try{if("reason"in e)return e.reason;if("detail"in e&&"reason"in e.detail)return e.detail.reason}catch{}return e}function Yy(e){return{exception:{values:[{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(e)}`}]}}}function Ky(e,t,n,r){const s=e.exception=e.exception||{},i=s.values=s.values||[],o=i[0]=i[0]||{},c=o.stacktrace=o.stacktrace||{},a=c.frames=c.frames||[],u=r,d=n,l=Xy(t)??Vt();return a.length===0&&a.push({colno:u,filename:l,function:Ut,in_app:!0,lineno:d}),e}function qa(e){je&&b.log(`Global Handler attached: ${e}`)}function vl(){const e=z();return(e==null?void 0:e.getOptions())||{stackParser:()=>[],attachStacktrace:!1}}function Xy(e){if(!(!rt(e)||e.length===0))return e.startsWith("data:")?`<${Et(e,!1)}>`:e}const Jy=()=>({name:"HttpContext",preprocessEvent(e){var r;if(!X.navigator&&!X.location&&!X.document)return;const t=no(),n={...t.headers,...(r=e.request)==null?void 0:r.headers};e.request={...t,...e.request,headers:n}}}),Zy="cause",Qy=5,eS="LinkedErrors",tS=(e={})=>{const t=e.limit||Qy,n=e.key||Zy;return{name:eS,preprocessEvent(r,s,i){const o=i.getOptions();Dh(ro,o.stackParser,n,t,r,s)}}},nS=tS;function rS(){return sS()?(je&&pt(()=>{console.error("[Sentry] You cannot use Sentry.init() in a browser extension, see: https://docs.sentry.io/platforms/javascript/best-practices/browser-extensions/")}),!0):!1}function sS(){var i;if(typeof X.window>"u")return!1;const e=X;if(e.nw)return!1;const t=e.chrome||e.browser;if(!((i=t==null?void 0:t.runtime)!=null&&i.id))return!1;const n=Vt(),r=["chrome-extension","moz-extension","ms-browser-extension","safari-web-extension"];return!(X===X.top&&r.some(o=>n.startsWith(`${o}://`)))}function Tl(e){return[kh(),vh(),jh(),Ay(),by(),qy(),nS(),Bh(),Jy(),Hy(),Fy()]}function iS(e={}){const t=!e.skipBrowserExtensionCheck&&rS();let n=e.defaultIntegrations==null?Tl():e.defaultIntegrations;const r={...e,enabled:t?!1:e.enabled,stackParser:Cd(e.stackParser||gy),integrations:Bp({integrations:e.integrations,defaultIntegrations:n}),transport:e.transport||ry};return ah(F_,r)}const ce=V,fo="sentryReplaySession",oS="replay_event",po="Unable to send Replay",aS=3e5,cS=9e5,uS=5e3,lS=5500,dS=6e4,fS=5e3,pS=3,ja=15e4,Er=5e3,hS=3e3,mS=300,ho=2e7,_S=4999,gS=5e4,Va=36e5;var yS=Object.defineProperty,SS=(e,t,n)=>t in e?yS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ga=(e,t,n)=>SS(e,typeof t!="symbol"?t+"":t,n),ge=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(ge||{});function bS(e){return e.nodeType===e.ELEMENT_NODE}function Ln(e){const t=e==null?void 0:e.host;return(t==null?void 0:t.shadowRoot)===e}function Dn(e){return Object.prototype.toString.call(e)==="[object ShadowRoot]"}function ES(e){return e.includes(" background-clip: text;")&&!e.includes(" -webkit-background-clip: text;")&&(e=e.replace(/\sbackground-clip:\s*text;/g," -webkit-background-clip: text; background-clip: text;")),e}function vS(e){const{cssText:t}=e;if(t.split('"').length<3)return t;const n=["@import",`url(${JSON.stringify(e.href)})`];return e.layerName===""?n.push("layer"):e.layerName&&n.push(`layer(${e.layerName})`),e.supportsText&&n.push(`supports(${e.supportsText})`),e.media.length&&n.push(e.media.mediaText),n.join(" ")+";"}function Zr(e){try{const t=e.rules||e.cssRules;return t?ES(Array.from(t,wl).join("")):null}catch{return null}}function TS(e){let t="";for(let n=0;nthis.removeNodeFromMap(r))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,n){const r=n.id;this.idNodeMap.set(r,t),this.nodeMetaMap.set(t,n)}replace(t,n){const r=this.getNode(t);if(r){const s=this.nodeMetaMap.get(r);s&&this.nodeMetaMap.set(n,s)}this.idNodeMap.set(t,n)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}}function CS(){return new Il}function _s({maskInputOptions:e,tagName:t,type:n}){return t==="OPTION"&&(t="SELECT"),!!(e[t.toLowerCase()]||n&&e[n]||n==="password"||t==="INPUT"&&!n&&e.text)}function Wn({isMasked:e,element:t,value:n,maskInputFn:r}){let s=n||"";return e?(r&&(s=r(s,t)),"*".repeat(s.length)):s}function gn(e){return e.toLowerCase()}function Ei(e){return e.toUpperCase()}const Ya="__rrweb_original__";function RS(e){const t=e.getContext("2d");if(!t)return!0;const n=50;for(let r=0;ra!==0))return!1}return!0}function mo(e){const t=e.type;return e.hasAttribute("data-rr-is-password")?"password":t?gn(t):null}function Qr(e,t,n){return t==="INPUT"&&(n==="radio"||n==="checkbox")?e.getAttribute("value")||"":e.value}function kl(e,t){let n;try{n=new URL(e,t??window.location.href)}catch{return null}const r=/\.([0-9a-z]+)(?:$)/i,s=n.pathname.match(r);return(s==null?void 0:s[1])??null}const Ka={};function Cl(e){const t=Ka[e];if(t)return t;const n=window.document;let r=window[e];if(n&&typeof n.createElement=="function")try{const s=n.createElement("iframe");s.hidden=!0,n.head.appendChild(s);const i=s.contentWindow;i&&i[e]&&(r=i[e]),n.head.removeChild(s)}catch{}return Ka[e]=r.bind(window)}function vi(...e){return Cl("setTimeout")(...e)}function Rl(...e){return Cl("clearTimeout")(...e)}function xl(e){try{return e.contentDocument}catch{}}let xS=1;const MS=new RegExp("[^a-z0-9-_:]"),zn=-2;function _o(){return xS++}function AS(e){if(e instanceof HTMLFormElement)return"form";const t=gn(e.tagName);return MS.test(t)?"div":t}function NS(e){let t="";return e.indexOf("//")>-1?t=e.split("/").slice(0,3).join("/"):t=e.split("/")[0],t=t.split("?")[0],t}let Zt,Xa;const LS=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,DS=/^(?:[a-z+]+:)?\/\//i,OS=/^www\..*/i,PS=/^(data:)([^,]*),(.*)/i;function FS(e,t){if(!e||t.size===0)return e;try{const n=e.split(";"),r=[];for(let s of n){if(s=s.trim(),!s)continue;const i=s.indexOf(":");if(i===-1){r.push(s);continue}const o=s.slice(0,i).trim();t.has(o)||r.push(s)}return r.join("; ")+(r.length>0&&e.endsWith(";")?";":"")}catch(n){return console.warn("Error filtering CSS properties:",n),e}}function es(e,t){return(e||"").replace(LS,(n,r,s,i,o,c)=>{const a=s||o||c,u=r||i||"";if(!a)return n;if(DS.test(a)||OS.test(a))return`url(${u}${a}${u})`;if(PS.test(a))return`url(${u}${a}${u})`;if(a[0]==="/")return`url(${u}${NS(t)+a}${u})`;const d=t.split("/"),l=a.split("/");d.pop();for(const f of l)f!=="."&&(f===".."?d.pop():d.push(f));return`url(${u}${d.join("/")}${u})`})}const $S=/^[^ \t\n\r\u000c]+/,BS=/^[, \t\n\r\u000c]+/;function HS(e,t){if(t.trim()==="")return t;let n=0;function r(i){let o;const c=i.exec(t.substring(n));return c?(o=c[0],n+=o.length,o):""}const s=[];for(;r(BS),!(n>=t.length);){let i=r($S);if(i.slice(-1)===",")i=nn(e,i.substring(0,i.length-1)),s.push(i);else{let o="";i=nn(e,i);let c=!1;for(;;){const a=t.charAt(n);if(a===""){s.push((i+o).trim());break}else if(c)a===")"&&(c=!1);else if(a===","){n+=1,s.push((i+o).trim());break}else a==="("&&(c=!0);o+=a,n+=1}}}return s.join(", ")}const Ja=new WeakMap;function nn(e,t){return!t||t.trim()===""?t:gs(e,t)}function US(e){return!!(e.tagName==="svg"||e.ownerSVGElement)}function gs(e,t){let n=Ja.get(e);if(n||(n=e.createElement("a"),Ja.set(e,n)),!t)t="";else if(t.startsWith("blob:")||t.startsWith("data:"))return t;return n.setAttribute("href",t),n.href}function Ml(e,t,n,r,s,i,o){if(!r)return r;if(n==="src"||n==="href"&&!(t==="use"&&r[0]==="#"))return nn(e,r);if(n==="xlink:href"&&r[0]!=="#")return nn(e,r);if(n==="background"&&(t==="table"||t==="td"||t==="th"))return nn(e,r);if(n==="srcset")return HS(e,r);if(n==="style"){let c=es(r,gs(e));return o&&o.size>0&&(c=FS(c,o)),c}else if(t==="object"&&n==="data")return nn(e,r);return typeof i=="function"?i(n,r,s):r}function Al(e,t,n){return(e==="video"||e==="audio")&&t==="autoplay"}function WS(e,t,n,r){try{if(r&&e.matches(r))return!1;if(typeof t=="string"){if(e.classList.contains(t))return!0}else for(let s=e.classList.length;s--;){const i=e.classList[s];if(t.test(i))return!0}if(n)return e.matches(n)}catch{}return!1}function zS(e,t){for(let n=e.classList.length;n--;){const r=e.classList[n];if(t.test(r))return!0}return!1}function Pt(e,t,n=1/0,r=0){return!e||e.nodeType!==e.ELEMENT_NODE||r>n?-1:t(e)?r:Pt(e.parentNode,t,n,r+1)}function rn(e,t){return n=>{const r=n;if(r===null)return!1;try{if(e){if(typeof e=="string"){if(r.matches(`.${e}`))return!0}else if(zS(r,e))return!0}return!!(t&&r.matches(t))}catch{return!1}}}function yn(e,t,n,r,s,i){try{const o=e.nodeType===e.ELEMENT_NODE?e:e.parentElement;if(o===null)return!1;if(o.tagName==="INPUT"){const u=o.getAttribute("autocomplete");if(["current-password","new-password","cc-number","cc-exp","cc-exp-month","cc-exp-year","cc-csc"].includes(u))return!0}let c=-1,a=-1;if(i){if(a=Pt(o,rn(r,s)),a<0)return!0;c=Pt(o,rn(t,n),a>=0?a:1/0)}else{if(c=Pt(o,rn(t,n)),c<0)return!1;a=Pt(o,rn(r,s),c>=0?c:1/0)}return c>=0?a>=0?c<=a:!0:a>=0?!1:!!i}catch{}return!!i}function qS(e,t,n){const r=e.contentWindow;if(!r)return;let s=!1,i;try{i=r.document.readyState}catch{return}if(i!=="complete"){const c=vi(()=>{s||(t(),s=!0)},n);e.addEventListener("load",()=>{Rl(c),s=!0,t()});return}const o="about:blank";if(r.location.href!==o||e.src===o||e.src==="")return vi(t,0),e.addEventListener("load",t);e.addEventListener("load",t)}function jS(e,t,n){let r=!1,s;try{s=e.sheet}catch{return}if(s)return;const i=vi(()=>{r||(t(),r=!0)},n);e.addEventListener("load",()=>{Rl(i),r=!0,t()})}function VS(e,t){const{doc:n,mirror:r,blockClass:s,blockSelector:i,unblockSelector:o,maskAllText:c,maskAttributeFn:a,maskTextClass:u,unmaskTextClass:d,maskTextSelector:l,unmaskTextSelector:f,inlineStylesheet:p,maskInputOptions:h={},maskTextFn:m,maskInputFn:_,dataURLOptions:g={},inlineImages:S,recordCanvas:N,keepIframeSrcFn:R,newlyAddedElement:U=!1,ignoreCSSAttributes:A}=t,y=GS(n,r);switch(e.nodeType){case e.DOCUMENT_NODE:return e.compatMode!=="CSS1Compat"?{type:ge.Document,childNodes:[],compatMode:e.compatMode}:{type:ge.Document,childNodes:[]};case e.DOCUMENT_TYPE_NODE:return{type:ge.DocumentType,name:e.name,publicId:e.publicId,systemId:e.systemId,rootId:y};case e.ELEMENT_NODE:return KS(e,{doc:n,blockClass:s,blockSelector:i,unblockSelector:o,inlineStylesheet:p,maskAttributeFn:a,maskInputOptions:h,maskInputFn:_,dataURLOptions:g,inlineImages:S,recordCanvas:N,keepIframeSrcFn:R,newlyAddedElement:U,rootId:y,maskTextClass:u,unmaskTextClass:d,maskTextSelector:l,unmaskTextSelector:f,ignoreCSSAttributes:A});case e.TEXT_NODE:return YS(e,{doc:n,maskAllText:c,maskTextClass:u,unmaskTextClass:d,maskTextSelector:l,unmaskTextSelector:f,maskTextFn:m,maskInputOptions:h,maskInputFn:_,rootId:y});case e.CDATA_SECTION_NODE:return{type:ge.CDATA,textContent:"",rootId:y};case e.COMMENT_NODE:return{type:ge.Comment,textContent:e.textContent||"",rootId:y};default:return!1}}function GS(e,t){if(!t.hasNode(e))return;const n=t.getId(e);return n===1?void 0:n}function YS(e,t){var g;const{maskAllText:n,maskTextClass:r,unmaskTextClass:s,maskTextSelector:i,unmaskTextSelector:o,maskTextFn:c,maskInputOptions:a,maskInputFn:u,rootId:d}=t,l=e.parentNode&&e.parentNode.tagName;let f=e.textContent;const p=l==="STYLE"?!0:void 0,h=l==="SCRIPT"?!0:void 0,m=l==="TEXTAREA"?!0:void 0;if(p&&f){try{e.nextSibling||e.previousSibling||(g=e.parentNode.sheet)!=null&&g.cssRules&&(f=Zr(e.parentNode.sheet))}catch(S){console.warn(`Cannot get CSS styles from text's parentNode. Error: ${S}`,e)}f=es(f,gs(t.doc))}h&&(f="SCRIPT_PLACEHOLDER");const _=yn(e,r,i,s,o,n);if(!p&&!h&&!m&&f&&_&&(f=c?c(f,e.parentElement):f.replace(/[\S]/g,"*")),m&&f&&(a.textarea||_)&&(f=u?u(f,e.parentNode):f.replace(/[\S]/g,"*")),l==="OPTION"&&f){const S=_s({type:null,tagName:l,maskInputOptions:a});f=Wn({isMasked:yn(e,r,i,s,o,S),element:e,value:f,maskInputFn:u})}return{type:ge.Text,textContent:f||"",isStyle:p,rootId:d}}function KS(e,t){const{doc:n,blockClass:r,blockSelector:s,unblockSelector:i,inlineStylesheet:o,maskInputOptions:c={},maskAttributeFn:a,maskInputFn:u,dataURLOptions:d={},inlineImages:l,recordCanvas:f,keepIframeSrcFn:p,newlyAddedElement:h=!1,rootId:m,maskTextClass:_,unmaskTextClass:g,maskTextSelector:S,unmaskTextSelector:N,ignoreCSSAttributes:R}=t,U=WS(e,r,s,i),A=AS(e);let y={};const I=e.attributes.length;for(let v=0;vw.href===e.href);let k=null;v&&(k=Zr(v)),k&&(y.rel=null,y.href=null,y.crossorigin=null,y._cssText=es(k,v.href))}if(A==="style"&&e.sheet&&!(e.innerText||e.textContent||"").trim().length){const v=Zr(e.sheet);v&&(y._cssText=es(v,gs(n)))}if(A==="input"||A==="textarea"||A==="select"||A==="option"){const v=e,k=mo(v),w=Qr(v,Ei(A),k),C=v.checked;if(k!=="submit"&&k!=="button"&&w){const M=yn(v,_,S,g,N,_s({type:k,tagName:Ei(A),maskInputOptions:c}));y.value=Wn({isMasked:M,element:v,value:w,maskInputFn:u})}C&&(y.checked=C)}if(A==="option"&&(e.selected&&!c.select?y.selected=!0:delete y.selected),A==="canvas"&&f){if(e.__context==="2d")RS(e)||(y.rr_dataURL=e.toDataURL(d.type,d.quality));else if(!("__context"in e)){const v=e.toDataURL(d.type,d.quality),k=n.createElement("canvas");k.width=e.width,k.height=e.height;const w=k.toDataURL(d.type,d.quality);v!==w&&(y.rr_dataURL=v)}}if(A==="img"&&l){Zt||(Zt=n.createElement("canvas"),Xa=Zt.getContext("2d"));const v=e,k=v.currentSrc||v.getAttribute("src")||"",w=v.crossOrigin,C=()=>{v.removeEventListener("load",C);try{Zt.width=v.naturalWidth,Zt.height=v.naturalHeight,Xa.drawImage(v,0,0),y.rr_dataURL=Zt.toDataURL(d.type,d.quality)}catch(M){if(v.crossOrigin!=="anonymous"){v.crossOrigin="anonymous",v.complete&&v.naturalWidth!==0?C():v.addEventListener("load",C);return}else console.warn(`Cannot inline img src=${k}! Error: ${M}`)}v.crossOrigin==="anonymous"&&(w?y.crossOrigin=w:v.removeAttribute("crossorigin"))};v.complete&&v.naturalWidth!==0?C():v.addEventListener("load",C)}if((A==="audio"||A==="video")&&(y.rr_mediaState=e.paused?"paused":"played",y.rr_mediaCurrentTime=e.currentTime),h||(e.scrollLeft&&(y.rr_scrollLeft=e.scrollLeft),e.scrollTop&&(y.rr_scrollTop=e.scrollTop)),U){const{width:v,height:k}=e.getBoundingClientRect();y={class:y.class,rr_width:`${v}px`,rr_height:`${k}px`}}A==="iframe"&&!p(y.src)&&(!U&&!xl(e)&&(y.rr_src=y.src),delete y.src);let P;try{customElements.get(A)&&(P=!0)}catch{}return{type:ge.Element,tagName:A,attributes:y,childNodes:[],isSVG:US(e)||void 0,needBlock:U,rootId:m,isCustom:P}}function ae(e){return e==null?"":e.toLowerCase()}function XS(e,t){if(t.comment&&e.type===ge.Comment)return!0;if(e.type===ge.Element){if(t.script&&(e.tagName==="script"||e.tagName==="link"&&(e.attributes.rel==="preload"||e.attributes.rel==="modulepreload")||e.tagName==="link"&&e.attributes.rel==="prefetch"&&typeof e.attributes.href=="string"&&kl(e.attributes.href)==="js"))return!0;if(t.headFavicon&&(e.tagName==="link"&&e.attributes.rel==="shortcut icon"||e.tagName==="meta"&&(ae(e.attributes.name).match(/^msapplication-tile(image|color)$/)||ae(e.attributes.name)==="application-name"||ae(e.attributes.rel)==="icon"||ae(e.attributes.rel)==="apple-touch-icon"||ae(e.attributes.rel)==="shortcut icon")))return!0;if(e.tagName==="meta"){if(t.headMetaDescKeywords&&ae(e.attributes.name).match(/^description|keywords$/))return!0;if(t.headMetaSocial&&(ae(e.attributes.property).match(/^(og|twitter|fb):/)||ae(e.attributes.name).match(/^(og|twitter):/)||ae(e.attributes.name)==="pinterest"))return!0;if(t.headMetaRobots&&(ae(e.attributes.name)==="robots"||ae(e.attributes.name)==="googlebot"||ae(e.attributes.name)==="bingbot"))return!0;if(t.headMetaHttpEquiv&&e.attributes["http-equiv"]!==void 0)return!0;if(t.headMetaAuthorship&&(ae(e.attributes.name)==="author"||ae(e.attributes.name)==="generator"||ae(e.attributes.name)==="framework"||ae(e.attributes.name)==="publisher"||ae(e.attributes.name)==="progid"||ae(e.attributes.property).match(/^article:/)||ae(e.attributes.property).match(/^product:/)))return!0;if(t.headMetaVerification&&(ae(e.attributes.name)==="google-site-verification"||ae(e.attributes.name)==="yandex-verification"||ae(e.attributes.name)==="csrf-token"||ae(e.attributes.name)==="p:domain_verify"||ae(e.attributes.name)==="verify-v1"||ae(e.attributes.name)==="verification"||ae(e.attributes.name)==="shopify-checkout-api-token"))return!0}}return!1}function sn(e,t){const{doc:n,mirror:r,blockClass:s,blockSelector:i,unblockSelector:o,maskAllText:c,maskTextClass:a,unmaskTextClass:u,maskTextSelector:d,unmaskTextSelector:l,skipChild:f=!1,inlineStylesheet:p=!0,maskInputOptions:h={},maskAttributeFn:m,maskTextFn:_,maskInputFn:g,slimDOMOptions:S,dataURLOptions:N={},inlineImages:R=!1,recordCanvas:U=!1,onSerialize:A,onIframeLoad:y,iframeLoadTimeout:I=5e3,onBlockedImageLoad:P,onStylesheetLoad:v,stylesheetLoadTimeout:k=5e3,keepIframeSrcFn:w=()=>!1,newlyAddedElement:C=!1,ignoreCSSAttributes:M}=t;let{preserveWhiteSpace:J=!0}=t;const Y=VS(e,{doc:n,mirror:r,blockClass:s,blockSelector:i,maskAllText:c,unblockSelector:o,maskTextClass:a,unmaskTextClass:u,maskTextSelector:d,unmaskTextSelector:l,inlineStylesheet:p,maskInputOptions:h,maskAttributeFn:m,maskTextFn:_,maskInputFn:g,dataURLOptions:N,inlineImages:R,recordCanvas:U,keepIframeSrcFn:w,newlyAddedElement:C,ignoreCSSAttributes:M});if(!Y)return console.warn(e,"not serialized"),null;let Z;r.hasNode(e)?Z=r.getId(e):XS(Y,S)||!J&&Y.type===ge.Text&&!Y.isStyle&&!Y.textContent.replace(/^\s+|\s+$/gm,"").length?Z=zn:Z=_o();const E=Object.assign(Y,{id:Z});if(r.add(e,E),Z===zn)return null;A&&A(e);let F=!f;if(E.type===ge.Element){F=F&&!E.needBlock;const T=e.shadowRoot;T&&Dn(T)&&(E.isShadowHost=!0)}if((E.type===ge.Document||E.type===ge.Element)&&F){S.headWhitespace&&E.type===ge.Element&&E.tagName==="head"&&(J=!1);const T={doc:n,mirror:r,blockClass:s,blockSelector:i,maskAllText:c,unblockSelector:o,maskTextClass:a,unmaskTextClass:u,maskTextSelector:d,unmaskTextSelector:l,skipChild:f,inlineStylesheet:p,maskInputOptions:h,maskAttributeFn:m,maskTextFn:_,maskInputFn:g,slimDOMOptions:S,dataURLOptions:N,inlineImages:R,recordCanvas:U,preserveWhiteSpace:J,onSerialize:A,onIframeLoad:y,iframeLoadTimeout:I,onBlockedImageLoad:P,onStylesheetLoad:v,stylesheetLoadTimeout:k,keepIframeSrcFn:w,ignoreCSSAttributes:M},H=e.childNodes?Array.from(e.childNodes):[];for(const ne of H){const te=sn(ne,T);te&&E.childNodes.push(te)}if(bS(e)&&e.shadowRoot)for(const ne of Array.from(e.shadowRoot.childNodes)){const te=sn(ne,T);te&&(Dn(e.shadowRoot)&&(te.isShadow=!0),E.childNodes.push(te))}}if(e.parentNode&&Ln(e.parentNode)&&Dn(e.parentNode)&&(E.isShadow=!0),E.type===ge.Element&&E.tagName==="iframe"&&!E.needBlock&&qS(e,()=>{const T=xl(e);if(T&&y){const H=sn(T,{doc:T,mirror:r,blockClass:s,blockSelector:i,unblockSelector:o,maskAllText:c,maskTextClass:a,unmaskTextClass:u,maskTextSelector:d,unmaskTextSelector:l,skipChild:!1,inlineStylesheet:p,maskInputOptions:h,maskAttributeFn:m,maskTextFn:_,maskInputFn:g,slimDOMOptions:S,dataURLOptions:N,inlineImages:R,recordCanvas:U,preserveWhiteSpace:J,onSerialize:A,onIframeLoad:y,iframeLoadTimeout:I,onStylesheetLoad:v,stylesheetLoadTimeout:k,keepIframeSrcFn:w,ignoreCSSAttributes:M});H&&y(e,H)}},I),E.type===ge.Element&&E.tagName==="img"&&!e.complete&&E.needBlock){const T=e,H=()=>{if(T.isConnected&&!T.complete&&P)try{const ne=T.getBoundingClientRect();ne.width>0&&ne.height>0&&P(T,E,ne)}catch{}T.removeEventListener("load",H)};T.isConnected&&T.addEventListener("load",H)}return E.type===ge.Element&&E.tagName==="link"&&typeof E.attributes.rel=="string"&&(E.attributes.rel==="stylesheet"||E.attributes.rel==="preload"&&typeof E.attributes.href=="string"&&kl(E.attributes.href)==="css")&&jS(e,()=>{if(v){const T=sn(e,{doc:n,mirror:r,blockClass:s,blockSelector:i,unblockSelector:o,maskAllText:c,maskTextClass:a,unmaskTextClass:u,maskTextSelector:d,unmaskTextSelector:l,skipChild:!1,inlineStylesheet:p,maskInputOptions:h,maskAttributeFn:m,maskTextFn:_,maskInputFn:g,slimDOMOptions:S,dataURLOptions:N,inlineImages:R,recordCanvas:U,preserveWhiteSpace:J,onSerialize:A,onIframeLoad:y,iframeLoadTimeout:I,onStylesheetLoad:v,stylesheetLoadTimeout:k,keepIframeSrcFn:w,ignoreCSSAttributes:M});T&&v(e,T)}},k),E.type===ge.Element&&delete E.needBlock,E}function JS(e,t){const{mirror:n=new Il,blockClass:r="rr-block",blockSelector:s=null,unblockSelector:i=null,maskAllText:o=!1,maskTextClass:c="rr-mask",unmaskTextClass:a=null,maskTextSelector:u=null,unmaskTextSelector:d=null,inlineStylesheet:l=!0,inlineImages:f=!1,recordCanvas:p=!1,maskAllInputs:h=!1,maskAttributeFn:m,maskTextFn:_,maskInputFn:g,slimDOM:S=!1,dataURLOptions:N,preserveWhiteSpace:R,onSerialize:U,onIframeLoad:A,iframeLoadTimeout:y,onBlockedImageLoad:I,onStylesheetLoad:P,stylesheetLoadTimeout:v,keepIframeSrcFn:k=()=>!1,ignoreCSSAttributes:w=new Set([])}=t||{};return sn(e,{doc:e,mirror:n,blockClass:r,blockSelector:s,unblockSelector:i,maskAllText:o,maskTextClass:c,unmaskTextClass:a,maskTextSelector:u,unmaskTextSelector:d,skipChild:!1,inlineStylesheet:l,maskInputOptions:h===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0}:h===!1?{}:h,maskAttributeFn:m,maskTextFn:_,maskInputFn:g,slimDOMOptions:S===!0||S==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaDescKeywords:S==="all",headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaAuthorship:!0,headMetaVerification:!0}:S===!1?{}:S,dataURLOptions:N,inlineImages:f,recordCanvas:p,preserveWhiteSpace:R,onSerialize:U,onIframeLoad:A,iframeLoadTimeout:y,onBlockedImageLoad:I,onStylesheetLoad:P,stylesheetLoadTimeout:v,keepIframeSrcFn:k,newlyAddedElement:!1,ignoreCSSAttributes:w})}function Ce(e,t,n=document){const r={capture:!0,passive:!0};return n.addEventListener(e,t,r),()=>n.removeEventListener(e,t,r)}const Qt=`Please stop import mirror directly. Instead of that,\r +now you can use replayer.getMirror() to access the mirror instance of a replayer,\r +or you can use record.mirror to access the mirror instance during recording.`;let Za={map:{},getId(){return console.error(Qt),-1},getNode(){return console.error(Qt),null},removeNodeFromMap(){console.error(Qt)},has(){return console.error(Qt),!1},reset(){console.error(Qt)}};typeof window<"u"&&window.Proxy&&window.Reflect&&(Za=new Proxy(Za,{get(e,t,n){return t==="map"&&console.error(Qt),Reflect.get(e,t,n)}}));function qn(e,t,n={}){let r=null,s=0;return function(...i){const o=Date.now();!s&&n.leading===!1&&(s=o);const c=t-(o-s),a=this;c<=0||c>t?(r&&(sb(r),r=null),s=o,e.apply(a,i)):!r&&n.trailing!==!1&&(r=ys(()=>{s=n.leading===!1?0:Date.now(),r=null,e.apply(a,i)},c))}}function Nl(e,t,n,r,s=window){const i=s.Object.getOwnPropertyDescriptor(e,t);return s.Object.defineProperty(e,t,r?n:{set(o){ys(()=>{n.set.call(this,o)},0),i&&i.set&&i.set.call(this,o)}}),()=>Nl(e,t,i||{},!0)}function go(e,t,n){try{if(!(t in e))return()=>{};const r=e[t],s=n(r);return typeof s=="function"&&(s.prototype=s.prototype||{},Object.defineProperties(s,{__rrweb_original__:{enumerable:!1,value:r}})),e[t]=s,()=>{e[t]=r}}catch{return()=>{}}}let ts=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(ts=()=>new Date().getTime());function Ll(e){var n,r,s,i,o,c;const t=e.document;return{left:t.scrollingElement?t.scrollingElement.scrollLeft:e.pageXOffset!==void 0?e.pageXOffset:(t==null?void 0:t.documentElement.scrollLeft)||((r=(n=t==null?void 0:t.body)==null?void 0:n.parentElement)==null?void 0:r.scrollLeft)||((s=t==null?void 0:t.body)==null?void 0:s.scrollLeft)||0,top:t.scrollingElement?t.scrollingElement.scrollTop:e.pageYOffset!==void 0?e.pageYOffset:(t==null?void 0:t.documentElement.scrollTop)||((o=(i=t==null?void 0:t.body)==null?void 0:i.parentElement)==null?void 0:o.scrollTop)||((c=t==null?void 0:t.body)==null?void 0:c.scrollTop)||0}}function Dl(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function Ol(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function Pl(e){if(!e)return null;try{return e.nodeType===e.ELEMENT_NODE?e:e.parentElement}catch{return null}}function Fe(e,t,n,r,s){if(!e)return!1;const i=Pl(e);if(!i)return!1;const o=rn(t,n);if(!s){const u=r&&i.matches(r);return o(i)&&!u}const c=Pt(i,o);let a=-1;return c<0?!1:(r&&(a=Pt(i,rn(null,r))),c>-1&&a<0?!0:c{let n=t[0];if(!(0 in t))throw new TypeError("1 argument is required");do if(this===n)return!0;while(n=n&&n.parentNode);return!1})}function $l(e,t){return!!(e.nodeName==="IFRAME"&&t.getMeta(e))}function Bl(e,t){return!!(e.nodeName==="LINK"&&e.nodeType===e.ELEMENT_NODE&&e.getAttribute&&e.getAttribute("rel")==="stylesheet"&&t.getMeta(e))}function wi(e){return!!(e!=null&&e.shadowRoot)}class eb{constructor(){this.id=1,this.styleIDMap=new WeakMap,this.idStyleMap=new Map}getId(t){return this.styleIDMap.get(t)??-1}has(t){return this.styleIDMap.has(t)}add(t,n){if(this.has(t))return this.getId(t);let r;return n===void 0?r=this.id++:r=n,this.styleIDMap.set(t,r),this.idStyleMap.set(r,t),r}getStyle(t){return this.idStyleMap.get(t)||null}reset(){this.styleIDMap=new WeakMap,this.idStyleMap=new Map,this.id=1}generateId(){return this.id++}}function Hl(e){var n,r;let t=null;return((r=(n=e.getRootNode)==null?void 0:n.call(e))==null?void 0:r.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&e.getRootNode().host&&(t=e.getRootNode().host),t}function tb(e){let t=e,n;for(;n=Hl(t);)t=n;return t}function nb(e){const t=e.ownerDocument;if(!t)return!1;const n=tb(e);return t.contains(n)}function Ul(e){const t=e.ownerDocument;return t?t.contains(e)||nb(e):!1}const Qa={};function yo(e){const t=Qa[e];if(t)return t;const n=window.document;let r=window[e];if(n&&typeof n.createElement=="function")try{const s=n.createElement("iframe");s.hidden=!0,n.head.appendChild(s);const i=s.contentWindow;i&&i[e]&&(r=i[e]),n.head.removeChild(s)}catch{}return Qa[e]=r.bind(window)}function rb(...e){return yo("requestAnimationFrame")(...e)}function ys(...e){return yo("setTimeout")(...e)}function sb(...e){return yo("clearTimeout")(...e)}var q=(e=>(e[e.DomContentLoaded=0]="DomContentLoaded",e[e.Load=1]="Load",e[e.FullSnapshot=2]="FullSnapshot",e[e.IncrementalSnapshot=3]="IncrementalSnapshot",e[e.Meta=4]="Meta",e[e.Custom=5]="Custom",e[e.Plugin=6]="Plugin",e))(q||{}),$=(e=>(e[e.Mutation=0]="Mutation",e[e.MouseMove=1]="MouseMove",e[e.MouseInteraction=2]="MouseInteraction",e[e.Scroll=3]="Scroll",e[e.ViewportResize=4]="ViewportResize",e[e.Input=5]="Input",e[e.TouchMove=6]="TouchMove",e[e.MediaInteraction=7]="MediaInteraction",e[e.StyleSheetRule=8]="StyleSheetRule",e[e.CanvasMutation=9]="CanvasMutation",e[e.Font=10]="Font",e[e.Log=11]="Log",e[e.Drag=12]="Drag",e[e.StyleDeclaration=13]="StyleDeclaration",e[e.Selection=14]="Selection",e[e.AdoptedStyleSheet=15]="AdoptedStyleSheet",e[e.CustomElement=16]="CustomElement",e))($||{}),ke=(e=>(e[e.MouseUp=0]="MouseUp",e[e.MouseDown=1]="MouseDown",e[e.Click=2]="Click",e[e.ContextMenu=3]="ContextMenu",e[e.DblClick=4]="DblClick",e[e.Focus=5]="Focus",e[e.Blur=6]="Blur",e[e.TouchStart=7]="TouchStart",e[e.TouchMove_Departed=8]="TouchMove_Departed",e[e.TouchEnd=9]="TouchEnd",e[e.TouchCancel=10]="TouchCancel",e))(ke||{}),nt=(e=>(e[e.Mouse=0]="Mouse",e[e.Pen=1]="Pen",e[e.Touch=2]="Touch",e))(nt||{}),en=(e=>(e[e.Play=0]="Play",e[e.Pause=1]="Pause",e[e.Seeked=2]="Seeked",e[e.VolumeChange=3]="VolumeChange",e[e.RateChange=4]="RateChange",e))(en||{});function So(e){try{return e.contentDocument}catch{}}function ib(e){try{return e.contentWindow}catch{}}function ec(e){return"__ln"in e}class ob{constructor(){this.length=0,this.head=null,this.tail=null}get(t){if(t>=this.length)throw new Error("Position outside of list range");let n=this.head;for(let r=0;r`${e}@${t}`;class ab{constructor(){this.frozen=!1,this.locked=!1,this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.mapRemoves=[],this.movedMap={},this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.processMutations=t=>{t.forEach(this.processMutation),this.emit()},this.emit=()=>{if(this.frozen||this.locked)return;const t=[],n=new Set,r=new ob,s=a=>{let u=a,d=zn;for(;d===zn;)u=u&&u.nextSibling,d=u&&this.mirror.getId(u);return d},i=a=>{if(!a.parentNode||!Ul(a))return;const u=Ln(a.parentNode)?this.mirror.getId(Hl(a)):this.mirror.getId(a.parentNode),d=s(a);if(u===-1||d===-1)return r.addNode(a);const l=sn(a,{doc:this.doc,mirror:this.mirror,blockClass:this.blockClass,blockSelector:this.blockSelector,maskAllText:this.maskAllText,unblockSelector:this.unblockSelector,maskTextClass:this.maskTextClass,unmaskTextClass:this.unmaskTextClass,maskTextSelector:this.maskTextSelector,unmaskTextSelector:this.unmaskTextSelector,skipChild:!0,newlyAddedElement:!0,inlineStylesheet:this.inlineStylesheet,maskInputOptions:this.maskInputOptions,maskAttributeFn:this.maskAttributeFn,maskTextFn:this.maskTextFn,maskInputFn:this.maskInputFn,slimDOMOptions:this.slimDOMOptions,dataURLOptions:this.dataURLOptions,recordCanvas:this.recordCanvas,inlineImages:this.inlineImages,onSerialize:f=>{$l(f,this.mirror)&&!Fe(f,this.blockClass,this.blockSelector,this.unblockSelector,!1)&&this.iframeManager.addIframe(f),Bl(f,this.mirror)&&this.stylesheetManager.trackLinkElement(f),wi(a)&&this.shadowDomManager.addShadowRoot(a.shadowRoot,this.doc)},onIframeLoad:(f,p)=>{Fe(f,this.blockClass,this.blockSelector,this.unblockSelector,!1)||(this.iframeManager.attachIframe(f,p),f.contentWindow&&this.canvasManager.addWindow(f.contentWindow),this.shadowDomManager.observeAttachShadow(f))},onStylesheetLoad:(f,p)=>{this.stylesheetManager.attachLinkElement(f,p)},onBlockedImageLoad:(f,p,{width:h,height:m})=>{this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:p.id,attributes:{style:{width:`${h}px`,height:`${m}px`}}}]})},ignoreCSSAttributes:this.ignoreCSSAttributes});l&&(t.push({parentId:u,nextId:d,node:l}),n.add(l.id))};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(const a of this.movedSet)nc(this.removes,a,this.mirror)&&!this.movedSet.has(a.parentNode)||i(a);for(const a of this.addedSet)!rc(this.droppedSet,a)&&!nc(this.removes,a,this.mirror)||rc(this.movedSet,a)?i(a):this.droppedSet.add(a);let o=null;for(;r.length;){let a=null;if(o){const u=this.mirror.getId(o.value.parentNode),d=s(o.value);u!==-1&&d!==-1&&(a=o)}if(!a){let u=r.tail;for(;u;){const d=u;if(u=u.previous,d){const l=this.mirror.getId(d.value.parentNode);if(s(d.value)===-1)continue;if(l!==-1){a=d;break}else{const p=d.value;if(p.parentNode&&p.parentNode.nodeType===Node.DOCUMENT_FRAGMENT_NODE){const h=p.parentNode.host;if(this.mirror.getId(h)!==-1){a=d;break}}}}}}if(!a){for(;r.head;)r.removeNode(r.head.value);break}o=a.previous,r.removeNode(a.value),i(a.value)}const c={texts:this.texts.map(a=>({id:this.mirror.getId(a.node),value:a.value})).filter(a=>!n.has(a.id)).filter(a=>this.mirror.has(a.id)),attributes:this.attributes.map(a=>{const{attributes:u}=a;if(typeof u.style=="string"){const d=JSON.stringify(a.styleDiff),l=JSON.stringify(a._unchangedStyles);d.length!n.has(a.id)).filter(a=>this.mirror.has(a.id)),removes:this.removes,adds:t};!c.texts.length&&!c.attributes.length&&!c.removes.length&&!c.adds.length||(this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.movedMap={},this.mutationCb(c))},this.processMutation=t=>{if(!Ws(t.target,this.mirror))switch(t.type){case"characterData":{const n=t.target.textContent;!Fe(t.target,this.blockClass,this.blockSelector,this.unblockSelector,!1)&&n!==t.oldValue&&this.texts.push({value:yn(t.target,this.maskTextClass,this.maskTextSelector,this.unmaskTextClass,this.unmaskTextSelector,this.maskAllText)&&n?this.maskTextFn?this.maskTextFn(n,Pl(t.target)):n.replace(/[\S]/g,"*"):n,node:t.target});break}case"attributes":{const n=t.target;let r=t.attributeName,s=t.target.getAttribute(r);if(r==="value"){const o=mo(n),c=n.tagName;s=Qr(n,c,o);const a=_s({maskInputOptions:this.maskInputOptions,tagName:c,type:o}),u=yn(t.target,this.maskTextClass,this.maskTextSelector,this.unmaskTextClass,this.unmaskTextSelector,a);s=Wn({isMasked:u,element:n,value:s,maskInputFn:this.maskInputFn})}if(Fe(t.target,this.blockClass,this.blockSelector,this.unblockSelector,!1)||s===t.oldValue)return;let i=this.attributeMap.get(t.target);if(n.tagName==="IFRAME"&&r==="src"&&!this.keepIframeSrcFn(s))if(!So(n))r="rr_src";else return;if(i||(i={node:t.target,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(i),this.attributeMap.set(t.target,i)),r==="type"&&n.tagName==="INPUT"&&(t.oldValue||"").toLowerCase()==="password"&&n.setAttribute("data-rr-is-password","true"),!Al(n.tagName,r)&&(i.attributes[r]=Ml(this.doc,gn(n.tagName),gn(r),s,n,this.maskAttributeFn),r==="style")){if(!this.unattachedDoc)try{this.unattachedDoc=document.implementation.createHTMLDocument()}catch{this.unattachedDoc=this.doc}const o=this.unattachedDoc.createElement("span");t.oldValue&&o.setAttribute("style",t.oldValue);for(const c of Array.from(n.style)){const a=n.style.getPropertyValue(c),u=n.style.getPropertyPriority(c);a!==o.style.getPropertyValue(c)||u!==o.style.getPropertyPriority(c)?u===""?i.styleDiff[c]=a:i.styleDiff[c]=[a,u]:i._unchangedStyles[c]=[a,u]}for(const c of Array.from(o.style))n.style.getPropertyValue(c)===""&&(i.styleDiff[c]=!1)}break}case"childList":{if(Fe(t.target,this.blockClass,this.blockSelector,this.unblockSelector,!0))return;t.addedNodes.forEach(n=>this.genAdds(n,t.target)),t.removedNodes.forEach(n=>{const r=this.mirror.getId(n),s=Ln(t.target)?this.mirror.getId(t.target.host):this.mirror.getId(t.target);Fe(t.target,this.blockClass,this.blockSelector,this.unblockSelector,!1)||Ws(n,this.mirror)||!ZS(n,this.mirror)||(this.addedSet.has(n)?(Ii(this.addedSet,n),this.droppedSet.add(n)):this.addedSet.has(t.target)&&r===-1||Fl(t.target,this.mirror)||(this.movedSet.has(n)&&this.movedMap[tc(r,s)]?Ii(this.movedSet,n):this.removes.push({parentId:s,id:r,isShadow:Ln(t.target)&&Dn(t.target)?!0:void 0})),this.mapRemoves.push(n))});break}}},this.genAdds=(t,n)=>{if(!this.processedNodeManager.inOtherBuffer(t,this)&&!(this.addedSet.has(t)||this.movedSet.has(t))){if(this.mirror.hasNode(t)){if(Ws(t,this.mirror))return;this.movedSet.add(t);let r=null;n&&this.mirror.hasNode(n)&&(r=this.mirror.getId(n)),r&&r!==-1&&(this.movedMap[tc(this.mirror.getId(t),r)]=!0)}else this.addedSet.add(t),this.droppedSet.delete(t);Fe(t,this.blockClass,this.blockSelector,this.unblockSelector,!1)||(t.childNodes&&t.childNodes.forEach(r=>this.genAdds(r)),wi(t)&&t.shadowRoot.childNodes.forEach(r=>{this.processedNodeManager.add(r,this),this.genAdds(r,t)}))}}}init(t){["mutationCb","blockClass","blockSelector","unblockSelector","maskAllText","maskTextClass","unmaskTextClass","maskTextSelector","unmaskTextSelector","inlineStylesheet","maskInputOptions","maskAttributeFn","maskTextFn","maskInputFn","keepIframeSrcFn","recordCanvas","inlineImages","slimDOMOptions","dataURLOptions","doc","mirror","iframeManager","stylesheetManager","shadowDomManager","canvasManager","processedNodeManager","ignoreCSSAttributes"].forEach(n=>{this[n]=t[n]})}freeze(){this.frozen=!0,this.canvasManager.freeze()}unfreeze(){this.frozen=!1,this.canvasManager.unfreeze(),this.emit()}isFrozen(){return this.frozen}lock(){this.locked=!0,this.canvasManager.lock()}unlock(){this.locked=!1,this.canvasManager.unlock(),this.emit()}reset(){this.shadowDomManager.reset(),this.canvasManager.reset()}}function Ii(e,t){var n;e.delete(t),(n=t.childNodes)==null||n.forEach(r=>Ii(e,r))}function nc(e,t,n){return e.length===0?!1:cb(e,t,n)}function cb(e,t,n){let r=t.parentNode;for(;r;){const s=n.getId(r);if(e.some(i=>i.id===s))return!0;r=r.parentNode}return!1}function rc(e,t){return e.size===0?!1:Wl(e,t)}function Wl(e,t){const{parentNode:n}=t;return n?e.has(n)?!0:Wl(e,n):!1}let On;function ub(e){On=e}function lb(){On=void 0}const Q=e=>On?(...n)=>{try{return e(...n)}catch(r){if(On&&On(r)===!0)return()=>{};throw r}}:e,on=[];function cr(e){try{if("composedPath"in e){const t=e.composedPath();if(t.length)return t[0]}else if("path"in e&&e.path.length)return e.path[0]}catch{}return e&&e.target}function zl(e,t){var o,c;const n=new ab;on.push(n),n.init(e);let r=window.MutationObserver||window.__rrMutationObserver;const s=(c=(o=window==null?void 0:window.Zone)==null?void 0:o.__symbol__)==null?void 0:c.call(o,"MutationObserver");s&&window[s]&&(r=window[s]);const i=new r(Q(a=>{e.onMutation&&e.onMutation(a)===!1||n.processMutations.bind(n)(a)}));return i.observe(t,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),i}function db({mousemoveCb:e,sampling:t,doc:n,mirror:r}){if(t.mousemove===!1)return()=>{};const s=typeof t.mousemove=="number"?t.mousemove:50,i=typeof t.mousemoveCallback=="number"?t.mousemoveCallback:500;let o=[],c;const a=qn(Q(l=>{const f=Date.now()-c;e(o.map(p=>(p.timeOffset-=f,p)),l),o=[],c=null}),i),u=Q(qn(Q(l=>{const f=cr(l),{clientX:p,clientY:h}=Ti(l)?l.changedTouches[0]:l;c||(c=ts()),o.push({x:p,y:h,id:r.getId(f),timeOffset:ts()-c}),a(typeof DragEvent<"u"&&l instanceof DragEvent?$.Drag:l instanceof MouseEvent?$.MouseMove:$.TouchMove)}),s,{trailing:!1})),d=[Ce("mousemove",u,n),Ce("touchmove",u,n),Ce("drag",u,n)];return Q(()=>{d.forEach(l=>l())})}function fb({mouseInteractionCb:e,doc:t,mirror:n,blockClass:r,blockSelector:s,unblockSelector:i,sampling:o}){if(o.mouseInteraction===!1)return()=>{};const c=o.mouseInteraction===!0||o.mouseInteraction===void 0?{}:o.mouseInteraction,a=[];let u=null;const d=l=>f=>{const p=cr(f);if(Fe(p,r,s,i,!0))return;let h=null,m=l;if("pointerType"in f){switch(f.pointerType){case"mouse":h=nt.Mouse;break;case"touch":h=nt.Touch;break;case"pen":h=nt.Pen;break}h===nt.Touch?ke[l]===ke.MouseDown?m="TouchStart":ke[l]===ke.MouseUp&&(m="TouchEnd"):nt.Pen}else Ti(f)&&(h=nt.Touch);h!==null?(u=h,(m.startsWith("Touch")&&h===nt.Touch||m.startsWith("Mouse")&&h===nt.Mouse)&&(h=null)):ke[l]===ke.Click&&(h=u,u=null);const _=Ti(f)?f.changedTouches[0]:f;if(!_)return;const g=n.getId(p),{clientX:S,clientY:N}=_;Q(e)({type:ke[m],id:g,x:S,y:N,...h!==null&&{pointerType:h}})};return Object.keys(ke).filter(l=>Number.isNaN(Number(l))&&!l.endsWith("_Departed")&&c[l]!==!1).forEach(l=>{let f=gn(l);const p=d(l);if(window.PointerEvent)switch(ke[l]){case ke.MouseDown:case ke.MouseUp:f=f.replace("mouse","pointer");break;case ke.TouchStart:case ke.TouchEnd:return}a.push(Ce(f,p,t))}),Q(()=>{a.forEach(l=>l())})}function ql({scrollCb:e,doc:t,mirror:n,blockClass:r,blockSelector:s,unblockSelector:i,sampling:o}){const c=Q(qn(Q(a=>{const u=cr(a);if(!u||Fe(u,r,s,i,!0))return;const d=n.getId(u);if(u===t&&t.defaultView){const l=Ll(t.defaultView);e({id:d,x:l.left,y:l.top})}else e({id:d,x:u.scrollLeft,y:u.scrollTop})}),o.scroll||100));return Ce("scroll",c,t)}function pb({viewportResizeCb:e},{win:t}){let n=-1,r=-1;const s=Q(qn(Q(()=>{const i=Dl(),o=Ol();(n!==i||r!==o)&&(e({width:Number(o),height:Number(i)}),n=i,r=o)}),200));return Ce("resize",s,t)}const hb=["INPUT","TEXTAREA","SELECT"],sc=new WeakMap;function mb({inputCb:e,doc:t,mirror:n,blockClass:r,blockSelector:s,unblockSelector:i,ignoreClass:o,ignoreSelector:c,maskInputOptions:a,maskInputFn:u,sampling:d,userTriggeredOnInput:l,maskTextClass:f,unmaskTextClass:p,maskTextSelector:h,unmaskTextSelector:m}){function _(y){let I=cr(y);const P=y.isTrusted,v=I&&Ei(I.tagName);if(v==="OPTION"&&(I=I.parentElement),!I||!v||hb.indexOf(v)<0||Fe(I,r,s,i,!0))return;const k=I;if(k.classList.contains(o)||c&&k.matches(c))return;const w=mo(I);let C=Qr(k,v,w),M=!1;const J=_s({maskInputOptions:a,tagName:v,type:w}),Y=yn(I,f,h,p,m,J);(w==="radio"||w==="checkbox")&&(M=I.checked),C=Wn({isMasked:Y,element:I,value:C,maskInputFn:u}),g(I,l?{text:C,isChecked:M,userTriggered:P}:{text:C,isChecked:M});const Z=I.name;w==="radio"&&Z&&M&&t.querySelectorAll(`input[type="radio"][name="${Z}"]`).forEach(E=>{if(E!==I){const F=Wn({isMasked:Y,element:E,value:Qr(E,v,w),maskInputFn:u});g(E,l?{text:F,isChecked:!M,userTriggered:!1}:{text:F,isChecked:!M})}})}function g(y,I){const P=sc.get(y);if(!P||P.text!==I.text||P.isChecked!==I.isChecked){sc.set(y,I);const v=n.getId(y);Q(e)({...I,id:v})}}const N=(d.input==="last"?["change"]:["input","change"]).map(y=>Ce(y,Q(_),t)),R=t.defaultView;if(!R)return()=>{N.forEach(y=>y())};const U=R.Object.getOwnPropertyDescriptor(R.HTMLInputElement.prototype,"value"),A=[[R.HTMLInputElement.prototype,"value"],[R.HTMLInputElement.prototype,"checked"],[R.HTMLSelectElement.prototype,"value"],[R.HTMLTextAreaElement.prototype,"value"],[R.HTMLSelectElement.prototype,"selectedIndex"],[R.HTMLOptionElement.prototype,"selected"]];return U&&U.set&&N.push(...A.map(y=>Nl(y[0],y[1],{set(){Q(_)({target:this,isTrusted:!1})}},!1,R))),Q(()=>{N.forEach(y=>y())})}function ns(e){const t=[];function n(r,s){if(vr("CSSGroupingRule")&&r.parentRule instanceof CSSGroupingRule||vr("CSSMediaRule")&&r.parentRule instanceof CSSMediaRule||vr("CSSSupportsRule")&&r.parentRule instanceof CSSSupportsRule||vr("CSSConditionRule")&&r.parentRule instanceof CSSConditionRule){const o=Array.from(r.parentRule.cssRules).indexOf(r);s.unshift(o)}else if(r.parentStyleSheet){const o=Array.from(r.parentStyleSheet.cssRules).indexOf(r);s.unshift(o)}return s}return n(e,t)}function gt(e,t,n){let r,s;return e?(e.ownerNode?r=t.getId(e.ownerNode):s=n.getId(e),{styleId:s,id:r}):{}}function _b({styleSheetRuleCb:e,mirror:t,stylesheetManager:n},{win:r}){if(!r.CSSStyleSheet||!r.CSSStyleSheet.prototype)return()=>{};const s=r.CSSStyleSheet.prototype.insertRule;r.CSSStyleSheet.prototype.insertRule=new Proxy(s,{apply:Q((d,l,f)=>{const[p,h]=f,{id:m,styleId:_}=gt(l,t,n.styleMirror);return(m&&m!==-1||_&&_!==-1)&&e({id:m,styleId:_,adds:[{rule:p,index:h}]}),d.apply(l,f)})});const i=r.CSSStyleSheet.prototype.deleteRule;r.CSSStyleSheet.prototype.deleteRule=new Proxy(i,{apply:Q((d,l,f)=>{const[p]=f,{id:h,styleId:m}=gt(l,t,n.styleMirror);return(h&&h!==-1||m&&m!==-1)&&e({id:h,styleId:m,removes:[{index:p}]}),d.apply(l,f)})});let o;r.CSSStyleSheet.prototype.replace&&(o=r.CSSStyleSheet.prototype.replace,r.CSSStyleSheet.prototype.replace=new Proxy(o,{apply:Q((d,l,f)=>{const[p]=f,{id:h,styleId:m}=gt(l,t,n.styleMirror);return(h&&h!==-1||m&&m!==-1)&&e({id:h,styleId:m,replace:p}),d.apply(l,f)})}));let c;r.CSSStyleSheet.prototype.replaceSync&&(c=r.CSSStyleSheet.prototype.replaceSync,r.CSSStyleSheet.prototype.replaceSync=new Proxy(c,{apply:Q((d,l,f)=>{const[p]=f,{id:h,styleId:m}=gt(l,t,n.styleMirror);return(h&&h!==-1||m&&m!==-1)&&e({id:h,styleId:m,replaceSync:p}),d.apply(l,f)})}));const a={};Tr("CSSGroupingRule")?a.CSSGroupingRule=r.CSSGroupingRule:(Tr("CSSMediaRule")&&(a.CSSMediaRule=r.CSSMediaRule),Tr("CSSConditionRule")&&(a.CSSConditionRule=r.CSSConditionRule),Tr("CSSSupportsRule")&&(a.CSSSupportsRule=r.CSSSupportsRule));const u={};return Object.entries(a).forEach(([d,l])=>{u[d]={insertRule:l.prototype.insertRule,deleteRule:l.prototype.deleteRule},l.prototype.insertRule=new Proxy(u[d].insertRule,{apply:Q((f,p,h)=>{const[m,_]=h,{id:g,styleId:S}=gt(p.parentStyleSheet,t,n.styleMirror);return(g&&g!==-1||S&&S!==-1)&&e({id:g,styleId:S,adds:[{rule:m,index:[...ns(p),_||0]}]}),f.apply(p,h)})}),l.prototype.deleteRule=new Proxy(u[d].deleteRule,{apply:Q((f,p,h)=>{const[m]=h,{id:_,styleId:g}=gt(p.parentStyleSheet,t,n.styleMirror);return(_&&_!==-1||g&&g!==-1)&&e({id:_,styleId:g,removes:[{index:[...ns(p),m]}]}),f.apply(p,h)})})}),Q(()=>{r.CSSStyleSheet.prototype.insertRule=s,r.CSSStyleSheet.prototype.deleteRule=i,o&&(r.CSSStyleSheet.prototype.replace=o),c&&(r.CSSStyleSheet.prototype.replaceSync=c),Object.entries(a).forEach(([d,l])=>{l.prototype.insertRule=u[d].insertRule,l.prototype.deleteRule=u[d].deleteRule})})}function jl({mirror:e,stylesheetManager:t},n){var o,c,a;let r=null;n.nodeName==="#document"?r=e.getId(n):r=e.getId(n.host);const s=n.nodeName==="#document"?(o=n.defaultView)==null?void 0:o.Document:(a=(c=n.ownerDocument)==null?void 0:c.defaultView)==null?void 0:a.ShadowRoot,i=s!=null&&s.prototype?Object.getOwnPropertyDescriptor(s==null?void 0:s.prototype,"adoptedStyleSheets"):void 0;return r===null||r===-1||!s||!i?()=>{}:(Object.defineProperty(n,"adoptedStyleSheets",{configurable:i.configurable,enumerable:i.enumerable,get(){var u;return(u=i.get)==null?void 0:u.call(this)},set(u){var l;const d=(l=i.set)==null?void 0:l.call(this,u);if(r!==null&&r!==-1)try{t.adoptStyleSheets(u,r)}catch{}return d}}),Q(()=>{Object.defineProperty(n,"adoptedStyleSheets",{configurable:i.configurable,enumerable:i.enumerable,get:i.get,set:i.set})}))}function gb({styleDeclarationCb:e,mirror:t,ignoreCSSAttributes:n,stylesheetManager:r},{win:s}){const i=s.CSSStyleDeclaration.prototype.setProperty;s.CSSStyleDeclaration.prototype.setProperty=new Proxy(i,{apply:Q((c,a,u)=>{var m;const[d,l,f]=u;if(n.has(d))return i.apply(a,[d,l,f]);const{id:p,styleId:h}=gt((m=a.parentRule)==null?void 0:m.parentStyleSheet,t,r.styleMirror);return(p&&p!==-1||h&&h!==-1)&&e({id:p,styleId:h,set:{property:d,value:l,priority:f},index:ns(a.parentRule)}),c.apply(a,u)})});const o=s.CSSStyleDeclaration.prototype.removeProperty;return s.CSSStyleDeclaration.prototype.removeProperty=new Proxy(o,{apply:Q((c,a,u)=>{var p;const[d]=u;if(n.has(d))return o.apply(a,[d]);const{id:l,styleId:f}=gt((p=a.parentRule)==null?void 0:p.parentStyleSheet,t,r.styleMirror);return(l&&l!==-1||f&&f!==-1)&&e({id:l,styleId:f,remove:{property:d},index:ns(a.parentRule)}),c.apply(a,u)})}),Q(()=>{s.CSSStyleDeclaration.prototype.setProperty=i,s.CSSStyleDeclaration.prototype.removeProperty=o})}function yb({mediaInteractionCb:e,blockClass:t,blockSelector:n,unblockSelector:r,mirror:s,sampling:i,doc:o}){const c=Q(u=>qn(Q(d=>{const l=cr(d);if(!l||Fe(l,t,n,r,!0))return;const{currentTime:f,volume:p,muted:h,playbackRate:m}=l;e({type:u,id:s.getId(l),currentTime:f,volume:p,muted:h,playbackRate:m})}),i.media||500)),a=[Ce("play",c(en.Play),o),Ce("pause",c(en.Pause),o),Ce("seeked",c(en.Seeked),o),Ce("volumechange",c(en.VolumeChange),o),Ce("ratechange",c(en.RateChange),o)];return Q(()=>{a.forEach(u=>u())})}function Sb({fontCb:e,doc:t}){const n=t.defaultView;if(!n)return()=>{};const r=[],s=new WeakMap,i=n.FontFace;n.FontFace=function(a,u,d){const l=new i(a,u,d);return s.set(l,{family:a,buffer:typeof u!="string",descriptors:d,fontSource:typeof u=="string"?u:JSON.stringify(Array.from(new Uint8Array(u)))}),l};const o=go(t.fonts,"add",function(c){return function(a){return ys(Q(()=>{const u=s.get(a);u&&(e(u),s.delete(a))}),0),c.apply(this,[a])}});return r.push(()=>{n.FontFace=i}),r.push(o),Q(()=>{r.forEach(c=>c())})}function bb(e){const{doc:t,mirror:n,blockClass:r,blockSelector:s,unblockSelector:i,selectionCb:o}=e;let c=!0;const a=Q(()=>{const u=t.getSelection();if(!u||c&&(u!=null&&u.isCollapsed))return;c=u.isCollapsed||!1;const d=[],l=u.rangeCount||0;for(let f=0;f{}:go(n.customElements,"define",function(s){return function(i,o,c){try{t({define:{name:i}})}catch{}return s.apply(this,[i,o,c])}})}function vb(e,t={}){const n=e.doc.defaultView;if(!n)return()=>{};let r;e.recordDOM&&(r=zl(e,e.doc));const s=db(e),i=fb(e),o=ql(e),c=pb(e,{win:n}),a=mb(e),u=yb(e);let d=()=>{},l=()=>{},f=()=>{},p=()=>{};e.recordDOM&&(d=_b(e,{win:n}),l=jl(e,e.doc),f=gb(e,{win:n}),e.collectFonts&&(p=Sb(e)));const h=bb(e),m=Eb(e),_=[];for(const g of e.plugins)_.push(g.observer(g.callback,n,g.options));return Q(()=>{on.forEach(g=>g.reset()),r==null||r.disconnect(),s(),i(),o(),c(),a(),u(),d(),l(),f(),p(),h(),m(),_.forEach(g=>g())})}function vr(e){return typeof window[e]<"u"}function Tr(e){return!!(typeof window[e]<"u"&&window[e].prototype&&"insertRule"in window[e].prototype&&"deleteRule"in window[e].prototype)}class ki{constructor(t){this.generateIdFn=t,this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap}getId(t,n,r,s){const i=r||this.getIdToRemoteIdMap(t),o=s||this.getRemoteIdToIdMap(t);let c=i.get(n);return c||(c=this.generateIdFn(),i.set(n,c),o.set(c,n)),c}getIds(t,n){const r=this.getIdToRemoteIdMap(t),s=this.getRemoteIdToIdMap(t);return n.map(i=>this.getId(t,i,r,s))}getRemoteId(t,n,r){const s=r||this.getRemoteIdToIdMap(t);if(typeof n!="number")return n;const i=s.get(n);return i||-1}getRemoteIds(t,n){const r=this.getRemoteIdToIdMap(t);return n.map(s=>this.getRemoteId(t,s,r))}reset(t){if(!t){this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap;return}this.iframeIdToRemoteIdMap.delete(t),this.iframeRemoteIdToIdMap.delete(t)}getIdToRemoteIdMap(t){let n=this.iframeIdToRemoteIdMap.get(t);return n||(n=new Map,this.iframeIdToRemoteIdMap.set(t,n)),n}getRemoteIdToIdMap(t){let n=this.iframeRemoteIdToIdMap.get(t);return n||(n=new Map,this.iframeRemoteIdToIdMap.set(t,n)),n}}class Tb{constructor(){this.crossOriginIframeMirror=new ki(_o),this.crossOriginIframeRootIdMap=new WeakMap}addIframe(){}addLoadListener(){}attachIframe(){}}class wb{constructor(t){this.iframes=new WeakMap,this.crossOriginIframeMap=new WeakMap,this.crossOriginIframeMirror=new ki(_o),this.crossOriginIframeRootIdMap=new WeakMap,this.mutationCb=t.mutationCb,this.wrappedEmit=t.wrappedEmit,this.stylesheetManager=t.stylesheetManager,this.recordCrossOriginIframes=t.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new ki(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)),this.mirror=t.mirror,this.recordCrossOriginIframes&&window.addEventListener("message",this.handleMessage.bind(this))}addIframe(t){this.iframes.set(t,!0),t.contentWindow&&this.crossOriginIframeMap.set(t.contentWindow,t)}addLoadListener(t){this.loadListener=t}attachIframe(t,n){var s,i;this.mutationCb({adds:[{parentId:this.mirror.getId(t),nextId:null,node:n}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),this.recordCrossOriginIframes&&((s=t.contentWindow)==null||s.addEventListener("message",this.handleMessage.bind(this))),(i=this.loadListener)==null||i.call(this,t);const r=So(t);r&&r.adoptedStyleSheets&&r.adoptedStyleSheets.length>0&&this.stylesheetManager.adoptStyleSheets(r.adoptedStyleSheets,this.mirror.getId(r))}handleMessage(t){const n=t;if(n.data.type!=="rrweb"||n.origin!==n.data.origin||!t.source)return;const s=this.crossOriginIframeMap.get(t.source);if(!s)return;const i=this.transformCrossOriginEvent(s,n.data.event);i&&this.wrappedEmit(i,n.data.isCheckout)}transformCrossOriginEvent(t,n){var r;switch(n.type){case q.FullSnapshot:{this.crossOriginIframeMirror.reset(t),this.crossOriginIframeStyleMirror.reset(t),this.replaceIdOnNode(n.data.node,t);const s=n.data.node.id;return this.crossOriginIframeRootIdMap.set(t,s),this.patchRootIdOnNode(n.data.node,s),{timestamp:n.timestamp,type:q.IncrementalSnapshot,data:{source:$.Mutation,adds:[{parentId:this.mirror.getId(t),nextId:null,node:n.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}}}case q.Meta:case q.Load:case q.DomContentLoaded:return!1;case q.Plugin:return n;case q.Custom:return this.replaceIds(n.data.payload,t,["id","parentId","previousId","nextId"]),n;case q.IncrementalSnapshot:switch(n.data.source){case $.Mutation:return n.data.adds.forEach(s=>{this.replaceIds(s,t,["parentId","nextId","previousId"]),this.replaceIdOnNode(s.node,t);const i=this.crossOriginIframeRootIdMap.get(t);i&&this.patchRootIdOnNode(s.node,i)}),n.data.removes.forEach(s=>{this.replaceIds(s,t,["parentId","id"])}),n.data.attributes.forEach(s=>{this.replaceIds(s,t,["id"])}),n.data.texts.forEach(s=>{this.replaceIds(s,t,["id"])}),n;case $.Drag:case $.TouchMove:case $.MouseMove:return n.data.positions.forEach(s=>{this.replaceIds(s,t,["id"])}),n;case $.ViewportResize:return!1;case $.MediaInteraction:case $.MouseInteraction:case $.Scroll:case $.CanvasMutation:case $.Input:return this.replaceIds(n.data,t,["id"]),n;case $.StyleSheetRule:case $.StyleDeclaration:return this.replaceIds(n.data,t,["id"]),this.replaceStyleIds(n.data,t,["styleId"]),n;case $.Font:return n;case $.Selection:return n.data.ranges.forEach(s=>{this.replaceIds(s,t,["start","end"])}),n;case $.AdoptedStyleSheet:return this.replaceIds(n.data,t,["id"]),this.replaceStyleIds(n.data,t,["styleIds"]),(r=n.data.styles)==null||r.forEach(s=>{this.replaceStyleIds(s,t,["styleId"])}),n}}return!1}replace(t,n,r,s){for(const i of s)!Array.isArray(n[i])&&typeof n[i]!="number"||(Array.isArray(n[i])?n[i]=t.getIds(r,n[i]):n[i]=t.getId(r,n[i]));return n}replaceIds(t,n,r){return this.replace(this.crossOriginIframeMirror,t,n,r)}replaceStyleIds(t,n,r){return this.replace(this.crossOriginIframeStyleMirror,t,n,r)}replaceIdOnNode(t,n){this.replaceIds(t,n,["id","rootId"]),"childNodes"in t&&t.childNodes.forEach(r=>{this.replaceIdOnNode(r,n)})}patchRootIdOnNode(t,n){t.type!==ge.Document&&!t.rootId&&(t.rootId=n),"childNodes"in t&&t.childNodes.forEach(r=>{this.patchRootIdOnNode(r,n)})}}class Ib{init(){}addShadowRoot(){}observeAttachShadow(){}reset(){}}class kb{constructor(t){this.shadowDoms=new WeakSet,this.restoreHandlers=[],this.mutationCb=t.mutationCb,this.scrollCb=t.scrollCb,this.bypassOptions=t.bypassOptions,this.mirror=t.mirror,this.init()}init(){this.reset(),this.patchAttachShadow(Element,document)}addShadowRoot(t,n){if(!Dn(t)||this.shadowDoms.has(t))return;this.shadowDoms.add(t),this.bypassOptions.canvasManager.addShadowRoot(t);const r=zl({...this.bypassOptions,doc:n,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this},t);this.restoreHandlers.push(()=>r.disconnect()),this.restoreHandlers.push(ql({...this.bypassOptions,scrollCb:this.scrollCb,doc:t,mirror:this.mirror})),ys(()=>{t.adoptedStyleSheets&&t.adoptedStyleSheets.length>0&&this.bypassOptions.stylesheetManager.adoptStyleSheets(t.adoptedStyleSheets,this.mirror.getId(t.host)),this.restoreHandlers.push(jl({mirror:this.mirror,stylesheetManager:this.bypassOptions.stylesheetManager},t))},0)}observeAttachShadow(t){const n=So(t),r=ib(t);!n||!r||this.patchAttachShadow(r.Element,n)}patchAttachShadow(t,n){const r=this;this.restoreHandlers.push(go(t.prototype,"attachShadow",function(s){return function(i){const o=s.call(this,i);return this.shadowRoot&&Ul(this)&&r.addShadowRoot(this.shadowRoot,n),o}}))}reset(){this.restoreHandlers.forEach(t=>{try{t()}catch{}}),this.restoreHandlers=[],this.shadowDoms=new WeakSet,this.bypassOptions.canvasManager.resetShadowRoots()}}var ic="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Cb=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(var wr=0;wr({rule:wl(c),index:a}))})),r.styleIds.push(o)}s.length>0&&(r.styles=s),this.adoptedStyleSheetCb(r)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(t){}}class xb{constructor(){this.nodeMap=new WeakMap,this.active=!1}inOtherBuffer(t,n){const r=this.nodeMap.get(t);return r&&Array.from(r).some(s=>s!==n)}add(t,n){this.active||(this.active=!0,rb(()=>{this.nodeMap=new WeakMap,this.active=!1})),this.nodeMap.set(t,(this.nodeMap.get(t)||new Set).add(n))}destroy(){}}let pe,rs;var Cc;try{if(Array.from([1],e=>e*2)[0]!==2){const e=document.createElement("iframe");document.body.appendChild(e),Array.from=((Cc=e.contentWindow)==null?void 0:Cc.Array.from)||Array.from,document.body.removeChild(e)}}catch(e){console.debug("Unable to override Array.from",e)}const Ke=CS();function ot(e={}){const{emit:t,checkoutEveryNms:n,checkoutEveryNth:r,blockClass:s="rr-block",blockSelector:i=null,unblockSelector:o=null,ignoreClass:c="rr-ignore",ignoreSelector:a=null,maskAllText:u=!1,maskTextClass:d="rr-mask",unmaskTextClass:l=null,maskTextSelector:f=null,unmaskTextSelector:p=null,inlineStylesheet:h=!0,maskAllInputs:m,maskInputOptions:_,slimDOMOptions:g,maskAttributeFn:S,maskInputFn:N,maskTextFn:R,maxCanvasSize:U=null,packFn:A,sampling:y={},dataURLOptions:I={},mousemoveWait:P,recordDOM:v=!0,recordCanvas:k=!1,recordCrossOriginIframes:w=!1,recordAfter:C=e.recordAfter==="DOMContentLoaded"?e.recordAfter:"load",userTriggeredOnInput:M=!1,collectFonts:J=!1,inlineImages:Y=!1,plugins:Z,keepIframeSrcFn:E=()=>!1,ignoreCSSAttributes:F=new Set([]),errorHandler:T,onMutation:H,getCanvasManager:ne}=e;ub(T);const te=w?window.parent===window:!0;let me=!1;if(!te)try{window.parent.document&&(me=!1)}catch{me=!0}if(te&&!t)throw new Error("emit function is required");if(!te&&!me)return()=>{};P!==void 0&&y.mousemove===void 0&&(y.mousemove=P),Ke.reset();const we=m===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,radio:!0,checkbox:!0}:_!==void 0?_:{},ht=g===!0||g==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:g==="all",headMetaDescKeywords:g==="all"}:g||{};QS();let be,Ee=0;const Ve=B=>{for(const Ie of Z||[])Ie.eventProcessor&&(B=Ie.eventProcessor(B));return A&&!me&&(B=A(B)),B};pe=(B,Ie)=>{var Me;const W=B;if(W.timestamp=ts(),(Me=on[0])!=null&&Me.isFrozen()&&W.type!==q.FullSnapshot&&!(W.type===q.IncrementalSnapshot&&W.data.source===$.Mutation)&&on.forEach(He=>He.unfreeze()),te)t==null||t(Ve(W),Ie);else if(me){const He={type:"rrweb",event:Ve(W),origin:window.location.origin,isCheckout:Ie};window.parent.postMessage(He,"*")}if(W.type===q.FullSnapshot)be=W,Ee=0;else if(W.type===q.IncrementalSnapshot){if(W.data.source===$.Mutation&&W.data.isAttachIframe)return;Ee++;const He=r&&Ee>=r,re=n&&be&&W.timestamp-be.timestamp>n;(He||re)&&le(!0)}};const Ge=B=>{pe({type:q.IncrementalSnapshot,data:{source:$.Mutation,...B}})},Rn=B=>pe({type:q.IncrementalSnapshot,data:{source:$.Scroll,...B}}),lr=B=>pe({type:q.IncrementalSnapshot,data:{source:$.CanvasMutation,...B}}),dr=B=>pe({type:q.IncrementalSnapshot,data:{source:$.AdoptedStyleSheet,...B}}),Ye=new Rb({mutationCb:Ge,adoptedStyleSheetCb:dr}),G=typeof __RRWEB_EXCLUDE_IFRAME__=="boolean"&&__RRWEB_EXCLUDE_IFRAME__?new Tb:new wb({mirror:Ke,mutationCb:Ge,stylesheetManager:Ye,recordCrossOriginIframes:w,wrappedEmit:pe});for(const B of Z||[])B.getMirror&&B.getMirror({nodeMirror:Ke,crossOriginIframeMirror:G.crossOriginIframeMirror,crossOriginIframeStyleMirror:G.crossOriginIframeStyleMirror});const ue=new xb,xe=Ab(ne,{mirror:Ke,win:window,mutationCb:B=>pe({type:q.IncrementalSnapshot,data:{source:$.CanvasMutation,...B}}),recordCanvas:k,blockClass:s,blockSelector:i,unblockSelector:o,maxCanvasSize:U,sampling:y.canvas,dataURLOptions:I,errorHandler:T}),Se=typeof __RRWEB_EXCLUDE_SHADOW_DOM__=="boolean"&&__RRWEB_EXCLUDE_SHADOW_DOM__?new Ib:new kb({mutationCb:Ge,scrollCb:Rn,bypassOptions:{onMutation:H,blockClass:s,blockSelector:i,unblockSelector:o,maskAllText:u,maskTextClass:d,unmaskTextClass:l,maskTextSelector:f,unmaskTextSelector:p,inlineStylesheet:h,maskInputOptions:we,dataURLOptions:I,maskAttributeFn:S,maskTextFn:R,maskInputFn:N,recordCanvas:k,inlineImages:Y,sampling:y,slimDOMOptions:ht,iframeManager:G,stylesheetManager:Ye,canvasManager:xe,keepIframeSrcFn:E,processedNodeManager:ue,ignoreCSSAttributes:F},mirror:Ke}),le=(B=!1)=>{if(!v)return;pe({type:q.Meta,data:{href:window.location.href,width:Ol(),height:Dl()}},B),Ye.reset(),Se.init(),on.forEach(W=>W.lock());const Ie=JS(document,{mirror:Ke,blockClass:s,blockSelector:i,unblockSelector:o,maskAllText:u,maskTextClass:d,unmaskTextClass:l,maskTextSelector:f,unmaskTextSelector:p,inlineStylesheet:h,maskAllInputs:we,maskAttributeFn:S,maskInputFn:N,maskTextFn:R,slimDOM:ht,dataURLOptions:I,recordCanvas:k,inlineImages:Y,onSerialize:W=>{$l(W,Ke)&&G.addIframe(W),Bl(W,Ke)&&Ye.trackLinkElement(W),wi(W)&&Se.addShadowRoot(W.shadowRoot,document)},onIframeLoad:(W,Me)=>{G.attachIframe(W,Me),W.contentWindow&&xe.addWindow(W.contentWindow),Se.observeAttachShadow(W)},onStylesheetLoad:(W,Me)=>{Ye.attachLinkElement(W,Me)},onBlockedImageLoad:(W,Me,{width:He,height:re})=>{Ge({adds:[],removes:[],texts:[],attributes:[{id:Me.id,attributes:{style:{width:`${He}px`,height:`${re}px`}}}]})},keepIframeSrcFn:E,ignoreCSSAttributes:F});if(!Ie)return console.warn("Failed to snapshot the document");pe({type:q.FullSnapshot,data:{node:Ie,initialOffset:Ll(window)}}),on.forEach(W=>W.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&Ye.adoptStyleSheets(document.adoptedStyleSheets,Ke.getId(document))};rs=le;try{const B=[],Ie=Me=>{var He;return Q(vb)({onMutation:H,mutationCb:Ge,mousemoveCb:(re,vs)=>pe({type:q.IncrementalSnapshot,data:{source:vs,positions:re}}),mouseInteractionCb:re=>pe({type:q.IncrementalSnapshot,data:{source:$.MouseInteraction,...re}}),scrollCb:Rn,viewportResizeCb:re=>pe({type:q.IncrementalSnapshot,data:{source:$.ViewportResize,...re}}),inputCb:re=>pe({type:q.IncrementalSnapshot,data:{source:$.Input,...re}}),mediaInteractionCb:re=>pe({type:q.IncrementalSnapshot,data:{source:$.MediaInteraction,...re}}),styleSheetRuleCb:re=>pe({type:q.IncrementalSnapshot,data:{source:$.StyleSheetRule,...re}}),styleDeclarationCb:re=>pe({type:q.IncrementalSnapshot,data:{source:$.StyleDeclaration,...re}}),canvasMutationCb:lr,fontCb:re=>pe({type:q.IncrementalSnapshot,data:{source:$.Font,...re}}),selectionCb:re=>{pe({type:q.IncrementalSnapshot,data:{source:$.Selection,...re}})},customElementCb:re=>{pe({type:q.IncrementalSnapshot,data:{source:$.CustomElement,...re}})},blockClass:s,ignoreClass:c,ignoreSelector:a,maskAllText:u,maskTextClass:d,unmaskTextClass:l,maskTextSelector:f,unmaskTextSelector:p,maskInputOptions:we,inlineStylesheet:h,sampling:y,recordDOM:v,recordCanvas:k,inlineImages:Y,userTriggeredOnInput:M,collectFonts:J,doc:Me,maskAttributeFn:S,maskInputFn:N,maskTextFn:R,keepIframeSrcFn:E,blockSelector:i,unblockSelector:o,slimDOMOptions:ht,dataURLOptions:I,mirror:Ke,iframeManager:G,stylesheetManager:Ye,shadowDomManager:Se,processedNodeManager:ue,canvasManager:xe,ignoreCSSAttributes:F,plugins:((He=Z==null?void 0:Z.filter(re=>re.observer))==null?void 0:He.map(re=>({observer:re.observer,options:re.options,callback:vs=>pe({type:q.Plugin,data:{plugin:re.name,payload:vs}})})))||[]},{})};G.addLoadListener(Me=>{try{B.push(Ie(Me.contentDocument))}catch(He){console.warn(He)}});const W=()=>{le(),B.push(Ie(document))};return document.readyState==="interactive"||document.readyState==="complete"?W():(B.push(Ce("DOMContentLoaded",()=>{pe({type:q.DomContentLoaded,data:{}}),C==="DOMContentLoaded"&&W()})),B.push(Ce("load",()=>{pe({type:q.Load,data:{}}),C==="load"&&W()},window))),()=>{B.forEach(Me=>Me()),ue.destroy(),rs=void 0,lb()}}catch(B){console.warn(B)}}function Mb(e){if(!rs)throw new Error("please take full snapshot after start recording");rs(e)}ot.mirror=Ke;ot.takeFullSnapshot=Mb;function Ab(e,t){try{return e?e(t):new oc}catch{return console.warn("Unable to initialize CanvasManager"),new oc}}var ac;(function(e){e[e.NotStarted=0]="NotStarted",e[e.Running=1]="Running",e[e.Stopped=2]="Stopped"})(ac||(ac={}));const Nb=3,Lb=5;function bo(e){return e>9999999999?e:e*1e3}function zs(e){return e>9999999999?e/1e3:e}function ur(e,t){t.category!=="sentry.transaction"&&(["ui.click","ui.input"].includes(t.category)?e.triggerUserActivity():e.checkAndHandleExpiredSession(),e.addUpdate(()=>(e.throttledAddEvent({type:q.Custom,timestamp:(t.timestamp||0)*1e3,data:{tag:"breadcrumb",payload:Xe(t,10,1e3)}}),t.category==="console")))}const Db="button,a";function Vl(e){return e.closest(Db)||e}function Gl(e){const t=Yl(e);return!t||!(t instanceof Element)?t:Vl(t)}function Yl(e){return Ob(e)?e.target:e}function Ob(e){return typeof e=="object"&&!!e&&"target"in e}let yt;function Pb(e){return yt||(yt=[],Fb()),yt.push(e),()=>{const t=yt?yt.indexOf(e):-1;t>-1&&yt.splice(t,1)}}function Fb(){Ne(ce,"open",function(e){return function(...t){if(yt)try{yt.forEach(n=>n())}catch{}return e.apply(ce,t)}})}const $b=new Set([$.Mutation,$.StyleSheetRule,$.StyleDeclaration,$.AdoptedStyleSheet,$.CanvasMutation,$.Selection,$.MediaInteraction]);function Bb(e,t,n){e.handleClick(t,n)}class Hb{constructor(t,n,r=ur){this._lastMutation=0,this._lastScroll=0,this._clicks=[],this._timeout=n.timeout/1e3,this._threshold=n.threshold/1e3,this._scrollTimeout=n.scrollTimeout/1e3,this._replay=t,this._ignoreSelector=n.ignoreSelector,this._addBreadcrumbEvent=r}addListeners(){const t=Pb(()=>{this._lastMutation=cc()});this._teardown=()=>{t(),this._clicks=[],this._lastMutation=0,this._lastScroll=0}}removeListeners(){this._teardown&&this._teardown(),this._checkClickTimeout&&clearTimeout(this._checkClickTimeout)}handleClick(t,n){if(Wb(n,this._ignoreSelector)||!zb(t))return;const r={timestamp:zs(t.timestamp),clickBreadcrumb:t,clickCount:0,node:n};this._clicks.some(s=>s.node===r.node&&Math.abs(s.timestamp-r.timestamp)<1)||(this._clicks.push(r),this._clicks.length===1&&this._scheduleCheckClicks())}registerMutation(t=Date.now()){this._lastMutation=zs(t)}registerScroll(t=Date.now()){this._lastScroll=zs(t)}registerClick(t){const n=Vl(t);this._handleMultiClick(n)}_handleMultiClick(t){this._getClicks(t).forEach(n=>{n.clickCount++})}_getClicks(t){return this._clicks.filter(n=>n.node===t)}_checkClicks(){const t=[],n=cc();this._clicks.forEach(r=>{!r.mutationAfter&&this._lastMutation&&(r.mutationAfter=r.timestamp<=this._lastMutation?this._lastMutation-r.timestamp:void 0),!r.scrollAfter&&this._lastScroll&&(r.scrollAfter=r.timestamp<=this._lastScroll?this._lastScroll-r.timestamp:void 0),r.timestamp+this._timeout<=n&&t.push(r)});for(const r of t){const s=this._clicks.indexOf(r);s>-1&&(this._generateBreadcrumbs(r),this._clicks.splice(s,1))}this._clicks.length&&this._scheduleCheckClicks()}_generateBreadcrumbs(t){const n=this._replay,r=t.scrollAfter&&t.scrollAfter<=this._scrollTimeout,s=t.mutationAfter&&t.mutationAfter<=this._threshold,i=!r&&!s,{clickCount:o,clickBreadcrumb:c}=t;if(i){const a=Math.min(t.mutationAfter||this._timeout,this._timeout)*1e3,u=a1){const a={type:"default",message:c.message,timestamp:c.timestamp,category:"ui.multiClick",data:{...c.data,url:ce.location.href,route:n.getCurrentRoute(),clickCount:o,metric:!0}};this._addBreadcrumbEvent(n,a)}}_scheduleCheckClicks(){this._checkClickTimeout&&clearTimeout(this._checkClickTimeout),this._checkClickTimeout=ar(()=>this._checkClicks(),1e3)}}const Ub=["A","BUTTON","INPUT"];function Wb(e,t){return!!(!Ub.includes(e.tagName)||e.tagName==="INPUT"&&!["submit","button"].includes(e.getAttribute("type")||"")||e.tagName==="A"&&(e.hasAttribute("download")||e.hasAttribute("target")&&e.getAttribute("target")!=="_self")||t&&e.matches(t))}function zb(e){return!!(e.data&&typeof e.data.nodeId=="number"&&e.timestamp)}function cc(){return Date.now()/1e3}function qb(e,t){try{if(!jb(t))return;const{source:n}=t.data;if($b.has(n)&&e.registerMutation(t.timestamp),n===$.Scroll&&e.registerScroll(t.timestamp),Vb(t)){const{type:r,id:s}=t.data,i=ot.mirror.getNode(s);i instanceof HTMLElement&&r===ke.Click&&e.registerClick(i)}}catch{}}function jb(e){return e.type===Nb}function Vb(e){return e.data.source===$.MouseInteraction}function Qe(e){return{timestamp:Date.now()/1e3,type:"default",...e}}var Eo=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(Eo||{});const Gb=new Set(["id","class","aria-label","role","name","alt","title","data-test-id","data-testid","disabled","aria-disabled","data-sentry-component"]);function Yb(e){const t={};!e["data-sentry-component"]&&e["data-sentry-element"]&&(e["data-sentry-component"]=e["data-sentry-element"]);for(const n in e)if(Gb.has(n)){let r=n;(n==="data-testid"||n==="data-test-id")&&(r="testId"),t[r]=e[n]}return t}const Kb=e=>t=>{if(!e.isEnabled())return;const n=Xb(t);if(!n)return;const r=t.name==="click",s=r?t.event:void 0;r&&e.clickDetector&&(s!=null&&s.target)&&!s.altKey&&!s.metaKey&&!s.ctrlKey&&!s.shiftKey&&Bb(e.clickDetector,n,Gl(t.event)),ur(e,n)};function Kl(e,t){const n=ot.mirror.getId(e),r=n&&ot.mirror.getNode(n),s=r&&ot.mirror.getMeta(r),i=s&&Zb(s)?s:null;return{message:t,data:i?{nodeId:n,node:{id:n,tagName:i.tagName,textContent:Array.from(i.childNodes).map(o=>o.type===Eo.Text&&o.textContent).filter(Boolean).map(o=>o.trim()).join(""),attributes:Yb(i.attributes)}}:{}}}function Xb(e){const{target:t,message:n}=Jb(e);return Qe({category:`ui.${e.name}`,...Kl(t,n)})}function Jb(e){const t=e.name==="click";let n,r=null;try{r=t?Gl(e.event):Yl(e.event),n=De(r,{maxStringLength:200})||""}catch{n=""}return{target:r,message:n}}function Zb(e){return e.type===Eo.Element}function Qb(e,t){if(!e.isEnabled())return;e.updateUserActivity();const n=eE(t);n&&ur(e,n)}function eE(e){const{metaKey:t,shiftKey:n,ctrlKey:r,altKey:s,key:i,target:o}=e;if(!o||tE(o)||!i)return null;const c=t||r||s,a=i.length===1;if(!c&&a)return null;const u=De(o,{maxStringLength:200})||"",d=Kl(o,u);return Qe({category:"ui.keyDown",message:u,data:{...d.data,metaKey:t,shiftKey:n,ctrlKey:r,altKey:s,key:i}})}function tE(e){return e.tagName==="INPUT"||e.tagName==="TEXTAREA"||e.isContentEditable}const nE={resource:aE,paint:iE,navigation:oE};function qs(e,t){return({metric:n})=>void t.replayPerformanceEntries.push(e(n))}function rE(e){return e.map(sE).filter(Boolean)}function sE(e){const t=nE[e.entryType];return t?t(e):null}function Sn(e){return((Pe()||ce.performance.timeOrigin)+e)/1e3}function iE(e){const{duration:t,entryType:n,name:r,startTime:s}=e,i=Sn(s);return{type:n,name:r,start:i,end:i+t,data:void 0}}function oE(e){const{entryType:t,name:n,decodedBodySize:r,duration:s,domComplete:i,encodedBodySize:o,domContentLoadedEventStart:c,domContentLoadedEventEnd:a,domInteractive:u,loadEventStart:d,loadEventEnd:l,redirectCount:f,startTime:p,transferSize:h,type:m}=e;return s===0?null:{type:`${t}.${m}`,start:Sn(p),end:Sn(i),name:n,data:{size:h,decodedBodySize:r,encodedBodySize:o,duration:s,domInteractive:u,domContentLoadedEventStart:c,domContentLoadedEventEnd:a,loadEventStart:d,loadEventEnd:l,domComplete:i,redirectCount:f}}}function aE(e){const{entryType:t,initiatorType:n,name:r,responseEnd:s,startTime:i,decodedBodySize:o,encodedBodySize:c,responseStatus:a,transferSize:u}=e;return["fetch","xmlhttprequest"].includes(n)?null:{type:`${t}.${n}`,start:Sn(i),end:Sn(s),name:r,data:{size:u,statusCode:a,decodedBodySize:o,encodedBodySize:c}}}function cE(e){const t=e.entries[e.entries.length-1],n=t!=null&&t.element?[t.element]:void 0;return vo(e,"largest-contentful-paint",n)}function uE(e){return e.sources!==void 0}function lE(e){const t=[],n=[];for(const r of e.entries)if(uE(r)){const s=[];for(const i of r.sources)if(i.node){n.push(i.node);const o=ot.mirror.getId(i.node);o&&s.push(o)}t.push({value:r.value,nodeIds:s.length?s:void 0})}return vo(e,"cumulative-layout-shift",n,t)}function dE(e){const t=e.entries[e.entries.length-1],n=t!=null&&t.target?[t.target]:void 0;return vo(e,"interaction-to-next-paint",n)}function vo(e,t,n,r){const s=e.value,i=e.rating,o=Sn(s);return{type:"web-vital",name:t,start:o,end:o,data:{value:s,size:s,rating:i,nodeIds:n?n.map(c=>ot.mirror.getId(c)):void 0,attributions:r}}}function fE(e){function t(s){e.performanceEntries.includes(s)||e.performanceEntries.push(s)}function n({entries:s}){s.forEach(t)}const r=[];return["navigation","paint","resource"].forEach(s=>{r.push(qt(s,n))}),r.push(uo(qs(cE,e)),co(qs(lE,e)),cl(qs(dE,e))),()=>{r.forEach(s=>s())}}const L=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,pE='var t=Uint8Array,n=Uint16Array,r=Int32Array,e=new t([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),i=new t([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),s=new t([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),a=function(t,e){for(var i=new n(31),s=0;s<31;++s)i[s]=e+=1<>1|(21845&c)<<1;v=(61680&(v=(52428&v)>>2|(13107&v)<<2))>>4|(3855&v)<<4,u[c]=((65280&v)>>8|(255&v)<<8)>>1}var d=function(t,r,e){for(var i=t.length,s=0,a=new n(r);s>f]=l}else for(o=new n(i),s=0;s>15-t[s]);return o},p=new t(288);for(c=0;c<144;++c)p[c]=8;for(c=144;c<256;++c)p[c]=9;for(c=256;c<280;++c)p[c]=7;for(c=280;c<288;++c)p[c]=8;var g=new t(32);for(c=0;c<32;++c)g[c]=5;var w=d(p,9,0),y=d(g,5,0),m=function(t){return(t+7)/8|0},b=function(n,r,e){return(null==e||e>n.length)&&(e=n.length),new t(n.subarray(r,e))},M=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],E=function(t,n,r){var e=new Error(n||M[t]);if(e.code=t,Error.captureStackTrace&&Error.captureStackTrace(e,E),!r)throw e;return e},z=function(t,n,r){r<<=7&n;var e=n/8|0;t[e]|=r,t[e+1]|=r>>8},_=function(t,n,r){r<<=7&n;var e=n/8|0;t[e]|=r,t[e+1]|=r>>8,t[e+2]|=r>>16},x=function(r,e){for(var i=[],s=0;sd&&(d=o[s].s);var p=new n(d+1),g=A(i[c-1],p,0);if(g>e){s=0;var w=0,y=g-e,m=1<e))break;w+=m-(1<>=y;w>0;){var M=o[s].s;p[M]=0&&w;--s){var E=o[s].s;p[E]==e&&(--p[E],++w)}g=e}return{t:new t(p),l:g}},A=function(t,n,r){return-1==t.s?Math.max(A(t.l,n,r+1),A(t.r,n,r+1)):n[t.s]=r},D=function(t){for(var r=t.length;r&&!t[--r];);for(var e=new n(++r),i=0,s=t[0],a=1,o=function(t){e[i++]=t},h=1;h<=r;++h)if(t[h]==s&&h!=r)++a;else{if(!s&&a>2){for(;a>138;a-=138)o(32754);a>2&&(o(a>10?a-11<<5|28690:a-3<<5|12305),a=0)}else if(a>3){for(o(s),--a;a>6;a-=6)o(8304);a>2&&(o(a-3<<5|8208),a=0)}for(;a--;)o(s);a=1,s=t[h]}return{c:e.subarray(0,i),n:r}},T=function(t,n){for(var r=0,e=0;e>8,t[i+2]=255^t[i],t[i+3]=255^t[i+1];for(var s=0;s4&&!H[s[K-1]];--K);var N,P,Q,R,V=v+5<<3,W=T(h,p)+T(f,g)+l,X=T(h,M)+T(f,U)+l+14+3*K+T(q,H)+2*q[16]+3*q[17]+7*q[18];if(c>=0&&V<=W&&V<=X)return k(r,m,t.subarray(c,c+v));if(z(r,m,1+(X15&&(z(r,m,tt[B]>>5&127),m+=tt[B]>>12)}}}else N=w,P=p,Q=y,R=g;for(B=0;B255){_(r,m,N[(nt=rt>>18&31)+257]),m+=P[nt+257],nt>7&&(z(r,m,rt>>23&31),m+=e[nt]);var et=31&rt;_(r,m,Q[et]),m+=R[et],et>3&&(_(r,m,rt>>5&8191),m+=i[et])}else _(r,m,N[rt]),m+=P[rt]}return _(r,m,N[256]),m+P[256]},C=new r([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),F=new t(0),I=function(){for(var t=new Int32Array(256),n=0;n<256;++n){for(var r=n,e=9;--e;)r=(1&r&&-306674912)^r>>>1;t[n]=r}return t}(),S=function(){var t=1,n=0;return{p:function(r){for(var e=t,i=n,s=0|r.length,a=0;a!=s;){for(var o=Math.min(a+2655,s);a>16),i=(65535&i)+15*(i>>16)}t=e,n=i},d:function(){return(255&(t%=65521))<<24|(65280&t)<<8|(255&(n%=65521))<<8|n>>8}}},L=function(s,a,o,h,u){if(!u&&(u={l:1},a.dictionary)){var c=a.dictionary.subarray(-32768),v=new t(c.length+s.length);v.set(c),v.set(s,c.length),s=v,u.w=c.length}return function(s,a,o,h,u,c){var v=c.z||s.length,d=new t(h+v+5*(1+Math.ceil(v/7e3))+u),p=d.subarray(h,d.length-u),g=c.l,w=7&(c.r||0);if(a){w&&(p[0]=c.r>>3);for(var y=C[a-1],M=y>>13,E=8191&y,z=(1<7e3||q>24576)&&(N>423||!g)){w=U(s,p,0,F,I,S,O,q,G,j-G,w),q=L=O=0,G=j;for(var P=0;P<286;++P)I[P]=0;for(P=0;P<30;++P)S[P]=0}var Q=2,R=0,V=E,W=J-K&32767;if(N>2&&H==T(j-W))for(var X=Math.min(M,N)-1,Y=Math.min(32767,j),Z=Math.min(258,N);W<=Y&&--V&&J!=K;){if(s[j+Q]==s[j+Q-W]){for(var $=0;$Q){if(Q=$,R=W,$>X)break;var tt=Math.min(W,$-2),nt=0;for(P=0;Pnt&&(nt=et,K=rt)}}}W+=(J=K)-(K=_[J])&32767}if(R){F[q++]=268435456|f[Q]<<18|l[R];var it=31&f[Q],st=31&l[R];O+=e[it]+i[st],++I[257+it],++S[st],B=j+Q,++L}else F[q++]=s[j],++I[s[j]]}}for(j=Math.max(j,B);j=v&&(p[w/8|0]=g,at=v),w=k(p,w+1,s.subarray(j,at))}c.i=v}return b(d,0,h+m(w)+u)}(s,null==a.level?6:a.level,null==a.mem?u.l?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(s.length)))):20:12+a.mem,o,h,u)},O=function(t,n,r){for(;r;++n)t[n]=r,r>>>=8},j=function(){function n(n,r){if("function"==typeof n&&(r=n,n={}),this.ondata=r,this.o=n||{},this.s={l:0,i:32768,w:32768,z:32768},this.b=new t(98304),this.o.dictionary){var e=this.o.dictionary.subarray(-32768);this.b.set(e,32768-e.length),this.s.i=32768-e.length}}return n.prototype.p=function(t,n){this.ondata(L(t,this.o,0,0,this.s),n)},n.prototype.push=function(n,r){this.ondata||E(5),this.s.l&&E(4);var e=n.length+this.s.z;if(e>this.b.length){if(e>2*this.b.length-32768){var i=new t(-32768&e);i.set(this.b.subarray(0,this.s.z)),this.b=i}var s=this.b.length-this.s.z;this.b.set(n.subarray(0,s),this.s.z),this.s.z=this.b.length,this.p(this.b,!1),this.b.set(this.b.subarray(-32768)),this.b.set(n.subarray(s),32768),this.s.z=n.length-s+32768,this.s.i=32766,this.s.w=32768}else this.b.set(n,this.s.z),this.s.z+=n.length;this.s.l=1&r,(this.s.z>this.s.w+8191||r)&&(this.p(this.b,r||!1),this.s.w=this.s.i,this.s.i-=2)},n.prototype.flush=function(){this.ondata||E(5),this.s.l&&E(4),this.p(this.b,!1),this.s.w=this.s.i,this.s.i-=2},n}();function q(t,n){n||(n={});var r=function(){var t=-1;return{p:function(n){for(var r=t,e=0;e>>8;t=r},d:function(){return~t}}}(),e=t.length;r.p(t);var i,s=L(t,n,10+((i=n).filename?i.filename.length+1:0),8),a=s.length;return function(t,n){var r=n.filename;if(t[0]=31,t[1]=139,t[2]=8,t[8]=n.level<2?4:9==n.level?2:0,t[9]=3,0!=n.mtime&&O(t,4,Math.floor(new Date(n.mtime||Date.now())/1e3)),r){t[3]=8;for(var e=0;e<=r.length;++e)t[e+10]=r.charCodeAt(e)}}(s,n),O(s,a-8,r.d()),O(s,a-4,e),s}var B=function(){function t(t,n){this.c=S(),this.v=1,j.call(this,t,n)}return t.prototype.push=function(t,n){this.c.p(t),j.prototype.push.call(this,t,n)},t.prototype.p=function(t,n){var r=L(t,this.o,this.v&&(this.o.dictionary?6:2),n&&4,this.s);this.v&&(function(t,n){var r=n.level,e=0==r?0:r<6?1:9==r?3:2;if(t[0]=120,t[1]=e<<6|(n.dictionary&&32),t[1]|=31-(t[0]<<8|t[1])%31,n.dictionary){var i=S();i.p(n.dictionary),O(t,2,i.d())}}(r,this.o),this.v=0),n&&O(r,r.length-4,this.c.d()),this.ondata(r,n)},t.prototype.flush=function(){j.prototype.flush.call(this)},t}(),G="undefined"!=typeof TextEncoder&&new TextEncoder,H="undefined"!=typeof TextDecoder&&new TextDecoder;try{H.decode(F,{stream:!0})}catch(t){}var J=function(){function t(t){this.ondata=t}return t.prototype.push=function(t,n){this.ondata||E(5),this.d&&E(4),this.ondata(K(t),this.d=n||!1)},t}();function K(n,r){if(G)return G.encode(n);for(var e=n.length,i=new t(n.length+(n.length>>1)),s=0,a=function(t){i[s++]=t},o=0;oi.length){var h=new t(s+8+(e-o<<1));h.set(i),i=h}var f=n.charCodeAt(o);f<128||r?a(f):f<2048?(a(192|f>>6),a(128|63&f)):f>55295&&f<57344?(a(240|(f=65536+(1047552&f)|1023&n.charCodeAt(++o))>>18),a(128|f>>12&63),a(128|f>>6&63),a(128|63&f)):(a(224|f>>12),a(128|f>>6&63),a(128|63&f))}return b(i,0,s)}const N=new class{constructor(){this._init()}clear(){this._init()}addEvent(t){if(!t)throw new Error("Adding invalid event");const n=this._hasEvents?",":"";this.stream.push(n+t),this._hasEvents=!0}finish(){this.stream.push("]",!0);const t=function(t){let n=0;for(const r of t)n+=r.length;const r=new Uint8Array(n);for(let n=0,e=0,i=t.length;n{this._deflatedData.push(t)},this.stream=new J((t,n)=>{this.deflate.push(t,n)}),this.stream.push("[")}},P={clear:()=>{N.clear()},addEvent:t=>N.addEvent(t),finish:()=>N.finish(),compress:t=>function(t){return q(K(t))}(t)};addEventListener("message",function(t){const n=t.data.method,r=t.data.id,e=t.data.arg;if(n in P&&"function"==typeof P[n])try{const t=P[n](e);postMessage({id:r,method:n,success:!0,response:t})}catch(t){postMessage({id:r,method:n,success:!1,response:t.message}),console.error(t)}}),postMessage({id:void 0,method:"init",success:!0,response:void 0});';function hE(){const e=new Blob([pE]);return URL.createObjectURL(e)}const uc=["log","warn","error"],Hr="[Replay] ";function js(e,t="info"){kt({category:"console",data:{logger:"replay"},level:t,message:`${Hr}${e}`},{level:t})}function mE(){let e=!1,t=!1;const n={exception:()=>{},infoTick:()=>{},setConfig:r=>{e=!!r.captureExceptions,t=!!r.traceInternals}};return L?(uc.forEach(r=>{n[r]=(...s)=>{b[r](Hr,...s),t&&js(s.join(""),Lu(r))}}),n.exception=(r,...s)=>{s.length&&n.error&&n.error(...s),b.error(Hr,r),e?ds(r,{mechanism:{handled:!0,type:"auto.function.replay.debug"}}):t&&js(r,"error")},n.infoTick=(...r)=>{b.log(Hr,...r),t&&setTimeout(()=>js(r[0]),0)}):uc.forEach(r=>{n[r]=()=>{}}),n}const D=mE();class To extends Error{constructor(){super(`Event buffer exceeded maximum size of ${ho}.`)}}class Xl{constructor(){this.events=[],this._totalSize=0,this.hasCheckout=!1,this.waitForCheckout=!1}get hasEvents(){return this.events.length>0}get type(){return"sync"}destroy(){this.events=[]}async addEvent(t){const n=JSON.stringify(t).length;if(this._totalSize+=n,this._totalSize>ho)throw new To;this.events.push(t)}finish(){return new Promise(t=>{const n=this.events;this.clear(),t(JSON.stringify(n))})}clear(){this.events=[],this._totalSize=0,this.hasCheckout=!1}getEarliestTimestamp(){const t=this.events.map(n=>n.timestamp).sort()[0];return t?bo(t):null}}class _E{constructor(t){this._worker=t,this._id=0}ensureReady(){return this._ensureReadyPromise?this._ensureReadyPromise:(this._ensureReadyPromise=new Promise((t,n)=>{this._worker.addEventListener("message",({data:r})=>{r.success?t():(L&&D.warn("Received worker message with unsuccessful status",r),n(new Error("Received worker message with unsuccessful status")))},{once:!0}),this._worker.addEventListener("error",r=>{L&&D.warn("Failed to load Replay compression worker",r),n(new Error(`Failed to load Replay compression worker: ${r instanceof ErrorEvent&&r.message?r.message:"Unknown error. This can happen due to CSP policy restrictions, network issues, or the worker script failing to load."}`))},{once:!0})}),this._ensureReadyPromise)}destroy(){L&&D.log("Destroying compression worker"),this._worker.terminate()}postMessage(t,n){const r=this._getAndIncrementId();return new Promise((s,i)=>{const o=({data:c})=>{const a=c;if(a.method===t&&a.id===r){if(this._worker.removeEventListener("message",o),!a.success){L&&D.error("Error in compression worker: ",a.response),i(new Error("Error in compression worker"));return}s(a.response)}};this._worker.addEventListener("message",o),this._worker.postMessage({id:r,method:t,arg:n})})}_getAndIncrementId(){return this._id++}}class gE{constructor(t){this._worker=new _E(t),this._earliestTimestamp=null,this._totalSize=0,this.hasCheckout=!1,this.waitForCheckout=!1}get hasEvents(){return!!this._earliestTimestamp}get type(){return"worker"}ensureReady(){return this._worker.ensureReady()}destroy(){this._worker.destroy()}addEvent(t){const n=bo(t.timestamp);(!this._earliestTimestamp||nho?Promise.reject(new To):this._sendEventToWorker(r)}finish(){return this._finishRequest()}clear(){this._earliestTimestamp=null,this._totalSize=0,this.hasCheckout=!1,this._worker.postMessage("clear").then(null,t=>{L&&D.exception(t,'Sending "clear" message to worker failed',t)})}getEarliestTimestamp(){return this._earliestTimestamp}_sendEventToWorker(t){return this._worker.postMessage("addEvent",t)}async _finishRequest(){const t=await this._worker.postMessage("finish");return this._earliestTimestamp=null,this._totalSize=0,t}}class yE{constructor(t){this._fallback=new Xl,this._compression=new gE(t),this._used=this._fallback,this._ensureWorkerIsLoadedPromise=this._ensureWorkerIsLoaded()}get waitForCheckout(){return this._used.waitForCheckout}get type(){return this._used.type}get hasEvents(){return this._used.hasEvents}get hasCheckout(){return this._used.hasCheckout}set hasCheckout(t){this._used.hasCheckout=t}set waitForCheckout(t){this._used.waitForCheckout=t}destroy(){this._fallback.destroy(),this._compression.destroy()}clear(){return this._used.clear()}getEarliestTimestamp(){return this._used.getEarliestTimestamp()}addEvent(t){return this._used.addEvent(t)}async finish(){return await this.ensureWorkerIsLoaded(),this._used.finish()}ensureWorkerIsLoaded(){return this._ensureWorkerIsLoadedPromise}async _ensureWorkerIsLoaded(){try{await this._compression.ensureReady()}catch(t){L&&D.exception(t,"Failed to load the compression worker, falling back to simple buffer");return}await this._switchToCompressionWorker()}async _switchToCompressionWorker(){const{events:t,hasCheckout:n,waitForCheckout:r}=this._fallback,s=[];for(const i of t)s.push(this._compression.addEvent(i));this._compression.hasCheckout=n,this._compression.waitForCheckout=r,this._used=this._compression;try{await Promise.all(s),this._fallback.clear()}catch(i){L&&D.exception(i,"Failed to add events when switching buffers.")}}}function SE({useCompression:e,workerUrl:t}){if(e&&window.Worker){const n=bE(t);if(n)return n}return L&&D.log("Using simple buffer"),new Xl}function bE(e){try{const t=e||EE();if(!t)return;L&&D.log(`Using compression worker${e?` from ${e}`:""}`);const n=new Worker(t);return new yE(n)}catch(t){L&&D.exception(t,"Failed to create compression worker")}}function EE(){return typeof __SENTRY_EXCLUDE_REPLAY_WORKER__>"u"||!__SENTRY_EXCLUDE_REPLAY_WORKER__?hE():""}function wo(){try{return"sessionStorage"in ce&&!!ce.sessionStorage}catch{return!1}}function vE(e){TE(),e.session=void 0}function TE(){if(wo())try{ce.sessionStorage.removeItem(fo)}catch{}}function Jl(e){return e===void 0?!1:Math.random()e.getContext().initialTimestamp+e.getOptions().maxReplayDuration?(L&&D.infoTick(`Skipping event with timestamp ${n} because it is after maxReplayDuration`),!1):!0}function RE(e,t){try{if(typeof t=="function"&&kE(e))return t(e)}catch(n){return L&&D.exception(n,"An error occurred in the `beforeAddRecordingEvent` callback, skipping the event..."),null}return e}function ko(e){return!e.type}function Ri(e){return e.type==="transaction"}function xE(e){return e.type==="replay_event"}function dc(e){return e.type==="feedback"}function ME(e){return(t,n)=>{if(!e.isEnabled()||!ko(t)&&!Ri(t))return;const r=n.statusCode;if(!(!r||r<200||r>=300)){if(Ri(t)){AE(e,t);return}NE(e,t)}}}function AE(e,t){var r,s;const n=e.getContext();(s=(r=t.contexts)==null?void 0:r.trace)!=null&&s.trace_id&&n.traceIds.size<100&&n.traceIds.add(t.contexts.trace.trace_id)}function NE(e,t){const n=e.getContext();if(t.event_id&&n.errorIds.size<100&&n.errorIds.add(t.event_id),e.recordingMode!=="buffer"||!t.tags||!t.tags.replayId)return;const{beforeErrorSampling:r}=e.getOptions();typeof r=="function"&&!r(t)||ar(async()=>{try{await e.sendBufferedReplayOrFlush()}catch(s){e.handleException(s)}})}function LE(e){return t=>{!e.isEnabled()||!ko(t)||DE(e,t)}}function DE(e,t){var r,s,i;const n=(i=(s=(r=t.exception)==null?void 0:r.values)==null?void 0:s[0])==null?void 0:i.value;if(typeof n=="string"&&(n.match(/(reactjs\.org\/docs\/error-decoder\.html\?invariant=|react\.dev\/errors\/)(418|419|422|423|425)/)||n.match(/(does not match server-rendered HTML|Hydration failed because)/i))){const o=Qe({category:"replay.hydrate-error",data:{url:Vt()}});ur(e,o)}}function OE(e){const t=z();t&&t.on("beforeAddBreadcrumb",n=>PE(e,n))}function PE(e,t){if(!e.isEnabled()||!rd(t))return;const n=FE(t);n&&ur(e,n)}function FE(e){return!rd(e)||["fetch","xhr","sentry.event","sentry.transaction"].includes(e.category)||e.category.startsWith("ui.")?null:e.category==="console"?$E(e):Qe(e)}function $E(e){var s;const t=(s=e.data)==null?void 0:s.arguments;if(!Array.isArray(t)||t.length===0)return Qe(e);let n=!1;const r=t.map(i=>{if(!i)return i;if(typeof i=="string")return i.length>Er?(n=!0,`${i.slice(0,Er)}…`):i;if(typeof i=="object")try{const o=Xe(i,7);return JSON.stringify(o).length>Er?(n=!0,`${JSON.stringify(o,null,2).slice(0,Er)}…`):o}catch{}return i});return Qe({...e,data:{...e.data,arguments:r,...n?{_meta:{warnings:["CONSOLE_ARG_TRUNCATED"]}}:{}}})}function rd(e){return!!e.category}function BE(e,t){var n,r,s;return e.type||!((r=(n=e.exception)==null?void 0:n.values)!=null&&r.length)?!1:!!((s=t.originalException)!=null&&s.__rrweb__)}function sd(){const e=ee().getPropagationContext().dsc;e&&delete e.replay_id;const t=Te();if(t){const n=dt(t);delete n.replay_id}}function HE(e,t){e.triggerUserActivity(),e.addUpdate(()=>t.timestamp?(e.throttledAddEvent({type:q.Custom,timestamp:t.timestamp*1e3,data:{tag:"breadcrumb",payload:{timestamp:t.timestamp,type:"default",category:"sentry.feedback",data:{feedbackId:t.event_id}}}}),!1):!0)}function UE(e,t){return e.recordingMode!=="buffer"||t.message===po||!t.exception||t.type?!1:Jl(e.getOptions().errorSampleRate)}function WE(e){return Object.assign((t,n)=>{var o;if(!e.isEnabled()||e.isPaused())return t;if(xE(t))return delete t.breadcrumbs,t;if(!ko(t)&&!Ri(t)&&!dc(t))return t;if(!e.checkAndHandleExpiredSession())return sd(),t;if(dc(t))return e.flush(),t.contexts.feedback.replay_id=e.getSessionId(),HE(e,t),t;if(BE(t,n)&&!e.getOptions()._experiments.captureExceptions)return L&&D.log("Ignoring error from rrweb internals",t),null;const s=UE(e,t);if((s||e.recordingMode==="session")&&(t.tags={...t.tags,replayId:e.getSessionId()}),s&&e.recordingMode==="buffer"&&((o=e.session)==null?void 0:o.sampled)==="buffer"){const c=e.session;c.dirty=!0,e.getOptions().stickySession&&Ss(c)}return t},{id:"Replay"})}function bs(e,t){return t.map(({type:n,start:r,end:s,name:i,data:o})=>{const c=e.throttledAddEvent({type:q.Custom,timestamp:r,data:{tag:"performanceSpan",payload:{op:n,description:i,startTimestamp:r,endTimestamp:s,data:o}}});return typeof c=="string"?Promise.resolve(null):c})}function zE(e){const{from:t,to:n}=e,r=Date.now()/1e3;return{type:"navigation.push",start:r,end:r,name:n,data:{previous:t}}}function qE(e){return t=>{if(!e.isEnabled())return;const n=zE(t);n!==null&&(e.getContext().urls.push(n.name),e.triggerUserActivity(),e.addUpdate(()=>(bs(e,[n]),!1)))}}function jE(e,t){return L&&e.getOptions()._experiments.traceInternals?!1:fh(t,z())}function id(e,t){e.isEnabled()&&t!==null&&(jE(e,t.name)||e.addUpdate(()=>(bs(e,[t]),!0)))}function Es(e){if(!e)return;const t=new TextEncoder;try{if(typeof e=="string")return t.encode(e).length;if(e instanceof URLSearchParams)return t.encode(e.toString()).length;if(e instanceof FormData){const n=gl(e);return t.encode(n).length}if(e instanceof Blob)return e.size;if(e instanceof ArrayBuffer)return e.byteLength}catch{}}function od(e){if(!e)return;const t=parseInt(e,10);return isNaN(t)?void 0:t}function ss(e,t){if(!e)return{headers:{},size:void 0,_meta:{warnings:[t]}};const n={...e._meta},r=n.warnings||[];return n.warnings=[...r,t],e._meta=n,e}function ad(e,t){if(!t)return null;const{startTimestamp:n,endTimestamp:r,url:s,method:i,statusCode:o,request:c,response:a}=t;return{type:e,start:n/1e3,end:r/1e3,name:s,data:{method:i,statusCode:o,request:c,response:a}}}function jn(e){return{headers:{},size:e,_meta:{warnings:["URL_SKIPPED"]}}}function Tt(e,t,n){if(!t&&Object.keys(e).length===0)return;if(!t)return{headers:e};if(!n)return{headers:e,size:t};const r={headers:e,size:t},{body:s,warnings:i}=VE(n);return r.body=s,i!=null&&i.length&&(r._meta={warnings:i}),r}function xi(e,t){return Object.entries(e).reduce((n,[r,s])=>{const i=r.toLowerCase();return t.includes(i)&&e[r]&&(n[i]=s),n},{})}function VE(e){if(!e||typeof e!="string")return{body:e};const t=e.length>ja,n=GE(e);if(t){const r=e.slice(0,ja);return n?{body:r,warnings:["MAYBE_JSON_TRUNCATED"]}:{body:`${r}…`,warnings:["TEXT_TRUNCATED"]}}if(n)try{return{body:JSON.parse(e)}}catch{}return{body:e}}function GE(e){const t=e[0],n=e[e.length-1];return t==="["&&n==="]"||t==="{"&&n==="}"}function is(e,t){const n=YE(e);return st(n,t)}function YE(e,t=ce.document.baseURI){if(e.startsWith("http://")||e.startsWith("https://")||e.startsWith(ce.location.origin))return e;const n=new URL(e,t);if(n.origin!==new URL(t).origin)return e;const r=n.href;return!e.endsWith("/")&&r.endsWith("/")?r.slice(0,-1):r}async function KE(e,t,n){try{const r=await JE(e,t,n),s=ad("resource.fetch",r);id(n.replay,s)}catch(r){L&&D.exception(r,"Failed to capture fetch breadcrumb")}}function XE(e,t){const{input:n,response:r}=t,s=n?Sl(n):void 0,i=Es(s),o=r?od(r.headers.get("content-length")):void 0;i!==void 0&&(e.data.request_body_size=i),o!==void 0&&(e.data.response_body_size=o)}async function JE(e,t,n){const r=Date.now(),{startTimestamp:s=r,endTimestamp:i=r}=t,{url:o,method:c,status_code:a=0,request_body_size:u,response_body_size:d}=e.data,l=is(o,n.networkDetailAllowUrls)&&!is(o,n.networkDetailDenyUrls),f=l?ZE(n,t.input,u):jn(u),p=await QE(l,n,t.response,d);return{startTimestamp:s,endTimestamp:i,url:o,method:c,statusCode:a,request:f,response:p}}function ZE({networkCaptureBodies:e,networkRequestHeaders:t},n,r){const s=n?nv(n,t):{};if(!e)return Tt(s,r,void 0);const i=Sl(n),[o,c]=yl(i,D),a=Tt(s,r,o);return c?ss(a,c):a}async function QE(e,{networkCaptureBodies:t,networkResponseHeaders:n},r,s){if(!e&&s!==void 0)return jn(s);const i=r?cd(r.headers,n):{};if(!r||!t&&s!==void 0)return Tt(i,s,void 0);const[o,c]=await tv(r),a=ev(o,{networkCaptureBodies:t,responseBodySize:s,captureDetails:e,headers:i});return c?ss(a,c):a}function ev(e,{networkCaptureBodies:t,responseBodySize:n,captureDetails:r,headers:s}){try{const i=e!=null&&e.length&&n===void 0?Es(e):n;return r?t?Tt(s,i,e):Tt(s,i,void 0):jn(i)}catch(i){return L&&D.exception(i,"Failed to serialize response body"),Tt(s,n,void 0)}}async function tv(e){const t=rv(e);if(!t)return[void 0,"BODY_PARSE_ERROR"];try{return[await sv(t)]}catch(n){return n instanceof Error&&n.message.indexOf("Timeout")>-1?(L&&D.warn("Parsing text body from response timed out"),[void 0,"BODY_PARSE_TIMEOUT"]):(L&&D.exception(n,"Failed to get text body from response"),[void 0,"BODY_PARSE_ERROR"])}}function cd(e,t){const n={};return t.forEach(r=>{e.get(r)&&(n[r]=e.get(r))}),n}function nv(e,t){return e.length===1&&typeof e[0]!="string"?fc(e[0],t):e.length===2?fc(e[1],t):{}}function fc(e,t){if(!e)return{};const n=e.headers;return n?n instanceof Headers?cd(n,t):Array.isArray(n)?{}:xi(n,t):{}}function rv(e){try{return e.clone()}catch(t){L&&D.exception(t,"Failed to clone response body")}}function sv(e){return new Promise((t,n)=>{const r=ar(()=>n(new Error("Timeout while trying to read response body")),500);iv(e).then(s=>t(s),s=>n(s)).finally(()=>clearTimeout(r))})}async function iv(e){return await e.text()}async function ov(e,t,n){try{const r=cv(e,t,n),s=ad("resource.xhr",r);id(n.replay,s)}catch(r){L&&D.exception(r,"Failed to capture xhr breadcrumb")}}function av(e,t){const{xhr:n,input:r}=t;if(!n)return;const s=Es(r),i=n.getResponseHeader("content-length")?od(n.getResponseHeader("content-length")):dv(n.response,n.responseType);s!==void 0&&(e.data.request_body_size=s),i!==void 0&&(e.data.response_body_size=i)}function cv(e,t,n){const r=Date.now(),{startTimestamp:s=r,endTimestamp:i=r,input:o,xhr:c}=t,{url:a,method:u,status_code:d=0,request_body_size:l,response_body_size:f}=e.data;if(!a)return null;if(!c||!is(a,n.networkDetailAllowUrls)||is(a,n.networkDetailDenyUrls)){const A=jn(l),y=jn(f);return{startTimestamp:s,endTimestamp:i,url:a,method:u,statusCode:d,request:A,response:y}}const p=c[Ot],h=p?xi(p.request_headers,n.networkRequestHeaders):{},m=xi(bl(c),n.networkResponseHeaders),[_,g]=n.networkCaptureBodies?yl(o,D):[void 0],[S,N]=n.networkCaptureBodies?uv(c):[void 0],R=Tt(h,l,_),U=Tt(m,f,S);return{startTimestamp:s,endTimestamp:i,url:a,method:u,statusCode:d,request:g?ss(R,g):R,response:N?ss(U,N):U}}function uv(e){const t=[];try{return[e.responseText]}catch(n){t.push(n)}try{return lv(e.response,e.responseType)}catch(n){t.push(n)}return L&&D.warn("Failed to get xhr response body",...t),[void 0]}function lv(e,t){try{if(typeof e=="string")return[e];if(e instanceof Document)return[e.body.outerHTML];if(t==="json"&&e&&typeof e=="object")return[JSON.stringify(e)];if(!e)return[void 0]}catch(n){return L&&D.exception(n,"Failed to serialize body",e),[void 0,"BODY_PARSE_ERROR"]}return L&&D.log("Skipping network body because of body type",e),[void 0,"UNPARSEABLE_BODY_TYPE"]}function dv(e,t){try{const n=t==="json"&&e&&typeof e=="object"?JSON.stringify(e):e;return Es(n)}catch{return}}function fv(e){const t=z();try{const{networkDetailAllowUrls:n,networkDetailDenyUrls:r,networkCaptureBodies:s,networkRequestHeaders:i,networkResponseHeaders:o}=e.getOptions(),c={replay:e,networkDetailAllowUrls:n,networkDetailDenyUrls:r,networkCaptureBodies:s,networkRequestHeaders:i,networkResponseHeaders:o};t&&t.on("beforeAddBreadcrumb",(a,u)=>pv(c,a,u))}catch{}}function pv(e,t,n){if(t.data)try{hv(t)&&_v(n)&&(av(t,n),ov(t,n,e)),mv(t)&&gv(n)&&(XE(t,n),KE(t,n,e))}catch(r){L&&D.exception(r,"Error when enriching network breadcrumb")}}function hv(e){return e.category==="xhr"}function mv(e){return e.category==="fetch"}function _v(e){return e==null?void 0:e.xhr}function gv(e){return e==null?void 0:e.response}function yv(e){const t=z();hl(Kb(e)),ms(qE(e)),OE(e),fv(e);const n=WE(e);Np(n),t&&(t.on("beforeSendEvent",LE(e)),t.on("afterSendEvent",ME(e)),t.on("createDsc",r=>{const s=e.getSessionId();s&&e.isEnabled()&&e.recordingMode==="session"&&e.checkAndHandleExpiredSession()&&(r.replay_id=s)}),t.on("spanStart",r=>{e.lastActiveSpan=r}),t.on("spanEnd",r=>{e.lastActiveSpan=r}),t.on("beforeSendFeedback",async(r,s)=>{var o;const i=e.getSessionId();s!=null&&s.includeReplay&&e.isEnabled()&&i&&((o=r.contexts)!=null&&o.feedback)&&(r.contexts.feedback.source==="api"&&await e.sendBufferedReplayOrFlush(),r.contexts.feedback.replay_id=i)}),t.on("openFeedbackWidget",async()=>{await e.sendBufferedReplayOrFlush()}))}async function Sv(e){try{return Promise.all(bs(e,[bv(ce.performance.memory)]))}catch{return[]}}function bv(e){const{jsHeapSizeLimit:t,totalJSHeapSize:n,usedJSHeapSize:r}=e,s=Date.now()/1e3;return{type:"memory",name:"memory",start:s,end:s,data:{memory:{jsHeapSizeLimit:t,totalJSHeapSize:n,usedJSHeapSize:r}}}}function Ev(e,t,n){return yh(e,t,{...n,setTimeoutImpl:ar})}const We=V.navigator;function vv(){return/iPhone|iPad|iPod/i.test((We==null?void 0:We.userAgent)??"")||/Macintosh/i.test((We==null?void 0:We.userAgent)??"")&&(We!=null&&We.maxTouchPoints)&&(We==null?void 0:We.maxTouchPoints)>1?{sampling:{mousemove:!1}}:{}}function Tv(e){let t=!1;return(n,r)=>{if(!e.checkAndHandleExpiredSession()){L&&D.warn("Received replay event after session expired.");return}const s=r||!t;t=!0,e.clickDetector&&qb(e.clickDetector,n),e.addUpdate(()=>{if(e.recordingMode==="buffer"&&s&&e.setInitialState(),!Io(e,n,s))return!0;if(!s)return!1;const i=e.session;if(Iv(e,s),e.recordingMode==="buffer"&&i&&e.eventBuffer&&!i.dirty){const o=e.eventBuffer.getEarliestTimestamp();o&&(L&&D.log(`Updating session start time to earliest event in buffer to ${new Date(o)}`),i.started=o,e.getOptions().stickySession&&Ss(i))}return i!=null&&i.previousSessionId||e.recordingMode==="session"&&e.flush(),!0})}}function wv(e){const t=e.getOptions();return{type:q.Custom,timestamp:Date.now(),data:{tag:"options",payload:{shouldRecordCanvas:e.isRecordingCanvas(),sessionSampleRate:t.sessionSampleRate,errorSampleRate:t.errorSampleRate,useCompressionOption:t.useCompression,blockAllMedia:t.blockAllMedia,maskAllText:t.maskAllText,maskAllInputs:t.maskAllInputs,useCompression:e.eventBuffer?e.eventBuffer.type==="worker":!1,networkDetailHasUrls:t.networkDetailAllowUrls.length>0,networkCaptureBodies:t.networkCaptureBodies,networkRequestHasHeaders:t.networkRequestHeaders.length>0,networkResponseHasHeaders:t.networkResponseHeaders.length>0}}}}function Iv(e,t){!t||!e.session||e.session.segmentId!==0||Io(e,wv(e),!1)}function kv(e){if(!e)return null;try{return e.nodeType===e.ELEMENT_NODE?e:e.parentElement}catch{return null}}function Cv(e,t,n,r){return At(ou(e,zi(e),r,n),[[{type:"replay_event"},e],[{type:"replay_recording",length:typeof t=="string"?new TextEncoder().encode(t).length:t.length},t]])}function Rv({recordingData:e,headers:t}){let n;const r=`${JSON.stringify(t)} +`;if(typeof e=="string")n=`${r}${e}`;else{const i=new TextEncoder().encode(r);n=new Uint8Array(i.length+e.length),n.set(i),n.set(e,i.length)}return n}async function xv({client:e,scope:t,replayId:n,event:r}){const s=typeof e._integrations=="object"&&e._integrations!==null&&!Array.isArray(e._integrations)?Object.keys(e._integrations):void 0,i={event_id:n,integrations:s};e.emit("preprocessEvent",r,i);const o=await pu(e.getOptions(),r,i,t,e,Re());if(!o)return null;e.emit("postprocessEvent",o,i),o.platform=o.platform||"javascript";const c=e.getSdkMetadata(),{name:a,version:u,settings:d}=(c==null?void 0:c.sdk)||{};return o.sdk={...o.sdk,name:a||"sentry.javascript.unknown",version:u||"0.0.0",settings:d},o}async function Mv({recordingData:e,replayId:t,segmentId:n,eventContext:r,timestamp:s,session:i}){const o=Rv({recordingData:e,headers:{segment_id:n}}),{urls:c,errorIds:a,traceIds:u,initialTimestamp:d}=r,l=z(),f=ee(),p=l==null?void 0:l.getTransport(),h=l==null?void 0:l.getDsn();if(!l||!p||!h||!i.sampled)return Promise.resolve({});const m={type:oS,replay_start_timestamp:d/1e3,timestamp:s/1e3,error_ids:a,trace_ids:u,urls:c,replay_id:t,segment_id:n,replay_type:i.sampled},_=await xv({scope:f,client:l,replayId:t,event:m});if(!_)return l.recordDroppedEvent("event_processor","replay"),L&&D.log("An event processor returned `null`, will not send event."),Promise.resolve({});delete _.sdkProcessingMetadata;const g=Cv(_,o,h,l.getOptions().tunnel);let S;try{S=await p.send(g)}catch(R){const U=new Error(po);try{U.cause=R}catch{}throw U}const N=Tu({},S);if(vu(N,"replay"))throw new Co(N);if(typeof S.statusCode=="number"&&(S.statusCode<200||S.statusCode>=300))throw new ud(S.statusCode);return S}class ud extends Error{constructor(t){super(`Transport returned status code ${t}`)}}class Co extends Error{constructor(t){super("Rate limit hit"),this.rateLimits=t}}class pc extends Error{constructor(){super("Session is too long, not sending replay")}}async function ld(e,t={count:0,interval:fS}){const{recordingData:n,onError:r}=e;if(n.length)try{return await Mv(e),!0}catch(s){if(s instanceof ud||s instanceof Co)throw s;if(Mp("Replays",{_retryCount:t.count}),r&&r(s),t.count>=pS){const i=new Error(`${po} - max retries exceeded`);try{i.cause=s}catch{}throw i}return t.interval*=++t.count,new Promise((i,o)=>{ar(async()=>{try{await ld(e,t),i(!0)}catch(c){o(c)}},t.interval)})}}const dd="__THROTTLED",Av="__SKIPPED";function Nv(e,t,n){const r=new Map,s=c=>{const a=c-n;r.forEach((u,d)=>{d[...r.values()].reduce((c,a)=>c+a,0);let o=!1;return(...c)=>{const a=Math.floor(Date.now()/1e3);if(s(a),i()>=t){const d=o;return o=!0,d?Av:dd}o=!1;const u=r.get(a)||0;return r.set(a,u+1),e(...c)}}class Lv{constructor({options:t,recordingOptions:n}){this.eventBuffer=null,this.performanceEntries=[],this.replayPerformanceEntries=[],this.recordingMode="session",this.timeouts={sessionIdlePause:aS,sessionIdleExpire:cS},this._lastActivity=Date.now(),this._isEnabled=!1,this._isPaused=!1,this._requiresManualStart=!1,this._hasInitializedCoreListeners=!1,this._context={errorIds:new Set,traceIds:new Set,urls:[],initialTimestamp:Date.now(),initialUrl:""},this._recordingOptions=n,this._options=t,this._debouncedFlush=Ev(()=>this._flush(),this._options.flushMinDelay,{maxWait:this._options.flushMaxDelay}),this._throttledAddEvent=Nv((o,c)=>CE(this,o,c),300,5);const{slowClickTimeout:r,slowClickIgnoreSelectors:s}=this.getOptions(),i=r?{threshold:Math.min(hS,r),timeout:r,scrollTimeout:mS,ignoreSelector:s?s.join(","):""}:void 0;if(i&&(this.clickDetector=new Hb(this,i)),L){const o=t._experiments;D.setConfig({captureExceptions:!!o.captureExceptions,traceInternals:!!o.traceInternals})}this._handleVisibilityChange=()=>{ce.document.visibilityState==="visible"?this._doChangeToForegroundTasks():this._doChangeToBackgroundTasks()},this._handleWindowBlur=()=>{const o=Qe({category:"ui.blur"});this._doChangeToBackgroundTasks(o)},this._handleWindowFocus=()=>{const o=Qe({category:"ui.focus"});this._doChangeToForegroundTasks(o)},this._handleKeyboardEvent=o=>{Qb(this,o)}}getContext(){return this._context}isEnabled(){return this._isEnabled}isPaused(){return this._isPaused}isRecordingCanvas(){return!!this._canvas}getOptions(){return this._options}handleException(t){L&&D.exception(t),this._options.onError&&this._options.onError(t)}initializeSampling(t){const{errorSampleRate:n,sessionSampleRate:r}=this._options,s=n<=0&&r<=0;if(this._requiresManualStart=s,!s){if(this._initializeSessionForSampling(t),!this.session){L&&D.exception(new Error("Unable to initialize and create session"));return}this.session.sampled!==!1&&(this.recordingMode=this.session.sampled==="buffer"&&this.session.segmentId===0?"buffer":"session",L&&D.infoTick(`Starting replay in ${this.recordingMode} mode`),this._initializeRecording())}}start(){if(this._isEnabled&&this.recordingMode==="session"){L&&D.log("Recording is already in progress");return}if(this._isEnabled&&this.recordingMode==="buffer"){L&&D.log("Buffering is in progress, call `flush()` to save the replay");return}L&&D.infoTick("Starting replay in session mode"),this._updateUserActivity();const t=Vs({maxReplayDuration:this._options.maxReplayDuration,sessionIdleExpire:this.timeouts.sessionIdleExpire},{stickySession:this._options.stickySession,sessionSampleRate:1,allowBuffering:!1});this.session=t,this.recordingMode="session",this._initializeRecording()}startBuffering(){if(this._isEnabled){L&&D.log("Buffering is in progress, call `flush()` to save the replay");return}L&&D.infoTick("Starting replay in buffer mode");const t=Vs({sessionIdleExpire:this.timeouts.sessionIdleExpire,maxReplayDuration:this._options.maxReplayDuration},{stickySession:this._options.stickySession,sessionSampleRate:0,allowBuffering:!0});this.session=t,this.recordingMode="buffer",this._initializeRecording()}startRecording(){try{const t=this._canvas;this._stopRecording=ot({...this._recordingOptions,...this.recordingMode==="buffer"?{checkoutEveryNms:dS}:this._options._experiments.continuousCheckout&&{checkoutEveryNms:Math.max(36e4,this._options._experiments.continuousCheckout)},emit:Tv(this),...vv(),onMutation:this._onMutationHandler.bind(this),...t?{recordCanvas:t.recordCanvas,getCanvasManager:t.getCanvasManager,sampling:t.sampling,dataURLOptions:t.dataURLOptions}:{}})}catch(t){this.handleException(t)}}stopRecording(){try{return this._stopRecording&&(this._stopRecording(),this._stopRecording=void 0),!0}catch(t){return this.handleException(t),!1}}async stop({forceFlush:t=!1,reason:n}={}){var r;if(this._isEnabled){this._isEnabled=!1,this.recordingMode="buffer";try{L&&D.log(`Stopping Replay${n?` triggered by ${n}`:""}`),sd(),this._removeListeners(),this.stopRecording(),this._debouncedFlush.cancel(),t&&await this._flush({force:!0}),(r=this.eventBuffer)==null||r.destroy(),this.eventBuffer=null,vE(this)}catch(s){this.handleException(s)}}}pause(){this._isPaused||(this._isPaused=!0,this.stopRecording(),L&&D.log("Pausing replay"))}resume(){!this._isPaused||!this._checkSession()||(this._isPaused=!1,this.startRecording(),L&&D.log("Resuming replay"))}async sendBufferedReplayOrFlush({continueRecording:t=!0}={}){if(this.recordingMode==="session")return this.flushImmediate();const n=Date.now();L&&D.log("Converting buffer to session"),await this.flushImmediate();const r=this.stopRecording();!t||!r||this.recordingMode!=="session"&&(this.recordingMode="session",this.session&&(this.session.dirty=!1,this._updateUserActivity(n),this._updateSessionActivity(n),this._maybeSaveSession()),this.startRecording())}addUpdate(t){const n=t();this.recordingMode==="buffer"||!this._isEnabled||n!==!0&&this._debouncedFlush()}triggerUserActivity(){if(this._updateUserActivity(),!this._stopRecording){if(!this._checkSession())return;this.resume();return}this.checkAndHandleExpiredSession(),this._updateSessionActivity()}updateUserActivity(){this._updateUserActivity(),this._updateSessionActivity()}conditionalFlush(){return this.recordingMode==="buffer"?Promise.resolve():this.flushImmediate()}flush(){return this._debouncedFlush()}flushImmediate(){return this._debouncedFlush(),this._debouncedFlush.flush()}cancelFlush(){this._debouncedFlush.cancel()}getSessionId(t){var n,r;if(!(t&&((n=this.session)==null?void 0:n.sampled)===!1))return(r=this.session)==null?void 0:r.id}checkAndHandleExpiredSession(){if(this._lastActivity&&Ci(this._lastActivity,this.timeouts.sessionIdlePause)&&this.session&&this.session.sampled==="session"){this.pause();return}return!!this._checkSession()}setInitialState(){const t=`${ce.location.pathname}${ce.location.hash}${ce.location.search}`,n=`${ce.location.origin}${t}`;this.performanceEntries=[],this.replayPerformanceEntries=[],this._clearContext(),this._context.initialUrl=n,this._context.initialTimestamp=Date.now(),this._context.urls.push(n)}throttledAddEvent(t,n){const r=this._throttledAddEvent(t,n);if(r===dd){const s=Qe({category:"replay.throttled"});this.addUpdate(()=>!Io(this,{type:Lb,timestamp:s.timestamp||0,data:{tag:"breadcrumb",payload:s,metric:!0}}))}return r}getCurrentRoute(){const t=this.lastActiveSpan||Te(),n=t&&ve(t),s=(n&&K(n).data||{})[Le];if(!(!n||!s||!["route","custom"].includes(s)))return K(n).description}_initializeRecording(){this.setInitialState(),this._updateSessionActivity(),this.eventBuffer=SE({useCompression:this._options.useCompression,workerUrl:this._options.workerUrl}),this._removeListeners(),this._addListeners(),this._isEnabled=!0,this._isPaused=!1,this.startRecording()}_initializeSessionForSampling(t){const n=this._options.errorSampleRate>0,r=Vs({sessionIdleExpire:this.timeouts.sessionIdleExpire,maxReplayDuration:this._options.maxReplayDuration,previousSessionId:t},{stickySession:this._options.stickySession,sessionSampleRate:this._options.sessionSampleRate,allowBuffering:n});this.session=r}_checkSession(){if(!this.session)return!1;const t=this.session;return ed(t,{sessionIdleExpire:this.timeouts.sessionIdleExpire,maxReplayDuration:this._options.maxReplayDuration})?(this._refreshSession(t),!1):!0}async _refreshSession(t){this._isEnabled&&(await this.stop({reason:"refresh session"}),this.initializeSampling(t.id))}_addListeners(){try{ce.document.addEventListener("visibilitychange",this._handleVisibilityChange),ce.addEventListener("blur",this._handleWindowBlur),ce.addEventListener("focus",this._handleWindowFocus),ce.addEventListener("keydown",this._handleKeyboardEvent),this.clickDetector&&this.clickDetector.addListeners(),this._hasInitializedCoreListeners||(yv(this),this._hasInitializedCoreListeners=!0)}catch(t){this.handleException(t)}this._performanceCleanupCallback=fE(this)}_removeListeners(){try{ce.document.removeEventListener("visibilitychange",this._handleVisibilityChange),ce.removeEventListener("blur",this._handleWindowBlur),ce.removeEventListener("focus",this._handleWindowFocus),ce.removeEventListener("keydown",this._handleKeyboardEvent),this.clickDetector&&this.clickDetector.removeListeners(),this._performanceCleanupCallback&&this._performanceCleanupCallback()}catch(t){this.handleException(t)}}_doChangeToBackgroundTasks(t){!this.session||Ql(this.session,{maxReplayDuration:this._options.maxReplayDuration,sessionIdleExpire:this.timeouts.sessionIdleExpire})||(t&&this._createCustomBreadcrumb(t),this.conditionalFlush())}_doChangeToForegroundTasks(t){if(!this.session)return;if(!this.checkAndHandleExpiredSession()){L&&D.log("Document has become active, but session has expired");return}t&&this._createCustomBreadcrumb(t)}_updateUserActivity(t=Date.now()){this._lastActivity=t}_updateSessionActivity(t=Date.now()){this.session&&(this.session.lastActivity=t,this._maybeSaveSession())}_createCustomBreadcrumb(t){this.addUpdate(()=>{this.throttledAddEvent({type:q.Custom,timestamp:t.timestamp||0,data:{tag:"breadcrumb",payload:t}})})}_addPerformanceEntries(){let t=rE(this.performanceEntries).concat(this.replayPerformanceEntries);if(this.performanceEntries=[],this.replayPerformanceEntries=[],this._requiresManualStart){const n=this._context.initialTimestamp/1e3;t=t.filter(r=>r.start>=n)}return Promise.all(bs(this,t))}_clearContext(){this._context.errorIds.clear(),this._context.traceIds.clear(),this._context.urls=[]}_updateInitialTimestampFromEventBuffer(){const{session:t,eventBuffer:n}=this;if(!t||!n||this._requiresManualStart||t.segmentId)return;const r=n.getEarliestTimestamp();r&&rthis._options.maxReplayDuration+3e4)throw new pc;const s=this._popEventContext(),i=this.session.segmentId++;this._maybeSaveSession();const o=await this.eventBuffer.finish();await ld({replayId:t,recordingData:o,segmentId:i,eventContext:s,session:this.session,timestamp:r,onError:c=>this.handleException(c)})}catch(r){this.handleException(r),this.stop({reason:"sendReplay"});const s=z();if(s){let i;r instanceof Co?i="ratelimit_backoff":r instanceof pc?i="invalid":i="send_error",s.recordDroppedEvent(i,"replay")}}}async _flush({force:t=!1}={}){if(!this._isEnabled&&!t)return;if(!this.checkAndHandleExpiredSession()){L&&D.error("Attempting to finish replay event after session expired.");return}if(!this.session)return;const n=this.session.started,s=Date.now()-n;this._debouncedFlush.cancel();const i=sthis._options.maxReplayDuration+5e3;if(i||o){L&&D.log(`Session duration (${Math.floor(s/1e3)}s) is too ${i?"short":"long"}, not sending replay.`),i&&this._debouncedFlush();return}const c=this.eventBuffer;c&&this.session.segmentId===0&&!c.hasCheckout&&L&&D.log("Flushing initial segment without checkout.");const a=!!this._flushLock;this._flushLock||(this._flushLock=this._runFlush());try{await this._flushLock}catch(u){this.handleException(u)}finally{this._flushLock=void 0,a&&this._debouncedFlush()}}_maybeSaveSession(){this.session&&this._options.stickySession&&Ss(this.session)}_onMutationHandler(t){const{ignoreMutations:n}=this._options._experiments;if(n!=null&&n.length&&t.some(c=>{const a=kv(c.target),u=n.join(",");return a==null?void 0:a.matches(u)}))return!1;const r=t.length,s=this._options.mutationLimit,i=this._options.mutationBreadcrumbLimit,o=s&&r>s;if(r>i||o){const c=Qe({category:"replay.mutations",data:{count:r,limit:o}});this._createCustomBreadcrumb(c)}return o?(this.stop({reason:"mutationLimit",forceFlush:this.recordingMode==="session"}),!1):!0}}function Mn(e,t){return[...e,...t].join(",")}function Dv({mask:e,unmask:t,block:n,unblock:r,ignore:s}){const i=["base","iframe[srcdoc]:not([src])"],o=Mn(e,[".sentry-mask","[data-sentry-mask]"]),c=Mn(t,[]);return{maskTextSelector:o,unmaskTextSelector:c,blockSelector:Mn(n,[".sentry-block","[data-sentry-block]",...i]),unblockSelector:Mn(r,[]),ignoreSelector:Mn(s,[".sentry-ignore","[data-sentry-ignore]",'input[type="file"]'])}}function Ov({el:e,key:t,maskAttributes:n,maskAllText:r,privacyOptions:s,value:i}){return!r||s.unmaskTextSelector&&e.matches(s.unmaskTextSelector)?i:n.includes(t)||t==="value"&&e.tagName==="INPUT"&&["submit","button"].includes(e.getAttribute("type")||"")?i.replace(/[\S]/g,"*"):i}const hc='img,image,svg,video,object,picture,embed,map,audio,link[rel="icon"],link[rel="apple-touch-icon"]',Pv=["content-length","content-type","accept"],Fv=Symbol.for("sentry__originalRequestBody");let mc=!1,_c=!1;function $v(){if(typeof Request>"u"||_c)return;const e=Request;try{const t=function(n,r){const s=new e(n,r);return(r==null?void 0:r.body)!=null&&(s[Fv]=r.body),s};t.prototype=e.prototype,V.Request=t,_c=!0}catch{}}const w0=e=>new Bv(e);class Bv{constructor({flushMinDelay:t=uS,flushMaxDelay:n=lS,minReplayDuration:r=_S,maxReplayDuration:s=Va,stickySession:i=!0,useCompression:o=!0,workerUrl:c,_experiments:a={},maskAllText:u=!0,maskAllInputs:d=!0,blockAllMedia:l=!0,mutationBreadcrumbLimit:f=750,mutationLimit:p=1e4,slowClickTimeout:h=7e3,slowClickIgnoreSelectors:m=[],networkDetailAllowUrls:_=[],networkDetailDenyUrls:g=[],networkCaptureBodies:S=!0,networkRequestHeaders:N=[],networkResponseHeaders:R=[],mask:U=[],maskAttributes:A=["title","placeholder","aria-label"],unmask:y=[],block:I=[],unblock:P=[],ignore:v=[],maskFn:k,beforeAddRecordingEvent:w,beforeErrorSampling:C,onError:M,attachRawBodyFromRequest:J=!1}={}){this.name="Replay";const Y=Dv({mask:U,unmask:y,block:I,unblock:P,ignore:v});if(this._recordingOptions={maskAllInputs:d,maskAllText:u,maskInputOptions:{password:!0},maskTextFn:k,maskInputFn:k,maskAttributeFn:(Z,E,F)=>Ov({maskAttributes:A,maskAllText:u,privacyOptions:Y,key:Z,value:E,el:F}),...Y,slimDOMOptions:"all",inlineStylesheet:!0,inlineImages:!1,collectFonts:!0,errorHandler:Z=>{try{Z.__rrweb__=!0}catch{}},recordCrossOriginIframes:!!a.recordCrossOriginIframes},this._initialOptions={flushMinDelay:t,flushMaxDelay:n,minReplayDuration:Math.min(r,gS),maxReplayDuration:Math.min(s,Va),stickySession:i,useCompression:o,workerUrl:c,blockAllMedia:l,maskAllInputs:d,maskAllText:u,mutationBreadcrumbLimit:f,mutationLimit:p,slowClickTimeout:h,slowClickIgnoreSelectors:m,networkDetailAllowUrls:_,networkDetailDenyUrls:g,networkCaptureBodies:S,networkRequestHeaders:gc(N),networkResponseHeaders:gc(R),beforeAddRecordingEvent:w,beforeErrorSampling:C,onError:M,attachRawBodyFromRequest:J,_experiments:a},this._initialOptions.blockAllMedia&&(this._recordingOptions.blockSelector=this._recordingOptions.blockSelector?`${this._recordingOptions.blockSelector},${hc}`:hc,this._recordingOptions.ignoreCSSAttributes=new Set(["background-image"])),this._isInitialized&&Vr())throw new Error("Multiple Sentry Session Replay instances are not supported");this._isInitialized=!0}get _isInitialized(){return mc}set _isInitialized(t){mc=t}afterAllSetup(t){!Vr()||this._replay||(this._initialOptions.attachRawBodyFromRequest&&$v(),this._setup(t),this._initialize(t))}start(){this._replay&&this._replay.start()}startBuffering(){this._replay&&this._replay.startBuffering()}stop(){return this._replay?this._replay.stop({forceFlush:this._replay.recordingMode==="session"}):Promise.resolve()}flush(t){return this._replay?this._replay.isEnabled()?this._replay.sendBufferedReplayOrFlush(t):(this._replay.start(),Promise.resolve()):Promise.resolve()}getReplayId(t){var n;if((n=this._replay)!=null&&n.isEnabled())return this._replay.getSessionId(t)}getRecordingMode(){var t;if((t=this._replay)!=null&&t.isEnabled())return this._replay.recordingMode}_initialize(t){this._replay&&(this._maybeLoadFromReplayCanvasIntegration(t),this._replay.initializeSampling())}_setup(t){const n=Hv(this._initialOptions,t);this._replay=new Lv({options:n,recordingOptions:this._recordingOptions})}_maybeLoadFromReplayCanvasIntegration(t){try{const n=t.getIntegrationByName("ReplayCanvas");if(!n)return;this._replay._canvas=n.getOptions()}catch{}}}function Hv(e,t){const n=t.getOptions(),r={sessionSampleRate:0,errorSampleRate:0,...e},s=Wt(n.replaysSessionSampleRate),i=Wt(n.replaysOnErrorSampleRate);return s==null&&i==null&&pt(()=>{console.warn("Replay is disabled because neither `replaysSessionSampleRate` nor `replaysOnErrorSampleRate` are set.")}),s!=null&&(r.sessionSampleRate=s),i!=null&&(r.errorSampleRate=i),r}function gc(e){return[...Pv,...e.map(t=>t.toLowerCase())]}function Uv(e){return e.split(",").some(t=>t.trim().startsWith("sentry-"))}function fd(e){try{return new URL(e,X.location.origin).href}catch{return}}function Wv(e){return e.entryType==="resource"&&"initiatorType"in e&&typeof e.nextHopProtocol=="string"&&(e.initiatorType==="fetch"||e.initiatorType==="xmlhttprequest")}function pd(e){try{return new Headers(e)}catch{return}}const yc=new WeakMap,Gs=new Map,hd={traceFetch:!0,traceXHR:!0,enableHTTPTimings:!0,trackFetchStreamPerformance:!1};function zv(e,t){const{traceFetch:n,traceXHR:r,trackFetchStreamPerformance:s,shouldCreateSpanForRequest:i,enableHTTPTimings:o,tracePropagationTargets:c,onRequestSpanStart:a,onRequestSpanEnd:u}={...hd,...t},d=typeof i=="function"?i:h=>!0,l=h=>qv(h,c),f={},p=e.getOptions().propagateTraceparent;n&&(e.addEventProcessor(h=>(h.type==="transaction"&&h.spans&&h.spans.forEach(m=>{if(m.op==="http.client"){const _=Gs.get(m.span_id);_&&(m.timestamp=_/1e3,Gs.delete(m.span_id))}}),h)),s&&nm(h=>{if(h.response){const m=yc.get(h.response);m&&h.endTimestamp&&Gs.set(m,h.endTimestamp)}}),Fu(h=>{const m=Vh(h,d,l,f,{propagateTraceparent:p,onRequestSpanEnd:u});if(h.response&&h.fetchData.__span&&yc.set(h.response,h.fetchData.__span),m){const _=fd(h.fetchData.url),g=_?Ht(_).host:void 0;m.setAttributes({"http.url":_?Et(_):void 0,"server.address":g}),o&&Sc(m),a==null||a(m,{headers:h.headers})}})),r&&_l(h=>{var _;const m=jv(h,d,l,f,p,u);m&&(o&&Sc(m),a==null||a(m,{headers:pd((_=h.xhr.__sentry_xhr_v3__)==null?void 0:_.request_headers)}))})}function Sc(e){const{url:t}=K(e).data;if(!t||typeof t!="string")return;const n=qt("resource",({entries:r})=>{r.forEach(s=>{Wv(s)&&s.name.endsWith(t)&&(e.setAttributes(pl(s)),setTimeout(n))})})}function qv(e,t){const n=Vt();if(n){let r,s;try{r=new URL(e,n),s=new URL(n).origin}catch{return!1}const i=r.origin===s;return t?st(r.toString(),t)||i&&st(r.pathname,t):i}else{const r=!!e.match(/^\/(?!\/)/);return t?st(e,t):r}}function jv(e,t,n,r,s,i){const o=e.xhr,c=o==null?void 0:o[Ot];if(!o||o.__sentry_own_request__||!c)return;const{url:a,method:u}=c,d=qe()&&t(a);if(e.endTimestamp){const g=o.__sentry_xhr_span_id__;if(!g)return;const S=r[g];S&&(d&&c.status_code!==void 0&&(qc(S,c.status_code),S.end(),i==null||i(S,{headers:pd(bl(o)),error:e.error})),delete r[g]);return}const l=fd(a),f=Ht(l||a),p=Et(dh(a)),h=!!Te(),m=d&&h?It({name:`${u} ${p}`,attributes:{url:Et(a),type:"xhr","http.method":u,"http.url":l?Et(l):void 0,"server.address":f==null?void 0:f.host,[fe]:"auto.http.browser",[lt]:"http.client",...(f==null?void 0:f.search)&&{"http.query":f==null?void 0:f.search},...(f==null?void 0:f.hash)&&{"http.fragment":f==null?void 0:f.hash}}}):new wt;o.__sentry_xhr_span_id__=m.spanContext().spanId,r[o.__sentry_xhr_span_id__]=m,n(a)&&Vv(o,qe()&&h?m:void 0,s);const _=z();return _&&_.emit("beforeOutgoingRequestSpan",m,e),m}function Vv(e,t,n){const{"sentry-trace":r,baggage:s,traceparent:i}=Au({span:t,propagateTraceparent:n});r&&Gv(e,r,s,i)}function Gv(e,t,n,r){var i;const s=(i=e.__sentry_xhr_v3__)==null?void 0:i.request_headers;if(!(s!=null&&s["sentry-trace"]||!e.setRequestHeader))try{if(e.setRequestHeader("sentry-trace",t),r&&!(s!=null&&s.traceparent)&&e.setRequestHeader("traceparent",r),n){const o=s==null?void 0:s.baggage;(!o||!Uv(o))&&e.setRequestHeader("baggage",n)}}catch{}}function Yv(){X.document?X.document.addEventListener("visibilitychange",()=>{const e=Te();if(!e)return;const t=ve(e);if(X.document.hidden&&t){const n="cancelled",{op:r,status:s}=K(t);je&&b.log(`[Tracing] Transaction: ${n} -> since tab moved to the background, op: ${r}`),s||t.setStatus({code:ye,message:n}),t.setAttribute("sentry.cancellation_reason","document.hidden"),t.end()}}):je&&b.warn("[Tracing] Could not set up background tab detection due to lack of global document")}const Kv=3600,md="sentry_previous_trace",Xv="sentry.previous_trace";function Jv(e,{linkPreviousTrace:t,consistentTraceSampling:n}){const r=t==="session-storage";let s=r?e0():void 0;e.on("spanStart",o=>{if(ve(o)!==o)return;const c=ee().getPropagationContext();s=Zv(s,o,c),r&&Qv(s)});let i=!0;n&&e.on("beforeSampling",o=>{if(!s)return;const c=ee(),a=c.getPropagationContext();if(i&&a.parentSpanId){i=!1;return}c.setPropagationContext({...a,dsc:{...a.dsc,sample_rate:String(s.sampleRate),sampled:String(Mi(s.spanContext))},sampleRand:s.sampleRand}),o.parentSampled=Mi(s.spanContext),o.parentSampleRate=s.sampleRate,o.spanAttributes={...o.spanAttributes,[zc]:s.sampleRate}})}function Zv(e,t,n){const r=K(t);function s(){var c,a;try{return Number((c=n.dsc)==null?void 0:c.sample_rate)??Number((a=r.data)==null?void 0:a[Fi])}catch{return 0}}const i={spanContext:t.spanContext(),startTimestamp:r.start_timestamp,sampleRate:s(),sampleRand:n.sampleRand};if(!e)return i;const o=e.spanContext;return o.traceId===r.trace_id?e:(Date.now()/1e3-e.startTimestamp<=Kv&&(je&&b.log(`Adding previous_trace \`${JSON.stringify(o)}\` link to span \`${JSON.stringify({op:r.op,...t.spanContext()})}\``),t.addLink({context:o,attributes:{[ef]:"previous_trace"}}),t.setAttribute(Xv,`${o.traceId}-${o.spanId}-${Mi(o)?1:0}`)),i)}function Qv(e){try{X.sessionStorage.setItem(md,JSON.stringify(e))}catch(t){je&&b.warn("Could not store previous trace in sessionStorage",t)}}function e0(){var e;try{const t=(e=X.sessionStorage)==null?void 0:e.getItem(md);return JSON.parse(t)}catch{return}}function Mi(e){return e.traceFlags===1}const t0="BrowserTracing",n0={...xr,instrumentNavigation:!0,instrumentPageLoad:!0,markBackgroundSpan:!0,enableLongTask:!0,enableLongAnimationFrame:!0,enableInp:!0,enableElementTiming:!0,ignoreResourceSpans:[],ignorePerformanceApiSpans:[],detectRedirects:!0,linkPreviousTrace:"in-memory",consistentTraceSampling:!1,enableReportPageLoaded:!1,_experiments:{},...hd},bc=(e={})=>{const t={name:void 0,source:void 0},n=X.document,{enableInp:r,enableElementTiming:s,enableLongTask:i,enableLongAnimationFrame:o,_experiments:{enableInteractions:c,enableStandaloneClsSpans:a,enableStandaloneLcpSpans:u},beforeStartSpan:d,idleTimeout:l,finalTimeout:f,childSpanTimeout:p,markBackgroundSpan:h,traceFetch:m,traceXHR:_,trackFetchStreamPerformance:g,shouldCreateSpanForRequest:S,enableHTTPTimings:N,ignoreResourceSpans:R,ignorePerformanceApiSpans:U,instrumentPageLoad:A,instrumentNavigation:y,detectRedirects:I,linkPreviousTrace:P,consistentTraceSampling:v,enableReportPageLoaded:k,onRequestSpanStart:w,onRequestSpanEnd:C}={...n0,...e};let M,J,Y;function Z(E,F,T=!0){const H=F.op==="pageload",ne=F.name,te=d?d(F):F,me=te.attributes||{};if(ne!==te.name&&(me[Le]="custom",te.attributes=me),!T){const be=Gt();It({...te,startTime:be}).end(be);return}t.name=te.name,t.source=me[Le];const we=du(te,{idleTimeout:l,finalTimeout:f,childSpanTimeout:p,disableAutoFinish:H,beforeSpanEnd:be=>{M==null||M(),kg(be,{recordClsOnPageloadSpan:!a,recordLcpOnPageloadSpan:!u,ignoreResourceSpans:R,ignorePerformanceApiSpans:U}),Tc(E,void 0);const Ee=ee(),Ve=Ee.getPropagationContext();Ee.setPropagationContext({...Ve,traceId:we.spanContext().traceId,sampled:Mt(we),dsc:dt(be)}),H&&(Y=void 0)},trimIdleSpanEndTimestamp:!k});H&&k&&(Y=we),Tc(E,we);function ht(){n&&["interactive","complete"].includes(n.readyState)&&E.emit("idleSpanEnableAutoFinish",we)}H&&!k&&n&&(n.addEventListener("readystatechange",()=>{ht()}),ht())}return{name:t0,setup(E){if(Af(),M=Sg({recordClsStandaloneSpans:a||!1,recordLcpStandaloneSpans:u||!1,client:E}),r&&Zg(),s&&$g(),o&&V.PerformanceObserver&&PerformanceObserver.supportedEntryTypes&&PerformanceObserver.supportedEntryTypes.includes("long-animation-frame")?Eg():i&&bg(),c&&vg(),I&&n){const T=()=>{J=_e()};addEventListener("click",T,{capture:!0}),addEventListener("keydown",T,{capture:!0,passive:!0})}function F(){const T=Vn(E);T&&!K(T).timestamp&&(je&&b.log(`[Tracing] Finishing current active span with op: ${K(T).op}`),T.setAttribute($n,"cancelled"),T.end())}E.on("startNavigationSpan",(T,H)=>{if(z()!==E)return;if(H!=null&&H.isRedirect){je&&b.warn("[Tracing] Detected redirect, navigation span will not be the root span, but a child span."),Z(E,{op:"navigation.redirect",...T},!1);return}J=void 0,F(),Re().setPropagationContext({traceId:ut(),sampleRand:Math.random(),propagationSpanId:qe()?void 0:it()});const ne=ee();ne.setPropagationContext({traceId:ut(),sampleRand:Math.random(),propagationSpanId:qe()?void 0:it()}),ne.setSDKProcessingMetadata({normalizedRequest:void 0}),Z(E,{op:"navigation",...T,parentSpan:null,forceTransaction:!0})}),E.on("startPageLoadSpan",(T,H={})=>{if(z()!==E)return;F();const ne=H.sentryTrace||Ec("sentry-trace")||vc("sentry-trace"),te=H.baggage||Ec("baggage")||vc("baggage"),me=vf(ne,te),we=ee();we.setPropagationContext(me),qe()||(we.getPropagationContext().propagationSpanId=it()),we.setSDKProcessingMetadata({normalizedRequest:no()}),Z(E,{op:"pageload",...T})}),E.on("endPageloadSpan",()=>{k&&Y&&(Y.setAttribute($n,"reportPageLoaded"),Y.end())})},afterAllSetup(E){let F=Vt();if(P!=="off"&&Jv(E,{linkPreviousTrace:P,consistentTraceSampling:v}),X.location){if(A){const T=Pe();r0(E,{name:X.location.pathname,startTime:T?T/1e3:void 0,attributes:{[Le]:"url",[fe]:"auto.pageload.browser"}})}y&&ms(({to:T,from:H})=>{if(H===void 0&&(F==null?void 0:F.indexOf(T))!==-1){F=void 0;return}F=void 0;const ne=Xi(T),te=Vn(E),me=te&&I&&i0(te,J);_d(E,{name:(ne==null?void 0:ne.pathname)||X.location.pathname,attributes:{[Le]:"url",[fe]:"auto.navigation.browser"}},{url:T,isRedirect:me})})}h&&Yv(),c&&s0(E,l,f,p,t),r&&ty(),zv(E,{traceFetch:m,traceXHR:_,trackFetchStreamPerformance:g,tracePropagationTargets:E.getOptions().tracePropagationTargets,shouldCreateSpanForRequest:S,enableHTTPTimings:N,onRequestSpanStart:w,onRequestSpanEnd:C})}}};function r0(e,t,n){e.emit("startPageLoadSpan",t,n),ee().setTransactionName(t.name);const r=Vn(e);return r&&e.emit("afterStartPageLoadSpan",r),r}function _d(e,t,n){const{url:r,isRedirect:s}=n||{};e.emit("beforeStartNavigationSpan",t,{isRedirect:s}),e.emit("startNavigationSpan",t,{isRedirect:s});const i=ee();return i.setTransactionName(t.name),r&&!s&&i.setSDKProcessingMetadata({normalizedRequest:{...no(),url:r}}),Vn(e)}function Ec(e){const t=X.document,n=t==null?void 0:t.querySelector(`meta[name=${e}]`);return(n==null?void 0:n.getAttribute("content"))||void 0}function vc(e){var r,s,i;const t=(s=(r=X.performance)==null?void 0:r.getEntriesByType)==null?void 0:s.call(r,"navigation")[0],n=(i=t==null?void 0:t.serverTiming)==null?void 0:i.find(o=>o.name===e);return n==null?void 0:n.description}function s0(e,t,n,r,s){const i=X.document;let o;const c=()=>{const a="ui.action.click",u=Vn(e);if(u){const d=K(u).op;if(["navigation","pageload"].includes(d)){je&&b.warn(`[Tracing] Did not create ${a} span because a pageload or navigation span is in progress.`);return}}if(o&&(o.setAttribute($n,"interactionInterrupted"),o.end(),o=void 0),!s.name){je&&b.warn(`[Tracing] Did not create ${a} transaction because _latestRouteName is missing.`);return}o=du({name:s.name,op:a,attributes:{[Le]:s.source||"url"}},{idleTimeout:t,finalTimeout:n,childSpanTimeout:r})};i&&addEventListener("click",c,{capture:!0})}const gd="_sentry_idleSpan";function Vn(e){return e[gd]}function Tc(e,t){Oe(e,gd,t)}const wc=1.5;function i0(e,t){const n=K(e),r=Gt(),s=n.start_timestamp;return!(r-s>wc||t&&r-t<=wc)}const yd=["activate","mount"],Sd=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,o0=/(?:^|[-_])(\w)/g,a0=e=>e.replace(o0,t=>t.toUpperCase()).replace(/[-_]/g,""),c0="",Ys="",u0=(e,t)=>e.repeat(t),Pn=(e,t)=>{if(!e)return Ys;if(e.$root===e)return c0;if(!e.$options)return Ys;const n=e.$options;let r=n.name||n._componentTag||n.__name;const s=n.__file;if(!r&&s){const i=s.match(/([^/\\]+)\.vue$/);i&&(r=i[1])}return(r?`<${a0(r)}>`:Ys)+(s&&t!==!1?` at ${s}`:"")},l0=e=>{if(e&&(e._isVue||e.__isVue)&&e.$parent){const t=[];let n=0;for(;e;){if(t.length>0){const s=t[t.length-1];if(s.constructor===e.constructor){n++,e=e.$parent;continue}else n>0&&(t[t.length-1]=[s,n],n=0)}t.push(e),e=e.$parent}return` + +found in + +${t.map((s,i)=>`${(i===0?"---> ":u0(" ",5+i*2))+(Array.isArray(s)?`${Pn(s[0])}... (${s[1]} recursive calls)`:Pn(s))}`).join(` +`)}`}return` + +(found in ${Pn(e)})`},d0=(e,t)=>{const{errorHandler:n}=e.config;e.config.errorHandler=(r,s,i)=>{var u;const o=Pn(s,!1),c=s?l0(s):"",a={componentName:o,lifecycleHook:i,trace:c};if((t==null?void 0:t.attachProps)!==!1&&s&&((u=s.$options)!=null&&u.propsData?a.propsData=s.$options.propsData:s.$props&&(a.propsData=s.$props)),setTimeout(()=>{ds(r,{captureContext:{contexts:{vue:a}},mechanism:{handled:!!n,type:"auto.function.vue.error_handler"}})}),typeof n=="function"&&e.config.errorHandler)n.call(e,r,s,i);else throw r}},Ic="ui.vue",f0={activate:["activated","deactivated"],create:["beforeCreate","created"],unmount:["beforeUnmount","unmounted"],destroy:["beforeDestroy","destroyed"],mount:["beforeMount","mounted"],update:["beforeUpdate","updated"]};function Ks(e,t,n){e.$_sentryRootComponentSpanTimer&&clearTimeout(e.$_sentryRootComponentSpanTimer),e.$_sentryRootComponentSpanTimer=setTimeout(()=>{var r;(r=e.$root)!=null&&r.$_sentryRootComponentSpan&&(e.$root.$_sentryRootComponentSpan.end(t),e.$root.$_sentryRootComponentSpan=void 0)},n)}function p0(e,t){function n(s){return s.replace(/^<([^\s]*)>(?: at [^\s]*)?$/,"$1")}return e.some(s=>n(t)===n(s))}const h0=(e={})=>{const t=(e.hooks||[]).concat(yd).filter((s,i,o)=>o.indexOf(s)===i),n={},r=e.timeout||2e3;for(const s of t){const i=f0[s];if(!i){Sd&&b.warn(`Unknown hook: ${s}`);continue}for(const o of i)n[o]=function(){var f;const c=this.$root===this;c&&(this.$_sentryRootComponentSpan=this.$_sentryRootComponentSpan||It({name:"Application Render",op:`${Ic}.render`,attributes:{[fe]:"auto.ui.vue"},onlyIfParent:!0}),Ks(this,_e(),r));const a=Pn(this,!1);if(!(c||(Array.isArray(e.trackComponents)?p0(e.trackComponents,a):e.trackComponents))){Ks(this,_e(),r);return}this.$_sentryComponentSpans=this.$_sentryComponentSpans||{};const d=o===i[0],l=((f=this.$root)==null?void 0:f.$_sentryRootComponentSpan)||Te();if(d){if(l){const p=this.$_sentryComponentSpans[s];p&&p.end(),this.$_sentryComponentSpans[s]=It({name:`Vue ${a}`,op:`${Ic}.${s}`,attributes:{[fe]:"auto.ui.vue"},onlyIfParent:!0})}}else{const p=this.$_sentryComponentSpans[s];if(!p)return;p.end(),Ks(this,_e(),r)}}}return n},m0=V,_0={Vue:m0.Vue,attachProps:!0,attachErrorHandler:!0,tracingOptions:{hooks:yd,timeout:2e3,trackComponents:!1}},g0="Vue",y0=(e={})=>({name:g0,setup(t){const n={..._0,...t.getOptions(),...e};if(!n.Vue&&!n.app){pt(()=>{console.warn("[@sentry/vue]: Misconfigured SDK. Vue specific errors will not be captured. Update your `Sentry.init` call with an appropriate config option: `app` (Application Instance - Vue 3) or `Vue` (Vue Constructor - Vue 2).")});return}n.app?(Array.isArray(n.app)?n.app:[n.app]).forEach(s=>kc(s,n)):n.Vue&&kc(n.Vue,n)}}),kc=(e,t)=>{var n;Sd&&((n=e._instance)==null?void 0:n.isMounted)===!0&&pt(()=>{console.warn("[@sentry/vue]: Misconfigured SDK. Vue app is already mounted. Make sure to call `app.mount()` after `Sentry.init()`.")}),t.attachErrorHandler&&d0(e,t),qe(t)&&e.mixin(h0(t.tracingOptions))};function I0(e={}){const t={defaultIntegrations:[...Tl(),y0()],...e};return Mu(t,"vue"),iS(t)}function S0(e,t,n){let r=!1;const s="mode"in e;e.onError(i=>ds(i,{mechanism:{handled:!1}})),e.beforeEach((i,o,...c)=>{const a=r?void 0:b0(),u={};for(const f of Object.keys(i.params))u[`url.path.parameter.${f}`]=i.params[f],u[`params.${f}`]=i.params[f];for(const f of Object.keys(i.query)){const p=i.query[f];p&&(u[`query.${f}`]=p)}let d=i.path,l="url";if(i.name&&t.routeLabel!=="path")d=i.name.toString(),l="custom";else if(i.matched.length>0){const f=i.matched.length-1;d=i.matched[f].path,l="route"}if(ee().setTransactionName(d),t.instrumentPageLoad&&a&&(K(a).data[Le]!=="custom"&&(a.updateName(d),a.setAttribute(Le,l)),a.setAttributes({...u,[fe]:"auto.pageload.vue"}),r=!0),t.instrumentNavigation&&!a&&n({name:d,op:"navigation",attributes:{...u,[fe]:"auto.navigation.vue",[Le]:l}}),s){const f=c[0];typeof f=="function"&&f()}})}function b0(){const e=Te(),t=e&&ve(e);return t&&K(t).op==="pageload"?t:void 0}function k0(e={}){if(!e.router)return bc(e);const t=bc({...e,instrumentNavigation:!1}),{router:n,instrumentNavigation:r=!0,instrumentPageLoad:s=!0,routeLabel:i="name"}=e;return{...t,afterAllSetup(o){t.afterAllSetup(o),S0(n,{routeLabel:i,instrumentNavigation:r,instrumentPageLoad:s},a=>{_d(o,a)})}}}export{E0 as a,k0 as b,T0 as f,z as g,I0 as i,w0 as r,v0 as s}; diff --git a/assets/vendor-socket-CyTcV1HU.js b/assets/vendor-socket-CyTcV1HU.js new file mode 100644 index 0000000..da2a4af --- /dev/null +++ b/assets/vendor-socket-CyTcV1HU.js @@ -0,0 +1 @@ +const y=Object.create(null);y.open="0";y.close="1";y.ping="2";y.pong="3";y.message="4";y.upgrade="5";y.noop="6";const T=Object.create(null);Object.keys(y).forEach(i=>{T[y[i]]=i});const P={type:"error",data:"parser error"},Q=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",j=typeof ArrayBuffer=="function",G=i=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(i):i&&i.buffer instanceof ArrayBuffer,V=({type:i,data:e},t,s)=>Q&&e instanceof Blob?t?s(e):$(e,s):j&&(e instanceof ArrayBuffer||G(e))?t?s(e):$(new Blob([e]),s):s(y[i]+(e||"")),$=(i,e)=>{const t=new FileReader;return t.onload=function(){const s=t.result.split(",")[1];e("b"+(s||""))},t.readAsDataURL(i)};function Y(i){return i instanceof Uint8Array?i:i instanceof ArrayBuffer?new Uint8Array(i):new Uint8Array(i.buffer,i.byteOffset,i.byteLength)}let B;function he(i,e){if(Q&&i.data instanceof Blob)return i.data.arrayBuffer().then(Y).then(e);if(j&&(i.data instanceof ArrayBuffer||G(i.data)))return e(Y(i.data));V(i,!1,t=>{B||(B=new TextEncoder),e(B.encode(t))})}const z="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",E=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let i=0;i{let e=i.length*.75,t=i.length,s,n=0,r,o,c,h;i[i.length-1]==="="&&(e--,i[i.length-2]==="="&&e--);const g=new ArrayBuffer(e),f=new Uint8Array(g);for(s=0;s>4,f[n++]=(o&15)<<4|c>>2,f[n++]=(c&3)<<6|h&63;return g},fe=typeof ArrayBuffer=="function",M=(i,e)=>{if(typeof i!="string")return{type:"message",data:Z(i,e)};const t=i.charAt(0);return t==="b"?{type:"message",data:le(i.substring(1),e)}:T[t]?i.length>1?{type:T[t],data:i.substring(1)}:{type:T[t]}:P},le=(i,e)=>{if(fe){const t=ue(i);return Z(t,e)}else return{base64:!0,data:i}},Z=(i,e)=>{switch(e){case"blob":return i instanceof Blob?i:new Blob([i]);case"arraybuffer":default:return i instanceof ArrayBuffer?i:i.buffer}},ee="",pe=(i,e)=>{const t=i.length,s=new Array(t);let n=0;i.forEach((r,o)=>{V(r,!1,c=>{s[o]=c,++n===t&&e(s.join(ee))})})},de=(i,e)=>{const t=i.split(ee),s=[];for(let n=0;n{const s=t.length;let n;if(s<126)n=new Uint8Array(1),new DataView(n.buffer).setUint8(0,s);else if(s<65536){n=new Uint8Array(3);const r=new DataView(n.buffer);r.setUint8(0,126),r.setUint16(1,s)}else{n=new Uint8Array(9);const r=new DataView(n.buffer);r.setUint8(0,127),r.setBigUint64(1,BigInt(s))}i.data&&typeof i.data!="string"&&(n[0]|=128),e.enqueue(n),e.enqueue(t)})}})}let x;function k(i){return i.reduce((e,t)=>e+t.length,0)}function A(i,e){if(i[0].length===e)return i.shift();const t=new Uint8Array(e);let s=0;for(let n=0;nMath.pow(2,21)-1){c.enqueue(P);break}n=f*Math.pow(2,32)+g.getUint32(4),s=3}else{if(k(t)i){c.enqueue(P);break}}}})}const te=4;function u(i){if(i)return me(i)}function me(i){for(var e in u.prototype)i[e]=u.prototype[e];return i}u.prototype.on=u.prototype.addEventListener=function(i,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+i]=this._callbacks["$"+i]||[]).push(e),this};u.prototype.once=function(i,e){function t(){this.off(i,t),e.apply(this,arguments)}return t.fn=e,this.on(i,t),this};u.prototype.off=u.prototype.removeListener=u.prototype.removeAllListeners=u.prototype.removeEventListener=function(i,e){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var t=this._callbacks["$"+i];if(!t)return this;if(arguments.length==1)return delete this._callbacks["$"+i],this;for(var s,n=0;nPromise.resolve().then(e):(e,t)=>t(e,0),l=typeof self<"u"?self:typeof window<"u"?window:Function("return this")(),_e="arraybuffer";function se(i,...e){return e.reduce((t,s)=>(i.hasOwnProperty(s)&&(t[s]=i[s]),t),{})}const be=l.setTimeout,we=l.clearTimeout;function S(i,e){e.useNativeTimers?(i.setTimeoutFn=be.bind(l),i.clearTimeoutFn=we.bind(l)):(i.setTimeoutFn=l.setTimeout.bind(l),i.clearTimeoutFn=l.clearTimeout.bind(l))}const ve=1.33;function Ee(i){return typeof i=="string"?ke(i):Math.ceil((i.byteLength||i.size)*ve)}function ke(i){let e=0,t=0;for(let s=0,n=i.length;s=57344?t+=3:(s++,t+=4);return t}function ie(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}function Ae(i){let e="";for(let t in i)i.hasOwnProperty(t)&&(e.length&&(e+="&"),e+=encodeURIComponent(t)+"="+encodeURIComponent(i[t]));return e}function Te(i){let e={},t=i.split("&");for(let s=0,n=t.length;s{this.readyState="paused",e()};if(this._polling||!this.writable){let s=0;this._polling&&(s++,this.once("pollComplete",function(){--s||t()})),this.writable||(s++,this.once("drain",function(){--s||t()}))}else t()}_poll(){this._polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){const t=s=>{if(this.readyState==="opening"&&s.type==="open"&&this.onOpen(),s.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(s)};de(e,this.socket.binaryType).forEach(t),this.readyState!=="closed"&&(this._polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this._poll())}doClose(){const e=()=>{this.write([{type:"close"}])};this.readyState==="open"?e():this.once("open",e)}write(e){this.writable=!1,pe(e,t=>{this.doWrite(t,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const e=this.opts.secure?"https":"http",t=this.query||{};return this.opts.timestampRequests!==!1&&(t[this.opts.timestampParam]=ie()),!this.supportsBinary&&!t.sid&&(t.b64=1),this.createUri(e,t)}}let ne=!1;try{ne=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}const Ce=ne;function Se(){}class Be extends Oe{constructor(e){if(super(e),typeof location<"u"){const t=location.protocol==="https:";let s=location.port;s||(s=t?"443":"80"),this.xd=typeof location<"u"&&e.hostname!==location.hostname||s!==e.port}}doWrite(e,t){const s=this.request({method:"POST",data:e});s.on("success",t),s.on("error",(n,r)=>{this.onError("xhr post error",n,r)})}doPoll(){const e=this.request();e.on("data",this.onData.bind(this)),e.on("error",(t,s)=>{this.onError("xhr poll error",t,s)}),this.pollXhr=e}}class d extends u{constructor(e,t,s){super(),this.createRequest=e,S(this,s),this._opts=s,this._method=s.method||"GET",this._uri=t,this._data=s.data!==void 0?s.data:null,this._create()}_create(){var e;const t=se(this._opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");t.xdomain=!!this._opts.xd;const s=this._xhr=this.createRequest(t);try{s.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){s.setDisableHeaderCheck&&s.setDisableHeaderCheck(!0);for(let n in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(n)&&s.setRequestHeader(n,this._opts.extraHeaders[n])}}catch{}if(this._method==="POST")try{s.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{s.setRequestHeader("Accept","*/*")}catch{}(e=this._opts.cookieJar)===null||e===void 0||e.addCookies(s),"withCredentials"in s&&(s.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(s.timeout=this._opts.requestTimeout),s.onreadystatechange=()=>{var n;s.readyState===3&&((n=this._opts.cookieJar)===null||n===void 0||n.parseCookies(s.getResponseHeader("set-cookie"))),s.readyState===4&&(s.status===200||s.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof s.status=="number"?s.status:0)},0))},s.send(this._data)}catch(n){this.setTimeoutFn(()=>{this._onError(n)},0);return}typeof document<"u"&&(this._index=d.requestsCount++,d.requests[this._index]=this)}_onError(e){this.emitReserved("error",e,this._xhr),this._cleanup(!0)}_cleanup(e){if(!(typeof this._xhr>"u"||this._xhr===null)){if(this._xhr.onreadystatechange=Se,e)try{this._xhr.abort()}catch{}typeof document<"u"&&delete d.requests[this._index],this._xhr=null}}_onLoad(){const e=this._xhr.responseText;e!==null&&(this.emitReserved("data",e),this.emitReserved("success"),this._cleanup())}abort(){this._cleanup()}}d.requestsCount=0;d.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",J);else if(typeof addEventListener=="function"){const i="onpagehide"in l?"pagehide":"unload";addEventListener(i,J,!1)}}function J(){for(let i in d.requests)d.requests.hasOwnProperty(i)&&d.requests[i].abort()}const xe=function(){const i=re({xdomain:!1});return i&&i.responseType!==null}();class Ne extends Be{constructor(e){super(e);const t=e&&e.forceBase64;this.supportsBinary=xe&&!t}request(e={}){return Object.assign(e,{xd:this.xd},this.opts),new d(re,this.uri(),e)}}function re(i){const e=i.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!e||Ce))return new XMLHttpRequest}catch{}if(!e)try{return new l[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}const oe=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class Le extends H{get name(){return"websocket"}doOpen(){const e=this.uri(),t=this.opts.protocols,s=oe?{}:se(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(s.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(e,t,s)}catch(n){return this.emitReserved("error",n)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let t=0;t{try{this.doWrite(s,r)}catch{}n&&C(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.onerror=()=>{},this.ws.close(),this.ws=null)}uri(){const e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=ie()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}}const N=l.WebSocket||l.MozWebSocket;class Pe extends Le{createSocket(e,t,s){return oe?new N(e,t,s):t?new N(e,t):new N(e)}doWrite(e,t){this.ws.send(t)}}class qe extends H{get name(){return"webtransport"}doOpen(){try{this._transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name])}catch(e){return this.emitReserved("error",e)}this._transport.closed.then(()=>{this.onClose()}).catch(e=>{this.onError("webtransport error",e)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(e=>{const t=ge(Number.MAX_SAFE_INTEGER,this.socket.binaryType),s=e.readable.pipeThrough(t).getReader(),n=ye();n.readable.pipeTo(e.writable),this._writer=n.writable.getWriter();const r=()=>{s.read().then(({done:c,value:h})=>{c||(this.onPacket(h),r())}).catch(c=>{})};r();const o={type:"open"};this.query.sid&&(o.data=`{"sid":"${this.query.sid}"}`),this._writer.write(o).then(()=>this.onOpen())})})}write(e){this.writable=!1;for(let t=0;t{n&&C(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var e;(e=this._transport)===null||e===void 0||e.close()}}const De={websocket:Pe,webtransport:qe,polling:Ne},Ie=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,Ue=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function q(i){if(i.length>8e3)throw"URI too long";const e=i,t=i.indexOf("["),s=i.indexOf("]");t!=-1&&s!=-1&&(i=i.substring(0,t)+i.substring(t,s).replace(/:/g,";")+i.substring(s,i.length));let n=Ie.exec(i||""),r={},o=14;for(;o--;)r[Ue[o]]=n[o]||"";return t!=-1&&s!=-1&&(r.source=e,r.host=r.host.substring(1,r.host.length-1).replace(/;/g,":"),r.authority=r.authority.replace("[","").replace("]","").replace(/;/g,":"),r.ipv6uri=!0),r.pathNames=Fe(r,r.path),r.queryKey=Ve(r,r.query),r}function Fe(i,e){const t=/\/{2,9}/g,s=e.replace(t,"/").split("/");return(e.slice(0,1)=="/"||e.length===0)&&s.splice(0,1),e.slice(-1)=="/"&&s.splice(s.length-1,1),s}function Ve(i,e){const t={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(s,n,r){n&&(t[n]=r)}),t}const D=typeof addEventListener=="function"&&typeof removeEventListener=="function",R=[];D&&addEventListener("offline",()=>{R.forEach(i=>i())},!1);class _ extends u{constructor(e,t){if(super(),this.binaryType=_e,this.writeBuffer=[],this._prevBufferLen=0,this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,e&&typeof e=="object"&&(t=e,e=null),e){const s=q(e);t.hostname=s.host,t.secure=s.protocol==="https"||s.protocol==="wss",t.port=s.port,s.query&&(t.query=s.query)}else t.host&&(t.hostname=q(t.host).host);S(this,t),this.secure=t.secure!=null?t.secure:typeof location<"u"&&location.protocol==="https:",t.hostname&&!t.port&&(t.port=this.secure?"443":"80"),this.hostname=t.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=t.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=[],this._transportsByName={},t.transports.forEach(s=>{const n=s.prototype.name;this.transports.push(n),this._transportsByName[n]=s}),this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},t),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=Te(this.opts.query)),D&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this._beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this._offlineEventListener=()=>{this._onClose("transport close",{description:"network connection lost"})},R.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=void 0),this._open()}createTransport(e){const t=Object.assign({},this.opts.query);t.EIO=te,t.transport=e,this.id&&(t.sid=this.id);const s=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return new this._transportsByName[e](s)}_open(){if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}const e=this.opts.rememberUpgrade&&_.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1?"websocket":this.transports[0];this.readyState="opening";const t=this.createTransport(e);t.open(),this.setTransport(t)}setTransport(e){this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on("drain",this._onDrain.bind(this)).on("packet",this._onPacket.bind(this)).on("error",this._onError.bind(this)).on("close",t=>this._onClose("transport close",t))}onOpen(){this.readyState="open",_.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush()}_onPacket(e){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")switch(this.emitReserved("packet",e),this.emitReserved("heartbeat"),e.type){case"open":this.onHandshake(JSON.parse(e.data));break;case"ping":this._sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this._resetPingTimeout();break;case"error":const t=new Error("server error");t.code=e.data,this._onError(t);break;case"message":this.emitReserved("data",e.data),this.emitReserved("message",e.data);break}}onHandshake(e){this.emitReserved("handshake",e),this.id=e.sid,this.transport.query.sid=e.sid,this._pingInterval=e.pingInterval,this._pingTimeout=e.pingTimeout,this._maxPayload=e.maxPayload,this.onOpen(),this.readyState!=="closed"&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);const e=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+e,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose("ping timeout")},e),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const e=this._getWritablePackets();this.transport.send(e),this._prevBufferLen=e.length,this.emitReserved("flush")}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let t=1;for(let s=0;s0&&t>this._maxPayload)return this.writeBuffer.slice(0,s);t+=2}return this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;const e=Date.now()>this._pingTimeoutTime;return e&&(this._pingTimeoutTime=0,C(()=>{this._onClose("ping timeout")},this.setTimeoutFn)),e}write(e,t,s){return this._sendPacket("message",e,t,s),this}send(e,t,s){return this._sendPacket("message",e,t,s),this}_sendPacket(e,t,s,n){if(typeof t=="function"&&(n=t,t=void 0),typeof s=="function"&&(n=s,s=null),this.readyState==="closing"||this.readyState==="closed")return;s=s||{},s.compress=s.compress!==!1;const r={type:e,data:t,options:s};this.emitReserved("packetCreate",r),this.writeBuffer.push(r),n&&this.once("flush",n),this.flush()}close(){const e=()=>{this._onClose("forced close"),this.transport.close()},t=()=>{this.off("upgrade",t),this.off("upgradeError",t),e()},s=()=>{this.once("upgrade",t),this.once("upgradeError",t)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?s():e()}):this.upgrading?s():e()),this}_onError(e){if(_.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState==="opening")return this.transports.shift(),this._open();this.emitReserved("error",e),this._onClose("transport error",e)}_onClose(e,t){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing"){if(this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),D&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){const s=R.indexOf(this._offlineEventListener);s!==-1&&R.splice(s,1)}this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this._prevBufferLen=0}}}_.protocol=te;class Me extends _{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),this.readyState==="open"&&this.opts.upgrade)for(let e=0;e{s||(t.send([{type:"ping",data:"probe"}]),t.once("packet",m=>{if(!s)if(m.type==="pong"&&m.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;_.priorWebsocketSuccess=t.name==="websocket",this.transport.pause(()=>{s||this.readyState!=="closed"&&(f(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())})}else{const w=new Error("probe error");w.transport=t.name,this.emitReserved("upgradeError",w)}}))};function r(){s||(s=!0,f(),t.close(),t=null)}const o=m=>{const w=new Error("probe error: "+m);w.transport=t.name,r(),this.emitReserved("upgradeError",w)};function c(){o("transport closed")}function h(){o("socket closed")}function g(m){t&&m.name!==t.name&&r()}const f=()=>{t.removeListener("open",n),t.removeListener("error",o),t.removeListener("close",c),this.off("close",h),this.off("upgrading",g)};t.once("open",n),t.once("error",o),t.once("close",c),this.once("close",h),this.once("upgrading",g),this._upgrades.indexOf("webtransport")!==-1&&e!=="webtransport"?this.setTimeoutFn(()=>{s||t.open()},200):t.open()}onHandshake(e){this._upgrades=this._filterUpgrades(e.upgrades),super.onHandshake(e)}_filterUpgrades(e){const t=[];for(let s=0;sDe[n]).filter(n=>!!n)),super(e,s)}};function Ke(i,e="",t){let s=i;t=t||typeof location<"u"&&location,i==null&&(i=t.protocol+"//"+t.host),typeof i=="string"&&(i.charAt(0)==="/"&&(i.charAt(1)==="/"?i=t.protocol+i:i=t.host+i),/^(https?|wss?):\/\//.test(i)||(typeof t<"u"?i=t.protocol+"//"+i:i="https://"+i),s=q(i)),s.port||(/^(http|ws)$/.test(s.protocol)?s.port="80":/^(http|ws)s$/.test(s.protocol)&&(s.port="443")),s.path=s.path||"/";const r=s.host.indexOf(":")!==-1?"["+s.host+"]":s.host;return s.id=s.protocol+"://"+r+":"+s.port+e,s.href=s.protocol+"://"+r+(t&&t.port===s.port?"":":"+s.port),s}const We=typeof ArrayBuffer=="function",$e=i=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(i):i.buffer instanceof ArrayBuffer,ae=Object.prototype.toString,Ye=typeof Blob=="function"||typeof Blob<"u"&&ae.call(Blob)==="[object BlobConstructor]",ze=typeof File=="function"||typeof File<"u"&&ae.call(File)==="[object FileConstructor]";function K(i){return We&&(i instanceof ArrayBuffer||$e(i))||Ye&&i instanceof Blob||ze&&i instanceof File}function O(i,e){if(!i||typeof i!="object")return!1;if(Array.isArray(i)){for(let t=0,s=i.length;t=0&&i.num{delete this.acks[e];for(let c=0;c{this.io.clearTimeoutFn(r),t.apply(this,c)};o.withError=!0,this.acks[e]=o}emitWithAck(e,...t){return new Promise((s,n)=>{const r=(o,c)=>o?n(o):s(c);r.withError=!0,t.push(r),this.emit(e,...t)})}_addToQueue(e){let t;typeof e[e.length-1]=="function"&&(t=e.pop());const s={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((n,...r)=>(this._queue[0],n!==null?s.tryCount>this._opts.retries&&(this._queue.shift(),t&&t(n)):(this._queue.shift(),t&&t(null,...r)),s.pending=!1,this._drainQueue())),this._queue.push(s),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||this._queue.length===0)return;const t=this._queue[0];t.pending&&!e||(t.pending=!0,t.tryCount++,this.flags=t.flags,this.emit.apply(this,t.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){typeof this.auth=="function"?this.auth(e=>{this._sendConnectPacket(e)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:a.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(e=>{if(!this.sendBuffer.some(s=>String(s.id)===e)){const s=this.acks[e];delete this.acks[e],s.withError&&s.call(this,new Error("socket has been disconnected"))}})}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case a.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case a.EVENT:case a.BINARY_EVENT:this.onevent(e);break;case a.ACK:case a.BINARY_ACK:this.onack(e);break;case a.DISCONNECT:this.ondisconnect();break;case a.CONNECT_ERROR:this.destroy();const s=new Error(e.data.message);s.data=e.data.data,this.emitReserved("connect_error",s);break}}onevent(e){const t=e.data||[];e.id!=null&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){const t=this._anyListeners.slice();for(const s of t)s.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&typeof e[e.length-1]=="string"&&(this._lastOffset=e[e.length-1])}ack(e){const t=this;let s=!1;return function(...n){s||(s=!0,t.packet({type:a.ACK,id:e,data:n}))}}onack(e){const t=this.acks[e.id];typeof t=="function"&&(delete this.acks[e.id],t.withError&&e.data.unshift(null),t.apply(this,e.data))}onconnect(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this._drainQueue(!0),this.emitReserved("connect")}emitBuffered(){this.receiveBuffer.forEach(e=>this.emitEvent(e)),this.receiveBuffer=[],this.sendBuffer.forEach(e=>{this.notifyOutgoingListeners(e),this.packet(e)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(e=>e()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:a.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){const t=this._anyListeners;for(let s=0;s0&&i.jitter<=1?i.jitter:0,this.attempts=0}b.prototype.duration=function(){var i=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),t=Math.floor(e*this.jitter*i);i=Math.floor(e*10)&1?i+t:i-t}return Math.min(i,this.max)|0};b.prototype.reset=function(){this.attempts=0};b.prototype.setMin=function(i){this.ms=i};b.prototype.setMax=function(i){this.max=i};b.prototype.setJitter=function(i){this.jitter=i};class F extends u{constructor(e,t){var s;super(),this.nsps={},this.subs=[],e&&typeof e=="object"&&(t=e,e=void 0),t=t||{},t.path=t.path||"/socket.io",this.opts=t,S(this,t),this.reconnection(t.reconnection!==!1),this.reconnectionAttempts(t.reconnectionAttempts||1/0),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor((s=t.randomizationFactor)!==null&&s!==void 0?s:.5),this.backoff=new b({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(t.timeout==null?2e4:t.timeout),this._readyState="closed",this.uri=e;const n=t.parser||Ze;this.encoder=new n.Encoder,this.decoder=new n.Decoder,this._autoConnect=t.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,e||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(e){return e===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return e===void 0?this._reconnectionDelay:(this._reconnectionDelay=e,(t=this.backoff)===null||t===void 0||t.setMin(e),this)}randomizationFactor(e){var t;return e===void 0?this._randomizationFactor:(this._randomizationFactor=e,(t=this.backoff)===null||t===void 0||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return e===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,(t=this.backoff)===null||t===void 0||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(e){if(~this._readyState.indexOf("open"))return this;this.engine=new He(this.uri,this.opts);const t=this.engine,s=this;this._readyState="opening",this.skipReconnect=!1;const n=p(t,"open",function(){s.onopen(),e&&e()}),r=c=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",c),e?e(c):this.maybeReconnectOnOpen()},o=p(t,"error",r);if(this._timeout!==!1){const c=this._timeout,h=this.setTimeoutFn(()=>{n(),r(new Error("timeout")),t.close()},c);this.opts.autoUnref&&h.unref(),this.subs.push(()=>{this.clearTimeoutFn(h)})}return this.subs.push(n),this.subs.push(o),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const e=this.engine;this.subs.push(p(e,"ping",this.onping.bind(this)),p(e,"data",this.ondata.bind(this)),p(e,"error",this.onerror.bind(this)),p(e,"close",this.onclose.bind(this)),p(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(t){this.onclose("parse error",t)}}ondecoded(e){C(()=>{this.emitReserved("packet",e)},this.setTimeoutFn)}onerror(e){this.emitReserved("error",e)}socket(e,t){let s=this.nsps[e];return s?this._autoConnect&&!s.active&&s.connect():(s=new ce(this,e,t),this.nsps[e]=s),s}_destroy(e){const t=Object.keys(this.nsps);for(const s of t)if(this.nsps[s].active)return;this._close()}_packet(e){const t=this.encoder.encode(e);for(let s=0;se()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close")}disconnect(){return this._close()}onclose(e,t){var s;this.cleanup(),(s=this.engine)===null||s===void 0||s.close(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const t=this.backoff.duration();this._reconnecting=!0;const s=this.setTimeoutFn(()=>{e.skipReconnect||(this.emitReserved("reconnect_attempt",e.backoff.attempts),!e.skipReconnect&&e.open(n=>{n?(e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",n)):e.onreconnect()}))},t);this.opts.autoUnref&&s.unref(),this.subs.push(()=>{this.clearTimeoutFn(s)})}}onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}const v={};function L(i,e){typeof i=="object"&&(e=i,i=void 0),e=e||{};const t=Ke(i,e.path||"/socket.io"),s=t.source,n=t.id,r=t.path,o=v[n]&&r in v[n].nsps,c=e.forceNew||e["force new connection"]||e.multiplex===!1||o;let h;return c?h=new F(s,e):(v[n]||(v[n]=new F(s,e)),h=v[n]),t.query&&!e.query&&(e.query=t.queryKey),h.socket(t.path,e)}Object.assign(L,{Manager:F,Socket:ce,io:L,connect:L});export{L as l}; diff --git a/assets/vendor-utils-DDRLRfsI.js b/assets/vendor-utils-DDRLRfsI.js new file mode 100644 index 0000000..08bb3d0 --- /dev/null +++ b/assets/vendor-utils-DDRLRfsI.js @@ -0,0 +1,6 @@ +function lt(e,t){return function(){return e.apply(t,arguments)}}const{toString:Jt}=Object.prototype,{getPrototypeOf:_e}=Object,{iterator:le,toStringTag:ft}=Symbol,fe=(e=>t=>{const n=Jt.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),B=e=>(e=e.toLowerCase(),t=>fe(t)===e),de=e=>t=>typeof t===e,{isArray:V}=Array,z=de("undefined");function X(e){return e!==null&&!z(e)&&e.constructor!==null&&!z(e.constructor)&&C(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const dt=B("ArrayBuffer");function Wt(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&dt(e.buffer),t}const Kt=de("string"),C=de("function"),pt=de("number"),Z=e=>e!==null&&typeof e=="object",Xt=e=>e===!0||e===!1,oe=e=>{if(fe(e)!=="object")return!1;const t=_e(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(ft in e)&&!(le in e)},Zt=e=>{if(!Z(e)||X(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},Gt=B("Date"),Qt=B("File"),Yt=e=>!!(e&&typeof e.uri<"u"),en=e=>e&&typeof e.getParts<"u",tn=B("Blob"),nn=B("FileList"),rn=e=>Z(e)&&C(e.pipe);function sn(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}const Me=sn(),$e=typeof Me.FormData<"u"?Me.FormData:void 0,on=e=>{let t;return e&&($e&&e instanceof $e||C(e.append)&&((t=fe(e))==="formdata"||t==="object"&&C(e.toString)&&e.toString()==="[object FormData]"))},an=B("URLSearchParams"),[cn,un,ln,fn]=["ReadableStream","Request","Response","Headers"].map(B),dn=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function G(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,s;if(typeof e!="object"&&(e=[e]),V(e))for(r=0,s=e.length;r0;)if(s=n[r],t===s.toLowerCase())return s;return null}const k=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,mt=e=>!z(e)&&e!==k;function Se(){const{caseless:e,skipUndefined:t}=mt(this)&&this||{},n={},r=(s,o)=>{if(o==="__proto__"||o==="constructor"||o==="prototype")return;const i=e&&ht(n,o)||o;oe(n[i])&&oe(s)?n[i]=Se(n[i],s):oe(s)?n[i]=Se({},s):V(s)?n[i]=s.slice():(!t||!z(s))&&(n[i]=s)};for(let s=0,o=arguments.length;s(G(t,(s,o)=>{n&&C(s)?Object.defineProperty(e,o,{value:lt(s,n),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,o,{value:s,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:r}),e),hn=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),mn=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},yn=(e,t,n,r)=>{let s,o,i;const c={};if(t=t||{},e==null)return t;do{for(s=Object.getOwnPropertyNames(e),o=s.length;o-- >0;)i=s[o],(!r||r(i,e,t))&&!c[i]&&(t[i]=e[i],c[i]=!0);e=n!==!1&&_e(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},bn=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},wn=e=>{if(!e)return null;if(V(e))return e;let t=e.length;if(!pt(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},gn=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&_e(Uint8Array)),Rn=(e,t)=>{const r=(e&&e[le]).call(e);let s;for(;(s=r.next())&&!s.done;){const o=s.value;t.call(e,o[0],o[1])}},En=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},Sn=B("HTMLFormElement"),An=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,s){return r.toUpperCase()+s}),ze=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),xn=B("RegExp"),yt=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};G(n,(s,o)=>{let i;(i=t(s,o,e))!==!1&&(r[o]=i||s)}),Object.defineProperties(e,r)},On=e=>{yt(e,(t,n)=>{if(C(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=e[n];if(C(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},Tn=(e,t)=>{const n={},r=s=>{s.forEach(o=>{n[o]=!0})};return V(e)?r(e):r(String(e).split(t)),n},Cn=()=>{},_n=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Un(e){return!!(e&&C(e.append)&&e[ft]==="FormData"&&e[le])}const Nn=e=>{const t=new Array(10),n=(r,s)=>{if(Z(r)){if(t.indexOf(r)>=0)return;if(X(r))return r;if(!("toJSON"in r)){t[s]=r;const o=V(r)?[]:{};return G(r,(i,c)=>{const p=n(i,s+1);!z(p)&&(o[c]=p)}),t[s]=void 0,o}}return r};return n(e,0)},Pn=B("AsyncFunction"),Fn=e=>e&&(Z(e)||C(e))&&C(e.then)&&C(e.catch),bt=((e,t)=>e?setImmediate:t?((n,r)=>(k.addEventListener("message",({source:s,data:o})=>{s===k&&o===n&&r.length&&r.shift()()},!1),s=>{r.push(s),k.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",C(k.postMessage)),Bn=typeof queueMicrotask<"u"?queueMicrotask.bind(k):typeof process<"u"&&process.nextTick||bt,Dn=e=>e!=null&&C(e[le]),a={isArray:V,isArrayBuffer:dt,isBuffer:X,isFormData:on,isArrayBufferView:Wt,isString:Kt,isNumber:pt,isBoolean:Xt,isObject:Z,isPlainObject:oe,isEmptyObject:Zt,isReadableStream:cn,isRequest:un,isResponse:ln,isHeaders:fn,isUndefined:z,isDate:Gt,isFile:Qt,isReactNativeBlob:Yt,isReactNative:en,isBlob:tn,isRegExp:xn,isFunction:C,isStream:rn,isURLSearchParams:an,isTypedArray:gn,isFileList:nn,forEach:G,merge:Se,extend:pn,trim:dn,stripBOM:hn,inherits:mn,toFlatObject:yn,kindOf:fe,kindOfTest:B,endsWith:bn,toArray:wn,forEachEntry:Rn,matchAll:En,isHTMLForm:Sn,hasOwnProperty:ze,hasOwnProp:ze,reduceDescriptors:yt,freezeMethods:On,toObjectSet:Tn,toCamelCase:An,noop:Cn,toFiniteNumber:_n,findKey:ht,global:k,isContextDefined:mt,isSpecCompliantForm:Un,toJSONObject:Nn,isAsyncFn:Pn,isThenable:Fn,setImmediate:bt,asap:Bn,isIterable:Dn};let y=class wt extends Error{static from(t,n,r,s,o,i){const c=new wt(t.message,n||t.code,r,s,o);return c.cause=t,c.name=t.name,t.status!=null&&c.status==null&&(c.status=t.status),i&&Object.assign(c,i),c}constructor(t,n,r,s,o){super(t),Object.defineProperty(this,"message",{value:t,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,n&&(this.code=n),r&&(this.config=r),s&&(this.request=s),o&&(this.response=o,this.status=o.status)}toJSON(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:a.toJSONObject(this.config),code:this.code,status:this.status}}};y.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";y.ERR_BAD_OPTION="ERR_BAD_OPTION";y.ECONNABORTED="ECONNABORTED";y.ETIMEDOUT="ETIMEDOUT";y.ERR_NETWORK="ERR_NETWORK";y.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";y.ERR_DEPRECATED="ERR_DEPRECATED";y.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";y.ERR_BAD_REQUEST="ERR_BAD_REQUEST";y.ERR_CANCELED="ERR_CANCELED";y.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";y.ERR_INVALID_URL="ERR_INVALID_URL";const Ln=null;function Ae(e){return a.isPlainObject(e)||a.isArray(e)}function gt(e){return a.endsWith(e,"[]")?e.slice(0,-2):e}function be(e,t,n){return e?e.concat(t).map(function(s,o){return s=gt(s),!n&&o?"["+s+"]":s}).join(n?".":""):t}function In(e){return a.isArray(e)&&!e.some(Ae)}const jn=a.toFlatObject(a,{},null,function(t){return/^is[A-Z]/.test(t)});function pe(e,t,n){if(!a.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=a.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(m,d){return!a.isUndefined(d[m])});const r=n.metaTokens,s=n.visitor||u,o=n.dots,i=n.indexes,p=(n.Blob||typeof Blob<"u"&&Blob)&&a.isSpecCompliantForm(t);if(!a.isFunction(s))throw new TypeError("visitor must be a function");function f(l){if(l===null)return"";if(a.isDate(l))return l.toISOString();if(a.isBoolean(l))return l.toString();if(!p&&a.isBlob(l))throw new y("Blob is not supported. Use a Buffer instead.");return a.isArrayBuffer(l)||a.isTypedArray(l)?p&&typeof Blob=="function"?new Blob([l]):Buffer.from(l):l}function u(l,m,d){let w=l;if(a.isReactNative(t)&&a.isReactNativeBlob(l))return t.append(be(d,m,o),f(l)),!1;if(l&&!d&&typeof l=="object"){if(a.endsWith(m,"{}"))m=r?m:m.slice(0,-2),l=JSON.stringify(l);else if(a.isArray(l)&&In(l)||(a.isFileList(l)||a.endsWith(m,"[]"))&&(w=a.toArray(l)))return m=gt(m),w.forEach(function(R,O){!(a.isUndefined(R)||R===null)&&t.append(i===!0?be([m],O,o):i===null?m:m+"[]",f(R))}),!1}return Ae(l)?!0:(t.append(be(d,m,o),f(l)),!1)}const h=[],b=Object.assign(jn,{defaultVisitor:u,convertValue:f,isVisitable:Ae});function A(l,m){if(!a.isUndefined(l)){if(h.indexOf(l)!==-1)throw Error("Circular reference detected in "+m.join("."));h.push(l),a.forEach(l,function(w,U){(!(a.isUndefined(w)||w===null)&&s.call(t,w,a.isString(U)?U.trim():U,m,b))===!0&&A(w,m?m.concat(U):[U])}),h.pop()}}if(!a.isObject(e))throw new TypeError("data must be an object");return A(e),t}function Ve(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function Ue(e,t){this._pairs=[],e&&pe(e,this,t)}const Rt=Ue.prototype;Rt.append=function(t,n){this._pairs.push([t,n])};Rt.toString=function(t){const n=t?function(r){return t.call(this,r,Ve)}:Ve;return this._pairs.map(function(s){return n(s[0])+"="+n(s[1])},"").join("&")};function kn(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function Et(e,t,n){if(!t)return e;const r=n&&n.encode||kn,s=a.isFunction(n)?{serialize:n}:n,o=s&&s.serialize;let i;if(o?i=o(t,s):i=a.isURLSearchParams(t)?t.toString():new Ue(t,s).toString(r),i){const c=e.indexOf("#");c!==-1&&(e=e.slice(0,c)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}class ve{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){a.forEach(this.handlers,function(r){r!==null&&t(r)})}}const Ne={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0},qn=typeof URLSearchParams<"u"?URLSearchParams:Ue,Hn=typeof FormData<"u"?FormData:null,Mn=typeof Blob<"u"?Blob:null,$n={isBrowser:!0,classes:{URLSearchParams:qn,FormData:Hn,Blob:Mn},protocols:["http","https","file","blob","url","data"]},Pe=typeof window<"u"&&typeof document<"u",xe=typeof navigator=="object"&&navigator||void 0,zn=Pe&&(!xe||["ReactNative","NativeScript","NS"].indexOf(xe.product)<0),Vn=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",vn=Pe&&window.location.href||"http://localhost",Jn=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Pe,hasStandardBrowserEnv:zn,hasStandardBrowserWebWorkerEnv:Vn,navigator:xe,origin:vn},Symbol.toStringTag,{value:"Module"})),x={...Jn,...$n};function Wn(e,t){return pe(e,new x.classes.URLSearchParams,{visitor:function(n,r,s,o){return x.isNode&&a.isBuffer(n)?(this.append(r,n.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)},...t})}function Kn(e){return a.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function Xn(e){const t={},n=Object.keys(e);let r;const s=n.length;let o;for(r=0;r=n.length;return i=!i&&a.isArray(s)?s.length:i,p?(a.hasOwnProp(s,i)?s[i]=[s[i],r]:s[i]=r,!c):((!s[i]||!a.isObject(s[i]))&&(s[i]=[]),t(n,r,s[i],o)&&a.isArray(s[i])&&(s[i]=Xn(s[i])),!c)}if(a.isFormData(e)&&a.isFunction(e.entries)){const n={};return a.forEachEntry(e,(r,s)=>{t(Kn(r),s,n,0)}),n}return null}function Zn(e,t,n){if(a.isString(e))try{return(t||JSON.parse)(e),a.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const Q={transitional:Ne,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const r=n.getContentType()||"",s=r.indexOf("application/json")>-1,o=a.isObject(t);if(o&&a.isHTMLForm(t)&&(t=new FormData(t)),a.isFormData(t))return s?JSON.stringify(St(t)):t;if(a.isArrayBuffer(t)||a.isBuffer(t)||a.isStream(t)||a.isFile(t)||a.isBlob(t)||a.isReadableStream(t))return t;if(a.isArrayBufferView(t))return t.buffer;if(a.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let c;if(o){if(r.indexOf("application/x-www-form-urlencoded")>-1)return Wn(t,this.formSerializer).toString();if((c=a.isFileList(t))||r.indexOf("multipart/form-data")>-1){const p=this.env&&this.env.FormData;return pe(c?{"files[]":t}:t,p&&new p,this.formSerializer)}}return o||s?(n.setContentType("application/json",!1),Zn(t)):t}],transformResponse:[function(t){const n=this.transitional||Q.transitional,r=n&&n.forcedJSONParsing,s=this.responseType==="json";if(a.isResponse(t)||a.isReadableStream(t))return t;if(t&&a.isString(t)&&(r&&!this.responseType||s)){const i=!(n&&n.silentJSONParsing)&&s;try{return JSON.parse(t,this.parseReviver)}catch(c){if(i)throw c.name==="SyntaxError"?y.from(c,y.ERR_BAD_RESPONSE,this,null,this.response):c}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:x.classes.FormData,Blob:x.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};a.forEach(["delete","get","head","post","put","patch"],e=>{Q.headers[e]={}});const Gn=a.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Qn=e=>{const t={};let n,r,s;return e&&e.split(` +`).forEach(function(i){s=i.indexOf(":"),n=i.substring(0,s).trim().toLowerCase(),r=i.substring(s+1).trim(),!(!n||t[n]&&Gn[n])&&(n==="set-cookie"?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t},Je=Symbol("internals");function W(e){return e&&String(e).trim().toLowerCase()}function ie(e){return e===!1||e==null?e:a.isArray(e)?e.map(ie):String(e)}function Yn(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}const er=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function we(e,t,n,r,s){if(a.isFunction(r))return r.call(this,t,n);if(s&&(t=n),!!a.isString(t)){if(a.isString(r))return t.indexOf(r)!==-1;if(a.isRegExp(r))return r.test(t)}}function tr(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function nr(e,t){const n=a.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{value:function(s,o,i){return this[r].call(this,t,s,o,i)},configurable:!0})})}let _=class{constructor(t){t&&this.set(t)}set(t,n,r){const s=this;function o(c,p,f){const u=W(p);if(!u)throw new Error("header name must be a non-empty string");const h=a.findKey(s,u);(!h||s[h]===void 0||f===!0||f===void 0&&s[h]!==!1)&&(s[h||p]=ie(c))}const i=(c,p)=>a.forEach(c,(f,u)=>o(f,u,p));if(a.isPlainObject(t)||t instanceof this.constructor)i(t,n);else if(a.isString(t)&&(t=t.trim())&&!er(t))i(Qn(t),n);else if(a.isObject(t)&&a.isIterable(t)){let c={},p,f;for(const u of t){if(!a.isArray(u))throw TypeError("Object iterator must return a key-value pair");c[f=u[0]]=(p=c[f])?a.isArray(p)?[...p,u[1]]:[p,u[1]]:u[1]}i(c,n)}else t!=null&&o(n,t,r);return this}get(t,n){if(t=W(t),t){const r=a.findKey(this,t);if(r){const s=this[r];if(!n)return s;if(n===!0)return Yn(s);if(a.isFunction(n))return n.call(this,s,r);if(a.isRegExp(n))return n.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=W(t),t){const r=a.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||we(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let s=!1;function o(i){if(i=W(i),i){const c=a.findKey(r,i);c&&(!n||we(r,r[c],c,n))&&(delete r[c],s=!0)}}return a.isArray(t)?t.forEach(o):o(t),s}clear(t){const n=Object.keys(this);let r=n.length,s=!1;for(;r--;){const o=n[r];(!t||we(this,this[o],o,t,!0))&&(delete this[o],s=!0)}return s}normalize(t){const n=this,r={};return a.forEach(this,(s,o)=>{const i=a.findKey(r,o);if(i){n[i]=ie(s),delete n[o];return}const c=t?tr(o):String(o).trim();c!==o&&delete n[o],n[c]=ie(s),r[c]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return a.forEach(this,(r,s)=>{r!=null&&r!==!1&&(n[s]=t&&a.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(` +`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const r=new this(t);return n.forEach(s=>r.set(s)),r}static accessor(t){const r=(this[Je]=this[Je]={accessors:{}}).accessors,s=this.prototype;function o(i){const c=W(i);r[c]||(nr(s,i),r[c]=!0)}return a.isArray(t)?t.forEach(o):o(t),this}};_.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);a.reduceDescriptors(_.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});a.freezeMethods(_);function ge(e,t){const n=this||Q,r=t||n,s=_.from(r.headers);let o=r.data;return a.forEach(e,function(c){o=c.call(n,o,s.normalize(),t?t.status:void 0)}),s.normalize(),o}function At(e){return!!(e&&e.__CANCEL__)}let Y=class extends y{constructor(t,n,r){super(t??"canceled",y.ERR_CANCELED,n,r),this.name="CanceledError",this.__CANCEL__=!0}};function xt(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new y("Request failed with status code "+n.status,[y.ERR_BAD_REQUEST,y.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function rr(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function sr(e,t){e=e||10;const n=new Array(e),r=new Array(e);let s=0,o=0,i;return t=t!==void 0?t:1e3,function(p){const f=Date.now(),u=r[o];i||(i=f),n[s]=p,r[s]=f;let h=o,b=0;for(;h!==s;)b+=n[h++],h=h%e;if(s=(s+1)%e,s===o&&(o=(o+1)%e),f-i{n=u,s=null,o&&(clearTimeout(o),o=null),e(...f)};return[(...f)=>{const u=Date.now(),h=u-n;h>=r?i(f,u):(s=f,o||(o=setTimeout(()=>{o=null,i(s)},r-h)))},()=>s&&i(s)]}const ue=(e,t,n=3)=>{let r=0;const s=sr(50,250);return or(o=>{const i=o.loaded,c=o.lengthComputable?o.total:void 0,p=i-r,f=s(p),u=i<=c;r=i;const h={loaded:i,total:c,progress:c?i/c:void 0,bytes:p,rate:f||void 0,estimated:f&&c&&u?(c-i)/f:void 0,event:o,lengthComputable:c!=null,[t?"download":"upload"]:!0};e(h)},n)},We=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},Ke=e=>(...t)=>a.asap(()=>e(...t)),ir=x.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,x.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(x.origin),x.navigator&&/(msie|trident)/i.test(x.navigator.userAgent)):()=>!0,ar=x.hasStandardBrowserEnv?{write(e,t,n,r,s,o,i){if(typeof document>"u")return;const c=[`${e}=${encodeURIComponent(t)}`];a.isNumber(n)&&c.push(`expires=${new Date(n).toUTCString()}`),a.isString(r)&&c.push(`path=${r}`),a.isString(s)&&c.push(`domain=${s}`),o===!0&&c.push("secure"),a.isString(i)&&c.push(`SameSite=${i}`),document.cookie=c.join("; ")},read(e){if(typeof document>"u")return null;const t=document.cookie.match(new RegExp("(?:^|; )"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function cr(e){return typeof e!="string"?!1:/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function ur(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function Ot(e,t,n){let r=!cr(t);return e&&(r||n==!1)?ur(e,t):t}const Xe=e=>e instanceof _?{...e}:e;function H(e,t){t=t||{};const n={};function r(f,u,h,b){return a.isPlainObject(f)&&a.isPlainObject(u)?a.merge.call({caseless:b},f,u):a.isPlainObject(u)?a.merge({},u):a.isArray(u)?u.slice():u}function s(f,u,h,b){if(a.isUndefined(u)){if(!a.isUndefined(f))return r(void 0,f,h,b)}else return r(f,u,h,b)}function o(f,u){if(!a.isUndefined(u))return r(void 0,u)}function i(f,u){if(a.isUndefined(u)){if(!a.isUndefined(f))return r(void 0,f)}else return r(void 0,u)}function c(f,u,h){if(h in t)return r(f,u);if(h in e)return r(void 0,f)}const p={url:o,method:o,data:o,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:c,headers:(f,u,h)=>s(Xe(f),Xe(u),h,!0)};return a.forEach(Object.keys({...e,...t}),function(u){if(u==="__proto__"||u==="constructor"||u==="prototype")return;const h=a.hasOwnProp(p,u)?p[u]:s,b=h(e[u],t[u],u);a.isUndefined(b)&&h!==c||(n[u]=b)}),n}const Tt=e=>{const t=H({},e);let{data:n,withXSRFToken:r,xsrfHeaderName:s,xsrfCookieName:o,headers:i,auth:c}=t;if(t.headers=i=_.from(i),t.url=Et(Ot(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),c&&i.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),a.isFormData(n)){if(x.hasStandardBrowserEnv||x.hasStandardBrowserWebWorkerEnv)i.setContentType(void 0);else if(a.isFunction(n.getHeaders)){const p=n.getHeaders(),f=["content-type","content-length"];Object.entries(p).forEach(([u,h])=>{f.includes(u.toLowerCase())&&i.set(u,h)})}}if(x.hasStandardBrowserEnv&&(r&&a.isFunction(r)&&(r=r(t)),r||r!==!1&&ir(t.url))){const p=s&&o&&ar.read(o);p&&i.set(s,p)}return t},lr=typeof XMLHttpRequest<"u",fr=lr&&function(e){return new Promise(function(n,r){const s=Tt(e);let o=s.data;const i=_.from(s.headers).normalize();let{responseType:c,onUploadProgress:p,onDownloadProgress:f}=s,u,h,b,A,l;function m(){A&&A(),l&&l(),s.cancelToken&&s.cancelToken.unsubscribe(u),s.signal&&s.signal.removeEventListener("abort",u)}let d=new XMLHttpRequest;d.open(s.method.toUpperCase(),s.url,!0),d.timeout=s.timeout;function w(){if(!d)return;const R=_.from("getAllResponseHeaders"in d&&d.getAllResponseHeaders()),F={data:!c||c==="text"||c==="json"?d.responseText:d.response,status:d.status,statusText:d.statusText,headers:R,config:e,request:d};xt(function(N){n(N),m()},function(N){r(N),m()},F),d=null}"onloadend"in d?d.onloadend=w:d.onreadystatechange=function(){!d||d.readyState!==4||d.status===0&&!(d.responseURL&&d.responseURL.indexOf("file:")===0)||setTimeout(w)},d.onabort=function(){d&&(r(new y("Request aborted",y.ECONNABORTED,e,d)),d=null)},d.onerror=function(O){const F=O&&O.message?O.message:"Network Error",I=new y(F,y.ERR_NETWORK,e,d);I.event=O||null,r(I),d=null},d.ontimeout=function(){let O=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded";const F=s.transitional||Ne;s.timeoutErrorMessage&&(O=s.timeoutErrorMessage),r(new y(O,F.clarifyTimeoutError?y.ETIMEDOUT:y.ECONNABORTED,e,d)),d=null},o===void 0&&i.setContentType(null),"setRequestHeader"in d&&a.forEach(i.toJSON(),function(O,F){d.setRequestHeader(F,O)}),a.isUndefined(s.withCredentials)||(d.withCredentials=!!s.withCredentials),c&&c!=="json"&&(d.responseType=s.responseType),f&&([b,l]=ue(f,!0),d.addEventListener("progress",b)),p&&d.upload&&([h,A]=ue(p),d.upload.addEventListener("progress",h),d.upload.addEventListener("loadend",A)),(s.cancelToken||s.signal)&&(u=R=>{d&&(r(!R||R.type?new Y(null,e,d):R),d.abort(),d=null)},s.cancelToken&&s.cancelToken.subscribe(u),s.signal&&(s.signal.aborted?u():s.signal.addEventListener("abort",u)));const U=rr(s.url);if(U&&x.protocols.indexOf(U)===-1){r(new y("Unsupported protocol "+U+":",y.ERR_BAD_REQUEST,e));return}d.send(o||null)})},dr=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let r=new AbortController,s;const o=function(f){if(!s){s=!0,c();const u=f instanceof Error?f:this.reason;r.abort(u instanceof y?u:new Y(u instanceof Error?u.message:u))}};let i=t&&setTimeout(()=>{i=null,o(new y(`timeout of ${t}ms exceeded`,y.ETIMEDOUT))},t);const c=()=>{e&&(i&&clearTimeout(i),i=null,e.forEach(f=>{f.unsubscribe?f.unsubscribe(o):f.removeEventListener("abort",o)}),e=null)};e.forEach(f=>f.addEventListener("abort",o));const{signal:p}=r;return p.unsubscribe=()=>a.asap(c),p}},pr=function*(e,t){let n=e.byteLength;if(n{const s=hr(e,t);let o=0,i,c=p=>{i||(i=!0,r&&r(p))};return new ReadableStream({async pull(p){try{const{done:f,value:u}=await s.next();if(f){c(),p.close();return}let h=u.byteLength;if(n){let b=o+=h;n(b)}p.enqueue(new Uint8Array(u))}catch(f){throw c(f),f}},cancel(p){return c(p),s.return()}},{highWaterMark:2})},Ge=64*1024,{isFunction:re}=a,yr=(({Request:e,Response:t})=>({Request:e,Response:t}))(a.global),{ReadableStream:Qe,TextEncoder:Ye}=a.global,et=(e,...t)=>{try{return!!e(...t)}catch{return!1}},br=e=>{e=a.merge.call({skipUndefined:!0},yr,e);const{fetch:t,Request:n,Response:r}=e,s=t?re(t):typeof fetch=="function",o=re(n),i=re(r);if(!s)return!1;const c=s&&re(Qe),p=s&&(typeof Ye=="function"?(l=>m=>l.encode(m))(new Ye):async l=>new Uint8Array(await new n(l).arrayBuffer())),f=o&&c&&et(()=>{let l=!1;const m=new n(x.origin,{body:new Qe,method:"POST",get duplex(){return l=!0,"half"}}).headers.has("Content-Type");return l&&!m}),u=i&&c&&et(()=>a.isReadableStream(new r("").body)),h={stream:u&&(l=>l.body)};s&&["text","arrayBuffer","blob","formData","stream"].forEach(l=>{!h[l]&&(h[l]=(m,d)=>{let w=m&&m[l];if(w)return w.call(m);throw new y(`Response type '${l}' is not supported`,y.ERR_NOT_SUPPORT,d)})});const b=async l=>{if(l==null)return 0;if(a.isBlob(l))return l.size;if(a.isSpecCompliantForm(l))return(await new n(x.origin,{method:"POST",body:l}).arrayBuffer()).byteLength;if(a.isArrayBufferView(l)||a.isArrayBuffer(l))return l.byteLength;if(a.isURLSearchParams(l)&&(l=l+""),a.isString(l))return(await p(l)).byteLength},A=async(l,m)=>{const d=a.toFiniteNumber(l.getContentLength());return d??b(m)};return async l=>{let{url:m,method:d,data:w,signal:U,cancelToken:R,timeout:O,onDownloadProgress:F,onUploadProgress:I,responseType:N,headers:me,withCredentials:ee="same-origin",fetchOptions:Le}=Tt(l),Ie=t||fetch;N=N?(N+"").toLowerCase():"text";let te=dr([U,R&&R.toAbortSignal()],O),J=null;const j=te&&te.unsubscribe&&(()=>{te.unsubscribe()});let je;try{if(I&&f&&d!=="get"&&d!=="head"&&(je=await A(me,w))!==0){let L=new n(m,{method:"POST",body:w,duplex:"half"}),M;if(a.isFormData(w)&&(M=L.headers.get("content-type"))&&me.setContentType(M),L.body){const[ye,ne]=We(je,ue(Ke(I)));w=Ze(L.body,Ge,ye,ne)}}a.isString(ee)||(ee=ee?"include":"omit");const T=o&&"credentials"in n.prototype,ke={...Le,signal:te,method:d.toUpperCase(),headers:me.normalize().toJSON(),body:w,duplex:"half",credentials:T?ee:void 0};J=o&&new n(m,ke);let D=await(o?Ie(J,Le):Ie(m,ke));const qe=u&&(N==="stream"||N==="response");if(u&&(F||qe&&j)){const L={};["status","statusText","headers"].forEach(He=>{L[He]=D[He]});const M=a.toFiniteNumber(D.headers.get("content-length")),[ye,ne]=F&&We(M,ue(Ke(F),!0))||[];D=new r(Ze(D.body,Ge,ye,()=>{ne&&ne(),j&&j()}),L)}N=N||"text";let vt=await h[a.findKey(h,N)||"text"](D,l);return!qe&&j&&j(),await new Promise((L,M)=>{xt(L,M,{data:vt,headers:_.from(D.headers),status:D.status,statusText:D.statusText,config:l,request:J})})}catch(T){throw j&&j(),T&&T.name==="TypeError"&&/Load failed|fetch/i.test(T.message)?Object.assign(new y("Network Error",y.ERR_NETWORK,l,J,T&&T.response),{cause:T.cause||T}):y.from(T,T&&T.code,l,J,T&&T.response)}}},wr=new Map,Ct=e=>{let t=e&&e.env||{};const{fetch:n,Request:r,Response:s}=t,o=[r,s,n];let i=o.length,c=i,p,f,u=wr;for(;c--;)p=o[c],f=u.get(p),f===void 0&&u.set(p,f=c?new Map:br(t)),u=f;return f};Ct();const Fe={http:Ln,xhr:fr,fetch:{get:Ct}};a.forEach(Fe,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const tt=e=>`- ${e}`,gr=e=>a.isFunction(e)||e===null||e===!1;function Rr(e,t){e=a.isArray(e)?e:[e];const{length:n}=e;let r,s;const o={};for(let i=0;i`adapter ${p} `+(f===!1?"is not supported by the environment":"is not available in the build"));let c=n?i.length>1?`since : +`+i.map(tt).join(` +`):" "+tt(i[0]):"as no adapter specified";throw new y("There is no suitable adapter to dispatch the request "+c,"ERR_NOT_SUPPORT")}return s}const _t={getAdapter:Rr,adapters:Fe};function Re(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Y(null,e)}function nt(e){return Re(e),e.headers=_.from(e.headers),e.data=ge.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),_t.getAdapter(e.adapter||Q.adapter,e)(e).then(function(r){return Re(e),r.data=ge.call(e,e.transformResponse,r),r.headers=_.from(r.headers),r},function(r){return At(r)||(Re(e),r&&r.response&&(r.response.data=ge.call(e,e.transformResponse,r.response),r.response.headers=_.from(r.response.headers))),Promise.reject(r)})}const Ut="1.13.6",he={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{he[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const rt={};he.transitional=function(t,n,r){function s(o,i){return"[Axios v"+Ut+"] Transitional option '"+o+"'"+i+(r?". "+r:"")}return(o,i,c)=>{if(t===!1)throw new y(s(i," has been removed"+(n?" in "+n:"")),y.ERR_DEPRECATED);return n&&!rt[i]&&(rt[i]=!0,console.warn(s(i," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(o,i,c):!0}};he.spelling=function(t){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${t}`),!0)};function Er(e,t,n){if(typeof e!="object")throw new y("options must be an object",y.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let s=r.length;for(;s-- >0;){const o=r[s],i=t[o];if(i){const c=e[o],p=c===void 0||i(c,o,e);if(p!==!0)throw new y("option "+o+" must be "+p,y.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new y("Unknown option "+o,y.ERR_BAD_OPTION)}}const ae={assertOptions:Er,validators:he},P=ae.validators;let q=class{constructor(t){this.defaults=t||{},this.interceptors={request:new ve,response:new ve}}async request(t,n){try{return await this._request(t,n)}catch(r){if(r instanceof Error){let s={};Error.captureStackTrace?Error.captureStackTrace(s):s=new Error;const o=s.stack?s.stack.replace(/^.+\n/,""):"";try{r.stack?o&&!String(r.stack).endsWith(o.replace(/^.+\n.+\n/,""))&&(r.stack+=` +`+o):r.stack=o}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=H(this.defaults,n);const{transitional:r,paramsSerializer:s,headers:o}=n;r!==void 0&&ae.assertOptions(r,{silentJSONParsing:P.transitional(P.boolean),forcedJSONParsing:P.transitional(P.boolean),clarifyTimeoutError:P.transitional(P.boolean),legacyInterceptorReqResOrdering:P.transitional(P.boolean)},!1),s!=null&&(a.isFunction(s)?n.paramsSerializer={serialize:s}:ae.assertOptions(s,{encode:P.function,serialize:P.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),ae.assertOptions(n,{baseUrl:P.spelling("baseURL"),withXsrfToken:P.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let i=o&&a.merge(o.common,o[n.method]);o&&a.forEach(["delete","get","head","post","put","patch","common"],l=>{delete o[l]}),n.headers=_.concat(i,o);const c=[];let p=!0;this.interceptors.request.forEach(function(m){if(typeof m.runWhen=="function"&&m.runWhen(n)===!1)return;p=p&&m.synchronous;const d=n.transitional||Ne;d&&d.legacyInterceptorReqResOrdering?c.unshift(m.fulfilled,m.rejected):c.push(m.fulfilled,m.rejected)});const f=[];this.interceptors.response.forEach(function(m){f.push(m.fulfilled,m.rejected)});let u,h=0,b;if(!p){const l=[nt.bind(this),void 0];for(l.unshift(...c),l.push(...f),b=l.length,u=Promise.resolve(n);h{if(!r._listeners)return;let o=r._listeners.length;for(;o-- >0;)r._listeners[o](s);r._listeners=null}),this.promise.then=s=>{let o;const i=new Promise(c=>{r.subscribe(c),o=c}).then(s);return i.cancel=function(){r.unsubscribe(o)},i},t(function(o,i,c){r.reason||(r.reason=new Y(o,i,c),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new Nt(function(s){t=s}),cancel:t}}};function Ar(e){return function(n){return e.apply(null,n)}}function xr(e){return a.isObject(e)&&e.isAxiosError===!0}const Oe={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(Oe).forEach(([e,t])=>{Oe[t]=e});function Pt(e){const t=new q(e),n=lt(q.prototype.request,t);return a.extend(n,q.prototype,t,{allOwnKeys:!0}),a.extend(n,t,null,{allOwnKeys:!0}),n.create=function(s){return Pt(H(e,s))},n}const g=Pt(Q);g.Axios=q;g.CanceledError=Y;g.CancelToken=Sr;g.isCancel=At;g.VERSION=Ut;g.toFormData=pe;g.AxiosError=y;g.Cancel=g.CanceledError;g.all=function(t){return Promise.all(t)};g.spread=Ar;g.isAxiosError=xr;g.mergeConfig=H;g.AxiosHeaders=_;g.formToJSON=e=>St(a.isHTMLForm(e)?new FormData(e):e);g.getAdapter=_t.getAdapter;g.HttpStatusCode=Oe;g.default=g;const{Axios:zr,AxiosError:Vr,CanceledError:vr,isCancel:Jr,CancelToken:Wr,VERSION:Kr,all:Xr,Cancel:Zr,isAxiosError:Gr,spread:Qr,toFormData:Yr,AxiosHeaders:es,HttpStatusCode:ts,formToJSON:ns,getAdapter:rs,mergeConfig:ss}=g,Ft="3.7.8",Or=Ft,v=typeof Buffer=="function",st=typeof TextDecoder=="function"?new TextDecoder:void 0,ot=typeof TextEncoder=="function"?new TextEncoder:void 0,Tr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",K=Array.prototype.slice.call(Tr),se=(e=>{let t={};return e.forEach((n,r)=>t[n]=r),t})(K),Cr=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,S=String.fromCharCode.bind(String),it=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):e=>new Uint8Array(Array.prototype.slice.call(e,0)),Bt=e=>e.replace(/=/g,"").replace(/[+\/]/g,t=>t=="+"?"-":"_"),Dt=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),Lt=e=>{let t,n,r,s,o="";const i=e.length%3;for(let c=0;c255||(r=e.charCodeAt(c++))>255||(s=e.charCodeAt(c++))>255)throw new TypeError("invalid character found");t=n<<16|r<<8|s,o+=K[t>>18&63]+K[t>>12&63]+K[t>>6&63]+K[t&63]}return i?o.slice(0,i-3)+"===".substring(i):o},Be=typeof btoa=="function"?e=>btoa(e):v?e=>Buffer.from(e,"binary").toString("base64"):Lt,Te=v?e=>Buffer.from(e).toString("base64"):e=>{let n=[];for(let r=0,s=e.length;rt?Bt(Te(e)):Te(e),_r=e=>{if(e.length<2){var t=e.charCodeAt(0);return t<128?e:t<2048?S(192|t>>>6)+S(128|t&63):S(224|t>>>12&15)+S(128|t>>>6&63)+S(128|t&63)}else{var t=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return S(240|t>>>18&7)+S(128|t>>>12&63)+S(128|t>>>6&63)+S(128|t&63)}},Ur=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,It=e=>e.replace(Ur,_r),at=v?e=>Buffer.from(e,"utf8").toString("base64"):ot?e=>Te(ot.encode(e)):e=>Be(It(e)),$=(e,t=!1)=>t?Bt(at(e)):at(e),ct=e=>$(e,!0),Nr=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,Pr=e=>{switch(e.length){case 4:var t=(7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3),n=t-65536;return S((n>>>10)+55296)+S((n&1023)+56320);case 3:return S((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return S((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},jt=e=>e.replace(Nr,Pr),kt=e=>{if(e=e.replace(/\s+/g,""),!Cr.test(e))throw new TypeError("malformed base64.");e+="==".slice(2-(e.length&3));let t,n,r,s=[];for(let o=0;o>16&255)):r===64?s.push(S(t>>16&255,t>>8&255)):s.push(S(t>>16&255,t>>8&255,t&255));return s.join("")},De=typeof atob=="function"?e=>atob(Dt(e)):v?e=>Buffer.from(e,"base64").toString("binary"):kt,qt=v?e=>it(Buffer.from(e,"base64")):e=>it(De(e).split("").map(t=>t.charCodeAt(0))),Ht=e=>qt(Mt(e)),Fr=v?e=>Buffer.from(e,"base64").toString("utf8"):st?e=>st.decode(qt(e)):e=>jt(De(e)),Mt=e=>Dt(e.replace(/[-_]/g,t=>t=="-"?"+":"/")),Ce=e=>Fr(Mt(e)),Br=e=>{if(typeof e!="string")return!1;const t=e.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(t)||!/[^\s0-9a-zA-Z\-_]/.test(t)},$t=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),zt=function(){const e=(t,n)=>Object.defineProperty(String.prototype,t,$t(n));e("fromBase64",function(){return Ce(this)}),e("toBase64",function(t){return $(this,t)}),e("toBase64URI",function(){return $(this,!0)}),e("toBase64URL",function(){return $(this,!0)}),e("toUint8Array",function(){return Ht(this)})},Vt=function(){const e=(t,n)=>Object.defineProperty(Uint8Array.prototype,t,$t(n));e("toBase64",function(t){return ce(this,t)}),e("toBase64URI",function(){return ce(this,!0)}),e("toBase64URL",function(){return ce(this,!0)})},Dr=()=>{zt(),Vt()},os={version:Ft,VERSION:Or,atob:De,atobPolyfill:kt,btoa:Be,btoaPolyfill:Lt,fromBase64:Ce,toBase64:$,encode:$,encodeURI:ct,encodeURL:ct,utob:It,btou:jt,decode:Ce,isValid:Br,fromUint8Array:ce,toUint8Array:Ht,extendString:zt,extendUint8Array:Vt,extendBuiltins:Dr},E=[];for(let e=0;e<256;++e)E.push((e+256).toString(16).slice(1));function Lr(e,t=0){return(E[e[t+0]]+E[e[t+1]]+E[e[t+2]]+E[e[t+3]]+"-"+E[e[t+4]]+E[e[t+5]]+"-"+E[e[t+6]]+E[e[t+7]]+"-"+E[e[t+8]]+E[e[t+9]]+"-"+E[e[t+10]]+E[e[t+11]]+E[e[t+12]]+E[e[t+13]]+E[e[t+14]]+E[e[t+15]]).toLowerCase()}let Ee;const Ir=new Uint8Array(16);function jr(){if(!Ee){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Ee=crypto.getRandomValues.bind(crypto)}return Ee(Ir)}const kr=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),ut={randomUUID:kr};function qr(e,t,n){var s;e=e||{};const r=e.random??((s=e.rng)==null?void 0:s.call(e))??jr();if(r.length<16)throw new Error("Random bytes length must be >= 16");return r[6]=r[6]&15|64,r[8]=r[8]&63|128,Lr(r)}function is(e,t,n){return ut.randomUUID&&!e?ut.randomUUID():qr(e)}export{g as a,os as g,is as v}; diff --git a/assets/vendor-vue-H0jQBZ7T.js b/assets/vendor-vue-H0jQBZ7T.js new file mode 100644 index 0000000..6aaf152 --- /dev/null +++ b/assets/vendor-vue-H0jQBZ7T.js @@ -0,0 +1,29 @@ +/** +* @vue/shared v3.5.29 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function qs(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const oe={},Bt=[],Xe=()=>{},Pi=()=>!1,Jn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Js=e=>e.startsWith("onUpdate:"),de=Object.assign,Ys=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Sl=Object.prototype.hasOwnProperty,se=(e,t)=>Sl.call(e,t),B=Array.isArray,Ut=e=>En(e)==="[object Map]",Ii=e=>En(e)==="[object Set]",Cr=e=>En(e)==="[object Date]",G=e=>typeof e=="function",ue=e=>typeof e=="string",Ve=e=>typeof e=="symbol",ee=e=>e!==null&&typeof e=="object",Ni=e=>(ee(e)||G(e))&&G(e.then)&&G(e.catch),Mi=Object.prototype.toString,En=e=>Mi.call(e),Cl=e=>En(e).slice(8,-1),Di=e=>En(e)==="[object Object]",Yn=e=>ue(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,sn=qs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),zn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Al=/-\w/g,He=zn(e=>e.replace(Al,t=>t.slice(1).toUpperCase())),xl=/\B([A-Z])/g,St=zn(e=>e.replace(xl,"-$1").toLowerCase()),Qn=zn(e=>e.charAt(0).toUpperCase()+e.slice(1)),cs=zn(e=>e?`on${Qn(e)}`:""),vt=(e,t)=>!Object.is(e,t),Mn=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},zs=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Rl=e=>{const t=ue(e)?Number(e):NaN;return isNaN(t)?e:t};let Ar;const Xn=()=>Ar||(Ar=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Qs(e){if(B(e)){const t={};for(let n=0;n{if(n){const s=n.split(Tl);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Xs(e){let t="";if(ue(e))t=e;else if(B(e))for(let n=0;n!!(e&&e.__v_isRef===!0),Dl=e=>ue(e)?e:e==null?"":B(e)||ee(e)&&(e.toString===Mi||!G(e.toString))?Hi(e)?Dl(e.value):JSON.stringify(e,ji,2):String(e),ji=(e,t)=>Hi(t)?ji(e,t.value):Ut(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],i)=>(n[fs(s,i)+" =>"]=r,n),{})}:Ii(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>fs(n))}:Ve(t)?fs(t):ee(t)&&!B(t)&&!Di(t)?String(t):t,fs=(e,t="")=>{var n;return Ve(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.5.29 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let ve;class Vi{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.__v_skip=!0,this.parent=ve,!t&&ve&&(this.index=(ve.scopes||(ve.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0&&--this._on===0&&(ve=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let n,s;for(n=0,s=this.effects.length;n0)return;if(on){let t=on;for(on=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;rn;){let t=rn;for(rn=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function Wi(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function $i(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),nr(s),Fl(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function Rs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(qi(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function qi(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===pn)||(e.globalVersion=pn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Rs(e))))return;e.flags|=2;const t=e.dep,n=ce,s=je;ce=e,je=!0;try{Wi(e);const r=e.fn(e._value);(t.version===0||vt(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{ce=n,je=s,$i(e),e.flags&=-3}}function nr(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)nr(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Fl(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let je=!0;const Ji=[];function lt(){Ji.push(je),je=!1}function ct(){const e=Ji.pop();je=e===void 0?!0:e}function xr(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=ce;ce=void 0;try{t()}finally{ce=n}}}let pn=0;class Hl{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class sr{constructor(t){this.computed=t,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(t){if(!ce||!je||ce===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==ce)n=this.activeLink=new Hl(ce,this),ce.deps?(n.prevDep=ce.depsTail,ce.depsTail.nextDep=n,ce.depsTail=n):ce.deps=ce.depsTail=n,Yi(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=ce.depsTail,n.nextDep=void 0,ce.depsTail.nextDep=n,ce.depsTail=n,ce.deps===n&&(ce.deps=s)}return n}trigger(t){this.version++,pn++,this.notify(t)}notify(t){er();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{tr()}}}function Yi(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)Yi(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const jn=new WeakMap,Pt=Symbol(""),ws=Symbol(""),gn=Symbol("");function be(e,t,n){if(je&&ce){let s=jn.get(e);s||jn.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new sr),r.map=s,r.key=n),r.track()}}function rt(e,t,n,s,r,i){const o=jn.get(e);if(!o){pn++;return}const l=c=>{c&&c.trigger()};if(er(),t==="clear")o.forEach(l);else{const c=B(e),u=c&&Yn(n);if(c&&n==="length"){const f=Number(s);o.forEach((h,p)=>{(p==="length"||p===gn||!Ve(p)&&p>=f)&&l(h)})}else switch((n!==void 0||o.has(void 0))&&l(o.get(n)),u&&l(o.get(gn)),t){case"add":c?u&&l(o.get("length")):(l(o.get(Pt)),Ut(e)&&l(o.get(ws)));break;case"delete":c||(l(o.get(Pt)),Ut(e)&&l(o.get(ws)));break;case"set":Ut(e)&&l(o.get(Pt));break}}tr()}function jl(e,t){const n=jn.get(e);return n&&n.get(t)}function Lt(e){const t=Z(e);return t===e?t:(be(t,"iterate",gn),Ne(e)?t:t.map(Be))}function Zn(e){return be(e=Z(e),"iterate",gn),e}function mt(e,t){return ft(e)?Wt(ot(e)?Be(t):t):Be(t)}const Vl={__proto__:null,[Symbol.iterator](){return as(this,Symbol.iterator,e=>mt(this,e))},concat(...e){return Lt(this).concat(...e.map(t=>B(t)?Lt(t):t))},entries(){return as(this,"entries",e=>(e[1]=mt(this,e[1]),e))},every(e,t){return et(this,"every",e,t,void 0,arguments)},filter(e,t){return et(this,"filter",e,t,n=>n.map(s=>mt(this,s)),arguments)},find(e,t){return et(this,"find",e,t,n=>mt(this,n),arguments)},findIndex(e,t){return et(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return et(this,"findLast",e,t,n=>mt(this,n),arguments)},findLastIndex(e,t){return et(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return et(this,"forEach",e,t,void 0,arguments)},includes(...e){return hs(this,"includes",e)},indexOf(...e){return hs(this,"indexOf",e)},join(e){return Lt(this).join(e)},lastIndexOf(...e){return hs(this,"lastIndexOf",e)},map(e,t){return et(this,"map",e,t,void 0,arguments)},pop(){return Qt(this,"pop")},push(...e){return Qt(this,"push",e)},reduce(e,...t){return Rr(this,"reduce",e,t)},reduceRight(e,...t){return Rr(this,"reduceRight",e,t)},shift(){return Qt(this,"shift")},some(e,t){return et(this,"some",e,t,void 0,arguments)},splice(...e){return Qt(this,"splice",e)},toReversed(){return Lt(this).toReversed()},toSorted(e){return Lt(this).toSorted(e)},toSpliced(...e){return Lt(this).toSpliced(...e)},unshift(...e){return Qt(this,"unshift",e)},values(){return as(this,"values",e=>mt(this,e))}};function as(e,t,n){const s=Zn(e),r=s[t]();return s!==e&&!Ne(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.done||(i.value=n(i.value)),i}),r}const Bl=Array.prototype;function et(e,t,n,s,r,i){const o=Zn(e),l=o!==e&&!Ne(e),c=o[t];if(c!==Bl[t]){const h=c.apply(e,i);return l?Be(h):h}let u=n;o!==e&&(l?u=function(h,p){return n.call(this,mt(e,h),p,e)}:n.length>2&&(u=function(h,p){return n.call(this,h,p,e)}));const f=c.call(o,u,s);return l&&r?r(f):f}function Rr(e,t,n,s){const r=Zn(e);let i=n;return r!==e&&(Ne(e)?n.length>3&&(i=function(o,l,c){return n.call(this,o,l,c,e)}):i=function(o,l,c){return n.call(this,o,mt(e,l),c,e)}),r[t](i,...s)}function hs(e,t,n){const s=Z(e);be(s,"iterate",gn);const r=s[t](...n);return(r===-1||r===!1)&&es(n[0])?(n[0]=Z(n[0]),s[t](...n)):r}function Qt(e,t,n=[]){lt(),er();const s=Z(e)[t].apply(e,n);return tr(),ct(),s}const Ul=qs("__proto__,__v_isRef,__isVue"),zi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ve));function kl(e){Ve(e)||(e=String(e));const t=Z(this);return be(t,"has",e),t.hasOwnProperty(e)}class Qi{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return i;if(n==="__v_raw")return s===(r?i?Xl:to:i?eo:Zi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=B(t);if(!r){let c;if(o&&(c=Vl[n]))return c;if(n==="hasOwnProperty")return kl}const l=Reflect.get(t,n,fe(t)?t:s);if((Ve(n)?zi.has(n):Ul(n))||(r||be(t,"get",n),i))return l;if(fe(l)){const c=o&&Yn(n)?l:l.value;return r&&ee(c)?Os(c):c}return ee(l)?r?Os(l):Sn(l):l}}class Xi extends Qi{constructor(t=!1){super(!1,t)}set(t,n,s,r){let i=t[n];const o=B(t)&&Yn(n);if(!this._isShallow){const u=ft(i);if(!Ne(s)&&!ft(s)&&(i=Z(i),s=Z(s)),!o&&fe(i)&&!fe(s))return u||(i.value=s),!0}const l=o?Number(n)e,Tn=e=>Reflect.getPrototypeOf(e);function ql(e,t,n){return function(...s){const r=this.__v_raw,i=Z(r),o=Ut(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,u=r[e](...s),f=n?Ts:t?Wt:Be;return!t&&be(i,"iterate",c?ws:Pt),de(Object.create(u),{next(){const{value:h,done:p}=u.next();return p?{value:h,done:p}:{value:l?[f(h[0]),f(h[1])]:f(h),done:p}}})}}function On(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Jl(e,t){const n={get(r){const i=this.__v_raw,o=Z(i),l=Z(r);e||(vt(r,l)&&be(o,"get",r),be(o,"get",l));const{has:c}=Tn(o),u=t?Ts:e?Wt:Be;if(c.call(o,r))return u(i.get(r));if(c.call(o,l))return u(i.get(l));i!==o&&i.get(r)},get size(){const r=this.__v_raw;return!e&&be(Z(r),"iterate",Pt),r.size},has(r){const i=this.__v_raw,o=Z(i),l=Z(r);return e||(vt(r,l)&&be(o,"has",r),be(o,"has",l)),r===l?i.has(r):i.has(r)||i.has(l)},forEach(r,i){const o=this,l=o.__v_raw,c=Z(l),u=t?Ts:e?Wt:Be;return!e&&be(c,"iterate",Pt),l.forEach((f,h)=>r.call(i,u(f),u(h),o))}};return de(n,e?{add:On("add"),set:On("set"),delete:On("delete"),clear:On("clear")}:{add(r){!t&&!Ne(r)&&!ft(r)&&(r=Z(r));const i=Z(this);return Tn(i).has.call(i,r)||(i.add(r),rt(i,"add",r,r)),this},set(r,i){!t&&!Ne(i)&&!ft(i)&&(i=Z(i));const o=Z(this),{has:l,get:c}=Tn(o);let u=l.call(o,r);u||(r=Z(r),u=l.call(o,r));const f=c.call(o,r);return o.set(r,i),u?vt(i,f)&&rt(o,"set",r,i):rt(o,"add",r,i),this},delete(r){const i=Z(this),{has:o,get:l}=Tn(i);let c=o.call(i,r);c||(r=Z(r),c=o.call(i,r)),l&&l.call(i,r);const u=i.delete(r);return c&&rt(i,"delete",r,void 0),u},clear(){const r=Z(this),i=r.size!==0,o=r.clear();return i&&rt(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=ql(r,e,t)}),n}function rr(e,t){const n=Jl(e,t);return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(se(n,r)&&r in s?n:s,r,i)}const Yl={get:rr(!1,!1)},zl={get:rr(!1,!0)},Ql={get:rr(!0,!1)};const Zi=new WeakMap,eo=new WeakMap,to=new WeakMap,Xl=new WeakMap;function Zl(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function ec(e){return e.__v_skip||!Object.isExtensible(e)?0:Zl(Cl(e))}function Sn(e){return ft(e)?e:ir(e,!1,Gl,Yl,Zi)}function no(e){return ir(e,!1,$l,zl,eo)}function Os(e){return ir(e,!0,Wl,Ql,to)}function ir(e,t,n,s,r){if(!ee(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=ec(e);if(i===0)return e;const o=r.get(e);if(o)return o;const l=new Proxy(e,i===2?s:n);return r.set(e,l),l}function ot(e){return ft(e)?ot(e.__v_raw):!!(e&&e.__v_isReactive)}function ft(e){return!!(e&&e.__v_isReadonly)}function Ne(e){return!!(e&&e.__v_isShallow)}function es(e){return e?!!e.__v_raw:!1}function Z(e){const t=e&&e.__v_raw;return t?Z(t):e}function or(e){return!se(e,"__v_skip")&&Object.isExtensible(e)&&Li(e,"__v_skip",!0),e}const Be=e=>ee(e)?Sn(e):e,Wt=e=>ee(e)?Os(e):e;function fe(e){return e?e.__v_isRef===!0:!1}function kt(e){return so(e,!1)}function tc(e){return so(e,!0)}function so(e,t){return fe(e)?e:new nc(e,t)}class nc{constructor(t,n){this.dep=new sr,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:Z(t),this._value=n?t:Be(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||Ne(t)||ft(t);t=s?t:Z(t),vt(t,n)&&(this._rawValue=t,this._value=s?t:Be(t),this.dep.trigger())}}function bt(e){return fe(e)?e.value:e}function fa(e){return G(e)?e():bt(e)}const sc={get:(e,t,n)=>t==="__v_raw"?e:bt(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return fe(r)&&!fe(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function ro(e){return ot(e)?e:new Proxy(e,sc)}function rc(e){const t=B(e)?new Array(e.length):{};for(const n in e)t[n]=io(e,n);return t}class ic{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0,this._value=void 0,this._raw=Z(t);let r=!0,i=t;if(!B(t)||!Yn(String(n)))do r=!es(i)||Ne(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let t=this._object[this._key];return this._shallow&&(t=bt(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&fe(this._raw[this._key])){const n=this._object[this._key];if(fe(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return jl(this._raw,this._key)}}class oc{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function ua(e,t,n){return fe(e)?e:G(e)?new oc(e):ee(e)&&arguments.length>1?io(e,t,n):kt(e)}function io(e,t,n){return new ic(e,t,n)}class lc{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new sr(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=pn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&ce!==this)return Gi(this,!0),!0}get value(){const t=this.dep.track();return qi(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function cc(e,t,n=!1){let s,r;return G(e)?s=e:(s=e.get,r=e.set),new lc(s,r,n)}const Pn={},Vn=new WeakMap;let wt;function fc(e,t=!1,n=wt){if(n){let s=Vn.get(n);s||Vn.set(n,s=[]),s.push(e)}}function uc(e,t,n=oe){const{immediate:s,deep:r,once:i,scheduler:o,augmentJob:l,call:c}=n,u=I=>r?I:Ne(I)||r===!1||r===0?it(I,1):it(I);let f,h,p,g,E=!1,_=!1;if(fe(e)?(h=()=>e.value,E=Ne(e)):ot(e)?(h=()=>u(e),E=!0):B(e)?(_=!0,E=e.some(I=>ot(I)||Ne(I)),h=()=>e.map(I=>{if(fe(I))return I.value;if(ot(I))return u(I);if(G(I))return c?c(I,2):I()})):G(e)?t?h=c?()=>c(e,2):e:h=()=>{if(p){lt();try{p()}finally{ct()}}const I=wt;wt=f;try{return c?c(e,3,[g]):e(g)}finally{wt=I}}:h=Xe,t&&r){const I=h,H=r===!0?1/0:r;h=()=>it(I(),H)}const M=Ui(),O=()=>{f.stop(),M&&M.active&&Ys(M.effects,f)};if(i&&t){const I=t;t=(...H)=>{I(...H),O()}}let A=_?new Array(e.length).fill(Pn):Pn;const w=I=>{if(!(!(f.flags&1)||!f.dirty&&!I))if(t){const H=f.run();if(r||E||(_?H.some((J,q)=>vt(J,A[q])):vt(H,A))){p&&p();const J=wt;wt=f;try{const q=[H,A===Pn?void 0:_&&A[0]===Pn?[]:A,g];A=H,c?c(t,3,q):t(...q)}finally{wt=J}}}else f.run()};return l&&l(w),f=new ki(h),f.scheduler=o?()=>o(w,!1):w,g=I=>fc(I,!1,f),p=f.onStop=()=>{const I=Vn.get(f);if(I){if(c)c(I,4);else for(const H of I)H();Vn.delete(f)}},t?s?w(!0):A=f.run():o?o(w.bind(null,!0),!0):f.run(),O.pause=f.pause.bind(f),O.resume=f.resume.bind(f),O.stop=O,O}function it(e,t=1/0,n){if(t<=0||!ee(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,fe(e))it(e.value,t,n);else if(B(e))for(let s=0;s{it(s,t,n)});else if(Di(e)){for(const s in e)it(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&it(e[s],t,n)}return e}/** +* @vue/runtime-core v3.5.29 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Cn(e,t,n,s){try{return s?e(...s):e()}catch(r){An(r,t,n)}}function Ue(e,t,n,s){if(G(e)){const r=Cn(e,t,n,s);return r&&Ni(r)&&r.catch(i=>{An(i,t,n)}),r}if(B(e)){const r=[];for(let i=0;i>>1,r=xe[s],i=mn(r);i=mn(n)?xe.push(e):xe.splice(hc(t),0,e),e.flags|=1,lo()}}function lo(){Bn||(Bn=oo.then(fo))}function dc(e){B(e)?Kt.push(...e):_t&&e.id===-1?_t.splice(Ht+1,0,e):e.flags&1||(Kt.push(e),e.flags|=1),lo()}function wr(e,t,n=Ye+1){for(;nmn(n)-mn(s));if(Kt.length=0,_t){_t.push(...t);return}for(_t=t,Ht=0;Ht<_t.length;Ht++){const n=_t[Ht];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}_t=null,Ht=0}}const mn=e=>e.id==null?e.flags&2?-1:1/0:e.id;function fo(e){try{for(Ye=0;Ye{s._d&&Gn(-1);const i=Un(t);let o;try{o=e(...r)}finally{Un(i),s._d&&Gn(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function aa(e,t){if(_e===null)return e;const n=rs(_e),s=e.dirs||(e.dirs=[]);for(let r=0;r1)return n&&G(t)?t.call(s&&s.proxy):t}}function gc(){return!!(Rn()||It)}const mc=Symbol.for("v-scx"),_c=()=>Fe(mc);function ha(e,t){return fr(e,null,t)}function ln(e,t,n){return fr(e,t,n)}function fr(e,t,n=oe){const{immediate:s,deep:r,flush:i,once:o}=n,l=de({},n),c=t&&s||!t&&i!=="post";let u;if($t){if(i==="sync"){const g=_c();u=g.__watcherHandles||(g.__watcherHandles=[])}else if(!c){const g=()=>{};return g.stop=Xe,g.resume=Xe,g.pause=Xe,g}}const f=me;l.call=(g,E,_)=>Ue(g,f,E,_);let h=!1;i==="post"?l.scheduler=g=>{ye(g,f&&f.suspense)}:i!=="sync"&&(h=!0,l.scheduler=(g,E)=>{E?g():cr(g)}),l.augmentJob=g=>{t&&(g.flags|=4),h&&(g.flags|=2,f&&(g.id=f.uid,g.i=f))};const p=uc(e,t,l);return $t&&(u?u.push(p):c&&p()),p}function yc(e,t,n){const s=this.proxy,r=ue(e)?e.includes(".")?ao(s,e):()=>s[e]:e.bind(s,s);let i;G(t)?i=t:(i=t.handler,n=t);const o=wn(this),l=fr(r,i.bind(s),n);return o(),l}function ao(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;re.__isTeleport,cn=e=>e&&(e.disabled||e.disabled===""),Tr=e=>e&&(e.defer||e.defer===""),Or=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Pr=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Ps=(e,t)=>{const n=e&&e.to;return ue(n)?t?t(n):null:n},go={name:"Teleport",__isTeleport:!0,process(e,t,n,s,r,i,o,l,c,u){const{mc:f,pc:h,pbc:p,o:{insert:g,querySelector:E,createText:_,createComment:M}}=u,O=cn(t.props);let{shapeFlag:A,children:w,dynamicChildren:I}=t;if(e==null){const H=t.el=_(""),J=t.anchor=_("");g(H,n,s),g(J,n,s);const q=(x,k)=>{A&16&&f(w,x,k,r,i,o,l,c)},U=()=>{const x=t.target=Ps(t.props,E),k=Is(x,t,_,g);x&&(o!=="svg"&&Or(x)?o="svg":o!=="mathml"&&Pr(x)&&(o="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(x),O||(q(x,k),Ln(t,!1)))};O&&(q(n,J),Ln(t,!0)),Tr(t.props)?(t.el.__isMounted=!1,ye(()=>{U(),delete t.el.__isMounted},i)):U()}else{if(Tr(t.props)&&e.el.__isMounted===!1){ye(()=>{go.process(e,t,n,s,r,i,o,l,c,u)},i);return}t.el=e.el,t.targetStart=e.targetStart;const H=t.anchor=e.anchor,J=t.target=e.target,q=t.targetAnchor=e.targetAnchor,U=cn(e.props),x=U?n:J,k=U?H:q;if(o==="svg"||Or(J)?o="svg":(o==="mathml"||Pr(J))&&(o="mathml"),I?(p(e.dynamicChildren,I,x,r,i,o,l),gr(e,t,!0)):c||h(e,t,x,k,r,i,o,l,!1),O)U?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):In(t,n,H,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const Y=t.target=Ps(t.props,E);Y&&In(t,Y,null,u,0)}else U&&In(t,J,q,u,1);Ln(t,O)}},remove(e,t,n,{um:s,o:{remove:r}},i){const{shapeFlag:o,children:l,anchor:c,targetStart:u,targetAnchor:f,target:h,props:p}=e;if(h&&(r(u),r(f)),i&&r(c),o&16){const g=i||!cn(p);for(let E=0;E{e.isMounted=!0}),Ao(()=>{e.isUnmounting=!0}),e}const De=[Function,Array],_o={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:De,onEnter:De,onAfterEnter:De,onEnterCancelled:De,onBeforeLeave:De,onLeave:De,onAfterLeave:De,onLeaveCancelled:De,onBeforeAppear:De,onAppear:De,onAfterAppear:De,onAppearCancelled:De},yo=e=>{const t=e.subTree;return t.component?yo(t.component):t},bc={name:"BaseTransition",props:_o,setup(e,{slots:t}){const n=Rn(),s=mo();return()=>{const r=t.default&&ur(t.default(),!0);if(!r||!r.length)return;const i=vo(r),o=Z(e),{mode:l}=o;if(s.isLeaving)return ds(i);const c=Ir(i);if(!c)return ds(i);let u=_n(c,o,s,n,h=>u=h);c.type!==Ee&&Nt(c,u);let f=n.subTree&&Ir(n.subTree);if(f&&f.type!==Ee&&!Tt(f,c)&&yo(n).type!==Ee){let h=_n(f,o,s,n);if(Nt(f,h),l==="out-in"&&c.type!==Ee)return s.isLeaving=!0,h.afterLeave=()=>{s.isLeaving=!1,n.job.flags&8||n.update(),delete h.afterLeave,f=void 0},ds(i);l==="in-out"&&c.type!==Ee?h.delayLeave=(p,g,E)=>{const _=bo(s,f);_[String(f.key)]=f,p[ze]=()=>{g(),p[ze]=void 0,delete u.delayedLeave,f=void 0},u.delayedLeave=()=>{E(),delete u.delayedLeave,f=void 0}}:f=void 0}else f&&(f=void 0);return i}}};function vo(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Ee){t=n;break}}return t}const Ec=bc;function bo(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function _n(e,t,n,s,r){const{appear:i,mode:o,persisted:l=!1,onBeforeEnter:c,onEnter:u,onAfterEnter:f,onEnterCancelled:h,onBeforeLeave:p,onLeave:g,onAfterLeave:E,onLeaveCancelled:_,onBeforeAppear:M,onAppear:O,onAfterAppear:A,onAppearCancelled:w}=t,I=String(e.key),H=bo(n,e),J=(x,k)=>{x&&Ue(x,s,9,k)},q=(x,k)=>{const Y=k[1];J(x,k),B(x)?x.every(D=>D.length<=1)&&Y():x.length<=1&&Y()},U={mode:o,persisted:l,beforeEnter(x){let k=c;if(!n.isMounted)if(i)k=M||c;else return;x[ze]&&x[ze](!0);const Y=H[I];Y&&Tt(e,Y)&&Y.el[ze]&&Y.el[ze](),J(k,[x])},enter(x){if(H[I]===e)return;let k=u,Y=f,D=h;if(!n.isMounted)if(i)k=O||u,Y=A||f,D=w||h;else return;let z=!1;x[Xt]=Se=>{z||(z=!0,Se?J(D,[x]):J(Y,[x]),U.delayedLeave&&U.delayedLeave(),x[Xt]=void 0)};const he=x[Xt].bind(null,!1);k?q(k,[x,he]):he()},leave(x,k){const Y=String(e.key);if(x[Xt]&&x[Xt](!0),n.isUnmounting)return k();J(p,[x]);let D=!1;x[ze]=he=>{D||(D=!0,k(),he?J(_,[x]):J(E,[x]),x[ze]=void 0,H[Y]===e&&delete H[Y])};const z=x[ze].bind(null,!1);H[Y]=e,g?q(g,[x,z]):z()},clone(x){const k=_n(x,t,n,s,r);return r&&r(k),k}};return U}function ds(e){if(xn(e))return e=Et(e),e.children=null,e}function Ir(e){if(!xn(e))return po(e.type)&&e.children?vo(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&G(n.default))return n.default()}}function Nt(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Nt(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 ur(e,t=!1,n){let s=[],r=0;for(let i=0;i1)for(let i=0;ifn(_,t&&(B(t)?t[M]:t),n,s,r));return}if(Gt(s)&&!r){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&fn(e,t,n,s.component.subTree);return}const i=s.shapeFlag&4?rs(s.component):s.el,o=r?null:i,{i:l,r:c}=e,u=t&&t.r,f=l.refs===oe?l.refs={}:l.refs,h=l.setupState,p=Z(h),g=h===oe?Pi:_=>Nr(f,_)?!1:se(p,_),E=(_,M)=>!(M&&Nr(f,M));if(u!=null&&u!==c){if(Mr(t),ue(u))f[u]=null,g(u)&&(h[u]=null);else if(fe(u)){const _=t;E(u,_.k)&&(u.value=null),_.k&&(f[_.k]=null)}}if(G(c))Cn(c,l,12,[o,f]);else{const _=ue(c),M=fe(c);if(_||M){const O=()=>{if(e.f){const A=_?g(c)?h[c]:f[c]:E()||!e.k?c.value:f[e.k];if(r)B(A)&&Ys(A,i);else if(B(A))A.includes(i)||A.push(i);else if(_)f[c]=[i],g(c)&&(h[c]=f[c]);else{const w=[i];E(c,e.k)&&(c.value=w),e.k&&(f[e.k]=w)}}else _?(f[c]=o,g(c)&&(h[c]=o)):M&&(E(c,e.k)&&(c.value=o),e.k&&(f[e.k]=o))};if(o){const A=()=>{O(),kn.delete(e)};A.id=-1,kn.set(e,A),ye(A,n)}else Mr(e),O()}}}function Mr(e){const t=kn.get(e);t&&(t.flags|=8,kn.delete(e))}const Dr=e=>e.nodeType===8;Xn().requestIdleCallback;Xn().cancelIdleCallback;function Sc(e,t){if(Dr(e)&&e.data==="["){let n=1,s=e.nextSibling;for(;s;){if(s.nodeType===1){if(t(s)===!1)break}else if(Dr(s))if(s.data==="]"){if(--n===0)break}else s.data==="["&&n++;s=s.nextSibling}}else t(e)}const Gt=e=>!!e.type.__asyncLoader;function ga(e){G(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:s,delay:r=200,hydrate:i,timeout:o,suspensible:l=!0,onError:c}=e;let u=null,f,h=0;const p=()=>(h++,u=null,g()),g=()=>{let E;return u||(E=u=t().catch(_=>{if(_=_ instanceof Error?_:new Error(String(_)),c)return new Promise((M,O)=>{c(_,()=>M(p()),()=>O(_),h+1)});throw _}).then(_=>E!==u&&u?u:(_&&(_.__esModule||_[Symbol.toStringTag]==="Module")&&(_=_.default),f=_,_)))};return ar({name:"AsyncComponentWrapper",__asyncLoader:g,__asyncHydrate(E,_,M){let O=!1;(_.bu||(_.bu=[])).push(()=>O=!0);const A=()=>{O||M()},w=i?()=>{const I=i(A,H=>Sc(E,H));I&&(_.bum||(_.bum=[])).push(I)}:A;f?w():g().then(()=>!_.isUnmounted&&w())},get __asyncResolved(){return f},setup(){const E=me;if(hr(E),f)return()=>Nn(f,E);const _=w=>{u=null,An(w,E,13,!s)};if(l&&E.suspense||$t)return g().then(w=>()=>Nn(w,E)).catch(w=>(_(w),()=>s?ge(s,{error:w}):null));const M=kt(!1),O=kt(),A=kt(!!r);return r&&setTimeout(()=>{A.value=!1},r),o!=null&&setTimeout(()=>{if(!M.value&&!O.value){const w=new Error(`Async component timed out after ${o}ms.`);_(w),O.value=w}},o),g().then(()=>{M.value=!0,E.parent&&xn(E.parent.vnode)&&E.parent.update()}).catch(w=>{_(w),O.value=w}),()=>{if(M.value&&f)return Nn(f,E);if(O.value&&s)return ge(s,{error:O.value});if(n&&!A.value)return Nn(n,E)}}})}function Nn(e,t){const{ref:n,props:s,children:r,ce:i}=t.vnode,o=ge(e,s,r);return o.ref=n,o.ce=i,delete t.vnode.ce,o}const xn=e=>e.type.__isKeepAlive;function Cc(e,t){Eo(e,"a",t)}function Ac(e,t){Eo(e,"da",t)}function Eo(e,t,n=me){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(ts(t,s,n),n){let r=n.parent;for(;r&&r.parent;)xn(r.parent.vnode)&&xc(s,t,n,r),r=r.parent}}function xc(e,t,n,s){const r=ts(t,e,s,!0);xo(()=>{Ys(s[t],r)},n)}function ts(e,t,n=me,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{lt();const l=wn(n),c=Ue(t,n,e,o);return l(),ct(),c});return s?r.unshift(i):r.push(i),i}}const ut=e=>(t,n=me)=>{(!$t||e==="sp")&&ts(e,(...s)=>t(...s),n)},Rc=ut("bm"),So=ut("m"),wc=ut("bu"),Co=ut("u"),Ao=ut("bum"),xo=ut("um"),Tc=ut("sp"),Oc=ut("rtg"),Pc=ut("rtc");function Ic(e,t=me){ts("ec",e,t)}const Ro="components";function ma(e,t){return To(Ro,e,!0,t)||e}const wo=Symbol.for("v-ndc");function _a(e){return ue(e)?To(Ro,e,!1)||e:e||wo}function To(e,t,n=!0,s=!1){const r=_e||me;if(r){const i=r.type;{const l=_f(i,!1);if(l&&(l===t||l===He(t)||l===Qn(He(t))))return i}const o=Lr(r[e]||i[e],t)||Lr(r.appContext[e],t);return!o&&s?i:o}}function Lr(e,t){return e&&(e[t]||e[He(t)]||e[Qn(He(t))])}function ya(e,t,n,s){let r;const i=n,o=B(e);if(o||ue(e)){const l=o&&ot(e);let c=!1,u=!1;l&&(c=!Ne(e),u=ft(e),e=Zn(e)),r=new Array(e.length);for(let f=0,h=e.length;ft(l,c,void 0,i));else{const l=Object.keys(e);r=new Array(l.length);for(let c=0,u=l.length;c{const i=s.fn(...r);return i&&(i.key=s.key),i}:s.fn)}return e}function ba(e,t,n={},s,r){if(_e.ce||_e.parent&&Gt(_e.parent)&&_e.parent.ce){const u=Object.keys(n).length>0;return t!=="default"&&(n.name=t),Fs(),Hs(Oe,null,[ge("slot",n,s)],u?-2:64)}let i=e[t];i&&i._c&&(i._d=!1),Fs();const o=i&&Oo(i(n)),l=n.key||o&&o.key,c=Hs(Oe,{key:(l&&!Ve(l)?l:`_${t}`)+(!o&&s?"_fb":"")},o||[],o&&e._===1?64:-2);return i&&i._c&&(i._d=!0),c}function Oo(e){return e.some(t=>vn(t)?!(t.type===Ee||t.type===Oe&&!Oo(t.children)):!0)?e:null}const Ns=e=>e?Yo(e)?rs(e):Ns(e.parent):null,un=de(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=>Ns(e.parent),$root:e=>Ns(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Io(e),$forceUpdate:e=>e.f||(e.f=()=>{cr(e.update)}),$nextTick:e=>e.n||(e.n=lr.bind(e.proxy)),$watch:e=>yc.bind(e)}),ps=(e,t)=>e!==oe&&!e.__isScriptSetup&&se(e,t),Nc={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:c}=e;if(t[0]!=="$"){const p=o[t];if(p!==void 0)switch(p){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(ps(s,t))return o[t]=1,s[t];if(r!==oe&&se(r,t))return o[t]=2,r[t];if(se(i,t))return o[t]=3,i[t];if(n!==oe&&se(n,t))return o[t]=4,n[t];Ms&&(o[t]=0)}}const u=un[t];let f,h;if(u)return t==="$attrs"&&be(e.attrs,"get",""),u(e);if((f=l.__cssModules)&&(f=f[t]))return f;if(n!==oe&&se(n,t))return o[t]=4,n[t];if(h=c.config.globalProperties,se(h,t))return h[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return ps(r,t)?(r[t]=n,!0):s!==oe&&se(s,t)?(s[t]=n,!0):se(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,props:i,type:o}},l){let c;return!!(n[l]||e!==oe&&l[0]!=="$"&&se(e,l)||ps(t,l)||se(i,l)||se(s,l)||se(un,l)||se(r.config.globalProperties,l)||(c=o.__cssModules)&&c[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:se(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Fr(e){return B(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Ms=!0;function Mc(e){const t=Io(e),n=e.proxy,s=e.ctx;Ms=!1,t.beforeCreate&&Hr(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:u,created:f,beforeMount:h,mounted:p,beforeUpdate:g,updated:E,activated:_,deactivated:M,beforeDestroy:O,beforeUnmount:A,destroyed:w,unmounted:I,render:H,renderTracked:J,renderTriggered:q,errorCaptured:U,serverPrefetch:x,expose:k,inheritAttrs:Y,components:D,directives:z,filters:he}=t;if(u&&Dc(u,s,null),o)for(const $ in o){const te=o[$];G(te)&&(s[$]=te.bind(n))}if(r){const $=r.call(n,n);ee($)&&(e.data=Sn($))}if(Ms=!0,i)for(const $ in i){const te=i[$],Ze=G(te)?te.bind(n,n):G(te.get)?te.get.bind(n,n):Xe,at=!G(te)&&G(te.set)?te.set.bind(n):Xe,Ke=Le({get:Ze,set:at});Object.defineProperty(s,$,{enumerable:!0,configurable:!0,get:()=>Ke.value,set:Re=>Ke.value=Re})}if(l)for(const $ in l)Po(l[$],s,n,$);if(c){const $=G(c)?c.call(n):c;Reflect.ownKeys($).forEach(te=>{Dn(te,$[te])})}f&&Hr(f,e,"c");function ie($,te){B(te)?te.forEach(Ze=>$(Ze.bind(n))):te&&$(te.bind(n))}if(ie(Rc,h),ie(So,p),ie(wc,g),ie(Co,E),ie(Cc,_),ie(Ac,M),ie(Ic,U),ie(Pc,J),ie(Oc,q),ie(Ao,A),ie(xo,I),ie(Tc,x),B(k))if(k.length){const $=e.exposed||(e.exposed={});k.forEach(te=>{Object.defineProperty($,te,{get:()=>n[te],set:Ze=>n[te]=Ze,enumerable:!0})})}else e.exposed||(e.exposed={});H&&e.render===Xe&&(e.render=H),Y!=null&&(e.inheritAttrs=Y),D&&(e.components=D),z&&(e.directives=z),x&&hr(e)}function Dc(e,t,n=Xe){B(e)&&(e=Ds(e));for(const s in e){const r=e[s];let i;ee(r)?"default"in r?i=Fe(r.from||s,r.default,!0):i=Fe(r.from||s):i=Fe(r),fe(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function Hr(e,t,n){Ue(B(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Po(e,t,n,s){let r=s.includes(".")?ao(n,s):()=>n[s];if(ue(e)){const i=t[e];G(i)&&ln(r,i)}else if(G(e))ln(r,e.bind(n));else if(ee(e))if(B(e))e.forEach(i=>Po(i,t,n,s));else{const i=G(e.handler)?e.handler.bind(n):t[e.handler];G(i)&&ln(r,i,e)}}function Io(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(u=>Kn(c,u,o,!0)),Kn(c,t,o)),ee(t)&&i.set(t,c),c}function Kn(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&Kn(e,i,n,!0),r&&r.forEach(o=>Kn(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=Lc[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Lc={data:jr,props:Vr,emits:Vr,methods:nn,computed:nn,beforeCreate:Ce,created:Ce,beforeMount:Ce,mounted:Ce,beforeUpdate:Ce,updated:Ce,beforeDestroy:Ce,beforeUnmount:Ce,destroyed:Ce,unmounted:Ce,activated:Ce,deactivated:Ce,errorCaptured:Ce,serverPrefetch:Ce,components:nn,directives:nn,watch:Hc,provide:jr,inject:Fc};function jr(e,t){return t?e?function(){return de(G(e)?e.call(this,this):e,G(t)?t.call(this,this):t)}:t:e}function Fc(e,t){return nn(Ds(e),Ds(t))}function Ds(e){if(B(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${He(t)}Modifiers`]||e[`${St(t)}Modifiers`];function Uc(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||oe;let r=n;const i=t.startsWith("update:"),o=i&&Bc(s,t.slice(7));o&&(o.trim&&(r=n.map(f=>ue(f)?f.trim():f)),o.number&&(r=n.map(zs)));let l,c=s[l=cs(t)]||s[l=cs(He(t))];!c&&i&&(c=s[l=cs(St(t))]),c&&Ue(c,e,6,r);const u=s[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Ue(u,e,6,r)}}const kc=new WeakMap;function Mo(e,t,n=!1){const s=n?kc:t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!G(e)){const c=u=>{const f=Mo(u,t,!0);f&&(l=!0,de(o,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?(ee(e)&&s.set(e,null),null):(B(i)?i.forEach(c=>o[c]=null):de(o,i),ee(e)&&s.set(e,o),o)}function ns(e,t){return!e||!Jn(t)?!1:(t=t.slice(2).replace(/Once$/,""),se(e,t[0].toLowerCase()+t.slice(1))||se(e,St(t))||se(e,t))}function Br(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[i],slots:o,attrs:l,emit:c,render:u,renderCache:f,props:h,data:p,setupState:g,ctx:E,inheritAttrs:_}=e,M=Un(e);let O,A;try{if(n.shapeFlag&4){const I=r||s,H=I;O=Qe(u.call(H,I,f,h,g,p,E)),A=l}else{const I=t;O=Qe(I.length>1?I(h,{attrs:l,slots:o,emit:c}):I(h,null)),A=t.props?l:Kc(l)}}catch(I){an.length=0,An(I,e,1),O=ge(Ee)}let w=O;if(A&&_!==!1){const I=Object.keys(A),{shapeFlag:H}=w;I.length&&H&7&&(i&&I.some(Js)&&(A=Gc(A,i)),w=Et(w,A,!1,!0))}return n.dirs&&(w=Et(w,null,!1,!0),w.dirs=w.dirs?w.dirs.concat(n.dirs):n.dirs),n.transition&&Nt(w,n.transition),O=w,Un(M),O}const Kc=e=>{let t;for(const n in e)(n==="class"||n==="style"||Jn(n))&&((t||(t={}))[n]=e[n]);return t},Gc=(e,t)=>{const n={};for(const s in e)(!Js(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Wc(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:c}=t,u=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?Ur(s,o,u):!!o;if(c&8){const f=t.dynamicProps;for(let h=0;hObject.create(Lo),Ho=e=>Object.getPrototypeOf(e)===Lo;function qc(e,t,n,s=!1){const r={},i=Fo();e.propsDefaults=Object.create(null),jo(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:no(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function Jc(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=Z(r),[c]=e.propsOptions;let u=!1;if((s||o>0)&&!(o&16)){if(o&8){const f=e.vnode.dynamicProps;for(let h=0;h{c=!0;const[p,g]=Vo(h,t,!0);de(o,p),g&&l.push(...g)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!i&&!c)return ee(e)&&s.set(e,Bt),Bt;if(B(i))for(let f=0;fe==="_"||e==="_ctx"||e==="$stable",pr=e=>B(e)?e.map(Qe):[Qe(e)],zc=(e,t,n)=>{if(t._n)return t;const s=pc((...r)=>pr(t(...r)),n);return s._c=!1,s},Bo=(e,t,n)=>{const s=e._ctx;for(const r in e){if(dr(r))continue;const i=e[r];if(G(i))t[r]=zc(r,i,s);else if(i!=null){const o=pr(i);t[r]=()=>o}}},Uo=(e,t)=>{const n=pr(t);e.slots.default=()=>n},ko=(e,t,n)=>{for(const s in t)(n||!dr(s))&&(e[s]=t[s])},Qc=(e,t,n)=>{const s=e.slots=Fo();if(e.vnode.shapeFlag&32){const r=t._;r?(ko(s,t,n),n&&Li(s,"_",r,!0)):Bo(t,s)}else t&&Uo(e,t)},Xc=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=oe;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:ko(r,t,n):(i=!t.$stable,Bo(t,r)),o=t}else t&&(Uo(e,t),o={default:1});if(i)for(const l in r)!dr(l)&&o[l]==null&&delete r[l]},ye=sf;function Zc(e){return ef(e)}function ef(e,t){const n=Xn();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:u,setElementText:f,parentNode:h,nextSibling:p,setScopeId:g=Xe,insertStaticContent:E}=e,_=(a,d,m,y=null,S=null,v=null,P=void 0,T=null,R=!!d.dynamicChildren)=>{if(a===d)return;a&&!Tt(a,d)&&(y=b(a),Re(a,S,v,!0),a=null),d.patchFlag===-2&&(R=!1,d.dynamicChildren=null);const{type:C,ref:K,shapeFlag:L}=d;switch(C){case ss:M(a,d,m,y);break;case Ee:O(a,d,m,y);break;case ms:a==null&&A(d,m,y,P);break;case Oe:D(a,d,m,y,S,v,P,T,R);break;default:L&1?H(a,d,m,y,S,v,P,T,R):L&6?z(a,d,m,y,S,v,P,T,R):(L&64||L&128)&&C.process(a,d,m,y,S,v,P,T,R,j)}K!=null&&S?fn(K,a&&a.ref,v,d||a,!d):K==null&&a&&a.ref!=null&&fn(a.ref,null,v,a,!0)},M=(a,d,m,y)=>{if(a==null)s(d.el=l(d.children),m,y);else{const S=d.el=a.el;d.children!==a.children&&u(S,d.children)}},O=(a,d,m,y)=>{a==null?s(d.el=c(d.children||""),m,y):d.el=a.el},A=(a,d,m,y)=>{[a.el,a.anchor]=E(a.children,d,m,y,a.el,a.anchor)},w=({el:a,anchor:d},m,y)=>{let S;for(;a&&a!==d;)S=p(a),s(a,m,y),a=S;s(d,m,y)},I=({el:a,anchor:d})=>{let m;for(;a&&a!==d;)m=p(a),r(a),a=m;r(d)},H=(a,d,m,y,S,v,P,T,R)=>{if(d.type==="svg"?P="svg":d.type==="math"&&(P="mathml"),a==null)J(d,m,y,S,v,P,T,R);else{const C=a.el&&a.el._isVueCE?a.el:null;try{C&&C._beginPatch(),x(a,d,S,v,P,T,R)}finally{C&&C._endPatch()}}},J=(a,d,m,y,S,v,P,T)=>{let R,C;const{props:K,shapeFlag:L,transition:V,dirs:W}=a;if(R=a.el=o(a.type,v,K&&K.is,K),L&8?f(R,a.children):L&16&&U(a.children,R,null,y,S,gs(a,v),P,T),W&&At(a,null,y,"created"),q(R,a,a.scopeId,P,y),K){for(const le in K)le!=="value"&&!sn(le)&&i(R,le,null,K[le],v,y);"value"in K&&i(R,"value",null,K.value,v),(C=K.onVnodeBeforeMount)&&qe(C,y,a)}W&&At(a,null,y,"beforeMount");const X=tf(S,V);X&&V.beforeEnter(R),s(R,d,m),((C=K&&K.onVnodeMounted)||X||W)&&ye(()=>{C&&qe(C,y,a),X&&V.enter(R),W&&At(a,null,y,"mounted")},S)},q=(a,d,m,y,S)=>{if(m&&g(a,m),y)for(let v=0;v{for(let C=R;C{const T=d.el=a.el;let{patchFlag:R,dynamicChildren:C,dirs:K}=d;R|=a.patchFlag&16;const L=a.props||oe,V=d.props||oe;let W;if(m&&xt(m,!1),(W=V.onVnodeBeforeUpdate)&&qe(W,m,d,a),K&&At(d,a,m,"beforeUpdate"),m&&xt(m,!0),(L.innerHTML&&V.innerHTML==null||L.textContent&&V.textContent==null)&&f(T,""),C?k(a.dynamicChildren,C,T,m,y,gs(d,S),v):P||te(a,d,T,null,m,y,gs(d,S),v,!1),R>0){if(R&16)Y(T,L,V,m,S);else if(R&2&&L.class!==V.class&&i(T,"class",null,V.class,S),R&4&&i(T,"style",L.style,V.style,S),R&8){const X=d.dynamicProps;for(let le=0;le{W&&qe(W,m,d,a),K&&At(d,a,m,"updated")},y)},k=(a,d,m,y,S,v,P)=>{for(let T=0;T{if(d!==m){if(d!==oe)for(const v in d)!sn(v)&&!(v in m)&&i(a,v,d[v],null,S,y);for(const v in m){if(sn(v))continue;const P=m[v],T=d[v];P!==T&&v!=="value"&&i(a,v,T,P,S,y)}"value"in m&&i(a,"value",d.value,m.value,S)}},D=(a,d,m,y,S,v,P,T,R)=>{const C=d.el=a?a.el:l(""),K=d.anchor=a?a.anchor:l("");let{patchFlag:L,dynamicChildren:V,slotScopeIds:W}=d;W&&(T=T?T.concat(W):W),a==null?(s(C,m,y),s(K,m,y),U(d.children||[],m,K,S,v,P,T,R)):L>0&&L&64&&V&&a.dynamicChildren&&a.dynamicChildren.length===V.length?(k(a.dynamicChildren,V,m,S,v,P,T),(d.key!=null||S&&d===S.subTree)&&gr(a,d,!0)):te(a,d,m,K,S,v,P,T,R)},z=(a,d,m,y,S,v,P,T,R)=>{d.slotScopeIds=T,a==null?d.shapeFlag&512?S.ctx.activate(d,m,y,P,R):he(d,m,y,S,v,P,R):Se(a,d,R)},he=(a,d,m,y,S,v,P)=>{const T=a.component=hf(a,y,S);if(xn(a)&&(T.ctx.renderer=j),df(T,!1,P),T.asyncDep){if(S&&S.registerDep(T,ie,P),!a.el){const R=T.subTree=ge(Ee);O(null,R,d,m),a.placeholder=R.el}}else ie(T,a,d,m,S,v,P)},Se=(a,d,m)=>{const y=d.component=a.component;if(Wc(a,d,m))if(y.asyncDep&&!y.asyncResolved){$(y,d,m);return}else y.next=d,y.update();else d.el=a.el,y.vnode=d},ie=(a,d,m,y,S,v,P)=>{const T=()=>{if(a.isMounted){let{next:L,bu:V,u:W,parent:X,vnode:le}=a;{const We=Ko(a);if(We){L&&(L.el=le.el,$(a,L,P)),We.asyncDep.then(()=>{ye(()=>{a.isUnmounted||C()},S)});return}}let re=L,we;xt(a,!1),L?(L.el=le.el,$(a,L,P)):L=le,V&&Mn(V),(we=L.props&&L.props.onVnodeBeforeUpdate)&&qe(we,X,L,le),xt(a,!0);const Te=Br(a),Ge=a.subTree;a.subTree=Te,_(Ge,Te,h(Ge.el),b(Ge),a,S,v),L.el=Te.el,re===null&&$c(a,Te.el),W&&ye(W,S),(we=L.props&&L.props.onVnodeUpdated)&&ye(()=>qe(we,X,L,le),S)}else{let L;const{el:V,props:W}=d,{bm:X,m:le,parent:re,root:we,type:Te}=a,Ge=Gt(d);xt(a,!1),X&&Mn(X),!Ge&&(L=W&&W.onVnodeBeforeMount)&&qe(L,re,d),xt(a,!0);{we.ce&&we.ce._hasShadowRoot()&&we.ce._injectChildStyle(Te);const We=a.subTree=Br(a);_(null,We,m,y,a,S,v),d.el=We.el}if(le&&ye(le,S),!Ge&&(L=W&&W.onVnodeMounted)){const We=d;ye(()=>qe(L,re,We),S)}(d.shapeFlag&256||re&&Gt(re.vnode)&&re.vnode.shapeFlag&256)&&a.a&&ye(a.a,S),a.isMounted=!0,d=m=y=null}};a.scope.on();const R=a.effect=new ki(T);a.scope.off();const C=a.update=R.run.bind(R),K=a.job=R.runIfDirty.bind(R);K.i=a,K.id=a.uid,R.scheduler=()=>cr(K),xt(a,!0),C()},$=(a,d,m)=>{d.component=a;const y=a.vnode.props;a.vnode=d,a.next=null,Jc(a,d.props,y,m),Xc(a,d.children,m),lt(),wr(a),ct()},te=(a,d,m,y,S,v,P,T,R=!1)=>{const C=a&&a.children,K=a?a.shapeFlag:0,L=d.children,{patchFlag:V,shapeFlag:W}=d;if(V>0){if(V&128){at(C,L,m,y,S,v,P,T,R);return}else if(V&256){Ze(C,L,m,y,S,v,P,T,R);return}}W&8?(K&16&&Me(C,S,v),L!==C&&f(m,L)):K&16?W&16?at(C,L,m,y,S,v,P,T,R):Me(C,S,v,!0):(K&8&&f(m,""),W&16&&U(L,m,y,S,v,P,T,R))},Ze=(a,d,m,y,S,v,P,T,R)=>{a=a||Bt,d=d||Bt;const C=a.length,K=d.length,L=Math.min(C,K);let V;for(V=0;VK?Me(a,S,v,!0,!1,L):U(d,m,y,S,v,P,T,R,L)},at=(a,d,m,y,S,v,P,T,R)=>{let C=0;const K=d.length;let L=a.length-1,V=K-1;for(;C<=L&&C<=V;){const W=a[C],X=d[C]=R?st(d[C]):Qe(d[C]);if(Tt(W,X))_(W,X,m,null,S,v,P,T,R);else break;C++}for(;C<=L&&C<=V;){const W=a[L],X=d[V]=R?st(d[V]):Qe(d[V]);if(Tt(W,X))_(W,X,m,null,S,v,P,T,R);else break;L--,V--}if(C>L){if(C<=V){const W=V+1,X=WV)for(;C<=L;)Re(a[C],S,v,!0),C++;else{const W=C,X=C,le=new Map;for(C=X;C<=V;C++){const Pe=d[C]=R?st(d[C]):Qe(d[C]);Pe.key!=null&&le.set(Pe.key,C)}let re,we=0;const Te=V-X+1;let Ge=!1,We=0;const zt=new Array(Te);for(C=0;C=Te){Re(Pe,S,v,!0);continue}let $e;if(Pe.key!=null)$e=le.get(Pe.key);else for(re=X;re<=V;re++)if(zt[re-X]===0&&Tt(Pe,d[re])){$e=re;break}$e===void 0?Re(Pe,S,v,!0):(zt[$e-X]=C+1,$e>=We?We=$e:Ge=!0,_(Pe,d[$e],m,null,S,v,P,T,R),we++)}const br=Ge?nf(zt):Bt;for(re=br.length-1,C=Te-1;C>=0;C--){const Pe=X+C,$e=d[Pe],Er=d[Pe+1],Sr=Pe+1{const{el:v,type:P,transition:T,children:R,shapeFlag:C}=a;if(C&6){Ke(a.component.subTree,d,m,y);return}if(C&128){a.suspense.move(d,m,y);return}if(C&64){P.move(a,d,m,j);return}if(P===Oe){s(v,d,m);for(let L=0;LT.enter(v),S);else{const{leave:L,delayLeave:V,afterLeave:W}=T,X=()=>{a.ctx.isUnmounted?r(v):s(v,d,m)},le=()=>{v._isLeaving&&v[ze](!0),L(v,()=>{X(),W&&W()})};V?V(v,X,le):le()}else s(v,d,m)},Re=(a,d,m,y=!1,S=!1)=>{const{type:v,props:P,ref:T,children:R,dynamicChildren:C,shapeFlag:K,patchFlag:L,dirs:V,cacheIndex:W}=a;if(L===-2&&(S=!1),T!=null&&(lt(),fn(T,null,m,a,!0),ct()),W!=null&&(d.renderCache[W]=void 0),K&256){d.ctx.deactivate(a);return}const X=K&1&&V,le=!Gt(a);let re;if(le&&(re=P&&P.onVnodeBeforeUnmount)&&qe(re,d,a),K&6)Ct(a.component,m,y);else{if(K&128){a.suspense.unmount(m,y);return}X&&At(a,null,d,"beforeUnmount"),K&64?a.type.remove(a,d,m,j,y):C&&!C.hasOnce&&(v!==Oe||L>0&&L&64)?Me(C,d,m,!1,!0):(v===Oe&&L&384||!S&&K&16)&&Me(R,d,m),y&&Mt(a)}(le&&(re=P&&P.onVnodeUnmounted)||X)&&ye(()=>{re&&qe(re,d,a),X&&At(a,null,d,"unmounted")},m)},Mt=a=>{const{type:d,el:m,anchor:y,transition:S}=a;if(d===Oe){Dt(m,y);return}if(d===ms){I(a);return}const v=()=>{r(m),S&&!S.persisted&&S.afterLeave&&S.afterLeave()};if(a.shapeFlag&1&&S&&!S.persisted){const{leave:P,delayLeave:T}=S,R=()=>P(m,v);T?T(a.el,v,R):R()}else v()},Dt=(a,d)=>{let m;for(;a!==d;)m=p(a),r(a),a=m;r(d)},Ct=(a,d,m)=>{const{bum:y,scope:S,job:v,subTree:P,um:T,m:R,a:C}=a;Kr(R),Kr(C),y&&Mn(y),S.stop(),v&&(v.flags|=8,Re(P,a,d,m)),T&&ye(T,d),ye(()=>{a.isUnmounted=!0},d)},Me=(a,d,m,y=!1,S=!1,v=0)=>{for(let P=v;P{if(a.shapeFlag&6)return b(a.component.subTree);if(a.shapeFlag&128)return a.suspense.next();const d=p(a.anchor||a.el),m=d&&d[ho];return m?p(m):d};let F=!1;const N=(a,d,m)=>{let y;a==null?d._vnode&&(Re(d._vnode,null,null,!0),y=d._vnode.component):_(d._vnode||null,a,d,null,null,null,m),d._vnode=a,F||(F=!0,wr(y),co(),F=!1)},j={p:_,um:Re,m:Ke,r:Mt,mt:he,mc:U,pc:te,pbc:k,n:b,o:e};return{render:N,hydrate:void 0,createApp:Vc(N)}}function gs({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 xt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function tf(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function gr(e,t,n=!1){const s=e.children,r=t.children;if(B(s)&&B(r))for(let i=0;i>1,e[n[l]]0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function Ko(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Ko(t)}function Kr(e){if(e)for(let t=0;te.__isSuspense;function sf(e,t){t&&t.pendingBranch?B(e)?t.effects.push(...e):t.effects.push(e):dc(e)}const Oe=Symbol.for("v-fgt"),ss=Symbol.for("v-txt"),Ee=Symbol.for("v-cmt"),ms=Symbol.for("v-stc"),an=[];let Ie=null;function Fs(e=!1){an.push(Ie=e?null:[])}function rf(){an.pop(),Ie=an[an.length-1]||null}let yn=1;function Gn(e,t=!1){yn+=e,e<0&&Ie&&t&&(Ie.hasOnce=!0)}function $o(e){return e.dynamicChildren=yn>0?Ie||Bt:null,rf(),yn>0&&Ie&&Ie.push(e),e}function Ea(e,t,n,s,r,i){return $o(Jo(e,t,n,s,r,i,!0))}function Hs(e,t,n,s,r){return $o(ge(e,t,n,s,r,!0))}function vn(e){return e?e.__v_isVNode===!0:!1}function Tt(e,t){return e.type===t.type&&e.key===t.key}const qo=({key:e})=>e??null,Fn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ue(e)||fe(e)||G(e)?{i:_e,r:e,k:t,f:!!n}:e:null);function Jo(e,t=null,n=null,s=0,r=null,i=e===Oe?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&qo(t),ref:t&&Fn(t),scopeId:uo,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:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:_e};return l?(mr(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=ue(n)?8:16),yn>0&&!o&&Ie&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Ie.push(c),c}const ge=of;function of(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===wo)&&(e=Ee),vn(e)){const l=Et(e,t,!0);return n&&mr(l,n),yn>0&&!i&&Ie&&(l.shapeFlag&6?Ie[Ie.indexOf(e)]=l:Ie.push(l)),l.patchFlag=-2,l}if(yf(e)&&(e=e.__vccOpts),t){t=lf(t);let{class:l,style:c}=t;l&&!ue(l)&&(t.class=Xs(l)),ee(c)&&(es(c)&&!B(c)&&(c=de({},c)),t.style=Qs(c))}const o=ue(e)?1:Wo(e)?128:po(e)?64:ee(e)?4:G(e)?2:0;return Jo(e,t,n,s,r,o,i,!0)}function lf(e){return e?es(e)||Ho(e)?de({},e):e:null}function Et(e,t,n=!1,s=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:c}=e,u=t?ff(r||{},t):r,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&qo(u),ref:t&&t.ref?n&&i?B(i)?i.concat(Fn(t)):[i,Fn(t)]:Fn(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Oe?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&&Et(e.ssContent),ssFallback:e.ssFallback&&Et(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&Nt(f,c.clone(f)),f}function cf(e=" ",t=0){return ge(ss,null,e,t)}function Sa(e="",t=!1){return t?(Fs(),Hs(Ee,null,e)):ge(Ee,null,e)}function Qe(e){return e==null||typeof e=="boolean"?ge(Ee):B(e)?ge(Oe,null,e.slice()):vn(e)?st(e):ge(ss,null,String(e))}function st(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Et(e)}function mr(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(B(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),mr(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!Ho(t)?t._ctx=_e:r===3&&_e&&(_e.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else G(t)?(t={default:t,_ctx:_e},n=32):(t=String(t),s&64?(n=16,t=[cf(t)]):n=8);e.children=t,e.shapeFlag|=n}function ff(...e){const t={};for(let n=0;nme||_e;let Wn,js;{const e=Xn(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};Wn=t("__VUE_INSTANCE_SETTERS__",n=>me=n),js=t("__VUE_SSR_SETTERS__",n=>$t=n)}const wn=e=>{const t=me;return Wn(e),e.scope.on(),()=>{e.scope.off(),Wn(t)}},Gr=()=>{me&&me.scope.off(),Wn(null)};function Yo(e){return e.vnode.shapeFlag&4}let $t=!1;function df(e,t=!1,n=!1){t&&js(t);const{props:s,children:r}=e.vnode,i=Yo(e);qc(e,s,i,t),Qc(e,r,n||t);const o=i?pf(e,t):void 0;return t&&js(!1),o}function pf(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Nc);const{setup:s}=n;if(s){lt();const r=e.setupContext=s.length>1?mf(e):null,i=wn(e),o=Cn(s,e,0,[e.props,r]),l=Ni(o);if(ct(),i(),(l||e.sp)&&!Gt(e)&&hr(e),l){if(o.then(Gr,Gr),t)return o.then(c=>{Wr(e,c)}).catch(c=>{An(c,e,0)});e.asyncDep=o}else Wr(e,o)}else zo(e)}function Wr(e,t,n){G(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ee(t)&&(e.setupState=ro(t)),zo(e)}function zo(e,t,n){const s=e.type;e.render||(e.render=s.render||Xe);{const r=wn(e);lt();try{Mc(e)}finally{ct(),r()}}}const gf={get(e,t){return be(e,"get",""),e[t]}};function mf(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,gf),slots:e.slots,emit:e.emit,expose:t}}function rs(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(ro(or(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in un)return un[n](e)},has(t,n){return n in t||n in un}})):e.proxy}function _f(e,t=!0){return G(e)?e.displayName||e.name:e.name||t&&e.__name}function yf(e){return G(e)&&"__vccOpts"in e}const Le=(e,t)=>cc(e,t,$t);function _r(e,t,n){try{Gn(-1);const s=arguments.length;return s===2?ee(t)&&!B(t)?vn(t)?ge(e,null,[t]):ge(e,t):ge(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&vn(n)&&(n=[n]),ge(e,t,n))}finally{Gn(1)}}const vf="3.5.29";/** +* @vue/runtime-dom v3.5.29 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Vs;const $r=typeof window<"u"&&window.trustedTypes;if($r)try{Vs=$r.createPolicy("vue",{createHTML:e=>e})}catch{}const Qo=Vs?e=>Vs.createHTML(e):e=>e,bf="http://www.w3.org/2000/svg",Ef="http://www.w3.org/1998/Math/MathML",nt=typeof document<"u"?document:null,qr=nt&&nt.createElement("template"),Sf={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?nt.createElementNS(bf,e):t==="mathml"?nt.createElementNS(Ef,e):n?nt.createElement(e,{is:n}):nt.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>nt.createTextNode(e),createComment:e=>nt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>nt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{qr.innerHTML=Qo(s==="svg"?`${e}`:s==="mathml"?`${e}`:e);const l=qr.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},ht="transition",Zt="animation",qt=Symbol("_vtc"),Xo={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Zo=de({},_o,Xo),Cf=e=>(e.displayName="Transition",e.props=Zo,e),Ca=Cf((e,{slots:t})=>_r(Ec,el(e),t)),Rt=(e,t=[])=>{B(e)?e.forEach(n=>n(...t)):e&&e(...t)},Jr=e=>e?B(e)?e.some(t=>t.length>1):e.length>1:!1;function el(e){const t={};for(const D in e)D in Xo||(t[D]=e[D]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:u=o,appearToClass:f=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:g=`${n}-leave-to`}=e,E=Af(r),_=E&&E[0],M=E&&E[1],{onBeforeEnter:O,onEnter:A,onEnterCancelled:w,onLeave:I,onLeaveCancelled:H,onBeforeAppear:J=O,onAppear:q=A,onAppearCancelled:U=w}=t,x=(D,z,he,Se)=>{D._enterCancelled=Se,pt(D,z?f:l),pt(D,z?u:o),he&&he()},k=(D,z)=>{D._isLeaving=!1,pt(D,h),pt(D,g),pt(D,p),z&&z()},Y=D=>(z,he)=>{const Se=D?q:A,ie=()=>x(z,D,he);Rt(Se,[z,ie]),Yr(()=>{pt(z,D?c:i),Je(z,D?f:l),Jr(Se)||zr(z,s,_,ie)})};return de(t,{onBeforeEnter(D){Rt(O,[D]),Je(D,i),Je(D,o)},onBeforeAppear(D){Rt(J,[D]),Je(D,c),Je(D,u)},onEnter:Y(!1),onAppear:Y(!0),onLeave(D,z){D._isLeaving=!0;const he=()=>k(D,z);Je(D,h),D._enterCancelled?(Je(D,p),Bs(D)):(Bs(D),Je(D,p)),Yr(()=>{D._isLeaving&&(pt(D,h),Je(D,g),Jr(I)||zr(D,s,M,he))}),Rt(I,[D,he])},onEnterCancelled(D){x(D,!1,void 0,!0),Rt(w,[D])},onAppearCancelled(D){x(D,!0,void 0,!0),Rt(U,[D])},onLeaveCancelled(D){k(D),Rt(H,[D])}})}function Af(e){if(e==null)return null;if(ee(e))return[_s(e.enter),_s(e.leave)];{const t=_s(e);return[t,t]}}function _s(e){return Rl(e)}function Je(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[qt]||(e[qt]=new Set)).add(t)}function pt(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[qt];n&&(n.delete(t),n.size||(e[qt]=void 0))}function Yr(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let xf=0;function zr(e,t,n,s){const r=e._endId=++xf,i=()=>{r===e._endId&&s()};if(n!=null)return setTimeout(i,n);const{type:o,timeout:l,propCount:c}=tl(e,t);if(!o)return s();const u=o+"end";let f=0;const h=()=>{e.removeEventListener(u,p),i()},p=g=>{g.target===e&&++f>=c&&h()};setTimeout(()=>{f(n[E]||"").split(", "),r=s(`${ht}Delay`),i=s(`${ht}Duration`),o=Qr(r,i),l=s(`${Zt}Delay`),c=s(`${Zt}Duration`),u=Qr(l,c);let f=null,h=0,p=0;t===ht?o>0&&(f=ht,h=o,p=i.length):t===Zt?u>0&&(f=Zt,h=u,p=c.length):(h=Math.max(o,u),f=h>0?o>u?ht:Zt:null,p=f?f===ht?i.length:c.length:0);const g=f===ht&&/\b(?:transform|all)(?:,|$)/.test(s(`${ht}Property`).toString());return{type:f,timeout:h,propCount:p,hasTransform:g}}function Qr(e,t){for(;e.lengthXr(n)+Xr(e[s])))}function Xr(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Bs(e){return(e?e.ownerDocument:document).body.offsetHeight}function Rf(e,t,n){const s=e[qt];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const $n=Symbol("_vod"),nl=Symbol("_vsh"),Aa={name:"show",beforeMount(e,{value:t},{transition:n}){e[$n]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):en(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),en(e,!0),s.enter(e)):s.leave(e,()=>{en(e,!1)}):en(e,t))},beforeUnmount(e,{value:t}){en(e,t)}};function en(e,t){e.style.display=t?e[$n]:"none",e[nl]=!t}const wf=Symbol(""),Tf=/(?:^|;)\s*display\s*:/;function Of(e,t,n){const s=e.style,r=ue(n);let i=!1;if(n&&!r){if(t)if(ue(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&Hn(s,l,"")}else for(const o in t)n[o]==null&&Hn(s,o,"");for(const o in n)o==="display"&&(i=!0),Hn(s,o,n[o])}else if(r){if(t!==n){const o=s[wf];o&&(n+=";"+o),s.cssText=n,i=Tf.test(n)}}else t&&e.removeAttribute("style");$n in e&&(e[$n]=i?s.display:"",e[nl]&&(s.display="none"))}const Zr=/\s*!important$/;function Hn(e,t,n){if(B(n))n.forEach(s=>Hn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Pf(e,t);Zr.test(n)?e.setProperty(St(s),n.replace(Zr,""),"important"):e[s]=n}}const ei=["Webkit","Moz","ms"],ys={};function Pf(e,t){const n=ys[t];if(n)return n;let s=He(t);if(s!=="filter"&&s in e)return ys[t]=s;s=Qn(s);for(let r=0;rvs||(Df.then(()=>vs=0),vs=Date.now());function Ff(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;Ue(Hf(s,n.value),t,5,[s])};return n.value=e,n.attached=Lf(),n}function Hf(e,t){if(B(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const oi=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,jf=(e,t,n,s,r,i)=>{const o=r==="svg";t==="class"?Rf(e,s,o):t==="style"?Of(e,n,s):Jn(t)?Js(t)||Nf(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Vf(e,t,s,o))?(si(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&ni(e,t,s,o,i,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!ue(s))?si(e,He(t),s,i,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),ni(e,t,s,o))};function Vf(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&oi(t)&&G(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"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return oi(t)&&ue(n)?!1:t in e}const sl=new WeakMap,rl=new WeakMap,qn=Symbol("_moveCb"),li=Symbol("_enterCb"),Bf=e=>(delete e.props.mode,e),Uf=Bf({name:"TransitionGroup",props:de({},Zo,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=Rn(),s=mo();let r,i;return Co(()=>{if(!r.length)return;const o=e.moveClass||`${e.name||"v"}-move`;if(!Wf(r[0].el,n.vnode.el,o)){r=[];return}r.forEach(kf),r.forEach(Kf);const l=r.filter(Gf);Bs(n.vnode.el),l.forEach(c=>{const u=c.el,f=u.style;Je(u,o),f.transform=f.webkitTransform=f.transitionDuration="";const h=u[qn]=p=>{p&&p.target!==u||(!p||p.propertyName.endsWith("transform"))&&(u.removeEventListener("transitionend",h),u[qn]=null,pt(u,o))};u.addEventListener("transitionend",h)}),r=[]}),()=>{const o=Z(e),l=el(o);let c=o.tag||Oe;if(r=[],i)for(let u=0;u{l.split(/\s+/).forEach(c=>c&&s.classList.remove(c))}),n.split(/\s+/).forEach(l=>l&&s.classList.add(l)),s.style.display="none";const i=t.nodeType===1?t:t.parentNode;i.appendChild(s);const{hasTransform:o}=tl(s);return i.removeChild(s),o}const ci=e=>{const t=e.props["onUpdate:modelValue"]||!1;return B(t)?n=>Mn(t,n):t};function $f(e){e.target.composing=!0}function fi(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const bs=Symbol("_assign");function ui(e,t,n){return t&&(e=e.trim()),n&&(e=zs(e)),e}const Ra={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e[bs]=ci(r);const i=s||r.props&&r.props.type==="number";jt(e,t?"change":"input",o=>{o.target.composing||e[bs](ui(e.value,n,i))}),(n||i)&&jt(e,"change",()=>{e.value=ui(e.value,n,i)}),t||(jt(e,"compositionstart",$f),jt(e,"compositionend",fi),jt(e,"change",fi))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:i}},o){if(e[bs]=ci(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?zs(e.value):e.value,c=t??"";l!==c&&(document.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===c)||(e.value=c))}},qf=["ctrl","shift","alt","meta"],Jf={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)=>qf.some(n=>e[`${n}Key`]&&!t.includes(n))},wa=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(r,...i)=>{for(let o=0;o{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=r=>{if(!("key"in r))return;const i=St(r.key);if(t.some(o=>o===i||Yf[o]===i))return e(r)})},zf=de({patchProp:jf},Sf);let ai;function Qf(){return ai||(ai=Zc(zf))}const Oa=(...e)=>{const t=Qf().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Zf(s);if(!r)return;const i=t._component;!G(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=n(r,!1,Xf(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t};function Xf(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Zf(e){return ue(e)?document.querySelector(e):e}/*! + * pinia v3.0.4 + * (c) 2025 Eduardo San Martin Morote + * @license MIT + */let ol;const is=e=>ol=e,ll=Symbol();function Us(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var hn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(hn||(hn={}));function Pa(){const e=Bi(!0),t=e.run(()=>kt({}));let n=[],s=[];const r=or({install(i){is(r),r._a=i,i.provide(ll,r),i.config.globalProperties.$pinia=r,s.forEach(o=>n.push(o)),s=[]},use(i){return this._a?n.push(i):s.push(i),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return r}const cl=()=>{};function hi(e,t,n,s=cl){e.add(t);const r=()=>{e.delete(t)&&s()};return!n&&Ui()&&Ll(r),r}function Ft(e,...t){e.forEach(n=>{n(...t)})}const eu=e=>e(),di=Symbol(),Es=Symbol();function ks(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,s)=>e.set(s,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const s=t[n],r=e[n];Us(r)&&Us(s)&&e.hasOwnProperty(n)&&!fe(s)&&!ot(s)?e[n]=ks(r,s):e[n]=s}return e}const tu=Symbol();function nu(e){return!Us(e)||!Object.prototype.hasOwnProperty.call(e,tu)}const{assign:gt}=Object;function su(e){return!!(fe(e)&&e.effect)}function ru(e,t,n,s){const{state:r,actions:i,getters:o}=t,l=n.state.value[e];let c;function u(){l||(n.state.value[e]=r?r():{});const f=rc(n.state.value[e]);return gt(f,i,Object.keys(o||{}).reduce((h,p)=>(h[p]=or(Le(()=>{is(n);const g=n._s.get(e);return o[p].call(g,g)})),h),{}))}return c=fl(e,u,t,n,s,!0),c}function fl(e,t,n={},s,r,i){let o;const l=gt({actions:{}},n),c={deep:!0};let u,f,h=new Set,p=new Set,g;const E=s.state.value[e];!i&&!E&&(s.state.value[e]={});let _;function M(U){let x;u=f=!1,typeof U=="function"?(U(s.state.value[e]),x={type:hn.patchFunction,storeId:e,events:g}):(ks(s.state.value[e],U),x={type:hn.patchObject,payload:U,storeId:e,events:g});const k=_=Symbol();lr().then(()=>{_===k&&(u=!0)}),f=!0,Ft(h,x,s.state.value[e])}const O=i?function(){const{state:x}=n,k=x?x():{};this.$patch(Y=>{gt(Y,k)})}:cl;function A(){o.stop(),h.clear(),p.clear(),s._s.delete(e)}const w=(U,x="")=>{if(di in U)return U[Es]=x,U;const k=function(){is(s);const Y=Array.from(arguments),D=new Set,z=new Set;function he($){D.add($)}function Se($){z.add($)}Ft(p,{args:Y,name:k[Es],store:H,after:he,onError:Se});let ie;try{ie=U.apply(this&&this.$id===e?this:H,Y)}catch($){throw Ft(z,$),$}return ie instanceof Promise?ie.then($=>(Ft(D,$),$)).catch($=>(Ft(z,$),Promise.reject($))):(Ft(D,ie),ie)};return k[di]=!0,k[Es]=x,k},I={_p:s,$id:e,$onAction:hi.bind(null,p),$patch:M,$reset:O,$subscribe(U,x={}){const k=hi(h,U,x.detached,()=>Y()),Y=o.run(()=>ln(()=>s.state.value[e],D=>{(x.flush==="sync"?f:u)&&U({storeId:e,type:hn.direct,events:g},D)},gt({},c,x)));return k},$dispose:A},H=Sn(I);s._s.set(e,H);const q=(s._a&&s._a.runWithContext||eu)(()=>s._e.run(()=>(o=Bi()).run(()=>t({action:w}))));for(const U in q){const x=q[U];if(fe(x)&&!su(x)||ot(x))i||(E&&nu(x)&&(fe(x)?x.value=E[U]:ks(x,E[U])),s.state.value[e][U]=x);else if(typeof x=="function"){const k=w(x,U);q[U]=k,l.actions[U]=x}}return gt(H,q),gt(Z(H),q),Object.defineProperty(H,"$state",{get:()=>s.state.value[e],set:U=>{M(x=>{gt(x,U)})}}),s._p.forEach(U=>{gt(H,o.run(()=>U({store:H,app:s._a,pinia:s,options:l})))}),E&&i&&n.hydrate&&n.hydrate(H.$state,E),u=!0,f=!0,H}/*! #__NO_SIDE_EFFECTS__ */function Ia(e,t,n){let s;const r=typeof t=="function";s=r?n:t;function i(o,l){const c=gc();return o=o||(c?Fe(ll,null):null),o&&is(o),o=ol,o._s.has(e)||(r?fl(e,t,s,o):ru(e,s,o)),o._s.get(e)}return i.$id=e,i}function Na(e,t){return Array.isArray(t)?t.reduce((n,s)=>(n[s]=function(){return e(this.$pinia)[s]},n),{}):Object.keys(t).reduce((n,s)=>(n[s]=function(){const r=e(this.$pinia),i=t[s];return typeof i=="function"?i.call(this,r):r[i]},n),{})}function Ma(e,t){return Array.isArray(t)?t.reduce((n,s)=>(n[s]=function(...r){return e(this.$pinia)[s](...r)},n),{}):Object.keys(t).reduce((n,s)=>(n[s]=function(...r){return e(this.$pinia)[t[s]](...r)},n),{})}/*! + * vue-router v4.6.4 + * (c) 2025 Eduardo San Martin Morote + * @license MIT + */const Vt=typeof document<"u";function ul(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function iu(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&ul(e.default)}const ne=Object.assign;function Ss(e,t){const n={};for(const s in t){const r=t[s];n[s]=ke(r)?r.map(e):e(r)}return n}const dn=()=>{},ke=Array.isArray;function pi(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}const al=/#/g,ou=/&/g,lu=/\//g,cu=/=/g,fu=/\?/g,hl=/\+/g,uu=/%5B/g,au=/%5D/g,dl=/%5E/g,hu=/%60/g,pl=/%7B/g,du=/%7C/g,gl=/%7D/g,pu=/%20/g;function yr(e){return e==null?"":encodeURI(""+e).replace(du,"|").replace(uu,"[").replace(au,"]")}function gu(e){return yr(e).replace(pl,"{").replace(gl,"}").replace(dl,"^")}function Ks(e){return yr(e).replace(hl,"%2B").replace(pu,"+").replace(al,"%23").replace(ou,"%26").replace(hu,"`").replace(pl,"{").replace(gl,"}").replace(dl,"^")}function mu(e){return Ks(e).replace(cu,"%3D")}function _u(e){return yr(e).replace(al,"%23").replace(fu,"%3F")}function yu(e){return _u(e).replace(lu,"%2F")}function bn(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const vu=/\/$/,bu=e=>e.replace(vu,"");function Cs(e,t,n="/"){let s,r={},i="",o="";const l=t.indexOf("#");let c=t.indexOf("?");return c=l>=0&&c>l?-1:c,c>=0&&(s=t.slice(0,c),i=t.slice(c,l>0?l:t.length),r=e(i.slice(1))),l>=0&&(s=s||t.slice(0,l),o=t.slice(l,t.length)),s=Au(s??t,n),{fullPath:s+i+o,path:s,query:r,hash:bn(o)}}function Eu(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function gi(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Su(e,t,n){const s=t.matched.length-1,r=n.matched.length-1;return s>-1&&s===r&&Jt(t.matched[s],n.matched[r])&&ml(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Jt(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function ml(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Cu(e[n],t[n]))return!1;return!0}function Cu(e,t){return ke(e)?mi(e,t):ke(t)?mi(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function mi(e,t){return ke(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function Au(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),r=s[s.length-1];(r===".."||r===".")&&s.push("");let i=n.length-1,o,l;for(o=0;o1&&i--;else break;return n.slice(0,i).join("/")+"/"+s.slice(o).join("/")}const dt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let Gs=function(e){return e.pop="pop",e.push="push",e}({}),As=function(e){return e.back="back",e.forward="forward",e.unknown="",e}({});function xu(e){if(!e)if(Vt){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),bu(e)}const Ru=/^[^#]+#/;function wu(e,t){return e.replace(Ru,"#")+t}function Tu(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const os=()=>({left:window.scrollX,top:window.scrollY});function Ou(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),r=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=Tu(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function _i(e,t){return(history.state?history.state.position-t:-1)+e}const Ws=new Map;function Pu(e,t){Ws.set(e,t)}function Iu(e){const t=Ws.get(e);return Ws.delete(e),t}function Nu(e){return typeof e=="string"||e&&typeof e=="object"}function _l(e){return typeof e=="string"||typeof e=="symbol"}let ae=function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e}({});const yl=Symbol("");ae.MATCHER_NOT_FOUND+"",ae.NAVIGATION_GUARD_REDIRECT+"",ae.NAVIGATION_ABORTED+"",ae.NAVIGATION_CANCELLED+"",ae.NAVIGATION_DUPLICATED+"";function Yt(e,t){return ne(new Error,{type:e,[yl]:!0},t)}function tt(e,t){return e instanceof Error&&yl in e&&(t==null||!!(e.type&t))}const Mu=["params","query","hash"];function Du(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of Mu)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function Lu(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;sr&&Ks(r)):[s&&Ks(s)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+n,r!=null&&(t+="="+r))})}return t}function Fu(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=ke(s)?s.map(r=>r==null?null:""+r):s==null?s:""+s)}return t}const Hu=Symbol(""),vi=Symbol(""),ls=Symbol(""),vr=Symbol(""),$s=Symbol("");function tn(){let e=[];function t(s){return e.push(s),()=>{const r=e.indexOf(s);r>-1&&e.splice(r,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function yt(e,t,n,s,r,i=o=>o()){const o=s&&(s.enterCallbacks[r]=s.enterCallbacks[r]||[]);return()=>new Promise((l,c)=>{const u=p=>{p===!1?c(Yt(ae.NAVIGATION_ABORTED,{from:n,to:t})):p instanceof Error?c(p):Nu(p)?c(Yt(ae.NAVIGATION_GUARD_REDIRECT,{from:t,to:p})):(o&&s.enterCallbacks[r]===o&&typeof p=="function"&&o.push(p),l())},f=i(()=>e.call(s&&s.instances[r],t,n,u));let h=Promise.resolve(f);e.length<3&&(h=h.then(u)),h.catch(p=>c(p))})}function xs(e,t,n,s,r=i=>i()){const i=[];for(const o of e)for(const l in o.components){let c=o.components[l];if(!(t!=="beforeRouteEnter"&&!o.instances[l]))if(ul(c)){const u=(c.__vccOpts||c)[t];u&&i.push(yt(u,n,s,o,l,r))}else{let u=c();i.push(()=>u.then(f=>{if(!f)throw new Error(`Couldn't resolve component "${l}" at "${o.path}"`);const h=iu(f)?f.default:f;o.mods[l]=f,o.components[l]=h;const p=(h.__vccOpts||h)[t];return p&&yt(p,n,s,o,l,r)()}))}}return i}function ju(e,t){const n=[],s=[],r=[],i=Math.max(t.matched.length,e.matched.length);for(let o=0;oJt(u,l))?s.push(l):n.push(l));const c=e.matched[o];c&&(t.matched.find(u=>Jt(u,c))||r.push(c))}return[n,s,r]}/*! + * vue-router v4.6.4 + * (c) 2025 Eduardo San Martin Morote + * @license MIT + */let Vu=()=>location.protocol+"//"+location.host;function vl(e,t){const{pathname:n,search:s,hash:r}=t,i=e.indexOf("#");if(i>-1){let o=r.includes(e.slice(i))?e.slice(i).length:1,l=r.slice(o);return l[0]!=="/"&&(l="/"+l),gi(l,"")}return gi(n,e)+s+r}function Bu(e,t,n,s){let r=[],i=[],o=null;const l=({state:p})=>{const g=vl(e,location),E=n.value,_=t.value;let M=0;if(p){if(n.value=g,t.value=p,o&&o===E){o=null;return}M=_?p.position-_.position:0}else s(g);r.forEach(O=>{O(n.value,E,{delta:M,type:Gs.pop,direction:M?M>0?As.forward:As.back:As.unknown})})};function c(){o=n.value}function u(p){r.push(p);const g=()=>{const E=r.indexOf(p);E>-1&&r.splice(E,1)};return i.push(g),g}function f(){if(document.visibilityState==="hidden"){const{history:p}=window;if(!p.state)return;p.replaceState(ne({},p.state,{scroll:os()}),"")}}function h(){for(const p of i)p();i=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",f),document.removeEventListener("visibilitychange",f)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",f),document.addEventListener("visibilitychange",f),{pauseListeners:c,listen:u,destroy:h}}function bi(e,t,n,s=!1,r=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:r?os():null}}function Uu(e){const{history:t,location:n}=window,s={value:vl(e,n)},r={value:t.state};r.value||i(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(c,u,f){const h=e.indexOf("#"),p=h>-1?(n.host&&document.querySelector("base")?e:e.slice(h))+c:Vu()+e+c;try{t[f?"replaceState":"pushState"](u,"",p),r.value=u}catch(g){console.error(g),n[f?"replace":"assign"](p)}}function o(c,u){i(c,ne({},t.state,bi(r.value.back,c,r.value.forward,!0),u,{position:r.value.position}),!0),s.value=c}function l(c,u){const f=ne({},r.value,t.state,{forward:c,scroll:os()});i(f.current,f,!0),i(c,ne({},bi(s.value,c,null),{position:f.position+1},u),!1),s.value=c}return{location:s,state:r,push:l,replace:o}}function Da(e){e=xu(e);const t=Uu(e),n=Bu(e,t.state,t.location,t.replace);function s(i,o=!0){o||n.pauseListeners(),history.go(i)}const r=ne({location:"",base:e,go:s,createHref:wu.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}let Ot=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e}({});var pe=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e}(pe||{});const ku={type:Ot.Static,value:""},Ku=/[a-zA-Z0-9_]/;function Gu(e){if(!e)return[[]];if(e==="/")return[[ku]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(g){throw new Error(`ERR (${n})/"${u}": ${g}`)}let n=pe.Static,s=n;const r=[];let i;function o(){i&&r.push(i),i=[]}let l=0,c,u="",f="";function h(){u&&(n===pe.Static?i.push({type:Ot.Static,value:u}):n===pe.Param||n===pe.ParamRegExp||n===pe.ParamRegExpEnd?(i.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),i.push({type:Ot.Param,value:u,regexp:f,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),u="")}function p(){u+=c}for(;lt.length?t.length===1&&t[0]===Ae.Static+Ae.Segment?1:-1:0}function bl(e,t){let n=0;const s=e.score,r=t.score;for(;n0&&t[t.length-1]<0}const Yu={strict:!1,end:!0,sensitive:!1};function zu(e,t,n){const s=qu(Gu(e.path),n),r=ne(s,{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Qu(e,t){const n=[],s=new Map;t=pi(Yu,t);function r(h){return s.get(h)}function i(h,p,g){const E=!g,_=Ai(h);_.aliasOf=g&&g.record;const M=pi(t,h),O=[_];if("alias"in h){const I=typeof h.alias=="string"?[h.alias]:h.alias;for(const H of I)O.push(Ai(ne({},_,{components:g?g.record.components:_.components,path:H,aliasOf:g?g.record:_})))}let A,w;for(const I of O){const{path:H}=I;if(p&&H[0]!=="/"){const J=p.record.path,q=J[J.length-1]==="/"?"":"/";I.path=p.record.path+(H&&q+H)}if(A=zu(I,p,M),g?g.alias.push(A):(w=w||A,w!==A&&w.alias.push(A),E&&h.name&&!xi(A)&&o(h.name)),El(A)&&c(A),_.children){const J=_.children;for(let q=0;q{o(w)}:dn}function o(h){if(_l(h)){const p=s.get(h);p&&(s.delete(h),n.splice(n.indexOf(p),1),p.children.forEach(o),p.alias.forEach(o))}else{const p=n.indexOf(h);p>-1&&(n.splice(p,1),h.record.name&&s.delete(h.record.name),h.children.forEach(o),h.alias.forEach(o))}}function l(){return n}function c(h){const p=ea(h,n);n.splice(p,0,h),h.record.name&&!xi(h)&&s.set(h.record.name,h)}function u(h,p){let g,E={},_,M;if("name"in h&&h.name){if(g=s.get(h.name),!g)throw Yt(ae.MATCHER_NOT_FOUND,{location:h});M=g.record.name,E=ne(Ci(p.params,g.keys.filter(w=>!w.optional).concat(g.parent?g.parent.keys.filter(w=>w.optional):[]).map(w=>w.name)),h.params&&Ci(h.params,g.keys.map(w=>w.name))),_=g.stringify(E)}else if(h.path!=null)_=h.path,g=n.find(w=>w.re.test(_)),g&&(E=g.parse(_),M=g.record.name);else{if(g=p.name?s.get(p.name):n.find(w=>w.re.test(p.path)),!g)throw Yt(ae.MATCHER_NOT_FOUND,{location:h,currentLocation:p});M=g.record.name,E=ne({},p.params,h.params),_=g.stringify(E)}const O=[];let A=g;for(;A;)O.unshift(A.record),A=A.parent;return{name:M,path:_,params:E,matched:O,meta:Zu(O)}}e.forEach(h=>i(h));function f(){n.length=0,s.clear()}return{addRoute:i,resolve:u,removeRoute:o,clearRoutes:f,getRoutes:l,getRecordMatcher:r}}function Ci(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function Ai(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Xu(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 Xu(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function xi(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Zu(e){return e.reduce((t,n)=>ne(t,n.meta),{})}function ea(e,t){let n=0,s=t.length;for(;n!==s;){const i=n+s>>1;bl(e,t[i])<0?s=i:n=i+1}const r=ta(e);return r&&(s=t.lastIndexOf(r,s-1)),s}function ta(e){let t=e;for(;t=t.parent;)if(El(t)&&bl(e,t)===0)return t}function El({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Ri(e){const t=Fe(ls),n=Fe(vr),s=Le(()=>{const c=bt(e.to);return t.resolve(c)}),r=Le(()=>{const{matched:c}=s.value,{length:u}=c,f=c[u-1],h=n.matched;if(!f||!h.length)return-1;const p=h.findIndex(Jt.bind(null,f));if(p>-1)return p;const g=wi(c[u-2]);return u>1&&wi(f)===g&&h[h.length-1].path!==g?h.findIndex(Jt.bind(null,c[u-2])):p}),i=Le(()=>r.value>-1&&oa(n.params,s.value.params)),o=Le(()=>r.value>-1&&r.value===n.matched.length-1&&ml(n.params,s.value.params));function l(c={}){if(ia(c)){const u=t[bt(e.replace)?"replace":"push"](bt(e.to)).catch(dn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>u),u}return Promise.resolve()}return{route:s,href:Le(()=>s.value.href),isActive:i,isExactActive:o,navigate:l}}function na(e){return e.length===1?e[0]:e}const sa=ar({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:Ri,setup(e,{slots:t}){const n=Sn(Ri(e)),{options:s}=Fe(ls),r=Le(()=>({[Ti(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[Ti(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&na(t.default(n));return e.custom?i:_r("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},i)}}}),ra=sa;function ia(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function oa(e,t){for(const n in t){const s=t[n],r=e[n];if(typeof s=="string"){if(s!==r)return!1}else if(!ke(r)||r.length!==s.length||s.some((i,o)=>i.valueOf()!==r[o].valueOf()))return!1}return!0}function wi(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Ti=(e,t,n)=>e??t??n,la=ar({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=Fe($s),r=Le(()=>e.route||s.value),i=Fe(vi,0),o=Le(()=>{let u=bt(i);const{matched:f}=r.value;let h;for(;(h=f[u])&&!h.components;)u++;return u}),l=Le(()=>r.value.matched[o.value]);Dn(vi,Le(()=>o.value+1)),Dn(Hu,l),Dn($s,r);const c=kt();return ln(()=>[c.value,l.value,e.name],([u,f,h],[p,g,E])=>{f&&(f.instances[h]=u,g&&g!==f&&u&&u===p&&(f.leaveGuards.size||(f.leaveGuards=g.leaveGuards),f.updateGuards.size||(f.updateGuards=g.updateGuards))),u&&f&&(!g||!Jt(f,g)||!p)&&(f.enterCallbacks[h]||[]).forEach(_=>_(u))},{flush:"post"}),()=>{const u=r.value,f=e.name,h=l.value,p=h&&h.components[f];if(!p)return Oi(n.default,{Component:p,route:u});const g=h.props[f],E=g?g===!0?u.params:typeof g=="function"?g(u):g:null,M=_r(p,ne({},E,t,{onVnodeUnmounted:O=>{O.component.isUnmounted&&(h.instances[f]=null)},ref:c}));return Oi(n.default,{Component:M,route:u})||M}}});function Oi(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const ca=la;function La(e){const t=Qu(e.routes,e),n=e.parseQuery||Lu,s=e.stringifyQuery||yi,r=e.history,i=tn(),o=tn(),l=tn(),c=tc(dt);let u=dt;Vt&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=Ss.bind(null,b=>""+b),h=Ss.bind(null,yu),p=Ss.bind(null,bn);function g(b,F){let N,j;return _l(b)?(N=t.getRecordMatcher(b),j=F):j=b,t.addRoute(j,N)}function E(b){const F=t.getRecordMatcher(b);F&&t.removeRoute(F)}function _(){return t.getRoutes().map(b=>b.record)}function M(b){return!!t.getRecordMatcher(b)}function O(b,F){if(F=ne({},F||c.value),typeof b=="string"){const m=Cs(n,b,F.path),y=t.resolve({path:m.path},F),S=r.createHref(m.fullPath);return ne(m,y,{params:p(y.params),hash:bn(m.hash),redirectedFrom:void 0,href:S})}let N;if(b.path!=null)N=ne({},b,{path:Cs(n,b.path,F.path).path});else{const m=ne({},b.params);for(const y in m)m[y]==null&&delete m[y];N=ne({},b,{params:h(m)}),F.params=h(F.params)}const j=t.resolve(N,F),Q=b.hash||"";j.params=f(p(j.params));const a=Eu(s,ne({},b,{hash:gu(Q),path:j.path})),d=r.createHref(a);return ne({fullPath:a,hash:Q,query:s===yi?Fu(b.query):b.query||{}},j,{redirectedFrom:void 0,href:d})}function A(b){return typeof b=="string"?Cs(n,b,c.value.path):ne({},b)}function w(b,F){if(u!==b)return Yt(ae.NAVIGATION_CANCELLED,{from:F,to:b})}function I(b){return q(b)}function H(b){return I(ne(A(b),{replace:!0}))}function J(b,F){const N=b.matched[b.matched.length-1];if(N&&N.redirect){const{redirect:j}=N;let Q=typeof j=="function"?j(b,F):j;return typeof Q=="string"&&(Q=Q.includes("?")||Q.includes("#")?Q=A(Q):{path:Q},Q.params={}),ne({query:b.query,hash:b.hash,params:Q.path!=null?{}:b.params},Q)}}function q(b,F){const N=u=O(b),j=c.value,Q=b.state,a=b.force,d=b.replace===!0,m=J(N,j);if(m)return q(ne(A(m),{state:typeof m=="object"?ne({},Q,m.state):Q,force:a,replace:d}),F||N);const y=N;y.redirectedFrom=F;let S;return!a&&Su(s,j,N)&&(S=Yt(ae.NAVIGATION_DUPLICATED,{to:y,from:j}),Ke(j,j,!0,!1)),(S?Promise.resolve(S):k(y,j)).catch(v=>tt(v)?tt(v,ae.NAVIGATION_GUARD_REDIRECT)?v:at(v):te(v,y,j)).then(v=>{if(v){if(tt(v,ae.NAVIGATION_GUARD_REDIRECT))return q(ne({replace:d},A(v.to),{state:typeof v.to=="object"?ne({},Q,v.to.state):Q,force:a}),F||y)}else v=D(y,j,!0,d,Q);return Y(y,j,v),v})}function U(b,F){const N=w(b,F);return N?Promise.reject(N):Promise.resolve()}function x(b){const F=Dt.values().next().value;return F&&typeof F.runWithContext=="function"?F.runWithContext(b):b()}function k(b,F){let N;const[j,Q,a]=ju(b,F);N=xs(j.reverse(),"beforeRouteLeave",b,F);for(const m of j)m.leaveGuards.forEach(y=>{N.push(yt(y,b,F))});const d=U.bind(null,b,F);return N.push(d),Me(N).then(()=>{N=[];for(const m of i.list())N.push(yt(m,b,F));return N.push(d),Me(N)}).then(()=>{N=xs(Q,"beforeRouteUpdate",b,F);for(const m of Q)m.updateGuards.forEach(y=>{N.push(yt(y,b,F))});return N.push(d),Me(N)}).then(()=>{N=[];for(const m of a)if(m.beforeEnter)if(ke(m.beforeEnter))for(const y of m.beforeEnter)N.push(yt(y,b,F));else N.push(yt(m.beforeEnter,b,F));return N.push(d),Me(N)}).then(()=>(b.matched.forEach(m=>m.enterCallbacks={}),N=xs(a,"beforeRouteEnter",b,F,x),N.push(d),Me(N))).then(()=>{N=[];for(const m of o.list())N.push(yt(m,b,F));return N.push(d),Me(N)}).catch(m=>tt(m,ae.NAVIGATION_CANCELLED)?m:Promise.reject(m))}function Y(b,F,N){l.list().forEach(j=>x(()=>j(b,F,N)))}function D(b,F,N,j,Q){const a=w(b,F);if(a)return a;const d=F===dt,m=Vt?history.state:{};N&&(j||d?r.replace(b.fullPath,ne({scroll:d&&m&&m.scroll},Q)):r.push(b.fullPath,Q)),c.value=b,Ke(b,F,N,d),at()}let z;function he(){z||(z=r.listen((b,F,N)=>{if(!Ct.listening)return;const j=O(b),Q=J(j,Ct.currentRoute.value);if(Q){q(ne(Q,{replace:!0,force:!0}),j).catch(dn);return}u=j;const a=c.value;Vt&&Pu(_i(a.fullPath,N.delta),os()),k(j,a).catch(d=>tt(d,ae.NAVIGATION_ABORTED|ae.NAVIGATION_CANCELLED)?d:tt(d,ae.NAVIGATION_GUARD_REDIRECT)?(q(ne(A(d.to),{force:!0}),j).then(m=>{tt(m,ae.NAVIGATION_ABORTED|ae.NAVIGATION_DUPLICATED)&&!N.delta&&N.type===Gs.pop&&r.go(-1,!1)}).catch(dn),Promise.reject()):(N.delta&&r.go(-N.delta,!1),te(d,j,a))).then(d=>{d=d||D(j,a,!1),d&&(N.delta&&!tt(d,ae.NAVIGATION_CANCELLED)?r.go(-N.delta,!1):N.type===Gs.pop&&tt(d,ae.NAVIGATION_ABORTED|ae.NAVIGATION_DUPLICATED)&&r.go(-1,!1)),Y(j,a,d)}).catch(dn)}))}let Se=tn(),ie=tn(),$;function te(b,F,N){at(b);const j=ie.list();return j.length?j.forEach(Q=>Q(b,F,N)):console.error(b),Promise.reject(b)}function Ze(){return $&&c.value!==dt?Promise.resolve():new Promise((b,F)=>{Se.add([b,F])})}function at(b){return $||($=!b,he(),Se.list().forEach(([F,N])=>b?N(b):F()),Se.reset()),b}function Ke(b,F,N,j){const{scrollBehavior:Q}=e;if(!Vt||!Q)return Promise.resolve();const a=!N&&Iu(_i(b.fullPath,0))||(j||!N)&&history.state&&history.state.scroll||null;return lr().then(()=>Q(b,F,a)).then(d=>d&&Ou(d)).catch(d=>te(d,b,F))}const Re=b=>r.go(b);let Mt;const Dt=new Set,Ct={currentRoute:c,listening:!0,addRoute:g,removeRoute:E,clearRoutes:t.clearRoutes,hasRoute:M,getRoutes:_,resolve:O,options:e,push:I,replace:H,go:Re,back:()=>Re(-1),forward:()=>Re(1),beforeEach:i.add,beforeResolve:o.add,afterEach:l.add,onError:ie.add,isReady:Ze,install(b){b.component("RouterLink",ra),b.component("RouterView",ca),b.config.globalProperties.$router=Ct,Object.defineProperty(b.config.globalProperties,"$route",{enumerable:!0,get:()=>bt(c)}),Vt&&!Mt&&c.value===dt&&(Mt=!0,I(r.location).catch(j=>{}));const F={};for(const j in dt)Object.defineProperty(F,j,{get:()=>c.value[j],enumerable:!0});b.provide(ls,Ct),b.provide(vr,no(F)),b.provide($s,c);const N=b.unmount;Dt.add(b),b.unmount=function(){Dt.delete(b),Dt.size<1&&(u=dt,z&&z(),z=null,c.value=dt,Mt=!1,$=!1),N()}}};function Me(b){return b.reduce((F,N)=>F.then(()=>x(N)),Promise.resolve())}return Ct}function Fa(){return Fe(ls)}function Ha(e){return Fe(vr)}export{Sa as $,Ao as A,Os as B,Ee as C,So as D,pa as E,Oe as F,Ac as G,Cc as H,lr as I,Pa as J,La as K,Da as L,fe as M,Qs as N,Co as O,Ca as P,_a as Q,aa as R,Dl as S,ss as T,xa as U,Aa as V,da as W,Fs as X,Hs as Y,pc as Z,Ea as _,Qn as a,Rc as a0,cf as a1,ya as a2,ma as a3,Oa as a4,Ia as a5,Ma as a6,Na as a7,ga as a8,Ha as a9,Fa as aa,va as ab,Ta as ac,wa as ad,ba as ae,xo as af,wc as ag,Ra as ah,Et as ai,or as aj,kt as b,He as c,Fe as d,Le as e,ar as f,Rn as g,_r as h,vn as i,ge as j,Jo as k,fa as l,ff as m,Xs as n,ln as o,Dn as p,Ll as q,Sn as r,tc as s,ua as t,bt as u,Bi as v,ha as w,Z as x,rc as y,Ui as z}; diff --git a/assets/vendor-vuetify-ChAgIwn2.js b/assets/vendor-vuetify-ChAgIwn2.js new file mode 100644 index 0000000..270811a --- /dev/null +++ b/assets/vendor-vuetify-ChAgIwn2.js @@ -0,0 +1,15 @@ +import{w as ke,t as k,r as R,s as F,F as Ct,i as ln,C as fn,c as Mt,a as Tt,u as ee,g as dn,b as H,d as A,e as S,p as ue,f as mn,h as At,j as re,n as gn,m as hn,k as de,l as pn,o as G,q as We,v as Pe,x as yn,y as vn,z as bn,A as Ot,B as wn,D as Dn,E as Sn,G as xn,H as kn,I as En}from"./vendor-vue-H0jQBZ7T.js";function Ha(e){}function Cn(e,t){t=Array.isArray(t)?t.slice(0,-1).map(n=>`'${n}'`).join(", ")+` or '${t.at(-1)}'`:`'${t}'`}const T=typeof window<"u",Va=T&&"IntersectionObserver"in window,Mn=T&&("ontouchstart"in window||window.navigator.maxTouchPoints>0),Ft=T&&"matchMedia"in window&&typeof window.matchMedia=="function",Tn=()=>Ft&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;function _e(e,t,n){An(e,t),t.set(e,n)}function An(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Xe(e,t,n){return e.set(It(e,t),n),n}function $(e,t){return e.get(It(e,t))}function It(e,t,n){if(typeof e=="function"?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}function Pt(e,t,n){const r=t.length-1;if(r<0)return e===void 0?n:e;for(let a=0;a"u"?n:a}if(typeof t=="string")return $e(e,t,n);if(Array.isArray(t))return Pt(e,t,n);if(typeof t!="function")return n;const r=t(e,n);return typeof r>"u"?n:r}function $t(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Array.from({length:e},(n,r)=>t+r)}function me(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"px";if(e==null||e==="")return;const n=Number(e);return isNaN(n)?String(e):isFinite(n)?`${n}${t}`:void 0}function ja(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function qe(e){let t;return e!==null&&typeof e=="object"&&((t=Object.getPrototypeOf(e))===Object.prototype||t===null)}function Rt(e){if(e&&"$el"in e){const t=e.$el;return(t==null?void 0:t.nodeType)===Node.TEXT_NODE?t.nextElementSibling:t}return e}const za=Object.freeze({enter:"Enter",tab:"Tab",delete:"Delete",esc:"Escape",space:"Space",up:"ArrowUp",down:"ArrowDown",left:"ArrowLeft",right:"ArrowRight",end:"End",home:"Home",del:"Delete",backspace:"Backspace",insert:"Insert",pageup:"PageUp",pagedown:"PageDown",shift:"Shift"});function Ga(e){return Object.keys(e)}function Oe(e,t){return t.every(n=>e.hasOwnProperty(n))}function On(e,t){const n={};for(const r of t)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function Qe(e,t,n){const r=Object.create(null),a=Object.create(null);for(const s in e)t.some(o=>o instanceof RegExp?o.test(s):o===s)?r[s]=e[s]:a[s]=e[s];return[r,a]}function Fn(e,t){const n={...e};return t.forEach(r=>delete n[r]),n}const Nt=/^on[^a-z]/,Be=e=>Nt.test(e),In=["onAfterscriptexecute","onAnimationcancel","onAnimationend","onAnimationiteration","onAnimationstart","onAuxclick","onBeforeinput","onBeforescriptexecute","onChange","onClick","onCompositionend","onCompositionstart","onCompositionupdate","onContextmenu","onCopy","onCut","onDblclick","onFocusin","onFocusout","onFullscreenchange","onFullscreenerror","onGesturechange","onGestureend","onGesturestart","onGotpointercapture","onInput","onKeydown","onKeypress","onKeyup","onLostpointercapture","onMousedown","onMousemove","onMouseout","onMouseover","onMouseup","onMousewheel","onPaste","onPointercancel","onPointerdown","onPointerenter","onPointerleave","onPointermove","onPointerout","onPointerover","onPointerup","onReset","onSelect","onSubmit","onTouchcancel","onTouchend","onTouchmove","onTouchstart","onTransitioncancel","onTransitionend","onTransitionrun","onTransitionstart","onWheel"],Pn=["ArrowUp","ArrowDown","ArrowRight","ArrowLeft","Enter","Escape","Tab"," "];function Ua(e){return e.isComposing&&Pn.includes(e.key)}function Za(e){const[t,n]=Qe(e,[Nt]),r=Fn(t,In),[a,s]=Qe(n,["class","style","id","inert",/^data-/]);return Object.assign(a,t),Object.assign(s,r),[a,s]}function Ka(e){return e==null?[]:Array.isArray(e)?e:[e]}function _a(e,t){let n=0;const r=function(){for(var a=arguments.length,s=new Array(a),o=0;oe(...s),ee(t))};return r.clear=()=>{clearTimeout(n)},r.immediate=e,r}function He(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1;return Math.max(t,Math.min(n,e))}function Je(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"0";return e+n.repeat(Math.max(0,t-e.length))}function et(e,t){return(arguments.length>2&&arguments[2]!==void 0?arguments[2]:"0").repeat(Math.max(0,t-e.length))+e}function $n(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;const n=[];let r=0;for(;r1&&arguments[1]!==void 0?arguments[1]:1e3;if(e=t&&r0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;const r={};for(const a in e)r[a]=e[a];for(const a in t){const s=e[a],o=t[a];if(qe(s)&&qe(o)){r[a]=C(s,o,n);continue}if(n&&Array.isArray(s)&&Array.isArray(o)){r[a]=n(s,o);continue}r[a]=o}return r}function Rn(e){return e.map(t=>t.type===Ct?Rn(t.children):t).flat()}function j(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";if(j.cache.has(e))return j.cache.get(e);const t=e.replace(/[^a-z]/gi,"-").replace(/\B([A-Z])/g,"-$1").toLowerCase();return j.cache.set(e,t),t}j.cache=new Map;function te(e,t){if(!t||typeof t!="object")return[];if(Array.isArray(t))return t.map(n=>te(e,n)).flat(1);if(t.suspense)return te(e,t.ssContent);if(Array.isArray(t.children))return t.children.map(n=>te(e,n)).flat(1);if(t.component){if(Object.getOwnPropertyDescriptor(t.component.provides,e))return[t.component];if(t.component.subTree)return te(e,t.component.subTree).flat(1)}return[]}var Z=new WeakMap,V=new WeakMap;class qa{constructor(t){_e(this,Z,[]),_e(this,V,0),this.size=t}get isFull(){return $(Z,this).length===this.size}push(t){$(Z,this)[$(V,this)]=t,Xe(V,this,($(V,this)+1)%this.size)}values(){return $(Z,this).slice($(V,this)).concat($(Z,this).slice(0,$(V,this)))}clear(){$(Z,this).length=0,Xe(V,this,0)}}function Qa(e){const t=R({});ke(()=>{const r=e();for(const a in r)t[a]=r[a]},{flush:"sync"});const n={};for(const r in t)n[r]=k(()=>t[r]);return n}function Re(e,t){return e.includes(t)}function Lt(e){return e[2].toLowerCase()+e.slice(3)}const Ja=()=>[Function,Array];function es(e,t){return t="on"+Tt(t),!!(e[t]||e[`${t}Once`]||e[`${t}Capture`]||e[`${t}OnceCapture`]||e[`${t}CaptureOnce`])}function Nn(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r1&&arguments[1]!==void 0?arguments[1]:!0;const n=["button","[href]",'input:not([type="hidden"])',"select","textarea","details:not(:has(> summary))","details > summary","[tabindex]",'[contenteditable]:not([contenteditable="false"])',"audio[controls]","video[controls]"].map(a=>`${a}${t?':not([tabindex="-1"])':""}:not([disabled], [inert])`).join(", ");let r;try{r=[...e.querySelectorAll(n)]}catch{return[]}return r.filter(a=>!a.closest("[inert]")).filter(a=>!!a.offsetParent||a.getClientRects().length>0).filter(a=>{var s,o;return!((s=a.parentElement)!=null&&s.closest("details:not([open])"))||a.tagName==="SUMMARY"&&((o=a.parentElement)==null?void 0:o.tagName)==="DETAILS"})}function Wn(e,t,n){let r,a=e.indexOf(document.activeElement);const s=t==="next"?1:-1;do a+=s,r=e[a];while((!r||r.offsetParent==null||!((n==null?void 0:n(r))??!0))&&a=0);return r}function Bn(e,t){var r,a,s,o;const n=Ln(e);if(t==null)(e===document.activeElement||!e.contains(document.activeElement))&&((r=n[0])==null||r.focus());else if(t==="first")(a=n[0])==null||a.focus();else if(t==="last")(s=n.at(-1))==null||s.focus();else if(typeof t=="number")(o=n[t])==null||o.focus();else{const i=Wn(n,t);i?i.focus():Bn(e,t==="next"?"first":"last")}}function ts(e){return e==null||typeof e=="string"&&e.trim()===""}function ns(){}function rs(e,t){if(!(T&&typeof CSS<"u"&&typeof CSS.supports<"u"&&CSS.supports(`selector(${t})`)))return null;try{return!!e&&e.matches(t)}catch{return null}}function Hn(e){return e.some(t=>ln(t)?t.type===fn?!1:t.type!==Ct||Hn(t.children):!0)?e:null}function as(e,t){if(!T||e===0)return t(),()=>{};const n=window.setTimeout(t,e);return()=>window.clearTimeout(n)}function ss(e,t){const n=e.clientX,r=e.clientY,a=t.getBoundingClientRect(),s=a.left,o=a.top,i=a.right,u=a.bottom;return n>=s&&n<=i&&r>=o&&r<=u}function Vn(){const e=F(),t=n=>{e.value=n};return Object.defineProperty(t,"value",{enumerable:!0,get:()=>e.value,set:n=>e.value=n}),Object.defineProperty(t,"el",{enumerable:!0,get:()=>Rt(e.value)}),t}function os(e){const t=e.key.length===1,n=!e.ctrlKey&&!e.metaKey&&!e.altKey;return t&&n}function ve(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"||typeof e=="bigint"}function is(e){return"\\^$*+?.()|{}[]".includes(e)?`\\${e}`:e}function us(e){const t={};for(const n in e)t[Mt(n)]=e[n];return t}function cs(e){const t=["checked","disabled"];return Object.fromEntries(Object.entries(e).filter(n=>{let[r,a]=n;return t.includes(r)?!!a:a!==void 0}))}const Wt=["top","bottom"],Yn=["start","end","left","right"];function ls(e,t){let[n,r]=e.split(" ");return r||(r=Re(Wt,n)?"start":Re(Yn,n)?"top":"center"),{side:tt(n,t),align:tt(r,t)}}function tt(e,t){return e==="start"?t?"right":"left":e==="end"?t?"left":"right":e}function fs(e){return{side:{center:"center",top:"bottom",bottom:"top",left:"right",right:"left"}[e.side],align:e.align}}function ds(e){return{side:e.side,align:{center:"center",top:"bottom",bottom:"top",left:"right",right:"left"}[e.align]}}function ms(e){return{side:e.align,align:e.side}}function gs(e){return Re(Wt,e.side)?"y":"x"}class N{constructor(t){const n=document.body.currentCSSZoom??1,r=t instanceof Element,a=r?1+(1-n)/n:1,{x:s,y:o,width:i,height:u}=r?t.getBoundingClientRect():t;this.x=s*a,this.y=o*a,this.width=i*a,this.height=u*a}get top(){return this.y}get bottom(){return this.y+this.height}get left(){return this.x}get right(){return this.x+this.width}}function hs(e,t){return{x:{before:Math.max(0,t.left-e.left),after:Math.max(0,e.right-t.right)},y:{before:Math.max(0,t.top-e.top),after:Math.max(0,e.bottom-t.bottom)}}}function ps(e){if(Array.isArray(e)){const t=document.body.currentCSSZoom??1,n=1+(1-t)/t;return new N({x:e[0]*n,y:e[1]*n,width:0*n,height:0*n})}else return new N(e)}function ys(e){if(e===document.documentElement)if(visualViewport){const t=document.body.currentCSSZoom??1;return new N({x:visualViewport.scale>1?0:visualViewport.offsetLeft,y:visualViewport.scale>1?0:visualViewport.offsetTop,width:visualViewport.width*visualViewport.scale/t,height:visualViewport.height*visualViewport.scale/t})}else return new N({x:0,y:0,width:document.documentElement.clientWidth,height:document.documentElement.clientHeight});else return new N(e)}function vs(e){const t=new N(e),n=getComputedStyle(e),r=n.transform;if(r){let a,s,o,i,u;if(r.startsWith("matrix3d("))a=r.slice(9,-1).split(/, /),s=Number(a[0]),o=Number(a[5]),i=Number(a[12]),u=Number(a[13]);else if(r.startsWith("matrix("))a=r.slice(7,-1).split(/, /),s=Number(a[0]),o=Number(a[3]),i=Number(a[4]),u=Number(a[5]);else return new N(t);const c=n.transformOrigin,f=t.x-i-(1-s)*parseFloat(c),l=t.y-u-(1-o)*parseFloat(c.slice(c.indexOf(" ")+1)),m=s?t.width/s:e.offsetWidth+1,p=o?t.height/o:e.offsetHeight+1;return new N({x:f,y:l,width:m,height:p})}else return new N(t)}function bs(e,t,n){if(typeof e.animate>"u")return{finished:Promise.resolve()};let r;try{r=e.animate(t,n)}catch{return{finished:Promise.resolve()}}return typeof r.finished>"u"&&(r.finished=new Promise(a=>{r.onfinish=()=>{a(r)}})),r}const ye=new WeakMap;function ws(e,t){Object.keys(t).forEach(n=>{if(Be(n)){const r=Lt(n),a=ye.get(e);if(t[n]==null)a==null||a.forEach(s=>{const[o,i]=s;o===r&&(e.removeEventListener(r,i),a.delete(s))});else if(!a||![...a].some(s=>s[0]===r&&s[1]===t[n])){e.addEventListener(r,t[n]);const s=a||new Set;s.add([r,t[n]]),ye.has(e)||ye.set(e,s)}}else t[n]==null?e.removeAttribute(n):e.setAttribute(n,t[n])})}function Ds(e,t){Object.keys(t).forEach(n=>{if(Be(n)){const r=Lt(n),a=ye.get(e);a==null||a.forEach(s=>{const[o,i]=s;o===r&&(e.removeEventListener(r,i),a.delete(s))})}else e.removeAttribute(n)})}const K=2.4,nt=.2126729,rt=.7151522,at=.072175,jn=.55,zn=.58,Gn=.57,Un=.62,ge=.03,st=1.45,Zn=5e-4,Kn=1.25,_n=1.25,ot=.078,it=12.82051282051282,he=.06,ut=.001;function ct(e,t){const n=(e.r/255)**K,r=(e.g/255)**K,a=(e.b/255)**K,s=(t.r/255)**K,o=(t.g/255)**K,i=(t.b/255)**K;let u=n*nt+r*rt+a*at,c=s*nt+o*rt+i*at;if(u<=ge&&(u+=(ge-u)**st),c<=ge&&(c+=(ge-c)**st),Math.abs(c-u)u){const l=(c**jn-u**zn)*Kn;f=l-ut?0:l>-ot?l-l*it*he:l+he}return f*100}const be=.20689655172413793,Xn=e=>e>be**3?Math.cbrt(e):e/(3*be**2)+4/29,qn=e=>e>be?e**3:3*be**2*(e-4/29);function Bt(e){const t=Xn,n=t(e[1]);return[116*n-16,500*(t(e[0]/.95047)-n),200*(n-t(e[2]/1.08883))]}function Ht(e){const t=qn,n=(e[0]+16)/116;return[t(n+e[1]/500)*.95047,t(n),t(n-e[2]/200)*1.08883]}const Qn=[[3.2406,-1.5372,-.4986],[-.9689,1.8758,.0415],[.0557,-.204,1.057]],Jn=e=>e<=.0031308?e*12.92:1.055*e**(1/2.4)-.055,er=[[.4124,.3576,.1805],[.2126,.7152,.0722],[.0193,.1192,.9505]],tr=e=>e<=.04045?e/12.92:((e+.055)/1.055)**2.4;function Vt(e){const t=Array(3),n=Jn,r=Qn;for(let a=0;a<3;++a)t[a]=Math.round(He(n(r[a][0]*e[0]+r[a][1]*e[1]+r[a][2]*e[2]))*255);return{r:t[0],g:t[1],b:t[2]}}function Ve(e){let{r:t,g:n,b:r}=e;const a=[0,0,0],s=tr,o=er;t=s(t/255),n=s(n/255),r=s(r/255);for(let i=0;i<3;++i)a[i]=o[i][0]*t+o[i][1]*n+o[i][2]*r;return a}function nr(e){return!!e&&/^(#|var\(--|(rgb|hsl)a?\()/.test(e)}function Ss(e){return nr(e)&&!/^((rgb|hsl)a?\()?var\(--/.test(e)}const lt=/^(?(?:rgb|hsl)a?)\((?.+)\)/,rr={rgb:(e,t,n,r)=>({r:e,g:t,b:n,a:r}),rgba:(e,t,n,r)=>({r:e,g:t,b:n,a:r}),hsl:(e,t,n,r)=>ft({h:e,s:t,l:n,a:r}),hsla:(e,t,n,r)=>ft({h:e,s:t,l:n,a:r}),hsv:(e,t,n,r)=>ae({h:e,s:t,v:n,a:r}),hsva:(e,t,n,r)=>ae({h:e,s:t,v:n,a:r})};function L(e){if(typeof e=="number")return{r:(e&16711680)>>16,g:(e&65280)>>8,b:e&255};if(typeof e=="string"&<.test(e)){const{groups:t}=e.match(lt),{fn:n,values:r}=t,a=r.split(/,\s*|\s*\/\s*|\s+/).map((s,o)=>s.endsWith("%")||o>0&&o<3&&["hsl","hsla","hsv","hsva"].includes(n)?parseFloat(s)/100:parseFloat(s));return rr[n](...a)}else if(typeof e=="string"){let t=e.startsWith("#")?e.slice(1):e;return[3,4].includes(t.length)?t=t.split("").map(n=>n+n).join(""):[6,8].includes(t.length),sr(t)}else if(typeof e=="object"){if(Oe(e,["r","g","b"]))return e;if(Oe(e,["h","s","l"]))return ae(Yt(e));if(Oe(e,["h","s","v"]))return ae(e)}throw new TypeError(`Invalid color: ${e==null?e:String(e)||e.constructor.name} +Expected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`)}function ae(e){const{h:t,s:n,v:r,a}=e,s=i=>{const u=(i+t/60)%6;return r-r*n*Math.max(Math.min(u,4-u,1),0)},o=[s(5),s(3),s(1)].map(i=>Math.round(i*255));return{r:o[0],g:o[1],b:o[2],a}}function ft(e){return ae(Yt(e))}function Yt(e){const{h:t,s:n,l:r,a}=e,s=r+n*Math.min(r,1-r),o=s===0?0:2-2*r/s;return{h:t,s:o,v:s,a}}function pe(e){const t=Math.round(e).toString(16);return("00".substr(0,2-t.length)+t).toUpperCase()}function ar(e){let{r:t,g:n,b:r,a}=e;return`#${[pe(t),pe(n),pe(r),a!==void 0?pe(Math.round(a*255)):""].join("")}`}function sr(e){e=or(e);let[t,n,r,a]=$n(e,2).map(s=>parseInt(s,16));return a=a===void 0?a:a/255,{r:t,g:n,b:r,a}}function or(e){return e.startsWith("#")&&(e=e.slice(1)),e=e.replace(/([^0-9a-f])/gi,"F"),(e.length===3||e.length===4)&&(e=e.split("").map(t=>t+t).join("")),e.length!==6&&(e=Je(Je(e,6),8,"F")),e}function ir(e,t){const n=Bt(Ve(e));return n[0]=n[0]+t*10,Vt(Ht(n))}function ur(e,t){const n=Bt(Ve(e));return n[0]=n[0]-t*10,Vt(Ht(n))}function cr(e){const t=L(e);return Ve(t)[1]}function lr(e){const t=Math.abs(ct(L(0),L(e)));return Math.abs(ct(L(16777215),L(e)))>Math.min(t,50)?"#fff":"#000"}function U(e,t){return n=>Object.keys(e).reduce((r,a)=>{const o=typeof e[a]=="object"&&e[a]!=null&&!Array.isArray(e[a])?e[a]:{type:e[a]};return n&&a in n?r[a]={...o,default:n[a]}:r[a]=o,t&&!r[a].source&&(r[a].source=t),r},{})}const fr=U({class:[String,Array,Object],style:{type:[String,Array,Object],default:null}},"component");function W(e,t){const n=dn();if(!n)throw new Error(`[Vuetify] ${e} must be called from inside a setup function`);return n}function dr(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"composables";const t=W(e).type;return j((t==null?void 0:t.aliasName)||(t==null?void 0:t.name))}function mr(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:W("injectSelf");const{provides:n}=t;if(n&&e in n)return n[e]}const X=Symbol.for("vuetify:defaults");function gr(e){return H(e)}function Ye(){const e=A(X);if(!e)throw new Error("[Vuetify] Could not find defaults instance");return e}function xs(e,t){const n=Ye(),r=H(e),a=S(()=>{if(ee(t==null?void 0:t.disabled))return n.value;const o=ee(t==null?void 0:t.scoped),i=ee(t==null?void 0:t.reset),u=ee(t==null?void 0:t.root);if(r.value==null&&!(o||i||u))return n.value;let c=C(r.value,{prev:n.value});if(o)return c;if(i||u){const f=Number(i||1/0);for(let l=0;l<=f&&!(!c||!("prev"in c));l++)c=c.prev;return c&&typeof u=="string"&&u in c&&(c=C(C(c,{prev:c}),c[u])),c}return c.prev?C(c.prev,c):c});return ue(X,a),a}function hr(e,t){return e.props&&(typeof e.props[t]<"u"||typeof e.props[j(t)]<"u")}function pr(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Ye();const r=W("useDefaults");if(t=t??r.type.name??r.type.__name,!t)throw new Error("[Vuetify] Could not determine component name");const a=S(()=>{var u;return(u=n.value)==null?void 0:u[e._as??t]}),s=new Proxy(e,{get(u,c){var p,y,E,M;const f=Reflect.get(u,c);if(c==="class"||c==="style")return[(p=a.value)==null?void 0:p[c],f].filter(d=>d!=null);if(hr(r.vnode,c))return f;const l=(y=a.value)==null?void 0:y[c];if(l!==void 0)return l;const m=(M=(E=n.value)==null?void 0:E.global)==null?void 0:M[c];return m!==void 0?m:f}}),o=F();ke(()=>{if(a.value){const u=Object.entries(a.value).filter(c=>{let[f]=c;return f.startsWith(f[0].toUpperCase())});o.value=u.length?Object.fromEntries(u):void 0}else o.value=void 0});function i(){const u=mr(X,r);ue(X,S(()=>o.value?C((u==null?void 0:u.value)??{},o.value):u==null?void 0:u.value))}return{props:s,provideSubDefaults:i}}function ce(e){if(e._setup=e._setup??e.setup,!e.name)return e;if(e._setup){e.props=U(e.props??{},e.name)();const t=Object.keys(e.props).filter(n=>n!=="class"&&n!=="style");e.filterProps=function(r){return On(r,t)},e.props._as=String,e.setup=function(r,a){const s=Ye();if(!s.value)return e._setup(r,a);const{props:o,provideSubDefaults:i}=pr(r,r._as??e.name,s),u=e._setup(o,a);return i(),u}}return e}function jt(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return t=>(e?ce:mn)(t)}function ks(e,t){return t.props=e,t}function Es(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"div",n=arguments.length>2?arguments[2]:void 0;return jt()({name:n??Tt(Mt(e.replace(/__/g,"-"))),props:{tag:{type:String,default:t},...fr()},setup(r,a){let{slots:s}=a;return()=>{var o;return At(r.tag,{class:[e,r.class],style:r.style},(o=s.default)==null?void 0:o.call(s))}}})}function yr(e,t,n,r){if(!n||ve(e)||ve(t))return;const a=n.get(e);if(a)a.set(t,r);else{const s=new WeakMap;s.set(t,r),n.set(e,s)}}function vr(e,t,n){var s,o;if(!n||ve(e)||ve(t))return null;const r=(s=n.get(e))==null?void 0:s.get(t);if(typeof r=="boolean")return r;const a=(o=n.get(t))==null?void 0:o.get(e);return typeof a=="boolean"?a:null}function br(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new WeakMap;if(e===t)return!0;if(e instanceof Date&&t instanceof Date&&e.getTime()!==t.getTime()||e!==Object(e)||t!==Object(t))return!1;const r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;const a=vr(e,t,n);return a||(yr(e,t,n,!0),r.every(s=>br(e[s],t[s],n)))}function Cs(e){if(typeof e.getRootNode!="function"){for(;e.parentNode;)e=e.parentNode;return e!==document?null:document}const t=e.getRootNode();return t!==document&&t.getRootNode({composed:!0})!==document?null:t}const Ms="cubic-bezier(0.4, 0, 0.2, 1)",Ts="cubic-bezier(0.0, 0, 0.2, 1)",As="cubic-bezier(0.4, 0, 1, 1)",wr={linear:e=>e,easeInQuad:e=>e**2,easeOutQuad:e=>e*(2-e),easeInOutQuad:e=>e<.5?2*e**2:-1+(4-2*e)*e,easeInCubic:e=>e**3,easeOutCubic:e=>--e**3+1,easeInOutCubic:e=>e<.5?4*e**3:(e-1)*(2*e-2)*(2*e-2)+1,easeInQuart:e=>e**4,easeOutQuart:e=>1- --e**4,easeInOutQuart:e=>e<.5?8*e**4:1-8*--e**4,easeInQuint:e=>e**5,easeOutQuint:e=>1+--e**5,easeInOutQuint:e=>e<.5?16*e**5:1+16*--e**5,instant:e=>1};function Os(e,t,n){return Object.keys(e).filter(r=>Be(r)&&r.endsWith(t)).reduce((r,a)=>(r[a.slice(0,-t.length)]=s=>Nn(e[a],s,n(s)),r),{})}function Fs(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;for(;e;){if(t?Dr(e):zt(e))return e;e=e.parentElement}return document.scrollingElement}function Is(e,t){const n=[];if(t&&e&&!t.contains(e))return n;for(;e&&(zt(e)&&n.push(e),e!==t);)e=e.parentElement;return n}function zt(e){if(!e||e.nodeType!==Node.ELEMENT_NODE)return!1;const t=window.getComputedStyle(e),n=t.overflowY==="scroll"||t.overflowY==="auto"&&e.scrollHeight>e.clientHeight,r=t.overflowX==="scroll"||t.overflowX==="auto"&&e.scrollWidth>e.clientWidth;return n||r}function Dr(e){if(!e||e.nodeType!==Node.ELEMENT_NODE)return!1;const t=window.getComputedStyle(e);return["scroll","auto"].includes(t.overflowY)}function Ps(e){for(;e;){if(window.getComputedStyle(e).position==="fixed")return!0;e=e.offsetParent}return!1}function $s(e){const t=W("useRender");t.render=e}function Rs(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{leading:!0,trailing:!0},r=0,a=0,s=!1,o=0;function i(){clearTimeout(r),s=!1,o=0}const u=function(){for(var c=arguments.length,f=new Array(c),l=0;l=t?y():n.trailing&&(r=setTimeout(y,t-p)):(s=!0,n.leading&&y())};return u.clear=i,u.immediate=e,u}const Sr=[String,Function,Object,Array],Ne=Symbol.for("vuetify:icons"),Ee=U({icon:{type:Sr},tag:{type:[String,Object,Function],required:!0}},"icon"),dt=jt()({name:"VComponentIcon",props:Ee(),setup(e,t){let{slots:n}=t;return()=>{const r=e.icon;return re(e.tag,null,{default:()=>{var a;return[e.icon?re(r,null,null):(a=n.default)==null?void 0:a.call(n)]}})}}}),Gt=ce({name:"VSvgIcon",inheritAttrs:!1,props:Ee(),setup(e,t){let{attrs:n}=t;return()=>re(e.tag,hn(n,{style:null}),{default:()=>[de("svg",{class:"v-icon__svg",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",role:"img","aria-hidden":"true"},[Array.isArray(e.icon)?e.icon.map(r=>Array.isArray(r)?de("path",{d:r[0],"fill-opacity":r[1]},null):de("path",{d:r},null)):de("path",{d:e.icon},null)])]})}});ce({name:"VLigatureIcon",props:Ee(),setup(e){return()=>re(e.tag,null,{default:()=>[e.icon]})}});const Ut=ce({name:"VClassIcon",props:Ee(),setup(e){return()=>re(e.tag,{class:gn(e.icon)},null)}}),Ns=e=>{const t=A(Ne);if(!t)throw new Error("Missing Vuetify Icons provide!");return{iconData:S(()=>{var u;const r=pn(e);if(!r)return{component:dt};let a=r;if(typeof a=="string"&&(a=a.trim(),a.startsWith("$")&&(a=(u=t.aliases)==null?void 0:u[a.slice(1)])),Array.isArray(a))return{component:Gt,icon:a};if(typeof a!="string")return{component:dt,icon:a};const s=Object.keys(t.sets).find(c=>typeof a=="string"&&a.startsWith(`${c}:`)),o=s?a.slice(s.length+1):a;return{component:t.sets[s??t.defaultSet].component,icon:o}})}},xr={collapse:"mdi-chevron-up",complete:"mdi-check",cancel:"mdi-close-circle",close:"mdi-close",delete:"mdi-close-circle",clear:"mdi-close-circle",success:"mdi-check-circle",info:"mdi-information",warning:"mdi-alert-circle",error:"mdi-close-circle",prev:"mdi-chevron-left",next:"mdi-chevron-right",checkboxOn:"mdi-checkbox-marked",checkboxOff:"mdi-checkbox-blank-outline",checkboxIndeterminate:"mdi-minus-box",delimiter:"mdi-circle",sortAsc:"mdi-arrow-up",sortDesc:"mdi-arrow-down",expand:"mdi-chevron-down",menu:"mdi-menu",subgroup:"mdi-menu-down",dropdown:"mdi-menu-down",radioOn:"mdi-radiobox-marked",radioOff:"mdi-radiobox-blank",edit:"mdi-pencil",ratingEmpty:"mdi-star-outline",ratingFull:"mdi-star",ratingHalf:"mdi-star-half-full",loading:"mdi-cached",first:"mdi-page-first",last:"mdi-page-last",unfold:"mdi-unfold-more-horizontal",file:"mdi-paperclip",plus:"mdi-plus",minus:"mdi-minus",calendar:"mdi-calendar",treeviewCollapse:"mdi-menu-down",treeviewExpand:"mdi-menu-right",tableGroupCollapse:"mdi-chevron-down",tableGroupExpand:"mdi-chevron-right",eyeDropper:"mdi-eyedropper",upload:"mdi-cloud-upload",color:"mdi-palette",command:"mdi-apple-keyboard-command",ctrl:"mdi-apple-keyboard-control",space:"mdi-keyboard-space",shift:"mdi-apple-keyboard-shift",alt:"mdi-apple-keyboard-option",enter:"mdi-keyboard-return",arrowup:"mdi-arrow-up",arrowdown:"mdi-arrow-down",arrowleft:"mdi-arrow-left",arrowright:"mdi-arrow-right",backspace:"mdi-backspace",play:"mdi-play",pause:"mdi-pause",fullscreen:"mdi-fullscreen",fullscreenExit:"mdi-fullscreen-exit",volumeHigh:"mdi-volume-high",volumeMedium:"mdi-volume-medium",volumeLow:"mdi-volume-low",volumeOff:"mdi-volume-variant-off",search:"mdi-magnify"},kr={component:e=>At(Ut,{...e,class:"mdi"})};function Er(){return{svg:{component:Gt},class:{component:Ut}}}function Cr(e){const t=Er(),n=(e==null?void 0:e.defaultSet)??"mdi";return n==="mdi"&&!t.mdi&&(t.mdi=kr),C({defaultSet:n,sets:t,aliases:{...xr,vuetify:["M8.2241 14.2009L12 21L22 3H14.4459L8.2241 14.2009Z",["M7.26303 12.4733L7.00113 12L2 3H12.5261C12.5261 3 12.5261 3 12.5261 3L7.26303 12.4733Z",.6]],"vuetify-outline":"svg:M7.26 12.47 12.53 3H2L7.26 12.47ZM14.45 3 8.22 14.2 12 21 22 3H14.45ZM18.6 5 12 16.88 10.51 14.2 15.62 5ZM7.26 8.35 5.4 5H9.13L7.26 8.35Z","vuetify-play":["m6.376 13.184-4.11-7.192C1.505 4.66 2.467 3 4.003 3h8.532l-.953 1.576-.006.01-.396.677c-.429.732-.214 1.507.194 2.015.404.503 1.092.878 1.869.806a3.72 3.72 0 0 1 1.005.022c.276.053.434.143.523.237.138.146.38.635-.25 2.09-.893 1.63-1.553 1.722-1.847 1.677-.213-.033-.468-.158-.756-.406a4.95 4.95 0 0 1-.8-.927c-.39-.564-1.04-.84-1.66-.846-.625-.006-1.316.27-1.693.921l-.478.826-.911 1.506Z",["M9.093 11.552c.046-.079.144-.15.32-.148a.53.53 0 0 1 .43.207c.285.414.636.847 1.046 1.2.405.35.914.662 1.516.754 1.334.205 2.502-.698 3.48-2.495l.014-.028.013-.03c.687-1.574.774-2.852-.005-3.675-.37-.391-.861-.586-1.333-.676a5.243 5.243 0 0 0-1.447-.044c-.173.016-.393-.073-.54-.257-.145-.18-.127-.316-.082-.392l.393-.672L14.287 3h5.71c1.536 0 2.499 1.659 1.737 2.992l-7.997 13.996c-.768 1.344-2.706 1.344-3.473 0l-3.037-5.314 1.377-2.278.004-.006.004-.007.481-.831Z",.6]]}},e)}function Mr(e,t){let n;function r(){n=Pe(),n.run(()=>t.length?t(()=>{n==null||n.stop(),r()}):t())}G(e,a=>{a&&!n?r():a||(n==null||n.stop(),n=void 0)},{immediate:!0}),We(()=>{n==null||n.stop()})}function Tr(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:l=>l,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:l=>l;const s=W("useProxiedModel"),o=H(e[t]!==void 0?e[t]:n),i=j(t),c=i!==t?S(()=>{var l,m,p,y;return e[t],!!(((l=s.vnode.props)!=null&&l.hasOwnProperty(t)||(m=s.vnode.props)!=null&&m.hasOwnProperty(i))&&((p=s.vnode.props)!=null&&p.hasOwnProperty(`onUpdate:${t}`)||(y=s.vnode.props)!=null&&y.hasOwnProperty(`onUpdate:${i}`)))}):S(()=>{var l,m;return e[t],!!((l=s.vnode.props)!=null&&l.hasOwnProperty(t)&&((m=s.vnode.props)!=null&&m.hasOwnProperty(`onUpdate:${t}`)))});Mr(()=>!c.value,()=>{G(()=>e[t],l=>{o.value=l})});const f=S({get(){const l=e[t];return r(c.value?l:o.value)},set(l){const m=a(l),p=yn(c.value?e[t]:o.value);p===m||r(p)===l||(o.value=m,s==null||s.emit(`update:${t}`,m))}});return Object.defineProperty(f,"externalValue",{get:()=>c.value?e[t]:o.value}),f}const Ar={badge:"Badge",open:"Open",close:"Close",dismiss:"Dismiss",confirmEdit:{ok:"OK",cancel:"Cancel"},dataIterator:{noResultsText:"No matching records found",loadingText:"Loading items..."},dataTable:{itemsPerPageText:"Rows per page:",ariaLabel:{sortDescending:"Sorted descending.",sortAscending:"Sorted ascending.",sortNone:"Not sorted.",activateNone:"Activate to remove sorting.",activateDescending:"Activate to sort descending.",activateAscending:"Activate to sort ascending."},sortBy:"Sort by"},dataFooter:{itemsPerPageText:"Items per page:",itemsPerPageAll:"All",nextPage:"Next page",prevPage:"Previous page",firstPage:"First page",lastPage:"Last page",pageText:"{0}-{1} of {2}"},dateRangeInput:{divider:"to"},datePicker:{itemsSelected:"{0} selected",range:{title:"Select dates",header:"Enter dates"},title:"Select date",header:"Enter date",input:{placeholder:"Enter date"},ariaLabel:{previousMonth:"Previous month",nextMonth:"Next month",selectYear:"Select year",previousYear:"Previous year",nextYear:"Next year",selectMonth:"Select month",selectDate:"{0}",currentDate:"Today, {0}"}},noDataText:"No data available",carousel:{prev:"Previous visual",next:"Next visual",ariaLabel:{delimiter:"Carousel slide {0} of {1}"}},calendar:{moreEvents:"{0} more",today:"Today"},input:{clear:"Clear {0}",prependAction:"{0} prepended action",appendAction:"{0} appended action",otp:"Please enter OTP character {0}"},fileInput:{counter:"{0} files",counterSize:"{0} files ({1} in total)"},fileUpload:{title:"Drag and drop files here",divider:"or",browse:"Browse Files"},timePicker:{am:"AM",pm:"PM",title:"Select Time",hour:"Hour",minute:"Minute",second:"Second",notAllowed:"Value is not allowed"},pagination:{ariaLabel:{root:"Pagination Navigation",next:"Next page",previous:"Previous page",page:"Go to page {0}",currentPage:"Page {0}, Current page",first:"First page",last:"Last page"}},stepper:{next:"Next",prev:"Previous"},rating:{ariaLabel:{item:"Rating {0} of {1}"}},loading:"Loading...",infiniteScroll:{loadMore:"Load more",empty:"No more"},rules:{required:"This field is required",email:"Please enter a valid email",number:"This field can only contain numbers",integer:"This field can only contain integer values",capital:"This field can only contain uppercase letters",maxLength:"You must enter a maximum of {0} characters",minLength:"You must enter a minimum of {0} characters",strictLength:"The length of the entered field is invalid",exclude:"The {0} character is not allowed",notEmpty:"Please choose at least one value",pattern:"Invalid format"},command:{search:"Type a command or search..."},hotkey:{then:"then",ctrl:"Ctrl",command:"Command",space:"Space",shift:"Shift",alt:"Alt",enter:"Enter",escape:"Escape",upArrow:"Up Arrow",downArrow:"Down Arrow",leftArrow:"Left Arrow",rightArrow:"Right Arrow",backspace:"Backspace",option:"Option",plus:"plus",shortcut:"Keyboard shortcut: {0}",or:"or"},video:{play:"Play",pause:"Pause",seek:"Seek",volume:"Volume",showVolume:"Show volume control",mute:"Mute",unmute:"Unmute",enterFullscreen:"Full screen",exitFullscreen:"Exit full screen"},colorPicker:{ariaLabel:{eyedropper:"Select color with eyedropper",hueSlider:"Hue",alphaSlider:"Alpha",redInput:"Red value",greenInput:"Green value",blueInput:"Blue value",alphaInput:"Alpha value",hueInput:"Hue value",saturationInput:"Saturation value",lightnessInput:"Lightness value",hexInput:"HEX value",hexaInput:"HEX with alpha value",changeFormat:"Change color format"}}},mt="$vuetify.",gt=(e,t)=>e.replace(/\{(\d+)\}/g,(n,r)=>String(t[Number(r)])),Zt=(e,t,n)=>function(r){for(var a=arguments.length,s=new Array(a>1?a-1:0),o=1;onew Intl.NumberFormat([e.value,t.value],r).format(n)}function Kt(e,t){return je(e,t)(.1).includes(",")?",":"."}function Fe(e,t,n){const r=Tr(e,t,e[t]??n.value);return r.value=e[t]??n.value,G(n,a=>{e[t]==null&&(r.value=n.value)}),r}function _t(e){return t=>{const n=Fe(t,"locale",e.current),r=Fe(t,"fallback",e.fallback),a=Fe(t,"messages",e.messages);return{name:"vuetify",current:n,fallback:r,messages:a,decimalSeparator:k(()=>Kt(n,r)),t:Zt(n,r,a),n:je(n,r),provide:_t({current:n,fallback:r,messages:a})}}}function Or(e){const t=F((e==null?void 0:e.locale)??"en"),n=F((e==null?void 0:e.fallback)??"en"),r=H({en:Ar,...e==null?void 0:e.messages});return{name:"vuetify",current:t,fallback:n,messages:r,decimalSeparator:k(()=>(e==null?void 0:e.decimalSeparator)??Kt(t,n)),t:Zt(t,n,r),n:je(t,n),provide:_t({current:t,fallback:n,messages:r})}}const we=Symbol.for("vuetify:locale");function Fr(e){return e.name!=null}function Ir(e){const t=e!=null&&e.adapter&&Fr(e==null?void 0:e.adapter)?e==null?void 0:e.adapter:Or(e),n=Rr(t,e);return{...t,...n}}function Pr(){const e=A(we);if(!e)throw new Error("[Vuetify] Could not find injected locale instance");return e}function $r(){return{af:!1,ar:!0,bg:!1,ca:!1,ckb:!1,cs:!1,de:!1,el:!1,en:!1,es:!1,et:!1,fa:!0,fi:!1,fr:!1,hr:!1,hu:!1,he:!0,id:!1,it:!1,ja:!1,km:!1,ko:!1,lv:!1,lt:!1,nl:!1,no:!1,pl:!1,pt:!1,ro:!1,ru:!1,sk:!1,sl:!1,srCyrl:!1,srLatn:!1,sv:!1,th:!1,tr:!1,az:!1,uk:!1,vi:!1,zhHans:!1,zhHant:!1}}function Rr(e,t){const n=H((t==null?void 0:t.rtl)??$r()),r=S(()=>n.value[e.current.value]??!1);return{isRtl:r,rtl:n,rtlClasses:k(()=>`v-locale--is-${r.value?"rtl":"ltr"}`)}}function Nr(){const e=A(we);if(!e)throw new Error("[Vuetify] Could not find injected rtl instance");return{isRtl:e.isRtl,rtlClasses:e.rtlClasses}}function le(e){const t=e.slice(-2).toUpperCase();switch(!0){case e==="GB-alt-variant":return{firstDay:0,firstWeekSize:4};case e==="001":return{firstDay:1,firstWeekSize:1};case`AG AS BD BR BS BT BW BZ CA CO DM DO ET GT GU HK HN ID IL IN JM JP KE + KH KR LA MH MM MO MT MX MZ NI NP PA PE PH PK PR PY SA SG SV TH TT TW UM US + VE VI WS YE ZA ZW`.includes(t):return{firstDay:0,firstWeekSize:1};case`AI AL AM AR AU AZ BA BM BN BY CL CM CN CR CY EC GE HR KG KZ LB LK LV + MD ME MK MN MY NZ RO RS SI TJ TM TR UA UY UZ VN XK`.includes(t):return{firstDay:1,firstWeekSize:1};case`AD AN AT AX BE BG CH CZ DE DK EE ES FI FJ FO FR GB GF GP GR HU IE IS + IT LI LT LU MC MQ NL NO PL RE RU SE SK SM VA`.includes(t):return{firstDay:1,firstWeekSize:4};case"AE AF BH DJ DZ EG IQ IR JO KW LY OM QA SD SY".includes(t):return{firstDay:6,firstWeekSize:1};case t==="MV":return{firstDay:5,firstWeekSize:1};case t==="PT":return{firstDay:0,firstWeekSize:4};default:return null}}function Lr(e,t,n){var f;const r=[];let a=[];const s=Xt(e),o=qt(e),i=n??((f=le(t))==null?void 0:f.firstDay)??0,u=(s.getDay()-i+7)%7,c=(o.getDay()-i+7)%7;for(let l=0;l0&&r.push(a),r}function ne(e,t,n){var s;let r=(n??((s=le(t))==null?void 0:s.firstDay)??0)%7;[0,1,2,3,4,5,6].includes(r)||(r=0);const a=new Date(e);for(;a.getDay()!==r;)a.setDate(a.getDate()-1);return a}function Wr(e,t){var a;const n=new Date(e),r=((((a=le(t))==null?void 0:a.firstDay)??0)+6)%7;for(;n.getDay()!==r;)n.setDate(n.getDate()+1);return n}function Xt(e){return new Date(e.getFullYear(),e.getMonth(),1)}function qt(e){return new Date(e.getFullYear(),e.getMonth()+1,0)}function Br(e){const t=e.split("-").map(Number);return new Date(t[0],t[1]-1,t[2])}const Hr=/^([12]\d{3}-([1-9]|0[1-9]|1[0-2])-([1-9]|0[1-9]|[12]\d|3[01]))$/;function Qt(e){if(e==null)return new Date;if(e instanceof Date)return e;if(typeof e=="string"){let t;if(Hr.test(e))return Br(e);if(t=Date.parse(e),!isNaN(t))return new Date(t)}return null}const ht=new Date(2e3,0,2);function Vr(e,t,n){var a;const r=t??((a=le(e))==null?void 0:a.firstDay)??0;return $t(7).map(s=>{const o=new Date(ht);return o.setDate(ht.getDate()+r+s),new Intl.DateTimeFormat(e,{weekday:n??"narrow"}).format(o)})}function Yr(e,t,n,r){const a=Qt(e)??new Date,s=r==null?void 0:r[t];if(typeof s=="function")return s(a,t,n);let o={};switch(t){case"fullDate":o={year:"numeric",month:"short",day:"numeric"};break;case"fullDateWithWeekday":o={weekday:"long",year:"numeric",month:"long",day:"numeric"};break;case"normalDate":const i=a.getDate(),u=new Intl.DateTimeFormat(n,{month:"long"}).format(a);return`${i} ${u}`;case"normalDateWithWeekday":o={weekday:"short",day:"numeric",month:"short"};break;case"shortDate":o={month:"short",day:"numeric"};break;case"year":o={year:"numeric"};break;case"month":o={month:"long"};break;case"monthShort":o={month:"short"};break;case"monthAndYear":o={month:"long",year:"numeric"};break;case"monthAndDate":o={month:"long",day:"numeric"};break;case"weekday":o={weekday:"long"};break;case"weekdayShort":o={weekday:"short"};break;case"dayOfMonth":return new Intl.NumberFormat(n).format(a.getDate());case"hours12h":o={hour:"numeric",hour12:!0};break;case"hours24h":o={hour:"numeric",hour12:!1};break;case"minutes":o={minute:"numeric"};break;case"seconds":o={second:"numeric"};break;case"fullTime":o={hour:"numeric",minute:"numeric"};break;case"fullTime12h":o={hour:"numeric",minute:"numeric",hour12:!0};break;case"fullTime24h":o={hour:"numeric",minute:"numeric",hour12:!1};break;case"fullDateTime":o={year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric"};break;case"fullDateTime12h":o={year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric",hour12:!0};break;case"fullDateTime24h":o={year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric",hour12:!1};break;case"keyboardDate":o={year:"numeric",month:"2-digit",day:"2-digit"};break;case"keyboardDateTime":return o={year:"numeric",month:"2-digit",day:"2-digit",hour:"numeric",minute:"numeric"},new Intl.DateTimeFormat(n,o).format(a).replace(/, /g," ");case"keyboardDateTime12h":return o={year:"numeric",month:"2-digit",day:"2-digit",hour:"numeric",minute:"numeric",hour12:!0},new Intl.DateTimeFormat(n,o).format(a).replace(/, /g," ");case"keyboardDateTime24h":return o={year:"numeric",month:"2-digit",day:"2-digit",hour:"numeric",minute:"numeric",hour12:!1},new Intl.DateTimeFormat(n,o).format(a).replace(/, /g," ");default:o=s??{timeZone:"UTC",timeZoneName:"short"}}return new Intl.DateTimeFormat(n,o).format(a)}function jr(e,t){const n=e.toJsDate(t),r=n.getFullYear(),a=et(String(n.getMonth()+1),2,"0"),s=et(String(n.getDate()),2,"0");return`${r}-${a}-${s}`}function zr(e){const[t,n,r]=e.split("-").map(Number);return new Date(t,n-1,r)}function Gr(e,t){const n=new Date(e);return n.setMinutes(n.getMinutes()+t),n}function Ur(e,t){const n=new Date(e);return n.setHours(n.getHours()+t),n}function z(e,t){const n=new Date(e);return n.setDate(n.getDate()+t),n}function Zr(e,t){const n=new Date(e);return n.setDate(n.getDate()+t*7),n}function Kr(e,t){const n=new Date(e);return n.setDate(1),n.setMonth(n.getMonth()+t),n}function se(e){return e.getFullYear()}function _r(e){return e.getMonth()}function Xr(e,t,n,r){const a=le(t),s=n??(a==null?void 0:a.firstDay)??0,o=(a==null?void 0:a.firstWeekSize)??1;return r!==void 0?qr(e,t,s,r):Qr(e,t,s,o)}function qr(e,t,n,r){const a=(7+r-n)%7,s=ne(e,t,n),o=z(s,6);function i(m){return(7+new Date(m,0,1).getDay()-n)%7}let u=se(s);u=r&&i++;const u=new Date(i,0,1),c=o(i),f=c>=r?z(u,c-7):z(u,c);return 1+Se(ze(a),oe(f),"weeks")}function Jr(e){return e.getDate()}function ea(e){return new Date(e.getFullYear(),e.getMonth()+1,1)}function ta(e){return new Date(e.getFullYear(),e.getMonth()-1,1)}function na(e){return e.getHours()}function ra(e){return e.getMinutes()}function aa(e){return new Date(e.getFullYear(),0,1)}function sa(e){return new Date(e.getFullYear(),11,31)}function oa(e,t){return De(e,t[0])&&ca(e,t[1])}function ia(e){const t=new Date(e);return t instanceof Date&&!isNaN(t.getTime())}function De(e,t){return e.getTime()>t.getTime()}function ua(e,t){return De(oe(e),oe(t))}function ca(e,t){return e.getTime(){n.locale=e.locale[r]??r??n.locale}),n}function Ws(){const e=A(Jt);if(!e)throw new Error("[Vuetify] Could not find injected date options");const t=Pr();return en(e,t)}const Bs=["sm","md","lg","xl","xxl"],Le=Symbol.for("vuetify:display"),vt={mobileBreakpoint:"lg",thresholds:{xs:0,sm:600,md:960,lg:1280,xl:1920,xxl:2560}},Da=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:vt;return C(vt,e)};function bt(e){return T&&!e?window.innerWidth:typeof e=="object"&&e.clientWidth||0}function wt(e){return T&&!e?window.innerHeight:typeof e=="object"&&e.clientHeight||0}function Dt(e){const t=T&&!e?window.navigator.userAgent:"ssr";function n(y){return!!t.match(y)}const r=n(/android/i),a=n(/iphone|ipad|ipod/i),s=n(/cordova/i),o=n(/electron/i),i=n(/chrome/i),u=n(/edge/i),c=n(/firefox/i),f=n(/opera/i),l=n(/win/i),m=n(/mac/i),p=n(/linux/i);return{android:r,ios:a,cordova:s,electron:o,chrome:i,edge:u,firefox:c,opera:f,win:l,mac:m,linux:p,touch:Mn,ssr:t==="ssr"}}function Sa(e,t){const{thresholds:n,mobileBreakpoint:r}=Da(e),a=F(wt(t)),s=F(Dt(t)),o=R({}),i=F(bt(t));function u(){a.value=wt(),i.value=bt()}function c(){u(),s.value=Dt()}return ke(()=>{const f=i.value=n.xxl,M=f?"xs":l?"sm":m?"md":p?"lg":y?"xl":"xxl",d=typeof r=="number"?r:n[r],h=i.value{window.removeEventListener("resize",u)},!0)),{...vn(o),update:c,ssr:!!t}}const Hs=U({mobile:{type:Boolean,default:!1},mobileBreakpoint:[Number,String]},"display");function Vs(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{mobile:null},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:dr();const n=A(Le);if(!n)throw new Error("Could not find Vuetify display injection");const r=S(()=>e.mobile?!0:typeof e.mobileBreakpoint=="number"?n.width.valuet?{[`${t}--mobile`]:r.value}:{});return{...n,displayClasses:a,mobile:r}}const tn=Symbol.for("vuetify:goto");function nn(){return{container:void 0,duration:300,layout:!1,offset:0,easing:"easeInOutCubic",patterns:wr}}function xa(e){return Ge(e)??(document.scrollingElement||document.body)}function Ge(e){return typeof e=="string"?document.querySelector(e):Rt(e)}function Ie(e,t,n){if(typeof e=="number")return t&&n?-e:e;let r=Ge(e),a=0;for(;r;)a+=t?r.offsetLeft:r.offsetTop,r=r.offsetParent;return a}function ka(e,t){return{rtl:t.isRtl,options:C(nn(),e)}}async function St(e,t,n,r){const a=n?"scrollLeft":"scrollTop",s=C((r==null?void 0:r.options)??nn(),t),o=r==null?void 0:r.rtl.value,i=(typeof e=="number"?e:Ge(e))??0,u=s.container==="parent"&&i instanceof HTMLElement?i.parentElement:xa(s.container),c=Tn()?s.patterns.instant:typeof s.easing=="function"?s.easing:s.patterns[s.easing];if(!c)throw new TypeError(`Easing function "${s.easing}" not found.`);let f;if(typeof i=="number")f=Ie(i,n,o);else if(f=Ie(i,n,o)-Ie(u,n,o),s.layout){const y=window.getComputedStyle(i).getPropertyValue("--v-layout-top");y&&(f-=parseInt(y,10))}f+=s.offset,f=Ea(u,f,!!o,!!n);const l=u[a]??0;if(f===l)return Promise.resolve(f);const m=performance.now();return new Promise(p=>requestAnimationFrame(function y(E){const d=(E-m)/s.duration,h=Math.floor(l+(f-l)*c(He(d,0,1)));if(u[a]=h,d>=1&&Math.abs(h-u[a])<10)return p(f);if(d>2)return p(u[a]);requestAnimationFrame(y)}))}function Ys(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const t=A(tn),{isRtl:n}=Nr();if(!t)throw new Error("[Vuetify] Could not find injected goto instance");const r={...t,rtl:k(()=>t.rtl.value||n.value)};async function a(s,o){return St(s,C(e,o),!1,r)}return a.horizontal=async(s,o)=>St(s,C(e,o),!0,r),a}function Ea(e,t,n,r){const{scrollWidth:a,scrollHeight:s}=e,[o,i]=e===document.scrollingElement?[window.innerWidth,window.innerHeight]:[e.offsetWidth,e.offsetHeight];let u,c;return r?n?(u=-(a-o),c=0):(u=0,c=a-o):(u=0,c=s+-i),He(t,u,c)}const ie=Symbol.for("vuetify:theme"),js=U({theme:String},"theme");function xt(){return{defaultTheme:"light",prefix:"v-",variations:{colors:[],lighten:0,darken:0},themes:{light:{dark:!1,colors:{background:"#FFFFFF",surface:"#FFFFFF","surface-bright":"#FFFFFF","surface-light":"#EEEEEE","surface-variant":"#424242","on-surface-variant":"#EEEEEE",primary:"#1867C0","primary-darken-1":"#1F5592",secondary:"#48A9A6","secondary-darken-1":"#018786",error:"#B00020",info:"#2196F3",success:"#4CAF50",warning:"#FB8C00"},variables:{"border-color":"#000000","border-opacity":.12,"high-emphasis-opacity":.87,"medium-emphasis-opacity":.6,"disabled-opacity":.38,"idle-opacity":.04,"hover-opacity":.04,"focus-opacity":.12,"selected-opacity":.08,"activated-opacity":.12,"pressed-opacity":.12,"dragged-opacity":.08,"theme-kbd":"#EEEEEE","theme-on-kbd":"#000000","theme-code":"#F5F5F5","theme-on-code":"#000000"}},dark:{dark:!0,colors:{background:"#121212",surface:"#212121","surface-bright":"#ccbfd6","surface-light":"#424242","surface-variant":"#c8c8c8","on-surface-variant":"#000000",primary:"#2196F3","primary-darken-1":"#277CC1",secondary:"#54B6B2","secondary-darken-1":"#48A9A6",error:"#CF6679",info:"#2196F3",success:"#4CAF50",warning:"#FB8C00"},variables:{"border-color":"#FFFFFF","border-opacity":.12,"high-emphasis-opacity":1,"medium-emphasis-opacity":.7,"disabled-opacity":.5,"idle-opacity":.1,"hover-opacity":.04,"focus-opacity":.12,"selected-opacity":.08,"activated-opacity":.12,"pressed-opacity":.16,"dragged-opacity":.08,"theme-kbd":"#424242","theme-on-kbd":"#FFFFFF","theme-code":"#343434","theme-on-code":"#CCCCCC"}}},stylesheetId:"vuetify-theme-stylesheet",scoped:!1,unimportant:!1,utilities:!0}}function Ca(){var r,a;let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:xt();const t=xt();if(!e)return{...t,isDisabled:!0};const n={};for(const[s,o]of Object.entries(e.themes??{})){const i=o.dark||s==="dark"?(r=t.themes)==null?void 0:r.dark:(a=t.themes)==null?void 0:a.light;n[s]=C(i,o)}return C(t,{...e,themes:n})}function Y(e,t,n,r){e.push(`${Oa(t,r)} { +`,...n.map(a=>` ${a}; +`),`} +`)}function kt(e,t){const n=e.dark?2:1,r=e.dark?1:2,a=[];for(const[s,o]of Object.entries(e.colors)){const i=L(o);a.push(`--${t}theme-${s}: ${i.r},${i.g},${i.b}`),s.startsWith("on-")||a.push(`--${t}theme-${s}-overlay-multiplier: ${cr(o)>.18?n:r}`)}for(const[s,o]of Object.entries(e.variables)){const i=typeof o=="string"&&o.startsWith("#")?L(o):void 0,u=i?`${i.r}, ${i.g}, ${i.b}`:void 0;a.push(`--${t}${s}: ${u??o}`)}return a}function Ma(e,t,n){const r={};if(n)for(const a of["lighten","darken"]){const s=a==="lighten"?ir:ur;for(const o of $t(n[a],1))r[`${e}-${a}-${o}`]=ar(s(L(t),o))}return r}function Ta(e,t){if(!t)return{};let n={};for(const r of t.colors){const a=e[r];a&&(n={...n,...Ma(r,a,t)})}return n}function Aa(e){const t={};for(const n of Object.keys(e)){if(n.startsWith("on-")||e[`on-${n}`])continue;const r=`on-${n}`,a=L(e[n]);t[r]=lr(a)}return t}function Oa(e,t){if(!t)return e;const n=`:where(${t})`;return e===":root"?n:`${n} ${e}`}function Fa(e,t,n){const r=Ia(e,t);r&&(r.innerHTML=n)}function Ia(e,t){if(!T)return null;let n=document.getElementById(e);return n||(n=document.createElement("style"),n.id=e,n.type="text/css",t&&n.setAttribute("nonce",t),document.head.appendChild(n)),n}function Pa(e){const t=Ca(e),n=F(t.defaultTheme),r=H(t.themes),a=F("light"),s=S({get(){return n.value==="system"?a.value:n.value},set(d){n.value=d}}),o=S(()=>{const d={};for(const[h,g]of Object.entries(r.value)){const O={...g.colors,...Ta(g.colors,t.variations)};d[h]={...g,colors:{...O,...Aa(O)}}}return d}),i=k(()=>o.value[s.value]),u=k(()=>n.value==="system"),c=S(()=>{var fe;const d=[],h=t.unimportant?"":" !important",g=t.scoped?t.prefix:"";(fe=i.value)!=null&&fe.dark&&Y(d,":root",["color-scheme: dark"],t.scope),Y(d,":root",kt(i.value,t.prefix),t.scope);for(const[b,w]of Object.entries(o.value))Y(d,`.${t.prefix}theme--${b}`,[`color-scheme: ${w.dark?"dark":"normal"}`,...kt(w,t.prefix)],t.scope);if(t.utilities){const b=[],w=[],D=new Set(Object.values(o.value).flatMap(v=>Object.keys(v.colors)));for(const v of D)v.startsWith("on-")?Y(w,`.${v}`,[`color: rgb(var(--${t.prefix}theme-${v}))${h}`],t.scope):(Y(b,`.${g}bg-${v}`,[`--${t.prefix}theme-overlay-multiplier: var(--${t.prefix}theme-${v}-overlay-multiplier)`,`background-color: rgb(var(--${t.prefix}theme-${v}))${h}`,`color: rgb(var(--${t.prefix}theme-on-${v}))${h}`],t.scope),Y(w,`.${g}text-${v}`,[`color: rgb(var(--${t.prefix}theme-${v}))${h}`],t.scope),Y(w,`.${g}border-${v}`,[`--${t.prefix}border-color: var(--${t.prefix}theme-${v})`],t.scope));t.layers?d.push(`@layer background { +`,...b.map(v=>` ${v}`),`} +`,`@layer foreground { +`,...w.map(v=>` ${v}`),`} +`):d.push(...b,...w)}let O=d.map((b,w)=>w===0?b:` ${b}`).join("");return t.layers&&(O=`@layer vuetify.theme { +`+d.map(b=>` ${b}`).join("")+` +}`),O}),f=k(()=>t.isDisabled?void 0:`${t.prefix}theme--${s.value}`),l=k(()=>Object.keys(o.value));if(Ft){let h=function(){a.value=d.matches?"dark":"light"};const d=window.matchMedia("(prefers-color-scheme: dark)");h(),d.addEventListener("change",h,{passive:!0}),bn()&&We(()=>{d.removeEventListener("change",h)})}function m(d){if(t.isDisabled)return;const h=d._context.provides.usehead;if(h){let g=function(){return{style:[{textContent:c.value,id:t.stylesheetId,nonce:t.cspNonce||!1}]}};if(h.push){const O=h.push(g);T&&G(c,()=>{O.patch(g)})}else T?(h.addHeadObjs(k(g)),ke(()=>h.updateDOM())):h.addHeadObjs(g())}else{let g=function(){Fa(t.stylesheetId,t.cspNonce,c.value)};T?G(c,g,{immediate:!0}):g()}}function p(d){d!=="system"&&!l.value.includes(d)||(s.value=d)}function y(){let d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:l.value;const h=d.indexOf(s.value),g=h===-1?0:(h+1)%d.length;p(d[g])}function E(){let d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["light","dark"];y(d)}const M=new Proxy(s,{get(d,h){return Reflect.get(d,h)},set(d,h,g){return h==="value"&&Cn(`theme.global.name.value = ${g}`,`theme.change('${g}')`),Reflect.set(d,h,g)}});return{install:m,change:p,cycle:y,toggle:E,isDisabled:t.isDisabled,isSystem:u,name:s,themes:r,current:i,computedThemes:o,prefix:t.prefix,themeClasses:f,styles:c,global:{name:M,current:i}}}function zs(e){W("provideTheme");const t=A(ie,null);if(!t)throw new Error("Could not find Vuetify theme injection");const n=k(()=>e.theme??t.name.value),r=k(()=>t.themes.value[n.value]),a=k(()=>t.isDisabled?void 0:`${t.prefix}theme--${n.value}`),s={...t,name:n,current:r,themeClasses:a};return ue(ie,s),s}function Gs(){W("useTheme");const e=A(ie,null);if(!e)throw new Error("Could not find Vuetify theme injection");return e}function $a(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"content";const n=Vn(),r=H();if(T){const a=new ResizeObserver(s=>{e==null||e(s,a),s.length&&(t==="content"?r.value=s[0].contentRect:r.value=s[0].target.getBoundingClientRect())});Ot(()=>{a.disconnect()}),G(()=>n.el,(s,o)=>{o&&(a.unobserve(o),r.value=void 0),s&&a.observe(s)},{flush:"post"})}return{resizeRef:n,contentRect:wn(r)}}const xe=Symbol.for("vuetify:layout"),rn=Symbol.for("vuetify:layout-item"),Et=1e3,Us=U({overlaps:{type:Array,default:()=>[]},fullHeight:Boolean},"layout"),Zs=U({name:{type:String},order:{type:[Number,String],default:0},absolute:Boolean},"layout-item");function Ks(){const e=A(xe);if(!e)throw new Error("[Vuetify] Could not find injected layout");return{getLayoutItem:e.getLayoutItem,mainRect:e.mainRect,mainStyles:e.mainStyles}}function _s(e){const t=A(xe);if(!t)throw new Error("[Vuetify] Could not find injected layout");const n=e.id??`layout-item-${Sn()}`,r=W("useLayoutItem");ue(rn,{id:n});const a=F(!1);xn(()=>a.value=!0),kn(()=>a.value=!1);const{layoutItemStyles:s,layoutItemScrimStyles:o}=t.register(r,{...e,active:S(()=>a.value?!1:e.active.value),id:n});return Ot(()=>t.unregister(n)),{layoutItemStyles:s,layoutRect:t.layoutRect,layoutItemScrimStyles:o}}const Ra=(e,t,n,r)=>{let a={top:0,left:0,right:0,bottom:0};const s=[{id:"",layer:{...a}}];for(const o of e){const i=t.get(o),u=n.get(o),c=r.get(o);if(!i||!u||!c)continue;const f={...a,[i.value]:parseInt(a[i.value],10)+(c.value?parseInt(u.value,10):0)};s.push({id:o,layer:f}),a=f}return s};function Xs(e){const t=A(xe,null),n=S(()=>t?t.rootZIndex.value-100:Et),r=H([]),a=R(new Map),s=R(new Map),o=R(new Map),i=R(new Map),u=R(new Map),{resizeRef:c,contentRect:f}=$a(),l=S(()=>{const b=new Map,w=e.overlaps??[];for(const D of w.filter(v=>v.includes(":"))){const[v,x]=D.split(":");if(!r.value.includes(v)||!r.value.includes(x))continue;const I=a.get(v),B=a.get(x),q=s.get(v),Q=s.get(x);!I||!B||!q||!Q||(b.set(x,{position:I.value,amount:parseInt(q.value,10)}),b.set(v,{position:B.value,amount:-parseInt(Q.value,10)}))}return b}),m=S(()=>{const b=[...new Set([...o.values()].map(D=>D.value))].sort((D,v)=>D-v),w=[];for(const D of b){const v=r.value.filter(x=>{var I;return((I=o.get(x))==null?void 0:I.value)===D});w.push(...v)}return Ra(w,a,s,i)}),p=S(()=>!Array.from(u.values()).some(b=>b.value)),y=S(()=>m.value[m.value.length-1].layer),E=k(()=>({"--v-layout-left":me(y.value.left),"--v-layout-right":me(y.value.right),"--v-layout-top":me(y.value.top),"--v-layout-bottom":me(y.value.bottom),...p.value?void 0:{transition:"none"}})),M=S(()=>m.value.slice(1).map((b,w)=>{let{id:D}=b;const{layer:v}=m.value[w],x=s.get(D),I=a.get(D);return{id:D,...v,size:Number(x.value),position:I.value}})),d=b=>M.value.find(w=>w.id===b),h=W("createLayout"),g=F(!1);Dn(()=>{g.value=!0}),ue(xe,{register:(b,w)=>{let{id:D,order:v,position:x,layoutSize:I,elementSize:B,active:q,disableTransitions:Q,absolute:an}=w;o.set(D,v),a.set(D,x),s.set(D,I),i.set(D,q),Q&&u.set(D,Q);const Ue=te(rn,h==null?void 0:h.vnode).indexOf(b);Ue>-1?r.value.splice(Ue,0,D):r.value.push(D);const Ze=S(()=>M.value.findIndex(J=>J.id===D)),Ce=S(()=>n.value+m.value.length*2-Ze.value*2),sn=S(()=>{const J=x.value==="left"||x.value==="right",Me=x.value==="right",un=x.value==="bottom",Te=B.value??I.value,cn=Te===0?"%":"px",Ke={[x.value]:0,zIndex:Ce.value,transform:`translate${J?"X":"Y"}(${(q.value?0:-(Te===0?100:Te))*(Me||un?-1:1)}${cn})`,position:an.value||n.value!==Et?"absolute":"fixed",...p.value?void 0:{transition:"none"}};if(!g.value)return Ke;const P=M.value[Ze.value],Ae=l.value.get(D);return Ae&&(P[Ae.position]+=Ae.amount),{...Ke,height:J?`calc(100% - ${P.top}px - ${P.bottom}px)`:B.value?`${B.value}px`:void 0,left:Me?void 0:`${P.left}px`,right:Me?`${P.right}px`:void 0,top:x.value!=="bottom"?`${P.top}px`:void 0,bottom:x.value!=="top"?`${P.bottom}px`:void 0,width:J?B.value?`${B.value}px`:void 0:`calc(100% - ${P.left}px - ${P.right}px)`}}),on=S(()=>({zIndex:Ce.value-1}));return{layoutItemStyles:sn,layoutItemScrimStyles:on,zIndex:Ce}},unregister:b=>{o.delete(b),a.delete(b),s.delete(b),i.delete(b),u.delete(b),r.value=r.value.filter(w=>w!==b)},mainRect:y,mainStyles:E,getLayoutItem:d,items:M,layoutRect:f,rootZIndex:n});const O=k(()=>["v-layout",{"v-layout--full-height":e.fullHeight}]),fe=k(()=>({zIndex:t?n.value:void 0,position:t?"relative":void 0,overflow:t?"hidden":void 0}));return{layoutClasses:O,layoutStyles:fe,getLayoutItem:d,items:M,layoutRect:f,layoutRef:c}}function Na(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const{blueprint:t,...n}=e,r=C(t,n),{aliases:a={},components:s={},directives:o={}}=r,i=Pe();return i.run(()=>{const u=gr(r.defaults),c=Sa(r.display,r.ssr),f=Pa(r.theme),l=Cr(r.icons),m=Ir(r.locale),p=ba(r.date,m),y=ka(r.goTo,m);function E(d){for(const g in o)d.directive(g,o[g]);for(const g in s)d.component(g,s[g]);for(const g in a)d.component(g,ce({...a[g],name:g,aliasName:a[g].name}));const h=Pe();if(h.run(()=>{f.install(d)}),d.onUnmount(()=>h.stop()),d.provide(X,u),d.provide(Le,c),d.provide(ie,f),d.provide(Ne,l),d.provide(we,m),d.provide(Jt,p.options),d.provide(yt,p.instance),d.provide(tn,y),T&&r.ssr)if(d.$nuxt)d.$nuxt.hook("app:suspense:resolve",()=>{c.update()});else{const{mount:g}=d;d.mount=function(){const O=g(...arguments);return En(()=>c.update()),d.mount=g,O}}d.mixin({computed:{$vuetify(){return R({defaults:_.call(this,X),display:_.call(this,Le),theme:_.call(this,ie),icons:_.call(this,Ne),locale:_.call(this,we),date:_.call(this,yt)})}}})}function M(){i.stop()}return{install:E,unmount:M,defaults:u,display:c,theme:f,icons:l,locale:m,date:p,goTo:y}})}const La="3.12.1";Na.version=La;function _(e){var r,a;const t=this.$,n=((r=t.parent)==null?void 0:r.provides)??((a=t.vnode.appContext)==null?void 0:a.provides);if(n&&e in n)return n[e]}export{Ln as $,Nr as A,ls as B,Mr as C,es as D,T as E,ja as F,Ps as G,qa as H,Sr as I,N as J,ps as K,Is as L,ys as M,gs as N,hs as O,Tn as P,ds as Q,fs as R,Va as S,vs as T,ms as U,zt as V,as as W,Vn as X,ws as Y,Ds as Z,rs as _,Ss as a,Vs as a0,cs as a1,Cs as a2,Fs as a3,bs as a4,Fn as a5,Ms as a6,Ks as a7,Rt as a8,xe as a9,Bs as aA,Ys as aB,tt as aC,ns as aD,Hn as aE,os as aF,Ua as aG,is as aH,za as aI,$t as aJ,Qe as aK,Ft as aL,_a as aM,us as aN,Wn as aO,ss as aP,Ws as aQ,Ls as aR,wa as aS,Es as aa,As as ab,Ts as ac,Rs as ad,ce as ae,Cn as af,Ja as ag,ve as ah,Ya as ai,On as aj,Bn as ak,Xs as al,Us as am,Pr as an,Za as ao,Nn as ap,Xa as aq,ks as ar,Ha as as,$e as at,ts as au,Hs as av,Os as aw,Ga as ax,_s as ay,Zs as az,L as b,Na as c,Qa as d,lr as e,jt as f,dr as g,zs as h,nr as i,xs as j,fr as k,W as l,js as m,Tr as n,br as o,U as p,te as q,Re as r,me as s,Gs as t,$s as u,Ns as v,Ka as w,Rn as x,$a as y,He as z}; diff --git a/assets/visitorId-CSigcYRT.js b/assets/visitorId-CSigcYRT.js new file mode 100644 index 0000000..f916371 --- /dev/null +++ b/assets/visitorId-CSigcYRT.js @@ -0,0 +1 @@ +import{f as e}from"./index-Bqe1gKo7.js";import"./vendor-vuetify-ChAgIwn2.js";import"./vendor-vue-H0jQBZ7T.js";let a;const r=t=>({get:async()=>({visitorId:"unknown",error:(t==null?void 0:t.message)||String(t||""),fallback:!0})}),o=async()=>{try{const t=await e(()=>import("./fp.esm-DTPSfLWv.js"),[],import.meta.url);return(t==null?void 0:t.default)||t}catch(t){return console.warn("Fingerprint library blocked or failed to load; using fallback agent.",t),null}},i=()=>(a||(a=(async()=>{const t=await o();if(!t)return r(new Error("fingerprint module unavailable"));try{return await t.load()}catch(n){return console.warn("FingerprintJS.load failed, using fallback agent.",n),r(n)}})()),a),u=async()=>{const n=await(await i()).get();return(n==null?void 0:n.visitorId)||"unknown"},g=async()=>await(await i()).get();export{g as getFingerprintData,u as getVisitorId,i as loadFingerprint}; diff --git a/index.html b/index.html index f620cea..a7c67bd 100644 --- a/index.html +++ b/index.html @@ -16,75 +16,14 @@ - - - + + + + + - -
-
-
-
-
+
xICP备x号-4 diff --git a/sw.js b/sw.js index 5507ee6..df6eff0 100644 --- a/sw.js +++ b/sw.js @@ -1 +1 @@ -if(!self.define){let e,s={};const a=(a,n)=>(a=new URL(a+".js",n).href,s[a]||new Promise(s=>{if("document"in self){const e=document.createElement("script");e.src=a,e.onload=s,document.head.appendChild(e)}else e=a,importScripts(a),s()}).then(()=>{let e=s[a];if(!e)throw new Error(`Module ${a} didn’t register its module`);return e}));self.define=(n,c)=>{const i=e||("document"in self?document.currentScript.src:"")||location.href;if(s[i])return;let r={};const t=e=>a(e,i),f={module:{uri:i},exports:r,require:t};s[i]=Promise.all(n.map(e=>f[e]||t(e))).then(e=>(c(...e),r))}}define(["./workbox-ec372ce3"],function(e){"use strict";importScripts("/sw-cache-manager.js"),self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"sw-cache-manager.js",revision:"e1c99eed8d27ad84cb5fc7c56efd223b"},{url:"registerSW.js",revision:"402b66900e731ca748771b6fc5e7a068"},{url:"manifest.webmanifest",revision:"b0b994b429676afc68d0e6f9fe77af13"},{url:"index.html",revision:"031c34e400693f02c919af6cf7c26b67"},{url:"favicon.ico",revision:"8e3a55390cf66d227f765a6063bb6c31"},{url:"328a0e159cf9b3fb3caacaab9c83bf17.txt",revision:"d06a7b1a4998b04f6c949893fa6b3c3b"},{url:"pwa/image/maskable-icon-512x512.png",revision:"dfa412c4bbe0f716216ac5db7a4c706d"},{url:"pwa/image/pwa-192x192.png",revision:"81802c789e8b735f7f8b181f002932f8"},{url:"pwa/image/pwa-512x512.png",revision:"57cc60501279a6d172b32211b1c67688"},{url:"pwa/image/pwa-64x64.png",revision:"b4ca4c3d8333391f20cddbb3f6cca2df"},{url:"manifest.webmanifest",revision:"b0b994b429676afc68d0e6f9fe77af13"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html"))),e.registerRoute(({url:e,sameOrigin:s})=>s&&e.pathname.endsWith("/assets/"),new e.CacheFirst({cacheName:"assets-cache",plugins:[new e.ExpirationPlugin({maxEntries:200,maxAgeSeconds:5184e3}),new e.CacheableResponsePlugin({statuses:[0,200]})]}),"GET"),e.registerRoute(({url:e,sameOrigin:s})=>s&&e.pathname.startsWith("/pwa/"),new e.StaleWhileRevalidate({cacheName:"pwa-cache",plugins:[new e.ExpirationPlugin({maxEntries:50,maxAgeSeconds:604800}),new e.CacheableResponsePlugin({statuses:[0,200]})]}),"GET"),e.registerRoute(({url:e,sameOrigin:s})=>{if(!s)return!1;const a=e.pathname;return!(a.includes("/assets/")||a.includes("/pwa/"))},new e.NetworkFirst({cacheName:"other-resources",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:100,maxAgeSeconds:86400}),new e.CacheableResponsePlugin({statuses:[0,200]})]}),"GET")}); +if(!self.define){let e,s={};const a=(a,n)=>(a=new URL(a+".js",n).href,s[a]||new Promise(s=>{if("document"in self){const e=document.createElement("script");e.src=a,e.onload=s,document.head.appendChild(e)}else e=a,importScripts(a),s()}).then(()=>{let e=s[a];if(!e)throw new Error(`Module ${a} didn’t register its module`);return e}));self.define=(n,i)=>{const c=e||("document"in self?document.currentScript.src:"")||location.href;if(s[c])return;let r={};const t=e=>a(e,c),f={module:{uri:c},exports:r,require:t};s[c]=Promise.all(n.map(e=>f[e]||t(e))).then(e=>(i(...e),r))}}define(["./workbox-ec372ce3"],function(e){"use strict";importScripts("/sw-cache-manager.js"),self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"sw-cache-manager.js",revision:"e1c99eed8d27ad84cb5fc7c56efd223b"},{url:"registerSW.js",revision:"402b66900e731ca748771b6fc5e7a068"},{url:"manifest.webmanifest",revision:"b0b994b429676afc68d0e6f9fe77af13"},{url:"index.html",revision:"781fbb4f43759d695aa9db2d17fd2f54"},{url:"favicon.ico",revision:"8e3a55390cf66d227f765a6063bb6c31"},{url:"328a0e159cf9b3fb3caacaab9c83bf17.txt",revision:"d06a7b1a4998b04f6c949893fa6b3c3b"},{url:"pwa/image/maskable-icon-512x512.png",revision:"dfa412c4bbe0f716216ac5db7a4c706d"},{url:"pwa/image/pwa-192x192.png",revision:"81802c789e8b735f7f8b181f002932f8"},{url:"pwa/image/pwa-512x512.png",revision:"57cc60501279a6d172b32211b1c67688"},{url:"pwa/image/pwa-64x64.png",revision:"b4ca4c3d8333391f20cddbb3f6cca2df"},{url:"manifest.webmanifest",revision:"b0b994b429676afc68d0e6f9fe77af13"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html"))),e.registerRoute(({url:e,sameOrigin:s})=>s&&e.pathname.endsWith("/assets/"),new e.CacheFirst({cacheName:"assets-cache",plugins:[new e.ExpirationPlugin({maxEntries:200,maxAgeSeconds:5184e3}),new e.CacheableResponsePlugin({statuses:[0,200]})]}),"GET"),e.registerRoute(({url:e,sameOrigin:s})=>s&&e.pathname.startsWith("/pwa/"),new e.StaleWhileRevalidate({cacheName:"pwa-cache",plugins:[new e.ExpirationPlugin({maxEntries:50,maxAgeSeconds:604800}),new e.CacheableResponsePlugin({statuses:[0,200]})]}),"GET"),e.registerRoute(({url:e,sameOrigin:s})=>{if(!s)return!1;const a=e.pathname;return!(a.includes("/assets/")||a.includes("/pwa/"))},new e.NetworkFirst({cacheName:"other-resources",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:100,maxAgeSeconds:86400}),new e.CacheableResponsePlugin({statuses:[0,200]})]}),"GET")});